/* Корпоративный стиль в духе uzairports.com: Montserrat, тёмно-синий и королевский синий,
   тёплые нейтральные тона, заголовки заглавными с разрядкой. Подключается после стилей страницы
   и переопределяет только токены и отдельные правила. */
:root{
  --bg:#F5F3F0; --surface:#FFFFFF; --surface-2:#EFEBE6; --ink:#2E2721; --ink-2:#5D5145; --ink-3:#7D7063; --line:#E2DBD3;
  --accent:#30417E; --accent-ink:#FFFFFF; --accent-soft:#E8EBF5;
  --sky:#018EDC;
  --sign:#FFFFFF; --sign-bg:#000827; --sign-ink:#000827;
  --rail:#000827; --rail-2:rgba(255,255,255,.09); --rail-ink:#FFFFFF; --rail-mute:#AEB6D3;
  --rail-grad:linear-gradient(180deg,#000827 0%,#0A1847 58%,#30417E 100%);
  --info:#30417E; --info-soft:#E8EBF5; --mute:#6F6357; --mute-soft:#F1EDE8;
  --shadow:0 14px 40px rgba(0,8,39,.18);
  --f-display:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-body:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#060B1F; --surface:#0D1430; --surface-2:#141C3D; --ink:#ECEEF5; --ink-2:#BCC2D8; --ink-3:#8D95B4; --line:#232C54;
  --accent:#8FA3EA; --accent-ink:#000827; --accent-soft:#1A2452;
  --sign:#FFFFFF; --sign-bg:#000827; --sign-ink:#000827;
  --rail:#000514; --rail-2:rgba(255,255,255,.08); --rail-ink:#FFFFFF; --rail-mute:#9099BB;
  --rail-grad:linear-gradient(180deg,#000514 0%,#07123A 60%,#1D2B61 100%);
  --info:#8FA3EA; --info-soft:#1A2452; --mute:#A0A7C2; --mute-soft:#182044;
  --shadow:0 14px 40px rgba(0,0,0,.55); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#060B1F; --surface:#0D1430; --surface-2:#141C3D; --ink:#ECEEF5; --ink-2:#BCC2D8; --ink-3:#8D95B4; --line:#232C54;
  --accent:#8FA3EA; --accent-ink:#000827; --accent-soft:#1A2452;
  --sign:#FFFFFF; --sign-bg:#000827; --sign-ink:#000827;
  --rail:#000514; --rail-2:rgba(255,255,255,.08); --rail-ink:#FFFFFF; --rail-mute:#9099BB;
  --rail-grad:linear-gradient(180deg,#000514 0%,#07123A 60%,#1D2B61 100%);
  --info:#8FA3EA; --info-soft:#1A2452; --mute:#A0A7C2; --mute-soft:#182044;
  --shadow:0 14px 40px rgba(0,0,0,.55); color-scheme:dark}

body{margin:0;font-family:var(--f-body);font-size:13.5px;letter-spacing:.15px;font-variant-numeric:tabular-nums}

/* ---------- эмблема и фирменная надпись ---------- */
.ua-emblem{width:40px;height:40px;flex:none;color:#fff;display:block}
.ua-word{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.ua-word .k{font-size:9.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;opacity:.85}
.ua-word .n{font-size:19px;font-weight:600;letter-spacing:.01em}
.ua-word small{display:block;font-size:11px;letter-spacing:.04em;color:var(--rail-mute);margin-top:3px}

/* ---------- платформа: боковая панель ---------- */
.rail{background:var(--rail-grad)}
.brand{gap:12px;padding:22px 18px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand-mark{width:auto;height:auto;background:none;border-radius:0}
.nav-label{letter-spacing:.1em;font-size:10.5px}
.nav a{border-radius:4px;font-size:13px;font-weight:500;transition:background .15s ease}
.nav a.on{background:#fff;color:#000827;font-weight:600;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.nav a.on .cnt{color:#30417E;opacity:1}
.nav .cnt{font-size:11px}
.rail-foot{border-top:1px solid rgba(255,255,255,.12)}
.rail .sign{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.nav a.on .sign{background:#000827;color:#fff;border-color:#000827}
.sign{font-family:var(--f-body);font-weight:600;font-size:10px;letter-spacing:.04em;border-radius:3px}

/* ---------- платформа: рабочая область ---------- */
.topbar{background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(0,8,39,.03)}
.crumbs h1{font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-2)}
.crumbs{flex:1 0 auto}.crumbs h1{white-space:nowrap}
.panel{border-radius:6px;border-color:var(--line)}
.panel-h h2{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2)}
.dr-h h2{font-weight:700;letter-spacing:.02em}
.sect-h b{text-transform:uppercase;letter-spacing:.1em;font-size:12.5px;color:var(--ink-2)}
.empty h3{text-transform:uppercase;letter-spacing:.12em;font-size:15px;color:var(--ink-2)}
.kpi{border-radius:6px;border-top:3px solid var(--accent)}
.kpi .k-l{font-size:11px;letter-spacing:.1em;color:var(--ink-3)}
.kpi .k-v{font-size:30px;font-weight:700;color:var(--ink)}
.period .v,.ana-idx .v{font-weight:700}
th{font-size:10.5px;letter-spacing:.1em;color:var(--ink-3);font-weight:600}
td.date{font-size:12.5px}
.code{font-family:var(--f-body);font-size:11.5px;letter-spacing:.03em}
.btn{border-radius:4px;font-weight:600;font-size:13px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:none;background:#24336A;border-color:#24336A}
.sel,.inp{border-radius:4px}
.sel:focus,.inp:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.seg{border-radius:4px}
.seg button{font-weight:500}
.pill{font-weight:600}
.drawer{border-left:4px solid #30417E}
.toast{background:#000827;color:#fff}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn.primary:hover{background:#A9BAF2;border-color:#A9BAF2}
  :root:not([data-theme="light"]) .nav a.on{background:#fff}}
:root[data-theme="dark"] .btn.primary:hover{background:#A9BAF2;border-color:#A9BAF2}

/* ---------- страница входа ---------- */
.side{background:var(--rail-grad);position:relative;overflow:hidden}
.side::before,.side::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.side::before{width:560px;height:560px;right:-220px;bottom:-200px}
.side::after{width:360px;height:360px;right:-120px;bottom:-100px;border-color:rgba(255,255,255,.12)}
.side>*{position:relative}
.side .brand{padding:0;border:0}
.side h1{font-size:30px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;line-height:1.25;max-width:14ch}
.side p{color:#C9CFE4}
.mark{background:none;padding:0}
form h2{font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-2)}
input{border-radius:4px}
.go{border-radius:4px;text-transform:uppercase;letter-spacing:.14em;font-size:13.5px;font-weight:700;background:var(--accent)}
.go:hover:not(:disabled){background:#24336A}
.msg{border-radius:4px}

/* ---------- админ-панель ---------- */
header.top{background:linear-gradient(90deg,#000827 0%,#0A1847 60%,#30417E 100%);padding:12px 24px}
header.top a,header.top button{border-radius:4px;border-color:rgba(255,255,255,.3);font-weight:500}
header.top a:hover,header.top button:hover{border-color:#fff}
header.top .brand{border:0;padding:0}
header.top .ua-word .n{font-size:16px}
nav.tabs button{font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:12px}
nav.tabs button.on{border-bottom-width:3px}
.wrap h1{font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-2)}
.card{border-radius:6px}
.card h3{text-transform:uppercase;letter-spacing:.1em;font-size:12.5px;color:var(--ink-2)}
dialog{border-radius:6px}
.dh h2{text-transform:uppercase;letter-spacing:.1em;font-size:14px;color:var(--ink-2)}
.chip{font-weight:600}
.mono,.pwrow .inp,.result code{font-family:var(--f-body)}
.result{border-radius:4px}

/* ---------- блок пользователя в боковой панели (shim.js) ---------- */
.rail-user{border-radius:6px;background:rgba(255,255,255,.08)}
.rail-user a,.rail-user button{border-radius:4px}
.rail-user a:hover,.rail-user button:hover{border-color:#fff;color:#fff}

/* ---------- сводная панель: пункты ---------- */
.d-head{display:flex;flex-direction:column;gap:4px;padding:4px 2px 0}
.d-date{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.d-lead{margin:0;font-size:17px;line-height:1.45;color:var(--ink-2);max-width:70ch}
.d-lead b{font-weight:700}
.d-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px}
.d-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:12px 14px 13px;color:var(--ink);font:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.d-tile:hover{border-color:var(--accent);transform:translateY(-1px)}
.d-tile .d-n{font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--ink-3)}
.d-tile .d-l{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);min-height:2.6em;line-height:1.3}
.d-tile .d-v{font-size:30px;font-weight:700;line-height:1.1;margin-top:2px;font-variant-numeric:tabular-nums}
.d-tile .d-s{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3);line-height:1.3}
.d-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--ink-3)}
.d-dot.ok{background:var(--ok)}.d-dot.warn{background:var(--warn)}.d-dot.bad{background:var(--bad)}.d-dot.mute{background:var(--line)}
.d-tile.on{background:linear-gradient(160deg,#000827 0%,#30417E 100%);border-color:#000827;color:#fff;box-shadow:0 10px 24px rgba(0,8,39,.22)}
.d-tile.on .d-n,.d-tile.on .d-s{color:#C9CFE4}
.d-tile.on .d-l{color:#fff}
.d-tile.on::after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:#30417E;transform:translateX(-50%) rotate(45deg)}
.d-view{padding:0 0 6px}
.d-vh{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 20px 12px}
.d-vh h2{margin:0;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-2)}
.d-vh p{margin:4px 0 0;color:var(--ink-3);font-size:12.5px;max-width:70ch}
.d-per{display:flex;gap:6px;align-items:center}
.d-per b{min-width:120px;text-align:center}
.d-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.d-stats>div{padding:14px 20px;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--line)}
.d-stats>div:last-child{border-right:0}
.d-stats .v{font-size:26px;font-weight:700;line-height:1.1}
.d-stats .l{font-size:12px;color:var(--ink-3)}
.d-list li{padding:10px 20px}
.d-sub{margin:14px 20px 6px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.d-empty{margin:0;padding:22px 20px;color:var(--ink-3)}
.d-ok{display:flex;flex-direction:column;align-items:center;gap:4px;padding:28px 20px 30px;text-align:center}
.d-ok-i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ok-soft);color:var(--ok);font-size:22px;font-weight:700;margin-bottom:6px}
.d-ok b{font-size:15px}
.d-ok span:last-child{color:var(--ink-3);font-size:12.5px}
.d-view .att-row{padding:11px 20px}
.d-view .period{border-top:1px solid var(--line)}
.d-view .bars{padding:4px 20px 16px}
.d-tbl td,.d-tbl th{padding-left:20px}
@media (max-width:600px){.d-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.d-tile .d-v{font-size:24px}.d-lead{font-size:15px}.d-stats>div{border-right:0;border-bottom:1px solid var(--line)}.d-stats>div:last-child{border-bottom:0}.d-vh,.d-list li,.d-view .att-row{padding-left:16px;padding-right:16px}}
