:root,[data-theme=light]{--bg:#f7f5f0;--surface:#fff;--surface-2:#f1eee6;--surface-3:#e9e5db;--border:#e6e1d6;--border-strong:#cfc7b8;--border-input:#7d768c;--text:#14111f;--muted:#55506a;--faint:#6f6981;--accent:#ff9f1c;--accent-hover:#ffad3f;--accent-ink:#14111f;--accent-soft:#fff1d9;--accent-text:#a14c00;--hive-text:#c26500;--violet:#6d5dfc;--violet-soft:#eceaff;--on-violet:#fff;--focus-ring:#6d5dfc;--ok:#0f7652;--ok-soft:#e1f4ea;--warn:#7a6400;--warn-soft:#fff6d1;--bad:#c4302b;--bad-soft:#fde8e6;--info:#4c5bd4;--info-soft:#eaedfc;--new:#5b4bea;--new-soft:#eceaff;--log-bg:#0e0c15;--log-text:#d7d2e2;--shadow-1:0 1px 2px #14111f0f, 0 1px 1px #14111f08;--shadow-2:0 4px 14px #14111f14, 0 1px 3px #14111f0f;--shadow-3:0 24px 60px #14111f2e, 0 4px 12px #14111f14;--glow:0 0 0 1px #ff9f1c59, 0 8px 30px #ff9f1c38;--scrim:#0a081080;--on-solid:#fff;--knob:#fff;--term-bg:#0b0d11;--log-cmd:#ffb23f;--log-ok:#3dd68c;--log-err:#ff6b63;--log-meta:#948da6;--term-fg:#d5dae3;--term-cursor:#ff4954;--term-sel:#3a1418;--warn-text:#7a6400}[data-theme=dark]{--bg:#0e0c15;--surface:#16131f;--surface-2:#1e1a2a;--surface-3:#272233;--border:#272233;--border-strong:#3a3449;--border-input:#746b8a;--text:#f3f0f7;--muted:#b0a9bf;--faint:#948da6;--accent:#ffb23f;--accent-hover:#ffc261;--accent-ink:#14111f;--accent-soft:#33240d;--accent-text:#ffc56b;--hive-text:#ffb23f;--violet:#8f82ff;--violet-soft:#231f3f;--on-violet:#14111f;--focus-ring:#8f82ff;--ok:#3dd68c;--ok-soft:#10261c;--warn:#f2d65e;--warn-soft:#2a250c;--bad:#ff6b63;--bad-soft:#321514;--info:#8c98ff;--info-soft:#1a1c36;--new:#a99dff;--new-soft:#231f3f;--log-bg:#09080e;--log-text:#d7d2e2;--shadow-1:0 1px 2px #00000080;--shadow-2:0 4px 16px #00000080;--shadow-3:0 24px 60px #000000b3;--glow:0 0 0 1px #ffb23f66, 0 8px 30px #ffb23f2e;--scrim:#0a08108c;--on-solid:#0e0c15;--knob:#fff;--term-bg:#0b0d11;--log-cmd:#ffb23f;--log-ok:#3dd68c;--log-err:#ff6b63;--log-meta:#948da6;--term-fg:#d5dae3;--term-cursor:#ff4954;--term-sel:#3a1418;--warn-text:#f2d65e}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-0-5:2px;--space-1-5:6px;--space-2-5:10px;--space-3-5:14px;--space-4-5:18px;--space-5-5:22px;--space-8:32px;--space-9:36px;--space-10:40px;--space-15:60px;--r-2xs:4px;--r-ctl:8px;--fs-xs:11px;--fs-sm:12px;--fs-mono:12.5px;--fs-md:13px;--fs-table:13.5px;--fs-base:14px;--fs-lg:15px;--fs-xl:16px;--fs-wordmark:17px;--fs-2xl:18px;--fs-3xl:22px;--fs-4xl:24px;--fs-h1:28px;--fs-kpi:30px;--fs-hero:32px;--lh-none:1;--lh-tight:1.15;--lh-snug:1.3;--lh-body:1.5;--d-instant:80ms;--d-fast:.14s;--d-base:.22s;--d-slow:.36s;--d-slower:.6s;--d-stagger:40ms;--e-standard:cubic-bezier(.2, 0, 0, 1);--e-out:cubic-bezier(.16, 1, .3, 1);--e-in:cubic-bezier(.7, 0, .84, 0);--e-spring:cubic-bezier(.34, 1.4, .64, 1);--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-full:999px;--font-display:"Manrope", "Inter", system-ui, sans-serif;--font-sans:"Inter", "Segoe UI", "Noto Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "DejaVu Sans Mono", monospace}.hero{font-family:var(--font-display);font-size:32px;line-height:var(--lh-tight);letter-spacing:-.64px;font-weight:800}.kpi{font-family:var(--font-display);font-size:30px;line-height:var(--lh-none);letter-spacing:-.9px;font-weight:800}.h1{font-family:var(--font-display);font-size:28px;line-height:var(--lh-tight);letter-spacing:-.56px;font-weight:800}.h2{font-family:var(--font-display);font-size:18px;line-height:var(--lh-tight);letter-spacing:-.36px;font-weight:800}.h3{font-family:var(--font-display);font-size:15px;line-height:var(--lh-tight);letter-spacing:-.3px;font-weight:800}.wordmark{font-family:var(--font-display);font-size:17px;line-height:var(--lh-tight);letter-spacing:-.34px;font-weight:800}.body{font-family:var(--font-sans);font-size:14px;line-height:var(--lh-body);font-weight:400}.body-strong{font-family:var(--font-sans);font-size:14px;line-height:var(--lh-body);font-weight:600}.small{font-family:var(--font-sans);font-size:13px;line-height:var(--lh-body);font-weight:400}.caption{font-family:var(--font-sans);font-size:12px;line-height:var(--lh-body);font-weight:400}.label{font-family:var(--font-sans);font-size:11px;line-height:var(--lh-body);letter-spacing:.88px;font-weight:600}.mono{font-family:var(--font-mono);font-size:12.5px;line-height:var(--lh-body);font-weight:400}@font-face{font-family:Inter;src:url(../media/inter.0gsaq8ukbf34m.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Inter;src:url(../media/inter-ext.3gdi_th3seg1n.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Inter;src:url(../media/inter-cyr.2cxlyxah-fd35.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Inter;src:url(../media/inter-greek.1rx9vjatjkdar.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Manrope;src:url(../media/manrope.1p_a2k8qd5zhp.woff2)format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:Manrope;src:url(../media/manrope-ext.0-hru0xfwhnbp.woff2)format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:Manrope;src:url(../media/manrope-cyr.1hmx3sz6swr8m.woff2)format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../media/mono.2rmhnsrc80fag.woff2)format("woff2");font-weight:100 800;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../media/mono-cyr.0x7cg5h5x34js.woff2)format("woff2");font-weight:100 800;font-display:swap}
:root{--d-instant:80ms;--d-fast:.14s;--d-base:.22s;--d-slow:.36s;--d-slower:.6s;--e-standard:cubic-bezier(.2,0,0,1);--e-out:cubic-bezier(.16,1,.3,1);--e-in:cubic-bezier(.7,0,.84,0);--e-spring:cubic-bezier(.34,1.4,.64,1);--focus:0 0 0 2px var(--bg), 0 0 0 4px var(--focus-ring)}body{font:400 14px/1.5 var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}.ih-row{flex-wrap:wrap;align-items:center;gap:10px;padding:16px;display:flex}.btn{border-radius:var(--r-sm);height:38px;font:600 14px/1 var(--font-sans);cursor:pointer;white-space:nowrap;transition:background var(--d-fast), border-color var(--d-fast), box-shadow var(--d-base) var(--e-out), transform var(--d-fast) var(--e-spring);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{box-shadow:var(--focus);outline:none}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--glow)}.btn-secondary{background:var(--violet);color:var(--on-violet)}.btn-outline{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-outline:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{color:var(--muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--bad-soft);color:var(--bad)}.btn-danger:hover:not(:disabled){border-color:var(--bad)}.btn-sm{border-radius:8px;height:30px;padding:0 10px;font-size:13px}.btn-lg{border-radius:var(--r-md);height:46px;padding:0 22px;font-size:15px}.field{flex-direction:column;gap:6px;display:flex}.field>label{font-size:13px;font-weight:600}.input{box-sizing:border-box;border:1px solid var(--border-input);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;transition:border-color var(--d-fast), box-shadow var(--d-fast);padding:9px 12px}.input::placeholder{color:var(--faint)}.input:hover{border-color:var(--text)}.input:focus{box-shadow:var(--focus);border-color:var(--focus-ring);outline:none}.input[aria-invalid=true]{border-color:var(--bad)}.hint{color:var(--faint);font-size:12px}.hint.bad{color:var(--bad)}.pill{border-radius:var(--r-full);white-space:nowrap;align-items:center;gap:5px;height:24px;padding:0 9px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.pill-ok{background:var(--ok-soft);color:var(--ok)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-bad{background:var(--bad-soft);color:var(--bad)}.pill-info{background:var(--info-soft);color:var(--info)}.pill-new{background:var(--new-soft);color:var(--new)}.pill-neutral{background:var(--surface-2);color:var(--muted)}.pill-live:before{content:"";width:7px;height:7px;animation:ih-pulse 1.6s var(--e-standard) infinite;background:currentColor;border-radius:50%}@keyframes ih-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.7)}}.card{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:transform var(--d-base) var(--e-out), box-shadow var(--d-base) var(--e-out), border-color var(--d-base)}.card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-2px)}.kpi{flex-direction:column;gap:8px;min-width:200px;padding:18px 20px;display:flex}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:600}.kpi .v{font:800 30px/1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.kpi .v small{color:var(--faint);font-size:16px;font-weight:600}.seg{background:var(--surface-2);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--muted);font:500 14px var(--font-sans);background:0 0;border:0;border-radius:8px;padding:6px 12px}.seg button[aria-pressed=true]{color:var(--text);background:var(--surface);box-shadow:var(--shadow-1);font-weight:600}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--border);padding:10px 14px;font-size:11px;font-weight:600}.table td{border-bottom:1px solid var(--border);padding:12px 14px}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:0}.table .num{font-variant-numeric:tabular-nums;text-align:right}.toast{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-3);align-items:flex-start;gap:10px;width:340px;padding:12px 14px;display:flex}.toast .ico{border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.toast-ok .ico{background:var(--ok-soft);color:var(--ok)}.toast-warn .ico{background:var(--warn-soft);color:var(--warn)}.toast-bad .ico{background:var(--bad-soft);color:var(--bad)}.toast .t{font-weight:600}.toast .d{color:var(--muted);font-size:13px}.dialog{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:min(460px,100%);box-shadow:var(--shadow-3);padding:24px}.dialog h2{font:800 18px/1.15 var(--font-display);letter-spacing:-.02em;margin:0 0 6px}.dialog p{color:var(--muted);margin:0}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.empty{text-align:center;color:var(--muted);place-items:center;gap:10px;padding:36px 20px;display:grid}.empty .glyph{background:var(--surface-2);width:56px;height:56px;color:var(--faint);border-radius:16px;place-items:center;display:grid}.empty h3{color:var(--text);font:800 15px/1.15 var(--font-display);margin:0}.empty p{margin:0}.skeleton{background:var(--surface-2);border-radius:8px;position:relative;overflow:hidden}.skeleton:after{content:"";animation:ih-shimmer 1.4s var(--e-standard) infinite;background:linear-gradient(90deg,#0000,#7f788c24,#0000);position:absolute;inset:0;transform:translate(-100%)}@keyframes ih-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-body);margin:0}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-family:var(--font-display);font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:-.02em}h2{font-family:var(--font-display);font-size:var(--fs-2xl);line-height:var(--lh-tight)}h3{font-family:var(--font-display);font-size:var(--fs-lg);line-height:var(--lh-tight)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:none}.btn{border-radius:var(--r-sm);height:40px;text-decoration:none}.btn.btn-sm{height:32px;padding:0 var(--space-3);font-size:var(--fs-md)}.input{height:40px;padding:0 var(--space-3);font-size:var(--fs-base);line-height:var(--lh-body)}.pill{padding:0 var(--space-2-5);gap:var(--space-1-5)}.seg{padding:var(--space-1);gap:var(--space-0-5)}.seg button{line-height:var(--lh-snug);padding:var(--space-1-5) var(--space-3)}select.input{padding:0 var(--space-3)}.table th{font-size:var(--fs-xs)}.table td{font-size:var(--fs-table)}.mono{font-family:var(--font-mono);font-size:var(--fs-mono)}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:var(--fs-md)}.num{font-variant-numeric:tabular-nums;text-align:right}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell{grid-template-columns:256px minmax(0,1fr);min-height:100vh;display:grid}.side{align-self:start;gap:var(--space-4);height:100vh;padding:var(--space-5) var(--space-4);border-right:1px solid var(--border);background:var(--surface);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:var(--space-2-5);padding:0 var(--space-2);font-family:var(--font-display);font-weight:800;font-size:var(--fs-wordmark);text-decoration:none;display:flex}.brand img{width:24px;height:24px}.brand small{font:600 var(--fs-xs)/var(--lh-none) var(--font-sans);color:var(--accent-text);background:var(--accent-soft);padding:var(--space-1) var(--space-2);border-radius:var(--r-full);margin-left:auto}.nav{gap:var(--space-0-5);flex-direction:column;display:flex}.navlink{align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-3);border-radius:var(--r-ctl);color:var(--muted);font-weight:500;text-decoration:none;display:flex;position:relative}.navlink:hover{background:var(--surface-2);color:var(--text)}.navlink[aria-current=page]{color:var(--accent-text);font-weight:600}.nav-active{z-index:-1;border-radius:var(--r-ctl);background:var(--accent-soft);position:absolute;inset:0}.navlink{isolation:isolate}.navlink svg{flex:none;width:16px;height:16px}.side-foot{gap:var(--space-3);flex-direction:column;margin-top:auto;display:flex}.main{padding:var(--space-8) var(--space-8) var(--space-15);gap:var(--space-6);flex-direction:column;min-width:0;max-width:1280px;display:flex}.pagehead{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.pagehead .titles{gap:var(--space-1);flex-direction:column;display:flex}.pagehead .actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.stack{gap:var(--space-4);flex-direction:column;display:flex}.grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.grid-2{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);flex-direction:column;min-width:0;display:flex}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.panel-body{padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.panel-body.flush{padding:0}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.kpi .v{font-size:var(--fs-kpi)}.kpi .v small{font-size:var(--fs-xl)}.kpi .sub{color:var(--faint);font-size:var(--fs-md)}.table-wrap{overflow-x:auto}.table td .row{gap:var(--space-2)}.table tbody tr.clickable{cursor:pointer}.toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.toolbar .input{max-width:320px}.banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);display:flex}.banner.warn{background:var(--warn-soft);border-color:var(--warn);color:var(--warn-text)}.banner.bad{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.banner .glyph{flex:none;font-weight:700}.bar{border-radius:var(--r-full);background:var(--surface-3);height:8px;overflow:hidden}.bar>i{background:var(--accent);height:100%;display:block}.bar.bad>i{background:var(--bad)}.kv{gap:var(--space-2) var(--space-4);grid-template-columns:minmax(120px,200px) minmax(0,1fr);align-items:baseline;margin:0;display:grid}.kv dd .row{align-items:baseline}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}.field{gap:var(--space-1-5)}.formgrid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;display:grid}.empty{padding:var(--space-10) var(--space-5)}.dot{background:var(--faint);border-radius:50%;width:8px;height:8px;display:inline-block}.skeleton-block{height:120px}.bad-text{color:var(--bad)}.mt-2{margin-top:var(--space-2)}.backdrop{z-index:50;padding:var(--space-4);background:#14111f80;place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-4);flex-direction:column;display:flex}.dialog .dialog-actions{margin-top:0}.toasts{right:var(--space-5);bottom:var(--space-5);z-index:60;gap:var(--space-2);flex-direction:column;display:flex;position:fixed}.toast{align-items:center}.auth{min-height:100vh;padding:var(--space-4);place-items:center;display:grid}.auth-card{gap:var(--space-5-5);width:100%;max-width:400px;padding:var(--space-8);flex-direction:column;display:flex}.auth-card .input{height:44px}.auth-card .btn{width:100%;height:44px}.msg{color:var(--bad);min-height:calc(var(--fs-base) * var(--lh-body))}@media (max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.side{border-right:0;border-bottom:1px solid var(--border);flex-direction:column;height:auto;position:static}.nav{flex-flow:wrap}.side-foot{flex-flow:wrap;align-items:center;margin-top:0}.main{padding:var(--space-5) var(--space-4) var(--space-10)}.kv{grid-template-columns:minmax(0,1fr)}}
