:root{
  --bg:#0b1220;--ink:#eaf1ff;--muted:#9fb3d2;--card:#101a2f;--line:#1c2a44;
  --brand:#2ea8ff;--ok:#10b981;--warn:#f59e0b;--bad:#ff597a;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,Segoe UI,Arial,sans-serif}
.wrap{max-width:1120px;margin:0 auto;padding:14px}
.bar{position:sticky;top:0;z-index:5;background:#0b1220f2;border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.brand{font-weight:900}
.nav a{color:#cfe0ff;text-decoration:none;margin-right:10px;padding:8px 10px;border-radius:8px}
.nav a.active,.nav a:hover{background:#0e1b33}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0}
.subcard{background:#0e1b33}
.muted{color:var(--muted)}
.lbl{font-weight:700}
.input,select{width:100%;padding:10px;border-radius:10px;border:1px solid var(--line);background:#0f1b33;color:#fff}
.range{width:100%}
.row{display:flex;gap:10px;flex-wrap:wrap}
.grid{display:grid;gap:12px}
.two{grid-template-columns:1fr 1fr}
.three{grid-template-columns:1fr 1fr 1fr}
@media(max-width:820px){.two,.three{grid-template-columns:1fr}}
.btn{padding:10px 14px;border:none;border-radius:12px;background:linear-gradient(145deg,var(--brand),#1e40af);color:#fff;font-weight:800;cursor:pointer}
.btn.ghost{background:transparent;border:1px solid var(--line)}
.btn.ok{background:linear-gradient(145deg,var(--ok),#0a8b67);color:#021515}
.pill{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#0d1830;color:#cfe0ff}
.panel{background:#0e1b33;border:1px solid var(--line);border-radius:12px;padding:10px}
.list{margin:0;padding-left:18px}
.table{width:100%;border-collapse:collapse;margin-top:10px}
.table th,.table td{border-bottom:1px solid var(--line);padding:8px;text-align:left;font-size:14px}
.bad{color:var(--bad)}
.ok{color:var(--ok)}
.foot{padding:20px 0;color:var(--muted);text-align:center}
.box{width:100%;min-height:140px;background:#0b1528;border:1px dashed #274166;border-radius:10px;padding:10px;color:#eaf1ff}
.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:10px}
.cell{background:#0e1b33;border:1px solid var(--line);border-radius:10px;padding:8px;min-height:90px}
.cell h4{margin:0 0 6px;font-size:12px;color:#9fb3d2}
.badge{padding:4px 8px;border-radius:999px;background:#0f1b33;border:1px solid var(--line);color:#cfe0ff;font-size:12px}
.small{font-size:12px}
