#gaeMapZone .dash-chart-wrap.is-map{min-height:660px!important;overflow:visible}
#dashMapMunicipios.dash-leafletmap{height:auto!important;min-height:620px!important;border:0!important;border-radius:0!important;overflow:visible!important;background:transparent!important}
.gae-territorial-shell{position:relative;display:grid;gap:12px;min-width:0;color:#24372b}
.gae-territorial-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:2px 2px 0}
.gae-territorial-head h3{margin:4px 0 2px;font-size:19px;line-height:1.15;color:#123f23}
.gae-territorial-head p{margin:0;font-size:11px;color:#6a786f}
.gae-map-breadcrumb{display:flex;align-items:center;gap:5px;font-size:10px;color:#607067}
.gae-map-breadcrumb button{border:0;background:transparent;padding:0;color:#007832;font-weight:800;cursor:pointer}.gae-map-breadcrumb .is-current{color:#344b3b;cursor:default}.gae-map-breadcrumb span{color:#9aa79f}
.gae-map-secondary-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.gae-map-search{height:36px;min-width:250px;display:flex;align-items:center;gap:7px;border:1px solid #d6e0d8;background:#fff;border-radius:10px;padding:0 10px}.gae-map-search span{font-size:17px;color:#607269}.gae-map-search input{width:100%;min-width:0;border:0!important;outline:0!important;padding:0!important;font-size:11px!important;background:transparent!important;box-shadow:none!important}
.gae-map-icon-btn,.gae-map-tool-btn{min-height:36px;border:1px solid #d5dfd8;background:#fff;color:#31523c;border-radius:10px;padding:0 10px;font-size:10px;font-weight:850;cursor:pointer}.gae-map-icon-btn:hover,.gae-map-tool-btn:hover{border-color:#39A900;background:#f1f8ed}.gae-map-tool-btn.is-active{background:#e9f7e3;border-color:#39A900;color:#176000}.gae-map-tool-btn:disabled{opacity:.45;cursor:not-allowed}
.gae-territorial-toolbar{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid #dce5df;background:#f8fbf8;border-radius:13px}
.gae-territorial-toolbar label,.gae-map-compare-row label{display:grid;gap:4px;font-size:9.5px;font-weight:850;color:#5d6d63}.gae-territorial-toolbar select,.gae-map-compare-row select{height:34px;min-width:140px;border:1px solid #cfdad2;border-radius:9px;background:#fff;color:#203b29;font-size:11px;padding:0 28px 0 9px}
.gae-map-compare-row{display:none;align-items:flex-end;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px dashed #cbd8cf;border-radius:12px;background:#fff}.gae-map-compare-row.is-open{display:flex}.gae-map-compare-row>span{padding-bottom:8px;color:#78857d;font-size:10px;font-weight:800}.gae-map-compare-row small{padding-bottom:8px;color:#6b786f;font-size:9.5px}
.gae-territorial-layout{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(270px,.54fr);gap:12px;min-width:0}
.gae-map-canvas-card,.gae-map-inspector{border:1px solid #dce5df;background:#fff;border-radius:16px;min-width:0}.gae-map-canvas-card{padding:12px;display:flex;flex-direction:column}.gae-map-inspector{padding:12px;display:flex;flex-direction:column;gap:12px;max-height:690px}
.gae-territorial-svg{width:100%;height:auto;min-height:500px;max-height:620px;background:linear-gradient(180deg,#fbfdfc,#f6faf7);border:1px solid #e3ebe5;border-radius:13px;display:block;touch-action:manipulation}
.gae-territory{cursor:pointer;outline:none}.gae-territory path{transition:filter .12s ease,stroke .12s ease,stroke-width .12s ease,opacity .12s ease}.gae-territory:hover path,.gae-territory:focus path{filter:brightness(.93);stroke:#00304D!important;stroke-width:2.2!important}.gae-territory.no-data path{opacity:.88}.gae-map-bubble-circle{fill:#0a7a35;fill-opacity:.58;stroke:#fff;stroke-width:1.2;pointer-events:none}.gae-map-place-label{font:700 8.5px Arial,sans-serif;fill:#213f2b;paint-order:stroke;stroke:#fff;stroke-width:2.5px;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.gae-map-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:9px;font-size:9.5px;color:#627168}.gae-map-legend>i:not(.s){width:180px;height:9px;border:1px solid #cad7cd;border-radius:99px;background:linear-gradient(90deg,#d5ebcc,#39A900,#007832)}.gae-map-legend>i.delta{background:linear-gradient(90deg,#c62828,#e6ebe7,#2e7d32)}.gae-map-legend>b{margin-left:auto;color:#36523f}.gae-status-legend{gap:12px}.gae-status-legend span{display:flex;align-items:center;gap:5px}.gae-status-legend .s{width:9px;height:9px;border-radius:50%;display:inline-block}.gae-status-legend .attention{background:#2E7D32}.gae-status-legend .normal{background:#F2A629}.gae-status-legend .critical{background:#7A0019}.gae-status-legend .nodata{background:#e5e9e6;border:1px solid #c6d0c9}
.gae-map-source-line{margin-top:6px;font-size:8.7px;line-height:1.35;color:#7b867f}
.gae-map-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding-bottom:9px;border-bottom:1px solid #e7ece8}.gae-map-detail-head small{font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;color:#738078}.gae-map-detail-head h4{margin:2px 0 1px;font-size:17px;color:#143d24;line-height:1.12}.gae-map-detail-head span{font-size:10px;color:#6b786f}.gae-map-status{border-radius:99px;padding:5px 8px;font-size:8.5px!important;font-weight:900;white-space:nowrap}.status-attention{background:#e6f4e5;color:#1d6c2a}.status-normal{background:#fff0c7;color:#8a5600}.status-critical{background:#f3dce2;color:#7A0019}.status-nodata{background:#edf0ee;color:#657168}
.gae-map-detail-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.gae-map-detail-kpis>div{border:1px solid #e1e8e3;background:#f9fbf9;border-radius:10px;padding:8px}.gae-map-detail-kpis b{display:block;font-size:14px;color:#123f23}.gae-map-detail-kpis span{font-size:8.5px;color:#69776f}.gae-map-filter-dash{width:100%;margin-top:10px;border:0;border-radius:10px;background:#39A900;color:#fff;font-size:10px;font-weight:900;padding:10px;cursor:pointer}.gae-map-filter-dash:hover{background:#2f8f00}
.gae-map-delta-card{display:grid;grid-template-columns:1fr auto;gap:2px 10px;border:1px solid #dde5df;border-radius:11px;padding:9px;margin-top:9px}.gae-map-delta-card span{font-size:9px;color:#6a776f}.gae-map-delta-card b{grid-row:1/3;grid-column:2;font-size:19px;color:#46534b}.gae-map-delta-card b.up{color:#2e7d32}.gae-map-delta-card b.down{color:#c62828}.gae-map-delta-card small{font-size:9px;color:#738078}
.gae-map-ranking{min-height:0;overflow:auto;border-top:1px solid #e6ece8;padding-top:8px}.gae-map-ranking-title{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#607067;padding:0 2px 5px}.gae-map-ranking button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:9px;border:0;border-bottom:1px solid #edf1ee;background:transparent;padding:8px 3px;color:#35493b;cursor:pointer;text-align:left}.gae-map-ranking button:hover{background:#f2f8f2}.gae-map-ranking button span{min-width:0;display:flex;align-items:center;gap:7px;font-size:10px}.gae-map-ranking button span b{flex:0 0 19px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#ecf4ed;color:#35702d;font-size:8px}.gae-map-ranking button strong{font-size:10px;color:#0f6e2b;white-space:nowrap}.gae-map-detail-empty{padding:15px 7px;color:#718078;font-size:10px;text-align:center}
.gae-map-tooltip{position:absolute;z-index:50;pointer-events:none;min-width:200px;max-width:250px;background:rgba(20,38,27,.96);color:#fff;border-radius:10px;padding:9px 10px;box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:9.5px;line-height:1.35}.gae-map-tooltip b{display:block;font-size:11px;margin-bottom:3px}.gae-map-tooltip span{display:block;color:#dfe8e2}.gae-map-tooltip strong{color:#fff}
.gae-map-loading-pro{min-height:590px!important}
.gae-map-offline-fallback{min-height:520px;border:1px solid #dce5df;border-radius:16px;background:#fbfdfb;padding:20px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-content:start}.gae-map-offline-icon{font-size:34px}.gae-map-offline-fallback b{font-size:13px;color:#21452c}.gae-map-offline-fallback p{font-size:10px;color:#68766d;margin:3px 0}.gae-map-offline-fallback>button{height:36px;border:1px solid #39A900;background:#eff9ea;color:#2d6e16;border-radius:9px;font-weight:850;font-size:10px;cursor:pointer}.gae-map-dept-fallback{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin-top:8px}.gae-map-dept-fallback button{display:grid;gap:3px;text-align:left;border:1px solid #e0e7e2;background:#fff;border-radius:10px;padding:10px;cursor:pointer}.gae-map-dept-fallback button:hover{border-color:#39A900}.gae-map-dept-fallback span{font-size:10px;font-weight:850;color:#294434}.gae-map-dept-fallback b{font-size:10px}.gae-map-dept-fallback small{font-size:8.5px;color:#748078}
.gae-map-expanded-body{overflow:hidden!important}.gae-map-zone.gae-map-expanded{position:fixed!important;inset:10px!important;z-index:99998!important;margin:0!important;padding:12px!important;background:#f5f8f6!important;border:1px solid #d5e0d8!important;border-radius:18px!important;overflow:auto!important;box-shadow:0 18px 60px rgba(0,0,0,.28)!important}.gae-map-zone.gae-map-expanded .dash-chart-map{margin:0!important;max-width:none!important}.gae-map-zone.gae-map-expanded #dashMapMunicipios{min-height:calc(100vh - 70px)!important}.gae-map-zone.gae-map-expanded .gae-territorial-svg{min-height:650px;max-height:none}.gae-map-zone.gae-map-expanded #gaeMapFullscreen{background:#eaf6e5;border-color:#39A900}
@media(max-width:1050px){.gae-territorial-layout{grid-template-columns:1fr}.gae-map-inspector{max-height:380px}.gae-territorial-svg{min-height:440px}.gae-map-search{min-width:220px}}
@media(max-width:760px){#gaeMapZone .dash-chart-wrap.is-map{min-height:0!important}.gae-territorial-head{flex-direction:column}.gae-map-secondary-tools{justify-content:flex-start;width:100%}.gae-map-search{width:100%;min-width:0}.gae-territorial-toolbar>*{flex:1 1 145px}.gae-territorial-toolbar select{width:100%;min-width:0}.gae-territorial-svg{min-height:340px}.gae-map-place-label{display:none}.gae-map-legend>b{width:100%;margin-left:0}.gae-map-inspector{max-height:none}.gae-map-offline-fallback{grid-template-columns:1fr}.gae-map-dept-fallback{grid-column:1}.gae-map-zone.gae-map-expanded{inset:4px!important;padding:7px!important}.gae-map-zone.gae-map-expanded .gae-territorial-svg{min-height:420px}}


/* GAE 4.20.0 · Mapa 2D centrado + concentración decimal + atención por terciles */
.gae-map-stage{position:relative;min-width:0;overflow:visible}
.gae-map-concentration-control{min-width:230px!important;display:grid!important;grid-template-columns:1fr;align-content:end;gap:3px!important}
.gae-map-concentration-control>span{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gae-map-concentration-control b{color:#007832;font-variant-numeric:tabular-nums;min-width:58px;text-align:right}
.gae-map-concentration-control input[type="range"]{width:220px;max-width:100%;margin:0;accent-color:#39A900;cursor:pointer}
.gae-map-concentration-control small{display:flex;justify-content:space-between;width:220px;max-width:100%;font-size:8px;color:#7a877f;font-weight:750}
.gae-map-concentration-control small i{font-style:normal}
@media(max-width:760px){
  .gae-map-concentration-control{width:100%;min-width:0!important}
  .gae-map-concentration-control input[type="range"],.gae-map-concentration-control small{width:100%}
}

.gae-map-stage{display:flex;align-items:center;justify-content:center}
.gae-map-empty-text{font:800 16px Arial,sans-serif;fill:#748078}


/* GAE 4.21.0 - detalle municipal completo */
.gae-map-municipality-directory{border-top:1px solid #e6ece8;padding-top:8px;min-height:0;display:flex;flex-direction:column}
.gae-map-directory-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 6px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#607067}
.gae-map-directory-title b{display:grid;place-items:center;min-width:25px;height:20px;padding:0 6px;border-radius:99px;background:#edf5ee;color:#2c6e2a;font-size:9px}
.gae-map-directory-list{display:grid;gap:3px;overflow:auto;max-height:260px;padding-right:2px}
.gae-map-directory-list>button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #edf1ee;border-radius:9px;background:#fff;padding:7px 8px;text-align:left;cursor:pointer;color:#35493b}
.gae-map-directory-list>button:hover,.gae-map-directory-list>button:focus{border-color:#9ecb8a;background:#f4faf2;outline:none}
.gae-map-directory-list>button.is-out{opacity:.64}
.gae-map-directory-list>button>span:first-child{min-width:0;display:grid;gap:1px}
.gae-map-directory-list strong{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#274531}
.gae-map-directory-list small{font-size:7.5px;color:#78837c}
.gae-map-dir-metrics{display:grid!important;grid-template-columns:auto auto;gap:0 4px!important;text-align:right;align-items:baseline}
.gae-map-dir-metrics b{font-size:8.5px;color:#0f6e2b}
.gae-map-dir-metrics small{font-size:7px}
.gae-map-muni-fallback{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin-top:8px;max-height:420px;overflow:auto}
.gae-map-muni-fallback button{display:grid;gap:3px;text-align:left;border:1px solid #e0e7e2;background:#fff;border-radius:10px;padding:10px;cursor:pointer}
.gae-map-muni-fallback button:hover{border-color:#39A900;background:#f5faf3}
.gae-map-muni-fallback span{font-size:10px;font-weight:850;color:#294434}.gae-map-muni-fallback b{font-size:10px}.gae-map-muni-fallback small{font-size:8.5px;color:#748078}
@media(max-width:760px){.gae-map-directory-list{max-height:360px}.gae-map-dir-metrics{display:none!important}}


/* GAE 4.22.0 · zoom territorial + etiquetas inteligentes */
.gae-territorial-svg{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.gae-territorial-svg:active{cursor:grabbing}
.gae-map-zoom-controls{position:absolute;z-index:12;top:12px;left:12px;display:grid;grid-template-columns:34px 34px 34px auto;gap:5px;align-items:center;padding:5px;border:1px solid #d7e1da;border-radius:11px;background:rgba(255,255,255,.94);box-shadow:0 4px 14px rgba(29,55,37,.11);backdrop-filter:blur(5px)}
.gae-map-zoom-controls button{width:34px;height:34px;border:1px solid #d3ddd6;border-radius:8px;background:#fff;color:#174b2a;font-size:18px;font-weight:900;line-height:1;cursor:pointer;padding:0}
.gae-map-zoom-controls button:hover,.gae-map-zoom-controls button:focus-visible{border-color:#39A900;background:#f0f8ec;outline:none}
.gae-map-zoom-controls span{min-width:44px;padding:0 5px;text-align:center;font-size:9px;font-weight:900;color:#52655a;font-variant-numeric:tabular-nums}
.gae-map-dept-label{font-size:10px;font-weight:900;letter-spacing:.01em;fill:#173e27;stroke-width:3px}
.gae-map-muni-label{font-size:8px;font-weight:800;fill:#244b31;stroke-width:2.4px}
.gae-map-external-label{dominant-baseline:central}
.gae-map-label-line{stroke:#567261;stroke-width:.8;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}
.gae-map-label-dot{fill:#284f34;stroke:#fff;stroke-width:.7;vector-effect:non-scaling-stroke;pointer-events:none}
.gae-map-label-layer{pointer-events:none}
@media(max-width:760px){
  .gae-map-zoom-controls{top:8px;left:8px;grid-template-columns:38px 38px 38px auto}
  .gae-map-zoom-controls button{width:38px;height:38px}
  .gae-map-place-label{display:block}
  .gae-map-dept-label{font-size:11px}
  .gae-map-muni-label{font-size:8.5px}
}

/* GAE 4.24.0 · listado lateral de Atención */
.gae-map-attention-panel{min-height:0;border-top:1px solid #e6ece8;padding-top:8px;display:flex;flex-direction:column;gap:7px}
.gae-map-attention-panel-title{display:grid;gap:1px;padding:0 2px 3px}.gae-map-attention-panel-title>span{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.045em;color:#53665a}.gae-map-attention-panel-title small{font-size:7.8px;color:#839087}
.gae-map-attention-group{border:1px solid #e4eae6;border-radius:10px;background:#fff;overflow:hidden;flex:0 0 auto}
.gae-map-attention-group-head{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:6px 8px;border-bottom:1px solid #edf1ee}.gae-map-attention-group-head>span{min-width:0;display:flex;align-items:center;gap:5px}.gae-map-attention-group-head i{width:9px;height:9px;border-radius:50%;flex:0 0 9px}.gae-map-attention-group-head strong{font-size:9.5px;color:#304538}.gae-map-attention-group-head small{font-size:7.5px;color:#7c8981;white-space:nowrap}.gae-map-attention-group-head>b{display:grid;place-items:center;min-width:24px;height:19px;padding:0 5px;border-radius:99px;background:#f0f4f1;color:#53665a;font-size:8px}
.gae-map-attention-names{max-height:112px;overflow:auto;padding:3px}.gae-map-attention-names button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:7px;border:0;border-bottom:1px solid #f0f3f1;background:transparent;padding:6px 5px;text-align:left;cursor:pointer;border-radius:6px}.gae-map-attention-names button:last-child{border-bottom:0}.gae-map-attention-names button:hover,.gae-map-attention-names button:focus-visible{background:#f5f8f5;outline:none}.gae-map-attention-names button>span{min-width:0;font-size:8.8px;font-weight:800;color:#34493b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gae-map-attention-names button>span small{display:block;font-size:7px;font-weight:650;color:#849087;overflow:hidden;text-overflow:ellipsis}.gae-map-attention-names button>b{font-size:8px;color:#607067;white-space:nowrap}.gae-map-attention-empty{padding:8px;text-align:center;color:#8a958e;font-size:8px}
.gae-map-attention-group.group-attention{border-left:4px solid #2E7D32}.gae-map-attention-group.group-attention .gae-map-attention-group-head i{background:#2E7D32}.gae-map-attention-group.group-normal{border-left:4px solid #F2A629}.gae-map-attention-group.group-normal .gae-map-attention-group-head i{background:#F2A629}.gae-map-attention-group.group-critical{border-left:4px solid #7A0019}.gae-map-attention-group.group-critical .gae-map-attention-group-head i{background:#7A0019}.gae-map-attention-group.group-nodata{border-left:4px solid #aeb8b1}.gae-map-attention-group.group-nodata .gae-map-attention-group-head i{background:#aeb8b1}.gae-map-attention-group.group-nodata .gae-map-attention-names button>span,.gae-map-attention-group.group-nodata .gae-map-attention-names button>b{color:#6f7b73}
.gae-map-attention-note{display:flex;align-items:flex-start;gap:6px;padding:7px 8px;border-radius:9px;background:#f6f8f6;color:#727f77;font-size:7.5px;line-height:1.35}.gae-map-attention-note>i{width:8px;height:8px;margin-top:1px;border-radius:50%;background:#aeb8b1;flex:0 0 8px}.gae-map-attention-note b{color:#56645b}
@media(max-width:1050px){.gae-map-attention-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.gae-map-attention-panel-title,.gae-map-attention-note{grid-column:1/-1}.gae-map-attention-names{max-height:150px}}
@media(max-width:620px){.gae-map-attention-panel{grid-template-columns:1fr}.gae-map-attention-panel-title,.gae-map-attention-note{grid-column:1}.gae-map-attention-names{max-height:180px}}

.gae-territory.no-attended path{opacity:.78}.gae-territory.no-attended:hover path,.gae-territory.no-attended:focus path{opacity:1}


/* GAE 4.25.0 · filtro local multidepartamento del mapa */
.gae-map-dept-filter-control{position:relative;display:grid;gap:4px;min-width:185px;font-size:9.5px;font-weight:850;color:#5d6d63}
.gae-map-dept-filter{position:relative;min-width:185px;font-weight:700;color:#294434}
.gae-map-dept-filter>summary{height:34px;display:flex;align-items:center;justify-content:space-between;gap:9px;border:1px solid #cfdad2;border-radius:9px;background:#fff;padding:0 9px;cursor:pointer;list-style:none;font-size:10.5px;user-select:none}
.gae-map-dept-filter>summary::-webkit-details-marker{display:none}.gae-map-dept-filter>summary i{font-style:normal;color:#6f7d74;font-size:11px;transition:transform .15s ease}.gae-map-dept-filter[open]>summary i{transform:rotate(180deg)}
.gae-map-dept-menu{position:absolute;z-index:45;top:39px;left:0;width:270px;max-width:min(88vw,320px);padding:8px;border:1px solid #d5dfd8;border-radius:11px;background:#fff;box-shadow:0 12px 30px rgba(28,52,35,.16)}
.gae-map-dept-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 7px;border-bottom:1px solid #edf1ee}.gae-map-dept-menu-head>span{font-size:8.5px;color:#78857d}.gae-map-dept-menu-head button{border:0;background:#eef7ea;color:#2b6d18;border-radius:7px;padding:5px 8px;font-size:8px;font-weight:900;cursor:pointer}
.gae-map-dept-list{display:grid;gap:2px;max-height:250px;overflow:auto;padding:5px 1px}.gae-map-dept-list label{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;padding:6px 5px;border-radius:7px;cursor:pointer;font-size:9px!important;font-weight:750!important;color:#34493b!important}.gae-map-dept-list label:hover{background:#f4f8f4}.gae-map-dept-list input{width:15px;height:15px;accent-color:#39A900;flex:0 0 auto}.gae-map-dept-list label>span{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1}.gae-map-dept-list label b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gae-map-dept-list label small{font-size:7.5px;color:#849087;white-space:nowrap}
.gae-map-dept-apply{width:100%;height:32px;border:0;border-radius:8px;background:#39A900;color:#fff;font-size:9px;font-weight:900;cursor:pointer}.gae-map-dept-apply:hover{background:#2f8f00}
@media(max-width:760px){.gae-map-dept-filter-control{width:100%;min-width:0}.gae-map-dept-filter{width:100%;min-width:0}.gae-map-dept-menu{position:fixed;left:12px;right:12px;top:auto;width:auto;max-width:none}.gae-map-dept-list{max-height:310px}.gae-map-dept-filter>summary{min-height:44px}}

/* GAE 4.26.0 · distribución Atención + No atendido geográfico */
.gae-territorial-layout.is-attention{
  grid-template-columns:minmax(0,1fr) minmax(360px,.5fr);
  align-items:start;
}
.gae-territorial-layout.is-attention .gae-map-inspector{
  max-height:690px;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.gae-territorial-layout.is-attention .gae-map-attention-panel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  align-items:start;
}
.gae-territorial-layout.is-attention .gae-map-attention-panel-title,
.gae-territorial-layout.is-attention .gae-map-attention-note{
  grid-column:1/-1;
}
.gae-territorial-layout.is-attention .gae-map-attention-group{
  min-width:0;
}
.gae-territorial-layout.is-attention .gae-map-attention-names{
  max-height:128px;
}
.gae-map-attention-names button.no-records>b{
  color:#8a958e;
  font-weight:750;
}
.gae-map-no-data-message{
  margin-top:10px;
  padding:12px;
  border:1px solid #e0e6e2;
  border-radius:11px;
  background:#f6f8f6;
  display:grid;
  gap:4px;
}
.gae-map-no-data-message b{font-size:10px;color:#56645b}
.gae-map-no-data-message span{font-size:8.5px;line-height:1.4;color:#7a867e}
@media(max-width:1180px){
  .gae-territorial-layout.is-attention{grid-template-columns:minmax(0,1fr) minmax(320px,.56fr)}
}
@media(max-width:1050px){
  .gae-territorial-layout.is-attention{grid-template-columns:1fr}
  .gae-territorial-layout.is-attention .gae-map-inspector{max-height:none;overflow:visible}
  .gae-territorial-layout.is-attention .gae-map-attention-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .gae-territorial-layout.is-attention .gae-map-attention-panel{grid-template-columns:1fr}
  .gae-territorial-layout.is-attention .gae-map-attention-panel-title,
  .gae-territorial-layout.is-attention .gae-map-attention-note{grid-column:1}
}


/* GAE 4.27.0 · mapa completo + lateral sin duplicados */
.gae-map-attention-note{display:none!important}
.gae-map-dir-no-data{font-size:8px;font-weight:850;color:#8a958e;white-space:nowrap}
.gae-map-directory-list button.is-out{background:#fafbfa}
.gae-map-directory-list button.is-out>span:first-child strong{color:#6f7b73}
.gae-map-directory-list button.is-out>span:first-child small{color:#9aa39d}


/* GAE 4.28.0 · Clasificación territorial horizontal bajo el mapa */
.gae-territorial-layout.is-attention{
  grid-template-columns:minmax(0,1.72fr) minmax(270px,.54fr);
  align-items:start;
}
.gae-territorial-layout.is-attention .gae-map-inspector{
  max-height:690px;
  overflow:auto;
}
.gae-map-attention-panel{
  margin-top:12px;
  border:1px solid #dce5df;
  border-radius:16px;
  background:#fff;
  padding:11px 12px 12px;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  min-width:0;
}
.gae-map-attention-panel-title{
  display:flex!important;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  padding:0 2px 2px!important;
}
.gae-map-attention-panel-title>span{font-size:9.5px!important}
.gae-map-attention-panel-title small{font-size:7.8px!important;text-align:right}
.gae-map-attention-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  align-items:start;
  min-width:0;
}
.gae-map-attention-group{min-width:0;height:auto}
.gae-map-attention-names{
  max-height:none!important;
  overflow:visible!important;
  padding:3px!important;
}
.gae-map-attention-more{
  border-top:1px solid #edf1ee;
  margin-top:2px;
}
.gae-map-attention-more>summary{
  list-style:none;
  min-height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  cursor:pointer;
  border-radius:7px;
  color:#2f6f23;
  font-size:8.5px;
  font-weight:900;
  user-select:none;
}
.gae-map-attention-more>summary::-webkit-details-marker{display:none}
.gae-map-attention-more>summary:hover,.gae-map-attention-more>summary:focus-visible{background:#f2f8ef;outline:none}
.gae-map-attention-more>summary span{font-size:7.5px;color:#748178}
.gae-map-attention-more[open]>summary{margin-bottom:2px;background:#f7faf7}
.gae-map-attention-more-list{display:grid}
@media(max-width:1180px){
  .gae-map-attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1050px){
  .gae-territorial-layout.is-attention{grid-template-columns:1fr}
  .gae-territorial-layout.is-attention .gae-map-inspector{max-height:none;overflow:visible}
}
@media(max-width:620px){
  .gae-map-attention-panel-title{align-items:flex-start;flex-direction:column}
  .gae-map-attention-panel-title small{text-align:left}
  .gae-map-attention-grid{grid-template-columns:1fr}
}


/* GAE 4.29.0 · cierre UX territorial: resumen, ruta, seleccion, foco y exportacion */
.gae-map-reset-btn{padding-inline:11px;white-space:nowrap}
.gae-map-territorial-summary{display:flex;align-items:center;gap:12px;min-width:0;padding:8px 10px;border:1px solid #dce5df;border-radius:13px;background:linear-gradient(180deg,#fbfdfb,#f7faf7)}
.gae-map-territorial-summary.is-empty{min-height:43px;color:#748178;font-size:9.5px;justify-content:center;background:#fafcfa}
.gae-map-summary-place{min-width:175px;max-width:270px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;border-right:1px solid #dfe7e2;padding-right:12px}
.gae-map-summary-place small{width:100%;font-size:7.5px;line-height:1;text-transform:uppercase;letter-spacing:.05em;color:#7a877f;font-weight:850}
.gae-map-summary-place strong{font-size:12.5px;line-height:1.15;color:#173f27;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}
.gae-map-summary-place .gae-map-status{margin-left:auto}
.gae-map-summary-kpis{flex:1;min-width:0;display:grid;grid-template-columns:repeat(6,minmax(72px,1fr));gap:5px}
.gae-map-summary-kpis>span{min-width:0;padding:3px 7px;border-left:1px solid #e2e9e4;display:grid;gap:1px}
.gae-map-summary-kpis b{font-size:12px;line-height:1.1;color:#123f23;font-variant-numeric:tabular-nums}.gae-map-summary-kpis i{font-style:normal;font-size:7.5px;color:#718078;white-space:nowrap}
.gae-map-breadcrumb strong.is-current{font-size:10px;color:#344b3b;font-weight:900}.gae-map-breadcrumb button:not(.is-current):hover{text-decoration:underline;text-underline-offset:2px}
.gae-territory.is-selected .gae-territory-top{stroke:#00304D!important;stroke-width:3.2!important;filter:drop-shadow(0 1px 1px rgba(0,48,77,.28)) brightness(.98)}
.gae-territory.is-selected .gae-map-bubble-circle{stroke:#00304D!important;stroke-width:2.4!important}
.gae-map-place-label.is-selected,.gae-map-callout-label.is-selected .gae-map-place-label{font-weight:950!important;fill:#00304D!important;stroke:#fff!important;stroke-width:4px!important;font-size:10.5px!important}
.gae-map-callout-label.is-selected .gae-map-label-line{stroke:#00304D!important;stroke-width:1.8!important}.gae-map-callout-label.is-selected .gae-map-label-dot{fill:#00304D!important;r:2.8px}
#dashMapMunicipios{--gae-map-zoom:1}.gae-map-place-label{transition:font-size .12s ease,opacity .12s ease,filter .12s ease}.gae-map-muni-label{font-size:7.6px}.gae-map-dept-label{font-size:9.6px}
.gae-map-attention-group-head{width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:7px 7px 6px;text-align:left;cursor:pointer;border-radius:8px;color:inherit}.gae-map-attention-group-head:hover,.gae-map-attention-group-head:focus-visible{background:#f5f8f5;outline:none}.gae-map-attention-group-head[aria-pressed="true"]{background:#eff6ec;box-shadow:inset 0 0 0 1px rgba(57,169,0,.25)}
.gae-territory.is-attention-dimmed{opacity:.14}.gae-territory.is-attention-focused{opacity:1}.gae-map-attention-group.is-attention-dimmed{opacity:.36}.gae-map-attention-group.is-attention-focused{opacity:1;box-shadow:0 0 0 2px rgba(57,169,0,.13)}.gae-map-attention-group.is-focus-pinned{box-shadow:0 0 0 2px rgba(0,48,77,.16)}
.gae-territory{transition:opacity .14s ease}.gae-map-attention-group{transition:opacity .14s ease,box-shadow .14s ease}
@media(max-width:1000px){.gae-map-territorial-summary{align-items:flex-start;flex-direction:column}.gae-map-summary-place{max-width:none;width:100%;border-right:0;border-bottom:1px solid #e1e8e3;padding-right:0;padding-bottom:7px}.gae-map-summary-kpis{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.gae-map-summary-kpis>span:nth-child(1),.gae-map-summary-kpis>span:nth-child(4){border-left:0}}
@media(max-width:620px){.gae-map-summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gae-map-summary-kpis>span:nth-child(odd){border-left:0}.gae-map-reset-btn{width:auto!important;flex:1 1 auto}}

/* GAE 4.30.0 · exportacion cartografica con etiquetas externas */
.gae-map-export-layout{height:36px;display:flex;align-items:center;gap:6px;border:1px solid #d5dfd8;background:#fff;border-radius:10px;padding:0 7px;color:#607067;font-size:8px;font-weight:850;white-space:nowrap}
.gae-map-export-layout span{line-height:1.05;max-width:58px}
.gae-map-export-layout select{height:28px;min-width:112px;border:0;background:#f7faf7;color:#254531;border-radius:7px;padding:0 24px 0 7px;font-size:9px;font-weight:850;outline:none}
.gae-map-export-layout:focus-within{border-color:#39A900;box-shadow:0 0 0 2px rgba(57,169,0,.12)}
@media(max-width:760px){.gae-map-export-layout{width:100%;justify-content:space-between;height:auto;min-height:36px}.gae-map-export-layout span{max-width:none}.gae-map-export-layout select{flex:1;max-width:190px}}

/* Adaptacion especifica para Analitica de Certificados SENA */
.certificate-gae-map{position:relative;min-width:0;color:#24372b}
.certificate-gae-map .gae-territorial-head h3{color:#123f23}
.certificate-gae-map .gae-map-source-line{padding-bottom:2px}
.certificate-gae-map .gae-map-inspector{max-height:690px;overflow:auto}
.certificate-gae-map .gae-map-directory-list{max-height:430px;overflow:auto}
.certificate-gae-map .gae-map-tooltip{position:absolute}
.certificate-gae-map .gae-map-loading-pro{min-height:580px}
.certificate-gae-map .gae-status-legend .cert-high{background:#2E7D32}
.certificate-gae-map .gae-status-legend .cert-medium{background:#F2A629}
.certificate-gae-map .gae-status-legend .cert-low{background:#7A0019}
.certificate-gae-map .cert-status-high{background:#e6f4e5;color:#1d6c2a}
.certificate-gae-map .cert-status-medium{background:#fff0c7;color:#8a5600}
.certificate-gae-map .cert-status-low{background:#f3dce2;color:#7A0019}
.certificate-gae-map .cert-class-high .gae-map-attention-group-head i{background:#2E7D32}
.certificate-gae-map .cert-class-medium .gae-map-attention-group-head i{background:#F2A629}
.certificate-gae-map .cert-class-low .gae-map-attention-group-head i{background:#7A0019}
.certificate-gae-map .cert-class-nodata .gae-map-attention-group-head i{background:#e5e9e6;border:1px solid #c6d0c9}
.certificate-gae-map .gae-map-attention-group-head>span{display:flex;align-items:center;gap:6px;min-width:0}
.certificate-gae-map .gae-map-attention-group-head>span>i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;display:inline-block}
.certificate-gae-map .gae-map-attention-group-head>span>strong{font-size:9px;white-space:nowrap}
.certificate-gae-map .gae-map-attention-group-head>span>small{font-size:7.5px;color:#7a867e;white-space:nowrap}
.certificate-gae-map .gae-map-attention-group-head>b{font-size:9px;color:#53655a}
.certificate-gae-map .gae-map-attention-names button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-bottom:1px solid #edf1ee;background:transparent;padding:6px 5px;text-align:left;cursor:pointer;color:#34483b}
.certificate-gae-map .gae-map-attention-names button:hover{background:#f5f9f4}
.certificate-gae-map .gae-map-attention-names button>span{display:grid;gap:1px;min-width:0;font-size:8.5px;font-weight:800}
.certificate-gae-map .gae-map-attention-names button>span small{font-size:7px;color:#7b877f;font-weight:600}
.certificate-gae-map .gae-map-attention-names button>b{font-size:8px;color:#1e6124;white-space:nowrap}
.certificate-gae-map .gae-map-attention-names button.no-records>b{color:#8b9690}
.certificate-gae-map .gae-map-attention-empty{padding:10px 6px;color:#8b9690;font-size:8px;text-align:center}
.certificate-gae-map .gae-map-stage{position:relative;min-width:0}
.certificate-gae-map .gae-map-zoom-controls{position:absolute;z-index:8;left:10px;top:10px;display:grid;grid-template-columns:34px;gap:4px;background:rgba(255,255,255,.94);border:1px solid #d9e3dc;border-radius:10px;padding:5px;box-shadow:0 5px 16px rgba(18,52,31,.08)}
.certificate-gae-map .gae-map-zoom-controls button{width:34px;height:31px;border:0;border-radius:7px;background:#f5f9f5;color:#244c31;font-size:15px;font-weight:900;cursor:pointer}
.certificate-gae-map .gae-map-zoom-controls button:hover{background:#e9f6e4;color:#176000}
.certificate-gae-map .gae-map-zoom-controls span{font-size:7.5px;text-align:center;color:#6d7b72;font-weight:800;padding:2px 0}
.certificate-gae-map .gae-map-label-line{stroke:#708779;stroke-width:1;pointer-events:none}
.certificate-gae-map .gae-map-label-dot{fill:#4d6a58;pointer-events:none}
.certificate-gae-map .gae-map-external-label{font-size:7.4px}
.certificate-gae-map .gae-map-municipality-directory{display:grid;gap:6px;min-height:0;border-top:1px solid #e6ece8;padding-top:8px;overflow:hidden}
.certificate-gae-map .gae-map-directory-list{display:grid;min-height:0}
.certificate-gae-map .gae-map-directory-list button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;border-bottom:1px solid #edf1ee;background:transparent;padding:7px 3px;text-align:left;cursor:pointer}
.certificate-gae-map .gae-map-directory-list button:hover{background:#f3f8f3}
.certificate-gae-map .gae-map-directory-list button>span:first-child{display:grid;gap:1px;min-width:0}
.certificate-gae-map .gae-map-directory-list button strong{font-size:9px;color:#2b4935;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.certificate-gae-map .gae-map-directory-list button small{font-size:7.2px;color:#7d8881}
.certificate-gae-map .gae-map-directory-list button>span:last-child{display:grid;justify-items:end;gap:1px;white-space:nowrap}
.certificate-gae-map .gae-map-directory-list button>span:last-child b{font-size:8.5px;color:#14702c}
.certificate-gae-map .cert-map-dept-filter-control{display:grid;gap:4px;font-size:9.5px;font-weight:850;color:#5d6d63;position:relative}
.certificate-gae-map .cert-map-dept-filter>summary{height:34px;min-width:145px;border:1px solid #cfdad2;border-radius:9px;background:#fff;color:#203b29;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 9px;cursor:pointer;list-style:none}
.certificate-gae-map .cert-map-dept-filter>summary::-webkit-details-marker{display:none}
.certificate-gae-map .cert-map-dept-filter>summary i{font-style:normal;color:#728078}
.certificate-gae-map .cert-map-dept-menu{position:absolute;z-index:40;right:0;top:58px;width:min(360px,85vw);background:#fff;border:1px solid #d7e1da;border-radius:12px;padding:10px;box-shadow:0 16px 36px rgba(20,45,29,.16)}
.certificate-gae-map .cert-map-dept-menu-head{display:flex;justify-content:space-between;gap:8px;align-items:center;padding-bottom:7px;border-bottom:1px solid #edf1ee;font-size:8.5px}
.certificate-gae-map .cert-map-dept-menu-head button{border:0;background:transparent;color:#23720f;font-weight:900;cursor:pointer}
.certificate-gae-map .cert-map-dept-master{display:inline-flex;align-items:center;gap:5px;color:#23720f;font-weight:900;cursor:pointer;white-space:nowrap}
.certificate-gae-map .cert-map-dept-master input{accent-color:#39A900;margin:0}
.certificate-gae-map .cert-map-dept-apply:disabled{opacity:.45;cursor:not-allowed}
.certificate-gae-map .cert-map-dept-list{max-height:260px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:8px 0}
.certificate-gae-map .cert-map-dept-list label{display:flex;align-items:center;gap:6px;border:1px solid #e3e9e5;border-radius:8px;padding:6px;cursor:pointer;background:#fbfdfb}
.certificate-gae-map .cert-map-dept-list label:has(input:checked){border-color:#a9d69a;background:#f0f9ed}
.certificate-gae-map .cert-map-dept-list input{accent-color:#39A900}
.certificate-gae-map .cert-map-dept-list span{display:grid;gap:1px;min-width:0}
.certificate-gae-map .cert-map-dept-list b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.certificate-gae-map .cert-map-dept-list small{font-size:7px;color:#7b8780}
.certificate-gae-map .cert-map-dept-apply{width:100%;border:0;border-radius:8px;background:#39A900;color:#fff;padding:8px;font-size:9px;font-weight:900;cursor:pointer}
.certificate-gae-map .gae-map-concentration-control{min-width:245px!important;flex:1 1 260px}
.certificate-gae-map .gae-map-concentration-control>span{display:flex;align-items:center;justify-content:space-between;gap:9px}
.certificate-gae-map .gae-map-concentration-control b{color:#007832}
.certificate-gae-map .gae-map-concentration-control input{width:100%;accent-color:#39A900;cursor:pointer}
.certificate-gae-map .gae-map-concentration-control small{display:flex;justify-content:space-between;color:#8b9690;font-size:7px;font-weight:650}
.certificate-gae-map .gae-map-concentration-control i{font-style:normal}
.certificate-gae-map .gae-map-offline-fallback{min-height:520px}
.certificate-gae-map .gae-map-loading{min-height:520px;display:grid;place-items:center;align-content:center;gap:5px;border:1px solid #dce5df;border-radius:16px;background:#fbfdfb;color:#65736a;text-align:center}
.certificate-gae-map .gae-map-loading>span{width:27px;height:27px;border:3px solid #dfe8e1;border-top-color:#39A900;border-radius:50%;animation:certMapSpin .8s linear infinite}
.certificate-gae-map .gae-map-loading b{font-size:12px;color:#21482d}.certificate-gae-map .gae-map-loading small{font-size:8.5px}
@keyframes certMapSpin{to{transform:rotate(360deg)}}
.cert-map-expanded-body{overflow:hidden!important}
#municipalityMap.cert-map-expanded{position:fixed!important;inset:10px!important;z-index:99998!important;margin:0!important;padding:12px!important;background:#f5f8f6!important;border:1px solid #d5e0d8!important;border-radius:18px!important;overflow:auto!important;box-shadow:0 18px 60px rgba(0,0,0,.28)!important}
#municipalityMap.cert-map-expanded .gae-territorial-svg{max-height:none;min-height:720px}
#municipalityMap.cert-map-expanded .gae-map-inspector{max-height:820px}
.territorial-dashboard-grid>.map-panel{min-height:780px}
.territorial-dashboard-grid>.map-panel .map-shell{overflow:visible}
@media(max-width:1250px){.certificate-gae-map .gae-territorial-layout{grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr)}.certificate-gae-map .gae-map-search{min-width:210px}.certificate-gae-map .cert-map-dept-list{grid-template-columns:1fr}}
@media(max-width:1050px){.certificate-gae-map .gae-territorial-layout{grid-template-columns:1fr}.certificate-gae-map .gae-map-inspector{max-height:none}.certificate-gae-map .gae-map-directory-list{max-height:300px}.certificate-gae-map .gae-map-attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.certificate-gae-map .gae-territorial-head{flex-direction:column}.certificate-gae-map .gae-map-secondary-tools{width:100%;justify-content:flex-start}.certificate-gae-map .gae-map-search{min-width:0;width:100%}.certificate-gae-map .gae-territorial-toolbar>label{width:100%}.certificate-gae-map .gae-territorial-toolbar select{width:100%}.certificate-gae-map .gae-map-attention-grid{grid-template-columns:1fr}.certificate-gae-map .gae-map-summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-gae-map .cert-map-dept-filter-control{width:100%}.certificate-gae-map .cert-map-dept-filter>summary{width:100%}}

/* v1.9.7 - departamentos sin registros permanecen visibles */
.gae-map-dept-label.is-no-data{fill:#657168;font-weight:800;opacity:.92}

/* v1.9.10 - Municipios sin datos visibles con nombre */
.certificate-gae-map .gae-map-muni-label.is-no-data{fill:#657168;font-weight:700;opacity:.9}
.certificate-gae-map .gae-map-callout-label.is-no-data .gae-map-label-line{stroke:#8c9790;opacity:.8}
.certificate-gae-map .gae-map-callout-label.is-no-data .gae-map-label-dot{fill:#8c9790}

/* PE-04 v5.4 - integración del mapa territorial avanzado */
#territorialSection .pe04-map-v54-card{overflow:visible!important;padding:14px!important}
#dashMap{position:relative;min-width:0}
#dashMap.cert-map-expanded{position:fixed!important;inset:10px!important;z-index:99998!important;margin:0!important;padding:12px!important;background:#f5f8f6!important;border:1px solid #d5e0d8!important;border-radius:18px!important;overflow:auto!important;box-shadow:0 18px 60px rgba(0,0,0,.28)!important}
#dashMap.cert-map-expanded .gae-territorial-svg{max-height:none!important;min-height:720px!important}
#dashMap.cert-map-expanded .gae-map-inspector{max-height:820px!important}
#dashMap .gae-map-dir-no-data{font-size:8px;color:#89948d}
#dashMap .gae-map-muni-label.is-no-data{fill:#657168;font-weight:700;opacity:.9}
@media(max-width:760px){#dashMap.cert-map-expanded{inset:4px!important;padding:7px!important}#dashMap.cert-map-expanded .gae-territorial-svg{min-height:420px!important}}
