/* Continuous product browser + explicit quote review. The measured spacing
   scale supplies 12px row padding and 8px separation; 40px controls stay intact.
   The existing 440px drawer opens only when the rep chooses to review or edit. */
#builder-layout,#builder-browse,#builder-cart{display:contents}
.builder-heading,.builder-cart-head,#builder-customer>label,#builder-customer>select,.builder-customer-hint,#builder-tools,#builder-cart-toggle,#builder-cart-backdrop,#builder-cart-status,#builder-review-bar,.builder-sr{display:none}
body.builder-active #builder-layout{display:block;z-index:auto;padding-bottom:calc(var(--s11) + var(--s6) + env(safe-area-inset-bottom,0px))}
body.builder-active #builder-browse{display:block;min-width:0}
body.builder-active .builder-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4)}
.builder-heading h2,.builder-cart-head h2{font-size:var(--fs-body);font-weight:var(--fw-med);line-height:var(--lh-ui);margin:0}
.builder-heading p,.builder-cart-head p{font-size:var(--fs-fine);color:var(--muted);margin:4px 0 0;line-height:var(--lh-ui)}
.builder-view{display:flex;border:1px solid var(--line);border-radius:var(--radius-btn);overflow:hidden;flex:none}
.builder-browse-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s3);flex-wrap:wrap}
.builder-view button{min-height:40px;padding:0 var(--s3);border:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-base);cursor:pointer}
.builder-view button[aria-pressed=true]{background:var(--band);color:var(--fg)}
/* A retained entrance transform would make fixed mobile controls follow the page. */
body.builder-active #priceui{padding-top:0;animation:none;transform:none}
body.builder-active #qs1,body.builder-active #qs2,body.builder-active #qs3,body.builder-active #qs4{border:0;padding:0;margin:0;min-width:0}
body.builder-active .qs-h{display:none}
body.builder-active #controls{position:static;display:flex;flex-wrap:wrap;padding:var(--s4);gap:var(--s3);margin:0 0 var(--s4);box-shadow:none;border:1px solid var(--card-line);border-radius:var(--radius-card);background:var(--card)}
body.builder-active #controls #q{flex:1 1 100%;width:100%;min-width:0;height:44px}
body.builder-active #controls select{flex:1 1 180px;min-width:0;max-width:100%;height:40px;font-size:var(--fs-base)}
body.builder-active #controls label.chk{font-size:var(--fs-fine);min-height:24px;margin:0}
body.builder-active #controls #selvis,body.builder-active #controls #grpall{display:none}
body.builder-active #controls #tmplbtn{margin-left:auto;min-height:40px}
body.builder-active #controls #count{width:100%;margin:0;font-size:var(--fs-fine);text-align:left}
body.builder-active #out{border:0;background:transparent;overflow:visible;padding:0;scroll-margin-top:calc(var(--top-h) + var(--s6))}
.builder-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}
.builder-product{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius-card);min-width:0;transition:border-color var(--t-fast) ease}
.builder-product.in-quote{border-color:var(--c-good)}
.builder-product-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);flex-wrap:wrap}
.builder-category{color:var(--muted);font-size:var(--fs-fine);line-height:var(--lh-ui)}
.builder-product h3{font-size:var(--fs-body);font-weight:var(--fw-med);line-height:var(--lh-ui);margin:0;overflow-wrap:anywhere}
.builder-product-specs{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3);margin-top:auto;flex-wrap:wrap}
.builder-product label,.builder-spec,.builder-price{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-fine);color:var(--muted);min-width:0}
.builder-product label{max-width:100%}
.builder-strength{font:inherit;font-size:var(--fs-base);color:var(--fg);height:40px;min-width:100px;max-width:100%;padding:var(--s2) var(--s7) var(--s2) var(--s3);border:1px solid var(--btn-line);border-radius:var(--radius-input);background-color:var(--input-bg)}
.builder-spec b{font-size:var(--fs-base);font-weight:var(--fw-med);color:var(--fg);min-height:40px;display:flex;align-items:center}
.builder-price b{font-size:var(--fs-body);font-weight:var(--fw-med);color:var(--fg)}
.builder-price span{line-height:var(--lh-ui)}
body.builder-active .builder-product .qadd{font:inherit;font-size:var(--fs-base);font-weight:var(--fw-med);width:100%;min-height:40px;border:1px solid var(--c-good);border-radius:var(--radius-btn);background:var(--c-good);color:#FFFFFF;padding:var(--s2) var(--s3);cursor:pointer}
body.dark.builder-active .builder-product .qadd{color:#141414}
body.builder-active .builder-product .qadd:hover:not(:disabled){filter:brightness(.92)}
body.builder-active .builder-product .qadd:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
body.builder-active .builder-product .qadd:disabled{cursor:not-allowed;background:var(--band);border-color:var(--line);color:var(--muted);opacity:1}
body.builder-active .builder-product.in-quote .qadd{color:var(--c-good);background:var(--c-good-bg);border-color:transparent}
#builder-browse[data-view=list] .builder-products{grid-template-columns:1fr}
#builder-browse[data-view=list] .builder-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1.1fr) 96px 124px;column-gap:var(--s3);row-gap:4px;padding:var(--s3);align-items:center}
#builder-browse[data-view=list] .builder-product-top{grid-column:1;grid-row:1;justify-content:flex-start}
#builder-browse[data-view=list] .builder-product h3{grid-column:1;grid-row:2;font-size:var(--fs-base)}
#builder-browse[data-view=list] .builder-product-specs{grid-column:2;grid-row:1/3;margin:0;flex-wrap:nowrap}
#builder-browse[data-view=list] .builder-tier-prices{grid-column:3;grid-row:1/3}
#builder-browse[data-view=list] .qadd{grid-column:4;grid-row:1/3}
.builder-tier-toggle{display:none;font:inherit;font-size:var(--fs-fine);color:var(--c-info);border:0;background:transparent;min-height:32px;padding:4px 0;cursor:pointer;text-decoration:none}
#builder-browse[data-view=list] .builder-tier-toggle{display:inline-flex;align-items:center;gap:var(--s2)}
.builder-tier-content{font-size:var(--fs-fine);line-height:var(--lh-ui)}
.builder-tier-content table{width:100%;border-collapse:collapse;font:inherit;table-layout:fixed;background:transparent}
/* These are three-column price comparisons, not the legacy catalogue register.
   Keep the same aligned columns on phones and inside the list tooltip. */
#out .builder-tier-content table{display:table;min-width:0;width:100%}
#out .builder-tier-content thead{display:table-header-group;position:static;left:auto;height:auto;overflow:visible}
#out .builder-tier-content tbody{display:table-row-group}
#out .builder-tier-content tr{display:table-row;padding:0;background:transparent;overflow:visible}
#out .builder-tier-content th,#out .builder-tier-content td{display:table-cell;position:static;padding:var(--s2) 0;width:auto;min-width:0;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)!important}
#out .builder-tier-content th:first-child{text-align:left}
.builder-tier-content caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.builder-tier-content th,.builder-tier-content td{padding:var(--s2) 0;border:0;border-bottom:1px solid var(--line);font:inherit;text-align:right;white-space:nowrap;background:transparent;color:var(--fg);font-variant-numeric:tabular-nums}
.builder-tier-content th:first-child{text-align:left;font-weight:var(--fw-med)}
.builder-tier-content thead th{font-weight:var(--fw-reg);color:var(--muted)}
.builder-tier-content p{margin:var(--s2) 0 0;color:var(--muted);font-size:var(--fs-fine);line-height:var(--lh-ui)}
.builder-tier-popover[popover]{position:fixed;inset:auto;margin:0;width:min(320px,calc(100vw - var(--s4)));max-width:none;padding:var(--s4);border:1px solid var(--card-line);border-radius:var(--radius-sm);background:var(--card);color:var(--fg);box-shadow:var(--shadow-md);z-index:300}
.builder-tier-popover[popover]::backdrop{background:transparent;pointer-events:none}
#resumeQuote{position:relative}
#resumeQuote[hidden]{display:none!important}
#resumeQuote>span{min-width:16px;padding:0 4px;position:absolute;right:0;top:0;border-radius:var(--radius-sm);background:var(--c-info-bg);color:var(--c-info);font-size:var(--fs-fine);line-height:16px;text-align:center;font-variant-numeric:tabular-nums}
body.builder-active #builder-cart{display:flex;flex-direction:column;min-width:0;position:fixed;top:0;right:0;bottom:0;width:min(100%,440px);max-height:none;border:1px solid var(--card-line);border-radius:0;background:var(--card);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;z-index:251;transform:translateX(100%);visibility:hidden;transition:transform var(--t-med) var(--e-out),visibility var(--t-med)}
body.builder-active.builder-cart-open #builder-cart{transform:translateX(0);visibility:visible}
body.builder-active.builder-cart-open{overflow:hidden}
body.builder-active .builder-cart-head{position:sticky;top:0;background:var(--card);z-index:3;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--card-pad);border-bottom:1px solid var(--line)}
body.builder-active #builder-cart-close{display:grid;place-items:center;width:40px;height:40px;min-width:40px;border:1px solid var(--btn-line);background:var(--btn-bg);color:var(--fg);border-radius:var(--radius-btn);font:inherit;cursor:pointer}
/* One persistent review action, outside the catalogue repaint. The rail owns
   the left inset, just as it does for the header; the safe area stays clear. */
body.builder-active #builder-review-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);position:fixed;left:0;right:0;bottom:0;padding:var(--s3) var(--page-pad);padding-bottom:calc(var(--s3) + env(safe-area-inset-bottom,0px));border-top:2px solid var(--cart-foot-rule);background:var(--cart-foot);box-shadow:var(--cart-foot-shadow);z-index:50}
body.repshell.builder-active #builder-review-bar{left:var(--rail-w)}
body.repshell.railmin.builder-active #builder-review-bar{left:var(--rail-min)}
.builder-review-summary{display:flex;align-items:baseline;gap:var(--s4);flex-wrap:wrap;min-width:0}
#builder-review-count{font-size:var(--fs-fine);color:var(--muted);line-height:var(--lh-ui)}
#builder-review-value{font-size:var(--fs-body);font-weight:var(--fw-med);color:var(--fg);font-variant-numeric:tabular-nums;line-height:var(--lh-ui)}
body.builder-active #builder-cart-toggle{display:flex;align-items:center;justify-content:center;gap:var(--s2);position:static;flex:none;min-height:44px;min-width:152px;padding:var(--s3) var(--s4);background:var(--c-good);color:#FFFFFF;border:1px solid var(--c-good);border-radius:var(--radius-btn);font:inherit;font-size:var(--fs-base);font-weight:var(--fw-med);cursor:pointer}
body.dark.builder-active #builder-cart-toggle{color:#141414}
body.builder-active #builder-cart-toggle:hover:not(:disabled){filter:brightness(.92)}
body.builder-active #builder-cart-toggle:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
body.builder-active #builder-cart-toggle:disabled{background:var(--band);border-color:var(--line);color:var(--muted);cursor:default}
body.builder-active #builder-cart-toggle>span{display:none}
body.builder-active.builder-cart-open #builder-review-bar,body.builder-active .builder-done #builder-review-bar{display:none}
body.builder-active.builder-cart-open #builder-cart-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);border:0;z-index:250;cursor:pointer}
body.builder-active #builder-customer{padding:var(--card-pad);border-bottom:1px solid var(--line)}
body.builder-active #builder-customer>label{display:block;font-size:var(--fs-fine);color:var(--muted);margin-bottom:var(--s2)}
body.builder-active #builder-customer>select{display:block;width:100%;height:40px;border:1px solid var(--btn-line);border-radius:var(--radius-input);background-color:var(--input-bg);color:var(--fg);font:inherit;font-size:var(--fs-base);padding:var(--s2) var(--s7) var(--s2) var(--s3)}
body.builder-active .builder-customer-hint{display:block;font-size:var(--fs-fine);color:var(--muted);line-height:var(--lh-ui);margin:var(--s2) 0 0}
body.builder-active #builder-customer #chdr{display:grid;grid-template-columns:1fr 1fr;border:0;padding:0;gap:var(--s3);margin:var(--s4) 0 0;background:transparent;box-shadow:none}
body.builder-active #builder-customer #chdr label{width:auto;min-width:0;margin:0;font-size:var(--fs-fine);gap:var(--s2)}
body.builder-active #builder-customer #chdr label:first-child{grid-column:1/-1}
body.builder-active #builder-customer #chdr label:nth-child(4){grid-column:1/-1}
body.builder-active #builder-customer #chdr input{width:100%;min-width:0;height:40px;font-size:var(--fs-base);padding:var(--s2) var(--s3)}
body.builder-active #builder-tools:not([hidden]){display:block;border-bottom:1px solid var(--line);padding:var(--s3) var(--card-pad);font-size:var(--fs-fine)}
#builder-tools>summary{cursor:pointer;min-height:24px;color:var(--muted)}
#builder-tools .tacc{margin:var(--s3) 0 0;box-shadow:none}
#builder-tools .markupbar{padding:var(--s3);gap:var(--s2)}
#builder-tools .mhint{font-size:var(--fs-fine);line-height:var(--lh-ui);letter-spacing:0}
#builder-tools #builder-all-options .addall{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s3) 0 0;padding:0;border:0}
#builder-tools .addall-t{flex-basis:100%}
body.builder-active #cart{display:block;margin:0;border:0;background:transparent;padding:0}
body.builder-active #cart .cart-h{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);padding:var(--card-pad);background:transparent;border:0}
body.builder-active #cart .cart-t,body.builder-active #cart .cart-sp,body.builder-active #cart .cart-n{display:none}
body.builder-active #cart .cart-f{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:var(--fs-fine);letter-spacing:0}
body.builder-active #cart .cart-f b{font-size:var(--fs-body);font-weight:var(--fw-med)}
body.builder-active #cart .cart-clear{grid-column:1/-1;justify-self:start;font-size:var(--fs-base);color:var(--muted);min-height:32px;margin:0}
body.builder-active #cart .cart-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);padding:var(--card-pad);margin:0;border-top:1px solid var(--line);background:transparent;position:relative}
body.builder-active #cart .cr-nm{grid-column:1/-1;font-size:var(--fs-base);line-height:var(--lh-ui);padding-right:var(--s7);min-width:0;overflow-wrap:anywhere}
body.builder-active #cart .cr-nm em{display:block;font-size:var(--fs-fine);font-style:normal;color:var(--muted);margin-top:4px}
body.builder-active #cart .cr-f{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:var(--fs-fine);letter-spacing:0;min-width:0}
body.builder-active #cart .cr-f b{font-size:var(--fs-base);font-weight:var(--fw-med);white-space:normal}
body.builder-active #cart .cr-q,body.builder-active #cart .cr-p{width:100%;max-width:none;height:40px;padding:var(--s2) var(--s3);font-size:var(--fs-base);text-align:left;background:var(--input-bg);border:1px solid var(--btn-line);border-radius:var(--radius-input)}
body.builder-active #cart .cr-x{position:absolute;right:var(--s3);top:var(--s3);width:40px;height:40px;min-width:40px;border:0;background:transparent;color:var(--muted)}
body.builder-active #cart .cr-ovr{grid-column:1/-1;justify-self:start;min-height:32px;padding:4px var(--s2);width:auto;font-size:var(--fs-base);border:1px solid var(--btn-line);border-radius:var(--radius-btn);background:transparent;color:var(--muted)}
body.builder-active #cart .cr-ovr.on{color:var(--c-bad);background:var(--c-bad-bg);border-color:var(--c-bad)}
body.builder-active #cart .cr-warn,body.builder-active #cart .cart-hold{grid-column:1/-1;font-size:var(--fs-fine);line-height:var(--lh-ui);letter-spacing:0;color:var(--c-bad);background:var(--c-bad-bg);padding:var(--s3);border-radius:var(--radius-sm)}
body.builder-active #cart .cart-hold{margin:0 var(--card-pad) var(--s3)}
.builder-line-options{grid-column:1/-1;border-top:1px solid var(--line);padding-top:var(--s3);font-size:var(--fs-fine)}
.builder-line-options .addcell{padding:0;text-align:left}
.builder-line-options .addctl{display:flex;flex-direction:row;align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;gap:var(--s3)}
.builder-line-options .fillsel{height:40px;font-size:var(--fs-base);min-width:120px}
.builder-line-options .lblchk{font-size:var(--fs-fine);min-height:40px}
.builder-size{display:flex;flex-direction:column;gap:var(--s2);font-size:var(--fs-fine);color:var(--muted)}
.builder-size-fixed{display:flex;align-items:center;gap:var(--s2);min-height:40px;font-size:var(--fs-base);color:var(--fg)}
.builder-size-fixed small{font-size:var(--fs-fine);color:var(--muted)}
body.builder-active #cart .builder-cart-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s3);padding:var(--s7) var(--card-pad);font-size:var(--fs-base);color:var(--fg)}
.builder-cart-empty svg{width:48px;height:48px;fill:var(--accent);opacity:.45}
.builder-cart-empty b{font-weight:var(--fw-med)}
.builder-cart-empty p{font-size:var(--fs-fine);color:var(--muted);line-height:var(--lh-text);margin:0}
/* v5: the Save footer is its own surface — a contrasting band (the page background in dark, where
   --band equals --card), a 2px rule and an upward shadow, so the drawer's one action reads as the end
   of the quote rather than another line. Print zeroes --cart-foot-shadow (see the v5 block below). */
body.builder-active #builder-cart #qs4{position:sticky;bottom:0;background:var(--cart-foot);margin-top:auto;border-top:2px solid var(--cart-foot-rule);padding:var(--card-pad);z-index:2;box-shadow:var(--cart-foot-shadow)}
body.builder-active #builder-cart #wsum{display:flex;flex-direction:column;align-items:stretch;gap:var(--s3);position:static;padding:0;margin:0;background:transparent;border:0;box-shadow:none;min-height:0}
body.builder-active #builder-cart #wsumtxt{font-size:var(--fs-fine);color:var(--muted);letter-spacing:0;line-height:var(--lh-ui)}
body.builder-active #builder-cart #wsumnext{width:100%;min-height:48px;font-size:var(--fs-base);font-weight:var(--fw-med);justify-content:center;border:1px solid var(--accent);border-radius:var(--radius-btn);background:var(--accent);color:var(--accent-fg)}
body.builder-active #builder-cart #wsumnext:hover:not(:disabled){filter:brightness(1.06)}
body.builder-active #builder-cart #wsumnext:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
body.builder-active #builder-cart #ovrbar{margin:var(--s3) var(--card-pad);padding:var(--s3)}
body.builder-active #builder-cart #ovrbar textarea{font-size:var(--fs-base)}
body.builder-active #builder-cart-status:not(:empty){display:block;padding:var(--s3) var(--card-pad);font-size:var(--fs-fine);line-height:var(--lh-ui);color:var(--muted);border-bottom:1px solid var(--line)}
body.builder-active .topactions #savebtn{display:none}
body.builder-active .topactions #print{background:transparent;color:var(--fg)}
body.builder-active #builder-layout.builder-done{max-width:720px;margin:0 auto}
body.builder-active .builder-done #builder-browse,body.builder-active .builder-done #builder-customer,body.builder-active .builder-done #builder-tools,body.builder-active .builder-done .builder-cart-head{display:none}
body.builder-active .builder-done #builder-cart{max-height:none;position:static;transform:none;visibility:visible;width:100%;border-radius:var(--radius-card)}
body.builder-active .builder-done #builder-cart-toggle{display:none}
.builder-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body.builder-active .builder-sr{display:block}
@keyframes quoteLineIn{from{opacity:0;transform:translateX(var(--s7))}to{opacity:1;transform:translateX(0)}}
#cart .just-added{animation:quoteLineIn var(--t-med) var(--e-out)}
@media(min-width:721px) and (max-width:1200px){.builder-products{grid-template-columns:1fr}#builder-browse[data-view=list] .builder-product{grid-template-columns:minmax(0,1fr) 124px;row-gap:var(--s2)}#builder-browse[data-view=list] .builder-product-top{grid-column:1;grid-row:1}#builder-browse[data-view=list] .builder-product h3{grid-column:1;grid-row:2}#builder-browse[data-view=list] .builder-product-specs{grid-column:1;grid-row:3;flex-wrap:wrap}#builder-browse[data-view=list] .builder-tier-prices{grid-column:2;grid-row:3}#builder-browse[data-view=list] .qadd{grid-column:2;grid-row:1/3}}
@media(max-width:1023px){body.repshell.builder-active #builder-review-bar{left:var(--rail-min)}}
@media(max-width:960px){
    body.builder-active #builder-cart{scrollbar-gutter:auto}
  body.builder-active #builder-cart #chdr input,body.builder-active #builder-cart select,body.builder-active #cart input,body.builder-active #builder-cart textarea{font-size:var(--fs-body)}
  body.builder-active #builder-layout.builder-done{max-width:none}
}
@media(max-width:720px){
  body.repshell.builder-active #builder-review-bar,body.repshell.railmin.builder-active #builder-review-bar{left:0;padding-left:var(--s4);padding-right:var(--s4);gap:var(--s3)}
  .builder-review-summary{flex-direction:column;align-items:flex-start;gap:2px}
  body.builder-active #builder-cart-toggle{min-width:136px;padding:var(--s2) var(--s3)}
  .builder-products{grid-template-columns:1fr}
  .builder-heading{flex-wrap:wrap}
  .builder-product{gap:var(--s3);padding:var(--s4)}
  #builder-browse[data-view=list] .builder-product{grid-template-columns:minmax(0,1fr) 120px}
  #builder-browse[data-view=list] .builder-product-top{grid-column:1/-1;grid-row:1}
  #builder-browse[data-view=list] .builder-product h3{grid-column:1;grid-row:2}
  #builder-browse[data-view=list] .builder-product-specs{grid-column:1/-1;grid-row:3}
  #builder-browse[data-view=list] .builder-product .qadd{grid-row:2;grid-column:2}
  #builder-browse[data-view=list] .builder-tier-prices{grid-row:4;grid-column:1/-1}
  body.builder-active #controls{padding:var(--s3)}
  body.builder-active #controls #q,body.builder-active #controls select,.builder-strength{font-size:var(--fs-body)}
}
@media(prefers-reduced-motion:reduce){#cart .just-added{animation:none}body.builder-active #builder-cart{transition:none}}
@media print{.builder-heading,#builder-review-bar,#builder-cart-toggle,#builder-cart-backdrop,.builder-cart-head,#builder-customer,#builder-tools{display:none!important}}

body.builder-active #builder-customer #chdr{grid-template-columns:1fr}
.builder-quote-details{font-size:var(--fs-fine);color:var(--muted)}
.builder-quote-details summary{cursor:pointer;min-height:24px}
.builder-quote-details>div{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s3)}
body.builder-active #builder-customer #chdr .builder-quote-details label{grid-column:auto}
body.builder-active #builder-customer #chdr .builder-quote-details label:last-child{grid-column:1/-1}
body.builder-active #wsumnext:disabled,body.builder-active #builder-cart #wsumnext:disabled{background:var(--band);border-color:var(--line);color:var(--muted);box-shadow:none;opacity:1;filter:none;cursor:default}

#builder-company{display:none}
body.builder-active #builder-company{display:grid;gap:var(--s2);padding:var(--card-pad);border-bottom:1px solid var(--line)}
#builder-company label{font-size:var(--fs-fine);color:var(--muted)}
#builder-company input{font:inherit;font-size:var(--fs-base);width:100%;min-width:0;min-height:40px;padding:var(--s2) var(--s3);border:1px solid var(--btn-line);border-radius:var(--radius-input);background:var(--input-bg);color:var(--fg)}
#builder-company-status{font-size:var(--fs-fine);color:var(--muted);margin:0;line-height:var(--lh-ui)}
body.builder-active #profile-setup{display:none}

/* ===== v5 (WS1): quote-drawer stripes and the footer surface =====
   The drawer reverses the builder's "flat, no zebra" rule for the CART only: seven or more lines of
   identical fields are easier to tell apart with alternating rows. `of .cart-row` skips the totals
   header and the approval-hold notice, so the stripe follows the lines themselves. The stripe is a
   light ink mix one step under the footer's --band, so the footer stays distinct from a striped last
   line (in dark mode --band equals --card, so the footer uses the page background instead). A
   below-floor line keeps its 3px left rule and red notice on either fill; a just-added line animates
   opacity/transform only. */
body.builder-active{--cart-zebra:color-mix(in srgb,var(--fg) 3.5%,var(--card));--cart-foot:var(--band);--cart-foot-rule:color-mix(in srgb,var(--fg) 22%,var(--card));--cart-foot-shadow:0 -8px 24px -12px rgb(17 17 20 / .22)}
body.dark.builder-active{--cart-zebra:color-mix(in srgb,var(--fg) 5%,var(--card));--cart-foot:var(--bg);--cart-foot-rule:color-mix(in srgb,var(--fg) 24%,var(--card));--cart-foot-shadow:0 -10px 28px -12px rgb(0 0 0 / .6)}
body.builder-active #cart .cart-row:nth-child(even of .cart-row){background:var(--cart-zebra)}
@media print{body.builder-active{--cart-foot-shadow:none}body.builder-active #cart .cart-row:nth-child(even of .cart-row){background:transparent}}
