:root{--bg: #0b1220;--panel: #111a2e;--border: #1f2a44;--text: #e5eaf3;--muted: #8b97ad;--accent: #38bdf8;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(1200px 600px at 20% -10%,#1a2748 0%,var(--bg) 60%);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a,.link{color:var(--accent)}.muted{color:var(--muted)}.center{display:grid;place-items:center;min-height:60vh}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:28px 28px 22px;box-shadow:0 20px 60px #0006}.login-logo{font-size:40px;text-align:center}.login h1{margin:6px 0 12px;text-align:center;font-size:24px}.login form{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.login label{display:grid;gap:6px;font-size:13px;color:var(--muted);min-width:0}.login input{font:inherit;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#0c1426;color:var(--text);outline:none;width:100%;min-width:0}.login input:focus{border-color:var(--accent)}.login input.code{font-size:28px;letter-spacing:10px;text-align:center;font-variant-numeric:tabular-nums}.login button{font:inherit;font-weight:600;padding:12px;border-radius:10px;border:0;background:var(--accent);color:#04121c;cursor:pointer}.login button:disabled{opacity:.5;cursor:default}.login button.link,.link{background:none;border:0;padding:4px;cursor:pointer;font:inherit;color:var(--accent)}.error{background:#3b1220;border:1px solid #7f1d1d;color:#fecaca;padding:10px 12px;border-radius:10px;font-size:14px}.page{max-width:1200px;margin:0 auto;padding:16px;padding-block:16px 32px}header{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between;margin-bottom:18px}.brand{font-size:20px;font-weight:700}.status{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;color:var(--muted)}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#64748b;margin-left:8px}.dot.ok{background:#22c55e;box-shadow:0 0 8px #22c55e88}.dot.bad{background:#ef4444}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.card{--accent: #38bdf8;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px 18px;border-top:3px solid var(--accent);min-width:0}.card.wide{grid-column:span 2}.card-title{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.card-value{font-size:34px;font-weight:700;margin:4px 0 2px;font-variant-numeric:tabular-nums}.card-sub{font-size:13px;color:var(--muted)}.spark{width:100%;height:56px;margin-top:10px;display:block}.spark.empty{display:grid;place-items:center;font-size:12px;color:var(--muted)}.bar{height:10px;background:#0c1426;border-radius:6px;margin-top:12px;overflow:hidden}.bar-fill{height:100%;transition:width .6s}.table table{width:100%;border-collapse:collapse;margin-top:8px;font-variant-numeric:tabular-nums}.table th,.table td{text-align:right;padding:6px 8px;border-bottom:1px solid var(--border)}.table th:first-child,.table td:first-child{text-align:left;color:var(--muted)}.table th{font-weight:500;color:var(--muted);font-size:12px}.table tr:last-child td{border-bottom:0}footer{margin-top:24px;font-size:12px;text-align:center}@media(max-width:560px){.card.wide{grid-column:span 1}.card-value{font-size:28px}.table{overflow-x:auto}}
