/* Small approval-only additions using the existing beta tokens. */
.roof-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:-4px 0 18px;padding:14px;background:var(--canvas);border-radius:6px}
.roof-guide p{font-size:14px;margin:0}.roof-guide strong,.roof-guide span{display:block}.roof-guide span{font-size:13px;color:var(--muted);margin-top:4px}
.options-details .form-grid.three{grid-template-columns:1fr auto;align-items:center}.decide-later{font-size:14px;padding-inline:10px}.options-details .form-grid.three .field{margin-bottom:10px}
.preview-bar .container{flex-wrap:wrap;padding-block:6px}.preview-bar nav{flex-wrap:wrap;gap:18px}.preview-bar strong{font-size:14px}
.field-proposal{max-width:1050px;margin:40px auto;padding:0 24px}.field-proposal .intro{max-width:780px}.field-proposal table{border-collapse:collapse;width:100%;font-size:16px;margin-block:22px}.field-proposal th,.field-proposal td{border:1px solid var(--border);padding:16px;text-align:left;vertical-align:top}.field-proposal th{background:var(--navy);color:white}.field-proposal h2{margin-top:36px}.field-proposal code{font-size:13px}.field-proposal .notice{padding:20px;background:var(--selected);border-left:4px solid var(--navy)}
@media(max-width:759px){.roof-guide{grid-template-columns:1fr;gap:10px}.roof-guide p{display:grid;grid-template-columns:90px 1fr}.roof-guide span{margin:0}.options-details .form-grid.three{grid-template-columns:1fr}.decide-later{margin-top:-14px;margin-bottom:10px;justify-self:start}.preview-bar nav{gap:12px}.field-proposal table,.field-proposal tbody,.field-proposal tr,.field-proposal td{display:block}.field-proposal thead{display:none}.field-proposal td:first-child{background:var(--selected);font-weight:700}.field-proposal tr{margin-bottom:16px}}

/* Ben's compact revision: preserve brand, promote colors, put help beside decisions. */
.configuration .form-body{padding:22px 24px 8px}.configuration .form-body h2{font-size:30px;margin-bottom:18px}.configuration .step-intro{margin-bottom:10px}.configuration .step-intro .eyebrow{margin:0}.configuration .step-intro .text-button{font-size:14px;padding:4px 0;min-height:32px}
.configuration .field{position:relative;margin-bottom:14px}.configuration .field label{font-size:15px;line-height:1.35;margin-bottom:6px}.configuration .field input,.configuration .field select{min-height:44px;padding:9px 10px}.configuration .field textarea{min-height:76px}.configuration .form-grid{gap:0 12px}.configuration .size-grid{margin-top:4px}.configuration .size-note{font-size:13px;margin:-3px 0 16px}
.help-button{display:inline-grid;place-items:center;vertical-align:middle;width:30px;height:30px;min-width:30px;padding:0;background:white;border:1px solid var(--border);border-radius:50%;color:var(--navy);font-size:15px;font-weight:700;line-height:1;margin-left:5px}.help-button:hover{background:var(--selected);border-color:var(--navy)}.field>.help-button{position:absolute;top:-5px;right:0}.field:has(>.help-button)>label{padding-right:28px}.configuration h3{display:flex;align-items:center;gap:5px;font-size:23px;margin:0 0 12px}.size-choice input{margin-top:8px}.size-choice .field-help{display:block;font-size:12px;margin-top:4px}
.color-section{background:var(--selected);border:1px solid var(--border);border-radius:6px;padding:14px 14px 0;margin:4px 0 20px}.color-section .field>.field{margin-top:8px}.color-section .field>.field label{font-size:13px}.coverage-section{margin-bottom:10px}.wall-layout{display:grid;grid-template-columns:145px minmax(0,1fr);gap:16px;align-items:start}.wall-layout .orientation{margin:0;padding:4px 0;background:var(--canvas);border:0}.compact-plan svg{display:block;max-height:230px;margin:auto}.compact-plan .plan-caption{font-size:11px}.wall-layout .wall-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.compact-wall .field{margin-bottom:12px}.partial-fields{padding:9px;background:var(--canvas);border-radius:4px}.partial-fields label{font-size:13px!important}.compact-options{margin:0!important;border-top:1px solid var(--border);border-bottom:0!important}.compact-options summary{display:flex;align-items:center;gap:4px;font-size:15px;padding:10px 0;min-height:44px}.compact-options summary:before{content:'▸';font-size:15px;display:inline-block;margin-right:6px}.compact-options[open] summary:before{content:'▾'}.compact-options summary span{display:inline;font-size:12px;font-weight:400;color:var(--muted);margin-left:auto}.compact-options summary .help-button{margin-left:auto}.compact-options .details-content{padding:8px 0}.configuration .form-actions{padding:18px 24px 0}.configuration .form-footnote{margin:10px 24px 16px}.configuration .form-body>.field:last-child{margin-top:14px}
.reference-details{padding:12px 20px;border:1px solid var(--border);border-radius:6px}.reference-details>summary{font-size:16px;font-weight:600;min-height:32px}.reference-details .planning-card{border:0;padding:18px 0 8px}.reference-details .support-note{padding:12px 0}.reference-details .support-note h3{font-size:22px}.reference-details .support-note p{font-size:15px}.summary-card{padding:22px}.mini-specs{font-size:15px}.mini-specs>div{padding-block:8px}.page-heading{margin-bottom:24px}.page-heading p{font-size:18px;max-width:800px}.product-layout{gap:24px}.product-support{gap:18px}.opening-list .opening-card .wide{grid-column:1/-1}
@media(max-width:1100px) and (min-width:760px){.wall-layout{grid-template-columns:115px minmax(0,1fr);gap:10px}.wall-layout .wall-grid{grid-template-columns:1fr}.configuration .size-grid{grid-template-columns:1fr}.color-section .form-grid.three{grid-template-columns:1fr}}
@media(max-width:759px){.configuration .form-body{padding:18px 16px 8px}.configuration .form-body h2{font-size:28px}.configuration .size-grid{grid-template-columns:1fr 1fr;gap:0 12px}.configuration .size-grid .field:last-child{grid-column:1/-1}.color-section .form-grid.three{grid-template-columns:1fr}.color-section .field{display:grid;grid-template-columns:65px 1fr;align-items:center;gap:0 10px}.color-section .field>label{margin:0}.color-section .field>.field{display:block;grid-column:2;margin-bottom:2px}.color-section .field>.field label{display:block;margin-bottom:6px}.wall-layout{grid-template-columns:105px minmax(0,1fr);gap:12px}.wall-layout .wall-grid{grid-template-columns:1fr;gap:0}.wall-layout .orientation{margin-top:26px}.wall-layout .compact-plan svg{min-height:160px}.configuration .form-actions{padding:14px 16px 0}.configuration .form-footnote{margin:10px 16px 14px}.compact-options summary{font-size:14px}.compact-options summary span{font-size:11px}.help-button{width:32px;height:32px;min-width:32px}.field>.help-button{top:-6px}.configuration .size-grid .field label{font-size:14px}.product-visual figure img{max-height:230px;object-fit:cover}.product-support .summary-card{padding:20px}.reference-details{padding:12px 18px}}
@media(max-width:359px){.configuration .size-grid{grid-template-columns:1fr}.wall-layout{grid-template-columns:85px minmax(0,1fr);gap:8px}}
.compact-plan .plan-word{display:block;text-align:center;font-size:12px;line-height:1.4;padding:2px 0}.compact-plan .plan-small{font-size:10px}.compact-plan .plan-body{position:relative}.compact-plan .plan-side{position:absolute;top:46%;font-size:11px}.compact-plan .plan-left{left:4px}.compact-plan .plan-right{right:3px}.wall-layout .compact-plan{padding:8px 0}.wall-layout .compact-plan svg{min-height:0;max-height:170px;width:100%}

.form-steps.two-steps{grid-template-columns:1fr 1fr}.context-message{padding:18px;background:var(--selected);border-radius:6px}.context-message h3{font-size:24px}.unresolved-opening{border-color:var(--warning);background:var(--warning-surface)}.partial-fields .field:last-child{margin-bottom:0}.partial-fields .field-help{font-size:12px;margin:6px 0 0}.coverage-section h3>.help-button:last-child{margin-left:auto}

.zip-first{padding:12px;background:var(--selected);border:1px solid var(--border);border-radius:6px;margin:0 0 16px}.configuration .zip-first h2{font-size:23px;line-height:1.25;margin:0 0 8px}.configuration .zip-first .field{display:grid;grid-template-columns:minmax(0,auto) 110px;justify-content:start;align-items:center;gap:0 12px;margin:0}.configuration .zip-first label{margin:0}.zip-first input{width:110px}.zip-first .field-error{grid-column:1/-1;margin:8px 0 0}.installation-zip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px;margin:0 0 12px}.installation-zip .text-button{margin-left:auto;min-height:44px}.configuration .location-grid{grid-template-columns:1fr 1fr}@media(max-width:359px){.configuration .location-grid{grid-template-columns:1fr}}

.zip-first{border:1.5px solid var(--red)}.zip-unlock-hint{font-size:13px;margin:-4px 0 12px;color:var(--muted)}.zip-dependent-fields[aria-disabled="true"]{user-select:none}
.configuration .swatch-section{padding:14px;margin-bottom:20px}
.configuration .swatch-section h3{margin-bottom:3px}
.swatch-note{font-size:12px;color:var(--muted);margin:0 0 10px}
.configuration .surface-swatches{border:0;border-top:1px solid var(--border);border-radius:0;min-width:0;padding:8px 0 4px;margin:8px 0 0}
.surface-swatches legend{padding:0 8px 0 0;font-size:15px;font-weight:600;color:var(--navy)}
.surface-swatches legend span{font-size:13px;font-weight:400;color:var(--muted);margin-left:8px}
.swatch-palette{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.swatch-option{position:relative;display:grid;place-items:center;min-width:0;min-height:44px;cursor:pointer;margin:0}
.swatch-option input,.swatch-alternative input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.swatch-face{display:block;width:32px;height:32px;border:1px solid #6d7883;border-radius:5px;background:var(--sample-color);position:relative;pointer-events:none}
.swatch-option input:checked+.swatch-face{outline:2px solid var(--navy);outline-offset:3px}
.swatch-option input:checked+.swatch-face:after{content:'✓';position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:16px;height:16px;background:var(--navy);color:white;border:1px solid white;border-radius:50%;font-size:11px;font-weight:700}
.swatch-option input:focus-visible+.swatch-face{outline:3px solid var(--focus);outline-offset:3px}
.swatch-alternatives{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:2px}
.swatch-alternative{position:relative;display:inline-flex;align-items:center;min-height:32px;cursor:pointer;margin:0}
.swatch-alternative span{display:block;border:1px solid transparent;border-radius:4px;padding:3px 7px;font-size:12px;color:var(--muted);pointer-events:none}
.swatch-alternative input:checked+span{background:white;border-color:var(--control-border);color:var(--navy)}
.swatch-alternative input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}
.configuration .swatch-custom .field{display:block;margin:8px 0 4px}
.configuration .swatch-custom .field label{font-size:13px;margin-bottom:4px}
@media(max-width:1100px){.swatch-palette{grid-template-columns:repeat(5,minmax(0,1fr));gap:0 4px}}
@media(max-width:359px){.configuration .swatch-section{padding:10px}.swatch-alternatives{gap:2px}.swatch-alternative span{padding:3px 5px}}

.swatch-tone-0{--sample-color:#f4f3ed}.swatch-tone-1{--sample-color:#e8ddbe}.swatch-tone-2{--sample-color:#bfa783}.swatch-tone-3{--sample-color:#a88873}.swatch-tone-4{--sample-color:#929797}.swatch-tone-5{--sample-color:#50565a}.swatch-tone-6{--sample-color:#252729}.swatch-tone-7{--sample-color:#99463e}.swatch-tone-8{--sample-color:#375b4b}.swatch-tone-9{--sample-color:#57778c}

.required{color:var(--red);font-weight:700;font-size:15px}.required-key{font-size:12px;line-height:1.2;color:var(--muted);text-align:right;margin:0 0 6px}.required-key .required{font-size:14px}

.submission-status{margin:0 0 24px;padding:18px;border:1px solid var(--border);border-radius:6px;background:var(--selected)}.submission-status h2{font-size:24px}.submission-status dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px}.submission-status dd{margin:0;overflow-wrap:anywhere}.submission-status pre{max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:12px}.submission-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.submission-errors li{margin:8px 0}.submission-errors small{display:block}.gable-guide{margin:12px 0}.gable-guide img{display:block;width:100%;height:auto}.gable-guide figcaption{font-size:12px;color:var(--muted)}

.extra-preference{border:1px solid var(--border);border-radius:6px;padding:12px;margin:14px 0}.extra-preference legend{font-size:16px;font-weight:600;padding:0 6px}.extra-preference>.text-button{font-size:13px}

.retained-section{margin-top:1.5rem}.retained-section dl{margin:0}.retained-section dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;padding:.5rem 0;border-bottom:1px solid #dbe2e9}.retained-section dt,.retained-section dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.retained-section dd{font-weight:600}@media(max-width:600px){.retained-section dl>div{grid-template-columns:1fr;gap:.2rem}}

.submission-status .retained-section dl{display:block}.submission-status .retained-section dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media(max-width:600px){.submission-status .retained-section dl>div{grid-template-columns:1fr}}
