/* Painel IRPB v1.4.0 · aba Apuração · módulo G (mapa real). Prefixo apuGeo. Usa os tokens do painel (--bg, --panel, --panel2, --tx, --mut, --line, --gold, --teal, --foco). */
.apuGeo{--apuGeoMar:var(--bg,#0e1520);--apuGeoSD:var(--panel2,#22303f);--apuGeoTraco:var(--bg,#0e1520);--apuGeoTx:var(--tx,#e8eef5);--apuGeoMut:var(--mut,#93a3b5);--apuGeoPainel:var(--panel,#162230);--apuGeoLinha:var(--line,#2c3b4d);
  position:relative;width:100%;height:100%;min-height:200px;overflow:hidden;background:var(--apuGeoMar);border:1px solid var(--apuGeoLinha);border-radius:12px;
  -webkit-user-select:none;user-select:none;font:12px/1.3 var(--apuFonte);color:var(--apuGeoTx);box-sizing:border-box}
.apuGeo *{box-sizing:border-box}
.apuGeo>svg{position:absolute;left:0;top:0;width:100%;height:100%;display:block}
.apuGeoSat{pointer-events:none}
.apuGeoSvg{touch-action:none;cursor:grab;outline:none}
.apuGeo.apuGeoArrasto .apuGeoSvg{cursor:grabbing}
.apuGeoSvg:focus-visible{outline:2px solid var(--foco,#4ea1ff);outline-offset:-3px}

/* áreas */
.apuGeoA{fill:var(--apuGeoSD);stroke:var(--apuGeoTraco);stroke-width:.7;vector-effect:non-scaling-stroke;stroke-linejoin:round;cursor:pointer;outline:none}
.apuGeoUF{stroke-width:1.1}
.apuGeoA:focus-visible{stroke:var(--foco,#4ea1ff);stroke-width:2.5}
.apuGeoViz{opacity:.42}
.apuGeoFoco{stroke:var(--apuGeoTx);stroke-width:1.6}
.apuGeoAgua{fill:#3f78a8;fill-opacity:.35;stroke:none;pointer-events:none}
.apuGeoCtxUF{fill:var(--apuGeoPainel);fill-opacity:.55;stroke:var(--apuGeoLinha);stroke-width:.8;vector-effect:non-scaling-stroke;pointer-events:none}
.apuGeoComFundo .apuGeoCtxUF{fill-opacity:0}
.apuGeoComFundo .apuGeoA.apuGeoSD{fill-opacity:.25}
.apuGeoH{fill:url(#apuGeoHachPat);stroke:none;pointer-events:none}
.apuGeoHachRisco{fill:var(--apuGeoTx);fill-opacity:.34}
.apuGeoBai{fill:none;stroke:var(--apuGeoTx);stroke-opacity:.33;stroke-width:.5;vector-effect:non-scaling-stroke;pointer-events:none}
.apuGeoZA{fill:none;stroke:var(--apuGeoTx);stroke-opacity:.72;stroke-width:1.3;vector-effect:non-scaling-stroke;pointer-events:none}
.apuGeoBorda{fill:none;stroke:var(--apuGeoTx);stroke-opacity:.6;stroke-width:1.1;vector-effect:non-scaling-stroke;pointer-events:none}
.apuGeoDivZona{fill:none;stroke:var(--apuGeoTx);stroke-opacity:.82;stroke-width:1.8;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}
.apuGeoHov{fill:none;stroke:var(--apuGeoTx);stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}
.apuGeoRealce{fill:none;stroke:var(--gold,#e0b04a);stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:none}

/* selos (contraescala: unidades = px de tela) */
.apuGeoSelo{cursor:pointer;outline:none}
.apuGeoSelo circle{fill:var(--apuGeoPainel);stroke:var(--apuGeoTx);stroke-width:1.5}
.apuGeoSelo text{font:700 10px/1 var(--apuFonte);text-anchor:middle;fill:var(--apuGeoTx);pointer-events:none}
.apuGeoSelo:hover circle{stroke-width:2.5}
.apuGeoSelo:focus-visible circle,.apuGeoSelo.apuGeoSelOn circle{stroke:var(--gold,#e0b04a);stroke-width:3}
/* número de zona quando o selo não cabe folgado na zona (UF): só rótulo, sem toque; o selo volta ao aproximar */
.apuGeoSelo.apuGeoSeloMini{pointer-events:none;cursor:default}
.apuGeoSeloMini circle{display:none}
.apuGeoSeloMini text{font-size:9px;fill:var(--apuGeoTx)!important;paint-order:stroke;stroke:var(--apuGeoMar);stroke-width:2.6px;stroke-linejoin:round}
.apuGeoZAn{pointer-events:none}
.apuGeoZAn text{font:600 9px/1 var(--apuFonte);text-anchor:middle;fill:var(--apuGeoTx);fill-opacity:.85;paint-order:stroke;stroke:var(--apuGeoMar);stroke-width:2.5px;stroke-linejoin:round}
.apuGeoTag{pointer-events:none}
.apuGeoTag>text{font:800 10px/1 var(--apuFonte);text-anchor:middle;fill:var(--apuGeoTx);paint-order:stroke;stroke:var(--apuGeoMar);stroke-width:3px;stroke-linejoin:round}
.apuGeoMarca circle{fill:#E5484D;stroke:var(--apuGeoMar);stroke-width:1.5}
.apuGeoM-decidido .apuGeoMarca circle{fill:#2f9e6b}
.apuGeoMarca text{font:800 10px/1 var(--apuFonte);fill:#fff;stroke:none;text-anchor:middle}

/* controles */
.apuGeoBar{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;gap:4px;z-index:4}
.apuGeoBar button{width:30px;height:30px;border-radius:8px;border:1px solid var(--apuGeoLinha);background:var(--apuGeoPainel);color:var(--apuGeoTx);font:700 17px/1 var(--apuFonte);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}
.apuGeoBar button:hover,.apuGeoCam button:hover{border-color:var(--apuGeoTx)}
.apuGeoCam{position:absolute;top:114px;right:8px;display:flex;flex-direction:column;gap:4px;z-index:4;align-items:flex-end}
.apuGeoCam button{display:flex;align-items:center;gap:6px;height:30px;padding:2px 8px 2px 3px;border-radius:8px;border:1px solid var(--apuGeoLinha);background:var(--apuGeoPainel);color:var(--apuGeoTx);font:600 11.5px/1 var(--apuFonte);cursor:pointer}
.apuGeoCam button svg{width:34px;height:23px;border-radius:4px;flex:none;display:block}
.apuGeoCam button[aria-pressed="true"]{border-color:var(--teal,#3dbeb6);box-shadow:inset 0 0 0 1px var(--teal,#3dbeb6)}
.apuGeoCam .apuGeoSem{height:24px;padding:2px 8px;font-weight:500;font-size:11px;color:var(--apuGeoMut)}
.apuGeoCam .apuGeoSem[aria-pressed="true"]{box-shadow:none;border-color:var(--apuGeoLinha);color:var(--apuGeoTx)}
.apuGeoBar button:focus-visible,.apuGeoCam button:focus-visible,.apuGeoMini:focus-visible{outline:2px solid var(--foco,#4ea1ff);outline-offset:1px}
.apuGeoMini{position:absolute;top:8px;left:8px;width:96px;padding:4px;background:var(--apuGeoPainel);border:1px solid var(--apuGeoLinha);border-radius:10px;cursor:pointer;z-index:4;opacity:.94}
.apuGeoMini[hidden]{display:none}
.apuGeoMini:hover{border-color:var(--gold,#e0b04a);opacity:1}
.apuGeoMini svg{display:block;width:100%;height:84px}
.apuGeoMini path{fill:var(--apuGeoSD);stroke:var(--apuGeoMar);stroke-width:.6;vector-effect:non-scaling-stroke}
.apuGeoMini path.on{fill:var(--gold,#e0b04a)}
.apuGeoMsg{position:absolute;top:8px;left:50%;transform:translateX(-50%);max-width:calc(100% - 200px);display:none;z-index:5;padding:5px 10px;border-radius:8px;background:var(--apuGeoPainel);border:1px solid var(--apuGeoLinha);font-size:11.5px;text-align:center}
.apuGeoMsg.on{display:block}
.apuGeoRodape{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;pointer-events:none;z-index:3}
.apuGeoAtrib{align-self:flex-end;margin:0 6px 3px;font-size:10px;line-height:1.3;padding:1px 6px;border-radius:4px;background:rgba(255,255,255,.8);color:#222;pointer-events:auto;max-width:calc(100% - 12px)}
.apuGeoAtrib[hidden]{display:none}
.apuGeoLeg{display:flex;flex-wrap:wrap;align-items:center;gap:3px 12px;padding:5px 10px;font-size:11px;line-height:1.35;color:var(--apuGeoMut);background:var(--apuGeoPainel);border-top:1px solid var(--apuGeoLinha);pointer-events:auto;max-height:38%;overflow:auto;overflow-wrap:anywhere}
@supports (background:color-mix(in srgb,red 50%,transparent)){.apuGeoLeg{background:color-mix(in srgb,var(--apuGeoPainel) 88%,transparent)}}
.apuGeoLeg[hidden]{display:none}
.apuGeoLegU,.apuGeoLegG{display:contents}
/* r4: botão Legenda (recolhe/mostra) e controles semitransparentes */
.apuGeoLegBtn{align-self:flex-start;margin:0 6px 6px;pointer-events:auto;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--apuGeoLinha);background:var(--apuGeoPainel);color:var(--apuGeoTx);font:600 11.5px/1 var(--apuFonte);cursor:pointer;opacity:.9}
.apuGeoLegBtn:hover{opacity:1;border-color:var(--apuGeoTx)}
.apuGeoLegBtn:focus-visible{outline:2px solid var(--foco,#4ea1ff);outline-offset:1px}
.apuGeoLegBtn[hidden]{display:none}
.apuGeoLegBtn[aria-expanded="true"]{margin-bottom:4px}
@supports (background:color-mix(in srgb,red 50%,transparent)){
  .apuGeoBar button,.apuGeoCam button,.apuGeoMini,.apuGeoLegBtn{background:color-mix(in srgb,var(--apuGeoPainel) 74%,transparent)}
  .apuGeoBar button:hover,.apuGeoCam button:hover,.apuGeoMini:hover,.apuGeoLegBtn:hover{background:var(--apuGeoPainel)}
}
.apuGeoLz{display:inline-flex;align-items:center;gap:5px}
.apuGeoEsq{color:var(--apuGeoTx);font-style:italic}
.apuGeoLz i{display:inline-block;width:18px;height:10px;flex:none}
.apuGeoIcoDiv{border-top:2px dashed var(--apuGeoTx);height:0!important;margin-top:4px}
.apuGeoIcoHach{border:1px solid var(--apuGeoLinha);background:repeating-linear-gradient(45deg,var(--apuGeoMut) 0 2px,transparent 2px 6px)}
.apuGeoIcoZA{border-top:2px solid var(--apuGeoTx);height:0!important;margin-top:4px;opacity:.75}
.apuGeoIcoBai{border-top:1px solid var(--apuGeoTx);height:0!important;margin-top:4px;opacity:.4}

/* dica */
#apuGeoDica{position:fixed;left:0;top:0;z-index:10000;display:none;max-width:260px;padding:8px 10px;border-radius:10px;background:var(--panel,#162230);color:var(--tx,#e8eef5);border:1px solid var(--line,#2c3b4d);box-shadow:0 6px 24px rgba(0,0,0,.35);font:12px/1.35 var(--apuFonte);pointer-events:none;overflow-wrap:anywhere}
#apuGeoDica .apuGeoDSD{color:var(--mut,#93a3b5)}

/* toque e celular */
@media (pointer:coarse){
  .apuGeoBar button{width:32px;height:32px;font-size:16px}
  .apuGeoCam{top:120px}
  .apuGeoLegBtn{height:30px}
}
@media (max-width:767px){
  .apuGeoMini{width:48px;padding:3px;border-radius:8px}
  .apuGeoMini svg{height:40px}
  .apuGeoCam{top:8px;left:62px;right:auto;flex-direction:row;align-items:center}
  .apuGeoCam button{padding:2px 3px;height:30px}
  .apuGeoCam button svg{width:28px;height:20px}
  .apuGeoCam button span{display:none}
  .apuGeoCam .apuGeoSem{height:30px;padding:2px 6px}
  .apuGeoMsg{top:48px;max-width:calc(100% - 70px)}
  .apuGeoLeg{font-size:10.5px;padding:4px 8px}
}
@media (prefers-reduced-motion:reduce){.apuGeo *{transition:none!important}}

/* r6 (A-06): "i" do mapa — minimapa (canto do minimapa), zoom (fim da coluna) e fundo (fim do grupo) */
.apuGeo .apuI{pointer-events:auto}
.apuGeoBar .apuI{align-self:center;margin:2px 0 0!important}
.apuGeoCam .apuI{align-self:flex-end;margin:2px 4px 0 0!important}
.apuGeoMiniI{position:absolute;top:4px;left:92px;z-index:5;margin:0!important;background:var(--apuGeoPainel)!important}
.apuGeoMiniI[hidden]{display:none!important}
.apuGeoCam{top:138px}
.apuGeoLeg .apuI{margin-left:2px!important}
@media (pointer:coarse){.apuGeoCam{top:146px}}
@media (max-width:767px){
  .apuGeoMiniI{left:44px}
  .apuGeoCam{top:8px}
  .apuGeoCam .apuI{align-self:center;margin:0 0 0 2px!important}
}

/* r6 · A-07: no celular o minimapa tem 60 px (R-04) e, no toque, o zoom tem 44 × 44; camadas e "i" do minimapa acompanham */
@media (pointer:coarse){
  .apuGeoBar button{width:44px;height:44px;font-size:20px}
  .apuGeoCam{top:186px}
}
@media (max-width:767px){
  .apuGeoMini{width:60px}
  .apuGeoMini svg{height:52px}
  .apuGeoMiniI{left:56px}
  .apuGeoCam{top:8px;left:74px}
}
/* r6 · A-10 */
#apuGeoDica .apuDicaToque{margin:5px 0 0;font-size:11px;font-weight:600;color:var(--teal2,var(--teal,#3dbeb6))}
