/* Xpedient v1.8.95 · Platform Dark Mode Compatibility
   Visual-only layer. Does not alter structure, dimensions, data, formulas, thresholds, tables or interactions. */

:root.xp-platform-dark,
html[data-theme="dark"],
html[data-color-scheme="dark"]{
  --xp-dark-canvas:#070817;
  --xp-dark-bg:#0a0c1f;
  --xp-dark-surface:#101329;
  --xp-dark-surface-2:#151933;
  --xp-dark-surface-3:#1b2040;
  --xp-dark-glass:rgba(16,19,41,.88);
  --xp-dark-border:rgba(171,139,255,.20);
  --xp-dark-border-strong:rgba(191,137,255,.34);
  --xp-dark-text:#eef2ff;
  --xp-dark-title:#ffffff;
  --xp-dark-muted:#aeb9d9;
  --xp-dark-faint:#7f8aac;
  --xp-dark-pink:#ff33c7;
  --xp-dark-purple:#a855f7;
  --xp-dark-violet:#7c3aed;
  --xp-dark-cyan:#29d3ff;
  --xp-dark-blue:#4b8dff;
  --xp-dark-teal:#22d3b6;
  --xp-dark-warning:#f6b73c;
  --xp-dark-danger:#ff5c8a;
  --xp-dark-grad:linear-gradient(100deg,#ff21bd 0%,#a943ff 50%,#29c8ff 100%);
  --xp-dark-grad-soft:linear-gradient(135deg,rgba(255,33,189,.13),rgba(124,58,237,.12),rgba(41,200,255,.10));
  --xp-dark-shadow:0 18px 48px rgba(0,0,0,.30);
}

:is(body.krn-mode-dark,body.dark-mode,body.is-dark,body[data-theme="dark"],html[data-theme="dark"] body,html[data-color-scheme="dark"] body),
html.xp-platform-dark body{
  --kes-ui-bg:var(--xp-dark-bg)!important;
  --kes-ui-canvas:var(--xp-dark-canvas)!important;
  --kes-ui-surface:var(--xp-dark-surface)!important;
  --kes-ui-surface-soft:var(--xp-dark-glass)!important;
  --kes-ui-border:var(--xp-dark-border)!important;
  --kes-ui-border-strong:var(--xp-dark-border-strong)!important;
  --kes-ui-shadow:var(--xp-dark-shadow)!important;
  --kes-ui-shadow-soft:0 12px 34px rgba(0,0,0,.24)!important;
  --kes-ui-title:var(--xp-dark-title)!important;
  --kes-ui-text:var(--xp-dark-text)!important;
  --kes-ui-muted:var(--xp-dark-muted)!important;
  --kes-ui-accent:var(--xp-dark-pink)!important;
  --kes-ui-purple:var(--xp-dark-purple)!important;
  --kes-ui-cyan:var(--xp-dark-cyan)!important;
  --kes-ui-grad:var(--xp-dark-grad)!important;
  --kes-ui-grad-soft:var(--xp-dark-grad-soft)!important;
  background:var(--xp-dark-canvas)!important;
  color:var(--xp-dark-text)!important;
  color-scheme:dark;
}

:is(body.krn-mode-dark,body.dark-mode,body.is-dark,body[data-theme="dark"],html[data-theme="dark"] body,html[data-color-scheme="dark"] body) :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai,.talia-cfg),
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai,.talia-cfg){
  --xp-bg:var(--xp-dark-bg)!important;
  --xp-text:var(--xp-dark-text)!important;
  --xp-muted:var(--xp-dark-muted)!important;
  --xp-pink:var(--xp-dark-pink)!important;
  --xp-purple:var(--xp-dark-purple)!important;
  --xp-cyan:var(--xp-dark-cyan)!important;
  background:var(--xp-dark-bg)!important;
  color:var(--xp-dark-text)!important;
}

/* Canvas and primary surfaces */
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai) :is(.xp-hero,.xpr-hero,.xph-hero,.xpf-hero,.xpe-hero,.xpo-hero,.xac-hero,.xre-hero),
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai) :is(.xp-card,.xp-panel,.xpr-card,.xpr-panel,.xph-card,.xph-panel,.xpf-card,.xpf-panel,.xpe-card,.xpe-panel,.xpo-card,.xpo-panel,.xac-card,.xac-panel,.xre-card,.xre-panel),
html.xp-platform-dark body .talia-cfg :is(.tc-card,.tc-panel){
  background:linear-gradient(155deg,rgba(20,24,51,.97),rgba(12,15,34,.96))!important;
  border-color:var(--xp-dark-border)!important;
  box-shadow:var(--xp-dark-shadow)!important;
  color:var(--xp-dark-text)!important;
}

html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai) :is(h1,h2,h3,h4,strong,.xp-value,.xpr-value,.xph-value,.xpf-value,.xpe-value,.xpo-value,.xac-value,.xre-value){color:var(--xp-dark-title)!important}
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai) :is(p,small,.xp-sub,.xpr-sub,.xph-sub,.xpf-sub,.xpe-sub,.xpo-sub,.xac-sub,.xre-sub,.xp-muted,.xpr-muted,.xph-muted,.xpf-muted,.xpe-muted,.xpo-muted,.xac-muted,.xre-muted){color:var(--xp-dark-muted)!important}

/* Controls */
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai,.talia-cfg) :is(input,select,textarea){
  background:rgba(9,12,30,.92)!important;
  color:var(--xp-dark-text)!important;
  border-color:rgba(157,172,218,.25)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai,.talia-cfg) :is(input,textarea)::placeholder{color:#7f8aac!important}
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai,.talia-cfg) :is(button,a)[class*="btn"]:not([class*="primary"]):not(.is-active):not(.active){
  background:rgba(23,28,58,.94)!important;
  color:var(--xp-dark-text)!important;
  border-color:var(--xp-dark-border)!important;
}

/* Tables: preserve rows/columns/order, only recolor */
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai,.talia-cfg) table{
  background:var(--xp-dark-surface)!important;
  border-color:var(--xp-dark-border)!important;
  color:var(--xp-dark-text)!important;
}
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai,.talia-cfg) th{
  background:#171b37!important;
  color:#c5cee9!important;
  border-color:rgba(157,172,218,.16)!important;
}
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai,.talia-cfg) td{
  background:transparent!important;
  color:var(--xp-dark-text)!important;
  border-color:rgba(157,172,218,.12)!important;
}
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai,.talia-cfg) tbody tr:hover td{background:rgba(126,87,194,.10)!important}
html.xp-platform-dark body :is(.total-row,.xph-row-director,.xph-row-lider,.xpr-highlight) td{background:rgba(124,58,237,.11)!important}

/* Chips, pills, filters and navigation */
html.xp-platform-dark body :is(.xp-chip,.xpr-chip,.xph-pill,.xpf-pill,.xpe-pill,.xpo-pill,.xac-pill,.xre-pill,[class*="filter-chip"],[class*="district-chip"],[class*="coverage-chip"],[class*="channel-chip"]){
  background:rgba(22,27,57,.92)!important;
  color:#dfe6ff!important;
  border-color:rgba(171,139,255,.24)!important;
}
html.xp-platform-dark body :is(.xp-chip,.xpr-chip,.xph-pill,.xpf-pill,.xpe-pill,.xpo-pill,.xac-pill,.xre-pill,[class*="filter-chip"],[class*="district-chip"],[class*="coverage-chip"],[class*="channel-chip"]).is-active,
html.xp-platform-dark body :is(.xp-chip,.xpr-chip,.xph-pill,.xpf-pill,.xpe-pill,.xpo-pill,.xac-pill,.xre-pill,[class*="filter-chip"],[class*="district-chip"],[class*="coverage-chip"],[class*="channel-chip"]).active{
  background:var(--xp-dark-grad)!important;
  color:#fff!important;
  border-color:transparent!important;
}

html.xp-platform-dark body :is(.xp-mobile-subnav,.xpr-mobile-subnav,.xph-mobile-subnav,.xpf-mobile-subnav,.xpe-mobile-subnav,.xpo-mobile-subnav,.xac-mobile-subnav,.xre-mobile-nav,.xfcst-mobile-nav,.xpf-mobile-nav,.xcm-mobile-nav){
  background:rgba(10,13,31,.94)!important;
  border-color:var(--xp-dark-border)!important;
  box-shadow:0 18px 54px rgba(0,0,0,.44)!important;
}
html.xp-platform-dark body :is(.xp-mobile-subnav,.xpr-mobile-subnav,.xph-mobile-subnav,.xpf-mobile-subnav,.xpe-mobile-subnav,.xpo-mobile-subnav,.xac-mobile-subnav,.xre-mobile-nav,.xfcst-mobile-nav,.xpf-mobile-nav,.xcm-mobile-nav) a{
  background:#171b37!important;color:#dbe4ff!important;border-color:rgba(171,139,255,.16)!important
}
html.xp-platform-dark body :is(.xp-mobile-subnav,.xpr-mobile-subnav,.xph-mobile-subnav,.xpf-mobile-subnav,.xpe-mobile-subnav,.xpo-mobile-subnav,.xac-mobile-subnav,.xre-mobile-nav,.xfcst-mobile-nav,.xpf-mobile-nav,.xcm-mobile-nav) a:is(.active,.is-active,:first-child){background:var(--xp-dark-grad)!important;color:#fff!important}

/* KES App Bubble and folders */
html.xp-platform-dark body .kes-xpedient-folder-panel{
  background:linear-gradient(160deg,rgba(17,20,43,.99),rgba(8,10,26,.98))!important;
  border-color:var(--xp-dark-border-strong)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.48)!important;
}
html.xp-platform-dark body .kes-xpedient-folder-head{background:var(--xp-dark-grad-soft)!important;border-color:var(--xp-dark-border)!important}
html.xp-platform-dark body .kes-xpedient-folder-head strong{color:#fff!important}
html.xp-platform-dark body .kes-xpedient-folder-head small{color:var(--xp-dark-muted)!important}
html.xp-platform-dark body .kes-xpedient-folder-item{background:rgba(255,255,255,.055)!important;color:var(--xp-dark-text)!important;border-color:rgba(171,139,255,.14)!important}
html.xp-platform-dark body .kes-xpedient-folder-item:hover{background:rgba(168,85,247,.12)!important}
html.xp-platform-dark body .kes-xpedient-folder-item.is-active{background:var(--xp-dark-grad)!important;color:#fff!important}

/* Dashboard metric bars and semantic states: preserve current rules/widths */
html.xp-platform-dark body :is(.xp-progress,.xp-bar,.xp-track,[class*="progress-track"],[class*="bar-track"]){background:#222846!important;border-color:rgba(157,172,218,.14)!important}
html.xp-platform-dark body :is(.bad,[class*="bad"]):is(.xp-fill,.xp-progress-fill,.xp-bar-fill,[class*="progress-fill"],[class*="bar-fill"]){background:linear-gradient(90deg,#ff168f,#ff4eb8)!important}
html.xp-platform-dark body :is(.warn,[class*="warn"]):is(.xp-fill,.xp-progress-fill,.xp-bar-fill,[class*="progress-fill"],[class*="bar-fill"]){background:linear-gradient(90deg,#7438ff,#b34cff)!important}
html.xp-platform-dark body :is(.good,[class*="good"]):is(.xp-fill,.xp-progress-fill,.xp-bar-fill,[class*="progress-fill"],[class*="bar-fill"]){background:linear-gradient(90deg,#19bde8,#28dfc5)!important}

/* Map workspace and Leaflet controls */
html.xp-platform-dark body :is(.xp-map-shell,.xp-map-workspace,.xp-map-card,.xp-map-filter-panel,.xp-map-filters,.xp-map-data-drawer,[class*="map-filter"],[class*="map-drawer"]){
  background:linear-gradient(155deg,rgba(18,22,47,.98),rgba(10,12,30,.98))!important;
  color:var(--xp-dark-text)!important;
  border-color:var(--xp-dark-border)!important;
}
html.xp-platform-dark body .leaflet-control-zoom a,
html.xp-platform-dark body .leaflet-bar a{
  background:#151a35!important;color:#fff!important;border-color:rgba(171,139,255,.18)!important
}
html.xp-platform-dark body .leaflet-control-attribution{background:rgba(8,10,24,.82)!important;color:#c5cee9!important}
html.xp-platform-dark body .leaflet-control-attribution a{color:#6fdcff!important}
html.xp-platform-dark body :is(.xp-map-title,.xp-map-header h2,.xp-map-header h3){color:#fff!important}
html.xp-platform-dark body :is(.xp-map-legend,.xp-map-filter-trigger,.xp-map-data-trigger,[class*="map-legend"]){background:rgba(12,15,34,.92)!important;color:#edf2ff!important;border-color:var(--xp-dark-border)!important}

/* Scrollbars */
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai) *{scrollbar-color:#5f3fb5 #11152d}
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai) *::-webkit-scrollbar-track{background:#11152d}
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai) *::-webkit-scrollbar-thumb{background:#5f3fb5;border-radius:999px}

/* Native states */
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai) :focus-visible{outline:3px solid rgba(41,211,255,.48)!important;outline-offset:2px}
html.xp-platform-dark body :is(.notice,.xp-notice,.xpr-notice,.xph-notice,.xpf-notice,.xpe-notice,.xpo-notice,.xac-notice,.xre-notice){background:#171c39!important;color:var(--xp-dark-text)!important;border-color:var(--xp-dark-border)!important}

/* v1.8.96 · Dark refinement pass
   Matches Xpedient canvas with the Region Sur sidebar, fills missed light surfaces,
   applies a dark-compatible OpenStreetMap treatment and softens semantic table tags.
   Visual-only: no data, thresholds, layout, dimensions or rules are changed. */

html.xp-platform-dark{
  --xp-dark-canvas:#08071a;
  --xp-dark-bg:#08071a;
  --xp-dark-surface:#101229;
  --xp-dark-surface-2:#141730;
  --xp-dark-surface-3:#191d39;
  --xp-dark-glass:rgba(15,17,39,.91);
  --xp-dark-border:rgba(144,115,222,.18);
  --xp-dark-border-strong:rgba(170,125,255,.28);
}

/* One continuous canvas — remove the violet gutter / double background. */
html.xp-platform-dark body:has(:is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai)) :is(
  #page,#content,#primary,.site,.site-content,.content-area,.site-main,.entry-content,
  .krn-shell,.krn-shell-main,.krn-main,.krn-content,.krn-canvas,.krn-workspace-main,.krn-workspace-canvas
){background:#08071a!important;background-image:none!important;box-shadow:none!important}
html.xp-platform-dark body:has(:is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai)){
  background:#08071a!important;background-image:none!important;
}
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai){
  background:#08071a!important;background-image:none!important;
}

/* Missed dashboard surfaces: KPI rows, range card, hierarchy selector and time card. */
html.xp-platform-dark body .krn-xp :is(
  .xp-range-card,.xp-hierarchy-panel,.xp-time-card,.xp-kpi-row,.xp-kpi-value,.xp-kpi-label,
  .xp-summary-kpis,.xp-select-row,.xp-range-panel,.xp-calendar-day,.xp-calendar-weekday,
  .xp-geo-card,.xp-geo-header,.xp-geo-actions,.xp-geo-kpis,.xp-geo-kpi
){
  background:linear-gradient(155deg,rgba(17,20,43,.98),rgba(10,12,29,.98))!important;
  color:var(--xp-dark-text)!important;
  border-color:var(--xp-dark-border)!important;
  box-shadow:none!important;
}
html.xp-platform-dark body .krn-xp .xp-kpi-row + .xp-kpi-row{border-top-color:rgba(153,168,218,.10)!important}
html.xp-platform-dark body .krn-xp :is(.xp-range-card,.xp-hierarchy-panel,.xp-time-card) :is(h1,h2,h3,b,strong,.xp-range-value){color:#fff!important}
html.xp-platform-dark body .krn-xp :is(.xp-range-card,.xp-hierarchy-panel,.xp-time-card) :is(p,small,.xp-range-help,.xp-range-label){color:var(--xp-dark-muted)!important}
html.xp-platform-dark body .krn-xp .xp-kpi-list{overflow:hidden!important}
html.xp-platform-dark body .krn-xp .xp-kpi-value{border-left-color:rgba(153,168,218,.10)!important}

/* Participation totals and other light footer rows. */
html.xp-platform-dark body .krn-xp :is(tfoot tr,tbody tr.total-row,tbody tr.total,.xp-table tr:last-child.total-row) :is(th,td),
html.xp-platform-dark body :is(.xpr-table,.xph-table,.xpf-table,.xpe-table,.xpo-table,.xac-table,.xre-table) :is(tfoot tr,tbody tr.total-row,tbody tr.total) :is(th,td){
  background:rgba(86,55,160,.22)!important;
  color:#f6f3ff!important;
  border-color:rgba(162,126,238,.18)!important;
  box-shadow:none!important;
}
html.xp-platform-dark body .krn-xp .xp-table-wrap,
html.xp-platform-dark body .krn-xp-rank .xpr-table-wrap,
html.xp-platform-dark body :is(.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai) [class*="table-wrap"]{
  border-color:rgba(144,115,222,.14)!important;
  box-shadow:none!important;
}

/* Remove stark white table outlines in dark mode. */
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai) :is(table,[class*="table-wrap"]){
  outline-color:transparent!important;
}
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai) table{
  border-color:rgba(144,115,222,.12)!important;
}

/* Semantic badges: same meaning, darker translucent treatments. */
html.xp-platform-dark body :is(.xpr-prod,.prod,.hc-good,.hc-mid,.hc-bad,.xre-pill-num,.xcm-good,.xcm-bad,.xcm-blue,.badge,[class*="tier-"]){
  border:1px solid transparent!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
html.xp-platform-dark body :is(.xpr-prod.tier-1,.prod.tier-1,.hc-good,.xre-pill-num.good,.xcm-good){
  background:rgba(34,211,182,.16)!important;color:#7ff0d6!important;border-color:rgba(34,211,182,.22)!important;
}
html.xp-platform-dark body :is(.xpr-prod.tier-2,.prod.tier-2,.hc-mid,.xre-pill-num.mid){
  background:rgba(246,183,60,.15)!important;color:#ffd47d!important;border-color:rgba(246,183,60,.22)!important;
}
html.xp-platform-dark body :is(.xpr-prod.tier-3,.prod.tier-3){
  background:rgba(255,141,74,.15)!important;color:#ffb17d!important;border-color:rgba(255,141,74,.22)!important;
}
html.xp-platform-dark body :is(.xpr-prod.tier-4,.prod.tier-4,.hc-bad,.xre-pill-num.bad,.xcm-bad){
  background:rgba(255,92,138,.15)!important;color:#ff9ab7!important;border-color:rgba(255,92,138,.22)!important;
}
html.xp-platform-dark body :is(.xpr-prod.tier-0,.prod.tier-0){
  background:rgba(142,155,196,.12)!important;color:#aeb9d9!important;border-color:rgba(142,155,196,.18)!important;
}
html.xp-platform-dark body .xcm-blue{background:rgba(75,141,255,.16)!important;color:#9bc2ff!important;border-color:rgba(75,141,255,.22)!important}
html.xp-platform-dark body :is(.xpr-dif.up,.xpe-up){color:#72e7cf!important}
html.xp-platform-dark body :is(.xpr-dif.down,.xpe-down){color:#ff8cad!important}

/* Dark-compatible OSM presentation. The source remains OpenStreetMap; this is only a visual filter. */
html.xp-platform-dark body .xp-geo-map-wrap,
html.xp-platform-dark body .xp-geo-modal,
html.xp-platform-dark body .xp-geo-modal-map{
  background:#0b1020!important;border-color:rgba(75,141,255,.30)!important;
}
html.xp-platform-dark body .leaflet-container{background:#0a1020!important}
html.xp-platform-dark body .leaflet-tile-pane{
  filter:brightness(.58) contrast(1.22) saturate(.72) hue-rotate(178deg) invert(.08)!important;
}
html.xp-platform-dark body .leaflet-overlay-pane,
html.xp-platform-dark body .leaflet-marker-pane,
html.xp-platform-dark body .leaflet-tooltip-pane,
html.xp-platform-dark body .leaflet-popup-pane{filter:none!important}
html.xp-platform-dark body .leaflet-control-zoom,
html.xp-platform-dark body .leaflet-bar{border-color:rgba(121,101,214,.30)!important;box-shadow:0 10px 28px rgba(0,0,0,.34)!important}
html.xp-platform-dark body .leaflet-control-zoom a,
html.xp-platform-dark body .leaflet-bar a{background:rgba(12,15,34,.94)!important;color:#f7f5ff!important}
html.xp-platform-dark body .leaflet-control-zoom a:hover,
html.xp-platform-dark body .leaflet-bar a:hover{background:rgba(72,45,139,.92)!important}
html.xp-platform-dark body :is(.xp-geo-kmz-badge,.xp-geo-legend,.xp-geo-map-filter-toggle){
  background:rgba(8,10,27,.88)!important;color:#f4f2ff!important;border-color:rgba(171,139,255,.24)!important;backdrop-filter:blur(12px)!important;
}

/* Map card/header should not stay white in dark mode. */
html.xp-platform-dark body .krn-xp :is(.xp-geo-card,.xp-geo-header-clean){
  background:linear-gradient(155deg,rgba(16,19,40,.98),rgba(8,10,26,.98))!important;
}
html.xp-platform-dark body .krn-xp .xp-geo-open{box-shadow:none!important}


/* v1.8.97 · Verified dark refinement and map workspace alignment. */
html.xp-platform-dark{
  --xp-sidebar-deep:#09051f;
  --xp-sidebar-surface:#11082d;
  --xp-sidebar-card:#151034;
  --xp-sidebar-line:rgba(167,109,255,.22);
}

/* Match Xpedient canvas and cards to the sidebar family; remove remaining light islands. */
html.xp-platform-dark body :is(.krn-xp,.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai){
  background:var(--xp-sidebar-deep)!important;
}
html.xp-platform-dark body .krn-xp :is(.xp-card,.xp-panel,.xp-hero,.xp-filter,.xp-select-row,.xp-kpi-list,.xp-kpi-row,.xp-summary-progress,.xp-summary-kpis,.xp-summary-headcount,.xp-geo-card,.xp-geo-header,.xp-geo-actions),
html.xp-platform-dark body :is(.krn-xp-rank,.krn-xp-hc,.krn-xp-fcst,.krn-xp-ej,.krn-xp-eo,.krn-xp-ac,.krn-xp-reai) :is([class*="card"],[class*="panel"],[class*="hero"]){
  background:linear-gradient(155deg,rgba(19,14,48,.98),rgba(10,7,29,.98))!important;
  border-color:var(--xp-sidebar-line)!important;
  box-shadow:none!important;
}
html.xp-platform-dark body .krn-xp .xp-kpi-row,
html.xp-platform-dark body .krn-xp .xp-kpi-row:nth-child(3){
  background:rgba(13,10,34,.96)!important;
  border-color:rgba(167,109,255,.17)!important;
}
html.xp-platform-dark body .krn-xp .xp-kpi-row :is(h3,.xp-value){color:#f7f4ff!important}
html.xp-platform-dark body .krn-xp .xp-kpi-row .xp-sub{color:#a9b4d3!important}

/* Map shell: everything outside the map receives the same dark KES surface. */
html.xp-platform-dark body .krn-xp .xp-geo-card{
  background:linear-gradient(155deg,rgba(17,12,43,.99),rgba(8,6,24,.99))!important;
  border-color:rgba(168,102,255,.22)!important;
}
html.xp-platform-dark body .krn-xp .xp-geo-header,
html.xp-platform-dark body .krn-xp .xp-geo-actions{
  background:transparent!important;
}
html.xp-platform-dark body .krn-xp .xp-geo-title h3{color:#f7f4ff!important}
html.xp-platform-dark body .krn-xp :is(.xp-kes-utility-toggle,.xp-geo-open){
  background:rgba(25,18,57,.92)!important;
  color:#f7f4ff!important;
  border-color:rgba(172,112,255,.24)!important;
}
html.xp-platform-dark body .krn-xp .xp-geo-open{background:linear-gradient(135deg,#9b35ff,#ec0ba9)!important;border-color:transparent!important}
html.xp-platform-dark body .krn-xp .xp-geo-map-wrap{border-color:rgba(66,151,255,.55)!important;overflow:hidden!important}

/* Native dark tiles are used in dark mode, so do not re-filter the raster. */
html.xp-platform-dark body .leaflet-tile-pane{filter:none!important}

/* Floating map filters occupy the right-side workspace instead of covering the full map. */
@media (min-width:761px){
  .xp-geo-filter.xp-geo-filter-floating{
    top:14px!important;
    right:14px!important;
    bottom:auto!important;
    width:min(610px,46%)!important;
    max-height:calc(100% - 28px)!important;
    overflow:auto!important;
  }
}
html.xp-platform-dark body .xp-geo-filter.xp-geo-filter-floating{
  background:rgba(15,11,37,.96)!important;
  border:1px solid rgba(168,106,255,.24)!important;
  color:#f5f2ff!important;
  box-shadow:0 24px 70px rgba(0,0,0,.42)!important;
}
html.xp-platform-dark body .xp-geo-filter.xp-geo-filter-floating :is(.xp-geo-control-group,.xp-geo-filter-section,[class*="control-group"]){
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(164,111,255,.16)!important;
}
html.xp-platform-dark body .xp-geo-filter.xp-geo-filter-floating :is(h3,h4,b,strong){color:#f7f4ff!important}
html.xp-platform-dark body .xp-geo-filter.xp-geo-filter-floating :is(p,small,span:not(.xp-geo-channel-pill):not(.xp-geo-coverage-pill)){color:#aeb9d9!important}
html.xp-platform-dark body .xp-geo-filter.xp-geo-filter-floating :is(.xp-geo-channel-pill,.xp-geo-coverage-pill,.xp-geo-focus-pill,[data-xp-district-focus]){
  background:rgba(20,15,49,.92)!important;
  color:#e9e4ff!important;
  border-color:rgba(167,108,255,.22)!important;
}
html.xp-platform-dark body .xp-geo-filter.xp-geo-filter-floating :is(.xp-geo-channel-pill,.xp-geo-coverage-pill,.xp-geo-focus-pill,[data-xp-district-focus]).active{
  background:linear-gradient(135deg,rgba(225,17,176,.34),rgba(121,59,255,.34),rgba(35,188,255,.28))!important;
  color:#fff!important;
  border-color:rgba(180,115,255,.65)!important;
}

/* Sidebar folder affordance from Core nested navigation. */
.krn-sidebar [data-nav-key="mis_reportes"],
.krn-sidebar [data-nav-key="vistas"],
.krn-sidebar .krn-nav-item.has-children[data-key="mis_reportes"],
.krn-sidebar .krn-nav-item.has-children[data-key="vistas"]{
  border-style:dashed!important;
}

@media(max-width:760px){
  .xp-geo-filter.xp-geo-filter-floating{
    top:10px!important;
    right:10px!important;
    bottom:auto!important;
    width:calc(100% - 20px)!important;
    max-height:calc(100% - 20px)!important;
  }
  body.xp-has-app-bubble .xp-geo-map-filter-toggle{
    right:92px!important;
    bottom:56px!important;
  }
}

/* v1.8.97.1 · KES map + cached Personas scope contract.
   Color-only compatibility: no shell, canvas or global width authority. */
html.xp-platform-dark body .krn-xp .xp-geo-map-fullscreen-toggle,
html.xp-platform-dark body .krn-xp .xp-geo-map-filter-toggle,
html.xp-platform-dark body .krn-xp .xp-geo-actions .xp-kes-utility-toggle,
html.xp-platform-dark body .krn-xp .xp-geo-actions .xp-geo-open{
  background:linear-gradient(135deg,#7a2bff 0%,#d800b8 52%,#20c7ff 100%)!important;
  color:#fff!important;
  border-color:transparent!important;
}
html.xp-platform-dark body .krn-xp .xp-geo-district-row{
  color:#eef2ff!important;
}
html.xp-platform-dark body .krn-xp .xp-geo-focus-button.active,
html.xp-platform-dark body .krn-xp .xp-geo-district-row.active .xp-geo-focus-button{
  background:linear-gradient(135deg,#7a2bff 0%,#d800b8 52%,#20c7ff 100%)!important;
  color:#fff!important;
}
html.xp-platform-dark body .krn-xp .xp-geo-map-wrap.xp-map-fullscreen{
  background:#0d1228!important;
  border-color:rgba(60,190,255,.62)!important;
}
html.xp-platform-dark body .krn-xp .xp-evo-toggle button:not(.active),
html.xp-platform-dark body .krn-xp .xp-evo-toggle a:not(.active){
  background:linear-gradient(145deg,rgba(27,34,69,.96),rgba(20,25,53,.96))!important;
  color:#cbd4ee!important;
  border-color:rgba(153,92,255,.24)!important;
}
