:root{--bg:#f5f6f2;--paper:#fff;--ink:#18382f;--muted:#637269;--line:#dce3d9;--green:#1e4c39;--lime:#d3eb9c;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,summary{touch-action:manipulation}button,summary{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-underline-offset:3px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #749b3e;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.9rem,3.3vw,2.7rem);font-weight:500;letter-spacing:-1.1px;line-height:1.15;margin:12px 0}h2{font-size:1.15rem;font-weight:600}h3{font-size:1rem;line-height:1.5}p{line-height:1.6}header{height:95px;padding:0 max(24px,calc((100vw - 1360px)/2));display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);background:white}.brand{text-decoration:none;font-size:2.5rem;font-weight:800;letter-spacing:-2px;line-height:1;display:block}.brand>span{color:#99b960}.brand small{display:block;font-size:.55rem;letter-spacing:1.2px;margin-top:5px}.app-name{border-left:1px solid var(--line);padding-left:28px;color:var(--muted);font-size:.9rem}header>button{margin-left:auto}.quiet{border:1px solid var(--line);background:white;padding:11px 16px;border-radius:7px;font-size:.875rem}.quiet:hover{background:#eef3e7}main{max-width:1408px;margin:auto;padding:0 24px}.intro{display:flex;justify-content:space-between;align-items:center;padding:34px 0 28px;gap:20px}.intro p{color:var(--muted)}.eyebrow{font-size:.75rem!important;letter-spacing:1.5px;font-weight:700;color:#5f7752!important}.workspace{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:28px;align-items:start}.panel{padding:25px;border:1px solid var(--line);border-radius:12px;background:var(--paper);margin-bottom:20px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.step{display:inline-grid;place-items:center;background:#eaf0e2;color:#557542;width:27px;height:27px;border-radius:50%;font-size:.875rem;margin-right:8px}.text-button{background:none;border:none;text-decoration:underline;text-underline-offset:4px;font-size:.875rem;padding:7px 0;color:#4e6845}.mode{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.mode label{font-size:.875rem;display:flex;align-items:center;gap:7px;margin:0}input[type=radio],input[type=checkbox]{accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs button{background:none;border:0;border-bottom:3px solid transparent;flex:1;padding:14px 8px;color:var(--muted);font-size:.9rem}.tabs [aria-selected=true]{border-color:var(--green);color:var(--ink);font-weight:600}.hint{font-size:.875rem;color:var(--muted);line-height:1.55;margin:10px 0}.fixture{display:grid;grid-template-columns:85px minmax(0,1fr) 104px;gap:16px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:16px;margin-top:12px;background:#fff}.fixture img{width:85px;height:85px;object-fit:contain}.fixture h3{font-size:1.06rem}.fixture p{font-size:.875rem;color:var(--muted);line-height:1.4;margin:3px 0 8px}.fixture select{font-size:.875rem;padding:7px 26px 7px 8px}.count-label{text-align:center;font-size:.75rem;color:var(--muted)}.count-label input{font-size:1.7rem;text-align:center;font-weight:500;padding:9px 4px;margin-top:5px}.count-label span{display:block;margin-top:4px}.fixture label{margin:0}.fixture label.tech-label{font-size:.75rem;display:block;margin:8px 0 0}.fixture select{margin-top:4px;width:100%}label{display:block;font-size:.875rem;font-weight:500;margin:14px 0 6px}input:not([type=radio]):not([type=checkbox]):not([type=file]),select,textarea{width:100%;border:1px solid #cdd7c8;border-radius:6px;background:#fbfcf9;padding:11px 12px;min-width:0}input[aria-invalid=true]{border-color:#ba4b33!important;background:#fff4ef!important}textarea{resize:vertical;line-height:1.5}.operation>label{margin-top:22px}.operation summary{font-size:.9rem;font-weight:600;padding:18px 0 0;margin-top:18px;border-top:1px solid var(--line)}.adjust-body{padding-top:15px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.field-grid input{margin-top:8px}.field-grid label span{color:var(--muted);font-size:.75rem}.sample-note{font-size:.875rem;background:#f8f2e4;border-left:3px solid #cfb776;padding:12px;margin:12px 0;line-height:1.6}.technical-row{padding:14px 0;border-bottom:1px solid var(--line)}.technical-row .field-grid label{font-size:.8rem}.check{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.5}.results{min-width:0}.result-heading{display:flex;justify-content:space-between;align-items:center;margin:3px 0 18px;gap:10px}.result-heading h2{font-size:1.4rem;overflow-wrap:anywhere}.result-heading>span{font-size:.8rem;padding:7px 10px;border-radius:5px;background:#e7ecdf;white-space:nowrap}.empty{background:#eaf0e4;border:1px dashed #b9c8ad;border-radius:12px;text-align:center;padding:45px 30px;margin-bottom:22px}.empty-number{font-size:4rem;color:#759267;font-weight:400;display:block;margin-bottom:12px}.empty p{color:var(--muted);max-width:300px;margin:12px auto 0}.hero-result{background:#183d30;color:white;border-radius:12px;padding:28px 30px}.hero-result>p{font-size:.95rem;color:#d4e2cd}.hero-number{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:14px 0 22px}.hero-number strong{font-weight:500;font-size:clamp(2.3rem,4.3vw,3.9rem);letter-spacing:-1.6px;overflow-wrap:anywhere}.hero-number>span{font-size:1.1rem;color:#c8d8bd}.hero-bottom{border-top:1px solid #456650;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.9rem;color:#d5e6c8}.hero-bottom strong{font-size:1.25rem;font-weight:500;color:var(--lime)}.price-result{background:#edf3e4;border:1px solid #d8e3cb;border-radius:10px;padding:22px 25px;margin:16px 0}.price-range{font-size:clamp(1.35rem,2.1vw,1.9rem);font-weight:500;letter-spacing:-.7px;margin:12px 0}.price-result p{font-size:.875rem;color:#5b6c50}.net-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.875rem;margin-top:20px;line-height:1.5}.net-row strong{white-space:nowrap;font-size:1.05rem}.comparison{padding:23px;background:white;border:1px solid var(--line);border-radius:10px;margin-top:20px}.energy-row{margin:19px 0}.energy-label{display:flex;justify-content:space-between;gap:15px;font-size:.875rem;margin-bottom:8px}.bar-track{height:14px;background:#f1f3ed;border-radius:3px;overflow:hidden}.bar{height:100%;background:#b9c3b1;border-radius:3px;transition:width .2s}.energy-row:nth-child(2) .bar{background:#d8b66c}.energy-row:nth-child(3) .bar{background:#8fae69}.assumptions{font-size:.875rem;color:var(--muted);margin:20px 0}.assumptions p+p{margin-top:8px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 18px;border:1px solid var(--line);border-radius:7px;text-decoration:none;font-size:.9rem;font-weight:600}.primary{background:var(--green);border-color:var(--green);color:white}.primary:hover{background:#2d6246}.secondary{background:white}.contact{margin-top:24px}.contact>p{margin-top:12px;color:var(--muted)}fieldset{border:0;padding:0;margin:16px 0}fieldset label{border:1px solid var(--line);border-radius:6px;padding:12px;background:#fafbf8}fieldset label:has(:checked){background:#f0f5e8;border-color:#91a977}.contact .button{width:100%}.upload{border:1px dashed #a4b892;border-radius:8px;padding:20px;background:#f5f8f0}.upload strong{display:block;margin-bottom:6px}.upload span{display:block;font-size:.8rem;color:var(--muted);margin-bottom:13px}.upload input{width:100%;font-size:.8rem}#import-panel>p{font-size:.9rem;margin-top:10px;color:var(--muted)}#import-status{padding:10px 0;color:#73561f!important}#review{border-top:1px solid var(--line);padding-top:15px}.review-row{border:1px solid var(--line);padding:12px;border-radius:7px;margin:10px 0}.review-row p{font-size:.875rem;overflow-wrap:anywhere}.review-row .field-grid{grid-template-columns:minmax(0,1fr) 90px}.review-row label{font-size:.8rem}#apply-import{display:flex;width:100%;margin-top:14px}.email-help{background:#f0f3e9;padding:14px;margin-top:18px;font-size:.875rem;line-height:1.6;border-radius:7px}.email-help small{display:block;margin-top:8px;font-size:.8rem;color:var(--muted)}#validation{background:#fff0e8;border:1px solid #e3b89f;border-radius:8px;padding:15px;line-height:1.6;margin-bottom:20px}#payback-box{background:#eaf0e2;border-radius:8px;padding:15px;margin-top:18px;font-size:.875rem;display:flex;justify-content:space-between;gap:14px}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:99}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:32px 0;color:var(--muted);font-size:.8rem}footer>span{font-size:1.7rem;font-weight:700;color:var(--ink);letter-spacing:-1px}body.presenting .entry,body.presenting .contact,body.presenting #example{display:none}body.presenting .workspace{display:block;max-width:860px;margin:auto}@media(max-width:1050px){.workspace{gap:20px;grid-template-columns:1.1fr 1fr}.panel{padding:20px}.fixture{grid-template-columns:65px minmax(0,1fr) 85px;gap:10px;padding:12px}.fixture img{width:65px;height:75px}.hero-result{padding:24px}.hero-bottom{flex-wrap:wrap}.net-row{align-items:flex-start;flex-direction:column}.field-grid{gap:10px}}@media(max-width:800px){.workspace{grid-template-columns:1fr}.results{margin-top:3px}.intro{padding-top:27px}.intro>button{align-self:flex-end}.fixture{grid-template-columns:90px minmax(0,1fr) 104px;padding:15px;gap:16px}.fixture img{width:90px;height:80px}.net-row{flex-direction:row;align-items:center}.hero-number strong{font-size:3.1rem}.empty{padding:25px}.empty-number{font-size:2rem}}@media(max-width:480px){header{height:79px;padding:0 16px;gap:15px}.brand{font-size:2.1rem}.app-name{display:none}header .quiet{padding:9px 11px;font-size:.8rem}main{padding:0 15px}.intro{align-items:flex-start;flex-direction:column;gap:10px}.intro>button{align-self:flex-start}.intro p{font-size:.9rem}.panel{padding:18px 15px}.fixture{grid-template-columns:60px minmax(0,1fr) 76px;gap:10px;padding:12px}.fixture img{width:60px;height:70px}.fixture p{font-size:.8rem}.fixture select{font-size:.8rem}.fixture h3{font-size:1rem}.count-label input{font-size:1.5rem;padding:11px 1px}.mode{gap:14px}.field-grid{grid-template-columns:1fr 1fr}.hero-number strong{font-size:2.8rem}.hero-result{padding:23px}.price-result{padding:20px}.hero-bottom{font-size:.8rem}.net-row{align-items:flex-start;flex-direction:column}.result-heading h2{font-size:1.2rem}.contact h2{font-size:1.05rem}footer{flex-wrap:wrap}footer p{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@page{size:A4;margin:14mm}@media print{body{background:white;print-color-adjust:exact;-webkit-print-color-adjust:exact}header{height:65px;padding:0}.app-name{display:block}.intro{padding:20px 0}.intro h1{font-size:25px}.intro .eyebrow,.intro>button,.intro p,.entry,.contact,.quiet,.button,.skip{display:none!important}main{padding:0}.workspace{display:block}.results{max-width:none}.hero-result{padding:20px;break-inside:avoid}.hero-number strong{font-size:42px}.price-result,.comparison,.assumptions{break-inside:avoid}.price-range{font-size:25px}.comparison{padding:16px}.energy-row{margin:14px 0}.assumptions p,.hint,.price-result p{font-size:12px}footer{padding:15px 0}.net-row{flex-direction:row}.result-heading{margin-bottom:10px}}
/* Comparison and fixed-input customer experience */
.workspace{grid-template-columns:minmax(350px,.85fr) minmax(0,1.35fr);gap:26px}.fixture{grid-template-columns:115px minmax(0,1fr) 83px;gap:12px;padding:13px}.fixture-images{display:flex;align-items:center;justify-content:center;gap:3px;background:white;border-radius:5px;overflow:hidden;min-height:100px}.fixture-images img{width:100%;height:105px;object-fit:contain}.fixture-images.pair img{width:50%;height:85px}.fixture h3{font-size:1rem}.fixture p{font-size:.8rem}.fixture .tech-label{font-size:.8rem}.fixture select{font-size:.8rem;padding:8px 5px}.fixture-images:has(img[src*="highbay"]){background:#eee}.count-label input{font-size:1.6rem}.alternatives{display:grid;grid-template-columns:1fr 1fr;gap:16px}.option{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;display:flex;flex-direction:column;min-width:0}.option-top{padding:23px 22px 19px;min-height:154px;background:#edf1e8}.option-top h3{font-size:1.3rem;line-height:1.25;font-weight:500;margin:12px 0;letter-spacing:-.4px}.warranty{font-size:.875rem;display:inline-flex;padding:5px 8px;border:1px solid #cad7be;border-radius:5px}.option-controlled{border-color:#345a41}.option-controlled .option-top{background:#183d30;color:white}.option-controlled .eyebrow{color:#d3eb9c!important}.option-controlled .warranty{color:#dfedca;border-color:#5d7a58}.option-price{padding:22px 22px 18px;min-height:149px}.option-price>p{font-size:.875rem;color:var(--muted)}.option-price>strong{display:block;font-size:clamp(1.25rem,1.55vw,1.65rem);font-weight:600;letter-spacing:-.6px;line-height:1.35;margin:9px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.option-price small{font-size:.8rem;color:var(--muted);line-height:1.5;display:block}.option-saving{padding:20px 22px;background:#f5f7f1;margin:0 12px;border-radius:8px}.option-saving>p{font-size:.85rem}.option-saving>div{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;margin:9px 0}.option-saving strong{font-size:1.9rem;font-weight:500;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.option-saving span{font-size:.875rem;color:var(--muted)}.option-saving small{font-size:.8rem;color:var(--muted);line-height:1.5}.option-controlled .option-saving{background:#e9f1dc}.option-facts{margin:12px 22px 0}.option-facts>div{padding:13px 0;border-bottom:1px solid var(--line)}.option-facts dt{font-size:.8rem;line-height:1.45;color:var(--muted)}.option-facts dd{margin:5px 0 0;font-size:1rem;font-weight:600;overflow-wrap:anywhere;line-height:1.4}.option-facts .payback dd{font-size:1.25rem;color:var(--green)}.option-note{font-size:.8rem;color:var(--muted);padding:18px 22px;margin-top:auto}.control-value{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center;background:#e9efdf;border:1px solid #d1ddc1;border-radius:10px;padding:22px;margin-top:18px}.control-value h3{margin:8px 0;font-size:1.1rem}.control-value p:not(.eyebrow){font-size:.875rem;color:#53634a;line-height:1.5}.incremental-payback{border-left:1px solid #becfab;padding-left:20px}.incremental-payback>span{font-size:.8rem;color:#53634a;line-height:1.5;display:block}.incremental-payback strong{font-size:1.65rem;font-weight:500;display:block;margin-top:7px;line-height:1.3}.assumptions{background:#f0f3ea;padding:18px;border:1px solid var(--line);border-radius:8px}.assumptions summary{cursor:pointer;font-weight:600}.assumptions p{margin-top:13px}.power-row{display:flex;justify-content:space-between;gap:15px;line-height:1.6;font-size:.8rem;margin-top:8px}.fine-print{font-size:.8rem;color:var(--muted);line-height:1.6;margin:12px 0}#price-status{margin:14px 0 0}.contact .button{margin-top:15px}.empty{margin-top:15px}.admin-main{max-width:960px}.admin-main .intro{padding-bottom:25px}.admin-panel{padding:28px}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;font-size:.875rem;color:var(--muted);font-weight:500;padding:12px}.admin-table td{padding:13px 12px;border-top:1px solid var(--line);vertical-align:middle}.admin-table td:first-child{width:32%;font-size:.95rem;font-weight:600}.admin-table input{max-width:210px}.admin-table .base-price{font-size:.8rem;color:var(--muted);font-weight:400;margin-top:5px}.admin-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:25px}.admin-status{padding:15px;border-radius:8px;margin:16px 0;background:#edf2e5;font-size:.9rem;line-height:1.6}.admin-status.error{background:#fff0e8;color:#963f27}.admin-summary{font-size:.875rem;line-height:1.7;color:var(--muted);margin-top:20px}body.presenting .workspace{max-width:1000px}body.presenting .alternatives{gap:24px}body.presenting .contact{display:none}@media(min-width:1600px){main{max-width:1480px}.option-price>strong{font-size:1.8rem}}@media(max-width:1150px){.workspace{grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:20px}.fixture{grid-template-columns:80px minmax(0,1fr) 70px;gap:10px;padding:12px 10px}.fixture-images img{height:85px}.fixture-images{min-height:85px}.option-top,.option-price{padding:20px 17px}.option-top h3{font-size:1.1rem}.option-price>strong{font-size:1.3rem}.option-saving{padding:16px 13px;margin:0 10px}.option-saving strong{font-size:1.65rem}.option-facts{margin:12px 17px 0}.option-note{padding:15px 17px}.control-value{padding:18px;gap:15px}.incremental-payback{padding-left:15px}.incremental-payback strong{font-size:1.35rem}}@media(max-width:930px){.workspace{grid-template-columns:1fr}.fixture{grid-template-columns:125px minmax(0,1fr) 115px;padding:13px 18px;gap:18px}.fixture-images img{height:100px}.fixture-images{min-height:100px}.fixture h3{font-size:1.1rem}.fixture p,.fixture select{font-size:.9rem}.option-top h3{font-size:1.4rem}.option-top{min-height:160px}.option-price>strong{font-size:1.65rem}.option-saving strong{font-size:2rem}.results{margin-top:8px}.option-price{min-height:150px}}@media(max-width:480px){.fixture{grid-template-columns:82px minmax(0,1fr) 70px;gap:10px;padding:11px 9px}.fixture-images img{height:80px}.fixture-images{min-height:80px}.fixture-images.pair{flex-direction:column;gap:0}.fixture-images.pair img{height:48px;width:100%}.fixture h3{font-size:.95rem}.fixture p,.fixture select{font-size:.8rem}.fixture p{line-height:1.4}.fixture .tech-label{font-size:.75rem}.fixture select{padding-right:0}.count-label input{font-size:1.4rem}.alternatives{gap:10px}.option-top,.option-price{padding:17px 12px}.option-top{min-height:163px}.option-top h3{font-size:1.05rem}.option-top .eyebrow{font-size:.65rem!important;letter-spacing:1px}.warranty{font-size:.75rem;padding:5px 6px}.option-price{min-height:155px}.option-price>strong{font-size:1.2rem}.option-price small{font-size:.75rem}.option-saving{margin:0 7px;padding:14px 9px;min-height:150px}.option-saving p{font-size:.8rem}.option-saving strong{font-size:1.45rem}.option-saving small{font-size:.75rem}.option-facts{margin:10px 12px 0}.option-facts dt{font-size:.75rem}.option-facts dd{font-size:.9rem}.option-facts .payback dd{font-size:1.05rem}.option-note{font-size:.75rem;padding:15px 12px}.control-value{grid-template-columns:1fr;gap:17px}.incremental-payback{border-left:0;border-top:1px solid #becfab;padding:14px 0 0}.incremental-payback strong{font-size:1.6rem}.admin-panel{padding:15px}.admin-table th,.admin-table td{padding:10px 5px}.admin-table td:first-child{font-size:.8rem}.admin-table input{padding:10px 5px;font-size:.9rem}.admin-main .intro h1{font-size:1.7rem}.admin-actions{gap:12px}.admin-actions .button{width:100%}}@media(max-width:350px){.alternatives{grid-template-columns:1fr}.option-top,.option-price,.option-saving{min-height:0}.fixture{grid-template-columns:65px minmax(0,1fr) 62px}}@media print{.alternatives{display:grid;grid-template-columns:1fr 1fr;gap:16px;break-inside:avoid}.option-top{min-height:0;padding:14px 18px}.option-top h3{font-size:19px}.option-price{min-height:0;padding:14px 18px}.option-price>strong{font-size:23px}.option-saving{min-height:0;padding:12px 16px}.option-saving strong{font-size:25px}.option-facts{margin-top:6px}.option-facts>div{padding:8px 0}.option-facts dd{font-size:13px}.option-facts .payback dd{font-size:16px}.option-note{padding:10px 18px;font-size:11px}.control-value{padding:15px;grid-template-columns:1.2fr 1fr;break-inside:avoid}.incremental-payback{border-top:0;border-left:1px solid #becfab;padding:0 0 0 15px}.comparison{break-inside:avoid}.energy-row{margin:12px 0}.fine-print{font-size:10px}.assumptions{font-size:11px}.assumptions summary{display:none}footer{display:none}}

/* Fill in first, then compare the alternatives below. */
@media screen{
 .calculator-main{max-width:1080px}
 .workspace{display:flex;flex-direction:column;gap:44px}
 .entry,.results{width:100%;min-width:0;scroll-margin-top:24px}
 .entry:focus,.results:focus{outline:none}
 :is(#fixture-cards,#fixture-summary){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .fixture{grid-template-columns:100px minmax(0,1fr) 7.5rem;gap:12px;padding:16px 12px;margin-top:0}
 .fixture-images,.fixture-images img{min-height:96px;height:96px}
 .fixture p,.fixture .tech-label,.fixture select,.count-label{font-size:.875rem}
 .fixture h3,.fixture p{overflow-wrap:anywhere}
 .operation{margin-bottom:0}
 .entry-actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px;margin-top:20px}
 .entry-actions #validation{align-self:stretch;margin:0}
 #see-options{min-width:240px;padding:15px 28px;font-size:1rem}
 .results{margin-top:0;padding-top:32px;border-top:1px solid var(--line)}
 .result-heading{margin:0 0 10px;flex-wrap:wrap}
 .result-heading h2{font-size:1.6rem}
 #edit-inputs{margin-bottom:20px}
 .alternatives{gap:24px}
 .option-top,.option-price{padding:26px}
 .option-top{min-height:165px}
 .option-top h3{font-size:1.5rem}
 .option-price{min-height:160px}
 .option-price>strong{font-size:1.85rem}
 .option-saving{padding:22px;margin:0 16px;min-height:0}
 .option-saving strong{font-size:2.2rem}
 .option-facts{margin:16px 26px 0}
 .option-facts dt,.option-price small,.option-saving p,.option-saving small,.option-note{font-size:.875rem}
 .option-facts dd{font-size:1.1rem}
 .option-note{padding:22px 26px}
 .option-top .eyebrow{font-size:.75rem!important}
 .warranty{font-size:.875rem}
 body.presenting .results{padding-top:0;border-top:0}
 body.presenting #edit-inputs{display:none}
}
@media screen and (max-width:900px){
 :is(#fixture-cards,#fixture-summary){grid-template-columns:1fr}
 .fixture{grid-template-columns:110px minmax(0,1fr) 7.5rem;padding:16px;gap:16px}
 .workspace{gap:32px}
 .option-top,.option-price{padding:22px}
 .option-top h3{font-size:1.3rem}
 .option-price>strong{font-size:1.6rem}
 .option-saving strong{font-size:1.85rem}
 .option-facts{margin:14px 22px 0}
}
@media screen and (max-width:580px){
 .alternatives{grid-template-columns:1fr;gap:20px}
 .option-top,.option-price{min-height:0;padding:22px}
 .option-top h3{font-size:1.4rem}
 .option-price>strong{font-size:1.8rem}
 .option-saving strong{font-size:2.1rem}
 .option-note{padding:20px 22px}
 .entry-actions #see-options{width:100%;min-width:0}
 .fixture{grid-template-columns:75px minmax(0,1fr) 7.5rem;padding:12px 9px;gap:10px}
 .fixture-images,.fixture-images img{min-height:0;height:80px}
 .fixture-images.pair img{height:38px}
 .fixture h3{font-size:1rem}
 .field-grid{grid-template-columns:1fr}
 .results{padding-top:24px}
 .result-heading h2{font-size:1.4rem}
 .control-value{grid-template-columns:1fr}
 .incremental-payback{border-left:0;border-top:1px solid #becfab;padding:14px 0 0}
}
@media print{#edit-inputs{display:none!important}.results{border-top:0;padding-top:0}}

/* Reserve room for all six allowed digits and native number controls. */
.fixture .count-label input[type="number"]{
 width:100%;min-width:0;font-size:1.25rem;line-height:1.35;
 padding:11px 8px;text-align:center;font-variant-numeric:tabular-nums;
}
@media screen and (max-width:420px){
 .fixture{grid-template-columns:64px minmax(0,1fr)}
 .fixture .count-label{
  grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) 7.5rem auto;
  align-items:center;gap:10px;text-align:left;
 }
 .fixture .count-label input[type="number"],.fixture .count-label span{margin:0}
}

.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}
.internal-prices{display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none;background:var(--green);border-color:var(--green);color:white;font-weight:600;white-space:nowrap}
.internal-prices:hover{background:#2d6246}
body.presenting .internal-prices{display:none}
@media screen and (max-width:620px){
 header{height:auto;min-height:79px;flex-wrap:wrap;padding:16px;gap:14px}
 header .app-name{display:none}
 .header-actions{flex-basis:100%;margin-left:0;justify-content:flex-start;gap:10px;flex-wrap:wrap}
}
@media print{.header-actions{display:none!important}}

.gateway-settings{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.gateway-settings .field-grid{gap:16px 24px}.gateway-settings label{font-size:1rem;line-height:1.5}.gateway-settings label span{display:block;font-size:.875rem}.gateway-settings input{font-size:1.125rem;min-height:48px;font-variant-numeric:tabular-nums}.gateway-settings .hint{font-size:.875rem;line-height:1.6;margin-top:14px}

.installation-settings{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.installation-settings>.hint{font-size:.875rem;line-height:1.6;margin:12px 0}.investment-breakdown{margin:14px 0 12px;font-size:.875rem;line-height:1.5}.investment-breakdown>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-top:1px solid var(--line)}.investment-breakdown dt{color:var(--muted)}.investment-breakdown dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.investment-breakdown+small{margin-top:12px}


/* Larger, wider calculator with clearly selectable input methods. */
@media screen{
 .calculator-page{font-size:112.5%}
 .calculator-main{max-width:1680px;padding-inline:clamp(20px,3vw,48px)}
 .calculator-page header{height:auto;min-height:96px;padding:20px max(clamp(20px,3vw,48px),calc((100vw - 1584px)/2));flex-wrap:wrap}
 .calculator-main .intro{padding:30px 0 26px}
 .calculator-main .intro p:not(.eyebrow){font-size:1.05rem}
 .calculator-main .panel{padding:28px}
 .calculator-main h2{font-size:1.35rem;line-height:1.4}
 .calculator-main .step{width:32px;height:32px;font-size:1rem}
 .calculator-main .hint,.calculator-main label,.calculator-main .fixture p,.calculator-main .fixture select,.calculator-main .fixture .tech-label{font-size:1rem}
 .calculator-main .text-button,.calculator-page .quiet,.calculator-page .app-name{font-size:1rem}
 .calculator-main .mode{gap:12px;margin:22px 0}
 .calculator-main .mode label{border:1px solid #bdcdb5;border-radius:8px;padding:12px 16px;background:#fff;gap:10px;cursor:pointer;line-height:1.4}
 .calculator-main .mode label:has(:checked){border-color:var(--green);background:#edf4e4;box-shadow:inset 0 0 0 1px var(--green)}
 .calculator-main input[type=radio],.calculator-main input[type=checkbox]{width:21px;height:21px}
 .calculator-main .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:0;margin:24px 0 20px}
 .calculator-main .tabs button{display:flex;align-items:center;gap:16px;min-width:0;min-height:100px;padding:20px 24px;border:2px solid #9bac92;border-radius:10px;background:#fff;color:var(--ink);text-align:left;transition:background .15s,border-color .15s}
 .calculator-main .tabs button:hover{border-color:var(--green);background:#f0f5e8}
 .calculator-main .tabs [aria-selected=true]{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 3px 8px #18382f1a}
 .calculator-main .tabs [aria-selected=true]:hover{background:#285a43}
 .tab-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
 .tab-copy strong{font-size:1.25rem;line-height:1.3;font-weight:700}
 .tab-copy>span{font-size:.9rem;line-height:1.45;color:#53634a}
 [aria-selected=true] .tab-copy>span{color:#e2ecd7}
 .choice-marker{width:24px;height:24px;border:2px solid #839675;border-radius:50%;flex-shrink:0;display:grid;place-items:center}
 [aria-selected=true] .choice-marker{border-color:var(--lime)}
 [aria-selected=true] .choice-marker:after{content:"";width:12px;height:12px;border-radius:50%;background:var(--lime)}
 .calculator-main :is(#fixture-cards,#fixture-summary){gap:18px}
 .calculator-main .fixture{padding:18px 16px;gap:16px}
 .calculator-main .fixture h3{font-size:1.15rem;line-height:1.35}
 .calculator-main .fixture .tech-label{margin-top:1.5rem}
 .calculator-main #hours-preset{width:calc((100% - 16px)/2);min-width:min(100%,23rem)}
 .calculator-main .fixture .count-label{font-size:1rem}
 .calculator-main #see-options{font-size:1.1rem;min-height:56px}
 .calculator-main .result-heading h2{font-size:1.7rem}
 .calculator-main .option-facts dt,.calculator-main .option-price small,.calculator-main .option-saving p,.calculator-main .option-saving small,.calculator-main .option-note,.calculator-main .investment-breakdown,.calculator-main .energy-label{font-size:1rem}
 .calculator-main .option-price>strong{overflow-wrap:anywhere;line-height:1.35}
 .calculator-main .button{font-size:1rem}
}
@media screen and (min-width:1180px){
 .calculator-main .fixture{grid-template-columns:120px minmax(0,1fr) 8rem;padding:20px}
 .calculator-main .fixture-images,.calculator-main .fixture-images img{height:112px;min-height:112px}
}
@media screen and (max-width:1100px){
 .calculator-main :is(#fixture-cards,#fixture-summary){grid-template-columns:1fr}
}
@media screen and (max-width:680px){
 .calculator-page{font-size:106.25%}
 .calculator-main{padding-inline:16px}
 .calculator-page header{padding:16px;gap:16px}
 .calculator-main .panel{padding:20px 16px}
 .calculator-main .intro{padding:24px 0;flex-direction:column;align-items:flex-start}
 .calculator-main .intro>button{align-self:flex-start}
 .calculator-main .tabs{grid-template-columns:1fr;gap:12px}
 .calculator-main .tabs button{min-height:90px;padding:17px 18px;gap:14px}
 .calculator-main .tab-copy strong{font-size:1.2rem}
 .calculator-main .mode{gap:10px}
 .calculator-main .mode label{padding:10px 12px}
 .calculator-main .alternatives{grid-template-columns:1fr}
 .calculator-main .fixture{grid-template-columns:72px minmax(0,1fr);padding:14px 12px;gap:12px}
 .calculator-main .fixture-images,.calculator-main .fixture-images img{min-height:0;height:80px}
 .calculator-main .fixture .count-label{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) 8rem auto;align-items:center;gap:10px;text-align:left}
 .calculator-main .fixture .count-label input[type=number],.calculator-main .fixture .count-label span{margin:0}
 .calculator-main .section-title{align-items:flex-start}
 .calculator-main .section-title h2{font-size:1.2rem}
 .calculator-main .field-grid{grid-template-columns:1fr}
 .calculator-main #hours-preset{width:100%}
 .calculator-main .entry-actions #see-options{width:100%;min-width:0}
 .calculator-main .result-heading h2{font-size:1.45rem}
 .calculator-main .investment-breakdown>div{flex-wrap:wrap;gap:4px 12px}
 .calculator-main .investment-breakdown dd{margin-left:auto}
}

/* Offer request before the comparison, with the same action below. */
.quote-actions{margin-bottom:24px}
.quote-actions .button{width:100%}
body.presenting .quote-actions{display:none}
@media print{.quote-actions{display:none!important}}

/* Lead with the annual saving; keep the investment secondary. */
.control-value #incremental-cost{font-size:.875rem;margin-top:14px}
@media screen{
 .control-value #incremental-title{font-size:clamp(1.35rem,2vw,1.85rem);font-weight:700;line-height:1.3;overflow-wrap:anywhere;margin:12px 0}
 .control-value #incremental-note{font-size:1rem}
}

/* Give price bounds space and make guarantee lengths easy to compare. */
.option-price .price-interval{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2em .45em;letter-spacing:0}
.price-interval .price-bound{white-space:nowrap}
.price-interval .price-separator{font-size:.75em;font-weight:400;color:var(--muted)}
.investment-breakdown .price-interval{justify-content:flex-end}
.investment-breakdown>div{flex-wrap:wrap}
.investment-breakdown dd{margin-left:auto;max-width:100%}
.option-price .price-range-help{margin:6px 0 16px}
@media screen{
 .calculator-main .warranty{font-size:1.3rem;font-weight:700;line-height:1.3;padding:10px 16px;border-width:2px;border-color:#91a977;background:#fff;color:var(--ink)}
 .calculator-main .option-controlled .warranty{background:var(--lime);border-color:var(--lime);color:var(--ink)}
}

/* Language selection stays at the top right, including on small screens. */
header>.language-picker{display:flex;align-items:center;gap:6px;margin-left:12px;flex-shrink:0}
.language-picker button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:7px 10px;border:1px solid #afbea4;border-radius:7px;background:#fff;color:var(--ink);font-size:.8rem;font-weight:700;cursor:pointer}
.language-picker button[aria-pressed=true]{border:2px solid var(--green);padding:6px 9px;background:#edf4e4;box-shadow:0 0 0 1px #1e4c391f}
.language-picker button:hover{background:#e9f1dc}
.language-flag{font-size:1.45rem;line-height:1}
.currency-note{margin:14px 0 0}
@media screen and (max-width:1200px){header{flex-wrap:wrap}header>.language-picker{margin-left:auto}.header-actions{order:2;flex-basis:100%;justify-content:flex-start;margin-left:0}}
@media screen and (max-width:680px){header>.app-name{display:none}.language-picker button{padding:7px;gap:4px}.language-picker button[aria-pressed=true]{padding:6px}.language-picker{gap:4px}.language-picker button>span:last-child{font-size:.75rem}}
@media print{.language-picker,.currency-note{display:none!important}}

@media screen and (max-width:400px){.language-picker button>span:last-child{display:none}.language-picker button{min-width:44px}}

/* Original Tiensu logo supplied by the owner. */
header .brand{width:200px;flex-shrink:0;line-height:0;letter-spacing:normal}
header .brand img{display:block;width:100%;height:auto}
.footer-logo{display:block;width:160px;max-width:100%;height:auto;aspect-ratio:1372 / 476;object-fit:contain;flex-shrink:0;mix-blend-mode:multiply}
@media screen and (max-width:680px){header .brand{width:150px}}
@media screen and (max-width:400px){header .brand{width:130px}}
@media print{header .brand{width:170px}}

/* Compare first, with individual offers available in the adjacent tabs. */
.offer-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px}
.offer-tabs button{min-height:58px;padding:14px 18px;border:2px solid #9bac92;border-radius:9px;background:white;color:var(--ink);font-size:1.05rem;font-weight:700;line-height:1.35;cursor:pointer}
.offer-tabs button:hover{background:#edf4e4;border-color:var(--green)}
.offer-tabs button[aria-selected=true]{background:var(--green);border-color:var(--green);color:#fff}
.calculator-main .alternatives:not(.is-comparing){grid-template-columns:minmax(0,1fr);max-width:960px;margin-inline:auto}
.offer-fixtures{padding:20px 26px;margin-top:20px;border-block:1px solid var(--line);background:#fbfcf9}
.offer-fixtures h4{font-size:1.05rem;margin:0 0 12px}
.offer-fixtures dl{margin:0;font-size:1rem}
.offer-fixtures dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:8px 0}
.offer-fixtures dt{color:var(--muted);overflow-wrap:anywhere}
.offer-fixtures dd{margin:0;font-weight:600;white-space:nowrap}
.offer-fixture-total{font-size:1rem;font-weight:600;margin:0}
.fixture-distribution{margin-top:6px}
.fixture-distribution summary{cursor:pointer;color:var(--green);font-size:1rem;line-height:1.5;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.option-price .estimate-description{margin:0 0 9px}
.option-price .estimate-terms{margin-bottom:18px}
@media screen and (max-width:680px){.offer-tabs{gap:8px}.offer-tabs button{padding:12px 7px;font-size:.9rem;min-height:58px}.offer-fixtures{padding:20px 22px}}
@media print{.offer-tabs{display:none!important}.offer-fixtures{padding:12px 18px}.offer-fixtures h4,.offer-fixtures dl,.offer-fixture-total{font-size:12px}}

/* Align each metric across both offers, including on narrow screens. */
.calculator-main .alternatives.is-comparing{display:block}
.comparison-heading{margin:4px 0 22px}
.comparison-heading h3{font-size:1.6rem;line-height:1.3;margin-bottom:6px}
.comparison-heading p{color:var(--muted);font-size:1rem}
.offer-recommendation{padding:26px 30px;margin-bottom:26px;border:1px solid #b8cd9c;border-left:6px solid var(--green);border-radius:12px;background:#edf4e4}
.offer-recommendation h4{margin:10px 0 8px;font-size:clamp(1.6rem,3vw,2.1rem)}
.offer-recommendation .recommendation-value{font-size:clamp(1.15rem,2vw,1.5rem);font-weight:700;margin-bottom:10px;line-height:1.4}
#recommendation-detail{max-width:1000px;font-size:1rem}
.comparison-table-wrap{border:1px solid #bdcdb5;border-radius:12px;overflow:hidden;background:#fff}
.comparison-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:1rem;line-height:1.5}
.comparison-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.comparison-label-col{width:30%}
.comparison-table th,.comparison-table td{padding:20px 24px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}
.comparison-table td{font-weight:600;text-align:center;font-variant-numeric:tabular-nums}
.comparison-table td+td,.comparison-table thead th+th{border-left:1px solid var(--line)}
.comparison-table th[scope=row]{text-align:left;font-weight:500;color:var(--muted)}
.comparison-table thead th{background:#f4f6f0;padding-block:26px;text-align:center}
.comparison-table thead th:first-child{text-align:left;font-weight:500;color:var(--muted)}
.comparison-option-name{display:block;font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.3}
.recommendation-badge{display:inline-block;font-size:.8rem;background:var(--green);color:white;border-radius:20px;padding:5px 12px;margin-top:12px}
.comparison-table small{display:block;margin-top:5px;font-size:.8rem;color:var(--muted);font-weight:400}
.comparison-table .comparison-key-row td{font-size:clamp(1.1rem,1.8vw,1.45rem);font-weight:700}
.comparison-table.recommend-led tr>:nth-child(2),.comparison-table.recommend-control tr>:nth-child(3){background:#f0f6e8}
.comparison-table.recommend-led thead th:nth-child(2),.comparison-table.recommend-control thead th:nth-child(3){background:#dcecbf}
.comparison-table .price-interval{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:.15em .5em}
.comparison-table .comparison-warranty td{font-size:1.35rem;font-weight:700}
.comparison-table .comparison-quantity-total th,.comparison-table .comparison-quantity-total td{font-weight:700;color:var(--ink)}
.comparison-table tfoot th,.comparison-table tfoot td{border-bottom:0}
.comparison-table .button{width:100%;white-space:normal;margin:0;line-height:1.4;min-height:50px}
.comparison-method{margin-top:18px;max-width:1100px}
@media screen and (max-width:680px){
 .comparison-heading h3{font-size:1.35rem}
 .offer-recommendation{padding:22px 18px;margin-bottom:20px}
 .comparison-table,.comparison-table thead,.comparison-table tbody,.comparison-table tfoot{display:block;width:100%}
 .comparison-table colgroup{display:none}
 .comparison-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .comparison-table th,.comparison-table td{min-width:0;padding:16px 10px;font-size:.9rem}
 .comparison-table th[scope=row]{grid-column:1 / -1;padding:10px 14px 6px;border-bottom:0;background:#f9faf6;font-size:.9rem;color:var(--ink)}
 .comparison-table thead th{padding:20px 8px}
 .comparison-table thead th:first-child{display:none}
 .comparison-table thead th:nth-child(2){border-left:0}
 .comparison-table .comparison-key-row td{font-size:1.05rem}
 .comparison-table .comparison-warranty td{font-size:1.05rem}
 .comparison-table .price-interval{flex-direction:column;align-items:center;gap:5px;line-height:1.3}
 .comparison-table .price-separator{font-size:.9em;line-height:1}
 .comparison-table .button{padding:12px 8px;font-size:.9rem}
 .comparison-table tfoot th{display:none}
 .comparison-table tfoot td{padding:16px 8px}
}
@media print{
 .offer-recommendation{padding:15px 18px;break-inside:avoid}
 .offer-recommendation h4{font-size:20px}.offer-recommendation .recommendation-value{font-size:16px}
 #recommendation-detail,.comparison-table{font-size:11px}
 .comparison-table th,.comparison-table td{padding:9px 12px}
 .comparison-table .comparison-key-row td,.comparison-table .comparison-warranty td{font-size:14px}
 .comparison-table tr{break-inside:avoid}.comparison-table tfoot{display:none}
 .comparison-table thead{display:table-header-group}
}

/* Calculation assumptions: separate inputs, fixture details and fixed rules. */
.assumptions{padding:0;background:#fff;color:var(--ink);border-radius:12px;overflow:hidden}
.assumptions>summary{padding:22px 26px;font-size:1.05rem;line-height:1.5;background:#f0f3ea}
.assumptions[open]>summary{border-bottom:1px solid var(--line)}
.assumptions-body{padding:26px;display:grid;gap:28px}
.assumption-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}
.assumption-metrics>div{padding:20px 22px;border-radius:8px;background:#f5f7f1}
.assumption-metrics dt{font-size:.95rem;color:var(--muted);margin-bottom:10px}
.assumption-metrics dd{margin:0;font-size:1.6rem;font-weight:700;line-height:1.35;font-variant-numeric:tabular-nums}
.assumption-metrics small{display:block;margin-top:7px;font-size:.85rem;line-height:1.45;color:var(--muted)}
.assumptions h3{font-size:1.05rem;margin:0 0 16px;line-height:1.4}
.assumption-table-wrap{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.assumption-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.95rem;line-height:1.5}
.assumption-table th,.assumption-table td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere;vertical-align:middle}
.assumption-table thead th{background:#f5f7f1;font-weight:500;color:var(--muted);font-size:.875rem}
.assumption-table th:first-child{width:30%}.assumption-table th:nth-child(2){width:15%}
.assumption-table th:nth-child(3){width:35%}.assumption-table th:nth-child(4){width:20%}
.assumption-table tbody th{font-weight:600}
.assumption-table tbody td{font-variant-numeric:tabular-nums}
.assumption-table tbody td:last-child{font-weight:700;color:var(--green)}
.assumption-table tbody tr:last-child>*{border-bottom:0}
.assumption-table.is-new th:first-child{width:50%}.assumption-table.is-new th:nth-child(2),.assumption-table.is-new th:nth-child(4){width:25%}
.assumption-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.assumption-rules>section{min-width:0}
.assumption-rules dl{margin:0;font-size:.95rem;line-height:1.5}
#assumption-watts>div{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid var(--line)}
#assumption-watts>div:first-child{padding-top:0}
#assumption-watts>div:last-child{border-bottom:0;padding-bottom:0}
#assumption-watts dt{color:var(--muted)}
#assumption-watts dd{margin:0;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.assumption-sensors>div+div{margin-top:18px}
.assumption-sensors dt{font-weight:600;margin-bottom:5px}
.assumption-sensors dd{margin:0;color:var(--muted)}
.assumption-explanation{border-top:1px solid var(--line);padding-top:22px}
.assumption-explanation h3{margin-bottom:8px}
.assumption-explanation p{margin:0;max-width:95ch;line-height:1.7;font-size:.9rem;color:var(--muted)}
@media screen and (max-width:680px){
 .assumptions>summary{padding:18px;font-size:1rem}
 .assumptions-body{padding:18px;gap:24px}
 .assumption-metrics{grid-template-columns:1fr;gap:10px}
 .assumption-metrics>div{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;padding:16px}
 .assumption-metrics dt{margin:0;align-self:center}
 .assumption-metrics dd{font-size:1.25rem;text-align:right}
 .assumption-metrics small{grid-column:1 / -1;margin-top:6px}
 .assumption-rules{grid-template-columns:1fr;gap:24px}
 .assumption-table,.assumption-table tbody{display:block}
 .assumption-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .assumption-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line);padding:14px;gap:12px}
 .assumption-table tbody tr:last-child{border-bottom:0}
 .assumption-table tbody th,.assumption-table tbody td{width:auto;padding:0;border:0;font-size:.9rem;min-width:0}
 .assumption-table tbody th{grid-column:1 / -1;font-size:1rem}
 .assumption-table tbody tr>th[scope=row],.assumption-table.is-new tbody tr>th[scope=row]{width:auto}
 .assumption-table td:before{content:attr(data-label);display:block;color:var(--muted);font-size:.8rem;font-weight:400;margin-bottom:4px}
 .assumption-table td:nth-child(2){grid-column:1 / -1;display:flex;align-items:baseline;gap:12px}
 .assumption-table td:nth-child(2):before{margin:0}
 .assumption-table.is-new td:nth-child(2){grid-column:auto;display:block}
 .assumption-table.is-new td:nth-child(2):before{margin-bottom:4px}
}
@media print{
 .assumptions{font-size:11px;overflow:visible}
 .assumptions-body{padding:15px;gap:18px}
 .assumption-metrics>div{padding:12px}.assumption-metrics dt,.assumptions h3{font-size:12px}
 .assumption-metrics dd{font-size:17px}.assumption-metrics small{font-size:10px}
 .assumption-table{font-size:11px}.assumption-table thead th{font-size:10px}
 .assumption-table th,.assumption-table td{padding:8px}
 .assumption-rules dl,.assumption-explanation p{font-size:11px}
 .assumption-metrics,.assumption-rules,.assumption-table tr,.assumption-explanation{break-inside:avoid}
}

/* Optional additional light sources stay below the simple fixture selector. */
.custom-lights{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.custom-lights>summary{color:var(--green);font-size:1rem;font-weight:600;text-decoration:underline;text-underline-offset:4px;line-height:1.6;cursor:pointer;padding:5px 0}
.custom-lights[open]>summary{margin-bottom:18px}
.custom-light-body{padding:24px;background:#f5f7f1;border:1px solid var(--line);border-radius:10px}
.custom-light-body>h3{font-size:1.2rem}
.custom-light-body>.hint{max-width:95ch}
.custom-light-row{min-width:0;margin:22px 0 0;padding:18px;border:1px solid #bdcdb5;border-radius:9px;background:white}
.custom-light-row legend{font-size:.95rem;font-weight:700;padding:0 8px}
.custom-light-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.5fr) minmax(7rem,.7fr) minmax(9rem,1fr) auto;gap:16px;align-items:end}
.calculator-main .custom-light-grid label{min-width:0;margin:0;font-size:.9rem;line-height:1.5}
.custom-light-grid label>span{display:block;margin-bottom:8px}
.custom-light-grid input,.custom-light-grid select{font-size:1rem;min-height:48px}
.custom-light-remove{min-height:48px;padding-inline:6px}
.custom-light-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:20px}
.custom-light-actions .button{margin:0;min-height:48px}
.custom-light-actions .hint{margin:0;font-weight:600}
@media screen and (max-width:1100px){.custom-light-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-light-remove{justify-self:start}}
@media screen and (max-width:680px){
 .custom-light-body{padding:18px 14px}
 .custom-light-row{padding:16px 12px}
 .custom-light-grid{gap:14px}
 .custom-field-id,.custom-field-name{grid-column:1 / -1}
 .custom-light-actions{gap:12px}.custom-light-actions .button{width:100%}
}

.custom-estimate-warning{padding:16px 20px;margin:18px 0;border:1px solid #d9c698;border-left:4px solid #b89143;border-radius:8px;background:#fbf7eb;color:#635027;font-size:.95rem;line-height:1.6}
.custom-reference-rules{margin:20px 0;font-size:.95rem;color:var(--muted);line-height:1.6}
.custom-reference-rules>summary{font-weight:600;color:var(--green);cursor:pointer;padding:5px 0}
.custom-reference-rules>p{margin-top:12px;max-width:100ch}
.custom-row-estimate{padding:12px 14px;margin-top:16px;border-radius:6px;background:#edf4e4;color:var(--green);font-size:.9rem;line-height:1.6}
@media print{.custom-estimate-warning{font-size:11px;padding:12px 15px;break-inside:avoid}}

/* Optional annual hours by area, above the shared preset. */
.hours-options{margin-top:18px}
#toggle-custom-hours{font-size:1rem;text-align:left;line-height:1.5;min-height:44px;padding:8px 0}
#hours-standard>label{margin-top:12px}
.custom-hours-panel{margin:14px 0 20px;padding:22px;border:1px solid #bdcdb5;border-radius:9px;background:#f5f7f1}
.custom-hours-panel h3{font-size:1.15rem}
.custom-hours-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:end}
.calculator-main .custom-hours-grid label{margin:8px 0 0;font-size:.95rem;line-height:1.45}
.custom-hours-grid label>span{display:block;margin-bottom:10px;min-height:2.9em}
.custom-hours-grid input{font-size:1.2rem;font-variant-numeric:tabular-nums;min-height:50px}
.custom-hours-grid small{display:block;color:var(--muted);font-size:.85rem;margin-top:7px}
.assumption-metrics dd.hours-by-group{display:grid;gap:10px;font-size:.95rem;line-height:1.4;font-weight:400}
.hours-by-group>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.hours-by-group span{color:var(--muted);min-width:0}
.hours-by-group strong{white-space:nowrap;font-size:1.1rem;font-variant-numeric:tabular-nums}
@media screen and (max-width:680px){
 .custom-hours-panel{padding:18px 16px}
 .custom-hours-grid{grid-template-columns:1fr;gap:14px}
 .custom-hours-grid label>span{min-height:0;margin-bottom:8px}
 .custom-hours-grid input{max-width:240px}
 .assumption-metrics dd.hours-by-group{grid-column:1 / -1;margin-top:10px;text-align:left}
}
@media print{.assumption-metrics dd.hours-by-group{font-size:10px;gap:6px}.hours-by-group strong{font-size:12px}}

/* A concise introduction with practical help before the calculator. */
.calculator-main .calculator-intro{display:block;padding:30px 0 28px}
.intro-heading{display:flex;align-items:center;justify-content:space-between;gap:28px}
.intro-heading h1{font-size:clamp(1.75rem,2.5vw,2.5rem);max-width:38ch;line-height:1.2;margin:0;letter-spacing:-.7px;text-wrap:balance}
.intro-heading .quiet{flex-shrink:0}
.intro-description{display:block;margin-top:16px}
.intro-details{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 40px;margin-top:20px}
.intro-details .intro-description{margin-top:0}
.customer-references{text-align:center;min-width:0;width:440px;max-width:100%;justify-self:end}
.calculator-main .calculator-intro .customer-reference-title{font-size:.95rem;line-height:1.5;color:var(--muted)}
.customer-references .customer-logos{margin:14px auto 0}
@media(max-width:900px){.intro-details{grid-template-columns:1fr;gap:20px}.customer-references{justify-self:start}}
.intro-description>p{max-width:100ch}
.intro-description>p+p{margin-top:10px}
.intro-description strong{color:var(--ink)}
.intro-warranty-summary{display:flex;flex-direction:column;gap:4px;color:var(--ink)}
.intro-description>.intro-warranty-summary{margin-top:4px}
.intro-warranty-summary span{font-weight:700}
/* Six equal tracks keep the customer marks in a centered 3–2–1 pyramid. */
.customer-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;justify-items:center;gap:11.2px 8.4px;width:70%;margin-top:16px}
.customer-logos img{display:block;max-width:100%;min-width:0;object-fit:contain;mix-blend-mode:multiply}
.customer-logos .customer-logo-abb{grid-area:1 / 1 / 2 / 3;width:60.2px;height:36.4px}
.customer-logos .customer-logo-schneider{grid-area:1 / 3 / 2 / 5;width:95.2px;height:36.4px}
.customer-logos .customer-logo-hydro{grid-area:1 / 5 / 2 / 7;width:53.2px;height:50.4px}
.customer-logos .customer-logo-sas{grid-area:2 / 2 / 3 / 4;width:77px;height:30.8px;object-fit:cover}
.customer-logos .customer-logo-elko{grid-area:2 / 4 / 3 / 6;width:88.2px;height:37.8px}
.customer-logos .customer-logo-wurth{grid-area:3 / 3 / 4 / 5;width:96.6px;height:29.4px;object-fit:cover}
@media(max-width:480px){.customer-logos{gap:8.4px 5.6px}.customer-logos .customer-logo-abb{width:49px;height:30.8px}.customer-logos .customer-logo-schneider{width:78.4px;height:30.8px}.customer-logos .customer-logo-hydro{width:46.2px;height:43.4px}.customer-logos .customer-logo-sas{width:65.8px;height:26.6px}.customer-logos .customer-logo-elko{width:77px;height:32.2px}.customer-logos .customer-logo-wurth{width:84px;height:25.2px}}
.calculator-main .calculator-intro p:not(.eyebrow){font-size:1.05rem;line-height:1.6}
.intro-help{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.intro-help a{color:var(--green);font-weight:600;text-decoration-thickness:1px}
@media screen and (max-width:760px){
 .calculator-main .calculator-intro{padding:24px 0}
 .intro-heading{align-items:flex-start;flex-direction:column;gap:14px}
 .intro-description{grid-template-columns:1fr;gap:14px;margin-top:18px}
 .intro-description>p+p{border-left:0;padding-left:0}
 .intro-help{margin-top:16px}
}
@media print{
 .intro-heading .quiet,.intro-details,.intro-description,.intro-help,.customer-logos{display:none!important}
 .calculator-main .calculator-intro{padding:14px 0}
 .intro-heading h1{font-size:23px;max-width:none}
}

/* Explain both extended warranties next to the guarantee claims. */
.warranty-group{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.warranty-group .warranty{max-width:100%}
.option-top .warranty-condition{font-size:.95rem;line-height:1.55;color:#e3ecd9;max-width:80ch;margin-top:14px}
.intro-warranty-condition{display:block;margin-top:10px;font-size:.9rem;line-height:1.55;color:var(--muted)}
@media print{.option-top .warranty-condition{font-size:11px}.warranty-group{gap:8px}}

/* Lead with the luminaire price; installation is a separate estimate. */
.installation-estimate{margin:0 26px 20px;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:#fbfcf9}
.installation-estimate dl{margin:0}
.installation-estimate dl>div{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 20px}
.installation-estimate dt{font-size:1rem;color:var(--muted)}
.installation-estimate dd{margin:0;font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums}
.installation-estimate p{font-size:.9rem;line-height:1.55;color:var(--muted);margin-top:10px;max-width:85ch}
.option-facts .project-investment dd{font-size:1.1rem}
.project-investment small{display:block;font-size:.9rem;line-height:1.5;color:var(--muted);margin-top:6px}
@media screen and (max-width:680px){.installation-estimate{margin-inline:22px;padding:14px}}
@media print{.installation-estimate{margin:0 18px 12px;padding:12px;break-inside:avoid}.installation-estimate dt,.installation-estimate dd,.installation-estimate p,.project-investment small{font-size:11px}.option-facts .project-investment dd{font-size:13px}}

/* Installation uses the same visual language as the calculator. */
.install-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:16px;padding:28px;color:var(--ink);background:#fff;box-shadow:0 20px 80px #102f3029}
.install-dialog::backdrop{background:#102f3080}
.install-close{display:flex;justify-content:flex-end;margin:0 0 6px}
.install-dialog>img{display:block;margin-bottom:18px;border-radius:14px}
.install-dialog h2{font-size:1.65rem;line-height:1.25;margin:0 0 12px}
.install-dialog p,.install-steps{font-size:1rem;line-height:1.6}
.install-dialog .button{margin:20px 0 4px}
.install-steps{margin:22px 0}
.install-steps>div{padding:15px 0;border-top:1px solid var(--line)}
.install-steps dt{font-weight:700;margin-bottom:5px}
.install-steps dd{margin:0;color:var(--muted)}
.install-network{padding:14px;background:#f0f3ea;border-radius:8px}
@media(display-mode:standalone){body{padding-bottom:env(safe-area-inset-bottom)}.calculator-page header{padding-top:max(20px,env(safe-area-inset-top))}#install-app{display:none}}
@media(max-width:480px){.install-dialog{padding:20px}.install-dialog h2{font-size:1.4rem}}
@media print{#install-app,.install-dialog{display:none!important}}

/* Product examples share the existing category and calculation inputs. */
:is(#fixture-cards,#fixture-summary){align-items:start}
.fixture-examples{grid-column:1 / -1;min-width:0;border-top:1px solid var(--line);padding-top:12px}
.fixture-examples summary{font-size:1rem;font-weight:600;line-height:1.45;padding:8px 0;color:var(--green)}
.fixture-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px;padding:18px 0 8px}
.fixture-gallery.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.fixture-gallery figure{margin:0;min-width:0;text-align:center}
.example-visual{display:flex;align-items:center;justify-content:center;height:125px;margin-bottom:10px}
.calculator-main .fixture .example-product{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;background:#fff}
.fixture-gallery figcaption{font-size:.875rem;line-height:1.4;overflow-wrap:anywhere}
.fixture-gallery .street-crop{clip-path:inset(0 6% 0 1.5%)}
.fixture-gallery .flood-crop{clip-path:inset(0 0 0 1.3%)}
.highbay-round-crop{clip-path:polygon(0 0,100% 0,100% 38%,94% 38%,94% 53%,100% 53%,100% 100%,0 100%,0 53%,1% 53%,1% 38%,0 38%)}
.highbay-rectangular-crop{clip-path:polygon(0 0,100% 0,100% 50%,93.5% 50%,93.5% 65%,100% 65%,100% 100%,0 100%,0 65%,3.5% 65%,3.5% 50%,0 50%)}
.calculator-main .fixture-images:has(.highbay-round-crop){min-height:0;height:auto}
.calculator-main .fixture-images img.highbay-round-crop{width:100%;height:auto;min-height:0}
.calculator-main .fixture-images.trio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:4px;height:112px;min-height:0}
.calculator-main .fixture-images.trio img{width:100%;height:52px;min-height:0;object-fit:contain}
.calculator-main .fixture-images.trio img:first-child{grid-column:1 / -1}
@media screen and (max-width:680px){
 .fixture-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
 .example-visual{height:130px}
 .calculator-main .fixture-images.trio{height:80px}
 .calculator-main .fixture-images.trio img{height:38px}
}

/* Separate groups keep different luminaires and light sources explicit. */
.calculator-main :is(#fixture-cards,#fixture-summary){display:block}
.group-area{border:1px solid var(--line);border-radius:12px;margin:20px 0;overflow:hidden;background:white}
.group-area-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;background:#f2f6eb}
.group-area-heading h3{font-size:1.2rem}.group-area-heading p{font-size:.9rem;color:var(--muted);margin-top:5px}
.group-area-heading .button{flex-shrink:0}.group-empty{padding:18px 24px;color:var(--muted);font-size:.95rem}
.lighting-group{margin:22px;padding:22px;border:1px solid var(--line);border-radius:9px;min-width:0}
.lighting-group legend{padding:0 8px;font-weight:700;font-size:1rem}
.lighting-group label{border:0;padding:0;background:none;font-size:1rem;margin:0}
.lighting-group label:has(:checked){background:none;border:0}
.lighting-group-top{display:grid;grid-template-columns:minmax(0,1fr) 10rem auto;align-items:end;gap:20px}
.group-field>span{display:block;font-weight:600;margin-bottom:8px}.group-field select,.group-field input{min-height:48px}
.group-count{font-size:1.2rem;font-variant-numeric:tabular-nums}
.group-remove{padding:12px 0!important;min-height:48px}
.group-visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:22px 0;max-width:680px}
.group-visuals figure{margin:0;min-width:0}.group-visuals img{height:150px;width:100%;object-fit:contain;background:#fff;border-radius:6px}
.group-visuals figcaption{font-size:.875rem;color:var(--muted);text-align:center;line-height:1.4;margin-top:8px}
.type-picker{margin:14px 0 22px}.type-picker summary{font-size:1rem;font-weight:600;padding:8px 0;color:var(--green)}
.type-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.type-choice{background:white;border:1px solid var(--line);border-radius:8px;padding:12px;min-width:0}
.type-choice[aria-pressed=true]{border:2px solid var(--green);background:#f3f7ed}
.type-choice figure{margin:0}.type-choice img{height:95px;width:100%;object-fit:contain}.type-choice figcaption{font-size:.875rem;line-height:1.4;margin-top:8px}
.source-help{display:flex;align-items:center;gap:20px;margin:16px 0 22px;background:#f6f8f2;border-radius:8px;padding:14px}
.source-help figure{margin:0;width:220px;flex-shrink:0}.source-help img{width:100%;height:110px;object-fit:contain}
.source-help figcaption{font-size:.875rem;line-height:1.4;margin-top:6px}.source-help p{font-size:.95rem}
.group-conditions{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.group-notice,.group-result-notes{background:#fff7e7;border:1px solid #e4d7b8;border-radius:8px;padding:14px;margin:16px 0;line-height:1.6;font-size:.95rem}
.group-result-notes h3{margin-bottom:10px}.group-result-notes p+p{margin-top:8px}
.product-settings{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}
.catalog-category{margin:26px 0}.catalog-category>h3{font-size:1.15rem;margin-bottom:12px}
.catalog-product{border:1px solid var(--line);border-radius:8px;margin:10px 0}.catalog-product summary{padding:16px;font-size:1rem;font-weight:600;cursor:pointer}
.catalog-body{padding:0 20px 20px}.catalog-image{width:180px;height:100px;object-fit:contain;display:block;margin-bottom:18px}
.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin:14px 0}
.catalog-field{display:flex;flex-direction:column;gap:7px;font-size:.95rem;margin:8px 0}
.catalog-field:has(input[type=checkbox]){flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.catalog-heights{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.catalog-heights label{padding:8px;border:0}
.catalog-body h4{font-size:1rem;margin:24px 0 10px}
@media(max-width:680px){
 .group-area-heading{padding:18px 16px;flex-direction:column;align-items:stretch;gap:14px}
 .lighting-group{margin:16px 10px;padding:16px 12px}.lighting-group-top{grid-template-columns:minmax(0,1fr) 7.5rem;gap:16px 12px}
 .group-remove{grid-column:1 / -1;justify-self:start}.group-visuals{gap:12px}.group-visuals img{height:110px}
 .type-choices{grid-template-columns:1fr 1fr}.source-help{align-items:flex-start;flex-direction:column;gap:10px}.source-help figure{width:100%;max-width:260px}
 .group-conditions,.catalog-grid{grid-template-columns:1fr}.catalog-body{padding:0 14px 16px}
}
.area-examples{margin:0 22px 20px;padding-top:10px}
.gallery-example{margin:0;min-width:0;text-align:center}.gallery-example img{width:100%;height:125px;object-fit:contain}.gallery-example figcaption{font-size:.875rem;margin-top:8px}

/* Choose compact fixture photos first, then enter quantities below. */
.fixture-area{margin:14px 0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.fixture-area-heading{display:flex;align-items:center;gap:18px;list-style:none;padding:18px 22px;background:#f2f6eb;min-height:80px}
.fixture-area-heading::-webkit-details-marker{display:none}
.fixture-area-heading:after{content:'+';font-size:1.6rem;font-weight:400;margin-left:auto;flex-shrink:0}
.fixture-area[open]>.fixture-area-heading:after{content:'−'}
.fixture-area-title{display:flex;flex-direction:column;gap:5px;min-width:0}.fixture-area-title strong{font-size:1.15rem;line-height:1.3}.fixture-area-title>span{font-size:.9rem;color:var(--muted);line-height:1.4}
.fixture-selected-count{font-size:.875rem;white-space:nowrap;color:var(--green);border:1px solid #b4c59f;border-radius:20px;padding:5px 10px;margin-left:auto}
.fixture-area-heading:has(.fixture-selected-count):after{margin-left:0}
.fixture-area-body{padding:18px 22px 22px}.fixture-picker-instruction{font-size:1rem;margin:0 0 16px;color:var(--muted)}
.fixture-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fixture-type-card{min-width:0}.fixture-type-card h4{font-size:.95rem;line-height:1.35;margin:0 0 8px;min-height:2.6em;font-weight:600}
.fixture-variants{display:flex;gap:6px}.fixture-pick{flex:1;min-width:0;padding:8px 5px;border:1px solid #cdd7c8;border-radius:7px;background:#fff;font-size:.875rem;line-height:1.35}
.fixture-pick:hover{border-color:var(--green);background:#f6f9f1}.fixture-pick[aria-pressed=true]{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#edf5e2}
.fixture-pick-image{display:block;width:100%;height:66px;object-fit:contain;margin-bottom:9px;background:#fff;border-radius:4px}
.fixture-pick-label{display:flex;align-items:flex-start;justify-content:center;gap:4px;min-height:2.7em}.fixture-pick-check{font-size:1rem;line-height:1.2;font-weight:700}
.fixture-quantities{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.fixture-quantities>h4{font-size:1rem;margin:0 0 12px}
.selected-fixture{padding:12px 0;border-bottom:1px solid #e7ece2}.selected-fixture:last-child{border-bottom:0;padding-bottom:0}
.selected-fixture-main{display:grid;grid-template-columns:52px minmax(0,1fr) 8.5rem auto;align-items:center;gap:16px}.selected-fixture-image{width:52px;height:44px;object-fit:contain}
.selected-fixture-name{display:flex;flex-direction:column;gap:4px;min-width:0}.selected-fixture-name strong{font-size:1rem;line-height:1.4}.selected-fixture-name>span{font-size:.875rem;color:var(--muted)}
.fixture-field{margin:0!important;padding:0!important;border:0!important;background:none!important}.fixture-field>span{display:block;font-size:.875rem;font-weight:600;margin-bottom:5px}.fixture-field select{min-height:44px}
.fixture-count{font-size:1.125rem!important;min-height:46px;font-variant-numeric:tabular-nums}.fixture-remove{padding:12px 0!important;min-height:44px}
.fixture-conditions{margin:10px 0 0 68px}.fixture-conditions>summary{font-size:.875rem;color:var(--muted);padding:5px 0}.fixture-condition-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px;max-width:580px}
.fixture-temperature-note{font-size:.875rem;color:var(--muted);margin:8px 0 0 68px}
@media(max-width:1000px){.fixture-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){
 .fixture-area-heading{padding:16px 14px;gap:12px}.fixture-area-body{padding:16px 12px}.fixture-area-title strong{font-size:1.05rem}
 .fixture-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.fixture-pick-image{height:58px}.fixture-pick{padding:7px 4px}
 .selected-fixture-main{grid-template-columns:40px minmax(0,1fr) 7.5rem;gap:10px}.selected-fixture-image{width:40px;height:40px}.fixture-remove{grid-column:2;justify-self:start;min-height:36px;padding:4px 0!important}
 .fixture-conditions,.fixture-temperature-note{margin-left:0}.fixture-condition-fields{grid-template-columns:1fr}.fixture-selected-count{font-size:.875rem;padding:4px 7px}
}
@media(max-width:390px){.fixture-type-grid{grid-template-columns:1fr}.fixture-pick-image{height:65px}.fixture-pick-label{min-height:0}.fixture-type-card h4{min-height:0}.selected-fixture-main{grid-template-columns:minmax(0,1fr) 7rem}.selected-fixture-image{display:none}.fixture-remove{grid-column:1}.fixture-selected-count{white-space:normal}}

/* Each area opens independently, keeping the category order visible. */
.fixture-browser{padding:8px 0 0}
.fixture-category{border:2px solid var(--green);border-radius:9px;overflow:hidden;margin:18px 0;background:white}
.fixture-category-heading{margin:0;font-size:1.1rem}
.fixture-area-button{width:100%;min-width:0;min-height:68px;border:0;background:var(--green);color:#fff;text-align:left;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;line-height:1.4;cursor:pointer;scroll-margin-top:8rem}
.fixture-category-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.fixture-category-copy strong{font-size:1.1rem;color:inherit}.fixture-category-copy>span{font-size:.875rem;font-weight:400;color:#e0ebd8}
.fixture-category-action{display:flex;align-items:center;gap:12px;flex-shrink:0}
.fixture-category-action-label{font-size:.875rem;font-weight:600;white-space:nowrap}
.fixture-category-toggle{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #ffffff90;border-radius:50%;font-size:1.4rem;line-height:1;flex-shrink:0;font-weight:600;color:inherit}
.fixture-area-button[aria-expanded=true]{background:#285a43}
.fixture-area-button:hover{background:#30664c}
.fixture-area-button:focus-visible{outline:3px solid var(--lime);outline-offset:-5px}
.fixture-category-panel{border-top:1px solid #b9c8ad;padding:18px 20px 22px}
.fixture-category-panel>.fixture-source-heading:first-child{margin-top:0}
@media(max-width:680px){.fixture-area-button{padding:15px 14px;gap:14px}.fixture-category-panel{padding:14px 12px 18px}.fixture-category-action-label{display:none}}
.fixture-area-button[aria-expanded=false]{padding:16px 20px;min-height:68px}
.fixture-area-button[aria-expanded=false] .fixture-category-copy>span{display:none}

.fixture-source-switcher{display:inline-flex;gap:4px;padding:4px;background:#edf0e8;border-radius:8px;margin:0 0 18px}
.fixture-source-button{padding:10px 18px;min-height:44px;border:0;border-radius:5px;background:none;font-size:.95rem;font-weight:600}
.fixture-source-button[aria-pressed=true]{background:var(--green);color:white}
.fixture-browser .fixture-type-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:960px}
.fixture-browser .fixture-pick{position:relative;display:flex;flex-direction:column;align-items:center;padding:12px 26px 12px 12px;text-align:center;min-height:135px}
.fixture-browser .fixture-pick-image{width:100%;max-width:130px;height:66px;margin:0 auto 10px}
.fixture-pick-name{font-size:.9rem;line-height:1.4}.fixture-browser .fixture-pick-check{position:absolute;right:9px;top:9px;font-size:1rem}
.fixture-height{white-space:nowrap}
.fixture-browser .fixture-pick-card{display:flex;flex-direction:column;min-width:0;border:1px solid #cdd7c8;border-radius:7px;background:#fff}
.fixture-browser .fixture-pick-card:hover{border-color:var(--green)}
.fixture-browser .fixture-pick-card.is-selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#edf5e2}
.fixture-browser .fixture-pick-card>.fixture-pick{width:100%;flex:1;border:0;border-radius:6px;box-shadow:none;background:transparent}
.fixture-pick-quantities{display:flex;flex-direction:column;gap:10px;padding:0 12px 12px}
.fixture-pick-count{width:100%;min-width:0;min-height:46px;font-size:1.125rem!important;font-variant-numeric:tabular-nums;padding:10px 8px}
:is(#fixture-cards,#fixture-summary)>.fixture-quantities{padding:18px 20px;background:#f7f9f3;border:1px solid var(--line);border-radius:8px;margin:22px 0 16px}
.fixture-quantities>h3{font-size:1.05rem}.fixture-quantities>.hint{margin:4px 0 10px}
.fixture-selection-empty{font-size:.95rem;color:var(--muted)}
:is(#fixture-cards,#fixture-summary) .selected-fixture-main{grid-template-columns:minmax(0,1fr) 8.5rem auto}
:is(#fixture-cards,#fixture-summary) .fixture-conditions,:is(#fixture-cards,#fixture-summary) .fixture-temperature-note{margin-left:0}
@media(max-width:680px){
 .fixture-source-button{padding:10px 14px}
 .fixture-browser .fixture-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fixture-browser .fixture-pick{min-height:125px}.fixture-browser .fixture-pick-image{height:58px}
 :is(#fixture-cards,#fixture-summary)>.fixture-quantities{padding:15px 12px}:is(#fixture-cards,#fixture-summary) .selected-fixture-main{grid-template-columns:minmax(0,1fr) 7rem;gap:8px 12px}
 :is(#fixture-cards,#fixture-summary) .fixture-remove{grid-column:1;justify-self:start}.selected-fixture-name strong{font-size:.95rem}
}
@media(max-width:480px){.fixture-browser .fixture-type-grid{grid-template-columns:1fr}}

/* Small previews identify each selected luminaire without expanding the list. */
.selected-fixture-identity{display:flex;align-items:center;gap:12px;min-width:0}
.selected-fixture-identity .selected-fixture-image{display:block;width:44px;height:44px;flex:0 0 44px;object-fit:contain;background:white;border-radius:5px}
.selected-fixture-identity .selected-fixture-name{min-width:0;overflow-wrap:anywhere}
.calculator-main .flow-question{font-size:1.1rem;line-height:1.4;margin:22px 0 8px}
.calculator-main .flow-question+.mode{margin-top:10px}
.calculator-main .flow-question+.tabs{margin-top:10px}
.fixture-browser>.flow-question{margin-top:8px}
.fixture-source-heading{font-size:1rem;line-height:1.4;margin:20px 0 4px}
.fixture-source-heading+.hint{margin-top:4px}
.selected-area{border:1px solid #bdcdb1;border-radius:8px;background:white;margin-top:16px;overflow:hidden}
.selected-area-heading{font-size:1.05rem;line-height:1.4;margin:0;padding:12px 16px;background:#eaf0e2;border-bottom:1px solid #bdcdb1}
.selected-area>.selected-fixture,.selected-area>.selected-fixture:last-child{padding:14px 16px}
.selected-fixture-name>.selected-source{align-self:flex-start;padding:3px 8px;background:#f0f3ec;border-radius:4px;color:var(--ink);font-weight:600;font-size:.875rem}
.customer-comment{margin-top:20px;text-align:left}
.customer-comment>label{font-size:1.1rem;font-weight:600;margin:0 0 10px}
.customer-comment>.hint{margin:0 0 10px}
.customer-comment textarea{font-size:1rem;background:white}
@media(max-width:680px){.selected-area-heading{padding:10px 12px}.selected-area>.selected-fixture,.selected-area>.selected-fixture:last-child{padding:12px}}
@media(max-width:680px){.selected-fixture-identity{gap:8px}.selected-fixture-identity .selected-fixture-image{width:36px;height:36px;flex-basis:36px}}
@media(max-width:430px){
 :is(#fixture-cards,#fixture-summary) .selected-fixture-identity{grid-column:1 / -1}
 :is(#fixture-cards,#fixture-summary) .selected-fixture-main>.fixture-field{grid-column:1;max-width:8rem}
 :is(#fixture-cards,#fixture-summary) .selected-fixture-main>.fixture-remove{grid-column:2;justify-self:end}
}

/* A format label is used where an accurate reference photo is still missing. */
.fixture-browser .fixture-format-label{display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--muted);background:#f0f3ec}
.selected-fixture-identity .fixture-format-label{display:flex;align-items:center;justify-content:center;line-height:1.25;text-align:center;font-size:.75rem;color:var(--muted);padding:3px;overflow-wrap:normal}
.panel-image-frame{position:relative;overflow:hidden;display:block}
.panel-image-frame>img{position:absolute;left:50%;top:50%;width:160%;height:160%;object-fit:contain;transform:translate(-50%,-50%) rotate(90deg);max-width:none}

/* Per-product calculation inputs and calculated selling prices. */
.catalog-body h4{font-size:1.1rem;margin:24px 0 12px}
.catalog-sale-preview{display:flex;flex-wrap:wrap;gap:16px 36px;padding:16px 20px;background:#edf3e4;border:1px solid var(--line);border-radius:8px;margin:18px 0}
.catalog-sale-preview>div{min-width:180px}
.catalog-sale-preview dt{font-size:1rem;color:var(--muted)}
.catalog-sale-preview dd{font-size:1.4rem;font-weight:600;margin:7px 0 0;font-variant-numeric:tabular-nums}
.catalog-technical{margin:24px 0 0;border-top:1px solid var(--line)}
.catalog-technical>summary{padding:18px 0;font-size:1rem;font-weight:600}
.catalog-field input:disabled{background:#eef0eb;color:var(--muted)}
.maintenance-note{font-size:1rem;margin:16px 0;color:var(--muted)}

@media screen and (min-width:681px){.assumption-table th:first-child{width:26%}.assumption-table th:nth-child(2){width:12%}.assumption-table th:nth-child(3){width:27%}.assumption-table th:nth-child(4){width:16%}.assumption-table th:nth-child(5){width:19%}}
.installation-estimate dd,.catalog-sale-preview dd{min-width:0;overflow-wrap:anywhere}

/* Make the quote request stand out from the calculation controls. */
@media screen{
 .calculator-main .quote-actions{margin:24px 0 32px}
 .calculator-main [data-request-quote]{display:flex;width:100%;min-height:72px;padding:20px 28px;gap:14px;border:2px solid var(--green);border-radius:10px;background:var(--lime);color:var(--ink);font-size:1.25rem;font-weight:700;line-height:1.35;text-align:center;box-shadow:0 5px 16px #18382f24;transition:background .15s,box-shadow .15s}
 .calculator-main [data-request-quote]:hover{background:#e1f5b7;box-shadow:0 7px 20px #18382f30}
 .calculator-main [data-request-quote]:focus-visible{outline:3px solid #82ae3d;outline-offset:4px}
 .calculator-main [data-request-quote]>span{min-width:0;overflow-wrap:anywhere}
 .quote-email-icon{flex:0 0 26px}
 .calculator-main .contact{background:var(--green);color:#fff;border-color:var(--green);padding:30px}
 .calculator-main .contact h2{font-size:1.5rem;line-height:1.3}
 .calculator-main .contact>p{color:#e2ebd8}
 .calculator-main .contact [data-request-quote]{margin-top:22px}
}
@media screen and (max-width:680px){
 .calculator-main [data-request-quote]{min-height:66px;padding:18px 16px;gap:12px;font-size:1.125rem}
 .calculator-main .contact{padding:24px 20px}
 .calculator-main .contact h2{font-size:1.3rem}
}
@media(prefers-reduced-motion:reduce){.calculator-main [data-request-quote]{transition:none}}

/* Center the calculator title between the brand and language controls. */
@media screen{
 .calculator-page header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;align-items:center}
 .calculator-page header>.brand{grid-column:1;grid-row:1;justify-self:start}
 .calculator-page header>.app-name{display:block;grid-column:2;grid-row:1;margin:0;padding:0;border:0;min-width:0;text-align:center;color:#143657;font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:clamp(1.125rem,1.6vw,1.5rem);font-weight:600;letter-spacing:-.015em;line-height:1.4;text-transform:none;text-wrap:balance}
 .calculator-page header>.language-picker{grid-column:3;grid-row:1;justify-self:end;margin:0}
 .calculator-main .section-title:has(#reset){flex-wrap:wrap;gap:12px}
 .calculator-main .entry-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;max-width:100%;margin-left:auto}
 .calculator-main .entry-tools #example{min-height:48px;padding:11px 18px;border:2px solid var(--green);border-radius:8px;font-size:1rem;font-weight:600;line-height:1.3}
 .calculator-main .entry-tools #example:hover{background:#f0f5e8}
 .calculator-main .fixture-pick-card{scroll-margin-top:8rem}
 .calculator-main #reset{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;min-height:48px;padding:11px 18px;border:2px solid var(--green);border-radius:8px;background:var(--lime);color:var(--ink);font-size:1rem;font-weight:700;line-height:1.3;text-decoration:none;cursor:pointer}
 .calculator-main #reset svg{flex:0 0 22px}
 .calculator-main #reset:hover{background:#e1f5b7;box-shadow:0 2px 6px #18382f26}
 .calculator-main #reset:focus-visible{outline:3px solid #82ae3d;outline-offset:3px}
}
@media screen and (max-width:1000px){
 .calculator-page header{grid-template-columns:minmax(0,1fr) auto;gap:16px}
 .calculator-page header>.language-picker{grid-column:2}
 .calculator-page header>.app-name{grid-column:1 / -1;grid-row:2;font-size:1.375rem}
}
@media screen and (max-width:480px){
 .calculator-page header>.app-name{font-size:1.125rem}
 .calculator-main #reset{padding:10px 14px}
}

/* Show operating hours as direct choices, with a clear selected state. */
.calculator-main .operation{padding:28px;border:1px solid #b7cabc;border-top:4px solid var(--green);box-shadow:0 3px 14px #18382f08}
.calculator-main .operation>h2{display:flex;align-items:center;gap:12px;font-size:1.35rem;line-height:1.35}
.calculator-main .operation .step{flex-shrink:0;margin:0;background:var(--green);color:#fff}
.operation-intro{margin-top:12px;color:var(--muted);font-size:1rem;max-width:70ch}
.operation .hours-options{margin-top:22px}
.operation .hours-presets{margin:0;padding:0;min-width:0}
.hours-presets legend{margin-bottom:10px;padding:0;font-size:1rem;font-weight:600}
.hours-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.calculator-main .hours-choice{display:flex;flex-direction:column;justify-content:space-between;gap:20px;margin:0;padding:18px;border:2px solid #cbd8cd;border-radius:10px;background:white;cursor:pointer;line-height:1.35;transition:background .15s,border-color .15s}
.hours-choice-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-size:1rem;font-weight:600}
.hours-choice-top input{margin:0;flex:0 0 20px;width:20px;height:20px;accent-color:var(--green)}
.hours-choice-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}
.hours-choice-value strong{font-size:1.9rem;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap}
.hours-choice-value>span{font-size:.875rem;font-weight:400;color:var(--muted)}
.calculator-main .hours-choice:hover{border-color:var(--green);background:#f1f6ec}
.calculator-main .hours-choice:has(:checked){background:var(--green);border-color:var(--green);color:white}
.hours-choice:has(:checked) .hours-choice-value>span{color:#e2eddf}
.hours-choice:has(:checked) input{accent-color:white}
.hours-choice:focus-within{outline:3px solid #82ae3d;outline-offset:3px}
.calculator-main #toggle-custom-hours{min-height:46px;margin-top:16px;padding:10px 16px;border:1px solid var(--green);font-size:1rem;font-weight:600;line-height:1.4;text-decoration:none;background:white}
.calculator-main #toggle-custom-hours:hover{background:#f0f5e8}
.calculator-main #toggle-custom-hours[aria-expanded=true]{background:var(--lime)}
.calculator-main .operation-fields{gap:20px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line);align-items:start}
.operation-price{padding:18px;border:1px solid #cbd8cd;border-radius:10px;background:#f1f5ed}
.operation-project{padding:18px 0}
.calculator-main .operation-fields label{margin:0 0 10px;font-size:1rem;font-weight:600;line-height:1.4}
.calculator-main .operation-fields label>span{font-size:.875rem;font-weight:400}
.calculator-main .operation-fields input{margin:0;min-height:52px;background:#fff}
.calculator-main .operation-fields #price{font-size:1.4rem;font-weight:600;font-variant-numeric:tabular-nums}
.operation-price>p{margin-top:8px;font-size:.875rem;color:var(--muted);line-height:1.45}
@media(max-width:1000px){.hours-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
 .calculator-main .operation{padding:22px 16px}
 .calculator-main .operation>h2{font-size:1.2rem}
 .hours-choice-grid{gap:10px}
 .calculator-main .hours-choice{padding:14px 12px;gap:16px}
 .hours-choice-value{flex-direction:column;gap:3px}
 .hours-choice-value strong{font-size:1.6rem}
 .calculator-main .operation-fields{grid-template-columns:1fr;gap:16px}
 .operation-project{padding:0}
}
@media(max-width:359px){.hours-choice-grid{grid-template-columns:1fr}.hours-choice-value{flex-direction:row;gap:10px}}

/* Keep custom annual hours as clear, individually labelled area cards. */
.calculator-main .custom-hours-panel{margin:18px 0 0;padding:24px;border:1px solid #c4d3c4;border-radius:12px;background:#f1f5ed}
.calculator-main .custom-hours-panel h3{font-size:1.25rem;line-height:1.35}
.calculator-main .custom-hours-panel>.hint{margin:8px 0 20px;max-width:65ch;font-size:1rem}
.calculator-main .custom-hours-grid{gap:16px;align-items:stretch}
.custom-hours-card{display:flex;flex-direction:column;gap:16px;min-width:0;padding:20px;background:white;border:1px solid #ccd9ce;border-top:3px solid var(--green);border-radius:9px}
.calculator-main .custom-hours-card>label{margin:0;color:var(--ink);font-size:1.05rem;font-weight:600;line-height:1.4;cursor:pointer}
.custom-hours-value{display:flex;align-items:center;gap:10px;margin-top:auto;padding-right:14px;border:2px solid #b7cabc;border-radius:8px;background:#fff}
.calculator-main .custom-hours-value input{width:100%;max-width:none;min-width:0;min-height:58px;margin:0;padding:10px 12px;border:0;border-radius:6px;background:transparent;font-size:1.7rem;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums}
.custom-hours-value>span{flex:0 0 auto;max-width:4.5em;font-size:.875rem;font-weight:400;line-height:1.35;color:var(--muted)}
.custom-hours-value:focus-within{border-color:var(--green);outline:3px solid #82ae3d;outline-offset:3px}
.calculator-main .custom-hours-value input:focus-visible{outline:none}
.custom-hours-card:focus-within{border-color:var(--green)}
.custom-hours-limits{margin-top:16px;color:var(--muted);font-size:.875rem;line-height:1.5}
@media(max-width:900px){.calculator-main .custom-hours-grid{grid-template-columns:1fr}.custom-hours-card{padding:18px}.custom-hours-value{max-width:100%}}
@media(max-width:480px){.calculator-main .custom-hours-panel{padding:20px 14px}.custom-hours-card{padding:16px}.calculator-main .custom-hours-value input{font-size:1.5rem}}

.footer-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 20px}
.footer-links .calculator-access{padding:8px 0;font-size:.875rem;line-height:1.4;color:var(--muted);text-decoration:none}
.footer-links .calculator-access:hover,.footer-links .calculator-access:focus-visible{color:var(--ink);text-decoration:underline}
@media(max-width:680px){.footer-links{justify-content:flex-start}}

/* Brief reset feedback, followed by a visible completion check. */
.calculator-main #reset .reset-check{display:none}
.reset-label{display:grid;text-align:center}
.reset-label>span{grid-area:1 / 1}
.reset-done-label{visibility:hidden}
.calculator-main #reset[data-reset-state=resetting]{cursor:wait}
.calculator-main #reset[data-reset-state=resetting] .reset-icon{animation:reset-spin 1s ease-in-out;transform-origin:center}
.calculator-main #reset[data-reset-state=done] .reset-icon{display:none}
.calculator-main #reset[data-reset-state=done] .reset-check{display:block}
.calculator-main #reset[data-reset-state=done] .reset-default-label{visibility:hidden}
.calculator-main #reset[data-reset-state=done] .reset-done-label{visibility:visible}
@keyframes reset-spin{from{transform:rotate(0)}to{transform:rotate(-360deg)}}
@media(prefers-reduced-motion:reduce){.calculator-main #reset[data-reset-state=resetting] .reset-icon{animation:none}}

/* A brief confirmation beside a valid field after the customer moves on. */
.field-feedback-host{position:relative}
.calculator-main .field-saved-note{position:absolute;right:10px;z-index:2;display:inline-flex;align-items:center;gap:5px;width:max-content;min-height:0;margin:0;padding:3px 8px;border:1px solid #b7cabc;border-radius:20px;background:#edf6e5;color:var(--green);font-size:.875rem;font-weight:600;line-height:1.2;white-space:nowrap;pointer-events:none;box-shadow:0 2px 5px #18382f12}
.calculator-main .field-saved-check{display:inline-block;margin:0;color:var(--green);font-size:1rem;line-height:1;animation:field-saved-pulse .7s ease-in-out 2}
.calculator-main .field-saved-note>span{color:inherit;font-size:inherit}
@keyframes field-saved-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.calculator-main .field-saved-check{animation:none}}
@media print{.field-saved-note{display:none!important}}



@font-face{font-family:Manrope;src:url('/fonts/manrope-variable.woff') format('woff');font-style:normal;font-weight:200 800;font-display:swap}

.fixture-summary-totals{margin-top:20px;padding:18px 20px;border:1px solid #bdcdb1;border-radius:9px;background:#eaf0e2}
.fixture-summary-total-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.fixture-summary-total-heading h4{margin:0;font-size:1rem;font-weight:600;line-height:1.4}
.fixture-summary-total{font-size:1.6rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--green)}
.fixture-area-totals{display:flex;flex-wrap:wrap;gap:10px 24px;padding:0;margin:14px 0 0;list-style:none}
.fixture-area-total{font-size:1rem;line-height:1.4;font-weight:500}
@media(max-width:680px){.fixture-summary-totals{padding:16px}.fixture-area-totals{flex-direction:column;gap:8px}}
/* Three solutions: one clear result flow. */
.solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 16px}.solution-card{border:1px solid #cbd7d1;border-radius:16px;padding:26px;background:#fff;min-width:0}.solution-cloud{border:2px solid #28634f;background:#f4f9f6;padding:25px}.solution-card h3{font-size:1.45rem;line-height:1.25;min-height:3.6rem;margin:10px 0 20px}.solution-reduction{display:flex;flex-direction:column;gap:5px;padding-bottom:22px;border-bottom:1px solid #d9e2dc}.solution-reduction strong{font-size:2.4rem;line-height:1.2;font-weight:600;overflow-wrap:anywhere}.solution-reduction span,.solution-metrics dt{font-size:.9rem;color:#4a6157}.solution-metrics{margin:0}.solution-metrics>div{padding-top:20px}.solution-metrics dd{margin:5px 0 0;font-size:1.3rem;font-weight:600;overflow-wrap:anywhere}.solution-metrics .saving dd{font-size:1.65rem;color:#205b43}.solution-subscription{margin:24px 0 0;font-size:.95rem;border-top:1px solid #d9e2dc;padding-top:16px}.solution-comparison{margin:36px 0}.solution-comparison h3{font-size:1.35rem;margin-bottom:18px}.solution-table-wrap{overflow-x:auto;border:1px solid #d9e2dc;border-radius:12px}.solution-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.solution-table th,.solution-table td{padding:16px;border-bottom:1px solid #e0e7e3;vertical-align:top}.solution-table thead{background:#edf3ef}.solution-table tbody th{font-weight:500;width:31%}.solution-table td{width:23%}.solution-table tr:last-child>*{border-bottom:0}.calculation-details{border:1px solid #d9e2dc;border-radius:12px;padding:20px;margin:24px 0}.calculation-details summary{cursor:pointer;font-weight:600;font-size:1rem}.calculation-details[open] summary{margin-bottom:22px}#solution-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.solution-detail h4{font-size:1.1rem;margin:0 0 16px}.solution-detail dl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e0e7e3;font-size:.9rem}.solution-detail dd{text-align:right;margin:0;white-space:normal;font-weight:600}.solution-detail dt{color:#4a6157}.results .hint{line-height:1.55}.solution-card .eyebrow{font-size:.8rem}
@media(max-width:760px){.solution-grid,#solution-details{grid-template-columns:1fr}.solution-card h3{min-height:0}.solution-card{padding:22px}.solution-cloud{padding:21px}.solution-table{min-width:610px}.solution-metrics{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.solution-metrics .investment{grid-column:1/-1}.solution-metrics dd,.solution-metrics .saving dd{font-size:1.3rem}.solution-reduction strong{font-size:2rem}}
.solution-costs{display:flex;flex-direction:column;gap:5px;font-size:.85rem;line-height:1.5;color:#4a6157;margin:12px 0 0}

.price-signin{max-width:660px;margin:64px auto;padding:0 20px}.price-signin .panel{padding:32px}.price-signin h1{font-size:2rem;line-height:1.2}.price-signin p{line-height:1.6;margin:20px 0}.price-signin .button{margin:8px 0}

/* Product price leads; installation and total remain easy to compare. */
.solution-card{display:flex;flex-direction:column}.solution-card h3{margin-bottom:14px}.solution-metrics .product-price{padding-top:0;padding-bottom:18px}.solution-metrics .product-price dd{font-size:clamp(1.8rem,2.6vw,2.65rem);line-height:1.2;letter-spacing:-.04em}.solution-metrics .product-price dt{font-size:1rem;font-weight:600}.solution-metrics .secondary-price{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:8px}.solution-metrics .secondary-price dd{font-size:.95rem;text-align:right;margin:0}.solution-metrics .secondary-price dt{font-size:.85rem}.solution-metrics .saving{border-top:1px solid #d9e2dc;margin-top:20px}.solution-metrics .payback{padding-bottom:22px}.solution-benefits{border-top:1px solid #d9e2dc;padding-top:16px;margin-top:auto}.solution-benefits p{font-size:.875rem;line-height:1.6;margin:4px 0}.solution-reduction{border:0;border-top:1px solid #d9e2dc;margin-top:16px;padding:16px 0 0;gap:3px}.solution-reduction strong{font-size:1.05rem}.solution-reduction span,.saving-info{font-size:.8rem;line-height:1.5}.saving-info summary{text-decoration:underline;text-underline-offset:3px}.saving-info p{margin-top:8px}.result-fixture-summary{margin:24px 0}.result-fixture-summary .fixture-quantities{margin:0}.fixture-summary-details{margin:18px 0}.fixture-summary-details>summary{font-weight:600;padding:14px 0;font-size:1rem}.result-quote-action{margin:16px 0}.solution-costs{font-size:.8rem}
@media(max-width:760px){.solution-metrics{display:block}.solution-metrics .product-price dd{font-size:2.2rem}.solution-card h3{margin-bottom:20px}}

/* Both existing-light choices remain clearly visible. */
.fixture-source-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;background:none;width:100%;max-width:800px;margin:14px 0 22px}.fixture-source-button{display:flex;align-items:center;gap:14px;text-align:left;padding:20px;min-height:94px;border:2px solid #81998e;border-radius:10px;background:#fff;color:var(--ink)}.fixture-source-button:hover{border-color:var(--green);background:#f0f5ed}.fixture-source-button[aria-pressed=true]{border-color:var(--green);background:var(--green);color:white}.fixture-source-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.fixture-source-copy strong{font-size:1.2rem;line-height:1.3}.fixture-source-copy>span{font-size:.875rem;font-weight:400;line-height:1.4}.fixture-source-marker{display:block;width:24px;height:24px;flex:0 0 24px;border:2px solid currentColor;border-radius:50%}.fixture-source-button[aria-pressed=true] .fixture-source-marker{background:var(--lime);border-color:white;box-shadow:inset 0 0 0 4px var(--green)}
@media(max-width:520px){.fixture-source-switcher{grid-template-columns:1fr;gap:10px}.fixture-source-button{padding:16px;min-height:80px}.fixture-source-copy strong{font-size:1.1rem}}

/* Stable checks confirm customer choices without a loading animation. */
.fixture-source-marker{display:grid;place-items:center;font-size:18px;font-weight:800;line-height:1}.fixture-source-button[aria-pressed=true] .fixture-source-marker{background:var(--lime);color:var(--green);box-shadow:none;border-color:var(--lime)}
[aria-selected=true] .choice-marker:after{content:'✓';width:auto;height:auto;border-radius:0;background:none;color:var(--lime);font-size:20px;font-weight:800;line-height:1}
.calculator-main .mode input[type=radio],.calculator-main .hours-choice input[type=radio]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:24px;height:24px;flex:0 0 24px;margin:0;border:2px solid #71897c;border-radius:50%;background:white;color:var(--green)}
.calculator-main .mode input[type=radio]:checked,.calculator-main .hours-choice input[type=radio]:checked{border-color:var(--green);background:var(--green);color:white}.calculator-main .hours-choice input[type=radio]:checked{border-color:white;background:white;color:var(--green)}
.calculator-main .mode input[type=radio]:checked:after,.calculator-main .hours-choice input[type=radio]:checked:after{content:'✓';font-size:18px;font-weight:800;line-height:1}.calculator-main .field-saved-check{animation:none}

.solution-benefits .epbd-info{margin-top:10px}.solution-benefits .epbd-info summary{font-size:.875rem;line-height:1.5;text-decoration:none}.solution-benefits .epbd-info p{font-size:.8rem}

/* Internal purchase-cost controls */
.catalog-price-rules{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background:#f2f5ed;border-radius:8px;margin:1rem 0}.catalog-price-rules label{display:flex;align-items:center;gap:.7rem}.catalog-price-rules input{width:1.3rem;height:1.3rem}.price-rule-status{display:block;font-size:.72rem;font-weight:500;margin-top:.3rem;color:#557263}.price-rule-status.excluded{color:#865215}.purchase-table-wrap{overflow-x:auto;margin:1rem 0}.purchase-table-wrap table{width:100%;border-collapse:collapse;font-size:.85rem}.purchase-table-wrap th,.purchase-table-wrap td{padding:.7rem;text-align:left;border-bottom:1px solid #d3ddd3}.purchase-table-wrap .excluded{background:#fff6e5}.commercial-settings h2{margin-top:1.6rem}.commercial-settings output{display:block;margin:1rem 0}.catalog-grid input{min-width:0}

#power-summary th small{display:block;font-weight:400;font-size:.78rem;margin-top:.25rem}

/* Product name and short explanation form one calm, aligned card header. */
.solution-heading{min-height:5rem;margin:10px 0 22px}.solution-card .solution-heading h3{min-height:0;margin:0 0 8px;font-size:1.55rem;line-height:1.25;letter-spacing:-.025em}.solution-description{margin:0;font-size:.9rem;line-height:1.5;color:#4a6157;max-width:30ch}.solution-trademark{font-size:.48em;line-height:0;vertical-align:super;margin-left:.12em;font-weight:500;letter-spacing:0}
@media(max-width:760px){.solution-heading{min-height:0;margin-bottom:24px}}

.operation .hours-outdoor-note{margin:16px 0 0;max-width:80ch}
.operation .hours-custom-intro{margin:20px 0 0;max-width:80ch}
.operation .hours-custom-intro + #toggle-custom-hours{margin-top:10px}

.advanced-calculator-toggle{margin:0 0 14px;white-space:normal;text-align:left}
.advanced-calculator-toggle[aria-expanded=true]{background:var(--green);color:white}
.advanced-calculator-help{max-width:80ch;margin:0 0 24px}
.fixture-advanced-fields{padding-top:16px;margin-top:12px;border-top:1px solid #bdcdb5;display:grid;gap:14px;min-width:0}
.fixture-advanced-fields[hidden]{display:none}
.fixture-advanced-fields .fixture-field{display:grid;gap:7px;min-width:0}
.fixture-advanced-fields input,.fixture-advanced-fields select{width:100%;min-width:0;max-width:100%;font-size:1rem}
.fixture-advanced-fields .hint,.fixture-advanced-fields .fixture-temperature-note{font-size:.875rem;line-height:1.5;margin:0}
.fixture-add-variant{white-space:normal;text-align:left;font-size:.9rem;line-height:1.4}

.fixture-duplicate{margin:0 16px 16px;white-space:normal;font-size:.9rem;padding:10px 12px}
.fixture-group-name{margin:0 16px 12px;color:var(--green);font-weight:600;font-size:1rem;overflow-wrap:anywhere}

.selection-rules-editor{padding:16px 0}
.selection-rule-card{min-width:0;margin:20px 0;padding:20px;border:1px solid #b9cbbb;border-radius:10px;background:#f7faf7}
.selection-rule-card legend{font-size:1.1rem;font-weight:600;padding:0 8px}
.selection-rule-card h4{margin:22px 0 12px}
.selection-rule-card>.catalog-field{margin-bottom:18px}
.selection-rule-card .catalog-grid{margin:16px 0}
.selection-rule-card input[type=checkbox]{width:22px;height:22px}
@media(max-width:600px){.selection-rule-card{padding:14px}}

.fixture-environment-choice{display:flex;align-items:flex-start;gap:12px;padding:16px;margin:0 0 12px;border:1px solid var(--green);border-radius:8px;background:#f5f8f1;color:var(--ink);font-weight:600;cursor:pointer;line-height:1.5}
.fixture-environment-choice input[type=checkbox]{flex:0 0 auto;width:22px;height:22px;margin:2px 0 0;accent-color:var(--green)}
.fixture-environment-choice:has(input:checked){background:#eaf2dd;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.fixture-environment-choice:focus-within{outline:2px solid var(--green);outline-offset:3px}
.meeting-choice{margin:18px 0}

.catalog-mapping-row{border:1px solid var(--line,#cdd8cb);border-radius:8px;padding:16px;margin:12px 0}.catalog-mapping-row legend{font-weight:700;padding:0 6px}.catalog-replacement-mappings select{width:100%;max-width:100%;min-width:0}

.catalog-mapping-panel{background:#f4f7f1;border:1px solid var(--line,#cdd8cb);border-radius:12px;padding:20px;margin-bottom:28px}
.catalog-mapping-panel h4{margin-top:0}.catalog-mapping-panel .catalog-mapping-row{background:#fff}
.catalog-mapping-flow{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:24px;align-items:start}
.catalog-mapping-flow.office{grid-template-columns:1fr 1.2fr}.catalog-mapping-source{display:grid;gap:10px;min-width:0}
.catalog-mapping-target{position:relative;min-width:0;gap:10px}.catalog-mapping-target::before{content:'→';position:absolute;left:-21px;top:0;color:#285547;font-size:20px}
.catalog-mapping-flow strong{font-size:1rem}.catalog-mapping-flow .hint{margin:0;line-height:1.45;font-size:.875rem}.catalog-mapping-detail{font-size:.875rem;color:#285547}
.catalog-mapping-flow select{font-size:1rem}.catalog-mapping-source>span{font-weight:600}
@media(max-width:900px){.catalog-mapping-flow,.catalog-mapping-flow.office{grid-template-columns:1fr;gap:28px}.catalog-mapping-target::before{content:'↓';top:-25px;left:0}.catalog-mapping-panel{padding:14px}}

.fixture-source-copy>.fixture-source-count{align-self:flex-start;border-radius:5px;padding:3px 9px;font-size:.875rem;font-weight:700;line-height:1.4;background:#edf1e9;color:var(--ink)}
.fixture-source-copy>.fixture-source-count[data-has-selections=true]{background:var(--lime);color:var(--ink)}
.fixture-source-button[aria-pressed=true] .fixture-source-count{background:#fff;color:var(--ink)}
.fixture-source-button[aria-pressed=true] .fixture-source-count[data-has-selections=true]{background:var(--lime)}

.email-fallback{margin-top:18px;border-top:1px solid #81998e;padding-top:16px}.email-fallback summary{font-weight:600;cursor:pointer}.email-fallback>p{margin:12px 0}.email-fallback label{display:block;color:#fff;margin:16px 0 8px}.email-fallback textarea{width:100%;min-height:180px;resize:vertical;background:#fff;color:var(--ink);padding:14px;font-size:1rem;line-height:1.5}.email-fallback .button{background:#fff;color:var(--ink)}.calculator-main .contact .email-fallback p{color:#e2ebd8}

.fixture-area-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 22px}
.fixture-area-choices .fixture-area-button{justify-content:flex-start;gap:14px;padding:20px;min-height:100px;border:2px solid #81998e;border-radius:10px;background:#fff;color:var(--ink)}
.fixture-area-choices .fixture-area-button[aria-expanded=true]{background:var(--green);color:#fff;border-color:var(--green)}
.fixture-area-choices .fixture-area-button:hover{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.fixture-area-choices .fixture-category-copy>span{display:block;color:inherit;font-size:.875rem}
.fixture-area-choices .fixture-area-button[aria-expanded=true] .fixture-source-marker{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.fixture-area-choices .fixture-area-button:focus-visible{outline:3px solid #749b3e;outline-offset:3px}
.fixture-category-heading{padding:18px 20px;background:var(--green);color:#fff;font-size:1.15rem}
@media(max-width:620px){.fixture-area-choices{grid-template-columns:1fr;gap:10px}.fixture-area-choices .fixture-area-button{min-height:76px;padding:14px 16px}.fixture-area-choices .fixture-category-copy{flex:1;flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.fixture-category-heading{padding:16px}}

/* Internal setup follows the order: existing lighting, products, mappings, common prices. */
.admin-pages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:28px}
.admin-pages button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;border:1px solid #81998e;border-radius:9px;background:#fff;color:#163b30;text-align:left;font:inherit;font-size:1rem;line-height:1.35;cursor:pointer}
.admin-pages button>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;font-size:.875rem;font-weight:700}
.admin-pages button[aria-pressed="true"]{background:#163b30;color:#fff;border-color:#163b30}
.admin-pages button[aria-pressed="true"]>span{background:#d3eb9c;color:#163b30;border-color:#d3eb9c}
.admin-pages button:focus-visible{outline:3px solid #789e33;outline-offset:3px}
[data-admin-panel][hidden],.admin-page-actions [hidden]{display:none!important}
[data-admin-panel]>h2{margin:0 0 12px;scroll-margin-top:24px}
.admin-source-section{margin:24px 0;border:1px solid var(--line);border-radius:9px;padding:0 18px 18px}
.admin-source-section:not([open]){padding-bottom:0}.admin-source-section>summary{padding:18px 0;cursor:pointer;font-size:1.1rem;font-weight:600}
.catalog-existing-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:18px;padding:16px 0;border-top:1px solid var(--line)}
.catalog-existing-row.led{grid-template-columns:minmax(180px,1.5fr) minmax(0,1fr)}
.catalog-existing-identity{display:flex;gap:12px;align-items:center;font-size:1rem;line-height:1.4}.catalog-existing-identity img{width:70px;height:70px;object-fit:contain;background:#fff;border-radius:6px;flex-shrink:0}
.catalog-existing-row .catalog-field{font-size:.875rem}.catalog-existing-row input{width:100%;min-width:0}
.catalog-product-model{display:block;font-size:.875rem;font-weight:400;margin-top:5px;color:var(--muted)}
#mapping-editor .catalog-mapping-panel{margin:0 14px 14px;padding:8px 14px;background:#f5f7f3}
.admin-page-actions{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:28px 0;padding-top:20px;border-top:1px solid var(--line)}
.admin-save-help{margin-top:18px}.admin-pages~.admin-actions{border-top:1px solid var(--line);padding-top:20px}
.admin-main .price-rule-status{font-size:.875rem}
@media(max-width:700px){.admin-pages{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-pages button{padding:12px}.catalog-existing-row,.catalog-existing-row.led{grid-template-columns:1fr 1fr;gap:10px}.catalog-existing-identity{grid-column:1/-1}.catalog-existing-row.led .catalog-field{grid-column:1/-1}.admin-source-section{padding-left:12px;padding-right:12px}}
@media(max-width:400px){.catalog-existing-row{grid-template-columns:1fr}.admin-pages button{font-size:.875rem}}

.admin-fixture-identity{display:flex;align-items:center;gap:14px;min-width:0;color:var(--ink);text-align:left}
.admin-fixture-thumb{display:block;width:90px;height:78px;object-fit:contain;background:white;border:1px solid #e3e8df;border-radius:6px;flex-shrink:0}
.admin-fixture-description{display:grid;gap:5px;min-width:0;line-height:1.4}.admin-fixture-description strong{font-size:1rem;font-weight:600;overflow-wrap:anywhere}.admin-fixture-description small{font-size:.875rem;font-weight:400;color:var(--muted);overflow-wrap:anywhere}
.catalog-product>summary.catalog-photo-summary{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px 12px;list-style:none}
.catalog-photo-summary::-webkit-details-marker{display:none}.catalog-photo-summary::before{content:'▸';font-size:1.1rem;color:var(--green)}.catalog-product[open]>.catalog-photo-summary::before{content:'▾'}
.catalog-photo-summary>.price-rule-status{grid-column:2;margin:0 0 0 104px}
.catalog-mapping-source>.admin-fixture-identity,.catalog-target-preview .admin-fixture-identity{flex-direction:column;align-items:flex-start;gap:12px}
.catalog-mapping-source .admin-fixture-thumb,.catalog-target-preview .admin-fixture-thumb{width:100%;height:110px;max-width:200px}
.catalog-target-preview{display:block;margin:6px 0}.catalog-target-preview[hidden]{display:none}.catalog-mapping-target .admin-fixture-description strong{font-size:.95rem}
.catalog-existing-row>.admin-fixture-identity{min-width:0}.catalog-existing-row .admin-fixture-thumb{width:70px;height:70px}
.catalog-variant-identity{margin:12px 0 20px}.purchase-table-wrap .admin-fixture-thumb{width:64px;height:64px}.purchase-table-wrap .admin-fixture-description{min-width:140px}
@media(max-width:700px){.catalog-existing-row>.admin-fixture-identity{grid-column:1/-1}.catalog-photo-summary .admin-fixture-thumb{width:70px;height:64px}.catalog-photo-summary>.price-rule-status{margin-left:84px}.catalog-mapping-source>.admin-fixture-identity,.catalog-target-preview .admin-fixture-identity{flex-direction:row;align-items:center}.catalog-mapping-source .admin-fixture-thumb,.catalog-target-preview .admin-fixture-thumb{width:80px;height:80px}.admin-fixture-identity{gap:10px}}

/* Keep product pricing dominant when savings do not support a short payback. */
.result-focus{font-size:1rem;line-height:1.5;color:#4a6157;margin:20px 0 0}
.price-focused .solution-metrics .saving{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0 20px;margin-top:16px}
.price-focused .solution-metrics .saving dt{font-size:.875rem}
.price-focused .solution-metrics .saving dd{font-size:1rem;color:inherit;margin:0;text-align:right}
.price-focused .solution-benefits{margin-top:12px}
@media(max-width:400px){.price-focused .solution-metrics .saving{flex-wrap:wrap}.price-focused .solution-metrics .saving dd{text-align:left}}

.hint.fixture-selection-instruction{color:var(--ink);font-weight:600}

.price-lock-short{margin:10px 0 0;text-align:center;color:var(--green);font-size:.9375rem;font-weight:600;line-height:1.5}
.calculator-main .contact .price-lock-message{margin-top:24px;padding-left:16px;border-left:3px solid var(--lime)}
.calculator-main .contact .price-lock-message h3{font-size:1.125rem;font-weight:600;color:#fff;line-height:1.4}
.calculator-main .contact .price-lock-message p{margin:6px 0 0;font-size:1rem;line-height:1.6;color:#e2ebd8}

.fixture-tally{display:grid;gap:7px;min-width:0}.fixture-tally-label{font-size:.875rem;font-weight:600}.fixture-tally-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.fixture-tally-controls input{width:100%;min-width:0;text-align:center;font-size:1rem;padding:8px}.fixture-tally-button{min-height:44px;border:1px solid var(--green);border-radius:8px;background:white;color:var(--green);font-size:1.5rem;font-weight:600;cursor:pointer}.fixture-tally-button:hover{background:#eaf2dd}.fixture-tally-button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.fixture-tally-button:disabled{opacity:.45;cursor:default}.fixture-tally-status{font-size:.875rem;line-height:1.4;margin:0}.fixture-tally-status:empty{display:none}

/* Named buildings and rooms are shown only by the advanced editor. */
.survey-panel{margin:20px 0 26px;padding:20px;border:1px solid var(--line);border-radius:10px;background:#f6f8f3;min-width:0}
.survey-heading,.survey-actions,.survey-photo-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.survey-heading{justify-content:space-between;margin-bottom:14px}.survey-heading h3{font-size:1.1rem}
.survey-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.survey-project-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.survey-field{display:flex;flex-direction:column;gap:7px;margin:0 0 12px;font-size:.875rem;min-width:0}.survey-field input,.survey-field select,.survey-field textarea{width:100%;min-width:0;padding:11px;border:1px solid var(--line);border-radius:6px;background:white;font-size:1rem}.survey-field textarea{resize:vertical}
.survey-body{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,2fr);gap:18px;margin-top:14px}.survey-tree{border-right:1px solid var(--line);padding-right:14px;min-width:0}.survey-building h4{margin:0 0 6px;font-size:.9rem;overflow-wrap:anywhere}.survey-building+.survey-building{margin-top:18px}.survey-area-button{border:0;background:none;display:block;text-align:left;padding:10px;border-radius:6px;width:100%;font-size:.875rem;overflow-wrap:anywhere}.survey-area-button[aria-current=location]{background:var(--green);color:white}.survey-area-button:hover{outline:1px solid var(--line)}
.survey-details{margin:6px 0 16px}.survey-details summary{font-size:.9rem;padding:8px 0}.survey-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin-top:12px}.survey-photo-actions{margin:16px 0}.survey-photo-input{position:relative;overflow:hidden;font-size:.875rem!important;cursor:pointer;margin:0}.survey-photo-input input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.survey-photo-input:focus-within{outline:3px solid #749b3e;outline-offset:3px}
.survey-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.survey-photos figure{margin:0;min-width:0}.survey-photos img{display:block;width:100%;height:110px;object-fit:cover;border-radius:6px}.survey-photos .text-button{font-size:.875rem}.survey-actions{margin-top:16px}.survey-actions .button{font-size:.875rem}.survey-status{margin-bottom:0;min-height:22px}.survey-error{color:#8d2c23}.survey-panel[aria-busy=true] .survey-actions button{opacity:.6}
.survey-result{margin:24px 0;min-width:0}.survey-result h3{margin-bottom:12px}.survey-price-table{overflow-x:auto}.survey-price-table table{width:100%;border-collapse:collapse;font-size:.875rem}.survey-price-table th,.survey-price-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}.survey-price-table th:first-child{text-align:left;min-width:145px;overflow-wrap:anywhere}.survey-building-total{background:#edf2e6;font-weight:700}.survey-price-table tbody tr:not(.survey-building-total) th{font-weight:400;padding-left:22px}.survey-price-table thead{background:var(--green);color:white}
@media(max-width:700px){.survey-panel{padding:14px}.survey-body{grid-template-columns:minmax(0,1fr)}.survey-tree{border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px;display:flex;gap:15px;flex-wrap:wrap}.survey-building{flex:1 1 150px}.survey-building+.survey-building{margin-top:0}.survey-project-fields,.survey-name-fields{grid-template-columns:minmax(0,1fr)}.survey-actions .button{flex:1 1 150px}.survey-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.survey-panel{display:none}}

.survey-area-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:4px;min-width:0}.survey-area-row .survey-area-button{flex:1;min-width:0;min-height:44px}.survey-area-delete{flex:0 0 44px;width:44px;min-height:44px;border:0;border-radius:6px;background:transparent;color:#8d2c23;font-size:1.5rem;cursor:pointer}.survey-area-delete:hover:not(:disabled){background:#fbece7}.survey-area-delete:focus-visible{outline:2px solid var(--green);outline-offset:2px}.survey-area-delete:disabled{opacity:.25;cursor:default}

.survey-delete-confirmation{grid-column:1/-1;margin:4px 0 10px;padding:12px;border:1px solid #d5aba0;border-radius:6px;background:#fff8f5}.survey-delete-confirmation p{font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}.survey-delete-confirmation .survey-actions{margin-top:10px}.survey-delete-confirmation .button{color:#8d2c23;border-color:#d5aba0}

/* Building totals introduce their own group of named rooms. */
.survey-price-table .survey-building-total th,.survey-price-table .survey-building-total td{background:var(--green);color:white;font-weight:700;padding-top:16px;padding-bottom:16px;border-top:12px solid white;border-bottom-color:var(--green)}.survey-price-table .survey-row-kind{display:block;font-size:.875rem;line-height:1.3;letter-spacing:.04em;margin-bottom:4px;color:var(--muted)}.survey-price-table .survey-building-total .survey-row-kind{color:#d9e6df}.survey-price-table .survey-row-name{display:block;font-size:1rem;line-height:1.4;font-weight:600;overflow-wrap:anywhere}.survey-price-table tbody tr:not(.survey-building-total) th{padding-left:30px}.survey-price-table tbody tr:not(.survey-building-total) .survey-row-name{font-weight:500}.survey-price-table tbody tr:not(.survey-building-total) th{border-left:3px solid #d9e6df}.survey-price-table tbody tr:not(.survey-building-total) td{background:white}
/* A public payment plan, opened only from the quiet footer disclosure. */
footer .gateway-payment{flex:0 0 100%;min-width:0;text-align:left}
.gateway-payment>summary{list-style:none;width:max-content;margin-left:auto;padding:8px 0;font-size:.8125rem;color:var(--muted)}
.gateway-payment>summary::-webkit-details-marker{display:none}
.gateway-payment>summary:hover,.gateway-payment>summary:focus-visible{text-decoration:underline;color:var(--ink)}
.gateway-payment-panel{margin:16px 0 0;color:var(--ink);font-size:1rem}
.gateway-payment-panel>select{max-width:320px}
.gateway-payment-panel p{display:block}
.gateway-payment-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:24px 0 12px}
.gateway-payment-facts dt{font-size:.875rem;color:var(--muted);line-height:1.5}
.gateway-payment-facts dd{margin:6px 0 0;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.gateway-payment-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}
.gateway-payment-card{border:1px solid var(--line);border-radius:10px;padding:22px;min-width:0}
.gateway-payment-card h3{font-size:1.125rem}
.gateway-payment-panel .gateway-payment-markup{font-size:.875rem;color:var(--muted);margin-top:6px}
.gateway-payment-panel .gateway-payment-rate{font-size:clamp(1.5rem,3vw,2rem);font-weight:600;line-height:1.25;margin-top:22px;overflow-wrap:anywhere}
.gateway-payment-panel .gateway-payment-unit{font-size:.875rem;color:var(--muted);margin-top:5px}
.gateway-payment-metrics{margin:22px 0 0}
.gateway-payment-metrics>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;border-top:1px solid var(--line);padding:12px 0;font-size:.875rem;line-height:1.5}
.gateway-payment-metrics dt{color:var(--muted)}
.gateway-payment-metrics dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.gateway-payment-panel .gateway-payment-cloud{margin-top:18px;padding:14px;background:#eef3e7;border-radius:7px;font-size:.875rem}
@media(max-width:850px){.gateway-payment-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.gateway-payment-cards{grid-template-columns:minmax(0,1fr)}.gateway-payment-facts{grid-template-columns:minmax(0,1fr);gap:12px}.gateway-payment-panel{padding:18px}.gateway-payment-card{padding:18px}}
.gateway-payment-installation-controls{display:grid;grid-template-columns:minmax(0,320px) auto;gap:8px 16px;justify-content:start;align-items:center;margin:20px 0}
.gateway-payment-installation-controls>label,.gateway-payment-installation-controls>.hint{grid-column:1/-1;margin:0}
.gateway-payment-installation-controls>.text-button{text-align:left}
.gateway-payment-count{background:var(--green);color:white;padding:22px 26px;border-radius:10px;margin-top:24px;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:20px;align-items:center}
.gateway-payment-count strong{grid-row:1/3;font-size:clamp(3rem,6vw,4.5rem);line-height:1.1;font-variant-numeric:tabular-nums}
.gateway-payment-count span{font-size:1.2rem;font-weight:700;line-height:1.4}
.gateway-payment-panel .gateway-payment-count p{font-size:.875rem;line-height:1.5;color:#d9e6df;margin-top:5px}
.gateway-payment-panel .gateway-payment-binding{background:#fbf1dd;border-left:4px solid #b57815;padding:12px 14px;font-size:1rem;font-weight:600;line-height:1.5;margin:12px 0}
.gateway-payment-panel .gateway-payment-allocation{font-weight:700;font-size:1rem;margin-top:8px}
.gateway-payment-benefits{margin:28px 0;border-top:1px solid var(--line);padding-top:22px}
.gateway-payment-benefits h3{font-size:1.125rem}
.gateway-payment-benefits ul{padding-left:22px;line-height:1.7}
.gateway-payment-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:18px 0}
.gateway-payment-feature-list>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 15px;padding:12px 0;border-top:1px solid var(--line);line-height:1.5;font-size:.875rem}
.gateway-payment-feature-list dt{color:var(--muted)}
.gateway-payment-feature-list dd{margin:0;font-weight:600}
#gateway-payment-pdf{margin-top:14px}
@media(max-width:650px){.gateway-payment-feature-list{grid-template-columns:minmax(0,1fr)}.gateway-payment-count{padding:18px;column-gap:14px}.gateway-payment-installation-controls{grid-template-columns:minmax(0,1fr)}}
