.exchange-shell{display:grid;gap:10px}
.exchange-focus-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--hs-line);border-radius:13px;background:var(--hs-surface)}
.exchange-focus-bar h3{margin:0}.exchange-focus-state{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:10px;color:var(--hs-muted)}
.exchange-focus-actions{display:flex;justify-content:flex-end}
.exchange-lookup-card{padding:12px}.exchange-lookup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.exchange-lookup-row input{height:44px;font-size:14px}
.exchange-empty{display:grid;gap:6px;text-align:center;padding:32px 18px}.exchange-empty span{color:var(--hs-muted);font-size:11px}
.exchange-sale-head{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 12px}.exchange-sale-head>div{display:grid;gap:2px}.exchange-sale-head strong{font-size:13px}
.exchange-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.exchange-return-card,.exchange-new-card,.exchange-settlement-card{padding:12px;min-width:0}
.exchange-return-lines,.exchange-replacement-cart{display:grid;gap:7px;margin-top:8px}
.exchange-return-line{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(120px,.8fr) minmax(120px,.75fr) 90px minmax(135px,.9fr) minmax(95px,.65fr);gap:7px;align-items:end;padding:8px;border:1px solid var(--hs-line);border-radius:10px;background:var(--hs-surface-2)}
.exchange-return-line label,.exchange-replacement-line label{display:grid;gap:3px}.exchange-return-line label>span,.exchange-replacement-line label>span{font-size:9px;color:var(--hs-muted)}
.exchange-line-main,.exchange-paid-basis,.exchange-line-credit{display:grid;gap:2px}.exchange-line-main span,.exchange-line-history,.exchange-paid-basis span,.exchange-paid-basis small,.exchange-line-credit span{font-size:9px;color:var(--hs-muted)}
.exchange-line-history{display:grid;gap:2px}.exchange-line-credit strong,.exchange-paid-basis strong{font-size:13px}
.exchange-product-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin:8px 0}.exchange-product-search input{height:40px}
.exchange-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:6px;max-height:210px;overflow:auto}
.exchange-product{display:grid;gap:3px;text-align:left;padding:8px;border:1px solid var(--hs-line);border-radius:9px;background:var(--hs-surface-2);color:var(--hs-ink);cursor:pointer}
.exchange-product:hover,.exchange-product:focus-visible{border-color:color-mix(in srgb,var(--hs-accent) 55%,var(--hs-line));outline:none}
.exchange-product strong{font-size:10.5px;line-height:1.2}.exchange-product span{font-size:8.5px;color:var(--hs-muted);overflow-wrap:anywhere}.exchange-product b{font-size:12px}
.exchange-replacement-line{display:grid;grid-template-columns:minmax(150px,1.3fr) 90px minmax(100px,.6fr) minmax(100px,.6fr) 36px;gap:7px;align-items:end;padding:8px;border:1px solid var(--hs-line);border-radius:10px;background:var(--hs-surface-2)}
.exchange-replacement-line>div{display:grid;gap:2px}.exchange-replacement-line>div>span{font-size:9px;color:var(--hs-muted)}.exchange-repl-total{text-align:right}
.exchange-settlement-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.exchange-stat{display:grid;gap:3px;padding:10px;border:1px solid var(--hs-line);border-radius:10px;background:var(--hs-surface-2)}
.exchange-stat span{font-size:9.5px;color:var(--hs-muted)}.exchange-stat strong{font-size:17px}.exchange-stat.strong{border-color:color-mix(in srgb,var(--hs-accent) 60%,var(--hs-line));background:color-mix(in srgb,var(--hs-accent-soft) 38%,var(--hs-surface-2))}
.exchange-stat.refund{border-color:color-mix(in srgb,#b45309 50%,var(--hs-line))}.exchange-stat.even{border-color:color-mix(in srgb,#15803d 50%,var(--hs-line))}
.exchange-policy{margin-top:8px;padding:9px 10px;border-radius:9px;font-size:10.5px;border:1px solid var(--hs-line)}.exchange-policy.good{background:color-mix(in srgb,var(--hs-accent-soft) 25%,var(--hs-surface))}
.exchange-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--hs-line)}
@media(max-width:1100px){.exchange-grid{grid-template-columns:1fr}.exchange-return-line{grid-template-columns:1.2fr .8fr .7fr 90px 130px 95px}.exchange-sale-head{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.exchange-focus-bar{grid-template-columns:1fr}.exchange-focus-state{justify-content:flex-start}.exchange-focus-actions{justify-content:flex-start}.exchange-lookup-row{grid-template-columns:1fr}.exchange-sale-head{grid-template-columns:1fr}.exchange-return-line,.exchange-replacement-line{grid-template-columns:1fr 1fr}.exchange-line-main,.exchange-line-history{grid-column:1/-1}.exchange-settlement-values{grid-template-columns:1fr 1fr}.exchange-action-row{grid-template-columns:1fr}}

.exchange-server-quote{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:8px 10px;border:1px solid var(--hs-line);border-radius:9px;background:var(--hs-surface-2);font-size:10px}.exchange-server-quote strong{font-size:10px}.exchange-server-quote span{color:var(--hs-muted)}.exchange-server-quote small{margin-left:auto;color:var(--hs-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.exchange-server-quote.verified{border-color:color-mix(in srgb,#15803d 55%,var(--hs-line));background:color-mix(in srgb,#15803d 8%,var(--hs-surface-2))}.exchange-server-quote.checking{border-color:color-mix(in srgb,var(--hs-accent) 45%,var(--hs-line))}.exchange-server-quote.mismatch{border-color:color-mix(in srgb,#b91c1c 55%,var(--hs-line));background:color-mix(in srgb,#b91c1c 8%,var(--hs-surface-2))}

.exchange-source-label{display:block;margin-top:2px;font-size:8.5px;color:var(--hs-muted);font-weight:600}
.exchange-line-warning{display:block;margin-top:3px;color:#b45309;font-size:8.5px;line-height:1.25}
.exchange-candidates{padding:12px}
.exchange-candidate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin-top:8px}
.exchange-candidate{display:grid;gap:3px;padding:10px;text-align:left;border:1px solid var(--hs-line);border-radius:10px;background:var(--hs-surface-2);color:var(--hs-ink);cursor:pointer}
.exchange-candidate:hover,.exchange-candidate:focus-visible{outline:none;border-color:color-mix(in srgb,var(--hs-accent) 60%,var(--hs-line));background:color-mix(in srgb,var(--hs-accent-soft) 30%,var(--hs-surface-2))}
.exchange-candidate span{font-size:9px;color:var(--hs-muted)}.exchange-candidate b{font-size:13px}
.exchange-server-quote.local-source{border-style:dashed}

/* v2.50 guided exchange workflow */
.exchange-sale-head{grid-template-columns:repeat(5,minmax(0,1fr))}
.exchange-policy-head{display:grid;gap:2px;padding-left:8px;border-left:2px solid var(--hs-line)}
.exchange-policy-head small{font-size:8.5px;color:var(--hs-muted)}
.exchange-policy-head.within{border-left-color:#15803d}
.exchange-policy-head.outside{border-left-color:#b45309}

.exchange-return-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(140px,.7fr);
  grid-template-areas:
    "main credit"
    "history history"
    "paid qty"
    "reason disposition";
  gap:7px 10px;
  align-items:end
}
.exchange-line-main{grid-area:main}
.exchange-line-credit{grid-area:credit;text-align:right}
.exchange-line-history{grid-area:history;display:flex;gap:10px;flex-wrap:wrap;padding-top:5px;border-top:1px dashed var(--hs-line)}
.exchange-paid-basis{grid-area:paid}
.exchange-qty-editor{grid-area:qty;display:grid;gap:3px}
.exchange-qty-editor>span,.exchange-return-reason>span,.exchange-return-disposition>span{font-size:9px;color:var(--hs-muted)}
.exchange-qty-editor>div{display:grid;grid-template-columns:34px minmax(70px,1fr) 34px auto;gap:4px}
.exchange-qty-editor .btn{padding:5px 7px;min-height:32px}
.exchange-qty-editor input{min-width:0;text-align:center}
.exchange-return-reason{grid-area:reason;display:grid;gap:3px}
.exchange-return-disposition{grid-area:disposition;display:grid;gap:3px}
.exchange-return-line select,.exchange-return-line input{min-height:34px}
.exchange-line-credit strong{font-size:16px}

.exchange-sticky-summary{
  position:sticky;
  bottom:8px;
  z-index:8;
  display:grid;
  grid-template-columns:minmax(90px,.6fr) minmax(90px,.6fr) minmax(150px,1fr) auto;
  gap:8px;
  align-items:center;
  padding:9px 10px;
  border:1px solid color-mix(in srgb,var(--hs-accent) 45%,var(--hs-line));
  border-radius:12px;
  background:color-mix(in srgb,var(--hs-surface) 92%,transparent);
  backdrop-filter:blur(12px);
  box-shadow:0 10px 32px rgba(0,0,0,.22)
}
.exchange-sticky-summary>div{display:grid;gap:1px}
.exchange-sticky-summary span{font-size:8.5px;color:var(--hs-muted)}
.exchange-sticky-summary strong{font-size:13px}
.exchange-sticky-net{padding-left:9px;border-left:1px solid var(--hs-line)}
.exchange-sticky-net strong{font-size:18px}

.exchange-review-card{padding:12px}
.exchange-review-banner{margin:-12px -12px 10px;padding:7px 10px;border-radius:11px 11px 0 0;background:color-mix(in srgb,#b45309 14%,var(--hs-surface-2));border-bottom:1px solid color-mix(in srgb,#b45309 40%,var(--hs-line));font-size:9px;font-weight:800;letter-spacing:.05em;text-align:center}
.exchange-review-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.exchange-review-columns>div{padding:9px;border:1px solid var(--hs-line);border-radius:9px;background:var(--hs-surface-2)}
.exchange-review-columns h4{margin:0 0 7px;font-size:11px}
.exchange-review-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed var(--hs-line);font-size:10px}
.exchange-review-row:last-child{border-bottom:0}
.exchange-review-totals{display:flex;justify-content:flex-end;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--hs-line);font-size:10px}
.exchange-review-totals>strong{font-size:15px}

@media(max-width:1100px){
  .exchange-sale-head{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:760px){
  .exchange-sale-head{grid-template-columns:1fr}
  .exchange-return-line{
    grid-template-columns:1fr;
    grid-template-areas:"main" "credit" "history" "paid" "qty" "reason" "disposition"
  }
  .exchange-line-credit{text-align:left}
  .exchange-sticky-summary{grid-template-columns:1fr 1fr;bottom:4px}
  .exchange-sticky-net{border-left:0;padding-left:0}
  .exchange-review-columns{grid-template-columns:1fr}
}

/* v2.55 atomic posting preflight */
.exchange-posting-readiness{
  display:grid;
  gap:8px;
  margin-top:8px;
  padding:10px 11px;
  border:1px solid var(--hs-line);
  border-radius:10px;
  background:var(--hs-surface-2)
}
.exchange-posting-readiness>div:first-child,
.exchange-posting-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.exchange-posting-readiness>div:first-child>div,
.exchange-posting-head>div{display:grid;gap:2px}
.exchange-posting-readiness strong{font-size:10.5px}
.exchange-posting-readiness span{font-size:9.5px;color:var(--hs-muted)}
.exchange-posting-readiness small{font-size:9px;color:var(--hs-muted);line-height:1.35}
.exchange-posting-readiness.legacy{border-color:color-mix(in srgb,#b45309 45%,var(--hs-line));background:color-mix(in srgb,#b45309 6%,var(--hs-surface-2))}
.exchange-posting-readiness.checking{border-color:color-mix(in srgb,var(--hs-accent) 45%,var(--hs-line))}
.exchange-posting-readiness.structural-ready{border-color:color-mix(in srgb,#15803d 45%,var(--hs-line));background:color-mix(in srgb,#15803d 5%,var(--hs-surface-2))}
.exchange-posting-readiness.blocked{border-color:color-mix(in srgb,#b91c1c 42%,var(--hs-line));background:color-mix(in srgb,#b91c1c 5%,var(--hs-surface-2))}
.exchange-posting-metrics{display:flex;gap:7px;flex-wrap:wrap}
.exchange-posting-metrics span{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid var(--hs-line);border-radius:999px;background:var(--hs-surface);font-size:9px}
.exchange-posting-metrics b{font-size:10px;color:var(--hs-ink)}
.exchange-blockers{display:flex;gap:5px;flex-wrap:wrap}
.exchange-blockers span{padding:4px 6px;border-radius:7px;border:1px solid color-mix(in srgb,#b45309 40%,var(--hs-line));background:color-mix(in srgb,#b45309 8%,var(--hs-surface));font-size:8px;font-weight:750;color:var(--hs-ink)}
@media(max-width:760px){
  .exchange-posting-readiness>div:first-child,.exchange-posting-head{display:grid}
}
