:root{font-family:"Segoe UI",Arial,sans-serif;font-synthesis:none;color-scheme:dark;color:var(--text);background:var(--background);line-height:1.5;--text:#f1f5f8;--background:#252b32;--surface:#2b333c;--surface-alt:#303b46;--muted:#adb9c5;--line:#3a4652;--accent:#9bc8e2;--focus:#5a9fd4;--blue:#3776ab;--orange:#ff7c30;--switch-track:#455360;--bar:#5a9fd4;--cost:#ffa672;--chart-grid:#3a4652;--missing:#65717c;--future:#323c46;--selected:#9bc8e2;--on-primary:#fff}
:root[data-theme="light"]{color-scheme:light;--text:#252b32;--background:#ffffff;--surface:#ffffff;--surface-alt:#f4f7fa;--muted:#656b73;--line:#e0e7ee;--accent:#3776ab;--focus:#3776ab;--switch-track:#3776ab;--bar:#3776ab;--cost:#ae480d;--chart-grid:#e0e7ee;--missing:#a6b1bb;--future:#eef2f5;--selected:#1f5f8b}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select{touch-action:manipulation}[hidden]{display:none!important}.site-header{background:var(--background)}.header-inner{max-width:1200px;padding:38px 40px 27px;margin:auto;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{display:block;text-decoration:none;padding:6px;flex-shrink:0}.wordmark{width:240px;height:auto;display:block}.wordmark-light,:root[data-theme="light"] .wordmark-dark{display:none}:root[data-theme="light"] .wordmark-light{display:block}.header-label{font-size:10px;letter-spacing:1.5px;color:var(--muted);border-left:1px solid var(--line);padding-left:24px}.status{margin-left:auto;font-size:10px;color:var(--muted);display:flex;align-items:center;gap:8px}.status:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--missing)}.status.fresh:before{background:var(--focus)}.theme-switch{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0;border:0;color:var(--muted);background:none;font-size:10px;cursor:pointer;white-space:nowrap}.theme-switch:hover{color:var(--text);background:none}.switch-track{display:inline-flex;align-items:center;width:36px;height:22px;padding:3px;border-radius:12px;background:var(--switch-track)}.switch-thumb{width:16px;height:16px;border-radius:50%;background:#fff}:root[data-theme="light"] .switch-thumb{transform:translateX(14px)}main{max-width:1200px;margin:auto;padding:0 40px 35px}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:34px 0 26px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:580;color:var(--accent);margin:0 0 10px}h1,h2,h3{font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif;font-weight:580}h1{font-size:34px;line-height:1.2;letter-spacing:-1px;margin:0 0 10px}.muted{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px}button,select,input{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:5px;padding:10px 12px;font-size:12px}button{cursor:pointer}button:hover{background:var(--surface-alt);border-color:var(--focus)}button:disabled{opacity:.4;cursor:default}.primary{background:var(--blue);border-color:var(--focus);color:var(--on-primary);font-weight:600}.primary:hover{background:#2c6494}.secondary{background:transparent}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.view-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin-bottom:22px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.view-toolbar label{font-size:11px;color:var(--muted)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}.metrics article{border:1px solid var(--line);background:var(--surface);padding:23px 25px;border-radius:7px}.metrics .cost-card{border-top:2px solid var(--focus)}.metrics p{font-size:12px;margin:0}.metrics p span{font-size:10px;display:block;margin-top:6px;color:var(--muted)}.metrics h2{font-size:34px;letter-spacing:-1px;margin:14px 0 9px;font-variant-numeric:tabular-nums}.metrics h2 em{font:14px "Segoe UI",Arial,sans-serif;letter-spacing:0;color:var(--muted)}.metrics small{font-size:10px;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:25px;margin-bottom:22px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}h3{font-size:20px;margin:0;letter-spacing:-.3px}.panel .eyebrow{margin-bottom:7px}.legend{display:flex;gap:20px;font-size:10px;color:var(--muted);flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:7px}.legend i{display:inline-block;width:9px;height:9px;border-radius:1px;background:var(--bar)}.legend i.cost-line{width:21px;height:2px;background:var(--cost)}.chart{height:315px}.chart svg{width:100%;height:100%;overflow:visible}.chart text{font-family:"Segoe UI",Arial,sans-serif;font-size:11px;fill:var(--muted)}.grid{stroke:var(--chart-grid);stroke-dasharray:3 5}.bar{fill:var(--bar)}.partial-bar{opacity:.55}.missing{fill:var(--missing)}.future-bin{fill:var(--future)}.cost-stroke{stroke:var(--cost);stroke-width:2;fill:none;pointer-events:none}.cost-point{fill:var(--surface);stroke:var(--cost);stroke-width:2}.partial-point{stroke-dasharray:2 1}.chart [data-index]{cursor:pointer}.chart .interval-hit{fill:transparent}.chart .selected .bar,.chart .bar.selected{fill:var(--selected);opacity:1;stroke:var(--orange);stroke-width:1}.chart .cost-point.selected{fill:var(--orange);stroke-width:3}.chart [data-index]:hover .bar{fill:var(--selected)}.chart [data-index]:focus-visible{outline:none}.chart [data-index]:focus-visible .bar{stroke:var(--orange);stroke-width:2}.caption{font-size:10px;color:var(--muted);line-height:1.8;margin:12px 0 0}.selection{display:grid;grid-template-columns:2fr 1fr 1fr;gap:25px;padding:23px 0 0;margin-top:23px;border-top:1px solid var(--line)}.selection p{font-size:11px;color:var(--muted);margin:0 0 10px}.selection .eyebrow{font-size:9px;color:var(--accent)}.selection .selection-period{font-size:14px;color:var(--text);line-height:1.6;margin:0}.selection strong{font-weight:580;font-size:21px;font-variant-numeric:tabular-nums}.export-panel{background:var(--surface-alt)}.export-controls{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-top:22px}.export-controls>div{display:flex;flex-direction:column;gap:8px}.export-controls label{font-size:10px;color:var(--muted)}.export-controls select{min-width:130px}.export-controls .primary{margin-left:auto}.log-panel summary{font-size:12px;color:var(--accent);cursor:pointer;list-style-position:outside;margin-left:14px}.log-panel[open] summary{margin-bottom:25px}.table-wrap{max-height:360px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;text-align:left;white-space:nowrap}th{position:sticky;top:0;font-weight:580;background:var(--surface-alt);color:var(--muted);padding:13px 16px}td{border-bottom:1px solid var(--line);padding:13px 16px;font-variant-numeric:tabular-nums}.badge{background:var(--surface-alt);border-radius:3px;padding:4px 7px;font-size:9px;color:var(--muted)}.notice{padding:11px 15px;border-left:2px solid var(--orange);font-size:11px;line-height:1.6;background:var(--surface-alt);margin-bottom:20px}footer{display:flex;justify-content:space-between;gap:20px;margin-top:30px;font-size:10px;color:var(--muted)}.footnote{font-size:9px;line-height:1.7;color:var(--muted);margin-top:15px}.empty{height:100%;display:grid;place-items:center;color:var(--muted);font-size:12px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:900px){main{padding:0 24px 30px}.header-inner{padding:26px 24px;flex-wrap:wrap;gap:16px}.header-label{display:none}.heading{padding-top:28px}.panel{padding:22px}.legend{gap:10px}.view-toolbar{gap:16px}}@media(max-width:600px){.header-inner{gap:12px}.brand{margin-right:auto}.status{order:3;margin:0}.theme-switch{margin-left:auto}.heading{align-items:flex-start;flex-direction:column}h1{font-size:30px}.metrics{gap:10px}.metrics article{padding:18px}.metrics h2{font-size:28px}.panel-heading{align-items:flex-start;flex-direction:column}.selection{grid-template-columns:1fr 1fr;gap:15px}.selection>div:first-child{grid-column:1/-1}.selection strong{font-size:19px}.export-controls{gap:12px}.export-controls .primary{margin:8px 0 0;width:100%}.chart{height:270px}footer{flex-direction:column}.export-controls select{min-width:110px}main{padding-left:18px;padding-right:18px}}

.login-content{min-height:100svh;max-width:420px;display:flex;flex-direction:column;justify-content:center;gap:24px;text-align:center;align-items:center}.login-content h1{margin:0}.login-content form{margin:0}

.brand{display:flex;align-items:center;gap:12px;color:var(--text)}.energy-icon{width:52px;height:52px;flex:0 0 52px}.energy-brand{display:flex;flex-direction:column;gap:2px}.energy-brand>span{font-family:'Segoe UI Variable','Segoe UI',Arial,sans-serif;font-weight:580;font-size:21px;letter-spacing:-.4px}.energy-brand small{font-size:9px;letter-spacing:1.7px;color:var(--muted)}
