:root{--bg:#080d1a;--surface:#0f172a;--surface-2:#151f32;--border:#1e293b;--border-strong:#334155;--text:#e2e8f0;--text-strong:#fff;--muted:#94a3b8;--faint:#64748b;--accent:#4f46e5;--accent-hover:#6366f1;--accent-soft:#6366f11f;--accent-text:#a5b4fc;--ok:#34d399;--ok-soft:#10b9811f;--warn:#fbbf24;--warn-soft:#f59e0b1f;--danger:#fb7185;--danger-soft:#f43f5e1f;--danger-strong:#e11d48;--info:#22d3ee;--info-soft:#06b6d41f;--focus:#818cf8;--radius:10px;--radius-sm:7px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:14px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}::selection{background:var(--accent-hover);color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}code{color:var(--accent-text);font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:12px}h1{color:var(--text-strong);letter-spacing:-.01em;margin:0 0 4px;font-size:20px}h2,h3{color:var(--text-strong)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button,.button{font:inherit;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;padding:6px 12px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s}button:hover:not(:disabled){border-color:var(--faint);background:#1b2740}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{color:var(--danger);background:var(--danger-soft);border-color:#fb718573}button.danger:hover:not(:disabled){background:#f43f5e38}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;padding:7px 10px;font-size:13px}input:focus,select:focus,textarea:focus{border-color:var(--accent-hover);box-shadow:0 0 0 1px var(--accent-hover);outline:none}input[type=checkbox]{accent-color:var(--accent-hover)}label{color:var(--muted);margin:12px 0 4px;font-size:12px;font-weight:600;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card:hover{border-color:var(--border-strong)}.muted{color:var(--muted)}.error{color:var(--danger)}.notice{background:var(--warn-soft);color:#fde68a;border-radius:var(--radius);border:1px solid #f59e0b4d;padding:10px 14px}.alert{color:#fecdd3;border-radius:var(--radius);background:#4c051966;border:1px solid #9f1239cc;padding:12px 14px}.badge{letter-spacing:.03em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent-text);white-space:nowrap;border:1px solid #6366f140;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:#10b9814d}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:#f59e0b4d}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:#f43f5e4d}.badge.info{background:var(--info-soft);color:var(--info);border-color:#06b6d44d}.tag{background:var(--accent-soft);color:var(--accent-text);border:1px solid #6366f140;border-radius:4px;padding:1px 6px;font-family:JetBrains Mono,Menlo,monospace;font-size:10px}.tag.warn{background:var(--warn-soft);color:#fcd34d;border-color:#f59e0b4d}.tag.danger{background:var(--danger-soft);color:#fda4af;border-color:#f43f5e4d}.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.kpi:hover{border-color:var(--border-strong)}.kpi-label{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.kpi-value{color:var(--text-strong);letter-spacing:-.02em;margin-top:6px;font-size:24px;font-weight:800}.kpi-foot{border-top:1px solid var(--border);color:var(--muted);margin-top:10px;padding-top:8px;font-size:11px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px;font-size:13px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#1e293b59}th{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;background:#080d1a66;font-size:11px;font-weight:700}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:50;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #00000040}.brand{align-items:center;gap:10px;display:flex}.brand-mark{color:#fff;background:linear-gradient(45deg,#4f46e5,#818cf8);border-radius:9px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 6px 16px #6366f140}.brand-name{color:var(--text-strong);letter-spacing:-.01em;font-size:15px;font-weight:700}.brand-sub{color:var(--muted);font-size:11px}.topbar-tools{flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.pill-box{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:3px 3px 3px 10px;display:flex}.pill-box select{background:var(--surface);border:0;width:auto;padding:4px 8px;font-size:12px}.body{flex:1;min-height:0;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;justify-content:space-between;gap:16px;width:248px;padding:12px;display:flex}.nav-group{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;padding:14px 10px 4px;font-size:10px;font-weight:700}.nav-group:first-child{padding-top:4px}.nav-item{color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.nav-item:hover{background:var(--surface-2);text-decoration:none}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--text-strong);box-shadow:inset 2px 0 0 var(--accent-hover)}.nav-item .nav-label{align-items:center;gap:10px;display:flex}.nav-foot{color:var(--muted);border:1px solid var(--border);background:#080d1a99;border-radius:8px;padding:10px;font-size:11px}.nav-foot .row{justify-content:space-between}.main{flex:1;min-width:0;padding:22px 26px;overflow-y:auto}.page-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px;padding-bottom:12px;display:flex}.page-head p{color:var(--muted);margin:2px 0 0;font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tabs button{border-radius:999px;padding:5px 11px;font-size:12px}.tabs button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}details summary{cursor:pointer;color:var(--muted)}.chart{margin:0}.chart svg{display:block;overflow:visible}.chart g:focus-visible rect:first-child{stroke:var(--focus);stroke-width:1px}.chart-tip{min-height:22px;color:var(--text);margin-top:6px;font-size:12px}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-bottom:18px;display:grid}.chart-card h2{margin:0 0 2px;font-size:14px}.chart-card .sub{color:var(--muted);margin-bottom:10px;font-size:11px}@media (max-width:760px){.body{flex-direction:column}.sidebar{border-right:0;border-bottom:1px solid var(--border);width:auto;padding:8px}.sidebar nav,.sidebar nav>div{gap:4px;display:flex}.sidebar nav{overflow-x:auto}.nav-group,.nav-item .muted{display:none}.nav-item{white-space:nowrap}.nav-foot{display:none}.main{padding:16px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
