.operator-shell{max-width:1080px;padding-top:22px}
.work-accounting{margin:9px 0;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface,#fff)}
.work-accounting-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;color:var(--muted);font-size:.78rem}
.work-accounting-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:9px}
.work-accounting-values>div{min-width:0}.work-accounting-values span,.work-accounting-values strong,.work-accounting-values small{display:block}
.work-accounting-values span{font-weight:750;font-size:.92rem}.work-accounting-values strong{font-size:1.4rem;font-variant-numeric:tabular-nums}.work-accounting-values small{color:var(--muted);font-size:.78rem}
.work-accounting-freshness{margin:4px 0 0;color:var(--muted);font-size:.76rem}.work-accounting-basis{margin:8px 0 0;color:var(--muted);font-size:.76rem}.work-accounting-incomplete{margin:6px 0 0;font-size:.82rem;font-weight:750}
.work-stop-details{margin:5px 0 10px;color:var(--muted);font-size:.82rem}.work-stop-details>summary{cursor:pointer}.work-stop-details>p{margin:6px 0}.work-stop-details .daily-time-strip{display:block}.work-stop-details .daily-time-strip>div{grid-template-columns:repeat(3,minmax(0,1fr))}
html[data-theme="light"] .operator-workstation-page .work-stop-details>summary,html[data-theme="light"] .operator-workstation-page .work-stop-details>p{color:var(--ink)}
.operator-header{display:flex;align-items:center;gap:18px;margin-bottom:14px}
.operator-header h1{margin:0;font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:-.035em}
.operator-header p{margin:3px 0 0;color:var(--muted);font-size:1rem}
.operator-kicker{display:block;color:#667085;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.operator-header-actions{display:flex;gap:8px;margin-left:auto}
.icon-control{display:inline-flex;min-width:76px;min-height:52px;align-items:center;justify-content:center;gap:7px;padding:8px 12px;border:1px solid #cfd8e5;border-radius:12px;background:#fff;color:#17202f;font:inherit;font-weight:850;text-decoration:none;cursor:pointer}
.icon-control:hover,.icon-control:focus-visible{border-color:#84adff;background:#f5f8ff}
.icon-glyph{font-size:1.35rem;line-height:1}
.line-chooser{display:grid;grid-template-columns:auto minmax(220px,360px);align-items:center;gap:12px;margin:10px 0;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.line-chooser label{font-weight:850}
.line-chooser select{min-height:44px}
.station-identity{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.station-identity-main{min-width:0}
.station-identity h2{margin:2px 0 0;font-size:clamp(1.15rem,3vw,1.45rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.station-identity p{margin:2px 0 0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.station-badge{margin-left:auto;text-align:right;white-space:nowrap}
.station-badge strong,.station-badge span{display:block}
.station-badge strong{font-size:1.08rem}
.workstation-layout{display:block}
.workstation-status-panel{min-width:0}
.floor-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0;padding:10px 13px;border:1px solid #b8c7dc;border-radius:13px;background:#f8fbff}.floor-status>div{min-width:0}.floor-status strong,.floor-status small{display:block}.floor-status strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floor-status small{margin-top:2px;color:var(--muted);font-size:.8rem}.floor-status .route-lock{padding-left:11px;border-left:1px solid #cfd8e5}
.timer-deck{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:1.35fr repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;padding:10px;border:1px solid #c8d5e6;border-radius:16px;background:#eef4f9f2;box-shadow:0 8px 24px #172b4d14;backdrop-filter:blur(8px)}
.timer-tile{min-width:0;padding:11px 13px;border:1px solid #d6deea;border-radius:12px;background:#fff}
.timer-tile span,.timer-tile small{display:block;color:var(--muted)}
.timer-tile strong{display:block;margin:2px 0;font-size:clamp(1.45rem,4vw,2.15rem);font-variant-numeric:tabular-nums;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timer-tile.primary{border-color:#84adff;background:#f5f8ff}
.timer-tile.primary strong{font-size:clamp(2.15rem,7vw,3.6rem)}
.timer-tile.good{border-color:#86d9a8;background:#f2fff7}.timer-tile.warn{border-color:#f5c16c;background:#fffaf0}.timer-tile.bad{border-color:#fda29b;background:#fff6f5}
.scan-workflow{margin:12px 0;padding:16px 18px;border:2px solid #b8c7dc;border-radius:16px;background:#fff}
.daily-time-strip{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin:9px 0;padding:10px 14px;border:1px solid #b8c7dc;border-radius:13px;background:#f8fbff}.daily-time-strip>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.daily-time-item{min-width:0;padding-left:10px;border-left:1px solid #cfd8e5}.daily-time-item span,.daily-time-item strong{display:block}.daily-time-item>span{display:flex;align-items:baseline;justify-content:space-between;gap:7px;color:var(--muted);font-size:.75rem;font-weight:750}.daily-time-item small{color:var(--ink);font-size:.72rem;font-weight:900;white-space:nowrap}.daily-time-item strong{margin-top:2px;font-size:1.12rem;font-variant-numeric:tabular-nums}
.scan-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.scan-head h2{margin:0;font-size:1.25rem}.scan-head .status{margin-left:auto}
.ready-queue{display:flex;align-items:center;gap:11px;margin-bottom:10px;padding:9px 11px;border:1px solid #d6deea;border-radius:12px;background:#f7f9fc}.ready-queue.available{border-color:#86d9a8;background:#ecfdf3}.ready-queue-count{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:#e4e7ec;color:#344054;font-size:1.35rem;font-weight:950}.ready-queue.available .ready-queue-count{background:#12b76a;color:#fff}.ready-queue strong,.ready-queue small{display:block}.ready-queue small{margin-top:1px;color:var(--muted)}
.workstation-complete{display:flex;align-items:center;gap:16px;min-height:220px;margin:0;padding:24px;border:2px solid #12b76a;border-radius:16px;background:#ecfdf3}.workstation-complete h2{margin:2px 0 4px;font-size:1.65rem}.workstation-complete p{margin:0 0 4px;font-size:1.05rem;font-weight:800}.workstation-complete small{display:block;color:#37634b}.workstation-complete .btn{margin-left:auto;min-width:170px}.complete-symbol{display:grid;place-items:center;flex:0 0 62px;height:62px;border-radius:50%;background:#12b76a;color:#fff;font-size:2rem;font-weight:950}
.workstation-complete.needs-review{border-color:#d97706;background:#fffbeb}.workstation-complete.needs-review small{color:#78350f}.workstation-complete.needs-review .complete-symbol{background:#fbbf24;color:#422006}
html:not([data-theme="light"]) .operator-workstation-page .workstation-complete.needs-review{background:#422d12;border-color:#d99b34}html:not([data-theme="light"]) .operator-workstation-page .workstation-complete.needs-review small{color:#fde6b1}
.next-order-inline{display:grid;gap:2px;margin-top:13px;padding-top:11px;border-top:1px solid #86d9a8}.next-order-inline strong{font-size:.95rem}.next-assignment-card{display:flex;align-items:center;gap:16px;min-height:190px;padding:24px;border:2px solid #84adff;border-radius:16px;background:#eff4ff}.next-assignment-card.waiting{border-color:#fdb022;background:#fffaeb}.next-assignment-card.ready{border-color:#12b76a;background:#ecfdf3}.next-assignment-card h2{margin:2px 0 4px;font-size:1.55rem}.next-assignment-card p{margin:0 0 4px;font-weight:850}.next-assignment-card small{display:block;color:#475467}.next-assignment-card>.status,.next-assignment-card>.btn{margin-left:auto;flex:0 0 auto}.next-assignment-symbol{display:grid;place-items:center;flex:0 0 56px;height:56px;border-radius:50%;background:#2e6bed;color:#fff;font-size:1.7rem;font-weight:950}.next-assignment-card.waiting .next-assignment-symbol{background:#f79009}.next-assignment-card.ready .next-assignment-symbol{background:#12b76a}
.scan-panel{padding:14px;border-radius:13px;background:#f7f9fc}.scan-panel.success{background:#ecfdf3}.scan-panel.danger{background:#fef3f2}.scan-panel.warning{background:#fff8e7}
.scan-workflow.compact-ready{padding-top:10px;padding-bottom:9px}.compact-ready .scan-head{margin-bottom:6px}.compact-ready .scan-panel{padding:8px 10px}.compact-ready .scan{min-height:50px}.compact-ready .primary-work-button{min-height:50px}.compact-ready .keyboard-strip{margin-top:5px}
.scan-feedback{display:flex;align-items:center;gap:10px;margin-bottom:12px}.scan-feedback strong,.scan-feedback span{display:block}.scan-feedback strong{font-size:1.08rem}.scan-symbol{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#e4e7ec;font-weight:900}.scan-panel.success .scan-symbol{background:#12b76a;color:#fff}.scan-panel.danger .scan-symbol{background:#d92d20;color:#fff}.scan-panel.warning .scan-symbol{background:#f79009;color:#101828}
.scan-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.scan{min-height:58px;font-size:1.3rem;border-width:2px}.scan-buttons{display:flex;gap:8px}.primary-work-button{min-height:58px;padding-inline:22px;font-size:1.05rem}.active-unit-row{display:flex;align-items:center;gap:14px}.active-unit-row>div{min-width:0}.active-unit{display:block;font-size:clamp(1.45rem,5vw,2.2rem);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-unit-row .btn{margin-left:auto;min-height:64px;min-width:230px;font-size:1.08rem}\n.compact-scan-ready{display:flex;align-items:center;gap:10px}.compact-scan-ready>span{margin-right:auto;color:var(--muted);font-weight:750}.compact-scan-ready .btn{min-height:40px;padding:7px 12px}
.keyboard-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;color:var(--muted);font-size:.82rem}.key{display:inline-block;min-width:24px;padding:2px 6px;border:1px solid #cfd8e5;border-bottom-width:2px;border-radius:5px;background:#fff;color:#344054;font-weight:850;text-align:center}
.quick-actions{display:grid;grid-template-columns:repeat(var(--quick-count,4),minmax(0,1fr));gap:10px;margin:12px 0}.quick-actions .btn{min-height:58px;padding:10px;font-size:1rem}.quick-actions .break{background:#344054}.quick-actions .meal{background:#475467}.quick-actions .blocked{background:#b54708}.quick-actions .output-full{background:#b42318}.quick-actions .upstream{background:#9a3412}
.paused-panel{display:flex;align-items:center;gap:14px;margin:12px 0;padding:14px 16px;border:2px solid #f5c16c;border-radius:14px;background:#fff8e7}.paused-panel strong,.paused-panel span,.paused-panel small{display:block}.paused-panel small{margin-top:3px}.paused-panel .btn{margin-left:auto;min-height:54px}
.workstation-action-bar{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:12px 0}.workstation-action-bar>.btn,.workstation-action-bar .secondary-actions>summary{min-height:48px}.issue-shortcut{border:2px solid currentColor;background:#fff}.issue-shortcut.scrap{color:#b42318}.issue-shortcut.hold{color:#b54708}.issue-shortcut.loose{color:#175cd3;border-color:#84adff;background:#f5f8ff}.issue-shortcut:hover,.issue-shortcut:focus-visible{background:#fff8f3}
.secondary-actions{position:relative;margin:0;min-width:0}.secondary-actions>summary{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid #cfd8e5;border-radius:12px;background:#fff;font-weight:850;cursor:pointer;list-style:none}.secondary-actions>summary::-webkit-details-marker{display:none}.secondary-panel{position:absolute;z-index:18;right:0;bottom:calc(100% + 7px);display:grid;width:min(620px,calc(100vw - 32px));grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;border:1px solid #cfd8e5;border-radius:12px;background:#fff;box-shadow:0 16px 42px #10182833}.secondary-panel .btn{min-height:50px}
.issue-card{padding:13px;border:1px solid #dfe4ea;border-radius:11px;background:#fbfcfe}.issue-card .field{margin-top:8px}.issue-card-dialog{padding:0;border:0;background:transparent}.material-disposition-top,.issue-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.affected-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px;padding:10px;border:1px solid #dfe4ea;border-radius:10px;background:#fff}.affected-components>strong,.affected-components>.notice{grid-column:1/-1}.affected-component{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px;border:1px solid #eef2f6;border-radius:8px}.affected-component span{display:grid}.affected-component small{color:var(--muted)}.affected-components>strong small{display:block;margin-top:2px;color:var(--muted);font-weight:600}.scrap-stepper{display:grid;grid-template-columns:44px 58px 44px;align-items:center}.scrap-stepper button{height:44px;border:1px solid #b8c4d4;background:#f8fafc;color:#172b4d;font-size:1.2rem;font-weight:900;cursor:pointer}.scrap-stepper button:first-child{border-radius:8px 0 0 8px}.scrap-stepper button:last-child{border-radius:0 8px 8px 0}.scrap-stepper input[type=number]{min-width:0;height:44px;padding:5px;text-align:center;border-left:0;border-right:0;border-radius:0}.material-context{margin-bottom:8px}.material-context-value{min-height:43px;padding:11px 12px;border:1px solid #cfd8e5;border-radius:10px;background:#f8fafc;font-weight:750}
.manual-materials{display:grid;gap:7px;grid-column:1/-1}.compact-copy{margin:0}.manual-material-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(160px,1.4fr) 90px 34px;gap:7px;align-items:center}.manual-material-row input{min-width:0;padding:8px}.remove-material{width:34px;height:34px;border:0;border-radius:8px;background:#eef2f6;color:#344054;font-size:1.25rem;cursor:pointer}.add-material{grid-column:1/-1;justify-self:start}
.bom-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.bom-item{padding:14px;border:1px solid #cfd8e5;border-left:5px solid #2e6bed;border-radius:11px;background:#fff}.bom-item strong,.bom-item span{display:block}.bom-item small{color:var(--muted)}
.operator-dialog{width:min(680px,calc(100% - 24px));max-height:90vh;padding:0;border:0;border-radius:17px;box-shadow:0 24px 80px #10182855}.operator-dialog::backdrop{background:#10182888}.dialog-panel{padding:20px;overflow:auto}.dialog-head{display:flex;align-items:flex-start;gap:12px}.dialog-head h2{margin:1px 0 0}.dialog-head .help-close{margin-left:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:18px}.dialog-panel>.field{margin-top:12px}
.idle-warning-dialog{border:2px solid #f79009}.idle-warning-dialog .dialog-panel{background:#fffaeb}.idle-warning-dialog .dialog-actions .btn{min-width:180px}
.material-issue-dialog{width:min(760px,calc(100% - 20px));max-height:calc(100vh - 20px)}.material-issue-dialog .dialog-panel{display:flex;max-height:calc(100vh - 20px);flex-direction:column;padding:16px}.material-issue-dialog .dialog-head h2{font-size:1.45rem}.material-issue-dialog .dialog-head+p{margin:5px 0 8px}.material-issue-error{display:none;margin:0 0 8px;padding:8px 10px;border:1px solid #fda29b;border-radius:9px;background:#fef3f2;color:#b42318;font-weight:750}.material-issue-error.visible{display:block}.material-issue-content{min-height:0;overflow:auto}.material-issue-dialog .dialog-actions{flex:0 0 auto;margin-top:10px}.material-issue-dialog .dialog-actions .btn{min-width:160px}
.metric-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 0;padding:12px;border:1px solid #d6deea;border-radius:12px}.metric-choices legend{padding:0 6px;font-weight:850}.metric-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:70px;align-items:center;gap:9px;padding:8px 10px;border:1px solid #e4e7ec;border-radius:9px;background:#fff}.metric-choice label{display:flex;align-items:center;gap:9px;cursor:pointer}.metric-choice input{width:22px;min-height:22px}.metric-choice span,.metric-choice small{display:block}.metric-choice small{color:var(--muted)}.metric-choice select{width:auto;min-width:126px;min-height:42px}
.control-help{position:fixed;z-index:30;right:18px;top:112px;width:min(320px,calc(100% - 28px));padding:18px 42px 17px 18px;border:1px solid #84adff;border-radius:14px;background:#172b4d;color:#fff;box-shadow:0 18px 48px #10182844;opacity:0;transform:translateX(24px);pointer-events:none;transition:.16s}.control-help.visible{opacity:1;transform:none;pointer-events:auto}.control-help strong{display:block;font-size:1.05rem}.control-help p{margin:6px 0 10px;color:#d6e2f5}.control-help small{color:#b9c9df}.help-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#eef2f6;color:#344054;font:inherit;font-size:1.4rem;cursor:pointer}.control-help .help-close{position:absolute;right:8px;top:8px;background:#ffffff22;color:#fff}
.claim-card{display:flex;flex-direction:column;gap:8px;border-left:5px solid #2e6bed}.claim-card .btn{width:100%;margin-top:auto}.terminal-card{border-color:#86d9a8}.notice.compact{margin:10px 0}.no-run{padding:26px;text-align:center}

/* Floor workstations are intentionally rendered at the density operators
   approved while testing Chrome at 80%. Keep browser zoom at 100%. */
@media (min-width:561px) and (orientation:landscape){
  body.operator-workstation-page{zoom:.8}
}
@media (min-width:561px) and (orientation:portrait){
  body.operator-workstation-page{zoom:.74}
}

/* Floor displays: keep the complete active-work view inside a 16:9 viewport.
   The same compact rules also support a 16:9 monitor mounted vertically. */
@media (min-width:561px) and (max-height:1100px){
  .sandbox{min-height:32px;padding:6px 12px;font-size:.72rem}
  .operator-shell{max-width:1180px;padding:9px 16px 14px}
  .operator-header{min-height:52px;margin-bottom:7px}
  .operator-header h1{font-size:1.7rem}
  .operator-header p{margin-top:0;font-size:.88rem}
  .icon-control{min-height:44px}
  .line-chooser{margin:6px 0;padding:6px 10px}
  #msg .notice,#notices .notice{margin:6px 0;padding:7px 10px}
  .station-identity{min-height:58px;padding:7px 12px}
  .station-identity h2{font-size:1.05rem}
  .station-identity p{font-size:.78rem}
  .station-badge strong{font-size:.95rem}
  .floor-status{gap:6px;margin:6px 0;padding:7px 9px}.floor-status strong{font-size:.82rem}.floor-status small{font-size:.68rem}
  .scan-workflow{margin:7px 0;padding:9px 11px}
  .scan-head{margin-bottom:6px}.scan-head h2{font-size:1.05rem}
  .ready-queue{gap:7px;margin-bottom:6px;padding:6px 8px}.ready-queue-count{flex-basis:32px;height:32px;font-size:1rem}.ready-queue strong{font-size:.85rem}.ready-queue small{font-size:.68rem}
  .workstation-complete{min-height:176px;gap:11px;padding:16px}.complete-symbol{flex-basis:46px;height:46px;font-size:1.5rem}.workstation-complete h2{font-size:1.35rem}.workstation-complete p{font-size:.9rem}.workstation-complete small{font-size:.72rem}.workstation-complete .btn{min-width:145px}
  .scan-panel{padding:8px 10px}
  .scan-feedback{gap:7px;margin-bottom:6px}
  .scan-feedback strong{font-size:.95rem}.scan-feedback span{font-size:.78rem}
  .scan-symbol{flex-basis:28px;height:28px}
  .scan{min-height:46px;font-size:1.08rem}
  .primary-work-button{min-height:46px;padding-inline:14px;font-size:.92rem}
  .active-unit-row .btn{min-height:48px;min-width:190px}
  .keyboard-strip{margin-top:5px;font-size:.7rem}
  .timer-deck{position:static;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:7px 0;padding:6px;border-radius:12px}
  .timer-tile{padding:6px 8px;border-radius:9px}
  .timer-tile span{font-size:.72rem}.timer-tile small{font-size:.64rem}
  .timer-tile strong,.timer-tile.primary strong{margin:0;font-size:1.45rem}
  .operator-experience{margin:7px 0;padding:8px 10px}
  .operator-experience>.row{flex-wrap:nowrap}
  .operator-experience h2{font-size:.92rem;white-space:nowrap}
  .operator-experience .pill{margin-left:auto;font-size:.68rem}
  .operator-experience .grid.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important;margin-top:6px!important}
  .operator-experience .metric{padding:6px 8px}
  .operator-experience .metric span{font-size:.7rem}
  .operator-experience .metric strong{margin:0;font-size:1rem}
  .operator-experience .metric small{display:none}
  .quick-actions,.quick-actions.has-upstream{grid-template-columns:repeat(var(--quick-count,4),minmax(0,1fr));gap:6px;margin:7px 0}
  .quick-actions .btn{min-height:46px;padding:7px;font-size:.82rem}
  .workstation-action-bar{gap:6px;margin:7px 0}
  .workstation-action-bar>.btn,.workstation-action-bar .secondary-actions>summary{min-height:42px;padding:7px 10px;font-size:.82rem}
  .notice.compact{margin:6px 0;padding:7px 10px}
}

@media (min-width:901px) and (orientation:landscape){
  body.operator-workstation-page{zoom:1}
  .operator-shell{max-width:1320px}
  .workstation-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(390px,.85fr);align-items:start;gap:12px;margin-top:7px}
  .workstation-primary,.workstation-status-panel{min-width:0}
  .workstation-primary .notice.compact{margin-top:0}
  .workstation-primary .scan-workflow{margin-top:0}
  .workstation-status-panel{display:flex;flex-direction:column;gap:7px}
  .workstation-status-panel .floor-status{grid-template-columns:1fr;margin:0;padding:8px 10px;gap:0}
  .workstation-status-panel .floor-status>div{padding:7px 0}
  .workstation-status-panel .floor-status>div+div{border-top:1px solid #cfd8e5}
  .workstation-status-panel .floor-status .route-lock{padding-left:0;border-left:0}
  .workstation-status-panel .timer-deck{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}\n  .workstation-status-panel .timer-deck .timer-tile.primary,.workstation-status-panel .timer-deck .timer-tile.good:first-child{grid-column:1/-1;padding:14px 16px}\n  .workstation-status-panel .timer-deck .timer-tile.primary strong{font-size:clamp(2.8rem,5vw,4.6rem)}
  .workstation-status-panel .operator-experience{margin:0}
  .workstation-status-panel .operator-experience>.row{align-items:flex-start}
  .workstation-status-panel .operator-experience .grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Short 16:9 station displays need the same density operators get from a
   browser zoom adjustment, while leaving browser zoom itself at 100%. */
@media (min-width:901px) and (orientation:landscape) and (max-height:800px){
  body.operator-workstation-page{zoom:.92}
}

@media(max-width:800px){.daily-time-strip{grid-template-columns:1fr}.daily-time-strip>div{grid-template-columns:repeat(2,minmax(0,1fr))}.floor-status{grid-template-columns:1fr 1fr}.floor-status .route-lock{grid-column:1/-1;padding-left:0;padding-top:7px;border-left:0;border-top:1px solid #cfd8e5}.timer-deck{grid-template-columns:1.2fr 1fr}.quick-actions,.quick-actions.has-upstream{grid-template-columns:1fr 1fr}.secondary-panel{grid-template-columns:1fr 1fr}.bom-list{grid-template-columns:1fr}}
@media (min-width:561px) and (max-width:800px) and (orientation:portrait){
  .floor-status{grid-template-columns:repeat(3,minmax(0,1fr))}
  .floor-status .route-lock{grid-column:auto;padding-left:11px;padding-top:0;border-left:1px solid #cfd8e5;border-top:0}
  .timer-deck{grid-template-columns:repeat(4,minmax(0,1fr))}
  .quick-actions,.quick-actions.has-upstream{grid-template-columns:repeat(var(--quick-count,4),minmax(0,1fr))}
}
@media(max-width:560px){html{font-size:16px}.operator-shell{padding:14px 10px 36px}.sandbox{padding:8px}.operator-header{align-items:flex-start}.operator-header p{font-size:.88rem}.operator-header-actions{gap:5px}.icon-control{min-width:52px;padding:7px}.icon-control>span:last-child{display:none}.timer-deck{top:0;gap:7px;padding:7px}.timer-tile{padding:9px}.timer-tile span{font-size:.75rem}.timer-tile small{font-size:.68rem}.scan-workflow{padding:12px}.scan-actions{grid-template-columns:1fr}.scan-buttons{display:grid;grid-template-columns:1fr 1fr}.scan-buttons .btn{width:100%}.active-unit-row{align-items:stretch;flex-direction:column}.active-unit-row .btn{width:100%;min-width:0;margin-left:0}.workstation-complete{align-items:flex-start;flex-direction:column;min-height:0}.workstation-complete .btn{width:100%;margin-left:0}.quick-actions,.quick-actions.has-upstream{grid-template-columns:1fr 1fr}.workstation-action-bar{grid-template-columns:1fr 1fr}.workstation-action-bar .secondary-actions{grid-column:1/-1}.secondary-panel{left:0;right:auto;width:100%;grid-template-columns:1fr}.material-disposition-top,.issue-detail-grid,.affected-components{grid-template-columns:1fr}.affected-components>strong,.affected-components>.notice{grid-column:auto}.manual-material-row{grid-template-columns:1fr 74px 34px}.manual-material-row [data-manual-name]{grid-column:1/-1;grid-row:2}.metric-choices{grid-template-columns:1fr}.metric-choice{grid-template-columns:1fr}.metric-choice select{width:100%}.dialog-actions .btn{width:100%}.station-badge span{display:none}.control-help{left:10px;right:10px;top:auto;bottom:10px;width:auto}}
@media(max-width:560px){.next-assignment-card{align-items:flex-start;flex-direction:column;min-height:0}.next-assignment-card>.status,.next-assignment-card>.btn{width:100%;margin-left:0}.next-assignment-card>.status{text-align:center}}
@media(prefers-reduced-motion:reduce){.control-help{transition:none}}
.battery-test-card{border:2px solid #cbd5e1}.battery-test-head{align-items:flex-start;gap:16px}.battery-test-head h2{margin:.2rem 0}.battery-test-head p{margin:.35rem 0 0}.battery-test-layout{display:grid;grid-template-columns:minmax(320px,1.35fr) minmax(280px,.65fr);gap:24px;align-items:start}.battery-test-diagram{width:100%;min-height:330px;background:linear-gradient(145deg,#f8fafc,#eef2f7);border:1px solid #d8e0ea;border-radius:18px}.battery-point circle{fill:#fff;stroke:#64748b;stroke-width:1.3}.battery-point.pass circle{fill:#dcfce7;stroke:#15803d}.battery-point.pass_with_observation circle{fill:#fef3c7;stroke:#b45309}.battery-point.fail circle,.battery-point.equipment_error circle{fill:#fee2e2;stroke:#b91c1c;stroke-width:2}.battery-point text{text-anchor:middle;dominant-baseline:middle;pointer-events:none}.battery-point .point-symbol{font-size:8px;font-weight:800}.battery-point .point-label{font-size:4px;font-weight:700}.battery-point .point-reading{font-size:3.4px;fill:#475569}.battery-test-controls{display:grid;gap:12px}.battery-attempts{list-style:none;margin:0;padding:0;display:grid;gap:7px}.battery-attempts li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:9px 11px;border:1px solid #d8e0ea;border-radius:10px}.battery-attempts small{grid-column:1/-1;color:#64748b}.battery-result{font-size:.8rem;text-transform:uppercase}.battery-result.pass,.battery-result.pass_with_observation{color:#15803d}.battery-result.fail,.battery-result.equipment_error{color:#b91c1c}.battery-simulator{border-top:1px solid #d8e0ea;padding-top:10px}.battery-simulator summary{cursor:pointer;font-weight:700}.battery-simulator>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.battery-test-readiness{border-left:6px solid #2e67ed}.battery-test-readiness .battery-test-head{margin:0}.battery-test-readiness .battery-test-head>div{max-width:760px}
@media(max-width:900px){.battery-test-layout{grid-template-columns:1fr}.battery-test-diagram{min-height:280px}}

/* State-driven weld workstation */
body.operator-workstation-page{background:#eef2f6;color:#10213d}
.operator-workstation-page #ueSignedInAs,.operator-workstation-page .ue-feedback-toggle{display:none!important}
.operator-workstation-page .operator-shell{width:min(100%,1600px);max-width:1600px;padding:10px 14px 12px}
.operator-workstation-page .operator-header{min-height:62px;margin:0 0 8px;padding:9px 13px;border-radius:12px;background:#082344;color:#fff}
.operator-heading{min-width:0}.operator-header .operator-kicker{color:#a9bdd6}.operator-header h1{font-size:1.55rem;letter-spacing:-.02em}.operator-header p{overflow:hidden;margin:1px 0 0;color:#cad6e4;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}
.operator-header-actions{align-items:center}.operator-user{display:flex;min-height:46px;align-items:center;gap:8px;padding:7px 12px;border:1px solid #ffffff2b;border-radius:9px;background:#ffffff0d}.operator-user-icon{font-size:.65rem;color:#d8e8ff}.operator-user strong{font-size:.92rem}.logout-control{min-width:92px;border-color:#fff;color:#fff;background:transparent}.logout-control:hover,.logout-control:focus-visible{background:#fff;color:#082344}.logout-control:disabled{opacity:.55}
.weld-status-rail{display:grid;grid-template-columns:1.15fr repeat(4,minmax(0,1fr));overflow:hidden;margin-bottom:8px;border:1px solid #c9d2df;border-radius:12px;background:#fff;box-shadow:0 2px 8px #10213d0a}.weld-status-cell{display:flex;min-width:0;min-height:66px;flex-direction:column;justify-content:center;padding:8px 14px;border:0;border-left:1px solid #dde3eb;background:#fff;color:#10213d;text-align:left}.weld-status-cell:first-child{border-left:0}.weld-status-cell span{color:#667085;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.weld-status-cell strong{overflow:hidden;font-size:1.23rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.weld-status-cell small{color:#667085;font-size:.68rem}.battery-id-cell{cursor:pointer}.battery-id-cell:hover,.battery-id-cell:focus-visible{background:#f4f7fb}.weld-status-cell.over-target{box-shadow:inset 0 -5px #f79009;background:#fff8e7}.weld-status-cell.over-target strong{color:#b54708}
.weld-work-surface{position:relative;display:flex;min-height:clamp(260px,calc(100vh - 360px),600px);border:1px solid #c9d2df;border-radius:14px;background:#fff;box-shadow:0 4px 16px #10213d0d}.weld-work-surface.is-offline{border-color:#f5c16c}.weld-stage{display:flex;width:100%;min-height:100%;flex-direction:column;align-items:center;justify-content:center;padding:26px;text-align:center}.stage-copy{max-width:720px}.weld-stage h2{margin:4px 0 8px;font-size:clamp(1.8rem,3.4vw,3rem);letter-spacing:-.035em}.weld-stage p{margin:0;color:#58677b;font-size:1rem}.inline-state{display:inline-block;margin-top:15px;padding:6px 10px;border-radius:999px;background:#eef2f6;color:#344054;font-size:.8rem;font-weight:800}.inline-state.warning{background:#fff4d8;color:#8a4b08}.inline-state.danger{background:#fee4e2;color:#b42318}.stage-minor-actions{display:flex;gap:8px;margin-top:24px}.background-scan-input{position:absolute;left:50%;bottom:4px;width:1px;height:1px;opacity:.01;pointer-events:none}.waiting-stage{align-items:flex-start;justify-content:flex-start;padding:20px;text-align:left}.waiting-stage .stage-copy{max-width:760px}.waiting-stage h2{font-size:clamp(1.4rem,2.1vw,2rem)}.waiting-stage .stage-minor-actions{margin-top:18px}.working-stage{justify-content:flex-end;padding-bottom:28px}.working-stage .stage-copy{margin:auto}.weld-test-button{width:min(760px,86%);min-height:76px;border:0;border-radius:12px;background:#1769d2;color:#fff;font-size:1.55rem;font-weight:900;box-shadow:0 8px 18px #1769d22b}.weld-test-button:hover,.weld-test-button:focus-visible{background:#0f57b4}.test-trigger-hint{margin-top:9px!important;font-size:.8rem!important}.sandbox-test-menu{margin-top:10px;color:#667085;font-size:.75rem}.sandbox-test-menu summary{cursor:pointer}.sandbox-test-menu div{display:flex;gap:6px;margin-top:6px}.test-progress-ring{width:72px;height:72px;margin-bottom:18px;border:8px solid #d7e3f2;border-top-color:#1769d2;border-radius:50%;animation:weld-spin 1s linear infinite}@keyframes weld-spin{to{transform:rotate(360deg)}}
.result-stage{align-items:stretch;justify-content:flex-start;overflow:auto;padding:18px 22px;text-align:left}.result-heading{display:flex;align-items:center;gap:14px;padding:10px 4px}.result-symbol{display:grid;width:54px;height:54px;flex:0 0 54px;place-items:center;border-radius:50%;background:#d92d20;color:#fff;font-size:1.8rem;font-weight:950}.result-stage.pass .result-symbol{background:#12a15f}.result-heading h2{margin:0;font-size:2rem}.result-heading p{font-size:.86rem}.result-stage.pass{border-top:8px solid #12a15f;background:#f4fbf7}.result-stage.fail{border-top:8px solid #d92d20;background:#fff8f7}.completion-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:7px 0 10px}.completion-stats>div{padding:9px 11px;border:1px solid #cfe7da;border-radius:9px;background:#fff}.completion-stats span,.completion-stats strong,.completion-stats small{display:block}.completion-stats span{color:#667085;font-size:.7rem;font-weight:800;text-transform:uppercase}.completion-stats strong{font-size:1.22rem}.completion-stats small{font-size:.68rem;color:#667085}.test-report-values{overflow:auto;border:1px solid #d7dee8;border-radius:10px;background:#fff}.test-report-values table{width:100%;min-width:690px;border-collapse:collapse}.test-report-values th,.test-report-values td{padding:7px 9px;border-bottom:1px solid #edf0f4;font-size:.77rem;text-align:left}.test-report-values th{background:#f2f5f8;color:#475467;font-size:.68rem;text-transform:uppercase}.test-report-values td small{display:block;color:#667085}.test-report-values tr.fail td:last-child,.test-report-values tr.equipment_error td:last-child{color:#b42318;font-weight:900}.test-limit-note,.result-dismiss-note{padding:7px 10px!important;font-size:.7rem!important}.result-actions{display:flex;gap:8px;margin-top:12px}.weld-retest-button{min-width:240px;min-height:58px;background:#1769d2;color:#fff;font-size:1.05rem}.blocked-stage{background:#fff8e7}.paused-stage{background:#fffaf0}
.failure-measurement{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}.failure-measurement span{padding:8px 11px;border:1px solid #f5b7b1;border-radius:9px;background:#fff;color:#7a271a;font-size:.9rem;font-weight:800}.correction-guidance{margin:8px 0 0;padding:12px 14px;border-left:5px solid #d92d20;border-radius:8px;background:#fff;color:#344054;font-size:1rem;line-height:1.45}.correction-guidance strong,.correction-guidance span{display:block}.result-actions .btn{min-height:52px;font-size:1rem}.weld-operator-mode .weld-status-cell span,.weld-operator-mode .weld-status-cell small,.weld-operator-mode .result-heading p,.weld-operator-mode .test-report-values th,.weld-operator-mode .test-report-values td,.weld-operator-mode .test-limit-note,.weld-operator-mode .result-dismiss-note{font-size:.875rem!important;line-height:1.35}
.test-report-details{margin:4px 0 0}.test-report-details>summary{min-height:44px;padding:11px 13px;border:1px solid #b8c7dc;border-radius:9px;background:#fff;color:#175cd3;font-weight:850;cursor:pointer}.test-report-details[open]>summary{margin-bottom:6px}
.shared-status-rail .weld-status-cell span,.shared-status-rail .weld-status-cell small{font-size:.875rem;line-height:1.3}
.weld-touch-menu{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;margin-top:8px;border:1px solid #c9d2df;border-radius:12px;background:#fff}.weld-touch-menu>button,.weld-more-menu>summary{display:flex;min-height:68px;align-items:center;justify-content:center;gap:8px;padding:8px;border:0;border-left:1px solid #dde3eb;background:#fff;color:#10213d;cursor:pointer;list-style:none}.weld-touch-menu>button:first-child{border-left:0}.weld-touch-menu>button:hover,.weld-touch-menu>button:focus-visible,.weld-more-menu>summary:hover,.weld-more-menu>summary:focus-visible{background:#edf4ff}.weld-touch-menu>button>span,.weld-more-menu>summary>span{font-size:1.25rem}.weld-touch-menu .assistance-glyph{display:grid;width:24px;height:24px;place-items:center;border:2px solid currentColor;border-radius:50%;font-size:1rem;font-weight:950;line-height:1}.weld-touch-menu strong{font-size:.82rem}.weld-more-menu{position:relative}.weld-more-menu>summary::-webkit-details-marker{display:none}.weld-more-menu>div{position:absolute;z-index:24;right:0;bottom:calc(100% + 7px);display:grid;width:260px;padding:8px;border:1px solid #c9d2df;border-radius:10px;background:#fff;box-shadow:0 16px 40px #10213d33}.weld-more-menu>div button{min-height:46px;padding:8px 10px;border:0;border-radius:7px;background:#fff;text-align:left;cursor:pointer}.weld-more-menu>div button:hover{background:#edf4ff}.danger-text{color:#b42318!important}
.instruction-dialog{width:min(980px,calc(100% - 28px));height:min(820px,calc(100vh - 28px))}.instruction-dialog .dialog-panel{display:flex;height:100%;flex-direction:column}.instruction-meta{display:flex;align-items:center;gap:12px;margin:10px 0}.instruction-meta span{color:var(--muted)}.instruction-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #c9d2df;border-radius:9px}.instruction-tabs button{min-height:50px;border:0;border-left:1px solid #d7dee8;background:#fff;font-weight:850}.instruction-tabs button:first-child{border-left:0}.instruction-tabs button.active{background:#1769d2;color:#fff}#instructionPanel{display:flex;min-height:0;flex:1;margin-top:10px}.instruction-copy{width:100%;padding:22px;border-radius:10px;background:#f5f7fa}.instruction-copy h3{margin-top:0}.instruction-copy p{white-space:pre-wrap}.instruction-frame,.instruction-video{width:100%;height:100%;min-height:420px;border:1px solid #d7dee8;border-radius:10px;background:#000}.compact-dialog{width:min(590px,calc(100% - 24px))}.battery-info-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.battery-info-list>div{padding:10px;border:1px solid #d7dee8;border-radius:8px}.battery-info-list dt{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.battery-info-list dd{margin:3px 0 0;font-weight:850}.assistance-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.assistance-options label{display:flex;min-height:54px;align-items:center;gap:8px;padding:8px 10px;border:1px solid #c9d2df;border-radius:9px}.assistance-options input{width:22px;height:22px}.issue-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.issue-menu-grid button{min-height:110px;padding:14px;border:1px solid #c9d2df;border-radius:10px;background:#fff;text-align:left}.issue-menu-grid button strong,.issue-menu-grid button span{display:block}.issue-menu-grid button span{margin-top:4px;color:var(--muted)}.issue-menu-grid button.danger{border-color:#fda29b;background:#fff8f7}
@media (min-width:901px) and (orientation:landscape) and (max-height:800px){.operator-workstation-page .sandbox{min-height:28px;padding:5px}.operator-workstation-page .operator-shell{padding-top:7px}.operator-workstation-page .operator-header{min-height:54px;padding:6px 10px}.weld-status-cell{min-height:56px;padding:6px 11px}.weld-status-cell strong{font-size:1.05rem}.weld-work-surface{min-height:calc(100vh - 244px)}.weld-stage{padding:16px}.weld-touch-menu>button,.weld-more-menu>summary{min-height:58px}.working-stage{padding-bottom:16px}.weld-test-button{min-height:64px}.result-stage{padding:10px 16px}.test-report-values th,.test-report-values td{padding:5px 7px}}
@media (min-width:701px){body.operator-workstation-page.weld-operator-mode{height:100dvh;overflow:hidden}.weld-operator-mode>.sandbox{height:32px;min-height:32px;padding:6px 12px}.weld-operator-mode .operator-shell{display:flex;height:calc(100dvh - 32px);min-height:0;flex-direction:column;overflow:hidden}.weld-operator-mode .operator-header{flex:0 0 auto}.weld-operator-mode #msg:empty,.weld-operator-mode #notices:empty{display:none}.weld-operator-mode #context{display:flex;min-height:0;flex:1;flex-direction:column;gap:8px}.weld-operator-mode #context>*{flex:0 0 auto}.weld-operator-mode #context>.weld-work-surface{flex:1 1 0}.weld-operator-mode .weld-status-rail,.weld-operator-mode .weld-touch-menu{margin:0}.weld-operator-mode .weld-work-surface{height:auto;min-height:0}.weld-operator-mode .weld-stage{min-height:0;overflow:auto}.weld-operator-mode .next-assignment-card{min-height:0}}
@media (min-width:561px) and (orientation:portrait){body.operator-workstation-page.weld-operator-mode{zoom:1}.operator-workstation-page .operator-shell{padding:12px 16px}.operator-workstation-page .operator-header{min-height:76px}.operator-header h1{font-size:1.8rem}.operator-user{min-height:56px}.logout-control{min-height:56px}.weld-status-rail{grid-template-columns:repeat(4,minmax(0,1fr))}.weld-status-cell{min-height:82px;padding:10px}.weld-status-cell.optional-stat{grid-column:1/-1;min-height:58px;align-items:center;flex-direction:row;justify-content:space-between;gap:12px}.weld-work-surface{min-height:calc(100vh - 420px)}.weld-stage{padding:30px}.weld-touch-menu>button,.weld-more-menu>summary{min-height:88px;flex-direction:column;gap:4px}.weld-touch-menu strong{font-size:.9rem}.working-stage{padding-bottom:30px}.weld-test-button{min-height:86px}.result-stage{padding:20px}.test-report-values table{min-width:0}.test-report-values th,.test-report-values td{padding:8px 6px;font-size:.68rem}.test-report-values th{font-size:.6rem}.instruction-dialog{height:calc(100vh - 34px)}}
@media(max-width:700px){.operator-user{padding:6px 8px}.operator-user-icon{display:none}.operator-header p{display:none}.weld-status-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.weld-status-cell{border-top:1px solid #dde3eb}.weld-status-cell:nth-child(odd){border-left:0}.weld-status-cell.optional-stat{grid-column:1/-1}.weld-work-surface{min-height:460px}.weld-touch-menu{grid-template-columns:repeat(3,minmax(0,1fr))}.weld-touch-menu>button,.weld-more-menu>summary{border-top:1px solid #dde3eb}.completion-stats{grid-template-columns:1fr}.test-report-values table{min-width:620px}.assistance-options,.issue-menu-grid,.battery-info-list{grid-template-columns:1fr}}
/* Keep the complete primary workflow inside the usable Chrome viewport.
   Result tables and instruction documents scroll inside their own panels. */
@media (min-width:701px){.weld-operator-mode .weld-work-surface{height:auto;min-height:0}.weld-operator-mode .weld-stage{min-height:0}}
@media(prefers-reduced-motion:reduce){.test-progress-ring{animation:none}}


/* Keep paused recovery controls ahead of details and at their natural height.
   A small viewport scrolls the context instead of folding controls under the menu. */
@media (min-width:701px){
  .weld-operator-mode #context:has(>.weld-work-surface.is-paused){overflow:auto}
  .weld-operator-mode #context>.weld-work-surface.is-paused{flex:0 0 auto;min-height:min-content}
}

/* 2026-08 portrait workstation release: preserve the Welding screen's
   readable hierarchy and touch sizing across every operation. */
@media (min-width:561px) and (orientation:portrait){
  body.operator-workstation-page{zoom:1}
  .operator-shell{max-width:none;padding:12px 14px 24px}
  .operator-header{min-height:70px}
  .operator-header h1{font-size:2rem;line-height:1.08}
  .operator-header p{font-size:1rem}
  .station-identity{align-items:flex-start;gap:12px;padding:14px 16px}
  .station-identity h2{font-size:1.3rem;line-height:1.2;white-space:normal}
  .station-identity p,.station-badge span{font-size:.9rem}
  .station-badge strong{font-size:1.05rem}
  .workstation-layout{display:block}
  .workstation-primary,.workstation-status-panel{min-width:0}
  .scan-workflow{margin:12px 0;padding:16px}
  .scan-head h2{font-size:1.35rem}
  .scan-workflow p,.scan-feedback span{font-size:1rem;line-height:1.45}
  .primary-work-button,.active-unit-row .btn,.workstation-action-bar .btn{min-height:58px;font-size:1.05rem}
  .floor-status{grid-template-columns:1fr;margin:12px 0;padding:14px}
  .floor-status>div{padding:8px 0;border-right:0;border-bottom:1px solid #e4e7ec}
  .floor-status>div:last-child{border-bottom:0}
  .floor-status strong{font-size:1rem}
  .floor-status small{font-size:.84rem;line-height:1.35}
  .timer-deck{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;padding:10px}
  .timer-tile{min-height:104px;padding:12px}
  .timer-tile span{font-size:.85rem}
  .timer-tile small{font-size:.78rem}
  .timer-tile strong,.timer-tile.primary strong{font-size:1.75rem}
  .operator-experience{margin:12px 0;padding:14px}
  .operator-experience>.row{align-items:flex-start;flex-wrap:wrap}
  .operator-experience h2{font-size:1.1rem;white-space:normal}
  .operator-experience .grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .operator-experience .metric{min-height:100px}
  .control-help{top:auto;right:14px;bottom:14px;left:14px;width:auto;max-width:none;transform:translateY(24px)}
.control-help.visible{transform:none}
}

/* Portrait floor displays keep timing visible without sacrificing touch size. */
@media (min-width:561px) and (orientation:portrait){
  .operator-shell{padding:8px 12px 14px}
  .operator-header{min-height:62px}
  .operator-header h1{font-size:1.7rem;line-height:1.05}
  .operator-header p{font-size:.84rem}
  .station-identity{align-items:center;gap:10px;padding:9px 12px}
  .station-identity h2{font-size:1.08rem;white-space:nowrap}
  .station-identity p,.station-badge span{font-size:.76rem}
  .station-badge strong{font-size:.92rem}
  .scan-workflow{margin:8px 0;padding:11px 12px}
  .scan-head h2{font-size:1.15rem}
  .scan-workflow p,.scan-feedback span{font-size:.84rem;line-height:1.3}
  .primary-work-button,.active-unit-row .btn,.workstation-action-bar .btn{min-height:52px;font-size:.92rem}
  .floor-status{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:8px 0;padding:8px 10px}
  .floor-status>div{padding:2px 9px;border-right:1px solid #e4e7ec;border-bottom:0}
  .floor-status>div:first-child{padding-left:0}
  .floor-status>div:last-child{padding-right:0;border-right:0}
  .floor-status strong{font-size:.82rem}
  .floor-status small{font-size:.68rem;line-height:1.25}
  .timer-deck{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0;padding:6px}
  .timer-tile{min-height:68px;padding:7px 8px}
  .timer-tile span{font-size:.68rem}
  .timer-tile small{font-size:.62rem}
  .timer-tile strong,.timer-tile.primary strong{font-size:1.35rem}
  .operator-experience{margin:8px 0;padding:9px 10px}
  .operator-experience>.row{align-items:center;flex-wrap:nowrap}
  .operator-experience h2{font-size:.9rem;white-space:nowrap}
  .operator-experience .grid.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important;margin-top:6px!important}
  .operator-experience .metric{min-height:64px;padding:7px 8px}
  .operator-experience .metric span{font-size:.68rem}
  .operator-experience .metric strong{font-size:1rem}
  .operator-experience .metric small{display:none}
}

.weld-touch-menu{grid-template-columns:repeat(6,minmax(0,1fr))}
.weld-touch-menu>button,.weld-more-menu>summary{min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:center}
.weld-touch-menu strong{min-width:0;max-width:100%;white-space:normal;line-height:1.3}
html:not([data-theme="light"]) .operator-workstation-page :where(.operator-kicker,.weld-status-cell>span,.timer-tile>span){color:#b8c9df}
html:not([data-theme="light"]) .operator-workstation-page .workstation-complete small{color:#c6ead8;font-size:.95rem;line-height:1.5}
.weld-touch-menu>button:disabled{color:#98a2b3;background:#f2f4f7;cursor:not-allowed}
.weld-touch-menu>.output-full-action{background:#fff1f0;color:#b42318;font-weight:900}
.finish-workstation-action{border-color:#84adff!important;background:#eff4ff!important;color:#175cd3!important;font-weight:900}
.finish-workstation-action:hover,.finish-workstation-action:focus-visible{background:#dbe8ff!important}
.finish-workstation-action:disabled{border-color:#98a2b3!important;background:#eef2f6!important;color:#475467!important}

/* Default dark workstation palette. Light mode continues to use the base rules above. */
html:not([data-theme="light"]) body.operator-workstation-page{background:#08101b;color:var(--ink)}
html:not([data-theme="light"]) .operator-workstation-page :where(.icon-control,.line-chooser,.station-identity,.timer-tile,.scan-workflow,.scan-panel,.weld-status-rail,.weld-status-cell,.weld-work-surface,.completion-stats>div,.test-report-values,.weld-touch-menu,.weld-touch-menu>button,.weld-more-menu>summary,.weld-more-menu>div,.weld-more-menu>div button,.failure-measurement span,.correction-guidance){background:#182230;color:var(--ink);border-color:#3d4b60}
html:not([data-theme="light"]) .operator-workstation-page .weld-touch-menu>.output-full-action{background:#5f1f1b;color:#fff1f0;border-color:#f97066}
html:not([data-theme="light"]) .operator-workstation-page :where(.icon-control,.weld-touch-menu>button,.weld-more-menu>summary,.weld-more-menu>div button):hover{background:#253247}
html:not([data-theme="light"]) .operator-workstation-page :where(.floor-status,.timer-deck,.ready-queue,.scan-panel){background:#101828;border-color:#344054}
html:not([data-theme="light"]) .operator-workstation-page .timer-tile.primary{background:#172d52;border-color:#4e7dd8}
html:not([data-theme="light"]) .operator-workstation-page :where(.timer-tile.good,.weld-status-cell.good){background:#12382c;border-color:#25966b}
html:not([data-theme="light"]) .operator-workstation-page :where(.timer-tile.warn,.weld-status-cell.warn){background:#3b2c0e;border-color:#dc9d18}
html:not([data-theme="light"]) .operator-workstation-page :where(.timer-tile.bad,.weld-status-cell.bad,.result-card.fail){background:#431f26;border-color:#e85d75}
html:not([data-theme="light"]) .operator-workstation-page .result-card.pass{background:#12382c;border-color:#25966b}
html:not([data-theme="light"]) .operator-workstation-page .result-stage.fail{background:#241319;color:var(--ink);border-color:#e5484d}
html:not([data-theme="light"]) .operator-workstation-page .result-stage.pass{background:#102a22;color:var(--ink);border-color:#25966b}
html:not([data-theme="light"]) .operator-workstation-page :where(.blocked-stage,.paused-stage){background:#2d240f;color:var(--ink)}
html:not([data-theme="light"]) .operator-workstation-page .weld-stage p{color:#b8c4d4}
html:not([data-theme="light"]) .operator-workstation-page .test-report-values td small{color:#aeb8c6}
html:not([data-theme="light"]) .operator-workstation-page .test-report-values th{background:#101828;color:#d0d5dd}
html:not([data-theme="light"]) .operator-workstation-page .test-report-values tr.fail td:last-child,html:not([data-theme="light"]) .operator-workstation-page .test-report-values tr.equipment_error td:last-child{color:#fda29b}
html:not([data-theme="light"]) .operator-workstation-page :where(.inline-state,.instruction-copy,.battery-info-list>div,.assistance-options label,.issue-menu-grid button){background:#182230;color:var(--ink);border-color:#3d4b60}
html:not([data-theme="light"]) .operator-workstation-page :where(.inline-state.warning,.issue-menu-grid button.warning){background:#3b2c0e;color:#fec84b}
html:not([data-theme="light"]) .operator-workstation-page :where(.inline-state.danger,.issue-menu-grid button.danger){background:#431f26;color:#fda29b}
html:not([data-theme="light"]) .operator-workstation-page .test-report th{background:#101828;color:#d0d5dd}
html:not([data-theme="light"]) .operator-workstation-page :where(.station-identity p,.station-badge span,.timer-tile small,.scan-workflow p,.weld-status-cell small,.test-report small,.completion-stats span){color:#aeb8c6}
html:not([data-theme="light"]) .operator-workstation-page .operator-header .theme-toggle{border-color:#60708a;background:#182230;color:#fff}
html:not([data-theme="light"]) .operator-workstation-page .idle-warning-dialog{border-color:#fdb022;color:var(--ink)}
html:not([data-theme="light"]) .operator-workstation-page .idle-warning-dialog .dialog-panel{background:#3b2c0e}

/* Paused controls remain visibly disabled in both themes, including Output full. */
html[data-theme] .operator-workstation-page .weld-touch-menu button:disabled,
html:not([data-theme]) .operator-workstation-page .weld-touch-menu button:disabled{background:var(--surface-soft);color:var(--muted);border-color:var(--line);cursor:not-allowed}
html:not([data-theme="light"]) .operator-workstation-page .finish-workstation-action:disabled{background:#1f2a3a!important;color:#aeb8c6!important;border-color:#475467!important}
html:not([data-theme="light"]) .operator-workstation-page .weld-status-cell.over-target{background:#3b2c0e;border-color:#dc9d18}
html:not([data-theme="light"]) .operator-workstation-page .weld-status-cell.over-target strong{color:#fec84b}

/* Keep performance descriptions clear and the save/cancel actions visible. */
#displayDialog .dialog-panel{display:flex;max-height:90vh;flex-direction:column;overflow:hidden}
#displayDialog .dialog-head,#displayDialog .dialog-panel>p,#displayDialog .dialog-actions{flex:0 0 auto}
#displayDialog .metric-choices{grid-template-columns:1fr;grid-auto-rows:max-content;align-content:start;min-width:0;min-height:0;overflow:auto}
#displayDialog .metric-choice{grid-template-columns:minmax(0,1fr) 190px;gap:16px;padding:12px}
#displayDialog .metric-choice label,#displayDialog .metric-choice span{min-width:0}
#displayDialog .metric-choice input{flex:0 0 22px}
#displayDialog .metric-choice select{width:100%;min-width:0}
@media(max-width:560px){#displayDialog .metric-choice{grid-template-columns:1fr}}

.production-stop-totals{margin:10px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink)}.production-stop-totals h3{margin:0;font-size:.95rem}.production-stop-totals p{margin:6px 0;font-size:.8rem}.production-stop-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.production-stop-values span,.production-stop-values strong{display:block}.production-stop-values strong{font-size:1.12rem;font-variant-numeric:tabular-nums}.production-stop-values span{font-size:.8rem}

/* Five legacy timing categories stay in two readable rows on floor portraits. */
@media (min-width:561px) and (orientation:portrait){
  .daily-time-strip>div{grid-template-columns:repeat(3,minmax(0,1fr))}
  .daily-time-item>span{flex-wrap:wrap;gap:2px 7px}
  .work-stop-details .daily-time-strip>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Floor portrait Weld screens leave room for wider system-font wrapping above the work area. */
@media (min-width:701px) and (orientation:portrait){
  .weld-operator-mode #context>.daily-time-strip{gap:8px;padding:8px 12px}
  .weld-operator-mode #context>.daily-time-strip>div{grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* Opt-in material requirements remain compact; detailed lot entry is a native dialog. */
.station-material-panel{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--ink);margin:10px 0}
.station-material-panel>div{flex:1;min-width:0}.station-material-panel strong,.station-material-panel span{display:block;overflow-wrap:anywhere}.station-material-panel span{font-size:.86rem;margin-top:4px;color:var(--muted)}
.station-material-table{max-height:240px;overflow:auto}.station-material-table table{width:100%;font-size:.9rem}.station-material-table small{display:block;color:var(--muted)}
#stationMaterialForm{display:grid;gap:8px}#stationMaterialForm[hidden],#stationMaterialPending[hidden]{display:none}#stationMaterialState{overflow-wrap:anywhere}
@media(max-width:600px){.station-material-panel{align-items:stretch;flex-direction:column}}

#stationBuildDialog [hidden]{display:none!important}
