/* Warehouse Dashboard — shop-floor work board. Radii match the rest of Ops
   (stat cards 6px, job tiles 8px, chips square) — not the pill-widget look. */
#page-wh{background:var(--bg);}
.whd{max-width:1480px;margin:0 auto;padding:22px 24px 56px;box-sizing:border-box;}
.whd-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.whd-head h1{margin:0;font:700 25px/1.15 'Hanken Grotesk',sans-serif;letter-spacing:-.015em;color:var(--text);}
.whd-head p{margin:6px 0 0;color:var(--text-2);font-size:13.5px;}
.whd-queues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;}
.whd-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;min-height:220px;display:flex;flex-direction:column;}
.whd-card.need{border-color:color-mix(in srgb,var(--warn) 55%,var(--border));}
.whd-card.hold{border-color:color-mix(in srgb,var(--brand) 45%,var(--border));}
.whd-card.ship{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));}
.whd-card-h{display:flex;align-items:center;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--border);}
.whd-card-h h2{margin:0;font:700 13px 'Hanken Grotesk',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--text);}
.whd-n{min-width:22px;height:22px;padding:0 7px;border-radius:3px;background:var(--surface-2);color:var(--text);font:700 12px 'IBM Plex Mono',monospace;display:inline-flex;align-items:center;justify-content:center;}
.whd-n.warn{background:var(--warn);color:#2a1f06;}
.whd-n.brand{background:var(--brand);color:#fff;}
.whd-n.ok{background:var(--accent);color:#04121E;}
.whd-body{padding:4px 8px 10px;flex:1;}
.whd-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 8px;border-top:1px solid var(--border);cursor:pointer;}
.whd-row:first-child{border-top:0;}
.whd-row:hover{background:var(--surface-2);}
.whd-job{font:700 15px 'Hanken Grotesk',sans-serif;color:var(--brand);}
.whd-meta{margin-top:3px;font-size:12.5px;color:var(--text-2);line-height:1.4;}
.whd-act{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.whd-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:3px;font:700 10.5px 'Hanken Grotesk',sans-serif;letter-spacing:.04em;text-transform:uppercase;}
.whd-chip.amber{background:var(--warn-weak);color:var(--warn);}
.whd-chip.blue{background:var(--brand-weak);color:var(--brand);}
.whd-chip.green{background:var(--ok-weak);color:var(--ok);}
.whd-btn{height:30px;padding:0 11px;border-radius:4px;border:0;background:var(--brand);color:var(--brand-contrast,#fff);font:700 11.5px 'Hanken Grotesk',sans-serif;cursor:pointer;white-space:nowrap;}
.whd-btn.alt{background:transparent;border:1px solid var(--border);color:var(--text);}
.whd-btn.go{background:#1d7a34;color:#fff;}
.whd-empty{padding:22px 12px;text-align:center;color:var(--text-3);font-size:13px;}
.whd-split{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-bottom:14px;}
.whd-avail{margin-top:14px;min-height:0;}
.whd-avail .whd-card-h{flex-wrap:wrap;}
.whd-avail-leg{margin-left:auto;font-size:12px;color:var(--text-3);}
.whd-alcoves{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px;}
.whd-off{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:0;overflow:hidden;}
.whd-off-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px 10px;}
.whd-off h3{margin:0;font:700 15px/1.2 'Hanken Grotesk',sans-serif;color:var(--text);}
.whd-off-sub{margin-top:4px;font-size:12px;color:var(--text-3);line-height:1.35;}
.whd-off-ready{flex:none;font:700 22px/1 'IBM Plex Mono',monospace;color:var(--ok);text-align:right;}
.whd-off-ready.is-zero{color:var(--text-3);}
.whd-off-ready span{display:block;margin-top:3px;font:700 10px 'Hanken Grotesk',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);}
.whd-off-line{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:10px 14px;border-top:1px solid var(--border);}
.whd-off-name{font:700 13.5px/1.25 'Hanken Grotesk',sans-serif;color:var(--text);}
.whd-off-counts{display:flex;flex-wrap:wrap;gap:6px;}
.whd-off-cell{display:inline-flex;align-items:baseline;gap:5px;height:26px;padding:0 8px;border-radius:3px;font:600 11px/26px 'Hanken Grotesk',sans-serif;white-space:nowrap;background:var(--chip);color:var(--text-2);}
.whd-off-cell b{font:700 14px/26px 'IBM Plex Mono',monospace;color:var(--text);}
.whd-off-cell.kits{background:var(--brand-weak);color:var(--brand);}
.whd-off-cell.kits b{color:var(--brand);}
.whd-off-cell.green{background:var(--ok-weak);color:var(--ok);}
.whd-off-cell.green b{color:var(--ok);}
.whd-off-cell.held{background:var(--accent-weak);color:var(--accent);}
.whd-off-cell.held b{color:var(--accent);}
.whd-off-cell.red{background:var(--danger-weak);color:var(--danger);}
.whd-off-cell.red b{color:var(--danger);}
.whd-off-empty{padding:12px 14px 16px;font-size:12.5px;color:var(--text-3);line-height:1.4;}
.whd-sum{display:flex;gap:18px;flex-wrap:wrap;padding:8px 16px 16px;font-size:13px;color:var(--text-2);}
.whd-sum b{font:700 18px 'IBM Plex Mono',monospace;color:var(--text);display:block;}
.whd-tk{padding:10px 16px 14px;}
.whd-tk-row{padding:8px 0;border-top:1px solid var(--border);cursor:pointer;}
.whd-tk-row:first-child{border-top:0;}
@media (max-width:1100px){
  .whd-queues,.whd-split,.whd-alcoves{grid-template-columns:1fr 1fr;}
}
@media (max-width:720px){
  .whd{padding:14px 12px 40px;}
  .whd-queues,.whd-split,.whd-alcoves{grid-template-columns:1fr;}
  .whd-avail-leg{margin-left:0;}
  .whd-off-ready{font-size:20px;}
  .whd-row{flex-direction:column;align-items:stretch;}
  .whd-act{align-items:stretch;width:100%;}
  .whd-btn{width:100%;}
  .whd-job{overflow-wrap:anywhere;}
}
