.ops-pane{background:var(--bg)}.ops-tabbar{display:flex;gap:var(--sp-1);padding:var(--sp-3) var(--sp-6) 0;background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:58px;z-index:4;overflow-x:auto}.ops-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:var(--sp-3) var(--sp-4);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out);white-space:nowrap}.ops-tab:hover{color:var(--ink-1)}.ops-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.ops-tab:focus-visible{outline:none;box-shadow:var(--sh-focus);border-radius:var(--r-xs)}.ops-tab-dot{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:6px;border-radius:50%;background:var(--danger,#c0392b);color:var(--ink-inv,#fff);font-size:9px;font-weight:700;line-height:1}.ops-tab.has-err{color:var(--danger,#c0392b)}.ops-body{padding:var(--sp-6) var(--sp-6) var(--sp-8)}.ops-stack{display:flex;flex-direction:column;gap:var(--sp-5)}.ops-sub-toolbar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.ops-toolbar-cnt{font-family:var(--font-mono);font-size:var(--fs-mono-sm);color:var(--ink-3);margin-left:auto}.ops-pill-group{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);padding:var(--sp-1);gap:2px}.ops-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink-2);padding:6px 14px;border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.ops-pill:hover{color:var(--ink-1);background:var(--surface-2)}.ops-pill.active{background:var(--accent);color:var(--accent-on)}.ops-pill:focus-visible{outline:none;box-shadow:var(--sh-focus)}.ops-search{flex:1 1 280px;min-width:240px;max-width:420px;height:36px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);padding:0 12px;font-family:inherit;font-size:var(--fs-body);color:var(--ink-1)}.ops-search:focus{outline:none;border-color:var(--accent);box-shadow:var(--sh-focus)}.ops-search::placeholder{color:var(--ink-3)}.ops-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.ops-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:4px;min-height:100px}.ops-kpi-eyebrow{font-family:var(--font-mono);font-size:var(--fs-mono-sm);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--ls-caps)}.ops-kpi-value{display:flex;align-items:baseline;gap:6px}.ops-kpi-value .num{font-size:var(--fs-h1);font-weight:var(--fw-h1);line-height:1;color:var(--ink-1);letter-spacing:var(--ls-h1)}.ops-kpi-value .unit{font-size:var(--fs-sm);color:var(--ink-3)}.ops-kpi-sub{font-size:var(--fs-sm);color:var(--ink-2)}.ops-kpi-info .ops-kpi-value .num{color:var(--accent)}.ops-kpi-success .ops-kpi-value .num{color:var(--success)}.ops-kpi-warn .ops-kpi-value .num{color:var(--warn)}.ops-kpi-danger .ops-kpi-value .num{color:var(--danger)}.ops-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.ops-card-head{display:flex;align-items:baseline;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-faint)}.ops-card-head h2{font-size:var(--fs-h3);font-weight:var(--fw-h3);letter-spacing:var(--ls-h3);color:var(--ink-1)}.ops-card-cnt{font-family:var(--font-mono);font-size:var(--fs-mono-sm);color:var(--ink-3)}.ops-card-empty{padding:var(--sp-6) var(--sp-5);color:var(--ink-3);font-size:var(--fs-sm)}.ops-tbl{width:100%;border-collapse:separate;border-spacing:0}.ops-tbl.ops-tbl-compact td,.ops-tbl.ops-tbl-compact th{padding-top:var(--sp-2);padding-bottom:var(--sp-2)}.ops-heat{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));grid-gap:4px;gap:4px;padding:var(--sp-4) var(--sp-5)}.ops-heat-cell{border-radius:var(--r-sm);padding:8px 10px;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-xs)}.ops-heat-cell .d{font-family:var(--font-mono);font-size:var(--fs-mono-sm);opacity:.9}.ops-heat-cell .v{font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:var(--fw-semibold)}.ops-alert-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:var(--sp-2) 0}.ops-alert{display:grid;grid-template-columns:1fr auto;grid-gap:var(--sp-1) var(--sp-3);gap:var(--sp-1) var(--sp-3);padding:var(--sp-3) var(--sp-5);border-left:3px solid transparent;align-items:center}.ops-alert+.ops-alert{border-top:1px solid var(--border-faint)}.ops-alert-warn{border-left-color:var(--warn);background:var(--warn-soft)}.ops-alert-danger{border-left-color:var(--danger);background:var(--danger-soft)}.ops-alert-title{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--ink-1)}.ops-alert-detail{font-size:var(--fs-sm);color:var(--ink-2);grid-column:1}.ops-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--r-pill);background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-mono-sm);font-weight:var(--fw-medium);white-space:nowrap;text-decoration:none}.ops-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.ops-chip-muted{background:var(--surface-2);border-color:var(--border);color:var(--ink-3)}.ops-chip-muted .dot{background:var(--ink-3)}button.ops-chip-btn{cursor:pointer;font:inherit}button.ops-chip-btn:hover{background:color-mix(in oklab,var(--accent-soft) 70%,var(--accent) 8%)}button.ops-chip-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ops-plant{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-mono-sm);font-weight:var(--fw-semibold);padding:2px 8px;border-radius:var(--r-pill)}.ops-plant-hess{background:var(--accent-soft);color:var(--accent)}.ops-plant-p30{background:var(--st-reconciled-bg);color:var(--st-reconciled-fg)}.ops-ach{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:var(--fw-semibold)}.ops-ach-success{color:var(--success)}.ops-ach-warn{color:var(--warn)}.ops-ach-danger{color:var(--danger)}.ops-ach-ink{color:var(--ink-2)}.ops-reason-list{list-style:none;margin:0;padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.ops-reason-row{display:grid;grid-template-columns:1fr 1.2fr auto;grid-gap:var(--sp-3);gap:var(--sp-3);align-items:center}.ops-reason-bar{height:8px;background:var(--surface-2);border-radius:var(--r-pill);overflow:hidden;border:1px solid var(--border-faint)}.ops-reason-bar .fill{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill)}.ops-reason-label{font-size:var(--fs-sm);color:var(--ink-1)}.ops-reason-count{font-family:var(--font-mono);font-size:var(--fs-mono-sm);color:var(--ink-3)}.ops-grid-2{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:var(--sp-5)}.ops-grid-2,.ops-grid-3{display:grid;gap:var(--sp-5)}.ops-grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:var(--sp-5)}.ops-lead-list{list-style:none;margin:0;padding:var(--sp-3) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2)}.ops-lead-row{display:grid;grid-template-columns:1fr 64px 80px;grid-template-rows:auto auto;grid-gap:2px var(--sp-3);gap:2px var(--sp-3);align-items:center}.ops-lead-bar{grid-column:1/-1;grid-row:2;height:6px;background:var(--surface-2);border-radius:var(--r-pill);border:1px solid var(--border-faint);overflow:hidden}.ops-lead-bar .fill{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill)}.ops-lead-label{grid-column:1;grid-row:1;font-size:var(--fs-sm);color:var(--ink-1);font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-lead-label.mono{font-family:var(--font-mono)}.ops-lead-value{grid-column:2;grid-row:1;text-align:right;font-size:var(--fs-mono);font-weight:var(--fw-semibold);color:var(--ink-1)}.ops-lead-sub{grid-column:3;grid-row:1;text-align:right;font-size:var(--fs-xs);color:var(--ink-3)}.ops-bom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.ops-bom-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}.ops-bom-card.open{border-color:var(--accent-border);box-shadow:var(--sh-sm)}.ops-bom-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:transparent;border:0;text-align:left;font-family:inherit;cursor:pointer}.ops-bom-head:hover{background:var(--surface-2)}.ops-bom-head:focus-visible{outline:none;box-shadow:inset var(--sh-focus)}.ops-bom-title{font-size:var(--fs-body);color:var(--ink-1)}.ops-bom-cost,.ops-bom-title{font-weight:var(--fw-semibold)}.ops-bom-cost{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--accent)}.ops-bom-cost .unit{color:var(--ink-3);font-weight:var(--fw-medium);font-size:var(--fs-mono-sm);margin-left:2px}.ops-bom-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:0 var(--sp-4) var(--sp-3)}.ops-bom-body{border-top:1px solid var(--border-faint);padding:var(--sp-2) 0}.ops-share-bar{position:relative;height:18px;width:140px;background:var(--surface-2);border-radius:var(--r-pill);border:1px solid var(--border-faint);overflow:hidden}.ops-share-bar .fill{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill)}.ops-share-bar .lbl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--fs-mono-sm);color:var(--ink-1);mix-blend-mode:difference;filter:invert(1)}@media (max-width:900px){.ops-body{padding:var(--sp-4) var(--sp-3) var(--sp-7)}.ops-tabbar{padding:var(--sp-2) var(--sp-3) 0}.ops-kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}