/* Exposcale operating surfaces: a quiet instrument panel, purple data light,
   clear measurement scales, and one reading order shared by owners and partners. */
:root { --ops-surface: #111119; --ops-edge: #30303f; --ops-muted: #a4a4b8; }
::selection { background: #6139a8; color: #fff; }
input, textarea { caret-color: var(--brand-ink); }
:focus-visible { outline: 2px solid var(--brand-ink); outline-offset: 4px; }
.ops { margin: 20px 0 30px; color: var(--text); }
.ops [hidden] { display: none !important; }
.ops-head, .ops-actions, .ops-section-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ops-head { padding: 8px 0 12px; align-items: flex-start; }
.ops-head h2 { font: 550 30px/1.2 var(--sans); letter-spacing: -.035em; margin: 0 0 8px; }
.ops-head p, .ops-section-head p { color: var(--ops-muted); font-size: 12px; margin: 0; }
.ops-head p span { margin-left: 8px; color: var(--brand-ink); }
.ops-basis { color: var(--ops-muted); font-size: 12px; margin: 0 0 20px; max-width: 80ch; }
.ops-actions { justify-content: flex-end; flex-wrap: wrap; }
.ops-actions .btn { min-height: 38px; font-size: 12px; gap: 7px; }
.ops-customize { position: relative; }
.ops-customize > summary { cursor: pointer; list-style: none; }
.ops-customize > summary::-webkit-details-marker { display: none; }
.ops-options { position: absolute; right: 0; top: 48px; width: 320px; padding: 20px; z-index: 30; background: #20202d; border-radius: 12px; box-shadow: 0 14px 35px #0009; }
.ops-options p { margin: 0 0 14px; color: var(--ops-muted); font-size: 12px; }
.ops-options label { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 13px; }
.ops-options input { width: 17px; height: 17px; accent-color: var(--brand); }
.ops-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border: 1px solid var(--ops-edge); border-radius: 14px; overflow: hidden; background: var(--ops-surface); }
.ops-metric { padding: 21px 18px 16px; border-bottom: 1px solid var(--line-2); min-width: 0; }
.ops-metric h3 { font: 450 12px/1.4 var(--sans); color: #c7c4d4; margin: 0 0 12px; }
.ops-number { font: 550 clamp(19px, 1.6vw, 28px)/1.25 var(--sans); letter-spacing: -.025em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ops-metric p { margin: 9px 0 14px; font-size: 11px; line-height: 1.5; color: var(--ops-muted); min-height: 33px; }
.ops-metric-foot { font-size: 10px; color: var(--ops-muted); display: flex; gap: 6px; flex-wrap: wrap; }
.ops-contribution { background: #21172f; }
.ops-contribution .ops-number { color: #d7c3ff; }
.ops-unknown { color: var(--ops-muted); }
.ops-manual { color: #c5a5ff; }
.ops-signal { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 18px; padding: 14px 0; color: var(--ops-muted); font-size: 12px; }
.ops-signal-label { color: #e6e1ef; }
.ops-signal details { max-width: 75ch; }
.ops-signal summary { cursor: pointer; color: #e9c486; }
.ops-signal ul { margin: 10px 0; line-height: 1.7; }
.ops-chart { border: 1px solid var(--ops-edge); border-radius: 14px; padding: 22px; background: var(--ops-surface); margin: 6px 0 30px; }
.ops-section-head { margin: 18px 0 16px; align-items: baseline; flex-wrap: wrap; }
.ops-chart .ops-section-head { margin-top: 0; }
.ops-section-head h3 { font-size: 16px; font-weight: 500; margin: 0; }
.ops-section-head p { margin-top: 6px; }
.ops-chart-scroll { overflow-x: auto; scrollbar-color: var(--brand-ink) var(--ops-surface); }
.ops-chart svg { display: block; width: 100%; min-width: 1000px; height: auto; }
.ops-legend { display: flex; gap: 18px; font-size: 11px; color: var(--ops-muted); }
.ops-legend span::before { content: ''; display: inline-block; width: 8px; height: 8px; background: #ac7aff; margin-right: 7px; }
.ops-legend span:last-child::before { background: #69779c; }
.ops-gridline { stroke: #2a2938; stroke-width: 1; }
.ops-axis { fill: #aaa7ba; font: 10px var(--mono); }
.ops-bar-0 { fill: #ac7aff; }
.ops-bar-1 { fill: #69779c; }
.ops-bar-partial { fill-opacity: .45; stroke: #d0c7e6; stroke-dasharray: 2 2; }
.ops-gap { stroke: #b8afc6; stroke-width: 1; fill: none; }
.ops-store-list { margin-bottom: 30px; }
.ops-store { display: grid; grid-template-columns: minmax(180px, 2fr) repeat(4, minmax(100px, 1fr)); gap: 20px; align-items: center; padding: 19px 16px; border-bottom: 1px solid var(--ops-edge); text-decoration: none; color: var(--text); }
.ops-store:hover { background: #1d1729; text-decoration: none; }
.ops-store div { display: grid; gap: 6px; }
.ops-store div:not(:first-child) { text-align: right; }
.ops-store span { color: var(--ops-muted); font-size: 11px; }
.ops-store strong { font-size: 14px; font-weight: 500; font-variant-numeric: tabular-nums; }
.ops-days .table-wrap { border: 1px solid var(--ops-edge); border-radius: 12px; }
.ops-days table { min-width: 100%; width: max-content; }
.ops-days .table-wrap { scrollbar-color: var(--brand-ink) var(--ops-surface); }
.ops-days th { font-size: 11px; text-transform: none; letter-spacing: 0; }
.ops-days td { font-size: 12px; padding: 16px 12px; }
.ops-days td small { display: block; color: var(--ops-muted); font: 10px var(--sans); margin-top: 5px; }
.ops-days td details { min-width: 120px; max-width: 320px; white-space: normal; }
.ops-days td details p { font: 12px/1.5 var(--sans); }
.ops-deep { margin: 24px 0; border-top: 1px solid var(--ops-edge); }
.ops-deep > summary { cursor: pointer; font-size: 14px; color: #cec6dd; padding: 20px 4px; }
.ops-intro { padding: 22px 0; max-width: 75ch; }
.ops-intro p { color: var(--ops-muted); font-size: 14px; line-height: 1.6; }
.ops-edit-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 24px; }
.ops-edit-form label { display: grid; gap: 9px; font-size: 13px; }
.ops-edit-form input, .ops-edit-form select { min-height: 44px; width: 100%; }
.ops-edit-reason { grid-column: 1/-1; }
.ops-edit-form textarea { min-height: 100px; }
.ops-edit-form > button { justify-self: end; align-self: end; }
.ops-reason { white-space: normal; max-width: 45ch; }
.ops-empty { padding: 35px 24px; background: var(--ops-surface); border-radius: 14px; }
.ops-empty p { max-width: 70ch; color: var(--ops-muted); line-height: 1.7; }
/* Connected steps keep their controls, while their instructions fold away. */
.checklist .ck-card { background: var(--ops-surface); border-color: var(--ops-edge); }
.ck-summary { display: flex; align-items: center; justify-content: space-between; padding: 4px 0; gap: 16px; cursor: pointer; }
.ck-summary strong { flex: 1; font-size: 14px; font-weight: 550; }
.ck-body { padding-top: 18px; }
@media (max-width: 1250px) { .ops-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); } .ops-number { font-size: 24px; } }
@media (max-width: 850px) { .ops-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ops-head { flex-direction: column; } .ops-store { grid-template-columns: 1.5fr 1fr 1fr; } .ops-store div:nth-child(3), .ops-store div:nth-child(4) { display: none; } }
@media (max-width: 540px) { .ops-head h2 { font-size: 26px; } .ops-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ops-metric { padding: 17px 12px; } .ops-number { font-size: 23px; } .ops-actions { justify-content: flex-start; gap: 8px; position: relative; width: 100%; } .ops-customize { position: static; } .ops-options { top: calc(100% + 8px); right: auto; left: 0; width: min(300px, calc(100vw - 48px)); } .ops-chart { padding: 15px 12px; } .ops-store { gap: 10px; padding: 16px 0; } .ops-store strong { font-size: 12px; overflow-wrap: anywhere; } .ops-edit-form { grid-template-columns: 1fr; } .ops-edit-form > button { width: 100%; } }
@media print { .ops-customize, .ops-actions { display: none; } .ops [hidden] { display: revert !important; } }
