:root{color-scheme:dark;--bg-0: #0a0d12;--bg-1: #0f131a;--bg-2: #161b25;--bg-3: #1d232f;--bg-hover: #232b3a;--border: #232b3a;--border-strong: #2f3a4d;--fg-0: #e6e9ef;--fg-1: #b8c0cc;--fg-2: #8a93a3;--fg-3: #5f6675;--accent: #7c9eff;--accent-hover: #9ab2ff;--accent-bg: #1a2245;--success: #4ade80;--success-bg: #0f2a1c;--warning: #fbbf24;--warning-bg: #2e2310;--danger: #ef4444;--danger-bg: #2e1212;--info: #60a5fa;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--r-1: 4px;--r-2: 8px;--r-3: 12px;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 4px 12px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-0);color:var(--fg-0);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}code,pre,.mono{font-family:var(--font-mono);font-size:.92em}input,select,textarea{background:var(--bg-1);border:1px solid var(--border);color:var(--fg-0);border-radius:var(--r-1);padding:8px 10px;font:inherit;width:100%;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}input::placeholder{color:var(--fg-3)}button{background:var(--bg-3);color:var(--fg-0);border:1px solid var(--border-strong);border-radius:var(--r-1);padding:8px 14px;font:inherit;font-weight:500;cursor:pointer;transition:all .15s}button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#0a0d12;border-color:var(--accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger);color:#fff}button.ghost{background:transparent;border-color:transparent;color:var(--fg-1)}button.ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--fg-0);border-color:var(--border-strong)}label{display:block;font-size:12px;font-weight:500;color:var(--fg-1);margin-bottom:4px}.muted{color:var(--fg-2)}.dim{color:var(--fg-3)}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:22px}h2{font-size:17px}h3{font-size:14px;color:var(--fg-1);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--bg-1);border-right:1px solid var(--border);padding:var(--space-4) 0;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{font-weight:700;font-size:18px;letter-spacing:-.02em;padding:0 var(--space-5) var(--space-5);color:var(--fg-0)}.brand .dot{color:var(--accent)}.nav{display:flex;flex-direction:column;gap:2px;padding:0 var(--space-3)}.nav .group{color:var(--fg-3);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:var(--space-4) var(--space-3) var(--space-1)}.nav a{display:flex;align-items:center;gap:var(--space-2);padding:7px var(--space-3);border-radius:var(--r-1);color:var(--fg-1);font-weight:500}.nav a:hover{background:var(--bg-hover);color:var(--fg-0)}.nav a.active{background:var(--accent-bg);color:var(--accent)}.nav a .icon{width:16px;height:16px;flex-shrink:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--bg-0);position:sticky;top:0;z-index:5}.topbar .crumbs{color:var(--fg-2);font-size:13px}.topbar .user{display:flex;align-items:center;gap:var(--space-3)}.topbar .user .avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-bg);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}.main{min-width:0;display:flex;flex-direction:column}.page{padding:var(--space-5);max-width:1400px;width:100%}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.page-header .actions{display:flex;gap:var(--space-2)}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-2);padding:var(--space-4)}.card.padded{padding:var(--space-5)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.grid{display:grid;gap:var(--space-4)}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 980px){.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.app{grid-template-columns:1fr}.sidebar{display:none}.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.table th,.table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.table th{color:var(--fg-2);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.05em;background:var(--bg-1);position:sticky;top:0}.table tr:hover td{background:var(--bg-2)}.table td.mono{font-family:var(--font-mono);font-size:12px;color:var(--fg-1)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;background:var(--bg-3);color:var(--fg-1);border:1px solid var(--border-strong)}.badge.success{background:var(--success-bg);color:var(--success);border-color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning);border-color:var(--warning)}.badge.danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.badge.info{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.form-row{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.form-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-4)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--r-3);padding:var(--space-5);max-width:560px;width:calc(100% - 32px);max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2)}.modal h2{margin-bottom:var(--space-4)}.toasts{position:fixed;bottom:var(--space-5);right:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);z-index:200;max-width:380px}.toast{background:var(--bg-2);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--r-2);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-2);display:flex;align-items:flex-start;gap:var(--space-3);animation:slideIn .2s ease-out}.toast.success{border-left-color:var(--success)}.toast.danger{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--warning)}@keyframes slideIn{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.stat{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-2);padding:var(--space-4)}.stat .label{color:var(--fg-2);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:500;margin-bottom:var(--space-2)}.stat .value{font-size:26px;font-weight:600;font-feature-settings:"tnum" 1;color:var(--fg-0);line-height:1.1}.stat .delta{font-size:12px;margin-top:var(--space-1);color:var(--fg-2)}.stat .delta.up{color:var(--success)}.stat .delta.down{color:var(--danger)}.stat .spark{margin-top:var(--space-3);height:32px}.empty{padding:var(--space-7) var(--space-5);text-align:center;color:var(--fg-2)}.empty h3{color:var(--fg-1);text-transform:none;letter-spacing:0;font-size:15px;margin-bottom:var(--space-2)}.row{display:flex;align-items:center;gap:var(--space-3)}.row.between{justify-content:space-between}.right{margin-left:auto}.hstack{display:flex;gap:var(--space-3);align-items:center}.vstack{display:flex;flex-direction:column;gap:var(--space-3)}
