:root{--bg: #0b0b0f;--bg-2: #14141c;--line: #2a2a36;--text: #f4f1ea;--muted: #9a958c;--accent: #a238ff;--accent-2: #ff6200;--good: #3dd68c;--warn: #e8b84a;--bad: #ff5c7a}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.nav{border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column;gap:28px}.brand{font-weight:700;letter-spacing:.04em}.brand span{color:var(--accent)}.nav a{display:block;padding:8px 0;color:var(--muted)}.nav a.active,.nav a:hover{color:var(--text)}.nav .meta{margin-top:auto;color:var(--muted);font-size:12px}.main{padding:36px 48px 64px}h1{font-size:28px;margin:0 0 8px}h2{font-size:16px;margin:32px 0 12px;font-weight:600}.sub{color:var(--muted);margin:0 0 28px}.grid{display:grid;gap:14px}.grid.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.split{grid-template-columns:1.4fr 1fr}.card{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:18px 20px}.kpi .label{color:var(--muted);font-size:12px}.kpi .value{font-size:28px;font-weight:700;margin-top:6px}.kpi .value.warn{color:var(--warn)}.kpi .value.good{color:var(--good)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500;font-size:12px}.mono{font-family:IBM Plex Mono,monospace;font-size:12px}.pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:11px;color:var(--muted)}.pill.live{color:var(--good);border-color:#245c40}.pill.gated{color:var(--warn)}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login form{width:360px;display:flex;flex-direction:column;gap:14px}.login input,.login button{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);color:var(--text)}.login button{background:var(--accent);border-color:var(--accent);font-weight:600;cursor:pointer}.err{color:var(--bad);font-size:13px}.bar{height:8px;background:#22222c;border-radius:99px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--accent)}@media (max-width: 960px){.shell{grid-template-columns:1fr}.nav{flex-direction:row;flex-wrap:wrap;gap:12px}.grid.kpis,.grid.split{grid-template-columns:1fr 1fr}.main{padding:24px}}
