:root{--bg-0:#07070a;--bg-1:#0c0d12;--bg-2:#11131a;--bg-3:#181a23;--line:#23262f;--line-soft:#1a1c25;--fg-0:#f4f4f6;--fg-1:#c8cad3;--fg-2:#8a8d99;--fg-3:#5b5e6a;--accent:#4dd4d8;--accent-2:#d977b4;--accent-rgb:77,212,216;--good:#6ed7a3;--warn:#e8c14a;--bad:#e85a3a;--mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;--sans:"Inter Tight",ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-0);color:var(--fg-1);font-family:var(--sans);font-size:14px}a{color:var(--accent);text-decoration:none}button{font-family:var(--sans);cursor:pointer}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--bg-1);border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column}.sidebar .brand{font-weight:700;font-size:16px;color:var(--fg-0);letter-spacing:-.02em;margin-bottom:4px}.sidebar .brand span{color:var(--accent)}.sidebar .sub{font-family:var(--mono);font-size:10px;color:var(--fg-3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:28px}.nav a{display:block;padding:9px 12px;border-radius:8px;color:var(--fg-2);font-weight:500;margin-bottom:2px;transition:all .15s}.nav a:hover{background:#ffffff0a;color:var(--fg-0)}.nav a.active{background:rgba(var(--accent-rgb),.12);color:var(--accent)}.sidebar .foot{margin-top:auto;font-size:12px;color:var(--fg-3)}.sidebar .foot button{background:none;border:1px solid var(--line);color:var(--fg-2);border-radius:8px;padding:8px 12px;width:100%}.sidebar .foot button:hover{color:var(--bad);border-color:var(--bad)}.main{padding:32px 36px;max-width:1400px}.main h1{font-size:26px;font-weight:600;color:var(--fg-0);letter-spacing:-.02em;margin-bottom:6px}.main .page-sub{color:var(--fg-2);margin-bottom:28px}.grid{display:grid;gap:16px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width:1100px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}}.card{background:var(--bg-1);border:1px solid var(--line);border-radius:14px;padding:20px}.stat .label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-2);margin-bottom:8px}.stat .value{font-size:30px;font-weight:600;color:var(--fg-0);letter-spacing:-.03em}.stat .value.good{color:var(--good)}.stat .value.warn{color:var(--warn)}.stat .value.bad{color:var(--bad)}.stat .hint{font-size:12px;color:var(--fg-3);margin-top:6px}table{width:100%;border-collapse:collapse}th{text-align:left;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);padding:10px 12px;border-bottom:1px solid var(--line)}td{padding:11px 12px;border-bottom:1px solid var(--line-soft);color:var(--fg-1)}tr:hover td{background:#ffffff05}.section-title{font-size:13px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-2);margin:28px 0 12px}.badge{display:inline-block;font-family:var(--mono);font-size:10px;padding:2px 8px;border-radius:6px;letter-spacing:.04em}.badge.over{background:#e85a3a26;color:var(--bad);border:1px solid rgba(232,90,58,.3)}.badge.near{background:#e8c14a26;color:var(--warn);border:1px solid rgba(232,193,74,.3)}.badge.ok{background:#6ed7a31f;color:var(--good);border:1px solid rgba(110,215,163,.25)}.badge.plan{background:rgba(var(--accent-rgb),.12);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.22)}.bar{height:6px;background:var(--bg-3);border-radius:4px;overflow:hidden;min-width:80px}.bar>span{display:block;height:100%;background:var(--accent)}.bar>span.warn{background:var(--warn)}.bar>span.bad{background:var(--bad)}.usage-cell{display:flex;align-items:center;gap:8px}.usage-cell .num{font-family:var(--mono);font-size:11px;color:var(--fg-2);white-space:nowrap}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:380px;background:var(--bg-1);border:1px solid var(--line);border-radius:16px;padding:36px 32px}.auth-card .eyebrow{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}.auth-card h2{font-size:24px;font-weight:600;color:var(--fg-0);margin-bottom:8px;letter-spacing:-.02em}.auth-card p{color:var(--fg-2);margin-bottom:24px;font-size:13.5px;line-height:1.5}.field{margin-bottom:16px}.field label{display:block;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-2);margin-bottom:7px}.field input{width:100%;padding:12px 14px;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;color:var(--fg-0);font-size:14px}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18)}.btn-primary{width:100%;padding:13px;background:var(--fg-0);color:#000;border:none;border-radius:10px;font-weight:600;font-size:14px}.btn-primary:hover{background:#fff}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.err{background:#e85a3a1a;border:1px solid rgba(232,90,58,.3);color:var(--bad);padding:11px 14px;border-radius:10px;font-size:13px;margin-bottom:16px}.qr{display:block;margin:0 auto 16px;width:200px;height:200px;border-radius:10px;border:1px solid var(--line)}.secret-code{font-family:var(--mono);font-size:12px;color:var(--fg-1);background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:10px;text-align:center;word-break:break-all;margin-bottom:16px}.muted{color:var(--fg-3);font-size:12px}.row-actions button{background:var(--bg-2);border:1px solid var(--line);color:var(--fg-1);border-radius:7px;padding:5px 10px;font-size:12px;margin-right:6px}.row-actions button:hover{border-color:var(--accent);color:var(--accent)}.loading{color:var(--fg-3);padding:40px;text-align:center}
