/* Fashionflo Ops design system (see docs/design-system.md). One file, no build step. */
:root{
  --ink:#0f1f33;--navy:#1c2a5f;--navy-2:#171a40;--muted:#52667c;
  --line:#dde6ee;--line-2:#ecf1f6;--bg:#f1f4f8;--surface:#fff;--soft:#f6f9fc;
  --green:#097742;--green-hover:#087a43;--green-soft:#e2f4ea;--green-ink:#115a33;
  --amber:#7a3d00;--amber-soft:#fff0d6;--red:#8a2a12;--red-soft:#fde6df;
  --link:#0a6bc4;--link-hover:#064a80;--seam:#b4c4d6;--focus:#2f86e0;
  --r-ctl:8px;--r:12px;--r-pill:999px;
  --shadow-float:0 12px 40px rgba(23,26,64,.22);
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;
  --d-embroidery:#7c3aed;--d-screen_print:#2563eb;--d-dtf:#0d9488;--d-dtg:#db2777;--d-heat_transfer:#ea580c;--d-sublimation:#16a34a;--d-unassigned:#94a3b8;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:"Plus Jakarta Sans","Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5;font-weight:500;-webkit-font-smoothing:antialiased}
a{color:var(--link)}a:hover{color:var(--link-hover)}
h1,h2,h3{margin:0;color:var(--navy);line-height:1.2;letter-spacing:-.01em}
table,.kpi b,.big,.qline-total,.kvrow,.line,.deco-price{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}.small{font-size:13px}.nowrap{white-space:nowrap}.right{text-align:right}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--navy);padding:8px 12px;border-radius:var(--r-ctl);z-index:50;font-weight:700}.skip:focus{left:8px}
.icon{width:18px;height:18px;flex:none}

/* ---- Shell ---- */
:root{--side-w:244px}html.rail{--side-w:68px}
.shell{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .22s ease}
.side{background:var(--navy-2);color:#fff;display:flex;flex-direction:column;padding:18px 12px 12px;gap:10px;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;padding:0 8px}
.brand:hover{color:#fff}
.brand.dark{color:var(--navy);padding:0}.brand.dark:hover{color:var(--navy)}
.brand b{display:block;font-size:16px;font-weight:800;letter-spacing:-.01em;line-height:1.1}
.brand small{display:block;font-size:12px;font-weight:600;color:#9fb6d0;line-height:1.2}
.brand.dark small{color:var(--muted)}
.mark{width:36px;height:36px;border-radius:50%;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:21px;font-weight:700;flex:none}
.brand.dark .mark{background:var(--navy);color:#fff}
.mark.mark-logo,.brand.dark .mark.mark-logo{background:#fff;object-fit:contain;padding:2px;box-shadow:0 0 0 2px rgba(255,255,255,.25)}
/* Ops sidebar: the Fashionflo logo on a white tile, so its navy and colours don't sink into the navy sidebar (10 Oct 2026) */
.brand-logo{gap:8px}
.brand-tile{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:8px 12px;flex:1;min-width:0}
.brand-tile img{display:block;height:auto}.brand-tile .brand-full{width:100%;max-width:150px}.brand-tile .brand-mark{display:none;width:30px}
.brand-ops{font-size:12px;font-weight:800;color:#fff;background:rgba(255,255,255,.14);border-radius:999px;padding:3px 9px;flex:none}
html.rail .brand-tile{flex:none;width:44px;height:44px;padding:6px;border-radius:50%}html.rail .brand-tile .brand-full{display:none}html.rail .brand-tile .brand-mark{display:block}
.nav{display:flex;flex-direction:column;gap:1px;flex:1;min-height:0;overscroll-behavior:contain;overflow-y:auto;overflow-x:hidden;margin-right:-6px;padding-right:6px;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .2s}
.nav:hover,.nav:focus-within{scrollbar-color:rgba(255,255,255,.22) transparent}
.nav::-webkit-scrollbar{width:6px}.nav::-webkit-scrollbar-track{background:transparent}
.nav::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}.nav:hover::-webkit-scrollbar-thumb,.nav:focus-within::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22)}
.nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.4)}
.nav a,.nav .soon{transition:background .15s,color .15s;position:relative;white-space:nowrap;display:flex;align-items:center;gap:11px;padding:7px 12px;border-radius:var(--r-ctl);color:#cddbea;text-decoration:none;font-weight:600;font-size:14.5px}
.nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.nav a.on{background:rgba(255,255,255,.11);color:#fff;font-weight:700}
.nav a.on:before{content:"";position:absolute;left:-12px;top:6px;bottom:6px;width:3px;background:repeating-linear-gradient(180deg,#7fd6a6 0 5px,transparent 5px 8px)}
.nav .soon{color:#7f97b2;cursor:default}
.nav .soon em{margin-left:auto;font-style:normal;font-size:12px;font-weight:700;padding:1px 7px;border-radius:var(--r-pill);background:rgba(255,255,255,.08)}
.nav-label{margin:12px 12px 2px;font-size:12px;font-weight:700;color:#7f97b2;white-space:nowrap}
.side{overflow:hidden}.lbl{transition:opacity .15s}
html.rail .lbl,html.rail .nav .soon em{display:none}
html.rail .side{padding-left:10px;padding-right:10px}
html.rail .brand{justify-content:center;padding:0}
html.rail .nav a,html.rail .nav .soon{justify-content:center;padding:10px 0}
html.rail .nav a.on:before{left:-10px}
html.rail .nav-label{height:1px;margin:10px 8px;background:rgba(255,255,255,.12);font-size:0}

.side-foot{font-size:12px;color:#7f97b2;padding:0 10px}.side-foot a{color:#a9bdd4}.side-foot a:hover{color:#fff}
.main{min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:10;background:var(--surface);padding:14px 28px;display:flex;align-items:center;gap:16px}
.top:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:repeating-linear-gradient(90deg,var(--seam) 0 8px,transparent 8px 13px)}
.top-title{flex:1;min-width:0;font-size:24px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.who{display:flex;align-items:center;gap:10px}.who form{margin:0}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px}
.who-text b{display:block;font-size:14px;line-height:1.2}.who-text small{display:block;font-size:12px;color:var(--muted)}
.link{background:none;border:0;color:var(--link);font:inherit;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;padding:4px 6px;border-radius:6px}
.link:hover{color:var(--link-hover);background:var(--soft)}
.menu{display:inline-flex;width:40px;height:40px;border-radius:var(--r-ctl);border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;align-items:center;justify-content:center}
.content{padding:28px 28px 56px;display:flex;flex-direction:column;gap:20px;max-width:1360px;width:100%}

/* ---- Panels ---- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.card.flush{padding:0;overflow:auto}
.card h3{font-size:17px;font-weight:800}
.grid{display:grid;gap:16px}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.module p{margin:8px 0 0}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.hello h2{font-size:22px;font-weight:800}.hello p{margin:4px 0 0}
.big{font-size:32px;font-weight:800;color:var(--navy);margin:6px 0 0}
.section-h{font-size:18px;font-weight:800;margin-bottom:10px}

/* ---- Pills, tags, alerts ---- */
.pill{display:inline-block;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:700;white-space:nowrap;margin-right:4px}
.pill.ok{background:var(--green-soft);color:var(--green-ink)}.pill.warn{background:var(--amber-soft);color:var(--amber)}.pill.muted{background:#e6ecf2;color:var(--muted)}
.alert{padding:12px 16px;border-radius:var(--r);font-weight:600;border:1px solid transparent}
.alert.ok{background:var(--green-soft);color:var(--green-ink);border-color:#bfe3cf}.alert.bad{background:var(--red-soft);color:var(--red);border-color:#f3c3b6}.alert.warn{background:#fff6e0;color:var(--amber);border-color:#f2d9a6}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--d-unassigned);margin-right:6px;vertical-align:baseline}
.stack{display:flex;flex-direction:column;gap:14px}.narrow{max-width:560px}

/* ---- Forms and buttons ---- */
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:13px;font-weight:700;color:var(--muted)}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=date],input[type=time],input[type=search],input:not([type]),select,textarea{height:42px;border:1px solid #c5d3e0;border-radius:var(--r-ctl);padding:0 12px;font:inherit;background:#fff;color:var(--ink);width:100%}
textarea{height:auto;padding:10px 12px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:0;border-color:var(--focus)}
input::placeholder,textarea::placeholder{color:#7d8fa3}
.check{display:flex;gap:10px;align-items:center;font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 18px;border-radius:var(--r-ctl);border:1px solid #c5d3e0;background:#fff;color:var(--navy);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--soft);border-color:#a9bcd0;color:var(--navy)}
.btn.go{background:var(--green);border-color:var(--green);color:#fff;font-weight:800}.btn.go:hover{background:var(--green-hover);border-color:var(--green-hover);color:#fff}
.btn.navy{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:800}.btn.navy:hover{background:var(--navy-2);color:#fff}
.btn.bad{color:var(--red)}.btn.bad:hover{background:var(--red-soft);border-color:#e9a996}
.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--soft);border-color:var(--line)}
.btn.wide{width:100%}
.btn.big{min-height:52px;font-size:16px;padding:0 22px;margin:0;font-weight:800}
.btn.huge{min-height:64px;font-size:19px;padding:0 24px;border-radius:var(--r)}
.btn[disabled],.btn.disabled{opacity:.55;cursor:not-allowed}
.filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.filters .field{min-width:220px}

/* ---- Tables ---- */
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12px;font-weight:700;color:var(--muted);background:var(--soft);padding:11px 16px;border-bottom:1px solid var(--line)}
td{padding:12px 16px;border-top:1px solid var(--line-2);vertical-align:top}
thead+tbody tr:first-child td{border-top:0}
tr.dim td{opacity:.6}
td.details{max-width:360px;word-break:break-word}
.pager{display:flex;gap:10px}
.activity{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.roles{margin:12px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}

/* ---- Dashboard ---- */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.strip .kpi{border:0;border-radius:0;background:none;padding:16px 20px;border-left:1px solid var(--line-2)}
.strip .kpi:first-child{border-left:0}
.strip .kpi:hover{background:var(--soft)}
.strip .kpi.hot{background:#fff8ec}.strip .kpi.hot:hover{background:#fff1d8}
.worklist{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.worklist li+li{border-top:1px solid var(--line-2)}
.worklist a,.worklist .row{display:grid;grid-template-columns:28px 150px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 18px;text-decoration:none;color:var(--ink)}
.worklist a:hover{background:var(--soft)}
.worklist .icon{color:var(--navy)}
.worklist b{font-weight:800;color:var(--navy)}
.worklist .row .icon{color:#94a3b8}.worklist .row b{color:var(--muted)}

/* ---- Guest ---- */
/* Sign-in pages (9 Nov 2026, approved mock-up): our own workshop floor behind the card, tinted Ops navy; the card rises in
   on load and lifts away when signing in. Corners: card 20px, inner panels 20-12=8px, so the curves sit parallel. */
body.guest{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;margin:0;padding:20px;box-sizing:border-box;background:var(--navy-2);position:relative;isolation:isolate}
body.guest:before{content:"";position:fixed;inset:0;z-index:-2;background:var(--navy-2) url("../storefront/work/wk-floor.jpg") center/cover no-repeat;filter:saturate(.75)}
body.guest:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(23,26,64,.5) 0%,rgba(23,26,64,.68) 55%,rgba(23,26,64,.86) 100%)}
.guest-wrap{width:100%;max-width:400px}
.guest-card{background:#fff;border-radius:20px;padding:28px 24px 24px;display:flex;flex-direction:column;gap:14px;position:relative;
  box-shadow:0 1px 2px rgba(23,26,64,.18),0 8px 20px rgba(23,26,64,.22),0 28px 64px rgba(10,14,40,.45);animation:guest-in .38s cubic-bezier(.2,.8,.2,1) both}
.guest-card:before{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;background:repeating-linear-gradient(90deg,var(--seam) 0 8px,transparent 8px 13px)}
.guest-card h1{font-size:22px;font-weight:800;margin-top:4px}.guest-card p{margin:0}
.guest-card input[type=email],.guest-card input[type=password],.guest-card input[type=text]{border-radius:8px}
.guest-card .btn.go.wide{border-radius:8px;min-height:46px;font-size:15px;transition:transform .12s,box-shadow .12s}
.guest-card .btn.go.wide:active{transform:translateY(1px)}
.guest-card.going{animation:guest-out .32s ease-in forwards}
.guest-place{position:fixed;left:max(20px,env(safe-area-inset-left,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));color:rgba(255,255,255,.78);font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center;letter-spacing:.01em}
.guest-place:before{content:"";width:18px;height:2px;background:repeating-linear-gradient(90deg,var(--seam) 0 5px,transparent 5px 8px)}
@keyframes guest-in{from{opacity:0;transform:translateY(14px) scale(.985)}}
@keyframes guest-out{to{opacity:0;transform:translateY(-10px) scale(1.02)}}
@media (max-width:560px){.guest-place{display:none}body.guest{align-items:flex-start;padding-top:max(14vh,24px)}}
@media (prefers-reduced-motion:reduce){.guest-card,.guest-card.going{animation:none}}

@media (max-width:1100px){
  .shell{grid-template-columns:1fr;transition:none}html.rail{--side-w:244px}
  html.rail .lbl,html.rail .nav .soon em{display:revert}
  html.rail .nav a,html.rail .nav .soon{justify-content:flex-start;padding:9px 12px}
  html.rail .brand{justify-content:flex-start;padding:0 8px}
  html.rail .brand-tile{flex:1;width:auto;height:auto;padding:8px 12px;border-radius:12px}html.rail .brand-tile .brand-full{display:block}html.rail .brand-tile .brand-mark{display:none}
  html.rail .nav-label{height:auto;margin:16px 12px 4px;background:none;font-size:12px}
  .side{position:fixed;inset:0 auto 0 0;width:268px;z-index:30;transform:translateX(-100%);transition:transform .18s}
  .side.open{transform:none;box-shadow:0 0 0 100vmax rgba(23,26,64,.45)}
  /* the open menu is as tall as what the phone shows (not 100vh, which runs under Safari's bars) and scrolls (28 Oct 2026) */
  .side{height:100vh;height:100dvh}html:has(.side.open),html:has(.side.open) body{overflow:hidden}
    .top{padding:10px 16px}.who-text,.who .link{display:none}.top-title{font-size:20px}.content{padding:20px 16px 44px}
  .worklist a,.worklist .row{grid-template-columns:24px minmax(0,1fr) auto}.worklist .wl-text{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.side,.top{display:none}.shell{display:block}}

/* ---- v0.2.0 Orders hub ---- */
.section-h{font-size:18px;font-weight:800;margin-bottom:10px}
.grid.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpi{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)}
.kpi span{font-size:13px;font-weight:600;color:var(--muted)}.kpi b{font-size:30px;font-weight:800;color:var(--navy)}.kpi small{font-size:12px;color:var(--muted)}
.kpi:hover,.link-card:hover{border-color:#9db9d6}
.kpi.hot{border-color:#e9b46a;background:#fffaf2}
.link-card{text-decoration:none;color:var(--ink)}
.pill.quote{background:#e3ecfb;color:#163f86}.pill.prod{background:#e6defa;color:#432a8a}.pill.qc{background:#fdf0c4;color:#6b4e00}.pill.ship{background:#d6eef6;color:#0b4f66}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:8px 14px;border-radius:20px;border:1px solid var(--line);background:#fff;color:var(--muted);font-weight:700;text-decoration:none;font-size:14px}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.chip:hover{border-color:#9db9d6;color:var(--navy)}.chip.on:hover{color:#fff}
.tag{display:inline-block;padding:3px 9px;border-radius:8px;font-size:12px;font-weight:800;white-space:nowrap}
.tag.ch-school{background:#e8f1ff;color:#1d4f91}.tag.ch-dyo{background:#f3e8ff;color:#5b2a86}.tag.ch-group{background:#e6f6ef;color:#17603f}
.field.grow{flex:1 1 280px}.field.date{min-width:150px}.grow{flex:1}
input[type=date],input[type=search]{height:44px;border:1px solid #c9d6e2;border-radius:10px;padding:0 12px;font:inherit;background:#fff;color:var(--ink);width:100%}
table.orders td{vertical-align:middle}
tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f8fbfd}
.thumbcell{width:64px}
.thumb{width:48px;height:48px;border-radius:10px;object-fit:contain;background:#eef3f8;display:flex;align-items:center;justify-content:center;font-weight:800}
.thumb.ph.ch-school{background:#e8f1ff;color:#1d4f91}.thumb.ph.ch-dyo{background:#f3e8ff;color:#5b2a86}.thumb.ph.ch-group{background:#e6f6ef;color:#17603f}
.order-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}
.order-head h2{font-size:28px;font-weight:800}.order-head p{margin:6px 0 0}
.row-wrap{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.detail{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.stack.tight{gap:6px}
.card .label{margin-top:10px;font-size:12px;font-weight:800;color:var(--muted)}
.pre{white-space:pre-line}
.mocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.mocks figure{margin:0;background:#eef3f8;border-radius:12px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:6px}
.mocks img{width:100%;aspect-ratio:1/1;object-fit:contain}
.mocks figcaption{font-size:12px;font-weight:700;color:#33475c}
.lines{border:1px solid #e3eaf1;border-radius:12px;overflow:hidden}
.line{display:grid;grid-template-columns:160px minmax(0,1fr) 120px;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid #e8eef4}
.line:first-child{border-top:0}
.chip-s{display:inline-block;padding:4px 9px;border-radius:8px;background:#f1f5f9;font-size:13px;font-weight:700;margin:2px 4px 2px 0}
.art{display:flex;gap:14px;align-items:center;padding:12px;border:1px solid #e3eaf1;border-radius:12px}
.art img{width:72px;height:72px;object-fit:contain;border-radius:8px;background:repeating-conic-gradient(#eef2f6 0 25%,#fff 0 50%) 0 0/14px 14px}
.kv{display:grid;grid-template-columns:200px minmax(0,1fr);gap:8px 16px;margin:0}
.kv dt{font-weight:700;color:var(--muted)}.kv dd{margin:0;white-space:pre-line}
.kvrow{display:flex;justify-content:space-between;gap:10px}
.kvrow.total{font-weight:800;font-size:16px;padding-top:8px;border-top:1px solid #e8eef4}
.act{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;font-size:14px}
@media (max-width:1100px){.detail{grid-template-columns:minmax(0,1fr)}.grid.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.line{grid-template-columns:1fr}.kv{grid-template-columns:1fr}table.orders th:nth-child(5),table.orders td:nth-child(5),table.orders th:nth-child(3),table.orders td:nth-child(3){display:none}}
@media print{.chips,.filters,.order-head .btn{display:none}.detail{grid-template-columns:1fr}}

/* ---- v0.3.0 Production ---- */
.sr{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.card pre{max-width:100%;overflow-x:auto}
.cnt{opacity:.7;font-weight:600}
.inline-search input{width:240px}
.kpi.tone-bad{border-color:#f0b9a8}.kpi.tone-bad b{color:#8a2a12}.kpi.tone-warn b{color:#7a3d00}.kpi.tone-ok b{color:#145c33}
.board{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}
.col{background:#e9eff5;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:420px}
.col h2{margin:2px 4px 4px;font-size:13px;font-weight:800;display:flex;justify-content:space-between}
.col .empty{margin:6px 4px}
.jcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 11px;display:flex;flex-direction:column;gap:5px;text-decoration:none;color:var(--ink)}
.jcard:hover{border-color:#9db9d6}.jcard.hold{border-color:#e9a08c;background:#fff8f6}
.jno{font-size:13px;color:var(--link)}.jcust{font-size:13px;font-weight:700;line-height:1.3}.jitems{font-size:12px;color:#33475c;line-height:1.35}
.jtags{display:flex;gap:5px;flex-wrap:wrap}
.tag.plain{background:#eef2f6;color:#33475c}
.tag.src-dyo{background:#f3e8ff;color:#5b2a86}.tag.src-school{background:#e8f1ff;color:#1d4f91}.tag.src-group{background:#e6f6ef;color:#17603f}.tag.src-trade{background:#fdf0c4;color:#6b4e00}
.jdue{font-size:12px;font-weight:700;color:var(--muted)}.jdue.soon{color:var(--amber)}.jdue.late,.late{color:var(--red)}
.jblock{font-size:12px;font-weight:800;padding:4px 7px;border-radius:8px;background:#ffe7c7;color:var(--amber)}
.jblock.ok{background:#dbf2e3;color:var(--green-ink)}.jblock.bad{background:#fde3dc;color:var(--red)}
.prio{font-size:12px;font-weight:800;padding:2px 7px;border-radius:8px}
.prio-high{background:#fde3dc;color:#8a2a12}.prio-rush{background:#8a2a12;color:#fff}
.pill.bad{background:#fde3dc;color:var(--red)}
.steps8{list-style:none;margin:0;padding:14px 18px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.steps8 li{display:flex;flex-direction:column;gap:6px}.steps8 i{height:6px;border-radius:3px;background:#e3eaf1}
.steps8 li.done i{background:var(--green)}.steps8 li.now i{background:#e08a00}
.steps8 b{font-size:13px;color:var(--muted)}.steps8 li.done b{color:var(--green-ink)}.steps8 li.now b{color:var(--amber)}
.gate{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid #e3eaf1;border-radius:12px;flex-wrap:wrap}
.gdot{width:28px;height:28px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;border:1px solid #c9d6e2;color:var(--muted);flex:none}
.gdot.ok{background:var(--green);border-color:var(--green);color:#fff}
.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form input{width:auto;min-width:200px}
.alert .inline-form{margin-top:8px}
.btn.big{min-height:52px;font-size:16px;padding:0 22px}
.btn.huge{min-height:64px;font-size:19px;padding:0 24px;border-radius:14px}
.btn.navy{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:800}
.btn.bad{color:var(--red)}
details summary{list-style:none}details summary::-webkit-details-marker{display:none}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.note-box{display:block;padding:10px 12px;border-radius:10px;background:#f4f8fb;font-size:14px}.note-box.warn{background:#fff6e5;color:#7a4b00}
.line.total{background:#f7fafc;font-weight:700}
.glines{display:flex;flex-direction:column;gap:6px;overflow-x:auto}
.gline{display:grid;grid-template-columns:2fr 1.2fr 1.6fr .6fr 1.2fr 1.2fr;gap:6px;min-width:820px}
.gline.head span{font-size:12px;font-weight:700;color:var(--muted)}
.gline input{height:40px}
.center{text-align:center}
/* shop floor */
body.floor{background:#eef2f6;min-height:100vh}
.floor-top{background:var(--navy);color:#fff;padding:12px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.floor-title{flex:1;display:flex;justify-content:center}
.floor-h{font-size:20px;font-weight:800}
.floor-user{font-size:13px;color:#cfe0f2;display:flex;align-items:center;gap:6px}.floor-user form{margin:0}
.station-pick{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.station-pick label{color:#b9cbe0;font-weight:700;font-size:14px}
.station-pick select{height:50px;min-width:220px;font-size:17px;font-weight:700;border:0;border-radius:12px}
.floor-main{padding:18px 20px 30px;display:flex;flex-direction:column;gap:14px;max-width:1300px;margin:0 auto}
.station{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px}
.station h2{font-size:20px;font-weight:800}
.fcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px}
.fcard.now{border:2px dashed #3d6ea5;background:#fbfdff}
.fcard.next{flex-direction:row;align-items:center;gap:12px}
.fjob{font-size:22px;font-weight:800;color:var(--navy);text-decoration:none}
.fcust{font-size:17px}
.fbtns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fbtns form{margin:0}.fbtns .btn{width:100%}
.fproblem summary{width:100%}
.fproblem[open] summary{margin-bottom:10px}
.big-alert{font-size:17px}
.big-empty{font-size:16px;padding:16px;background:#fff;border-radius:14px;border:1px dashed #c9d6e2}
.quick-find{display:flex;gap:8px}.quick-find input{height:52px;font-size:18px;font-weight:700}
.fcard.quick{gap:6px}
.floor-foot{text-align:center}
@media (max-width:900px){.station{grid-template-columns:1fr}.form-2,.fbtns{grid-template-columns:1fr}.steps8{grid-template-columns:repeat(4,minmax(0,1fr))}.floor-title{justify-content:flex-start}}

/* ---- v0.6.0 Quotes ---- */
.hotcard{border-color:#e9b46a}
.reqrow{display:grid;grid-template-columns:150px minmax(0,1fr) 110px minmax(0,auto);gap:12px;align-items:center;padding:10px 0;border-top:1px solid #eef2f6}
.tag.src-quote{background:#e3ecfb;color:#163f86;text-decoration:none}
.form-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.span2{grid-column:span 2}
fieldset.card{margin:0;min-width:0}fieldset[disabled] input,fieldset[disabled] select,fieldset[disabled] textarea{background:#f6f9fc;color:#33475c}
.qline-total{font-size:18px;color:var(--navy)}
.decos{border:1px solid #e3eaf1;border-radius:12px;overflow:hidden}
.deco{display:grid;grid-template-columns:150px 170px minmax(0,1fr) 100px 170px;gap:8px;align-items:center;padding:8px 10px;border-top:1px solid #eef2f6}
.deco:first-child{border-top:0}.deco.head{background:#f7fafc;font-size:12px;font-weight:700;color:var(--muted)}
.deco input,.deco select{height:40px}.deco-opts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.deco-opts label{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:700;color:var(--muted)}.deco-opts input,.deco-opts select{width:auto}
.deco-opts label{display:none}
.deco[data-m="screen_print"] .f-col,.deco[data-m="embroidery"] .f-sti,.deco[data-m="dtf"] .f-siz,.deco[data-m="dtg"] .f-siz,.deco[data-m="dtg"] .f-gar,.deco[data-m="manual"] .f-des{display:flex}
.deco-price{font-size:14px}
.extra-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 110px;gap:10px;align-items:center}
.sticky{position:sticky;top:16px}
@media (max-width:1100px){.form-3{grid-template-columns:1fr 1fr}.deco{grid-template-columns:1fr 1fr}.reqrow{grid-template-columns:1fr 1fr}.sticky{position:static}}
/* ffops18: online shop */
.tag.ch-shop,.tag.src-shop,.thumb.ph.ch-shop{background:#fde8ef;color:#8a1f45}
.shop-vat td,.shop-vat th{font-size:13px}
.shop-mocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.shop-mocks figure{margin:0;text-align:center}.shop-mocks img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#f1f5f9;border-radius:10px}
.shop-mocks figcaption{font-size:12px;color:#4a5f75;margin-top:4px}
.delivery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}

/* ---- Production v2 (board, list, planner) ---- */
.board{display:grid;gap:10px;overflow-x:auto;padding-bottom:8px;align-items:start}
.col{min-height:0}
.col.is-empty{background:transparent;border:1px dashed var(--line);padding:8px 10px}
.col.is-empty h2{opacity:.6}
.col h2 .count{background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:0 8px;font-size:12px;color:var(--muted)}
.jcard{transition:border-color .15s,box-shadow .15s}
.jcard:hover{box-shadow:0 2px 10px rgba(23,26,64,.08)}
.jcard.lvl-bad{border-left:3px solid #d2573a}.jcard.lvl-warn{border-left:3px solid #e0a02a}
.jcard .jno{text-decoration:none;font-size:13px}.jcard .jcust{color:var(--ink);text-decoration:none}.jcard .jcust:hover{color:var(--link)}
.jfoot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:2px;flex-wrap:wrap}.jfoot form{margin:0}
.btn.sm{min-height:32px;padding:0 12px;font-size:13px;border-radius:7px}
.why{display:block;font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--amber-soft);color:var(--amber)}
.why.bad{background:var(--red-soft);color:var(--red)}
.why+.why{margin-top:3px}
.timer{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:var(--r-pill)}
.timer.run{background:var(--green-soft);color:var(--green-ink)}.timer.paused{background:#e6ecf2;color:var(--muted)}
p.timer{font-size:14px;align-self:flex-start;margin:0}
.avatar.xs{width:20px;height:20px;font-size:9px;display:inline-flex;vertical-align:middle}
.strip a.kpi.sel{background:var(--navy);color:#fff}.strip a.kpi.sel span,.strip a.kpi.sel b{color:#fff}
.strip .kpi b{font-size:26px}
.empty-state{text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center;padding:36px 20px}
.card.attention{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-left:3px solid #e0a02a}
.card.late-card{border-left:3px solid #e0a02a;margin-bottom:16px}
.card.attention .why{display:inline-block;margin:0}
.fbtns .fproblem{grid-column:1/-1}
.tray-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line-2)}
.tray-row:first-of-type{border-top:0}
.tray-row .inline-form input{min-width:0;width:150px;height:34px}
.plan{display:grid;grid-template-columns:170px repeat(var(--n),minmax(92px,1fr));min-width:calc(170px + var(--n) * 92px)}
.card.flush:has(.plan){overflow-x:auto}
.plan>*{border-top:1px solid var(--line-2);border-left:1px solid var(--line-2);padding:8px 10px;min-height:64px}
.plan>*:nth-child(n+1):nth-child(-n+1){border-left:0}
.plan-h{background:var(--soft);font-size:12px;font-weight:700;color:var(--muted);display:flex;flex-direction:column;border-top:0;min-height:0;justify-content:center}
.plan-h b{color:var(--ink);font-size:13px}.plan-h.today{background:var(--navy);color:#cfe0f2}.plan-h.today b{color:#fff}
.plan-corner{flex-direction:row;gap:6px;align-items:center;flex-wrap:wrap}
.plan-dept{display:flex;flex-direction:column;gap:2px;justify-content:center;border-left:0}
.plan-cell{display:flex;flex-direction:column;gap:4px;font-size:12px}
.plan-cell.tone-ok{background:#f1faf5}.plan-cell.tone-warn{background:#fff6e0}.plan-cell.tone-bad{background:#fdeae4}
.plan-qty b{font-size:15px}
.plan-bar{display:block;height:5px;border-radius:3px;background:rgba(23,26,64,.1);overflow:hidden}.plan-bar i{display:block;height:100%;background:var(--green)}
.tone-warn .plan-bar i{background:#e0a02a}.tone-bad .plan-bar i{background:#d2573a}
.plan-job{font-size:12px;font-weight:700;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:6px;padding:1px 6px;width:max-content}
.plan-job.late{border-color:#d2573a;color:var(--red)}
.cap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
@media (max-width:700px){.plan{grid-template-columns:130px repeat(var(--n),88px);min-width:0}}

/* ---- Alerts ---- */
.bell{position:relative}
.bell>summary{width:40px;height:40px;border-radius:var(--r-ctl);border:1px solid var(--line);background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;list-style:none}
.bell>summary:hover,.bell[open]>summary{background:var(--soft);border-color:#a9bcd0}
.bell .badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;border-radius:10px;background:#b8452b;color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid #fff}
.bell-panel{position:absolute;right:0;top:48px;width:min(380px,calc(100vw - 24px));background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-float);z-index:40;overflow:hidden}
.bell-h{padding:12px 16px;border-bottom:1px solid var(--line-2)}.bell-h form{margin:0}
.bell-item,.alert-row{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;text-decoration:none;color:var(--ink);border-top:1px solid var(--line-2)}
.bell-h+.bell-item{border-top:0}
.bell-item:hover,.alert-row:hover{background:var(--soft)}
.bell-item.unread,.alert-row.unread{background:#f3f8ff}.bell-item.unread:hover,.alert-row.unread:hover{background:#e9f2ff}
.alert-row{align-items:center;padding:14px 18px}.alert-row:first-child{border-top:0}
.lvl{width:10px;height:10px;border-radius:50%;background:#9db9d6;flex:none;margin-top:6px}.alert-row .lvl{margin-top:0}
.lvl-warn{background:#e0a02a}.lvl-bad{background:#d2573a}
.bell-empty{padding:18px 16px;margin:0}
.bell-foot{display:block;text-align:center;padding:11px;border-top:1px solid var(--line-2);font-weight:700;text-decoration:none;background:var(--soft)}
@media (max-width:700px){.bell-panel{position:fixed;left:12px;right:12px;top:64px;width:auto}}

/* ---- Planner v2 ---- */
.plan-range{font-size:15px;margin-left:6px}
.plan-job{display:flex;flex-direction:column;gap:1px;background:#fff;border:1px solid var(--line);border-left:3px solid #9db9d6;border-radius:7px;padding:4px 7px;width:100%;cursor:default;transition:box-shadow .12s,transform .12s}
.plan-job[draggable=true]{cursor:grab}.plan-job[draggable=true]:hover{box-shadow:0 2px 8px rgba(23,26,64,.12)}
.plan-job:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.plan-job a{text-decoration:none}
.plan-job.prio-high{border-left-color:#e0a02a}.plan-job.prio-rush{border-left-color:#d2573a}
.plan-job.late{background:#fff5f2;border-color:#e9a08c;border-left-color:#d2573a}
.plan-job.dragging,.tray-row.dragging{opacity:.4}
.duepin{color:var(--red)}
.plan-cell.can-drop{outline:2px dashed #9db9d6;outline-offset:-3px}
.plan-cell.over{outline:2px solid var(--green);outline-offset:-3px;background:#eefaf3}
.plan-cell.tone-none .plan-sum,.plan-cell.tone-none .plan-bar{visibility:hidden}
.plan-cell{min-height:78px}
.plan-foot{background:var(--soft);min-height:0;display:flex;flex-direction:column;justify-content:center;font-size:13px}
.plan-total{align-items:flex-start}
#tray.over{outline:2px solid var(--green);outline-offset:-2px;background:#f7fcf9}
.tray-row[draggable=true]{cursor:grab}
.grip{color:#9db0c4;letter-spacing:-2px;font-weight:800;user-select:none}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--navy-2);color:#fff;padding:12px 18px;border-radius:var(--r);box-shadow:var(--shadow-float);z-index:60;font-weight:600;max-width:calc(100vw - 32px)}
.toast .link{color:#8fd4ae;margin-left:8px}.toast.bad{background:#8a2a12}

/* ---- Artwork proofs ---- */
.pp-preview{background:repeating-conic-gradient(#eef2f6 0 25%,#fff 0 50%) 0 0/18px 18px;border:1px solid var(--line);border-radius:var(--r);display:flex;align-items:center;justify-content:center;min-height:240px;overflow:hidden}
.pp-preview img{max-width:100%;max-height:560px;object-fit:contain;display:block}
.pp-preview iframe{width:100%;height:560px;border:0;background:#fff}
.pp-file{padding:40px 20px;text-align:center;background:#fff;width:100%}
.msg{padding:10px 14px;border-radius:var(--r);background:var(--soft);border:1px solid var(--line-2);max-width:90%}
.msg.cust{background:#eef5ff;border-color:#cfe0f7}.msg.mine{background:#f4f8fb;margin-left:auto}.msg.internal{background:#fff8e6;border-color:#f0dcaa;border-style:dashed}
.msg p{margin:4px 0 0}
.proof-line{display:flex;justify-content:space-between;gap:10px;align-items:center;text-decoration:none;color:var(--ink);padding:8px 0;border-top:1px solid var(--line-2)}
.proof-line:hover{background:var(--soft)}
body.public-proof{background:var(--bg)}
.pp-top{background:var(--navy-2);color:#fff;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.pp-top .brand{color:#fff}.pp-logo{flex:none;padding:7px 12px}.pp-logo img{width:130px;height:auto;display:block}.pp-ref{font-size:13px;color:#b9cbe0}
.pp-main{max-width:820px;margin:0 auto;padding:24px 16px 40px;display:flex;flex-direction:column;gap:16px}
.pp-h{font-size:24px;font-weight:800}
.pp-foot{text-align:center;color:var(--muted);font-size:13px;padding:0 16px 32px}

/* Quote builder */
.qb-search{position:relative}.qb-search input{width:100%;height:48px;font-size:16px}
.qb-results{position:absolute;z-index:30;left:0;right:0;top:52px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-float);max-height:420px;overflow:auto}
.qb-results[hidden]{display:none}.qb-res{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:8px 12px;border:0;border-top:1px solid var(--line-2);background:#fff;font:inherit;cursor:pointer;color:var(--ink)}
.qb-res:first-child{border-top:0}.qb-res:hover,.qb-res:focus{background:var(--soft)}.qb-res img,.qb-thumb{width:52px;height:52px;object-fit:contain;border-radius:8px;background:var(--soft);border:1px solid var(--line-2);flex:none}
.qb-thumb.none{display:inline-block}.pad{padding:12px}
.qb-head{display:flex;gap:14px;align-items:center}.qb-title{flex:1;min-width:0;display:flex;flex-direction:column}.qb-name{height:42px;font-weight:700}
.qb-sum{text-align:right;font-size:16px;color:var(--navy)}
.qb-label{font-size:13px;font-weight:700;color:var(--muted);margin-bottom:6px}
.qb-swatches{display:flex;flex-wrap:wrap;gap:6px}
.qb-sw{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border:1px solid var(--line);border-radius:var(--r-pill);background:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink)}
.qb-sw img,.qb-dot{width:28px;height:28px;border-radius:50%;object-fit:cover;background:var(--soft);flex:none;display:inline-block;border:1px solid var(--line-2)}
.qb-sw:hover{border-color:var(--seam)}.qb-sw.on{background:var(--green-soft);border-color:var(--green);color:var(--green-ink)}
.qb-scroll{overflow-x:auto}.qb-grid{border-collapse:collapse;width:100%}
.qb-grid th{font-size:12px;color:var(--muted);text-align:left;padding:4px 4px 6px}.qb-grid th.c,.qb-grid td.c{text-align:center}
.qb-grid td{padding:3px 3px;border-top:1px solid var(--line-2);vertical-align:top}
.qb-col{min-width:200px;white-space:nowrap}.qb-col>*{vertical-align:middle;margin-right:6px}.qb-col input{width:130px;height:38px}
.qb-mini{width:36px;height:36px;object-fit:contain;border-radius:6px;background:var(--soft)}
.qb-cell{width:54px;height:42px;text-align:center;font-size:16px;font-weight:700;padding:0 2px}
.qb-cell.over{border-color:#d4580f;background:var(--amber-soft)}
.qb-stock{display:block;font-size:12px;color:var(--muted);line-height:1.2;margin-top:1px}
.qb-total{width:104px;height:42px;text-align:center;font-weight:800}
.qb-foot td{font-weight:800;color:var(--navy);padding-top:8px}
.qb-link{border:0;background:none;color:var(--link);font:inherit;font-size:12px;cursor:pointer;padding:2px 4px}.qb-link:hover{text-decoration:underline}
.qb-decos,.qb-mock{display:flex;flex-direction:column;gap:8px}
.qb-deco{display:grid;grid-template-columns:minmax(120px,1fr) 170px auto 84px 90px 24px;gap:8px;align-items:center}
.qb-deco input,.qb-deco select{height:40px;width:100%}.qb-dopts{display:flex;gap:8px;flex-wrap:wrap}.qb-dopts label{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:700;color:var(--muted)}.qb-dopts input,.qb-dopts select{width:auto;min-width:70px}
.qb-dprice{font-weight:700;font-size:13px}
.qb-mockimg{width:96px;height:96px;object-fit:contain;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.qb-picker{border:1px solid var(--line);border-radius:var(--r);padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--soft)}
.qb-designs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.qb-design{display:flex;flex-direction:column;gap:2px;text-align:left;padding:8px;border:1px solid var(--line);border-radius:var(--r-ctl);background:#fff;font:inherit;cursor:pointer;color:var(--ink)}.qb-design img{width:100%;height:110px;object-fit:contain}.qb-design:hover{border-color:var(--seam)}
.qb-check{color:var(--amber);font-weight:700}.qb-more summary{cursor:pointer;font-weight:700;color:var(--muted)}
@media(max-width:760px){.qb-deco{grid-template-columns:1fr 1fr}.qb-head{flex-wrap:wrap}}
.qb-ready.blocked{border-left:4px solid var(--red)}
/* Send stopped by the full check (30 Oct 2026): a pop-up listing each reason with a Fix it button (sheet from .pr-sheet) */
.qns{display:none}.qns[open]{display:grid;gap:14px}
.qns .pr-row{display:flex;align-items:center;gap:10px}
.qns-icon{flex:none;width:32px;height:32px;border-radius:50%;background:var(--red-soft);color:var(--red);display:grid;place-items:center;font-weight:800}
.qns p{margin:0}
.qns-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;overflow:auto;max-height:52vh}
.qns-list li{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;padding:10px 12px}
.qns-list .qns-step{grid-column:1/-1;font-size:12px;font-weight:700;color:var(--muted)}
.qns-list p{font-weight:600}
.qns-foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.qmiss-pop .qns-list li{border-left-color:var(--amber)}.qmiss-pop .qns-icon{background:var(--amber-soft);color:var(--amber)}
@keyframes qflash{0%{box-shadow:0 0 0 0 rgba(245,173,47,.9)}100%{box-shadow:0 0 0 14px rgba(245,173,47,0)}}
.qflash{animation:qflash 1.2s ease-out 2}
@media (prefers-reduced-motion:reduce){.qflash{animation:none;outline:3px solid #f5ad2f;outline-offset:2px}}
@media (max-width:640px){.qns-list li{grid-template-columns:1fr}.qns-list li .btn{justify-self:start}.qns-foot .btn{flex:1}}
.alert-list{margin:6px 0 0;padding-left:1.3em;font-weight:500;display:grid;gap:4px}.qb-ready.go{border-left:4px solid var(--green)}
.qb-ri{display:flex;gap:8px;align-items:flex-start;font-size:14px}.qb-ri .dot{width:10px;height:10px;border-radius:50%;margin-top:6px;flex:none;background:var(--seam)}
.qb-ri.stop .dot{background:var(--red)}.qb-ri.warn .dot{background:#d4580f}.qb-ri.tip .dot{background:var(--link)}
.quote-form .stickybar{position:sticky;bottom:0;z-index:20;background:linear-gradient(transparent,var(--bg) 30%);padding:18px 0 10px}

/* quote page steps (v0.29) */
.qn{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:var(--navy,#102b49);color:#fff;font-size:13px;font-weight:800;vertical-align:1px}
.qb-step{font-size:17px;font-weight:800;margin:6px 2px -4px}
.qmore{border-top:1px solid var(--line);padding-top:10px}.qmore summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;padding:4px 0}.qmore summary::after{content:"Change";margin-left:auto;font-size:13px;font-weight:700;color:var(--link,#1c5fb4)}.qmore[open] summary::after{content:"Hide"}.qmore .form-3{margin-top:12px}
.extras-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.extra-tile{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.extra-tile .et-name{font-weight:700;font-size:14px}.extra-tile .et-row{display:flex;gap:10px;align-items:center;margin-top:4px}.extra-tile input{width:84px}.extra-tile b{margin-left:auto}
.extra-tile:has(input:not(:placeholder-shown)){border-color:#1c5fb4;background:#f2f7fd}
.qwaive{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px dashed var(--line);border-radius:10px}
.pay-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.pay-opt{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:var(--surface)}
.pay-opt span{display:flex;flex-direction:column;gap:2px}.pay-opt small{color:var(--muted)}.pay-opt:has(input:checked){border-color:#1c5fb4;background:#f2f7fd}
.quote-form .stickybar{display:flex;gap:14px;align-items:center;justify-content:space-between}.qbar-total{display:flex;flex-direction:column;line-height:1.15}.qbar-total b{font-size:20px}
@media (max-width:760px){.pay-opts{grid-template-columns:1fr}.quote-form .stickybar{padding:10px 0 calc(10px + env(safe-area-inset-bottom))}.quote-form .stickybar .btn{flex:1}}
.qdisc{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px 12px;align-items:end}.qdisc-note{grid-column:1/-1}@media (max-width:760px){.qdisc{grid-template-columns:1fr}}
.coldrow{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 110px 130px;text-decoration:none;color:inherit}.coldrow:hover{background:#f6f9fc}@media (max-width:760px){.coldrow{grid-template-columns:1fr 1fr}}
.target-bar{position:relative;height:12px;border-radius:99px;background:var(--line-2,#e6edf4);overflow:visible}.target-bar i{display:block;height:100%;border-radius:99px;background:var(--green,#1f8a4c)}.target-bar b{position:absolute;top:-4px;width:2px;height:20px;background:var(--navy,#0b2340);border-radius:1px}
.qb-own{display:block;font-size:12px;color:var(--green);font-weight:700;line-height:1.2;margin-top:1px}
/* v0.50 department steps (screen print) */
.psteps{display:flex;flex-direction:column;gap:6px}
.psteps .label{margin-top:6px}
.pstep{display:flex;gap:12px;align-items:center;padding:8px 10px;border:1px solid #e3eaf1;border-radius:12px}
.pstep form{margin:0}
.pstep.done{background:#f3faf6;border-color:#cfe9da}
.pstep.locked{opacity:.6}
.psteps.floor .pstep{padding:12px 14px}
.psteps.floor .pstep b{font-size:17px}
.jstep{font-size:12px;color:var(--muted)}
.ok-text{color:var(--green);font-weight:700}
.dismiss-req select{max-width:200px}
.tag.ch-ffs,.thumb.ph.ch-ffs{background:#e8f1ff;color:#1d4f91}.tag.ch-ffg,.thumb.ph.ch-ffg{background:#e6f6ef;color:#17603f}
.tag.ch-quote,.thumb.ph.ch-quote{background:#fff3d6;color:#6b4a00}
.tag.ch-school,.tag.ch-dyo,.tag.ch-group,.thumb.ph.ch-school,.thumb.ph.ch-dyo,.thumb.ph.ch-group{background:#eef1f4;color:#4a5670}
.warnbox{background:#fff4e0;border:1px solid #f2c27a;border-radius:10px;padding:10px 12px;font-weight:600}
.nextgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:14px}
.nextcard .nexthead{text-decoration:none;color:inherit}.nextcount{min-width:32px;padding:2px 10px;border-radius:999px;background:#e6ecf2;color:var(--muted);font-weight:800;text-align:center}
.nextcard.hot .nextcount{background:var(--amber-soft);color:var(--amber)}
.nextrow{display:flex;flex-direction:column;gap:1px;padding:8px 0;border-top:1px solid #eef2f6;text-decoration:none;color:inherit}.nextrow:hover span:first-child{text-decoration:underline}
.helpgrid{display:flex;flex-direction:column;gap:12px;max-width:860px}.helpcard summary{cursor:pointer;font-size:17px;display:flex;gap:10px;align-items:center}
.helpsteps{margin:12px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:10px}.helpsteps li span{display:block;color:var(--muted)}
/* Staff pilot: the "Tell us" button on every page while the pilot runs */
.tellus{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:40;max-width:calc(100vw - 32px)}
.tellus summary{list-style:none;cursor:pointer;background:var(--navy);color:#fff;font-weight:800;padding:10px 16px;border-radius:var(--r-pill);box-shadow:var(--shadow-float);margin-left:auto;width:max-content}
.tellus summary::-webkit-details-marker{display:none}
.tellus[open] summary{margin-bottom:8px}
.tellus form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-float);padding:14px;width:320px;max-width:100%}
.tellus textarea{width:100%;min-height:90px}
.content{padding-bottom:72px}
/* Quote screen v0.73: customer line, option tabs, builder with garment picture, finishing touches, side panel with Send */
:root{--gold:#f5ad2f;--gold-soft:rgba(245,173,47,.2)}
fieldset.bare{border:0;padding:0;margin:0;min-width:0}
.qwork [hidden],.qb [hidden]{display:none!important}
.qhead{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:8px 0 4px}
.qhead-id{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.qhead-id h2{font-size:26px;font-weight:800}
.qcust{display:flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);font:inherit;color:var(--ink);cursor:pointer;text-align:left;min-width:0;max-width:100%}
.qcust:hover{border-color:var(--seam)}.qcust:disabled{cursor:default}
.qcust .av{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex:none}
.qcust-t{display:flex;flex-direction:column;min-width:0;line-height:1.3}.qcust-t b{font-size:14px;color:var(--navy)}
.qcust-t small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qcust-ch{color:var(--link);font-weight:700;font-size:13px;flex:none}
.qhead-sp{flex:1}
.qsave{font-size:12.5px;font-weight:700;color:var(--green);display:inline-flex;align-items:center;gap:6px}
.qsave::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.qsave.busy{color:var(--muted)}.qsave.bad{color:var(--red)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--soft);max-width:100%}
.seg button{border:0;background:transparent;padding:8px 14px;font:inherit;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--navy);color:#fff}
.otabs{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin:4px 0 2px}
.otab{display:flex;flex-direction:column;line-height:1.3;padding:7px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none;color:var(--navy);font-weight:800;font-size:13.5px}
.otab small{font-weight:600;font-size:12px;color:var(--muted)}.otab:hover{border-color:var(--seam);color:var(--navy)}
.otab.on{background:var(--navy);border-color:var(--navy);color:#fff}.otab.on small{color:#fff;opacity:.85}.otab.closed{opacity:.6}
.otab-add{margin:0}.otab.add{border-style:dashed;cursor:pointer;font:inherit;font-weight:800;font-size:13.5px;justify-content:center;min-height:44px;color:var(--navy)}
.otabs-help{flex-basis:260px;flex-grow:1}
.qwork{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start;margin-top:12px}
.qmain{min-width:0}
.qside{position:sticky;top:84px;display:flex;flex-direction:column;gap:12px;min-width:0}
@media (max-width:1100px){.qwork{grid-template-columns:minmax(0,1fr)}.qside{position:static}}
.qcard>summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:center;justify-content:space-between}
.qcard>summary::-webkit-details-marker{display:none}
.qcard-t{display:flex;flex-direction:column;min-width:0}.qcard-t b{color:var(--navy);font-size:16px}.qcard-t span{overflow:hidden;text-overflow:ellipsis}
.qcard-ch{color:var(--link);font-weight:700;font-size:13px;flex:none}.qcard[open]>summary .qcard-ch{visibility:hidden}
.qcard[open]>summary{margin-bottom:14px}
.qstart-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.qtile{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--soft);text-align:left;font:inherit;color:var(--ink);text-decoration:none;cursor:pointer;min-width:0;list-style:none;height:100%}
.qtile::-webkit-details-marker{display:none}
.qtile b{color:var(--navy);font-size:14px}.qtile span{font-size:12.5px;color:var(--muted)}
.qtile:hover{border-color:var(--seam);color:var(--ink)}.qtile.hot{background:var(--surface);border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.qtile.off{cursor:default;opacity:.7}.qtile-d{min-width:0}.qtile-d[open] .qtile{border-color:var(--navy)}
.qtile-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
@media (max-width:760px){.qstart-tiles{grid-template-columns:1fr 1fr}}
.qtouch h3{margin-bottom:4px}
.touch{border-top:1px solid var(--line-2)}.touch:first-of-type{border-top:0}
.touch>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:12px;align-items:center;padding:12px 0}
.touch>summary::-webkit-details-marker{display:none}
.touch>summary b{color:var(--navy);font-size:14.5px;white-space:nowrap}
.touch>summary span{font-size:13px;color:var(--muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.touch>summary::after{content:"›";grid-column:3;color:var(--muted);font-size:18px;line-height:1;transition:transform .15s}
.touch[open]>summary::after{transform:rotate(90deg)}
.touch>summary{grid-template-columns:minmax(0,auto) minmax(0,1fr) 12px}
.touch-in{padding:0 0 14px}
.qsum-big{display:flex;flex-direction:column;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--line-2)}
.qsum-big b{font-size:30px;font-weight:800;color:var(--navy);line-height:1.1;font-variant-numeric:tabular-nums}
.qsum-rows{display:flex;flex-direction:column;gap:2px;font-size:13.5px}
.qmeter{margin:4px 0 6px}.qmeter.low i{background:#d4580f}
.qsend{display:flex;flex-direction:column;gap:8px}.qsend .btn{width:100%}
.qphone-bar{display:none}
.qcv-head{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.qcv-head h3{font-size:20px}
.qcv-doc .qt{width:100%;border-collapse:collapse;font-size:14px}
.qcv-doc .qt th{text-align:left;font-size:12.5px;color:var(--muted);padding:10px 8px;border-bottom:1px solid var(--line)}
.qcv-doc .qt td{padding:10px 8px;border-bottom:1px solid var(--line-2);vertical-align:top}.qcv-doc .qt small{color:var(--muted)}.qcv-doc .r{text-align:right}
.qcv-doc .qtot{margin:14px 0 0 auto;max-width:320px;display:flex;flex-direction:column;gap:6px;font-size:15px}.qcv-doc .qtot div{display:flex;justify-content:space-between}
.qcv-doc .qtot .grand{padding-top:8px;border-top:2px solid var(--navy);font-size:17px;color:var(--navy)}
.qcv-msg{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line-2)}
@media (max-width:760px){
  .qcv-doc .qt thead{display:none}.qcv-doc .qt,.qcv-doc .qt tbody{display:block}
  .qcv-doc .qt tr{display:block;margin:0 0 12px;border:1px solid var(--line);border-radius:12px;padding:6px 12px}
  .qcv-doc .qt td{display:flex;justify-content:space-between;gap:12px;border:0;padding:5px 0;text-align:right}
  .qcv-doc .qt td::before{content:attr(data-label);font-size:12px;font-weight:700;color:var(--muted);text-align:left}
  .qcv-doc .qt td:first-child{display:block;text-align:left;padding-bottom:8px;border-bottom:1px solid var(--line-2);margin-bottom:4px}.qcv-doc .qt td:first-child::before,.qcv-doc .qt td.x-name::before{content:none}
  .qcv-doc .qt td.x-name{display:block;text-align:left;font-weight:700}
}
/* builder */
.qb-step{margin:4px 2px 0}
.qb-block{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;align-items:start}
.qb-pic{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;position:sticky;top:84px}
.qb-gwrap{position:relative;width:100%;border-radius:var(--r);background:var(--soft);border:1px solid var(--line-2);overflow:hidden;cursor:crosshair}
.qb-gwrap img{display:block;width:100%;height:auto}
.qb-gwrap.svg{aspect-ratio:1/1.05;display:flex;align-items:center;justify-content:center}
.qb-svg{display:flex;width:84%}.qb-svg svg{width:100%;height:auto}
.qb-gwrap:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.qb-mark{position:absolute;border:2px dashed var(--gold);background:var(--gold-soft);border-radius:6px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.qb-mark span{font-size:10px;font-weight:800;color:#3a2600;background:var(--gold);border-radius:4px;padding:1px 4px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.qb-sides{display:inline-flex;gap:4px}
.qb-sides button{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:4px 12px;font:inherit;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer}
.qb-sides button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.qb-body{display:flex;flex-direction:column;gap:14px;min-width:0}
.qb-top{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.qb-title{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 220px}.qb-title h4{margin:0;font-size:17px;color:var(--navy)}
.qb-acts{display:flex;gap:6px 12px;align-items:baseline;flex-wrap:wrap}
.qb-sum{font-size:18px;color:var(--navy);font-variant-numeric:tabular-nums}
.qb-link.bad{color:var(--red)}
.qb-supply{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.qb-ownnote{color:var(--green-ink);font-weight:700}
.qb-label{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;font-weight:800;color:var(--muted);margin-bottom:6px}
.qb-sw{padding:4px 10px 4px 4px}.qb-sw .qb-dot{width:22px;height:22px}
.qb-dot.sm{width:14px;height:14px;vertical-align:middle}
.qb-sw.on{background:var(--surface);border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy);color:var(--ink)}
.qb-vat0{font-size:12px;font-weight:800;color:var(--green-ink);background:var(--green-soft);border-radius:6px;padding:1px 7px}.qb-vat0.sm{font-size:12px;margin-left:4px}
.qb-sizes{display:flex;flex-direction:column;gap:6px;min-width:0}
.qb-col{min-width:0}.qb-grid th:first-child{white-space:nowrap}
.qb-cell{width:52px}
.qb-total{width:64px}
.qb-ft td{font-weight:800;color:var(--navy);padding-top:6px}
.qb-decos{display:flex;flex-direction:column;gap:10px}
.qb-poschips .chip{padding:6px 12px;font-size:13px;cursor:pointer;font-family:inherit}
.qb-place{border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.qb-phead{display:flex;gap:8px;align-items:center}
.qb-posin{flex:1;min-width:0;height:38px;font-weight:700}
.qb-phead{flex-wrap:wrap}.qb-posname{flex:1;min-width:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qb-mm{display:inline-flex;align-items:center;gap:4px;font-size:13px;white-space:nowrap}.qb-mm input{width:64px;height:34px;text-align:right}
.qb-toobig{background:var(--amber-soft);color:var(--ink);border-radius:8px;padding:6px 10px;font-weight:700}
.qb-m.no{opacity:.55;border-style:dashed}
.qb-spotsug{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:8px}
.qb-else{border-style:dashed}
.qb-methods{display:flex;flex-wrap:wrap;gap:6px}
.qb-m{display:flex;flex-direction:column;align-items:flex-start;min-width:112px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.qb-m b{font-size:13px}.qb-m span{font-size:12px;color:var(--muted);min-height:1.3em;font-variant-numeric:tabular-nums}
.qb-m:hover{border-color:var(--seam)}
.qb-m[aria-pressed="true"]{border-color:var(--navy);box-shadow:inset 0 0 0 2px var(--navy)}.qb-m[aria-pressed="true"] span{color:var(--navy);font-weight:700}
.qb-dopts{display:flex;flex-wrap:wrap;gap:8px 14px}
.qb-dopts label{display:flex;gap:6px;align-items:center;font-size:12.5px;font-weight:700;color:var(--muted)}
.qb-dopts input,.qb-dopts select{height:36px;width:auto;min-width:64px;max-width:120px}
.qb-foot{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;border-top:1px solid var(--line-2);padding-top:12px}
.qb-ppp{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.qb-ppp b{font-size:22px;color:var(--navy);font-variant-numeric:tabular-nums}
.qb-breaks{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.qb-brk{display:flex;flex-direction:column;line-height:1.3;padding:5px 10px;border:1px dashed var(--line);border-radius:10px;background:var(--soft);font-size:12px;font-variant-numeric:tabular-nums}
.qb-brk b{font-size:13px}.qb-brk.now{border-style:solid;border-color:var(--navy);background:var(--surface)}.qb-brk em{font-style:normal;color:var(--green);font-weight:700}
.qb-more>summary{font-size:13px}
.qb-addbtn{align-self:flex-start}
.qb-filters .chip{cursor:pointer;font-family:inherit;padding:6px 12px;font-size:13px}
.qb-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.qb-prod{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font:inherit;text-align:left;cursor:pointer;color:var(--ink);min-width:0;position:relative}
.qb-prod:hover{border-color:var(--navy)}.qb-prod b{font-size:13.5px;color:var(--navy)}
.qb-ppic{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:9px;background:var(--soft);overflow:hidden}
.qb-ppic img{width:100%;height:100%;object-fit:contain}.qb-ppic .qb-svg{width:70%}
.qb-ribbon{position:absolute;top:14px;left:14px;font-size:12px;font-weight:800;color:var(--amber);background:var(--amber-soft);border-radius:6px;padding:1px 6px;max-width:calc(100% - 28px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qb-pdots{display:flex;gap:3px;flex-wrap:wrap;align-items:center}.qb-pdots i{width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}
@media (max-width:760px){
  .qhead-id h2{font-size:22px}.qcust{order:5;flex:1 1 100%}.qhead .seg{order:6}
  .qb-block{grid-template-columns:minmax(0,1fr);gap:12px}
  .qb-pic{position:static;flex-direction:row;flex-wrap:wrap;justify-content:center}.qb-gwrap{max-width:240px}
  .qb-m{min-width:0;flex:1 1 calc(50% - 6px)}
  .qside .qsend{display:none}
  .qphone-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;gap:12px;align-items:center;justify-content:space-between;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(23,26,64,.08);padding:10px 16px calc(10px + env(safe-area-inset-bottom, 0px))}
  .qphone-bar .btn{flex:0 1 auto}
  body:has(.qphone-bar) .content{padding-bottom:96px}
  body:has(.qphone-bar) .tellus{bottom:calc(84px + env(safe-area-inset-bottom, 0px))}
}
.qb-grid{width:auto}.qb-grid .qb-cell{width:50px;min-width:50px;padding:0 2px}.qb-grid .qb-total{width:60px;min-width:60px;padding:0 2px}
@media (max-width:760px){.qhead-sp{display:none}.qhead>.btn.sm{order:2}.qhead .qsave{order:3}}
/* Inbox count in the menu (in-app conversations, 11 Oct 2026) */
.nav .nav-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#f5ad2f;color:#1c2a5f;font-style:normal;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
html.rail .nav .nav-count{position:absolute;top:0;right:4px;min-width:18px;height:18px;font-size:12px;padding:0 4px}
.nav .nav-sdot{margin-left:auto;width:8px;height:8px;border-radius:50%;background:#7fd6a6;flex:none}.nav .nav-sdot.warn{background:#f5ad2f}.nav .nav-sdot.bad{background:#ff8a6b}
html.rail .nav .nav-sdot{position:absolute;right:12px;top:8px}

.qx-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.qx-tiles .kpi b{font-size:24px}
.qx-tools{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.qx-search{flex:1 1 240px}.qx-search input{width:100%}
.qx-list{display:flex;flex-direction:column}
.qx-row{display:grid;grid-template-columns:40px minmax(0,1.5fr) minmax(0,1fr) 130px 96px;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--line-2);text-decoration:none;color:var(--ink)}
.qx-row:first-child{border-top:0}.qx-row:hover{background:var(--soft);color:var(--ink)}
.qx-row .av{width:40px;height:40px;border-radius:50%;background:var(--line-2);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.qx-t,.qx-s{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.qx-t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--navy)}
.qx-amt{display:flex;flex-direction:column;align-items:flex-end;text-align:right;font-variant-numeric:tabular-nums}.qx-amt b{color:var(--navy)}
.qx-go{justify-self:end}
.qx-tidy{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 16px;background:var(--soft);border-top:1px dashed var(--line)}
.qx-empty{padding:16px;margin:0}
@media (max-width:900px){.qx-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.qx-row{grid-template-columns:40px minmax(0,1fr) auto}.qx-s{grid-column:2/4}.qx-go{display:none}.qx-amt{grid-row:1;grid-column:3}}
.qb-res-h{padding:8px 12px 4px;font-size:12px;font-weight:800;color:var(--muted);background:var(--soft);letter-spacing:.04em;border-top:1px solid var(--line-2)}
.qb-res-h:first-child{border-top:0}
.qb-res-av{width:34px;height:34px;border-radius:50%;background:var(--line-2);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex:none}
.qb-res-none{padding:10px 12px;margin:0}
/* garment extras on a quote: four boxes instead of a hidden "more" section; dashed means still to do (12 Oct 2026) */
.qb-xs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.qb-xs>.qb-x:first-child{grid-column:1/-1}
.qb-x{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);min-width:0}
.qb-x.todo{border-style:dashed;background:var(--soft)}
.qb-x-k{font-size:12px;font-weight:800;color:var(--muted)}
.qb-x input,.qb-x select{width:100%}
@media (max-width:600px){.qb-xs{grid-template-columns:1fr}}
/* Work rows (Quotes v3, shared with Artwork), 23 Oct 2026: a pill switch, a list of rows that each say why and have one main
   button plus a ⋯ menu, side panels, and pill tabs that switch the panels on tablets and phones */
.qv-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.qv-seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:4px;gap:2px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.qv-seg a,.qv-seg button{border:0;background:none;font:inherit;font-weight:800;font-size:14px;color:var(--muted);padding:8px 14px;border-radius:var(--r-pill);cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none}
.qv-seg a:hover{color:var(--navy)}
.qv-seg .on,.qv-seg [aria-pressed="true"]{background:var(--navy);color:#fff}.qv-seg .on:hover{color:#fff}
.qv-seg .n{font-size:12px;background:var(--line-2);color:var(--navy);border-radius:var(--r-pill);padding:0 7px}
.qv-seg .on .n{background:rgba(255,255,255,.18);color:#fff}
.qv-seg .n.hot,.qv-seg .on .n.hot{background:#f5ad2f;color:var(--navy-2)}
.qv-search{flex:1 1 220px;position:relative;min-width:0;margin:0}
.qv-search input{width:100%;min-height:42px;padding-left:38px}
.qv-search .icon{position:absolute;left:12px;top:12px;color:var(--muted);pointer-events:none}
.qv-bar select{width:auto;flex:none;min-height:42px}
.qv-bar form{margin:0}
.qv-more{display:none}
.qv-strip .kpi b{font-size:26px}
.qv-strip .kpi .tone{font-weight:800;color:var(--amber)}
.qv-desk{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.qv-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-width:0}
.qv-ph{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line-2)}
.qv-ph h2{font-size:17px;font-weight:800}
.qv-ph .sum{margin-left:auto;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;text-align:right}
.qv-ph .d{width:10px;height:10px;border-radius:50%;flex:none;background:var(--muted)}
.qv-ph .d.todo{background:#e06b2d}.qv-ph .d.out{background:#2f86e0}.qv-ph .d.won{background:var(--green)}.qv-ph .d.req{background:#f5ad2f}
.qv-sub{display:flex;align-items:center;gap:8px;padding:12px 18px 4px;font-size:13px;font-weight:800;color:var(--muted)}
.qv-sub .c{background:var(--line-2);color:var(--navy);border-radius:var(--r-pill);padding:0 8px;font-size:12px}
.qv-empty{padding:16px 18px;margin:0}
.qv-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:start;padding:14px 18px;border-top:1px solid var(--line-2)}
.qv-sub+.qv-item,.qv-ph+.qv-item{border-top:0}
.qv-item:hover{background:var(--soft)}
.qv-pic{width:56px;height:56px;border-radius:10px;background:var(--soft);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;position:relative;flex:none;color:var(--navy)}
.qv-pic img{max-width:88%;max-height:88%;object-fit:contain;border-radius:6px}
.qv-pic .icon{width:26px;height:26px;opacity:.55}
.qv-pic .more{position:absolute;right:-6px;bottom:-6px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;border-radius:var(--r-pill);padding:1px 6px;border:2px solid #fff}
.qv-pic.none{border-style:dashed}
.qv-body{min-width:0;display:flex;flex-direction:column;gap:3px}
.qv-name{display:flex;align-items:baseline;gap:4px 8px;flex-wrap:wrap;min-width:0}
.qv-name>a{font-weight:800;color:var(--navy);font-size:15.5px;text-decoration:none}
.qv-name>a:hover{text-decoration:underline}
.qv-name .nm{color:var(--navy);font-size:15.5px}
.qv-name .no{font-size:12.5px;color:var(--muted);font-weight:700}
.qv-what{font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qv-why{display:flex;gap:7px;align-items:flex-start;font-size:13px;font-weight:700;margin-top:4px;color:var(--muted)}
.qv-why i{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none;background:var(--muted)}
.qv-why.red{color:var(--red)}.qv-why.red i{background:#d4532b}
.qv-why.amber{color:var(--amber)}.qv-why.amber i{background:#f5ad2f}
.qv-why.blue{color:#1d5b9e}.qv-why.blue i{background:#2f86e0}
.qv-why.green{color:var(--green-ink)}.qv-why.green i{background:var(--green)}
.qv-why.hot{color:var(--amber)}.qv-why.hot i{background:#e06b2d;box-shadow:0 0 0 3px #fde3cf}
.qv-meta{font-size:12.5px;color:var(--muted);display:flex;gap:2px 12px;flex-wrap:wrap}
.qv-meta .warn{color:var(--amber);font-weight:700}
.qv-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.qv-amt{font-weight:800;color:var(--navy);font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}
.qv-amt.none{font-size:13px;color:var(--muted);font-weight:700}
.qv-acts{display:flex;gap:6px;align-items:center}
.qv-acts form{margin:0}
.qv-acts .btn{min-height:38px;padding:0 14px;font-size:14px;white-space:nowrap}
.qv-acts .btn .icon{width:16px;height:16px}
.qv-dots{position:relative}
.qv-dots>summary{list-style:none;cursor:pointer;width:38px;min-height:38px;padding:0}
.qv-dots>summary::-webkit-details-marker{display:none}
.qv-menu{position:absolute;right:0;top:44px;z-index:20;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-float);min-width:240px;max-width:300px;padding:6px;display:flex;flex-direction:column}
.qv-menu form{margin:0;display:flex;flex-direction:column}
.qv-menu button,.qv-menu a{border:0;background:none;font:inherit;font-size:14px;font-weight:700;color:var(--navy);text-align:left;padding:9px 10px;border-radius:7px;cursor:pointer;text-decoration:none}
.qv-menu button:hover,.qv-menu a:hover{background:var(--soft)}
.qv-menu .bad{color:var(--red)}
.qv-menu hr{border:0;border-top:1px solid var(--line-2);margin:4px 0}
.qv-menu .h{font-size:12px;color:var(--muted);padding:6px 10px 2px;font-weight:700}
.qv-menu .tel{font-size:13px;color:var(--muted);padding:2px 10px 6px;user-select:all}
.qv-menu select{margin:4px 10px;width:auto}
.qv-menu .row-pass{display:flex;gap:6px;padding:4px 10px}.qv-menu .row-pass select{margin:0;flex:1;min-width:0}
.qv-rep{font-size:12px;font-weight:800;background:var(--line-2);color:var(--navy);border-radius:var(--r-pill);padding:1px 7px}
.qv-fold{border-top:1px solid var(--line-2)}
.qv-fold>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:12px 18px;cursor:pointer;color:var(--navy);font-weight:800}
.qv-fold>summary::-webkit-details-marker{display:none}
.qv-fold>summary .chev{margin-left:auto;transition:transform .15s}
.qv-fold[open]>summary .chev{transform:rotate(90deg)}
.qv-fold>summary .muted{font-weight:600}
.qv-fold .qv-item{background:var(--soft)}
.qv-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 18px;border-top:1px dashed var(--line);font-size:13px;color:var(--muted)}
.qv-foot form{margin:0}
.qv-side{display:flex;flex-direction:column;gap:20px;min-width:0}
.qv-mini{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;padding:12px 16px;border-top:1px solid var(--line-2);align-items:start;text-decoration:none;color:var(--ink)}
.qv-ph+.qv-mini{border-top:0}
.qv-mini:hover{background:var(--soft);color:var(--ink)}
.qv-mini .qv-pic{width:44px;height:44px}.qv-mini .qv-pic .icon{width:20px;height:20px}
.qv-mini .t{min-width:0;display:flex;flex-direction:column}
.qv-mini b{color:var(--navy);font-size:14.5px}
.qv-mini .qv-amt{font-size:15px}
.qv-mini .qv-why{margin-top:2px}
.qv-track{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:6px}
.qv-track i{height:5px;border-radius:3px;background:var(--line)}
.qv-track i.on{background:var(--green)}
.qv-track-l{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);font-weight:700;margin-top:3px}
.qv-tabs{display:none}
.qv-wait{font-size:12px;font-weight:800;border-radius:var(--r-pill);padding:2px 9px;background:var(--line-2);color:var(--navy);white-space:nowrap}
.qv-wait.late{background:var(--red-soft);color:var(--red)}
.qv-note{border-left:4px solid #f5ad2f;background:#fff3db;border-radius:8px;padding:10px 14px;margin:0}
@media (max-width:1100px){.qv-desk{grid-template-columns:minmax(0,1fr) 330px}}
@media (max-width:900px){
  .qv-desk{grid-template-columns:minmax(0,1fr)}
  .qv-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .qv-tabs button{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-pill);padding:8px 6px;font:inherit;font-size:14px;font-weight:800;color:var(--navy);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .qv-tabs button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
  .qv-desk.tabbed [data-col]:not(.show){display:none}
  .qv-desk.tabbed .qv-side{display:contents}
  .qv-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qv-strip .kpi:nth-child(3){border-left:0}
  .qv-strip .kpi:nth-child(n+3){border-top:1px solid var(--line-2)}
}
@media (max-width:640px){
  .qv-seg{width:100%}.qv-seg a,.qv-seg button{flex:1;justify-content:center;padding:8px 6px;font-size:13.5px}
  .qv-bar .hide-phone{display:none}
  .qv-more{display:inline-flex}
  .qv-search{flex-basis:100%}
  .qv-bar .qv-new{flex:1}.qv-bar .qv-new .btn{width:100%}
  .qv-strip .kpi{padding:12px 14px}.qv-strip .kpi b{font-size:21px}
  .qv-item{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:12px 14px}
  .qv-item>.qv-pic{width:44px;height:44px}
  .qv-right{display:contents}
  .qv-right>.qv-amt,.qv-right>.qv-wait{grid-column:3;grid-row:1}
  .qv-right>.qv-amt{align-self:start}.qv-right>.o2-pay{grid-column:3;grid-row:1;align-self:end;justify-self:end}   /* Orders: Paid sits under the price, not below the buttons (3 Nov 2026) */
  .qv-acts{grid-column:1/-1;grid-row:2}
  .qv-acts>.btn,.qv-acts>form{flex:1}.qv-acts>form .btn{width:100%}
  .qv-what{white-space:normal}
  .qv-ph{padding:12px 14px}.qv-sub{padding:10px 14px 4px}.qv-mini{padding:12px 14px}.qv-fold>summary{padding:12px 14px}.qv-foot{padding:10px 14px}
  .qv-menu{position:fixed;left:12px;right:12px;top:auto;max-width:none;bottom:calc(76px + env(safe-area-inset-bottom,0px));max-height:70vh;overflow:auto}
}
/* Quote in five steps: Customer, Garments, Logo and print, Price, Send (12 Oct 2026). One form; each step shows its part. */
.qsteps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:12px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:6px;scroll-margin-top:84px}
.qstep{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;border:0;border-radius:9px;background:transparent;font:inherit;font-weight:700;font-size:14px;color:var(--muted);cursor:pointer;text-align:left}
.qstep span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qstep i{font-style:normal;flex:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;background:var(--line-2);color:var(--navy)}
.qstep:hover{background:var(--soft);color:var(--navy)}
.qstep.done{color:var(--green-ink)}.qstep.done i{background:var(--green);color:#fff;font-size:0}.qstep.done i::before{content:"✓";font-size:14px}
.qstep.on{background:var(--navy);color:#fff}.qstep.on i{background:#f5ad2f;color:var(--navy-2)}
.qcolm{display:flex;flex-direction:column;gap:14px;min-width:0}
.qstep-head h3{font-size:20px;margin:0}.qstep-head p{margin:2px 0 0}
.qstep-nav{display:flex;justify-content:space-between;gap:10px;padding-top:4px}.qstep-nav [data-step-next]{margin-left:auto}
.qside-next{width:100%}
.qwork.stepped .qb-step{display:none}
body[data-qstep="1"] [data-in]:not([data-in~="1"]),body[data-qstep="2"] [data-in]:not([data-in~="2"]),body[data-qstep="3"] [data-in]:not([data-in~="3"]),
body[data-qstep="4"] [data-in]:not([data-in~="4"]),body[data-qstep="5"] [data-in]:not([data-in~="5"]){display:none!important}
body[data-qstep="2"] .qb [data-part="p"],body[data-qstep="3"] .qb [data-part="g"],body[data-qstep="4"] .qb [data-part],body[data-qstep="4"] .qb-block>.qb-pic{display:none!important}
body[data-qstep="3"] #qb-add,body[data-qstep="3"] #qb-addbtn,body[data-qstep="3"] #qb-fromdesign-host,body[data-qstep="4"] #qb-add,body[data-qstep="4"] #qb-addbtn,body[data-qstep="4"] #qb-fromdesign-host{display:none!important}
body[data-qstep="4"] .qb-block{grid-template-columns:minmax(0,1fr)}
body[data-qstep="5"] .qcolm #qcv{order:-1}
body[data-qstep="1"] #qcust-card>summary{pointer-events:none}body[data-qstep="1"] #qcust-card .qcard-ch{display:none}
/* the side panel floats beside a long quote, and scrolls itself if it is taller than the screen */
.qwork.stepped .qside{max-height:calc(100vh - 100px);overflow:auto;overscroll-behavior:contain}
@media (min-width:900px) and (max-width:1100px){.qwork.stepped{grid-template-columns:minmax(0,1fr) 290px}.qwork.stepped .qside{position:sticky}}
@media (max-width:760px){
  .qsteps{display:flex;overflow-x:auto;scrollbar-width:none;position:sticky;top:56px;z-index:20}
  .qstep{flex:none;padding:7px 9px}.qstep:not(.on) span{display:none}
  .qwork.stepped .qside{max-height:none;overflow:visible}.qside-next{display:none!important}
}
body[data-qstep] .qcolm .qstep-head{order:-2}
body[data-qstep="2"] .qb .qb-foot,body[data-qstep="3"] .qb .qb-foot{display:none!important}
.qstep-nav [data-send]{margin-left:auto}
/* Logo and print, the smart step (12 Oct 2026): their logos, logo or text on each spot, suggestion and checks */
.qb-logos{display:flex;flex-direction:column;gap:10px}
body[data-qstep]:not([data-qstep="3"]) #qb-logos{display:none}
.qb-loglist{display:flex;flex-direction:column;gap:8px}.qb-loglist:empty{display:none}
.qb-logo{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface)}
.qb-logo.reading{border-style:dashed;background:var(--soft)}
.qb-logopic,.qb-lp img,.qb-pastb img{background:repeating-conic-gradient(#e9eef4 0 25%,#fff 0 50%) 0 0/14px 14px;border-radius:8px}
.qb-logopic{width:64px;height:64px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-2);overflow:hidden}
.qb-logopic img{max-width:90%;max-height:90%;object-fit:contain}
.qb-logot{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.qb-logot b{color:var(--navy)}
.qb-dots{display:flex;gap:4px;flex-wrap:wrap}.qb-dots i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.18)}
.qb-okline{color:var(--green-ink);font-weight:700}
.qb-rights{color:var(--amber);font-weight:700}.qb-rights:before{content:"! ";color:#e06b2d}
.qb-spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--navy);animation:qbspin .8s linear infinite;flex:none}
@keyframes qbspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.qb-spin{animation:none}}
.qb-drop{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:2px dashed var(--line);border-radius:12px;padding:12px 14px;background:var(--soft)}
.qb-drop.big{padding:22px 18px;font-size:15px;font-weight:400;color:inherit;margin:0}.qb-drop.big b{font-size:16px}.qb-drop b{color:var(--navy)}.qb-drop.over{border-color:var(--navy);background:#eef3fb}
.qb-past{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.qb-pastb,.qb-lp{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:5px 10px 5px 5px;font:inherit;font-size:13px;font-weight:700;color:var(--navy);cursor:pointer}
.qb-pastb img,.qb-lp img{width:34px;height:34px;object-fit:contain}
.qb-lp[aria-pressed="true"]{border-color:var(--navy);box-shadow:inset 0 0 0 2px var(--navy)}
.qb-art{display:flex;flex-direction:column;gap:8px}
.qb-lpick{display:flex;gap:6px;flex-wrap:wrap}
.qb-tl{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--muted)}
.qb-tin{font:inherit;font-size:16px;font-weight:700;width:100%;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--ink)}
.qb-trow{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.qb-fb{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:5px 12px;font-size:15px;color:var(--navy);cursor:pointer}
.qb-fb[aria-pressed="true"],.qb-tc[aria-pressed="true"]{border-color:var(--navy);box-shadow:inset 0 0 0 2px var(--navy)}
.qb-tc{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--surface);padding:4px;cursor:pointer}
.qb-tc i{display:block;width:100%;height:100%;border-radius:50%;border:1px solid rgba(0,0,0,.2)}
.qb-names{align-items:flex-start}
.qb-checks{display:flex;flex-direction:column;gap:8px}.qb-checks:empty{display:none}
.qb-warn{display:flex;flex-direction:column;gap:4px;border-left:4px solid #e08a00;background:#fff6e0;color:var(--amber);border-radius:8px;padding:9px 12px}
.qb-warn b{color:#6b3500}
.qb-ok{background:var(--green-soft);color:var(--green-ink);border-radius:8px;padding:8px 12px}
.qb-sug:empty{display:none}
.qb-sugbox{display:flex;gap:10px;align-items:flex-start;background:#eef3fb;border-radius:10px;padding:9px 12px;color:var(--navy)}
.qb-sugbox.off{background:var(--soft);color:var(--muted)}
.qb-star{color:#e0a000;font-size:18px;line-height:1.2}
.qb-rec{font-style:normal;font-size:12px;font-weight:800;background:#f5ad2f;color:var(--navy-2);border-radius:6px;padding:0 6px;margin-top:2px}
.qb-mark.has-art{border:1px dashed rgba(245,173,47,.6);background:transparent}
.qb-mark .qb-artimg{max-width:100%;max-height:100%;object-fit:contain}
.qb-mark .qb-artimg.ol-light{filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff)}
.qb-mark .qb-artimg.ol-dark{filter:drop-shadow(1px 0 0 #1c2a5f) drop-shadow(-1px 0 0 #1c2a5f) drop-shadow(0 1px 0 #1c2a5f) drop-shadow(0 -1px 0 #1c2a5f)}
.qb-mark .qb-arttext{display:block;width:100%;height:100%;background:none;padding:0}.qb-mark .qb-arttext svg{display:block;width:100%;height:100%}
.qb-strip{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left}
.qb-strow{display:flex;gap:5px;flex-wrap:wrap}
.qb-stc{position:relative;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:3px 9px 3px 4px;font:inherit;font-size:12px;cursor:pointer;color:var(--ink)}
.qb-stc[aria-pressed="true"]{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.qb-bad{width:16px;height:16px;border-radius:50%;background:#e06b2d;color:#fff;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.qchase-tick{display:flex;gap:8px;align-items:flex-start;line-height:1.35}.qchase-tick input{margin-top:2px;flex:none}
.qb-ri.good{color:#115a33;font-weight:700}.qb-ri .tick{width:10px;flex:none;font-weight:800;color:#097742}
.qsum-ready{display:block;font-weight:700;color:#115a33;font-size:14px}

.qchase-tick[data-in]{border:1px solid #dde6ee;border-radius:12px;padding:12px 14px;background:#fff;font-size:14px}.qchase-tick[data-in] input{width:20px;height:20px;margin-top:0}
/* Beginner-proof quoting (12 Oct 2026): Needed tags, red only on what was missed, "when do they need them?" */
.qneed{display:inline-block;margin-left:6px;font-size:12px;font-weight:800;border-radius:6px;padding:1px 7px;background:#fff3db;color:#7a4a00;vertical-align:middle}
.qneed.done{background:#e2f4ea;color:#115a33}
.qstep-hrow{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.qleft{font-size:13px;font-weight:800;border-radius:999px;padding:3px 12px;background:#fff3db;color:#7a4a00}.qleft.ok{background:#e2f4ea;color:#115a33}.qleft:empty{display:none}
.qleft-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.qleft-list li{font-size:14px;color:#7a4a00}
.qleft-list button{all:unset;cursor:pointer;display:block;font-size:14px;line-height:1.4;color:#7a4a00;padding:6px 10px 6px 26px;border-radius:8px;background:#fff8ea;position:relative}
.qleft-list button::before{content:"";position:absolute;left:10px;top:13px;width:7px;height:7px;border-radius:50%;background:#e09a1e}
.qleft-list button:hover,.qleft-list button:focus-visible{background:#fff0d1;outline:2px solid #e09a1e}
.qmiss{outline:2px solid #b3261e;outline-offset:4px;border-radius:10px;background:#fff8f6}
.qmiss input{border-color:#b3261e}
.qmiss-msg{display:block;font-size:14px;font-weight:700;color:#b3261e;margin-top:6px}
.qwhen{display:flex;flex-direction:column;gap:8px;border:1px solid #dde6ee;border-radius:12px;padding:12px 14px;background:#fff}
.qwhen-h b{color:var(--navy,#1c2a5f);font-size:16px}
.qwhen-chips{display:flex;gap:8px;flex-wrap:wrap}.qwhen-chips .chip{border:2px solid #dde6ee;background:#fff;border-radius:999px;padding:7px 14px;font-weight:700;color:#1c2a5f;cursor:pointer}
.qwhen-chips .chip[aria-pressed="true"]{background:#1c2a5f;border-color:#1c2a5f;color:#fff}
.qwhen-date{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.qwhen-date label{font-size:13px;font-weight:700;color:#52667c}.qwhen-date input{max-width:200px}
.qwhen-v,.qsum-v{display:block;border-radius:10px;padding:8px 12px;font-weight:700;font-size:14px}
.qwhen-v.ok,.qsum-v.ok{background:#e2f4ea;color:#115a33}.qwhen-v.no,.qsum-v.no{background:#fde6df;color:#8a2a12}.qwhen-v.info{background:#e6f0fb;color:#0a4f91}
.qsum-dates{display:flex;flex-direction:column;gap:6px;border:1px solid #dde6ee;border-radius:12px;background:#fff;padding:10px 12px}
.qst-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.qst{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;border:2px solid #dde6ee;border-radius:14px;background:#fff;padding:10px;cursor:pointer;font:inherit;color:inherit}
.qst:hover{border-color:#9db9d6}.qst b{color:#1c2a5f;font-size:15px}
.qst-pic{width:100%;aspect-ratio:4/3;max-width:100%;background:#f6f9fc;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.qst-pic img{max-width:80%;max-height:90%;object-fit:contain}
.qd-check{display:flex;flex-direction:column;gap:6px}

/* Pricing (12 Oct 2026 redesign): overview to-dos, garment prices, Try a price, price ladders */
.pill.plain{background:#e6ecf2;color:var(--muted)}
.pr-tabs{margin-bottom:16px}
.pr-page{display:flex;flex-direction:column;gap:16px;max-width:1100px}
.pr-h{font-size:19px;font-weight:800;margin:0;text-wrap:balance}
.pr-page .tiny{font-size:12px}
.pr-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pr-row.between{justify-content:space-between}
.pr-todos{display:flex;flex-direction:column;gap:10px}
.pr-todo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.pr-todo.done{background:var(--soft);border-color:var(--line-2)}
.pr-todo-body{display:flex;flex-direction:column;gap:6px;min-width:0}.pr-todo-body p{margin:0}
.pr-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px}
.pr-ic.warn{background:var(--amber-soft);color:var(--amber)}.pr-ic.ok{background:var(--green-soft);color:var(--green-ink)}
.pr-meter{height:10px;border-radius:99px;background:var(--line-2);overflow:hidden}.pr-meter i{display:block;height:100%;background:var(--green);border-radius:99px}
.pr-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.pr-soft{background:var(--soft);border-color:var(--line-2)}
.pr-kv{display:flex;justify-content:space-between;gap:10px;font-size:13px;border-top:1px dashed var(--line);padding-top:6px}.pr-kv>span:first-child{color:var(--muted)}
.pr-change{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;padding:8px 0;border-top:1px dashed var(--line-2)}.pr-change form{margin:0}
.pr-strike{text-decoration:line-through;color:var(--muted)}
.pr-note{font-size:12.5px;color:var(--muted);border-left:3px solid var(--gold,#f5ad2f);padding-left:9px;margin:0}
.pr-callout{font-size:13px;font-weight:700;color:#7a4a00;background:#fff3dc;border-radius:8px;padding:7px 11px;margin:0}
.pr-callout:empty{display:none}
.pr-search input{min-width:220px}
.pr-glist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.pr-g{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 16px;border:0;border-bottom:1px solid var(--line-2);background:var(--surface);text-align:left;font:inherit;color:var(--ink);cursor:pointer;width:100%}
.pr-g:last-child{border-bottom:0}.pr-g:hover:not([disabled]){background:var(--soft)}.pr-g[disabled]{cursor:default;opacity:1}
.pr-pic{width:52px;height:52px;border-radius:10px;background:var(--soft);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted);flex:none}
.pr-pic img{width:100%;height:100%;object-fit:contain}.pr-pic.big{width:64px;height:64px}
.pr-nm{display:flex;flex-direction:column;gap:2px;min-width:0}.pr-nm b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pr-pr{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.pr-pr b{font-size:16px}.pr-pr .pill{margin-right:0}
.pr-breaks{display:flex;gap:4px;flex-wrap:wrap}.pr-breaks span{font-size:12px;background:var(--line-2);border-radius:6px;padding:1px 7px;color:var(--muted)}
.pr-empty{padding:26px;text-align:center}
.pr-sheet{border:0;border-radius:18px;padding:20px;width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 32px);box-shadow:var(--shadow-float);color:var(--ink)}
.pr-sheet::backdrop{background:rgba(15,31,51,.45)}.pr-sheet h3{margin:0}
@media (max-width:640px){.pr-sheet{margin:auto 0 0;width:100vw;max-width:100vw;border-radius:18px 18px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}}
.pr-x{margin-left:auto;background:var(--line-2);border:0;border-radius:50%;width:36px;height:36px;font-weight:800;cursor:pointer;color:var(--ink);flex:none}
.pr-bigin{width:130px;font-size:22px !important;font-weight:800}
.pr-brow{flex-wrap:nowrap}.pr-brow input.pr-qin{width:64px;display:inline-block}.pr-brow input.pr-pin{width:90px}.pr-brow label{display:flex;gap:6px;align-items:center;font-weight:600}
.pr-slider{flex:1 1 200px;accent-color:var(--navy)}.pr-num{font-size:20px;font-variant-numeric:tabular-nums}
.pr-lab{font-size:13px;font-weight:700;color:var(--muted)}
.pr-radio label.chip{cursor:pointer;display:inline-flex;align-items:center}.pr-radio input{position:absolute;opacity:0;width:1px;height:1px}
.pr-radio label.chip:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.pr-prev{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pr-prev>div{display:grid;grid-template-columns:minmax(0,1fr) 64px 76px 56px;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line-2);font-size:13px;align-items:center;font-variant-numeric:tabular-nums}
.pr-prev>div:last-child{border-bottom:0}.pr-prev .h{font-weight:800;color:var(--muted);font-size:12px;background:var(--soft)}
.pr-prev span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-prev .r{text-align:right}.pr-prev .pr-span{grid-column:1/-1}
.pr-calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px;align-items:start}
@media (max-width:900px){.pr-calc{grid-template-columns:1fr}}
.pr-receipt{border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:9px;background:var(--soft)}
.pr-receipt p{margin:0}.pr-receipt ul{margin:0;padding-left:18px}
.pr-big{font-size:36px;font-weight:800;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.pr-line{display:flex;justify-content:space-between;gap:10px;font-variant-numeric:tabular-nums}
.pr-line.tot{border-top:2px solid var(--ink);padding-top:8px;font-weight:800;font-size:18px}
.pr-nudge{background:#fff3dc;color:#7a4a00;border-radius:10px;padding:8px 11px;font-size:13px;font-weight:700}
.pr-why{display:flex;flex-direction:column;gap:4px}
.pr-table{width:100%}.pr-table td,.pr-table th{padding:5px 8px;font-size:14px}.pr-table tr.hl td{background:var(--green-soft)}
@media (max-width:640px){.pr-g{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:10px 12px}.pr-pic{width:44px;height:44px}.pr-search,.pr-search input{width:100%;min-width:0}.pr-todo{padding:14px;gap:12px}}
.pr-banner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-radius:var(--r);padding:12px 16px;background:var(--amber-soft);color:var(--amber);font-weight:700}
.pr-banner p{flex:1 1 240px;margin:0}.pr-banner form{margin:0}.pr-banner.ok{background:var(--green-soft);color:var(--green-ink)}
.pr-mtabs{display:flex;gap:6px;flex-wrap:wrap}
.pr-mtab{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px 13px;font:inherit;font-weight:800;font-size:14px;cursor:pointer}
.pr-mtab i{width:10px;height:10px;border-radius:3px}.pr-mtab.on{border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--gold,#f5ad2f)}
.pr-msec{display:flex;flex-direction:column;gap:14px}
.pr-ladder{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.pr-rung{display:grid;grid-template-columns:104px minmax(0,1fr) 84px 70px;gap:10px;align-items:center}
.pr-rung.head{font-size:12px;font-weight:800;color:var(--muted)}.pr-rung .r{text-align:right}
.pr-rung .q{font-weight:800;font-size:13px;font-variant-numeric:tabular-nums}
.pr-track{position:relative;height:30px;border-radius:8px;background:var(--line-2);overflow:hidden;display:flex;align-items:center}
.pr-track i{position:absolute;inset:0 auto 0 0;border-radius:8px;background:var(--d-screen_print);opacity:.85;transition:width .3s}.pr-track.em i{background:var(--d-embroidery)}
.pr-track em{position:relative;font-style:normal;font-size:12px;font-weight:800;padding:0 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pr-track em[hidden]{display:none}
.pr-rung.is-gap .pr-track{background:var(--amber-soft);outline:2px dashed #e0a14a;outline-offset:-2px;height:auto;min-height:30px}
.pr-gap{color:var(--amber)}.pr-poa{color:var(--muted)}.pr-gap .btn.sm{min-height:24px;padding:0 8px;font-size:12px}
.pr-cells input{width:84px;text-align:right;font-weight:800;padding:6px 8px;min-height:34px}.pr-cells input[hidden]{display:none}
.pr-retail{font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}
.pr-checks{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:5px;font-size:14px}
.pr-pctin{width:64px;text-align:right}
.pr-grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:10px}
.pr-kvin{align-items:center;padding-top:8px}.pr-kvin input{width:90px;text-align:right;font-weight:800}
.pr-pin{width:90px;text-align:right}
.pr-savebar{position:sticky;bottom:0;z-index:5;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;box-shadow:0 -6px 20px rgba(23,26,64,.08)}
.pr-unsaved{color:var(--amber);font-weight:800}
@media (max-width:640px){.pr-rung{grid-template-columns:62px minmax(0,1fr) 70px 50px;gap:6px}.pr-cells input{width:70px}.pr-rung .q{font-size:12px}}
.pr-plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.pr-pl{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;color:var(--ink);text-decoration:none}
.pr-pl:hover{border-color:var(--navy)}.pr-pl.off{opacity:.7}.pr-pl .pill{margin-right:0}
.pr-rule{font-size:22px;font-weight:800;letter-spacing:-.01em}
.pr-flow{list-style:none;margin:0;padding:0;counter-reset:f;display:flex;flex-direction:column}
.pr-flow li{counter-increment:f;display:grid;grid-template-columns:30px 1fr;column-gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}
.pr-flow li:last-child{border-bottom:0}.pr-flow li::before{content:counter(f);grid-row:span 2;width:26px;height:26px;border-radius:50%;background:var(--line-2);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.pr-flow li.hit::before{background:var(--gold,#f5ad2f);color:var(--navy)}.pr-flow li.hit b::after{content:'  ← this one';color:var(--green-ink);font-size:13px}
.pr-flow li.past{opacity:.55}
.pr-wiz{display:flex;gap:6px}.pr-wiz i{flex:1;height:5px;border-radius:9px;background:var(--line-2)}.pr-wiz i.on{background:var(--gold,#f5ad2f)}
.pr-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.pr-pick button{display:flex;flex-direction:column;gap:3px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px;font:inherit;color:var(--ink);cursor:pointer}
.pr-pick button.on{border-color:var(--navy);box-shadow:inset 0 0 0 2px var(--navy)}
.pr-dot{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}
.pr-help{border-top:1px dashed var(--line);padding-top:8px}.pr-help>summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--navy,#232a5c)}
.pr-help[open]>summary{margin-bottom:8px}
.pr-costin{max-width:140px}
.pr-kv.pr-tot{border-top:1px solid var(--line);font-size:15px}.pr-kv.pr-tot>span:first-child{color:inherit;font-weight:700}
.pr-callout[hidden]{display:none}
.pr-msec[hidden]{display:none}
input.pr-pctin{width:72px;flex:none;text-align:right}
#nl-form [hidden]{display:none}

/* ---- Questions between teams + To-do (12 Oct 2026) ---- */
.asks [hidden],.todo-grid [hidden]{display:none!important}
.todo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:16px;align-items:start}
@media(max-width:900px){.todo-grid{grid-template-columns:1fr}}
.ask{display:grid;gap:6px;padding:10px 0;border-top:1px solid var(--line-2)}
.card > .ask:first-child,.asks > .ask:first-of-type{border-top:0}
.todo-grid .card > .ask{border-top:0;padding:0}
.ask-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;flex-wrap:wrap}
.ask-who{font-size:14px}
.ask-q{margin:0;white-space:pre-line;font-weight:600}
.ask.late{box-shadow:inset 3px 0 0 var(--red);padding-left:10px;color:var(--ink)}
.ask.closed .ask-q{color:var(--muted);font-weight:500}
.ask-reply{background:var(--soft);border-radius:8px;padding:8px 10px;font-size:14px;white-space:pre-line}
.ask-reply.answer{background:var(--green-soft)}
.ask-form{display:grid;gap:6px}
.ask-new summary{list-style:none;cursor:pointer;display:inline-flex}
.ask-new summary::-webkit-details-marker{display:none}
.jask{font-size:12px;font-weight:700;border-radius:6px;padding:3px 7px;background:var(--amber-soft);color:var(--amber)}
.jask.late{background:var(--red-soft);color:var(--red)}
.nav .nav-count.late{background:#b8452b;color:#fff}
/* Part 1 of the production plan (12 Oct 2026): Needs a decision, tasks per department */
.card.decide{display:grid;gap:4px;border-left:3px solid #e0a02a;margin-bottom:14px}
.decide h3 .count{background:var(--amber-soft);color:var(--amber);border-radius:var(--r-pill);padding:0 8px;font-size:13px;margin-left:4px}
.decide-row{display:grid;grid-template-columns:minmax(150px,240px) 1fr auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line-2);font-size:14px}
@media (max-width:700px){.decide-row{grid-template-columns:1fr auto}.decide-row > span{grid-column:1 / -1;grid-row:2}}
.jtasks{font-size:12px;color:var(--muted)}.jtasks .done{color:var(--green-ink)}.jtasks .now{color:var(--ink);font-weight:700}
.tasks{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.tasks li{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line-2)}.tasks li:first-child{border-top:0}
.tasks .tnum{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--soft);border:1px solid var(--line);font-weight:700;font-size:13px;flex:none}
.tasks li.done .tnum{background:var(--green-soft);border-color:transparent;color:var(--green-ink)}
.tasks li.now .tnum{background:var(--amber-soft);border-color:transparent;color:var(--amber)}
.tasks .grow{flex:1;min-width:0}
.todo-proofs .proof-row{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid var(--line-2);flex-wrap:wrap}
/* Part 2 of the production plan (12 Oct 2026): today's orders, own stock, goods in */
.buy-kpis{margin-bottom:14px}
.own-suggest{border-left:3px solid #2f8a57;margin-bottom:14px}
.own-suggest h3 .count,.gi-h .count{background:var(--green-soft);color:var(--green-ink);border-radius:var(--r-pill);padding:0 8px;font-size:13px;margin-left:4px}
.own-job{padding:8px 0;border-top:1px solid var(--line-2)}
.own-row,.gi-row,.hold-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line-2);font-size:14px}
.own-job .own-row:first-of-type{border-top:0}
.supplier-order{margin-bottom:14px}
.cutoff{font-weight:700;color:var(--amber)}
.buy-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;padding:10px 0;border-top:1px solid var(--line-2)}
.buy-row.short{box-shadow:inset 3px 0 0 var(--red);padding-left:10px}
.buy-what{display:grid;gap:4px;min-width:0}
.buy-n{font-size:20px;color:var(--navy)}
.sizes{display:flex;flex-wrap:wrap;gap:6px}
.sz{font-size:13px;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:2px 8px}
.sz.bad{background:var(--red-soft);border-color:#f0b9a8;color:#8a2a12}
.goods-in{max-width:720px}
.gi-h{font-size:18px;margin:6px 0 0}
.gi-card{display:grid;gap:4px}
.gi-card.late{border-left:3px solid var(--red)}
.gi-card .gi-row:first-of-type{border-top:0}
.gi-row.done{color:var(--muted)}
.gi-qty,input.gi-qty{width:72px;max-width:72px;flex:none;text-align:right}
.gi-row .row-wrap,.hold-row .row-wrap{flex-wrap:nowrap}
.gi-default{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.goods-in .btn.sm,.job-stock .btn.sm{min-height:38px}
/* Part 3 of the production plan (12 Oct 2026): the plan in minutes, Today page, machines */
.today-h{font-size:20px;margin:4px 0 10px;color:var(--navy)}
.grid.kpis.today-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px}
@media (max-width:1100px){.grid.kpis.today-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card.risk{display:grid;gap:4px;border-left:3px solid var(--red);margin-bottom:14px}
.risk h3 .count{background:var(--red-soft);color:var(--red);border-radius:var(--r-pill);padding:0 8px;font-size:13px;margin-left:4px}
.load-wrap{overflow-x:auto}
.load{width:100%;border-collapse:separate;border-spacing:4px;min-width:520px}
.load th{text-align:left;font-size:14px;font-weight:600;padding:4px 6px;white-space:nowrap}
.load thead th{text-align:center}.load thead th.today{color:var(--navy)}
.load td{text-align:center;border-radius:8px;padding:8px 6px;background:var(--soft);font-size:14px}
.load td .plan-bar{display:block;margin-top:5px}
.load td.tone-ok{background:var(--green-soft);color:var(--green-ink)}.load td.tone-warn{background:var(--amber-soft);color:var(--amber)}.load td.tone-bad{background:var(--red-soft);color:var(--red)}
.load td.tone-none{color:var(--muted)}
.floor-dept{display:grid;gap:2px;padding:6px 0;border-top:1px solid var(--line-2)}.floor-dept:first-of-type{border-top:0}
.plan-job.cont{opacity:.7;border-style:dashed}
.plan-job.byhand{box-shadow:inset 3px 0 0 var(--navy)}
.machines-form{grid-column:1 / -1}
.mach-table{display:grid;gap:4px;overflow-x:auto}
.mach-h,.mach-row{display:grid;grid-template-columns:minmax(170px,1.6fr) repeat(5,minmax(80px,1fr)) 90px;gap:8px;align-items:center;min-width:760px}
.mach-h{font-size:12px;font-weight:700;color:var(--muted)}
.mach-row{padding:6px 0;border-top:1px solid var(--line-2)}
.mach-row input{width:100%}
.floor-dept .kvrow{align-items:center}.floor-dept .kvrow .pill{flex:none;white-space:nowrap}
/* ---- Part 4: the shop floor ---- */
.station-sum{margin:0;font-size:16px;color:var(--ink)}
.run-body{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;align-items:start}
.run-pics{display:flex;flex-direction:column;gap:6px}.run-pics img{width:132px;height:132px;object-fit:contain;background:var(--soft);border:1px solid var(--line);border-radius:12px}
.run-pics.none{width:132px;height:132px;border:1px dashed var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;color:var(--muted);padding:8px}
.szchips{display:flex;flex-wrap:wrap;gap:8px}.szchips form{margin:0}
.szchip{min-width:72px;min-height:60px;border:2px solid var(--line);border-radius:12px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 10px;font:inherit;cursor:pointer;color:var(--ink)}
.szchip b{font-size:17px}.szchip span{font-size:13px;font-weight:700;color:var(--muted)}
.szchip.done{background:var(--green-soft);border-color:#8fcca9;color:var(--green-ink)}.szchip.done span{color:var(--green-ink)}
.btn.warn{background:var(--amber-soft);color:var(--amber);border-color:#f2d9a6}
.fmisprint summary,.fproblem summary{list-style:none;width:100%}.fmisprint summary::-webkit-details-marker{display:none}
.fmisprint[open]{grid-column:1/-1}.fmisprint[open] summary{margin-bottom:10px}
.run-no{flex:none;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.run-group{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;background:var(--amber-soft);color:var(--amber);border-radius:12px;padding:10px 12px;margin-bottom:-6px}
.run-group .small{color:var(--ink)}
.fcard.in-group{border-left:4px solid #e0a02a}
.bagrow{flex-direction:row;align-items:center;gap:12px}.bagrow .grow{display:flex;flex-direction:column;gap:2px}.bagrow form{margin:0}
.bagrow.done{background:var(--green-soft);border-color:#bfe3cf}
.warn-text{color:var(--amber);font-weight:700}
.mach-real{grid-column:1/-1;margin-top:-2px}
.load.nums td{text-align:left}
@media (max-width:600px){.run-body{grid-template-columns:96px minmax(0,1fr)}.run-pics img,.run-pics.none{width:96px;height:96px}.szchip{min-width:64px}}
.fbtns .fproblem:not([open]){grid-column:auto}

/* ---- School and club shops, Group orders (approved mock-up, 14 Oct 2026) ---- */
.sb-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.sb-head p{margin:2px 0 0}
.sb-needs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:980px){.sb-needs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sb-need{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;text-decoration:none;color:var(--ink)}
.sb-need:hover{border-color:var(--seam);color:var(--ink)}
.sb-need b{font-size:28px;line-height:1.1;color:var(--navy);font-variant-numeric:tabular-nums}
.sb-need span{font-weight:800;font-size:14px}.sb-need small{color:var(--muted);font-size:12.5px}
.sb-need.bad{background:var(--red-soft);border-color:#efb7a6}.sb-need.bad b{color:var(--red)}
.sb-need.warn{background:var(--amber-soft);border-color:#f0cf97}.sb-need.warn b{color:var(--amber)}
.sb-need.ok b{color:var(--green)}
.sb-need.zero{background:var(--surface);border-color:var(--line)}.sb-need.zero b{color:var(--seam)}
.sb-need.on{outline:2px solid var(--navy);outline-offset:1px}
.sb-tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.sb-tabs a{padding:9px 13px;font-weight:700;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none}
.sb-tabs a:hover{color:var(--navy)}
.sb-tabs a.on{color:var(--navy);border-color:var(--navy)}
.sb-tabs em{font-style:normal;font-size:12px;background:var(--line-2);border-radius:999px;padding:0 7px;margin-left:5px}
.sb-list{display:flex;flex-direction:column;gap:10px}
.sb-row{display:grid;grid-template-columns:minmax(210px,1.3fr) minmax(230px,1.4fr) minmax(170px,.9fr) minmax(170px,.9fr);gap:18px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px}
@media (max-width:1100px){.sb-row{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.sb-row{grid-template-columns:1fr;gap:10px}}
.sb-who{display:flex;gap:12px;align-items:center;min-width:0;text-decoration:none;color:var(--ink)}
.sb-who b{display:block;color:var(--navy);font-size:15px}
.sb-who small{color:var(--muted);font-size:12.5px}
[data-for-kind][hidden],[data-dl] [hidden]{display:none!important}
.sb-del{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.sb-del i{font-style:normal;font-size:12px;font-weight:700;border-radius:999px;padding:1px 8px;border:1px solid var(--line);color:var(--muted);text-decoration:line-through}
.sb-del i.on{text-decoration:none;color:var(--ink);background:var(--line-2);border-color:transparent}
.sb-del i.main{background:var(--green-soft);color:var(--green-ink)}
.kind-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.kind-pick label{display:grid;gap:4px;align-content:start;border:1.5px solid var(--line);border-radius:var(--r);padding:12px;background:var(--soft);cursor:pointer;font-weight:500}
.kind-pick label:has(input:checked){border-color:var(--navy);background:var(--surface);box-shadow:0 0 0 3px rgba(28,42,95,.12)}
.kind-pick b{color:var(--navy);font-size:15px;display:flex;gap:8px;align-items:center}
.kind-pick small{color:var(--muted);font-size:12.5px;line-height:1.4}
.dl-box{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;align-items:start}
.dl-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--line-2)}
.dl-row:first-child{border-top:0}
.dl-row b{color:var(--ink)}
.dl-row .free{color:var(--green);font-weight:800}
.dl-row input[type=checkbox]{width:20px;height:20px;margin-top:2px}
.dl-sub{display:grid;gap:8px;padding:10px 12px;background:var(--soft);border-radius:10px;margin-top:8px;font-size:13.5px}
.dl-sub label{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:500}
.dl-sub input[type=text],.dl-sub input[inputmode]{width:90px}
.dl-prev{border:1px dashed var(--seam);border-radius:var(--r);padding:14px;display:grid;gap:8px;background:var(--soft)}
.dl-prev .lbl{font-size:12.5px;font-weight:800;color:var(--muted)}
.dl-opt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface)}
.dl-opt small{display:block;color:var(--muted);font-size:12px}
@media (max-width:760px){.dl-box{grid-template-columns:1fr}}
.sb-stage{display:flex;gap:3px}
.sb-stage i{flex:1;height:6px;border-radius:3px;background:var(--line)}
.sb-stage i.done{background:var(--green)}.sb-stage i.now{background:#f5ad2f}
.sb-stagel{display:flex;justify-content:space-between;gap:4px;font-size:12px;color:var(--muted);margin-top:4px}
.sb-stagel b{color:var(--ink)}
.sb-facts{display:flex;gap:16px;font-size:12.5px;color:var(--muted)}
.sb-facts b{display:block;color:var(--ink);font-size:16px;font-variant-numeric:tabular-nums}
.sb-next{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.sb-next small{color:var(--muted);font-size:12.5px;max-width:30ch}
.sb-next .btn{min-height:36px;padding:0 14px;font-size:14px}
@media (max-width:1100px){.sb-next{align-items:flex-start;text-align:left}}
.sb-checks{display:flex;gap:6px;flex-wrap:wrap;font-size:12px}
.sb-checks span{border:1px solid var(--line);border-radius:999px;padding:1px 9px;color:var(--muted);font-weight:700}
.sb-checks span.y{border-color:transparent;background:var(--green-soft);color:var(--green-ink)}
.sb-weeks{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
@media (max-width:900px){.sb-weeks{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sb-wk{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--soft);display:flex;flex-direction:column;gap:6px;min-width:0}
.sb-wk h4{margin:0;font-size:13px;color:var(--navy)}
.sb-wk .n{font-size:22px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}
.sb-meter{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.sb-meter i{display:block;height:100%;background:var(--link)}.sb-meter i.hot{background:#d9822b}.sb-meter i.guess{opacity:.45}
.sb-wk ul{margin:0;padding:0;list-style:none;font-size:12px;color:var(--muted)}
.sb-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.sb-hero h3{font-size:19px}.sb-hero p{margin:4px 0 0;max-width:68ch}
.sb-hero .btn{min-height:38px}
.sb-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:14px}
.sb-track div{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700;color:var(--muted)}
.sb-track i{height:8px;border-radius:4px;background:var(--line)}
.sb-track .done{color:var(--green-ink)}.sb-track .done i{background:var(--green)}
.sb-track .now{color:var(--ink)}.sb-track .now i{background:#f5ad2f}
.sb-two{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:1000px){.sb-two{grid-template-columns:1fr}}
.sb-ltabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:-4px 0 12px;overflow-x:auto}
.sb-ltabs button{border:0;background:none;padding:8px 12px;font:inherit;font-weight:700;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}
.sb-ltabs button.on{color:var(--navy);border-color:var(--navy)}
.sb-bars{display:flex;flex-direction:column;gap:8px}
.sb-bars div{display:grid;grid-template-columns:minmax(70px,110px) minmax(0,1fr) 34px;gap:10px;align-items:center;font-size:13px}
.sb-bars i{display:block;height:8px;border-radius:4px;background:var(--link)}.sb-bars i.none{background:var(--seam)}
.sb-bars em{font-style:normal;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}
.sb-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13.5px}
.sb-checklist li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px}
.sb-checklist li:before{content:"✓";color:var(--green);font-weight:800}
.sb-checklist li.warn:before{content:"!";color:var(--amber);background:var(--amber-soft);border-radius:50%;text-align:center;width:18px;height:18px;line-height:18px;font-size:12px}
.sb-grp{display:grid;grid-template-columns:56px minmax(190px,1.2fr) minmax(220px,1.4fr) minmax(200px,1fr);gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px}
@media (max-width:1100px){.sb-grp{grid-template-columns:56px minmax(0,1fr)}.sb-grp .sb-gprog,.sb-grp .sb-next{grid-column:1/-1}.sb-grp .sb-next{align-items:flex-start;text-align:left}}
.sb-thumb{width:56px;height:56px;border-radius:10px;background:var(--soft);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.sb-thumb img{width:100%;height:100%;object-fit:contain}
.sb-thumb.big{width:72px;height:72px}
.sb-gprog{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--muted)}
.sb-gprog b{color:var(--ink)}
.sb-goal{position:relative;height:10px;border-radius:5px;background:var(--line)}
.sb-goal i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--green);max-width:100%}
.sb-goal i.short{background:#d9822b}
.sb-goal u{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--navy);text-decoration:none}
.sb-goal.big{height:14px}
.sb-sizes{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px}
.sb-sizes div{border:1px solid var(--line);border-radius:10px;padding:8px 4px;text-align:center;background:var(--soft)}
.sb-sizes small{display:block;font-size:12px;color:var(--muted);font-weight:700}.sb-sizes b{font-size:20px;color:var(--navy);font-variant-numeric:tabular-nums}
.sb-sizes .tot{background:var(--surface);border-color:var(--seam)}
.sb-people h4{display:flex;gap:8px;align-items:center;margin:12px 0 4px;font-size:14px}
.sb-people h4 form{margin-left:auto}
.sb-person{display:grid;grid-template-columns:minmax(0,1fr) 70px 90px 84px;gap:10px;font-size:13.5px;padding:7px 0;border-bottom:1px solid var(--line-2);align-items:center}
.sb-person small{display:block;color:var(--muted);font-size:12px}
.sb-person .r{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:640px){.sb-person{grid-template-columns:minmax(0,1fr) 60px 70px}.sb-person .back{display:none}}
.sb-copy{display:flex;gap:8px;align-items:center;border:1px dashed var(--seam);border-radius:8px;padding:6px 10px;font-size:13px;min-width:0}
.sb-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;color:var(--muted)}
.sb-copy button{border:0;background:none;color:var(--link);font:inherit;font-weight:800;cursor:pointer;padding:0}
.sb-tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}
.sb-tl li{display:grid;grid-template-columns:12px minmax(0,1fr);gap:9px}
.sb-tl li:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--green);margin-top:5px}
.sb-tl li.fut{color:var(--muted)}.sb-tl li.fut:before{background:var(--line)}
.sb-btn-sm{min-height:34px !important;padding:0 12px !important;font-size:13.5px !important}
.sb-ofilter{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sb-ofilter input,.sb-ofilter select{width:auto;min-width:0;max-width:220px;min-height:38px}
.sb-ofilter input[type=search]{width:220px}

/* Orders as a to-do list (14 Oct 2026) */
.ob{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.ob-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ob-head p{margin:0;flex:1;min-width:240px}
.ob-needs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ob-need{display:grid;gap:1px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);text-decoration:none}
.ob-need b{font-size:28px;font-weight:800;line-height:1.1;color:var(--navy);font-variant-numeric:tabular-nums}
.ob-need span{font-weight:800}.ob-need small{color:var(--muted);font-size:12.5px}
.ob-need:hover{border-color:#9db9d6}
.ob-need.hot{background:#fff6e3;border-color:#f0c873}
.ob-need.bad{background:var(--red-soft);border-color:#f0b7a6}.ob-need.bad b{color:var(--red)}
.ob-need.on{outline:2px solid var(--navy);outline-offset:-1px}
.ob-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.ob-tabs a{display:flex;align-items:center;gap:6px;padding:10px 12px;color:var(--muted);font-weight:700;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.ob-tabs a:hover{color:var(--navy)}
.ob-tabs a.on{color:var(--navy);border-bottom-color:#f5ad2f}
.ob-tabs a.quiet{margin-left:auto}
.ob-tabs em{font-style:normal;font-size:12px;background:#e6ecf2;color:var(--ink);border-radius:var(--r-pill);padding:0 7px;font-variant-numeric:tabular-nums}
.ob-tabs a.on em{background:var(--navy);color:#fff}
.ob-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ob-filters input.grow{flex:1;min-width:240px;min-height:42px}
.ob-sel{display:flex;align-items:center;gap:6px;border:1px solid #c5d3e0;border-radius:var(--r-ctl);background:#fff;padding:0 4px 0 12px;min-height:42px}
.ob-sel span{color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap}
.ob-sel select{border:0;background:transparent;font:inherit;font-weight:700;min-height:40px;padding:0 6px;max-width:190px}
.ob-dates{position:relative}.ob-dates summary{list-style:none}.ob-dates summary::-webkit-details-marker{display:none}
.ob-dates[open] div{position:absolute;z-index:5;top:48px;right:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px;display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;box-shadow:var(--shadow-float);min-width:280px}
.ob-showing{margin:0;color:var(--muted)}
.ob-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ob-table{width:100%;border-collapse:collapse}
.ob-table th{font-size:12px;color:var(--muted);text-align:left;font-weight:700;padding:10px 12px;background:var(--soft);border-bottom:1px solid var(--line)}
.ob-table td{padding:12px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.ob-table th.right,.ob-table td.right{text-align:right}
.ob-band td{background:var(--soft);font-size:13px;font-weight:800;color:var(--muted);padding:7px 12px!important}
.ob-band.late td{color:var(--red);background:#fff6f3}
.ob-num{font-weight:800;white-space:nowrap}
.ob-who b,.ob-who span,.ob-what span{display:block}
.ob-who span,.ob-what span{color:var(--muted);font-size:12.5px}
.ob-what{font-size:13px;max-width:240px}
.ob-pay{display:inline-block;font-size:12px;font-weight:700;border-radius:6px;padding:1px 6px;margin-top:2px}
.ob-pay.ok{background:var(--green-soft);color:var(--green-ink)}.ob-pay.acc{background:#e6ecf2;color:var(--muted)}.ob-pay.part{background:var(--amber-soft);color:var(--amber)}
.ob-bars{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;width:140px}
.ob-bars.wide{width:100%}
.ob-bars i{height:6px;border-radius:3px;background:var(--line)}
.ob-bars i.d{background:var(--green)}.ob-bars i.c{background:#f5ad2f}
.ob-stage{display:block;font-size:12.5px;font-weight:700;margin-top:5px}
.ob-due{white-space:nowrap;font-size:13px;font-weight:700}
.ob-due span{display:block;font-weight:600;font-size:12px;color:var(--muted)}
.ob-due.late,.ob-due.late span{color:var(--red)}.ob-due.today,.ob-due.today span{color:var(--amber)}
.ob-next{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:250px}
.ob-next p{margin:0;font-size:13px;font-weight:700}
.ob-next p span{display:block;font-weight:500;color:var(--muted);font-size:12px}
.ob-next.wait p{color:var(--muted)}
.btn.sm{min-height:32px;padding:0 12px;font-size:13px;white-space:nowrap}
.btn.gold{background:#f5ad2f;border-color:#f5ad2f;color:var(--navy-2)}.btn.gold:hover{background:#e89d1c;border-color:#e89d1c;color:var(--navy-2)}
.ob-av{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
.ob-av.cs{background:#0d9488}
.ob-empty{color:var(--muted);text-align:center;padding:28px!important}
.ob-foot{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;color:var(--muted);font-size:13px}
.ob-foot a{margin-left:12px;font-weight:700}
.ob-cards{display:none}
.ob-card{display:grid;gap:9px;padding:12px;border-bottom:1px solid var(--line-2);color:var(--ink);text-decoration:none}
.ob-card.late{background:#fff8f5}
.ob-card-top{display:flex;gap:10px;align-items:center}.ob-card-top>div{flex:1;min-width:0;font-size:13px}
.ob-card-top .thumb{width:44px;height:44px;flex:none}
.ob-card-mid{display:flex;justify-content:space-between;gap:8px}.ob-card-mid .ob-stage{margin:0}
.ob-card-next{font-size:13px;font-weight:700;border-top:1px solid var(--line-2);padding-top:8px}
.ob-card-next.wait{color:var(--muted)}
@media (max-width:1100px){.ob-needs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.ob-table{display:none}.ob-cards{display:block}.ob-sel select{max-width:140px}}
@media (max-width:600px){.ob-need{padding:10px 12px}.ob-need b{font-size:22px}.ob-need small{display:none}.ob-tabs a.quiet{margin-left:0}}
.ob-filters input.grow{flex:1 1 100%}
.ob-list{overflow-x:auto}.ob-what{min-width:150px}.ob-who{min-width:130px}.ob-table .ob-bars{width:110px}.ob-next{min-width:200px}.ob-table td{padding:12px 10px}
@media (max-width:600px){.ob-sel{flex:1 1 100%}.ob-sel select{flex:1;max-width:none}.ob-filters .btn{flex:1}.ob-dates{flex:1}.ob-dates summary{width:100%}}

/* ---- Ops home (dashboard rethink, 14 Oct 2026): each department's own home. Colour only for problems, always with a word. ---- */
.hm{display:flex;flex-direction:column;gap:16px;max-width:1240px}
.hm-head{background:var(--navy-2);color:#fff;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px}
.hm-hello h2{color:#fff;font-size:24px;font-weight:800}
.hm-hello p{color:#c3cde6;margin:4px 0 0;font-size:15px}
.hm-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hm-find{position:relative;flex:1 1 320px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:0 12px;min-width:0;color:#c3cde6}
.hm-find input{flex:1;min-width:0;border:0;background:transparent;color:#fff;font:inherit;font-size:15px;min-height:46px;outline:none}
.hm-find input::placeholder{color:#a9b6d6}
.hm-find:focus-within{border-color:var(--gold);box-shadow:0 0 0 2px rgba(245,173,47,.35)}
.hm-find-page{background:var(--surface);border-color:var(--line);color:var(--muted);padding-right:6px}
.hm-find-page input{color:var(--ink)}.hm-find-page input::placeholder{color:var(--muted)}
.hm-suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-float);z-index:30;padding:6px;max-height:70vh;overflow:auto}
.hm-sg-h{margin:8px 8px 2px;font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.04em}
.hm-sg-i{display:flex;flex-direction:column;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--ink)}
.hm-sg-i:hover,.hm-sg-i:focus{background:var(--soft)}
.hm-sg-i b{font-size:14px}.hm-sg-i span{font-size:13px;color:var(--muted)}
.hm-sg-none{margin:8px;color:var(--muted);font-size:14px}
.hm-sg-all{display:block;width:100%;margin-top:4px;padding:10px;border:0;border-top:1px solid var(--line-2);background:none;color:var(--link);font:inherit;font-weight:700;text-align:left;cursor:pointer}
.hm-btns{display:flex;gap:8px;flex-wrap:wrap}.hm-btns form{margin:0}
.btn.hm-gold{background:var(--gold);border-color:var(--gold);color:#1a1300;font-weight:800;min-height:46px}.btn.hm-gold:hover{background:#ffbf4d;border-color:#ffbf4d;color:#1a1300}
.btn.hm-ghost{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff;min-height:46px}.btn.hm-ghost:hover{background:rgba(255,255,255,.18);color:#fff}
.hm-dot{display:inline-block;min-width:20px;padding:0 6px;border-radius:10px;background:var(--gold);color:#1a1300;font-size:12px;font-weight:800;text-align:center}

.hm-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.hm-nums.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.hm-num{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);min-width:0}
.hm-num:hover{border-color:var(--seam);color:var(--ink)}
.hm-num-l{font-size:13px;font-weight:700;color:var(--muted)}
.hm-num b{font-size:26px;font-weight:800;color:var(--navy);line-height:1.1;font-variant-numeric:tabular-nums}
.hm-num small{font-size:12.5px;font-weight:600;color:var(--muted)}
.hm-tone-good{color:var(--green)!important}.hm-tone-warn{color:var(--amber)!important}.hm-tone-bad{color:var(--red)!important}
.hm-meter{position:relative;display:block;height:10px;border-radius:999px;background:var(--line-2)}
.hm-meter.big{height:14px}
.hm-meter i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--navy)}
.hm-meter i.t-good{background:var(--green)}.hm-meter i.t-warn{background:var(--gold)}.hm-meter i.t-bad{background:#c2410c}
.hm-meter u{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink)}

.hm-cols{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px;align-items:start}
.hm-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.hm-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.hm-ph{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.hm-ph h3{font-size:17px;font-weight:800}
.hm-ph a{font-size:13px;font-weight:700}
.hm-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted);border-top:1px solid var(--line-2);padding-top:8px}
.hm-foot form{margin:0}.hm-foot .link{color:var(--muted);font-weight:600}
.hm-foot-end{justify-content:flex-end;border-top:0;padding-top:0}

.hm-group{display:flex;flex-direction:column}
.hm-gh{display:flex;align-items:center;gap:8px;margin:8px 0 2px;font-size:13px;font-weight:800;color:var(--muted);letter-spacing:.02em}
.hm-gh i{width:9px;height:9px;border-radius:50%;background:var(--seam)}
.hm-gh-late{color:var(--red)}.hm-gh-late i{background:var(--red)}
.hm-gh-today{color:var(--amber)}.hm-gh-today i{background:var(--gold)}
.hm-gh-new i{background:var(--navy)}
.hm-todo,.hm-list{list-style:none;margin:0;padding:0}
.hm-todo li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line-2)}
.hm-todo li:first-child{border-top:0}
.hm-todo .btn{min-height:40px;padding:0 14px;font-size:14px}
.hm-t{display:flex;flex-direction:column;gap:1px;min-width:0}
.hm-t b{font-size:14.5px;color:var(--ink);overflow-wrap:anywhere}
.hm-t>span{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.hm-t a{text-decoration:none}
.hm-clear{margin:0;background:var(--green-soft);color:var(--green-ink);border-radius:10px;padding:10px 12px;font-weight:700;font-size:14px}

.hm-list li{display:flex;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line-2);min-width:0}
.hm-list li:first-child{border-top:0}
.hm-list .hm-t{flex:1}
.hm-av{width:32px;height:32px;border-radius:50%;background:var(--navy-2);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}
.hm-tag{font-size:12px;font-weight:800;white-space:nowrap;color:var(--muted);border-radius:999px;padding:2px 9px;background:var(--soft);border:1px solid var(--line)}
.hm-tag.warn{background:var(--amber-soft);border-color:var(--amber-soft);color:var(--amber)}
.hm-tag.bad{background:var(--red-soft);border-color:var(--red-soft);color:var(--red)}
.hm-tag.ok{background:var(--green-soft);border-color:var(--green-soft);color:var(--green)}

/* New home cards (8 Nov 2026): going out this week, next on the floor, quote bars, sales capsule, staff pilot */
.hm-out{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hm-out-c{display:flex;flex-direction:column;gap:3px;min-width:0;text-decoration:none;color:var(--ink);background:var(--soft);border:1px solid var(--line-2);border-radius:14px;padding:8px 8px 10px}
.hm-out-c:hover{border-color:var(--line)}
.hm-out-pic{position:relative;aspect-ratio:1;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted);margin-bottom:4px}
.hm-out-pic img{width:100%;height:100%;object-fit:contain}
.hm-out-pic .icon{width:34px;height:34px}
.hm-out-pic em{position:absolute;left:6px;top:6px;font-style:normal;font-size:12px;font-weight:800;background:var(--navy);color:#fff;border-radius:999px;padding:1px 8px}
.hm-out-c b{font-size:13.5px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.hm-out-st{font-size:12px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:5px}
.hm-out-st:before{content:"";width:7px;height:7px;border-radius:50%;background:#9aa9bb;flex:none}
.hm-out-st.ok{color:var(--green-ink)}.hm-out-st.ok:before{background:var(--green)}
.hm-out-st.warn{color:var(--amber)}.hm-out-st.warn:before{background:var(--gold)}
.hm-out-st.bad{color:var(--red)}.hm-out-st.bad:before{background:var(--red)}
.hm-pill-next{display:flex;align-items:center;gap:12px;text-decoration:none;background:var(--navy);color:#fff;border-radius:999px;padding:8px 10px 8px 8px;min-width:0}
.hm-play{width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none}
.hm-play svg{width:18px;height:18px;margin-left:2px}
.hm-pn-t{display:flex;flex-direction:column;min-width:0;flex:1}
.hm-pn-l{font-size:12px;font-weight:800;color:var(--gold)}
.hm-pn-t b{color:#fff;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-pn-s{font-size:12.5px;color:#cddbea;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-pn-due{flex:none;background:rgba(255,255,255,.12);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:800;white-space:nowrap}
.hm-qhead{font-size:15px;color:var(--muted);font-weight:700;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.hm-qhead b{font-family:"Schibsted Grotesk","Plus Jakarta Sans",sans-serif;font-size:36px;line-height:1;color:var(--navy);letter-spacing:-.02em}
.hm-qhead i{font-style:normal;color:var(--navy);font-size:22px}
.hm-qbars-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:6px}
.hm-qbars-h b{font-size:14px}
.hm-qbars{display:flex;align-items:flex-end;gap:3px;height:72px}
.hm-qbars span{flex:1;height:100%;display:flex;align-items:flex-end;min-width:0}
.hm-qbars i{display:block;width:100%;border-radius:4px 4px 2px 2px;background:#c9d6e6}
.hm-qbars i.won{background:var(--navy)}
.hm-qbars span.today i{background:var(--gold)}
.hm-key{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px;background:var(--navy)}
.hm-capsule{align-self:flex-start;display:inline-flex;gap:6px;align-items:baseline;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:700;background:var(--amber-soft);color:var(--amber)}
.hm-capsule.good{background:var(--green-soft);color:var(--green-ink)}
.hm-capsule b{font-size:15px}
.hm-pilot{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.hm-pilot li{display:flex;gap:10px;align-items:center;min-width:0}
.hm-pilot .hm-t{flex:1;gap:5px}
.hm-pilot .hm-meter{height:8px}
@media (max-width:700px){.hm-out{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:no-preference){.hm-qbars i{transform-origin:bottom;animation:hm-bar .7s cubic-bezier(.2,.7,.2,1) .2s both}}
@keyframes hm-bar{from{transform:scaleY(0)}to{transform:scaleY(1)}}

.hm-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.hm-stage{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:9px 8px;display:flex;flex-direction:column;gap:1px;text-decoration:none;color:var(--ink);min-width:0}
.hm-stage span{font-size:12px;font-weight:700;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-stage b{font-size:21px;color:var(--navy);font-variant-numeric:tabular-nums}
.hm-stage small{font-size:12px;font-weight:700;color:var(--muted)}
.hm-stage.hot{border-color:#e4a28f;background:var(--red-soft)}.hm-stage.hot small{color:var(--red)}

.hm-load{display:flex;flex-direction:column;gap:7px}
.hm-lrow{display:grid;grid-template-columns:56px minmax(0,1fr) 48px;gap:10px;align-items:center;font-size:13px}
.hm-lrow .num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.hm-over{color:var(--red)}
.hm-track{position:relative;height:16px;background:var(--line-2);border-radius:5px;display:flex;overflow:hidden}
.hm-track i{display:block;height:100%}
.hm-track u{position:absolute;top:0;bottom:0;width:2px;background:var(--ink);opacity:.6}
.hm-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.hm-legend span{display:inline-flex;align-items:center;gap:5px}
.hm-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.hm-legend i.hm-legend-line{width:2px;height:12px;border-radius:0;background:var(--ink)}

.hm-big{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.hm-big b{font-size:26px;color:var(--navy);font-weight:800}
.hm-chan{display:flex;flex-direction:column;gap:6px}
.hm-crow{display:grid;grid-template-columns:150px minmax(0,1fr) 80px;gap:10px;align-items:center;font-size:13px}
.hm-crow .num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.hm-cbar{height:10px;border-radius:999px;background:var(--line-2);overflow:hidden}
.hm-cbar i{display:block;height:100%;background:var(--navy);border-radius:999px}
.hm-goal summary{cursor:pointer;font-weight:700;color:var(--link);font-size:14px}
.hm-goal-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 4px}
.hm-goal-form label{font-size:13px;font-weight:700;width:100%}
.hm-goal-form input{max-width:180px}

.hm-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.hm-tiles>*{background:var(--soft);border-radius:10px;padding:9px 10px;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);min-width:0}
.hm-tiles b{font-size:17px;color:var(--navy);font-variant-numeric:tabular-nums}
.hm-tiles span{font-size:12px;color:var(--muted)}
.hm-tiles .bad{background:var(--red-soft)}.hm-tiles .bad b{color:var(--red)}
.hm-tiles .warn{background:var(--amber-soft)}.hm-tiles .warn b{color:var(--amber)}

.hm-next{background:var(--navy-2);color:#fff;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}
.hm-next-l{font-size:13px;color:#c3cde6;font-weight:700}
.hm-next h3{color:#fff;font-size:21px}
.hm-next p{margin:0;color:#dfe5f3}
.hm-next-meta{display:flex;gap:6px;flex-wrap:wrap}
.hm-next-meta span{background:rgba(255,255,255,.12);border-radius:999px;padding:3px 10px;font-size:13px}
.hm-next-meta .rush{background:#c2410c}
.hm-next-go{display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:12px;background:var(--gold);color:#1a1300;font-size:18px;font-weight:800;text-decoration:none}
.hm-next-go:hover{background:#ffbf4d;color:#1a1300}
.hm-next .hm-next-note{color:#f8c66a;font-size:14px}
.hm-hidden form.inline{display:inline}

@media (max-width:1100px){.hm-cols{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.hm-nums,.hm-nums.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){
  .hm-head{padding:16px}.hm-hello h2{font-size:21px}
  .hm-btns{width:100%}.hm-btns>*{flex:1 1 auto}.hm-btns .btn{width:100%}
  .hm-todo li{grid-template-columns:minmax(0,1fr)}.hm-todo .btn{justify-self:start}
  .hm-crow{grid-template-columns:110px minmax(0,1fr) 70px}
  .hm-num b{font-size:22px}
}

/* ---- Smart Ops home (15 Oct 2026): today's brief, ranked list with reasons and do-it-here buttons, trends, forecast, week, live ---- */
.hm-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.hm-live{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:#c3cde6;background:rgba(255,255,255,.08);border-radius:999px;padding:5px 11px}
.hm-live i{width:8px;height:8px;border-radius:50%;background:#4fd18b;box-shadow:0 0 0 0 rgba(79,209,139,.6);animation:hm-pulse 2.4s infinite}
@keyframes hm-pulse{70%{box-shadow:0 0 0 7px rgba(79,209,139,0)}100%{box-shadow:0 0 0 0 rgba(79,209,139,0)}}
@media (prefers-reduced-motion:reduce){.hm-live i{animation:none}}
.hm-kbd{font:inherit;font-size:12px;border:1px solid rgba(255,255,255,.28);border-radius:6px;padding:0 6px;color:#c3cde6}
.hm-fresh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--gold-soft);border-radius:12px;padding:8px 12px;margin:0;font-weight:700;color:var(--ink)}
#hm-live{display:flex;flex-direction:column;gap:16px}

.hm-brief{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.hm-brief h3{font-size:15px;font-weight:800;color:var(--navy)}
.hm-tip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border-radius:12px;padding:11px 14px;background:var(--soft);border-left:4px solid var(--seam)}
.hm-tip-bad{border-left-color:#c2410c;background:var(--red-soft)}
.hm-tip-warn{border-left-color:var(--gold);background:#fff7e8}
.hm-tip-good{border-left-color:var(--green);background:var(--green-soft)}
.hm-tip p{margin:0;font-size:15px;color:var(--ink);line-height:1.45}
.hm-tip p b{color:var(--navy)}
.hm-tip small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.hm-tip-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.hm-tip-acts .btn,.hm-ra .btn{min-height:40px;padding:0 14px;font-size:14px;white-space:nowrap}
.btn.hm-ln{background:var(--surface);border-color:var(--line);color:var(--navy)}
.hm [hidden],.hm-toast[hidden]{display:none!important}

.hm-delta{font-size:12.5px;font-weight:700;color:var(--muted)}
.hm-spark{width:100%;height:36px;display:block;overflow:visible}
.hm-spark-line{fill:none;stroke:var(--navy);stroke-width:2;vector-effect:non-scaling-stroke}
.hm-spark-area{fill:var(--navy);opacity:.1}
.hm-spark-dot{fill:var(--navy)}
.hm-spark-mark{stroke:var(--gold);stroke-width:1.5;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}

.hm-rank{list-style:none;margin:0;padding:0}
.hm-rank>li{border-top:1px solid var(--line-2);padding:11px 0;display:flex;flex-direction:column;gap:8px}
.hm-rank>li:first-child{border-top:0}
.hm-row{display:grid;grid-template-columns:5px minmax(0,1fr) auto;gap:12px;align-items:center}
.hm-sev{align-self:stretch;border-radius:3px;background:var(--line)}
.hm-sev.red{background:#c2410c}.hm-sev.amb{background:var(--gold)}.hm-sev.blue{background:var(--navy)}
.hm-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.hm-chip{font-size:12px;font-weight:700;border-radius:999px;padding:1px 8px;background:var(--soft);color:var(--muted);border:1px solid var(--line-2)}
.hm-chip.bad{background:var(--red-soft);color:var(--red);border-color:transparent}
.hm-chip.warn{background:var(--amber-soft);color:var(--amber);border-color:transparent}
.hm-chip.good{background:var(--green-soft);color:var(--green-ink);border-color:transparent}
.hm-ra{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.hm-later{font-size:13px;color:var(--muted);font-weight:600;padding:6px 4px}
.hm-new{display:inline-block;font-size:12px;font-weight:800;background:var(--gold);color:#1a1300;border-radius:6px;padding:0 6px;vertical-align:1px}
.hm-newdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-right:6px;vertical-align:1px}
.hm-drawer{margin-left:17px;background:var(--soft);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}
.hm-said{margin:0;font-size:14px;color:var(--muted);border-left:3px solid var(--seam);padding-left:10px;overflow-wrap:anywhere}
.hm-drawer textarea{width:100%;min-height:84px;font:inherit;font-size:14.5px}
.hm-sug{display:flex;gap:6px;flex-wrap:wrap}
.hm-sug button{border:1px solid var(--line);background:var(--surface);color:var(--navy);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;min-height:34px}
.hm-sug button:hover{border-color:var(--seam)}
.hm-dfoot{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.hm-undo,.hm-done{display:flex;justify-content:space-between;align-items:center;gap:10px;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:700}
.hm-undo{background:var(--gold-soft);color:var(--ink)}
.hm-done{background:var(--green-soft);color:var(--green-ink);justify-content:flex-start}
.hm-tip.hm-sending{display:block;padding:0;background:none;border:0}
.hm-more summary{cursor:pointer;font-weight:700;color:var(--link);font-size:14px;padding:8px 0}

.hm-week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.hm-day{background:var(--soft);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px;min-width:0}
.hm-day.today{background:#fff7e8;box-shadow:inset 0 0 0 2px var(--gold)}
.hm-day h4{margin:0;font-size:13px;font-weight:800;color:var(--navy);display:flex;justify-content:space-between;gap:4px}
.hm-dload{display:block;height:6px;border-radius:3px;background:var(--line-2);overflow:hidden}
.hm-dload i{display:block;height:100%;background:var(--green);border-radius:3px}.hm-dload i.warn{background:var(--gold)}.hm-dload i.bad{background:#c2410c}
.hm-ev{font-size:12px;line-height:1.35;color:var(--ink);text-decoration:none;display:flex;gap:5px;align-items:baseline;overflow-wrap:anywhere}
.hm-ev::before{content:"";flex:none;width:7px;height:7px;border-radius:2px;background:var(--seam);transform:translateY(-1px)}
.hm-ev.out::before,.hm-k.out{background:var(--green)}.hm-ev.in::before,.hm-k.in{background:#2563eb}.hm-ev.school::before,.hm-k.school{background:var(--gold)}.hm-ev.risk::before,.hm-k.risk{background:#c2410c}
.hm-ev.none,.hm-ev.room{color:var(--muted)}
.hm-k{width:10px;height:10px;border-radius:3px;display:inline-block}

.hm-fc{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line-2);padding-top:10px}
.hm-fc-h{margin:0;font-size:14px;font-weight:800;color:var(--navy)}
.hm-fc-big{margin:0}.hm-fc-big b{font-size:22px;color:var(--navy)}
.hm-fc-chart{width:100%;height:auto;max-height:180px;display:block}
.hm-grid{stroke:var(--line-2);stroke-width:1}
.hm-ax{font-size:12px;fill:var(--muted)}
.hm-goal-line{stroke:var(--gold);stroke-width:1.5;stroke-dasharray:4 3}
.hm-band{fill:var(--navy);opacity:.08}
.hm-proj{fill:none;stroke:var(--navy);stroke-width:2;stroke-dasharray:5 4}
.hm-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hm-split div{background:var(--soft);border-radius:10px;padding:8px 10px;font-size:12.5px;color:var(--muted);min-width:0}
.hm-split b{display:block;font-size:16px;color:var(--ink)}

.hm-av-due{background:var(--gold);color:#1a1300}.hm-av-quiet{background:#8a2a12}.hm-av-new{background:var(--green)}
.hm-list .btn{min-height:36px;padding:0 12px;font-size:13px}
.hm-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13.5px}
.hm-feed li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px}
.hm-feed time{color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}
.hm-feed a{color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.hm-feed a:hover{text-decoration:underline}

.hm-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--navy-2);color:#fff;border-radius:12px;padding:12px 18px;font-weight:700;box-shadow:var(--shadow-float);z-index:60;max-width:calc(100vw - 32px)}
.hm-toast.bad{background:var(--red)}

@media (max-width:760px){.hm-week{grid-template-columns:repeat(5,minmax(128px,1fr));overflow-x:auto;padding-bottom:4px}.hm-tip{grid-template-columns:minmax(0,1fr)}.hm-tip-acts{justify-content:flex-start}}
@media (max-width:560px){.hm-row{grid-template-columns:5px minmax(0,1fr)}.hm-ra{grid-column:2;justify-content:flex-start}.hm-split{grid-template-columns:minmax(0,1fr)}.hm-drawer{margin-left:0}.hm-kbd{display:none}}

/* Money (Stripe in Ops, 15 Oct 2026) */
.mn{display:flex;flex-direction:column;gap:16px}
.mn [hidden]{display:none!important}
.mn-test{background:#fff6e0;border:1px dashed #d9a441;color:var(--amber);border-radius:var(--r);padding:10px 16px;font-weight:700}
.mn-health{display:flex;gap:6px;flex-wrap:wrap}
.mn-health a,.mn-health span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:5px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none}
.mn-health i{width:8px;height:8px;border-radius:50%;background:var(--green);flex:none}
.mn-health .warn i{background:#d98a00}.mn-health .bad i{background:#c2410c}
.mn-brief{background:var(--navy);color:#fff;border-radius:var(--r);padding:16px 20px;display:flex;flex-direction:column;gap:6px}
.mn-brief small{font-size:13px;opacity:.85;font-weight:800}
.mn-brief p{margin:0;font-size:15.5px;line-height:1.55}.mn-brief b{color:#f5ad2f}
.mn-list{display:flex;flex-direction:column}
.mn-li{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line-2)}
.mn-li:first-child{border-top:0}
.mn-ic{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;background:#ecf1f6;color:var(--muted)}
.mn-ic.bad{background:var(--red-soft);color:var(--red)}.mn-ic.warn{background:var(--amber-soft);color:var(--amber)}.mn-ic.ok{background:var(--green-soft);color:var(--green-ink)}
.mn-t{font-weight:700}.mn-s{font-size:13px;color:var(--muted)}
.mn-amt{font-weight:800;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.mn-acts{grid-column:2 / -1;display:flex;gap:6px;flex-wrap:wrap}
.mn-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}
.mn-check{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line-2)}
.mn-check:first-child{border-top:0}
.mn-box{flex:none;width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;background:var(--green)}
.mn-box.warn{background:#fff;border:2px solid #d98a00;color:#b26b00}.mn-box.bad{background:#fff;border:2px solid #c2410c;color:#c2410c}
.mn-grow{flex:1;min-width:0}
.mn-count{font-size:30px;font-weight:800;color:var(--red);font-variant-numeric:tabular-nums;line-height:1.1}
.mn-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px;margin:0}
.mn-kv dt{color:var(--muted);font-weight:700}.mn-kv dd{margin:0;font-variant-numeric:tabular-nums}
.mn-switch{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line-2)}
.mn-switch:first-child{border-top:0}
.mn-tog{width:44px;height:26px;border-radius:999px;border:0;background:var(--green);position:relative;cursor:pointer;flex:none;padding:0}
.mn-tog::after{content:"";position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.mn-tog.off{background:#c3cfdc}.mn-tog.off::after{right:auto;left:3px}
.mn-tog[disabled]{opacity:.5;cursor:not-allowed}
.mn-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.mn textarea{width:100%;height:auto;min-height:130px;padding:10px 12px;line-height:1.5;font:inherit;border:1px solid #c5d3e0;border-radius:var(--r-ctl);padding:10px 12px}
/* Money part 2: payments list, one payment, guided refund (20 Oct 2026) */
.mn [hidden]{display:none!important}
.mn-find{display:flex;gap:8px}.mn-find input{flex:1;min-width:0}
a.mn-link{color:inherit;text-decoration:none;border-radius:8px}a.mn-link:hover .mn-t,a.mn-link:focus-visible .mn-t{text-decoration:underline}
.mn-sign{border-color:#e0a43a;background:#fffaf0}
.mn-tl{list-style:none;margin:0;padding:0 0 0 16px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:12px}
.mn-tl li{position:relative;font-size:14px}
.mn-tl li::before{content:"";position:absolute;left:-23px;top:5px;width:12px;height:12px;border-radius:50%;background:#b4c4d6;border:2px solid #fff}
.mn-tl li.ok::before{background:var(--green)}.mn-tl li.warn::before{background:#d98a00}.mn-tl li.bad::before{background:#c2410c}.mn-tl li.later::before{background:#fff;border-color:#b4c4d6}
.mn-tl small{display:block;color:var(--muted);font-size:12.5px}
.mn-refund{max-width:760px}
.mn-step{border:0;margin:0;padding:14px 0 0;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:12px;min-width:0}
.mn-step legend{font-weight:800;font-size:16px;padding:0;margin-bottom:10px;float:left;width:100%}
.mn-step legend+*{clear:both}
.mn-pick{display:flex;gap:8px;flex-wrap:wrap}
.mn-pick label{position:relative;cursor:pointer}
.mn-pick input{position:absolute;opacity:0;width:1px;height:1px}
.mn-pick span{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border-radius:999px;border:1.5px solid #b4c4d6;background:#fff;font-weight:700;font-size:14px;color:var(--ink)}
.mn-pick input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.mn-pick input:focus-visible+span{outline:2px solid #0a6bc4;outline-offset:2px}
.mn-items{display:flex;flex-direction:column}
.mn-item{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line-2)}
.mn-item:first-child{border-top:0}
.mn-qty input{width:76px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}
.mn-happens{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.mn-happens .warn{color:var(--amber);font-weight:700}.mn-happens .bad{color:var(--red);font-weight:700}
/* Smarter refunds (20 Oct 2026): order story, Ops' read of the order (purple ✦), tap the pieces, best fix, email preview */
.mn-story{list-style:none;margin:4px 0 0;padding:0;display:flex;overflow-x:auto}
.mn-story li{flex:1 1 0;min-width:0;overflow-wrap:anywhere;text-align:center;font-size:12px;font-weight:700;color:var(--muted);position:relative;padding-top:20px}
.mn-story li::before{content:"";position:absolute;top:3px;left:50%;transform:translateX(-50%);width:12px;height:12px;border-radius:50%;background:#cfd9e3;z-index:1}
.mn-story li::after{content:"";position:absolute;top:8px;left:0;right:0;height:2px;background:#cfd9e3}
.mn-story li:first-child::after{left:50%}.mn-story li:last-child::after{right:50%}
.mn-story li.ok{color:var(--green)}.mn-story li.ok::before{background:var(--green)}
.mn-story li.now{color:var(--amber)}.mn-story li.now::before{background:#f5ad2f;box-shadow:0 0 0 4px var(--amber-soft)}
.mn-smart{background:#eeecfb;border:1px solid #d6d1f5;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.mn-who{font-size:13px;font-weight:800;color:#4b3fb5}
.mn-said{margin:0;border-left:3px solid #c9c2f2;padding-left:10px;color:var(--muted);font-style:italic}
.mn-verdict{border-radius:12px;padding:12px 14px;font-size:14px;display:flex;flex-direction:column;gap:2px}
.mn-verdict.good{background:var(--green-soft);border:1px solid #b9e2c9}.mn-verdict.warn{background:var(--amber-soft);border:1px solid #f0cf96}
.mn-verdict b{color:var(--navy)}
.mn-watch{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px}
.mn-watch li{display:flex;gap:8px}.mn-watch li::before{content:"!";font-weight:900;color:var(--amber);flex:none}.mn-watch li.bad::before{color:var(--red)}
.mn-guessed{font-size:12.5px;font-weight:700;color:#4b3fb5}
.mn-garment{display:flex;gap:10px;align-items:center}
.mn-sw{width:34px;height:38px;border-radius:7px;flex:none;border:1px solid var(--line);clip-path:polygon(25% 0,75% 0,100% 18%,88% 34%,80% 28%,80% 100%,20% 100%,20% 28%,12% 34%,0 18%)}
.mn-line{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--line-2)}
.mn-line:first-child{border-top:0;padding-top:0}
.mn-sizes{display:flex;gap:6px;flex-wrap:wrap}
.mn-pc{width:44px;height:44px;border-radius:10px;border:1.5px solid #b4c4d6;background:#fff;font-weight:800;font-size:13px;color:var(--ink);cursor:pointer;font-family:inherit}
.mn-pc[aria-pressed="true"]{background:var(--red-soft);border:2px solid var(--red);color:var(--red)}
.mn-step-n{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:4px 6px}
.mn-step-n b{min-width:56px;text-align:center;font-size:13px}
.mn-step-n button{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:18px;font-weight:800;color:var(--navy);cursor:pointer}
.mn-fixes{display:flex;flex-direction:column;gap:8px}
.mn-fix{text-align:left;border:1.5px solid var(--line);border-radius:12px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:3px;cursor:pointer;font-family:inherit;font-size:14px;color:var(--ink)}
.mn-fix:hover{border-color:var(--seam)}
.mn-fix .t{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.mn-fix .t b{color:var(--navy);font-size:15px}.mn-fix .t span{font-weight:800;color:var(--navy);white-space:nowrap}
.mn-fix.best{border:2px solid var(--green);background:var(--green-soft)}
.mn-fix.on{box-shadow:0 0 0 3px #cfe0f5}
.mn-fix .pill{align-self:flex-start;margin-top:2px}
.mn-mail{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:14px;display:flex;flex-direction:column;gap:6px}
.mn-mail .h{font-size:12px;color:var(--muted)}
.mn-mail dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;margin:0}.mn-mail dt{color:var(--muted)}.mn-mail dd{margin:0}
.btn.out{background:#b4321a;border-color:#b4321a;color:#fff;font-weight:800}.btn.out:hover{background:#8a2a12;border-color:#8a2a12;color:#fff}
.btn.out:disabled{opacity:.5}
.mn-mini{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 12px;margin:0;font-size:14px}.mn-mini dt{color:var(--muted)}.mn-mini dd{margin:0;text-align:right;font-weight:700}
.mn-smaller{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.mn-smaller .field{flex:1;min-width:140px}
.mn-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.mn-sum div{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;min-width:0}
.mn-sum b{font-size:20px;color:var(--navy);font-variant-numeric:tabular-nums}.mn-sum span{font-size:12.5px;color:var(--muted)}
.mn-bars{display:flex;flex-direction:column;gap:6px;font-size:13px}
.mn-bars div{display:grid;grid-template-columns:130px minmax(0,1fr) 72px;gap:8px;align-items:center}
.mn-bars i{display:block;height:10px;border-radius:5px;background:#f5ad2f}
.mn-bars em{font-style:normal;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
@media (max-width:560px){.mn-item{flex-wrap:wrap}.mn-item .mn-grow{flex-basis:100%}.mn-find{flex-wrap:wrap}.mn-find .btn{width:100%}}
@media (max-width:860px){.mn-cols{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.mn-li{grid-template-columns:32px minmax(0,1fr)}.mn-amt{grid-column:2;text-align:left}}

/* ---- Directors' view (15 Oct 2026): verdict, five big numbers with traffic lights, needs a director, trends, departments ---- */
.bd{display:flex;flex-direction:column;gap:18px}
.bd [hidden]{display:none!important}
.bd-top{background:var(--navy-2);color:#fff;border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:14px}
.bd-top-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.bd-top h2{color:#bcc7e3;font-size:15px;font-weight:700}
.bd-verdict{margin:0;font-size:24px;font-weight:700;line-height:1.3;max-width:46ch;text-wrap:balance}
.bd-verdict em{font-style:normal;color:#f5ad2f}
.bd-switch{margin:0;font-size:13px;color:#bcc7e3}.bd-switch a{color:#fff}
.bd-seg{display:inline-flex;background:rgba(255,255,255,.1);border-radius:11px;padding:3px;gap:2px}
.bd-seg a{color:#bcc7e3;border-radius:9px;padding:7px 12px;font-size:13px;font-weight:700;text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.bd-seg a:hover{color:#fff}
.bd-seg a[aria-current="page"]{background:#fff;color:var(--navy-2)}
.bd-big{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.bd-k{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;min-width:0;text-decoration:none;color:var(--ink)}
a.bd-k:hover{border-color:var(--seam);color:var(--ink)}
.bd-l{font-size:13px;color:var(--muted);font-weight:700}
.bd-k b{font-size:30px;line-height:1.05;color:var(--navy);font-weight:800;font-variant-numeric:tabular-nums}
.bd-c{font-size:13px;font-weight:700;color:var(--muted)}
.bd-s{font-size:12.5px;color:var(--muted)}
.bd-up{color:var(--green)}.bd-down{color:var(--red)}.bd-muted{color:var(--muted)}
.bd-light{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;border-radius:999px;padding:2px 9px;align-self:flex-start}
.bd-light i{width:8px;height:8px;border-radius:50%;background:currentColor}
.bd-light.g{background:var(--green-soft);color:var(--green)}.bd-light.a{background:var(--amber-soft);color:var(--amber)}.bd-light.r{background:var(--red-soft);color:var(--red)}
.bd-p{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}
.bd-ph{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.bd-ph h3{font-size:17px}.bd-ph span{font-size:13px;color:var(--muted)}
.bd-sub{font-size:15px;margin-top:4px}
.bd-needs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.bd-needs li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--soft);border-radius:12px;padding:12px 14px;border-left:4px solid #f5ad2f}
.bd-needs li.bd-bad{border-left-color:#c0392b}
.bd-needs b{display:block;color:var(--ink)}
.bd-needs li>span>span{font-size:13px;color:var(--muted)}
.bd-ok{margin:0;font-size:14px;color:var(--green);font-weight:600}
.bd-grid2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;align-items:start}
.bd-chart{width:100%;height:auto;display:block}
.bd-ax{font-size:10.5px;fill:var(--muted)}
.bd-gridline{stroke:var(--line-2)}.bd-base{stroke:var(--line)}
rect.bd-bar{fill:var(--navy)}rect.bd-bar-ly{fill:#c5cde3}
.bd-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.bd-legend span{display:inline-flex;align-items:center;gap:6px}
.bd-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}
.bd-legend i.bd-bar{background:var(--navy)}.bd-legend i.bd-bar-ly{background:#c5cde3}
.bd-mix,.bd-people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.bd-mix li{display:grid;grid-template-columns:150px minmax(0,1fr) 78px;gap:10px;align-items:center;font-size:13.5px}
.bd-people li{display:grid;grid-template-columns:130px minmax(0,1fr) 110px;gap:10px;align-items:center;font-size:13.5px}
.bd-track{height:10px;border-radius:5px;background:var(--line-2);overflow:hidden}
.bd-track i{display:block;height:100%;background:var(--navy);border-radius:5px}
.bd-track i.g{background:var(--green)}.bd-track i.a{background:#f5ad2f}
.bd-v{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.bd-v small{display:block;font-size:12px;font-weight:700}
.bd-people .bd-v{font-size:12.5px;color:var(--muted);font-weight:600}
.bd-tops{list-style:none;margin:0;padding:0;counter-reset:t}
.bd-tops li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;padding:8px 0;border-top:1px solid var(--line-2);font-size:14px;counter-increment:t;align-items:baseline}
.bd-tops li:first-child{border-top:0}
.bd-tops li::before{content:counter(t);color:var(--muted);font-weight:800;font-size:13px}
.bd-tops small{display:block;color:var(--muted);font-size:12.5px}
.bd-tops b{font-variant-numeric:tabular-nums}
.bd-depts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bd-dp{background:var(--soft);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px;min-width:0}
.bd-dp h4{margin:0;font-size:14px;color:var(--navy)}
.bd-dp p{margin:0;font-size:13px;color:var(--muted)}
.bd-mail{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}
.bd-mail small{display:block;font-size:13px;color:var(--muted)}
.bd-mail form{margin:0}
.bd-tog{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px;cursor:pointer;background:none;border:0;color:var(--ink);padding:0;min-height:40px;font-family:inherit}
.bd-tr{width:44px;height:26px;border-radius:13px;background:var(--green);position:relative;flex:none}
.bd-tr::after{content:"";position:absolute;top:3px;left:21px;width:20px;height:20px;border-radius:50%;background:#fff}
.bd-tog[aria-pressed="false"] .bd-tr{background:#c5cde3}
.bd-tog[aria-pressed="false"] .bd-tr::after{left:3px}
@media (max-width:1100px){.bd-big{grid-template-columns:repeat(3,minmax(0,1fr))}.bd-grid2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.bd-top{padding:18px}.bd-big{grid-template-columns:repeat(2,minmax(0,1fr))}.bd-depts{grid-template-columns:repeat(2,minmax(0,1fr))}.bd-verdict{font-size:20px}.bd-k b{font-size:24px}.bd-needs li{grid-template-columns:minmax(0,1fr)}.bd-needs .btn{justify-self:start}.bd-mix li{grid-template-columns:104px minmax(0,1fr) 70px}.bd-people li{grid-template-columns:90px minmax(0,1fr) 92px}}
/* Simpler Ops (20 Oct 2026): tabs joining the pages of one menu item, the Settings page, and the phone bar */
.sect-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-top:-8px;overflow-x:auto;scrollbar-width:none}
.sect-tabs::-webkit-scrollbar{display:none}
.sect-tabs a{padding:8px 12px 10px;font-weight:700;font-size:14px;color:var(--muted);text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px}
.sect-tabs a:hover{color:var(--navy)}
.sect-tabs a.on{color:var(--navy);border-bottom-color:#f5ad2f}
.sect-back{margin-top:-8px;font-weight:700;text-decoration:none;width:max-content}
.set-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.set-card{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)}
.set-card:hover{border-color:var(--seam)}
.set-card b{display:flex;gap:8px;align-items:center}
.phone-bar{display:none}
@media (max-width:700px){
  .phone-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:0 max(6px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(6px,env(safe-area-inset-left,0px));box-shadow:0 -6px 20px rgba(23,26,64,.08)}
  .phone-bar a,.phone-bar button{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 9px;font:inherit;font-size:12px;font-weight:800;color:var(--muted);text-decoration:none;background:none;border:0;cursor:pointer;min-width:0}
  .phone-bar span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .phone-bar .icon{width:22px;height:22px}
  .phone-bar a.on{color:var(--navy);box-shadow:inset 0 3px 0 #f5ad2f}
  .phone-bar em{position:absolute;top:4px;left:calc(50% + 6px);font-style:normal;font-size:12px;font-weight:800;background:#f5ad2f;color:#3a2400;border-radius:999px;padding:0 6px;line-height:16px}
  body:has(.phone-bar) .content{padding-bottom:96px}
  body:has(.phone-bar) .tellus{bottom:calc(76px + env(safe-area-inset-bottom, 0px))}
  body:has(.qphone-bar) .phone-bar{display:none}
  body:has(.phone-bar) .side{padding-bottom:calc(68px + env(safe-area-inset-bottom, 0px))}   /* the last menu items clear the bar */
  body:has(.qphone-bar) .side{padding-bottom:12px}
}
.set-card .nav-prob{font-size:12px;font-weight:800;background:var(--red-soft);color:var(--red);border-radius:var(--r-pill);padding:0 7px;line-height:18px}
/* Pay links (20 Oct 2026) */
.mn-li.mn-pl{align-items:start;grid-template-columns:minmax(0,1fr) auto}.mn-pl.fresh{background:var(--green-soft);border-radius:10px}
.mn-pl-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.mn-pl-do{gap:6px;margin-top:8px}.mn-pl-do form{margin:0}
.mn-pl-url{flex:1 1 200px;min-width:0;height:34px;font-size:13px}
.mn-plf{max-width:640px}.mn-plf input.mn-big{font-size:24px;font-weight:800;height:52px;font-variant-numeric:tabular-nums;max-width:240px}
@media (max-width:560px){.mn-li.mn-pl{grid-template-columns:minmax(0,1fr) auto}}
/* Payouts (Money part 3, 20 Oct 2026) */
.mn-po-big{font-size:28px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;line-height:1.1}
.mn-po-sum{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;margin:4px 0 0;font-size:14px}.mn-po-sum dt{color:var(--muted)}.mn-po-sum dd{margin:0;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.mn-po-sum .neg{color:var(--red)}.mn-po-sum .tot{border-top:1px solid var(--line);padding-top:6px;color:var(--navy);font-weight:800}
.mn-po-ai{background:#e8edfb;border-radius:10px;padding:9px 11px;font-size:13px;display:grid;gap:2px}.mn-po-ai small{font-size:12px;font-weight:800;color:var(--muted)}
/* Staff shops (workwear part 3): tables become one card a row on a phone */
@media (max-width:700px){.ss-table thead{display:none}.ss-table,.ss-table tbody,.ss-table tr,.ss-table td{display:block;width:100%}.ss-table tr{padding:10px 16px;border-bottom:1px solid var(--line)}.ss-table td{border:0;padding:3px 0;text-align:left!important;white-space:normal!important}.ss-table td[data-label]{display:flex;gap:10px;justify-content:space-between;align-items:center}.ss-table td[data-label]::before{content:attr(data-label);font-size:12px;font-weight:700;color:var(--muted);flex:none}.ss-table td[data-label] input{max-width:65%}}
/* Staff pilot (round 1, 22 Oct 2026): one step at a time, the step bar on every page, the glowing button */
.pl-bar{height:10px;border-radius:5px;background:var(--line);overflow:hidden}
.pl-bar span{display:block;height:100%;background:var(--green);border-radius:5px}
.pl-dot{width:26px;height:26px;border-radius:13px;border:2px solid #c9cfdd;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none;background:#fff}
.pl-dot.done{background:var(--green);border-color:var(--green);color:#fff}
.pl-note{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.pl-note:first-of-type{border-top:0}.pl-note.sorted{opacity:.55}.pl-note form{align-self:flex-start}
.pl-text{white-space:pre-line}
.pl-copy{width:100%;min-height:140px;font-size:13px}
.pj-next{border:2px dashed var(--seam);gap:10px}
.pj-h{font-size:22px;font-weight:800}
.pj-p{margin:0;font-size:16px;line-height:1.55}
.pj-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pj-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pj-acts form{display:contents}
.pj-acts>:only-child{grid-column:1/-1}
.pj-big{min-height:48px;font-size:16px;justify-content:center;display:flex;align-items:center;width:100%}
.pj-words dl{margin:8px 0 0;display:grid;grid-template-columns:max-content 1fr;gap:4px 12px}.pj-words dt{font-weight:800}.pj-words dd{margin:0}
.pj-wrong form{margin-top:8px}.pj-wrong textarea,.pj-next textarea{width:100%;min-height:72px}
.pj-wrong-acts{display:flex;flex-wrap:wrap;gap:8px}
.pj-photo{display:flex;flex-direction:column;gap:4px}
.pj-fresh{display:flex;flex-direction:column;gap:6px;align-items:flex-start;border-top:1px solid var(--line-2);padding-top:10px;margin-top:10px}
.pj-rate,.pj-grate{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;background:var(--green-soft);border-radius:var(--r-ctl);padding:8px 10px}
.pj-tick{width:26px;height:26px;border-radius:13px;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.pj-faces{display:flex;gap:6px;margin-left:auto}
.pj-face{width:42px;height:42px;border-radius:21px;border:1px solid var(--line);background:#fff;font-size:21px;line-height:1;cursor:pointer;padding:0}
.pj-face:hover,.pj-face:focus-visible{border:2px solid var(--green)}
.pj-day{font-size:12px;font-weight:800;color:var(--muted);margin-top:6px}
.pj-part{border-top:1px solid var(--line-2);padding:8px 0}
.pj-part summary{display:flex;gap:12px;align-items:center;cursor:pointer;list-style:none}.pj-part summary::-webkit-details-marker{display:none}
.pj-pt{display:flex;flex-direction:column}
.pj-steps{margin:8px 0 4px 38px;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.pj-steps li.done{color:var(--muted)}.pj-steps li.now b{color:var(--navy)}.pj-steps .inline-form{display:inline}
.pj-guide{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:45;width:min(720px,calc(100vw - 24px));max-height:60vh;overflow:auto;background:var(--navy-2);color:#fff;border-radius:var(--r);box-shadow:var(--shadow-float);padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center}
.pj-guide[hidden]{display:none}
@media (min-width:1101px){.pj-guide{left:calc(var(--side-w) + (100vw - var(--side-w)) / 2);width:min(720px,calc(100vw - var(--side-w) - 32px))}}
.pj-guide .pj-grate{grid-column:1/-1;background:rgba(255,255,255,.1);color:#fff}
.pj-gtext{display:flex;flex-direction:column;gap:2px;min-width:0}
.pj-gs{font-size:12px;color:#b9c6e6;font-weight:700}
.pj-gtext b{font-size:15.5px}
.pj-gtext p{margin:0;font-size:14px;line-height:1.45;color:#e4eaf7}
.pj-glow-note{color:#f5ad2f;font-weight:700}
.pj-gacts{display:flex;flex-direction:column;gap:6px}.pj-gacts form{display:contents}
.pj-guide .btn{min-width:110px;justify-content:center}
.pj-glinks{grid-column:1/-1;display:flex;gap:16px;justify-content:flex-end;flex-wrap:wrap}
.pj-gl{color:#fff;font:inherit;font-size:13px;font-weight:700;background:none;border:0;cursor:pointer;text-decoration:underline;padding:0}
.pj-gl:hover{color:#f5ad2f}
.pj-pill{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:45;background:var(--navy-2);color:#fff;font:inherit;font-weight:800;border:0;border-radius:var(--r-pill);padding:10px 16px;box-shadow:var(--shadow-float);cursor:pointer;max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pj-target{position:relative;z-index:2;box-shadow:0 0 0 3px #f5ad2f,0 0 0 9px rgba(245,173,47,.35)!important;animation:pjpulse 1.6s ease-in-out infinite;border-radius:8px}
@keyframes pjpulse{50%{box-shadow:0 0 0 3px #f5ad2f,0 0 0 14px rgba(245,173,47,.12)}}
@media (prefers-reduced-motion:reduce){.pj-target{animation:none}}
.pj-tip{position:absolute;z-index:44;background:#f5ad2f;color:#171a40;font-weight:800;font-size:13px;padding:4px 10px;border-radius:999px;white-space:nowrap;pointer-events:none}
.pj-tip:before{content:"";position:absolute;left:18px;top:-6px;border:6px solid transparent;border-top:0;border-bottom-color:#f5ad2f}
.content:has(~ .pj-guide){padding-bottom:220px}
@media (max-width:700px){
  .pj-guide{bottom:calc(68px + env(safe-area-inset-bottom,0px));grid-template-columns:1fr;width:calc(100vw - 16px)}
  .pj-gacts{flex-direction:row}.pj-gacts>*,.pj-gacts form>*{flex:1}
  .pj-glinks{justify-content:space-between}
  .pj-pill{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .content:has(~ .pj-guide){padding-bottom:300px}
}
.pa-who{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:start;padding:10px 0;border-top:1px solid var(--line-2)}
.pa-who:first-of-type{border-top:0}
.pa-where{display:flex;flex-direction:column;gap:6px;min-width:0}
.pa-ease{display:flex;gap:10px;flex-wrap:wrap}.pa-ease span{font-weight:700}
.pa-ready{list-style:none;margin:0;padding:0}
.pa-ready li{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-top:1px solid var(--line-2)}.pa-ready li:first-child{border-top:0}
.pa-ready .pl-dot{width:22px;height:22px;font-size:12px}
.pa-chap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:7px 0;border-top:1px solid var(--line-2);align-items:center}
.pa-chap:first-of-type{border-top:0}
.pa-form{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.pa-form label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:13px}
.pa-form .check{flex-direction:row;align-items:flex-start;gap:8px;font-weight:600}

/* ---- School shop page v2 (22 Oct 2026): tabs that fit a phone, shop check, item cards, save bar ---- */
.ss-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.ss-id{display:flex;gap:14px;align-items:center;min-width:0}
.ss-id h2{font-size:26px;margin:2px 0 0}
.ss-id .ss-sub{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}
.ss-acts{display:flex;gap:8px;flex-wrap:wrap}
.ss-share{position:relative}
.ss-ready{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin-bottom:14px;flex-wrap:wrap}
.ss-ready .ss-meter{flex:none;width:46px;height:46px;border-radius:50%;background:conic-gradient(#f5ad2f calc(var(--p)*1%),var(--line-2) 0);display:grid;place-items:center}
.ss-ready .ss-meter b{width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:12px;color:var(--navy)}
.ss-ready-t{flex:1;min-width:200px}.ss-ready-t b{color:var(--navy)}.ss-ready-t p{margin:0;font-size:13px;color:var(--muted)}
.ss-todo{display:flex;gap:6px;flex-wrap:wrap}
.ss-todo a{font-size:12.5px;font-weight:700;border-radius:999px;padding:4px 10px;text-decoration:none;border:1px solid var(--line);color:var(--muted);background:#fff}
.ss-todo a.no{background:var(--amber-soft);border-color:#f0cf97;color:var(--amber)}
@media (max-width:700px){.ss-todo a.yes{display:none}.ss-ready{gap:10px}.ss-ready-t p{display:none}}
.ss-todo a.yes::before{content:"✓ ";color:var(--green)}
.ss-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px}
.ss-tabs a{padding:10px 14px;font-weight:700;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none;display:flex;gap:6px;align-items:center}
.ss-tabs a:hover{color:var(--navy)}.ss-tabs a.on{color:var(--navy);border-color:var(--navy)}
.ss-tabs em{font-style:normal;font-size:12px;background:var(--line-2);border-radius:999px;padding:0 7px;color:var(--muted)}
.ss-tabs i{width:8px;height:8px;border-radius:50%;background:#f5ad2f;display:inline-block}
@media (max-width:700px){
  .ss-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;border:0}
  .ss-tabs a{border:1px solid var(--line);border-radius:10px;background:#fff;justify-content:space-between;padding:9px 12px;font-size:13.5px}
  .ss-tabs a.on{background:var(--navy);color:#fff;border-color:var(--navy)}.ss-tabs a.on em{background:rgba(255,255,255,.2);color:#fff}
  .ss-tabs a:last-child:nth-child(odd){grid-column:1/-1}
  .ss-id h2{font-size:21px}.ss-acts{width:100%}.ss-acts .btn{flex:1}
}
.ss-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.ss-card h3{font-size:17px}.ss-card>.muted:first-of-type{margin-top:4px}
.ss-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ss-h p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.ss-two{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
@media (max-width:1100px){.ss-two{grid-template-columns:minmax(0,1fr)}}
.ss-new{display:inline-block;font-size:12px;font-weight:800;background:#fff3d6;color:#7a4b00;border-radius:6px;padding:1px 7px;margin-left:6px;vertical-align:2px}
.ss-savebar{position:sticky;bottom:0;z-index:20;display:flex;gap:12px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;margin-top:16px;box-shadow:0 -6px 20px rgba(23,26,64,.06)}
.ss-savebar small{color:var(--muted)}.ss-savebar .btn{white-space:nowrap}
@media (max-width:760px){.ss-savebar{bottom:64px}.ss-savebar .btn{flex:1}.ss-savebar small{display:none}}
.ss-seg{display:inline-flex;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.ss-seg span{padding:7px 12px;font-weight:700;font-size:13px;color:var(--muted);border-left:1px solid var(--line)}
.ss-seg span:first-child{border-left:0}.ss-seg span.on{background:var(--navy);color:#fff}
.ss-step{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff}
.ss-step b{min-width:34px;text-align:center;font-size:15px}.ss-step span{width:34px;height:34px;display:grid;place-items:center;font-weight:800;color:var(--navy);font-size:18px}
.ss-pic{width:64px;height:64px;border-radius:10px;background:#f3f5f8;display:grid;place-items:center;flex:none;overflow:hidden}
.ss-dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.18);vertical-align:-1px}
.ss-sizes{display:flex;gap:4px;flex-wrap:wrap}.ss-sizes span{font-size:12px;font-weight:700;border-radius:6px;background:var(--line-2);padding:1px 7px}
.ss-sizes span.vat{background:#eef0ff;color:#3a3f8f}
.ss-list{display:flex;flex-direction:column;gap:0}
.ss-row{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line-2)}
.ss-row:first-child{border-top:0}
.ss-warn{display:flex;gap:10px;align-items:flex-start;background:var(--amber-soft);border-radius:10px;padding:10px 12px;font-size:13.5px;color:#5c3a00}
.ss-ok{display:flex;gap:10px;align-items:flex-start;background:var(--green-soft);border-radius:10px;padding:10px 12px;font-size:13.5px;color:var(--green-ink)}
.ss-k{font-size:12px;font-weight:700;color:var(--muted)}
.ss-money{font-variant-numeric:tabular-nums}
.ss-tile{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:6px}
.ss-tile.on{border:2px solid var(--navy);background:#f5f7ff;padding:13px}
.ss-preview{border:1px dashed var(--seam);border-radius:12px;padding:14px;background:var(--soft)}
.ss-preview .lbl{font-size:12px;font-weight:800;color:var(--muted);display:block;margin-bottom:8px}
.ss-spark{display:flex;align-items:flex-end;gap:3px;height:44px}
.ss-spark i{flex:1;background:#c9d6e6;border-radius:3px 3px 0 0;min-height:3px}.ss-spark i.t{background:#f5ad2f}
.ss-bars{display:flex;flex-direction:column;gap:8px}
.ss-bars div{display:grid;grid-template-columns:90px 1fr 30px;gap:8px;align-items:center;font-size:13px}
.ss-bars i{height:10px;border-radius:5px;background:var(--navy)}.ss-bars i.none{background:#f5ad2f}
.ss-bars em{font-style:normal;font-weight:800;text-align:right}
.ss-ocards{display:none}
@media (max-width:700px){.ss-otable{display:none}.ss-ocards{display:flex;flex-direction:column}}
.ss-ocard{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:12px 16px;border-top:1px solid var(--line-2);font-size:14px}
.ss-ocard b{color:var(--navy)}.ss-ocard small{color:var(--muted)}
.ss-track{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:14px}
.ss-track div{font-size:12.5px;font-weight:700;color:var(--muted)}
.ss-track div i{display:block;height:6px;border-radius:3px;background:var(--line-2);margin-bottom:6px}
.ss-track div.done i{background:var(--green)}.ss-track div.done{color:var(--green-ink)}
.ss-track div.now i{background:#f5ad2f}.ss-track div.now{color:var(--ink)}
.ss-nav{position:sticky;top:16px;display:flex;flex-direction:column;gap:2px}
.ss-nav a{padding:8px 12px;border-radius:8px;font-weight:700;font-size:14px;color:var(--muted);text-decoration:none;display:flex;justify-content:space-between}
.ss-nav a.on{background:#fff;color:var(--navy);border:1px solid var(--line)}
.ss-nav a i{width:8px;height:8px;border-radius:50%;background:#f5ad2f;align-self:center}
@media (max-width:1100px){.ss-nav{display:none}}
.ss-sw{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.ss-sw i{width:40px;height:24px;border-radius:12px;background:var(--green);position:relative;flex:none}
.ss-sw i::after{content:"";position:absolute;top:3px;left:19px;width:18px;height:18px;border-radius:50%;background:#fff}
.ss-sw.off i{background:#b7bfcc}.ss-sw.off i::after{left:3px}
.ss-swatch{display:flex;gap:6px;flex-wrap:wrap}
.ss-swatch span{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.ss-swatch span.on{box-shadow:0 0 0 2px var(--navy)}
.ss-sample{font-family:Georgia,serif;font-weight:700;letter-spacing:.08em;font-size:26px}
.ss-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;align-items:start}
.ss-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.ss-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.ss-item{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:10px}
.ss-item-top{display:flex;gap:12px}
.ss-item-top .ss-pic{width:88px;height:88px}
.ss-item h4{margin:0;font-size:15px;color:var(--navy)}
.ss-item .ss-pr{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ss-item .ss-pr div{background:var(--soft);border-radius:8px;padding:6px 10px}
.ss-item .ss-pr b{font-size:17px;color:var(--navy)}
.ss-item-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line-2);padding-top:10px;flex-wrap:wrap}
.ss-grip{color:#9aaabb;font-size:18px;cursor:grab;line-height:1}
.ss-sec{font-size:13px;font-weight:800;color:var(--muted);margin:6px 0 -2px}
.ss-num{font-weight:800;color:var(--navy);display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--line-2);font-size:12px;margin-right:8px}
.ss-banner{border-radius:12px;padding:16px;color:#fff;display:flex;gap:12px;align-items:center}
.ss-banner b{font-size:18px}
.ss-tabs a:focus-visible,.ss-todo a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ss-seg label{margin:0;cursor:pointer}.ss-seg input{position:absolute;opacity:0;pointer-events:none}
.ss-seg label span{display:block;padding:7px 12px;font-weight:700;font-size:13px;color:var(--muted)}
.ss-seg label+label{border-left:1px solid var(--line)}
.ss-seg input:checked+span{background:var(--navy);color:#fff}.ss-seg input:focus-visible+span{outline:2px solid var(--focus);outline-offset:-2px}
.ss-swatch label{margin:0;cursor:pointer;display:inline-flex}.ss-swatch input{position:absolute;opacity:0;pointer-events:none}
.ss-swatch label span{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.ss-swatch input:checked+span{box-shadow:0 0 0 2px var(--navy)}.ss-swatch input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}
.ss-tile{cursor:pointer;margin:0}.ss-tile:has(input[type=radio]:checked){border:2px solid var(--navy);background:#f5f7ff;padding:13px}
.ss-step button{width:34px;height:34px;border:0;background:none;font-weight:800;color:var(--navy);font-size:18px;cursor:pointer;border-radius:10px}
.ss-step button:hover{background:var(--line-2)}.ss-step input{width:34px;border:0;text-align:center;font-weight:800;font-size:15px;padding:0;background:none;-moz-appearance:textfield}
.ss-step input::-webkit-inner-spin-button{display:none}
.ss-item.dim{opacity:.6}.ss-item.drag,.ss-row.drag{opacity:.4}
.ss-grip{background:none;border:0;padding:4px;touch-action:none}
.ss-drop{border:2px dashed var(--seam);border-radius:12px;padding:18px;text-align:center;background:var(--soft);display:block;cursor:pointer;margin:0}
.ss-drop input{display:block;margin:8px auto 0;max-width:100%}
.ss-dgrid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:1100px){.ss-dgrid{grid-template-columns:minmax(0,1fr)}}
.ss-card[id]{scroll-margin-top:16px}
@media (max-width:700px){.sb-ofilter{width:100%}.sb-ofilter input{flex:1 1 100%;max-width:none}.sb-ofilter select{flex:1}}
.ss-qr{width:58px;height:58px;flex:none;background:#fff;border-radius:6px;padding:2px;border:1px solid var(--line)}.ss-qr svg{width:100%;height:100%;display:block}
.ss-ini-row{flex-wrap:wrap}.ss-ini-row .ss-ini-name{color:var(--navy);flex:1;min-width:140px}
.ss-ini-row .ss-ini-where{min-width:150px}.ss-ini-row .ss-ini-price{margin:0;width:100px}.ss-ini-row .ss-ini-price input{text-align:right}
@media (max-width:700px){.ss-ini-row .ss-ini-name{min-width:0;flex-basis:calc(100% - 72px)}.ss-ini-row .ss-ini-where{min-width:0;flex:1}}
.ss-card [hidden],.ss-preview [hidden],.ss-savebar [hidden]{display:none!important}
.ss-sw input{position:absolute;opacity:0;pointer-events:none}.ss-sw{cursor:pointer;margin:0}
.ss-sw input:not(:checked)+i{background:#b7bfcc}.ss-sw input:not(:checked)+i::after{left:3px}.ss-sw input:focus-visible+i{outline:2px solid var(--focus);outline-offset:2px}
.ss-drop.over{border-color:var(--navy);background:#f5f7ff}
.ss-dsec{scroll-margin-top:16px}
.ss-kit-row{flex-wrap:wrap}.ss-kit-row .ss-kit-name{flex:1 1 150px;min-width:0}
@media (max-width:700px){.ss-kit-row{row-gap:8px}.ss-kit-row .ss-step{margin-left:auto}}
/* Purchasing redesign part 1 (23 Oct 2026): today's orders per supplier, supplier picked by Ops, Suppliers */
.pu-strip{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.pu-strip .kpi small b{font-size:12px;color:inherit}
.pu-clock{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;padding:3px 10px;border-radius:999px;background:var(--amber-soft);color:var(--amber);white-space:nowrap;vertical-align:middle}
.pu-clock.ok{background:var(--green-soft);color:var(--green-ink)}.pu-clock.bad{background:var(--red-soft);color:var(--red)}
.pu-clock .icon{width:14px;height:14px}
.pu-ok{color:var(--green-ink)}
.pu-next{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border-left:4px solid #f5ad2f}
.pu-next .pu-n{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center}
.pu-next .pu-n .icon{width:22px;height:22px}
.pu-next h3{font-size:17px}.pu-next p{margin:2px 0 0}
.pu-basket{padding:0;overflow:hidden}
.pu-bhead{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 22px 14px;align-items:flex-start}
.pu-bhead h3{font-size:18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pu-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:13px;color:var(--muted)}
.pu-meta b{color:var(--ink)}
.pu-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pu-free{padding:0 22px 14px;display:grid;gap:6px}
.pu-bar{height:8px;border-radius:4px;background:var(--line-2);overflow:hidden}.pu-bar i{display:block;height:100%;background:var(--green);border-radius:4px}
.pu-bar i.amber{background:#f5ad2f}.pu-bar i.red{background:#d2573a}
.pu-lines{border-top:1px solid var(--line-2)}
.pu-line{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;padding:14px 22px;border-top:1px solid var(--line-2);align-items:start}
.pu-line.nopic{grid-template-columns:minmax(0,1fr) auto}
.pu-line:first-child{border-top:0}
.pu-line.short{box-shadow:inset 3px 0 0 var(--red)}
.pu-pic{width:52px;height:52px;border-radius:10px;border:1px solid var(--line);object-fit:contain;background:var(--soft)}
.pu-what{display:grid;gap:5px;min-width:0;grid-template-columns:minmax(0,1fr)}
.pu-what .t{font-weight:800;color:var(--navy)}
.pu-n2{text-align:right;display:grid;gap:2px;align-content:start}.pu-n2 b{font-size:20px;color:var(--navy);font-variant-numeric:tabular-nums}.pu-n2 span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.pu-for{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 10px}
.pu-for a{font-weight:700}
.pu-why{background:var(--green-soft);border:1px solid #bfe3cf;border-radius:10px;padding:8px 12px;font-size:13px;color:var(--green-ink)}
.pu-why.warn{background:#fff6e0;border-color:#f2d9a6;color:var(--amber)}
.pu-why.info{background:#eef4fb;border-color:#cfdeef;color:#163f86}
.pu-why summary{font-weight:700}
.pu-why summary:after{content:" ›";font-weight:800}
.pu-why[open] summary:after{content:" ⌄"}
.pu-why .link{font-size:13px;padding:2px 0}
.pu-cmp{margin:8px 0 6px;background:#fff;border-radius:8px;border:1px solid var(--line);overflow:auto}
.pu-cmp table{font-size:13px;color:var(--ink)}.pu-cmp th,.pu-cmp td{padding:8px 10px;white-space:nowrap}
.pu-cmp tr.pick td{background:#f3fbf6;font-weight:700}
.pu-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;padding:14px 22px;background:var(--soft);border-top:1px solid var(--line-2)}
.pu-foot .tot{font-size:14px}.pu-foot .tot b{font-size:18px;color:var(--navy);font-variant-numeric:tabular-nums}
.pu-src{font-size:12px;color:var(--muted);padding:0 22px 14px;background:var(--soft)}
.pu-h{font-size:17px;font-weight:800;color:var(--navy);display:flex;align-items:center;gap:8px;margin:6px 0 -6px}
.pu-h .count{background:var(--green-soft);color:var(--green-ink);border-radius:var(--r-pill);padding:0 8px;font-size:13px}
.pu-h .count.amber{background:var(--amber-soft);color:var(--amber)}.pu-h .count.red{background:var(--red-soft);color:var(--red)}
.pu-shelf{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line-2)}
.pu-shelf:first-of-type{border-top:0}
.pu-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.pu-head h2{font-size:20px;font-weight:800}.pu-head p{margin:4px 0 0}
.pu-sups{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.pu-sup{display:grid;gap:10px;align-content:start}
.pu-sup h3{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pu-score{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pu-score div{background:var(--soft);border-radius:8px;padding:8px 10px}.pu-score b{display:block;font-size:18px;color:var(--navy);font-variant-numeric:tabular-nums}.pu-score span{font-size:12px;color:var(--muted)}
.pu-sform{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.pu-sform .wide{grid-column:1/-1}
@media (max-width:700px){
  .pu-strip .kpi:last-child:nth-child(odd){grid-column:1/-1}
  .pu-next{grid-template-columns:auto minmax(0,1fr)}.pu-next>.btn{grid-column:1/-1}
  .pu-bhead,.pu-free,.pu-line,.pu-foot,.pu-src{padding-left:16px;padding-right:16px}
  .pu-line,.pu-line.nopic{display:flex;flex-direction:column;gap:6px;position:relative}
  .pu-pic{display:none}
  .pu-n2{position:absolute;right:16px;top:14px}.pu-n2 span{display:none}.pu-what .t{padding-right:44px}
  .pu-why{padding:8px 10px}
  .pu-cmp th:nth-child(3),.pu-cmp td:nth-child(3){display:none}.pu-cmp td .muted{display:block}
  .pu-foot .pu-acts{width:100%}.pu-foot .pu-acts .btn{flex:1}
  .pu-shelf{grid-template-columns:minmax(0,1fr)}
  .pu-sform{grid-template-columns:minmax(0,1fr)}
}


/* ---- Artwork page v2 (23 Oct 2026): proof pictures, what gets made, approve-by dates, the proof beside the list ---- */
.aw{display:flex;flex-direction:column;gap:16px}
.aw [hidden]{display:none!important}
.aw .qv-ph .d.hot{background:#e06b2d}.aw .qv-ph .d.blue{background:#2f86e0}.aw .qv-ph .d.green{background:var(--green)}
.aw .qv-empty{padding:16px 18px;color:var(--muted);margin:0}
.aw .qv-mini .t{min-width:0;display:flex;flex-direction:column;gap:2px}
.aw .qv-mini .t .qv-what{display:block}
.qv-item.aw-row{grid-template-columns:76px minmax(0,1fr) auto}
.aw-picl{display:block;border-radius:10px}
.aw-pic{width:76px;height:76px;overflow:hidden;background:#fff;padding:0}
.aw-pic img{width:100%;height:100%;object-fit:cover;border-radius:9px;display:block}
.aw-pic.sm{width:44px;height:44px}
.aw-pic.none{border-style:dashed;color:var(--muted)}
.aw-pic .ver{position:absolute;left:4px;bottom:4px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;border-radius:var(--r-pill);padding:0 6px;line-height:16px}
.aw-spots{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:2px}
.aw-spot{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#33475c;background:#eef2f6;border-radius:6px;padding:1px 8px;white-space:nowrap}
.aw-spot i{width:8px;height:8px;border-radius:50%;flex:none;background:#8a9bb0}
.m-emb{background:#7b4fd6!important}.m-scr{background:#2f6fd0!important}.m-dtf{background:#0f9488!important}.m-dtg{background:#d6457a!important}.m-heat{background:#e07a1f!important}.m-sub{background:#3c9a3c!important}
.aw-made{font-size:12px;font-weight:800;background:#fff0d6;color:var(--amber);border-radius:6px;padding:1px 6px;margin-left:4px;white-space:nowrap}
.aw-quote{border-left:3px solid #d4532b;margin:2px 0 0;padding:2px 0 2px 10px;font-size:13.5px;color:var(--ink);font-style:italic}
.aw-checks{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--muted)}
.aw-checks span:before{content:"✓ ";color:var(--green);font-weight:800}
.aw-checks span.w{color:var(--amber);font-weight:700}.aw-checks span.w:before{content:"! ";color:#e06b2d}
/* "Rights check first" (rights check, 28 Oct 2026): the letter link and the It's fine / Can't make it forms */
.aw-rdec{position:relative}.aw-rdec>summary{list-style:none;cursor:pointer}.aw-rdec>summary::-webkit-details-marker{display:none}
.qv-acts:has(.aw-rdec){flex-wrap:wrap;justify-content:flex-end}
.aw-letter{display:inline-block;margin-top:6px;font-size:13px;font-weight:700;color:var(--navy)}
.qv-menu.aw-rform{padding:12px;gap:10px;min-width:280px;max-width:320px;font-size:14px}
.qv-menu.aw-rform label{display:grid;gap:4px;font-weight:700;font-size:13px}
.qv-menu.aw-rform input[name=why]{min-height:44px;font-weight:400}
.qv-menu.aw-rform label.aw-rkeep{display:flex;gap:8px;align-items:center;font-weight:400}
.qv-menu.aw-rform p{margin:0;color:var(--muted)}
.qv-menu.aw-rform .btn{justify-content:center;text-align:center;min-height:44px}
.qv-menu.aw-rform .btn.navy{color:#fff}.qv-menu.aw-rform .btn.navy:hover{background:var(--navy)}
@media(max-width:640px){.qv-menu.aw-rform{position:fixed;left:12px;right:12px;top:auto;bottom:calc(76px + env(safe-area-inset-bottom));max-width:none;max-height:70vh;overflow:auto;z-index:60}}
.aw-due{font-size:13px;font-weight:800;color:var(--navy);white-space:nowrap;text-align:right;line-height:1.25;font-variant-numeric:tabular-nums}
.aw-due small{display:block;font-size:12px;font-weight:700;color:var(--muted)}
.aw-due.late,.aw-due.late small{color:var(--red)}.aw-due.soon,.aw-due.soon small{color:var(--amber)}
.aw-due.sm{font-size:12px}
.aw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:6px}
.aw-steps i{height:5px;border-radius:3px;background:var(--line)}.aw-steps i.on{background:#2f86e0}.aw-steps i.late{background:#e06b2d}
.aw .qv-track i.on{background:var(--green)}
.qv-menu a,.qv-menu form button{display:block;width:100%;border:0;background:none;font:inherit;font-size:14px;font-weight:700;color:var(--navy);text-align:left;padding:9px 10px;border-radius:7px;cursor:pointer;text-decoration:none}
.qv-menu a:hover,.qv-menu form button:hover{background:var(--soft)}

/* the proof beside the list */
.aw-scrim{position:fixed;inset:0;background:rgba(23,26,64,.35);z-index:60}
.aw-drawer{position:fixed;top:0;right:0;bottom:0;width:min(640px,100%);background:var(--surface);z-index:61;box-shadow:var(--shadow-float);display:flex;flex-direction:column;border-left:1px solid var(--line)}
.aw-drawer[hidden],.aw-scrim[hidden]{display:none}
body.aw-open{overflow:hidden}
.aw-loading{padding:24px;color:var(--muted)}
.aw-dh{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;position:relative;border-bottom:2px dashed var(--seam)}
.aw-dh-t{min-width:0;display:flex;flex-direction:column;gap:4px}
.aw-dh .row-wrap{gap:8px;align-items:center}
.aw-dh h2{font-size:19px;font-weight:800;color:var(--navy);line-height:1.2;margin:0}
.aw-dh .x{margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:var(--r-ctl);width:40px;height:40px;font-size:20px;cursor:pointer;color:var(--navy);flex:none}
.aw-db{overflow:auto;padding:16px 20px 20px;flex:1}
.aw-df{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line-2);background:var(--soft)}
.aw-df>form:first-child{flex:1 1 220px}
.aw-df .btn{min-height:42px}
.aw-df .btn.navy{width:100%;justify-content:center}
.aw-df .aw-up .btn.navy{width:auto}
.aw-up{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.aw-up input[type=file],.aw-up input[name=note],.aw-up input[name=reason]{flex:1 1 200px;min-width:0}
.aw-file-in{display:flex;flex-direction:column;gap:4px;flex:1 1 100%;font-size:13px;font-weight:700;color:var(--muted)}
.aw-file-in input[type=file]{flex:none;width:100%;height:auto;min-height:0;padding:6px;font-weight:500}
.aw-df{max-height:45vh;overflow:auto}
.aw-more{flex:1 1 220px}.aw-more>summary{list-style:none;cursor:pointer;width:100%}.aw-more>summary::-webkit-details-marker{display:none}
.aw-more[open]{flex-basis:100%}.aw-more .aw-up{margin-top:8px}
.aw-panel{display:flex;flex-direction:column;gap:16px}
.aw-panel>*{flex:none}
.aw-vbar{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap}
.aw-seg{display:inline-flex;flex-wrap:wrap;background:var(--soft);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px;gap:2px}
.aw-seg button{border:0;background:none;font:inherit;font-weight:800;font-size:13px;color:var(--muted);padding:6px 12px;border-radius:var(--r-pill);cursor:pointer}
.aw-seg button[aria-pressed="true"]{background:var(--navy);color:#fff}
.aw-view{display:grid;grid-template-columns:1fr;gap:10px}
.aw-view.two{grid-template-columns:1fr 1fr}
.aw-shot{position:relative;display:block;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:#fff}
.aw-shot img{display:block;width:100%;max-height:60vh;object-fit:contain;background:#fff}
.aw-shot b{position:absolute;left:8px;top:8px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:var(--r-pill);font-size:12px;padding:1px 9px;color:var(--navy)}
.aw-pdf{width:100%;height:60vh;border:1px solid var(--line-2);border-radius:10px}
.aw-file,.aw-empty{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:20px;border:1px dashed var(--line);border-radius:10px;background:var(--soft)}
.aw-empty .icon{width:28px;height:28px;color:var(--muted)}
.aw-note{font-size:12.5px;color:var(--muted);margin:0}
.aw-msg{background:#fff3ee;border:1px solid #f3c3b6;border-radius:10px;padding:10px 14px;font-size:14px}
.aw-msg .who{font-size:12.5px;color:var(--muted);display:flex;gap:6px 8px;flex-wrap:wrap;align-items:center}
.aw-msg .who b{color:var(--red)}
.aw-msg p{margin:4px 0 0}
.aw-box{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.aw-box h3{font-size:14px;font-weight:800;color:var(--navy);padding:10px 14px;background:var(--soft);border-bottom:1px solid var(--line-2);margin:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.aw-box h3 .r{margin-left:auto;font-size:12px;font-weight:700;color:var(--muted)}
.aw-specw{overflow-x:auto}
.aw-spec{width:100%;border-collapse:collapse;font-size:13.5px}
.aw-spec th{font-size:12px;color:var(--muted);font-weight:700;text-align:left;padding:8px 14px 4px}
.aw-spec td{padding:7px 14px;border-top:1px solid var(--line-2);vertical-align:top}
.aw-spec td.n{font-variant-numeric:tabular-nums;white-space:nowrap}
.aw-bar{display:block;height:5px;border-radius:3px;background:var(--line-2);margin-top:4px;width:90px}.aw-bar i{display:block;height:100%;border-radius:3px;background:var(--green)}.aw-bar i.over{background:#d4532b}
.aw-swatch{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.18);margin-right:3px;vertical-align:-2px}
.aw-cl{list-style:none;margin:0;padding:6px 0}
.aw-cl li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:6px 14px;font-size:13.5px}
.aw-cl li:before{content:"✓";color:var(--green);font-weight:800}
.aw-cl li.w:before{content:"!";color:#fff;background:#e06b2d;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:12px}
.aw-cl li.me:before{content:"";width:16px;height:16px;border:2px solid #9fb2c6;border-radius:4px}
.aw-cl li small{display:block;color:var(--muted);font-size:12.5px}
.aw-cl li.w b{color:var(--amber)}
.aw-sizes{display:flex;flex-wrap:wrap;gap:4px;padding:10px 14px}
.aw-sizes span{border:1px solid var(--line);border-radius:6px;padding:1px 8px;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}
.aw-tl{list-style:none;margin:0;padding:8px 14px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.aw-tl li{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px}.aw-tl li>span:first-child{color:var(--muted);font-weight:700}
@media (min-width:901px) and (max-width:1280px){
  .qv-item.aw-row{grid-template-columns:76px minmax(0,1fr)}
  .qv-item.aw-row .qv-right{grid-column:2;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:14px;margin-top:4px}
  .qv-item.aw-row .aw-due{text-align:left}
}
@media (max-width:640px){
  .qv-item.aw-row{grid-template-columns:60px minmax(0,1fr)}
  .aw-pic{width:60px;height:60px}.aw-pic.sm{width:44px;height:44px}
  .qv-item.aw-row .aw-due{grid-column:2;grid-row:auto;text-align:left;display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}
  .qv-item.aw-row .aw-due small{display:inline}
  .qv-item.aw-row .qv-acts{order:2;grid-row:auto}
  .aw-dh{padding:12px 14px}.aw-db{padding:14px}.aw-df{padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))}
  .aw-drawer{width:100%;border-left:0}
  .aw-tl li{grid-template-columns:70px minmax(0,1fr)}
}

/* Purchasing redesign part 2 (23 Oct 2026): On order tracks, Received invoices and credits, Goods in counting */
.pu-po{display:grid;gap:12px}
.pu-po.late{border-left:4px solid #d2573a}.pu-po.today{border-left:4px solid var(--green)}.pu-po.wait{border-left:4px solid #f5ad2f}
.pu-po h3 a{color:inherit;text-decoration:none}
.pu-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:860px}
.pu-track span{position:relative;font-size:12px;font-weight:700;color:var(--muted);padding-top:18px;text-align:center}
.pu-track span:before{content:"";position:absolute;top:4px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#c5d3e0;z-index:1}
.pu-track span:after{content:"";position:absolute;top:8px;left:-50%;width:100%;height:2px;background:#dde6ee}
.pu-track span:first-child:after{display:none}
.pu-track span.done{color:var(--green-ink)}.pu-track span.done:before,.pu-track span.done:after{background:var(--green)}
.pu-track span.now{color:var(--navy)}.pu-track span.now:before{background:#f5ad2f;box-shadow:0 0 0 3px #fde9c4}
.pu-track span.lt{color:var(--red)}.pu-track span.lt:before{background:#d2573a;box-shadow:0 0 0 3px #f8d3c8}
.pu-jobs{display:flex;flex-wrap:wrap;gap:6px}
.pu-job{border:1px solid var(--line);border-radius:8px;padding:3px 8px;font-size:13px;color:var(--ink);text-decoration:none;background:var(--soft)}
.pu-job.bad{background:var(--red-soft);border-color:#f2c4b7;color:var(--red)}
.pu-more{display:inline-block}.pu-more>summary{list-style:none;cursor:pointer}.pu-more>summary::-webkit-details-marker{display:none}
.pu-more[open]{display:block;flex-basis:100%}
.pu-tform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;margin-top:10px}
.pu-inv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.pu-inv h3{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pu-inv h3 a{color:inherit;text-decoration:none}
.pu-rtable{overflow-x:auto}
.gi-scan{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;background:var(--navy);color:#fff;border-color:var(--navy)}
.gi-scan label{color:#fff;font-size:16px}.gi-scan label .small{color:#cddbea;font-weight:400}
.gi-scan .pu-n{width:52px;height:52px;border-radius:12px;background:#f5ad2f;color:#3a2400;display:flex;align-items:center;justify-content:center}
.gi-scan .pu-n .icon{width:28px;height:28px}
.gi-scanrow{display:flex;gap:8px}.gi-scanrow input{flex:1;min-width:0}
.gi-video{width:100%;max-width:420px;border-radius:10px}
.goods-in{max-width:none}
.gi-box{display:grid;gap:10px}.gi-box.is-late{border-left:4px solid #d2573a}.gi-box.hit{box-shadow:0 0 0 3px #f5ad2f}
.gi-boxhead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;cursor:pointer;list-style:none}.gi-boxhead::-webkit-details-marker{display:none}
.gi-boxhead:after{content:"⌄";font-weight:800;color:var(--muted)}.gi-box[open]>.gi-boxhead:after{content:"⌃"}
.gi-garment{padding-top:8px;color:var(--navy)}
.gi-size{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:8px 0;border-top:1px solid var(--line-2)}
.gi-size.done{color:var(--muted)}
.gi-why{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.gi-why select{width:auto;height:38px}
.gi-why[hidden]{display:none}
.pu-step{display:inline-grid;grid-template-columns:44px 58px 44px;border:1px solid #c5d3e0;border-radius:10px;overflow:hidden;height:44px;flex:none}
.pu-step button{border:0;background:var(--soft);font:inherit;font-size:20px;font-weight:800;color:var(--navy);cursor:pointer;touch-action:manipulation}
.pu-step input,.pu-step input:not([type]){height:100%;border:0;border-left:1px solid #c5d3e0;border-right:1px solid #c5d3e0;border-radius:0;text-align:center;font-weight:800;font-size:17px;padding:0;color:var(--green-ink);font-variant-numeric:tabular-nums}
.pu-step input.short{color:var(--red)}
.gi-save{background:var(--navy);color:#fff;border-color:var(--navy);width:100%}
.gi-then{background:var(--green-soft);border:1px dashed #9fd1b4;display:grid;gap:8px}
.gi-pick{display:grid;gap:2px;padding-bottom:6px}
@media (max-width:700px){
  .pu-track span{font-size:12px}
  .pu-po .row-wrap>form,.pu-po .row-wrap>a{flex:1 1 auto}.pu-po .row-wrap .btn{width:100%}
  .pu-tform{grid-template-columns:minmax(0,1fr)}
  .pu-inv{grid-template-columns:minmax(0,1fr)}
  .pu-rtable table.orders th:nth-child(4),.pu-rtable table.orders td:nth-child(4),.pu-rtable table.orders th:nth-child(6),.pu-rtable table.orders td:nth-child(6){display:none}
  .pu-rtable table.orders td:first-child{white-space:nowrap}
  .pu-rtable table.orders th:nth-child(5),.pu-rtable table.orders td:nth-child(5){display:table-cell}
  .gi-scan{grid-template-columns:minmax(0,1fr)}.gi-scan .pu-n{display:none}
}

/* Purchasing redesign part 3 (23 Oct 2026): Our shelves (plain stock), Ink and supplies from the plan */
.ps-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}
.ps-bar{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) auto;gap:12px;align-items:center;font-size:14px}
.ps-bar b{font-variant-numeric:tabular-nums}
.ps-bar .pu-bar i{background:#4f6fa8}
.ps-plan{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:6px 0;border-top:1px solid var(--line-2);font-size:14px}
.ps-plan:first-of-type{border-top:0}
.ps-sizes .sz{display:inline-block;margin:0 4px 3px 0;padding:1px 6px;border-radius:6px;background:var(--soft);font-size:12px;font-weight:700;white-space:nowrap}
.ps-sizes .sz.zero{background:var(--red-soft);color:var(--red)}
@media (max-width:700px){
  .ps-two{grid-template-columns:minmax(0,1fr)}
  .ps-bar{grid-template-columns:minmax(0,1fr) auto}.ps-bar .pu-bar{grid-column:1/-1;order:3}
  .ps-plan{flex-wrap:wrap}
}
.sup-group{border-top:1px solid var(--line-2)}
.sup-group .pu-shelf{padding:10px 22px}
.sup-ghead{padding:12px 22px 0;display:flex;gap:10px;align-items:baseline}
.sup-dept h3{font-size:17px}
.sup-days{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;max-width:420px;align-items:end}
.sup-days span{display:grid;justify-items:center;gap:2px;font-size:12px;color:var(--muted);font-weight:700}
.sup-days i{display:block;justify-self:stretch;background:#cfdcec;border-radius:3px 3px 0 0}
.sup-item{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) auto;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--line-2)}
.sup-item .sup-acts{justify-content:flex-end}
@media (max-width:900px){.sup-item{grid-template-columns:minmax(0,1fr)}.sup-item .sup-acts{justify-content:flex-start}}
@media (max-width:700px){.sup-group .pu-shelf,.sup-ghead{padding-left:16px;padding-right:16px}}

/* ---- Ops refresh part 1 (23 Oct 2026): one top bar on every page, the website's typeface for titles and figures ---- */
:root{--brand:"Schibsted Grotesk","Plus Jakarta Sans",system-ui,sans-serif}
.top-title,.qv-ph h2,.strip .kpi b,.qv-amt,.hm-hello h2{font-family:var(--brand);letter-spacing:-.02em}
.strip .kpi b{font-weight:800;font-variant-numeric:normal}
.top{gap:12px}
.top-title{flex:0 1 auto;margin-right:8px}
.top-find{flex:1 1 auto;max-width:520px;margin:0 0 0 auto;position:relative}
.top-find input{width:100%;min-height:42px;border:1px solid var(--line);background:var(--soft);border-radius:var(--r-ctl);padding:0 44px 0 40px;font:inherit;font-size:14.5px;color:var(--ink)}
.top-find input:focus{background:#fff;border-color:#a9bcd0;outline:2px solid var(--focus);outline-offset:1px}
.top-find>.icon{position:absolute;left:13px;top:12px;color:var(--muted);pointer-events:none}
.top-find kbd{position:absolute;right:10px;top:10px;font:inherit;font-size:12px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:0 6px;background:#fff;pointer-events:none}
.top-find input:focus~kbd{display:none}
.top-findbtn{display:none}
.top-new,.top-me{position:relative}
.top-new>summary,.top-me>summary{list-style:none}
.top-new>summary::-webkit-details-marker,.top-me>summary::-webkit-details-marker{display:none}
.top-new>summary{gap:6px}
.top-pop{position:absolute;right:0;top:50px;z-index:40;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-float);min-width:260px;padding:6px;display:flex;flex-direction:column}
.top-pop form{margin:0}
.top-pop a,.top-pop button{display:flex;width:100%;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--navy);font:inherit;font-weight:700;font-size:14px;border:0;background:none;text-align:left;cursor:pointer}
.top-pop a:hover,.top-pop button:hover,.top-pop a:focus-visible,.top-pop button:focus-visible{background:var(--soft);color:var(--navy)}
.top-pop small{display:block;font-weight:600;color:var(--muted);font-size:12.5px}
.top-pop .icon{margin-top:2px;color:var(--muted);flex:none}
.top-pop hr{border:0;border-top:1px solid var(--line-2);margin:4px 0}
.top-pop .h{font-size:12px;color:var(--muted);padding:6px 12px 2px;font-weight:700}
.top-me>summary{display:flex;align-items:center;gap:10px;cursor:pointer;border-radius:var(--r-ctl);padding:3px 8px 3px 3px}
.top-me>summary:hover,.top-me[open]>summary{background:var(--soft)}
.top-me .top-pop{min-width:220px}
@media (max-width:1100px){
  .top-find{display:none}
  .top-findbtn{display:inline-flex}
  .top-title{flex:1}
}
@media (max-width:640px){
  .top{gap:8px}
  .top-me .who-text{display:none}
  .top-me>summary{padding:0}
  .top-new>summary{padding:0 12px}
  .top-new>summary span{display:none}
  .top-pop{position:fixed;left:12px;right:12px;top:64px;min-width:0}
}

/* ---- Ops refresh part 1: Home in the Quotes row style (23 Oct 2026). No dark banner, one strip of numbers, rows, framed side panels. ---- */
.hm{gap:18px}
.hm-head{background:none;color:var(--ink);border-radius:0;padding:0;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hm-hello h2{color:var(--navy);font-size:26px}
.hm-hello p{color:var(--muted)}
.hm-head .hm-btns{align-items:center}
.hm-head .hm-btns .btn{min-height:38px;padding:0 14px;font-size:14px}
.hm-live{color:var(--green-ink);background:var(--green-soft);font-weight:700}
.hm-live i{background:var(--green)}
.hm-strip .kpi{gap:3px;min-width:0}
.hm-strip .hm-spark{height:28px;margin-top:2px}
.hm-strip .hm-meter{height:8px;margin:6px 0 2px}
.hm-strip small{font-size:12.5px}
.hm-desk.one{grid-template-columns:minmax(0,1fr)}
.hm-desk .hm-col{gap:20px}
.hm-pad{margin:12px 18px}
.hm-it{position:relative}
.hm-it .qv-what{white-space:normal}
.hm-tiptext{margin:0;font-size:15px;color:var(--ink);line-height:1.45}
.hm-tiptext b{color:var(--navy)}
.hm-wrapacts{flex-wrap:wrap;justify-content:flex-end}
.qv-pic.ic .icon{opacity:.8;width:24px;height:24px}
.qv-pic.ic.red{background:var(--red-soft);color:var(--red);border-color:#f6cfc2}
.qv-pic.ic.amb{background:var(--amber-soft);color:var(--amber);border-color:#f6dfb5}
.qv-pic.ic.blue{background:#e5effb;color:#1d5b9e;border-color:#cfe0f5}
.qv-pic.ic.grn{background:var(--green-soft);color:var(--green-ink);border-color:#cbe9d8}
.hm-it .hm-drawer{grid-column:1/-1;margin:2px 0 0}
.hm-it.hm-sending{display:block}
.hm-it .hm-new{margin-left:2px}
.hm-qp .qv-ph .sum a{font-size:13px;font-weight:700}
.qv-ph .qv-dots>summary{min-height:32px;width:32px}
.qv-ph .sum+.qv-dots,.qv-ph h2+.qv-dots{margin-left:4px}
.hm-pb{padding:14px 18px 16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.hm-more>summary{border-top:0}
@media (max-width:900px){
  .qv-desk.tabbed .hm-col{display:contents}
  .hm-desk .qv-tabs{margin-bottom:-6px}
}
@media (max-width:640px){
  .hm-hello h2{font-size:21px}
  .hm-head .hm-btns{width:100%}
  .hm-pb{padding:12px 14px 14px}
  .hm-pad{margin:10px 14px}
  .hm-it .qv-acts{grid-column:2/-1}
}

/* ---- Ops refresh part 2 (23 Oct 2026): Orders, Inbox and To-do in the shared row style ---- */
.o2-tag{font-size:12px;font-weight:800;border-radius:6px;padding:1px 7px;background:#eef2f6;color:#33475c;white-space:nowrap}
.o2-tag.web{background:#e3ecfb;color:#163f86}.o2-tag.school{background:#fff0d6;color:#7a3d00}.o2-tag.group{background:#f3e8ff;color:#5b2a8a}.o2-tag.quote{background:#e2f4ea;color:#115a33}.o2-tag.staff{background:#fde6df;color:#8a2a12}
.o2-pay{font-size:12px;font-weight:800;border-radius:var(--r-pill);padding:1px 8px;background:var(--green-soft);color:var(--green-ink);white-space:nowrap}
.o2-pay.no{background:var(--amber-soft);color:var(--amber)}.o2-pay.acc{background:#e3ecfb;color:#163f86}
.qv-pic.ini{background:#e8edf7;color:var(--navy);font-weight:800;font-family:var(--brand);font-size:18px;border-color:#dbe3f1}
.qv-pic img{border-radius:6px}
.ob-prog{display:flex;align-items:center;gap:10px;margin-top:4px}
.ob-prog .ob-bars{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;width:150px;flex:none}
.ob-prog .ob-bars i{height:5px;border-radius:3px;background:var(--line)}
.ob-prog .ob-bars i.d{background:var(--green)}.ob-prog .ob-bars i.c{background:#f5ad2f}
.ob-prog .ob-stage{font-size:12.5px;font-weight:700;color:var(--muted)}
.ob-row.is-late{box-shadow:inset 3px 0 0 #d4532b}
.qv-sub.ob-late{color:var(--red)}
.ob-showing{margin:10px 18px 0;font-size:13.5px;color:var(--muted)}
.ob-empty{margin:14px 18px}
.ob-none{margin:12px 16px}
.ob-tc{font-size:12px;opacity:.75}
.qv-meta{display:flex;gap:4px 12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:2px}
.qv-meta .warn{color:var(--amber);font-weight:700}
.ob-filter .qv-menu{min-width:280px;gap:4px;padding:10px 12px}
.ob-fmenu label{font-size:12.5px;font-weight:700;color:var(--muted);margin-top:4px}
.ob-fmenu select,.ob-fmenu input{width:100%;min-height:40px}
.ob-fdates{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ob-fdates span{display:flex;flex-direction:column;min-width:0}
.ob-fbtns{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}
@media (max-width:640px){
  .qv-bar .qv-seg{max-width:100%;overflow-x:auto;scrollbar-width:none;width:auto}.qv-bar .qv-seg::-webkit-scrollbar{display:none}
  .qv-bar .qv-seg a{flex:none}
  .ob-prog .ob-bars{width:110px}
}
.ibx-note{margin:0;flex:1 1 300px}
.ibx{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:20px;align-items:start}
.ibx-row.on{background:#eef4fb;box-shadow:inset 3px 0 0 var(--navy)}
.ibx-row .prev{display:block;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibx-row .qv-why{font-size:12.5px}
.ibx-empty{margin:14px 16px}
.ibx-open{display:flex;flex-direction:column;gap:14px;min-width:0}
.ibx-card .qv-item{border-top:0}
.ibx-pick{padding:28px 20px;text-align:center}
.ibx-back{display:none;align-self:flex-start}
#messages .hm-sug{display:flex;gap:6px;flex-wrap:wrap}
@media (max-width:900px){.ibx{grid-template-columns:minmax(0,1fr)}.ibx.has-open .ibx-list{display:none}.ibx-back{display:inline-flex}}
.todo-grid{grid-template-columns:minmax(0,1fr) 380px;gap:20px}
.td-item{padding:14px 18px;border-top:1px solid var(--line-2)}
.qv-ph+.td-item,.td-late+.td-item{border-top:0}
.td-item .ask{border-top:0;padding:0}
.td-late{margin:12px 18px 0}
.td-empty{padding:22px 18px}
.td-empty h3{font-size:16px;margin:0 0 4px}
.td-ask{padding-bottom:16px}
.td-ask>p,.td-ask>form{margin:12px 18px 0}
@media (max-width:1100px){.todo-grid{grid-template-columns:minmax(0,1fr) 330px}}
@media (max-width:900px){.todo-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.td-item{padding:12px 14px}.td-ask>p,.td-ask>form{margin:10px 14px 0}}
.ob-filter>summary{width:auto;padding:0 14px}
.qv-amt{font-variant-numeric:normal}
.strip a.kpi.sel small{color:#c3cde6}
.ob-sub{margin-top:0}
/* ---- Ops refresh part 3 (23 Oct 2026): Customers and the customer page ---- */
.cu-head .qv-item{border-top:0}
.cu-head .qv-pic{width:64px;height:64px;font-size:22px}
.qv-name .cu-name{font-family:var(--brand);font-weight:800;font-size:22px;letter-spacing:-.02em}
.cu-h{font-size:16px;font-weight:800;font-family:var(--brand);letter-spacing:-.01em;margin:0}
.cu-side .hm-pb{gap:8px}
@media (max-width:640px){.cu-head .qv-pic{width:48px;height:48px;font-size:17px}.qv-name .cu-name{font-size:19px}}
/* ---- Ops refresh part 4 (23 Oct 2026): Money overview, one tab row ---- */
.mn-say{margin:0;font-size:16px;color:var(--ink);max-width:80ch}
.mn-say b{color:var(--navy)}
.qv-foot.mn-health{justify-content:flex-start}
.mn-age{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:14px}
.mn-age b{color:var(--navy);font-variant-numeric:tabular-nums}
.mn-agebar{height:8px;border-radius:4px;background:var(--line-2);position:relative;overflow:hidden}
.mn-agebar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--green)}
.mn-agebar i.amb{background:#f5ad2f}.mn-agebar i.red{background:#d4532b}
@media (max-width:640px){.mn-age{grid-template-columns:120px minmax(0,1fr) auto;font-size:13px}}
.cw-sync{flex:1 1 0;min-width:120px;line-height:1.35}

/* A sent quote's overview (quotes build part 2, 25 Oct 2026): where it is, what to do next, what the customer sees */
.qo-strip{margin:14px 0 18px}
.qo-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.qo-grid>*{min-width:0}
@media (max-width:1100px){.qo-grid{grid-template-columns:minmax(0,1fr)}}
.qo-next{border-left:4px solid var(--line)}
.qo-next.tone-hot,.qo-next.tone-red{border-left-color:#e06b2d}.qo-next.tone-amber{border-left-color:#f5ad2f}.qo-next.tone-blue{border-left-color:#2f86e0}
.qo-next h3{font-size:18px}
.qo-why{margin:0;color:var(--muted);max-width:68ch}
.qo-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;margin-top:6px}
.qo-acts form{margin:0}
.qo-acts .btn .icon{width:16px;height:16px}
.qo-spoke>summary,.qo-if details>summary{list-style:none;cursor:pointer}
.qo-spoke>summary::-webkit-details-marker,.qo-if details>summary::-webkit-details-marker{display:none}
.qo-spoke[open]{flex:1 1 100%}
.qo-note{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-width:520px}
.qo-auto{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}
.linkbtn{border:0;background:none;padding:0;font:inherit;color:var(--link);text-decoration:underline;cursor:pointer}
.qo-tl{list-style:none;margin:0;padding:0}
.qo-tl li{display:grid;grid-template-columns:128px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid var(--line-2);font-size:14px}
.qo-tl li:first-child{border-top:0}
.qo-tl time{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.qo-tl li.fut{color:var(--muted)}
@media (max-width:600px){.qo-tl li{grid-template-columns:96px minmax(0,1fr)}}
.qo-line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 0;border-top:1px solid var(--line-2)}
.qo-line:first-child{border-top:0}
.qo-line-t{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:14px}
.qo-line-t b{color:var(--navy);font-size:15px}
.qo-amt{font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}
.qo-sum{border-top:1px solid var(--line-2);padding-top:8px;gap:12px}
.qo-phone{width:220px;height:440px;margin:4px auto 0;border:8px solid var(--navy-2);border-radius:30px;overflow:hidden;background:#fff;position:relative}
.qo-phone iframe{width:390px;height:780px;border:0;transform:scale(.523);transform-origin:0 0;position:absolute;left:0;top:0;pointer-events:none}
.qo-link{display:flex;gap:6px;align-items:center}
.qo-link code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12.5px}
.qo-pdf{display:flex;gap:10px;align-items:center;padding-top:10px;border-top:1px solid var(--line-2);text-decoration:none;color:var(--ink)}
.qo-pdf .icon{width:30px;height:30px;color:var(--navy);flex:none}
.qo-pdf span{display:flex;flex-direction:column;min-width:0}.qo-pdf b{color:var(--navy);font-size:14px}.qo-pdf small{color:var(--muted);font-size:12.5px}
.qo-if>form,.qo-if details>summary{display:flex}
.qo-if>form>.btn,.qo-if details>summary.btn{flex:1;justify-content:center}
.qo-snooze{gap:6px;align-items:center;flex-wrap:wrap}
.qo-snooze select{flex:1;min-width:0;width:auto}
.qo-lost{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.qo-lost form{margin:0}

/* Size boxes that wrap (quotes build part 3, 25 Oct 2026): every size in view on a phone, a tablet and a computer,
   each box with its size above it, the colour's total at the end; no sideways scrolling */
.qb-scroll{overflow:visible}
.qb-grid,.qb-grid tbody,.qb-grid tfoot{display:block;width:100%}
.qb-grid thead{display:none}
.qb-grid tr{display:flex;flex-wrap:wrap;gap:8px 6px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line-2)}
.qb-grid tbody tr:first-child{border-top:0}
.qb-grid td{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0;border:0;min-width:0}
.qb-grid [hidden]{display:none}
.qb-grid td.qb-col{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px 10px;white-space:normal;font-weight:700;color:var(--navy)}
.qb-grid td.qb-col>*{margin:0}
.qb-szl{font-size:12px;font-weight:700;color:var(--muted);line-height:1.2;white-space:nowrap}
.qb-grid .qb-cell{width:52px;min-width:52px;border-color:#c5d3e0}
.qb-grid td.has .qb-cell{border-color:var(--navy);background:#eef3fa}
.qb-grid td.has .qb-szl{color:var(--navy)}
.qb-grid td.qb-tot{margin-left:4px}
.qb-grid .qb-total{width:72px;min-width:72px;background:var(--navy);border-color:var(--navy);color:#fff}
.qb-grid .qb-total::placeholder{color:rgba(255,255,255,.6)}
.qb-grid tfoot tr{border-top:1px dashed var(--line);align-items:flex-end}
.qb-grid tfoot td{min-width:52px}
.qb-grid tfoot td b{font-size:15px;color:var(--navy);line-height:42px}
.qb-glabel{display:flex;gap:8px;align-items:center;margin:6px 0 2px;font-size:14px;color:var(--navy)}
/* Send step (quotes build part 4, 25 Oct 2026): their real page and the PDF, the ready check, one way to send */
.qsv-grid{display:grid;grid-template-columns:236px minmax(0,1fr);gap:18px;align-items:start}
.qsv-grid>*{min-width:0}
.qsv .qo-pdf{border-top:0;padding-top:0}
.qsv .qb-ready{border:0;padding:0;box-shadow:none;background:none}
@media (max-width:600px){.qsv-grid{grid-template-columns:minmax(0,1fr)}}
.qway-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.qway-opt{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:var(--surface)}
.qway-opt span{display:flex;flex-direction:column;gap:2px;min-width:0}.qway-opt b{color:var(--navy)}.qway-opt small{color:var(--muted);font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.qway-opt input{margin-top:3px;flex:none}
.qway-opt:has(input:checked){border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green)}
.qway-opt:has(input:disabled){opacity:.55;cursor:not-allowed}
@media (max-width:760px){.qway-opts{grid-template-columns:minmax(0,1fr)}}
.qway-go{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:4px}
.qway-go [data-send]{margin-left:auto}
@media (max-width:600px){.qway-go [data-send]{flex:1 1 100%;order:-1}}
.qo-now{border-left:4px solid #f5ad2f;margin-bottom:18px}
.qo-now h3{font-size:18px}
.qtpl>summary{list-style:none;display:inline-flex}.qtpl>summary::-webkit-details-marker{display:none}
/* Quotes list (quotes build part 5, 25 Oct 2026): quote numbers and rep initials stay on one line */
.qv-name .no,.qv-mini .t>span>.small.muted{white-space:nowrap}
.qv-rep{white-space:nowrap;margin-left:2px}
/* UX check (27 Oct 2026): small rows wrap (a long alert made the To-do page slide sideways), whole page names on phones,
   no iPhone zoom when typing, a fade where a tab row carries on, thumb-sized menu rows on touch screens */
.qv-mini .t>.small.muted{overflow-wrap:anywhere}
@media (max-width:600px){.top{gap:4px}.top-title{font-size:17px;letter-spacing:-.01em}}
@media (hover:none) and (pointer:coarse){
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea{font-size:max(16px,1em)!important}
  .nav a,.nav .soon{min-height:44px}
}
.sect-tabs.more,.qv-seg.more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
.floor-user .link{color:#9fc8f0}

/* Studio deep check part 4 (27 Oct 2026): the top bar's buttons are at least 44 px, an easy fingertip on a phone */
.top .menu,.top .bell>summary{width:44px;height:44px}
.top-new>summary,.top-me>summary{min-height:44px;min-width:44px}

/* A share for the club (28 Oct 2026): bank boxes on Details, the share card on the shop's page, Owed to shops on Money */
.sh-bank{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;padding-left:24px}
.sh-bank input{width:100%}
.sh-rows{display:grid;margin-top:10px;border-top:1px solid var(--line-2)}
.sh-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--line-2);align-items:start}
.sh-row>span:last-child{text-align:right;display:grid;justify-items:end;gap:4px}
.sh-row .pill{margin:0;white-space:nowrap}
.sh-paid{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.sh-paid input{width:150px}
.sh-paid[hidden]{display:none}
.sh-use{display:grid;gap:8px;padding:12px;background:var(--soft);border-radius:10px;margin-top:12px}
.sh-use select{width:100%}
.sh-use .row-wrap{gap:8px}
@media (max-width:600px){.sh-row{grid-template-columns:1fr}.sh-row>span:last-child{text-align:left;justify-items:start}.sh-paid{justify-content:flex-start}.sh-paid input{width:100%}.sh-bank{padding-left:0}}
a.mn-age{color:inherit;text-decoration:none}a.mn-age:hover span:first-child{text-decoration:underline}
/* Feature guide count on your name and in its menu (29 Oct 2026) */
.top-me>summary{position:relative}
.fg-dot{min-width:18px;height:18px;border-radius:9px;background:#f5ad2f;color:#171a40;font-style:normal;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;line-height:1}
.fg-dot[hidden]{display:none}
.top-dot{position:absolute;left:24px;bottom:-6px;box-shadow:0 0 0 2px #fff}
.top-guide{display:flex!important;align-items:center;justify-content:space-between;gap:10px}
.qb-studio{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.qb-cpics{display:flex;gap:8px;flex:0 1 auto;max-width:100%;min-width:0;flex-wrap:wrap}.qb-cpics figure{margin:0;display:grid;gap:2px;justify-items:center}.qb-cpics .qb-mockimg{width:84px;height:84px}.qb-studio>.stack{flex:1 1 220px;min-width:0}

/* Orders: type chips and what came in today (3 Nov 2026) */
.ob-types{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px}
.ob-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);font-weight:700;font-size:13.5px;text-decoration:none;white-space:nowrap}
.ob-chip:hover{border-color:var(--navy)}
.ob-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.ob-chip .n{font-size:12px;font-weight:800;opacity:.75}
.ob-today{margin-left:auto;font-size:13px;color:var(--muted);font-weight:600}
@media (max-width:640px){.ob-types{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 12px;padding:0 16px;scrollbar-width:none}.ob-types::-webkit-scrollbar{display:none}.ob-today{display:none}}

/* Production → Planner: Coming up, the next 4 weeks (3 Nov 2026) */
.cu{margin:0 0 16px;display:grid;gap:12px}
.cu-grid{display:grid;grid-template-columns:minmax(120px,1.2fr) repeat(var(--n),minmax(0,1fr));gap:6px;align-items:stretch}
.cu-h{font-size:12px;color:var(--muted);font-weight:600;display:flex;flex-direction:column}.cu-h b{color:var(--ink);font-size:14px}
.cu-dept{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.cu-cell{display:grid;gap:4px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--soft);font-size:13px}
.cu-cell b{font-size:15px}.cu-cell small{color:var(--muted);font-size:12px}
.cu-cell.tone-warn{background:var(--amber-soft)}.cu-cell.tone-bad{background:#fde8e3;border-color:#f3b9a8}.cu-cell.tone-none{opacity:.55}
.cu-bar{display:flex;height:6px;border-radius:99px;background:var(--line-2);overflow:hidden}.cu-bar .b{background:var(--navy)}.cu-bar .p{background:repeating-linear-gradient(45deg,#f5ad2f 0 4px,#fbd58e 4px 8px)}
.cu-over{margin:0}.cu-list summary{cursor:pointer;font-weight:700;font-size:14px}.cu-list ul{margin:8px 0 0;padding-left:18px;display:grid;gap:4px}
@media (max-width:640px){.cu-grid{grid-template-columns:90px repeat(var(--n),minmax(64px,1fr));overflow-x:auto}.cu-cell small{display:none}}
/* Spread the school season (3 Nov 2026): the weeks around the suggested closing day */
.sd-weeks{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.sd-wk{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}
.sd-wk b{color:var(--navy);font-size:13.5px}.sd-wk small{color:var(--muted);font-size:12px}
.sd-wk em{font-style:normal;font-size:12px;font-weight:800;background:var(--line-2);color:var(--navy);border-radius:6px;padding:1px 6px;align-self:flex-start}
.sd-wk em.g{background:var(--green-soft);color:var(--green-ink)}
.sd-bar{height:8px;border-radius:4px;background:var(--line-2);overflow:hidden}.sd-bar i{display:block;height:100%;background:var(--green)}
.sd-wk.mid .sd-bar i{background:#f5ad2f}.sd-wk.hi .sd-bar i{background:#d4532b}.sd-wk.hi{border-color:#f0b9a8}.sd-wk.pick{border:2px solid var(--green)}
/* Threads and inks on the job page (3 Nov 2026) */
.jc-card .jc-ok{font-size:13px;font-weight:700;color:var(--green-ink)}
.jc-card .jc-todo{font-size:12px;font-weight:800;border-radius:var(--r-pill);padding:2px 10px;background:#fff0d6;color:#7a3d00}
.jc-from{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.jc-from p{margin:0;font-size:13.5px;color:var(--muted)}.jc-from b{color:var(--navy)}
.jc-rows{display:grid}
.jc-row{display:grid;grid-template-columns:72px 28px minmax(0,1fr) minmax(0,140px);gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line-2)}
.jc-row input{width:100%;min-width:0}
.jc-n{font-size:13px;font-weight:800;color:var(--muted)}
.jc-dot{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(15,31,51,.18)}
@media (max-width:620px){.jc-row{grid-template-columns:64px 26px minmax(0,1fr)}.jc-row .jc-code,.jc-row.ro .muted{grid-column:3}}
