:root{--bg: #080B12;--s1: #0C1020;--s2: #111828;--s3: #192236;--border: rgba(148, 163, 240, .13);--border2: rgba(148, 163, 240, .22);--text: #DDE4F5;--muted: #6C7A9C;--muted2: #4A5470;--accent: #7B9EF8;--green: #6EE7B7;--warn: #FBBF60;--danger: #F87171;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:13px}a{color:var(--accent);text-decoration:none}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:220px;flex-shrink:0;background:var(--s1);border-right:1px solid var(--border);display:flex;flex-direction:column}.brand{padding:16px;font-size:16px;font-weight:600;border-bottom:1px solid var(--border)}.brand .num{color:var(--accent)}.nav-section{padding:12px 16px 4px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2)}.nav-item{display:block;padding:7px 16px;color:var(--muted);cursor:pointer;border-left:2px solid transparent}.nav-item:hover{color:var(--text)}.nav-item.active{color:var(--accent);border-left-color:var(--accent);background:#7b9ef812}.spacer{flex:1}.signout{padding:12px 16px;border-top:1px solid var(--border);color:var(--muted);cursor:pointer;font-size:12px}.signout:hover{color:var(--text)}.main{flex:1;overflow:auto;display:flex;flex-direction:column}.topbar{padding:14px 24px;border-bottom:1px solid var(--border);display:flex;align-items:baseline;gap:12px}.topbar h1{font-family:var(--font-mono);font-size:16px;font-weight:600}.topbar .sub{color:var(--muted);font-size:11px}.content{padding:20px 24px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;padding:8px 12px;color:var(--muted);font-weight:500;font-size:10px;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg)}td{padding:8px 12px;border-bottom:1px solid rgba(148,163,240,.06);color:var(--text)}tr:hover td{background:#7b9ef80a}.count{color:var(--muted);font-size:11px}.pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px}.pill.green{background:#6ee7b724;color:var(--green)}.pill.warn{background:#fbbf6024;color:var(--warn)}.pill.danger{background:#f8717124;color:var(--danger)}.pill.muted{background:#6c7a9c24;color:var(--muted)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{width:340px;background:var(--s2);border:1px solid var(--border);border-radius:12px;padding:28px}.login-card h1{font-size:18px;margin-bottom:4px}.login-card p.sub{color:var(--muted);font-size:12px;margin-bottom:22px}.login-card label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.login-card input{width:100%;padding:10px 12px;margin-bottom:16px;background:var(--s1);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--font-mono);font-size:13px}.login-card button{width:100%;padding:10px;background:var(--accent);color:var(--bg);border:none;border-radius:6px;font-family:var(--font-mono);font-weight:600;cursor:pointer}.login-card .err{color:var(--danger);font-size:12px;margin-bottom:14px}.msg{padding:20px 24px;color:var(--muted)}
