/* Scoped adjustments preserve the rest of the V92 design. */
.promotion-cutoff-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding:12px 0; }
.promotion-cutoff-toolbar .input { width:170px; }
.expense-shop-row .expense-shop-cutoff-label { display:flex; flex-direction:column; gap:4px; min-width:0; }
.expense-shop-cutoff-label small { font-size:12px; color:var(--ink-2); }
body .expense-shop-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px 12px; }
.expense-shop-row .expense-shop-title,.expense-shop-row .expense-shop-effective { grid-column:1/-1; }
.expense-shop-effective { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 10px; border-top:1px solid var(--rule); padding-top:8px; font-size:12px; color:var(--ink-2); }
.expense-shop-row .input { width:100%; min-width:0; }

body .content:has(.quote-page) { max-width:1680px; padding:12px 20px 18px; }
.content:has(.quote-page) .workspace-page-heading { margin-bottom:10px; min-height:28px; }
body .quote-workspace { grid-template-columns:390px minmax(0,1fr) !important; gap:14px; }
body .quote-workspace > .quote-editor { position:static; padding:14px; }
body .quote-result-wrap { position:static; gap:10px; }
body .quote-editor .quote-surface-head { margin-bottom:10px; padding-bottom:8px; }
body .quote-editor .quote-field-grid { gap:8px 12px; }
body .quote-editor .field { gap:4px; }
body .quote-size-head { margin-top:12px; padding-top:10px; padding-bottom:6px; gap:4px; }
body .quote-size-head h3 { font-size:14px; }
body #quoteItems { max-height:max(120px,min(330px,calc(100dvh - 550px))); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:2px; }
body .quote-editor .field > label { margin-bottom:0; }
body .quote-item-row { grid-template-columns:18px minmax(42px,1fr) minmax(42px,1fr) minmax(36px,.72fr) minmax(57px,.95fr) 28px 28px !important; gap:5px; padding:6px 5px; margin-bottom:5px; align-items:end; border-radius:5px; }
body .quote-item-row > .dimension-number { grid-column:1; grid-row:1; align-self:center; font-size:10px; }
body .quote-item-row > .field:has([data-key=w]) { grid-column:2 !important; grid-row:1; }
body .quote-item-row > .field:has([data-key=h]) { grid-column:3 !important; grid-row:1; }
body .quote-item-row > .field:has([data-key=qty]) { grid-column:4 !important; grid-row:1; }
body .quote-item-row > .field:has([data-key=shape]) { grid-column:5 !important; grid-row:1; }
body .quote-item-row .duplicate-size { grid-column:6; grid-row:1; }
body .quote-item-row .remove-quote-item { grid-column:7; grid-row:1; }
body .quote-item-row .duplicate-size,body .quote-item-row .remove-quote-item { width:28px; height:32px; min-height:32px; padding:0; justify-self:center; }
body .quote-item-row .input { width:100%; min-width:0; min-height:32px; padding:4px; font-size:12px; }
body .quote-item-row .field label { font-size:11px; white-space:nowrap; }
body .quote-actions { margin-top:8px; gap:8px; }
body .quote-extra { margin-top:8px; padding-top:8px; }
body .quote-extra > summary { font-size:12px; }

body .quote-result-wrap .quote-reference { background:#edf6fb; border:1px solid #c1dae8; border-top:3px solid #377e9d; border-radius:8px; }
body .quote-reference .quote-history,body .quote-reference .quote-history-stats > div,body .quote-reference .quote-deal-price { background:transparent !important; }
body .quote-reference-head { padding:8px 14px; border-color:#cfe1eb; }
body .quote-reference-head h3,body .quote-reference-head h3 svg,body .quote-reference .quote-history-coverage strong { color:#216784; }
body .quote-reference-head > span { color:#506e7c; }
body .quote-reference .quote-history { padding:0 14px 8px; }
body .quote-reference .quote-history-coverage { margin:0; padding:7px 0; gap:4px 12px; }
body .quote-reference .quote-history-coverage strong { font-size:18px; }
body .quote-reference .quote-history-stats { padding:6px 0 8px; border-color:#cfe1eb; }
body .quote-reference .quote-history-stats > div { padding:0 10px; border-color:#cfe1eb; }
body .quote-reference .quote-history-stats > div:first-child { padding-left:0; }
body .quote-reference .quote-history-stats strong { margin-top:2px; font-size:20px; line-height:1.2; }
body .quote-reference .quote-history-stats small { margin-top:2px; }
body .quote-reference .quote-scenario-grid { padding:7px 0 0; }
body .quote-reference .quote-deal-price { gap:2px 8px; }
body .quote-reference .quote-deal-price strong { font-size:20px; line-height:1.2; color:#216784; }
body .quote-reference .quote-deal-price em { font-size:11px; line-height:1.5; }
body .quote-result > .quote-surface-head { margin:0; padding:2px 0 8px; }
body .quote-mode-card,body .quote-mode-card.normal,body .quote-mode-card.volume { padding:10px 14px; gap:4px; }
body .quote-mode-card .quote-mode-head { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px; margin:0; }
body .quote-mode-card.normal .quote-mode-head strong,body .quote-mode-card.volume .quote-mode-head strong { margin:0; font-size:32px; }
body .quote-mode-card .quote-unit { min-height:0; margin:0; }
body .quote-mode-card .quote-mode-detail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:5px 0; margin:0; gap:8px; }
body .quote-mode-card .quote-mode-detail > div { display:flex; flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:2px 5px; min-width:0; }
body .quote-mode-card .quote-rule { margin:0; padding:0; }
body .quote-mode-card .quote-script { margin:0; padding:5px 0; }
body .quote-mode-card .btn.primary { min-height:32px; padding:5px 9px; line-height:20px; }
body .quote-result .quote-logistics { margin-top:10px; }
body .quote-logistics .quote-logistics-head { margin:0; padding:8px 14px; }
body .quote-logistics .quote-logistics-grid { padding:8px 14px; }
body .quote-logistics .logistics-metric { padding:0 10px; }
body .quote-logistics .logistics-metric > strong { margin:3px 0; font-size:16px; }
body .quote-logistics .logistics-price { font-size:20px; }
body .quote-result-wrap > .quote-surface.quote-admin-panel { padding:0 14px; margin:0; }
body .quote-admin-panel > summary { cursor:pointer; font-size:13px; color:var(--ink-2); padding:9px 0; margin:0; }
body .quote-item-row .field { margin:0; min-height:0; gap:2px; }
body .quote-item-row .field label { margin:0; min-height:0; line-height:16px; }
.quote-admin-panel[open] > summary { margin-bottom:10px; }
@media (min-width:1280px) {
  body .quote-reference .quote-history-stats > div:last-child { display:grid; grid-template-columns:1fr auto; column-gap:4px; }
  body .quote-reference .quote-history-stats > div:last-child > strong { grid-column:1/-1; grid-row:2; }
  body .quote-reference .quote-history-stats > div:last-child > small { grid-column:2; grid-row:1; margin:0; font-size:10px; line-height:19px; white-space:nowrap; }
}
@media (max-width:1200px) and (min-width:901px) {
  body .content:has(.quote-page) { padding:10px 12px 16px; }
  body .quote-workspace { grid-template-columns:350px minmax(0,1fr) !important; gap:10px; }
  body .quote-workspace > .quote-editor { padding:10px; }
  body .quote-logistics .quote-logistics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:8px; }
}
@media (max-width:900px) {
  body .quote-workspace { grid-template-columns:minmax(0,1fr) !important; }
  body #quoteItems { max-height:280px; }
}
@media (max-width:560px) {
  body .content:has(.quote-page) { padding:10px; }
  body .quote-workspace > .quote-editor { padding:10px; }
  body .quote-item-row { grid-template-columns:14px minmax(40px,1fr) minmax(40px,1fr) minmax(32px,.7fr) minmax(54px,1fr) 26px 26px !important; gap:3px; padding:5px 3px; }
  body .quote-item-row .duplicate-size,body .quote-item-row .remove-quote-item { width:26px; }
  body .quote-reference .quote-history-stats { row-gap:10px; }
  body .quote-reference .quote-history-stats > div:nth-child(odd) { padding-left:0; }
  body .quote-mode-card.normal .quote-mode-head strong,body .quote-mode-card.volume .quote-mode-head strong { font-size:28px; }
  body .quote-reference .quote-deal-price { padding:0; }
  body .quote-reference .quote-scenario-grid { gap:8px; }
  .promotion-cutoff-toolbar { align-items:stretch; }
  .promotion-cutoff-toolbar > label { flex-basis:100%; }
  .promotion-cutoff-toolbar .input { flex:1; min-width:135px; }
}
