:root{
  --bg:#0b1020;
  --card:#0f1733;
  --muted:#8ea0c9;
  --text:#e9efff;
  --line:rgba(255,255,255,.08);
  --primary:#7c5cff;
  --danger:#ff4d6d;
  --shadow:0 12px 30px rgba(0,0,0,.35);
  --radius:14px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  /* Эллипсы в vw/vh, чтобы цветовые пятна тянулись на всю ширину экрана на ПК */
  background: radial-gradient(95vw 75vh at 8% -8%, rgba(124,92,255,.22), transparent 58%),
              radial-gradient(90vw 70vh at 100% 0%, rgba(20,240,255,.12), transparent 52%),
              var(--bg);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: auto;
  color:var(--text);
}
.container{max-width:1200px;margin:0 auto;padding:18px}
.topbar{position:sticky;top:0;z-index:10;background:rgba(11,16,32,.72);backdrop-filter: blur(10px);border-bottom:1px solid var(--line)}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:12px}
.brand__logo{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, rgba(124,92,255,.9), rgba(20,240,255,.5));
  font-weight:800;letter-spacing:.5px;
  box-shadow: var(--shadow);
}
.brand__title{font-weight:800}
.brand__subtitle{color:var(--muted);font-size:12px;margin-top:2px}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
}
.split{
  display:grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  gap:14px;
  align-items:start;
}
.split--form-page{
  grid-template-rows:auto auto;
}
.split--form-page .split__form{
  grid-column:1;
  grid-row:1;
}
.split--form-page .split__info{
  grid-column:2;
  grid-row:1 / -1;
  align-self:start;
}
.split--form-page .split__map{
  grid-column:1;
  grid-row:2;
}
.contacts-block__title{
  margin:0 0 12px;
  font-size:18px;
  font-weight:800;
}
.map-widget{
  position:relative;
  overflow:hidden;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.18);
  aspect-ratio:560 / 400;
  max-height:min(400px, 55vh);
}
.map-widget iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.contacts-block{margin-top:0}
.contacts-block__section{margin-top:16px}
.contacts-block__section:first-of-type{margin-top:14px}
.contacts-block__heading{
  font-weight:800;
  font-size:13px;
  color:var(--muted);
  margin-bottom:8px;
  letter-spacing:.02em;
}
.contacts-schedule{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:14px;
  line-height:1.45;
  color:rgba(233,239,255,.92);
}
.contacts-schedule li{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:baseline;
}
.contacts-schedule__day{color:var(--text)}
.contacts-schedule__time{color:rgba(233,239,255,.88);text-align:right}
.contacts-links{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:14px;
}
.contacts-links__a{
  color:rgba(20,240,255,.88);
  text-decoration:none;
  border-bottom:1px solid rgba(20,240,255,.25);
  transition:.15s color,.15s border-color;
}
.contacts-links__a:hover{
  color:rgba(20,240,255,1);
  border-bottom-color:rgba(20,240,255,.5);
}
.contacts-links__stub{color:rgba(233,239,255,.88)}
.contacts-links__stub .contacts-links__a{color:inherit;border-bottom-color:rgba(142,160,201,.35)}
.contacts-links__stub .contacts-links__a:hover{border-bottom-color:rgba(142,160,201,.55)}
.info__title{font-weight:800;margin-bottom:10px}
.info__text{
  color:rgba(233,239,255,.92);
  line-height:1.45;
  font-size:14px;
}
.info__text b{color:var(--text)}
.info{position:sticky;top:86px}
.card--narrow{max-width:520px;margin:0 auto}
.h1{margin:0 0 8px;font-size:24px}
.muted{color:var(--muted);margin:0 0 14px}
.form{margin-top:12px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.field--full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:6px}
.field__label{font-size:12px;color:var(--muted)}
.field__hint{font-size:12px;color:rgba(142,160,201,.9)}
.input{
  width:100%;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.18);
  color:var(--text);
  outline:none;
}
.input:focus{border-color:rgba(124,92,255,.65);box-shadow:0 0 0 4px rgba(124,92,255,.16)}
.check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;color:rgba(233,239,255,.92)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.btn{
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--text);
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  transition:.15s transform,.15s background,.15s border-color;
  text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;
}
.btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.14)}
.btn--primary{background:linear-gradient(135deg, rgba(124,92,255,.92), rgba(124,92,255,.55));border-color:rgba(124,92,255,.65)}
.btn--danger{background:linear-gradient(135deg, rgba(255,77,109,.9), rgba(255,77,109,.55));border-color:rgba(255,77,109,.65)}
.btn--ghost{background:transparent}
.btn--sm{padding:7px 10px;border-radius:10px;font-size:12px}
.btn-group{display:flex;gap:8px;flex-wrap:wrap}
.notice{
  margin-top:12px;
  padding:12px;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.16);
}
.notice--ok{border-color:rgba(20,240,255,.25)}
.notice--err{border-color:rgba(255,77,109,.35)}
.filters{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:end;margin:14px 0 10px}
.filters__actions{display:flex;gap:10px;align-items:center}
.orders-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:10px 0 6px;font-size:13px}
.orders-toolbar__live{color:rgba(20,240,255,.75);font-size:12px}
.pagination{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.pagination__per{opacity:.75;font-size:13px;margin-left:4px}
.orders{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.order-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.03);
  overflow:hidden;
}
.order-card__top{padding:14px 14px 10px}
.order-card__headline{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.order-card__meta{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.kv{border:1px solid var(--line);border-radius:14px;padding:10px;background:rgba(0,0,0,.12)}
.kv__k{font-size:12px;color:var(--muted);margin-bottom:4px}
.kv__v{font-size:14px}
.order-card__comment{margin-top:10px}
.order-card__actions{
  padding:12px 14px 14px;
  border-top:1px solid var(--line);
  background:rgba(0,0,0,.10);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.btn-row{display:flex;gap:8px;flex-wrap:wrap}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:4px 10px;border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  font-size:12px;
}
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size:12px}
.comment{max-width:360px;white-space:pre-wrap}
.flash{margin:12px 0}
.flash__item{padding:12px;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.14)}
.flash__item--error{border-color:rgba(255,77,109,.35)}

.modal{position:fixed;inset:0;display:none}
.modal[aria-hidden="false"]{display:block}
.modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.modal__card{
  position:relative;
  max-width:820px;
  margin:70px auto;
  background:rgba(15,23,51,.98);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow: var(--shadow);
  overflow:hidden;
}
.modal__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}
.modal__title{font-weight:800}
.modal__body{padding:16px}
.file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.file-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.03)}
.file-card__meta{color:var(--muted);font-size:12px;margin-top:8px}
.file-card img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}

@media (max-width:900px){
  .split{grid-template-columns:1fr}
  .split--form-page .split__form,
  .split--form-page .split__info,
  .split--form-page .split__map{
    grid-column:1;
    grid-row:auto;
  }
  .map-widget{max-height:none;aspect-ratio:16 / 11;min-height:220px}
  .info{position:static}
  .grid{grid-template-columns:1fr}
  .filters{grid-template-columns:1fr 1fr; }
  .filters__actions{grid-column:1/-1}
  .order-card__meta{grid-template-columns:1fr 1fr}
  .file-grid{grid-template-columns:1fr}
}

