:root{--primary:#17375e;--primary-hover:#10294a;--primary-ink:#fff;--primary-tint:#e9eff6;--primary-tint-2:#d5e0ec;--attention:#c2560f;--attention-solid:#e8701f;--attention-tint:#fcefe5;--c1:#9db5d3;--c2:#6688b4;--c3:#3a6091;--c4:#17375e;--accent:#e8701f;--track:#a7afb9;--track-soft:#e7ebef;--fg:#1d2733;--fg-2:#66717e;--fg-3:#8d97a2;--bg:#fff;--surface:#f8f9fb;--surface-hover:#f1f3f6;--panel:#fff;--border:#e3e6ea;--border-strong:#d3d8de;--field:#fff;--sidebar:#f7f8fa;--hero:#f3f6f9;--ring:#17375e2e;--elev:0 1px 2px #1018280a, 0 12px 32px -12px #1018281a;--radius-lg:20px;--radius:14px;--radius-sm:10px;--sans:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--primary:#8db3e2;--primary-hover:#a9c6ea;--primary-ink:#0b1522;--primary-tint:#15263b;--primary-tint-2:#1d3450;--attention:#f2a065;--attention-solid:#e8701f;--attention-tint:#2b1d12;--c1:#2f5687;--c2:#4f7fb9;--c3:#86acdb;--c4:#c3d7ef;--accent:#ec7f33;--track:#5d6773;--track-soft:#1a2330;--fg:#e6eaf0;--fg-2:#a2acb8;--fg-3:#7d8895;--bg:#0c1118;--surface:#111823;--surface-hover:#17202d;--panel:#0f151e;--border:#1f2935;--border-strong:#2b3644;--field:#0c1118;--sidebar:#0e141c;--hero:#101822;--ring:#8db3e240;--elev:0 1px 2px #0006, 0 12px 32px -12px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--primary:#8db3e2;--primary-hover:#a9c6ea;--primary-ink:#0b1522;--primary-tint:#15263b;--primary-tint-2:#1d3450;--attention:#f2a065;--attention-solid:#e8701f;--attention-tint:#2b1d12;--c1:#2f5687;--c2:#4f7fb9;--c3:#86acdb;--c4:#c3d7ef;--accent:#ec7f33;--track:#5d6773;--track-soft:#1a2330;--fg:#e6eaf0;--fg-2:#a2acb8;--fg-3:#7d8895;--bg:#0c1118;--surface:#111823;--surface-hover:#17202d;--panel:#0f151e;--border:#1f2935;--border-strong:#2b3644;--field:#0c1118;--sidebar:#0e141c;--hero:#101822;--ring:#8db3e240;--elev:0 1px 2px #0006, 0 12px 32px -12px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--ink:var(--fg);--muted:var(--fg-2);--line:var(--border);--brand:var(--primary)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}h1,h2,h3{color:var(--fg);margin:0;font-weight:550}h1{letter-spacing:-.7px;font-size:28px;line-height:1.2}h2{letter-spacing:-.2px;font-size:15px}h3{font-size:14px}code,.mono{font-family:var(--mono)}code{font-size:12px}svg.i{flex:none;width:17px;height:17px}::selection{background:var(--primary-tint-2)}.eyebrow,.label{font-family:var(--mono);letter-spacing:.55px;text-transform:uppercase;color:var(--fg-3);font-size:11px;font-weight:600}.pill{background:var(--primary-tint);color:var(--primary);border:1px solid var(--primary-tint-2);font-family:var(--mono);letter-spacing:.5px;text-transform:uppercase;border-radius:999px;align-items:center;gap:7px;padding:4px 11px;font-size:11px;font-weight:600;display:inline-flex}.pill:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.side{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;gap:2px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.logo{color:var(--fg);align-items:center;gap:10px;padding:4px 8px 22px;display:flex}.logo .wm{letter-spacing:-.5px;font-size:17px;font-weight:650;line-height:1}.logo .wm i{color:var(--attention-solid);font-style:normal}.logo small{font-family:var(--mono);letter-spacing:.5px;text-transform:uppercase;color:var(--fg-3);margin-top:4px;font-size:10px;display:block}.logo-mark{background:var(--primary);width:34px;height:34px;color:var(--primary-ink);border-radius:10px;flex:none;place-items:center;font-size:16px;font-weight:700;display:grid}.nav-h{padding:14px 10px 6px}.nav{color:var(--fg-2);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;font-weight:500;display:flex}.nav:hover{background:var(--surface-hover);color:var(--fg)}.nav.active{background:var(--primary-tint);color:var(--primary);font-weight:600}.side-foot{border-top:1px solid var(--border);margin-top:auto;padding:14px 6px 0;font-size:12px}.side-foot b{color:var(--fg);font-size:13px;font-weight:600;display:block}.main{min-width:0;padding:0 36px 64px}.appbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;align-items:center;gap:10px;height:60px;margin:0 -36px 28px;padding:0 36px;display:flex;position:sticky;top:0}.crumb{font-family:var(--mono);letter-spacing:.55px;text-transform:uppercase;color:var(--fg-3);font-size:11px}.crumb b{color:var(--fg-2);font-weight:600}.icon-btn{cursor:pointer;border:1px solid var(--border);background:var(--panel);width:34px;height:34px;color:var(--fg-2);border-radius:10px;place-items:center;display:grid;position:relative}.icon-btn:hover{color:var(--fg);background:var(--surface-hover)}.avatar{color:#2b3746;border:1px solid var(--border);background:linear-gradient(145deg,#eef1f4,#cfd5dc);border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:650;display:grid}.live{font-family:var(--mono);letter-spacing:.5px;color:var(--fg-3);text-transform:uppercase;align-items:center;gap:6px;font-size:11px;display:inline-flex}.live:before{content:"";background:var(--attention-solid);width:7px;height:7px;box-shadow:0 0 0 3px var(--attention-tint);border-radius:50%}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.topbar .eyebrow{margin-bottom:8px;display:block}.topbar p{color:var(--fg-2);max-width:640px;margin:6px 0 0;font-size:14.5px}.mobile-bar{display:none}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.card+.card{margin-top:16px}.grid>.card+.card,.stack>.card+.card{margin-top:0}.card-h{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.card-h .sub{color:var(--fg-3);font-size:12px}.grid{gap:14px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.stack{flex-direction:column;gap:14px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.mt{margin-top:16px}.muted{color:var(--fg-2)}.small{font-size:12px}.attn{color:var(--attention)}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:6px;min-height:104px;padding:16px 18px;transition:border-color .2s,transform .2s;display:flex;position:relative}.tile:hover{border-color:var(--border-strong)}.tile .ic{background:var(--primary-tint);width:34px;height:34px;color:var(--primary);border-radius:11px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.tile .ic svg.i{width:18px;height:18px}.tile.t-orange .ic,.tile.t-red .ic{background:var(--attention-tint);color:var(--attention)}.tile.t-metal .ic{background:var(--surface-hover);color:var(--fg-2)}.tile .k{color:var(--fg-2);order:-1;padding-right:40px;font-size:13px}.tile .v{font-family:var(--mono);letter-spacing:-.8px;color:var(--fg);font-size:26px;font-weight:700;line-height:1.15}.tile .s{font-family:var(--mono);color:var(--fg-3);font-size:11.5px}.tile.t-orange .s,.tile.t-red .s,.tile.t-yellow .s,.tile.t-orange .v,.tile.t-red .v{color:var(--attention)}.flow{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.stage{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;min-height:112px;font:inherit;color:var(--fg);flex-direction:column;gap:3px;padding:14px;display:flex;position:relative}button.stage{cursor:pointer}button.stage:hover{border-color:var(--border-strong);background:var(--surface-hover)}button.stage[aria-pressed=true]{border-color:var(--primary);background:var(--primary-tint);box-shadow:0 0 0 3px var(--ring)}button.stage.off{opacity:.55}.stage svg{display:none}.stage .n{font-family:var(--mono);color:var(--fg-3);font-size:11px;font-weight:600}.stage .nm{font-size:13.5px;font-weight:550}.stage .cnt{font-family:var(--mono);letter-spacing:-.6px;margin-top:auto;font-size:22px;font-weight:700}.stage .cnt small{color:var(--fg-3);letter-spacing:.3px;margin-left:4px;font-size:11px;font-weight:600}.stage .meter{background:var(--border);border-radius:9px;height:4px;margin-top:6px;overflow:hidden}.stage .meter i{background:var(--primary);border-radius:9px;height:100%;display:block}.stage.hot .cnt{color:var(--attention)}.stage.hot .meter i{background:var(--attention-solid)}.stepper{align-items:flex-start;display:flex}.step{flex-direction:column;flex:1;align-items:center;gap:7px;min-width:0;display:flex;position:relative}.step:before{content:"";background:var(--border);height:2px;position:absolute;top:13px;left:-50%;right:50%}.step:first-child:before{display:none}.step.done:before,.step.cur:before{background:var(--primary)}.step .c{width:28px;height:28px;font-family:var(--mono);background:var(--panel);border:1.5px solid var(--border-strong);color:var(--fg-3);z-index:1;border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid;position:relative}.step.done .c{background:var(--primary-tint);border-color:var(--primary);color:var(--primary)}.step.cur .c{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);box-shadow:0 0 0 4px var(--ring)}.step .l{color:var(--fg-3);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11.5px;overflow:hidden}.step.cur .l{color:var(--fg);font-weight:600}.pipe{align-items:center;gap:3px;display:flex}.pipe .d{width:18px;height:18px;font-family:var(--mono);background:var(--surface-hover);color:var(--fg-3);border:1px solid var(--border);border-radius:50%;place-items:center;font-size:9.5px;font-weight:700;display:grid}.pipe .d.done{background:var(--primary-tint);color:var(--primary);border-color:var(--primary-tint-2)}.pipe .d.cur{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.bar{background:var(--border);border-radius:99px;min-width:64px;height:6px;overflow:hidden}.bar>i{background:var(--primary);border-radius:99px;height:100%;display:block}.mini{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.mini .k{color:var(--fg-2);font-size:12px}.mini .v{font-family:var(--mono);letter-spacing:-.4px;color:var(--fg);font-size:18px;font-weight:700}.mini.m-red .v{color:var(--attention)}.mini{flex-direction:column-reverse;justify-content:flex-end;gap:2px;display:flex}.tabs{background:var(--surface-hover);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:2px;max-width:100%;margin-bottom:18px;padding:3px;display:inline-flex}.tab{font:inherit;color:var(--fg-2);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 14px;font-size:13.5px;font-weight:500}.tab:hover{color:var(--fg)}.tab.active{background:var(--panel);color:var(--fg);font-weight:600;box-shadow:0 1px 2px #10182814}label.f{color:var(--fg);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}input,select,textarea{font:inherit;color:var(--fg);background:var(--field);border:1px solid var(--border);border-radius:999px;width:100%;padding:9px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}select{border-radius:12px}textarea{resize:vertical;border-radius:14px;min-height:80px}input::placeholder,textarea::placeholder{color:var(--fg-3)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}.btn{border:1px solid var(--border);background:var(--panel);height:38px;color:var(--fg);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:13.5px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn.primary,.btn.ok,.btn.blue{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn.primary:hover,.btn.ok:hover,.btn.blue:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn.danger{color:var(--attention)}.btn.sm{height:30px;padding:0 12px;font-size:12.5px}.btn.lg{height:46px;padding:0 22px;font-size:15px}.btn:disabled{opacity:.45;cursor:not-allowed}.link{color:var(--primary);font-size:13px;font-weight:600}.seg{border:1px solid var(--border);background:var(--surface-hover);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg button{font:inherit;cursor:pointer;color:var(--fg-2);background:0 0;border:0;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:500}.seg button.on{background:var(--panel);color:var(--fg);font-weight:600;box-shadow:0 1px 2px #1018281a}.tbl-wrap{margin:0 -4px;overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;font-family:var(--mono);text-transform:uppercase;letter-spacing:.55px;color:var(--fg-3);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px;font-size:10.5px;font-weight:600}td{border-bottom:1px solid var(--border);vertical-align:top;padding:12px 10px}tbody tr:hover td{background:var(--surface)}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-family:var(--mono);font-size:13px}td b{font-weight:600}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:550;display:inline-flex}.badge.ok,.badge.info,.badge.solid-blue{background:var(--primary-tint);color:var(--primary);border-color:var(--primary-tint-2)}.badge.warn,.badge.bad,.badge.solid-amber{background:var(--attention-tint);color:var(--attention);border-color:color-mix(in srgb, var(--attention) 22%, transparent)}.badge.solid-red{background:var(--attention-solid);color:#fff}.badge.neutral,.badge.metal,.badge.brand{background:var(--surface-hover);color:var(--fg-2);border-color:var(--border)}.alert{border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:12px;padding:10px 14px;font-size:13.5px}.alert.bad,.alert.warn{background:var(--attention-tint);color:var(--attention);border-color:color-mix(in srgb, var(--attention) 25%, transparent)}.alert.ok,.alert.info{background:var(--primary-tint);color:var(--primary);border-color:var(--primary-tint-2)}.empty{text-align:center;color:var(--fg-3);padding:34px 10px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface);border:1px solid var(--border);color:var(--fg);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.chip button{cursor:pointer;color:var(--fg-3);background:0 0;border:0;padding:0;font-size:14px;line-height:1}.item-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:16px}.kv{grid-template-columns:120px 1fr;gap:8px 12px;display:grid}.kv dt{color:var(--fg-3);font-size:12.5px}.kv dd{margin:0}.modal-bg{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#0c111866;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(680px,100%);max-height:90vh;box-shadow:var(--elev);padding:24px;overflow:auto}.op-head{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:14px;padding:18px 20px;display:flex}.op-head .t{font-family:var(--mono);letter-spacing:.55px;text-transform:uppercase;color:var(--fg-3);font-size:11px}.op-head .s{letter-spacing:-.6px;font-size:24px;font-weight:600;line-height:1.2}.op-head .ic{background:var(--primary-tint);width:44px;height:44px;color:var(--primary);border-radius:12px;place-items:center;margin-left:auto;display:grid}.op-head .ic svg{width:22px;height:22px}.wo-no{font-family:var(--mono);letter-spacing:-.4px;font-size:18px;font-weight:700}.login-wrap{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-hero{background:var(--hero);border-right:1px solid var(--border);flex-direction:column;justify-content:space-between;padding:40px 48px;display:flex}.login-hero h1{letter-spacing:-1.2px;max-width:480px;margin:18px 0 16px;font-size:40px;line-height:1.15}.login-hero p{color:var(--fg-2);max-width:440px;margin:0;font-size:15px}.checks{gap:12px;margin:24px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.checks li{align-items:center;gap:10px;display:flex}.checks li:before{content:"✓";background:var(--primary-tint);width:18px;height:18px;color:var(--primary);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.login-form{flex-direction:column;padding:32px 48px;display:flex}.login-form .box{flex-direction:column;gap:16px;width:min(380px,100%);margin:auto;display:flex}.login-form .foot{text-align:center;color:var(--fg-3);font-size:12px}@media (max-width:1200px){.flow{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1100px){.g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.shell{grid-template-columns:1fr}.side{z-index:40;height:100vh;display:none;position:fixed;inset:0}.side.open{display:flex}.mobile-bar{background:var(--bg);border-bottom:1px solid var(--border);z-index:30;align-items:center;gap:10px;padding:10px 16px;display:flex;position:sticky;top:0}.appbar{display:none}.main{padding:20px 16px 50px}h1{font-size:24px}.g2,.g3{grid-template-columns:1fr}.flow{grid-template-columns:repeat(2,minmax(0,1fr))}.login-wrap{grid-template-columns:1fr}.login-hero{border-right:0;border-bottom:1px solid var(--border);padding:24px 20px}.login-hero h1{font-size:28px}.login-form{padding:28px 20px}.kv{grid-template-columns:1fr;gap:2px 0}.kv dd{margin-bottom:6px}}@media (max-width:480px){.g4{grid-template-columns:1fr 1fr}.tile .v{font-size:22px}.step .l{font-size:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.attn{margin-bottom:18px}.attn-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.attn-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;align-items:flex-start;gap:6px;padding:16px 18px;display:flex}.attn-card b{letter-spacing:-.3px;color:var(--fg);font-size:17px;font-weight:600}.attn-card p{color:var(--fg-2);flex:1;margin:0;font-size:13.5px;line-height:1.5}.attn-tag{font-family:var(--mono);letter-spacing:.55px;text-transform:uppercase;color:var(--primary);background:var(--primary-tint);border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:600}.attn-card.urgent .attn-tag{color:var(--attention);background:var(--attention-tint)}.attn-card.urgent{border-color:color-mix(in srgb, var(--attention-solid) 35%, var(--border))}.attn-go{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0;font-size:13.5px;font-weight:600}.attn-go:hover{text-underline-offset:3px;text-decoration:underline}.attn-go:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px}.attn-clear{border:1px dashed var(--border);border-radius:var(--radius);color:var(--fg-2);align-items:center;gap:8px;margin-bottom:18px;padding:12px 16px;font-size:13.5px;display:flex}.attn-clear svg{color:var(--primary);flex:none}@media (max-width:1100px){.attn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.attn-grid{grid-template-columns:1fr}}.chart-grid>*>.chart-card{height:100%}.chart-card{flex-direction:column;gap:14px;min-width:0;display:flex}.chart-h{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.chart-h h2{letter-spacing:-.2px;margin:0;font-size:15px;font-weight:600}.chart-h p{color:var(--fg-2);margin:3px 0 0;font-size:12.5px}.chart-h .chip{cursor:pointer;font:inherit;color:var(--fg-2);font-size:11.5px}.chart-h .chip[aria-pressed=true]{color:var(--primary);border-color:var(--primary)}.chart-empty{border:1px dashed var(--border);border-radius:var(--radius);min-height:140px;color:var(--fg-3);text-align:center;place-items:center;padding:16px;font-size:13px;display:grid}.chart-table{border-collapse:collapse;width:100%;font-size:13px}.chart-table th{text-align:left;font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px;color:var(--fg-3);border-bottom:1px solid var(--border);padding:6px 8px;font-size:10.5px;font-weight:600}.chart-table td{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;padding:8px}.chart-table td+td,.chart-table th+th{text-align:right}.chart-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}@media (max-width:1100px){.span-4,.span-5,.span-7,.span-8{grid-column:span 6}}@media (max-width:820px){.chart-grid>*{grid-column:span 12!important}}.donut{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.donut svg{flex:none}.donut circle[tabindex]{cursor:pointer;outline:none}.donut-v{fill:var(--fg);letter-spacing:-.5px;font-size:26px;font-weight:600}.donut-k{font-family:var(--mono);fill:var(--fg-3);text-transform:uppercase;letter-spacing:.5px;font-size:8.5px}.legend{flex-direction:column;flex:1;gap:4px;min-width:180px;margin:0;padding:0;list-style:none;display:flex}.legend li{border-radius:8px;grid-template-columns:10px 1fr auto 38px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:grid}.legend li.on{background:var(--surface-hover)}.legend i,.cols-legend i,.split-l i{border-radius:3px;width:10px;height:10px;display:inline-block}.legend .lg-l{color:var(--fg);min-width:0}.legend .lg-l small{color:var(--fg-3);font-size:11.5px;display:block}.legend b{font-variant-numeric:tabular-nums;font-weight:600}.legend .lg-p{color:var(--fg-3);font-family:var(--mono);text-align:right;font-size:11.5px}.barlist{flex-direction:column;gap:12px;display:flex}.bl-top{justify-content:space-between;gap:10px;margin-bottom:6px;font-size:13px;display:flex}.bl-l{color:var(--fg);overflow-wrap:anywhere;min-width:0}.bl-l small{color:var(--fg-3);margin-left:6px;font-size:11.5px}.bl-top b{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.bl-track{background:var(--track-soft);border-radius:999px;height:8px;position:relative}.bl-fill{border-radius:999px;transition:width .4s;position:absolute;inset:0 auto 0 0}.bl-mark{background:var(--fg-2);border-radius:2px;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.cols{flex-direction:column;gap:8px;display:flex}.cols-legend{color:var(--fg-2);gap:14px;font-size:12.5px;display:flex}.cols-legend span,.split-l span{align-items:center;gap:6px;display:inline-flex}.cols-plot{position:relative}.cols-tick,.cols-base{border-top:1px solid var(--border);height:0;position:absolute;left:34px;right:0}.cols-base{border-top-color:var(--border-strong)}.cols-tick span,.cols-base span{font-family:var(--mono);color:var(--fg-3);margin-right:6px;font-size:10px;position:absolute;right:100%;transform:translateY(-50%)}.cols-bars{display:flex;position:absolute;inset:0 0 0 34px}.cols-slot{cursor:default;outline:none;flex:1;transition:opacity .15s;position:relative}.cols-slot:focus-visible{box-shadow:inset 0 0 0 2px var(--ring);border-radius:6px}.cols-slot .cu,.cols-slot .cd{width:min(24px,56%);position:absolute;left:50%;transform:translate(-50%)}.cols-slot .cu{border-radius:4px 4px 0 0}.cols-slot .cd{background:var(--accent);border-radius:0 0 4px 4px}.cols-x{padding-left:34px;display:flex}.cols-x span{min-width:0;font-family:var(--mono);color:var(--fg-3);white-space:nowrap;flex:1 1 0;justify-content:center;font-size:9.5px;display:flex}.cols-x span:last-child{justify-content:flex-end}.cols-x span:first-child{justify-content:flex-start}.tip{background:var(--panel);border:1px solid var(--border);white-space:nowrap;pointer-events:none;box-shadow:var(--elev);z-index:2;border-radius:10px;flex-direction:column;gap:1px;padding:6px 10px;font-size:12px;display:flex;position:absolute;top:-6px;transform:translate(-50%,-100%)}.tip b{font-weight:600}.tip span{color:var(--fg-2)}.funnel{flex-direction:column;gap:10px;display:flex}.fn-row{grid-template-columns:22px minmax(96px,1fr) minmax(60px,1.6fr) 40px;align-items:center;gap:10px;font-size:13px;display:grid}.fn-i{font-family:var(--mono);color:var(--fg-3);font-size:10.5px}.fn-l small{color:var(--fg-3);font-size:11.5px;display:block}.fn-track{background:var(--track-soft);border-radius:6px;height:22px;overflow:hidden}.fn-track span{border-radius:6px;min-width:2px;height:100%;transition:width .4s;display:block}.fn-row b{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}@media (max-width:480px){.fn-row{grid-template-columns:18px 1fr 1fr 36px}}.split{flex-direction:column;gap:10px;display:flex}.split-bar{background:var(--track-soft);border-radius:999px;gap:2px;height:12px;display:flex;overflow:hidden}.split-bar span{height:100%}.split-l{color:var(--fg-2);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12.5px;display:flex}.split-l b{color:var(--fg);font-weight:600}.gauges{flex-wrap:wrap;flex:1;place-content:center space-around;align-items:flex-start;gap:8px;display:flex}.gauge{text-align:center;flex-direction:column;flex:1;align-items:center;min-width:118px;display:flex}.gauge-v{fill:var(--fg);font-size:20px;font-weight:600}.gauge-k{margin-top:2px;font-size:13px;font-weight:600}.gauge-s{color:var(--fg-3);font-size:12px}.spark{width:100%;height:30px;margin-top:4px;display:block}svg.i .duo{fill:currentColor;fill-opacity:.16;stroke:none}svg.i g,svg.i path,svg.i circle{transform-box:fill-box;transform-origin:50%}svg.i .a-draw{stroke-dasharray:1;stroke-dashoffset:0}:is(.nav,.btn,.icon-btn,.tile,.attn-go,.chip,.stage,.op-head):is(:hover,:focus-visible) svg.i .a-grow path,.nav.active svg.i .a-grow path{transform-origin:bottom;animation:.7s cubic-bezier(.3,1.4,.5,1) both k-grow}svg.i .a-grow path:nth-child(2){animation-delay:80ms!important}svg.i .a-grow path:nth-child(3){animation-delay:.16s!important}@keyframes k-grow{0%{transform:scaleY(.2)}to{transform:scaleY(1)}}:is(.nav,.btn,.icon-btn,.tile,.attn-go,.chip):is(:hover,:focus-visible) svg.i .a-draw,.nav.active svg.i .a-draw,svg.i.play .a-draw{animation:.6s ease-out both k-draw}@keyframes k-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}:is(.nav,.btn,.icon-btn,.tile,.attn-go):is(:hover,:focus-visible) svg.i .a-lid,.nav.active svg.i .a-lid{transform-origin:0 100%;animation:.8s ease-in-out both k-lid}@keyframes k-lid{0%,to{transform:none}40%{transform:translateY(-2.5px)rotate(-12deg)}}:is(.nav,.btn,.icon-btn,.tile,.stage,.op-head):is(:hover,:focus-visible) svg.i .a-spin,.nav.active svg.i .a-spin{animation:1.6s cubic-bezier(.4,0,.2,1) both k-spin}:is(.nav,.btn,.icon-btn,.tile,.stage,.op-head):is(:hover,:focus-visible) svg.i .a-spin-rev,.nav.active svg.i .a-spin-rev{animation:1.6s cubic-bezier(.4,0,.2,1) both k-spin-rev}@keyframes k-spin{to{transform:rotate(180deg)}}@keyframes k-spin-rev{to{transform:rotate(-270deg)}}:is(.nav,.btn,.icon-btn,.tile,.attn-go):is(:hover,:focus-visible) svg.i .a-roll{animation:.9s linear 2 k-spin}:is(.nav,.btn,.icon-btn,.tile,.attn-go):is(:hover,:focus-visible) svg.i .a-bob{animation:.45s ease-in-out 4 k-bob}:is(.nav,.btn,.icon-btn,.tile,.attn-go):is(:hover,:focus-visible) svg.i .a-speed{animation:.6s ease-out 3 k-speed}svg.i .a-speed{opacity:0}@keyframes k-bob{50%{transform:translateY(-1px)}}@keyframes k-speed{0%{opacity:0;transform:translate(3px)}40%{opacity:1}to{opacity:0;transform:translate(-3px)}}:is(.nav,.btn,.icon-btn,.tile,.attn-go):is(:hover,:focus-visible) svg.i .a-lift,.nav.active svg.i .a-lift{animation:.7s ease-in-out both k-lift}@keyframes k-lift{50%{transform:translateY(-2.5px)}}:is(.nav,.btn,.icon-btn,.tile,.attn-go):is(:hover,:focus-visible) svg.i .a-slide,.nav.active svg.i .a-slide{animation:.6s cubic-bezier(.3,1.4,.5,1) both k-slide}@keyframes k-slide{0%{opacity:0;transform:translate(-3px)}to{opacity:1;transform:none}}:is(.btn,.icon-btn,.tile):is(:hover,:focus-visible) svg.i .a-ring{transform-origin:top;animation:.8s ease-in-out both k-ring}@keyframes k-ring{20%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}:is(.btn,.icon-btn):is(:hover,:focus-visible) svg.i .a-spin-slow{animation:1.2s ease-in-out both k-spin}:is(.btn,.icon-btn):is(:hover,:focus-visible) svg.i .a-tilt{animation:.9s ease-in-out both k-tilt}svg.i .a-twinkle{opacity:0}:is(.btn,.icon-btn):is(:hover,:focus-visible) svg.i .a-twinkle{animation:.9s ease-in-out both k-twinkle}@keyframes k-tilt{50%{transform:rotate(-18deg)}}@keyframes k-twinkle{50%{opacity:1;transform:scale(1.2)}to{opacity:0}}:is(.tile,.btn,.attn-go):is(:hover,:focus-visible) svg.i .a-shake{animation:.5s ease-in-out both k-shake}@keyframes k-shake{20%,60%{transform:translate(-1.2px)}40%,80%{transform:translate(1.2px)}}:is(.tile,.btn):is(:hover,:focus-visible) svg.i .a-pop{animation:.45s cubic-bezier(.3,1.6,.5,1) both k-pop}@keyframes k-pop{0%{transform:scale(.4)rotate(-45deg)}to{transform:none}}:is(.tile,.btn):is(:hover,:focus-visible) svg.i .a-hand{transform-origin:bottom;animation:1.2s ease-in-out both k-hand}@keyframes k-hand{to{transform:rotate(360deg)}}:is(.tile,.btn,.attn-go):is(:hover,:focus-visible) svg.i .a-drop{animation:.7s cubic-bezier(.5,0,.5,1.4) both k-drop}@keyframes k-drop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}:is(.stage,.op-head,.btn,.tile):is(:hover,:focus-visible) svg.i .a-feed,svg.i.play .a-feed{animation:1.1s ease-in-out both k-feed}@keyframes k-feed{0%{transform:translateY(-4px)}to{transform:none}}:is(.stage,.op-head,.btn,.tile):is(:hover,:focus-visible) svg.i .a-press,svg.i.play .a-press{animation:.9s ease-in-out both k-press}@keyframes k-press{50%{transform:translateY(2px)}}:is(.stage,.op-head,.btn,.tile):is(:hover,:focus-visible) svg.i .a-stitch,svg.i.play .a-stitch{animation:.35s ease-in-out 4 k-stitch}@keyframes k-stitch{50%{transform:translate(-1px,1.5px)}}svg.i .a-seam{stroke-dasharray:1}:is(.stage,.op-head,.btn,.tile):is(:hover,:focus-visible) svg.i .a-seam,svg.i.play .a-seam{animation:1.4s linear both k-draw}:is(.stage,.op-head,.btn,.tile):is(:hover,:focus-visible) svg.i .a-hop,svg.i.play .a-hop{animation:.6s cubic-bezier(.3,1.6,.5,1) 2 k-hop}@keyframes k-hop{40%{transform:translateY(-2.5px)}}.op-head svg.i.play .a-spin{animation:6s linear infinite k-spin-loop}.op-head svg.i.play .a-feed{animation:2.4s ease-in-out infinite alternate k-feed}.op-head svg.i.play .a-press{animation:2.4s ease-in-out infinite k-press}.op-head svg.i.play .a-stitch{animation:.9s ease-in-out infinite k-stitch}.op-head svg.i.play .a-seam{animation:3.6s linear infinite k-draw}.op-head svg.i.play .a-hop{animation:2.4s ease-in-out infinite k-hop}@keyframes k-spin-loop{to{transform:rotate(360deg)}}:is(.btn,.nav):is(:hover,:focus-visible) svg.i .a-nudge{animation:.5s ease-in-out 2 k-nudge}@keyframes k-nudge{50%{transform:translate(2px)}}:is(.btn,.attn-go):is(:hover,:focus-visible) svg.i .a-up{animation:.6s ease-in-out both k-up}@keyframes k-up{50%{transform:translateY(-2px)}}.btn:is(:hover,:focus-visible) svg.i .a-spin-once{animation:.4s ease-out both k-spin}.nav svg.i{background:var(--surface-hover);width:30px;height:30px;color:var(--fg-2);border-radius:9px;padding:6px;transition:background .2s,color .2s}.nav:hover svg.i{color:var(--fg)}.nav.active svg.i{background:var(--primary);color:#fff}:root[data-theme=dark] .nav.active svg.i{color:var(--primary-ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .nav.active svg.i{color:var(--primary-ink)}}.nav.active svg.i .duo{fill-opacity:.22}.nav{padding:6px 10px 6px 6px}@media (prefers-reduced-motion:reduce){svg.i *{animation:none!important}}:is(.nav,.btn,.icon-btn,.tile,.attn-go):is(:hover,:focus-visible) svg.i .a-dots>*,.nav.active svg.i .a-dots>*{animation:.9s ease-in-out 2 k-dot}svg.i .a-dots>:nth-child(2){animation-delay:.12s!important}svg.i .a-dots>:nth-child(3){animation-delay:.24s!important}@keyframes k-dot{50%{transform:translateY(-1.5px)}}svg.i .a-dots path{stroke-width:2.6px}.chip[aria-pressed]{cursor:pointer;font:inherit;padding:5px 11px;font-size:12.5px}.chip[aria-pressed=true]{background:var(--primary-tint);border-color:var(--primary);color:var(--primary);font-weight:600}.chip svg.i{width:13px;height:13px}textarea{font:inherit}.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (max-width:1000px){.rules-grid{grid-template-columns:1fr}}.rule.off{opacity:.7}.rule-h{align-items:flex-start;gap:12px;display:flex}.rule-h h3{margin:0;font-size:15px;font-weight:600}.rule-ic{background:var(--primary-tint);width:36px;height:36px;color:var(--primary);border-radius:11px;flex:none;place-items:center;display:grid}.rule.off .rule-ic{background:var(--surface-hover);color:var(--fg-3)}.rule-ic svg.i{width:19px;height:19px}.switch{background:var(--border-strong);cursor:pointer;border:0;border-radius:999px;flex:none;width:40px;height:23px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch[aria-checked=true]{background:var(--primary)}.switch[aria-checked=true]:after{transform:translate(17px)}.switch:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.wa-phone{background:color-mix(in srgb, var(--primary) 6%, var(--surface));border:1px solid var(--border);border-radius:var(--radius);min-height:160px;padding:22px 18px}.wa-bubble{background:var(--panel);border:1px solid var(--border);border-radius:4px 14px 14px;max-width:88%;padding:10px 12px 6px;font-size:13.5px}.wa-bubble b{color:var(--primary);font-size:12px}.wa-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}.wa-bubble span{text-align:right;color:var(--fg-3);font-size:10.5px;font-family:var(--mono);display:block}.wa-thread{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding-bottom:14px;display:flex}.wa-in,.wa-out{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;max-width:75%;padding:8px 12px;font-size:13px}.wa-in{background:var(--surface-hover);border-top-left-radius:4px;align-self:flex-start}.wa-out{background:var(--primary-tint);color:var(--fg);border-top-right-radius:4px;align-self:flex-end}
