/* Final Modern A composition */
#panel-dashboard .heroband{position:relative;display:block!important;height:350px;min-height:0;background:linear-gradient(90deg,rgba(4,13,23,.9),rgba(4,13,23,.12) 65%),url('/hero-dusk.jpg') center/cover!important;overflow:hidden}
#panel-dashboard .hero-heading{position:absolute;left:0;top:0;width:42%;z-index:3}#panel-dashboard .hero-status{margin-bottom:12px!important;font-size:10px}#panel-dashboard .hero-heading .eyebrow{display:none}#panel-dashboard .heroband .title{font-size:34px!important;margin:0 0 8px!important}#panel-dashboard .hero-description{margin:0!important}
#panel-dashboard .hero-visual{position:absolute;left:30%;top:12px;width:60%;height:270px;min-height:0!important}#panel-dashboard .vehicle-illustration{width:100%!important;height:100%;object-fit:contain}#panel-dashboard .visual-halo,#panel-dashboard .visual-caption,#panel-dashboard .visual-ground{display:none}
#panel-dashboard .hero-charge{position:absolute;top:128px;left:28px;width:220px;padding:0!important;z-index:4}.charge-label,.charge-footer,.soc-caption,.soc-glyph{display:none!important}#panel-dashboard .soc-ring{width:200px!important;height:auto!important;padding:0!important;background:none!important;border-radius:0!important;box-shadow:none!important}#panel-dashboard .soc-ring-content{display:block!important;background:none!important;padding:0!important;border-radius:0!important}#panel-dashboard .soc-ring-content b{font-size:34px!important}#panel-dashboard .soc-ring-content small{font-size:19px!important}#panel-dashboard .soc-ring:after{content:'';display:block;height:7px;border-radius:8px;margin-top:8px;background:linear-gradient(to right,#28e878 calc(var(--soc,0)*1%),#263e4a 0)}
#panel-dashboard .stats{position:absolute;bottom:18px;left:24px;right:24px;display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:12px;border:0!important}#panel-dashboard .hero-stat{padding:12px 16px!important;border:1px solid #49617366!important;border-radius:10px;backdrop-filter:blur(10px);background:#0b1726b8!important}#panel-dashboard .hero-stat-val b{font-size:23px!important}.hero-stat-signature{font-size:11px!important}
.dashboard-lower{display:grid;grid-template-columns:1.65fr 1fr;gap:16px}.dashboard-lower>.card{min-width:0;padding:20px}.new-stat{position:relative;overflow:hidden;border-top:2px solid #32acff!important}.new-stat:nth-child(2){border-top-color:#21d583!important}.new-stat:nth-child(3){border-top-color:#ffa21a!important}.new-stat:nth-child(4){border-top-color:#b1c6db!important}.new-stat:nth-child(2) strong{color:#4ce497}.new-stat:nth-child(3) strong{color:#ffba42}.new-stat:nth-child(4) strong{color:#dae7f6}.new-stat strong{font-size:25px}.new-stat small:last-child{display:block;margin-top:10px;font-size:10px}.new-stat:after{content:'';position:absolute;right:-30px;bottom:-45px;width:150px;height:100px;border-radius:50%;background:#268be314;filter:blur(12px)}
.sidebar-vehicle{display:none}.sidebar-footer{color:#90a8bf!important}.sidebar-brand-copy small{color:#9ab1c9!important}.sidebar-link-marker{display:none}.topbar .brand{display:none}.topbar{margin-bottom:16px}.filters-collapse{margin:0 0 16px!important}.filters-toggle{background:#102130!important;color:#b7cbdf!important;border:1px solid #29465e!important;border-radius:12px}.sidebar-menu-label{color:#819bb4!important}.sidebar-bottom{margin-top:auto}
@media(min-width:1040px){:root{--sidebar-width:220px}.app{padding-top:20px!important;margin-left:calc(var(--sidebar-width) + 28px)!important}.app-sidebar{padding-top:24px!important}.app-sidebar .tabs.sidebar-links .tab.sidebar-link{padding:12px 10px!important;margin:2px 0;font-size:12px!important}.desktop-page-title{font-size:22px!important}.desktop-page-caption{color:#6e95b5!important}}
@media(max-width:700px){.dashboard-lower{grid-template-columns:1fr}#panel-dashboard .heroband{display:block!important;height:395px!important}#panel-dashboard .hero-heading{width:100%;padding:20px!important}#panel-dashboard .heroband .title{font-size:27px!important}#panel-dashboard .hero-charge{left:20px;top:120px;width:130px!important}#panel-dashboard .soc-ring{width:125px!important}#panel-dashboard .hero-visual{left:29%;top:113px;width:74%!important;height:160px!important}#panel-dashboard .stats{left:12px;right:12px;bottom:12px;grid-template-columns:1fr 1fr!important;gap:8px}#panel-dashboard .hero-stat{padding:10px!important}#panel-dashboard .hero-stat-signature{grid-column:1/-1}#panel-dashboard .hero-stat-val b{font-size:19px!important}.new-stat strong{font-size:19px}.new-stats{gap:9px}.new-stat{padding:14px}.topbar{flex-wrap:wrap}.top-actions{flex-wrap:wrap}.location-grid{grid-template-columns:1fr}}
#panel-dashboard .hero-charge{height:auto!important;align-items:flex-start!important;justify-content:flex-start!important;gap:0!important}#panel-dashboard .soc-ring{display:block!important}#panel-dashboard .soc-ring:before{display:none!important}#panel-dashboard .soc-ring-content{height:auto!important}.sidebar-link span:nth-of-type(1){flex:0 0 24px!important}.sidebar-link span:nth-of-type(2){flex:1;text-align:left}.topbar button{background:#087bff!important;color:white!important}.sidebar-version{font-size:10px}
@media(max-width:700px){#panel-dashboard .stats{width:auto!important;min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}#panel-dashboard .hero-stat{min-width:0!important}#panel-dashboard .hero-stat-signature{display:none!important}#panel-dashboard .hero-visual{left:28%;width:69%!important}#panel-dashboard .hero-stat-val{gap:4px}.bottom-nav{max-width:calc(100vw - 24px)!important}.topbar .brand{display:flex!important}.topbar .brand .logo{display:none}.topbar .brand small{display:none}}
.chart-scroll:has(svg:empty):after{content:'Veri yüklendiğinde aylık trend burada görünür.';display:block;padding:25px;color:#8da8be;font-size:12px}
.dashboard-lower .chart-scroll{min-height:0!important;height:240px!important}.dashboard-lower #trendSvg{height:190px!important}.dashboard-lower>.card{min-height:285px!important}.dashboard-lower .chart-scroll:has(svg:empty):after{padding:8px 0}


/* ===== v86 · Claude katmanı (ChatGPT görsel temeli üzerine) ===== */
:root{--a-green:#2fe07a}
.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;min-width:20px;height:20px}
.nav-icon svg{width:18px;height:18px}

/* Hero bilgi bloğu */
#panel-dashboard .heroband{height:410px!important}
#panel-dashboard .heroband > .stats{display:none!important}
.a-info{margin-top:14px}
.a-range small{display:block;color:#b8c8d8;font-size:11.5px;margin-bottom:2px}
.a-range b{font-size:23px;color:#fff;font-weight:800;letter-spacing:-.5px}
.a-range em{font-style:normal;color:#8ea6bc;font-size:11px;display:block;margin-top:2px}
.a-online{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:12px;font-weight:700;color:var(--a-green)}
.a-online .dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}
.a-online.off{color:#8ea6bc}
.a-upd{font-size:11px;color:#9fb3c6;margin-top:3px}
.a-chips{position:absolute;left:24px;right:24px;bottom:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;z-index:5}
.a-chip{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;border:1px solid #49617366;background:#0b1726b8;backdrop-filter:blur(10px);min-width:0}
.a-chip svg{width:18px;height:18px;flex:0 0 18px;color:#cfe0ef}
.a-chip b{display:block;font-size:13px;color:#fff;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-chip small{display:block;font-size:10.5px;color:#8ea6bc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-chip.on svg{color:var(--a-green)}

/* KPI kartları */
.a-kpi{padding:16px 16px 10px!important;min-height:0!important}
.a-kpi-top{display:flex;align-items:center;gap:10px}
.a-kpi-ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:0 0 30px}
.a-kpi-ic svg{width:16px;height:16px}
.a-kpi-t{font-size:12px;font-weight:700;color:#dbe7f3}
.a-kpi-v{display:flex;align-items:baseline;gap:8px;margin-top:12px;flex-wrap:wrap}
.a-kpi-v b{font-size:24px;font-weight:800;color:#fff;letter-spacing:-.6px}
.a-kpi-v b small{font-size:13px;font-weight:700;color:#cfe0ef;margin-left:3px}
.a-delta{font-size:11px;font-weight:800;color:var(--a-green)}
.a-delta.down{color:#ff8a8a}
.a-spark{display:block;width:100%;height:38px;margin-top:6px}
.a-kpi-n{font-size:10px;color:#7f97ad;margin-top:2px}

/* Son şarjlar */
#trendSvg text{fill:#8ea6bc!important}
.a-rc{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #233a4f}
.a-rc:last-child{border-bottom:0}
.a-rc-ic{width:30px;height:30px;border-radius:9px;background:#16293b;display:grid;place-items:center;color:#cfe0ef}
.a-rc-ic svg{width:16px;height:16px}
.a-rc b{display:block;font-size:12.5px;color:#fff;font-weight:700}
.a-rc small{display:block;font-size:11px;color:#8ea6bc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-rc .soc{font-size:12px;font-weight:800;color:var(--a-green);white-space:nowrap}
.a-rc .kwh{font-size:12px;font-weight:700;color:#dbe7f3;white-space:nowrap;text-align:right;min-width:62px}

/* Şarj kablosu */
.a-cable{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:0;transition:opacity .5s}
.a-cable.show{opacity:1}
.a-cable-base{fill:none;stroke:#0b0d10;stroke-width:6;stroke-linecap:round}
.a-cable-hi{fill:none;stroke:#3a414a;stroke-width:1.6;stroke-linecap:round;transform:translate(-1px,-1.5px)}
.a-cable-flow{fill:none;stroke:#2fe07a;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:6 22;opacity:0}
.a-cable.charging .a-cable-flow{opacity:.95;animation:acFlow .9s linear infinite;filter:drop-shadow(0 0 4px #2fe07a)}
@keyframes acFlow{to{stroke-dashoffset:-28}}
.a-cable-plug{fill:#1b1f24;stroke:#4a525c;stroke-width:1.5}
.a-cable-glow{fill:#22d3ee;opacity:.55}
.a-cable.charging .a-cable-glow{fill:#2fe07a;animation:acPulse 1.6s ease-in-out infinite}
@keyframes acPulse{0%,100%{opacity:.35}50%{opacity:.95}}
@media (prefers-reduced-motion:reduce){.a-cable.charging .a-cable-flow,.a-cable.charging .a-cable-glow{animation:none}}

/* Telefon */
@media (max-width:700px){
  #panel-dashboard .heroband{height:530px!important;background-position:100% center!important}
  #panel-dashboard .hero-charge{left:20px!important;right:20px;top:112px!important;width:auto!important;display:grid!important;grid-template-columns:1fr 1fr;column-gap:16px;align-items:end!important}
  #panel-dashboard .soc-ring{width:auto!important}
  .a-info{display:contents}
  .a-range{grid-column:2;grid-row:1}
  .a-online,.a-upd{grid-column:1/-1}
  .a-online{margin-top:10px}
  #panel-dashboard .hero-visual{left:0!important;top:238px!important;width:70%!important;height:150px!important}
  .a-chips{left:12px;right:12px;bottom:12px;grid-template-columns:1fr 1fr;gap:8px}
  .a-chip{padding:9px 10px}
  .a-kpi-v b{font-size:20px}
  .a-kpi-n{display:none}
}
.a-kpi-v b small{display:inline!important;margin-left:4px}

/* v88 · araç zemine otursun */
@media (min-width:701px){
  #panel-dashboard .hero-visual{top:auto!important;bottom:60px!important;height:300px!important}
  #panel-dashboard .vehicle-illustration{object-position:50% 100%!important}
}
#panel-dashboard .hero-visual::after{content:"";position:absolute;left:50%;bottom:2px;width:min(46%,420px);height:26px;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(0,0,0,.7) 0%,rgba(0,0,0,.35) 45%,transparent 72%);z-index:1;pointer-events:none}
#panel-dashboard .vehicle-illustration{position:relative;z-index:2}
@media (max-width:700px){#panel-dashboard .vehicle-illustration{object-position:0% 100%!important}#panel-dashboard .hero-visual::after{left:34%;width:60%}}

/* v91 · mobil düzeltmeler */
#panel-dashboard .heroband::after{display:none!important}
@media (max-width:700px){
  /* yüzde ve menzil yan yana; bar menzilin altına taşmasın */
  #panel-dashboard .hero-charge{column-gap:22px!important;align-items:start!important}
  .a-range{align-self:start;padding-top:6px}
  .a-range b{font-size:22px}
  #panel-dashboard .soc-ring{max-width:100%}
  /* alt menü: daha kompakt, ikon üstte */
  .bottom-nav{padding:6px!important;gap:4px!important;bottom:10px!important;border-radius:18px!important}
  .bottom-nav .sidebar-link{min-width:66px!important;padding:7px 8px!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:3px!important;font-size:10.5px!important;font-weight:700!important;border-radius:12px!important;border:0!important;white-space:nowrap}
  .bottom-nav .nav-icon{width:18px!important;height:18px!important;min-width:18px!important}
  .bottom-nav .nav-icon svg{width:18px!important;height:18px!important}
  .app{padding-bottom:110px!important}
}

/* v92 · mobilde araç zemine (garaj önündeki beton) otursun */
@media (max-width:700px){
  #panel-dashboard .heroband{height:600px!important;background-position:100% 50%!important}
  #panel-dashboard .hero-visual{top:auto!important;bottom:136px!important;left:0!important;width:62%!important;height:150px!important}
  #panel-dashboard .vehicle-illustration{object-position:0% 100%!important}
  #panel-dashboard .hero-visual::after{left:0;width:62%;transform:none;bottom:0}
}

/* v93 · mobilde duvar ve şarj cihazı daha küçük: görsel 440px yükseklikte, durum kutularının hemen üstünde biter; üst kenar gökyüzü rengine yumuşak geçer */
@media (max-width:700px){
  #panel-dashboard .heroband{
    background:
      linear-gradient(90deg,rgba(4,13,23,.6) 0%,rgba(4,13,23,0) 60%),
      linear-gradient(180deg,rgba(4,13,23,.35) 0%,rgba(4,13,23,0) 40%),
      linear-gradient(180deg,#52688e 0px,#52688e 36px,rgba(82,104,142,0) 110px),
      url('/hero-dusk.jpg') right 0 bottom 124px/auto 440px no-repeat,
      linear-gradient(180deg,#52688e 0%,#0b1520 79%,#0b1520 100%)!important}
}

/* ===== v94 · TEMA KÖPRÜSÜ: sabit koyu renkler yerine tema değişkenleri (tüm temalarda okunur) ===== */
html body{background:radial-gradient(ellipse at 80% 0,color-mix(in srgb,var(--primary) 14%,transparent),transparent 55%),var(--bg)!important;color:var(--text)!important}
html body .card,html body .kpi,html body .new-stat,html body .a-kpi,html body .dashboard-lower>.card,html body .location-grid .card{
  background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,var(--text) 6%),var(--surface))!important;
  border-color:var(--border)!important;color:var(--text)!important}
html body .card h2,html body .card h3,html body .card h4,html body .val,html body .new-stat strong,html body .page-intro h2,
html body .a-kpi-v b,html body .a-kpi-t,html body .a-rc b,html body .a-rc .kwh,html body .row .v,html body .s-date{color:var(--text)!important}
html body .muted,html body .card small,html body .a-kpi-n,html body .a-rc small,html body .a-kpi-v b small,html body .page-intro p,html body .new-empty,html body .row .k,html body .s-meta{color:var(--text-muted)!important}
html body .a-rc{border-bottom-color:var(--border)!important}
html body .a-rc-ic{background:var(--primary-soft)!important;color:var(--primary-text)!important}
/* sol menü, üst çubuk, filtre, alt menü */
html body .app-sidebar{background:linear-gradient(165deg,color-mix(in srgb,var(--surface) 90%,var(--primary) 10%),var(--surface))!important;border-color:var(--border)!important}
html body .sidebar-brand-copy strong,html body .desktop-page-title{color:var(--text)!important}
html body .sidebar-brand-copy small,html body .sidebar-menu-label,html body .sidebar-footer,html body .desktop-page-caption{color:var(--text-muted)!important}
html body .app-sidebar .tabs.sidebar-links .tab.sidebar-link{color:var(--text-soft)!important}
html body .app-sidebar .tabs.sidebar-links .tab.sidebar-link:hover{background:var(--primary-soft)!important;color:var(--text)!important;border-color:var(--border)!important}
html body .app-sidebar .tabs.sidebar-links .tab.sidebar-link.active,html body .bottom-nav .sidebar-link.active{background:var(--primary)!important;color:#fff!important}
html body .topbar{background:var(--surface)!important;border-color:var(--border)!important;color:var(--text)!important}
html body .topbar .brand,html body .topbar h1,html body .topbar .title{color:var(--text)!important}
html body .filters-toggle{background:var(--surface)!important;color:var(--text-soft)!important;border-color:var(--border)!important}
html body .filters-toggle b{color:var(--text)!important}
html body .bottom-nav{background:color-mix(in srgb,var(--surface) 92%,transparent)!important;border-color:var(--border)!important}
html body .bottom-nav .sidebar-link{color:var(--text-soft)!important}
/* tablolar, girişler, çipler */
html body .new-table th{color:var(--text-muted)!important}
html body .new-table td{color:var(--text)!important;border-bottom-color:var(--border)!important}
html body input,html body select,html body textarea,html body #panel-dashboard input[type=date],html body .new-toolbar input{background:var(--bg)!important;color:var(--text)!important;border-color:var(--border)!important;color-scheme:normal}
html[data-mode=dark] body input[type=date]{color-scheme:dark}
html body .chip{background:var(--surface)!important;color:var(--text-soft)!important;border-color:var(--border)!important}
html body .chip.active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}
html body button.secondary{background:var(--primary-soft)!important;color:var(--primary-text)!important}
/* grafik yazıları */
html body #trendSvg text,html body .chart-svg text{fill:var(--text-muted)!important}
html body .chart-legend,html body .donut-list{color:var(--text-soft)!important}
/* ÜST KART: fotoğraf üstünde her temada beyaz yazı kalsın */
html body #panel-dashboard .heroband .title,html body #panel-dashboard .heroband .soc-ring-content b,html body #panel-dashboard .heroband .a-range b,html body #panel-dashboard .heroband .a-chip b{color:#fff!important}
html body #panel-dashboard .heroband .hero-description,html body #panel-dashboard .heroband .a-range small,html body #panel-dashboard .heroband .a-upd{color:#d3dfeb!important}
html body #panel-dashboard .heroband .a-range em,html body #panel-dashboard .heroband .a-chip small{color:#a9bccd!important}
/* Açık temada kart gölgesi ve kenarlar */
html[data-mode=light] body .card,html[data-mode=light] body .a-kpi,html[data-mode=light] body .new-stat{box-shadow:0 4px 14px rgba(15,23,42,.06)!important}
html[data-mode=light] body .a-kpi-ic{filter:saturate(1.1)}
/* açık temada yeşil/mavi vurgular koyulaşsın */
html[data-mode=light] body .a-rc .soc,html[data-mode=light] body .a-delta{color:#0f8a43!important}
html[data-mode=light] body .a-delta.down{color:#c0392b!important}
html body .location-grid a{color:var(--primary)!important}
html body .topbar button,html body .sidebar-brand-icon{background:var(--primary)!important;color:#fff!important;box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 30%,transparent)!important}
html body .sidebar-brand-copy strong span{color:var(--primary)!important}

/* v96 · Şarj haritası */
.a-locmap-card{padding:18px!important;margin-bottom:16px}
.a-locmap-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.a-locmap-head h3{margin:0!important}
.a-locmap-legend{display:flex;gap:12px;font-size:12px;color:var(--text-soft)}
.a-locmap-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
#a-locmap{height:380px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--bg);z-index:0}
.a-locmap-note{font-size:11.5px;margin:10px 2px 0}
.a-locmap-card .leaflet-popup-content{font-size:13px;line-height:1.45}
.a-locmap-card .leaflet-popup-content a{color:#2563eb}
@media (max-width:700px){#a-locmap{height:300px}}
html body #donutSvg text:first-of-type{fill:var(--text)!important}
html body #donutSvg text{fill:var(--text-muted)!important}
.a-locmap-card .leaflet-top{z-index:500}

/* v97 · koyu temada OSM haritası koyulaştırılır */
.a-tiles-dark{filter:invert(1) hue-rotate(180deg) brightness(.95) contrast(.9) saturate(.6)}

/* v99 · mobilde araç-duvar oranı: araç büyüdü ve duvarın önüne park etti, şarj cihazı aracın arka tarafının üstünde */
@media (max-width:700px){
  #panel-dashboard .heroband{background-position:0 0,0 0,0 0,right -60px bottom 124px,0 0!important}
  #panel-dashboard .hero-visual{left:-2%!important;width:86%!important;height:182px!important;bottom:128px!important}
  #panel-dashboard .hero-visual::after{left:4%;width:74%}
}
/* v100: yakındaki şarj istasyonları + haftalık elektrik */
.nearby-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:16px 0}
@media(min-width:900px){.nearby-grid{grid-template-columns:1.4fr 1fr}}
.nearby-card{padding:18px!important;min-width:0}
.nearby-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.nearby-head h3{margin:0 0 2px;font-size:15px}
.nearby-btn{background:var(--primary-soft);color:var(--primary-text);border:1px solid var(--border);border-radius:10px;width:34px;height:34px;font-size:16px;cursor:pointer}
.nearby-filter{display:flex;gap:6px;margin-bottom:8px}
.nb-chip{background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer}
.nb-chip.active{background:var(--primary-soft);color:var(--primary-text);border-color:transparent}
.nearby-list{list-style:none;margin:0;padding:0}
.nearby-list li+li{border-top:1px solid var(--border)}
.nb-row{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;padding:9px 2px;color:var(--text);text-decoration:none}
.nb-dist{font-weight:700;font-size:13px;color:var(--primary-text)}
.nb-main{min-width:0}.nb-main b{display:block;font-size:13px}
.nb-main small{display:block;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nb-pow{display:flex;flex-direction:column;gap:3px;align-items:flex-end}
.nb-badge{font-size:10px;padding:2px 7px;border-radius:6px;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}
.nb-badge.dc{color:#21d583;border-color:#21d58355}
.nb-empty{color:var(--text-muted);font-size:12px;padding:10px 0}
.nearby-src{display:block;margin-top:10px;font-size:10px;color:var(--text-muted)}
.el-kpi b{font-size:30px;line-height:1.1;color:var(--text)}.el-kpi small{display:block;color:var(--text-muted);font-size:11px}
.el-chg{display:inline-block;margin-top:6px;font-size:11px;padding:2px 8px;border-radius:999px}
.el-chg.up{background:#ff5a5a1f;color:#ff7a7a}.el-chg.down{background:#21d5831f;color:#4ce497}
.el-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.el-grid>div{border:1px solid var(--border);border-radius:10px;padding:8px;min-width:0}
.el-grid small{display:block;font-size:10px;color:var(--text-muted)}.el-grid b{display:block;font-size:14px;margin:2px 0;color:var(--text)}
.el-bars{display:flex;align-items:flex-end;gap:6px;height:80px}
.el-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.el-bar i{display:block;width:100%;max-width:28px;border-radius:5px 5px 2px 2px;background:#32acff88}
.el-bar.today i{background:#32acff}.el-bar.future i{background:transparent;border:1px dashed #32acff}
.el-bar span{font-size:10px;color:var(--text-muted);margin-top:4px}
