.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{max-width:1120px;border-radius:22px;box-shadow:0 28px 100px #13291d42;color:#23302c}.quote-dialog .specification-fold>summary i{display:block;flex:none;width:24px;height:24px;line-height:24px;background:transparent;border-radius:0;text-align:center}
html[data-theme=dark] :is(.quote-dialog,.resize-dialog){background:#fff;color:#23302c}html[data-theme=dark] :is(.quote-dialog,.resize-dialog) :is(p,li){color:#68746c}html[data-theme=dark] .quote-dialog input{color:#23302c}html[data-theme=dark] .quote-dialog .quote-error{color:#9c2e18}
.quote-head{padding:28px 34px 24px;background:#fff}.quote-head h2{font-size:30px;line-height:1.2;margin-top:18px}.quote-head p{color:#68746c;line-height:1.65}
.quote-progress{display:flex;gap:12px;align-items:center;padding-right:38px;color:#839087;font-size:11px}.quote-progress>span{display:flex;gap:7px;align-items:center}.quote-progress b{font-weight:600}.quote-progress>i{width:32px;height:1px;background:#dce4dd}.quote-progress [aria-current]{color:#bb470a}.quote-progress [aria-current] b{font-weight:800}
.quote-close{right:24px;top:24px;cursor:pointer;color:#35473b}.quote-close:hover{background:#f2f5ef}
.quote-overview{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:stretch}.quote-visual{min-width:0;border:1px solid #e6ebe2;border-radius:16px;overflow:hidden;background:linear-gradient(145deg,#f5f7f1,#e9eee4);display:flex;flex-direction:column;justify-content:center}.quote-visual #quote-preview-wrap{flex:1;display:flex;align-items:center}.quote-visual .quote-preview{display:block;background:transparent;border-radius:0;aspect-ratio:1.12;object-fit:contain}.quote-image-caption{display:flex;justify-content:space-between;gap:10px;padding:16px 20px;color:#75806f;font-size:10px;letter-spacing:.3px;border-top:1px solid #dfe6d9}.quote-image-caption span:first-child{font-weight:800;letter-spacing:1.2px}.quote-overview-info{min-width:0}.quote-summary-size{margin:9px 0 3px;font-size:29px;line-height:1.25}.quote-size-label{font-size:10px;color:#7c867e}
.summary-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.summary-metrics>div{padding:12px 14px;border-radius:10px;background:#f4f6f0}.summary-metrics span{display:block;font-size:10px;color:#6d796c}.summary-metrics strong{display:block;font-size:24px;line-height:1.25;margin-top:4px;letter-spacing:-.5px}.summary-metrics small{font-size:13px;font-weight:500;letter-spacing:0}
.quote-dialog dl.summary-facts{display:grid;grid-template-columns:1fr;gap:12px;margin:0 0 17px;font-size:12px}.summary-facts>div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px}.summary-facts dt{padding-top:2px;font-size:11px}.summary-facts dd{line-height:1.5;font-weight:600}.summary-facts small{display:block;font-size:10px;font-weight:400;color:#72806f;margin-top:2px}.summary-color{display:inline-flex;align-items:center;gap:7px;font-size:11px;line-height:1.5}.summary-color i{flex:none;width:12px;height:12px;border-radius:50%;border:1px solid #0002}
.summary-product{display:flex;align-items:center;gap:13px;border:1px solid #e1e7df;padding:11px;border-radius:12px;background:white;min-width:0}.summary-product img{width:92px;height:72px;object-fit:contain;background:#f3f5ef;border-radius:8px;flex:none}.summary-product>div{min-width:0}.summary-product strong{display:block;font-size:12px;line-height:1.4;margin-bottom:3px}.summary-product span:not(.summary-color){display:block;font-size:11px;color:#667463;line-height:1.6}.summary-product .summary-color{margin-top:5px}.summary-product small{display:block;font-size:10px;color:#75816f;line-height:1.6;margin-top:5px}.summary-absent{display:flex;justify-content:space-between;padding:14px 0;border-block:1px solid #e4e9e0;font-size:12px}.summary-extras{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:9px;margin-top:15px;font-size:11px;color:#76806f}.summary-extras>span{display:flex;justify-content:space-between;gap:8px}.summary-extras b{font-weight:600;color:#374936}.summary-products{display:grid;gap:10px}
.quote-dialog details.specification-fold{margin-top:26px}.quote-dialog details.specification-fold>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #dde5d9;background:#f8faf5;padding:17px 20px;border-radius:12px;font-size:13px;line-height:1.5}.specification-fold>summary::-webkit-details-marker{display:none}.specification-fold>summary small{display:block;font-size:10px;font-weight:400;color:#7c8773;margin-top:3px}.specification-fold>summary i{font-size:24px;font-style:normal;font-weight:400;color:#6d8160}.specification-fold[open]>summary i{transform:rotate(45deg)}
.quote-dialog .customer-specification{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.quote-dialog .customer-specification .spec-section{margin:0;padding:20px;border:1px solid #e5eae1;border-radius:12px;min-width:0}.quote-dialog .customer-specification .spec-section h3{font-size:14px;margin:0 0 17px}.quote-dialog .customer-specification dl.spec-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:0}.customer-specification dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.quote-dialog .customer-specification dt{font-size:11px;line-height:1.5;color:#788373}.quote-dialog .customer-specification dd{font-size:11px;line-height:1.5;margin:0}.spec-coordinate-note{font-size:10px;color:#85907b;grid-column:1/-1}
.quote-footer{background:#fff;border-top-color:#e5eae1;padding:18px 34px;z-index:2}.quote-footer button{border-radius:10px;min-height:48px;font-size:12px}.quote-footer .primary{display:flex;align-items:center;justify-content:center;gap:20px;box-shadow:0 4px 12px #dc570a17}.quote-footer .outline{border:1px solid #d9e1d5;color:#58664e}
.quote-contact-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:38px;align-items:start}.quote-contact-aside{position:sticky;top:22px}.quote-dialog .quote-contact-intro{display:block;background:#f4f6ef;border:1px solid #e3e9dc;border-radius:14px;padding:0;overflow:hidden;margin-bottom:24px}.quote-contact-intro img{width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;border-radius:0}.quote-contact-intro>div{padding:18px 20px}.quote-contact-intro strong{display:block;font-size:21px;letter-spacing:-.4px;margin-top:8px}.quote-contact-intro small{line-height:1.65}.quote-next{padding:2px 12px}.quote-next h3{font-size:23px;line-height:1.35;font-weight:700;letter-spacing:-.5px;margin:10px 0 20px}.quote-next ol{list-style:none;padding:0;counter-reset:next;display:grid;gap:17px;margin:0}.quote-next li{counter-increment:next;position:relative;padding-left:32px;font-size:11px;color:#738269;line-height:1.65}.quote-next li:before{content:counter(next);position:absolute;left:0;top:1px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#edf2e7;font-weight:750;font-size:10px;color:#5b704c}.quote-contact-fields{min-width:0}.quote-dialog .quote-field-heading{margin:0;font-size:17px}.quote-dialog .quote-required-note{font-size:10px;color:#85917a;margin:8px 0 20px}.quote-form-grid{gap:16px}.quote-field{gap:7px;font-size:11px}.quote-field input,.quote-field select,.quote-field textarea{border-color:#dae2d4;background:#fdfefb;border-radius:9px;font-size:13px}.quote-field input::placeholder,.quote-field textarea::placeholder{color:#939c8b;font-size:11px}.quote-location-details{border-style:dashed;background:#fbfcf8;padding:14px;margin:16px 0 22px}.quote-location-details summary{color:#6d7d61;font-size:11px}.quote-privacy{margin-top:18px}.quote-dialog[data-view=success] .quote-progress{display:none}
.resize-dialog{width:calc(100% - 28px);max-width:600px;max-height:92dvh;overflow:auto;border:0;border-radius:20px;background:#fff;color:#23302c;padding:0;box-shadow:0 20px 90px #13291d42}.resize-dialog::backdrop{background:#14261ec2;backdrop-filter:blur(4px)}.resize-dialog .quote-head h2{font-size:25px}.resize-dialog .quote-head p{font-size:12px}.resize-dialog .quote-body{padding-top:18px}.resize-note{font-size:12px;color:#75816d;line-height:1.6;margin:0 0 16px}#resize-options{display:grid;gap:12px}.resize-option{text-align:left;width:100%;border:1px solid #d8e2ce;background:#f8faf4;border-radius:12px;padding:18px;cursor:pointer;color:#2e4325}.resize-option:hover{border-color:#d95c18;background:#fffaf4}.resize-option strong,.resize-option span,.resize-option small{display:block}.resize-option strong{font-size:15px}.resize-option span{font-size:12px;line-height:1.7;margin-top:7px;color:#6c7b5e}.resize-option small{font-size:11px;font-weight:700;margin-top:12px;color:#ba500f}.resize-dialog .quote-footer{position:static}.resize-dialog button:focus-visible,.quote-dialog button:focus-visible,.quote-dialog summary:focus-visible{outline:2px solid #da620f;outline-offset:3px}
@media(max-width:760px){.quote-head,.quote-body{padding:24px}.quote-head h2{font-size:26px}.quote-overview{gap:22px;grid-template-columns:1fr}.quote-visual .quote-preview{aspect-ratio:1.8;max-height:310px}.quote-overview-info .quote-summary-size{font-size:27px}.quote-contact-layout{grid-template-columns:1fr;gap:22px}.quote-contact-aside{position:static}.quote-dialog .quote-contact-intro{display:flex;align-items:center;margin:0}.quote-contact-intro img{width:110px;height:95px}.quote-contact-intro>div{padding:14px}.quote-contact-intro strong{font-size:18px}.quote-contact-intro small{font-size:10px}.quote-next{display:none}.quote-dialog .customer-specification{grid-template-columns:1fr}.quote-form-grid{grid-template-columns:1fr 1fr}.quote-field.full{grid-column:1/-1}.quote-footer{padding:16px 24px;flex-wrap:wrap}.quote-footer button{min-width:0;flex:1 1 auto}.quote-footer .primary{gap:10px}}
@media(max-width:440px){.quote-dialog{width:calc(100% - 16px);border-radius:16px}.quote-head,.quote-body{padding:20px 17px}.quote-head h2{font-size:24px;margin-right:18px}.quote-head p{font-size:12px}.quote-close{width:30px;height:30px;right:14px;top:16px}.quote-progress{gap:8px;font-size:10px;padding-right:23px}.quote-progress>i{width:16px}.quote-progress>span{gap:5px}.quote-image-caption{padding:12px;font-size:9px}.quote-overview-info .quote-summary-size{font-size:25px}.quote-footer{padding:13px 17px;gap:8px}.quote-footer button{width:100%;flex-basis:100%;min-height:44px}.quote-footer .primary{order:-1}.quote-form-grid{grid-template-columns:1fr}.quote-field.full{grid-column:auto}.quote-dialog .customer-specification .spec-section{padding:16px}.customer-specification dl>div{gap:10px}.summary-product img{width:70px;height:60px}.summary-product{gap:10px}.summary-metrics>div{padding:12px}.summary-metrics strong{font-size:23px}.quote-contact-intro img{width:80px}.quote-contact-intro strong{font-size:17px}.quote-contact-intro small{font-size:9px}.resize-dialog .quote-head h2{font-size:22px}.resize-dialog .quote-footer{padding:16px 17px}}
.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}
