/* EMS palette: clear medium blues, sky-blue presentation surfaces, white data cards. */
:root{
  --blue:#246eb0;
  --blue-hover:#1e5e98;
  --blue-surface:#dbedfc;
  --blue-surface-raised:#c1ddf6;
  --blue-on-surface:#1f4b72;
  --blue-on-surface-muted:#33597b;
  --ink:#233d57;
  --muted:#607b95;
  --green:var(--blue);
  --green-dark:var(--blue-hover);
  --line:#d8e7f4;
  --bg:#f3f8fd;
  --nav:#2e6ca4;
}
.sidebar{background:linear-gradient(170deg,#2e6ca4 0%,#245c92 100%);color:#edf6ff;border-right:1px solid #2b6499}
.brand{height:89px;color:#ffffff}
.brand-mark{background:linear-gradient(155deg,#acdafe,#74b7ec 60%,#4c97d4)}
.brand-mark span{color:#fff}
.brand-en{color:#e7f4ff}
.nav-label{color:#e0f0ff}
.nav-item{color:#edf6ff}
.nav-item:hover{background:#3776ad;color:#ffffff}
.nav-item.active{background:#3977ad;color:#ffffff;box-shadow:inset 3px 0 #b4e1ff}
.nav-item .count{background:#efdbb8;color:#735a32}
.sidebar-bottom{border-color:#90c5ed59}
.environment{color:#ecf6ff}
.sidebar-bottom small{color:#e0f0ff}
.dot{background:#299d80}
.topbar{height:65px}
.full-view .topbar{background:#f4f9fe}
.breadcrumb strong{color:#365b7d}
.top-actions>.text-mini:last-child{color:#246eb0;font-weight:500}
.status{background:#e9f8f1;color:#21835e}
.status.warn{background:#fff4de;color:#a7791b}
.status.bad{background:#fff0ed;color:#c25e53}
.status.neutral{background:#eff2f6;color:#7d8799}
.kpi-bottom b{color:#249375}
.panel-head h2:before{background:#5b9bd3}
.notice{background:#edf6ff;border-color:#d0e5f7;color:#45698a}
.campus-hero{background:radial-gradient(ellipse at 68% 35%,#e0f2ff 0%,#c5e4fb 42%,#acd3f2 85%);border-color:#97c5e9;color:var(--blue-on-surface);box-shadow:0 14px 36px #2b6da01a}
.campus-hero:after{background:linear-gradient(90deg,#badfff33 0%,transparent 30%),linear-gradient(0deg,#acd3f2 0%,transparent 29%)}
.hero-copy h1{color:#1f4b72}
.hero-copy h1 em{color:#2878b9}
.hero-eyebrow{color:#385e80}
.hero-eyebrow>span{background:#4b95d1}
.hero-copy p{color:#2d597f}
.hero-copy p span{color:#355b7c}
.hero-scope-number{color:#205b8c}
.hero-scope{color:#325d81}
.hero-scope small{color:#355b7c}
.hero-utility button{color:#255a87}
.hero-utility button:hover{color:#194b77}
.hero-kpis{background:#eff8ffeb;border-color:#a9d1ef}
.hero-metric+.hero-metric:before{background:#b1d5f1}
.hero-metric strong{color:#225581}
.hero-metric-label{color:#355f83}
.hero-metric-unit,.hero-metric small{color:var(--blue-on-surface-muted)}
.hero-capacity-caption,.hero-range-label{color:#385e80}
.hero-capacity-heading{color:#385e80}
.hero-capacity-heading strong{color:#225581}
.hero-capacity-heading small,.hero-capacity-scale>span{color:#385e80}
.hero-capacity-heading:after{color:#4679a3}
.hero-capacity-track{background:#99c3e6}
.hero-capacity-track>span{background:#4d97d2}
.hero-capacity-row.storage .hero-capacity-track>span{background:#4ea88e}
button.hero-capacity-row:hover{background:#5ca6dc26}
.hero-toolbar .select,.hero-toolbar .btn,.hero-button{background:#f1f9fff2!important;color:var(--blue-on-surface)!important;border-color:#94c3e7!important}
.hero-toolbar .select option{background:#f0f8ff;color:var(--blue-on-surface)}
.hero-toolbar .btn:hover,.hero-button:hover{background:#c1ddf6!important;border-color:#689ece!important}
.hero-data-note,.hero-scene-controls,.scene-interaction-hint{color:var(--blue-on-surface-muted)}
.campus-reset{color:#35668f;background:#e9f5ffe6;border-radius:4px;padding:3px 6px}
.campus-reset:hover{color:#1f4b72;background:#c1ddf6}
.scene-interaction-hint{background:#e9f5ffe6;border-radius:4px;padding:3px 6px}
.sample-dot{background:#299d80}
.campus-loading{background:#f1f9fff2;color:#385e80;border-color:#a3cdec}
.campus-view-buttons{background:#cbe6faef;border-color:#98c4e7}
.campus-view-buttons button{color:#2e5e86}
.campus-view-buttons button:hover{background:#b2daf7}
.campus-view-buttons button[aria-pressed=true]{background:#fff;color:#22669e;box-shadow:0 1px 5px #347bb51a}
.campus-view-caption>span,.campus-view-picker>span{background:#e4f3ffef;color:#385e80}
.campus-view-caption>button{background:#bddff8;border-color:#83b8e0;color:#245c85}
.campus-view-caption>button:hover{background:#a5d3f5}
.campus-hotspot{background:#f2fafff5!important;border-color:#8dbde2!important;box-shadow:0 4px 14px #2c709f1a}
.campus-hotspot:hover,.campus-hotspot:focus-visible{background:#d7edfc!important;border-color:#6aa5d3!important}
.campus-hotspot-dot{background:#4e92c8;box-shadow:0 0 9px #4e92c833}
.campus-hotspot-label{color:#24557d!important}
.campus-hotspot-value{color:#3b6588!important}
.facility-panel{background:#eff8fff7;color:#2b567b;border-color:#98c3e4;box-shadow:0 14px 40px #2c709f26}
.facility-panel-head{border-color:#bfdcf2}
.facility-panel-body{scrollbar-color:#9fc8e8 transparent}
.facility-panel-head small,.facility-panel-head>button,.facility-result small,.facility-result em,.facility-slider>span,.facility-assumption,.facility-session-note,.facility-state small,.facility-numbers small{color:#385e80}
.facility-slider output,.facility-result strong{color:#235c8a}
.facility-slider input{accent-color:#4c94cf}
.facility-primary{background:#baddf8;color:#235783}
.facility-primary:hover{background:#a3cff0}
.facility-secondary{background:#f6fbff;color:#35668f;border-color:#a5cde9}
.facility-presets button{color:#32648b;border-color:#a4cbea}
.facility-presets button[aria-pressed=true]{background:#b4d8f4;color:#255c87}
.facility-boundary{background:#fff3dc;color:#856327;border-color:#eddbb9}
.facility-error{color:#ac4a39}
.facility-panel-links{border-color:#bfdcf2}
.facility-panel-links button{color:#2b70a7}
.demo-charger-selector>button{color:#32648b;border-color:#a4cbea}
.demo-charger-selector>button[aria-pressed=true]{background:#b4d8f4;border-color:#76b1dc}
.demo-battery>div:first-child,.demo-energy-line{color:#385e80}
.demo-battery-track{background:#cfe4ec}
.demo-battery-track>span{background:#64b79f}
.demo-battery-track>i{background:#2f7e69}
.demo-battery.charging .demo-battery-track>span{background:linear-gradient(100deg,#62b49b 0%,#a4dcca 45%,#62b49b 75%);background-size:200% 100%}
.demo-battery strong{color:#287c68}
.demo-energy-line i{background:#9bc5e7}
.demo-energy-line.running i:after{background:#4f98ce}
.mobile-content{max-width:none;padding:24px 28px 18px}.mobile-content .footer{margin-top:20px}.mobile-presentation .sidebar,.mobile-presentation .topbar,.mobile-presentation .footer{display:none}.mobile-presentation .shell{display:block}.mobile-presentation .workspace{display:block}.mobile-presentation .mobile-content{padding:0;max-width:none;min-height:100svh}
.mobile-presentation #mobile-root{min-height:100svh}
@media(min-width:761px){.mobile-dashboard:not(.mobile-showcase) .mobile-grid{height:620px}.mobile-dashboard:not(.mobile-showcase) .mobile-map-panel{min-height:0}.mobile-dashboard:not(.mobile-showcase) .mobile-detail{min-height:0}.mobile-dashboard:not(.mobile-showcase) .mobile-detail-heading,.mobile-dashboard:not(.mobile-showcase) .mobile-detail-tabs,.mobile-dashboard:not(.mobile-showcase) .mobile-detail-footer{flex-shrink:0}.mobile-dashboard:not(.mobile-showcase) .mobile-detail-body{overflow:auto;scrollbar-width:thin;scrollbar-color:#cedceb transparent}}
@media(min-width:901px) and (max-height:780px){body:not(.full-view) .hero-data-note{bottom:115px}body:not(.full-view) .hero-capacities+.hero-utility{margin-top:7px}}
@media(max-width:900px){.mobile-content{padding:18px 16px}.top-actions>.text-mini:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
