@font-face{font-family:Manrope;src:url("Manrope-VariableFont_wght.ttf") format("truetype");font-weight:200 800;font-style:normal;font-display:swap}
.install-app{border:1px solid var(--brand-green);border-radius:var(--radius-md);padding:8px 13px;background:var(--brand-green);color:#fff;font-weight:750;cursor:pointer}.install-app:hover{filter:brightness(1.08)}
.battery-runtime{margin-top:var(--space-3);padding:7px 10px;border:1px solid var(--data-battery);border-radius:var(--radius-md);background:color-mix(in srgb,var(--data-battery) 9%,var(--muted));color:var(--foreground);font-size:11px;font-weight:700;line-height:1.35}
.flow-card.battery .metric-trend{margin-top:var(--space-3)}
.autonomy-trend canvas,.metric-trend canvas{cursor:crosshair}.trend-tooltip{position:absolute;top:31px;z-index:8;display:grid;gap:2px;width:min(210px,calc(100vw - 40px));padding:8px 10px;border:1px solid var(--ring);border-radius:var(--radius-md);background:color-mix(in srgb,var(--brand-navy) 94%,transparent);color:#fff;box-shadow:var(--panel-shadow);font-size:9px;line-height:1.35;pointer-events:none;transform:translateX(-50%)}.trend-tooltip strong{font-size:10px;color:#fff}.trend-tooltip span{display:block;color:#E8F2F0;white-space:normal;overflow-wrap:anywhere}
.flow-card{cursor:zoom-in}.flow-card :is(button,a,select,input,summary){cursor:auto}.metric-dialog{width:min(940px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);padding:0;border:0;border-radius:var(--radius-lg);background:transparent;color:var(--foreground);overflow:visible}.metric-dialog::backdrop{background:rgba(7,17,22,.72);backdrop-filter:blur(4px)}.metric-dialog-shell{max-height:calc(100vh - 32px);display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--background);box-shadow:0 24px 70px rgba(0,0,0,.55);overflow:hidden}.metric-dialog-shell>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:8px var(--space-4);border-bottom:1px solid var(--border);background:var(--card)}.metric-dialog-shell>header strong{font-size:15px}.metric-dialog-shell>header button{min-height:40px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--radius-md);padding:7px 12px;background:var(--muted);color:var(--foreground);font-weight:700;cursor:pointer}.metric-dialog-shell>header button span{font-size:22px;line-height:1}.metric-dialog-content{min-height:0;padding:var(--space-4);overflow:auto}.metric-dialog-content>.flow-card{width:100%;min-height:0;cursor:default;overflow:visible}.metric-dialog-content .metric-trend canvas,.metric-dialog-content .autonomy-trend canvas{height:180px}@media(max-width:600px){.metric-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.metric-dialog-shell{max-height:calc(100vh - 16px)}.metric-dialog-content{padding:var(--space-2)}.metric-dialog-content .metric-trend canvas,.metric-dialog-content .autonomy-trend canvas{height:130px}.metric-dialog-shell>header button{font-size:0}.metric-dialog-shell>header button span{font-size:24px}}
.grid-vu-wrap strong{white-space:nowrap}
:root{--background:#121516;--foreground:#F4F7F6;--card:#1E2325;--card-foreground:#F4F7F6;--muted:#293033;--muted-foreground:#BBC5C2;--primary:#08745E;--primary-foreground:#FFFFFF;--accent:#214B57;--accent-foreground:#FFFFFF;--border:#3C4749;--ring:#4DAEC2;--destructive:#FF8A80;--brand-green:#0D9376;--brand-cyan:#4DAEC2;--brand-navy:#1A3746;--data-pv:#E0A21A;--data-load:#2289A0;--data-battery:#846BE0;--data-grid:#08745E;--chart-grid:#3C4749;--chart-zero:#718083;--chart-label:#BBC5C2;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--control:44px;font-family:Manrope,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color-scheme:dark}
[data-theme=light]{--background:#F4F7F6;--foreground:#1A3746;--card:#FFFFFF;--card-foreground:#1A3746;--muted:#E6ECEA;--muted-foreground:#52666F;--primary:#08745E;--primary-foreground:#FFFFFF;--accent:#DDEFF3;--accent-foreground:#1A3746;--border:#CAD6D2;--ring:#0D9376;--destructive:#B42318;--chart-grid:#CAD6D2;--chart-zero:#6D807B;--chart-label:#52666F;color-scheme:light}
[data-theme=gray]{--background:#363A3C;--foreground:#F4F6F5;--card:#484D4F;--card-foreground:#F4F6F5;--muted:#565C5E;--muted-foreground:#D4D9D7;--primary:#08745E;--primary-foreground:#FFFFFF;--accent:#315F6C;--accent-foreground:#FFFFFF;--border:#707678;--ring:#4DAEC2;--destructive:#FF8A80;--chart-grid:#707678;--chart-zero:#A8B1AE;--chart-label:#D4D9D7;color-scheme:dark}
[data-theme=dark]{--background:#121516;--foreground:#F4F7F6;--card:#1E2325;--card-foreground:#F4F7F6;--muted:#293033;--muted-foreground:#BBC5C2;--primary:#08745E;--primary-foreground:#FFFFFF;--accent:#214B57;--accent-foreground:#FFFFFF;--border:#3C4749;--ring:#4DAEC2;--destructive:#FF8A80;--chart-grid:#3C4749;--chart-zero:#718083;--chart-label:#BBC5C2;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--foreground);min-height:100vh;font-size:16px;line-height:1.5}button,select,a{font:inherit}button,select,a[href]{min-height:var(--control)}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--ring);outline-offset:2px}button:disabled,select:disabled{opacity:.55;cursor:not-allowed}[hidden]{display:none!important}.hosted-waiting{margin:16px auto 0;width:min(1340px,calc(100% - 40px));padding:14px 18px;border:1px solid var(--ring);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--card) 88%,var(--primary));box-shadow:var(--panel-shadow);display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hosted-waiting strong{color:var(--brand-cyan)}.hosted-waiting span{color:var(--foreground)}
.demo-banner{min-height:44px;padding:8px clamp(20px,5vw,72px);display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#f4c84c;color:#171b1c;border-bottom:1px solid #b78b0a;position:sticky;top:0;z-index:5}.demo-banner strong{text-transform:uppercase;letter-spacing:.08em}.demo-banner span{flex:1}.demo-banner a{color:#171b1c;font-weight:800;display:inline-flex;align-items:center}body[data-demo=true] .topbar{top:44px}body[data-demo=true] .header-account-state::after{content:" · données fictives"}body[data-demo=true] #control-status{color:var(--brand-cyan)}
.topbar{min-height:96px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-3) clamp(20px,5vw,72px);background:var(--card);position:sticky;top:0;z-index:3}.brand{display:flex;align-items:center;gap:var(--space-4);min-width:0}.brand-marks{display:flex;align-items:center;gap:var(--space-3)}.nsk-mark{width:48px;height:48px;object-fit:contain}.rouch-mark{width:176px;height:auto;object-fit:contain}.brand>div:last-child{display:flex;flex-direction:column}.brand strong{font-size:20px;font-weight:600}.brand small{color:var(--muted-foreground);font-size:12px;line-height:1.35;margin-top:var(--space-1);max-width:300px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--brand-cyan);margin:0 0 var(--space-2)}[data-theme=light] .eyebrow{color:var(--brand-navy)}.topbar-actions{display:flex;align-items:center;gap:var(--space-3)}.help-link{display:inline-flex;align-items:center;color:var(--foreground);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.theme-picker,.section-picker{display:flex;align-items:center;gap:var(--space-2);color:var(--muted-foreground);font-size:14px}.theme-picker select,.section-picker select{min-height:44px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted);color:var(--foreground);padding:8px 36px 8px 12px;font-weight:600}.section-picker select{max-width:180px}.freshness{font-size:14px;color:var(--muted-foreground);display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.status-dot,.source-dot{display:inline-block;width:8px;height:8px;border-radius:999px;background:var(--brand-green);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-green) 18%,transparent)}.error .status-dot{background:var(--destructive);box-shadow:0 0 0 4px color-mix(in srgb,var(--destructive) 18%,transparent)}
main{max-width:1440px;margin:auto;padding:var(--space-12) clamp(20px,5vw,72px) var(--space-16)}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-12);align-items:end;margin-bottom:var(--space-8)}.hero h1{font-size:32px;line-height:1.15;letter-spacing:-.025em;margin:0;max-width:700px;font-weight:800}.hero h1 span{color:var(--muted-foreground);font-weight:600}.hero-copy{color:var(--muted-foreground);font-size:16px;line-height:1.65;margin:0;max-width:600px}.panel,.flow-card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-lg)}
.flow-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.flow-card{padding:var(--space-6);min-height:164px;position:relative;overflow:hidden}.flow-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--tone)}.solar{--tone:var(--data-pv)}.home{--tone:var(--data-load)}.battery{--tone:var(--data-battery)}.grid{--tone:var(--data-grid)}.autonomy{--tone:var(--brand-green)}.card-heading{color:var(--muted-foreground);font-size:14px;font-weight:600}.flow-card>strong{display:block;font-size:32px;line-height:1.2;letter-spacing:-.025em;margin:var(--space-4) 0 var(--space-1);font-weight:800}.flow-card small{color:var(--muted-foreground);font-size:12px}.battery-meta{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}.battery-meta span{font-size:12px;color:var(--foreground);background:var(--muted);border:1px solid var(--border);border-radius:999px;padding:4px 8px}.battery-meta .runtime{border-color:var(--data-battery);font-weight:700}
.metric-reading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:var(--space-4) 0 var(--space-1)}.metric-reading>strong{min-width:0;font-size:32px;line-height:1.2;letter-spacing:-.025em;font-weight:800;white-space:nowrap}.metric-gauge{width:84px;height:12px;flex:0 1 84px;border:0;border-radius:999px;overflow:hidden;background:var(--muted);color:var(--tone)}.metric-gauge::-webkit-progress-bar{background:var(--muted);border-radius:999px}.metric-gauge::-webkit-progress-value{background:var(--tone);border-radius:999px;transition:width .3s ease}.metric-gauge::-moz-progress-bar{background:var(--tone);border-radius:999px}.flow-state{width:84px;height:48px;flex:0 0 84px;display:grid;place-items:center}.flow-state svg{display:block;width:84px;height:48px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 3px 5px color-mix(in srgb,currentColor 18%,transparent))}.flow-state .device-symbol{stroke-width:2.2}.flow-state .state-up,.flow-state .state-down,.flow-state .state-neutral{display:none;stroke-width:3}.flow-state.positive{color:var(--brand-green)}.flow-state.neutral{color:var(--gauge-orange)}.flow-state.negative{color:var(--destructive)}.battery .flow-state.positive .state-down,.battery .flow-state.negative .state-up,.grid .flow-state.positive .state-up,.grid .flow-state.negative .state-down,.battery .flow-state.neutral .state-neutral{display:block}@media(max-width:1250px){.metric-reading>strong{font-size:27px}.metric-gauge{width:64px;flex-basis:64px}.flow-state{width:72px;flex-basis:72px}.flow-state svg{width:72px}}@media(max-width:1100px){.metric-reading>strong{font-size:32px}.metric-gauge{width:96px;flex-basis:96px}.flow-state{width:88px;flex-basis:88px}.flow-state svg{width:88px}}@media(max-width:600px){.metric-gauge{width:110px;flex-basis:110px}.flow-state{width:96px;flex-basis:96px}.flow-state svg{width:96px}}
.panel{padding:var(--space-6)}.daily-strip{display:grid;grid-template-columns:1.35fr repeat(6,1fr);align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.daily-title small{color:var(--muted-foreground);font-size:12px}.daily{border-left:1px solid var(--border);padding-left:var(--space-4)}.daily span{display:block;color:var(--muted-foreground);font-size:12px;margin-bottom:var(--space-1)}.daily strong{font-size:20px}.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:var(--space-4)}.panel-title{display:flex;justify-content:space-between;gap:var(--space-6)}.panel h2{font-size:20px;line-height:1.3;margin:0;font-weight:600}.chart-context{color:var(--muted-foreground);font-size:12px;margin:var(--space-2) 0 0}.legend{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:12px}.legend button{border:1px solid transparent;background:transparent;color:currentColor;padding:8px 12px;border-radius:var(--radius-md);cursor:pointer;opacity:.52;font-size:12px;font-weight:600}.legend button.active{opacity:1;background:var(--muted);border-color:var(--border)}.legend button:before{content:"";display:inline-block;width:14px;height:3px;background:currentColor;margin-right:7px;vertical-align:middle}.legend .pv{color:var(--data-pv)}.legend .load{color:var(--data-load)}.legend .load:before{background:repeating-linear-gradient(90deg,currentColor 0 7px,transparent 7px 11px)}.legend .battery{color:var(--data-battery)}.legend .battery:before{background:repeating-linear-gradient(90deg,currentColor 0 3px,transparent 3px 6px)}.legend .grid{color:var(--data-grid)}.legend .grid:before{background:repeating-linear-gradient(90deg,currentColor 0 8px,transparent 8px 11px,currentColor 11px 13px,transparent 13px 17px)}.chart-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-top:var(--space-6)}.periods{display:flex;gap:var(--space-2);flex-wrap:wrap}.periods button,.export-action a{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted);color:var(--foreground);padding:9px 14px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}.periods button.active,.export-action a{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.export-action{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.export-action small{font-size:12px;color:var(--muted-foreground)}.chart-wrap{height:320px;margin-top:var(--space-6);position:relative}.chart-wrap canvas{width:100%;height:100%}.chart-wrap p{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted-foreground);background:var(--card);margin:0}.data-alternative{margin-top:var(--space-4);border-top:1px solid var(--border);padding-top:var(--space-3)}.data-alternative summary{min-height:44px;display:flex;align-items:center;font-weight:600;cursor:pointer}.data-alternative p{color:var(--muted-foreground);font-size:12px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:right;padding:12px;border-bottom:1px solid var(--border);white-space:nowrap}th:first-child{text-align:left}thead th{color:var(--muted-foreground);font-size:12px}
.source-list{list-style:none;padding:0;margin:var(--space-6) 0}.source-list li{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:14px 0;font-size:14px}.source-list li span{display:flex;align-items:center;gap:var(--space-3)}.source-list strong{font-size:12px}.source-dot.estimated{background:var(--data-battery)}.source-dot.disabled{background:var(--muted-foreground);box-shadow:none}.source-list strong.unavailable{color:var(--destructive)}.residual{background:var(--muted);border-radius:var(--radius-md);padding:var(--space-4);display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-3)}.residual strong{font-size:20px}.residual small{grid-column:1/-1;color:var(--muted-foreground);line-height:1.45}.residual.comparison{margin-top:var(--space-3)}.phase-strip{display:grid;grid-template-columns:1.3fr repeat(3,1fr);align-items:center;gap:var(--space-6);margin-top:var(--space-4)}.phase{border-left:1px solid var(--border);padding-left:var(--space-6)}.phase span{display:block;color:var(--muted-foreground);font-size:12px}.phase strong{font-size:20px}.observations-panel,.help-panel{margin-top:var(--space-4)}.observations-list{list-style:none;padding:0;margin:var(--space-6) 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.observation{background:var(--muted);border-left:4px solid var(--tone,var(--border));border-radius:var(--radius-md);padding:var(--space-4);display:grid;gap:var(--space-2)}.observation.success{--tone:var(--brand-green)}.observation.info{--tone:var(--brand-cyan)}.observation.warning{--tone:var(--data-pv)}.observation time{color:var(--muted-foreground);font-size:12px}.observation strong{font-size:14px;line-height:1.4}.empty-observation{color:var(--muted-foreground);font-size:14px}.help-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-top:var(--space-6)}.help-grid p{margin:0;padding:var(--space-4);background:var(--muted);border-radius:var(--radius-md)}.help-grid strong,.help-grid span{display:block}.help-grid strong{font-size:14px;margin-bottom:var(--space-2)}.help-grid span{font-size:12px;color:var(--muted-foreground)}footer{max-width:1440px;margin:auto;padding:var(--space-6) clamp(20px,5vw,72px) var(--space-8);color:var(--muted-foreground);font-size:12px;display:flex;justify-content:space-between;gap:var(--space-4)}
@media(max-width:1100px){.topbar{flex-wrap:wrap}.brand{flex:1 1 650px}.topbar-actions{flex:1 1 100%;justify-content:space-between}.rouch-mark{width:150px}.daily-strip{grid-template-columns:repeat(3,1fr)}.daily-title{grid-column:1/-1}.daily{border-left:0;border-top:1px solid var(--border);padding:var(--space-3) 0 0}.help-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.topbar{position:static}.hero{grid-template-columns:1fr;gap:var(--space-6)}.flow-board{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.phase-strip{grid-template-columns:1fr 1fr}.phase{border-left:0;border-top:1px solid var(--border);padding:var(--space-4) 0 0}.phase-strip>div:first-child{grid-column:1/-1}.observations-list{grid-template-columns:1fr 1fr}}
@media(max-width:600px){main{padding-top:var(--space-8)}.brand{align-items:flex-start;gap:var(--space-2)}.brand-marks{gap:var(--space-2)}.nsk-mark{width:40px;height:40px}.rouch-mark{width:120px}.brand strong{font-size:16px}.brand small{font-size:12px;max-width:190px}.topbar-actions{gap:var(--space-2);flex-wrap:wrap}.theme-picker>span,.section-picker>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.section-picker select{max-width:150px}.hero h1{font-size:24px}.flow-board{grid-template-columns:1fr}.flow-card{min-height:148px}.daily-strip{grid-template-columns:1fr 1fr}.panel-title,.chart-actions{display:block}.legend{margin-top:var(--space-4)}.periods{display:grid;grid-template-columns:repeat(4,1fr)}.periods button{padding:8px 6px}.export-action{align-items:stretch;margin-top:var(--space-3)}.export-action a{text-align:center;display:grid;place-items:center}.chart-wrap{height:280px}.phase-strip{grid-template-columns:1fr}.phase-strip>div:first-child{grid-column:auto}.observations-list,.help-grid{grid-template-columns:1fr}footer{display:block}footer span{display:block;margin-top:var(--space-2)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:1250px) and (min-width:901px){.flow-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
:root,[data-theme=dark]{--data-pv:#F0C24B;--data-load:#65C2D5;--data-battery:#B4A2FF;--data-grid:#48C9AD}[data-theme=light]{--data-pv:#8A5A00;--data-load:#176B7E;--data-battery:#644AC6;--data-grid:#08745E}[data-theme=gray]{--data-pv:#FFD166;--data-load:#75D5E8;--data-battery:#C4B5FD;--data-grid:#62D9BF}.eyebrow{color:var(--muted-foreground);border-left:3px solid var(--brand-cyan);padding-left:var(--space-2)}
.meter-strip{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:var(--space-5);align-items:center;margin-top:var(--space-4)}.meter-strip>div:first-child{grid-row:span 2}.meter-strip small,.meter-value span{color:var(--muted-foreground);font-size:12px}.meter-value{border-left:1px solid var(--border);padding-left:var(--space-5)}.meter-value>span{display:block;margin-bottom:var(--space-1)}.meter-value strong{font-size:17px;white-space:nowrap}.meter-value strong span{color:inherit;font-size:inherit}@media(max-width:900px){.meter-strip{grid-template-columns:1fr 1fr}.meter-value{border-left:0;border-top:1px solid var(--border);padding:var(--space-4) 0 0}.meter-strip>div:first-child{grid-column:1/-1;grid-row:auto}}@media(max-width:600px){.meter-strip{grid-template-columns:1fr}.meter-strip>div:first-child{grid-column:auto}}
.advisor-panel{margin-top:var(--space-4);background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--primary) 8%,var(--card)))}.advisor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.advisor-badge{padding:7px 11px;border:1px solid var(--border);border-radius:999px;color:var(--muted-foreground);font-size:12px;font-weight:700}.advisor-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:var(--space-4);margin-top:var(--space-6)}.advisor-grid>div{padding:var(--space-4);background:var(--muted);border-radius:var(--radius-md)}.advisor-grid span,.advisor-grid small{display:block;color:var(--muted-foreground);font-size:12px}.advisor-grid strong{display:block;margin-top:var(--space-2);font-size:20px}.advisor-recommendation strong{font-size:32px;color:var(--primary)}.advisor-recommendation small{margin-top:var(--space-1)}.advisor-reason{margin:var(--space-4) 0 0;color:var(--muted-foreground);line-height:1.55}@media(max-width:900px){.advisor-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.advisor-heading{display:block}.advisor-badge{display:inline-block;margin-top:var(--space-3)}.advisor-grid{grid-template-columns:1fr}}
.advisor-control{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card)}.advisor-control strong,.advisor-control span{display:block}.advisor-control span{margin-top:4px;color:var(--muted-foreground);font-size:12px}.advisor-control button{border:0;border-radius:var(--radius-sm);padding:11px 16px;background:var(--primary);color:var(--primary-foreground);font:inherit;font-weight:750;cursor:pointer}.advisor-control button:disabled{cursor:not-allowed;opacity:.48}.advisor-control button:not(:disabled):hover{filter:brightness(1.08)}@media(max-width:600px){.advisor-control{align-items:stretch;flex-direction:column}.advisor-control button{width:100%}}
.meter-strip{grid-template-columns:1.5fr repeat(3,minmax(0,1fr))}.meter-column{min-width:0;border-left:1px solid var(--border);padding-left:var(--space-5);display:grid;gap:var(--space-3)}.meter-column .meter-value{min-width:0;border:0;padding:0}.meter-column strong{display:block;overflow-wrap:anywhere;white-space:normal}@media(max-width:900px){.meter-column{border-left:0;border-top:1px solid var(--border);padding:var(--space-4) 0 0}.meter-strip{grid-template-columns:1fr 1fr}.meter-strip>div:first-child{grid-column:1/-1}}@media(max-width:600px){.meter-strip{grid-template-columns:1fr}.meter-strip>div:first-child{grid-column:auto}}
.advisor-control{flex-wrap:wrap}.control-copy{flex:1 1 260px}.control-field{min-width:150px}.control-field span{margin:0 0 5px}.control-field select{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 34px 9px 10px;background:var(--background);color:var(--foreground);font:inherit}.control-safety{margin-top:var(--space-3);border-top:1px solid var(--border);padding-top:var(--space-3);color:var(--muted-foreground);font-size:13px}.control-safety summary{cursor:pointer;color:var(--foreground);font-weight:700}.control-safety ul{margin:var(--space-3) 0 0;padding-left:20px;line-height:1.65}
.advisor-reason a{display:inline-flex;align-items:center;min-height:32px;margin:0 3px;color:var(--brand-cyan);font-weight:750;text-underline-offset:3px}.advisor-reason a:hover{color:var(--foreground)}
.meter-strip .meter-column{padding-left:var(--space-6)!important}@media(max-width:900px){.meter-strip .meter-column{padding-left:0!important}}
.appliance-panel{margin-top:var(--space-4)}.appliance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.appliance-heading p:last-child,.appliance-note{color:var(--muted-foreground);font-size:13px;line-height:1.55}.experimental-badge{white-space:nowrap;padding:7px 11px;border:1px solid var(--border);border-radius:999px;color:var(--muted-foreground);font-size:12px;font-weight:700}.appliance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-top:var(--space-6)}.appliance-grid article{padding:var(--space-4);border-left:3px solid var(--brand-cyan);border-radius:var(--radius-md);background:var(--muted)}.appliance-grid span,.appliance-grid small{display:block;color:var(--muted-foreground);font-size:12px}.appliance-grid strong{display:block;margin:var(--space-2) 0 var(--space-1);font-size:24px}.appliance-note{margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border)}@media(max-width:900px){.appliance-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.appliance-heading{display:block}.experimental-badge{display:inline-block;margin-top:var(--space-3)}.appliance-grid{grid-template-columns:1fr}}
.source-status{text-align:right}.source-status strong,.source-status small{display:block}.source-status small{margin-top:2px;color:var(--muted-foreground);font-size:10px;font-weight:500}.scope-warning{display:inline-block;margin-top:var(--space-2);color:var(--data-pv);font-size:12px;font-weight:700}.topology-panel{margin-top:var(--space-4)}.topology-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.topology-badge{white-space:nowrap;padding:7px 11px;border:1px solid var(--border);border-radius:999px;color:var(--muted-foreground);font-size:12px;font-weight:700}.topology-flow{display:grid;grid-template-columns:1fr auto 1.25fr auto 1.25fr;align-items:stretch;gap:var(--space-3);margin-top:var(--space-6)}.topology-flow article{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted)}.topology-flow article span,.topology-flow article small{display:block;color:var(--muted-foreground);font-size:12px}.topology-flow article strong{display:block;margin:var(--space-2) 0}.topology-flow i{align-self:center;color:var(--brand-cyan);font-size:24px;font-style:normal}.topology-flow .topology-main{border-color:var(--brand-green)}.topology-flow .topology-secondary{border-color:var(--data-pv)}.topology-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-top:var(--space-4)}.topology-rules p{margin:0;padding:var(--space-4);background:var(--muted);border-radius:var(--radius-md)}.topology-rules strong,.topology-rules span{display:block}.topology-rules strong{font-size:13px;margin-bottom:var(--space-2)}.topology-rules span{color:var(--muted-foreground);font-size:12px;line-height:1.5}.inventory{margin-top:var(--space-4);border-top:1px solid var(--border);padding-top:var(--space-3)}.inventory summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer}.inventory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-top:var(--space-3)}.inventory-grid p{margin:0;padding:var(--space-4);background:var(--muted);border-radius:var(--radius-md)}.inventory-grid strong,.inventory-grid span{display:block}.inventory-grid strong{font-size:13px}.inventory-grid span{margin-top:var(--space-1);color:var(--muted-foreground);font-size:12px;line-height:1.4}@media(max-width:900px){.topology-flow{grid-template-columns:1fr}.topology-flow i{justify-self:center;transform:rotate(90deg)}.topology-rules,.inventory-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.topology-heading{display:block}.topology-badge{display:inline-block;margin-top:var(--space-3)}.topology-rules,.inventory-grid{grid-template-columns:1fr}}
.appliance-grid{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1100px){.appliance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.appliance-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.appliance-grid{grid-template-columns:1fr}}
:root,[data-theme=dark]{--panel-shadow:0 12px 28px rgba(0,0,0,.38),0 3px 8px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.035)}[data-theme=gray]{--panel-shadow:0 11px 25px rgba(0,0,0,.28),0 3px 7px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.055)}[data-theme=light]{--panel-shadow:0 8px 22px rgba(26,55,70,.09),0 2px 6px rgba(26,55,70,.07)}.panel,.flow-card{box-shadow:var(--panel-shadow)}
.calibration-panel{margin-top:var(--space-4)}.calibration-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.calibration-heading p:last-child,.calibration-message{color:var(--muted-foreground);font-size:13px;line-height:1.55}.calibration-badge{white-space:nowrap;padding:7px 11px;border:1px solid var(--border);border-radius:999px;color:var(--muted-foreground);font-size:12px;font-weight:700}.calibration-badge.active{border-color:var(--brand-green);color:var(--foreground)}.calibration-controls{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.6fr) auto auto;align-items:end;gap:var(--space-3);margin-top:var(--space-6)}.calibration-controls label span{display:block;margin-bottom:5px;color:var(--muted-foreground);font-size:12px}.calibration-controls select,.calibration-controls input{width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-md);padding:9px 12px;background:var(--background);color:var(--foreground);font:inherit}.calibration-controls button{min-height:44px;border:1px solid var(--primary);border-radius:var(--radius-md);padding:9px 16px;background:var(--primary);color:var(--primary-foreground);font:inherit;font-weight:750;cursor:pointer}.calibration-controls button#calibration-stop{border-color:var(--data-pv);background:transparent;color:var(--foreground)}.calibration-controls button:disabled{cursor:not-allowed;opacity:.45}.calibration-active{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);border-left:4px solid var(--brand-green);border-radius:var(--radius-md);background:var(--muted)}.calibration-active span,.calibration-active small{color:var(--muted-foreground);font-size:12px}.calibration-message{margin:var(--space-4) 0 0}.calibration-history{margin-top:var(--space-3);border-top:1px solid var(--border);padding-top:var(--space-3)}.calibration-history summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer}.calibration-history ol{list-style:none;margin:var(--space-2) 0 0;padding:0;display:grid;gap:var(--space-2)}.calibration-history li{display:grid;grid-template-columns:minmax(130px,.7fr) 1fr auto;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--muted);font-size:13px}.calibration-history li span{color:var(--muted-foreground)}@media(max-width:900px){.calibration-controls{grid-template-columns:1fr 1fr}.calibration-note{grid-column:1/-1}.calibration-active,.calibration-history li{grid-template-columns:1fr}}@media(max-width:600px){.calibration-heading{display:block}.calibration-badge{display:inline-block;margin-top:var(--space-3)}.calibration-controls{grid-template-columns:1fr}.calibration-note{grid-column:auto}.calibration-controls button{width:100%}}
.anchor-section{scroll-margin-top:112px}@media(max-width:1100px){.topbar{position:static}.anchor-section{scroll-margin-top:24px}}
.flow-card{overflow:visible}
.soc-visual{margin-top:var(--space-3);padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--muted) 72%,transparent)}.soc-visual-label{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:7px}.soc-visual-label span{color:var(--muted-foreground);font-size:10px;font-weight:650}.soc-visual-label strong{font-size:11px;white-space:nowrap}.soc-meter{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;height:13px}.soc-meter span{min-width:0;border:1px solid color-mix(in srgb,var(--foreground) 12%,var(--border));border-radius:2px;background:var(--muted);transition:background .25s ease,box-shadow .25s ease}.soc-meter span[data-active]{border-color:transparent;box-shadow:0 0 7px color-mix(in srgb,currentColor 22%,transparent)}.soc-meter span:nth-child(-n+3)[data-active]{background:var(--gauge-red);color:var(--gauge-red)}.soc-meter span:nth-child(n+4):nth-child(-n+6)[data-active]{background:var(--gauge-yellow);color:var(--gauge-yellow)}.soc-meter span:nth-child(n+7):nth-child(-n+9)[data-active]{background:var(--gauge-orange);color:var(--gauge-orange)}.soc-meter span:nth-child(n+10)[data-active]{background:var(--gauge-green);color:var(--gauge-green)}
.pv-allocation{margin-top:var(--space-3);padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--muted) 72%,transparent)}.pv-allocation-bar{height:14px;display:flex;overflow:hidden;border-radius:4px;background:var(--muted);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--foreground) 12%,transparent)}.pv-allocation-bar span{display:block;width:0;transition:width .35s ease}.pv-allocation-bar .to-home{background:var(--data-load)}.pv-allocation-bar .to-battery{background:var(--data-battery)}.pv-allocation-bar .to-grid{background:var(--brand-green)}.pv-allocation-bar .unallocated{background:var(--muted-foreground);opacity:.45}.pv-allocation-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:8px}.pv-allocation-values span{min-width:0;color:var(--muted-foreground);font-size:9px;line-height:1.25}.pv-allocation-values i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:3px;background:currentColor}.pv-allocation-values .to-home{color:var(--data-load)}.pv-allocation-values .to-battery{color:var(--data-battery)}.pv-allocation-values .to-grid{color:var(--brand-green)}.pv-allocation-values strong{display:block;margin-top:2px;color:var(--foreground);font-size:10px;white-space:nowrap}
.grid{display:flex;flex-direction:column}
.info-trigger{z-index:0}
.info-label{display:inline-flex!important;align-items:center;gap:6px;overflow:visible!important}.info-tip{position:relative;display:inline-flex;flex:0 0 auto;width:20px;height:20px}.info-trigger{position:absolute;inset:-12px;width:44px;height:44px;border:0;border-radius:999px;padding:0;display:inline-grid;place-items:center;background:transparent;color:var(--muted-foreground);font:800 12px/1 Manrope,Arial,sans-serif;cursor:help}.info-trigger::before{content:"";position:absolute;width:20px;height:20px;border:1px solid color-mix(in srgb,var(--foreground) 34%,var(--border));border-radius:999px;background:var(--card);z-index:-1}.info-trigger:hover,.info-trigger:focus-visible,.info-tip[data-open] .info-trigger{color:var(--foreground)}.info-trigger:hover::before,.info-trigger:focus-visible::before,.info-tip[data-open] .info-trigger::before{border-color:var(--brand-cyan);background:color-mix(in srgb,var(--brand-cyan) 12%,var(--card))}.info-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-cyan) 35%,transparent);outline-offset:-9px}.info-bubble{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:30;width:max-content;max-width:min(280px,calc(100vw - 32px));padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--foreground);color:var(--background);box-shadow:var(--panel-shadow);font-size:12px!important;font-weight:550;line-height:1.5;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,4px);transition:opacity .14s ease,transform .14s ease,visibility .14s}.info-tip:hover .info-bubble,.info-trigger:focus-visible+.info-bubble,.info-tip[data-open] .info-bubble{opacity:1;visibility:visible;transform:translate(-50%,0)}@media(max-width:600px){.info-bubble{position:fixed;left:16px;right:16px;bottom:20px;width:auto;max-width:none;transform:translateY(4px)}.info-tip:hover .info-bubble,.info-trigger:focus-visible+.info-bubble,.info-tip[data-open] .info-bubble{transform:translateY(0)}}
.flow-card:hover,.flow-card:focus-within{z-index:20}.info-label{display:flex!important;width:max-content;max-width:100%}.info-label>.info-tip{display:inline-flex!important;margin:0!important;color:inherit!important}.info-tip>.info-bubble{display:block!important;width:max-content;max-width:min(320px,calc(100vw - 32px));margin:0!important;padding:12px 14px!important;border:2px solid var(--ring);background:var(--brand-navy)!important;color:#fff!important;font-size:14px!important;font-weight:600!important;line-height:1.55!important;letter-spacing:0!important;text-align:left!important}.flow-card .info-bubble{top:calc(100% + 10px);bottom:auto;transform:translate(-50%,-4px)}.flow-card .info-tip:hover .info-bubble,.flow-card .info-trigger:focus-visible+.info-bubble,.flow-card .info-tip[data-open] .info-bubble{transform:translate(-50%,0)}@media(max-width:600px){.info-tip>.info-bubble,.flow-card .info-bubble{position:fixed;inset:auto 16px 20px;width:auto;max-width:none;transform:translateY(4px)}.info-tip:hover .info-bubble,.info-trigger:focus-visible+.info-bubble,.info-tip[data-open] .info-bubble,.flow-card .info-tip:hover .info-bubble,.flow-card .info-trigger:focus-visible+.info-bubble,.flow-card .info-tip[data-open] .info-bubble{transform:translateY(0)}}
.info-tip>.info-bubble,.flow-card .info-bubble{position:fixed!important;inset:var(--tip-top,16px) auto auto var(--tip-left,16px)!important;transform:none!important}.info-tip:hover .info-bubble,.info-trigger:focus-visible+.info-bubble,.info-tip[data-open] .info-bubble,.flow-card .info-tip:hover .info-bubble,.flow-card .info-trigger:focus-visible+.info-bubble,.flow-card .info-tip[data-open] .info-bubble{transform:none!important}
.detail-grid>*{min-width:0}
.enedis-foundation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-4) 0}.enedis-foundation p{margin:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted)}.enedis-foundation span,.enedis-foundation strong,.enedis-foundation small{display:block}.enedis-foundation span,.enedis-foundation small{color:var(--muted-foreground);font-size:12px}.enedis-foundation strong{margin:5px 0;font-size:15px}.reconciliation-table-wrap{overflow-x:auto;margin-top:var(--space-3)}.reconciliation-table{width:100%;border-collapse:collapse;font-size:13px}.reconciliation-table th,.reconciliation-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}.reconciliation-table th{color:var(--muted-foreground);font-size:11px;letter-spacing:.04em;text-transform:uppercase}@media(max-width:800px){.enedis-foundation{grid-template-columns:1fr}}
.installation-panel{margin-top:var(--space-4)}.installation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.installation-heading h2{margin:0}.installation-heading p:last-child{margin:.4rem 0 0;color:var(--muted-foreground)}.quality-badge{padding:7px 12px;border:1px solid var(--border);border-radius:999px;color:var(--muted-foreground);font-size:12px;font-weight:750;white-space:nowrap}.quality-badge[data-quality=good]{border-color:var(--brand-green);color:var(--brand-green)}.quality-badge[data-quality=partial]{border-color:var(--gauge-orange);color:var(--gauge-orange)}.quality-badge[data-quality=limited]{border-color:var(--destructive);color:var(--destructive)}.quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-6) 0}.quality-grid p{margin:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted)}.quality-grid span,.quality-grid strong,.quality-grid small{display:block}.quality-grid span,.quality-grid small{color:var(--muted-foreground);font-size:12px}.quality-grid strong{margin:5px 0;font-size:20px}.reconciliation-table tr[data-quality=complete] td:last-child{color:var(--brand-green);font-weight:700}.reconciliation-table tr[data-quality=partial] td:last-child{color:var(--gauge-orange);font-weight:700}.reconciliation-table tr[data-quality=invalid] td:last-child{color:var(--destructive);font-weight:700}@media(max-width:800px){.installation-heading{display:block}.quality-badge{display:inline-block;margin-top:var(--space-3)}.quality-grid{grid-template-columns:1fr}}
@media(max-width:600px){.residual{grid-template-columns:1fr}.residual strong{grid-column:1}.residual small{grid-column:1}}
:root{--gauge-red:#D94A4A;--gauge-yellow:#F2C94C;--gauge-orange:#F2994A;--gauge-green:#0D9376}.dial-gauge{width:84px;height:48px;flex:0 0 84px;display:block;color:var(--foreground)}.dial-gauge svg{display:block;width:100%;height:100%;overflow:visible}.dial-track,.dial-scale{fill:none;stroke-linecap:round}.dial-track{stroke:var(--muted);stroke-width:11}.dial-scale{stroke-width:8}.dial-gauge stop:nth-child(1){stop-color:var(--gauge-red)}.dial-gauge stop:nth-child(2){stop-color:var(--gauge-yellow)}.dial-gauge stop:nth-child(3){stop-color:var(--gauge-orange)}.dial-gauge stop:nth-child(4){stop-color:var(--gauge-green)}.dial-needle{stroke:var(--foreground);stroke-width:2.4;stroke-linecap:round;transform:rotate(var(--dial-angle,-90deg));transform-origin:42px 42px;transition:transform .35s ease}.dial-gauge circle{fill:var(--foreground);stroke:var(--card);stroke-width:2}@media(max-width:1250px){.dial-gauge{width:72px;flex-basis:72px}}@media(max-width:1100px){.dial-gauge{width:88px;flex-basis:88px}}@media(max-width:600px){.dial-gauge{width:96px;flex-basis:96px}}
.load-dial stop:nth-child(1){stop-color:var(--gauge-red)}.load-dial stop:nth-child(2){stop-color:var(--gauge-yellow)}.load-dial stop:nth-child(3){stop-color:var(--gauge-orange)}.load-dial stop:nth-child(4){stop-color:var(--gauge-green)}
.source-list li{display:block;align-items:initial}.source-list li>span{width:max-content;max-width:100%}.source-status,.source-list li>.source-status{margin-top:6px;padding-left:20px;text-align:left}.source-status strong,.source-status small{display:block}.residual{grid-template-columns:1fr}.residual strong,.residual small{grid-column:1}.residual strong{margin-top:4px}
.pv-allocation-values strong{font-size:clamp(8px,.72vw,10px)}
.home-allocation{margin-top:var(--space-3);padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--muted) 72%,transparent)}.home-allocation-bar{height:14px;display:flex;overflow:hidden;border-radius:4px;background:var(--muted);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--foreground) 12%,transparent)}.home-allocation-bar span{display:block;width:0;transition:width .35s ease}.home-allocation-bar .from-pv{background:var(--data-pv)}.home-allocation-bar .from-battery{background:var(--data-battery)}.home-allocation-bar .from-grid{background:var(--destructive)}.home-allocation-bar .unallocated{background:var(--muted-foreground);opacity:.45}.home-allocation-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:8px}.home-allocation-values span{min-width:0;color:var(--muted-foreground);font-size:9px;line-height:1.25}.home-allocation-values i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:3px;background:currentColor}.home-allocation-values .from-pv{color:var(--data-pv)}.home-allocation-values .from-battery{color:var(--data-battery)}.home-allocation-values .from-grid{color:var(--destructive)}.home-allocation-values strong{display:block;margin-top:2px;color:var(--foreground);font-size:clamp(8px,.72vw,10px);white-space:nowrap}
.pv-allocation-values,.home-allocation-values{grid-template-columns:1fr;gap:4px}.pv-allocation-values span,.home-allocation-values span{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:5px;font-size:10px}.pv-allocation-values i,.home-allocation-values i{margin:0}.pv-allocation-values em,.home-allocation-values em{min-width:0;color:inherit;font-style:normal;font-weight:650}.pv-allocation-values strong,.home-allocation-values strong{margin:0;color:var(--foreground);font-size:10px;text-align:right;white-space:nowrap}
.autonomy-breakdown{margin-top:var(--space-3);padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--muted) 72%,transparent)}.autonomy-split-bar{height:14px;display:flex;overflow:hidden;border-radius:4px;background:var(--muted);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--foreground) 12%,transparent)}.autonomy-split-bar span{display:block;width:0;transition:width .35s ease}.autonomy-split-bar .local{background:var(--brand-green)}.autonomy-split-bar .network{background:var(--destructive)}.autonomy-split-bar .unallocated{background:var(--muted-foreground);opacity:.45}.autonomy-breakdown-values{display:grid;gap:4px;margin-top:8px}.autonomy-breakdown-values span{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:5px;min-width:0;color:var(--muted-foreground);font-size:10px;line-height:1.25}.autonomy-breakdown-values i{width:7px;height:7px;border-radius:2px;background:currentColor}.autonomy-breakdown-values em{min-width:0;color:inherit;font-style:normal;font-weight:650}.autonomy-breakdown-values strong{color:var(--foreground);font-size:10px;text-align:right;white-space:nowrap}.autonomy-breakdown-values .local{color:var(--brand-green)}.autonomy-breakdown-values .pv{color:var(--data-pv)}.autonomy-breakdown-values .battery-source{color:var(--data-battery)}.autonomy-breakdown-values .network{color:var(--destructive)}.autonomy-breakdown-values .child{padding-left:12px}.autonomy-breakdown-values .child i{width:5px;height:5px;border-radius:999px}
.autonomy-trend{position:relative;margin-top:var(--space-3);padding:8px 8px 5px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--muted) 58%,transparent)}.autonomy-trend>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 2px 4px;color:var(--muted-foreground)}.autonomy-trend>div span{font-size:10px;font-weight:700}.autonomy-trend>div small{font-size:9px}.autonomy-trend canvas{display:block;width:100%;height:82px}.autonomy-trend p{position:absolute;inset:40px 8px auto;margin:0;color:var(--muted-foreground);font-size:10px;text-align:center}
.metric-trend{position:relative;margin-top:var(--space-3);padding:8px 8px 5px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--muted) 58%,transparent)}.metric-trend>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 2px 4px;color:var(--muted-foreground)}.metric-trend>div span{font-size:10px;font-weight:700}.metric-trend>div small{font-size:9px}.metric-trend canvas{display:block;width:100%;height:82px}.metric-trend p{position:absolute;inset:40px 8px auto;margin:0;color:var(--muted-foreground);font-size:10px;text-align:center}.home,.solar,.battery{display:flex;flex-direction:column}.home .metric-trend,.solar .metric-trend,.battery .metric-trend,.grid .metric-trend{margin-top:auto}
.battery-dial stop:nth-child(1){stop-color:var(--gauge-red)}.battery-dial stop:nth-child(2),.battery-dial stop:nth-child(3){stop-color:var(--gauge-orange)}.battery-dial stop:nth-child(4){stop-color:var(--gauge-green)}.grid-dial stop:nth-child(1){stop-color:var(--gauge-red)}.grid-dial stop:nth-child(2),.grid-dial stop:nth-child(3){stop-color:var(--gauge-orange)}.grid-dial stop:nth-child(4){stop-color:var(--gauge-yellow)}.grid-dial stop:nth-child(5){stop-color:var(--gauge-green)}
.battery-state-row{display:flex;align-items:center;gap:8px;margin-top:5px}.battery-state-row small{min-width:0;color:var(--muted-foreground)}.battery-flow-label{flex:0 0 auto;padding:4px 8px;border:1px solid currentColor;border-radius:999px;color:var(--muted-foreground);font-size:10px;line-height:1;letter-spacing:.06em}.battery[data-flow-state=negative] .battery-flow-label{color:var(--gauge-red)}.battery[data-flow-state=neutral] .battery-flow-label{color:var(--gauge-orange)}.battery[data-flow-state=positive] .battery-flow-label{color:var(--gauge-green)}.battery[data-flow-state=unavailable] .battery-flow-label{color:var(--muted-foreground)}.battery[data-flow-state=negative] .battery-dial{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--gauge-red) 38%,transparent))}.battery[data-flow-state=neutral] .battery-dial{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--gauge-orange) 38%,transparent))}.battery[data-flow-state=positive] .battery-dial{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--gauge-green) 38%,transparent))}.battery[data-flow-state=negative] .battery-dial stop:nth-child(n+2),.battery[data-flow-state=positive] .battery-dial stop:nth-child(-n+3),.battery[data-flow-state=neutral] .battery-dial stop:nth-child(1),.battery[data-flow-state=neutral] .battery-dial stop:nth-child(4),.battery[data-flow-state=unavailable] .battery-dial stop{stop-color:var(--muted-foreground)}
.grid-vu-wrap{margin-top:var(--space-3);padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--muted) 72%,transparent)}.grid-vu-wrap>div:first-child{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:7px;color:var(--muted-foreground);font-size:9px}.grid-vu-wrap>div:first-child span:last-child{text-align:right}.grid-vu-wrap strong{color:var(--foreground);font-size:10px}.grid-vu{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:3px;height:14px}.grid-vu span{min-width:0;border:1px solid color-mix(in srgb,var(--foreground) 12%,var(--border));border-radius:2px;background:var(--muted);transition:background .25s ease,box-shadow .25s ease}.grid-vu span[data-active]{border-color:transparent;box-shadow:0 0 7px color-mix(in srgb,currentColor 22%,transparent)}.grid-vu span:nth-child(-n+3)[data-active]{background:var(--gauge-red);color:var(--gauge-red)}.grid-vu span:nth-child(n+4):nth-child(-n+7)[data-active]{background:var(--gauge-orange);color:var(--gauge-orange)}.grid-vu span:nth-child(8)[data-active]{background:var(--gauge-orange);color:var(--gauge-orange)}.grid-vu span:nth-child(n+9):nth-child(-n+11)[data-active]{background:var(--gauge-yellow);color:var(--gauge-yellow)}.grid-vu span:nth-child(n+12)[data-active]{background:var(--gauge-green);color:var(--gauge-green)}
.view-picker{display:flex;align-items:center;gap:var(--space-2);color:var(--muted-foreground);font-size:14px}.view-picker select{min-height:44px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted);color:var(--foreground);padding:8px 36px 8px 12px;font-weight:600}.flow-board{grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}.flow-board .home{grid-column:1/4;grid-row:1}.flow-board .autonomy{grid-column:4/7;grid-row:1}.flow-board .solar{grid-column:1/3;grid-row:2}.flow-board .battery{grid-column:3/5;grid-row:2}.flow-board .grid{grid-column:5/7;grid-row:2}.view-toggle{display:flex;justify-content:center;margin:calc(var(--space-2)*-1) 0 var(--space-5)}.view-toggle button{min-width:220px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:8px 18px;background:var(--card);color:var(--foreground);box-shadow:var(--panel-shadow);cursor:pointer}.view-toggle button span{font-size:24px;line-height:1;color:var(--brand-cyan);transition:transform .2s ease}.view-toggle button strong{font-size:12px}.view-toggle button[aria-expanded=false] span{transform:rotate(180deg)}body[data-view-mode=summary] .view-toggle{margin-bottom:0}@media(max-width:900px){.flow-board{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-board .home{grid-column:1;grid-row:1}.flow-board .autonomy{grid-column:2;grid-row:1}.flow-board .solar{grid-column:1;grid-row:2}.flow-board .battery{grid-column:2;grid-row:2}.flow-board .grid{grid-column:1/3;grid-row:3}}@media(max-width:600px){.view-picker>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.flow-board{grid-template-columns:1fr}.flow-board .home,.flow-board .autonomy,.flow-board .solar,.flow-board .battery,.flow-board .grid{grid-column:1;grid-row:auto}.view-toggle button{width:100%}}
