@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f6f7fb;--surface:#fff;--surface-sunken:#f0f2f7;--surface-hover:#f3f4fa;--sidebar:#fbfbfd;--border:#e3e6ef;--border-strong:#cfd4e2;--ink:#12141c;--ink-2:#474d5e;--ink-3:#737a8c;--ink-inverse:#fff;--accent:#3b4fd8;--accent-hover:#3243c2;--accent-soft:#eceefe;--accent-ink:#2a3aa8;--on-accent:#fff;--focus:#3b4fd8;--good:#0c8a3e;--good-soft:#e5f5ec;--warning:#b26b00;--warning-soft:#fdf2dc;--critical:#c8342f;--critical-soft:#fbe9e8;--neutral-soft:#eef0f5;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--grid:#eceef4;--axis:#8a90a2;--font-sans:"Geist Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-lg:1rem;--text-xl:1.25rem;--text-2xl:1.625rem;--text-3xl:2rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #12141c0d;--shadow-pop:0 12px 32px -8px #12141c2e, 0 2px 6px #12141c0f;--sidebar-width:248px;--ease:cubic-bezier(.2, .7, .2, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0d0f15;--surface:#151821;--surface-sunken:#10131a;--surface-hover:#1b1f2a;--sidebar:#11141b;--border:#252a37;--border-strong:#343a4b;--ink:#eceef4;--ink-2:#b4b9c7;--ink-3:#868ca0;--ink-inverse:#0d0f15;--accent:#8796ff;--accent-hover:#a0acff;--accent-soft:#1d2140;--accent-ink:#b3bcff;--on-accent:#0d0f15;--focus:#8796ff;--good:#3ccf7a;--good-soft:#10291c;--warning:#f0b04a;--warning-soft:#2e2410;--critical:#ff7a72;--critical-soft:#331816;--neutral-soft:#1d212c;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--grid:#1f2430;--axis:#7a8096;--shadow-sm:0 1px 2px #0006;--shadow-pop:0 16px 40px -8px #0009, 0 2px 8px #0006}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0d0f15;--surface:#151821;--surface-sunken:#10131a;--surface-hover:#1b1f2a;--sidebar:#11141b;--border:#252a37;--border-strong:#343a4b;--ink:#eceef4;--ink-2:#b4b9c7;--ink-3:#868ca0;--ink-inverse:#0d0f15;--accent:#8796ff;--accent-hover:#a0acff;--accent-soft:#1d2140;--accent-ink:#b3bcff;--on-accent:#0d0f15;--focus:#8796ff;--good:#3ccf7a;--good-soft:#10291c;--warning:#f0b04a;--warning-soft:#2e2410;--critical:#ff7a72;--critical-soft:#331816;--neutral-soft:#1d212c;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--grid:#1f2430;--axis:#7a8096;--shadow-sm:0 1px 2px #0006;--shadow-pop:0 16px 40px -8px #0009, 0 2px 8px #0006}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--canvas);color:var(--ink);font:400 var(--text-md)/1.5 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}[hidden]{display:none!important}h1,h2,h3,h4{letter-spacing:-.012em;text-wrap:balance;margin:0;font-weight:600}h1{font-size:var(--text-2xl);line-height:1.2}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{margin:0}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:.92em}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.ink-2{color:var(--ink-2)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft)}.shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:linear-gradient(to right, var(--sidebar) calc(var(--sidebar-width) - 1px), var(--border) 0 var(--sidebar-width), transparent 0);min-height:100%;display:grid}.sidebar{gap:var(--space-4);height:100vh;padding:var(--space-4) var(--space-3);background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;display:flex;position:sticky;top:0}.brand{font-weight:650;font-size:var(--text-lg);letter-spacing:-.02em;align-items:center;gap:10px;padding:4px 8px;display:flex}.brand-mark{flex:none;width:26px;height:26px}.nav{flex-direction:column;gap:2px;display:flex}.nav-label{padding:var(--space-3) 10px var(--space-1);font-size:var(--text-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.nav a{border-radius:var(--radius-sm);color:var(--ink-2);transition:background .12s var(--ease), color .12s var(--ease);align-items:center;gap:10px;padding:7px 10px;font-weight:500;text-decoration:none;display:flex}.nav a svg{width:17px;height:17px;color:var(--ink-3);flex:none}.nav a:hover{background:var(--surface-hover);color:var(--ink)}.nav a[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--border)}.nav a[aria-current=page] svg{color:var(--accent)}.sidebar-foot{gap:var(--space-2);flex-direction:column;margin-top:auto;display:flex}.user-chip{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 10px;display:flex}.avatar{background:var(--accent-soft);width:28px;height:28px;color:var(--accent-ink);font-weight:600;font-size:var(--text-xs);border-radius:50%;flex:none;place-items:center;display:grid}.user-chip .who{flex:1;min-width:0}.user-chip .who div{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-8);background:color-mix(in srgb, var(--canvas) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--border);flex-wrap:wrap;min-height:60px;display:flex;position:sticky;top:0}.topbar-left,.topbar-right{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page{padding:var(--space-6) var(--space-8) var(--space-10);gap:var(--space-6);flex-direction:column;width:100%;max-width:1440px;display:flex}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-head .sub{color:var(--ink-3);margin-top:4px}.btn.mobile-nav-toggle{display:none}@media (width<=960px){.shell{background:0 0;grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;width:min(84vw,300px);transition:transform .2s var(--ease);box-shadow:var(--shadow-pop);position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.sidebar[data-open=true]{transform:none}.scrim{z-index:30;background:#0a0c1259;position:fixed;inset:0}.btn.mobile-nav-toggle{display:inline-flex}.topbar{padding:var(--space-3) var(--space-4)}.page{padding:var(--space-5) var(--space-4) var(--space-10)}}.btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:34px;color:var(--ink);font:500 var(--text-md) var(--font-sans);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);transition:background .12s var(--ease), border-color .12s var(--ease), color .12s var(--ease);justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.btn svg{width:16px;height:16px}.btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--critical)}.btn-danger-solid{background:var(--critical);border-color:var(--critical);color:#fff}.btn-ghost{box-shadow:none;color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-hover);color:var(--ink);border-color:#0000}.btn-sm{height:28px;font-size:var(--text-sm);padding:0 9px}.btn-icon{width:34px;padding:0}.input,.select,.textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;height:36px;color:var(--ink);font:400 var(--text-md) var(--font-sans);transition:border-color .12s var(--ease), box-shadow .12s var(--ease);padding:0 10px}.textarea{height:auto;min-height:96px;font-family:var(--font-mono);font-size:var(--text-sm);resize:vertical;padding:8px 10px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{font-weight:550;font-size:var(--text-sm)}.field-hint{color:var(--ink-3);font-size:var(--text-sm)}.field-error{color:var(--critical);font-size:var(--text-sm)}.form{gap:var(--space-4);flex-direction:column;display:flex}.form-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.segmented{background:var(--surface-sunken);border:1px solid var(--border);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.segmented button{height:26px;color:var(--ink-2);font:500 var(--text-sm) var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 10px}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.switch{flex:none;width:34px;height:20px;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch span{background:var(--border-strong);transition:background .15s var(--ease);pointer-events:none;border-radius:999px;position:absolute;inset:0}.switch span:after{content:"";width:16px;height:16px;transition:transform .15s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch input:checked+span{background:var(--good)}.switch input:checked+span:after{transform:translate(14px)}.switch input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.menu-select{position:relative}.app-switcher{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--ink);cursor:pointer;text-align:left;font:500 var(--text-md) var(--font-sans);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:8px 10px;display:flex}.app-switcher:hover{border-color:var(--border-strong)}.app-icon{width:28px;height:28px;font-weight:650;font-size:var(--text-sm);color:#fff;border-radius:28%;flex:none;place-items:center;display:inline-grid}.app-switcher .label{flex:1;min-width:0}.app-switcher .label div{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.popover{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:4px;position:absolute;top:calc(100% + 6px);left:0;right:0}.popover button{width:100%;color:var(--ink);text-align:left;font:400 var(--text-md) var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:7px 8px;display:flex}.popover button:hover,.popover button[aria-selected=true]{background:var(--surface-hover)}.popover hr{border:0;border-top:1px solid var(--border);margin:4px 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.card-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5) 0;flex-wrap:wrap;display:flex}.card-head .sub{color:var(--ink-3);font-size:var(--text-sm);margin-top:2px}.card-body{padding:var(--space-4) var(--space-5) var(--space-5)}.card-body.flush{padding:var(--space-2) 0 0}.grid{gap:var(--space-4);display:grid}.grid-kpi{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media (width<=1200px){.grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){.grid-2,.grid-3-1{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.grid-kpi{grid-template-columns:minmax(0,1fr)}}.kpi{padding:var(--space-4) var(--space-5);flex-direction:column;gap:6px;display:flex}.kpi-label{color:var(--ink-2);font-size:var(--text-sm);align-items:center;gap:6px;font-weight:500;display:flex}.kpi-value{font:600 var(--text-3xl)/1.1 var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:-.035em}.kpi-foot{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:32px;display:flex}.kpi-meta{color:var(--ink-3);font-size:var(--text-xs)}.delta{font:600 var(--text-xs) var(--font-sans);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:3px;padding:1px 6px;display:inline-flex}.delta svg{width:12px;height:12px}.delta.up{color:var(--good);background:var(--good-soft)}.delta.down{color:var(--critical);background:var(--critical-soft)}.delta.flat{color:var(--ink-3);background:var(--neutral-soft)}.mini-stats{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.mini-stats>div{padding:var(--space-4) var(--space-5);border-left:1px solid var(--border);flex-direction:column;gap:4px;display:flex}.mini-stats>div:first-child{border-left:0}.mini-stats .v{font:600 var(--text-xl) var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:-.025em}@media (width<=1200px){.mini-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-stats>div:nth-child(4){border-left:0}.mini-stats>div:nth-child(n+4){border-top:1px solid var(--border)}}@media (width<=560px){.mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-stats>div{border-top:1px solid var(--border);border-left:0!important}.mini-stats>div:nth-child(-n+2){border-top:0}}.badge{height:22px;font-size:var(--text-xs);white-space:nowrap;background:var(--neutral-soft);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-weight:550;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.good{background:var(--good-soft);color:var(--good)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.critical{background:var(--critical-soft);color:var(--critical)}.badge.accent{background:var(--accent-soft);color:var(--accent-ink)}.badge.outline{border:1px solid var(--border);background:0 0}.table-wrap{overflow-x:auto}table.table{border-collapse:separate;border-spacing:0;width:100%}.table th{text-align:left;font-weight:550;font-size:var(--text-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;padding:10px var(--space-4);border-bottom:1px solid var(--border);background:var(--surface);white-space:nowrap;position:sticky;top:0}.table td{padding:11px var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table .right{text-align:right}.table tbody tr.clickable{cursor:pointer;transition:background .1s var(--ease)}.table tbody tr.clickable:hover{background:var(--surface-hover)}.table tbody tr[aria-selected=true]{background:var(--accent-soft)}.table th:first-child,.table td:first-child{padding-left:var(--space-5)}.table th:last-child,.table td:last-child{padding-right:var(--space-5)}.cell-title{font-weight:550}.cell-sub{color:var(--ink-3);font-size:var(--text-sm)}.empty{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-6);color:var(--ink-2);flex-direction:column;display:flex}.empty .icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);margin-bottom:var(--space-2);border-radius:12px;place-items:center;display:grid}.empty .icon svg{width:20px;height:20px}.empty h3{color:var(--ink);font-size:var(--text-lg)}.empty p{max-width:46ch;color:var(--ink-3)}.empty .actions{margin-top:var(--space-3);justify-content:center}.skeleton{background:linear-gradient(90deg, var(--surface-sunken), var(--surface-hover), var(--surface-sunken));background-size:200% 100%;border-radius:6px;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);display:flex}.banner svg{flex:none;width:18px;height:18px;margin-top:2px}.banner.info{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.banner.warning{background:var(--warning-soft);color:var(--warning);border-color:#0000}.banner.critical{background:var(--critical-soft);color:var(--critical);border-color:#0000}.banner .text{color:var(--ink);flex:1;min-width:0}.banner .text strong{display:block}.freshness{align-items:center;gap:var(--space-4);color:var(--ink-3);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.freshness span{align-items:center;gap:6px;display:inline-flex}.freshness .dot{border-radius:50%;width:7px;height:7px}.overlay{z-index:60;animation:fade .15s var(--ease);background:#0a0c1252;position:fixed;inset:0}.drawer{z-index:61;background:var(--surface);border-left:1px solid var(--border);width:min(560px,100vw);box-shadow:var(--shadow-pop);animation:slide .2s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-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);display:flex}.drawer-body{padding:var(--space-5);gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer-foot{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);justify-content:flex-end;gap:var(--space-2);display:flex}.modal{z-index:61;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);width:min(520px,100vw - 32px);box-shadow:var(--shadow-pop);animation:pop .16s var(--ease);position:fixed;top:12vh;left:50%;transform:translate(-50%)}.modal .drawer-body{max-height:70vh}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:0;transform:translate(24px)}}@keyframes pop{0%{opacity:0;transform:translate(-50%,8px)}}dl.kv{gap:10px var(--space-5);grid-template-columns:minmax(110px,max-content) minmax(0,1fr);margin:0;display:grid}dl.kv dt{color:var(--ink-3)}dl.kv dd{overflow-wrap:anywhere;margin:0}pre.code{padding:var(--space-4);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius);max-height:460px;font-size:var(--text-sm);margin:0;line-height:1.55;overflow:auto}.copy-field{align-items:center;gap:6px;display:flex}.copy-field code{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-sm);flex:1;padding:7px 10px;overflow:hidden}.section-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600}.divider{border:0;border-top:1px solid var(--border);margin:0}.steps{counter-reset:step;flex-direction:column;gap:0;display:flex}.step{gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--border);grid-template-columns:28px minmax(0,1fr);display:grid}.step:first-child{border-top:0}.step-mark{border:1px solid var(--border-strong);width:26px;height:26px;color:var(--ink-3);font:600 var(--text-xs) var(--font-mono);border-radius:50%;place-items:center;display:grid}.step-mark.done{background:var(--good);border-color:var(--good);color:#fff}.step-mark svg{width:14px;height:14px}.step h3{margin-bottom:2px}.step .body{gap:var(--space-3);flex-direction:column;display:flex}.toasts{z-index:80;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--ink-inverse);box-shadow:var(--shadow-pop);animation:pop-up .18s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-weight:500;display:flex}.toast.error{background:var(--critical);color:#fff}@keyframes pop-up{0%{opacity:0;transform:translateY(8px)}}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100%;display:grid}.auth-side{padding:var(--space-10);background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;justify-content:space-between;display:flex}.auth-side .pitch{max-width:30ch;font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:600;line-height:1.25}.auth-side .pitch span{color:var(--ink-3)}.auth-main{padding:var(--space-8) var(--space-4);place-items:center;display:grid}.auth-card{gap:var(--space-5);flex-direction:column;width:min(380px,100%);display:flex}.auth-card .btn{height:38px}@media (width<=860px){.auth{grid-template-columns:minmax(0,1fr)}.auth-side{display:none}}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart text{fill:var(--axis);font:11px var(--font-sans);font-variant-numeric:tabular-nums}.chart .grid-line{stroke:var(--grid);stroke-width:1px}.chart .baseline,.chart .crosshair{stroke:var(--border-strong);stroke-width:1px}.chart-tooltip{z-index:5;pointer-events:none;background:var(--surface);border:1px solid var(--border);min-width:160px;box-shadow:var(--shadow-pop);font-size:var(--text-sm);border-radius:8px;padding:8px 10px;position:absolute}.chart-tooltip .t-head{color:var(--ink-3);font-size:var(--text-xs);margin-bottom:4px}.chart-tooltip .t-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.chart-tooltip .t-row span:first-child{color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.chart-tooltip .t-row b{font-variant-numeric:tabular-nums;font-weight:600}.chart-note{color:var(--ink-3);font-size:var(--text-xs);margin-top:var(--space-2)}.swatch{border-radius:3px;flex:none;width:9px;height:9px}.legend{gap:var(--space-4);color:var(--ink-2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.spark{width:96px;height:32px;display:block}input[type=range]{width:100%;accent-color:var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
