/* Mapa eleitoral R7 — 5 — intensidade percentual, histórico automático e progresso */
.president-territorial-launch{margin:18px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;border:1px solid #d9e5ef;border-radius:20px;background:linear-gradient(135deg,#f7fbff 0%,#eef6fc 100%);box-shadow:0 8px 24px rgba(23,62,97,.06)}
.president-territorial-launch-copy>span,.president-territorial-explorer-head>div>span,.results-map-head-copy>span{display:block;margin-bottom:6px;color:#9f3131;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.president-territorial-launch h2{margin:0;color:#163a5c;font-size:24px;line-height:1.15}
.president-territorial-launch p{max-width:720px;margin:7px 0 0;color:#627487;font-size:13px;line-height:1.5}
.president-territorial-launch-actions{display:flex;align-items:stretch;gap:10px;flex:0 0 auto}
.president-map-open-button{display:grid;grid-template-columns:28px auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;min-width:220px;padding:12px 16px;border:0;border-radius:13px;background:#0f4f83;color:#fff;text-align:left;box-shadow:0 7px 18px rgba(15,79,131,.18);cursor:pointer}
.president-map-open-button:hover{background:#0b436f;transform:translateY(-1px)}
.president-map-open-button>span{grid-row:1/3;font-size:22px}.president-map-open-button strong{font-size:13px}.president-map-open-button small{opacity:.78;font-size:10px}
.president-table-open-button{padding:0 15px;border:1px solid #bdcedd;border-radius:13px;background:#fff;color:#174d78;font-size:12px;font-weight:800;cursor:pointer}
.president-table-open-button:hover{background:#f5f9fc}

.president-territorial-explorer{margin:0 0 24px;border:1px solid #d8e4ee;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(24,55,82,.07)}
.president-territorial-explorer[hidden]{display:none!important}
.president-territorial-explorer-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid #e4ebf1;background:#fbfdff}
.president-territorial-explorer-head h2{margin:0;color:#173b5d;font-size:20px}
.president-territorial-explorer-actions{display:flex;align-items:center;gap:10px}
.president-territorial-tabs{display:flex;gap:4px;padding:3px;border:1px solid #d8e3ec;border-radius:10px;background:#eef4f8}
.president-territorial-tabs button{padding:7px 11px;border:0;border-radius:7px;background:transparent;color:#53687b;font-size:11px;font-weight:800;cursor:pointer}
.president-territorial-tabs button.is-active{background:#fff;color:#104f82;box-shadow:0 2px 7px rgba(18,67,104,.08)}
.president-territorial-close{padding:8px 10px;border:1px solid #d2dee8;border-radius:9px;background:#fff;color:#627487;font-size:11px;font-weight:800;cursor:pointer}
#president-territorial-map-pane[hidden],#president-territorial-table-pane[hidden]{display:none!important}
.president-states-panel-integrated{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}

.results-election-map-section{background:#fff}
.results-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:20px 22px 16px;border-bottom:1px solid #e5ecf2}
.results-map-head h2{margin:0;color:#172f46;font-size:25px;line-height:1.14}
.results-map-head p{max-width:790px;margin:8px 0 0;color:#677888;font-size:13px;line-height:1.5}
.results-map-head-tools{display:flex;align-items:flex-start;gap:14px;flex:0 0 auto}
.results-map-source{color:#71808f;font-size:10px;text-align:right;white-space:nowrap}.results-map-source strong{display:block;color:#27445f;font-size:12px}

.results-map-modebar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 22px;border-bottom:1px solid #e3eaf0;background:#f8fbfd}
.results-map-modebar[hidden]{display:none!important}
.results-map-modebar-copy{min-width:0}.results-map-modebar-copy strong{display:block;color:#27445f;font-size:11px}.results-map-modebar-copy span{display:block;margin-top:2px;color:#71808f;font-size:10px;line-height:1.4}
.results-map-level-switch{display:flex;flex:0 0 auto;padding:3px;border:1px solid #cddbe6;border-radius:11px;background:#edf3f7}
.results-map-level-switch[hidden]{display:none!important}
.results-map-level-switch button{min-width:105px;padding:8px 13px;border:0;border-radius:8px;background:transparent;color:#607386;font-size:11px;font-weight:800;cursor:pointer}
.results-map-level-switch button.is-active{background:#0f4f83;color:#fff;box-shadow:0 3px 9px rgba(15,79,131,.16)}

.results-map-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:14px 22px;background:#f4f7fa;border-bottom:1px solid #e3eaf0;overflow:visible}
.results-map-field{min-width:150px;flex:1 1 170px}.results-map-field[hidden]{display:none!important}
.results-map-field-turn{flex:0 1 118px;min-width:105px}.results-map-field-office{flex:1.25 1 195px}.results-map-field-color{flex:0 1 155px}.results-map-field-scope{flex:0 1 165px}
.results-map-field label{display:block;margin:0 0 5px;color:#647789;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.results-map-field select{width:100%;height:40px;padding:0 32px 0 11px;border:1px solid #ccd9e4;border-radius:10px;background:#fff;color:#183b5b;font-size:12px;font-weight:700;outline:none}
.results-map-field select:focus{border-color:#6a9bc3;box-shadow:0 0 0 3px rgba(38,112,169,.10)}
.results-map-toolbar-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}
.results-map-reset,.results-map-refresh{height:40px;padding:0 13px;border-radius:10px;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}
.results-map-reset{border:1px solid #cad7e2;background:#fff;color:#184e78}.results-map-reset:hover{background:#eef5fa}
.results-map-refresh{border:1px solid #0f4f83;background:#0f4f83;color:#fff}.results-map-refresh:hover{background:#0b436f}.results-map-refresh[hidden]{display:none!important}

.results-map-boundaries{display:flex;align-items:center;gap:14px;padding:10px 22px;border-bottom:1px solid #e7edf2;background:#fff;color:#607386}
.results-map-boundary-label{display:flex;align-items:baseline;gap:7px;flex:0 0 auto}.results-map-boundary-label strong{color:#324c64;font-size:11px}.results-map-boundary-label span{color:#82909c;font-size:9px}
.results-map-boundary-buttons{display:flex;gap:6px;flex:0 0 auto}
.results-map-boundary-toggle{appearance:none!important;-webkit-appearance:none!important;width:auto!important;height:32px!important;min-width:0!important;margin:0!important;padding:0 11px!important;border:1px solid #d0dce5!important;border-radius:9px!important;background:#fff!important;color:#617385!important;font:800 10px/1 inherit!important;box-shadow:none!important;cursor:pointer}
.results-map-boundary-toggle::before,.results-map-boundary-toggle::after{display:none!important;content:none!important}
.results-map-boundary-toggle.is-active{border-color:#8fb2cd!important;background:#edf5fb!important;color:#0f4f83!important}
.results-map-boundaries small{margin-left:auto;color:#748493;font-size:10px}
.results-map-status{margin:11px 22px 0;padding:10px 12px;border-radius:9px;background:#edf6fb;color:#245777;font-size:12px}.results-map-status.warning{background:#fff6dc;color:#735917}.results-map-status.error{background:#fff0f0;color:#8b2d2d}.results-map-status.info{background:#eef7f2;color:#2c6a4c}

.results-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:555px;background:#eef3f7}
.results-map-canvas-wrap{position:relative;min-height:555px;background:#eef3f7;overflow:hidden}
#results-election-map{position:absolute;inset:0;min-height:555px;background:#eef3f7}
.results-map-loading{position:absolute;z-index:5;left:50%;top:50%;display:flex;align-items:center;gap:9px;transform:translate(-50%,-50%);padding:12px 15px;border:1px solid #d1dde7;border-radius:11px;background:rgba(255,255,255,.95);color:#27445f;font-size:12px;font-weight:800;box-shadow:0 8px 24px rgba(35,64,88,.12)}
.results-map-loading[hidden]{display:none!important}.results-map-spinner{width:17px;height:17px;border:2px solid #c6d5e1;border-top-color:#0f4f83;border-radius:50%;animation:results-map-spin .8s linear infinite}@keyframes results-map-spin{to{transform:rotate(360deg)}}
.results-map-sidebar{min-width:0;padding:20px 18px;background:#fff;border-left:1px solid #dbe5ed;color:#1c2b3a;overflow:auto}
.results-map-side-head>span{display:block;margin-bottom:5px;color:#6a7a89;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.results-map-side-head h3{margin:0;color:#1d3449;font-size:18px;line-height:1.25}.results-map-side-head p{margin:7px 0 0;color:#6c7b89;font-size:11px;line-height:1.45}
.results-map-clear-highlight,.results-map-back-summary{margin:12px 0 6px;padding:6px 8px;border:0;background:transparent;color:#176095;font-size:11px;font-weight:800;cursor:pointer}
.results-map-ranking{display:grid;gap:7px;margin-top:12px}.results-map-rank-row{display:grid;grid-template-columns:minmax(95px,1fr) minmax(78px,1.35fr) 38px;align-items:center;gap:7px;width:100%;padding:7px 5px;border:1px solid transparent;border-radius:8px;background:transparent;color:#20374d;text-align:left;cursor:pointer}.results-map-rank-row:hover,.results-map-rank-row.is-active{border-color:#d0dce5;background:#f4f8fb}.results-map-rank-label{display:flex;align-items:center;gap:7px;min-width:0;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.results-map-rank-label i{width:10px;height:10px;flex:0 0 auto;border-radius:3px}.results-map-rank-bar{display:block;height:13px;border-radius:4px;background:#edf2f5;overflow:hidden}.results-map-rank-bar i{display:block;height:100%;min-width:2px;border-radius:4px}.results-map-rank-row strong{font-size:11px;text-align:right}.results-map-side-foot{margin:15px 0 0;padding-top:12px;border-top:1px solid #e9eef2;color:#788692;font-size:10px;line-height:1.45}.results-map-empty{color:#74818d;font-size:12px;line-height:1.5}
.results-map-zone-list{display:grid;gap:8px;margin-top:14px}.results-map-zone-list article{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:4px 8px;padding:10px;border:1px solid #e0e8ee;border-radius:10px;background:#fbfdfe}.results-map-zone-list article>span{grid-row:1/3;color:#647586;font-size:10px;font-weight:800}.results-map-zone-list article>strong{min-width:0;color:#183d5d;font-size:11px}.results-map-zone-list article>b{color:#183d5d;font-size:13px;text-align:right}.results-map-zone-list article>small{grid-column:2/4;color:#7b8894;font-size:9px}
.results-map-popup{display:grid;gap:4px;min-width:225px;color:#1c344a;font-family:inherit}.results-map-popup>strong{font-size:15px;line-height:1.25}.results-map-popup>strong small{font-size:10px;color:#6d7c89}.results-map-popup-winner{margin-top:4px;font-size:11px;font-weight:800;color:#23577e}.results-map-popup>b{font-size:19px;color:#0c4e80}.results-map-popup>small{color:#6d7a86;font-size:10px}.results-map-popup-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.results-map-popup-actions button,.results-map-popup-actions a{padding:6px 7px;border:1px solid #cbd9e4;border-radius:7px;background:#fff;color:#155784;font:700 10px/1.2 inherit;text-decoration:none;cursor:pointer}
.results-election-map-section .maplibregl-popup-content{border-radius:11px;padding:13px;box-shadow:0 8px 28px rgba(28,57,82,.22)}.results-election-map-section .maplibregl-popup-close-button{padding:4px 7px;font-size:18px}.results-election-map-section .maplibregl-ctrl-group{border-radius:9px;overflow:hidden}.results-election-map-section .maplibregl-ctrl-attrib{font-size:9px;background:rgba(255,255,255,.9)}
.results-map-manual{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 14px;border:1px solid #cddae5;border-radius:9px;background:#fff;color:#174f7b;font-weight:800}.results-map-manual[hidden]{display:none!important}

@media(max-width:1100px){.president-territorial-launch{align-items:flex-start}.president-territorial-launch-actions{flex-direction:column}.results-map-toolbar{grid-template-columns:105px 190px 145px 145px repeat(5,175px) auto auto}.results-map-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:900px){.president-territorial-launch{flex-direction:column}.president-territorial-launch-actions{width:100%;flex-direction:row}.president-map-open-button{flex:1}.president-table-open-button{flex:0 0 auto}.president-territorial-explorer-head{align-items:flex-start;flex-direction:column}.president-territorial-explorer-actions{width:100%;justify-content:space-between}.results-map-head{padding:18px}.results-map-head h2{font-size:22px}.results-map-head-tools{flex-direction:column;align-items:flex-end}.results-map-modebar{padding:11px 18px}.results-map-toolbar{padding:12px 18px}.results-map-boundaries{padding:10px 18px;flex-wrap:wrap}.results-map-boundaries small{width:100%;margin-left:0}.results-map-layout{grid-template-columns:1fr;min-height:0}.results-map-canvas-wrap,#results-election-map{min-height:455px}.results-map-sidebar{border-left:0;border-top:1px solid #dbe5ed}.results-map-ranking{grid-template-columns:1fr 1fr}.results-map-rank-row{grid-template-columns:minmax(80px,1fr) 65px 34px}}
@media(max-width:600px){.president-territorial-launch{padding:18px 15px;border-radius:16px}.president-territorial-launch h2{font-size:21px}.president-territorial-launch-actions{flex-direction:column}.president-table-open-button{min-height:42px}.president-territorial-explorer{border-radius:16px}.president-territorial-explorer-head{padding:15px}.president-territorial-explorer-actions{align-items:flex-start;gap:7px}.president-territorial-tabs{flex:1}.president-territorial-tabs button{flex:1}.results-map-head{padding:16px;flex-direction:column}.results-map-head-tools{width:100%;align-items:flex-start}.results-map-source{display:none}.results-map-modebar{padding:11px 13px;align-items:flex-start;flex-direction:column}.results-map-level-switch{width:100%}.results-map-level-switch button{flex:1}.results-map-toolbar{padding:11px 13px}.results-map-field,.results-map-field-turn,.results-map-field-office,.results-map-field-color,.results-map-field-scope{flex:1 1 calc(50% - 6px);min-width:140px}.results-map-toolbar-actions{width:100%}.results-map-toolbar-actions button{flex:1}.results-map-boundaries{padding:9px 13px;align-items:flex-start}.results-map-boundary-label{width:100%;display:block}.results-map-boundary-label span{display:block;margin-top:2px}.results-map-boundary-buttons{width:100%}.results-map-boundary-toggle{flex:1}.results-map-canvas-wrap,#results-election-map{min-height:410px}.results-map-sidebar{padding:16px 13px}.results-map-ranking{grid-template-columns:1fr}.results-map-rank-row{grid-template-columns:minmax(100px,1fr) minmax(70px,1.1fr) 36px}}


/* R5 — eleições históricas: o painel é conteúdo da página, não um modal expansível */
.president-territorial-launch[hidden]{display:none!important}
.president-territorial-explorer.is-historical-auto{margin:24px 0}
.president-territorial-explorer.is-historical-auto .president-territorial-close{display:none!important}

/* Intensidade da votação */
.results-map-field-intensity{flex:0 1 190px}
.results-map-intensity-guide{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  padding:8px 22px;border-bottom:1px solid #e7edf2;background:#fbfdfe;
  color:#71808f;font-size:9px
}
.results-map-intensity-guide[hidden]{display:none!important}
.results-map-intensity-guide strong{color:#324c64;font-size:10px}
.results-map-intensity-gradient{
  display:inline-block;width:112px;height:9px;border-radius:999px;border:1px solid #ccd8e2;
  background:linear-gradient(90deg,#e7eef5 0%,#92b0ca 50%,#164f80 100%)
}

/* Mesma barra de progresso usada nos widgets de resultado */
.results-map-widget-progress{margin:12px 22px}
.results-map-widget-progress[hidden]{display:none!important}
.results-map-widget-progress.widget-load-progress{
  padding:12px 14px;border:1px solid #d9e3ed;border-radius:11px;background:#f8fbfe
}
.results-map-widget-progress .widget-load-progress-meta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:7px;color:#687586;font-size:11px;line-height:1.35
}
.results-map-widget-progress .widget-load-progress-meta strong{
  color:#123f72;font-size:11px;font-variant-numeric:tabular-nums
}
.results-map-widget-progress .widget-load-progress-track{
  height:7px;overflow:hidden;border-radius:999px;background:#e4ebf2
}
.results-map-widget-progress .widget-load-progress-bar{
  display:block;height:100%;width:8%;border-radius:inherit;background:#174d87;
  transition:width .24s ease
}
.results-map-widget-progress.is-error{border-color:#e2bcbc;background:#fff8f8}
.results-map-widget-progress.is-error .widget-load-progress-bar{background:#a33b3b}

/* Quando a barra estiver ativa, o overlay do canvas fica bem discreto */
.results-map-loading.is-progress-mode{
  top:22px;transform:translateX(-50%);padding:7px 10px;
  box-shadow:none;background:rgba(255,255,255,.88);font-size:10px
}

@media(max-width:600px){
  .results-map-field-intensity{flex:1 1 calc(50% - 6px);min-width:140px}
  .results-map-intensity-guide{padding:8px 13px;gap:7px}
  .results-map-intensity-gradient{width:86px}
  .results-map-widget-progress{margin:10px 13px}
}

/* R6 — mapa estritamente sob demanda */
.results-map-loading.results-map-idle{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;background:transparent;box-shadow:none;color:#66798a}
.results-map-loading.results-map-idle span{font-size:12px;font-weight:800;color:#294760}
.results-map-loading.results-map-idle small{max-width:430px;font-size:9px;line-height:1.45;color:#81909e}
.results-map-manual{padding:12px 18px;border-color:#8fb0ca;background:#0f4f83;color:#fff;box-shadow:0 6px 16px rgba(15,79,131,.12)}
.results-map-manual:hover{background:#0b426e}

/* R7 — proteção contra HTML antigo em cache */
#results-map-load-manual{display:none!important}
.results-map-loading.results-map-idle{pointer-events:none}
