@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.p.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_b6b43369-module__HeuLya__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_b6b43369-module__HeuLya__variable{--font-body:"Inter", "Inter Fallback"}
@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2039e8342bda6056-s.0h2amv7e1wlhq.woff2)format("woff2");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:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fabcf92ba1ccea36-s.p.0lwj123ije5i..woff2)format("woff2");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:Bebas Neue Fallback;src:local(Arial);ascent-override:117.32%;descent-override:39.11%;line-gap-override:0.0%;size-adjust:76.72%}.bebas_neue_fa2f55a4-module__ybswVW__className{font-family:Bebas Neue,Bebas Neue Fallback;font-style:normal;font-weight:400}.bebas_neue_fa2f55a4-module__ybswVW__variable{--font-display:"Bebas Neue", "Bebas Neue Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2)format("woff2");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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_dc177b0e-module__78ed6G__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_dc177b0e-module__78ed6G__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--stm-teal:#30c0c0;--stm-teal-deep:teal;--stm-teal-ink:#004d4d;--stm-teal-mist:#c7ecec;--stm-orange:#f06030;--stm-orange-deep:#e04020;--stm-orange-cream:#fde4d2;--stm-ink:#0f1a1e;--stm-charcoal:#1f2a2f;--stm-graphite:#3a4750;--stm-slate:#6b7a82;--stm-mist:#c9d1d4;--stm-fog:#e8ecee;--stm-paper:#f6f4ef;--stm-white:#fff;--font-display:"Bebas Neue","Oswald","Impact",system-ui,sans-serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:48px;--r-xs:3px;--r-sm:5px;--r-md:8px;--r-lg:12px;--r-pill:999px;--bg-app:#f4f3ee;--bg-surface:#fff;--bg-surface-2:#fafaf7;--bg-hover:#f0efe9;--bg-active:#e9e8e1;--bg-overlay:#0f1a1e52;--bg-topbar:#fff;--bg-sidebar:#fbfaf6;--bg-input:#fff;--bg-chip:#fff;--bg-skeleton:#ece9e0;--fg-1:#0f1a1e;--fg-2:#3a4750;--fg-3:#6b7a82;--fg-on-accent:#fff;--fg-disabled:#a8b2b8;--border:#0f1a1e1a;--border-strong:#0f1a1e2e;--border-input:#0f1a1e29;--border-focus:var(--stm-teal-deep);--accent:var(--stm-orange);--accent-2:var(--stm-teal);--accent-fg:#fff;--link:var(--stm-teal-deep);--ok-bg:#e1f3e8;--ok-fg:#166534;--ok-dot:#22a45c;--warn-bg:#fcefd6;--warn-fg:#92560a;--warn-dot:#e0a014;--err-bg:#fbe2dc;--err-fg:#a32414;--err-dot:#d83a1a;--info-bg:#d9ecf6;--info-fg:#0b4a6b;--info-dot:#0e7fb8;--neutral-bg:#ececec;--neutral-fg:#5a6066;--neutral-dot:#9aa3a8;--stage-grey-bg:#ececec;--stage-grey-fg:#6b7178;--stage-blue-bg:#d6e7f7;--stage-blue-fg:#1c4f86;--stage-teal-bg:#cdeeee;--stage-teal-fg:#0a5c5c;--stage-green-bg:#d3edda;--stage-green-fg:#1c6b34;--stage-dgreen-bg:#b6dcc1;--stage-dgreen-fg:#0e4e22;--sh-1:0 1px 2px #0f1a1e0f;--sh-2:0 2px 4px #0f1a1e0f, 0 1px 2px #0f1a1e0a;--sh-pop:0 12px 32px #0f1a1e29, 0 2px 6px #0f1a1e14;--sh-panel:-12px 0 32px #0f1a1e1a;--topbar-h:56px;--sidebar-w:240px;--sidebar-w-collapsed:56px;--row-h:40px;--row-h-comfortable:48px;--dur-fast:.16s;--dur-med:.24s;--ease-out:cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--bg-app:#0b1416;--bg-surface:#131e22;--bg-surface-2:#182428;--bg-hover:#1d2a2f;--bg-active:#243237;--bg-overlay:#0000008c;--bg-topbar:#0f191c;--bg-sidebar:#0d1619;--bg-input:#182428;--bg-chip:#182428;--bg-skeleton:#1d2a2f;--fg-1:#e8ecee;--fg-2:#b9c4c9;--fg-3:#7e8b91;--fg-on-accent:#fff;--fg-disabled:#4a5358;--border:#ffffff14;--border-strong:#ffffff29;--border-input:#ffffff24;--border-focus:var(--stm-teal);--link:var(--stm-teal);--ok-bg:#22a45c2e;--ok-fg:#6fdca0;--ok-dot:#22a45c;--warn-bg:#e0a0142e;--warn-fg:#fc6;--warn-dot:#e0a014;--err-bg:#d83a1a33;--err-fg:#ff8a72;--err-dot:tomato;--info-bg:#0e7fb833;--info-fg:#6cc3ec;--info-dot:#0e7fb8;--neutral-bg:#ffffff14;--neutral-fg:#9aa3a8;--neutral-dot:#7c8a8f;--stage-grey-bg:#ffffff12;--stage-grey-fg:#9aa3a8;--stage-blue-bg:#1c4f8652;--stage-blue-fg:#86bdf0;--stage-teal-bg:#0a5c5c6b;--stage-teal-fg:#7fd6d6;--stage-green-bg:#1c6b3452;--stage-green-fg:#7fd99c;--stage-dgreen-bg:#0e4e228c;--stage-dgreen-fg:#9adfaf;--sh-1:0 1px 0 #0006;--sh-2:0 2px 6px #00000080;--sh-pop:0 18px 40px #0009, 0 2px 6px #0006;--sh-panel:-12px 0 32px #00000080}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--fg-1);background:var(--bg-app);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;font-size:13px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg-app);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--fg-3)}.t-display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;font-weight:400}.t-mono{font-family:var(--font-mono)}.t-num{font-variant-numeric:tabular-nums}.t-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--fg-3);font-size:11px;font-weight:600}.t-muted{color:var(--fg-3)}.t-2{color:var(--fg-2)}.app{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;background:var(--bg-app);grid-template-areas:"topbar topbar""sidebar main";min-height:100vh;display:grid}.app[data-sidebar=collapsed]{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.topbar{background:var(--bg-topbar);border-bottom:1px solid var(--border);align-items:center;gap:var(--s-4);padding:0 var(--s-5);z-index:30;height:var(--topbar-h);grid-area:topbar;display:flex;position:sticky;top:0}.topbar-logo{align-items:center;gap:0;display:flex}.topbar-logo img{height:28px;display:block}.topbar-search{flex:1;max-width:480px;position:relative}.topbar-search input{border-radius:var(--r-sm);border:1px solid var(--border-input);background:var(--bg-input);width:100%;height:32px;padding:0 var(--s-3) 0 30px;font-size:13px}.topbar-search input:focus{outline:2px solid var(--border-focus);outline-offset:-2px}.topbar-search .icon{color:var(--fg-3);pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.topbar-search .kbd{position:absolute;top:50%;right:8px;transform:translateY(-50%)}.topbar-actions{align-items:center;gap:var(--s-2);margin-left:auto;display:flex}.env-chip{letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-sm);align-items:center;gap:6px;height:24px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.env-chip.prod{color:var(--err-fg);background:#d83a1a1f}.env-chip.staging{background:var(--warn-bg);color:var(--warn-fg)}.env-chip.dev{background:var(--info-bg);color:var(--info-fg)}.env-chip:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.icon-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--fg-2);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--bg-hover);color:var(--fg-1)}.icon-btn.active{background:var(--bg-active);color:var(--fg-1)}.avatar{background:var(--stm-teal-deep);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:inline-flex}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);padding:var(--s-3) var(--s-2);top:var(--topbar-h);height:calc(100vh - var(--topbar-h));flex-direction:column;grid-area:sidebar;display:flex;position:sticky;overflow-y:auto}.sidebar-section{padding:var(--s-2) var(--s-2) var(--s-1)}.sidebar-divider{background:var(--border);height:1px;margin:var(--s-2) var(--s-2)}.nav-item{border-radius:var(--r-sm);height:30px;color:var(--fg-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:0 10px;font-size:13px;display:flex;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--fg-1)}.nav-item.active{background:var(--bg-active);color:var(--fg-1);font-weight:600}.nav-item.active:before{content:"";background:var(--accent);border-radius:2px;width:3px;position:absolute;top:6px;bottom:6px;left:-2px}.nav-item.disabled{color:var(--fg-disabled);cursor:not-allowed}.nav-item.disabled:hover{color:var(--fg-disabled);background:0 0}.nav-item .soon{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-disabled);margin-left:auto;font-size:10px}.nav-item .nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.nav-children{flex-direction:column;gap:1px;margin-left:24px;display:flex}.nav-child{border-radius:var(--r-sm);height:26px;color:var(--fg-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;width:100%;padding:0 10px;font-size:12px;display:flex}.nav-child:hover{background:var(--bg-hover);color:var(--fg-1)}.nav-child.active{color:var(--accent);font-weight:600}.app[data-sidebar=collapsed] .nav-item span:not(.nav-icon),.app[data-sidebar=collapsed] .nav-children,.app[data-sidebar=collapsed] .nav-item .soon,.app[data-sidebar=collapsed] .sidebar-section-label{display:none}.app[data-sidebar=collapsed] .nav-item{justify-content:center;padding:0}.main{grid-area:main;min-width:0;overflow-x:hidden}.page{padding:var(--s-5) var(--s-6);gap:var(--s-5);flex-direction:column;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--s-4);display:flex}.page-title{font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;margin:0;font-size:32px;line-height:1}.page-subtitle{color:var(--fg-3);margin-top:4px;font-size:13px}.crumb{color:var(--fg-3);font-size:12px}.crumb-sep{color:var(--fg-disabled);padding:0 6px}.btn{border-radius:var(--r-sm);border:1px solid var(--border-input);background:var(--bg-surface);height:30px;color:var(--fg-1);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn:active{background:var(--bg-active)}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-primary:hover{background:var(--stm-orange-deep);border-color:var(--stm-orange-deep)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-hover)}.btn-sm{height:24px;padding:0 8px;font-size:11px}.btn-lg{height:36px;padding:0 14px;font-size:13px}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-danger{color:var(--err-fg);border-color:var(--border-input)}.btn-danger:hover{background:var(--err-bg);border-color:var(--err-fg)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.card-header{padding:var(--s-3) var(--s-4);align-items:center;gap:var(--s-3);border-bottom:1px solid var(--border);display:flex}.card-title{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:16px}.card-body{padding:var(--s-4)}.card-body.flush{padding:0}.pill{border-radius:var(--r-pill);background:var(--neutral-bg);height:20px;color:var(--neutral-fg);white-space:nowrap;letter-spacing:.01em;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.pill .num{font-family:var(--font-mono);font-weight:600}.pill.compact{height:18px;padding:0 6px;font-size:10px}.stage-0,.stage-1,.stage-2{background:var(--stage-grey-bg);color:var(--stage-grey-fg)}.stage-3{background:var(--stage-blue-bg);color:var(--stage-blue-fg)}.stage-4{background:var(--stage-teal-bg);color:var(--stage-teal-fg)}.stage-5{background:var(--stage-green-bg);color:var(--stage-green-fg)}.stage-6,.stage-7{background:var(--stage-dgreen-bg);color:var(--stage-dgreen-fg)}.lic-pd,.lic-cc0{background:var(--ok-bg);color:var(--ok-fg)}.lic-cc{background:var(--neutral-bg);color:var(--neutral-fg)}.lic-restricted{background:var(--err-bg);color:var(--err-fg)}.gate-pass{background:var(--ok-bg);color:var(--ok-fg)}.gate-fail{background:var(--err-bg);color:var(--err-fg)}.method-label{background:var(--ok-bg);color:var(--ok-fg)}.method-image_vector{background:var(--stage-teal-bg);color:var(--stage-teal-fg)}.method-llm_vision{background:var(--warn-bg);color:var(--warn-fg)}.method-not_found{background:var(--err-bg);color:var(--err-fg)}.embed-florence{background:var(--ok-bg);color:var(--ok-fg)}.embed-openai{background:var(--warn-bg);color:var(--warn-fg)}.embed-missing{background:var(--err-bg);color:var(--err-fg)}.dot{background:var(--neutral-dot);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dot.ok{background:var(--ok-dot)}.dot.warn{background:var(--warn-dot);box-shadow:0 0 0 3px #e0a0142e}.dot.err{background:var(--err-dot);animation:1.8s ease-in-out infinite pulse;box-shadow:0 0 0 3px #d83a1a2e}.dot.muted{background:var(--neutral-dot)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.lang-row{align-items:center;gap:3px;display:inline-flex}.lang-chip{letter-spacing:.04em;border:1px solid var(--border-strong);width:22px;height:18px;color:var(--fg-3);font-size:9px;font-weight:700;font-family:var(--font-body);background:0 0;border-radius:3px;justify-content:center;align-items:center;display:inline-flex}.lang-chip.on{background:var(--stm-teal-deep);color:#fff;border-color:var(--stm-teal-deep)}[data-theme=dark] .lang-chip.on{background:var(--stm-teal);color:var(--stm-ink);border-color:var(--stm-teal)}.confbar{align-items:center;gap:8px;width:100%;min-width:90px;display:inline-flex}.confbar-track{background:var(--bg-active);border-radius:4px;flex:1;height:6px;overflow:hidden}.confbar-fill{background:var(--stm-teal-deep);border-radius:4px;height:100%}[data-theme=dark] .confbar-fill{background:var(--stm-teal)}.confbar-fill.low{background:var(--err-dot)}.confbar-fill.mid{background:var(--warn-dot)}.confbar-num{font-family:var(--font-mono);text-align:right;width:32px;color:var(--fg-2);font-size:11px;font-weight:500}.table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:12px}.table th{text-align:left;color:var(--fg-3);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:1;white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:600;position:sticky;top:0}.table td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--fg-1);text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;overflow:hidden}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--bg-hover)}.table tr.selected td{background:var(--bg-active)}.table tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.table tr.row-alt td{background:var(--bg-surface-2)}.table tr.clickable.row-alt:hover td{background:var(--bg-hover)}.table .num{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.table .right{text-align:right}.table .ct{text-align:center}.table-comfortable td{padding:12px 10px}.thumb{border-radius:var(--r-sm);background:var(--bg-skeleton);flex-shrink:0;width:40px;height:40px;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb-sm{width:28px;height:28px}.thumb-lg{width:56px;height:56px}.toolbar{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.filter-group{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:4px;padding:2px;display:flex}.filter-chip{height:22px;color:var(--fg-2);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:500;display:inline-flex}.filter-chip:hover{background:var(--bg-hover);color:var(--fg-1)}.filter-chip.on{background:var(--bg-surface);color:var(--fg-1);box-shadow:var(--sh-1);border:1px solid var(--border);font-weight:600}.filter-chip[disabled]{opacity:.4;cursor:not-allowed}.filter-label{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);padding-right:4px;font-size:11px;font-weight:600}.input{height:30px;padding:0 var(--s-3);border-radius:var(--r-sm);border:1px solid var(--border-input);background:var(--bg-input);color:var(--fg-1);font-size:12px}.input:focus{outline:2px solid var(--border-focus);outline-offset:-2px}.input[type=search]{width:220px}.kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);color:var(--fg-3);background:var(--bg-surface);border-bottom-width:2px;border-radius:3px;justify-content:center;align-items:center;padding:1px 5px;font-size:10px;line-height:1.2;display:inline-flex}.cb{border:1px solid var(--border-strong);background:var(--bg-surface);cursor:pointer;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;margin:0;display:inline-flex}.cb.on{background:var(--accent);border-color:var(--accent);color:#fff}.toggle{background:var(--border-strong);cursor:pointer;width:28px;height:16px;transition:background var(--dur-fast) var(--ease-out);border:none;border-radius:999px;flex-shrink:0;padding:0;position:relative}.toggle:after{content:"";width:12px;height:12px;transition:left var(--dur-fast) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.toggle.on{background:var(--stm-teal-deep)}[data-theme=dark] .toggle.on{background:var(--stm-teal)}.toggle.on:after{left:14px}.kpi{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4);flex-direction:column;gap:4px;min-width:0;display:flex}.kpi-label{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);font-size:11px;font-weight:600}.kpi-value{font-family:var(--font-display);letter-spacing:.01em;color:var(--fg-1);align-items:baseline;gap:8px;font-size:44px;line-height:1;display:flex}.kpi-value.err{color:var(--err-fg)}.kpi-value .unit{color:var(--fg-3);font-size:18px}.kpi-foot{justify-content:space-between;align-items:center;display:flex}.kpi-spark{width:100%;height:32px}.section-h{text-transform:uppercase;letter-spacing:.1em;color:var(--fg-3);margin:0 0 var(--s-2);align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.section-h:after{content:"";background:var(--border);flex:1;height:1px}.panel-overlay{background:var(--bg-overlay);opacity:0;pointer-events:none;transition:opacity var(--dur-med) var(--ease-out);z-index:40;position:fixed;inset:0}.panel-overlay.open{opacity:1;pointer-events:auto}.slide-panel{background:var(--bg-surface);width:640px;box-shadow:var(--sh-panel);transition:transform var(--dur-med) var(--ease-out);z-index:50;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.slide-panel.open{transform:translate(0)}.slide-panel.wide{width:720px}.slide-panel-header{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);align-items:center;gap:var(--s-3);flex-shrink:0;display:flex}.slide-panel-body{flex:1;overflow-y:auto}.slide-panel-section{padding:var(--s-4);border-bottom:1px solid var(--border)}.slide-panel-section:last-child{border-bottom:none}.slide-panel-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--fg-3);margin:0 0 var(--s-3);font-size:11px;font-weight:700}.bulk-bar{left:50%;bottom:var(--s-5);background:var(--stm-ink);color:#fff;box-shadow:var(--sh-pop);z-index:35;transition:transform var(--dur-med) var(--ease-out);border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex;position:fixed;transform:translate(-50%)translateY(100px)}.bulk-bar.open{transform:translate(-50%)translateY(0)}.bulk-bar .count{font-family:var(--font-display);letter-spacing:.02em;border-right:1px solid #ffffff29;padding-right:12px;font-size:20px}[data-theme=dark] .bulk-bar{background:var(--stm-teal-ink)}.flex{display:flex}.row{align-items:center;gap:var(--s-3);display:flex}.col{gap:var(--s-3);flex-direction:column;display:flex}.gap-1{gap:var(--s-1)}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.between{justify-content:space-between;align-items:center;display:flex}.grow{flex:1;min-width:0}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hidden{display:none!important}.skeleton{background:var(--bg-skeleton);border-radius:4px;animation:1.8s ease-in-out infinite pulse}.signin{background:var(--bg-app);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.signin:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 30%,#30c0c014,#0000 40%),radial-gradient(circle at 80% 70%,#f0603012,#0000 40%);position:absolute;inset:0}.signin-card{width:380px;padding:var(--s-8) var(--s-7);align-items:center;gap:var(--s-4);z-index:1;flex-direction:column;display:flex;position:relative}.signin-logo{width:96px;height:96px}.signin-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;text-align:center;margin:0;font-size:36px}.signin-title .accent{color:var(--accent)}.signin-foot{bottom:var(--s-5);color:var(--fg-3);gap:var(--s-3);font-size:11px;font-family:var(--font-mono);align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.signin-foot .sep{background:var(--fg-disabled);border-radius:50%;width:3px;height:3px}.msft-btn{width:100%;height:44px;padding:0 var(--s-4);background:var(--stm-ink);color:#fff;border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);border:none;justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex}.msft-btn:hover{background:var(--stm-charcoal)}.promoter{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--r-md);align-items:stretch;gap:0;display:flex;overflow:hidden}.promoter-step{border-right:1px solid var(--border);flex-direction:column;flex:1;min-width:0;padding:10px 12px;display:flex;position:relative}.promoter-step:last-child{border-right:none}.promoter-step .step-n{font-family:var(--font-display);letter-spacing:.02em;color:var(--fg-3);font-size:18px}.promoter-step .step-name{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);font-size:10px;font-weight:600}.promoter-step.done{background:var(--stage-green-bg)}.promoter-step.done .step-n,.promoter-step.done .step-name{color:var(--stage-green-fg)}.promoter-step.current{background:var(--accent);color:var(--accent-fg)}.promoter-step.current .step-n,.promoter-step.current .step-name{color:var(--accent-fg)}.promoter-step.next .step-n,.promoter-step.next .step-name{color:var(--fg-1)}.promoter-step.next button{margin-top:4px}.promoter-step .auto-note{color:var(--fg-3);margin-top:4px;font-size:10px;font-style:italic}.empty{justify-content:center;align-items:center;gap:var(--s-3);text-align:center;min-height:360px;padding:var(--s-8);color:var(--fg-3);flex-direction:column;display:flex}.empty .empty-icon{border-radius:var(--r-md);background:var(--bg-surface-2);width:56px;height:56px;color:var(--fg-3);justify-content:center;align-items:center;display:inline-flex}.empty .empty-title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);font-size:22px}.empty .empty-body{max-width:380px;font-size:13px}.stacked{background:var(--bg-surface-2);border-radius:4px;height:16px;display:flex;overflow:hidden}.stacked-seg{height:100%;position:relative}.stacked-legend{flex-wrap:wrap;gap:10px 14px;margin-top:8px;font-size:10px;display:flex}.stacked-legend .key{color:var(--fg-3);align-items:center;gap:4px;display:inline-flex}.stacked-legend .key .sw{border-radius:2px;width:8px;height:8px}.scan-tile{aspect-ratio:1;border-radius:var(--r-sm);background:var(--bg-skeleton);cursor:pointer;position:relative;overflow:hidden}.scan-tile img{object-fit:cover;width:100%;height:100%}.scan-tile .meta-tl,.scan-tile .meta-bl{color:#fff;font-size:10px;font-weight:600;font-family:var(--font-mono);background:#000000a6;border-radius:3px;padding:2px 6px;position:absolute}.scan-tile .meta-tl{top:6px;right:6px}.scan-tile .meta-bl{padding:1px 5px;font-size:9px;bottom:6px;left:6px}.timeline{flex-direction:column;gap:0;display:flex}.timeline-row{gap:var(--s-3);border-bottom:1px dashed var(--border);grid-template-columns:120px 1fr;padding:8px 0;font-size:12px;display:grid}.timeline-row:last-child{border-bottom:none}.timeline-row .time{color:var(--fg-3);font-family:var(--font-mono);font-size:11px}.timeline-row .what .who{color:var(--fg-3);margin-right:6px}.donut{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:92px;height:92px;display:inline-flex;position:relative}.donut:after{content:"";background:var(--bg-surface);border-radius:50%;position:absolute;inset:22%}.donut .donut-num{z-index:1;font-family:var(--font-display);font-size:22px;line-height:1;position:relative}.donut .donut-lbl{z-index:1;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);margin-top:2px;font-size:9px;position:relative}.review-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);width:720px;max-width:100%;padding:var(--s-7);gap:var(--s-5);box-shadow:var(--sh-1);flex-direction:column;display:flex}[dir=rtl]{direction:rtl}.hr{background:var(--border);border:none;height:1px;margin:0}.tip-host{position:relative}.tip-host .tip{background:var(--stm-ink);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out);z-index:60;border-radius:4px;padding:6px 10px;font-size:11px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tip-host:hover .tip{opacity:1}[data-theme=dark] .tip-host .tip{background:var(--stm-mist);color:var(--stm-ink)}.spark{width:100%;height:28px}.spark path{fill:none;stroke:var(--accent-2);stroke-width:1.5px}.spark .area{fill:var(--accent-2);opacity:.12;stroke:none}.mini-bars{align-items:flex-end;gap:2px;height:28px;display:flex}.mini-bars .bar{background:var(--accent-2);border-radius:2px 2px 0 0;width:5px}.toast-host{right:var(--s-5);bottom:var(--s-5);z-index:100;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed}.toast{background:var(--stm-ink);color:#fff;border-radius:var(--r-sm);box-shadow:var(--sh-pop);animation:toast-in .24s var(--ease-out);pointer-events:auto;max-width:360px;padding:10px 14px;font-size:12px}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .toast{background:var(--stm-teal-ink);border:1px solid var(--border-strong)}
