:root{
  --bg:#0b0617;--panel:#151027;--panel2:#1b1332;--text:#f8f7fc;--muted:#a99ebf;
  --purple:#8d5cff;--purple2:#b599ff;--green:#69f0ae;--mint:#8ef7cf;--pink:#ff6eb4;
  --amber:#ffcf5a;--border:rgba(255,255,255,.09);--shadow:0 24px 80px rgba(0,0,0,.32)
}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0%,#291357 0,transparent 34%),radial-gradient(circle at 95% 15%,#08392e 0,transparent 27%),var(--bg);color:var(--text);font-family:'DM Sans',system-ui,sans-serif;overflow-x:hidden}
.ambient{position:fixed;pointer-events:none;filter:blur(80px);opacity:.23;border-radius:50%;z-index:-1}.ambient-one{width:360px;height:360px;background:#7a43ff;top:28%;left:-140px}.ambient-two{width:320px;height:320px;background:#00d48d;right:-130px;bottom:3%}
.topbar{max-width:1440px;margin:auto;padding:26px 32px 14px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,var(--purple),#6235c9);box-shadow:0 12px 40px rgba(141,92,255,.35)}.brand-mark svg{width:30px;fill:#fff}.eyebrow{font:700 11px/1 'Space Grotesk',sans-serif;letter-spacing:.18em;color:var(--purple2)}h1,h2,h3{font-family:'Space Grotesk',sans-serif;margin:0}h1{font-size:21px;margin-top:5px}h2{font-size:clamp(32px,4vw,56px);line-height:1.02;max-width:700px}h3{font-size:22px;margin-top:6px}.status-wrap{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}.pulse{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 7px rgba(105,240,174,.08)}
.shell{max-width:1440px;margin:auto;padding:16px 32px 48px}.panel{background:linear-gradient(145deg,rgba(27,19,50,.94),rgba(16,11,31,.94));border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);backdrop-filter:blur(16px)}
.hero{padding:42px;display:grid;grid-template-columns:1.05fr 1fr;gap:46px;align-items:center;min-height:310px;overflow:hidden;position:relative}.hero:after{content:'';position:absolute;width:340px;height:340px;border:1px solid rgba(141,92,255,.18);border-radius:50%;right:-140px;top:-155px}.hero-copy p{max-width:650px;color:var(--muted);font-size:17px;line-height:1.65;margin:22px 0 0}.pill{display:inline-block;margin-bottom:18px;padding:7px 10px;border:1px solid rgba(105,240,174,.3);color:var(--green);border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.14em}.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:center}.flow-node{min-height:145px;padding:20px 12px;border-radius:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid var(--border);background:rgba(255,255,255,.025);text-align:center}.flow-node span{font-size:10px;letter-spacing:.16em;color:var(--muted)}.flow-node strong{font:700 25px 'Space Grotesk';margin:8px 0}.flow-node small{font-size:11px;color:var(--muted)}.grid-node strong{color:var(--purple2)}.solar-node strong{color:var(--green)}.home-node{background:linear-gradient(160deg,rgba(141,92,255,.23),rgba(105,240,174,.08))}.flow-line{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--purple2);min-width:92px;padding:0 4px}.flow-dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor;opacity:.95}.flow-track{width:20px;height:2px;border-radius:999px;background:linear-gradient(90deg,currentColor,rgba(255,255,255,.14));box-shadow:0 0 10px rgba(0,0,0,.12)}.flow-track.short{width:14px;opacity:.75}.flow-arrow{position:relative;display:block;width:22px;height:10px;filter:drop-shadow(0 0 6px currentColor)}.flow-arrow:before{content:'';position:absolute;left:0;right:7px;top:50%;height:2px;border-radius:999px;background:currentColor;transform:translateY(-50%)}.flow-arrow:after{content:'';position:absolute;right:1px;top:50%;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateY(-50%) rotate(45deg)}.flow-line:after{content:'';position:absolute;left:22px;top:50%;width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor;transform:translateY(-50%);animation:flowPulse 2.6s ease-in-out infinite}.export-line{color:var(--green)}.export-line:after{animation-delay:1.1s}@keyframes flowPulse{0%,100%{transform:translate(0,-50%) scale(.85);opacity:.28}45%{transform:translate(28px,-50%) scale(1.15);opacity:1}70%{transform:translate(38px,-50%) scale(.95);opacity:.55}}
.toolbar{margin-top:18px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.segmented{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.segmented button,.ghost-btn{border:1px solid var(--border);background:rgba(255,255,255,.035);color:var(--muted);border-radius:10px;padding:9px 13px;font:600 12px 'DM Sans';cursor:pointer}.segmented button.active{color:#fff;background:var(--purple);border-color:transparent}.ghost-btn:hover,.segmented button:hover{color:#fff;border-color:rgba(255,255,255,.2)}.tariff-strip{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(190px,1.2fr) minmax(150px,.8fr);gap:26px;min-width:min(100%,650px);flex:1;justify-content:end}.tariff-strip div{min-width:0}.tariff-strip span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.tariff-strip strong{display:block;font-size:13px;margin-top:5px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.tariff-strip small{display:block;color:var(--muted);font-size:10px;margin-top:4px;line-height:1.35}.tariff-strip .latest-item{text-align:right}
.headline-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:16px}.metric-card{position:relative;padding:22px 22px 20px;border-radius:20px;background:rgba(21,16,39,.9);border:1px solid var(--border);overflow:hidden}.metric-card:after{content:'';position:absolute;inset:auto -25px -48px auto;width:110px;height:110px;border-radius:50%;background:currentColor;opacity:.06}.metric-icon{position:absolute;right:18px;top:18px;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.05);font-weight:700}.metric-label{font-size:12px;color:var(--muted);margin-bottom:14px}.metric-card strong{font:700 34px 'Space Grotesk';color:currentColor}.metric-card>span{font-size:11px;color:var(--muted);margin-left:5px}.metric-card small{display:block;color:var(--muted);margin-top:10px;font-size:11px}.import-card{color:var(--purple2)}.money-card{color:#fff}.export-card,.gross-card{color:var(--green)}.net-card{color:var(--amber)}.position-positive{color:var(--green)!important}.position-negative{color:#ff9bca!important}.position-neutral{color:var(--amber)!important}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.8fr);gap:16px;margin-top:16px}.chart-panel,.now-panel,.today-panel,.history-panel{padding:24px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.legend{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.legend-dot{width:9px;height:9px;border-radius:3px;display:inline-block}.import-dot{background:var(--purple)}.export-dot{background:var(--green);margin-left:10px}.chart-wrap{height:300px;margin-top:18px;position:relative}canvas{width:100%;height:100%;display:block}.now-rate{margin-top:22px;padding:22px;border-radius:18px;background:linear-gradient(145deg,rgba(141,92,255,.19),rgba(141,92,255,.04));border:1px solid rgba(141,92,255,.22)}.now-rate span,.mini-grid span,.latest-reading span{display:block;color:var(--muted);font-size:11px}.now-rate strong{font:700 44px 'Space Grotesk';color:var(--purple2)}.now-rate small,.mini-grid small{color:var(--muted);font-size:11px;margin-left:5px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.mini-grid div,.latest-reading{padding:16px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.025)}.mini-grid strong{font:700 22px 'Space Grotesk';display:inline-block;margin-top:8px}.latest-reading{margin-top:10px}.latest-reading strong{font:700 24px 'Space Grotesk';display:block;margin:8px 0 3px;color:var(--green)}.latest-reading small{color:var(--muted)}
.today-panel,.history-panel{margin-top:16px}.today-panel input{border:1px solid var(--border);background:rgba(255,255,255,.04);color:#fff;padding:9px 11px;border-radius:10px}.detail-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:20px}.detail{padding:15px;border-radius:16px;background:rgba(255,255,255,.026);border:1px solid var(--border);min-width:0}.detail span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.detail strong{display:block;font:700 20px 'Space Grotesk';margin-top:7px;white-space:nowrap}.detail small{color:var(--muted);font-size:10px}.detail.peak{border-color:rgba(255,110,180,.18)}.detail.peak strong{color:#ff9bca}.detail.offpeak{border-color:rgba(141,92,255,.22)}.detail.offpeak strong{color:var(--purple2)}.detail.export{border-color:rgba(105,240,174,.18)}.detail.export strong{color:var(--green)}.detail.net strong{color:var(--amber)}.info-note{font-size:11px;color:var(--muted);margin:14px 3px 0}
.table-wrap{overflow:auto;margin-top:20px;border:1px solid var(--border);border-radius:16px;max-height:620px}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:right;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px}th{position:sticky;top:0;background:#17112a;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}th:first-child,td:first-child{text-align:left}tbody tr:hover{background:rgba(255,255,255,.025)}tbody tr:last-child td{border-bottom:0}.pos{color:var(--green)}.neg{color:var(--pink)}.error-panel{margin-top:16px;padding:24px;border-color:rgba(255,110,180,.35)}.error-panel h3{color:#ff9bca}.hidden{display:none}footer{padding:28px 4px 0;display:flex;justify-content:space-between;gap:20px;color:#766c8d;font-size:10px}
@media(max-width:1250px){.headline-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.headline-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:repeat(4,1fr)}.dashboard-grid{grid-template-columns:1fr}.tariff-strip{gap:18px;min-width:100%}.tariff-strip .latest-item{text-align:left}}
@media(max-width:760px){.topbar,.toolbar,footer{align-items:flex-start;flex-direction:column}.topbar,.shell{padding-left:16px;padding-right:16px}.hero{padding:26px}.flow{grid-template-columns:1fr}.flow-line{transform:rotate(90deg);justify-content:center;min-width:auto;min-height:72px}.headline-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}.tariff-strip{width:100%;display:grid;grid-template-columns:1fr}.tariff-strip .latest-item{text-align:left}.status-wrap{width:100%;justify-content:space-between}.toolbar{align-items:stretch}.chart-panel,.now-panel,.today-panel,.history-panel{padding:18px}}
@media(max-width:480px){.headline-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.brand h1{font-size:17px}.brand-mark{width:44px;height:44px}.hero{min-height:auto}h2{font-size:36px}}

/* v7 navigation + NESO Grid Mix */
.main-tabs{display:flex;gap:8px;margin:0 0 16px}.main-tab{border:1px solid var(--border);background:rgba(255,255,255,.035);color:var(--muted);border-radius:12px;padding:11px 18px;font:700 12px 'DM Sans';cursor:pointer;letter-spacing:.02em}.main-tab.active{background:linear-gradient(145deg,var(--purple),#6235c9);color:#fff;border-color:transparent;box-shadow:0 10px 30px rgba(141,92,255,.22)}.page-section{min-width:0}
.grid-hero{padding:38px 42px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.55fr);gap:36px;align-items:center}.grid-hero p{color:var(--muted);font-size:16px;line-height:1.65;max-width:760px;margin:20px 0 0}.carbon-hero-stat{border:1px solid var(--border);border-radius:22px;padding:26px;background:linear-gradient(145deg,rgba(105,240,174,.10),rgba(141,92,255,.10));text-align:center}.carbon-hero-stat>span{display:block;color:var(--muted);font-size:10px;letter-spacing:.14em}.carbon-hero-stat strong{display:block;font:700 42px 'Space Grotesk';margin:8px 0 0;color:var(--green)}.carbon-hero-stat small{display:block;color:var(--muted);font-size:11px}.carbon-hero-stat em{display:inline-block;margin-top:12px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.05);font-style:normal;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.grid-toolbar{margin-top:18px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.grid-meta{display:grid;grid-template-columns:repeat(3,minmax(145px,1fr));gap:28px;min-width:min(100%,650px)}.grid-meta span{display:block;color:var(--muted);font-size:10px;letter-spacing:.1em}.grid-meta strong{display:block;font-size:13px;margin-top:5px;line-height:1.35}.grid-live-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:16px;margin-top:16px}.mix-panel,.carbon-panel,.fuel-panel{padding:24px}.mix-total{font:600 12px 'Space Grotesk';color:var(--muted)}.mix-total strong{font-size:23px;color:#fff;margin-right:2px}.mix-tiles{display:grid;grid-template-columns:repeat(10,minmax(22px,1fr));gap:7px;margin-top:22px;max-width:720px}.mix-tile{aspect-ratio:1;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.04);cursor:pointer;transition:transform .12s ease,opacity .12s ease,box-shadow .12s ease}.mix-tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.2)}.mix-tiles.has-selection .mix-tile:not(.selected){opacity:.22}.mix-selection{margin-top:16px;color:var(--muted);font-size:12px}.mix-selection strong{color:#fff}.carbon-reading{padding:24px 0 12px}.carbon-reading strong{font:700 54px 'Space Grotesk';color:var(--green)}.carbon-reading span{color:var(--muted);font-size:12px;margin-left:7px}.carbon-index{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.05);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.carbon-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.carbon-details div{padding:14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025)}.carbon-details span{display:block;color:var(--muted);font-size:10px}.carbon-details strong{display:block;margin-top:5px;font-size:12px}.grid-note{color:var(--muted);font-size:11px;line-height:1.55;margin:18px 0 0}.fuel-panel{margin-top:16px}.grid-source{color:var(--muted);font-size:10px}.fuel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}.fuel-card{position:relative;padding:16px 16px 14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025);cursor:pointer;overflow:hidden}.fuel-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--fuel-color,rgba(255,255,255,.2))}.fuel-name{display:flex;align-items:center;justify-content:space-between;gap:10px}.fuel-name strong{font-size:13px;text-transform:capitalize}.fuel-name span{font:700 22px 'Space Grotesk'}.fuel-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.05);margin-top:12px;overflow:hidden}.fuel-bar i{display:block;height:100%;width:0;background:var(--fuel-color,rgba(255,255,255,.4));border-radius:inherit}.fuel-card small{display:block;color:var(--muted);font-size:10px;margin-top:8px}.fuel-card.active{border-color:var(--fuel-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--fuel-color) 25%,transparent)}
.fuel-gas{--fuel-color:#73a8bd}.fuel-wind{--fuel-color:#7889d7}.fuel-solar{--fuel-color:#ffb13b}.fuel-nuclear{--fuel-color:#b58cff}.fuel-imports{--fuel-color:#69f0ae}.fuel-biomass{--fuel-color:#b1c76b}.fuel-hydro{--fuel-color:#5ec9df}.fuel-coal{--fuel-color:#8b8b93}.fuel-other{--fuel-color:#d98bbd}.fuel-storage{--fuel-color:#ffcf5a}
.mix-tile.fuel-gas{background:#73a8bd}.mix-tile.fuel-wind{background:#7889d7}.mix-tile.fuel-solar{background:#ffb13b}.mix-tile.fuel-nuclear{background:#b58cff}.mix-tile.fuel-imports{background:#69f0ae}.mix-tile.fuel-biomass{background:#b1c76b}.mix-tile.fuel-hydro{background:#5ec9df}.mix-tile.fuel-coal{background:#8b8b93}.mix-tile.fuel-other{background:#d98bbd}.mix-tile.fuel-storage{background:#ffcf5a}
@media(max-width:1100px){.grid-hero{grid-template-columns:1fr}.grid-live-layout{grid-template-columns:1fr}.fuel-grid{grid-template-columns:repeat(2,1fr)}.grid-meta{min-width:100%}}
@media(max-width:760px){.main-tabs{padding:0}.grid-hero{padding:26px}.grid-meta{grid-template-columns:1fr}.mix-tiles{gap:5px}.carbon-details{grid-template-columns:1fr 1fr}.fuel-grid{grid-template-columns:1fr 1fr}.grid-toolbar{align-items:stretch}}
@media(max-width:480px){.main-tab{flex:1}.mix-tiles{grid-template-columns:repeat(10,1fr);gap:3px}.mix-tile{border-radius:5px}.fuel-grid{grid-template-columns:1fr}.carbon-reading strong{font-size:44px}}
.mix-tile{padding:0;appearance:none;-webkit-appearance:none}.fuel-card{color:var(--text);font:inherit;text-align:left;appearance:none;-webkit-appearance:none;width:100%}
.grid-source a{color:var(--green);text-decoration:none}.grid-source a:hover{text-decoration:underline}


/* v9 in-grid fuel labels */
.mix-tile.labelled{display:grid;place-items:center;position:relative;color:#fff;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.13),0 5px 15px rgba(0,0,0,.12)}
.mix-tile.labelled:after{content:'';position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(0,0,0,.06));pointer-events:none}
.tile-fuel-icon,.tile-fuel-pct{position:relative;z-index:1;display:grid;place-items:center;text-shadow:0 1px 4px rgba(0,0,0,.35)}
.tile-fuel-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tile-fuel-icon svg path:first-child:not(:only-child){fill:none}
.tile-fuel-pct{font:700 clamp(11px,1.35vw,17px) 'Space Grotesk',sans-serif;letter-spacing:-.03em}
.mix-tile.icon-tile:hover,.mix-tile.percent-tile:hover{transform:translateY(-2px) scale(1.02)}
@media(max-width:760px){.tile-fuel-icon svg{width:26px;height:26px}.tile-fuel-pct{font-size:11px}}
@media(max-width:480px){.tile-fuel-icon svg{width:19px;height:19px;stroke-width:2.2}.tile-fuel-pct{font-size:8px}}


/* v10 Intelligent Octopus Go / SmartFlex EV charging */
.ev-hero{padding:38px 42px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:34px;align-items:center;overflow:hidden;position:relative}.ev-hero:after{content:'';position:absolute;width:300px;height:300px;border:1px solid rgba(105,240,174,.12);border-radius:50%;right:-110px;top:-145px}.ev-hero-copy p{color:var(--muted);font-size:16px;line-height:1.65;max-width:760px;margin:20px 0 0}.ev-device-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:center;padding:22px;border:1px solid rgba(105,240,174,.18);border-radius:22px;background:linear-gradient(145deg,rgba(105,240,174,.09),rgba(141,92,255,.10));z-index:1}.ev-plug-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:rgba(105,240,174,.09);border:1px solid rgba(105,240,174,.18)}.ev-plug-icon svg{width:36px;height:36px;fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ev-device-card span{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em}.ev-device-card strong{display:block;font:700 20px 'Space Grotesk';margin-top:5px;overflow-wrap:anywhere}.ev-device-card small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.ev-device-card em{grid-column:1/-1;justify-self:start;font-style:normal;padding:7px 10px;border-radius:999px;background:rgba(105,240,174,.09);border:1px solid rgba(105,240,174,.18);color:var(--green);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.ev-toolbar{margin-top:18px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}.ev-toolbar>div:first-child>strong{display:block;margin-top:7px;font-size:13px}.ev-meta{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:28px;min-width:min(100%,640px)}.ev-meta span{display:block;color:var(--muted);font-size:10px;letter-spacing:.1em}.ev-meta strong{display:block;font-size:13px;margin-top:5px;line-height:1.35;overflow-wrap:anywhere}
.ev-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}.ev-metrics .metric-card strong{font-size:29px}.ev-status-card{color:var(--green)}.ev-power-card{color:var(--purple2)}.ev-energy-card{color:#fff}.ev-next-card{color:var(--amber)}
.ev-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.65fr);gap:16px;margin-top:16px}.ev-schedule-panel,.ev-preferences-panel,.ev-info-panel{padding:24px}.ev-schedule-summary{font-size:11px;color:var(--muted)}.ev-timeline-wrap{margin-top:26px}.ev-timeline{height:72px;position:relative;border:1px solid var(--border);border-radius:16px;background:linear-gradient(90deg,rgba(255,255,255,.018),rgba(141,92,255,.035));overflow:hidden}.ev-timeline:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(255,255,255,.055) calc(25% - 1px),rgba(255,255,255,.055) 25%);pointer-events:none}.ev-timeline-slot{position:absolute;top:12px;height:46px;min-width:5px;border-radius:10px;background:linear-gradient(135deg,var(--purple),#6840c8);border:1px solid rgba(255,255,255,.16);box-shadow:0 9px 24px rgba(91,49,197,.28);display:flex;align-items:center;justify-content:center;padding:0 7px;overflow:hidden}.ev-timeline-slot.active{background:linear-gradient(135deg,var(--green),#2ab87c);box-shadow:0 0 24px rgba(105,240,174,.22)}.ev-timeline-slot span{white-space:nowrap;font-size:9px;font-weight:700;color:#fff}.ev-timeline-empty{height:100%;display:grid;place-items:center;color:var(--muted);font-size:11px}.ev-timeline-axis{display:grid;grid-template-columns:repeat(5,1fr);margin-top:7px;color:var(--muted);font-size:9px}.ev-timeline-axis span{text-align:center}.ev-timeline-axis span:first-child{text-align:left}.ev-timeline-axis span:last-child{text-align:right}.ev-dispatch-list{display:grid;gap:9px;margin-top:20px}.ev-dispatch{display:grid;grid-template-columns:minmax(150px,1fr) auto auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.022)}.ev-dispatch strong{font-size:12px}.ev-dispatch span{font-size:11px;color:var(--muted)}.ev-dispatch em{font-style:normal;font:700 12px 'Space Grotesk';color:var(--green)}.ev-dispatch.current{border-color:rgba(105,240,174,.24);background:rgba(105,240,174,.045)}
.ev-pref-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.ev-pref-grid>div{padding:15px;border-radius:15px;border:1px solid var(--border);background:rgba(255,255,255,.024)}.ev-pref-grid span{display:block;color:var(--muted);font-size:10px}.ev-pref-grid strong{display:block;margin-top:7px;font:700 14px 'Space Grotesk';line-height:1.35}.ev-info-panel{margin-top:16px}.ev-info-panel>p{color:var(--muted);font-size:12px;line-height:1.65;max-width:950px}.ev-warnings{margin-top:12px;padding:13px;border:1px solid rgba(255,207,90,.22);border-radius:13px;background:rgba(255,207,90,.04);color:#dbc985;font-size:11px;line-height:1.55}
@media(max-width:1100px){.ev-hero{grid-template-columns:1fr}.ev-metrics{grid-template-columns:repeat(2,1fr)}.ev-layout{grid-template-columns:1fr}.ev-meta{min-width:100%}}
@media(max-width:760px){.ev-hero{padding:26px}.ev-meta{grid-template-columns:1fr}.ev-metrics{grid-template-columns:1fr 1fr}.ev-pref-grid{grid-template-columns:1fr 1fr}.ev-dispatch{grid-template-columns:1fr auto}.ev-dispatch span{grid-column:1/-1}.ev-toolbar{align-items:stretch}}
@media(max-width:480px){.ev-metrics{grid-template-columns:1fr}.ev-pref-grid{grid-template-columns:1fr}.ev-device-card{grid-template-columns:52px 1fr}.ev-plug-icon{width:48px;height:48px}.ev-dispatch{grid-template-columns:1fr}.ev-dispatch span{grid-column:auto}.ev-timeline-slot span{display:none}}

/* v12 SOLARMAN Solar & Battery */
.solar-hero{padding:38px 42px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.65fr);gap:36px;align-items:center;overflow:hidden;position:relative}.solar-hero:after{content:'';position:absolute;width:330px;height:330px;border:1px solid rgba(255,207,90,.14);border-radius:50%;right:-125px;top:-150px}.solar-hero-copy p{color:var(--muted);font-size:16px;line-height:1.65;max-width:780px;margin:20px 0 0}.solar-station-card{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;padding:20px;border:1px solid rgba(255,207,90,.18);border-radius:22px;background:linear-gradient(145deg,rgba(255,207,90,.08),rgba(105,240,174,.05))}.solar-station-card>div:nth-child(2)>span{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em}.solar-station-card strong{display:block;font:700 20px 'Space Grotesk';margin-top:5px}.solar-station-card small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.solar-station-card em{grid-column:1/-1;justify-self:start;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:7px 10px;border-radius:999px;background:rgba(105,240,174,.09);border:1px solid rgba(105,240,174,.18);color:var(--green)}.solar-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:rgba(255,207,90,.08);border:1px solid rgba(255,207,90,.18)}.solar-icon svg{width:33px;height:33px;fill:none;stroke:var(--amber);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.solar-toolbar{margin-top:18px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.solar-toolbar>div:first-child>strong{display:block;margin-top:6px;font-size:13px}.solar-meta{display:grid;grid-template-columns:repeat(3,minmax(145px,1fr));gap:28px;min-width:min(100%,680px)}.solar-meta span{display:block;color:var(--muted);font-size:10px;letter-spacing:.1em}.solar-meta strong{display:block;font-size:13px;margin-top:5px}.solar-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:16px}.solar-metrics .metric-card{min-height:142px}.solar-pv-card,.solar-today-card{color:var(--amber)}.solar-home-card{color:#fff}.solar-battery-card,.solar-battery-flow-card{color:var(--green)}.solar-grid-card{color:var(--purple2)}
.solar-live-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:16px;margin-top:16px}.solar-flow-panel,.solar-overview-panel,.solar-chart-panel,.solar-details-panel{padding:24px}.solar-live-stamp{color:var(--muted);font-size:11px}.solar-flow-map{display:grid;grid-template-columns:1fr 90px 1fr 90px 1fr;grid-template-rows:1fr 70px 1fr;align-items:center;justify-items:center;gap:4px;margin-top:24px;min-height:330px}.solar-flow-node{width:150px;min-height:118px;border-radius:20px;border:1px solid var(--border);background:rgba(255,255,255,.025);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}.solar-flow-node>span{font-size:24px}.solar-flow-node small{font-size:9px;letter-spacing:.14em;color:var(--muted);margin-top:7px}.solar-flow-node strong{font:700 21px 'Space Grotesk';margin-top:5px}.solar-flow-node em{font-style:normal;color:var(--muted);font-size:10px;margin-top:2px}.solar-flow-node.pv{grid-column:1;grid-row:1;color:var(--amber);border-color:rgba(255,207,90,.18)}.solar-flow-node.house{grid-column:3;grid-row:1;color:#fff;background:linear-gradient(160deg,rgba(141,92,255,.15),rgba(255,255,255,.025))}.solar-flow-node.grid{grid-column:5;grid-row:1;color:var(--purple2);border-color:rgba(181,153,255,.18)}.solar-flow-node.battery{grid-column:3;grid-row:3;color:var(--green);border-color:rgba(105,240,174,.18)}.solar-flow-link{display:flex;align-items:center;gap:7px;color:var(--amber)}.solar-flow-link i{width:19px;height:2px;border-radius:99px;background:currentColor;opacity:.55}.solar-flow-link b{font-size:18px;font-weight:500;text-shadow:0 0 12px currentColor}.solar-to-home{grid-column:2;grid-row:1}.home-to-grid{grid-column:4;grid-row:1;color:var(--purple2)}.battery-link{grid-column:3;grid-row:2;transform:rotate(90deg);color:var(--green)}.solar-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.solar-overview-grid>div{padding:16px;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.025)}.solar-overview-grid span{display:block;color:var(--muted);font-size:10px}.solar-overview-grid strong{display:inline-block;font:700 22px 'Space Grotesk';margin-top:7px}.solar-overview-grid small{color:var(--muted);font-size:10px;margin-left:4px}.solar-chart-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.solar-chart-wrap{height:280px;margin-top:18px;position:relative}.solar-dot{background:var(--amber)}.home-dot{background:var(--pink);margin-left:10px}.solar-details-panel{margin-top:16px}.solar-details-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}.solar-details-grid>div{padding:15px;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.025)}.solar-details-grid span{display:block;color:var(--muted);font-size:10px}.solar-details-grid strong{display:block;margin-top:7px;font-size:13px;overflow-wrap:anywhere}
@media(max-width:1250px){.solar-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){.solar-hero{grid-template-columns:1fr}.solar-live-layout,.solar-chart-layout{grid-template-columns:1fr}.solar-details-grid{grid-template-columns:repeat(2,1fr)}.solar-meta{min-width:100%}}
@media(max-width:760px){.solar-hero{padding:26px}.solar-toolbar{align-items:stretch}.solar-meta{grid-template-columns:1fr}.solar-metrics{grid-template-columns:1fr 1fr}.solar-flow-map{grid-template-columns:1fr;grid-template-rows:auto 58px auto 58px auto 58px auto;min-height:auto}.solar-flow-node.pv{grid-column:1;grid-row:1}.solar-to-home{grid-column:1;grid-row:2;transform:rotate(90deg)}.solar-flow-node.house{grid-column:1;grid-row:3}.home-to-grid{grid-column:1;grid-row:4;transform:rotate(90deg)}.solar-flow-node.grid{grid-column:1;grid-row:5}.battery-link{grid-column:1;grid-row:6;transform:rotate(90deg)}.solar-flow-node.battery{grid-column:1;grid-row:7}.solar-flow-node{width:min(100%,260px)}.solar-overview-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.solar-metrics{grid-template-columns:1fr}.solar-overview-grid,.solar-details-grid{grid-template-columns:1fr}.solar-station-card{grid-template-columns:auto 1fr}.solar-chart-wrap{height:240px}}
/* Watch insights, v15 */
.watch-panel{padding:26px;margin-bottom:18px}.watch-panel h2{font-size:32px;margin:10px 0}.watch-panel h3{margin:0 0 14px}.watch-panel p{line-height:1.65;color:var(--muted)}.watch-note{border-left:3px solid #ffbf69;padding:8px 16px}.watch-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:20px 0}.watch-controls label{display:grid;gap:8px;font-size:13px;color:var(--muted)}.watch-controls input,.watch-controls select{background:#15132d;color:#fff;border:1px solid #51486b;border-radius:9px;padding:11px;max-width:100%;font:inherit}.watch-controls input{width:170px}.watch-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.watch-metrics>div{padding:18px;background:rgba(255,255,255,.035);border:1px solid var(--border);border-radius:14px}.watch-metrics span{display:block;color:var(--muted);font-size:12px}.watch-metrics strong{display:block;font-size:24px;margin-top:10px}.watch-scroll{overflow:auto;max-height:420px}.watch-scroll table{width:100%;border-collapse:collapse;white-space:nowrap}.watch-scroll th,.watch-scroll td{padding:11px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.watch-bars{height:120px;display:flex;align-items:end;gap:3px;margin:22px 0}.watch-bar{flex:1;background:#b19aff;min-width:2px;border-radius:3px 3px 0 0}.watch-bar.negative{background:#68e4bb}.watch-bar.unknown{background:#777}.watch-panel summary{cursor:pointer;padding:12px 0}.main-tabs{flex-wrap:wrap}@media(max-width:600px){.watch-panel{padding:18px}.watch-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.watch-metrics strong{font-size:19px}.watch-controls{align-items:stretch}.watch-controls label{flex:1;min-width:120px}}@media print{body{background:white!important;color:black!important}.main-tabs,header,footer,.watch-controls,.watch-bars{display:none!important}.watch-panel{break-inside:avoid;border:1px solid #bbb!important;background:white!important;box-shadow:none!important}.watch-panel *{color:black!important}.watch-scroll{max-height:none;overflow:visible}.watch-metrics{grid-template-columns:repeat(3,1fr)}}

.watch-bars[hidden]{display:none}
/* v17: readable price planner */
.watch-recommendation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 32px;background:linear-gradient(115deg,rgba(78,214,172,.10),rgba(78,214,172,.025));border:1px solid rgba(106,231,188,.28);border-radius:16px;padding:22px;margin:22px 0}.watch-kicker{color:#77e4bf;font-size:11px;letter-spacing:.12em;font-weight:700}.watch-window{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 15px;margin:10px 0}.watch-window strong{font-size:28px;color:#f2fff9;letter-spacing:-.03em}.watch-window span,.watch-recommendation small{color:#b9b4cb;font-size:12px}.watch-plan-cost{text-align:right;display:flex;flex-direction:column;gap:7px;justify-content:center}.watch-plan-cost>span{font-size:10px;letter-spacing:.1em;color:#b9b4cb}.watch-plan-cost strong{font-size:38px;color:#88ecc8;font-weight:700;line-height:1.2}.watch-plan-footnote{grid-column:1/-1;border-top:1px solid rgba(106,231,188,.13);padding-top:12px;line-height:1.5}.watch-price-chart{margin:24px 0}.watch-price-chart[hidden]{display:none}.watch-chart-heading{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;justify-content:space-between}.watch-chart-heading h4{font-size:17px;margin:0}.watch-chart-heading>span{font-size:12px;color:#c9c1dc}.watch-chart-legend{display:flex;flex-wrap:wrap;gap:12px 22px;margin:17px 0}.watch-chart-legend span{display:flex;align-items:center;gap:7px;font-size:12px;color:#c9c1dc}.watch-chart-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;background:#ac93ed}.watch-chart-legend i.cheap{background:#71dbb1}.watch-chart-legend i.chosen{background:transparent;border:2px solid #ffcf6a}.watch-chart-legend i.unknown{background:#50485f}.watch-panel .watch-chart-explainer{font-size:12px;margin:8px 0 12px;color:#b9b4cb}.watch-chart-readout{background:rgba(255,255,255,.035);border-radius:9px;padding:12px 15px;font-size:13px;line-height:1.5;min-height:44px;color:#e9e1ff;margin-bottom:12px}.watch-chart-scroll{overflow-x:auto;overscroll-behavior-x:contain}.watch-chart-svg{display:block;width:100%;min-width:740px;height:auto}.watch-axis-label{fill:#cfc6df;font-size:12px}.watch-axis-date{fill:#a79ab9;font-size:10px}.watch-axis-unit{fill:#cfc6df;font-size:11px}.watch-grid-line{stroke:#3c334e;stroke-dasharray:3 5}.watch-zero-line{stroke:#77648f;stroke-width:1}.watch-price-bar{fill:#ac93ed;cursor:pointer}.watch-price-bar.cheap{fill:#71dbb1}.watch-price-bar.unknown{fill:#50485f;opacity:.45}.watch-price-bar.chosen{stroke:#ffcf6a;stroke-width:2}.watch-price-bar:hover,.watch-price-bar:focus{filter:brightness(1.22);stroke:#fff;stroke-width:2;outline:none}.watch-scroll-hint{display:none;color:#a79ab9;font-size:11px;margin-top:8px}.watch-negative-note{display:block;color:#b9b4cb;font-size:12px;margin-top:8px}@media(max-width:760px){.watch-recommendation{grid-template-columns:1fr;padding:17px;gap:16px}.watch-window strong{font-size:25px}.watch-plan-cost{text-align:left;border-top:1px solid rgba(106,231,188,.13);padding-top:14px}.watch-plan-cost strong{font-size:32px}.watch-chart-heading{gap:7px}.watch-scroll-hint{display:block}.watch-chart-legend{gap:12px 15px}}@media print{.watch-price-chart{display:block!important}.watch-chart-svg{min-width:0}.watch-recommendation{background:white!important}.watch-chart-readout,.watch-scroll-hint{display:none}.watch-axis-label,.watch-axis-date,.watch-axis-unit{fill:#333}}
@media(max-width:760px){.watch-controls label{flex:1 1 140px;min-width:0}.watch-controls input{width:100%;max-width:100%;box-sizing:border-box}.watch-controls>button{flex:0 1 auto}}
