/* ===================== BUYING › ITEMS and TRANSFER (2026-09-04) =====================
   Sits on pulse-9.css (the Forecaster's grid, cells, tags, popup, buttons). Same wide-desktop
   ruling: the two subviews widen to 1500px while open (body.fc-wide); the grid scrolls inside. */
#sv-items, #sv-transfer { max-width: 1500px; }
#sv-items .num, #sv-transfer .num { font-family: 'Inter', sans-serif; font-variant-numeric: lining-nums tabular-nums; }
.itm-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 4px 0 10px; }
.itm-sel { font-family: 'Jost', sans-serif; font-size: 12px; color: #3a2e24; background: #fffaf3; border: 1px solid #e8ddd0; border-radius: 8px; padding: 7px 10px; max-width: 220px; }
.itm-sel-cat { max-width: 300px; }
.itm-chk { display: inline-flex; align-items: center; gap: 6px; font-family: 'Jost', sans-serif; font-size: 12px; color: #3a2e24; padding: 6px 10px; border: 1px solid #e8ddd0; border-radius: 999px; background: #fffaf3; cursor: pointer; }
.itm-chk input { margin: 0; accent-color: #3d2417; }
.itm-chk-dusty:has(input:checked) { border-color: #c0392b; color: #c0392b; }
.itm-export { margin-left: auto; }
.itm-count { font-family: 'Jost', sans-serif; font-size: 12px; color: #6e5a47; margin: 0 0 8px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.itm-count b { color: #3a2e24; }
.itm-dusty-note { color: #c0392b; }
.itm-pager { margin-left: auto; display: inline-flex; gap: 6px; }
.fc-btn-ghost.sm { padding: 4px 10px; font-size: 10px; }
.fc-btn-ghost[disabled] { opacity: .4; cursor: default; }
.itm-table { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
.itm-g { display: grid; gap: 0 8px; align-items: start; min-width: 1240px; width: max-content; }
.itm-g-head { font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; color: #9a7b5a; padding: 0 0 7px; border-bottom: 1.5px solid #e8ddd0; }
.itm-g-head .r { text-align: right; }
.itm-row { border-bottom: 1px solid #f3e9dc; padding: 8px 0 7px; }
.itm-row.is-dusty { background: #fff8f6; }
.itm-cat, .itm-vendor { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11.5px; color: #6e5a47; }
.fc-cell.has { font-weight: 600; }
.fc-cell.b { font-weight: 600; }
.fc-cell.itm-dusty { color: #c0392b; font-weight: 700; }
.itm-dusty-txt { color: #c0392b; }
.itm-dusty-txt .sub { color: #c0392b; letter-spacing: .1em; text-transform: uppercase; font-size: 9px; }
.itm-tr-btn { font-family: 'Inter', sans-serif; font-size: 9.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #8a6940; background: transparent; border: 1px solid #e0d2c0; border-radius: 999px; padding: 4px 9px; cursor: pointer; white-space: nowrap; }
.itm-tr-btn:hover { border-color: #c5a572; color: #3a2e24; }
.itm-tr-btn.primary { color: #fdf8f3; background: #3d2417; border-color: #3d2417; }
.itm-tr-btn.danger:hover { border-color: #c0392b; color: #c0392b; }
.itm-tr-form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 12px; margin: 0 0 6px; background: #fbf5ec; border: 1px solid #e8d9c2; border-radius: 10px; font-family: 'Jost', sans-serif; font-size: 12px; color: #3a2e24; }
.itm-tr-form label, .tr-f label { display: inline-flex; align-items: center; gap: 6px; font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: #9a7b5a; }
.itm-tr-form select, .itm-tr-form input, .tr-f select, .tr-f input[type=number], .tr-f input[type=text] { font-family: 'Jost', sans-serif; font-size: 12px; color: #3a2e24; background: #fffaf3; border: 1px solid #e8ddd0; border-radius: 6px; padding: 5px 8px; }
.itm-tr-form input[type=number], .tr-f input[type=number] { width: 64px; text-align: right; }
.itm-tr-status { font-family: 'Jost', sans-serif; font-size: 11.5px; color: #a85842; }
/* Transfer */
/* My store (9-08): the person's store first, All stores beside it */
.tr-mine { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 4px 0 10px; }
.tr-mine-hint { font-family: 'Jost', sans-serif; font-size: 11px; color: #9a7b5a; }
/* what Lightspeed did for a box (9-08): one line per leg under the trail */
.tr-ls { display: block; font-family: 'Jost', sans-serif; font-size: 11px; margin-top: 2px; }
.tr-ls.ok { color: #1f5a32; }
.tr-ls.bad { color: #c0392b; }
.tr-ls.dim { color: #9a7b5a; }
.tr-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 12px; }
.tr-tab { font-family: 'Jost', sans-serif; font-size: 12px; color: #6e5a47; background: #fffcf8; border: 1px solid #e8ddd0; border-radius: 999px; padding: 6px 14px; cursor: pointer; }
.tr-tab .num { font-family: 'Inter', sans-serif; font-weight: 600; color: #3a2e24; margin-left: 4px; }
.tr-tab.on { background: #3d2417; border-color: #3d2417; color: #fdf8f3; }
.tr-tab.on .num { color: #d9c3a0; }
.tr-table { overflow-x: auto; }
.tr-row { display: grid; grid-template-columns: 90px minmax(220px, 1.4fr) minmax(180px, 1fr) 56px 150px minmax(150px, 1fr) auto; gap: 0 12px; align-items: start; padding: 9px 0 8px; border-bottom: 1px solid #f3e9dc; font-size: 12.5px; line-height: 18px; color: #3a2e24; min-width: 980px; }
.tr-row.tr-head { font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; color: #9a7b5a; padding: 0 0 7px; border-bottom: 1.5px solid #e8ddd0; }
.tr-row .sub { display: block; font-size: 10px; line-height: 14px; color: #9a7b5a; }
.tr-row.tr-cancelled { opacity: .55; }
.tr-num { font-weight: 600; }
.tr-qty { text-align: right; font-weight: 600; }
.tr-head .r { text-align: right; }
.tr-arrow { color: #c5a572; }
.tr-pill { display: inline-block; font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; border: 1px solid #e0d2c0; color: #6e5a47; }
.tr-pill.pending { color: #8a6b1f; border-color: #e6cf7a; background: #fdf6dc; }
.tr-pill.sent { color: #1d4ed8; border-color: #93c5fd; background: #eff6ff; }
.tr-pill.received { color: #2d7a3a; border-color: #a9d8b1; background: #edf8ef; }
.tr-pill.cancelled { color: #9a7b5a; }
.tr-acts { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.tr-f { background: #fbf5ec; border: 1px solid #e8d9c2; border-radius: 10px; padding: 12px 14px; margin: 0 0 12px; font-family: 'Jost', sans-serif; font-size: 12px; color: #3a2e24; }
.tr-f-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 8px; }
.tr-f-q { width: 320px; }
.tr-f label.grow { flex: 1 1 200px; }
.tr-f label.grow input { flex: 1; }
.tr-f-pick { display: inline-flex; align-items: center; gap: 8px; }
.tr-f-results { border: 1px solid #e8ddd0; border-radius: 8px; background: #fffdf9; max-height: 260px; overflow-y: auto; margin-bottom: 8px; }
.tr-f-res { padding: 7px 10px; border-bottom: 1px solid #f3e9dc; cursor: pointer; }
.tr-f-res:hover { background: #f8f1e6; }
.tr-f-res:last-child { border-bottom: none; }
.tr-f-foot { display: flex; align-items: center; gap: 10px; }
.tr-f-foot .fc-btn-ghost { margin-left: auto; }
@media (max-width: 720px) { .itm-export { margin-left: 0; } .tr-f-q { width: 100%; } }
/* ── §13.2 nameplate voice · §13.8 Jost description — the same primitive Vendor Payables,
   Credit Memos and Exceptions carry (pulse-8.css), for the Forecaster, Items and Transfer.
   The Forecaster's crumb had the right markup since dcbd8b5 but was still drawn in the 32px
   serif title voice; the three Buying engines now read like the rest of the tab. ─────── */
#sv-forecaster .sv-title, #sv-items .sv-title, #sv-transfer .sv-title {
  font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600; letter-spacing:.3em;
  text-transform:uppercase; color:#8a6940; line-height:1.5; margin:-4px 0 7px;
}
#sv-forecaster .sv-title .po-cr-link, #sv-items .sv-title .po-cr-link, #sv-transfer .sv-title .po-cr-link {
  background:none; border:0; padding:0; font:inherit; letter-spacing:inherit; text-transform:inherit; color:#8a6940; cursor:pointer;
}
#sv-forecaster .sv-title .po-cr-link:hover, #sv-items .sv-title .po-cr-link:hover, #sv-transfer .sv-title .po-cr-link:hover { color:#4a2c17; }
#sv-forecaster .sv-title .po-cr-sep, #sv-items .sv-title .po-cr-sep, #sv-transfer .sv-title .po-cr-sep { color:#c5a572; }
#sv-forecaster .sv-title .crumb-leaf, #sv-items .sv-title .crumb-leaf, #sv-transfer .sv-title .crumb-leaf { color:#4a2c17; }
#sv-forecaster .sv-sub, #sv-items .sv-sub, #sv-transfer .sv-sub {
  font-family:'Jost',sans-serif; font-style:normal; font-size:12.5px; color:#6e5a3f; line-height:1.45; margin:0 0 16px;
}
/* ── Transfer v2: boxes, the pack & send / receive sheets, exceptions, notify (Peter, 9-04) ── */
.tr-scope { font-family: 'Jost', sans-serif; font-size: 12px; color: #6e5a47; margin: 2px 0 8px; }
.tr-exc-pill { display: inline-flex; align-items: center; font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; color: #b3261e; border: 1px solid rgba(179,38,30,.4); background: #fff4f2; }
.tr-boxes { display: flex; flex-direction: column; gap: 8px; }
.tr-box { border: 1px solid #e8ddd0; border-radius: 10px; background: #fffcf8; }
.tr-box.tr-cancelled { opacity: .55; }
.tr-box-head { display: grid; grid-template-columns: 90px minmax(170px, 1fr) 150px 190px minmax(160px, 1.2fr) auto; gap: 0 12px; align-items: start; padding: 10px 12px; cursor: pointer; font-size: 12.5px; line-height: 18px; color: #3a2e24; }
.tr-box-head .sub { display: block; font-size: 10px; line-height: 14px; color: #9a7b5a; }
.tr-status .sub { display: inline; margin-left: 6px; }
.tr-track { font-weight: 600; }
.tr-slips { border-top: 1px solid #f3e9dc; padding: 4px 12px 8px; }
.tr-slip { display: grid; grid-template-columns: 70px minmax(220px, 1fr) 60px minmax(120px, auto) auto; gap: 0 12px; align-items: center; padding: 6px 0; border-bottom: 1px solid #f7f0e6; font-size: 12.5px; }
.tr-slip:last-child { border-bottom: none; }
.tr-slip .sub { display: block; font-size: 10px; line-height: 14px; color: #9a7b5a; }
.tr-slip-qty { text-align: right; font-weight: 600; }
.tr-cust { display: block; font-family: 'Jost', sans-serif; font-size: 11px; color: #1d4ed8; }
.tr-pill.packing { color: #8a6b1f; border-color: #e6cf7a; background: #fdf6dc; }
.tr-pill.exc { color: #b3261e; border-color: rgba(179,38,30,.4); background: #fff4f2; }
.tr-pill.sold { color: #6e5a47; border-color: #e0d2c0; background: #faf5ec; }
.tr-pill.cust { color: #1d4ed8; border-color: #93c5fd; background: #eff6ff; }
.tr-sheet:empty { display: none; }
.tr-sheet .tr-f { margin: 0 12px 12px; }
.tr-f-title { font-family: 'Jost', sans-serif; font-size: 13.5px; font-weight: 600; color: #3a2e24; margin-bottom: 8px; }
.tr-f-title .sub { display: block; font-size: 11px; font-weight: 400; color: #9a7b5a; margin-top: 2px; }
.tr-pack { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; }
.tr-pack-row { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 6px 12px; align-items: center; padding: 8px 10px; background: #fffdf9; border: 1px solid #e8ddd0; border-radius: 8px; font-size: 12.5px; }
.tr-pack-row .tp-note { grid-column: 1 / -1; }
.tr-pack-chk { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.tr-pack-chk input { accent-color: #3d2417; }
.tr-pack-chk .tr-cust { display: inline; margin-left: 4px; }
.tr-pack-qty { display: inline-flex; align-items: center; gap: 6px; font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: #9a7b5a; white-space: nowrap; }
.tr-pack-qty input { width: 56px; text-align: right; }
.tr-f input[type=tel], .tr-f input[type=email], .tr-f input[type=search] { font-family: 'Jost', sans-serif; font-size: 12px; color: #3a2e24; background: #fffaf3; border: 1px solid #e8ddd0; border-radius: 6px; padding: 5px 8px; }
.tr-notify { border-color: #93c5fd; background: #f4f8ff; }
@media (max-width: 900px) { .tr-box-head { grid-template-columns: 1fr 1fr; } .tr-slip { grid-template-columns: 1fr auto; } .tr-slip-badge, .tr-slip-act { grid-column: 1 / -1; } }
/* Transfer exceptions inside the Exceptions tile */
.exc-tr { border: 1px solid rgba(179,38,30,.35); background: #fff7f5; border-radius: 10px; padding: 10px 12px; margin: 0 0 12px; font-family: 'Jost', sans-serif; font-size: 12.5px; color: #3a2e24; }
.exc-tr-head { margin-bottom: 8px; }
.exc-tr-row { display: grid; grid-template-columns: 140px 1fr auto; gap: 10px; align-items: center; padding: 7px 0; border-top: 1px solid rgba(179,38,30,.15); }
.exc-tr-note { font-size: 11px; color: #9a7b5a; }
.exc-tr-close { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.exc-tr-close input { font-family: 'Jost', sans-serif; font-size: 12px; background: #fff; border: 1px solid #e8ddd0; border-radius: 6px; padding: 5px 8px; width: 280px; }
