.quote-note{max-width:370px;font-size:12px;line-height:1.8;color:var(--muted);margin:8px 0}.quote-actions{display:flex;flex-direction:column;align-items:stretch;max-width:390px}.quote-export{font-size:11px;text-align:center;margin-top:10px;color:var(--muted)}
.quote-dialog{max-width:1040px;width:calc(100% - 32px);max-height:92dvh;padding:0;color:#23302c;background:#fff;border:0;overflow:auto}.quote-dialog::backdrop{background:#14261ec2;backdrop-filter:blur(4px)}.quote-dialog [hidden]{display:none!important}.quote-head{padding:28px 34px 20px;border-bottom:1px solid #e5eae7;position:relative}.quote-head h2{font-size:27px;letter-spacing:-.6px;margin:7px 40px 6px 0}.quote-head p{margin:0;max-width:650px;font-size:13px}.quote-kicker{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#d9540b}.quote-close{position:absolute;right:22px;top:22px;border:1px solid #dce4df;border-radius:50%;width:36px;height:36px;font-size:23px;background:white}.quote-body{padding:28px 34px}.quote-overview{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:start}.quote-preview{width:100%;aspect-ratio:1.4;background:#eff2ed;border-radius:12px;object-fit:contain}.quote-summary-size{font-size:27px;font-weight:800;letter-spacing:-.7px;margin:10px 0}.quote-dialog .project-specification{font-size:13px}.quote-dialog .spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.quote-dialog .spec-section{border:1px solid #e5eae7;border-radius:10px;padding:18px}.quote-dialog dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}.quote-dialog dd{margin:0;font-weight:600;overflow-wrap:anywhere}.quote-dialog dt{color:#67756d}.quote-dialog h3{font-size:15px}.quote-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 34px;border-top:1px solid #e5eae7;background:#f9faf8;position:sticky;bottom:0}.quote-footer .primary{background:#e9590d}.quote-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote-field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:650}.quote-field.full{grid-column:1/-1}.quote-field input,.quote-field select,.quote-field textarea{background:white;color:#23302c;border:1px solid #ccd7d0;padding:13px 14px;border-radius:8px;font:inherit;font-weight:400;width:100%;box-sizing:border-box;min-height:46px}.quote-field input:focus,.quote-field textarea:focus{outline:2px solid #eb6b29;outline-offset:2px}.quote-field textarea{resize:vertical;min-height:100px}.quote-field [aria-invalid=true]{border-color:#b42528;background:#fff8f8}.quote-field-error{color:#b42528;font-size:11px;font-weight:400;min-height:0}.quote-field-error:empty{display:none}.quote-error{background:#fff1ee;color:#9c2e18;padding:14px 18px;border-radius:8px;font-size:13px;line-height:1.7}.quote-error:empty{display:none}.quote-section-title{font-size:16px;margin:28px 0 18px}.quote-privacy{font-size:11px!important;color:#67756d;line-height:1.7!important}.quote-honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0}.quote-dialog button:disabled{opacity:.55;cursor:wait}.quote-success{text-align:center;padding:20px 0}.quote-success-mark{display:grid;place-items:center;margin:0 auto 22px;width:60px;height:60px;border-radius:50%;background:#e7f3e9;color:#267148;font-size:30px}.quote-reference{display:inline-block;font-size:24px;letter-spacing:1px;padding:14px 24px;background:#f0f4ed;border-radius:10px;font-weight:800;overflow-wrap:anywhere}.quote-success .quote-preview{display:block;max-width:440px;margin:24px auto}.quote-location-details{margin:18px 0;border:1px solid #dce4df;border-radius:10px;padding:16px}.quote-location-details summary{cursor:pointer;font-size:12px;font-weight:700}.location-map{position:relative;margin-top:14px}.location-map-canvas{height:300px;background:#edf0e9;position:relative;overflow:hidden;touch-action:none;border-radius:8px;cursor:crosshair}.map-tiles img{width:256px;height:256px;position:absolute;top:0;left:0;max-width:none}.map-marker{position:absolute;color:#e8540b;font-size:24px;line-height:24px;transform:translate(-50%,-50%);text-shadow:0 0 2px white,0 0 5px white;pointer-events:none}.map-zoom{position:absolute;top:10px;left:10px;display:grid;gap:3px}.map-zoom button{width:36px;height:36px;background:white;border:1px solid #cad2c9;border-radius:5px;font-size:22px}.map-attribution{position:absolute;right:3px;top:280px;background:#ffffffe6;font-size:10px;padding:3px}.map-attribution a{color:#354940}.map-hint,.map-selection{font-size:11px!important;color:#657167;line-height:1.7!important}.map-clear{font-size:11px;text-decoration:underline}.quote-dialog details.specification-fold{margin-top:25px}.quote-dialog details.specification-fold>summary{cursor:pointer;padding:15px;background:#f4f6f1;border-radius:8px;font-size:13px;font-weight:700}.quote-dialog .quote-contact-intro{display:flex;gap:18px;align-items:center;background:#f4f6f1;border-radius:10px;padding:12px;margin-bottom:22px}.quote-contact-intro img{width:95px;height:68px;object-fit:contain;border-radius:5px}.quote-contact-intro strong{font-size:15px}.quote-contact-intro small{display:block;font-size:11px;margin-top:7px;color:#657167}.quote-dialog .quote-body p{line-height:1.8}.quote-dialog .pending-note{background:#fff3dd;padding:12px;border-radius:8px;color:#725015;font-size:12px}
@media(max-width:700px){.quote-head,.quote-body{padding:22px 20px}.quote-head h2{font-size:23px}.quote-overview,.quote-form-grid,.quote-dialog .spec-grid{grid-template-columns:1fr}.quote-field.full{grid-column:auto}.quote-footer{padding:15px 20px;flex-wrap:wrap}.quote-footer button{flex:1;min-width:125px}.quote-actions{max-width:none;grid-column:1/-1}.quote-reference{font-size:20px}.quote-dialog{width:calc(100% - 16px);max-height:96dvh}.quote-success{padding:0}.quote-summary-size{font-size:24px}}
@media print{.quote-dialog{display:none}}
.quote-dialog .spec-table-scroll{overflow-x:auto}.quote-dialog .spec-openings{width:100%;border-collapse:collapse;font-size:11px;text-align:left}.quote-dialog .spec-openings th,.quote-dialog .spec-openings td{padding:10px 8px;border-bottom:1px solid #e5eae7;min-width:88px;vertical-align:top}.quote-dialog .spec-openings th{font-size:10px;color:#66756b}.quote-dialog .spec-openings small{display:block;font-size:10px;font-weight:400;color:#66756b;margin-top:6px}.quote-dialog dl.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quote-dialog dl.spec-grid dd{margin-top:5px}.quote-dialog .spec-section{margin-top:18px}.quote-dialog .spec-section h3{margin:0 0 18px}.quote-dialog #quote-success-basics{text-align:left}
