/* FLIP · branches module (branch orders, transfers, pre-orders) */
.br-kpis{margin-bottom:16px}
.br-link{color:var(--navy);font-weight:600;text-decoration:none}
.br-link:hover{text-decoration:underline;color:var(--orange)}
.br-link.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;letter-spacing:.01em}
.br-sub{font-size:11.5px;line-height:1.35}
.br-prod{min-width:150px}
.br-prod .br-link{color:var(--ink)}
.br-low{color:var(--danger);font-weight:700}
.br-ok{color:var(--ok);font-weight:600}
.br-neg{color:var(--danger)}
.br-pos{color:var(--ok)}
.br-note{font-size:12.5px;color:var(--body);margin:2px 0}
.br-ellip{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.br-chips{gap:6px}
.br-chips .chip{height:30px}
.br-chip-n{font-size:11px;font-weight:700;opacity:.65;margin-left:2px}
.br-card-flush > .card-head{flex-wrap:wrap;gap:10px}
.br-card-flush > .card-head .actions{flex-wrap:wrap}
.br-card-flush .dt .table-tools{padding:12px 18px 0}
.br-mini{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:70px}
.br-mini span{font-size:12px;font-variant-numeric:tabular-nums}
.br-mini .progress{width:70px;height:5px}
.br-bucket{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize;background:var(--paper);border:1px solid var(--line);color:var(--body)}
.br-bucket.b-available{background:var(--ok-tint);border-color:transparent;color:#166B4A}
.br-bucket.b-reserved{background:var(--orange-tint);border-color:transparent;color:#7A5530}
.br-bucket.b-in_transit{background:var(--info-tint);border-color:transparent;color:var(--navy)}
.br-bucket.b-damaged{background:var(--danger-tint);border-color:transparent;color:#9B1C1C}
.br-detail{align-items:start;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.br-detail > *{min-width:0}
.br-nw{white-space:nowrap}
.br-dl{grid-template-columns:max-content minmax(0,1fr)}
.br-dl dt{white-space:nowrap}
.br-dl dd{overflow-wrap:break-word;min-width:0}
.br-trail{list-style:none;margin:0;padding:0}
.br-status-card{margin-bottom:16px}

/* stepper */
.br-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:14px;counter-reset:s}
.br-step{display:flex;align-items:center;gap:10px;position:relative;padding:10px 12px;border-radius:10px;background:var(--paper);border:1px solid var(--line);color:var(--muted)}
.br-step .dot{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:#fff;border:1.5px solid var(--line);color:var(--muted)}
.br-step b{display:block;font-size:13px;color:var(--body);font-weight:600}
.br-step small{display:block;font-size:11.5px;color:var(--muted);min-height:14px}
.br-step.done{background:#fff;border-color:var(--line)}
.br-step.done .dot{background:var(--navy);border-color:var(--navy);color:#fff}
.br-step.done b{color:var(--ink)}
.br-step.cur{background:var(--orange-tint);border-color:var(--orange)}
.br-step.cur .dot{background:var(--orange);border-color:var(--orange);color:#fff}
.br-step.cur b{color:var(--ink);font-weight:700}

/* transfer pipeline board */
.br-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:4px}
.br-col{background:var(--paper);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:180px}
.br-col-head{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 12px 10px;border-bottom:1px solid var(--line);border-top:3px solid var(--line);border-radius:12px 12px 0 0}
.br-col.c-draft .br-col-head{border-top-color:var(--navy-l, #4A4A4A)}
.br-col.c-picked .br-col-head{border-top-color:var(--orange)}
.br-col.c-in_transit .br-col-head{border-top-color:var(--navy)}
.br-col.c-received .br-col-head{border-top-color:var(--ok)}
.br-col-head b{display:block;font-family:var(--display);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}
.br-col-head small{font-size:11.5px;color:var(--muted)}
.br-col-n{min-width:26px;height:22px;padding:0 7px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:700;display:grid;place-items:center;color:var(--ink)}
.br-col-body{padding:10px;display:flex;flex-direction:column;gap:8px;max-height:430px;overflow-y:auto}
.br-col-empty{font-size:12.5px;color:var(--muted);text-align:center;padding:24px 0}
.br-tcard{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 11px;text-decoration:none;color:var(--ink);transition:box-shadow .15s,border-color .15s,transform .15s}
.br-tcard:hover{border-color:var(--orange);box-shadow:0 6px 16px rgba(20,20,20,.08);transform:translateY(-1px)}
.br-tcard.late{border-left:3px solid var(--danger)}
.br-tcard .mono{font-size:12.5px}
.br-route{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;margin:6px 0 4px;color:var(--ink);flex-wrap:wrap}
.br-route svg{color:var(--orange);flex:none}
.br-more{align-self:center}
.br-tfoot span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

/* line editor + picker */
.br-lines .table-wrap{border:1px solid var(--line);border-radius:10px}
.br-lines-empty{padding:18px;text-align:center;border:1px dashed var(--line);border-radius:10px;font-size:13px}
.br-lines-foot{display:flex;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}
.br-lines-total{margin-left:auto;font-size:12.5px;font-weight:600}
.br-qty{width:90px;text-align:right;margin-left:auto}
.br-picker{position:relative;flex:1 1 320px;max-width:520px}
.br-pick-in{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:#fff}
.br-pick-in svg{color:var(--muted);flex:none}
.br-pick-in .input{border:0;background:transparent;box-shadow:none;padding-left:0;height:38px}
.br-pick-in .input:focus{outline:none;box-shadow:none}
.br-pick-in:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-tint)}
.br-pick-list{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--pop-shadow);z-index:30;max-height:300px;overflow-y:auto}
.br-pick-list.open{display:block}
.br-picker.up .br-pick-list{top:auto;bottom:calc(100% + 6px)}
.br-pick-wrap{position:relative}
.br-pick-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--line)}
.br-pick-row:last-child{border-bottom:0}
.br-pick-row.on,.br-pick-row:hover{background:var(--orange-tint)}
.br-pick-hint{font-size:11.5px;color:var(--body);white-space:nowrap;font-weight:600}
.br-pick-none{padding:12px;font-size:13px;color:var(--muted)}
.br-form3{grid-template-columns:repeat(3,minmax(0,1fr))}
.br-reason{min-width:170px;height:34px}
.br-cb{width:16px;height:16px;accent-color:var(--orange)}
.br-pre-total{display:flex;justify-content:flex-end;gap:22px;flex-wrap:wrap;font-size:13px;color:var(--body);padding-top:4px}
.br-pre-total b{color:var(--ink);font-family:var(--display);font-size:15px}

/* printable docs (DR, pick list, pre-order slip) */
.br-print-host{display:none}
.br-doc-brand{display:flex;align-items:center;gap:14px}
.br-doc-logo{height:46px;width:auto}
.br-doc-no{font-size:15px}
.br-doc-parties{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:4px 0 8px}
.br-doc-parties small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:2px}
.br-doc-parties b{display:block;font-size:13.5px}
.br-doc-parties div div{font-size:12px;color:var(--body)}
.br-sigs{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:46px}
.br-sig .line{border-bottom:1px solid var(--ink);min-height:26px;font-size:12.5px;font-weight:600;display:flex;align-items:flex-end;padding-bottom:3px}
.br-sig .lbl{font-size:11px;margin-top:4px;font-weight:600}
.br-sig .lbl.muted{font-weight:400;font-size:10px}
.br-box{display:inline-block;width:14px;height:14px;border:1.5px solid var(--ink);border-radius:3px}
@media print{
  .br-print-host{display:block}
  .br-print-host .print-doc{border:0}
}

@media (max-width:1100px){
  .br-detail{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
  .br-form3{grid-template-columns:1fr}
  .br-board{grid-template-columns:repeat(4,minmax(220px,78vw));scroll-snap-type:x mandatory}
  .br-col{scroll-snap-align:start}
  .br-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .br-page .page-header{flex-wrap:wrap}
  .br-page .page-actions{flex:1 1 100%;justify-content:flex-start}
  .br-card-flush > .card-head{flex-direction:column;align-items:flex-start}
  .br-chips{overflow-x:auto;flex-wrap:nowrap;max-width:100%;padding-bottom:2px}
  .br-chips .chip{flex:none}
  .br-picker{max-width:none}
  .br-lines-total{margin-left:0}
  .br-doc-parties{grid-template-columns:1fr}
  .br-sigs{grid-template-columns:repeat(2,1fr)}
  .br-ellip{max-width:160px}
}

/* ===== Round 2: pair tags, size picker, scan panel, size finder ===== */
.br-mb{margin-bottom:14px}
.br-sec{display:block;margin:6px 0 8px;font-size:13px}
.br-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.br-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 6px;border-radius:6px;background:var(--paper);border:1px solid var(--line);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap;line-height:1.5}
.br-tag svg{color:var(--orange);flex:none}
.br-tag:hover{border-color:var(--orange);background:var(--orange-tint)}
.br-tag.s-ok{background:var(--ok-tint);border-color:transparent;color:#166B4A}
.br-tag.s-ok svg{color:#166B4A}
.br-tag.s-bad,.br-tag.s-miss{background:var(--danger-tint);border-color:transparent;color:#9B1C1C}
.br-tag.s-bad svg,.br-tag.s-miss svg{color:#9B1C1C}
.br-tag.s-miss{text-decoration:line-through}
.br-tag-x{display:inline-flex;align-items:center;gap:1px}
.br-x{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:2px;border-radius:4px;display:grid;place-items:center}
.br-x:hover{color:var(--danger);background:var(--danger-tint)}
.br-line-extra{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.br-linkbtn{border:0;background:none;padding:0;margin-top:3px;color:var(--orange);font-weight:600;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.br-linkbtn:hover{color:var(--ink)}
.br-fifo{margin-left:6px;font-size:10.5px;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.04em}
.br-ico{display:inline-grid;place-items:center;flex:none}

/* size picker */
.br-sizes{display:none;margin-top:10px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}
.br-sizes.open{display:block}
.br-sizes-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.br-size-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}
.br-size{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:50px;border:1.5px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;color:var(--ink);font:inherit;transition:border-color .12s,background .12s,transform .12s}
.br-size b{font-family:var(--display);font-size:15px;font-weight:800;line-height:1}
.br-size small{font-size:11px;font-weight:700;color:var(--ok)}
.br-size:hover{border-color:var(--orange);background:var(--orange-tint);transform:translateY(-1px)}
.br-size.zero{background:var(--paper);color:var(--muted)}
.br-size.zero small{color:var(--muted)}
.br-size:disabled{cursor:not-allowed;opacity:.55;transform:none}

/* scan panel */
.br-scan{display:flex;flex-direction:column;gap:10px}
.br-scan-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.br-scan-field{flex:1 1 280px;display:flex;align-items:center;gap:8px;border:2px solid var(--ink);border-radius:12px;padding:0 12px;background:#fff}
.br-scan-field:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-tint)}
.br-scan-field .br-ico{color:var(--ink)}
.br-scan-in{border:0!important;box-shadow:none!important;height:44px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;letter-spacing:.03em;background:transparent;padding-left:0;flex:1;min-width:0}
.br-scan-fb{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.45;border:1px solid var(--line);background:var(--paper);color:var(--body)}
.br-scan-fb > svg,.br-scan-fb > .br-ico{flex:none;margin-top:1px}
.br-scan-fb.ok{background:var(--ok-tint);border-color:transparent;color:#166B4A}
.br-scan-fb.bad{background:var(--danger-tint);border-color:transparent;color:#9B1C1C}
.br-scan-fb.warn{background:var(--orange-tint);border-color:transparent;color:#7A5530}
.br-scan-fb.flash{animation:brflash .45s ease}
@keyframes brflash{0%{transform:scale(.985);filter:brightness(1.08)}100%{transform:none;filter:none}}
.br-scan-act{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;color:var(--ink)}
.br-scan-prog{display:flex;flex-direction:column;gap:6px;font-size:13px}
.br-scan-prog .progress{height:6px}
.br-scan-table{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:10px}
.br-scan-row td{transition:background .2s}
.br-scan-row.s-scanned td{background:var(--ok-tint)}
.br-scan-row.s-manual td{background:var(--orange-tint)}
.br-scan-st{color:var(--ok)}
.br-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid var(--line);vertical-align:middle}
.br-scan-item{display:flex;flex-direction:column}
.br-man-l{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;cursor:pointer;color:var(--body)}
.br-var{align-items:flex-start}
.br-var .field{max-width:280px}
.br-hold{align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);line-height:1.45}
.br-hold .br-cb{margin-top:2px}
.br-pairs{max-height:360px;overflow:auto}

/* size finder */
.br-sf-top{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:14px;align-items:start}
.br-sf-top .br-picker{max-width:none}
.br-sf-pair{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.br-matrix th.br-here,.br-matrix td.br-here{background:var(--orange-tint)}
.br-mrow{cursor:pointer}
.br-mrow:hover td{background:var(--paper)}
.br-mrow.on td{background:#fff;box-shadow:inset 0 -2px 0 var(--orange)}
.br-mrow.on td:first-child{box-shadow:inset 3px 0 0 var(--orange),inset 0 -2px 0 var(--orange)}
.br-cnt{display:inline-block;min-width:24px;padding:1px 7px;border-radius:999px;background:var(--ok-tint);color:#166B4A;font-weight:700;text-align:center}
@media (max-width:700px){
  .br-sf-top{grid-template-columns:1fr}
  .br-size-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}
  .br-scan-table{max-height:none}
}
.br-matrix.table-wrap{max-height:none}
.br-matrix td:first-child b{white-space:nowrap}
.br-okdot{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ok);color:#fff}
.br-scan-row.s-manual .br-okdot{background:var(--orange)}
.br-man:disabled + span{opacity:.45}
.br-short{display:none}
.br-pairlist{display:none}
.br-pairitem{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid var(--line)}
.br-pairitem .btn{align-self:flex-start}
@media (max-width:700px){
  .br-matrix .br-full{display:none}
  .br-matrix .br-short{display:inline}
  .br-pairlist{display:block;padding:0 18px 12px}
  .br-pairlist + .dt{display:none}
}
/* QA: scan table on phones, let the pair column breathe */
@media (max-width:700px){.br-scan-table table{min-width:520px}}
