/* FLIP · warehouse module styles (Receiving, QC, Stock on Hand, Pull-outs, Adjustments) */

/* links + small text */
.wh-doc{font-family:var(--display);font-weight:700;color:var(--navy);white-space:nowrap;border-bottom:1px dashed transparent}
.wh-doc:hover{color:var(--orange);border-bottom-color:currentColor}
.wh-link{color:var(--ink);font-weight:600}
.wh-link:hover{color:var(--orange)}
.wh-lot{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--navy);background:var(--orange-tint);padding:1px 6px;border-radius:5px;white-space:nowrap}
.wh-lot:hover{background:var(--orange);color:#fff}
.wh-prod{min-width:0;line-height:1.3}
.wh-prod b,.wh-prod a{font-weight:600}
.wh-sub{font-size:11.5px;color:var(--muted);margin-top:1px}
.wh-sku{font-size:12px;color:var(--body)}
.nowrap{white-space:nowrap}
.wh-select{width:auto;min-width:150px;height:36px}
.wh-err{margin-top:4px}
.wh-dl{grid-template-columns:max-content 1fr}
.wh-dl dd{min-width:0;overflow-wrap:anywhere}

/* layouts */
.wh-detail{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:16px;align-items:start;margin-bottom:16px}
.wh-split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:16px;align-items:start;margin-bottom:16px}
.page>.card,.page>.callout,.page>.grid-4,.page>.grid-5,.page>.tabs-wrap,.page>.wh-legend{margin-bottom:16px}
.wh-detail>.stack>.card{margin:0}
.wh-actions{display:flex;justify-content:flex-end;gap:10px;margin:16px 0 8px;flex-wrap:wrap}
.wh-totals{display:flex;gap:22px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--body);width:100%;justify-content:flex-end}
.wh-totals b{font-family:var(--display);font-size:15px;color:var(--ink)}
.wh-totals b.text-danger{color:var(--danger)} .wh-totals b.text-ok{color:var(--ok)}

/* line-entry tables */
.wh-lines td{vertical-align:middle}
.wh-qty{width:92px;text-align:right;font-variant-numeric:tabular-nums;height:34px}
.wh-qty.bad,.select.bad{border-color:var(--danger)!important;background:var(--danger-tint)}
.wh-linewarn{font-size:11px;color:var(--danger);min-height:0;margin-top:2px}
.wh-linewarn:empty{display:none}
.wh-done td{opacity:.55}
.wh-lotprev{font-size:12px;color:var(--navy);white-space:nowrap}
.wh-pick .select{width:100%;min-width:240px;max-width:520px}
.wh-var{background:var(--warn-tint)}
.wh-countcell{display:inline-flex;gap:4px;align-items:center}
.wh-countcell .btn{height:34px;padding:0 9px}
.wh-cats{display:flex;flex-wrap:wrap;gap:6px}
.wh-chipn{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--orange);color:#fff;font-size:10.5px;font-weight:700}
.wh-sheet-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* approvals */
.wh-appr{align-items:center;margin-bottom:16px}
.wh-appr-btns{display:flex;gap:8px;flex-wrap:wrap}
.page>.callout.ok,.page>.callout.danger{margin-bottom:16px}

/* trail timeline */
.wh-trail{list-style:none;margin:0;padding:0;position:relative}
.wh-trail li{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:0 0 14px;position:relative}
.wh-trail li::before{content:"";position:absolute;left:6px;top:14px;bottom:-2px;width:2px;background:var(--line)}
.wh-trail li:last-child::before{display:none}
.wh-trail li:last-child{padding-bottom:0}
.wh-dot{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--navy-l);margin-top:3px;position:relative;z-index:1}
.wh-dot.ok{border-color:var(--ok)} .wh-dot.danger{border-color:var(--danger)}
.wh-trail li:first-child .wh-dot{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-tint)}
.wh-tr-a{font-size:13.5px;color:var(--ink);line-height:1.4}
.wh-tr-w{font-size:11.5px;color:var(--muted);margin-top:1px}

/* stock matrix */
.wh-legend{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:12px;color:var(--body)}
.wh-legend i,.wh-cell-x i,.wh-cell-all i{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.02em;padding:1px 5px;border-radius:4px;line-height:1.4;white-space:nowrap}
.b-qc_hold{background:var(--warn-tint);color:var(--warn-text,#8A5A00)}
.b-damaged{background:var(--danger-tint);color:var(--danger)}
.b-in_transit{background:var(--info-tint);color:var(--navy)}
.b-reserved{background:var(--orange-tint);color:#7A5230}
.b-available{background:var(--ok-tint);color:var(--ok)}
.b-free{background:#F2EFEA;color:var(--ink)}
.wh-matrix .table td{padding-top:6px;padding-bottom:6px}
.wh-cell{display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:64px;padding:4px 8px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;font:inherit;color:var(--ink);text-align:right}
.wh-cell b{font-family:var(--display);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}
.wh-cell:hover{border-color:var(--line);background:var(--paper)}
.wh-cell.zero b{color:var(--muted);font-weight:500}
.wh-cell.low{background:var(--danger-tint)}
.wh-cell.low b{color:var(--danger)}
.wh-cell-x,.wh-cell-all{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end;max-width:150px}
.wh-foot{margin-left:auto;color:var(--body);font-size:12.5px;font-weight:600}
.wh-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.wh-strip-i{border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.wh-strip-i span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;opacity:.85}
.wh-strip-i b{font-family:var(--display);font-size:22px;font-weight:800;line-height:1.1}
.wh-drawer-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* QC bars */
.wh-bars{display:flex;flex-direction:column;gap:10px}
.wh-bar{display:grid;grid-template-columns:150px 1fr 48px;gap:10px;align-items:center;font-size:13px}
.wh-bar-track{height:10px;border-radius:999px;background:var(--paper);border:1px solid var(--line);overflow:hidden}
.wh-bar-track i{display:block;height:100%;background:var(--orange);border-radius:999px}
.wh-bar b{text-align:right}

/* pull-out type picker */
.wh-typecards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.wh-typecard{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px 16px;border-radius:var(--radius,12px);border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;color:var(--body);transition:border-color .12s,box-shadow .12s}
.wh-typecard svg{color:var(--orange)}
.wh-typecard b{font-family:var(--display);font-size:15px;color:var(--ink)}
.wh-typecard span{font-size:12.5px;line-height:1.4}
.wh-typecard:hover{border-color:var(--navy-l)}
.wh-typecard.on{border-color:var(--navy);box-shadow:0 0 0 2px var(--navy) inset;background:var(--paper)}
.wh-type{font-size:12px;font-weight:600;padding:2px 8px;border-radius:6px;white-space:nowrap}
.wh-type.t-supplier_return{background:var(--orange-tint);color:#7A5230}
.wh-type.t-branch_pullout{background:var(--info-tint);color:var(--navy)}
.wh-type.t-disposal{background:var(--danger-tint);color:var(--danger)}

/* lot label preview */
.wh-sheet-wrap{background:#F2EFEA;border-radius:10px;padding:14px;max-height:60vh;overflow:auto}

/* responsive */
@media (max-width:1100px){
  .wh-detail,.wh-split{grid-template-columns:1fr}
}
@media (max-width:720px){
  .wh-typecards{grid-template-columns:1fr}
  .wh-strip{grid-template-columns:repeat(3,1fr)}
  .wh-bar{grid-template-columns:110px 1fr 40px}
  .wh-totals{justify-content:flex-start;gap:12px}
  .wh-select{min-width:0;flex:1 1 140px}
  .wh-pick .select{min-width:180px}
  .wh-actions .btn{flex:1}
  .wh-appr{flex-wrap:wrap}
  .wh-sheet{grid-template-columns:repeat(2,1fr)!important}
  .wh-dl{grid-template-columns:1fr;gap:2px 0}
  .wh-dl dd{margin-bottom:8px}
}

@media print{
  .wh-actions,.wh-appr-btns,.wh-cats,.wh-sheet-tools{display:none!important}
  .wh-detail,.wh-split{grid-template-columns:1fr}
}

/* keep grid children from stretching past the viewport (tables scroll inside .table-wrap) */
.wh-detail>*,.wh-split>*,.wh-detail .stack>*{min-width:0}
.field .wh-select,.field .select{width:100%;min-width:0;max-width:100%}
@media (max-width:720px){
  .wh-pick .select{min-width:200px;width:200px}
  .table-tools .wh-select{flex:1 1 100%}
}
.wh-matrix .wh-sku{white-space:nowrap}
.wh-matrix .wh-prod{min-width:170px}

/* =====================================================================
   ROUND 2 · sneaker reseller: intake, pair tags, legit check, size runs, tag counts
   ===================================================================== */
.wh-modelpick{display:flex;gap:6px;align-items:center}
.wh-modelpick .select{flex:1;min-width:220px}
.wh-modelpick .btn{flex:none;height:34px}
.wh-intake .wh-qty{width:110px}
.wh-select.wh-size{min-width:96px;width:auto}
.wh-intake td{vertical-align:top}
.wh-intake td .wh-sub{margin-top:4px}
.wh-steps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--body);line-height:1.45}
.wh-where{display:flex;flex-direction:column;gap:2px;font-size:12.5px;white-space:nowrap}
.wh-typecard[data-mode] svg{color:var(--orange)}
.wh-pills{display:inline-flex;gap:6px;flex-wrap:wrap}

/* scan bar (legit check queue, tag counts) */
.wh-scanbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wh-scanbar>svg{color:var(--muted);flex:none}
.wh-scan-in{flex:1 1 260px;min-width:0;height:42px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;letter-spacing:.04em;text-transform:uppercase}
.wh-scan-in::placeholder{text-transform:none;letter-spacing:0;font-family:var(--font)}
.wh-scanfb{min-height:22px;font-size:13px}
.wh-fb{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.wh-fb.ok{color:var(--ok)} .wh-fb.warn{color:var(--warn-text)} .wh-fb.danger{color:var(--danger)}
.wh-progress{position:relative;height:26px;border-radius:999px;background:var(--paper);border:1px solid var(--line);overflow:hidden}
.wh-progress i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--ok),#34b884);border-radius:999px;transition:width .25s}
.wh-progress span{position:relative;display:block;text-align:center;font-size:12px;font-weight:700;line-height:24px;color:var(--ink);mix-blend-mode:normal}
.wh-found td{background:var(--ok-tint)}
.wh-extras{margin:6px 0 0;padding-left:16px;display:flex;flex-direction:column;gap:4px;font-size:13px}
.wh-extras li{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

/* legit check: pair cards */
.wh-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wh-pair{border:1px solid var(--line);border-radius:var(--radius);background:#fff;display:flex;flex-direction:column;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.wh-pair.focus{box-shadow:0 0 0 3px var(--orange-tint);border-color:var(--orange)}
.wh-pair.r-authentic{border-color:#9ED8BF}
.wh-pair.r-flawed{border-color:#EBCB73}
.wh-pair.r-fake{border-color:#EBA59E;background:linear-gradient(180deg,var(--danger-tint),#fff 120px)}
.wh-pair-head{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--line)}
.wh-pair-idx{flex:none;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:12px}
.wh-pair-t{flex:1;min-width:0;line-height:1.35}
.wh-pair-t b{font-family:var(--display);font-size:15px;font-weight:800;color:var(--ink);display:block;margin-top:3px}
.wh-pair-tag{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.wh-pair-size{font-family:var(--display);font-weight:900;font-size:12px;background:var(--navy);color:#fff;padding:1px 7px;border-radius:5px}
.wh-pair-cond{font-size:11px;font-weight:700;border:1px solid var(--navy-l);color:var(--ink);padding:0 6px;border-radius:5px;line-height:18px}
.wh-checks{display:flex;flex-direction:column}
.wh-check{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px dashed var(--line)}
.wh-check:last-child{border-bottom:0}
.wh-check.ok{background:linear-gradient(90deg,var(--ok-tint),transparent 70%)}
.wh-check.bad{background:linear-gradient(90deg,var(--danger-tint),transparent 70%)}
.wh-check-l{min-width:0;display:flex;flex-direction:column;line-height:1.3}
.wh-check-l b{font-size:13px;color:var(--ink);font-weight:600}
.wh-check-l span{font-size:11.5px;color:var(--muted)}
.wh-check-seg{flex:none}
.wh-check-seg button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;font:inherit;font-size:12px;padding:6px 10px}
.wh-check-seg button.on{background:var(--ok);color:#fff}
.wh-check-seg button.on.bad{background:var(--danger);color:#fff}
.wh-pair-foot{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-top:1px solid var(--line);background:var(--paper);margin-top:auto}
.wh-result{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.wh-result-l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.wh-result-btns{display:inline-flex;gap:6px;flex-wrap:wrap}
.wh-res{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer}
.wh-res:disabled{opacity:.4;cursor:not-allowed}
.wh-res.authentic svg{color:var(--ok)} .wh-res.flawed svg{color:var(--warn)} .wh-res.fake svg{color:var(--danger)}
.wh-res.authentic.on{background:var(--ok);border-color:var(--ok);color:#fff}
.wh-res.flawed.on{background:var(--warn);border-color:var(--warn);color:#141414}
.wh-res.fake.on{background:var(--danger);border-color:var(--danger);color:#fff}
.wh-res.on svg{color:currentColor}
.wh-pair-note .textarea{width:100%;min-height:54px}
.textarea.bad{border-color:var(--danger)!important;background:var(--danger-tint)}
.wh-photos{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.wh-photo{position:relative;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fff}
.wh-photos.sm .wh-photo{width:40px;height:40px}
.wh-photo img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;display:block}
.wh-photo-x{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.wh-photo-add{width:64px;height:64px;border-radius:8px;border:1.5px dashed var(--navy-l);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:600;color:var(--body);cursor:pointer;background:#fff;position:relative}
.wh-photo-add:hover{border-color:var(--orange);color:var(--orange)}
.wh-file{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.wh-photo-big{display:grid;place-items:center;background:#111;border-radius:10px;padding:8px}
.wh-photo-big img{max-width:100%;max-height:70vh;display:block;border-radius:6px}
.wh-stamp{display:flex;gap:6px;align-items:center;font-size:11.5px;color:var(--muted)}
.wh-qcbar{position:sticky;bottom:0;z-index:5;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:16px 0 8px;padding:12px 16px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--pop-shadow)}
.wh-qcbar-c{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--body)}
.wh-qcbar-c b{font-family:var(--display);font-size:16px;color:var(--ink)}
.wh-qcbar-a{display:flex;gap:8px}
.wh-checkdots{display:inline-flex;gap:3px}
.wh-cd{width:20px;height:20px;border-radius:5px;display:grid;place-items:center;background:var(--paper);color:var(--muted);border:1px solid var(--line)}
.wh-cd.ok{background:var(--ok-tint);color:var(--ok);border-color:transparent}
.wh-cd.bad{background:var(--danger);color:#fff;border-color:transparent}
.wh-fake td{background:var(--danger-tint)}
.wh-note{max-width:260px;font-size:12.5px}

/* stock: views */
.wh-views{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.wh-view{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;font-weight:600;color:var(--body);cursor:pointer}
.wh-view:hover{border-color:var(--navy-l);color:var(--ink)}
.wh-view.on{background:var(--navy);border-color:var(--navy);color:#fff}
.wh-view.on svg{color:var(--orange)}
.wh-sz{font-family:var(--display);font-weight:800;white-space:nowrap}
.wh-tagsel{min-width:220px}
.wh-run-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.wh-run-wrap{max-height:none}
.wh-runs th,.wh-runs td{padding:6px 4px}
.wh-runs .wh-run-model{position:sticky;left:0;background:#fff;z-index:1;min-width:220px;max-width:280px;padding-left:10px;box-shadow:1px 0 0 var(--line)}
.wh-runs thead .wh-run-model{background:var(--paper)}
.wh-run-h{text-align:center;font-family:var(--display);font-weight:800;font-size:13px;color:var(--ink);min-width:42px}
.wh-run-h span{display:block;font-size:9px;font-weight:700;color:var(--muted);letter-spacing:.08em}
.wh-run-c{text-align:center}
.wh-run-na{background:repeating-linear-gradient(45deg,transparent 0 5px,#F3EFEA 5px 6px)}
.wh-run{min-width:36px;height:30px;padding:0 6px;border-radius:7px;border:1px solid transparent;font:inherit;font-family:var(--display);font-weight:800;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:2px}
.wh-run i{font-style:normal;font-size:9.5px;font-weight:700;color:var(--warn-text)}
.wh-run.deep{background:var(--ok-tint);color:var(--ok)}
.wh-run.ok{background:#F2EFEA;color:var(--ink)}
.wh-run.zero{background:var(--danger-tint);color:var(--danger)}
.wh-run:hover{border-color:var(--navy)}

@media (max-width:1100px){ .wh-pairs{grid-template-columns:1fr} }
@media (max-width:720px){
  .wh-modelpick .select{min-width:160px}
  .wh-check{flex-wrap:wrap}
  .wh-check-seg{margin-left:auto}
  .wh-qcbar{position:static}
  .wh-qcbar-a{width:100%}
  .wh-qcbar-a .btn{flex:1}
  .wh-scanbar .btn{flex:1}
  .wh-runs .wh-run-model{min-width:150px;max-width:170px}
  .wh-view{flex:1 1 auto;justify-content:center;padding:0 10px;font-size:12.5px}
}
@media print{ .wh-scanbar,.wh-scanfb,.wh-views,.wh-qcbar{display:none!important} }
