:root{--bg: #0f1724;--panel: #172033;--line: #2a3a55;--text: #e8eef8;--muted: #8fa0b8;--accent: #3b82f6;--accent-2: #60a5fa;--ok: #34d399;--danger: #f87171;font-family:DM Sans,system-ui,sans-serif;color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,#1d4ed840,transparent),radial-gradient(900px 500px at 100% 0%,#0ea5e930,transparent),var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}.app{max-width:920px;margin:0 auto;padding:1.25rem}.top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.brand{font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.sub{color:var(--muted);font-size:.85rem;margin-top:.2rem}.card{background:color-mix(in srgb,var(--panel) 92%,black);border:1px solid var(--line);border-radius:1rem;padding:1.25rem}.login{max-width:420px;margin:4rem auto}label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.35rem}input{width:100%;background:#0b1220;border:1px solid var(--line);color:var(--text);border-radius:.65rem;padding:.75rem .9rem;margin-bottom:.9rem}.btn{border:0;border-radius:.65rem;padding:.7rem 1rem;cursor:pointer;font-weight:600}.btn-primary{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;width:100%}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.err{color:var(--danger);font-size:.85rem;margin:.5rem 0 .75rem}.ok{color:var(--ok);font-size:.85rem;margin:.5rem 0 .75rem}.chart{display:flex;align-items:flex-end;justify-content:space-between;gap:.4rem;height:9.5rem;margin-top:1rem}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.25rem;min-width:0;background:transparent;border:0;color:inherit;cursor:pointer;padding:0}.bar{width:70%;max-width:2rem;border-radius:.25rem .25rem 0 0;background:linear-gradient(to top,#1e3a8a,#60a5fa)}.bar.empty{background:#334155;height:4px!important}.mono{font-family:IBM Plex Mono,monospace}.list{display:grid;gap:.5rem;margin-top:1rem}.row{display:flex;justify-content:space-between;gap:.75rem;padding:.75rem .9rem;border:1px solid var(--line);border-radius:.75rem;background:#101828}.muted{color:var(--muted);font-size:.8rem}
