:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#19242e;background:#f6f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#205d62;text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1140px;margin:0 auto;padding:0 28px}.masthead{background:#fff;border-bottom:1px solid #e7eae7}.masthead-inner{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-size:31px;font-weight:750;display:grid;place-items:center;color:#fff;background:#276b69;border-radius:12px;width:42px;height:42px}.brand strong{display:block;font-size:19px;letter-spacing:-.045em}.brand small{display:block;font-size:10px;letter-spacing:.12em;color:#71807e;margin-top:2px}.source-status{font-size:11px;letter-spacing:.11em;font-weight:750;color:#647776}.intro{padding:44px 0 26px}.eyebrow{color:#387775;letter-spacing:.13em;font-size:11px;font-weight:800}.intro h1{margin:8px 0 12px;max-width:850px;font-size:clamp(30px,5vw,43px);line-height:1.12;letter-spacing:-.055em}.intro h1 em{font-style:normal;color:#2b7c78}.intro>p:not(.eyebrow){max-width:850px;line-height:1.65;color:#62706f;margin:0 0 23px}.note{padding:16px 20px;background:#f0f4f2;border-left:3px solid #3b8680;color:#4c615f;line-height:1.6;font-size:13px}.note strong{color:#263f3b}.card{background:#fff;border:1px solid #e1e8e5;border-radius:14px;box-shadow:0 5px 16px rgba(14,46,40,.025)}.config{padding:28px}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin-bottom:18px}.section-head h2{margin:0;font-size:21px;letter-spacing:-.04em}.section-head p{margin:0;font-size:12px;color:#7b8a87}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 24px}.form-grid label,.advanced label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:690;color:#263d3b}.form-grid label small,.advanced label small{color:#788a86;line-height:1.4;font-weight:400;font-size:11px;max-width:410px}input,select,textarea{width:100%;border:1px solid #d9e1de;border-radius:8px;background:#fff;padding:10px 12px;color:#1b3130;font-size:13px;min-height:39px;outline-color:#4d938d}textarea{resize:vertical}.advanced{margin-top:23px;border-top:1px solid #e3ebe7;padding-top:18px}.advanced summary{color:#356f69;font-size:13px;font-weight:720;cursor:pointer}.detail-body{padding:19px 0 4px;display:grid;gap:18px}.micro{font-size:12px;color:#547068}.actions{margin-top:25px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}button{border:1px solid #246d6a;background:#267773;color:#fff;border-radius:8px;padding:11px 18px;font-weight:730;font-size:13px;min-height:39px}button:hover{filter:brightness(.96)}button:disabled{opacity:.6;cursor:progress}.secondary{background:#fff;border:1px solid #cad9d5;color:#2e6662}.tiny{width:fit-content;padding:5px 11px;font-size:12px}.profile-controls{display:flex;gap:8px;flex:1;min-width:0}.profile-controls input{max-width:180px}.profile-controls select{min-width:180px;max-width:260px}.profile-controls button{white-space:nowrap}#form-status{font-size:13px;color:#44756f;margin-top:10px;min-height:16px}#form-status.error{color:#a53a2c}.results{margin-top:38px}.results .section-head{margin:0 0 18px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric{background:#fff;padding:21px;border-radius:12px;border:1px solid #e0e9e5;display:flex;flex-direction:column;gap:7px}.metric small{font-size:10px;letter-spacing:.075em;font-weight:800;color:#68817d}.metric strong{font-size:31px;letter-spacing:-.065em;color:#255d59}.metric span{font-size:12px;color:#788985;line-height:1.5}.small-heading{font-size:13px;font-weight:720;margin:26px 0 14px}.month-bars{display:flex;gap:9px;align-items:flex-end;min-height:96px;padding-bottom:12px;overflow-x:auto}.month-col{display:flex;flex:1;min-width:44px;flex-direction:column;gap:5px;align-items:center}.month-col span{font-size:10px;color:#617c75}.month-col b{display:block;font-size:9px;color:#527971;font-weight:620}.month-col .bar{background:#75a8a2;border-radius:6px 6px 2px 2px;width:64%;min-height:3px}.result-card{padding:24px;margin-top:10px}.table-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.table-heading h3{margin:0;font-size:17px;letter-spacing:-.025em}.pill{background:#f0f3f1;border-radius:100px;padding:6px 10px;color:#647774;font-size:11px}.scroll-table{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:14px 10px;border-bottom:1px solid #edf0ee;text-align:right;white-space:nowrap}th{font-size:11px;color:#82918f;font-weight:750}td{font-variant-numeric:tabular-nums}td:first-child,th:first-child{text-align:left;white-space:normal;min-width:220px}td:first-child strong{font-size:12px;display:block;margin-bottom:4px}td:first-child small{display:block;color:#869490;font-size:10px}tbody tr:first-child{background:#f3f9f7}tbody tr:first-child td:last-child{color:#205f58;font-weight:800}td:last-child{font-weight:800}.context{font-size:12px;line-height:1.6;color:#536a66;margin:16px 0}.result-card details{margin-top:16px;padding-top:13px;border-top:1px solid #edf0ef;color:#56716d;font-size:12px}.result-card details summary{cursor:pointer;font-weight:750}.result-card details div{line-height:1.5;padding:10px 0}.gas-head{margin:33px 0 16px!important}.footnote{font-size:12px;color:#647975;line-height:1.7}.disclosure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:19px 0 45px}.disclosure{padding:22px}.disclosure h3{font-size:14px;margin:0 0 10px}.disclosure ul{padding-left:20px;margin:0;color:#617570;font-size:12px;line-height:1.7}.disclosure li{margin:6px 0}.footer{border-top:1px solid #dae5df;padding:20px 0 30px;display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;color:#82918a;font-size:11px}#loading{padding:40px 18px;color:#2d756e;text-align:center}.empty{color:#748c86;font-size:12px}@media(max-width:800px){.form-grid,.metric-grid,.disclosure-grid{grid-template-columns:1fr}.wrap{padding:0 17px}.config,.result-card{padding:18px}.source-status{display:none}.intro{padding-top:28px}.section-head{display:block}.section-head p{margin-top:6px}.actions{align-items:stretch;flex-direction:column}.profile-controls{flex-wrap:wrap}.profile-controls input{max-width:none}.profile-controls select{max-width:none}.table-heading{align-items:flex-start;flex-direction:column}}

/* Data-driven scenario comparison */
.comparison th,.comparison td{padding:16px 14px}
.comparison th:not(:first-child),.comparison td:not(:first-child){min-width:128px}
.comparison tbody tr.incomplete-row{background:#faf9f5}
.comparison tbody tr:first-child{background:#f0f7f4}
.comparison .case-number{font-size:15px;font-weight:760}
.plan-detail summary{cursor:pointer;list-style:none;max-width:400px}
.plan-detail summary::-webkit-details-marker{display:none}
.plan-detail summary strong{display:block;font-size:12px;color:#235f5a;line-height:1.5}
.plan-detail summary small{display:block;font-size:10px;font-weight:500;white-space:normal;color:#778b86;line-height:1.6}
.plan-detail .breakdown{text-align:left;color:#476661;line-height:1.6;width:min(415px,85vw);padding:16px 0 0}
.breakdown .parts{display:grid;grid-template-columns:minmax(165px,1fr) auto;gap:5px 12px;font-size:11px}
.breakdown .parts b{font-variant-numeric:tabular-nums;text-align:right}
.breakdown p{white-space:normal;color:#62736e;font-size:11px;margin:10px 0 0}
.breakdown p.warning{color:#a05a30;font-weight:650}
.breakdown code{overflow-wrap:anywhere;font-size:10px}
.no-price{font-size:11px;color:#9b7053}
.incomplete-row .case-number{color:#98664a}
.disclosure.limits{padding:25px;margin-top:20px;margin-bottom:42px}
.limits h3{font-size:15px;margin:0 0 12px}
.limits ul{padding-left:20px;color:#5e726e;font-size:12px;line-height:1.8}
.limits li{margin-bottom:4px}
#form-status.error{color:#b14332}
@media(max-width:720px){.comparison th,.comparison td{padding:12px 9px}.comparison .case-number{font-size:12px}.plan-detail .breakdown{width:min(290px,84vw)}}

.winner-note{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:8px 0 17px}
.winner-note>div{background:#f2f8f5;border:1px solid #dfeae4;border-radius:8px;padding:11px 13px}
.winner-note span{display:block;font-size:10px;letter-spacing:.04em;font-weight:650;color:#67847c;text-transform:uppercase}
.winner-note strong{display:block;font-size:12px;line-height:1.4;color:#205e57;margin-top:7px}
@media(max-width:750px){.winner-note{grid-template-columns:1fr}}

/* Inspectable calendar-month bill ledger and rate-rider provenance */
.profile-summary{font-size:12px;color:#326961;background:#f2f7f4;padding:13px 15px;border-radius:8px;line-height:1.5;margin:0 0 24px}
input[readonly]{background:#f2f6f3;color:#53736b;cursor:default}
.case-detail{margin:12px 0;border-top:1px solid #e3ebe6;padding-top:9px}
.case-detail>summary{cursor:pointer;color:#2c6d66;font-size:12px;font-weight:720;white-space:normal}
.plan-detail[open]>.case-detail{max-width:min(840px,85vw)}
.plan-detail .breakdown{width:min(785px,85vw);max-width:min(785px,85vw)}
.monthly-ledger{width:100%;font-size:11px;border-collapse:collapse;min-width:690px}
.monthly-ledger th,.monthly-ledger td{padding:8px 9px;min-width:0!important;text-align:right;white-space:nowrap}
.monthly-ledger th:first-child,.monthly-ledger td:first-child{text-align:left;min-width:100px!important}
.monthly-ledger tr:nth-child(even){background:#f8faf8}
.monthly-ledger tfoot{background:#eff5f2;font-weight:750}
.breakdown h4{font-size:12px;color:#304e47;margin:18px 0 8px}
.network-detail{margin-top:5px;width:200px;max-width:200px}
.network-detail summary{cursor:pointer;white-space:normal;color:#418079;font-size:10px}
.network-detail ul{white-space:normal;padding-left:17px;font-size:10px;font-weight:400;line-height:1.6;color:#5a746f;margin:8px 0;min-width:220px}
.network-detail li{margin:3px 0}
.provisional-tag{color:#bd7943;font-weight:800}
@media(max-width:750px){.plan-detail .breakdown{width:min(590px,78vw);max-width:min(590px,78vw)}}

/* Four data-declared market scenarios and retailer/profile switching */
.metric-grid{grid-template-columns:repeat(auto-fit,minmax(208px,1fr))}
.winner-note{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.comparison th:not(:first-child),.comparison td:not(:first-child){min-width:146px}
.comparison th:first-child{min-width:300px}
#consumer-description{min-height:2.4em}
.config .form-grid label select{width:100%}
.metric span{max-width:34ch}
.metric small{line-height:1.5}
.result-card .scroll-table{max-width:100%}
@media (max-width:720px){
 .metric-grid,.winner-note{grid-template-columns:1fr}
 .comparison th:first-child{min-width:210px}
 .comparison th:not(:first-child),.comparison td:not(:first-child){min-width:123px}
}

/* Supplier-first combined comparison: three grouped rows, sortable scenario columns */
.comparison-main{padding:27px}
.comparison-main .table-heading h2{font-size:21px;margin:0 0 6px;letter-spacing:-.035em}
.comparison-main .table-heading p{color:#63736e;font-size:12px;margin:0;line-height:1.5}
.compare-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;
  padding:17px 0;border-top:1px solid #e5ebe8;border-bottom:1px solid #e5ebe8;margin:17px 0 12px}
.compare-toolbar label{font-size:11px;font-weight:700;display:flex;flex-direction:column;gap:5px;
  color:#516862}
.compare-toolbar select{font-size:12px;padding:8px 11px}
.ranking-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin:12px 0 18px;flex-wrap:wrap;color:#687c76;font-size:11px;line-height:1.6}
.ranking-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:660;color:#325f59;cursor:pointer}
.ranking-toolbar input[type=checkbox]{width:15px;height:15px;min-height:15px;accent-color:#287673}
.ranking-toolbar #sort-caption{flex:1;max-width:680px}
.ranked-table{border-collapse:separate;border-spacing:0;font-size:12px;min-width:820px}
.ranked-table th,.ranked-table td{padding:9px 11px;vertical-align:middle;border-bottom:1px solid #e9efeb}
.ranked-table th:nth-child(n+3),.ranked-table td.cost-cell{text-align:right;min-width:138px}
.ranked-table th:first-child,.ranked-table td.supplier-group{min-width:170px;max-width:220px;width:180px}
.ranked-table th:nth-child(2),.ranked-table td.plan-component{min-width:245px;max-width:380px;text-align:left;white-space:normal}
.ranked-table td.supplier-group{vertical-align:top;padding-top:16px;background:#fff}
.ranked-table td.supplier-group strong{font-size:12px;color:#284641;line-height:1.5;display:block}
.ranked-table td.supplier-group small{font-size:10px;color:#6b8078;line-height:1.5;display:block;white-space:normal}
.ranked-table td.plan-component strong{font-size:12px;line-height:1.5;color:#2a423d;display:block}
.ranked-table td.plan-component small{font-size:10px;line-height:1.5;color:#73827f;display:block}
.ranked-table .pair-start>td{border-top:2px solid #d9e2dc}
.ranked-table tbody .pair-start:first-child>td{border-top:0}
.ranked-table tr.pair-total td{background:#f3f5f3;border-bottom:1px solid #cfdad5}
.ranked-table tr.pair-total td strong{font-weight:800;color:#203a34}
.ranked-table tr.pair-total td.cost-cell .cost-button{font-weight:800}
.ranked-table tr.single-plan td{border-bottom:1px solid #dce5e1}
.ranked-table .partial-cost .cost-button{color:#906c4c}
.ranked-table .unavailable-cost .cost-button{font-size:11px;color:#8a9390}
.ranked-table .no-plans{white-space:normal;line-height:1.6;padding:28px;color:#586d65;text-align:left}
.sort-heading{border:0;background:none;border-radius:4px;padding:8px 3px;white-space:normal;
  font-size:11px;font-weight:750;line-height:1.4;text-align:right;color:#4d665f;min-height:unset}
.sort-heading:hover,.sort-heading.sorted{background:none;color:#125c56;text-decoration:underline}
.sort-heading:focus-visible,.cost-button:focus-visible{outline:2px solid #217973;outline-offset:2px}
.cost-button{border:0;background:transparent;color:#253b36;padding:4px 0;border-radius:4px;
  min-height:unset;font-size:12px;font-variant-numeric:tabular-nums;text-align:right;
  white-space:nowrap;font-weight:650;text-decoration:underline;text-decoration-color:#dce6e1;
  text-underline-offset:4px}
.cost-button:hover{background:transparent;color:#116d63;text-decoration-color:currentColor}
.pair-recommended{display:block;margin-top:8px;color:#377771;font-size:10px;line-height:1.5}
.comparison-main .winner-note{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.comparison-main .winner-note>div{border:0;border-bottom:1px solid #dae3de;border-radius:0;background:none;
  padding:4px 4px 13px}
.comparison-main .winner-note span{font-size:10px;color:#77857e}
.comparison-main .winner-note strong{font-size:18px;color:#29423b;margin-top:4px;line-height:1.35}
.comparison-main .winner-note small{font-size:11px;color:#7d8b85;display:block;margin-top:3px;line-height:1.5}
.comparison-main .scroll-table{border:1px solid #e1e9e4;border-radius:10px}
.comparison-main .footnote{margin-top:17px}
.comparison-detail{margin-top:24px;padding:19px 20px;border-top:2px solid #d3dfd8;scroll-margin-top:16px}
.comparison-detail .detail-header{display:flex;justify-content:space-between;align-items:center;gap:15px}
.comparison-detail .detail-header h3{font-size:17px;margin:0;color:#28443a}
.comparison-detail .detail-selection{font-size:12px;color:#61786e;line-height:1.5}
.comparison-detail .detail-fuel{padding:15px 0}
.comparison-detail .detail-fuel h4{font-size:13px;font-weight:750;color:#2c5247;margin:5px 0 10px}
.comparison-detail .breakdown{width:100%;max-width:100%;font-size:12px}
.comparison-detail .breakdown .parts{max-width:520px}
.comparison-detail .monthly-ledger{font-size:11px}
.market-context{margin-top:24px;padding:19px 24px}
.market-context>summary{font-size:14px;font-weight:750;color:#356d64;cursor:pointer}
.market-inner{padding:20px 0 2px}
@media(max-width:870px){
 .compare-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
 .comparison-main .winner-note{grid-template-columns:1fr}
 .comparison-main{padding:18px}
}
@media(max-width:540px){
 .compare-toolbar{grid-template-columns:1fr}
 .ranked-table th:first-child,.ranked-table td.supplier-group{min-width:130px;width:132px}
 .ranked-table th:nth-child(2),.ranked-table td.plan-component{min-width:190px}
 .comparison-main .table-heading{display:block}
 .comparison-main .table-heading .pill{display:inline-block;margin-top:11px}
}

/* Keep primary cost table within reach, especially on mobile. */
.scope-details{margin-top:7px}
.scope-details summary{font-size:12px;color:#39706a;font-weight:700;cursor:pointer;padding:7px 0}
.scope-details .note{margin-top:10px}
.comparison-main .compare-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
.extra-plan-filters{grid-column:1/-1;padding-top:2px}
.extra-plan-filters>summary{font-size:12px;font-weight:650;color:#41746d;cursor:pointer;padding:8px 0}
.extra-plan-filters .filter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin-top:8px}
.extra-plan-filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#516862}
@media(max-width:540px){
 .comparison-main .compare-toolbar{grid-template-columns:1fr}
 .extra-plan-filters .filter-fields{grid-template-columns:1fr}
 .ranking-toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
 .ranking-toolbar #sort-caption{max-width:100%;width:100%}
 .ranking-toolbar label{max-width:100%}
}

.floating-break-even{border-top:1px solid #e4eae6;border-bottom:1px solid #e4eae6;
  background:#f6f8f6;padding:13px 17px;margin:8px 0 20px;border-radius:5px;
  font-size:12px;line-height:1.7;color:#45645c}
.floating-break-even strong:first-child{font-size:13px;color:#245a51}
.floating-break-even p{margin:7px 0;color:#4e665e}
.floating-break-even em{font-style:normal;text-decoration:underline;text-decoration-style:dotted}

/* Current contracted commodity benchmark: deliberately NOT an all-in bill. */
.current-contract-input{margin-top:20px;padding-top:18px;border-top:1px solid #e3ebe7}
.contract-input-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:14px}
.contract-input-title strong{font-size:14px;color:#2d4942}
.contract-input-title small{font-size:11px;line-height:1.5;color:#687b73;max-width:560px}
.current-contract-benchmark{padding:15px 2px 18px;border-bottom:1px solid #e0e8e2}
.current-contract-benchmark:empty{display:none}
.current-contract-benchmark h3{font-size:15px;color:#2c493f;margin:0 0 6px}
.baseline-caption{font-size:11px;color:#687d72;line-height:1.6;margin:8px 0 12px}
.baseline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.baseline-fuel{min-width:0}
.baseline-fuel h4{font-size:12px;margin:0 0 7px;color:#30564b}
.baseline-fuel>p{margin:0;font-size:11px;color:#5d7369;line-height:1.6}
.baseline-fuel ul{list-style:none;padding:0;margin:10px 0 0}
.baseline-fuel li{padding:8px 0;border-top:1px solid #edf0ed;display:grid;gap:3px;font-size:11px;line-height:1.5;color:#425b51}
.baseline-fuel li strong{font-size:13px;color:#23483c}
.baseline-fuel li small{font-size:10px;color:#72837b}
@media(max-width:720px){
  .contract-input-title{flex-direction:column;gap:4px}
  .baseline-grid{grid-template-columns:1fr}
}

/* User's fixed contract: only the remaining signed term is priceable. */
.baseline-combined{margin-top:18px;border-top:1px solid #dce5df;padding-top:17px}
.baseline-combined h4{font-size:14px;color:#2b4b40;margin:0 0 9px}
.baseline-combined p{font-size:11px;line-height:1.7;color:#5d7369;margin:7px 0}
.baseline-table{font-size:11px;min-width:580px}
.baseline-table th:first-child,.baseline-table td:first-child{white-space:normal;min-width:245px}
.baseline-table th:nth-child(n+2),.baseline-table td:nth-child(n+2){text-align:right}
.baseline-table td{vertical-align:top}
.baseline-table td small{display:block;font-size:10px;line-height:1.6;color:#73847b;font-weight:400;margin-top:4px}
.baseline-table td strong{font-size:12px;color:#284b42;font-weight:730}
.baseline-combined .scroll-table{margin-top:13px}
.baseline-full-total{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:10px 0 14px!important}
.baseline-full-total strong{font-size:26px;color:#23483c;font-weight:800;font-variant-numeric:tabular-nums}
.baseline-full-total small{font-size:11px;color:#697c73}
.retail-only-detail{margin-top:20px;padding-top:11px;border-top:1px solid #dfe8e2}
.retail-only-detail summary{cursor:pointer;font-size:12px;font-weight:730;color:#345d50}
.retail-only-detail>p{font-size:11px;color:#5a746b;line-height:1.6}
.retail-only-detail .baseline-grid{margin:16px 0}
.baseline-table tbody td:nth-child(2){font-variant-numeric:tabular-nums}
.baseline-table td strong{font-size:12px}
.baseline-combined .baseline-table th{white-space:normal}

/* Provider-dependent spend drives ranking; full bill and shared infrastructure
   charges remain visible as secondary context, not another pricing engine. */
.baseline-full-total{align-items:center!important}
.baseline-full-total span{font-size:12px;font-weight:680;color:#4e6d5c}
.baseline-full-context{font-size:11px;line-height:1.7;color:#60776b}
.baseline-full-context strong{color:#305749}
.baseline-table .baseline-provider{background:#eff7f2}
.baseline-table .baseline-provider strong{font-size:15px}
.fee-matrix .fee-provider{background:#e9f4ed;color:#1c5546;white-space:nowrap}
.fee-matrix .fee-provider strong{font-weight:800;font-size:13px}
.fee-matrix .fee-context{color:#718176}
.ranked-table tr.pair-total td{background:#eaf5ed}
.ranked-table tr.pair-total td.cost-cell .cost-button{color:#19584a;font-size:14px}

/* Cost anatomy: all real bill components from the existing monthly ledger. */
.plan-anatomy{margin:28px 0 12px;padding:26px 0 17px;border-top:2px solid #dce6e0}
.plan-anatomy-head h3{font-size:19px;letter-spacing:-.035em;margin:0 0 8px;color:#233e36}
.plan-anatomy-head p{max-width:880px;font-size:12px;line-height:1.65;color:#596e67;margin:0 0 18px}
.plan-anatomy-controls{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(210px,2fr);gap:11px 15px;margin:14px 0 18px}
.plan-anatomy-controls label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:760;color:#4a665b}
.plan-anatomy-controls select{padding:9px 10px}
.breakdown-feature{background:#f7faf8;border:1px solid #e1ebe5;border-radius:12px;padding:20px;margin:14px 0 20px}
.fee-feature-title{font-size:15px;color:#214d40;font-weight:780;margin:0 0 5px;line-height:1.4}
.fee-model-note{font-size:11px;color:#658073;line-height:1.65;margin:0 0 17px}
.fee-feature-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px 14px;margin:13px 0 20px}
.fee-feature-stats>div{min-width:0;padding:8px 11px;border-left:2px solid #cfdfd5}
.fee-feature-stats span{display:block;font-size:10px;color:#5c796d;font-weight:700;line-height:1.5}
.fee-feature-stats strong{display:block;font-size:20px;font-weight:810;letter-spacing:-.045em;color:#273c34;line-height:1.6;overflow-wrap:anywhere}
.fee-feature-stats small{display:block;font-size:10px;color:#798a7e}
.fee-feature-stats .fee-all-in-highlight{border-left:3px solid #277971;background:#eaf3ee;border-radius:0 8px 8px 0}
.fee-feature-stats .fee-all-in-highlight strong{color:#175b51;font-size:23px}
.fee-strip{display:flex;width:100%;height:15px;overflow:hidden;border-radius:7px;background:#e4eae6;margin:15px 0 10px}
.fee-strip span{height:100%;display:block;min-width:0;flex:0 0 auto}
.fee-strip-energy{background:#5bafa5}
.fee-strip-retail{background:#1f796f}
.fee-strip-admin{background:#adc79d}
.fee-strip-delivery{background:#cc9f62}
.fee-strip-city{background:#8493a8}
.fee-strip-tax{background:#cbc5c1}
.fee-breakdown-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;margin:14px 0}
.fee-breakdown-legend>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2px 9px;padding-left:10px;border-left:3px solid #c1cfca}
.fee-breakdown-legend span{font-size:10px;line-height:1.45;color:#65796f}
.fee-breakdown-legend strong{font-size:11px;color:#28433a;text-align:right}
.fee-breakdown-legend small{font-size:10px;color:#8a9a91;grid-column:1 / -1}
.fee-breakdown-legend .fee-legend-energy{border-color:#5bafa5}
.fee-breakdown-legend .fee-legend-retail{border-color:#1f796f}
.fee-breakdown-legend .fee-legend-admin{border-color:#adc79d}
.fee-breakdown-legend .fee-legend-delivery{border-color:#cc9f62}
.fee-breakdown-legend .fee-legend-city{border-color:#8493a8}
.fee-breakdown-legend .fee-legend-tax{border-color:#cbc5c1}
.fee-seasonality,.fee-hint{font-size:11px;color:#597367;line-height:1.7;margin:12px 0 4px}
.fee-hint{color:#7d8981;font-size:10px}
.plan-anatomy .fee-incomplete{color:#935f32;line-height:1.6}
.breakdown-table-title{font-size:13px;font-weight:780;color:#244c3d;margin:18px 0 10px}
.breakdown-table-title small{font-size:10px;font-weight:500;color:#697f71;display:block;margin-top:5px}
.fee-matrix{min-width:950px;font-size:11px}
.fee-matrix th,.fee-matrix td{padding:11px 9px;white-space:nowrap;vertical-align:top;border-bottom:1px solid #e9eee9}
.fee-matrix th:first-child,.fee-matrix td:first-child{text-align:left;min-width:245px;max-width:290px;white-space:normal}
.fee-matrix thead th{white-space:normal;min-width:92px;line-height:1.4;text-align:right}
.fee-matrix thead th:first-child{text-align:left}
.fee-matrix tr.fee-selected{background:#eff7f3}
.fee-matrix tr.fee-unverified{background:#fffbf4}
.fee-matrix tr.fee-unavailable{background:#f8f9f7}
.fee-matrix tr.fee-unavailable td{color:#7f867e;white-space:normal;line-height:1.5;text-align:left}
.fee-matrix .fee-total{font-weight:760;color:#215347}
.fee-matrix .fee-total strong{display:block;white-space:nowrap}
.fee-matrix .fee-total small{display:block;font-weight:550;line-height:1.5;font-size:10px;color:#506d5f}
.fee-matrix small{display:block;white-space:normal;color:#75877e;font-size:10px;line-height:1.5;margin-top:3px}
.breakdown-pick{border:0;min-height:unset;padding:2px 0;border-radius:3px;background:transparent;text-align:left;color:#2b6758;font-size:11px;font-weight:800;line-height:1.4;white-space:normal}
.breakdown-pick:hover{color:#15534c;background:transparent;text-decoration:underline}
.breakdown-pick:focus-visible{outline:2px solid #276b69;outline-offset:3px}
@media(max-width:900px){
 .fee-feature-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fee-breakdown-legend{grid-template-columns:repeat(2,minmax(0,1fr))}
 .plan-anatomy-controls{grid-template-columns:1fr 1fr}
 .plan-anatomy-controls label:last-child{grid-column:1/-1}
}
@media(max-width:540px){
 .plan-anatomy-controls,.fee-feature-stats,.fee-breakdown-legend{grid-template-columns:1fr}
 .plan-anatomy-controls label:last-child{grid-column:auto}
 .plan-anatomy{padding:19px 0}
 .breakdown-feature{padding:14px}
 .fee-feature-stats strong{font-size:17px}
 .fee-feature-stats .fee-all-in-highlight strong{font-size:22px}
 .fee-breakdown-legend{gap:9px}
}

/* Average full-bill cost per unit appears directly in ranked price cells. */
.ranked-table td.cost-cell .unit-rate-hint{display:block;white-space:normal;text-align:right;
  font-size:10px;font-weight:530;color:#667a72;line-height:1.5;margin-top:4px;max-width:205px}
.ranked-table .unit-rate-hint strong{font-weight:780;color:#285e4f}
.ranked-table td.cost-cell:has(.unit-rate-hint){min-width:170px}
.comparison-detail .unit-rate-detail{font-size:13px;line-height:1.7;padding:12px;
  background:#eef6f1;border-left:3px solid #318578;margin:10px 0 20px}
.comparison-detail .unit-rate-detail strong{color:#235b4b}
.monthly-ledger th:last-child,.monthly-ledger td:last-child{min-width:115px;text-align:right}


/* Indicative dated market forward data: context, not household-bill prices. */
.market-forward-context{padding-top:15px;margin-top:13px;border-top:1px solid #e2e9e3}
.market-forward-context h4{font-size:13px;line-height:1.4;margin:0 0 7px;color:#2c5849}
.market-forward-context p{margin:8px 0;color:#50675e;line-height:1.7;font-size:11px}
.market-forward-context .scroll-table{margin:11px 0;border:1px solid #e1e7e2;border-radius:7px}
.market-forward-context .forward-curve-table{width:100%;min-width:440px;border-collapse:collapse;font-size:11px}
.forward-curve-table th,.forward-curve-table td{padding:9px 12px;text-align:right;border-bottom:1px solid #e4eae5}
.forward-curve-table th:first-child{text-align:left}
.forward-curve-table thead th{background:#eff6f2;color:#315d4e;font-size:10px;font-weight:730}
.market-forward-context .forward-curve-warning{border-left:3px solid #b78b56;padding:9px 12px;background:#fbf7ef;color:#75542e}

/* Editable calendar-year wholesale outlook; not an assumed retail commodity. */
.market-curve-editor{margin:24px 0 22px;padding:20px;border:1px solid #dce9df;
  border-radius:12px;background:#f8fbf8}
.market-curve-header{display:flex;justify-content:space-between;gap:12px;
  align-items:start;flex-wrap:wrap}
.market-curve-header h3{font-size:16px;color:#244f3e;margin:0 0 4px}
.market-curve-header p{font-size:12px;line-height:1.6;color:#5a7265;margin:0 0 14px;max-width:680px}
.market-curve-header button{white-space:nowrap;flex-shrink:0}
.curve-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:2px 0 16px}
.curve-charts>div{background:#fff;border:1px solid #e1eae3;border-radius:8px;padding:10px 12px 7px;min-width:0}
.curve-charts strong{display:block;font-size:11px;color:#325b4c}
.curve-preview{width:100%;min-height:98px}
.curve-preview svg{display:block;width:100%;height:auto;max-height:160px;overflow:visible}
.curve-preview svg .price-axis{stroke:#d4dfd7;stroke-width:1}
.curve-preview svg .price-curve{fill:none;stroke:#377e61;stroke-width:2.5;
  stroke-linejoin:round;stroke-linecap:round}
.curve-preview svg circle{fill:#377e61;stroke:#fff;stroke-width:1}
.curve-preview svg text{font-size:11px;fill:#5e7969;font-family:system-ui,sans-serif}
.year-market-table{border-collapse:collapse;width:100%;min-width:535px;font-size:12px}
.year-market-table thead{background:#e8f1ea;color:#345b47}
.year-market-table th,.year-market-table td{text-align:left;border-bottom:1px solid #dfebe2;padding:9px 11px}
.year-market-table tbody th{font-weight:720;color:#315545}
.year-market-table tbody th small{display:block;color:#697e70;font-size:10px;font-weight:450;margin-top:3px}
.year-market-table td{width:29%}
.year-market-table .compact-number{display:block;margin:0;padding:0}
.year-market-table input{min-width:0;width:100%;max-width:145px;box-sizing:border-box;
  background:#fff;border:1px solid #cbdacf;padding:9px;border-radius:6px;font-size:13px}
.year-market-table input:focus{outline:2px solid #7cba98;outline-offset:1px}
.market-curve-editor .micro{line-height:1.7;color:#5c7767;margin:11px 0 0;font-size:11px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:660px){
  .market-curve-editor{padding:13px;margin:14px 0}
  .curve-charts{grid-template-columns:1fr}
  .market-curve-header button{max-width:100%}
}

/* Bound the historic market bars to their card; they retain their own horizontal scrolling. */
#years.month-bars{width:100%;max-width:100%;overflow-x:auto}

/* Contain mobile market/table inner scrollers without introducing page-level horizontal pan. */
@media(max-width:750px){html,body{max-width:100%;overflow-x:clip}}

/* Keep all historical years within the narrow market card; values remain legible. */
@media(max-width:750px){#years.month-bars{gap:3px}#years.month-bars .month-col{flex:1 1 0;min-width:0}#years.month-bars b{font-size:8px}#years.month-bars span{font-size:9px}}

/* Native small-screen editor: show year + both prices without a 535px table. */
@media(max-width:750px){
 .year-market-table{width:100%;min-width:0;table-layout:fixed}
 .year-market-table th,.year-market-table td{white-space:normal;overflow-wrap:anywhere;padding:7px 4px;font-size:10px}
 .year-market-table th:first-child{min-width:0;width:34%}
 .year-market-table th:not(:first-child){width:33%}
 .year-market-table input{width:100%;max-width:none;min-width:0;padding:7px 4px;font-size:12px}
 .year-market-table tbody th small{font-size:9px}
}

/* Five-year supplier comparison. These are summaries of source-priced monthly
   bills, not a second tariff engine or forecasts of future settlement hours. */
.five-year-decision{margin:21px 0;padding:18px 20px;border:1px solid #d6e7d9;
  border-radius:11px;background:#f6faf7;color:#395749}
.five-year-decision[hidden]{display:none}
.five-year-head h3{font-size:17px;line-height:1.4;margin:0 0 5px;color:#234d3d}
.five-year-head p,.five-year-decision>p{font-size:12px;line-height:1.65;margin:8px 0;color:#556e5e}
.five-year-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;margin:15px 0 12px}
.five-year-cards>div{border:1px solid #dbe5dc;background:#fff;
  padding:12px;border-radius:7px;min-width:0}
.five-year-cards span{display:block;font-size:10px;color:#567063;line-height:1.4}
.five-year-cards strong{display:block;color:#224f3c;font-size:22px;line-height:1.3;
  white-space:nowrap;margin-top:5px}
.five-year-cards .five-year-outcome{background:#eaf5ed}
.five-year-term{font-size:11px!important}
.five-year-table{min-width:650px;width:100%;border-collapse:collapse;
  background:#fff;font-size:11px}
.five-year-table th,.five-year-table td{border-bottom:1px solid #dfebe1;
  padding:10px 11px;text-align:right;white-space:nowrap}
.five-year-table th:first-child{text-align:left}
.five-year-table thead{background:#e7f1e9;color:#345b47}
.five-year-table tbody th{color:#365b4a;font-weight:620}
.five-year-table tbody th small{display:block;color:#708377;font-weight:440;
  margin-top:3px;font-size:10px}
.five-year-table .year-saving{color:#247e50}
.five-year-table .year-extra{color:#8c613b}
.five-year-table tfoot{background:#e7f3ea;font-weight:750;color:#285744}
.five-year-gas{padding:11px 13px;border-top:1px solid #dde8df;margin-top:12px!important}
.five-year-gas h4{font-size:12px;color:#345b47;margin:0 0 5px}
.five-year-gas p{font-size:11px;line-height:1.65;margin:0}
.five-year-caveat{font-size:11px!important;color:#627669!important;
  padding-top:12px;border-top:1px solid #dde8df}
@media(max-width:750px){
  .five-year-decision{padding:14px 11px}
  .five-year-cards{grid-template-columns:1fr 1fr}
  .five-year-cards .five-year-outcome{grid-column:span 2}
  .five-year-cards strong{font-size:18px}
}

/* Official Alberta-wide retailer roster (collapsed by default). */
.retailer-directory-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;padding:4px 0}
.directory-entry{background:#fff;border:1px solid #e2e9e2;
  padding:9px 10px;border-radius:6px;min-width:0}
.directory-entry a{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}
.directory-entry span{display:block;font-size:10px;line-height:1.5;color:#697d70}
.indicative-toggle{display:flex!important;align-items:flex-start;gap:10px;
  margin:14px 0!important;padding:10px;border:1px dashed #c7d9ca;
  border-radius:8px;font-size:12px;line-height:1.5;color:#345946}
.indicative-toggle input{width:auto;min-width:16px;margin:2px 0 0}
.provisional-rate{font-size:10px;color:#8b5e21}
.indicative-explanation{padding:12px;font-size:11px}
@media(max-width:700px){.retailer-directory-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

.uca-select{display:block;margin:11px 0;font-size:12px;line-height:1.6}
.uca-select select{display:block;max-width:520px;width:100%;padding:8px;margin:6px 0}
.uca-rate-cards{padding:4px 0 18px}
.uca-rate-table{width:100%;min-width:670px;border-collapse:collapse;font-size:11px;background:#fff}
.uca-rate-table th,.uca-rate-table td{border-bottom:1px solid #dce7dd;padding:8px 10px;text-align:left}
.uca-rate-table thead{background:#e9f2ea;color:#3a5e49}
.uca-rate-table tbody th{max-width:290px;white-space:normal;font-weight:580}
.uca-rate-cards .scroll-table{max-height:460px;overflow:auto}

.vendor-source-evidence{padding:14px 0 0;margin:12px 0 0;border-top:1px solid #cfdfd0}
.vendor-source-evidence h4{font-size:13px;margin:4px 0 7px}

/* Small modeled settlement exposure is not the same as an unknown index. */
.unit-rate-hint.small-pass-through{color:#24694a}

/* Comparison-first workspace: page tabs and dense, independently sortable plans. */
.wrap{max-width:1400px}
.app-layout{padding-top:22px}
.app-nav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #dbe5df}
.app-nav-inner{display:flex;align-items:stretch;gap:5px;overflow-x:auto;scrollbar-width:thin}
.app-nav-link{background:none;border:0;border-bottom:3px solid transparent;color:#60756e;
  border-radius:0;padding:15px 18px 12px;min-height:49px;white-space:nowrap;font-size:13px;
  font-weight:700}
.app-nav-link:hover{background:#f2f6f3;color:#205b51;filter:none}
.app-nav-link.is-active{color:#176358;border-bottom-color:#237c72}
.app-nav-link:focus-visible{outline:2px solid #237c72;outline-offset:-4px}
.app-page[hidden]{display:none!important}
.app-page{min-width:0;animation:page-in .14s ease-out}
@keyframes page-in{from{opacity:.5}to{opacity:1}}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:3px 0 20px}
.page-heading h1{margin:2px 0 6px;font-size:clamp(24px,2.5vw,32px);letter-spacing:-.045em;
  font-weight:780;line-height:1.2;color:#243c35}
.page-heading p:not(.eyebrow){font-size:12px;line-height:1.55;margin:0;color:#687a72}
.page-heading .eyebrow{margin:0 0 3px;font-size:10px}
.page-side{text-align:right;font-size:12px;line-height:1.5;color:#547569;
  font-weight:620;max-width:300px}
.overview-card{padding:17px 19px 15px}
.overview-controls{display:grid;grid-template-columns:
  minmax(185px,1.6fr) minmax(100px,.7fr) minmax(105px,.75fr)
  minmax(130px,1fr) minmax(100px,.75fr) minmax(140px,1fr) minmax(150px,1.15fr);
  gap:9px 10px;align-items:end}
.overview-controls label{display:flex;flex-direction:column;gap:4px;min-width:0;
  font-size:10px;letter-spacing:.012em;color:#61736d;font-weight:760}
.overview-controls input,.overview-controls select{font-size:12px;min-height:35px;
  padding:7px 9px;border-radius:6px;min-width:0}
/* Native multi-select: explicit All, None, one, or several providers.
   The dropdown never changes period/fuel/type/scenario or prices. */
.overview-retailer-control{min-width:0;position:relative}
.overview-control-label{display:block;font-size:10px;letter-spacing:.012em;
  color:#61736d;font-weight:760;margin-bottom:4px}
.overview-retailers{position:relative;font-size:12px}
.overview-retailers>summary{min-height:35px;padding:7px 24px 7px 9px;
  border:1px solid #cbd8cd;border-radius:6px;background:#fff;
  font-weight:560;color:#324c40;cursor:pointer;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;list-style:none;
  position:relative}
.overview-retailers>summary::-webkit-details-marker{display:none}
.overview-retailers>summary:after{content:"▾";position:absolute;right:10px;top:8px;color:#60776a}
.overview-retailers[open]>summary{border-color:#3a9276;border-bottom-left-radius:0;
  border-bottom-right-radius:0}
.overview-retailers>summary:focus-visible{outline:2px solid #26826d;outline-offset:2px}
.overview-retailer-menu{position:absolute;top:100%;left:0;z-index:30;
  width:min(300px,calc(100vw - 40px));padding:10px;
  background:#fff;border:1px solid #bdcec1;border-radius:0 0 7px 7px;
  box-shadow:0 12px 25px #17362a22}
.overview-controls .overview-retailer-menu label{display:flex;flex-direction:row;
  gap:8px;align-items:center;padding:6px 4px;border-radius:4px;
  font-weight:550;letter-spacing:normal;font-size:12px;color:#35584a;
  cursor:pointer;line-height:1.35}
.overview-retailer-menu label:hover{background:#f0f6f1}
.overview-controls .overview-retailer-menu label[hidden]{display:none!important}
.overview-retailer-menu label.overview-retailer-all{border-bottom:1px solid #e2eae3;
  padding:6px 4px 11px;margin-bottom:8px;font-weight:770}
.overview-controls .overview-retailer-menu input[type=checkbox]{width:15px;
  height:15px;min-height:15px;min-width:15px;margin:0;padding:0;
  accent-color:#217960;flex:none}
.overview-controls #overview-retailer-query{margin:0 0 6px;width:100%;
  min-height:32px;font-size:11px;padding:6px 8px}
.overview-retailer-items{max-height:260px;overflow-y:auto;scrollbar-width:thin}
.overview-table td.overview-kind{white-space:nowrap}
.overview-table td.overview-term{white-space:nowrap;font-variant-numeric:tabular-nums}
.combined-component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;margin:14px 0 4px}
.combined-component{border:1px solid #dbe7de;background:#f9fbf9;
  border-radius:7px;padding:12px;min-width:0}
.combined-component h3{font-size:14px;color:#245847;margin:0 0 6px}
.combined-component p{font-size:11px;line-height:1.6;color:#526c5e}
.combined-component p>strong{color:#204d3c;font-size:13px}
.combined-component>small{font-size:11px;color:#617a69}
.combined-component .plan-dialog-links{margin:8px 0}
@media(max-width:700px){
 .combined-component-grid{grid-template-columns:1fr}
 .overview-controls .overview-retailer-control{grid-column:span 2}
}

.overview-options{display:flex;justify-content:space-between;align-items:center;
  gap:12px;flex-wrap:wrap;padding:11px 1px 10px}
.overview-options label{display:flex;align-items:center;gap:7px;font-size:11px;
  color:#475f56;cursor:pointer}
.overview-options input[type=checkbox]{width:14px;min-height:14px;height:14px;margin:0;
  accent-color:#237970}
.inline-link{background:none;border:0;color:#236c60;padding:3px 0;
  font-size:11px;font-weight:720;min-height:unset;text-decoration:underline;
  text-underline-offset:3px}
.inline-link:hover{filter:none;color:#144b43}
.overview-summary{display:flex;justify-content:space-between;align-items:baseline;
  gap:7px 20px;flex-wrap:wrap;border-top:1px solid #e1e9e4;
  padding:11px 1px;margin-top:3px}
.overview-summary strong{font-size:12px;color:#265f50}
.overview-summary span{font-size:11px;color:#718179;font-variant-numeric:tabular-nums}
.overview-table-scroll{max-height:min(72vh,830px);overflow:auto;border:1px solid #dce7df;
  border-radius:7px;scrollbar-color:#c9d9cf #f5f8f6}
.overview-table{font-size:12px;border-collapse:separate;border-spacing:0;min-width:1090px}
.overview-table thead{position:sticky;top:0;z-index:2}
.overview-table th{padding:0!important;background:#f0f5f1!important;border-bottom:1px solid #cad9ce;
  text-align:right;vertical-align:middle;white-space:nowrap;min-width:90px}
.overview-table th:first-child{text-align:left}
.overview-table th button{border:0;background:none;color:#526c61;padding:10px 9px;
  min-height:46px;font-size:11px;font-weight:760;border-radius:0;text-align:inherit;
  width:100%;line-height:1.3;white-space:nowrap}
.overview-table th button:hover{background:#e5efe7;color:#13594c;filter:none}
.overview-table th[aria-sort] button{background:#e2eee7;color:#1d6455}
.overview-table th button small{font-size:9px;display:block;font-weight:480;color:#71867b}
.overview-table td{padding:7px 9px;border-bottom:1px solid #edf1ed;
  font-size:12px;text-align:right;white-space:nowrap;vertical-align:middle}
.overview-table td:first-child{text-align:left;white-space:normal}
.overview-table td:first-child,.overview-table th:first-child{min-width:148px;width:195px}
.overview-table td:nth-child(2),.overview-table th:nth-child(2){min-width:84px;width:95px;text-align:center}
.overview-table td:last-child,.overview-table th:last-child{min-width:145px;width:165px;text-align:right}
.overview-table td.num small{display:block;margin-top:2px;font-size:10px;
  font-weight:430;line-height:1.35;color:#829087}
.overview-table td.overview-kind{font-weight:700;text-align:center;color:#516c61}
.overview-fuel-control{min-width:0;position:relative}
.overview-fuel-menu{width:190px;min-width:170px}
.overview-fuel-menu label{white-space:nowrap}
.overview-table td.overview-kind small{display:block;margin-top:2px;
  font-size:10px;font-weight:480;color:#7c8d82;line-height:1.3}
/* Source quote (provider-published) remains visually distinct from the
   modeled commodity/fee/full-bill costs to its right. */
.overview-table{min-width:1250px}
.overview-table th:nth-child(4),.overview-table td.overview-quoted{
  min-width:155px;width:165px;text-align:left}
.overview-table td.overview-quoted{font-variant-numeric:tabular-nums;color:#215747}
/* Sourced upfront refundable collateral; never bundled with energy spend. */
.overview-table{min-width:1380px}
.overview-table th:nth-child(5),.overview-table td.overview-deposit{
  min-width:130px;width:142px;text-align:left}
.overview-deposit strong{font-size:12px;display:block;line-height:1.4;
  white-space:normal;font-variant-numeric:tabular-nums}
.overview-deposit small{font-size:10px;line-height:1.3;display:block;margin-top:3px;
  white-space:normal}
.overview-deposit.required strong{font-weight:830;color:#7f4b20}
.overview-deposit.required small{color:#886448}
.overview-deposit.unknown strong{font-weight:530;color:#79847f}
.overview-deposit.unknown small{color:#95a29a}
.plan-prudential{border:1px solid #d4d8ce;border-radius:6px;
  background:#faf9f5;padding:12px 14px;margin:12px 0}
.plan-prudential h4{font-size:13px;color:#6d4627;margin:0 0 7px}
.plan-prudential p{font-size:11px;color:#5d655b;line-height:1.6;margin:0}
.plan-prudential-tiers{border-top:1px solid #e2e2d9;margin-top:8px;padding-top:6px}
.plan-prudential-tiers summary{cursor:pointer;font-size:11px;font-weight:700;
  color:#6a4b30}
.plan-prudential-tiers table{border-collapse:collapse;width:100%;margin:9px 0;
  font-size:11px;text-align:left}
.plan-prudential-tiers th{color:#6d776e;font-size:10px;font-weight:750;
  border-bottom:1px solid #dce1d9;padding:6px}
.plan-prudential-tiers td{border-bottom:1px solid #e9eee8;padding:6px}
.plan-prudential-tiers small{font-size:10px;color:#69746a;line-height:1.55}
.combined-component .plan-prudential{padding:9px 10px}

.overview-quoted strong{font-size:12px;font-weight:800;white-space:normal;display:block}
.overview-quoted small{font-size:10px;color:#72847b;line-height:1.3;
  display:block;margin-top:3px;white-space:normal}
.overview-table tr.overview-pair-total .overview-quoted{color:#72857a}
.overview-table .num small{white-space:normal}
.plan-source-offer{margin:13px 0 16px;padding:14px 16px;
  border:1px solid #b7d6c2;border-radius:8px;background:#f7fbf8}
.plan-source-heading{display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:8px;margin:0 0 11px}
.plan-source-heading h3{font-size:14px;color:#245a49;margin:0}
.plan-source-heading>small{font-size:10px;color:#648474}
.plan-source-head{display:flex;justify-content:space-between;gap:12px;
  align-items:center;margin:2px 0 12px}
.plan-source-rate{font-size:23px;letter-spacing:-.035em;color:#14583e;display:block;
  font-variant-numeric:tabular-nums;line-height:1.3}
.plan-source-head small{display:block;font-size:11px;color:#678477;line-height:1.5}
.plan-source-provenance{font-size:10px;color:#668276;text-align:right;max-width:150px}
.plan-source-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 12px;margin:0}
.plan-source-facts>div{border-top:1px solid #e1ece3;padding-top:7px;min-width:0}
.plan-source-facts dt{font-size:10px;color:#6b8275;margin-bottom:2px}
.plan-source-facts dd{font-size:12px;color:#254d3e;font-weight:640;
  line-height:1.5;margin:0;overflow-wrap:anywhere}
.plan-source-warning{font-size:11px;color:#526b5c;line-height:1.55;
  background:#f1f6ef;border-left:3px solid #afc5a8;
  padding:8px 10px;margin:13px 0 5px}
.plan-source-fields{margin-top:12px;border-top:1px solid #dce8dc;padding-top:10px}
.plan-source-fields summary{cursor:pointer;font-size:11px;color:#226551;font-weight:710}
.plan-source-fields dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;margin-top:10px}
.plan-source-fields dt{font-size:10px;color:#667e72}
.plan-source-fields dd{margin:2px 0 0;font-size:11px;color:#3f5f4c;
  overflow-wrap:anywhere}
.plan-analysis-heading{margin:16px 0 3px;padding-top:12px;
  border-top:1px solid #dce8df;font-size:13px;color:#456656}
.combined-component .plan-source-offer{padding:10px 11px;margin:11px 0}
.combined-component .plan-source-rate{font-size:17px}
.combined-component .plan-source-head{display:block}
.combined-component .plan-source-facts{grid-template-columns:1fr}
.combined-component .plan-source-provenance{display:none}
@media(max-width:700px){
 .plan-source-facts,.plan-source-fields dl{grid-template-columns:1fr}
 .plan-source-head{display:block}
 .plan-source-provenance{display:block;text-align:left;max-width:none;margin-top:3px}
}

.overview-table tbody tr.overview-pair-electric{background:#f6faf7}
.overview-table tbody tr.overview-pair-gas{background:#f6faf7}
.overview-table tbody tr.overview-pair-total{background:#e7f1e9;font-weight:690}
.overview-table tbody tr.overview-pair-total td{border-bottom:2px solid #b6d3be;
  padding-top:7px;padding-bottom:8px}
.overview-table tbody tr.overview-pair-total .overview-kind{color:#245c49}
.overview-table tbody tr.overview-pair-electric td{border-top:2px solid #d5e4d9}
.overview-table td.overview-pair-retailer{vertical-align:top;background:#f3f8f4;
  border-top:2px solid #c3dacb;border-bottom:2px solid #b6d3be;
  min-width:160px}
.overview-table td.overview-pair-retailer small{display:block;font-size:10px;
  margin-top:5px;color:#789087;font-weight:430;line-height:1.25}
.overview-table tr.overview-pair-total .overview-supplier{font-size:13px;color:#194c3b}
.overview-table tr.overview-pair-total .overview-full{font-weight:750;color:#315e4a}
/* One source-priced supplier delta, never a headline-only savings claim.
   All-terms/expired-contract overlaps retain a visible price window. */
.overview-table{min-width:1580px}
.overview-table th:nth-child(10),.overview-table .overview-savings{
  min-width:142px;width:157px;text-align:left}
.overview-savings strong{display:block;font-size:12px;line-height:1.35;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.overview-savings small{display:block;font-size:10px;
  line-height:1.4;white-space:normal;margin-top:3px}
.overview-savings.save strong{color:#1e6848}
.overview-savings.save small{color:#668b73}
.overview-savings.more strong{color:#a25235}
.overview-savings.more small{color:#9b7968}
.overview-savings.same strong{color:#637b70}
.overview-savings.unknown strong{color:#9ca7a1}
.overview-savings.unknown small{color:#8c9a8f}
.overview-baseline{display:flex;align-items:flex-start;justify-content:space-between;
  gap:10px 17px;padding:9px 12px;margin:2px 0 10px;
  border:1px solid #d8e5da;background:#f7fbf8;border-radius:6px;
  color:#4c6a5b;font-size:11px;line-height:1.45}
.overview-baseline>span{min-width:0;flex:1}
.overview-baseline .inline-link{font-size:11px;white-space:nowrap;margin-top:0}
@media(max-width:700px){
 .overview-baseline{flex-wrap:wrap}
 .overview-baseline .inline-link{margin-left:auto}
}

.overview-table tbody tr.overview-pair-gas:hover,
.overview-table tbody tr.overview-pair-electric:hover{background:#eaf4ec}
.ders-enrollment{padding:12px;background:#f3f7f4;border-left:3px solid #337961}
.ders-enrollment a{color:#196c50;font-weight:770}

.retailer-detail-link{background:none!important;border:0;color:#275f53;
  font-size:12px;padding:0;min-height:unset;font-weight:700;text-align:left;
  line-height:1.4;white-space:normal;text-decoration:underline;
  text-decoration-color:#c4dacb;text-underline-offset:3px}
.retailer-detail-link:hover{filter:none;color:#195d4b;
  text-decoration-color:#216556}
.retailer-detail-link:focus-visible{outline:2px solid #237970;outline-offset:2px}
.overview-table .num{font-variant-numeric:tabular-nums}
.overview-table .overview-supplier{font-weight:810;color:#214f3f;font-size:13px}
.overview-table .overview-full{font-weight:540;color:#576d62}
.overview-table tr:nth-child(even){background:#fafcfa}
.overview-table tbody tr:first-child{background:#fff}
.overview-table tr:nth-child(even):first-child{background:#fff}
.overview-table tbody tr:first-child td:last-child{color:inherit;font-weight:normal}
.overview-table tbody tr:hover{background:#f0f7f2}
.overview-table tbody tr.overview-best-row{background:#ebf5ee}
.overview-empty{text-align:left!important;white-space:normal!important;padding:24px!important;
  color:#657b6f}
.overview-caveat{font-size:11px;color:#65766e;line-height:1.6;margin:12px 1px 2px}
.overview-caveat strong{color:#38584b}
/* Native dialog keeps Results concise and supplies source links on demand. */
.plan-dialog{width:min(880px,calc(100vw - 32px));max-width:880px;
  max-height:min(85vh,830px);overflow:auto;position:fixed;margin:auto;
  padding:22px 24px;border:1px solid #bdd1c5;border-radius:10px;
  background:#fff;color:#2b4639;box-shadow:0 24px 70px #0e292228}
.plan-dialog::backdrop{background:#14272099}
.plan-dialog-top{display:flex;justify-content:space-between;align-items:start;gap:18px}
.plan-dialog-top h2{font-size:22px;letter-spacing:-.035em;margin:1px 0 4px}
.plan-dialog-name{font-size:13px;font-weight:580;color:#547164;margin:0 0 8px}
.plan-dialog-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;margin:12px 0}
.plan-dialog-facts span{font-size:12px;padding:9px 10px;border-radius:5px;
  background:#f1f6f2}
.plan-dialog-facts span strong{display:block;font-size:10px;margin-bottom:4px;
  color:#778b80;font-weight:700}
.plan-dialog-costs{display:grid;grid-template-columns:1fr 1fr;
  gap:11px;background:#f5f8f6;padding:12px;border-radius:6px;margin:10px 0}
.plan-dialog-costs div small{display:block;font-size:10px;color:#668074}
.plan-dialog-costs div strong{font-size:18px;display:block;margin-top:3px;color:#27594a}
.plan-dialog-costs>small{grid-column:1/-1;font-size:11px;color:#506d60}
.plan-dialog-quality{font-size:11px;line-height:1.5;color:#687c70;margin:9px 0}
.plan-dialog-links{display:flex;gap:10px 18px;flex-wrap:wrap;margin:12px 0}
.plan-dialog-links a{font-size:12px;font-weight:700;color:#196a5a}
.plan-dialog-notes{font-size:11px;color:#5d7367;line-height:1.6;
  margin:10px 0 12px;padding-left:20px}
.plan-dialog-notes li{margin-bottom:4px}
.plan-dialog-ledger{border-top:1px solid #e0e9e1;margin-top:16px;padding-top:6px}
.plan-dialog-ledger>summary{font-size:12px;font-weight:760;color:#226354;
  cursor:pointer;padding:10px 0}
.plan-dialog-ledger .detail-fuel h4{color:#2f6456;font-size:13px}
.plan-dialog-ledger .breakdown{max-width:100%;width:100%}
.plan-dialog-ledger .breakdown .parts{max-width:560px}
#page-profile .config{max-width:1070px}
#page-profile .config .form-grid{gap:14px 20px}
#page-all-plans .results{margin-top:0}
#page-all-plans .comparison-main{margin-top:0}
#page-analysis .analysis-card{padding:14px 26px 26px}
#page-analysis .intro{padding:22px 0 10px}
#page-analysis .intro h2{font-size:18px;letter-spacing:-.03em;margin:0 0 8px}
#page-analysis .intro>p:not(.eyebrow){font-size:12px;max-width:950px;margin:0 0 8px}
#page-analysis .market-curve-editor{margin-top:8px}
#page-analysis .winner-note{margin:12px 0}
#page-analysis .current-contract-benchmark{margin:12px 0}
#page-analysis .market-context{box-shadow:none}
#page-sources .market-context{margin-top:6px}
@media(max-width:1150px){
 .overview-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
 .overview-controls .overview-profile{grid-column:span 2}
}
@media(max-width:700px){
 .app-nav-link{font-size:12px;padding:13px 13px 10px}
 .app-layout{padding-top:14px}
 .page-heading{align-items:flex-start;flex-direction:column;gap:5px}
 .page-side{text-align:left}
 .overview-card{padding:11px 10px}
 .overview-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .overview-controls .overview-profile{grid-column:span 2}
 .overview-controls .overview-search{grid-column:span 2}
 .overview-table-scroll{max-height:67vh}
 .overview-summary{align-items:flex-start}
 .plan-dialog{padding:12px;max-height:91vh}
 .plan-dialog-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 #page-analysis .analysis-card{padding:12px}
}

/* Input/validation failures stay visible even when the Profile tab is hidden. */
.app-error{border:1px solid #e6c8b9;background:#fff7f2;color:#843c29;
  border-radius:7px;padding:11px 14px;font-size:12px;line-height:1.5;margin-bottom:14px}
.app-error[hidden]{display:none}

/* Consumer results show prices, while All plans retains source-quality detail. */
.overview-table{min-width:920px}
.overview-table th:last-child,.overview-table td:last-child{min-width:138px;width:auto;text-align:right}
.overview-table td.overview-supplier small,.overview-table td.overview-full small{
  display:block;font-size:10px;font-weight:480;color:#63776c;margin-top:3px}
.overview-table td.overview-term,.overview-table th:nth-child(3){
  width:62px;min-width:62px;text-align:center;white-space:nowrap}
.overview-term-note{font-size:11px;color:#4b7163;margin:9px 2px 0;line-height:1.4}
.overview-term-note[hidden]{display:none}
.overview-table .overview-best-row{background:#ebf5ee}
.overview-table .overview-best-row td:last-child{color:#214f3f}
.fee-matrix .fee-evidence{min-width:160px;max-width:200px;text-align:left;white-space:normal}
.fee-matrix .fee-evidence strong{font-size:11px;color:#405c51;font-weight:730}
.fee-matrix .fee-evidence small{white-space:normal;font-size:10px;line-height:1.5}

.plan-dialog-costs .plan-dialog-basis{grid-column:1/-1;display:block;color:#657b70;font-size:11px;font-weight:650}


/* 2026 consumer-first view: one compact annual rate/usage editor above
   one supplier comparison. Legacy multi-year analysis is retained only
   for direct /?advanced access and QA, not exposed in the main journey. */
body:not(.advanced-ui) #nav-all-plans,
body:not(.advanced-ui) #nav-profile,
body:not(.advanced-ui) #nav-analysis,
body:not(.advanced-ui) #page-all-plans,
body:not(.advanced-ui) #page-profile,
body:not(.advanced-ui) #page-analysis,
body:not(.advanced-ui) .overview-controls .legacy-period,
body:not(.advanced-ui) .overview-controls label:has(#overview-scenario),
body:not(.advanced-ui) .overview-controls .overview-retailer-control,
body:not(.advanced-ui) .overview-options,
body:not(.advanced-ui) #overview-term-note,
body:not(.advanced-ui) #results-household{display:none!important}
body:not(.advanced-ui) .masthead-inner{height:58px}
body:not(.advanced-ui) .brand-mark{width:34px;height:34px;font-size:25px;border-radius:9px}
body:not(.advanced-ui) .brand strong{font-size:17px}
body:not(.advanced-ui) .brand small{font-size:9px;letter-spacing:.075em}
body:not(.advanced-ui) .app-layout{padding-top:10px}
body:not(.advanced-ui) .page-heading{margin:12px 0 11px}
body:not(.advanced-ui) .page-heading .eyebrow{margin:0 0 3px}
body:not(.advanced-ui) .page-heading h1{font-size:clamp(22px,3vw,29px);margin:0 0 5px}
body:not(.advanced-ui) .page-heading p:not(.eyebrow){font-size:12px;margin:0;line-height:1.5}
body:not(.advanced-ui) .overview-card{padding:15px 16px 13px;margin:12px 0 16px}
body:not(.advanced-ui) .overview-controls{margin-bottom:7px;gap:10px 15px;
  grid-template-columns:minmax(160px,210px) minmax(130px,170px) minmax(200px,1fr)}
body:not(.advanced-ui) .overview-controls .overview-search{grid-column:auto}
body:not(.advanced-ui) .overview-summary{padding:9px 0 8px;margin:0}
body:not(.advanced-ui) .overview-table{min-width:1150px}
body:not(.advanced-ui) .overview-table th:nth-child(9),
body:not(.advanced-ui) .overview-table .overview-savings{
  min-width:150px;width:172px;text-align:left}
body:not(.advanced-ui) .overview-baseline{padding:7px 10px;margin:0 0 9px;
  background:#f8fbf9;font-size:11px;line-height:1.45}
body:not(.advanced-ui) .overview-caveat{max-width:940px;margin:10px 1px 0;
  color:#708078;font-size:11px;line-height:1.55}
body:not(.advanced-ui) .overview-caveat a{color:#236d63;text-decoration:underline;
  text-underline-offset:2px}
body:not(.advanced-ui) .overview-quoted small{font-size:9px}
body:not(.advanced-ui) .overview-table td{padding:7px 8px}

.quick-profile{padding:15px 17px;margin:0}
.quick-profile-top{display:flex;align-items:center;justify-content:space-between;
  gap:8px 20px;margin:0 0 12px}
.quick-profile-top h2{font-size:16px;letter-spacing:-.02em;margin:0 0 3px;
  color:#244c3e}
.quick-profile-top p{font-size:11px;color:#70837a;line-height:1.5;margin:0}
.quick-profile-top button{white-space:nowrap;min-height:34px;
  font-size:12px;padding:7px 14px;background:#246b58;border-color:#246b58}
.quick-rates{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px 13px}
.quick-rates label{font-size:11px;color:#3f594d;font-weight:740;
  display:flex;flex-direction:column;gap:5px;min-width:0;white-space:nowrap}
.quick-rates label small{display:inline;font-size:10px;font-weight:500;color:#748980}
.quick-rates input{min-height:35px;font-size:14px;font-weight:700;
  padding:7px 8px;font-variant-numeric:tabular-nums}
.quick-rates input:focus-visible{outline:2px solid #357f65}
.quick-profile-bottom{display:flex;align-items:flex-start;flex-wrap:wrap;
  gap:10px 23px;margin-top:10px;border-top:1px solid #e9efeb;padding-top:9px}
.quick-profile-bottom details{min-width:0}
.quick-profile-bottom summary{cursor:pointer;font-size:11px;color:#316b57;
  font-weight:700;list-style-position:outside}
.quick-profile-bottom summary span{font-weight:440;color:#86958b}
.quick-profile-bottom>span{font-size:11px;color:#6e8979;margin-left:auto}
.quick-monthly[open]{width:100%}
.quick-monthly-inside{padding:12px 0 4px}
.quick-load-profile{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:11px;font-weight:650;margin:0 0 11px}
.quick-load-profile select{width:auto;min-width:230px;max-width:380px;
  min-height:32px;padding:5px 9px;font-size:11px}
.quick-month-scroll{overflow-x:auto;max-width:100%;padding:1px 0 5px}
.quick-month-grid{display:grid;grid-template-columns:95px repeat(12,minmax(67px,1fr));
  gap:4px;align-items:center;min-width:960px}
.quick-month-head{text-align:center;font-size:10px;color:#7f9487;
  font-weight:730;padding:3px 0 4px}
.quick-month-fuel{font-size:11px;font-weight:780;color:#365f50;line-height:1.35}
.quick-month-fuel small{display:block;font-weight:460;color:#81918a}
.quick-month-grid input{padding:6px 5px;text-align:right;min-height:30px;
  font-size:12px;border-radius:5px;font-variant-numeric:tabular-nums}
.quick-monthly-inside>small{font-size:10px;color:#6f8777;line-height:1.5;
  display:block;margin-top:7px}
.quick-retailer-choice[open]{min-width:325px}
.quick-retailer-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;margin-top:10px}
.quick-retailer-selects label{display:flex;flex-direction:column;gap:5px;
  font-size:11px;font-weight:670;color:#446a59}
.quick-retailer-selects select{font-size:11px;min-height:33px;padding:5px 7px}
.quick-retailer-choice>small{display:block;font-size:10px;color:#819186;
  margin:6px 0}
.prudential-marker{display:inline-block;margin-left:5px;
  vertical-align:super;color:#a36627;font-size:14px;font-weight:900;
  cursor:help;position:relative;line-height:1}
.prudential-marker .prudential-tip{position:absolute;display:none;z-index:8;
  left:0;top:18px;width:max-content;max-width:225px;white-space:normal;
  background:#293a32;color:#fff;font-size:10px;font-weight:550;
  line-height:1.45;padding:7px 9px;border-radius:5px;
  box-shadow:0 7px 16px #142a2a26}
.prudential-marker:hover .prudential-tip,
.prudential-marker:focus .prudential-tip{display:block}
.prudential-marker:focus-visible{outline:2px solid #916231;outline-offset:2px}
.overview-table tr.current-retailer-row{background:#f5f8ee!important}
.overview-table tr.current-retailer-row td:first-child{box-shadow:inset 3px 0 #a4ba73}
.current-retailer-note{display:block;color:#698343;font-size:10px;
  font-weight:650;margin-top:3px}
@media(max-width:1030px){
  .quick-rates{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
  .quick-profile{padding:13px}
  .quick-profile-top{align-items:flex-start;flex-direction:column}
  .quick-profile-top button{width:100%;order:2}
  .quick-rates{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px}
  .quick-profile-bottom{gap:9px 17px}
  .quick-profile-bottom>span{margin-left:0;width:100%}
  .quick-retailer-selects{grid-template-columns:1fr}
  body:not(.advanced-ui) .overview-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  body:not(.advanced-ui) .overview-controls .overview-search{grid-column:span 2}
  body:not(.advanced-ui) .overview-card{padding:12px}
  .prudential-marker .prudential-tip{left:-88px;max-width:210px}
}

/* A compact decision range, not a statistical interval or headline quote. */
.overview-table .cost-estimate-range,
.plan-dialog .cost-estimate-range,
.monthly-ledger .cost-estimate-range{
  display:block;font-size:10px;font-weight:500;line-height:1.4;
  color:#5f746a;white-space:normal;margin-top:2px;
}

/* Consumer decision screen: one scenario, three like-for-like two-fuel
   approaches. The existing full catalog is intentionally one click away. */
.recommendation-panel{padding:21px 23px;margin:13px 0 12px}
.recommendation-heading{display:flex;justify-content:space-between;
  align-items:flex-start;gap:16px 22px;margin-bottom:13px}
.recommendation-heading .eyebrow{margin:0 0 3px;font-size:10px}
.recommendation-heading h2{color:#1f4337;font-size:21px;letter-spacing:-.035em;
  margin:0 0 5px}
.recommendation-heading p:not(.eyebrow){font-size:12px;color:#657b70;
  max-width:650px;line-height:1.55;margin:0}
.recommendation-heading label{min-width:205px;max-width:270px;
  font-size:11px;color:#426757;font-weight:730;display:flex;
  flex-direction:column;gap:5px}
.recommendation-heading select{font-weight:650;font-size:13px}
.recommendation-answer{border:1px solid #dbe9df;background:#f5faf6;
  padding:11px 14px;border-radius:9px;margin:12px 0 16px}
.recommendation-answer p{font-size:12px;line-height:1.55;margin:0;color:#365748}
.recommendation-answer p strong{color:#20513e}
.recommendation-answer .recommendation-answer-kicker{font-weight:790;
  font-size:10px;letter-spacing:.045em;color:#54806a;
  text-transform:uppercase;margin-bottom:4px}
.recommendation-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;align-items:stretch}
.recommendation-choice{display:flex;flex-direction:column;min-width:0;
  padding:15px 15px 13px;border:1px solid #dce5df;border-radius:10px;
  background:#fff}
.recommendation-choice.recommendation-lowest{
  border-color:#83b498;background:#f8fcf9;box-shadow:0 2px 12px #27573a0d}
.recommendation-choice-heading{display:flex;align-items:baseline;
  flex-wrap:wrap;justify-content:space-between;gap:5px;margin:0 0 3px}
.recommendation-choice-heading h3{font-size:14px;letter-spacing:-.015em;
  margin:0;color:#264d3e}
.recommendation-choice-heading span{font-size:10px;font-weight:720;
  color:#657d70}
.recommendation-choice-heading .recommendation-lowest-label{color:#24684e}
.recommendation-description{font-size:10px;line-height:1.45;color:#7c8b82;
  min-height:30px;margin:0 0 10px}
.recommendation-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;
  padding:7px 0 11px;border-bottom:1px solid #e8eee9}
.recommendation-price strong{font-size:29px;letter-spacing:-.05em;color:#22523c;
  font-variant-numeric:tabular-nums}
.recommendation-price span{font-size:11px;color:#687e72;white-space:nowrap}
.recommendation-price span small{display:block;font-size:9px;
  color:#7f9186;margin-top:2px}
.recommendation-fuels{display:grid;gap:10px;margin:12px 0 8px}
.recommendation-fuel{display:grid;grid-template-columns:1fr;gap:2px;min-width:0}
.recommendation-fuel>span{color:#7a8c81;font-size:10px;font-weight:730;
  text-transform:uppercase;letter-spacing:.03em}
.recommendation-fuel strong{font-size:12px;line-height:1.4;
  color:#2e5140;overflow-wrap:anywhere}
.recommendation-fuel small{font-size:11px;color:#6c8173;line-height:1.4}
.recommendation-all-in{margin:3px 0 5px;font-size:11px;
  color:#63766a;line-height:1.5}
.recommendation-all-in strong{white-space:nowrap;color:#2b5441}
.recommendation-saving{font-size:11px;font-weight:740;color:#2c6f4b;
  margin:4px 0 7px;line-height:1.4}
.recommendation-combination{font-size:10px;color:#829085;
  margin:0 0 14px;line-height:1.45}
.recommendation-inspect{margin-top:auto;min-height:34px;
  width:100%;font-size:11px;line-height:1.3;
  background:#fff;color:#236b51;border:1px solid #bed6c8;
  padding:8px 9px}
.recommendation-inspect:hover{background:#edf5ef}
.recommendation-missing{background:#f9faf9}
.recommendation-no-match{font-size:11px;color:#7c8d82;line-height:1.6;
  margin:10px 0}
.recommendation-note{color:#7a887e;font-size:11px;
  line-height:1.55;margin:13px 2px}
.recommendation-expand{display:block;margin:0 auto;min-height:36px;
  font-size:12px;padding:7px 16px}
.results-full-analysis{margin:12px 0 20px}
.results-full-summary{display:list-item;cursor:pointer;padding:10px 12px;
  font-size:12px;font-weight:750;color:#285e47}
.results-full-summary:hover{color:#173e2e}
.results-full-analysis>.overview-card{margin-top:8px}
body.advanced-ui #recommendation-panel,
body.advanced-ui #results-full-analysis>.results-full-summary{display:none}
@media(max-width:990px){
  .recommendation-cards{grid-template-columns:1fr}
  .recommendation-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;
    gap:4px 17px}
  .recommendation-choice-heading,.recommendation-description,
  .recommendation-fuels,.recommendation-all-in,
  .recommendation-saving,.recommendation-combination{grid-column:1}
  .recommendation-price{grid-column:2;grid-row:1/span 2;
    border-bottom:0;align-self:center}
  .recommendation-inspect{grid-column:2;grid-row:3/span 3;
    align-self:end;max-width:220px}
}
@media(max-width:650px){
  .recommendation-panel{padding:14px}
  .recommendation-heading{flex-direction:column;gap:11px}
  .recommendation-heading label{max-width:none;width:100%}
  .recommendation-choice{display:flex;gap:0}
  .recommendation-choice-heading,.recommendation-description,
  .recommendation-fuels,.recommendation-all-in,
  .recommendation-saving,.recommendation-combination,
  .recommendation-inspect{grid-column:auto;grid-row:auto}
  .recommendation-price{grid-column:auto;grid-row:auto;
    border-bottom:1px solid #e8eee9}
  .recommendation-inspect{max-width:none}
  .recommendation-description{min-height:0;margin-bottom:3px}
  .recommendation-price strong{font-size:28px}
}
