/* V149 — quote workspace only. Customer documents keep their existing layout. */
@media screen {
  #quoteBuilderModal {
    --quote-columns: minmax(200px,1fr) 62px 104px 70px 98px 104px 28px;
  }
  #quoteBuilderModal > .quote-erp-head {
    display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px;
    padding:8px 12px; z-index:8;
  }
  #quoteBuilderModal .quote-builder-brand {flex:1 1 470px; min-width:0; gap:10px;}
  #quoteBuilderModal .quote-company-logo-wrap,
  #quoteBuilderModal .quote-builder-logo,
  #quoteBuilderModal .quote-builder-logo-empty {width:56px; height:38px; flex-shrink:0;}
  #quoteBuilderModal .quote-builder-logo {object-fit:contain;}
  #quoteBuilderModal .quote-erp-title {min-width:0;}
  #quoteBuilderModal .quote-erp-title .section-kicker {font-size:9px; line-height:1.2;}
  #quoteBuilderModal .quote-erp-title-line {flex-wrap:wrap; gap:4px 7px;}
  #quoteBuilderModal .quote-erp-title h2 {font-size:16px; line-height:1.4;}
  #quoteBuilderModal #n62QuoteClock {margin:0; font-size:10px; color:#64748b;}
  #quoteBuilderModal .quote-builder-heading {font-size:11px; line-height:1.4; gap:3px 5px; margin-top:2px;}
  #quoteBuilderModal .quote-status-badge,
  #quoteBuilderModal .quote-dirty-badge {padding:2px 5px; font-size:10px;}
  #quoteBuilderModal .quote-builder-head-actions {
    display:flex; flex:0 1 auto; flex-wrap:wrap; align-items:center; gap:6px;
    margin-left:auto; max-width:100%;
  }
  #quoteBuilderModal .quote-document-actions {display:flex; flex-wrap:wrap; align-items:center; gap:6px;}
  #quoteBuilderModal .quote-toolbar-group {display:flex; align-items:center; gap:4px;}
  #quoteBuilderModal .quote-toolbar-group + .quote-toolbar-group,
  #quoteBuilderModal .quote-document-actions {border-left:1px solid #dbe3ed; padding-left:6px;}
  #quoteBuilderModal .quote-icon-button {
    position:relative; display:inline-flex; align-items:center; justify-content:center;
    width:36px; min-width:36px; max-width:36px; height:36px; min-height:36px;
    padding:0; margin:0; border:1px solid #dbe3ed; border-radius:6px;
    background:#fff; color:#334155; box-shadow:none; cursor:pointer;
  }
  #quoteBuilderModal .quote-icon-button svg {width:18px; height:18px; flex:none; stroke-width:1.5;}
  #quoteBuilderModal .quote-icon-button:not(:disabled):hover,
  #quoteBuilderModal .quote-format-menu[open] > summary {background:#edf4fa; border-color:#94a3b8; color:#0f172a;}
  #quoteBuilderModal .quote-icon-button:focus-visible {outline:2px solid var(--primary,#1e3a8a); outline-offset:2px;}
  #quoteBuilderModal #quoteBuilderSaveBtn {background:var(--primary,#1e3a8a); border-color:var(--primary,#1e3a8a); color:#fff;}
  #quoteBuilderModal #quoteBuilderSaveBtn:not(:disabled):hover {filter:brightness(.9);}
  #quoteBuilderModal .quote-sale-action {border-color:#99c6bf; color:#17665c; background:#f0f8f6;}
  #quoteBuilderModal .quote-icon-button:disabled {opacity:.55; cursor:wait;}
  #quoteBuilderModal .quote-icon-button[aria-busy="true"] svg {visibility:hidden;}
  #quoteBuilderModal .quote-icon-button[aria-busy="true"]::after {
    content:""; position:absolute; width:15px; height:15px; border-radius:50%;
    border:2px solid currentColor; border-right-color:transparent; animation:quote-action-spin .8s linear infinite;
  }
  #quoteBuilderModal .quote-format-menu {position:relative;}
  #quoteBuilderModal .quote-format-menu > summary {list-style:none;}
  #quoteBuilderModal .quote-format-menu > summary::-webkit-details-marker {display:none;}
  #quoteBuilderModal .quote-format-popover {
    position:absolute; z-index:20; top:calc(100% + 7px); right:0;
    display:grid; gap:7px; width:190px; padding:10px; border:1px solid #cbd5e1;
    border-radius:6px; background:#fff; color:#334155;
  }
  #quoteBuilderModal .quote-format-popover label {font-size:12px; margin:0;}
  #quoteBuilderModal .quote-format-popover select {width:100%; min-height:32px; font-size:12px;}

  #quoteBuilderModal > .quote-erp-body {padding:8px 10px max(10px,env(safe-area-inset-bottom));}
  #quoteBuilderModal .quote-erp-shell {grid-template-columns:minmax(0,1fr) 260px; gap:10px;}
  #quoteBuilderModal .quote-erp-main {gap:8px;}
  #quoteBuilderModal .quote-erp-side {
    display:grid; grid-template-columns:1fr; gap:0; padding:0 10px;
    border:1px solid #e2e8f0; border-radius:6px; background:#fff; min-width:0;
  }
  #quoteBuilderModal .quote-side-card {
    min-width:0; padding:10px 0; gap:7px; border:0; border-radius:0;
    box-shadow:none; background:transparent;
  }
  #quoteBuilderModal .quote-side-card + .quote-side-card {border-top:1px solid #e2e8f0;}
  #quoteBuilderModal .quote-side-card-title {gap:6px;}
  #quoteBuilderModal .quote-side-card-title strong {font-size:12px;}
  #quoteBuilderModal .quote-side-card-title span {font-size:10px; text-align:right;}
  #quoteBuilderModal .quote-side-field {gap:3px;}
  #quoteBuilderModal .quote-side-field > span {font-size:10px; text-transform:none; letter-spacing:0;}
  #quoteBuilderModal .quote-side-field select,
  #quoteBuilderModal .quote-side-field input {height:32px; min-height:32px; padding:0 7px; font-size:12px;}
  #quoteBuilderModal .quote-side-field input {text-align:right; font-variant-numeric:tabular-nums;}
  #quoteBuilderModal .quote-side-row {grid-template-columns:minmax(0,1fr) 80px; gap:8px; align-items:center;}
  #quoteBuilderModal .quote-validity-mini {border:0; padding:0 0 0 8px; border-left:1px solid #e2e8f0; gap:5px;}
  #quoteBuilderModal .quote-validity-mini strong {font-size:12px; font-weight:500;}
  #quoteBuilderModal .quote-erp-discount-mode {min-height:32px; padding:2px; gap:2px;}
  #quoteBuilderModal .quote-erp-discount-mode .quote-discount-mode-btn {min-height:28px; padding:0 6px; font-size:11px;}
  #quoteBuilderModal .quote-side-totals {gap:2px;}
  #quoteBuilderModal .quote-side-totals > span {padding:2px 0;}
  #quoteBuilderModal .quote-side-totals em {font-size:11px;}
  #quoteBuilderModal .quote-side-totals strong {font-size:12px; text-align:right; font-variant-numeric:tabular-nums;}
  #quoteBuilderModal .quote-side-totals .grand {padding-top:8px; margin-top:4px;}
  #quoteBuilderModal .quote-side-totals .grand strong {font-size:23px; letter-spacing:-.03em;}

  #quoteBuilderModal .quote-erp-search {padding:7px 8px;}
  #quoteBuilderModal .quote-search-bar {gap:6px;}
  #quoteBuilderModal .quote-search-bar input {height:34px; min-height:34px; font-size:12px; padding:5px 9px;}
  #quoteBuilderModal #quoteBuilderSearchBtn {width:34px; min-width:34px; max-width:34px; height:34px; min-height:34px; padding:0;}
  #quoteBuilderModal .quote-warehouse-legend {padding:2px 0; margin:4px 0; border:0; background:transparent; font-size:10px; gap:5px 12px;}
  #quoteBuilderModal .quote-builder-search-results {max-height:142px; gap:4px;}
  #quoteBuilderModal .quote-search-row {grid-template-columns:minmax(180px,1fr) minmax(220px,.7fr) 100px 32px; gap:7px; padding:5px 7px;}
  #quoteBuilderModal .quote-search-product {display:grid; grid-template-columns:auto minmax(0,1fr); gap:2px 7px; align-items:baseline; min-width:0;}
  #quoteBuilderModal .quote-search-product strong {font-size:11px;}
  #quoteBuilderModal .quote-search-product > span {font-size:12px; line-height:1.3;}
  #quoteBuilderModal .quote-search-product > small {grid-column:1 / -1; font-size:10px; line-height:1.2;}
  #quoteBuilderModal .quote-search-stocks {display:flex; flex-wrap:wrap; gap:3px;}
  #quoteBuilderModal .quote-search-price {text-align:right;}
  #quoteBuilderModal .quote-search-price > span {display:none;}
  #quoteBuilderModal .quote-search-price.price-missing > span {display:block; font-size:10px;}
  #quoteBuilderModal .quote-search-price strong {font-size:12px; white-space:normal;}
  #quoteBuilderModal .quote-search-row .btn {width:32px; min-width:32px; min-height:32px; height:32px; padding:0; box-shadow:none;}
  #quoteBuilderModal .quote-search-row .btn svg {width:16px; height:16px;}
  #quoteBuilderModal .quote-search-empty {padding:8px;}

  #quoteBuilderModal .quote-erp-cart {padding:7px 8px;}
  #quoteBuilderModal .quote-cart-title {margin:0 0 5px; padding:0; align-items:center;}
  #quoteBuilderModal .quote-cart-title > div {display:flex; flex-wrap:wrap; align-items:baseline; gap:7px;}
  #quoteBuilderModal .quote-cart-title span {font-size:10px;}
  #quoteBuilderModal .quote-discount-rule {border:0; padding:0; background:transparent;}
  #quoteBuilderModal .quote-erp-columns {
    display:grid!important; grid-template-columns:var(--quote-columns); gap:7px; padding:6px 8px;
    margin-right:15px; margin-bottom:3px; border-bottom:1px solid #e2e8f0;
    text-transform:none; letter-spacing:0; font-size:10px; color:#64748b; opacity:1;
  }
  #quoteBuilderModal .quote-erp-columns > span:not(:first-child) {text-align:right;}
  #quoteBuilderModal #quoteBuilderItems {
    max-height:max(220px,calc(100dvh - 324px)); gap:3px;
    scrollbar-width:auto; scrollbar-gutter:stable;
  }
  #quoteBuilderModal .quote-erp-cart .quote-builder-line {
    grid-template-columns:var(--quote-columns);
    grid-template-areas:"product qty price discount net total remove";
    min-height:54px; gap:7px; padding:5px 8px; align-items:center;
    border:1px solid #e2e8f0; border-radius:4px;
  }
  #quoteBuilderModal .quote-line-product {display:grid; grid-template-columns:auto minmax(0,1fr); gap:3px 8px; align-items:baseline;}
  #quoteBuilderModal .quote-line-product > strong {font-size:11px; line-height:1.25;}
  #quoteBuilderModal .quote-line-product > span {font-size:12px; line-height:1.3;}
  #quoteBuilderModal .quote-builder-line.stock-short .quote-line-product::after {content:none;}
  #quoteBuilderModal .quote-line-stock {grid-column:1 / -1; margin:0; gap:3px;}
  #quoteBuilderModal .quote-stock-chip {padding:1px 3px; font-size:10px; line-height:1.2;}
  #quoteBuilderModal .quote-line-field,
  #quoteBuilderModal .quote-line-value,
  #quoteBuilderModal .quote-line-price-group {margin:0; gap:2px; align-content:center;}
  #quoteBuilderModal .quote-line-field input {height:30px; min-height:30px; padding:4px 6px; font-size:12px;}
  #quoteBuilderModal .quote-line-price-group {min-width:0;}
  #quoteBuilderModal .quote-line-value strong {font-size:12px;}
  #quoteBuilderModal .quote-line-base-hint {font-size:10px; line-height:1.2;}
  #quoteBuilderModal .quote-line-remove {height:28px; min-height:28px; width:28px; padding:0;}
  #quoteBuilderModal .quote-line-remove svg {width:15px; height:15px;}
  #quoteBuilderModal .quote-line-field > span,
  #quoteBuilderModal .quote-line-value > span,
  #quoteBuilderModal .quote-base-unchanged,
  #quoteBuilderModal .quote-visually-hidden {
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0;
  }
  #quoteBuilderModal .quote-line-manual-price > span {
    position:static; width:auto; height:auto; margin:0; overflow:visible; clip:auto; clip-path:none; white-space:normal;
  }
  @container nexora-quote-cart (max-width:850px) {
    #quoteBuilderModal .quote-erp-columns {display:none!important;}
    #quoteBuilderModal .quote-erp-cart .quote-builder-line {
      grid-template-columns:62px minmax(100px,1fr) 70px minmax(90px,1fr) minmax(96px,1fr) 28px;
      grid-template-areas:"product product product product product remove" "qty price discount net total .";
      gap:5px 7px;
    }
    #quoteBuilderModal .quote-line-field > span,
    #quoteBuilderModal .quote-line-value > span {
      position:static; width:auto; height:auto; padding:0; margin:0; overflow:visible;
      clip:auto; clip-path:none; white-space:normal; font-size:10px;
    }
  }
  @media (max-width:1100px) {
    #quoteBuilderModal .quote-erp-shell {grid-template-columns:minmax(0,1fr);}
    #quoteBuilderModal .quote-erp-side {grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
    #quoteBuilderModal .quote-side-card + .quote-side-card {border-top:0;}
    #quoteBuilderModal #quoteBuilderItems {max-height:420px;}
    #quoteBuilderModal .quote-builder-head-actions {margin-left:0;}
  }
  @media (max-width:700px) {
    #quoteBuilderModal > .quote-erp-head {gap:7px; padding:7px 8px;}
    #quoteBuilderModal .quote-builder-brand {flex-basis:100%;}
    #quoteBuilderModal .quote-builder-head-actions {width:100%; gap:4px;}
    #quoteBuilderModal .quote-document-actions {gap:4px; padding-left:4px;}
    #quoteBuilderModal .quote-toolbar-group {gap:3px;}
    #quoteBuilderModal .quote-toolbar-group + .quote-toolbar-group {padding-left:4px;}
    #quoteBuilderModal .quote-icon-button {width:32px; min-width:32px; max-width:32px; height:34px; min-height:34px;}
    #quoteBuilderModal .quote-format-popover {right:auto; left:0; width:165px;}
    #quoteBuilderModal .quote-erp-side {grid-template-columns:1fr 1fr; gap:0 12px;}
    #quoteBuilderModal .quote-total-card {grid-column:1 / -1; border-top:1px solid #e2e8f0!important;}
    #quoteBuilderModal .quote-search-row {grid-template-columns:minmax(0,1fr) 92px 32px; gap:4px 6px;}
    #quoteBuilderModal .quote-search-product {grid-column:1; grid-row:1; grid-template-columns:1fr;}
    #quoteBuilderModal .quote-search-stocks {grid-column:1 / -1; grid-row:2;}
    #quoteBuilderModal .quote-search-price {grid-column:2; grid-row:1;}
    #quoteBuilderModal .quote-search-row .btn {grid-column:3; grid-row:1;}
    #quoteBuilderModal .quote-warehouse-legend {display:none;}
    #quoteBuilderModal .quote-builder-search-results {margin-top:5px;}
    #quoteBuilderModal .quote-discount-rule {display:none;}
  }
  @media (max-width:620px) {
    #quoteBuilderModal #quoteBuilderItems {max-height:none; overflow:visible;}
    #quoteBuilderModal .quote-builder-head-actions {flex-wrap:wrap;}
  }
  @media (max-width:450px) {
    #quoteBuilderModal .quote-erp-side {grid-template-columns:1fr;}
    #quoteBuilderModal .quote-side-card + .quote-side-card {border-top:1px solid #e2e8f0;}
    #quoteBuilderModal .quote-document-actions {display:contents;}
    #quoteBuilderModal .quote-format-popover {left:auto; right:0;}
    #quoteBuilderModal .quote-builder-heading {max-height:48px; overflow:auto;}
  }
  @container nexora-quote-cart (max-width:530px) {
    #quoteBuilderModal .quote-erp-cart .quote-builder-line {
      grid-template-columns:minmax(48px,.7fr) minmax(100px,1.3fr) minmax(66px,1fr);
      grid-template-areas:"product product remove" "qty price discount" "net total total";
    }
    #quoteBuilderModal .quote-line-product {grid-template-columns:1fr;}
    #quoteBuilderModal .quote-line-remove {align-self:start;}
  }
  @media (prefers-reduced-motion:reduce) {
    #quoteBuilderModal .quote-icon-button[aria-busy="true"]::after {animation:none;}
  }
}
@keyframes quote-action-spin {to{transform:rotate(360deg);}}
