:root{
  --bg:#0f1117;--panel:#151a22;--muted:#1d2430;--text:#e9eef7;--sub:#b8c1d8;
  --primary:#2f80ed;--accent:#22c55e;--warn:#f59e0b;--danger:#ef4444;--line:#2a3242;
  --chip:#1f2633;--chip-text:#c9d3ea;
}
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,Segoe UI,Arial}
a{color:var(--primary);text-decoration:none}
header{position:sticky;top:0;background:rgba(15,17,23,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:20}
.nav{max-width:1200px;margin:0 auto;display:flex;gap:16px;align-items:center;padding:12px 16px}
.nav .brand{font-weight:700;letter-spacing:.2px}
.nav .sp{flex:1}
.nav a{padding:8px 10px;border-radius:8px}
.nav a.active,.nav a:hover{background:var(--muted)}
.main{max-width:1200px;margin:24px auto;padding:0 16px}
.grid{display:grid;gap:16px}
.cards{grid-template-columns:repeat(12,1fr)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}
h1,h2,h3{margin:0 0 12px 0}
h1{font-size:24px} h2{font-size:18px} h3{font-size:16px;color:var(--sub)}
.btn{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border-radius:10px;background:var(--primary);color:#fff;border:0;cursor:pointer}
.btn.secondary{background:var(--muted);color:var(--text)}
.btn.ghost{background:transparent;border:1px solid var(--line)}
.btn.warn{background:var(--warn);color:#000}
.btn.danger{background:var(--danger)}
.row{display:flex;gap:12px;flex-wrap:wrap}
input[type=text],input[type=email],input[type=date],input[type=time],input[type=number],select,textarea{
  width:100%;padding:10px 12px;border-radius:10px;background:#0e141c;border:1px solid var(--line);color:var(--text)
}
label{display:flex;flex-direction:column;gap:6px;color:var(--sub);font-size:12px}
table{width:100%;border-collapse:collapse}
th,td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left}
thead th{color:var(--sub);font-weight:600;background:var(--muted)}
.kpi{display:flex;align-items:center;gap:12px}
.kpi .num{font-size:22px;font-weight:700}
.badge{display:inline-block;background:var(--chip);color:var(--chip-text);padding:3px 8px;border-radius:999px;font-size:12px;border:1px solid var(--line)}
hr{border:0;border-top:1px solid var(--line);margin:16px 0}
.empty{opacity:.7}
.toast{position:fixed;right:16px;bottom:16px;background:#111827;color:#e5e7eb;border:1px solid #374151;padding:10px 12px;border-radius:10px}
