.solar-lab{box-sizing:border-box;max-width:1600px;margin:30px auto;padding:clamp(12px,2vw,28px);background:#fbfdf9;border:1px solid #d7e3db;border-radius:18px;color:#183d30;font:16px/1.5 system-ui,sans-serif}.solar-lab *{box-sizing:border-box}.solar-lab h2{font-size:clamp(26px,4vw,38px);line-height:1.2;margin:10px 0 16px;color:#183d30}.solar-lab h3{font-size:20px;color:#183d30;margin:0 0 15px}.solar-lab p{margin:14px 0}.solar-lab .lab-kicker{font-size:12px;letter-spacing:.12em;font-weight:bold}.solar-lab details{border:1px solid #cbd9d0;border-radius:10px;padding:16px;background:white;margin:20px 0}.solar-lab summary{font-weight:700;cursor:pointer}.solar-lab .lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.solar-lab label{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:14px}.solar-lab input,.solar-lab select{font:inherit;width:100%;min-height:46px;border:1px solid #b5cabe;border-radius:7px;padding:10px;background:white;color:#183d30}.solar-lab small,.solar-lab .lab-note{font-weight:400;font-size:13px;color:#52685d}.solar-lab button{font:inherit;font-weight:650;border:0;border-radius:8px;background:#175442;color:white;padding:13px 20px;margin-top:22px;cursor:pointer}.solar-lab .lab-reset{background:transparent;color:#175442;border:1px solid #b5cabe;margin-left:10px}.solar-lab .lab-results{margin-top:30px;border-top:1px solid #cbd9d0;padding-top:25px}.solar-lab .lab-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 26px}.solar-lab .lab-card{min-width:0;padding:clamp(10px,1.5vw,20px);border:1px solid #cbd9d0;border-radius:12px;background:#edf4ea}.solar-lab dt{font-size:13px;color:#52685d;margin-top:14px}.solar-lab dd{font-size:20px;font-weight:700;margin:3px 0 0;line-height:1.3}.solar-lab .lab-increment{padding:22px;background:#f3f0df;border-radius:12px}.solar-lab .lab-footer{font-size:13px;border-top:1px solid #cbd9d0;padding-top:18px;color:#52685d}.solar-lab .lab-error{color:#9c2424}.solar-lab .lab-stale{color:#775a14}.solar-lab [hidden]{display:none!important}.solar-lab :focus-visible{outline:3px solid #c59d26;outline-offset:3px}@media(max-width:650px){.solar-lab .lab-grid{grid-template-columns:1fr}.solar-lab button{width:100%}.solar-lab .lab-reset{margin-left:0}}

.solar-lab .lab-matrix-scroll{overflow-x:auto}.solar-lab .lab-matrix{min-width:570px}.solar-lab .lab-matrix-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 0}.solar-lab .lab-matrix-head strong{font-size:14px;text-align:center}.solar-lab .lab-best{border:2px solid #175442;background:#e3f0dd}.solar-lab .lab-badge{font-size:12px;font-weight:700;color:#175442}.solar-lab .lab-card dd{font-size:clamp(16px,1.7vw,20px);overflow-wrap:anywhere}.solar-lab .lab-card h3{font-size:17px;overflow-wrap:anywhere}

.solar-lab .lab-tax-section{margin:22px 0;padding:18px;border:2px solid #a3bd97;border-radius:12px;background:#edf4ea}.solar-lab .lab-tax-section h3{margin-bottom:8px}.solar-lab .lab-tax-status{font-size:13px;color:#775a14}.solar-lab .lab-tax-section .lab-grid{margin-top:14px}

.solar-lab .lab-personal{background:#edf4ea;border:2px solid #a3bd97}.solar-lab .lab-discovery{padding:18px;margin:20px 0;background:#f3f0df;border:1px solid #d6c98d;border-radius:12px}.solar-lab .lab-four{min-width:760px}.solar-lab .lab-four .lab-cards,.solar-lab .lab-four .lab-matrix-head{grid-template-columns:repeat(4,minmax(0,1fr))}

.solar-lab .lab-horizon-warning{padding:16px;background:#fff1d6;border:1px solid #d8b65a;border-radius:10px;color:#694b16}.solar-lab .lab-outside-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.solar-lab .lab-outside-card dt{margin:8px 0}.solar-lab .lab-outside-card dd{margin:8px 0;font-size:18px}.solar-lab .lab-discovery-delta{font-weight:650}

.solar-lab .lab-outside-card{padding:16px;border:1px solid #cbd9d0;border-radius:12px;background:#edf4ea}.solar-lab .lab-outside-card dd{overflow-wrap:anywhere}

.solar-lab .lab-cost-group{min-width:0;margin:20px 0;padding:18px;border:1px solid #cbd9d0;border-radius:10px;background:#fbfdf9}.solar-lab .lab-cost-group summary{font-weight:750;font-size:17px}.solar-lab .lab-cost-group a{color:#175442;text-decoration:underline}.solar-lab .lab-cost-group .lab-grid{margin-top:12px}

.solar-lab .lab-expansion{margin:24px 0;padding:20px;border:1px solid #a3bd97;border-radius:12px;background:#edf4ea}.solar-lab .lab-roof-plan{margin-top:20px;padding-top:18px;border-top:1px solid #b5cabe}

.solar-lab .lab-detail-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0}.solar-lab .lab-detail-bar button{margin:0}.solar-lab .lab-detail-bar p{flex:1 1 300px;margin:0}.solar-lab .lab-compact-numbers{margin:12px 0}.solar-lab .lab-compact-numbers dt{margin-top:10px;font-size:12px}.solar-lab .lab-compact-numbers dd{font-size:clamp(17px,1.8vw,23px);margin-top:2px}.solar-lab .lab-card-details{padding:10px;margin:14px 0 0;background:#fbfdf9}.solar-lab .lab-card-details summary{font-size:13px}.solar-lab .lab-card-details dd{font-size:16px}

/* Quick variation stays within the results area; themes may override --lab-sticky-top. */
.solar-lab .lab-quick{position:sticky;top:var(--lab-sticky-top,0px);z-index:20;margin:24px 0 0;padding:12px;background:#edf4ea;border:2px solid #a3bd97;box-shadow:0 4px 12px #183d3015}
body.admin-bar .solar-lab{--lab-sticky-top:32px}
.solar-lab .lab-quick summary{font-size:14px}.solar-lab .lab-quick-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;margin-top:8px}
.solar-lab .lab-quick-control{display:flex;gap:4px;align-items:center}.solar-lab .lab-quick-control input{min-width:0;text-align:center;padding:8px 2px;min-height:44px}
.solar-lab .lab-quick-control button{flex:0 0 36px;width:36px;min-height:44px;margin:0;padding:6px;border-radius:6px}
.solar-lab .lab-quick-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.solar-lab .lab-quick-heading span{min-width:0}.solar-lab .lab-quick-heading::before{content:"▸"}.solar-lab .lab-quick[open] .lab-quick-heading::before{content:"▾"}.solar-lab .lab-quick-heading span{flex:1}.solar-lab .lab-quick-heading::-webkit-details-marker{display:none}.solar-lab .lab-quick-reset{flex:0 0 auto;width:auto;margin:0;padding:5px 9px;min-height:32px;font-size:12px}.solar-lab .lab-quick p{margin:8px 0 0}.solar-lab .lab-quick .lab-error:empty{display:none}
@media(max-width:650px){
 .solar-lab .lab-quick{padding:8px;top:var(--lab-sticky-top,0px)}
 .solar-lab .lab-quick-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .solar-lab .lab-quick label{font-size:11px;gap:4px}.solar-lab .lab-quick-control{gap:2px;flex-wrap:wrap}
 .solar-lab .lab-quick-control input{order:-1;flex:1 1 100%;width:100%;font-size:16px}
 .solar-lab .lab-quick-control button{display:none}.solar-lab .lab-quick-control input{appearance:textfield;-moz-appearance:textfield}.solar-lab .lab-quick-control input::-webkit-inner-spin-button,.solar-lab .lab-quick-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
 .solar-lab .lab-quick-reset{width:auto;min-height:32px;padding:4px 7px;font-size:11px}.solar-lab .lab-quick-heading{gap:6px;font-size:12px}
 .solar-lab .lab-quick .lab-note{display:none}.solar-lab .lab-quick .lab-error{font-size:12px}
}
@media(max-width:782px){body.admin-bar .solar-lab{--lab-sticky-top:46px}}

.solar-lab .lab-card-negative{background:#f3f4f1;border-color:#d4d9d4}
.solar-lab .lab-card-negative :is(h3,p,dt,dd,summary,span){color:rgba(24,61,48,.4)}
.solar-lab .lab-negative-number,.solar-lab .lab-card-negative .lab-negative-number{color:#b3261e;font-weight:750}
.solar-lab .lab-negative-status{font-size:12px;margin:8px 0}
.solar-lab .lab-negative-summary{color:#9c2424}
.solar-lab input[type=checkbox]{width:24px;min-height:24px;align-self:flex-start}
.solar-lab .lab-device-profile{background:#fbfdf9}.solar-lab .lab-device-profile summary{overflow-wrap:anywhere}
.solar-lab .lab-device-profile a{color:#175442;text-decoration:underline}
.solar-lab .lab-check-status{font-size:12px;color:#775a14}.solar-lab .lab-check-warning{font-size:13px;color:#775a14}
.solar-lab .lab-system-check h3{margin-top:18px}.solar-lab .lab-matrix-head strong{overflow-wrap:anywhere}

.solar-lab .lab-interpretation{margin:20px 0;padding:16px;border:1px solid #b4c8ab;border-radius:10px;background:#f5f8f1}.solar-lab .lab-equipment-review{margin:10px 0;background:#fff}.solar-lab .lab-equipment-review summary{font-size:14px;overflow-wrap:anywhere}.solar-lab .lab-equipment-review p{font-size:14px}

.solar-lab .lab-price-link{font-size:12px;color:#175442;text-decoration:underline}.solar-lab .lab-price-reference{margin:20px 0;padding:16px;border:1px solid #c9d6c2;border-radius:10px;background:#fbfdf9;scroll-margin-top:180px}.solar-lab .lab-price-reference li{margin-bottom:10px}.solar-lab .lab-price-reference a{color:#175442;text-decoration:underline;overflow-wrap:anywhere}

.solar-lab .lab-location{grid-column:1/-1}.solar-lab .lab-location>a{display:inline-block;margin:8px 0;color:#175442;text-decoration:underline}.solar-lab .lab-location-help{margin:8px 0;padding:10px}.solar-lab .lab-location-help summary{font-size:14px}.solar-lab .lab-location-help li{margin-bottom:8px}.solar-lab .lab-coordinate-status{font-size:13px;color:#775a14;margin:6px 0}.solar-lab .lab-coordinate-status:empty{display:none}.solar-lab input:disabled{background:#eee;color:#777;cursor:not-allowed}

.solar-lab .lab-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 24px}.solar-lab .lab-location-help{grid-column:2;grid-row:1;align-self:start;margin:0;overflow-wrap:anywhere}.solar-lab .lab-location-help a{color:#175442;text-decoration:underline}.solar-lab .lab-location>:not(label):not(.lab-location-help){grid-column:1/-1}.solar-lab .lab-location table{width:100%;border-collapse:collapse}.solar-lab .lab-location th,.solar-lab .lab-location td{text-align:left;padding:5px;border-bottom:1px solid #ddd}.solar-lab input[readonly]{background:#edf3e8}.solar-lab [hidden]{display:none!important}
@media(max-width:650px){.solar-lab .lab-location{grid-template-columns:1fr}.solar-lab .lab-location-help{grid-column:1;grid-row:auto}}

.solar-lab .lab-place{font-weight:650;overflow-wrap:anywhere}.solar-lab .lab-place:empty,.solar-lab .lab-place-result:empty{display:none}.solar-lab .lab-location small a{color:#175442;text-decoration:underline}

.solar-lab .lab-location-unit{grid-column:1/-1}.solar-lab .lab-location-editor{margin:0;padding:12px}.solar-lab .lab-location-editor .lab-location{gap:8px 16px}.solar-lab .lab-location-editor input,.solar-lab .lab-location-editor select{min-height:38px;padding:7px 9px}.solar-lab .lab-location-editor .lab-grid{margin-top:10px;gap:12px}.solar-lab .lab-location-editor button{margin-top:8px;padding:8px 12px}.solar-lab .lab-location-summary{display:flex;align-items:center;gap:12px;margin-top:8px}.solar-lab .lab-location-summary .lab-place{flex:1;margin:0;font-size:14px}.solar-lab .lab-location-summary .lab-location-edit{flex:0 0 auto;width:auto;min-height:32px;margin:0;padding:5px 9px;font-size:12px}.solar-lab .lab-installation-solar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:8px}.solar-lab .lab-installation-solar label{font-size:12px;min-width:0}.solar-lab .lab-installation-solar input,.solar-lab .lab-installation-solar select{min-height:38px;padding:7px}.solar-lab .lab-installation-solar button{margin:0;padding:8px 10px;font-size:12px;min-height:38px}.solar-lab button:disabled{opacity:.45;cursor:default}.solar-lab .lab-inline-solar-status:empty{display:none}
@media(max-width:650px){.solar-lab .lab-location-summary{flex-wrap:wrap}.solar-lab .lab-installation-solar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.solar-lab .lab-installation-solar button{grid-column:1/-1;justify-self:end;width:auto}.solar-lab .lab-location-editor .lab-solar-settings{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

.solar-lab .lab-location-ready .lab-location-editor:not([open]){display:none}

.solar-lab .lab-mounting-field,.solar-lab .lab-ibi-field{grid-column:1}.solar-lab .lab-installation-geometry,.solar-lab .lab-icio-field{grid-column:2;min-width:0}.solar-lab .lab-installation-geometry .lab-installation-solar{margin-top:0}
@media(max-width:650px){.solar-lab .lab-mounting-field,.solar-lab .lab-installation-geometry,.solar-lab .lab-ibi-field,.solar-lab .lab-icio-field{grid-column:1}}

/* 0.9.8: separate household data and editable installation assumptions. */
.solar-lab .lab-personal>section{margin:22px 0;padding-top:18px;border-top:1px solid #cbd9d0}.solar-lab .lab-personal>section h3{font-size:17px;margin-bottom:8px}.solar-lab .lab-tax-benefits{margin:16px 0;background:#fff}.solar-lab .lab-solar-details .lab-grid{margin-top:12px}.solar-lab .lab-house-installation>.lab-note{margin:8px 0}.solar-lab .lab-house-installation>.lab-grid{margin-bottom:12px}

/* 0.9.8.1: fixed household basis and compact comparison settings. */
.solar-lab .lab-variable{background:#f5f8f1}.solar-lab .lab-variable>section{margin:18px 0}.solar-lab .lab-variable>section h3{font-size:17px;margin-bottom:8px}.solar-lab .lab-variable .lab-solar-settings{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.solar-lab .lab-solar-settings input,.solar-lab .lab-solar-settings select{min-width:0}.solar-lab .lab-solar-settings+.lab-note{margin:8px 0}.solar-lab .lab-house-installation>.lab-solar-reload{display:block;margin-left:auto;padding:9px 12px;font-size:13px}.solar-lab .lab-house-installation>.lab-inline-solar-status{display:block;text-align:right}.solar-lab .lab-house-installation table{width:100%;border-collapse:collapse}.solar-lab .lab-house-installation th,.solar-lab .lab-house-installation td{text-align:left;padding:5px;border-bottom:1px solid #ddd}
@media(max-width:650px){.solar-lab .lab-variable .lab-solar-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.solar-lab .lab-house-installation>.lab-solar-reload{width:auto}}

/* 0.9.8.2: compact location after setup and matching assumption headings. */
.solar-lab .lab-personal-ready>.lab-house-location{border-top:0;padding-top:0;margin:12px 0}.solar-lab .lab-personal-ready .lab-house-location>.lab-grid{margin-top:0}.solar-lab .lab-cost-group>summary,.solar-lab .lab-equipment-group>summary{font-size:17px;font-weight:750;line-height:1.5}.solar-lab .lab-equipment-group{padding:18px;background:#fbfdf9}.solar-lab .lab-additional li{margin:8px 0}.solar-lab .lab-profile-note{font-weight:400}

/* 0.9.8.3: prominent tariff input in cents and optional expert values. */
.solar-lab .lab-cent-field{display:grid;grid-template-columns:minmax(80px,130px) auto;align-content:start;align-items:center;gap:8px 12px;background:#edf4ea;border:1px solid #b5cabe;border-radius:10px;padding:14px}.solar-lab .lab-cent-title,.solar-lab .lab-cent-field small,.solar-lab .lab-cent-field .lab-price-link{grid-column:1/-1}.solar-lab .lab-cent-field input{grid-column:1;grid-row:2;font-size:24px;font-weight:700;padding:10px;min-height:54px}.solar-lab .lab-cent-unit{grid-column:2;grid-row:2;font-size:15px;font-weight:500}.solar-lab .lab-energy-expert{margin:16px 0 0;padding:12px}.solar-lab .lab-energy-expert>summary{font-size:14px;font-weight:650}

/* 0.9.8.4: mobile comparison starts in the middle with visible neighbours. */
.solar-lab .lab-battery-help{margin:12px 0;padding:12px}.solar-lab .lab-battery-help>summary{font-size:14px;font-weight:650}.solar-lab .lab-matrix-nav{display:none}.solar-lab .lab-interpretation-guide{margin:12px 0}.solar-lab .lab-interpretation-guide h4{margin:16px 0 6px}.solar-lab .lab-interpretation-guide p{margin:6px 0}.solar-lab .lab-results{border-top:0;padding-top:0}.solar-lab .lab-detail-bar{margin:8px 0 16px}
@media(max-width:650px){.solar-lab .lab-matrix-scroll{--matrix-viewport:320px;--matrix-columns:3;overscroll-behavior-x:contain}.solar-lab .lab-matrix-scroll .lab-matrix{min-width:0;width:calc(var(--matrix-viewport)*(.72*var(--matrix-columns) + .28) + 10px*(var(--matrix-columns) - 1));padding-inline:calc(var(--matrix-viewport)*.14)}.solar-lab .lab-matrix-scroll .lab-matrix>h3{position:sticky;left:0;width:var(--matrix-viewport);max-width:var(--matrix-viewport);background:#fbfdf9;z-index:1;padding:8px 0;font-size:18px}.solar-lab .lab-matrix-nav{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:6px;margin:10px 0}.solar-lab .lab-matrix-nav button{margin:0;padding:8px;min-height:40px}.solar-lab .lab-matrix-nav>span{text-align:center;font-size:13px}.solar-lab .lab-matrix-nav .lab-view-best{grid-column:1/-1;width:auto;font-size:13px;padding:7px 10px;justify-self:center}.solar-lab .lab-swipe-hint{grid-column:1/-1;text-align:center}.solar-lab .lab-matrix-scroll .lab-card h3{font-size:16px}.solar-lab .lab-matrix-scroll .lab-card{scroll-margin-inline:10px}.solar-lab .lab-matrix-scroll .lab-compact-numbers dd{font-size:21px}}

/* 0.9.8.5: collapsed summaries and evaluation inside quick variation. */
.solar-lab .lab-summary-value{font-weight:400;font-size:13px;display:inline;margin-left:14px;color:#52685d}.solar-lab .lab-personal[open]>summary>.lab-summary-value,.solar-lab .lab-variable[open]>summary>.lab-summary-value{display:none}.solar-lab .lab-quick-evaluation{margin-top:12px}.solar-lab .lab-quick-evaluation select{min-height:40px;padding:7px 10px}.solar-lab .lab-quick-evaluation{font-size:13px}
@media(max-width:650px){.solar-lab .lab-summary-value{display:block;margin:6px 0 0;font-size:12px;line-height:1.5}.solar-lab .lab-quick-evaluation{margin-top:8px}.solar-lab .lab-quick-evaluation select{min-height:36px;font-size:13px}}

.solar-lab .lab-reference-scroll{overflow-x:auto}.solar-lab .lab-reference-scroll table{min-width:800px;width:100%;border-collapse:collapse;font-size:13px}.solar-lab .lab-reference-scroll td,.solar-lab .lab-reference-scroll th{padding:10px;border-bottom:1px solid #cbd9d0;text-align:left;vertical-align:top}.solar-lab .lab-reference-scroll a{display:inline-block;margin-right:12px;color:#175442;text-decoration:underline}.solar-lab .lab-reference-scroll button{padding:8px;font-size:12px;margin-top:0}.solar-lab .lab-modular-builder label{margin-top:12px}.solar-lab .lab-battery-catalogue>summary{font-size:14px}.solar-lab .lab-device-profile>a{font-size:13px;color:#175442;text-decoration:underline}

.solar-lab .lab-reference-summary{font-weight:600}.solar-lab .lab-remove-battery{background:#fff;color:#7b3434;border:1px solid #c8aaa5;padding:8px 12px;font-size:13px}.solar-lab .lab-device-profile details a{display:inline-block;margin:8px 16px 0 0}.solar-lab .lab-reference-scroll select{max-width:280px;font-size:13px}
