:root{--bg: #eef1f5;--surface: #ffffff;--surface-2: #f4f6f9;--surface-3: #e8edf3;--ink: #0f1720;--ink-2: #37485c;--muted: #63748a;--border: #dbe2ea;--accent: #5b63d3;--accent-2: #4a52c0;--on-accent: #ffffff;--good: #12a06a;--warn: #c8860f;--bad: #d64f4f;--accent-soft: color-mix(in srgb, var(--accent) 12%, var(--surface));--accent-tint: color-mix(in srgb, var(--accent) 12%, transparent);--accent-line: color-mix(in srgb, var(--accent) 30%, transparent);--shadow: 0 1px 2px rgba(15, 23, 32, .05), 0 12px 30px -16px rgba(15, 23, 32, .2);--shadow-lg: 0 2px 6px rgba(15, 23, 32, .06), 0 22px 48px -22px rgba(15, 23, 32, .3);--radius: 14px;--radius-sm: 10px;--radius-xs: 8px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0a0f16;--surface: #111823;--surface-2: #151d2a;--surface-3: #1b2534;--ink: #e8eef7;--ink-2: #b3c1d4;--muted: #7f8ea3;--border: #1e2a3a;--accent: #7b83e6;--accent-2: #9aa1ef;--good: #1fb277;--warn: #e0a02a;--bad: #e56a6a;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 16px 40px -20px rgba(0, 0, 0, .75);--shadow-lg: 0 2px 8px rgba(0, 0, 0, .55), 0 26px 60px -24px rgba(0, 0, 0, .85);color-scheme:dark}}:root[data-theme=dark]{--bg: #0a0f16;--surface: #111823;--surface-2: #151d2a;--surface-3: #1b2534;--ink: #e8eef7;--ink-2: #b3c1d4;--muted: #7f8ea3;--border: #1e2a3a;--accent: #7b83e6;--accent-2: #9aa1ef;--good: #1fb277;--warn: #e0a02a;--bad: #e56a6a;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 16px 40px -20px rgba(0, 0, 0, .75);--shadow-lg: 0 2px 8px rgba(0, 0, 0, .55), 0 26px 60px -24px rgba(0, 0, 0, .85);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.btn{font:inherit;font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px;border-radius:var(--radius-sm);border:1px solid transparent;transition:background .16s ease,border-color .16s ease,transform .12s ease}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 6px 16px -8px var(--accent-line)}.btn.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn.ghost{background:var(--surface-2);border-color:var(--border);color:var(--ink-2)}.btn.ghost:hover{background:var(--surface-3);color:var(--ink)}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:default;transform:none}.login-screen{min-height:100%;background:var(--bg);color:var(--ink)}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.5rem,4vw,3.5rem);max-width:1240px;margin:0 auto}.login-pitch{align-self:center;max-width:520px;animation:rise .5s ease both}.brand{display:inline-flex;align-items:center;gap:.6rem}.brand-logo{display:inline-flex;filter:drop-shadow(0 4px 10px var(--accent-line))}.brand-name{font-weight:750;font-size:1.2rem;letter-spacing:-.01em;color:var(--ink)}.login-eyebrow{margin:1.8rem 0 .9rem;font-size:.72rem;font-weight:650;letter-spacing:.13em;color:var(--accent)}.login-h1{font-size:clamp(1.9rem,4.2vw,2.85rem);line-height:1.08;font-weight:750;letter-spacing:-.025em;color:var(--ink);margin:0}.login-lede{margin:1.2rem 0 0;color:var(--ink-2);font-size:1.02rem;line-height:1.6;max-width:46ch}.login-foot{margin-top:2.2rem;display:inline-flex;align-items:center;gap:.55rem;font-size:.82rem;color:var(--muted)}.login-dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 22%,transparent)}.auth-card{align-self:center;width:100%;max-width:420px;justify-self:end;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:1.7rem;animation:rise .5s .06s ease both}.auth-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}.auth-h2{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--ink)}.auth-env{font-size:.7rem;font-weight:650;letter-spacing:.03em;color:var(--accent);background:var(--accent-tint);border:1px solid var(--accent-line);padding:.22rem .55rem;border-radius:999px}.sso-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;font:inherit;font-weight:650;font-size:.9rem;padding:.8rem 1rem;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);border:none;box-shadow:0 8px 20px -10px var(--accent-line);transition:background .18s ease,transform .12s ease}.sso-btn:hover{background:var(--accent-2)}.sso-btn:active{transform:translateY(1px)}.sso-btn:disabled{opacity:.6;cursor:default;transform:none}.auth-or{display:flex;align-items:center;gap:.8rem;margin:1.15rem 0;color:var(--muted);font-size:.76rem}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--border)}.field{display:block;margin-bottom:.85rem}.field-label{display:block;font-size:.78rem;font-weight:600;color:var(--ink-2);margin-bottom:.34rem}.input{width:100%;font:inherit;font-size:.9rem;padding:.62rem .75rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.auth-card-foot{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem;font-size:.76rem;color:var(--muted)}.auth-help{color:var(--accent);font-weight:600}.auth-help:hover{text-decoration:underline}.auth-error{margin:0 0 1rem;padding:.6rem .75rem;font-size:.8rem;color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent);border:1px solid color-mix(in srgb,var(--bad) 35%,transparent);border-radius:var(--radius-sm)}.shell{height:100%;display:flex;gap:14px;padding:14px;background:var(--bg)}.side{flex:none;width:236px;display:flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:14px 12px;box-shadow:var(--shadow);overflow:hidden;transition:width .2s ease}.side-brand{display:flex;align-items:center;gap:9px;padding:6px 8px;min-height:34px}.side-logo{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.wordmark{font-weight:650;font-size:16px;letter-spacing:-.01em;white-space:nowrap;color:var(--ink)}.collapse-btn{display:flex;justify-content:flex-end;padding:0 6px 10px;border:none;background:none}.collapse-ic{width:30px;height:30px;flex:none;border-radius:8px;display:grid;place-items:center;color:var(--muted);background:var(--surface);border:1px solid var(--border);transition:transform .2s ease,color .15s ease,background .15s ease}.collapse-btn:hover .collapse-ic{color:var(--ink);background:var(--surface-3)}.nav{display:flex;flex-direction:column;gap:3px;flex:1}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;font-size:14px;font-weight:500;color:var(--ink-2);white-space:nowrap;overflow:hidden;transition:background .15s ease,color .15s ease}.nav-item:hover{background:var(--surface-3);color:var(--ink)}.nav-icon{display:grid;place-items:center;flex:none;color:var(--muted);transition:color .15s ease}.nav-item:hover .nav-icon{color:var(--ink-2)}.nav-item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-item.is-active .nav-icon{color:var(--accent)}.side-foot{padding-top:12px;margin-top:6px;border-top:1px solid var(--border)}.user{display:flex;align-items:center;gap:10px;padding:5px 6px}.avatar{width:32px;height:32px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-2);font-size:12px;font-weight:650;letter-spacing:.02em}.user-meta{display:flex;flex-direction:column;line-height:1.25;min-width:0}.user-name{font-size:13px;font-weight:600;white-space:nowrap;color:var(--ink)}.user-role{font-size:11.5px;color:var(--muted);white-space:nowrap}.shell.is-collapsed .side{width:64px}.shell.is-collapsed .wordmark,.shell.is-collapsed .nav-label,.shell.is-collapsed .user-meta{display:none}.shell.is-collapsed .side-brand,.shell.is-collapsed .collapse-btn,.shell.is-collapsed .user{justify-content:center;padding-left:0;padding-right:0}.shell.is-collapsed .collapse-ic{transform:rotate(180deg)}.shell.is-collapsed .nav-item{justify-content:center;gap:0;padding-left:0;padding-right:0}.col{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.topbar{flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);margin-bottom:14px}.crumb{justify-self:start;display:inline-flex;align-items:center;gap:7px;max-width:100%;font-size:13px;font-weight:500;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px 8px;border-radius:8px;transition:color .15s ease,background .15s ease}.crumb:hover{color:var(--ink);background:var(--surface-3)}.crumb-home{flex:none;display:grid;place-items:center;color:var(--muted)}.crumb-sep{color:var(--muted)}.crumb b{font-weight:650;color:var(--ink)}.search{justify-self:center;width:min(340px,42vw);display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:13px;transition:border-color .16s ease,background .16s ease}.search:hover{border-color:var(--accent-line);background:var(--surface-3)}.search-txt{flex:1;text-align:left}.kbd{font-size:11px;font-weight:600;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 6px}.top-right{justify-self:end;display:flex;align-items:center;gap:12px}.icon-btn{position:relative;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--ink-2);background:var(--surface);border:1px solid var(--border);transition:background .15s ease,color .15s ease}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.notif-dot{position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 2px var(--surface-2)}.userpill{display:flex;align-items:center;gap:9px;padding:3px 6px 3px 3px;border-radius:999px;border:1px solid transparent;background:none;transition:background .15s ease,border-color .15s ease}.userpill:hover{background:var(--surface-3);border-color:var(--border)}.userpill .avatar{width:30px;height:30px;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.userpill-name{font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap}.usermenu-pop{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:6px;animation:rise .14s ease both}.usermenu-id{padding:8px 10px;border-bottom:1px solid var(--border);margin-bottom:6px}.usermenu-name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.usermenu-org{font-size:11.5px;color:var(--muted);margin-top:2px}.usermenu-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:none;border-radius:8px;font-size:13px;font-weight:500;color:var(--ink-2);transition:background .13s ease,color .13s ease}.usermenu-item:hover{background:var(--surface-3);color:var(--ink)}.scroll{flex:1;min-height:0;overflow:auto;padding:2px 2px 28px}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px;padding:0 4px}.pagehead-txt{min-width:0}.page-h1{margin:0;font-size:23px;font-weight:660;letter-spacing:-.02em;color:var(--ink)}.page-sub{margin:5px 0 0;font-size:13.5px;color:var(--muted)}.pageacts{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.placeholder{display:grid;place-items:center;gap:10px;min-height:320px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);text-align:center;padding:40px}.placeholder strong{color:var(--ink-2);font-size:15px;font-weight:640}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:860px){.login{grid-template-columns:1fr}.auth-card{justify-self:center}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.kpi{display:flex;flex-direction:column;gap:7px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.kpi.accent{background:var(--accent-soft);border-color:var(--accent-line)}.kpi-lab{font-size:12.5px;color:var(--muted);font-weight:500}.kpi-val{font-size:26px;font-weight:680;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}.kpi-val.warn{color:var(--warn)}.kpi-note{font-size:12px;color:var(--muted)}.kpi-note.good{color:var(--good)}.kpi-note.warn{color:var(--warn)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid var(--border)}.panel-title{margin:0;font-size:15px;font-weight:640;color:var(--ink)}.badge{font-size:11.5px;font-weight:600;color:var(--accent);background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:999px;padding:3px 10px;white-space:nowrap}.tablewrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}.table th{text-align:left;font-weight:600;color:var(--muted);font-size:11.5px;letter-spacing:.02em;padding:11px 16px;border-bottom:1px solid var(--border);white-space:nowrap}.table th.num,.table td.num{text-align:right;font-variant-numeric:tabular-nums}.table td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--ink-2)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background .13s ease}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:var(--surface-2)}.cell-main{display:block;font-weight:600;color:var(--ink)}.cell-sub{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}.when{color:var(--muted);white-space:nowrap}.state{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:999px}.state:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.state.good{color:var(--good);background:color-mix(in srgb,var(--good) 13%,transparent)}.state.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent)}.state.bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent)}.state.muted{color:var(--muted);background:var(--surface-3)}.state.running:before{animation:pulse 1.1s ease-in-out infinite}.empty{display:grid;place-items:center;gap:8px;padding:56px 24px;color:var(--muted);text-align:center}.empty strong{color:var(--ink-2);font-size:15px;font-weight:640}.form{display:flex;flex-direction:column;gap:14px}.form .field{margin:0}.select{width:100%;font:inherit;font-size:.9rem;padding:.6rem .75rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--ink)}.filepick{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:.85rem}.filepick input[type=file]{display:none}.filepick .filename{font-family:var(--mono);font-size:.8rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:color-mix(in srgb,#0a0f16 55%,transparent);display:grid;place-items:center;padding:24px;animation:fade .15s ease both}.modal{width:100%;max-width:460px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:20px;animation:rise .18s ease both}.modal.wide{max-width:620px}.modal>.form{overflow-y:auto;min-height:0}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-title{margin:0;font-size:17px;font-weight:660;color:var(--ink)}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.rows{display:flex;flex-direction:column;gap:8px}.row-item{display:grid;gap:8px;align-items:center}.row-item.driver{grid-template-columns:1fr 92px auto}.row-item.filter{grid-template-columns:1fr 74px 1fr auto}.row-num{width:100%;font:inherit;font-size:.86rem;padding:.55rem .6rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--ink);font-variant-numeric:tabular-nums}.row-del{width:34px;height:34px;flex:none;border-radius:8px;display:grid;place-items:center;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);font-size:15px;line-height:1}.row-del:hover{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}.row-add{align-self:flex-start;font-size:12.5px;font-weight:600;color:var(--accent);background:none;border:none;padding:4px 2px}.row-add:hover{text-decoration:underline}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;font-weight:600;color:var(--ink-2);margin-bottom:2px}.hint-text{font-size:11.5px;color:var(--muted);margin:2px 0 0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-family:var(--mono);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:4px 11px}.chip b{color:var(--accent);font-weight:700}.chip.target{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.defgrid{display:grid;grid-template-columns:160px 1fr;gap:10px 16px;padding:18px;font-size:13.5px}.defgrid dt{color:var(--muted);font-weight:500}.defgrid dd{margin:0;color:var(--ink)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.fit-plot{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:12px}.fit-plot-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.fit-plot-hd .t{font-size:12.5px;font-weight:620;color:var(--ink)}.leg{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.lgi{display:inline-flex;align-items:center;gap:6px;font:500 10.5px/1 var(--mono);color:var(--muted)}.lgi:before{content:"";width:12px;height:2px;border-radius:2px;background:var(--accent)}.lgi.pt:before{background:var(--ink-2);width:7px;height:7px;border-radius:50%}.lgi.out:before{background:var(--bad);width:7px;height:7px;border-radius:50%}.fit-plot-body{position:relative;padding:6px 8px 4px}.fit-plot-body.busy{opacity:.55;transition:opacity .15s ease}.lasso-btn{font:600 11px/1 var(--mono);letter-spacing:.02em;padding:6px 10px;border-radius:7px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2);transition:color .15s,border-color .15s,background .15s}.lasso-btn:hover{color:var(--ink);background:var(--surface-3)}.lasso-btn.on{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.ex-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bad) 7%,transparent);font:500 11.5px/1.4 var(--mono);color:var(--bad)}.ex-reset{font:inherit;font-weight:600;color:var(--ink-2);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 10px}.ex-reset:hover{color:var(--ink);background:var(--surface-3)}.xpick{display:inline-flex;align-items:center;gap:8px;font:500 11px/1 var(--mono);color:var(--muted)}.xpick select{font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:5px 8px}.dock{border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--surface-2));border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;align-items:stretch}.dock-cell{padding:14px 16px;border-right:1px solid var(--border);flex:1 1 auto;min-width:0}.dock-cell:last-child{border-right:none}.dock-cell .ch{font:600 9.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.dock-cell.sliders{flex:2 1 340px}.dock-cell.cond{flex:1 1 220px}.srow{display:flex;flex-direction:column;gap:11px}.sl{display:grid;grid-template-columns:96px 1fr 30px;align-items:center;gap:10px}.sl label{font:500 11px/1 var(--mono);color:var(--ink-2);letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sl .val{font:600 12px/1 var(--mono);color:var(--accent);text-align:right;font-variant-numeric:tabular-nums}.sl .val.off{color:var(--muted)}input[type=range].deg{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:3px;background:var(--surface-3);outline-offset:4px}input[type=range].deg::-webkit-slider-runnable-track{height:4px;border-radius:3px;background:linear-gradient(90deg,var(--accent) var(--f, 50%),var(--surface-3) var(--f, 50%))}input[type=range].deg::-moz-range-track{height:4px;border-radius:3px;background:var(--surface-3)}input[type=range].deg::-moz-range-progress{height:4px;border-radius:3px;background:var(--accent)}input[type=range].deg::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}input[type=range].deg::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--surface)}.toggles{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}.toggle{font:600 11px/1 var(--mono);letter-spacing:.02em;padding:6px 9px;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);display:inline-flex;align-items:center;gap:6px;transition:color .15s,border-color .15s,background .15s}.toggle:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--border)}.toggle[aria-pressed=true]{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.toggle[aria-pressed=true]:before{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.kv-list{display:flex;flex-direction:column;gap:8px}.kv-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:11.5px}.kv-row .k{color:var(--muted)}.kv-row .v{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.state-line{margin-top:12px;padding-top:11px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600}.state-line.good{color:var(--good)}.state-line.bad{color:var(--bad)}.state-line .dotmark{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}@media(max-width:1080px){.dock-cell{border-right:none;border-bottom:1px solid var(--border);flex-basis:100%}.dock-cell:last-child{border-bottom:none}}.trust{margin-top:16px}.commit-gate{border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--surface-2));border-radius:var(--radius-sm);padding:16px 18px;margin-bottom:16px}.commit-hd{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.commit-hd .lead{display:flex;flex-direction:column;gap:4px;min-width:0}.commit-hd .lead .ttl{font-size:14px;font-weight:640;color:var(--ink);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.commit-hd .lead .sub{font-size:12px;color:var(--muted)}.ver-tag{font:600 11px/1 var(--mono);color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:999px;padding:4px 10px}.event-tag{font:500 11px/1 var(--mono);color:var(--ink-2);background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:4px 10px}.gauges{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:16px;padding-top:16px;border-top:1px dashed var(--border)}.gauge{display:flex;flex-direction:column;gap:5px;padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.gauge .lab{font:600 9.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.gauge .num{font:680 19px/1 var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}.gauge .foot{font-size:11px;color:var(--muted)}.gauge.good{border-color:color-mix(in srgb,var(--good) 40%,var(--border))}.gauge.good .num{color:var(--good)}.gauge.warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--border));background:color-mix(in srgb,var(--warn) 6%,var(--surface))}.gauge.warn .num{color:var(--warn)}.gauge.bad{border-color:color-mix(in srgb,var(--bad) 45%,var(--border));background:color-mix(in srgb,var(--bad) 7%,var(--surface))}.gauge.bad .num{color:var(--bad)}.gauge.muted .num{color:var(--ink-2)}.insample{margin-top:12px;font-size:11.5px;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap}.insample b{color:var(--ink-2);font-family:var(--mono);font-weight:600}.report-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.report-bar .rb-lead{font:600 12.5px/1 var(--font);color:var(--ink-2)}.report-bar .rb-actions{display:flex;gap:8px;margin-left:auto}.report-bar .rb-err{flex-basis:100%;font:500 11.5px/1.4 var(--mono);color:var(--bad)}.trust-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.trust-tab{font:600 12.5px/1 var(--font);padding:10px 14px;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.trust-tab:hover{color:var(--ink-2)}.trust-tab.on{color:var(--accent);border-bottom-color:var(--accent)}.trust-body{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:18px}.trust-controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px dashed var(--border)}.trust-field{display:flex;flex-direction:column;gap:5px}.trust-field label{font:600 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.trust-field input,.trust-field select{font:500 12.5px/1 var(--font);color:var(--ink);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 10px;min-width:120px}.trust-field .unit{font:500 11px/1 var(--mono);color:var(--muted)}.trust-run{margin-left:auto}.trust-empty{display:grid;place-items:center;gap:6px;padding:40px 20px;text-align:center;color:var(--muted);font-size:12.5px}.trust-empty strong{color:var(--ink-2);font-size:13.5px}.verdict{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:18px}.verdict-card{border:1px solid var(--border);border-radius:12px;padding:15px 16px;background:var(--surface);display:flex;flex-direction:column;gap:6px}.verdict-card .cap{font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.verdict-card .big{font-size:27px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}.verdict-card .sub{font-size:12px;color:var(--muted)}.verdict-card.good .big{color:var(--good)}.verdict-card.warn .big{color:var(--warn)}.verdict-card.bad .big{color:var(--bad)}.verdict-card.good{border-color:color-mix(in srgb,var(--good) 35%,var(--border));background:color-mix(in srgb,var(--good) 5%,var(--surface))}.verdict-card.warn{border-color:color-mix(in srgb,var(--warn) 40%,var(--border));background:color-mix(in srgb,var(--warn) 6%,var(--surface))}.verdict-card.bad{border-color:color-mix(in srgb,var(--bad) 40%,var(--border));background:color-mix(in srgb,var(--bad) 6%,var(--surface))}.unverified{align-self:flex-start;font:600 9.5px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--warn);background:color-mix(in srgb,var(--warn) 13%,transparent);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);border-radius:6px;padding:3px 7px}.assump{font-size:11.5px;color:var(--muted);margin:0 0 18px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.assump b{color:var(--ink-2);font-family:var(--mono);font-weight:600}.chart-block{margin-top:6px}.chart-block .chart-hd{font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.ashrae{display:inline-flex;align-items:center;gap:7px;font:700 12px/1 var(--mono);letter-spacing:.04em;padding:5px 11px;border-radius:999px}.ashrae.pass{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.ashrae.fail{color:var(--bad);background:color-mix(in srgb,var(--bad) 13%,transparent)}.caption{font-size:11.5px;color:var(--muted);margin:8px 0 0;font-style:italic}.curves{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.curve-card{border:1px solid var(--border);border-radius:10px;padding:12px 12px 8px;background:var(--surface)}.curve-card .curve-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.curve-card .curve-hd .nm{font:600 12px/1.2 var(--mono);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-card .curve-hd .deg{font:600 9.5px/1 var(--mono);color:var(--muted);background:var(--surface-3);border-radius:5px;padding:3px 6px;flex:none}.curve-card .sens{font-size:11px;color:var(--muted);margin-top:4px}.curve-card .sens b{color:var(--accent);font-family:var(--mono)}.table tr.excluded td{color:var(--muted)}.table tr.excluded .cell-main{text-decoration:line-through;color:var(--bad)}.resid-up{color:var(--bad)}.resid-down{color:var(--ink-2)}
