/* round 9 (B10): PS-07 Order page (js/psorder.js). Existing variables only, Classic fallbacks. */
.pso{display:flex;flex-direction:column;gap:12px}
.pso .card{margin:0}
.pso-load{display:flex;align-items:center;gap:10px;padding:18px 4px;color:var(--ink2);font-weight:600}
.pso-empty{max-width:720px} .pso-empty h3{margin-top:2px}
.pso-hd{padding:10px 16px 0}
.pso-t{display:flex;align-items:center;gap:10px;flex-wrap:wrap;row-gap:6px}
.pso-t h2{font:600 21px/1.1 var(--mono);letter-spacing:-.02em;margin:0;white-space:nowrap}
.pso-back{flex:none}
.pso-eng{font-size:14px;font-weight:600;color:var(--ink2);white-space:nowrap} .pso-eng b{color:var(--ink);font-weight:800}
.pso-pills{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.pso-pills>*{white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.pso-t2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px} .pso-t2 .sp{flex:1}
.pso-pills .mst,.pso-pills .bd-st{border-radius:11px}
.pso-rank{font-size:11.5px;font-weight:700;color:var(--ink2);background:var(--bg2);border-radius:11px;padding:3px 9px;white-space:nowrap}
.pso-t .sp{flex:1}
.pso-sync{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:12px;color:var(--ink2);white-space:nowrap;cursor:help}
.pso-sync i{width:8px;height:8px;border-radius:50%;background:var(--green)}
.pso-sync.dry i{background:var(--amber)} .pso-sync.ro i{background:var(--grey)}
.pso-lock{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rule);border-radius:16px;padding:3px 12px 3px 4px;font:inherit;font-size:12px;white-space:nowrap;cursor:pointer;background:var(--paper);color:var(--ink);min-height:30px}
.pso-lock .sw{width:32px;height:18px;border-radius:9px;background:var(--grey);position:relative;transition:background .15s;flex:none}
.pso-lock .sw i{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--paper);transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.pso-lock.on{border-color:var(--ink)} .pso-lock.on .sw{background:var(--ink)} .pso-lock.on .sw i{left:16px}
.pso-lock:disabled{opacity:.6;cursor:wait}
.pso-acts{display:inline-flex;gap:6px;flex-wrap:wrap}
.pso-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.6fr);gap:8px;margin-top:9px}
.pso-st{border:1px solid var(--rule);border-radius:8px;padding:5px 10px;background:var(--paper2);min-width:0}
.pso-st span{display:block;font-size:11px;font-weight:600;color:var(--ink2);line-height:1.2}
.pso-st b{display:block;font-size:15px;font-weight:800;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pso-st em{display:block;font-style:normal;font-size:11px;line-height:1.3;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pso-st.good b{color:var(--green-t,#0a7a4a)} .pso-st.warn b{color:var(--amber-t,#8a5200)} .pso-st.bad b{color:var(--red-t,#b01e37)}
.pso-st.frz{background:var(--blue-l);border-color:var(--rule)} .pso-st.frz b{color:var(--blue-t,#2c5a8a)}
.pso-tabs{margin:10px -16px 0;padding:0 10px;border-top:1px solid var(--rule2);border-bottom:0;overflow-x:auto}
.pso-tabs button span{font-weight:600;font-size:11px;background:var(--bg2);color:var(--ink2);border-radius:8px;padding:2px 6px;margin-left:6px}
.pso-tabs button:focus-visible{outline:2px solid var(--focus,var(--indigo));outline-offset:-2px}
/* overview */
.pso-ov{column-width:360px;column-gap:12px}
.pso-g{break-inside:avoid;margin:0 0 12px;padding:0;display:block}
.pso-gh{display:flex;align-items:center;gap:8px;padding:8px 14px 6px;border-bottom:1px solid var(--rule2);cursor:pointer;list-style:none} .pso-gh::-webkit-details-marker{display:none}
.pso-gh::before{content:'▸';font-size:11px;color:var(--ink3);width:10px} details[open]>.pso-gh::before{content:'▾'} details:not([open])>.pso-gh{border-bottom:0}
.pso-gh h3{font-size:14px;font-weight:700;margin:0;white-space:nowrap} .pso-gn{margin-left:auto;font-size:11px;color:var(--ink3)}
.pso-g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:14px;padding:2px 14px 6px}
.pso-fv{min-width:0;padding:5px 0;border-bottom:1px dashed var(--rule2);position:relative} .pso-fv.w2{grid-column:1/-1}
.pso-fv>label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--ink2);margin-bottom:3px;white-space:nowrap;overflow:hidden}
.pso-fv>label small{font:500 11px var(--font);letter-spacing:0;text-transform:none;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.pso-rsn{font-size:11px;font-weight:600;color:var(--amber-t,#8a5200);background:var(--amber-l);border-radius:3px;padding:0 4px;flex:none}
.pso-v{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:2px;min-width:0;min-height:22px;font-size:12.5px;font-weight:600;word-break:break-word}
.pso-v.pso-ed{cursor:pointer;border-radius:5px;margin:0 -4px;padding:1px 4px} .pso-v.pso-ed:hover{background:var(--hover)} .pso-v.pso-ed:focus-visible{outline:2px solid var(--focus,var(--indigo));outline-offset:0}
.pso-wb{display:block;font:600 11px/1.3 var(--font);color:var(--ink2);font-variant-numeric:tabular-nums} .pso-wb:empty{display:none}
.pso-ws .pso-wsr{display:flex;flex-wrap:wrap;gap:6px 5px;padding:8px 14px 10px;align-items:center}
.pso-wsc{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--rule);border-radius:13px;padding:2px 3px 2px 8px;font-size:11.5px;font-weight:600;white-space:nowrap}
.pso-wsc b{font:700 11px var(--font);border-radius:9px;padding:2px 7px;font-variant-numeric:tabular-nums} .pso-wsc b.on{background:var(--green-l);color:var(--green-t,#0a7a4a)} .pso-wsc b.off{background:var(--bg2);color:var(--ink2)}
.pso-wn{font-size:11px;color:var(--ink2)}
.pso-nc p{padding:8px 14px 10px;margin:0}
/* shared card bits */
.pso-ch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--rule2)} .pso-ch h3{font-size:14px;font-weight:800;margin:0} .pso-ch .m{color:var(--ink2);font-size:12px} .pso-ch .sp{flex:1}
.pso-pad{padding:10px 16px;margin:0}
.pso-ops,.pso-shp,.pso-upd,.pso-fil,.pso-fil2,.pso-act,.pso-act2{padding:0;overflow:hidden}
.pso-tw{overflow-x:auto}
.pso-tw table{min-width:720px} .pso-tw th{position:static}
.pso-fzc{font-size:11.5px;font-weight:600;color:var(--blue-t,#2c5a8a);background:var(--blue-l);border-radius:12px;padding:3px 9px;white-space:nowrap}
.pso-skip{display:inline-flex;align-items:center;gap:4px;cursor:pointer}
.pso-pg{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--rule2);font-size:12px;color:var(--ink2)} .pso-pg b{color:var(--ink)}
.pso-pgb{width:220px;max-width:40%;height:8px;border-radius:4px;background:var(--bg2);overflow:hidden;display:flex;flex:none} .pso-pgb i{display:block;height:100%;background:var(--green)} .pso-pgb i.p2{background:var(--amber)}
.pso-opt td{font-size:12.5px;white-space:nowrap} .pso-opt td.n{font-family:var(--font);font-variant-numeric:tabular-nums} .pso-opt tr.fzr td{background:var(--blue-l)} .pso-opt tr.dim td{color:var(--ink3)}
.pso-fz{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--blue-t,#2c5a8a);background:var(--blue-l);border:1px solid var(--rule);border-radius:3px;padding:1px 5px;margin-left:6px}
.pso-dq{display:inline-flex;align-items:center;gap:6px;font:600 11.5px var(--font);font-variant-numeric:tabular-nums} .pso-dq .bar{width:54px;height:7px;background:var(--bg2);border-radius:4px;overflow:hidden} .pso-dq .bar i{display:block;height:100%;background:var(--green)}
.pso-opt td.pso-nt{white-space:normal;max-width:260px}
.pso-sht td{font-size:12.5px;white-space:nowrap} .pso-sht td.pso-ed{cursor:pointer} .pso-sht td.pso-ed:hover{background:var(--hover)}
.pso-tot{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:10px 16px;font-size:12.5px;color:var(--ink2);border-top:1px solid var(--rule2)} .pso-tot b{color:var(--ink);font:700 14px var(--font);font-variant-numeric:tabular-nums} .pso-tot .sp{flex:1}
.pso-tot .ok,.pso .ok{color:var(--green-t,#0a7a4a);font-weight:700} .pso-tot .bad,.pso .bad{color:var(--red-t,#b01e37);font-weight:700}
.pso-addr{display:grid;grid-template-columns:1.1fr .6fr 1.4fr 1.4fr auto;gap:10px;padding:10px 16px 12px;align-items:end;background:var(--paper2);border-top:1px solid var(--rule2)}
.pso-addr label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin-bottom:4px}
.pso-addr input,.pso-addr select{width:100%;min-height:34px} .pso-addr input[type=number]{text-align:left}
.pso-addr .btn{min-height:34px}
.pso-an{grid-column:1/-1;font-size:11.5px;color:var(--ink2)}
.pso-comp{padding:12px 16px;border-bottom:1px solid var(--rule2)} .pso-comp textarea{width:100%;margin-bottom:6px}
.pso-u{padding:9px 16px;border-bottom:1px solid var(--rule2)} .pso-u p{margin:3px 0 0;font-size:12.5px;white-space:pre-wrap}
.pso-fl{list-style:none;margin:0;padding:6px 16px 10px} .pso-fl li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:5px 0;border-bottom:1px dashed var(--rule2)} .pso-fl li:last-child{border-bottom:0}
.pso-act-t td{font-size:12.5px;vertical-align:top} .pso-act-t s{color:var(--ink3)}
@media (max-width:1180px){ .pso-stats{grid-template-columns:repeat(4,minmax(0,1fr))} }
/* R10 (QA1): status pills in the fields end in an ellipsis (no centre clip); numbers in the body font */
.pso-v .mc-st{display:block;text-align:center;line-height:20px;max-width:100%}
.pso-v .mc-num,.pso-v .pso-num{font-family:var(--font);font-size:12.5px;font-variant-numeric:tabular-nums}
@media (max-width:900px){ .pso-stats{grid-template-columns:repeat(2,minmax(0,1fr))} .pso-addr{grid-template-columns:1fr 1fr} .pso-t h2{font-size:18px} .pso-g2{grid-template-columns:minmax(0,1fr)} }
@media (max-width:1024px){ .pso-tabs button,.pso-lock,.pso .btn.sm{min-height:44px} .pso-v.pso-ed{min-height:32px} }
/* R11 (A4): monday status strip at the top: Order / Engineering / Production / Purchasing / Materials status + Materials missing */
.pso-mst{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(0,1.8fr);gap:8px;margin-top:9px}
.pso-ms{min-width:0;display:flex;flex-direction:column;gap:3px}
.pso-ms>span{font-size:var(--fs-11,11px);font-weight:600;color:var(--ink2);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pso-ms>div{min-width:0;display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-height:24px}
.pso-ms>div>.mst,.pso-ms>div>.bd-st{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pso-ms.mm>div{border:1px solid var(--rule);border-radius:8px;padding:2px 8px;background:var(--paper2)}
.pso-ms.mm.bad>div{border-color:var(--red,#d83a52)}
.pso-mm{font-size:var(--fs-11,11px);font-weight:700;border-radius:10px;padding:2px 8px;white-space:nowrap;background:var(--bg2);color:var(--ink)}
.pso-mmn{font-size:var(--fs-13,13px);font-weight:800;color:var(--red-t,#b01e37)}
.pso-mm0{font-size:var(--fs-12,12px);font-weight:600;color:var(--green-t,#0a7a4a)}
.pso-ms em{font-style:normal;font-size:var(--fs-11,11px);color:var(--ink2);white-space:nowrap}
@media (max-width:1180px){ .pso-mst{grid-template-columns:repeat(3,minmax(0,1fr))} .pso-ms.mm{grid-column:span 3} }
@media (max-width:600px){ .pso-mst{grid-template-columns:repeat(2,minmax(0,1fr))} .pso-ms.mm{grid-column:span 2} }

/* R12 (lead): status strip as monday-style colour tiles, editable (click → MWRITE.edit). Fills the row, no dead space. */
.pso-mst2{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(0,2fr);gap:6px;margin-top:10px}
.pso-tile{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:7px 10px 8px;border-radius:8px;
  background:var(--st,var(--paper2));color:var(--st-ink,var(--ink));border:1px solid transparent;line-height:1.2}
.pso-tile .st-lab{font-size:var(--fs-11,11px);font-weight:600;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pso-tile .st-val{font-size:var(--fs-14,14px);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:5px;min-width:0}
.pso-tile.st-empty{background:var(--paper2);color:var(--ink2);border-color:var(--rule)}
.pso-tile.st-empty .st-val{font-weight:500}
.pso-tile.st-mm{background:var(--paper2);color:var(--ink);border-color:var(--rule)}
.pso-tile.st-mm.st-bad{border-color:var(--red,#d83a52);background:color-mix(in srgb,var(--red,#d83a52) 7%,var(--paper2))}
.pso-tile.st-mm .st-val{flex-wrap:nowrap;overflow:hidden}
.pso-tile.st-mm .st-val em{font-style:normal;font-size:var(--fs-11,11px);font-weight:500;color:var(--ink2)}
.pso-tile.st-ed{cursor:pointer;transition:filter .12s,box-shadow .12s}
.pso-tile.st-ed:hover,.pso-tile.st-ed:focus-visible{filter:brightness(1.06);box-shadow:0 0 0 2px var(--ink2) inset;outline:none}
.pso-tile .st-pen{position:absolute;top:5px;right:7px;font-style:normal;font-size:11px;opacity:0;transition:opacity .12s}
.pso-tile.st-ed:hover .st-pen,.pso-tile.st-ed:focus-visible .st-pen{opacity:.8}
@media (max-width:1180px){ .pso-mst2{grid-template-columns:repeat(3,minmax(0,1fr))} .pso-tile.st-mm{grid-column:span 3} }
@media (max-width:600px){ .pso-mst2{grid-template-columns:repeat(2,minmax(0,1fr))} .pso-tile.st-mm{grid-column:span 2} }
@media print{ .pso-tile .st-pen{display:none} }
.pso-tile:not(.st-mm) .st-val{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15}
@media (max-width:1180px){ .pso-mst2{grid-template-columns:repeat(5,minmax(0,1fr))} .pso-tile.st-mm{grid-column:span 5} }
@media (max-width:700px){ .pso-mst2{grid-template-columns:repeat(2,minmax(0,1fr))} .pso-mst2>.pso-tile:first-child{grid-column:span 2} .pso-tile.st-mm{grid-column:span 2} }
.pso-t .btn,.pso-t2 .btn{align-self:center;white-space:nowrap}
@media (max-width:1180px){ .pso-stats{grid-template-columns:repeat(5,minmax(0,1fr))} }
@media (max-width:900px){ .pso-stats{grid-template-columns:repeat(2,minmax(0,1fr))} .pso-stats>.pso-st:last-child{grid-column:span 2} }

/* ── 2026-11-04: Production schedule + Plan board merge — Data problems box, plan line, view-only note, phones ── */
.pso-ro{margin:8px 0 0;padding:8px 12px;border-radius:8px;background:var(--grey-l,#f1f1f4);border:1px solid var(--rule);color:var(--ink2);font-size:12.5px;font-weight:600}
.pso-lock:disabled{cursor:default;opacity:.75}
.pso-plan{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 6px;font-size:12.5px;color:var(--ink)} .pso-plan .lb{font-weight:700;color:var(--ink2);margin-right:2px}
.pso-plan b.est{font-style:italic;font-weight:500;color:var(--ink2)} .pso-tm{font:700 10px/1 var(--font);color:var(--amber-t,#8a5200);text-transform:uppercase;letter-spacing:.04em}
.pso-flbox{display:flex;flex-direction:column;gap:6px;margin:10px 0 0}
.pso-flags{padding:8px 12px;border-radius:8px;background:var(--amber-l);border:1px solid var(--amber-bd,#fbd9a8);color:var(--amber-t,#8a5200);font-size:12.5px}
.pso-flh{display:flex;align-items:center;flex-wrap:wrap;gap:6px} .pso-flh b{font-weight:700} .pso-flh span{font-weight:500;opacity:.85}
.pso .ps-flag{width:16px;height:16px;margin:0}
.pso-flags ul,.pso-flags-done ul{margin:4px 0 0;padding:0;list-style:none}
.pso-flags li,.pso-flags-done li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 10px;padding:4px 0;font-weight:600}
.pso-flags li+li,.pso-flags-done li+li{border-top:1px dashed color-mix(in srgb,currentColor 25%,transparent)}
.pso-flags-done{padding:6px 12px;border:1px dashed var(--rule);border-radius:8px;color:var(--ink2);font-size:12.5px} .pso-flags-done li{font-weight:500} .pso-flags-done em{font-style:normal;opacity:.8}
.pso-fls{font-weight:600}
@media (max-width:1024px){ .pso-flbox .btn.sm,.pso-plan .btn.sm{min-height:44px} }
/* phones: the order page takes the whole screen */
@media (max-width:700px){
  .pso{position:fixed;inset:0;z-index:55;overflow:auto;-webkit-overflow-scrolling:touch;background:var(--bg,var(--paper2,#f6f6f8));padding:10px 10px calc(16px + env(safe-area-inset-bottom,0px));box-sizing:border-box}
  .pso .card{max-width:100%;box-sizing:border-box}
  .pso-t{flex-wrap:wrap} .pso-t h2{flex:1 1 100%;overflow-wrap:anywhere} .pso-back{min-height:44px}
  .pso-t2{gap:8px} .pso-t2 .sp{display:none} .pso-acts{display:flex;flex-wrap:wrap;gap:6px;width:100%} .pso-acts .btn{flex:1 1 auto;min-height:44px}
  .pso-plan{width:100%} .pso-plan .btn{margin-left:auto}
  .pso-tabs{overflow-x:auto;flex-wrap:nowrap;max-width:100%} .pso-tabs button{flex:none}
  .pso-flags li .btn,.pso-flags-done li .btn{min-height:44px;margin-left:auto}
  .pso input,.pso select,.pso textarea{font-size:16px}
  .pso-tw{max-width:100%;overflow-x:auto}
  .pso-addr{grid-template-columns:minmax(0,1fr)!important} .pso-addr input,.pso-addr select,.pso-addr .btn{min-height:44px;width:100%;box-sizing:border-box}
  .pso-g2{grid-template-columns:minmax(0,1fr)!important}
}
