/* Shared brand and appearance controls. Dark is the existing default. */
:root { --brand-ring:#f4f8f7; --theme-control-bg:#0c1e20; --theme-control-border:#2c4649; --theme-control-text:#d1e6e3; }
body .brand { display:inline-flex; align-items:center; gap:8px; color:var(--text,#f5f7f7); text-decoration:none; white-space:nowrap; }
body .brand .brand-mark { color:var(--brand-ring); width:28px; height:34px; flex:0 0 auto; overflow:visible; }
body .footer-main .brand { gap:8px; }
body .footer-main .brand-mark { width:23px; height:29px; }
.theme-toggle { display:inline-flex; align-items:center; justify-content:center; gap:7px; flex:0 0 auto; min-height:40px; padding:9px 11px; border:1px solid var(--theme-control-border); border-radius:9px; background:var(--theme-control-bg); color:var(--theme-control-text); font:600 12px/1.2 var(--font,system-ui,sans-serif); cursor:pointer; }
.theme-toggle[hidden] { display:none; }
.theme-toggle svg { width:18px; height:18px; flex:none; }
.theme-toggle__moon { display:none; }
.theme-toggle:hover { border-color:#00bb89; }
.theme-toggle:focus-visible { outline:2px solid #00b789; outline-offset:3px; }
[data-theme=light] .theme-toggle__sun { display:none; }
[data-theme=light] .theme-toggle__moon { display:block; }
body .header-inner { gap:16px; }
body .header-inner nav { margin-right:0; }
body .header-inner .nav-list-station { display:none; }
.cg-admin .brand { font:750 23px/1.2 system-ui,sans-serif; letter-spacing:-1px; }
.cg-admin .brand .green { color:var(--green,#00e8ad); }
.cg-admin .login-brand { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.cg-admin .login-brand .theme-toggle { padding:9px; }
.cg-admin .login-brand .theme-toggle__label { display:none; }
.cg-admin .side>.brand { margin-bottom:28px; }

/* Light tokens cover the public site, all EV tools and the admin shell. */
:root[data-theme=light], :root[data-theme=light] body {
  color-scheme:light;
  --bg:#ffffff; --surface:#ffffff; --surface-2:#f0f6fc; --border:#d4e2ef;
  --text:#102a4c; --muted:#526b85; --green:#007f9e; --green-dark:#e5f7fc;
  --amber:#926000; --red:#b83832;
  --type-dc:#007f9e; --type-ac:#216db4; --type-mixed:#7751af; --type-unknown:#5f6f77;
  --cg-bg:#ffffff; --cg-surface:#ffffff; --cg-surface-raised:#f0f6fc;
  --cg-border:#d4e2ef; --cg-muted:#526b85; --cg-text:#102a4c; --cg-accent:#007f9e;
  --brand-ring:#073b79; --theme-control-bg:#f1f7fc; --theme-control-border:#cadfec; --theme-control-text:#174c75;
  background:#fff; color:var(--text);
}
:root[data-theme=light] body :is(#site-header,#site-footer) { background:#fff; border-color:var(--border); }
:root[data-theme=light] body :is(.ev-menu-links,.ev-tools-menu>div) { background:#fff; border-color:var(--border); box-shadow:0 12px 30px #123d681a; }
:root[data-theme=light] body :is(.ev-nav,.footer-bottom,.faq-list,.faq-list details,.ev-faq details,.ev-table td,.ev-table th,fieldset) { border-color:var(--border); }
:root[data-theme=light] body :is(.ev-tools-menu a:hover,.ev-tools-menu>div a[aria-current=page]) { background:#e5f5fc; color:var(--green); }
:root[data-theme=light] body :is(.header-inner nav a,.ev-menu summary,.ev-nav>a,.ev-tools-menu>summary) { color:var(--text); }
:root[data-theme=light] body :is(.header-inner nav a:hover,.header-inner nav a[aria-current]) { color:var(--green); }
:root[data-theme=light] body .btn-primary,
:root[data-theme=light] .cg-admin .btn.primary { background:linear-gradient(110deg,#00d5bd,#00b8ce); color:#062e51; border-color:transparent; }
:root[data-theme=light] body .btn-primary:hover { background:#4de4dc; }
:root[data-theme=light] body :is(.btn-secondary,.btn-outline,.icon-button,.filter-chip,.ev-pagination a,.ev-pills>a) { background:#f5f9fd; color:var(--text); border-color:var(--border); }
:root[data-theme=light] body :is(.btn-secondary:hover,.btn-outline:hover,.filter-chip:hover) { background:#e6f4fc; border-color:#79b6d5; }
:root[data-theme=light] body .header-inner .header-list { background:linear-gradient(110deg,#007d9b,#07458a); border-color:transparent; color:#fff; }
:root[data-theme=light] body .header-inner .header-list:hover { background:linear-gradient(110deg,#006c88,#063a76); }
:root[data-theme=light] body .theme-toggle:hover { background:#e6f4fc; border-color:#008eaf; }
:root[data-theme=light] body :is(a,button,input,select,textarea,summary):focus-visible { outline-color:#008eaf; }
:root[data-theme=light] body :is(.btn-ghost,.text-link,.reach-link) { color:var(--green); }
:root[data-theme=light] body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) { color:var(--text); background:#fff; border-color:#b5cede; color-scheme:light; }
:root[data-theme=light] body :is(input,textarea)::placeholder { color:#667d95; opacity:1; }
:root[data-theme=light] body :is(input,select,textarea):focus { border-color:#008eaf; }
:root[data-theme=light] body :is(input[type=checkbox],input[type=radio],input[type=range]) { accent-color:#008eaf; }
:root[data-theme=light] body :is(label,legend,.field,.cg-field__label) { color:var(--text); }
:root[data-theme=light] body :is(.section-tint,.coverage-strip,.finder-sidebar,.route-stats,.prototype-notice) { background:#f1f7fc; border-color:var(--border); }
:root[data-theme=light] body :is(.panel,.station-card,.value-card,.city-card,.tool-card,.connector-guide-card,.guide-preview,.stop-card,.trip-empty,.checkbox-option,.radio-card,.ev-card,.ev-brand,.ev-budget,.ev-advanced,.ev-comparison-preview,.cg-card,.cg-metric,.cg-feature-card,.cg-calculator--ownership,.cg-calculator--installation,.cg-calculator--range,.cg-business-card,.cg-product-card,.cg-popular-car,.cg-wizard,.cg-budget-choice,.cg-wizard-choice,.cg-quiz-help,.cg-quiz-review,.cg-result-panel) { background:#fff; border-color:var(--border); box-shadow:0 3px 18px #123d6808; }
:root[data-theme=light] body :is(.journey-panel,.owner-panel,.contact-panel,.road-banner,.ev-discover,.ev-search-panel,.ev-compare-banner,.cg-hardware-types,.cg-tool-cta,.cg-network--compact,.cg-cta) { background:linear-gradient(115deg,#e8f6fd,#f9fcff); border-color:#b9dbe9; }
:root[data-theme=light] body :is(.hero-search,.quick-trip,.quick-field,.network-mini-card,.finder-search,.ev-search-input,.mobile-view-toggle,.map-data-tag,.map-notice,.map-selection,.map-legend,.trip-map-legend) { background:#ffffffed; border-color:var(--border); color:var(--text); }
:root[data-theme=light] body :is(.network-pill,.popular-row a,.connector,.demo-pill,.filter-chip.active,.step-index,.feature-icon,.connector-symbol,.owner-emblem,.faq-list summary>span,.stop-timeline span,.route-arrival>span,.success-icon,.ev-tool-icon,.ev-network-icon,.ev-live-status,.ev-saved-button>span,.cg-icon-box,.cg-inline-tip,.cg-verified,.cg-business-monogram,.cg-quiz-results .match-note,.cg-calculator--installation .cg-calculator-results,.cg-metric--saving) { background:#e5f5fc; border-color:#b4dbe9; color:var(--green); }
:root[data-theme=light] body :is(.city-card:hover,.radio-card:has(input:checked),.cg-choice:has(input:checked),.ev-quick-links a:hover,.ev-brand:hover,.ev-brand[aria-current=true],.cg-budget-choice[aria-pressed=true],.cg-wizard-choice[aria-pressed=true]) { background:#e8f8fd; border-color:#008eaf; color:var(--text); }
:root[data-theme=light] body :is(.ev-quick-links a,.cg-browse-links .ev-pills>a,.ev-footer-note,.cg-segments,.cg-service-tags>span,.cg-comparison-nav,.cg-calculator--charging .cg-field-icon) { background:#f1f7fc; color:var(--text); border-color:var(--border); }
:root[data-theme=light] body :is(.ev-pills label>span,.ev-wishlist,.cg-quiz-steps>div>span) { background:#fff; color:var(--muted); border-color:var(--border); }
:root[data-theme=light] body :is(.ev-nav>a[aria-current=page],.ev-nav .ev-tools-menu.is-current>summary,.ev-pills input:checked+span,.ev-pills>a[aria-current=page],.ev-pagination a[aria-current=page],.cg-segments>button[aria-pressed=true],.cg-range-standards input:checked+span,.cg-quiz-steps>div[aria-current=step]>span,.ev-car-badge,.cg-step-number) { background:#00c8c9; color:#073452; border-color:#00c8c9; }
:root[data-theme=light] body .ev-wishlist[aria-pressed=true] { color:var(--green); }
:root[data-theme=light] body .ev-car-badge[data-powertrain=PHEV] { background:#ffe0a0; color:#553b06; }
:root[data-theme=light] body .ev-car-badge[data-powertrain=REEV] { background:#afeaf6; color:#154b60; }
:root[data-theme=light] body .ev-car-badge[data-powertrain=HEV] { background:#e4d7ff; color:#503780; }
:root[data-theme=light] body .cg-quiz-steps>div.is-complete>span,
:root[data-theme=light] body .cg-quiz-steps>div[aria-current=step]>strong { background:#dff4fc; color:var(--green); }
:root[data-theme=light] body .cg-quiz-steps>div:not(:last-child):after { background:#c5dce9; }
:root[data-theme=light] body :is(.cg-payback-track,.cg-cost-bar) { background:#e5eff8; }
:root[data-theme=light] body .cg-wizard-progress::-webkit-progress-bar { background:#e5eff8; }
:root[data-theme=light] body :is(.cg-payback-track>span,.cg-cost-bar i:first-child) { background:linear-gradient(110deg,#00cbbb,#008fbe); }
:root[data-theme=light] body .journey-line { border-color:#39a9c5; }
:root[data-theme=light] body .steps-grid:before { background:linear-gradient(90deg,#00a8bd80,#00a8bd10); }
:root[data-theme=light] body .ev-versus { background:#e3f5fd; border-color:#9ccbdc; color:var(--green); box-shadow:0 0 24px #00a8bd1a; }
:root[data-theme=light] body :is(.ev-tool-card:hover,.cg-quiz-help) { background:#eef7fd; border-color:#8cbcd6; }
:root[data-theme=light] body .cg-check-list li:before { color:#fff; }

/* Text colors are explicit where the original dark components used fixed colors. */
:root[data-theme=light] body :is(.hero-description,.hero-trust,.hero-note,.quick-field>span,.quick-trip-heading>span:last-child,.network-mini-card p,.coverage-stats span,.journey-visual small,.journey-caption,.owner-checklist li,.operator,.station-location,.station-meta,.last-verified,.verification,.station-card .distance,.image-label,.filter-label,.finder-results-heading small,.map-popup p,.map-popup small,.map-selection .muted,.route-stat span,.route-result-top p,.stop-card-header p,.stop-facts,.route-station-row small,.trip-empty p,.trip-empty-steps,.detail-heading p,.facts dt,.detail-action-panel p,.report-item p,.report-item small,.footer-main p,.footer-main>div>a:not(.brand),.footer-bottom,.form-note,.field-help,.breadcrumb) { color:var(--muted); }
:root[data-theme=light] body :is(.hero-search .icon-button,.quick-field input,.hero-search .search-field input,.station-title-row h3,.stop-facts strong,.route-stat strong,.footer-main strong,.footer-main .brand,.calculator-result strong,.ev-results-toolbar strong,.cg-installation-breakdown dd,.cg-car-select>button,.cg-compare-options>a,.ev-card-specs dt,.ev-card-specs dt svg,.cg-application>aside p) { color:var(--text); }
:root[data-theme=light] body :is(.footer-main a[href^='mailto:'],.faq-list details[open] summary,.cg-comparison-table .best,.ev-table .best,.ev-tool-card strong,.calculator-result,.journey-visual i) { color:var(--green); }
:root[data-theme=light] body :is(.ev-muted,.ev-facts dt,.ev-vehicle-figure figcaption,.ev-card-category,.ev-card-specs dd,.ev-card-specs .ev-icon,.ev-photo-pending,.ev-photo-pending small,.ev-results-toolbar,.ev-advanced>summary>span,.ev-tool-card p,.ev-compare-banner p,.ev-network-banner p,.ev-comparison-preview dd,.ev-clean-badge,.ev-hero p,.ev-hero-trust,.cg-field small,.cg-footnote,.cg-hero-benefits small,.cg-range-hero .cg-hero-secondary,.cg-metric span:not(.cg-icon-box),.cg-metric small,.cg-result-note,.cg-calculation-details summary,.cg-calculation-details dt,.cg-chart-key,.cg-range-results small,.cg-road-card figcaption span,.cg-check-list,.cg-comparison-table tbody th,.cg-comparison-table thead th:first-child,.cg-comparison-car>span,.cg-comparison-same,.cg-business-heading small,.cg-business-facts small,.cg-scenario p,.cg-scenario small,.cg-quiz-steps>div,.cg-quiz-steps small,.cg-budget-choice small,.cg-custom-budget,.cg-wizard-restart,.cg-quiz-review dt) { color:var(--muted); }
:root[data-theme=light] body .ev-card-price { color:var(--text)!important; }
:root[data-theme=light] body :is(.ev-card-price:before,.ev-faq summary:before,.ev-faq summary>span) { color:var(--muted); }
:root[data-theme=light] body :is(.status.green,.power-label) { color:var(--green); }
:root[data-theme=light] body :is(.status.amber,.cg-metric--pair:first-child h3 svg,.cg-metric--pair:nth-child(3) h3 svg,.cg-metric--payback h3 svg) { color:#9a6500; }
:root[data-theme=light] body :is(.status.red,.cg-calculator-message.is-error,.cg-metric--pair dl>div:last-child dd) { color:#b8332d; }
:root[data-theme=light] body .status.gray { color:#5c6f71; }
:root[data-theme=light] body .notice { background:#edf5fa; color:#214a70; border-color:#b5d4e7; }
:root[data-theme=light] body .notice-success { background:#e3f6eb; color:#1d6445; border-color:#aad4ba; }
:root[data-theme=light] body .notice-warning { background:#fff6df; color:#765311; border-color:#e8cf94; }
:root[data-theme=light] body .notice-warning strong { color:#765311; }

/* Light surfaces and blue photo overlays follow the navy/cyan palette. */
:root[data-theme=light] body[data-page=home] .hero { background:#07366a; border-color:#174d7d; color:#f6fbff; }
:root[data-theme=light] body[data-page=home] .hero-scene { width:100%; opacity:1; }
:root[data-theme=light] body[data-page=home] .hero:before { background:linear-gradient(90deg,#06386e 4%,#07396ef2 32%,#0839698c 56%,#082d5014 84%),linear-gradient(0deg,#072f5d9c,transparent 48%); }
:root[data-theme=light] body[data-page=home] .hero :is(h1,h2) { color:#f6fbff; }
:root[data-theme=light] body[data-page=home] .hero h1 .green { color:#00dfd0; }
:root[data-theme=light] body[data-page=home] .hero :is(.hero-description,.hero-trust,.hero-note,.popular-row>span) { color:#d0e4f5; }
:root[data-theme=light] body[data-page=home] .hero :is(.hero-trust .icon,.quick-trip-heading .icon) { color:#00a6b8; }
:root[data-theme=light] body[data-page=home] .hero .hero-trust .icon { color:#25dfcf; }
:root[data-theme=light] body[data-page=home] .hero .network-pill { background:#064475a6; border-color:#21cbbb70; color:#33e5d3; }
:root[data-theme=light] body[data-page=home] .hero .popular-row a { background:#0c467699; border-color:#80c3e570; color:#e5f6ff; }
:root[data-theme=light] body[data-page=home] .hero .popular-row a:hover { background:#12608a; border-color:#37dfd2; }
:root[data-theme=light] body[data-page=home] .hero :is(.quick-trip,.hero-search,.network-mini-card) { color:#102a4c; background:#fffffff2; box-shadow:0 12px 35px #031d3b20; }
:root[data-theme=light] body[data-page=home] .hero .hero-search .search-field { color:#007f9e; }
:root[data-theme=light] body[data-page=home] .hero .hero-search .search-field input { background:transparent; }
:root[data-theme=light] body[data-page=home] .hero .network-mini-card p { color:#526b85; }
:root[data-theme=light] body[data-page=home] .hero .network-mini-card>.icon { color:#007f9e; }
:root[data-theme=light] body[data-page=home] .hero-network .map-node { filter:drop-shadow(0 0 9px #00d9e080); }
:root[data-theme=light] body[data-page=home] .hero-network .map-node path:first-of-type { fill:#00dfd0; }
:root[data-theme=light] body[data-page=home] .hero-network .map-label { fill:#b1e4f3; }
:root[data-theme=light] body .cg-page-hero:before { background-image:linear-gradient(90deg,#fff 2%,#fffffff0 30%,#ffffff30 75%),linear-gradient(0deg,#fff,transparent 40%),url('/assets/images/ev-guide/home-charging-scene.jpg'); }
:root[data-theme=light] body .ev-hero:after { background:radial-gradient(ellipse at 75% 85%,#00b6d524,transparent 60%); border-color:#00a4c528; }
:root[data-theme=light] body :is(.cg-page-hero--marketplace,.cg-page-hero--compare):before { background-image:radial-gradient(ellipse at 80% 80%,#00b9d51c,transparent 45%),linear-gradient(95deg,#fff 30%,#e8f6ff); border-color:#cce6f4; }
:root[data-theme=light] body .cg-page-hero--charging:before { background-image:linear-gradient(90deg,#fff 4%,#fffffff0 38%,#ffffff30 82%),linear-gradient(0deg,#fff,transparent 45%),url('/assets/images/hero-charging.jpg'); }
:root[data-theme=light] body .cg-page-hero--ownership:before { background-image:linear-gradient(90deg,#fff 5%,#fffffff5 35%,#ffffff30 80%),linear-gradient(0deg,#fff,transparent 45%),url('/assets/images/ev-guide/mountain-road-scene.jpg'); }
:root[data-theme=light] body .cg-range-hero:before { background:linear-gradient(90deg,#fffffff2,#ffffff65),linear-gradient(0deg,#fff,transparent 55%),url('/assets/images/ev-guide/mountain-road-scene.jpg') center 48%/cover; }
:root[data-theme=light] body :is(.cg-network,.cg-compare-cta,.cg-application) { background-image:linear-gradient(90deg,#eff8ff 20%,#eff8fff5 58%,#eff8ff75),url('/assets/images/ev-guide/home-charging-scene.jpg'); }
:root[data-theme=light] body .cg-network--compact { background-image:linear-gradient(110deg,#e6f6ff,#f9fcff); }
:root[data-theme=light] body .ev-network-banner { background-image:linear-gradient(90deg,#eff8ff 10%,#eff8ffed 60%,#eff8ff99),url('/assets/images/hero-charging.jpg'); }
:root[data-theme=light] body .cg-page-hero--charging .cg-hero-benefits>div { background:#ffffffed; }
:root[data-theme=light] body .cg-versus-art { background:#ffffffd9; border-color:var(--border); }
:root[data-theme=light] body .cg-versus-art>span { text-shadow:none; }
:root[data-theme=light] body .cg-versus-art>b { color:var(--green); text-shadow:none; }
:root[data-theme=light] body .cg-versus-art svg { color:var(--green); filter:none; }
:root[data-theme=light] body .cg-versus-art>span:last-child svg { color:#cb4d37; }
:root[data-theme=light] body .cg-hero-cars>img { filter:drop-shadow(0 12px 12px #143e6825); }
:root[data-theme=light] body :is(.ev-card-visual,.ev-photo-pending,.cg-product-image,.ev-budget,.cg-comparison-car) { background:radial-gradient(ellipse at 50% 70%,#c2eafa80,transparent 75%),#f5f9fd; }
:root[data-theme=light] body :is(.ev-image,.ev-budget>img,.ev-comparison-preview img) { filter:drop-shadow(0 8px 8px #153e6826); }
:root[data-theme=light] body .cg-road-card figcaption { background:#ffffffed; border-color:var(--border); }
:root[data-theme=light] body .cg-scenario { background-image:linear-gradient(0deg,#fffffff5,#ffffff66),url('/assets/images/ev-guide/mountain-road-scene.jpg'); border-color:var(--border); }
:root[data-theme=light] body .cg-scenario-saving { background:#e8f8ffed; border-color:#7fbbd5; }
:root[data-theme=light] body .journey-visual { background:radial-gradient(#7daaca40 1px,transparent 1px) 0 0/17px 17px,#f3f9fd; border-color:var(--border); }
:root[data-theme=light] body .journey-visual i { background:#e0f3fc; border-color:#a4cfdf; }
:root[data-theme=light] body .calculator-result { background:#e5f5fc; }
:root[data-theme=light] body .guide-art { background:radial-gradient(ellipse at center,#d3ecfa,#eff8fe); color:#146386; border-color:#bcdaea; }
:root[data-theme=light] body .guide-art-speed { background:radial-gradient(ellipse at center,#d3e8f5,#edf7fc); color:#276485; }
:root[data-theme=light] body .guide-art-route { background:radial-gradient(ellipse at center,#e3daf3,#f5f1fb); color:#675087; }
:root[data-theme=light] body .station-image { background:#edf6fc; }
:root[data-theme=light] body .station-placeholder { background:radial-gradient(ellipse at 100% 0,#c9eafa,transparent 70%),repeating-linear-gradient(120deg,transparent 0 44px,#91b6d32b 45px,transparent 46px 80px),#edf6fc; color:var(--text); }
:root[data-theme=light] body .station-placeholder :is(small,.placeholder-connectors) { color:var(--muted); }
:root[data-theme=light] body .station-image>.status { background:#fffffff0; }
:root[data-theme=light] body .image-label { background:#ffffffe8; }
:root[data-theme=light] body .cg-station-rating { color:var(--muted); }
:root[data-theme=light] body .cg-station-rating>span { color:#9c6c00; }
:root[data-theme=light] body .map-popup .type-label { color:var(--type-colour,var(--green)); }
:root[data-theme=light] body .charge-marker { color:#fff; }

/* Tables, overlays and map controls remain readable in both appearances. */
:root[data-theme=light] body :is(.ev-table,.cg-comparison-table,.cg-comparison-table thead,.cg-comparison-nav,.ev-faq details) { background:#fff; }
:root[data-theme=light] body :is(.cg-data-table thead,.cg-comparison-table .cg-comparison-group th,.ev-table thead) { background:#e8f2fb; color:var(--green); }
:root[data-theme=light] body .cg-data-table tbody tr:nth-child(even) { background:#f5f9fd; }
:root[data-theme=light] body :is(.cg-table-scroll,.cg-data-table td,.cg-data-table th,.cg-comparison-table th,.cg-comparison-table td,.cg-comparison-nav,.cg-comparison-preview>a+a,.cg-quiz-review>div,.coverage-stats>div,.owner-checklist) { border-color:var(--border); }
:root[data-theme=light] body .cg-table-scroll { scrollbar-color:#89b9d5 #f1f8fd; }
:root[data-theme=light] body :is(.cg-comparison-nav>nav a:first-child,.cg-comparison-nav>nav a:hover) { background:#e3f3fc; }
:root[data-theme=light] body .cg-standard-badge { background:#def2fc; color:#006b8c; }
:root[data-theme=light] body .cg-standard-badge--nedc { background:#fff0c5; color:#855500; }
:root[data-theme=light] body .cg-standard-badge--cltc { background:#ffe6da; color:#a24321; }
:root[data-theme=light] body :is(dialog,.ev-saved-dialog,.ev-compare-tray) { background:#fff; color:var(--text); border-color:var(--border); box-shadow:0 18px 50px #123d6824; }
:root[data-theme=light] body .ev-compare-tray [data-compare-items]>button { background:#e1f2fc; color:#19557c; }
:root[data-theme=light] body .toast { background:#e3f5fd; border-color:#85c4df; color:#125b80; }
:root[data-theme=light] body .leaflet-tile-pane { filter:none; }
:root[data-theme=light] body .leaflet-container { background:#edf4fb!important; }
:root[data-theme=light] body :is(.leaflet-control-attribution,.leaflet-control-zoom a,.leaflet-popup-content-wrapper,.leaflet-popup-tip) { background:#fff!important; color:var(--text)!important; border-color:var(--border)!important; }
:root[data-theme=light] body :is(.leaflet-control-attribution a,.leaflet-popup-close-button) { color:var(--green)!important; }

/* Admin shares the brand and preference without changing moderation behavior. */
:root[data-theme=light] .cg-admin :is(.side,.card,.status,.btn) { background:#f7fbff; color:var(--text); border-color:var(--border); }
:root[data-theme=light] .cg-admin :is(.nav a,label,.muted,th) { color:var(--muted); }
:root[data-theme=light] .cg-admin .nav a:hover { background:#e2f2fc; color:var(--green); }
:root[data-theme=light] .cg-admin :is(th,td) { border-color:var(--border); }
:root[data-theme=light] .cg-admin .stat strong { color:var(--green); }
:root[data-theme=light] .cg-admin .flash { background:#e1f7e8; color:#215f3d; border-color:#9ecdb0; }
:root[data-theme=light] .cg-admin .btn.danger { background:#fff0ef; color:#a3322d; border-color:#e7b9b4; }

/* Keep the added control available without squeezing the mobile navigation. */
@media(min-width:801px) and (max-width:1240px) {
  body .header-inner { gap:10px; }
  body .header-inner nav { gap:13px; }
  body .header-inner .brand { font-size:22px; }
  body .header-inner nav a { font-size:12px; }
  .theme-toggle__label { display:none; }
  body .header-inner .header-list { padding-inline:10px; font-size:11px; }
}
@media(min-width:801px) and (max-width:1030px) {
  body .header-inner .header-list { display:inline-flex; margin-left:auto; }
  body .header-inner .menu-button { display:inline-flex; width:38px; height:38px; }
  body .header-inner nav { display:none; position:absolute; left:0; right:0; height:auto; margin:0; padding:20px; background:#0c191bf7; border-bottom:1px solid #2c493e; box-shadow:0 16px 30px #0003; }
  body .header-inner nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  body .header-inner nav a { padding:13px; font-size:15px; }
  body .header-inner nav a[aria-current]:after { display:none; }
  body .header-inner .ev-menu summary { padding:13px; font-size:15px; }
  body .header-inner .ev-menu-links { position:static; }
  :root[data-theme=light] body .header-inner nav { background:#fffffff7; border-color:var(--border); }
}
@media(max-width:1030px) {
  body #site-header #main-nav { top:100%; }
  body .header-inner .nav-list-station { display:block; }
}
@media(max-width:800px) {
  body .header-inner { gap:10px; }
  body .header-inner .theme-toggle { min-height:38px; width:38px; padding:8px; }
  body .header-inner .theme-toggle__label { display:none; }
  body .header-inner .brand .brand-mark { width:25px; height:31px; }
  :root[data-theme=light] body .header-inner nav { background:#fffffff7; border-color:var(--border); box-shadow:0 16px 30px #123d6818; }
  :root[data-theme=light] body .header-inner nav a[aria-current] { background:#e5f5fc; }
  :root[data-theme=light] body[data-page=home] .hero:before { background:linear-gradient(90deg,#06386ef5,#07396edb 52%,#082d5085),linear-gradient(0deg,#072f5dbf,transparent 60%); }
  :root[data-theme=light] body .cg-page-hero:before { opacity:.5; }
}
@media(max-width:520px) {
  body .header-inner .header-list { display:none; }
  body .header-inner .theme-toggle { margin-left:auto; }
  body .header-inner .brand { font-size:23px; }
  body .header-inner .menu-button { margin-left:0; }
}
@media(prefers-reduced-motion:no-preference) {
  .theme-toggle { transition:background .18s,border-color .18s,color .18s; }
}
