:root{--bg: #0f1419;--surface: #171d24;--surface-2: #1e262f;--border: #2b3540;--text: #e6edf3;--text-dim: #8b98a5;--accent: #3b82f6;--ok: #22c55e;--warn: #f59e0b;--danger: #ef4444;--radius: 6px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:20px 0;display:flex;flex-direction:column}.brand{padding:0 20px 20px;font-size:16px;font-weight:700;letter-spacing:.02em}.brand span{color:var(--accent)}.nav{display:flex;flex-direction:column;gap:2px;padding:0 10px;flex:1}.nav a{padding:8px 12px;border-radius:var(--radius);color:var(--text-dim);font-size:13px;font-weight:500}.nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav a.active{background:var(--surface-2);color:var(--text)}.sidebar-footer{padding:16px 20px 0;border-top:1px solid var(--border);font-size:12px;color:var(--text-dim)}.main{padding:24px 28px;overflow-x:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-head h1{margin:0 0 4px;font-size:20px;font-weight:650}.page-head p{margin:0;color:var(--text-dim);font-size:13px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card .label{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.card .value{font-size:24px;font-weight:650;margin-top:6px}.card .sub{color:var(--text-dim);font-size:12px;margin-top:4px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px}.panel-head{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.panel-head h2{margin:0;font-size:14px;font-weight:600}.panel-body{padding:16px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:8px 16px;color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);font-weight:600;white-space:nowrap}td{padding:9px 16px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-2)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--text-dim);white-space:nowrap}.badge.ok{background:#22c55e26;color:var(--ok)}.badge.warn{background:#f59e0b26;color:var(--warn)}.badge.danger{background:#ef444426;color:var(--danger)}.badge.info{background:#3b82f626;color:var(--accent)}button,.btn{background:var(--accent);color:#fff;border:none;padding:7px 14px;border-radius:var(--radius);font-size:13px;font-weight:550;cursor:pointer}button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}button.danger{background:var(--danger)}.actions{display:flex;gap:8px;flex-wrap:wrap}input,select,textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:7px 10px;border-radius:var(--radius);font-size:13px;font-family:inherit;width:100%}input:focus,select:focus{outline:none;border-color:var(--accent)}label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:5px}.field{margin-bottom:14px}.filters{display:flex;gap:10px;align-items:flex-end;margin-bottom:16px;flex-wrap:wrap}.filters .field{margin-bottom:0;min-width:160px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px}.tabs button{background:none;color:var(--text-dim);border:none;border-bottom:2px solid transparent;border-radius:0;padding:8px 14px;font-size:13px}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.progress{height:6px;background:var(--surface-2);border-radius:100px;overflow:hidden}.progress>div{height:100%;background:var(--ok)}.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:10px 14px;border-radius:var(--radius);font-size:13px;margin-bottom:16px}.empty{padding:32px;text-align:center;color:var(--text-dim);font-size:13px}.muted{color:var(--text-dim)}.signin{display:grid;place-items:center;min-height:100vh}.signin form{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:28px;width:340px}.signin h1{margin:0 0 4px;font-size:18px}.signin p{margin:0 0 20px;color:var(--text-dim);font-size:13px}.signin button{width:100%;padding:9px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.detail-grid dt{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.detail-grid dd{margin:4px 0 0;font-size:14px}
