:root{--bg: #0f1419;--panel: #171e27;--line: #2a3544;--text: #e8eef6;--muted: #8b9bb0;--accent: #3d9cf0;--ok: #3dcc8c;--danger: #ef6b6b;font-family:IBM Plex Sans,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}input,select,button,textarea{font:inherit;border-radius:8px;border:1px solid var(--line);background:#10161d;color:var(--text);padding:.55rem .7rem}button{background:var(--accent);color:#071018;border:0;font-weight:600;cursor:pointer}button.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.nav{background:var(--panel);border-right:1px solid var(--line);padding:1.25rem}.nav h1{font-size:1rem;margin:0 0 1.5rem;letter-spacing:.04em}.nav a{display:block;padding:.45rem 0;color:var(--muted)}.nav a.active{color:var(--text)}.main{padding:1.5rem 2rem}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem}.card .label{color:var(--muted);font-size:.8rem}.card .value{font-size:1.6rem;margin-top:.35rem}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--line)}.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:end}label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}.login{max-width:360px;margin:12vh auto}.error{color:var(--danger)}code{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.85rem}
