.auth-main{max-width:620px;margin:7vh auto;padding:24px}.auth-card{padding:32px}.auth-card h1{font-size:30px}.auth-card p{color:var(--muted);margin:16px 0}.auth-card small{display:block;color:var(--muted);margin-top:18px;font-size:12px;line-height:1.6}.auth-card button{min-height:44px;margin:10px 12px 0 0}.auth-confirmation{border-left:3px solid var(--green);padding:8px 16px;background:var(--soft);margin:24px 0}.auth-confirmation h2{font-size:17px}.auth-confirmation p{margin:8px 0}.auth-app .theme-picker select{min-height:44px}@media(max-width:700px){.auth-main{margin:4vh auto;padding:18px}.auth-card{padding:24px}.auth-card h1{font-size:26px}}*{box-sizing:border-box}html{--bg:#f5f6f9;--surface:#fff;--soft:#edf1f7;--ink:#151c2b;--muted:#58667c;--border:#dce2ec;--blue:#1f69ff;--accent:#4267c8;--accent-soft:#e9effc;--low:#8053cc;--standard:#9b73cf;--solar:#526fd0;--magenta:#d02670;--green:#168970;--slate:#64718b;--control:#718096;--page:var(--blue);--page-text:var(--blue);--number:#6740b5;--hero:#e9effc;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);color-scheme:light}html[data-theme=dark]{--bg:#101724;--surface:#182338;--soft:#202f47;--ink:#f5f7fc;--muted:#b5c2d7;--border:#33465f;--accent:#8daafe;--accent-soft:#25385c;--low:#b89afb;--standard:#998acd;--solar:#8daafe;--magenta:#ff7eb6;--green:#68ccaf;--slate:#a1b4ce;--control:#8394b1;--number:#b89afb;--hero:#202f47;--page-text:#8daafe;color-scheme:dark}html[data-view=costs]{--page:#7952c5;--page-text:#7952c5}html[data-theme=dark][data-view=costs]{--page:#b89afb;--page-text:#b89afb}html[data-view=solar]{--page:#107d68;--page-text:#107d68}html[data-theme=dark][data-view=solar]{--page:#68ccaf;--page-text:#68ccaf}html[data-view=heating]{--page:#00768e;--page-text:#00768e}html[data-theme=dark][data-view=heating]{--page:#54d9f4;--page-text:#54d9f4}html[data-view=settings],html[data-view=status]{--page:var(--muted);--page-text:var(--muted)}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.55}button,input,select{border-radius:8px}h1,h2,h3,p{margin:0}h1,h2{letter-spacing:-.035em}h1{font-size:29px}h2{font-size:19px}h3{font-size:15px}p{line-height:1.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip-link{position:fixed;top:-100px;left:10px;padding:12px;background:var(--surface);color:var(--ink);z-index:40}.skip-link:focus{top:10px}.preview-bar{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);padding:12px 26px;display:flex;align-items:center;justify-content:space-between;z-index:20;min-height:64px}.preview-bar>div{display:flex;gap:10px;align-items:center}.preview-bar strong{font-size:12px}.preview-bar small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.split-mark{width:34px;height:34px;flex:none}.preview-bar .split-mark{width:28px;height:28px}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1700px;margin:auto}.sidebar{background:var(--surface);position:sticky;top:64px;height:calc(100vh - 64px);border-right:1px solid var(--border);padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;margin:0 10px 35px;font-size:17px;letter-spacing:-.04em}.sidebar nav{display:grid;gap:8px}.sidebar nav button{display:flex;align-items:center;gap:13px;padding:14px 12px;border:0;background:none;text-align:left;font-size:13px;font-weight:600;color:var(--muted)}.sidebar nav button[aria-current=page]{border-left:3px solid var(--page);color:var(--page-text)}.sidebar-foot{margin-top:auto;color:var(--muted);font-size:11px}main{padding:30px 38px 45px;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.page-heading h1:after{content:"";display:block;width:74px;height:4px;background:var(--page);margin-top:10px;clip-path:polygon(0 20%,100% 0,94% 100%,0 100%)}.period-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 14px}.presets{display:flex;gap:2px;background:var(--soft);border:1px solid var(--border);padding:3px;border-radius:10px;flex:none}.presets button{padding:9px 14px;min-height:36px;border:0;background:none;color:var(--muted);font-size:12px;font-weight:700}.presets button[aria-pressed=true]{background:var(--surface);color:var(--accent)}.period-label{text-align:right;display:grid;gap:3px;font-size:11px;color:var(--muted);min-width:0}.period-label strong{color:var(--ink);font-size:12px}.sample-boundary{padding:10px 14px;border:1px dashed var(--control);border-radius:9px;font-size:11px;line-height:1.6;color:var(--muted);margin:14px 0 20px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:24px;margin:0 0 22px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px}.dashboard-grid>.panel{margin-bottom:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{border:1px solid var(--border);border-top:3px solid var(--page);border-radius:10px;padding:19px 21px;background:var(--surface);min-width:0}.metrics>.metric-card:first-child{background:var(--accent-soft)}.eyebrow{display:block;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;line-height:1.5}.metric-card>strong{display:block;color:var(--number);font-size:30px;letter-spacing:-.04em}.metric-card strong small{font-size:13px;font-weight:400;letter-spacing:0;margin-left:4px;color:var(--muted)}.metric-foot{display:block;color:var(--muted);font-size:11px;margin-top:8px}.chart-summary{display:flex;gap:15px;align-items:center;margin-bottom:18px}.chart-summary strong{font-size:35px;color:var(--number);letter-spacing:-.04em}.chart-summary small{font-size:14px;margin-left:3px}.chart-summary span{font-size:12px;color:var(--muted)}.cost-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;background:var(--hero);border:1px solid var(--border);border-left:5px solid var(--page);border-radius:14px;padding:28px 32px;margin-bottom:22px}.cost-hero>div+div{border-left:1px solid var(--border);padding-left:30px}.cost-hero strong{font-size:46px;color:var(--number);letter-spacing:-.06em}.cost-hero strong small{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:12px}.cost-hero p{font-size:12px;color:var(--muted);margin-top:8px}.legend{display:flex;gap:8px 15px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:10px 0 14px;align-items:center}.legend button,.legend span{display:flex;gap:6px;align-items:center}.legend button{padding:5px 0;min-height:32px;border:0;background:none;font-size:11px;color:var(--muted)}.legend button[aria-pressed=false]{opacity:.5}.legend i{width:9px;height:9px;border-radius:2px;display:inline-block}.legend .target-key{height:0;width:22px;border-top:2px dashed var(--magenta);border-radius:0}.chart-wrap{width:100%;min-width:0}.plot{width:100%;display:block}.gridline{stroke:var(--border);stroke-dasharray:3 5}.axis-text,.axis-unit{font-size:12px;fill:var(--muted)}.zero-line{stroke:var(--control)}.target-line{stroke:var(--magenta);stroke-width:2;stroke-dasharray:7 5}.hit-area:focus-visible,.clickable-bar:focus-visible .hit-area{stroke:var(--accent);stroke-width:2}.chart-empty,.empty-state{padding:40px 20px;text-align:center;background:var(--soft);border-radius:10px;color:var(--muted)}.empty-state h2{margin-bottom:15px}.chart-caption{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.6}.unavailable{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--muted);margin:14px 0;line-height:1.6}.unavailable svg{flex:none;margin-top:2px}.small-note,.fine-print{font-size:11px;color:var(--muted);line-height:1.65;margin-top:12px}.help{position:relative;flex:none}.help summary{list-style:none;display:grid;place-items:center;cursor:pointer;width:36px;height:36px;color:var(--muted)}.help summary::-webkit-details-marker{display:none}.help>div{position:absolute;z-index:15;right:0;top:42px;width:min(300px,calc(100vw - 55px));padding:16px;background:var(--surface);border:1px solid var(--control);border-radius:10px;font-size:12px;line-height:1.7;color:var(--ink);box-shadow:0 8px 25px #00000018}.text-button,.link-button{border:0;background:none;color:var(--accent);font-size:12px;font-weight:600;min-height:38px;padding:9px 0;display:inline-flex;align-items:center;gap:8px}.table-toggle{margin-top:7px}.primary-button{border:0;background:#1f69ff;color:#fff;padding:12px 17px;min-height:44px;font-size:12px;font-weight:700}.table-scroll{overflow:auto;max-width:100%;margin-top:14px}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th,td{text-align:right;padding:12px;border-bottom:1px solid var(--border)}th:first-child{text-align:left}caption{text-align:left;font-size:11px;color:var(--muted);margin-bottom:12px;white-space:normal}.data-details{margin-top:18px}summary{cursor:pointer;font-size:12px;font-weight:600;min-height:34px;padding:8px 0;color:var(--muted)}.cost-equation{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px;background:var(--soft);border-radius:10px;margin-top:20px}.cost-equation span{font-size:23px;font-weight:700;letter-spacing:-.04em}.cost-equation small{display:block;font-size:10px;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:5px}.cost-equation b{color:var(--muted)}.flow-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.flow-totals .metric-card{padding:8px 0;border:0}.flow-totals .metric-card>strong{font-size:23px}.flow-totals .eyebrow{font-size:9px}.channel-list{display:grid;gap:17px}.channel-list>div{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:12px}.channel-list span{display:flex;align-items:center;gap:8px;color:var(--muted)}.channel-list span>i{width:10px;height:10px;border-radius:2px}.channel-track{grid-column:1/-1;height:12px;background:var(--soft);border-radius:5px;overflow:hidden}.channel-track i{display:block;height:100%;border-radius:5px}.temperature-panel{border-top:1px solid var(--border);padding-top:22px;margin-top:20px}.temperature-panel h3{display:flex;align-items:center;justify-content:space-between;gap:12px}.temperature-panel h3 span{font-size:11px;font-weight:400;color:var(--muted)}.annotation{margin-top:15px;padding:15px;background:var(--soft);border-radius:8px;font-size:12px}.annotation p{margin-top:5px}input,select{padding:11px 12px;min-height:44px;background:var(--soft);color:var(--ink);border:1px solid var(--control);min-width:0;font-size:14px;width:100%}label{display:grid;gap:8px;font-size:12px;color:var(--muted)}.settings-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.settings-form button{grid-column:1/-1;justify-self:start}.target-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.entry-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.note-form{display:grid;gap:16px}.note-form button{justify-self:start}.theme-picker{display:flex;justify-content:space-between;align-items:center;max-width:400px;gap:20px}.theme-picker select{width:auto}.settings-notice{font-size:12px;color:var(--muted);margin:20px 0}.history-list article{display:flex;justify-content:space-between;align-items:start;gap:15px;font-size:12px;border-bottom:1px solid var(--border);padding:16px 0;margin-bottom:16px}.history-list article p{overflow-wrap:anywhere}.history-list article .text-button{margin-right:14px}.history-list small{color:var(--muted)}.draft-status{font-size:12px;color:var(--accent)}.day-picker{display:flex;align-items:center;gap:12px;max-width:350px;margin-bottom:15px}.day-picker select{width:auto}.range-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--control);border-radius:14px;padding:25px;max-width:520px;width:calc(100% - 30px)}.range-dialog::backdrop{background:#07101d88}.range-dialog header{display:flex;justify-content:space-between;gap:16px}.icon-button{border:0;background:none;color:var(--muted);min-height:38px}.range-description{font-size:12px;color:var(--muted);margin:16px 0}.range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.range-error{font-size:12px;color:var(--magenta);margin-bottom:15px}.mobile-nav{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.status-overview{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.status-overview h2{font-size:24px;margin:10px 0}.status-overview p,.source-status-card p,.boundary-list,.provenance,.definitions-grid p{font-size:12px;color:var(--muted);line-height:1.7}.source-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.source-status-top,.coverage-row{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;margin:10px 0}.status-badge{font-size:10px;color:var(--green);display:inline-flex;gap:5px;align-items:center}.status-badge.warning{color:var(--magenta)}.source-status-card{border:1px solid var(--border);padding:16px;border-radius:10px;min-width:0}.not-live{display:flex;align-items:center;gap:10px}.provenance{display:grid;grid-template-columns:1fr 1fr;gap:13px}.provenance dt{font-weight:700}.provenance dd{margin:0}.version-details code{font-size:11px;overflow-wrap:anywhere}.definition-callout{display:flex;gap:10px}.definitions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.configuration-marker{stroke:var(--slate);stroke-width:1.7;stroke-dasharray:2 5}.table-toggle{margin-right:14px}.panel>.text-button+.text-button{margin-left:14px}.panel-actions{display:flex;align-items:center;gap:10px}.small-segment{display:flex;background:var(--soft);border:1px solid var(--border);border-radius:8px;padding:3px}.small-segment button{border:0;background:none;min-height:32px;padding:6px 10px;font-size:12px;color:var(--muted)}.small-segment button[aria-pressed=true]{background:var(--surface);color:var(--number)}.inline-check{display:flex;align-items:center;gap:8px;font-size:11px;margin:10px 0}.inline-check input{width:16px;height:16px;min-height:16px;accent-color:var(--low)}.hero-progress{height:8px;background:var(--border);border-radius:6px;overflow:hidden;margin-top:12px}.hero-progress i{display:block;height:100%;background:var(--low);border-radius:6px}.load-strip{display:flex;gap:4px;height:26px;border-radius:8px;overflow:hidden;background:var(--soft);margin:16px 0 24px}.load-strip span{min-width:0}.load-list{display:grid;gap:17px;font-size:12px}.load-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.load-list span{display:flex;gap:8px;align-items:center;color:var(--muted)}.load-list i{width:10px;height:10px;border-radius:2px;flex:none}.load-list strong{white-space:nowrap}.day-detail{background:var(--soft);border-radius:10px;padding:16px;margin-top:14px}.day-detail header{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.detail-grid span{font-size:10px;color:var(--muted);min-width:0}.detail-grid strong{display:block;font-size:16px;color:var(--number);margin-top:8px}.period-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}.period-comparison span{font-size:11px;color:var(--muted)}.period-comparison strong{display:block;font-size:30px;color:var(--number);margin:10px 0}.period-comparison i{display:block;height:7px;background:var(--low);border-radius:4px}.compact-insight{font-size:12px;font-weight:700;color:var(--number);margin-top:20px}.comparison-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:15px 0}.pending-badge{font-size:10px;color:var(--muted);display:inline-block;margin:12px 0;padding:5px 8px;border-radius:6px;background:var(--soft)}.history-empty{height:190px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 44px,var(--border) 45px,transparent 46px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:12px;position:relative}.history-empty>span{padding:8px 13px;background:var(--surface)}.history-empty>div{display:flex;justify-content:space-between;position:absolute;bottom:0;left:0;right:0;gap:5px}.history-empty small{font-size:10px}.legend .line-key{width:22px;height:0;border-top:2px solid;border-radius:0}.legend .line-key.dashed{border-top-style:dashed}.legend .line-key.dotted{border-top-style:dotted}.compare-year{font-size:10px;gap:5px}.compare-year select{min-height:34px;padding:7px 9px;font-size:12px;width:auto}.solar-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:10px}.solar-footer label{display:flex;align-items:center;gap:8px;font-size:10px}.solar-footer select{min-height:34px;font-size:12px;padding:6px 9px;width:auto}.cost-equation span>b{font-size:15px;margin-right:14px;color:var(--muted)}#goals-settings,#solar-settings,#configuration-settings{scroll-margin-top:90px}@media(max-width:700px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid strong{font-size:16px}.load-list{font-size:11px}.load-list>div{gap:6px}.load-list strong{font-size:11px}.panel-actions{gap:4px}.small-segment button{font-size:11px;padding:6px 8px}.period-comparison strong{font-size:25px}.solar-footer{flex-wrap:wrap}.compare-year select{max-width:85px}.cost-equation span>b{margin-right:4px;font-size:12px}.history-empty{height:170px}}@media(max-width:1100px){.app-shell{grid-template-columns:180px minmax(0,1fr)}main{padding:26px 24px}.sidebar{padding:28px 12px}.brand{font-size:15px;gap:7px;margin-left:4px}.sidebar nav button{font-size:12px;padding:13px 8px}.dashboard-grid{grid-template-columns:1fr}.panel{padding:23px}.metric-card{padding:16px}.metric-card>strong{font-size:27px}}@media(max-width:700px){.preview-bar{padding:12px 15px}.preview-bar strong{font-size:10px}.preview-bar small{font-size:9px}.preview-bar .split-mark{width:27px;height:27px}.preview-bar .text-button{font-size:11px}.app-shell{display:block}.sidebar{display:none}main{padding:22px 16px 95px}.page-heading h1{font-size:24px}.page-heading .text-button{font-size:10px}.period-toolbar{margin:20px 0 13px}.presets button{font-size:11px;padding:7px 9px}.period-label{font-size:10px;flex:1;line-height:1.45}.period-label strong,.sample-boundary{font-size:10px}.cost-hero{display:block;padding:20px;margin-bottom:16px}.cost-hero strong{font-size:43px}.cost-hero>div+div{border-left:0;border-top:1px solid var(--border);padding:14px 0 0;margin-top:17px}.cost-hero>div+div strong{font-size:30px}.panel{padding:19px 16px;margin-bottom:16px}.panel h2{font-size:17px}.dashboard-grid{gap:16px;margin-bottom:16px}.metrics{gap:9px;margin-bottom:16px}.metric-card{padding:13px 10px}.metric-card>strong{font-size:25px}.metric-card .eyebrow{font-size:8px;min-height:28px}.metric-card strong small,.metric-foot{font-size:10px}.eyebrow{font-size:9px}.legend{gap:7px 11px}.legend button,.legend span{font-size:10px}.chart-summary strong{font-size:32px}.help summary{width:30px}.help>div{font-size:12px;width:min(280px,calc(100vw - 52px))}.unavailable{font-size:11px}.cost-equation{padding:13px 10px;gap:4px}.cost-equation span{font-size:17px}.cost-equation small{font-size:9px}.flow-totals .metric-card strong{font-size:21px}.temperature-panel h3{display:block}.temperature-panel h3 span{display:block;font-size:10px;margin-top:6px}.settings-form,.entry-fields{grid-template-columns:1fr}.settings-form button{justify-self:stretch}.target-grid{grid-template-columns:1fr 1fr}.history-list article{display:block}.history-list article .text-button{margin-top:6px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:25;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px 7px calc(7px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border)}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;border:0;font-size:9px;font-weight:600;min-height:52px;color:var(--muted);padding:6px 2px}.mobile-nav button[aria-current=page]{border-top:3px solid var(--page);color:var(--page-text);background:var(--soft)}.status-overview,.source-status-grid,.definitions-grid,.provenance,.range-inputs{grid-template-columns:1fr}.sample-boundary strong{display:block}}
