:root{--bg:#f2f3f5;--surface:#fff;--surface-2:#f8f9fa;--text:#1a1d21;--text-2:#2b3036;--muted:#5b636d;--line:#dfe2e6;--line-soft:#eef0f2;--accent:#1d5fd1;--accent-strong:#123f8f;--accent-soft:#e8f0fd;--accent-light:#9dbdf2;--warn:#a8430a;--warn-bar:#e8822a;--warn-soft:#fdf0e6;--warn-deep:#7a2e05;--warn-light:#f2b27a;--compare-bar:#c9ced4;--heat-1:#e8f0fd;--heat-2:#bcd2f7;--heat-3:#6f9be6;--heat-4:#1d5fd1;--heat-ink:#fff;--good:#1f8a5b;--danger:#b42318;--topbar:#15181c;--topbar-2:#23272d;--topbar-line:#3a4048;--topbar-text:#e6e8eb;--topbar-muted:#b8bec6;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong);text-decoration:underline}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}@media (prefers-color-scheme:dark){:root{--bg:#111315;--surface:#1b1e21;--surface-2:#202428;--text:#e8eaed;--text-2:#d3d7dc;--muted:#9aa0a6;--line:#2d3136;--line-soft:#262a2e;--accent:#7fa8f0;--accent-strong:#a9c4f5;--accent-soft:#1d2a40;--accent-light:#3c5f9e;--warn:#f0a46b;--warn-bar:#d9732a;--warn-soft:#3a2616;--warn-deep:#f5c7a1;--warn-light:#8a4a1c;--compare-bar:#4a5058;--heat-1:#1d2a40;--heat-2:#2a4473;--heat-3:#3f68b3;--heat-4:#7fa8f0;--heat-ink:#0b0d0f;--good:#5cc795;--danger:#f97066;--topbar:#0b0d0f;--topbar-2:#181b1f}}body{background:var(--bg);margin:0}main{max-width:1280px;padding:20px 28px 40px}header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}h1{margin:0;font-size:22px;font-weight:700}.filters{flex-wrap:wrap;gap:8px;min-width:0;display:flex}select,input,textarea{font:inherit;box-sizing:border-box;background:var(--surface);min-height:34px;color:var(--text);border:1px solid #c9ced4;border-radius:6px;min-width:0;padding:6px 10px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:16px 0;padding:16px 18px}.tile .label,.tile .hint{color:var(--muted);font-size:14px}.tile .value{letter-spacing:-.5px;font-variant-numeric:tabular-nums;margin:4px 0;font-size:30px;font-weight:700}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:8px;width:100%;margin-bottom:16px;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px}th{color:var(--muted);background:var(--surface-2);font-size:13px;font-weight:500}.num{text-align:right;font-variant-numeric:tabular-nums}.code{color:var(--muted);font-size:12px;display:block}.error{color:var(--danger)}.empty{color:var(--muted)}h2{margin:24px 0 8px;font-size:15px;font-weight:700}h3{margin:0 0 8px;font-size:14px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:12px}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;min-height:34px;padding:6px 14px}button:disabled{opacity:.5;cursor:default}pre{background:var(--bg);border-radius:6px;margin:8px 0 0;padding:8px;font-size:12px;overflow-x:auto}code{word-break:break-all}.token{margin:8px 0 0}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:16px 0 12px;display:flex;overflow-x:auto}.tab{min-height:40px;color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:8px 14px}.tab.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:500}.form-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-bottom:8px;display:grid}.form-grid label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}label.block{color:var(--muted);flex-direction:column;gap:4px;margin-bottom:8px;font-size:13px;display:flex}label.block textarea{resize:vertical;font-family:ui-monospace,monospace}button.secondary{background:var(--surface);color:var(--text-2);border-color:#c9ced4}button.link{min-height:0;color:var(--accent);background:0 0;border:none;padding:0 4px}.actions{white-space:nowrap;text-align:right}.hint{color:var(--muted);font-size:14px}.scroll{overflow-x:auto}.panel h3:not(:first-child){margin-top:20px}.panel td input,.panel td select{width:100%}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:24px;display:flex}.tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.tiles .tile{margin:8px 0}tr.subtotal td{font-weight:500}tr[aria-current=true] td{font-weight:600}.section-head h2{margin:0}main.wide{max-width:1400px}table.report th[scope=row]{color:var(--text);white-space:nowrap;font-weight:400}table.report tr.depth-0 th[scope=row],table.report tr.depth-1 th[scope=row]{font-weight:600}table.report td,table.report th{white-space:nowrap;padding:6px 8px}table.report .improvement{background:var(--bg)}.record{border-top:1px solid var(--line);padding:12px 0}.record-head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.badge{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:13px}.badge.result-FAIL{color:var(--danger);border-color:var(--danger)}.record dl{grid-template-columns:max-content 1fr;gap:4px 12px;margin:8px 0;font-size:14px;display:grid}.record dt{color:var(--muted)}.record dd{overflow-wrap:anywhere;margin:0}.defect-image{border-radius:4px;max-width:120px;max-height:90px}tr.stale td{background:color-mix(in srgb, var(--danger) 8%, var(--surface))}tr.muted td{color:var(--muted)}main.login{max-width:360px;margin:10vh auto 0}.screen{box-sizing:border-box;min-height:100vh;padding:16px 24px;font-size:clamp(16px,1.6vw,28px)}.screen h1{font-size:1.8em}.screen h2{color:var(--muted);margin:0 0 8px;font-size:1em}.screen-status{color:var(--muted)}.screen-status.offline{color:var(--danger)}.screen-metrics,.screen-lists{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px;display:grid}.screen section{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;padding:16px}.screen-value{font-variant-numeric:tabular-nums;margin:0;font-size:3.5em;font-weight:600}.screen ol,.screen ul{margin:0;padding-left:1.4em}.screen li{padding:4px 0}.screen li span{color:var(--muted);margin-left:12px}.screen-alert{color:var(--danger)}.screen-invalid{text-align:center;margin-top:30vh;font-size:1.4em}.screen-popup{background:#b42318d9;justify-content:center;align-items:center;padding:16px;animation:1s ease-in-out infinite alternate screen-flash;display:flex;position:fixed;inset:0}.screen-popup>div{background:var(--surface);text-align:center;border-radius:12px;max-width:900px;padding:32px}.screen-popup h2{color:var(--danger);font-size:1.6em}.screen-popup p{font-size:1.3em}@keyframes screen-flash{0%{background:#b42318f2}to{background:#b4231899}}@media (prefers-reduced-motion:reduce){.screen-popup{animation:none}}.console{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--topbar);color:var(--topbar-text);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:8px 20px;display:flex}.topbar a,.topbar button.link{color:var(--topbar-text);text-decoration:none}.topbar .brand{color:#fff;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.topbar .brand svg{color:#7fa8f0}.topbar select,.topbar .search{background:var(--topbar-2);border:1px solid var(--topbar-line);min-height:36px;color:var(--topbar-text);border-radius:6px;font-size:13px}.topbar .search{box-sizing:border-box;color:#9aa1aa;flex:260px;align-items:center;gap:8px;max-width:480px;padding:0 12px;display:flex}.topbar .search input{min-width:0;color:var(--topbar-text);background:0 0;border:0;outline:none;flex:1;padding:0}.topbar .search input::placeholder{color:#9aa1aa}.topbar-right{color:var(--topbar-muted);align-items:center;gap:14px;margin-left:auto;font-size:13px;display:flex}.topbar .as-of{white-space:nowrap;align-items:center;gap:6px;display:flex}.topbar .as-of .dot{background:#4cc38a;border-radius:50%;width:8px;height:8px}.topbar .icon{min-width:36px;min-height:36px;color:var(--topbar-text);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.topbar .icon .count{box-sizing:border-box;background:var(--warn-bar);color:#fff;text-align:center;border-radius:8px;min-width:16px;padding:0 4px;font-size:11px;line-height:16px;position:absolute;top:2px;right:0}.topbar .user{color:var(--topbar-text);white-space:nowrap;align-items:center;gap:8px;display:flex}.topbar .avatar{background:var(--topbar-line);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;display:flex}.topbar .nav-toggle{display:none}.console-body{flex:1;align-items:stretch;min-height:0;display:flex}.console-content{flex:1;min-width:0}.sidenav{box-sizing:border-box;background:var(--surface);border-right:1px solid var(--line);flex:0 0 248px;padding:12px 0 24px;overflow-y:auto}.sidenav h2{color:var(--muted);margin:12px 16px 6px;font-size:12px;font-weight:500}.sidenav h2:not(:first-child){border-top:1px solid var(--line-soft);margin-top:16px;padding-top:14px}.sidenav ul{margin:0;padding:0;list-style:none}.sidenav li{align-items:center;gap:2px;padding-right:8px;display:flex}.sidenav .menu li{padding-left:22px}.sidenav li.current{background:var(--accent-soft)}.sidenav li a{min-width:0;min-height:34px;color:var(--text-2);flex:1;align-items:center;gap:8px;padding:0 6px;text-decoration:none;display:flex}.sidenav li a:hover{color:var(--accent)}.sidenav li.current a{color:var(--accent);font-weight:500}.sidenav .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sidenav .code{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:400}.sidenav .chevron{width:22px;min-height:28px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.sidenav .leaf{justify-content:center;width:22px;display:flex}.sidenav .leaf:before{content:"";background:#9aa1aa;border-radius:50%;width:6px;height:6px}.resource-head{max-width:1280px;padding:18px 28px 0}.resource-head .trail{color:var(--muted);margin-bottom:4px;font-size:12px}.resource-head .hint{margin-top:2px;font-size:12px}.resource-head+main{padding-top:4px}.resource-title{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.resource-title h1{margin:0}.type-filter{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}a.pill{box-sizing:border-box;align-items:center;text-decoration:none;display:inline-flex}.resource-tabs{scrollbar-width:none;margin:12px 0 0}.resource-tabs::-webkit-scrollbar{display:none}.toolbar .head-actions{margin-left:auto}.sidenav .count{box-sizing:border-box;background:var(--warn-bar);color:#fff;text-align:center;border-radius:9px;min-width:18px;padding:0 5px;font-size:11px}.sidenav .leaf.equipment:before{background:#b9bfc7;border-radius:1px}.panel,.tile,table{border-color:var(--line)}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;margin:0 0 16px;padding:16px 18px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;margin-bottom:14px;display:flex}.card-head h2{margin:0;font-size:15px;font-weight:600}.card-sub{color:var(--muted);margin:2px 0 0;font-size:12px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 16px;display:grid}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;margin-bottom:16px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:8px;flex-direction:column;gap:6px;min-width:0;padding:14px 16px;display:flex}a.kpi:hover{border-color:var(--accent-light);color:var(--text);text-decoration:none}.kpi.attention{border-left:3px solid var(--warn-bar)}.kpi-head{color:var(--muted);justify-content:space-between;gap:8px;font-size:13px;display:flex}.kpi-direction{background:var(--surface-2);white-space:nowrap;border-radius:3px;padding:0 6px;font-size:11px}.kpi-main{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.kpi-value{letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:26px;font-weight:650;line-height:1.1}.kpi-sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.change{font-weight:600}.change.better{color:var(--accent)}.change.worse{color:var(--warn)}.sparkline{flex:none}.sparkline polyline,.line-chart svg polyline{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.legend{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-bottom:8px;font-size:12px;display:flex}.swatch-box{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.line-chart{margin:0}.line-chart .plot{gap:8px;display:flex}.line-chart .y-axis{min-width:48px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;margin:-7px 0;font-size:11px;display:flex}.line-chart .area{border-bottom:1px solid var(--line);flex:1;min-width:0;position:relative}.line-chart .area svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.line-chart .gridline{border-top:1px solid var(--line-soft);position:absolute;left:0;right:0}.line-chart .refline{border-top:1px dashed var(--muted);position:absolute;left:0;right:0}.line-chart .reflabel{background:var(--surface);color:var(--muted);padding:0 4px;font-size:11px;position:absolute;left:0}.line-chart .dot{border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;position:absolute}.line-chart .x-axis{height:18px;color:var(--muted);margin:4px 0 0 56px;font-size:11px;position:relative}.line-chart .x-axis span{white-space:nowrap;position:absolute;transform:translate(-50%)}.line-chart .x-axis span:first-child{transform:none}.line-chart .x-axis span:last-child{transform:translate(-100%)}.line-chart details,.columns details{color:var(--muted);margin-top:6px;font-size:12px}.bar-list{margin:0;padding:0;list-style:none}.bar-list li>a,.bar-list li>div{color:var(--text);border-radius:4px;grid-template-columns:minmax(80px,160px) minmax(60px,1fr) auto;align-items:center;gap:2px 12px;margin:0 -8px;padding:6px 8px;display:grid}.bar-list.cumulative li>a,.bar-list.cumulative li>div{grid-template-columns:minmax(80px,160px) minmax(60px,1fr) auto 52px}.bar-list li>a:hover{background:var(--surface-2);text-decoration:none}.bar-list li.selected>a{background:var(--accent-soft)}.bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{flex-direction:column;gap:2px;min-height:10px;display:flex;position:relative}.bar-list .bar{background:var(--accent);border-radius:2px;height:10px;display:block}.bar-list .bar.compare{background:var(--compare-bar);height:6px}.bar-list li.highlight .bar:not(.compare){background:var(--warn-bar)}.bar-list li.highlight .bar-value{color:var(--warn)}.bar-ref{border-left:1px dashed var(--muted);position:absolute;top:-3px;bottom:-3px}.bar-value,.bar-share{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.bar-share,.bar-compare-value{color:var(--muted);font-size:12px}.bar-note{color:var(--muted);grid-column:1/-1;font-size:12px}.bar-list .bar-ref-legend{color:var(--muted);margin-top:6px;font-size:12px}.columns{margin:0}.columns-plot{gap:12px;display:grid}.column-group{flex-direction:column;min-width:0;display:flex}.column-bars{border-bottom:1px solid var(--line);flex:1;justify-content:center;align-items:flex-end;gap:3px;display:flex}.column{border-radius:2px 2px 0 0;flex:1;max-width:28px;min-height:1px;position:relative}.column.none{visibility:hidden}.column-value{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;padding-bottom:2px;font-size:10px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.column-label{color:var(--muted);text-align:center;padding-top:4px;font-size:11px}.stacked{margin:0}.stacked-bar{background:var(--line-soft);border-radius:3px;height:14px;display:flex;overflow:hidden}.stacked-bar span+span{border-left:2px solid var(--surface)}.stacked-legend{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:12px;display:flex}.stacked-legend b{color:var(--text);font-variant-numeric:tabular-nums;margin-left:6px;font-weight:600}.heat-strip{gap:3px;display:grid}.heat{font-variant-numeric:tabular-nums;border-radius:3px;flex-direction:column;align-items:center;min-width:0;padding:6px 2px;font-size:11px;display:flex}.heat-label{color:var(--muted);font-size:10px}.heat.empty{background:var(--surface-2)}.heat.h1{background:var(--heat-1)}.heat.h2{background:var(--heat-2)}.heat.h3{background:var(--heat-3);color:var(--heat-ink)}.heat.h4{background:var(--heat-4);color:var(--heat-ink)}.heat.h3 .heat-label,.heat.h4 .heat-label{color:inherit;opacity:.85}.toolbar{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:16px;display:flex}.muted{color:var(--muted)}.small{font-size:12px}.period{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.segmented{border:1px solid var(--line);background:var(--surface);border-radius:6px;flex-wrap:wrap;padding:2px;display:inline-flex}.segmented button{white-space:nowrap;min-height:28px;color:var(--text-2);background:0 0;border:0;border-radius:4px;padding:2px 12px}.segmented button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.period-range{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.overview-main{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;display:grid}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;display:grid}.overview-main,.overview-grid{margin-bottom:16px}.overview-main .card,.overview-grid .card{margin:0}ul.attention{margin:0;padding:0;list-style:none}ul.attention li+li{margin-top:8px}ul.attention a{border-left:3px solid var(--warn-bar);background:var(--warn-soft);color:var(--text);border-radius:0 4px 4px 0;flex-direction:column;gap:2px;padding:8px 12px;display:flex}ul.attention a:hover{filter:brightness(.98);text-decoration:none}ul.attention b{font-weight:600}ul.attention span{color:var(--muted);font-size:12px}.child-types+.child-types{border-top:1px solid var(--line-soft);margin-top:12px;padding-top:12px}.child-types h3{margin:0 0 4px;font-size:13px}.station-cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.station-cards a{box-sizing:border-box;border:1px solid var(--line);height:100%;color:var(--text);border-radius:6px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.station-cards a:hover{border-color:var(--accent-light);text-decoration:none}.station-cards li.highlight a{border-left:3px solid var(--warn-bar)}.station-cards li.highlight .station-rate{color:var(--warn)}.station-code{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.station-rate{font-variant-numeric:tabular-nums;font-size:18px;font-weight:650}.station-name{color:var(--muted);font-size:11px}.tag{background:var(--surface-2);color:var(--muted);border-radius:3px;padding:0 6px;font-size:11px;font-weight:400}.tag.warn{background:var(--warn-soft);color:var(--warn)}.kpi-row.six{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}a.tab{color:var(--text-2);align-items:center;display:inline-flex}a.tab:hover{color:var(--accent);text-decoration:none}.count-badge{background:var(--surface-2);color:var(--muted);border-radius:8px;margin-left:4px;padding:0 6px;font-size:11px}.class-blocks{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0 10px;display:grid}.class-head,.class-level{font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;display:flex}.class-head{border-bottom:1px solid var(--line-soft);margin-bottom:4px;padding-bottom:4px;font-weight:600}.class-level{color:var(--muted);padding:2px 0;font-size:13px}.station-list{margin:0;padding:0;list-style:none}.station-list li+li{border-top:1px solid var(--line-soft)}.station-list a{color:var(--text);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;padding:8px 0;display:grid}.station-list a:hover{background:var(--surface-2);text-decoration:none}.station-list a>span:first-child{flex-direction:column;min-width:0;display:flex}.station-list b{font-weight:500}.station-list .tag{grid-column:1/-1;justify-self:start}.facts{grid-template-columns:auto 1fr;gap:2px 12px;margin:8px 0 0;font-size:12px;display:grid}.facts dt{color:var(--muted)}.facts dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}a.button{box-sizing:border-box;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;align-items:center;min-height:34px;padding:6px 14px;display:inline-flex}a.button.secondary{border-color:var(--line);background:var(--surface);color:var(--text)}a.button:hover{border-color:var(--accent);text-decoration:none}.page-head h1{margin-bottom:2px}label.inline{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.slice-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.slice-cards a{box-sizing:border-box;border:1px solid var(--line);height:100%;color:var(--text);border-radius:6px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.slice-cards a:hover{border-color:var(--accent-light);text-decoration:none}.slice-cards li.highlight a{border-left:3px solid var(--warn-bar)}.slice-cards li.selected a{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.slice-head,.slice-foot{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.slice-head b{font-weight:600}.slice-foot{color:var(--muted);justify-content:flex-start;gap:4px;font-size:12px}.slice-foot b{color:var(--text);font-variant-numeric:tabular-nums}.slice-cards li.highlight .slice-foot b{color:var(--warn)}.slice-cards .heat{letter-spacing:-.2px;padding:4px 0;font-size:10px}table.report tbody th{text-align:left}.drill{flex-direction:column;display:flex}.drill-row{border-top:1px solid var(--line-soft);color:var(--text);font-variant-numeric:tabular-nums;grid-template-columns:minmax(100px,1fr) 132px 80px 80px;align-items:center;gap:12px;padding:6px 8px;display:grid}a.drill-row:hover{background:var(--surface-2);text-decoration:none}.drill-header{color:var(--muted);border-top:0;font-size:12px}.drill-row .num{text-align:right}.drill-row.depth-0{font-weight:600}.drill-row.depth-1>span:first-child{padding-left:12px}.drill-row.depth-2>span:first-child{color:var(--text-2);padding-left:28px}.page-head.with-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.filter-bar{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;display:flex}.filter-chip{background:var(--accent-soft);color:var(--text);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:13px;display:inline-flex}.filter-chip button{width:22px;min-height:22px;color:var(--muted);background:0 0;border:0;border-radius:50%;padding:0;line-height:1}.filter-chip button:hover{background:var(--surface);color:var(--text)}.add-filter{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.switch{color:var(--text-2);align-items:center;gap:6px;margin-left:auto;display:inline-flex}.drill-path{flex-wrap:wrap;align-items:stretch;gap:4px;margin-bottom:16px;display:flex}.drill-step-wrap{align-items:center;gap:4px;display:inline-flex}.drill-sep{color:var(--muted);font-size:18px}.drill-step{border:1px solid var(--line);background:var(--surface);min-height:0;color:var(--text);text-align:left;border-radius:6px;flex-direction:column;align-items:flex-start;gap:0;padding:6px 12px;display:inline-flex}.drill-step:hover:not(:disabled){border-color:var(--accent-light)}.drill-step:disabled{border-color:var(--accent);background:var(--accent-soft);opacity:1;cursor:default}.drill-step b{font-weight:600}.analysis-main{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px;margin-bottom:16px;display:grid}.analysis-main .card{margin:0}.split-pills{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px;padding-top:12px;display:flex}.pill{border:1px solid var(--line);background:var(--surface);min-height:28px;color:var(--text-2);border-radius:999px;padding:2px 12px;font-size:13px}.pill:hover{border-color:var(--accent-light)}.pill[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}table.records{border:0;margin:0}table.records th,table.records td{white-space:nowrap}.structure{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:12px;display:grid}.org-tree .toolbar{margin:0 0 12px}.org-root{flex-direction:column;gap:16px;display:flex}.org-tree{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px;overflow-x:auto}.org-tree ul{margin:0;padding:0;list-style:none}.org-tree li{align-items:flex-start;display:flex;position:relative}.org-tree li>ul{flex-direction:column;gap:8px;padding-left:28px;display:flex;position:relative}.org-tree li>ul:before{content:"";border-top:1px solid var(--line);width:14px;position:absolute;top:22px;left:0}.org-tree li>ul>li:before,.org-tree li>ul>li:after{content:"";position:absolute;left:-14px}.org-tree li>ul>li:after{border-top:1px solid var(--line);width:14px;top:22px}.org-tree li>ul>li:before{border-left:1px solid var(--line);top:-4px;bottom:-4px}.org-tree li>ul>li:first-child:before{top:22px}.org-tree li>ul>li:last-child:before{height:26px;bottom:auto}.org-tree li>ul>li:first-child:last-child:before{display:none}.org-node{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent-light);border-radius:6px;flex:none;width:150px;padding:6px 8px}.org-node.inspection-stations,.org-node.processing-equipment{border-left-color:var(--compare-bar)}.org-node.default{border-style:dashed}.org-node.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.org-main{width:100%;min-height:0;color:var(--text);text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;padding:0;display:flex}.org-kind{color:var(--muted);font-size:12px}.org-name{overflow-wrap:anywhere;font-weight:500}.org-code{color:var(--muted);overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:12px}.org-add{flex-wrap:wrap;gap:2px 4px;margin-top:4px;font-size:13px;display:flex}.org-add button.link{min-height:24px}.org-add button.link.active{font-weight:600;text-decoration:underline}.org-panel{margin:0;position:sticky;top:12px}.org-panel form.panel{border:0;margin:0;padding:0}.org-panel .form-grid{grid-template-columns:minmax(0,1fr)}button.danger{color:var(--danger);border-color:var(--danger);margin-top:4px}@media (width<=760px){.structure{grid-template-columns:minmax(0,1fr)}.org-panel{position:static}.org-tree li{display:block}.org-tree li>ul{padding:8px 0 0 16px}.org-tree li>ul:before{display:none}.org-tree li>ul>li:before,.org-tree li>ul>li:after{left:-10px}.org-tree li>ul>li:after{width:10px}.org-tree li>ul>li:first-child:before{top:-8px}.org-tree li>ul>li:first-child:last-child:before{height:30px;display:block}.org-node{width:auto}.topbar{padding:8px 12px}.topbar .nav-toggle{display:flex}.topbar .user{display:none}.console-body{flex-direction:column}.sidenav{border-right:0;border-bottom:1px solid var(--line);flex-basis:auto;display:none}.sidenav.open{display:block}.scroll>table{min-width:640px}main,.resource-head{padding-left:16px;padding-right:16px}.bar-list li>a,.bar-list li>div,.bar-list.cumulative li>a,.bar-list.cumulative li>div{grid-template-columns:minmax(64px,96px) minmax(40px,1fr) auto}.bar-list.cumulative .bar-share{display:none}.overview-main{grid-template-columns:minmax(0,1fr)}.drill-row{grid-template-columns:minmax(80px,1fr) 72px 64px}.drill-row>span:nth-child(2){display:none}}.head-actions{flex-wrap:wrap;gap:8px;display:inline-flex}.tag.status-pending{background:var(--surface-2);color:var(--text-2)}.tag.status-in_progress{background:var(--accent-soft,var(--surface-2));color:var(--accent)}.tag.status-in_review{background:var(--warn-soft,var(--surface-2));color:var(--warn-deep)}.tag.status-closed{background:var(--surface-2);color:var(--good,var(--muted))}.page-head.stacked{display:block}.page-head.stacked h1{margin:2px 0}h1 .tag{vertical-align:middle;font-size:12px}.form-grid .wide,.card>label.wide{color:var(--muted);flex-direction:column;grid-column:1/-1;gap:4px;margin-bottom:8px;font-size:13px;display:flex}.form-grid .wide p{color:var(--text);margin:0}textarea{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--text);resize:vertical;border-radius:6px;padding:6px 8px}.input-suffix{color:var(--text);align-items:center;gap:6px;display:inline-flex}.input-suffix input{width:72px}.pre-line{white-space:pre-line}.plain-list{margin:0;padding:0;list-style:none}.plain-list li+li{margin-top:8px}.steps{counter-reset:step;margin:0 0 16px;padding:0;list-style:none;display:flex}.steps li{color:var(--muted);text-align:center;counter-increment:step;flex:1;padding-top:26px;font-size:13px;position:relative}.steps li:before{content:counter(step);z-index:1;border:1px solid var(--line);background:var(--surface);border-radius:50%;width:20px;height:20px;margin-left:-10px;font-size:11px;line-height:20px;position:absolute;top:0;left:50%}.steps li+li:after{content:"";border-top:1px solid var(--line);width:100%;position:absolute;top:10px;right:50%}.steps li.done,.steps li.current{color:var(--text)}.steps li.done:before{content:"✓";border-color:var(--accent);color:var(--accent)}.steps li.current:before{border-color:var(--accent);background:var(--accent);color:#fff}.steps li.current{font-weight:600}.steps li.done:after,.steps li.current:after{border-color:var(--accent)}.timeline{border-left:2px solid var(--line);margin:0;padding:0 0 0 14px;list-style:none}.timeline li{padding:0 0 12px 8px;position:relative}.timeline li:before{content:"";border:2px solid var(--surface);background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:5px;left:-20px}.timeline li.returned:before{background:var(--warn-deep)}.review-table th,.review-table td{white-space:nowrap}.review-table th.side{text-align:center;border-bottom:1px solid var(--line)}.review-table .after{background:var(--surface-2)}.review-table .total{font-weight:600}.review-table th.side.after,.review-table .after-start{border-left:2px solid var(--line)}.change-inline{color:var(--muted);font-size:11px;font-weight:400;display:block}.todo-list{margin:0;padding:0;list-style:none}.todo-list li+li{border-top:1px solid var(--line-soft)}.todo-list a{color:var(--text);flex-direction:column;gap:4px;padding:10px 0;text-decoration:none;display:flex}.todo-list a:hover .todo-title{color:var(--accent)}.todo-title{flex-wrap:wrap;align-items:center;gap:8px;font-weight:500;display:flex}
