:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--font-display: "Inter", sans-serif;--bg: #f6f5f2;--surface: #ffffff;--surface-2: #faf9f6;--surface-3: #f0eee8;--border: #e4e1d8;--border-strong: #d2cec1;--ink: #1a1d24;--ink-2: #3d4350;--ink-3: #6b7280;--ink-4: #9ca3af;--primary: #1e3a5f;--primary-2: #2a5184;--primary-tint: #e8eef5;--primary-ink: #ffffff;--accent: #b8860b;--accent-tint: #faf3e0;--ok: #2f7a4f;--ok-tint: #e6f1ea;--warn: #b16a00;--warn-tint: #fbf1de;--err: #b3261e;--err-tint: #fbe9e7;--info: #1e3a5f;--diff-add-bg: #e6f1ea;--diff-add-line: #2f7a4f;--diff-del-bg: #fbe9e7;--diff-del-line: #b3261e;--inset-panel: rgba(255, 255, 255, .55);--inset-border: rgba(0, 0, 0, .18);--radius: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(20, 25, 40, .04);--shadow: 0 1px 3px rgba(20, 25, 40, .06), 0 4px 12px rgba(20, 25, 40, .04);--shadow-lg: 0 8px 24px rgba(20, 25, 40, .08)}[data-theme=dark]{--bg: #0a0d13;--surface: #11151c;--surface-2: #161b24;--surface-3: #1d232e;--border: #232934;--border-strong: #353d4d;--ink: #eef0f5;--ink-2: #c4cad6;--ink-3: #8b94a5;--ink-4: #5a6378;--primary: #7aa7d6;--primary-2: #9ec0e6;--primary-tint: #18243a;--primary-ink: #0a0d13;--accent: #c8a14a;--accent-tint: #2a2110;--ok: #4ea877;--ok-tint: #142a20;--warn: #c89042;--warn-tint: #2a2113;--err: #d96b6b;--err-tint: #2c1a1a;--diff-add-bg: #102820;--diff-add-line: #4ea877;--diff-del-bg: #2c1a1a;--diff-del-line: #d96b6b;--inset-panel: rgba(0, 0, 0, .35);--inset-border: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .02);--shadow: 0 2px 4px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .25), 0 0 0 1px rgba(255, 255, 255, .03);--shadow-lg: 0 12px 36px rgba(0, 0, 0, .5), 0 4px 12px rgba(0, 0, 0, .3), 0 0 0 1px rgba(255, 255, 255, .04)}[data-theme=dark] body{background:radial-gradient(ellipse 800px 600px at 50% -20%,rgba(122,167,214,.04),transparent 70%),var(--bg);background-attachment:fixed}[data-theme=dark] .card{background:linear-gradient(180deg,rgba(255,255,255,.015) 0%,transparent 100%),var(--surface)}[data-theme=dark] .btn.primary{background:linear-gradient(180deg,color-mix(in oklab,var(--primary) 92%,white) 0%,var(--primary) 100%);color:var(--primary-ink);border-color:color-mix(in oklab,var(--primary) 70%,black);box-shadow:0 1px 2px #0000004d,0 0 0 1px #ffffff0d inset;transition:box-shadow .15s ease,transform 80ms ease}[data-theme=dark] .btn.primary:hover:not(:disabled){box-shadow:0 1px 2px #0000004d,0 0 0 1px #ffffff1a inset,0 0 12px #7aa7d640}[data-theme=dark] .btn.primary:active:not(:disabled){transform:translateY(1px)}[data-theme=dark] .btn.danger{background:linear-gradient(180deg,color-mix(in oklab,var(--err) 92%,white) 0%,var(--err) 100%);border-color:color-mix(in oklab,var(--err) 70%,black);color:#fff;box-shadow:0 1px 2px #0000004d,0 0 0 1px #ffffff0d inset}[data-theme=dark] .nav-item.active{background:linear-gradient(90deg,color-mix(in oklab,var(--primary-tint) 80%,transparent) 0%,transparent 100%);color:var(--primary-2);position:relative}[data-theme=dark] .nav-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--primary);border-radius:0 2px 2px 0}[data-theme=dark] .input:focus,[data-theme=dark] input:focus,[data-theme=dark] textarea:focus,[data-theme=dark] select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--primary) 22%,transparent)}[data-theme=dark] .chip.ok{background:linear-gradient(180deg,color-mix(in oklab,var(--ok-tint) 60%,var(--surface-2)) 0%,var(--ok-tint) 100%);color:color-mix(in oklab,var(--ok) 90%,white);border:1px solid color-mix(in oklab,var(--ok) 30%,transparent)}[data-theme=dark] .chip.warn{background:linear-gradient(180deg,color-mix(in oklab,var(--warn-tint) 60%,var(--surface-2)) 0%,var(--warn-tint) 100%);color:color-mix(in oklab,var(--warn) 90%,white);border:1px solid color-mix(in oklab,var(--warn) 30%,transparent)}[data-theme=dark] .chip.err{background:linear-gradient(180deg,color-mix(in oklab,var(--err-tint) 60%,var(--surface-2)) 0%,var(--err-tint) 100%);color:color-mix(in oklab,var(--err) 90%,white);border:1px solid color-mix(in oklab,var(--err) 30%,transparent)}[data-theme=dark] .chip.info{background:linear-gradient(180deg,color-mix(in oklab,var(--primary-tint) 70%,var(--surface-2)) 0%,var(--primary-tint) 100%);color:var(--primary-2);border:1px solid color-mix(in oklab,var(--primary) 28%,transparent)}[data-theme=dark] tr.selected,[data-theme=dark] .row.selected{background:color-mix(in oklab,var(--primary-tint) 60%,transparent);box-shadow:inset 3px 0 0 var(--primary)}[data-theme=dark] ::-webkit-scrollbar{width:10px;height:10px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--surface-3);border:2px solid var(--bg);border-radius:6px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}[data-density=compact]{--pad-y: 6px;--pad-x: 10px;--row-h: 32px;--gap: 8px}[data-density=comfortable]{--pad-y: 10px;--pad-x: 14px;--row-h: 40px;--gap: 12px}*{box-sizing:border-box}html,body,#root{height:100%}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}button{font-family:inherit;cursor:pointer}code,pre{font-family:var(--font-mono)}a{color:inherit;text-decoration:none}.app-shell{height:100%;display:grid;grid-template-columns:220px 1fr;background:var(--bg);color:var(--ink);overflow:hidden;transition:grid-template-columns .18s ease}html[data-sidebar=collapsed] .app-shell{grid-template-columns:56px 1fr}.sidebar.collapsed .nav-item{position:relative}.app-main{display:flex;flex-direction:column;overflow:hidden;min-width:0}.screen-body{flex:1;overflow:auto;padding:20px}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:16px 18px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.brand-mark{width:28px;height:28px;background:var(--primary);color:var(--primary-ink);border-radius:6px;display:grid;place-items:center;font-weight:700;font-size:12px;letter-spacing:.02em}.brand-name{font-size:13px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.brand-sub{font-size:10.5px;color:var(--ink-3);letter-spacing:.02em}.nav-section{padding:12px 10px 4px;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);font-weight:600}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 12px;margin:1px 8px;border-radius:5px;color:var(--ink-2);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;background:transparent;border:0;width:calc(100% - 16px);text-align:left}.nav-item:hover{background:var(--surface-3);color:var(--ink)}.nav-item.active{background:var(--primary-tint);color:var(--primary);font-weight:600}.nav-item .nav-count{margin-left:auto;font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.topbar{height:52px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--border);background:var(--surface);gap:14px;flex-shrink:0}.topbar-title{font-size:14px;font-weight:600;letter-spacing:-.01em}.topbar-crumb{font-size:12.5px;color:var(--ink-3)}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:12.5px;font-weight:500;border-radius:5px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);white-space:nowrap}.btn:hover{background:var(--surface-3)}.btn.primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.btn.primary:hover{background:var(--primary-2)}.btn.danger{color:var(--err);border-color:var(--err)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-3)}.btn.sm{height:26px;padding:0 9px;font-size:11.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;border-radius:99px;background:var(--surface-3);color:var(--ink-2);letter-spacing:.01em}.chip.dot:before{content:"";width:6px;height:6px;border-radius:99px;background:currentColor}.chip.ok{background:var(--ok-tint);color:var(--ok)}.chip.warn{background:var(--warn-tint);color:var(--warn)}.chip.err{background:var(--err-tint);color:var(--err)}.chip.info{background:var(--primary-tint);color:var(--primary)}.chip.accent{background:var(--accent-tint);color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.card-pad{padding:18px}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600}.stat-value{font-size:26px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-delta{font-size:11.5px;color:var(--ok);font-variant-numeric:tabular-nums}table.data{width:100%;border-collapse:collapse;font-size:12.5px}table.data th{text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-2);position:sticky;top:0}table.data td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tr:hover td{background:var(--surface-2)}table.data tr.selected td{background:var(--primary-tint)}.mono{font-family:var(--font-mono);font-size:12px}.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}.scroll::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--primary);outline-offset:1px}input,textarea,select{color:var(--ink);background-color:var(--surface);color-scheme:light dark;font-family:inherit}input::placeholder,textarea::placeholder{color:var(--ink-4);opacity:1}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{color-scheme:dark}input:disabled,textarea:disabled,select:disabled{color:var(--ink-3);background-color:var(--surface-2);cursor:not-allowed}.input{height:30px;padding:0 10px;font-size:12.5px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:5px;font-family:inherit}.input:focus{outline:2px solid var(--primary);outline-offset:0;border-color:transparent}@keyframes pulse-dot{0%,60%,to{opacity:1;transform:scale(1)}30%{opacity:.4;transform:scale(.85)}}.pulse{display:inline-block;width:8px;height:8px;background:var(--ok);border-radius:99px;animation:pulse-dot 1.4s infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
