/* Workbench instruments: ink for service, rose for the money/points flow.
   4px rhythm, 18px panels, 30px tabular metrics; tonal depth, no decorative shadows. */
.dash-board{--dash-rose:var(--ops-accent);--dash-navy:#375c82;--dash-green:#217d68;--dash-amber:#aa691b;--dash-track:#edf1f7;--dash-grid:#e9edf4;--dash-soft:#fafbfe;color:var(--ops-ink)}
.dash-board *{box-sizing:border-box}.dash-board button{font-family:inherit}.dash-board button:focus-visible{outline:2px solid var(--dash-navy);outline-offset:3px}.dash-board button:active{transform:translateY(1px)}
.dash-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px}.dash-toolbar>div:first-child{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dash-update{font-size:11px;color:var(--ops-muted)}.dash-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--dash-green);white-space:nowrap}.dash-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.dash-status.warn,.dash-warning{color:var(--dash-amber)}.dash-status.quiet{color:var(--ops-muted)}.dash-status.good i{box-shadow:0 0 0 3px #217d680b}.dash-period{display:flex;background:var(--dash-track);border-radius:7px;padding:3px;gap:3px}.dash-period button,.dash-series-tabs button{border:0;background:transparent;color:var(--ops-muted);font-size:12px;min-height:32px;padding:6px 12px}.dash-period button[aria-pressed=true]{background:var(--ops-surface);color:var(--ops-ink);box-shadow:0 1px 3px #2035500b}.dash-series-tabs{display:flex;gap:3px;flex-wrap:wrap}.dash-series-tabs button[aria-pressed=true]{color:var(--dash-rose);background:#fff0f5}.dash-series-tabs button:hover,.dash-period button:hover{color:var(--ops-ink);filter:none}
.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.dash-metric{--chart-color:var(--dash-rose);position:relative;display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:left;border:1px solid var(--ops-line);background:var(--ops-surface);color:var(--ops-ink);padding:18px 18px 54px;overflow:hidden;border-radius:10px}.dash-metric.navy{--chart-color:var(--dash-navy)}.dash-metric:hover{background:var(--dash-soft);border-color:#cbd5e3;filter:none}.dash-metric-label{display:flex;justify-content:space-between;font-size:12px;font-weight:500;color:var(--ops-muted)}.dash-metric-label>span{color:#9aa8bc}.dash-metric strong{font-size:30px;font-weight:650;line-height:1.2;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.dash-metric strong small{font-size:13px;letter-spacing:0;font-weight:500;margin:0 4px}.dash-metric>small{font-size:11px;color:var(--ops-muted);font-weight:400}.dash-spark{position:absolute;left:18px;bottom:12px;width:calc(100% - 36px);height:30px;overflow:visible;opacity:.66}.dash-spark path{fill:none;stroke:var(--chart-color);stroke-width:1.7;vector-effect:non-scaling-stroke}
.dash-primary{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr);gap:18px;align-items:start}.dash-secondary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:18px;align-items:start}.dash-board .panel{min-width:0}.dash-board .panel>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.dash-board h2{margin:3px 0;font-size:15px}.dash-kicker{font-size:10px;color:var(--ops-muted);letter-spacing:.6px}.dash-link{border:0;background:transparent;color:var(--dash-navy);font-size:11px;padding:5px 0;min-height:30px;font-weight:500;white-space:nowrap}.dash-link:hover{background:transparent;text-decoration:underline;color:var(--dash-navy);filter:none}.dash-link span{margin-left:5px}.dash-chart-total{display:flex;gap:8px;align-items:baseline;margin:10px 0 16px}.dash-chart-total strong{font-size:28px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.dash-chart-total>span{font-size:11px;color:var(--ops-muted)}.dash-chart-total>.dash-link{margin-left:auto}.dash-footnote{font-size:10px;color:var(--ops-muted);line-height:1.6;border-top:1px solid var(--ops-line);padding:12px 0 0;margin:12px 0 0}.dash-sub{font-size:11px;color:var(--ops-muted);line-height:1.6;margin:0 0 16px}
.dash-chart{margin:0;min-width:0}.dash-chart-readout{font-size:11px;color:var(--ops-muted);min-height:20px;margin:0 0 12px;font-variant-numeric:tabular-nums}.dash-plot{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px}.dash-y{display:flex;flex-direction:column;justify-content:space-between;height:180px;text-align:right;font-size:10px;color:#8290a3;line-height:1}.dash-plot-body{position:relative;height:180px;margin:0 8px}.dash-plot svg{display:block;width:100%;height:180px;overflow:visible}.dash-gridline{stroke:var(--dash-grid);stroke-width:1;fill:none;vector-effect:non-scaling-stroke;stroke-dasharray:3 5}.dash-series{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.series-0{stroke:var(--dash-rose);fill:var(--dash-rose)}path.series-0{fill:none}.series-1{stroke:var(--dash-navy);fill:var(--dash-navy)}path.series-1{fill:none;stroke-dasharray:5 4}.series-point{stroke:var(--ops-surface);stroke-width:1;vector-effect:non-scaling-stroke}.dash-hit-points{position:absolute;inset:0}.dash-point{position:absolute;top:0;height:100%;min-height:0;width:calc(100% / 30);max-width:42px;min-width:8px;padding:0;transform:translateX(-50%);border:0;border-radius:0;background:transparent}.dash-point:hover,.dash-point:focus-visible{background:#ec2f6108;filter:none}.dash-point:active{transform:translateX(-50%)}.dash-chart-empty{position:absolute;left:0;right:0;top:35%;text-align:center;font-size:12px;color:var(--ops-muted);background:var(--ops-surface);padding:10px 8px;pointer-events:none}.dash-x{display:flex;justify-content:space-between;margin:12px 8px 0 50px;font-size:10px;color:#8290a3}.dash-data{margin:14px 0 0;font-size:11px}.dash-data summary{cursor:pointer;color:var(--dash-navy);display:list-item;width:fit-content}.dash-data .table-wrap{max-height:260px;overflow:auto;margin-top:10px}.dash-data table{width:100%;min-width:0}.dash-data th{position:sticky;top:0}.dash-data td{height:auto;padding:6px 10px}
.dash-total{font-size:13px;color:var(--ops-muted)}.dash-model-list{display:grid;gap:18px}.dash-model-list>button{display:block;width:100%;text-align:left;background:transparent;border:0;padding:4px 0;color:var(--ops-ink)}.dash-model-list>button:hover{background:var(--dash-soft);filter:none}.dash-model-list>button>span:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px}.dash-model-list strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.dash-model-list b{font-variant-numeric:tabular-nums}.dash-model-list small{display:block;text-align:right;font-size:10px;color:var(--ops-muted);font-weight:400}.dash-meter{display:block;width:100%;height:6px;background:var(--dash-track);border-radius:8px;overflow:hidden;margin:8px 0 4px}.dash-meter i{height:100%;display:block;background:var(--dash-navy);border-radius:8px}.dash-model-list>button:first-child .dash-meter i{background:var(--dash-rose)}.dash-model-empty{min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.dash-model-empty>span{font-size:48px;color:#c1ccdc}.dash-model-empty strong{font-size:13px}.dash-model-empty p{max-width:210px;font-size:11px;color:var(--ops-muted);line-height:1.7}
.dash-gauge{--gauge-color:var(--dash-rose);text-align:center}.dash-gauge.navy{--gauge-color:var(--dash-navy)}.dash-gauge.warn{--gauge-color:var(--dash-amber)}.dash-ring{position:relative;width:140px;height:140px;margin:auto}.dash-ring svg{width:100%;height:100%}.ring-track,.ring-value{fill:none;stroke-width:7}.ring-track{stroke:var(--dash-track)}.ring-value{stroke:var(--gauge-color);stroke-linecap:round}.dash-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:4px}.dash-ring strong{font-size:26px;letter-spacing:-.7px;line-height:1.2;font-variant-numeric:tabular-nums}.dash-ring strong small{font-size:12px;letter-spacing:0;margin-left:2px}.dash-ring span{font-size:10px;color:var(--ops-muted)}.dash-gauge>p{font-size:11px;color:var(--ops-muted);margin:9px 0 0;line-height:1.6}.dash-gauge>p strong{color:var(--ops-ink);font-weight:600}.dash-completion-body{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center}.dash-task-counts>div{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--ops-line);font-size:12px}.dash-task-counts>div:last-child{border:0}.dash-incidents article{display:flex;gap:12px;align-items:start;border-top:1px solid var(--ops-line);padding:12px 0}.dash-incidents article:first-child{border:0;padding-top:0}.dash-incident-mark{background:#fff5e8;color:var(--dash-amber);font-size:12px;border-radius:6px;width:24px;height:24px;flex:0 0 24px;text-align:center;padding-top:4px}.dash-incidents article>div{min-width:0;flex:1}.dash-incidents strong{font-size:12px;font-weight:600}.dash-incidents p{font-size:11px;color:var(--ops-muted);line-height:1.65;margin:4px 0;overflow-wrap:anywhere}.dash-calm{display:flex;align-items:center;gap:16px;background:var(--dash-soft);padding:20px;border-radius:8px;min-height:126px}.dash-calm>span{font-size:18px;color:var(--dash-green);background:#eaf5f0;border-radius:50%;padding:6px 11px}.dash-calm strong{font-size:13px;font-weight:600}.dash-calm p{font-size:11px;color:var(--ops-muted);margin:6px 0 0;line-height:1.6}
.dash-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.dash-service{display:flex;align-items:center;gap:12px;background:var(--ops-surface);border:1px solid var(--ops-line);border-radius:10px;padding:16px}.dash-service-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;background:#eff3f9;border-radius:10px;color:var(--dash-navy);font-size:21px}.dash-service h2{font-size:12px;margin:0 0 7px}.dash-service small{display:block;color:var(--ops-muted);font-size:10px;margin-top:6px}.dash-instruments{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.dash-instruments .panel{display:flex;flex-direction:column}.dash-instruments .panel>header{align-items:start}.dash-instruments .dash-footnote{margin-top:auto;padding-top:12px}.dash-instruments .dash-gauge{margin-bottom:16px}.dash-dual-gauges{display:flex;justify-content:space-evenly;gap:8px}.dash-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--ops-muted)}.dash-legend span:before{content:'';display:inline-block;width:10px;height:3px;background:var(--dash-rose);vertical-align:middle;margin-right:5px}.dash-legend span+span:before{background:var(--dash-navy)}.dash-queue-total{display:flex;align-items:baseline;gap:8px;margin:10px 0 18px}.dash-queue-total strong{font-size:34px;line-height:1.1;font-variant-numeric:tabular-nums}.dash-queue-total span{font-size:11px;color:var(--ops-muted)}.dash-queue-bar{display:flex;background:var(--dash-track);height:9px;border-radius:5px;overflow:hidden}.dash-queue-bar i{background:var(--dash-rose)}.dash-queue-bar b{background:var(--dash-navy)}.dash-queue dl,.dash-checks{display:grid;grid-template-columns:1fr auto;gap:14px 12px;margin:20px 0 4px;font-size:12px}.dash-queue dt,.dash-checks dt{color:var(--ops-muted)}.dash-queue dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.dash-checks{grid-template-columns:130px minmax(0,1fr);font-size:11px;line-height:1.6}.dash-checks dd{margin:0}.dash-checks small{display:block;color:var(--ops-muted);font-size:10px;margin-top:3px}.dash-checks .dash-status+.dash-status{margin-left:10px}
@media(max-width:1250px){.dash-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-instruments{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-instruments>.panel:first-child{grid-column:1/-1}.dash-instruments>.panel:first-child .dash-dual-gauges{justify-content:center;gap:70px}.dash-primary{grid-template-columns:minmax(0,1.65fr) minmax(210px,1fr)}.dash-metric{padding:15px 14px 48px}.dash-metric strong{font-size:25px}.dash-completion-body{gap:10px;grid-template-columns:125px 1fr}.dash-completion .dash-ring{width:120px;height:120px}}
@media(max-width:950px){.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-primary,.dash-secondary{grid-template-columns:1fr}.dash-model-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}.dash-model-empty{grid-column:1/-1;min-height:160px}.dash-instruments .dash-footnote{margin-top:8px}}
@media(max-width:560px){.dash-toolbar{align-items:start}.dash-toolbar>div:first-child{gap:5px;flex-direction:column;align-items:start}.dash-period button{padding:5px 8px;white-space:nowrap}.dash-metrics{gap:10px}.dash-metric strong{font-size:23px}.dash-metric>small{font-size:10px}.dash-board .panel>header{flex-wrap:wrap}.dash-service-grid{gap:10px}.dash-service{padding:12px;gap:8px}.dash-service-icon{display:none}.dash-instruments{grid-template-columns:1fr}.dash-instruments>.panel:first-child .dash-dual-gauges{gap:20px}.dash-metric-label{font-size:11px}.dash-chart-total strong{font-size:24px}.dash-model-list{grid-template-columns:1fr}.dash-checks{grid-template-columns:96px minmax(0,1fr)}.dash-chart-readout{font-size:10px}.dash-plot{grid-template-columns:32px minmax(0,1fr)}.dash-x{margin-left:40px}.dash-plot svg,.dash-plot-body,.dash-y{height:155px}}
@media(prefers-reduced-motion:reduce){.dash-board *{transition:none!important;animation:none!important}.dash-board button:active{transform:none}}
.dash-metric strong small,.dash-ring strong small{display:inline}
.dash-meter .meter-track{fill:var(--dash-track)}.dash-meter .meter-value{fill:var(--dash-navy)}.dash-model-list>button:first-child .meter-value{fill:var(--dash-rose)}
.dash-queue-bar{display:block;width:100%}.queue-track{fill:var(--dash-track)}.queue-running{fill:var(--dash-rose)}.queue-waiting{fill:var(--dash-navy)}
.dash-hit-points{display:flex;justify-content:space-between}.dash-point{position:static;flex:0 1 16px;width:16px;max-width:16px;min-width:0;transform:none}.dash-point:active{transform:none}
@media(min-width:1051px) and (max-width:1250px){.dash-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-service{padding:14px;gap:8px}.dash-service-icon{width:28px;flex-basis:28px}.dash-instruments{grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr))}.dash-instruments>.panel:first-child{grid-column:auto}.dash-instruments>.panel:first-child .dash-dual-gauges{gap:6px}.dash-instruments .dash-ring{width:112px;height:112px}.dash-instruments .panel>header{gap:6px;flex-wrap:wrap}}
