:root{
  --ev:#00897b;--ev-dark:#00695c;--bg:#f3fbfa;--card:#fff;--ink:#202126;--muted:#6d6e78;
  --line:#e6e3ec;--good:#168447;--good-bg:#ebf8ef;--amber:#b77800;--bad:#b63d3d;--fixed:#5748a5;--radius:14px;
}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.4}.wrap{max-width:540px;margin:auto;padding:14px 14px 32px}header{margin:2px 0 5px}h1{font-size:21px;line-height:1.15;margin:0;color:var(--ev)}h1 .unofficial{font-size:10px;color:var(--muted);font-weight:750;white-space:nowrap}.strip{font-size:10px;color:var(--muted);display:flex;gap:6px;align-items:center;margin:7px 0 9px;flex-wrap:wrap}.dot{width:8px;height:8px;border-radius:50%;background:#aaa}.dot.live{background:var(--good);box-shadow:0 0 0 3px rgba(22,132,71,.12)}.dot.warn{background:var(--amber)}
.loading{position:fixed;inset:0;z-index:999;background:rgba(243,251,250,.96);display:flex;align-items:center;justify-content:center;padding:20px;transition:opacity .18s ease}.loading.hide{opacity:0;pointer-events:none}.loading-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;text-align:center;box-shadow:0 10px 35px rgba(0,0,0,.08);max-width:290px;width:100%}.spinner{width:34px;height:34px;border:4px solid #d8efec;border-top-color:var(--ev);border-radius:50%;margin:0 auto 10px;animation:spin .8s linear infinite}.loading-title{font-size:13px;font-weight:850}.loading-copy{font-size:9.5px;color:var(--muted);margin-top:4px}@keyframes spin{to{transform:rotate(360deg)}}
.hero{background:var(--ev);color:#fff;border-radius:var(--radius);padding:14px;margin-bottom:10px}.hero-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.hero-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.45px;opacity:.86}.hero-controls{display:flex;align-items:flex-start;gap:8px}.series{text-align:center;min-width:49px}.series .n{font-size:29px;font-weight:900;line-height:.95}.series .l{font-size:8px;font-weight:850;letter-spacing:.7px;opacity:.78;margin-top:2px}.toggle{display:flex;background:rgba(255,255,255,.16);padding:3px;border-radius:9px;gap:2px}.toggle button{border:0;background:transparent;color:rgba(255,255,255,.82);font:800 9px inherit;padding:6px 7px;border-radius:7px;cursor:pointer}.toggle button.on{background:#fff;color:var(--ev-dark)}
.hero-grid{display:grid;grid-template-columns:1.35fr 1fr 1.12fr;gap:7px;margin-top:12px}.hero-box{background:rgba(255,255,255,.13);border-radius:10px;padding:9px 8px;min-width:0}.hero-box.car{background:rgba(255,255,255,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.hero-box .k{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.3px;opacity:.85;white-space:nowrap}.hero-box .v{font-size:24px;font-weight:900;line-height:1.05;margin-top:3px}.hero-box.car .v{font-size:40px}.hero-box .meta{font-size:8.5px;line-height:1.25;opacity:.84;margin-top:5px}.hero-tariff{font-size:10.5px;font-weight:750;margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.2)}.hero-tariff span{opacity:.82;font-weight:650}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:10px}.label{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.45px;color:var(--muted);margin-bottom:8px}.vpills{display:grid;grid-template-columns:1fr 1fr;gap:7px}.vpill{border:1.5px solid var(--line);background:#fff;border-radius:11px;padding:9px 8px;font:650 11.5px inherit;display:flex;align-items:center;gap:7px;text-align:left;cursor:pointer;color:var(--ink)}.vpill .ico{font-size:18px}.vpill small{display:block;color:var(--muted);font-size:9px;font-weight:550}.vpill.on{background:var(--ev);border-color:var(--ev);color:#fff}.vpill.on small{color:rgba(255,255,255,.84)}.range-title{display:flex;justify-content:space-between;align-items:end;margin-top:11px}.range-title b{font-size:12px}.range-title span{font-size:15px;font-weight:850;color:var(--ev)}input[type=range]{width:100%;appearance:none;-webkit-appearance:none;height:6px;border-radius:99px;background:var(--line);margin-top:8px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--ev)}input[type=range]::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:var(--ev)}.ends{display:flex;justify-content:space-between;font-size:8px;color:var(--muted)}
.usage{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.usage button,.svc button{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:8px 3px;font:800 10px inherit;cursor:pointer;color:var(--ink)}.usage small{display:block;font-size:8px;color:var(--muted);font-weight:650}.usage button.on,.svc button.on{background:var(--ev);border-color:var(--ev);color:#fff}.usage button.on small{color:rgba(255,255,255,.85)}.usage-note{font-size:9.5px;color:var(--muted);margin:7px 0}.custom{display:none;margin-top:8px}.custom.show{display:block}.custom-row{display:flex;align-items:center;gap:7px}.custom-row input{max-width:180px}.unit{font-size:11px;color:var(--muted);font-weight:700}input[type=number],select{width:100%;border:1px solid var(--line);background:#fbfefe;border-radius:10px;padding:9px 10px;font:14px inherit;color:var(--ink)}
.usage-timing{margin-top:9px;border-top:1px solid var(--line);padding-top:8px}.timing-toggle{width:100%;border:0;background:transparent;padding:2px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer;color:var(--ink)}.timing-toggle .left{display:flex;flex-direction:column;gap:1px}.timing-toggle strong{font-size:10px}.timing-toggle small{font-size:8px;color:var(--muted);font-weight:650}.timing-toggle .action{font-size:8.5px;font-weight:850;color:var(--ev-dark);white-space:nowrap}.usage-timing-panel{margin-top:8px;display:grid;gap:7px}.usage-timing-panel[hidden]{display:none}.timing-block{background:#fbfefe;border:1px solid var(--line);border-radius:10px;padding:9px}.timing-block-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.timing-block-head strong{font-size:10px}.timing-block-head span{font-size:8px;font-weight:850;color:var(--ev-dark)}.timing-values{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.timing-values span{font-size:8px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px}.timing-values b{display:block;color:var(--ink);font-size:10px;margin-top:1px}.timing-block input[type=range]{margin-top:8px}.timing-hint{font-size:8px;color:var(--muted);line-height:1.4;margin-top:5px}.timing-actions{display:flex;justify-content:flex-end;margin-top:5px}.actual-toggle{border:0;background:transparent;color:var(--ev-dark);font:800 8.5px inherit;padding:3px 0;cursor:pointer;white-space:nowrap}.actual-top-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.actual-top-row[hidden]{display:none}.actual-top-row label{display:block;font-size:7.5px;color:var(--muted);font-weight:800;margin-bottom:2px}.actual-top-row input{padding:6px 7px;font-size:12px;font-weight:800}.timing-report{margin-top:7px;padding-top:7px;border-top:1px solid var(--line);font-size:8.4px;color:var(--muted);line-height:1.4}.timing-report strong{color:var(--ink);font-weight:800}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.svc button{padding:8px 4px}.svc .num{display:block;font-size:20px;line-height:1;font-weight:900}.svc .desc{display:block;font-size:8.5px;margin-top:3px;font-weight:700}
.section-title{font-size:13px;font-weight:850;margin-bottom:2px}.section-copy{font-size:9.5px;color:var(--muted);margin-bottom:8px}.stressbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0}.stresslabel{font-size:9.5px;font-weight:800;color:var(--muted)}.stressbuttons{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.stressbuttons button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 7px;font:800 8.5px inherit;color:var(--ink);cursor:pointer}.stressbuttons button.on{background:var(--ev);border-color:var(--ev);color:#fff}.stressnote{font-size:8.5px;color:var(--muted);margin:-2px 0 8px;line-height:1.45}.tablewrap{border:1px solid var(--line);border-radius:11px;overflow:hidden}table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:10px}th,td{padding:7px 4px;text-align:center;border-bottom:1px solid #efedf3;border-right:1px solid #f1eff4}th:last-child,td:last-child{border-right:0}thead th{background:#faf9fc;color:var(--muted);font-size:9px;text-transform:uppercase}th.rowh{text-align:left;color:var(--ink);text-transform:none;width:37%}th.numh{width:21%}th.sel,td.sel{background:#f2fbfa}.group td{text-align:left;background:#f5f3f9;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;padding:6px 8px}.group.fixed td{color:var(--fixed);background:#f6f3fc}.tariff-name{text-align:left!important;font-size:9.5px;font-weight:800;line-height:1.15}.tariff-name small{display:block;font-size:7.5px;color:var(--muted);font-weight:650;margin-top:2px}.cell{font-size:11.5px;font-weight:900;cursor:pointer;position:relative}.cell.open{box-shadow:inset 0 -2px 0 var(--ev)}.cell.best{background:var(--good-bg)!important;color:var(--good)}.cell.best:after{content:attr(data-best-label);display:block;font-size:6px;font-weight:900;letter-spacing:.15px}.na{color:#aaa}.detail-row td{padding:0;border-right:0;background:#fbfefe}.detail{padding:9px 10px;text-align:left;border-top:1px solid var(--line)}.detail-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.detail-head strong{font-size:10.5px}.detail-head span{font-size:8px;color:var(--muted);font-weight:800}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px}.detail-grid>div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px;text-align:center}.detail-grid .k{font-size:7.5px;color:var(--muted);font-weight:800;text-transform:uppercase}.detail-grid .v{font-size:13px;font-weight:900}.detail-note{font-size:8.3px;color:var(--muted);margin-top:6px;line-height:1.4}.foot{font-size:8.8px;color:var(--muted);margin-top:7px;line-height:1.45}
details{margin-bottom:10px}summary{cursor:pointer;list-style:none;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:11px 13px;font-size:11px;font-weight:850;color:var(--ev-dark)}summary::-webkit-details-marker{display:none}.settings{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius);padding:12px}.field{margin-bottom:9px}.field label{display:block;font-size:10px;font-weight:750;margin-bottom:3px}.two{display:grid;grid-template-columns:1fr 1fr;gap:7px}.switchrow{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:650}.switch{position:relative;width:42px;height:24px;flex:0 0 auto}.switch input{opacity:0;position:absolute;inset:0;width:100%;height:100%;z-index:2;cursor:pointer}.track{position:absolute;inset:0;background:#d7d5dc;border-radius:99px}.track:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:left .15s}.switch input:checked+.track{background:var(--ev)}.switch input:checked+.track:after{left:21px}.feednote{font-size:9px;color:var(--muted);background:#f8f7fb;border:1px solid var(--line);border-radius:8px;padding:7px;margin-top:8px}.smallnote{font-size:8.5px;color:var(--muted);line-height:1.5}
@media(max-width:390px){.wrap{padding:10px}.vpills{grid-template-columns:1fr}.hero-grid{gap:5px;grid-template-columns:1.38fr .92fr 1.05fr}.hero-box{padding:8px 6px}.hero-box .k{font-size:7.5px}.hero-box .v{font-size:20px}.hero-box.car .v{font-size:34px}.hero-box .meta{font-size:7.5px}.series .n{font-size:25px}.toggle button{padding:5px}.usage{grid-template-columns:1fr 1fr}.stressbar{align-items:flex-start;flex-direction:column}.stressbuttons{justify-content:flex-start}.tariff-name{font-size:8.8px}.cell{font-size:10.5px}th,td{padding-left:3px;padding-right:3px}}
/* v13 refinements */
.timing-values small{display:block;font-size:7px;line-height:1.25;color:var(--muted);font-weight:650;margin-top:3px}
th.sel{box-shadow:inset 0 -2px 0 rgba(0,137,123,.55)}
.cell.hero-selected{box-shadow:inset 0 0 0 2px var(--ev)!important;background:#e9f8f5!important;color:var(--ev-dark)}
.compact-btn{border:0;background:transparent;color:var(--ev-dark);font:850 8px inherit;padding:4px 0;cursor:pointer;white-space:nowrap}
.tod-detail{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.tod-title{font-size:9px;font-weight:900;color:var(--ink);margin-bottom:6px;text-transform:uppercase;letter-spacing:.25px}
.tod-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tod-grid.single{grid-template-columns:1fr}
.tod-box{background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px}.tod-box.off{background:#f5fbfa}
.tod-period{font-size:8.5px;font-weight:900;color:var(--ink)}.tod-hours{font-size:7.2px;color:var(--muted);line-height:1.35;margin-top:2px;min-height:20px}.tod-usage{font-size:7.6px;color:var(--muted);line-height:1.35;margin-top:5px}.tod-rate{font-size:12px;font-weight:900;color:var(--ev-dark);margin-top:4px}.tod-note{font-size:7.5px;color:var(--muted);line-height:1.4;margin-top:5px}
@media(max-width:390px){.tod-hours{font-size:6.8px}.tod-usage{font-size:7.1px}.tod-rate{font-size:11px}}

/* v14 freshness indicators */
.freshness-bar{display:grid;grid-template-columns:auto 1fr;gap:7px;margin-top:9px}
.fresh-pill{min-height:43px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);display:flex;align-items:center;gap:6px;padding:7px 9px;font:inherit}
.fresh-pill.fixed{white-space:nowrap;font-size:9px;font-weight:800;color:var(--muted)}
.fresh-pill.fixed strong{font-size:17px;line-height:1;color:var(--fixed);margin-left:1px}
.fresh-pill.variable{width:100%;text-align:left;cursor:pointer;justify-content:flex-start}
.fresh-pill.variable .season-icon{font-size:19px;line-height:1}
.fresh-pill.variable .season-copy{display:flex;flex-direction:column;min-width:0;flex:1}
.fresh-pill.variable strong{font-size:10px;line-height:1.1;color:var(--ink)}
.fresh-pill.variable small{font-size:7.7px;color:var(--muted);font-weight:700;margin-top:2px}
.fresh-pill.variable .chev{font-size:17px;color:var(--muted);transform:rotate(0);transition:transform .15s}
.fresh-pill.variable[aria-expanded="true"] .chev{transform:rotate(90deg)}
.fresh-pill.good{border-color:rgba(22,132,71,.35);background:#f8fcf9}
.fresh-pill.good strong{color:var(--good)}
.fresh-pill.stale{border:2px solid var(--bad);background:#fff6f6;color:var(--bad)}
.fresh-pill.stale strong,.fresh-pill.stale small{color:var(--bad)}
.fresh-pill.fixed.stale{border:2px solid var(--bad);background:#fff6f6;color:var(--bad)}
.fresh-pill.fixed.stale strong{color:var(--bad)}
.fresh-detail{margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 9px;font-size:8.5px;color:var(--muted)}
.fresh-detail[hidden]{display:none}.fresh-detail-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.fresh-detail-head strong{font-size:9.5px;color:var(--ink)}.fresh-detail-head span{font-size:8px;font-weight:850;color:var(--good)}
.fresh-detail-head span.stale{color:var(--bad)}.fresh-detail-dates{margin-top:4px;color:var(--ink);font-weight:750}.fresh-detail-note{margin-top:3px;line-height:1.35}
.fresh-warning{margin-top:7px;border:2px solid var(--bad);background:#fff3f3;color:#8f2626;border-radius:10px;padding:8px 9px;font-size:8.8px;font-weight:750;line-height:1.4}
.fresh-warning[hidden]{display:none}.fresh-warning strong{display:block;font-size:10px;margin-bottom:2px}
@media(max-width:390px){.freshness-bar{grid-template-columns:auto 1fr}.fresh-pill{padding:6px 7px}.fresh-pill.fixed strong{font-size:16px}.fresh-pill.variable .season-icon{font-size:18px}}
