.forecast-panel{background:var(--surface,#fff);border:1px solid var(--border,#dce3e8);border-radius:12px;padding:22px;margin:18px 0}.forecast-panel fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}.forecast-panel legend{font-weight:700;margin-bottom:12px}.forecast-regions{display:flex;flex-wrap:wrap;gap:12px 24px}.forecast-regions label{display:flex;align-items:center;gap:8px;min-height:40px}.forecast-regions input{width:18px;height:18px}.forecast-panel .form-grid{margin-bottom:20px}.forecast-note{padding:14px 18px;background:#fff7df;border-left:4px solid #bd8419;border-radius:6px;line-height:1.6}.forecast-panel td{vertical-align:top}.forecast-panel details{min-width:190px;max-width:380px}.forecast-panel summary{cursor:pointer;color:#126363;margin-top:8px}.forecast-panel details li{margin-bottom:8px}.forecast-panel small{line-height:1.5}.forecast-panel .table-wrap{overflow-x:auto}.forecast-panel h3{margin-top:24px}@media(max-width:650px){.forecast-panel{padding:15px}.forecast-panel .form-grid{grid-template-columns:1fr}.forecast-regions{display:grid;grid-template-columns:1fr}}

.forecast-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start;margin:24px 0}.forecast-workspace>.forecast-panel{margin:0;min-width:0;padding:26px;border-color:#dce3ef;box-shadow:0 3px 14px #142e5505}.forecast-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:24px}.forecast-card-heading h2{margin:0;color:#172844;font-size:20px;line-height:1.3}.forecast-card-heading .eyebrow{font-size:10px;letter-spacing:.12em;margin:0 0 8px;color:#64748b}.forecast-card-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;background:#edf3ff;border-radius:12px;color:#2858cb}.forecast-builder fieldset{margin-bottom:24px}.forecast-builder legend{font-size:13px;margin-bottom:12px}.forecast-label-hint{font-size:12px;font-weight:400;color:#68778e;line-height:1.5}.forecast-builder legend .forecast-label-hint{margin-left:8px}.forecast-builder .forecast-regions{gap:8px}.forecast-builder .forecast-region-chip{position:relative;display:block;min-height:0}.forecast-region-chip input{position:absolute!important;opacity:0;width:1px!important;height:1px!important;margin:0}.forecast-region-chip>span{display:flex;align-items:center;gap:7px;border:1px solid #dce3ef;background:#fff;border-radius:8px;padding:10px 12px;min-height:42px;font-size:12px;font-weight:600;color:#627188;cursor:pointer;transition:background .12s,border-color .12s}.forecast-region-chip svg{opacity:.22;flex-shrink:0}.forecast-region-chip input:checked+span{background:#edf3ff;border-color:#a8bff3;color:#234fba}.forecast-region-chip input:checked+span svg{opacity:1}.forecast-region-chip input:focus-visible+span{outline:3px solid #5d85e4;outline-offset:3px}.forecast-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}.forecast-date-fields .field{min-width:0}.forecast-date-fields input{min-width:0;width:100%;font-variant-numeric:tabular-nums}.forecast-builder .forecast-weather{max-width:none;min-width:0;margin:0;border-top:1px solid #e5eaf2}.forecast-weather summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;margin:0;font-size:13px;color:#243956;list-style:none}.forecast-weather summary:before{content:'+';color:#64748b;font-size:18px}.forecast-weather[open] summary:before{content:'−'}.forecast-weather summary>span:first-child{margin-right:auto}.forecast-weather-fields{max-width:330px;padding:0 0 16px}.forecast-weather-fields input{width:100%}.forecast-builder-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:20px;border-top:1px solid #e5eaf2}.forecast-builder-footer>span{font-size:12px;line-height:1.6;color:#68778e;max-width:260px}.forecast-builder-footer .button{white-space:nowrap;gap:14px}.forecast-title-help{display:flex;align-items:center;gap:8px}.forecast-scheduling .forecast-card-heading{flex-wrap:wrap;gap:12px;margin-bottom:22px}.forecast-auto-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;line-height:1.4;border-radius:20px;background:#f3f5f9;color:#69758a;padding:5px 8px;white-space:nowrap}.forecast-auto-status i{width:6px;height:6px;border-radius:50%;background:#a5aeba}.forecast-auto-status.is-active{background:#eaf7f0;color:#24734b}.forecast-auto-status.is-active i{background:#319262}.forecast-check-time{display:flex;flex-direction:column;gap:5px;padding-bottom:18px;border-bottom:1px solid #e5eaf2}.forecast-check-time>span{font-size:12px;color:#68778e}.forecast-check-time strong{font-size:13px;color:#31435e;font-weight:600}.forecast-scheduling-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.forecast-scheduling-metrics div{display:flex;flex-direction:column;gap:4px}.forecast-scheduling-metrics strong{font-size:25px;color:#1b3255;font-variant-numeric:tabular-nums}.forecast-scheduling-metrics span{font-size:12px;color:#68778e}.forecast-scheduling form{margin-top:18px}.forecast-scheduling form .button{width:100%;justify-content:center}.forecast-scheduling form p{margin:8px 0 0;text-align:center}.forecast-scheduling .forecast-scheduling-history{min-width:0;max-width:none;margin-top:18px;font-size:12px;line-height:1.6}.forecast-scheduling-history summary{color:#345681;font-size:12px}.forecast-scheduling-history ul{padding-left:17px;max-height:300px;overflow-y:auto;overflow-wrap:anywhere}.forecast-planner-link{display:flex;justify-content:space-between;border-top:1px solid #e5eaf2;padding-top:18px;margin-top:20px;font-size:12px;font-weight:600;text-decoration:none}.forecast-empty{text-align:center;padding:46px 20px;border:1px dashed #d1dbe9;border-radius:12px;margin-top:24px;color:#68778e}.forecast-empty-icon{display:grid;place-items:center;margin:0 auto 14px;width:46px;height:46px;border-radius:12px;background:#eaf0fa;color:#4770bb;font-size:27px}.forecast-empty h2{font-size:17px;color:#314563;margin:0 0 8px}.forecast-empty p{font-size:13px;margin:0}.forecast-results{padding:26px}.forecast-results .forecast-card-heading{align-items:center}.forecast-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px}.forecast-metrics>div{display:flex;flex-direction:column;gap:9px;padding:17px 20px;border:1px solid #e4eaf3;border-radius:10px;background:#f8fafd}.forecast-metrics span{font-size:12px;color:#63748e}.forecast-metrics strong{font-size:30px;color:#254b96;font-variant-numeric:tabular-nums;line-height:1}.forecast-results table{min-width:1080px}.forecast-results td{font-size:12px;line-height:1.6}.forecast-results td small{font-size:11px;color:#718096}.forecast-results td:nth-child(5),.forecast-results td:nth-child(6){white-space:nowrap}.forecast-result-status{display:inline-block;border-radius:5px;background:#f0f3f8;color:#5c6b81;padding:3px 7px;font-size:11px;font-weight:600}.forecast-result-status.is-due{background:#eaf3ff;color:#285cb0}.forecast-review-tag{font-size:10px;color:#8e652b}.forecast-results details{min-width:160px;max-width:320px;white-space:normal}.forecast-results details summary{font-size:11px;color:#365d9b}.forecast-results details ul{padding-left:16px}.forecast-results .table-wrap{border-radius:8px;border:1px solid #e2e8f2}
@media(max-width:1100px){.forecast-workspace{grid-template-columns:minmax(0,1fr) 290px;gap:16px}.forecast-workspace>.forecast-panel{padding:20px}.forecast-builder-footer{flex-wrap:wrap}.forecast-builder-footer .button{margin-left:auto}}
@media(max-width:850px){.forecast-workspace{grid-template-columns:1fr}.forecast-scheduling .forecast-card-heading{flex-wrap:nowrap}.forecast-scheduling-metrics{max-width:300px}.forecast-scheduling form .button{width:auto}.forecast-scheduling form p{text-align:left}.forecast-scheduling{order:2}}
@media(max-width:520px){.forecast-workspace{margin-top:18px}.forecast-workspace>.forecast-panel,.forecast-results{padding:18px}.forecast-builder .forecast-regions{display:flex}.forecast-region-chip>span{font-size:11px;padding:9px 10px}.forecast-builder legend .forecast-label-hint{display:block;margin:4px 0 0}.forecast-date-fields{gap:10px}.forecast-date-fields input{font-size:12px;padding:10px 7px}.forecast-weather summary{font-size:12px;gap:7px}.forecast-weather summary .forecast-label-hint{font-size:11px}.forecast-builder-footer{flex-direction:column;align-items:stretch;gap:14px}.forecast-builder-footer>span{max-width:none}.forecast-builder-footer .button{margin:0;justify-content:center}.forecast-card-heading h2{font-size:18px}.forecast-metrics{gap:7px}.forecast-metrics>div{padding:12px 9px}.forecast-metrics span{font-size:10px;min-height:28px}.forecast-metrics strong{font-size:24px}.forecast-results .forecast-card-heading{align-items:flex-start;flex-direction:column;gap:8px}.forecast-empty{padding:32px 14px}}

.forecast-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.forecast-scheduling>button{margin-bottom:18px}@media(max-width:520px){.forecast-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.forecast-check-results{max-width:none;min-width:0;padding:0;scroll-margin-top:100px}
.forecast-check-results>summary{padding:20px 24px;cursor:pointer;color:#172844;font-weight:700;font-size:17px}
.forecast-check-results>summary small{font-size:12px;color:#68778e;font-weight:400;margin-left:14px}
.forecast-check-results[open]>summary{border-bottom:1px solid #e5eaf2}
.forecast-check-results-body{padding:4px 24px 20px;line-height:1.6}
.forecast-check-results-body>ul>li{margin:12px 0}
button.forecast-result-help{border:0;font:inherit;font-size:12px;font-weight:600;text-align:left;cursor:help;white-space:normal}
button.forecast-result-help.is-review{background:#fff3df;color:#8a510b}
.forecast-result-help:focus-visible,.forecast-check-results>summary:focus-visible{outline:3px solid #5d85e4;outline-offset:3px}
.forecast-result-tooltip>strong{display:block;color:#172844;margin-bottom:8px}
.forecast-result-reason{display:block;margin-top:8px}
@media(max-width:520px){.forecast-check-results>summary{padding:18px}.forecast-check-results>summary small{display:block;margin:6px 0 0 18px}.forecast-check-results-body{padding:0 18px 18px}}

/* Property usage: scoped separately from the delivery simulation. */
.property-usage{max-width:1400px;margin:0 auto}
.usage-back{display:inline-flex;margin:0 0 18px;color:#526581;font-size:13px;text-decoration:none;font-weight:600}
.usage-back:hover,.usage-doc-link:hover{text-decoration:underline}
.property-usage .usage-heading{margin-bottom:26px;gap:22px}
.usage-heading h1{margin:4px 0 10px}
.usage-heading>div>p:last-child{font-size:13px;line-height:1.7;color:#69788e}
.usage-heading>div>p:last-child>span{padding:0 6px}
.usage-heading .button{white-space:nowrap;gap:14px}
.usage-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}
.usage-overview>div{display:flex;flex-direction:column;gap:9px;padding:21px 24px;background:#fff;border:1px solid #dfe6f0;border-radius:12px;min-width:0}
.usage-overview>div>span{font-size:12px;font-weight:600;color:#64748b}
.usage-overview strong{color:#203e70;font-size:29px;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.usage-overview strong small{font-size:16px;font-weight:500;color:#6b7d97}
.usage-overview>div>small{font-size:11px;color:#718096;line-height:1.6}
.usage-overview .usage-range-arrow{color:#9cacbf;font-size:21px;font-weight:400;margin:0 5px}
.usage-workspace{display:grid;grid-template-columns:minmax(280px,0.85fr) minmax(0,1.45fr);gap:24px;align-items:start}
.property-usage .usage-card{min-width:0;margin:0;padding:26px;border-color:#dfe6f0;box-shadow:0 3px 14px #142e5504}
.usage-card-heading{margin-bottom:23px}
.usage-card-heading .eyebrow{font-size:10px;letter-spacing:.12em;color:#728099;margin:0 0 7px}
.usage-card-heading h2{font-size:20px;margin:0;color:#1a2e4c;line-height:1.3}
.usage-card-heading>p:last-child{font-size:12px;line-height:1.65;color:#718096;margin:9px 0 0}
.property-usage .form-grid{gap:16px;margin-bottom:0}
.property-usage .field{min-width:0;font-size:12px;gap:7px}
.property-usage .field>span{color:#43556f;font-weight:600;font-size:12px}
.property-usage .field input,.property-usage .field select{min-width:0;width:100%;font-size:13px;padding:10px 11px;min-height:41px;border-radius:7px}
.property-usage .field>small{font-size:10px;color:#74829a;font-weight:400}
.property-usage .usage-reading-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}
.property-usage .usage-reading-fields .field-wide{grid-column:1/-1}
.usage-optional{font-size:10px;font-weight:400;color:#8290a5;margin-left:4px}
.property-usage .usage-field-help{font-size:11px;line-height:1.6;color:#75829a;margin:10px 0 18px}
.usage-reading-form>.button{margin:0 0 8px;width:100%;justify-content:center}
.usage-preferences{display:flex;flex-direction:column;border-bottom:1px solid #e8edf4;padding-bottom:22px;gap:18px}
.usage-preference{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.usage-preference>input{width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:#295bc9}
.usage-preference>span{display:flex;flex-direction:column;gap:4px}
.usage-preference strong{font-size:13px;font-weight:600;color:#2a3d58}
.usage-preference small{font-size:11px;color:#75839a;line-height:1.5}
.property-usage .usage-section-heading{margin:23px 0 15px}
.property-usage .usage-section-heading h3{font-size:14px;color:#2a3d58;margin:0 0 5px}
.usage-section-heading p{font-size:11px;color:#75839a;margin:0;line-height:1.6}
.property-usage .usage-refill-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.property-usage .usage-consumption-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.property-usage .usage-disclosure{min-width:0;max-width:none;border-top:1px solid #e8edf4;margin:18px 0 0}
.property-usage .usage-disclosure>summary{color:#435b7d;font-size:12px;font-weight:600;padding:17px 0;margin:0;line-height:1.5;cursor:pointer}
.property-usage .usage-disclosure>summary small{display:block;margin:5px 0 0 15px;color:#8390a5;font-size:11px;font-weight:400}
.property-usage .usage-disclosure>summary span>small{margin-left:15px}
.property-usage .usage-disclosure>summary:focus-visible{outline:3px solid #7ea3ed;outline-offset:3px;border-radius:4px}
.property-usage .usage-disclosure p{font-size:12px;line-height:1.7;color:#74829a}
.property-usage .usage-reading-entry{margin-top:0;border-top:0}
.property-usage .usage-reading-entry>summary{padding-top:0}
.usage-reading-form{padding-top:2px}
.usage-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;margin-left:6px;padding:1px 6px;border-radius:12px;background:#edf2f8;color:#627895;font-size:10px}
.property-usage .usage-history{margin-top:16px}
.usage-history-list{max-height:510px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
.usage-history-item{border-top:1px solid #eef1f6;padding:16px 0;overflow-wrap:anywhere}
.usage-history-item:first-child{border-top:0;padding-top:3px}
.usage-history-item>div{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.usage-history-item strong{font-size:20px;color:#2c466a}
.usage-reading-type{font-size:10px;color:#5d728e;background:#eef3f9;border-radius:5px;padding:3px 7px}
.usage-history-item>time,.usage-history-item>small{display:block;font-size:10px;color:#7d8ba0;line-height:1.8}
.property-usage .usage-history-item>p{font-size:11px;margin:6px 0}
.usage-history-item .button{font-size:10px;min-height:28px;margin-top:3px;padding:4px 0}
.property-usage .usage-seasonal{margin-top:24px;border-bottom:1px solid #e8edf4}
.usage-seasonal-body{padding:0 0 20px}
.usage-seasonal-body h4{margin:10px 0 6px;font-size:13px;color:#43556f}
.property-usage .usage-seasonal-body>p{font-size:11px;margin:0 0 16px}
.property-usage .usage-season-fields,.property-usage .usage-month-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.property-usage .usage-season-fields{margin-bottom:24px}
.property-usage .usage-month-fields{margin-bottom:16px}
.usage-save-actions{display:flex;justify-content:flex-end;padding-top:22px}
.property-usage .usage-settings fieldset{margin-bottom:0}
.usage-doc-link{display:inline-flex;align-items:center;gap:12px;font-size:11px;color:#6e819c;margin-top:22px;text-decoration:none}
.usage-linked-property{padding:16px 18px;margin:0 0 24px;background:#f4f7fc;border:1px solid #e3eaf4;border-radius:9px}
.usage-linked-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.property-usage .usage-linked-heading h3{margin:0;font-size:12px;color:#435b7d}
.usage-linked-heading a{font-size:11px;text-decoration:none;white-space:nowrap}
.usage-linked-heading a:hover{text-decoration:underline}
.usage-linked-property dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 12px}
.usage-linked-property dt{font-size:10px;color:#72829a;margin-bottom:5px}
.usage-linked-property dd{font-size:16px;font-weight:600;color:#314d74;margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.usage-linked-property dd small{font-size:10px;font-weight:400;color:#72829a;white-space:nowrap}
.usage-linked-property>p{font-size:10px;line-height:1.6;color:#74829a;margin:0}
.property-usage .usage-calculated-values{font-size:11px;line-height:1.7;color:#506784;margin:10px 0 0;font-variant-numeric:tabular-nums}
.usage-calculated-values output{font-weight:600;color:#304f7a}
.usage-calculated-values>span{padding:0 5px;color:#a2aec0}
.property-usage .usage-calculated-values+.usage-field-help{margin-top:5px}
.property-usage .usage-preview-note{font-size:11px;line-height:1.6;color:#916111;margin:10px 0 0}
@media(max-width:430px){.usage-linked-property{padding:14px 12px}.usage-linked-property dl{gap:8px}.usage-linked-property dd{font-size:14px}}
@media(max-width:1100px){.usage-workspace{grid-template-columns:minmax(0,1fr);gap:20px}.usage-readings .usage-reading-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-reading-form>.button{width:auto}.usage-overview>div{padding:18px}.usage-overview strong{font-size:25px}}
@media(max-width:600px){.property-usage .usage-heading{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:20px}.usage-heading h1{font-size:27px}.usage-heading .button{font-size:12px}.usage-overview{gap:9px;margin-bottom:18px}.usage-overview>div{padding:13px 10px;gap:8px}.usage-overview>div>span{font-size:10px}.usage-overview>div>small{font-size:9px}.usage-overview strong{font-size:20px}.usage-overview strong small{font-size:11px}.usage-overview .usage-range-arrow{font-size:12px;margin:0 1px}.property-usage .usage-card{padding:21px 18px}.property-usage .usage-season-fields,.property-usage .usage-month-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-save-actions>.button{width:100%;justify-content:center}.property-usage .usage-refill-fields{gap:9px}.property-usage .usage-refill-fields .field>span{font-size:11px}.property-usage .usage-refill-fields input{padding:10px 8px}}
@media(max-width:370px){.usage-overview{grid-template-columns:1fr}.usage-overview>div{display:grid;grid-template-columns:1fr auto}.usage-overview>div>small{grid-column:1/-1}.property-usage .usage-refill-fields{grid-template-columns:1fr}.property-usage .usage-reading-fields{grid-template-columns:1fr}}

.forecast-block-reasons{max-width:300px;min-width:200px;white-space:normal;color:#854c16;font-size:12px;line-height:1.55;margin:8px 0}.forecast-block-reasons p{margin:0 0 7px}.forecast-block-reasons a{font-size:11px}
.forecast-exceptions{border-left:3px solid #d19a40;scroll-margin-top:100px}.forecast-exceptions .forecast-card-heading{margin-bottom:10px}.forecast-exception-list{list-style:none;padding:0;margin:12px 0 0}.forecast-exception{padding:14px 0;border-top:1px solid #e5eaf2}.forecast-exception>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.forecast-exception p{margin:7px 0;font-size:13px;line-height:1.6;max-width:95ch;overflow-wrap:anywhere}.forecast-exception-action{font-size:12px;font-weight:600}.forecast-more-exceptions{margin-top:8px}.forecast-more-exceptions>summary{cursor:pointer;font-size:13px;font-weight:600;color:#365d9b}
