/* My Work module styles — owned by js/mywork.js; css/app.css variables only. Large, touch-friendly cards for the floor.
   R10 (U7): stats on the name line, a one-row time clock, sentence-case labels, sans numbers (mono only for the running clock),
   buttons are the shared .btn / .btn.lg (44 px) — the page-specific sizes are gone. Floor tablet target: 1024×768. */
#mwRoot{max-width:1100px}
.mw-sp{flex:1}
.mw-top{display:flex;align-items:center;gap:12px;margin:0 0 10px}
.mw-hello{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}
.mw-hi{min-width:0;flex:1 1 auto}
.mw-av{flex:none;width:44px;height:44px;border-radius:50%;background:var(--indigo);color:var(--on-accent,#fff);display:grid;place-items:center;font-weight:800;font-size:16px}
.mw-nrow{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;min-width:0}
.mw-name{font-size:22px;font-weight:800;letter-spacing:-.015em;line-height:1.15}
.btn.mw-switch{min-height:44px;padding:0 10px;font-size:13px;font-weight:600}
.mw-sub{font-size:13.5px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums} .mw-sub.ot{color:var(--ink)}
/* announcements (read-only here; written on the Daily schedule) */
.mw-anns{display:flex;flex-direction:column;gap:8px;margin:0 0 10px}
.mw-ann{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border-radius:12px;background:var(--indigo);color:var(--on-accent,#fff)}
.mw-ann b{font-size:17px;font-weight:800} .mw-ann span{font-size:14px}
.mw-ann.sev-warn{background:var(--amber);color:#2a1d00} .mw-ann.sev-urgent{background:var(--red);color:#fff}
.mw-snote{font-size:12.5px;color:var(--ink2);margin-top:5px} .mw-snote.ot{color:var(--ot);font-weight:700}
/* operation cards */
.mw-list{display:flex;flex-direction:column;gap:12px}
.mw-card{display:grid;grid-template-columns:104px minmax(0,1fr);background:var(--paper);border:1px solid var(--rule);border-radius:14px;box-shadow:var(--sh);overflow:hidden}
.mw-time{display:flex;flex-direction:column;gap:2px;padding:14px 12px;background:var(--bg2);border-right:1px solid var(--rule);font-variant-numeric:tabular-nums}
.mw-time b{font-size:22px;font-weight:700;line-height:1.1;color:var(--ink)} .mw-time span{font-size:14px;color:var(--ink2)} .mw-time small{font-size:13px;color:var(--ink2);margin-top:4px}
.mw-time em{font-style:normal;font-size:12px;font-weight:700;border-radius:5px;padding:1px 6px;margin-top:6px;align-self:flex-start;white-space:nowrap}
.mw-ot{background:var(--ot);color:#fff} .mw-late{border:1px solid var(--red);color:var(--red)}
.mw-card.ot .mw-time{background:var(--ot-l)} .mw-card.ot .mw-time b,.mw-card.ot .mw-time span{color:var(--ot)}
.mw-card.run{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber-l),var(--sh)} .mw-card.run .mw-time{background:var(--amber-l)}
.mw-card.done{opacity:.6} .mw-card.done .mw-opname{text-decoration:line-through}
.mw-main{padding:12px 16px;min-width:0;display:flex;flex-direction:column;gap:6px}
.mw-wo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0} .mw-wo a{font-size:19px;font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-.01em;display:inline-flex;align-items:center;min-height:44px;margin:-8px 0} .mw-wo a:hover{color:var(--indigo);text-decoration:underline}
.mw-cust{font-size:14px;color:var(--ink2);font-weight:600}
.mw-op{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;font-size:14.5px}
.mw-opname{font-size:17px;font-weight:700;color:var(--ink)}
.mw-cell{display:inline-flex;align-items:center;gap:6px;color:var(--ink2);font-weight:600}
.mw-dot{flex:none;display:inline-block;width:12px;height:12px;border-radius:3px}
.mw-qty{font-weight:600;color:var(--ink);background:var(--grey-l);border-radius:6px;padding:1px 8px;font-variant-numeric:tabular-nums}
.mw-with{font-size:13px;color:var(--ink2)}
.mw-build{font-size:13px;color:var(--ink2);line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mw-planner{background:var(--indigo-l);border-left:4px solid var(--indigo);border-radius:8px;padding:8px 12px}
.mw-plbl{font-size:12.5px;font-weight:700;color:var(--indigo);margin-bottom:3px}
.mw-ptxt{font-size:15.5px;font-weight:600;color:var(--ink);line-height:1.4} .mw-ptxt+.mw-ptxt{margin-top:6px;padding-top:6px;border-top:1px solid var(--rule)}
.mw-pmeta{display:block;font-size:12px;font-weight:500;color:var(--ink2);margin-top:2px}
.mw-notes{border:1px solid var(--rule);border-radius:8px;padding:8px 10px;background:var(--paper2)} .mw-notes .mw-plbl{color:var(--ink2)}
.mw-notes .nt-acts{display:none!important}
.mw-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
.btn.mw-b{min-width:96px;min-height:48px}
.btn.mw-b:disabled{opacity:.5}
.mw-offline{padding:10px 16px;border:1px dashed var(--rule);border-radius:12px;color:var(--ink2);background:repeating-linear-gradient(135deg,var(--grey-l) 0 8px,transparent 8px 16px)} .mw-offline b{margin-right:8px;color:var(--ink);font-variant-numeric:tabular-nums}
.mw-empty{background:var(--paper);border:2px dashed var(--rule);border-radius:16px;padding:30px 24px;text-align:center} .mw-empty p{color:var(--ink2);max-width:520px;margin:8px auto 16px}
.mw-emptyt{font-size:21px;font-weight:800}
/* tomorrow */
.mw-h{margin-top:20px;font-size:16px}
.mw-tmr{background:var(--paper);border:1px solid var(--rule);border-radius:12px;overflow:hidden}
.mw-trow{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--rule);font-size:14px;flex-wrap:wrap} .mw-trow:last-child{border-bottom:0}
.mw-ttime{color:var(--ink2);min-width:92px;font-variant-numeric:tabular-nums}
/* who are you? */
.mw-who{max-width:980px} .mw-who h2{font-size:28px;margin:6px 0 4px} .mw-who input{font-size:17px;padding:11px 14px;min-width:320px;min-height:48px;margin:10px 0 14px}
.mw-whogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.mw-whobtn{display:flex;align-items:center;gap:12px;min-height:60px;padding:12px 16px;border:1px solid var(--rule);border-radius:14px;background:var(--paper);color:var(--ink);font:inherit;font-size:17px;font-weight:700;cursor:pointer;text-align:left;box-shadow:var(--sh)}
.mw-whobtn:hover{border-color:var(--indigo);background:var(--indigo-xl)} .mw-whobtn span:nth-child(2){flex:1;min-width:0;white-space:normal;line-height:1.2;overflow-wrap:anywhere}   /* the whole name shows: people find themselves by it */
.mw-whobtn small{font-size:13px;color:var(--ink2);font-variant-numeric:tabular-nums} .mw-whobtn .mw-av{width:38px;height:38px;font-size:14px}
@media (max-width:640px){.mw-card{grid-template-columns:1fr} .mw-time{flex-direction:row;align-items:baseline;gap:8px;border-right:0;border-bottom:1px solid var(--rule);padding:10px 14px} .mw-time small,.mw-time em{margin-top:0}}
/* time clock: one row — state · running timer · today's hours · one button */
.mw-clock{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--rule);border-left:6px solid var(--grey);border-radius:12px;padding:8px 10px 8px 14px;margin:0 0 12px;box-shadow:var(--sh);min-height:62px;box-sizing:border-box}
.mw-clock.in{border-left-color:var(--green)} .mw-clock.stale{border-left-color:var(--red)} .mw-clock.err{border-left-color:var(--amber)} .mw-clock.load{border-left-color:var(--rule)}
.mw-cstate{font-size:15px} .mw-cstate b{font-size:16px;font-weight:800}
.mw-cdot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--green-l);animation:mwPulse 2s infinite}
@keyframes mwPulse{50%{box-shadow:0 0 0 7px var(--green-l)}}
.mw-ctimer{font-family:var(--mono);font-size:24px;font-weight:600;letter-spacing:.02em;line-height:1.1;color:var(--ink)} .mw-ctimer.idle{color:var(--ink3)} .mw-ctimer[hidden]{display:none}
.mw-chours{font-size:14px;color:var(--ink2);font-variant-numeric:tabular-nums;cursor:help} .mw-chours b{color:var(--ink);font-weight:700}
.btn.mw-cbtn{min-width:140px;min-height:44px;font-weight:700}
.btn.mw-cbtn.out{color:var(--red);border-color:var(--red)} .btn.mw-cbtn.out:hover{background:var(--red-l)} .btn.mw-cbtn:disabled{opacity:.6}
.mw-cstale{flex:1 1 100%;font-size:13px;font-weight:700;color:var(--ot)}
.mw-runlist{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px;padding:10px 12px;background:var(--amber-l);border-radius:9px;font-size:14px}
/* helpers */
.mw-help{font-size:13px;font-weight:700;color:color-mix(in srgb,var(--purple) 55%,var(--ink));background:var(--purple-l);border-radius:999px;padding:2px 10px}
.mw-card.helping{border-style:dashed;border-color:var(--purple)}
/* after Done: labels for this step */
.mw-after{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 2px;padding:8px 12px;border-radius:10px;background:var(--green-l);font-size:13.5px}
.mw-after b{color:color-mix(in srgb,var(--green) 50%,var(--ink));font-size:14.5px} .mw-after .btn{min-height:44px}
.mw-afterx{margin-left:auto;border:0;background:none;font-size:18px;line-height:1;color:var(--ink2);cursor:pointer;min-width:44px;min-height:44px}
/* More ▾ menu (notes, serials, labels) */
.mw-lblmenu{position:fixed;z-index:60;min-width:260px;max-width:360px;background:var(--paper);border:1px solid var(--rule);border-radius:12px;box-shadow:0 10px 32px rgba(0,0,0,.18);padding:6px;display:flex;flex-direction:column}
.mw-lmh{font-size:12px;font-weight:700;color:var(--ink3);padding:8px 10px 4px;border-top:1px solid var(--rule2);margin-top:4px} .mw-lmh:first-child{border-top:0;margin-top:0}
.mw-lmn{font-size:13px;color:var(--ink2);padding:6px 10px}
.mw-lblmenu button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-height:48px;text-align:left;border:0;background:none;border-radius:8px;padding:8px 10px;font:inherit;color:var(--ink);cursor:pointer}
.mw-lblmenu button:hover,.mw-lblmenu button:focus{background:var(--indigo-xl);outline:none} .mw-lblmenu b{font-size:14px} .mw-lblmenu small{font-size:12px;color:var(--ink2);line-height:1.3}
/* serials at this step: one line until the first scan, then the scan panel */
.mw-ser{margin:6px 0 2px;padding:10px 12px;border:1px solid var(--rule);border-radius:12px;background:var(--paper2)}
.mw-ser.mw-ser1{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 6px 4px 12px;border-style:dashed;background:transparent}
.mw-ser1t{flex:1 1 220px;font-size:13.5px;color:var(--ink2)}
.mw-serh{display:flex;align-items:center;gap:10px;flex-wrap:wrap} .mw-serh .mw-plbl{margin:0}
.mw-serc{font-size:13.5px;color:var(--ink2);font-variant-numeric:tabular-nums} .mw-serc b{color:var(--ink)} .mw-serc b.g{color:color-mix(in srgb,var(--green) 50%,var(--ink))} .mw-serc b.r{color:var(--red)} .mw-serc b.a{color:color-mix(in srgb,var(--amber) 45%,var(--ink))} .mw-serc b.k{color:var(--dark)}
.mw-seri{font-size:13px;color:var(--ink2);margin:3px 0 6px} .mw-seri b{color:var(--ink);font-family:var(--mono);font-weight:600} .mw-seri .btn{margin-left:4px}
.mw-scan{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:6px 0 8px}
.mw-scanin{font-family:var(--mono);font-size:17px!important;padding:10px 12px!important;min-width:230px;min-height:48px;flex:1 1 230px;border:2px solid var(--indigo)!important}
.mw-scannote{flex:1 1 200px;font-size:14px!important;padding:10px 12px!important;min-height:48px}
.mw-seg{display:inline-flex;border:1px solid var(--rule);border-radius:9px;overflow:hidden}
.mw-seg button{border:0;border-right:1px solid var(--rule);background:var(--paper);font:inherit;font-weight:700;font-size:15px;min-height:48px;min-width:64px;padding:10px 14px;cursor:pointer;color:var(--ink2)} .mw-seg button:last-child{border-right:0}
.mw-seg button.done.on{background:var(--green);color:#fff} .mw-seg button.fail.on{background:var(--red);color:#fff} .mw-seg button.rework.on{background:var(--amber);color:#2a1d00} .mw-seg button.scrap.on{background:var(--dark);color:#fff}
.mw-scan .btn{min-height:48px;min-width:96px}
.mw-sns{display:flex;flex-wrap:wrap;gap:6px;max-height:212px;overflow:auto}
.mw-sn{font-family:var(--mono);font-size:13.5px;font-weight:600;min-height:44px;min-width:56px;padding:6px 11px;border-radius:6px;border:1px solid var(--rule);background:var(--paper);color:var(--ink2);cursor:pointer}
.mw-sn.done{background:var(--green-l);border-color:color-mix(in srgb,var(--green) 40%,var(--paper));color:color-mix(in srgb,var(--green) 50%,var(--ink))} .mw-sn.fail{background:var(--red-l);border-color:color-mix(in srgb,var(--red) 35%,var(--paper));color:color-mix(in srgb,var(--red) 72%,var(--ink))} .mw-sn.rework{background:var(--amber-l);border-color:color-mix(in srgb,var(--amber) 40%,var(--paper));color:color-mix(in srgb,var(--amber) 45%,var(--ink))}
.mw-sn.scrap{background:var(--dark);border-color:var(--dark);color:#fff;text-decoration:line-through} .mw-sn.ready{border-color:var(--indigo);color:var(--indigo);background:var(--indigo-xl)} .mw-sn.todo{border-style:dashed}
.mw-sn.more{cursor:default;border:0;background:none}
.mw-empty .btn{min-height:48px}
@media (max-width:900px){.mw-scan{display:grid;grid-template-columns:minmax(0,1fr) auto} .mw-scanin{grid-column:1 / -1} .mw-seg{grid-column:1 / -1;display:flex} .mw-seg button{flex:1}}
@media (max-width:760px){.mw-top{flex-wrap:wrap} .btn.mw-cbtn{flex:1 1 100%}}
