/* One-screen operations board. Layout only; colours and type come from styles.css tokens. */
.board-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 auto 6px}
.board-head .eyebrow{margin-bottom:6px}
.board-head h2{margin:0;font-size:clamp(20px,2vw,26px);letter-spacing:-.04em;line-height:1.05}
.board-head .demo-controls{flex-wrap:wrap;justify-content:flex-end}
.board-head .button.compact{min-height:38px;padding-inline:13px;font-size:12px}
.board{background:var(--bg-elevated);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.board-toolbar{display:flex;align-items:center;gap:14px;padding:9px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.board-case{display:flex;align-items:center;gap:10px;flex:0 1 340px;min-width:220px}
.board-case > span{color:var(--text-faint);font:600 9px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.board-case select{width:100%;min-height:36px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:9px;background:var(--bg-elevated);color:var(--text);font:inherit;font-size:12px}
.board-toolbar .case-identity b{font-size:12px}
.board-toolbar .case-identity small{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.board-toolbar .run-counter small{font-size:10px}
.board-toolbar .run-counter span{font-size:19px}
.board-toolbar .boundary-chip{padding:6px 10px;font-size:10px}
.more-menu{position:relative}
.more-menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center}
.more-menu summary::-webkit-details-marker{display:none}
.more-menu summary::after{content:"";width:6px;height:6px;margin-left:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.more-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:220px;padding:6px;display:grid;background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.more-menu-list button,.more-menu-list a{all:unset;cursor:pointer;padding:9px 10px;border-radius:8px;font-size:12px;color:var(--text)}
.more-menu-list button:hover,.more-menu-list a:hover,.more-menu-list button:focus-visible,.more-menu-list a:focus-visible{background:var(--surface)}
.more-menu-list a{color:var(--brand)}
/* Horizontal stepper reusing the .journey state classes set by app.js */
.stepper{display:flex;gap:6px;margin:0;padding:7px 16px;border-bottom:1px solid var(--line);list-style:none}
.board .autonomy-rail{padding:8px 16px;grid-template-columns:minmax(260px,1.6fr) repeat(4,minmax(96px,.6fr))}
.board .autonomy-rail dl div{min-height:38px}
.autonomy-wait{display:block;margin-top:2px;color:var(--text-faint);font-size:10px}
.autonomy-wait em{font-style:normal;color:var(--text)}
.stepper li{flex:1 1 0;min-height:0;display:grid;grid-template-columns:22px 1fr;align-items:center;gap:8px;position:relative;opacity:.38}
.stepper li::after{content:"";position:absolute;top:12px;left:calc(100% - 4px);width:10px;height:1px;bottom:auto;background:var(--line)}
.stepper li:last-child::after{display:none}
.stepper li > span{width:24px;height:24px;font-size:10px}
.stepper li div{padding-top:0}
.stepper li b{font-size:11px;line-height:1.15;font-weight:600}
.stepper li small{font-size:8px}
.stepper li.complete,.stepper li.active{opacity:1}
.stepper li.active > span{box-shadow:0 0 0 4px var(--brand-soft)}
/* Three columns with a fixed board height so everything is visible without page scrolling */
.board-grid{display:grid;grid-template-columns:228px minmax(0,1fr) 300px;align-items:stretch}
.board-grid > *{min-height:0;min-width:0}
.board-act{padding:14px 16px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface) 62%,var(--bg-elevated))}
.board-act h3{margin:0 0 8px;font-size:12px;letter-spacing:-.02em;color:var(--text-soft)}
.board-act .wake-heading h4{font-size:12px;color:var(--text-soft)}
.board-act .button.full{margin-top:0;min-height:42px;font-size:13px}
.board-act .control-note{margin:8px 0 0}
.board-act .wake-panel{margin-top:12px;padding-top:10px}
.board-act .wake-heading{flex-wrap:wrap}
.board-act .wake-row{padding:6px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.board-act .wake-row:last-child{border-bottom:0}
.board-act .worker-status{margin-top:8px}
.board-act .button.compact.full{min-height:32px;font-size:10px;padding-inline:8px}
.board-evidence{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:auto auto;gap:12px;padding:14px 16px;align-content:start}
.evidence-cell{min-width:0;padding:12px 14px;border:0;border-radius:16px;background:color-mix(in srgb,var(--surface) 55%,var(--bg-elevated))}
.evidence-cell.review{background:var(--bg-elevated);border:1px solid var(--line)}
.evidence-cell.review{grid-column:1 / -1}
.evidence-cell h4{margin:0 0 8px;color:var(--text-soft);font:600 11px/1.2 inherit;font-family:inherit;letter-spacing:-.01em}
.cell-note{margin:8px 0 0;color:var(--text-faint);font-size:9.5px;line-height:1.45}
.cell-note a{color:var(--brand)}
.evidence-cell .metric-row{border:0;background:var(--bg-elevated)}
.evidence-cell .metric-row div{padding:8px 10px;border-color:var(--line)}
.evidence-cell .metric-row strong{font-size:14px}
.evidence-cell .chart-wrap{height:104px;margin-top:6px;padding-top:0}
.evidence-cell .chart-wrap svg{width:100%;height:100%}
.evidence-cell .evidence-callout{margin-top:6px;padding:6px 10px;align-items:center}
.evidence-cell .evidence-callout div{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.evidence-cell .evidence-callout p{margin:0}
.evidence-cell .evidence-callout .shield{width:18px;height:22px;flex-basis:18px;border-radius:9px 9px 12px 12px}
.evidence-cell .evidence-callout b{font-size:10px}
.evidence-cell .evidence-callout p{font-size:9px}
/* Compact package label instead of the tall bottle */
.evidence-cell .package-preview{width:auto;margin:0 0 8px;filter:none}
.evidence-cell .package-label{min-height:0;padding:9px 11px;border-radius:9px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;column-gap:10px;row-gap:2px;align-items:baseline}
.evidence-cell .package-label small{grid-column:1 / -1}
.evidence-cell .package-label b{margin:2px 0 0;font-size:13px;line-height:1.1}
.evidence-cell .package-label span{margin:0;font-size:10px;text-align:right}
.evidence-cell .package-label i{margin:0;font-size:8px}
.evidence-cell .package-label code{margin:0;font-size:8px;text-align:right}
.evidence-cell .verified-fields{display:flex;flex-wrap:wrap;gap:6px}
.evidence-cell .verified-field{display:inline-flex;align-items:baseline;gap:5px;padding:4px 9px;border:0;border-radius:999px;background:var(--bg-elevated);max-width:100%}
.evidence-cell .verified-field span{display:inline;font-size:8px;letter-spacing:.08em}
.evidence-cell .verified-field b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.evidence-cell .injection-screen{margin:8px 0 0;padding:7px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline}
.evidence-cell .injection-screen b{font-size:10px}
.evidence-cell .injection-screen span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.evidence-cell .injection-screen.clean b::before,.evidence-cell .injection-screen.flagged b::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#26c281}
.evidence-cell .injection-screen.flagged b::before{background:var(--danger)}
.evidence-cell .source-link{display:none}
.evidence-cell .empty-review,.evidence-cell .review-packet{min-height:0;padding:10px 14px;justify-content:flex-start}
.evidence-cell .empty-review{padding:14px;min-height:84px;justify-content:center}
.evidence-cell .empty-review h3{font-size:13px}
.evidence-cell .empty-review p{margin:4px 0 0;font-size:10px}
.evidence-cell .review-packet .eyebrow{margin-bottom:4px;font-size:8px}
.evidence-cell .review-packet h3{margin:0 0 4px;font-size:14px}
.evidence-cell .review-packet .packet-row{padding:4px 0;font-size:10px}
.evidence-cell .review-packet .human-stamp{margin-top:6px;padding:6px 10px;font-size:9px}
.evidence-cell .review-packet > p{margin:6px 0 0;font-size:10px}
.evidence-cell.review .review-packet{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
.evidence-cell.review .review-packet .eyebrow,.evidence-cell.review .review-packet h3,.evidence-cell.review .review-packet .human-stamp,.evidence-cell.review .review-packet > p{grid-column:1 / -1}
.board-timeline{padding:12px 14px 10px;display:flex;flex-direction:column;max-height:100%}
.board-timeline .activity-heading h3{font-size:13px}
.board-timeline .timeline{flex:1 1 0;min-height:120px;max-height:none;padding:8px 0;overflow-y:auto}
.board-timeline .timeline-item{padding-bottom:10px}
.board-timeline .timeline-copy h4{font-size:11px}
.board-timeline .timeline-copy p{font-size:9px}
.board-timeline .audit-footer{padding-top:8px}
@media(max-width:1180px){.board-grid{grid-template-columns:220px minmax(0,1fr);height:auto}.board-timeline{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line);max-height:420px}.board-evidence{grid-template-columns:1fr}.evidence-cell.review{grid-column:auto}}
@media(max-width:820px){.board-grid{grid-template-columns:1fr}.board-act{border-right:0;border-bottom:1px solid var(--line)}.stepper{flex-wrap:wrap}.stepper li{flex:1 1 30%}.stepper li::after{display:none}.board-toolbar-actions{margin-left:0}.evidence-cell.review .review-packet{grid-template-columns:1fr}}
@media(max-width:420px){.site-header{padding-inline:10px}.site-header nav{min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:6px}}

/* Guided stages: show only what the current step needs; "Show everything" reveals the full board. */
.stage-bar{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 14px;border-radius:12px;background:var(--brand-soft);color:var(--text)}
.stage-bar p{margin:0;font-size:12px;line-height:1.45}
.show-all{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--text-soft);font-size:10px;cursor:pointer}
.show-all input{accent-color:var(--brand)}
.stage-card .stage-big{margin:2px 0 6px;font-size:22px;font-weight:700;letter-spacing:-.03em;line-height:1.1}
.stage-card .wake-list{margin-top:10px}
.stage-card .wake-row{padding:6px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.stage-card .worker-status{margin-top:10px}
.stage-facts{margin:8px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.stage-facts div{padding:8px 10px;border-radius:10px;background:var(--bg-elevated)}
.stage-facts dt{color:var(--text-faint);font:600 8px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em}
.stage-facts dd{margin:4px 0 0;font-size:15px;font-weight:700}
.board[data-stage] .evidence-cell{display:none}
.board[data-stage=monitoring] #tab-temperature{display:block;grid-column:1 / -1}
.board[data-stage=review] #tab-medicine,.board[data-stage=review] #tab-review{display:block}
.board[data-stage=review] #tab-review{grid-column:auto}
.board[data-stage=background] #stage-background{display:block;grid-column:1 / -1}
.board[data-stage=closed] #stage-closed{display:block;grid-column:1 / -1}
.board[data-stage=closed] #tab-review{display:block}
.board[data-show-all=true] .evidence-cell:not(.stage-card){display:block}
.board[data-show-all=true] #tab-temperature{grid-column:auto}
.board[data-show-all=true] #tab-review{grid-column:1 / -1}
.board[data-show-all=true] .stage-card{display:none}
.board:not([data-show-all=true]) .timeline-item:nth-child(n+4){display:none}
.board[data-stage=background]:not([data-show-all=true]) .board-act .wake-panel{display:none}
.board[data-stage=monitoring]:not([data-show-all=true]) .board-act .wake-panel{display:none}
.board[data-stage=outage] #tab-temperature{display:block;grid-column:1 / -1}
