/* RB Soles unified theme (tokens from faaackyouboth.com theme.css + rbsoles-tracking _buyer_style.css).
   Loaded after style.css; changes look only. Phone-first: tap targets kept ≥44px, AA contrast on #0a0a0a/#141414. */
:root{--bg:#0a0a0a;--card:#141414;--card2:#1a1a1a;--line:#262626;--line2:#333;--ink:#fafafa;--mut:#a1a1a1;
--acc:#155dfc;--acch:#1447e6;--accs:#7aa2ff;--grn:#22c55e;--grns:#4ade80;--amb:#f59e0b;--ambs:#fbbf24;--red:#ef4444;--reds:#f87171;--vio:#a78bfa;
--tg:rgba(34,197,94,.13);--tr:rgba(239,68,68,.14);--ta:rgba(245,158,11,.14);--tb:rgba(21,93,252,.14);
--mono:"Geist Mono",ui-monospace,Menlo,monospace;--serif:"Playfair Display",Georgia,serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color-scheme:dark}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:var(--accs)}
/* top bar + wordmark */
header#top{background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line);min-height:56px;padding:.5rem .9rem;gap:.7rem}
.logo{font-family:var(--mono);font-weight:700;font-size:14px;letter-spacing:.2em;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.ldot{width:7px;height:7px;border-radius:50%;background:var(--acc);display:inline-block}
.tagl{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
#wh{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--mut);opacity:1}
.sync{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em}.sync.ok{color:var(--grns)}.sync.off{color:var(--ambs)}
.langs button{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;background:transparent;border:1px solid var(--line2);color:var(--mut);min-height:34px;min-width:38px;border-radius:8px}
.langs button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.hdrbtn{background:var(--card2);color:var(--ink);border:1px solid var(--line2)}
/* type */
h3{font-family:var(--mono);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);line-height:1.3}
h2{font-family:var(--serif);font-weight:700;letter-spacing:-.01em}
.card>h3:first-child,.palest h3{color:var(--ink)}
.muted,.tlt,.row .exp,.row.hdr,.sp.hdr,.tbl th,.dayaxis,.daysum,.ptxt{color:var(--mut)}
.row .exp i,.cnt i,.sp small{color:#8a8a8a}.daysum b{color:var(--ink)}
code,pre{background:var(--card2);color:var(--ink);font-family:var(--mono)}
.sum b,.row .sz,.lpairs,input.q,.estt td,.tbl td,.badge,.whl,.pres span{font-variant-numeric:tabular-nums}
.sum b,.row .sz,.estt td{font-family:var(--mono)}
/* surfaces */
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.sum div{background:var(--card2);border:1px solid var(--line);border-radius:12px;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.sum b{color:var(--ink);font-size:1.35rem;letter-spacing:0;text-transform:none}
.sheet{background:var(--card);border-top:1px solid var(--line2);box-shadow:0 -10px 30px rgba(0,0,0,.6)}.sheet-bg{background:rgba(0,0,0,.65)}
.back{background:var(--bg);border-bottom:1px solid var(--line)}
.toast{background:#1f1f1f;color:var(--ink);border:1px solid var(--line2);box-shadow:0 10px 30px rgba(0,0,0,.6)}
.demo{background:var(--ta);color:var(--ambs);border:1px solid rgba(245,158,11,.4)}
.hint,.info{background:var(--tb);color:var(--ink);border-left:3px solid var(--acc)}
.help{background:var(--card2);color:var(--ink)}
.alert{background:var(--tr);color:#fca5a5;border:1px solid rgba(239,68,68,.35)}
.alert.info{background:var(--tb);color:#c7d7ff;border-color:rgba(21,93,252,.4)}
.locked{background:var(--tg);border:1px solid rgba(34,197,94,.5)}
.lockcard{border:1px dashed #52525b}
.plan,.dmgbox{background:var(--card2)}
/* buttons (keep sizes from style.css = big tap targets) */
button,.btn{background:var(--card2);color:var(--ink);border:1px solid var(--line2);font-weight:600}
button:hover{border-color:#52525b}
button.primary,.back button,.namebtn{background:var(--acc);color:#fff;border-color:var(--acc)}
button.primary:hover,.namebtn:hover{background:var(--acch)}
button.ok{background:#16a34a;color:#fff;border-color:#16a34a}
button.warn{background:#dc2626;color:#fff;border-color:#dc2626}
button.dashed{background:transparent;border:1.5px dashed #52525b;color:var(--ink)}
button.link{background:none;border:0;color:var(--mut)}
button:disabled,button.primary:disabled,button.ok:disabled,button.warn:disabled{background:#262626;color:#8a8a8a;border-color:#333;opacity:1}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.steps button{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}
.steps button.on,.tabs button.on,.whs button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.steps button.done:not(.on){background:var(--tg);color:var(--grns);border-color:rgba(34,197,94,.35)}
.chips button.on,.toggle button.on,.sizes button.on{background:var(--tb);color:var(--accs);border-color:var(--acc)}
.toggle button{border-color:var(--line2)}
.sizes button.have{color:#6b6b6b}.sizes button i{color:var(--ambs)}
button.small.on{outline:2px solid var(--acc)}
button.on-claim{background:#7c3aed;color:#fff;border-color:#7c3aed}
/* inputs */
input,select,textarea{background:var(--bg);color:var(--ink);border:1px solid var(--line2);border-radius:10px}
input:focus,select:focus,textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(21,93,252,.25);outline:none}
input::placeholder,textarea::placeholder{color:#6b6b6b}
select.boxchip{background:var(--card2);border-color:var(--line2);color:var(--mut);font-family:var(--mono);letter-spacing:.03em}
select.boxchip.set{background:var(--tb);border-color:var(--acc);color:var(--accs)}
/* rows & lists */
.row,.pick,.tbl th,.tbl td,.tl,.nmrow,.day,.sp,.estt th,.estt td,.lrow,.mixcard .mixrow{border-color:var(--line)}
.palc .pl{border-top-color:var(--line)}
.row.good,.pick.done{background:var(--tg)}.row.gap,.lrow.overrow{background:var(--tr)}.row.dmg,.row.unx{background:var(--ta)}
.pick.done{color:var(--grns)}.pick.hasopen{border-left-color:var(--amb)}
.cnt{background:var(--card2);border-color:#3f3f46;color:var(--ink)}.cnt.has{background:var(--bg)}
.row.good .cnt{border-color:var(--grn)}.row.gap .cnt{border-color:var(--red)}
.task{background:var(--card2);border:1px solid var(--line2);color:var(--ink)}.task:hover{border-color:var(--acc)}
.todayc,.palc.cur{border:1px solid var(--acc);box-shadow:0 0 0 3px rgba(21,93,252,.2)}
.palc.done{background:#0f1a12;border-color:rgba(34,197,94,.35)}
.unxcard{background:#1a1408;border:1px solid rgba(245,158,11,.55)}.unxs{border:1px solid rgba(245,158,11,.55)}
.lrow .lft small,.lrow.donerow .lft{color:var(--grns)}
.estt tr.warnrow td{background:var(--ta);color:var(--ambs)}
.sum .opens{background:var(--ta)}
/* pills */
.badge,.ed,.cf,.ux,.est,.approx,.opentask,.claim,.whl{font-family:var(--mono);letter-spacing:.04em}
.badge{background:#3f3f46;color:#fff}.b-ready{background:#16a34a}.b-waiting{background:#b45309}.b-short{background:#dc2626}.b-needs_sizes{background:#7c3aed}
.ed,.k-within{background:var(--tb);color:var(--accs)}
.cf,.ux,.opentask,.k-between,.est,.sp input.est{background:var(--ta);color:var(--ambs)}
.approx{background:var(--ta);color:var(--ambs)}
.claim{background:rgba(124,58,237,.18);color:#c4b5fd}
.whl,.pres span{background:var(--card2);color:var(--ink);border:1px solid var(--line2)}.pres span.meP{background:var(--tb);color:var(--accs)}
.savednote{color:var(--grns)}.savednote.off{color:var(--ambs)}
.req,.bad{color:var(--reds)}.warnt{color:var(--ambs)}
.bar i{background:var(--acc)}
.daybar{background:var(--card2)}
.daybar i.br{background:repeating-linear-gradient(45deg,#3f3f46,#3f3f46 6px,#2a2a2e 6px,#2a2a2e 12px);color:var(--ink)}
.legend i.lg-br{background:repeating-linear-gradient(45deg,#3f3f46,#3f3f46 3px,#2a2a2e 3px,#2a2a2e 6px)}
details.plines summary{color:var(--accs)}
/* legacy layer diagram (admin only) */
.stack{background:var(--bg);border-color:var(--line2)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:8px}::-webkit-scrollbar-track{background:transparent}
/* v7: header scrolls away, the back bar sticks at the very top (no gap / overlap); focused fields scroll clear of the sticky bars */
header#top{position:relative}
.back{top:0!important}
html{scroll-padding-top:calc(var(--bk,0px) + var(--tabs,0px) + 12px);scroll-padding-bottom:5rem}
/* pick list */
.row.pk{grid-template-columns:3.4rem 3.4rem 1fr auto 2.6rem}
.row.pk .ok.tick{min-width:4.2rem;min-height:3rem;font-size:1.3rem}
.pickprog .progt{display:flex;justify-content:space-between;gap:.5rem;font-family:var(--mono);font-size:.9rem;margin-bottom:.45rem}
.pickprog .progt b{font-size:1.25rem}
.pbar{height:12px;background:var(--line);border-radius:99px;overflow:hidden}.pbar i{display:block;height:100%;background:linear-gradient(90deg,var(--acc),#60a5fa);border-radius:99px;transition:width .3s}
.pbar.full i{background:var(--grn)}
.alert.gentle{font-weight:500;display:flex;gap:.6rem;align-items:center;justify-content:space-between}
/* "26 prs = 4×6 + 2" */
.eq{font-family:var(--mono);font-size:.86em;color:var(--mut);white-space:nowrap}
.ptot{font-size:1.1rem;margin:.15rem 0 .35rem}.ptot b{font-size:1.35rem}
.bxt{font-size:.78rem;color:var(--accs);background:var(--tb);border-radius:6px;padding:.05rem .4rem}
/* pallet tabs (sticky under the back bar) */
.paltabs{position:sticky;top:var(--bk,0px);z-index:3;display:flex;gap:.4rem;overflow-x:auto;padding:.5rem .8rem;margin:.4rem -.8rem;background:var(--bg);border-bottom:1px solid var(--line);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.paltabs::-webkit-scrollbar{display:none}
.ptab{flex:none;min-width:5.2rem;min-height:3.6rem;padding:.35rem .6rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.1rem;border-radius:12px;text-align:left}
.ptab .pt1{display:flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:1rem}.ptab small{font-family:var(--mono);font-size:.72rem;color:var(--mut)}
.ptab .dot{width:9px;height:9px;border-radius:50%;background:var(--amb);display:inline-block;flex:none}
.ptab.st-done .dot{background:var(--grn)}.ptab.st-locked .dot{background:var(--accs)}
.ptab.on{background:var(--tb);border:2px solid var(--acc);box-shadow:0 0 0 3px rgba(21,93,252,.2)}.ptab.on small{color:var(--ink)}
.ptab.new{border:1.5px dashed #52525b;background:transparent;color:var(--accs)}
.av{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;background:#7c3aed;color:#fff;font-size:.7rem;font-family:var(--sans);font-weight:700}
.paltot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem .8rem;font-size:.92rem;color:var(--mut);margin:.2rem 0 .4rem}.paltot b{color:var(--ink)}
.palc .pacts{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.4rem}
details.palest>summary,details.allpal>summary{cursor:pointer;list-style:none}details.palest>summary h3,details.allpal>summary h3{display:inline}
details.palest>summary::before,details.allpal>summary::before{content:"▸ ";color:var(--mut)}details[open].palest>summary::before,details[open].allpal>summary::before{content:"▾ "}
.allpal .tbl td{white-space:normal;vertical-align:middle}.allpal tr.on td{background:var(--tb)}.allpal tr.tot td{font-weight:700;border-top:1px solid var(--line2)}
/* left list: size | what is left | − +📦6 +📦12 +1 */
.lrow{grid-template-columns:2.6rem 1fr auto!important}
.lbtns{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:flex-end}
.lbtns button{min-height:3rem;min-width:3rem;padding:.3rem .5rem}
.lbtns .boxbtn{min-width:4.2rem;display:flex;flex-direction:column;align-items:center;line-height:1.05}.lbtns .boxbtn small{font-size:.7rem;opacity:.9}
.lbtns .pairbtn{font-family:var(--mono);font-weight:700}
.lrow .lft small{display:block;font-size:.76rem;color:var(--grns)}
/* undo toast */
.toast.undo{display:flex;gap:.8rem;align-items:center;font-family:var(--mono);font-size:.9rem;bottom:1rem}
.toast.undo button{min-height:40px;background:var(--acc);color:#fff;border-color:var(--acc)}
/* mixed boxes sheet */
.bxg{display:grid;gap:.35rem .4rem;align-items:center;margin:.4rem 0}.bxg input.q{width:100%;min-height:2.8rem}.bxg .bxl{font-family:var(--mono);text-align:center}
