/* Performance layer loaded last. Keep layout/design stable; trim paint-heavy effects. */

html.flow-only-motion *,
html.flow-only-motion *::before,
html.flow-only-motion *::after{
  scroll-behavior:auto !important;
}

html.flow-only-motion body::before,
html.flow-only-motion .weather-bg::before,
html.flow-only-motion .weather-bg::after,
html.flow-only-motion .premium-hero::before,
html.flow-only-motion .overview-card::before,
html.flow-only-motion .ai-card::after,
html.flow-only-motion .insight-card::after,
html.flow-only-motion .consumption-card::before,
html.flow-only-motion .battery-plan-card::after{
  animation:none !important;
  filter:none !important;
  will-change:auto !important;
}

html.flow-only-motion .sky-aura,
html.flow-only-motion .horizon-glow,
html.flow-only-motion .home-silhouette{
  display:none !important;
}

html.flow-only-motion .overview-card,
html.flow-only-motion .ai-card,
html.flow-only-motion .insight-card,
html.flow-only-motion .settings-panel,
html.flow-only-motion .timeline-card,
html.flow-only-motion .overview-battery,
html.flow-only-motion .overview-runtime,
html.flow-only-motion .battery-plan-card,
html.flow-only-motion .consumption-card,
html.flow-only-motion .bill-forecast-card,
html.flow-only-motion .forecast-combo,
html.flow-only-motion .hero-weather-card{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  transform:none !important;
  will-change:auto !important;
}

html.flow-only-motion .energy-icon-img,
html.flow-only-motion .inverter-img,
html.flow-only-motion .consumption-card-icon,
html.flow-only-motion .hero-weather-card .moon-visual,
html.flow-only-motion .hero-weather-card .weather-visual,
html.flow-only-motion .weather-visual{
  animation:none !important;
  filter:none !important;
  will-change:auto !important;
}

html.flow-only-motion .flow-line-new,
html.flow-only-motion .desktop-flow-dot,
html.flow-only-motion .mobile-deye-line,
html.flow-only-motion .mobile-flow-dot,
html.flow-only-motion .home-line,
html.flow-only-motion .battery-line,
html.flow-only-motion .solar-line,
html.flow-only-motion .grid-line,
html.flow-only-motion .home-path,
html.flow-only-motion .battery-path,
html.flow-only-motion .solar-path,
html.flow-only-motion .grid-path,
html.flow-only-motion .home-runner,
html.flow-only-motion .battery-runner{
  filter:none !important;
  will-change:auto !important;
}

html.flow-only-motion #mobileFlowDiagram .mobile-flow-dot{
  filter:none !important;
}

html body .consumption-card::before{
  background:
    linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.018) 1px, transparent 1px) !important;
  background-size:54px 54px,54px 54px !important;
  opacity:.22 !important;
}

html body .bill-forecast-card strong.bill-forecast-long{
  font-size:clamp(29px,2.72vw,43px) !important;
  letter-spacing:-.01em;
}

html body .bill-forecast-card > div{
  align-items:start !important;
  justify-content:start !important;
  text-align:left !important;
}

html body .bill-forecast-card strong{
  justify-self:start !important;
  text-align:left !important;
}

@media(max-width:640px){
  html body .consumption-card .bill-forecast-card > div{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    align-items:start !important;
    justify-content:start !important;
  }

  html body .consumption-card .bill-forecast-card strong.bill-forecast-long{
    font-size:clamp(12.5px,3.4vw,16px) !important;
  }

  html body #mobileFlowDiagram.solar-power-low .mobile-flow-solar,
  html body #mobileFlowDiagram.battery-power-low .mobile-flow-battery,
  html body #mobileFlowDiagram.grid-power-low .mobile-flow-grid,
  html body #mobileFlowDiagram.home-power-low .mobile-flow-home{
    opacity:var(--flow-low-opacity,.62) !important;
  }

  html body #mobileFlowDiagram.solar-power-normal .mobile-flow-solar,
  html body #mobileFlowDiagram.battery-power-normal .mobile-flow-battery,
  html body #mobileFlowDiagram.grid-power-normal .mobile-flow-grid,
  html body #mobileFlowDiagram.home-power-normal .mobile-flow-home{
    opacity:var(--flow-normal-opacity,.84) !important;
  }

  html body #mobileFlowDiagram.solar-power-high .mobile-flow-solar,
  html body #mobileFlowDiagram.battery-power-high .mobile-flow-battery,
  html body #mobileFlowDiagram.grid-power-high .mobile-flow-grid,
  html body #mobileFlowDiagram.home-power-high .mobile-flow-home{
    opacity:var(--flow-high-opacity,1) !important;
  }

  html body #mobileFlowDiagram.solar-power-low.has-solar .solar-path,
  html body #mobileFlowDiagram.battery-power-low.battery-discharge .battery-path,
  html body #mobileFlowDiagram.battery-power-low.battery-charge .battery-path,
  html body #mobileFlowDiagram.grid-power-low.grid-import .grid-path,
  html body #mobileFlowDiagram.grid-power-low.grid-export .grid-path,
  html body #mobileFlowDiagram.home-power-low.has-home .home-path{
    opacity:.43 !important;
  }

  html body #mobileFlowDiagram.solar-power-low.has-solar .solar-dot,
  html body #mobileFlowDiagram.battery-power-low.battery-discharge .battery-discharge-dot,
  html body #mobileFlowDiagram.battery-power-low.battery-charge .battery-charge-dot,
  html body #mobileFlowDiagram.grid-power-low.grid-import .grid-import-dot,
  html body #mobileFlowDiagram.grid-power-low.grid-export .grid-export-dot,
  html body #mobileFlowDiagram.home-power-low.has-home .home-dot{
    opacity:var(--flow-low-opacity,.62) !important;
  }
}

@supports(content-visibility:auto){
  html.flow-only-motion .ai-dashboard-grid,
  html.flow-only-motion .insight-grid,
  html.flow-only-motion .settings-panel.scheduler-card,
  html.flow-only-motion .timeline-card,
  html.flow-only-motion footer{
    content-visibility:auto;
    contain-intrinsic-size:auto 520px;
  }
}

html.tv-browser body::before,
html.tv-browser .weather-bg::before,
html.tv-browser .weather-bg::after,
html.tv-browser .premium-hero::before,
html.tv-browser .overview-card::before,
html.tv-browser .ai-card::after,
html.tv-browser .insight-card::after,
html.tv-browser .consumption-card::before,
html.tv-browser .battery-plan-card::after{
  content:none !important;
  display:none !important;
}

html.tv-browser .weather-bg{
  background-attachment:scroll !important;
  transform:none !important;
}

html.tv-browser body.tv-night .weather-bg{
  filter:none !important;
}

@media(max-width:700px){
  html body .live-flow-new{
    display:none !important;
  }
}

@media(max-width:640px){
  html body .consumption-card .consumption-value-grid{
    gap:clamp(12px,3.2vw,14px) !important;
  }

  html body .consumption-card .consumption-value-grid div{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:clamp(46px,11.8vw,52px) !important;
    padding:clamp(10px,2.8vw,13px) clamp(13px,3.7vw,16px) !important;
    text-align:center !important;
    color:rgba(238,247,255,.95) !important;
    font-size:clamp(13px,3.65vw,16px) !important;
    line-height:1.08 !important;
    font-weight:930 !important;
    white-space:nowrap !important;
  }

  html body .consumption-card .bill-forecast-card{
    padding:clamp(10px,2.9vw,13px) clamp(13px,3.8vw,17px) !important;
  }

  html body .consumption-card .bill-forecast-card > div{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    justify-content:stretch !important;
    gap:clamp(10px,3vw,14px) !important;
    width:100% !important;
    text-align:left !important;
  }

  html body .consumption-card .bill-forecast-card span{
    justify-self:start !important;
    color:rgba(222,238,255,.78) !important;
    font-size:clamp(11px,3vw,13px) !important;
    line-height:1 !important;
    font-weight:870 !important;
    white-space:nowrap !important;
  }

  html body .consumption-card .bill-forecast-card strong,
  html body .consumption-card .bill-forecast-card strong.bill-forecast-long{
    justify-self:end !important;
    text-align:right !important;
    color:#78d5ff !important;
    font-size:clamp(20px,5.65vw,26px) !important;
    line-height:.96 !important;
    font-weight:960 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
  }
}

html.tv-browser .desktop-flow-dot,
html.tv-browser .mobile-flow-dot{
  opacity:.92 !important;
}

html.tv-browser .flow-line-new{
  opacity:.78 !important;
}
