/* abrangencia — estilos da página (extraídos de abrangencia.php) */
.ab-scope{
  --green:#007030; --green-dk:#00521F; --green-hi:#1A8C4A; --green-soft:#DCEBE1;
  --bg:#F0F2F1; --card:#FFFFFF; --ink:#13261B; --muted:#5D6F64; --line:#D6DDD9;
  --land:#FFFFFF; --landEdge:#D3DAD6; --halo:#FFFFFF;
}
body.dark-mode .ab-scope{
    --bg:#111A15; --card:#18241D; --ink:#E7EEE9; --muted:#9AAEA2; --line:#2A3A31;
    --land:#1C2A22; --landEdge:#2E4237; --halo:#111A15; --green-soft:#1E3A29;
}
.ab-scope{color:var(--ink);font-family:var(--font)}

.ab-hero{color:#fff;text-align:left}
.ab-hero h1{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:700;font-size:clamp(34px,4.4vw,56px);line-height:1;margin:0 0 8px}
.ab-hero p{margin:0;font-size:clamp(15px,1.4vw,18px);color:rgba(255,255,255,.86)}
.ab-main{scroll-margin-top:64px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(16px,2.5vw,36px);
  padding:clamp(16px,3vw,40px) clamp(18px,4vw,56px);max-width:1500px;margin:0 auto}
.map{position:relative;min-width:0}
.map svg,#svg2{width:100%;height:auto;display:block;max-height:calc(100vh - 230px)}
.base path{fill:var(--land);stroke:var(--landEdge);stroke-width:1}
.cov path{fill:var(--green);stroke:var(--bg);stroke-width:1.6;cursor:pointer;transition:fill .15s,opacity .2s}
.cov path.hq{fill:var(--green-dk)}
.cov path:hover,.cov path.hov{fill:var(--green-hi)}
.sel .cov path{opacity:.35}
.sel .cov path.on{opacity:1;fill:var(--green-hi)}
.sel .cov path.on.hq{fill:var(--green-dk)}
.lb{pointer-events:none}
.lb text{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;font-size:17px;text-anchor:middle;fill:var(--ink);
  paint-order:stroke;stroke:var(--halo);stroke-width:4px;stroke-linejoin:round}
.lb.hq text{font-size:21px;font-weight:700}
.lb .i{fill:var(--ink);stroke:var(--halo);stroke-width:1.5}
.lb .o{fill:none;stroke:#fff;stroke-width:2}
.sel .lb{opacity:.35}.sel .lb.on{opacity:1}
.tip{position:absolute;pointer-events:none;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--green);
  border-radius:8px;padding:8px 12px;font-size:14px;box-shadow:0 6px 18px rgba(0,40,15,.14);opacity:0;transition:opacity .12s;white-space:nowrap}
.tip b{display:block;font-size:16px}
.tip span{color:var(--muted)}
.ab-main aside{display:flex;flex-direction:column;gap:18px;min-width:0}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px}
.stat b{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:28px;color:var(--green);line-height:1}
.stat span{font-size:13px;color:var(--muted);line-height:1.2;display:block;margin-top:4px}
.ab-main ol{list-style:none;margin:0;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:10px}
 .ab-main li button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:7px;font-size:15px}
 .ab-main li button:hover,li button.hov{background:var(--green-soft)}
 .ab-main li button.on{background:var(--green);color:#fff}
 .ab-main li button.on .km{color:rgba(255,255,255,.85)}
 .ab-main li button:focus-visible{outline:2px solid var(--green);outline-offset:1px}
.sw{width:12px;height:12px;border-radius:3px;background:var(--green);flex:none}
.hq .sw{background:var(--green-dk)}
 .ab-main li button.on .sw{background:#fff}
.nm{flex:1}
.km{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}
.ab-main figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px}
.ab-main figure svg{width:100%;height:auto;display:block}
.ab-main figcaption{font-size:13px;color:var(--muted);margin-top:6px}
.ib{fill:var(--bg);stroke:var(--landEdge);stroke-width:.4}
.ic{fill:var(--green);stroke:var(--green);stroke-width:.4}
.ir{fill:none;stroke:var(--ink);stroke-width:1.2;stroke-dasharray:3 2}
.note{font-size:12px;color:var(--muted);margin:0;line-height:1.45}


.tabs{display:flex;gap:6px;margin-top:22px}
.tabs button{font:600 15px var(--font);color:#fff;background:rgba(255,255,255,.12);border:0;border-radius:10px 10px 0 0;padding:12px 18px;cursor:pointer}
.tabs button:hover{background:rgba(255,255,255,.2)}
.tabs button[aria-selected="true"]{background:var(--bg);color:var(--green)}
.tabs button:focus-visible{outline:2px solid #fff;outline-offset:-4px}
[hidden]{display:none!important}
.back{position:absolute;left:10px;top:10px;z-index:3;font:600 14px var(--font);background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer}
.back:focus-visible{outline:2px solid var(--green)}
.mapwrap{position:relative;min-width:0}
#svg2 .m{fill:var(--land);stroke:var(--landEdge);stroke-width:.6;vector-effect:non-scaling-stroke}
#svg2 .m.b{fill:#86BF99;stroke:var(--bg);stroke-width:.8}
#svg2 .m.bi{fill:var(--green);stroke:var(--bg);stroke-width:1}
#svg2 .m.bs{fill:var(--green-dk)}
.foc2 #svg2 .m.b{fill:#C9E2D1}
#map2 #svg2 .m.f{fill:var(--green);stroke:var(--bg);stroke-width:1}
#map2 #svg2 .m.f.fs{fill:var(--green-dk)}
#perm text{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:700;text-anchor:middle;fill:var(--green-dk);paint-order:stroke;stroke:var(--halo);stroke-linejoin:round;pointer-events:none}
.foc2 #perm{display:none}
.leg{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:14px}
.leg div{display:flex;align-items:center;gap:10px}
.leg i{width:16px;height:16px;border-radius:4px;flex:none}
#svg2 .m.f{fill:var(--green);stroke:var(--bg);stroke-width:1}
#svg2 .m.fs{fill:var(--green-dk)}
#svg2 .m{transition:fill .2s}
#svg2 .lb2 text{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;text-anchor:middle;fill:var(--ink);paint-order:stroke;stroke:var(--halo);stroke-linejoin:round;pointer-events:none}
#svg2 .lb2 text.s{font-weight:700}
.mk{cursor:pointer}
.mk circle{fill:var(--green);stroke:#fff;vector-effect:non-scaling-stroke;stroke-width:2;transition:fill .15s}
.mk text{fill:#fff;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.mk.it circle{fill:var(--green-dk)}
.mk:hover circle,.mk.on circle{fill:#F2B33D}
.mk:hover text,.mk.on text{fill:#13261B}
.mk:focus-visible{outline:none}
.mk:focus-visible circle{stroke:var(--ink);stroke-width:3}
.big{display:flex;align-items:baseline;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.big b{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:54px;line-height:.9;color:var(--green)}
.big span{color:var(--muted);font-size:15px;line-height:1.3}
.ab-main .card{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:10px;padding:14px 16px;font-size:14px;line-height:1.5}
.ab-main .card h2{font-family:"Barlow Condensed",sans-serif;font-size:22px;margin:0 0 4px}
.ab-main .card p{margin:0;color:var(--muted)}
.ab-main .card a{color:var(--green);font-weight:600}
.ab-main .card .ph{color:var(--muted);margin:0}
.lst{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px;max-height:min(52vh,560px);overflow:auto}
.lst button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:10px;align-items:center;width:100%;padding:7px 8px;border-radius:7px;font-size:15px}
.lst button:hover{background:var(--green-soft)}
.lst button.on{background:var(--green);color:#fff}
.lst button:focus-visible{outline:2px solid var(--green)}
.num{flex:none;width:24px;height:24px;border-radius:50%;background:var(--green);color:#fff;font:700 13px "Barlow Condensed",sans-serif;display:grid;place-items:center}
.lst button.it .num{background:var(--green-dk)}
.lst button.on .num{background:#fff;color:var(--green)}
.lst small{margin-left:auto;color:var(--muted);font-size:13px}
.lst button.on small{color:rgba(255,255,255,.85)}

@media (max-width:900px){.ab-main{grid-template-columns:minmax(0,1fr)}.ab-main>*{min-width:0}.ab-main>aside{grid-row:auto!important;grid-column:auto!important}.ab-main>div{grid-column:auto!important}.map svg{max-height:none}#svg2{height:min(82vw,520px);max-height:none}}
@media (prefers-reduced-motion: reduce){*{transition:none!important}}

.ab-scope{--sea:#D6E8F0;--nb:#E3E8E5;--nbEdge:#CBD3CE;--road:#C98A2B}
body.dark-mode .ab-scope{--sea:#12303C;--nb:#17221C;--nbEdge:#26362D;--road:#D9A04A}
.mapcard{position:relative;border-radius:14px;overflow:hidden;background:var(--nb);border:1px solid var(--line);align-self:start}
.sea{fill:var(--sea)}.landbg{fill:var(--nb)}
.sheet:not(.open){visibility:hidden;transition:transform .28s,visibility 0s .28s}
@media (min-width:901px){.sheet{display:none}}
.nbs path{fill:var(--nb);stroke:var(--nbEdge);stroke-width:1;vector-effect:non-scaling-stroke}
.spsh{fill:var(--land)}
.base path,.cov path{vector-effect:non-scaling-stroke}
.ab-main{grid-template-rows:auto 1fr}
.roads path{fill:none;stroke:var(--road);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
.roads .hw{stroke-width:2.2;opacity:.9}.roads .rd{stroke-width:1.3;opacity:.6}
.ctxl text{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;letter-spacing:.18em;fill:var(--muted);opacity:.75;text-anchor:middle;pointer-events:none}
.ctxl text.sea-l{fill:#4C86A3;font-style:italic;letter-spacing:.25em}
.rings circle{fill:none;stroke:var(--green-dk);stroke-dasharray:6 6;vector-effect:non-scaling-stroke;stroke-width:1.4;opacity:.55}
.rings text{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:700;fill:var(--green-dk);text-anchor:middle;paint-order:stroke;stroke:var(--halo);stroke-linejoin:round}
.rings,.roads{transition:opacity .6s}
.pre-r .rings{opacity:0}
.cov path.pre{fill:var(--land)!important}
.cov path{transition:fill .6s,opacity .2s}
.lb.pre{opacity:0}.lb{transition:opacity .5s}
.mleg{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--muted);padding:2px 2px 0}
.mleg span{display:inline-flex;align-items:center;gap:6px}
.mleg i{display:inline-block;width:22px;height:0;border-top:2.5px solid var(--road)}
.mleg i.r{border-top:2px dashed var(--green-dk)}
.mleg i.c{width:14px;height:14px;border:0;border-radius:3px;background:var(--green)}
/* KPIs */
.kpis{display:flex;flex-wrap:wrap;gap:12px clamp(20px,4vw,56px);margin:22px 0 4px}
.kpi b{display:block;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:700;font-size:clamp(40px,5vw,60px);line-height:.9;color:#fff;font-variant-numeric:tabular-nums}
.kpi span{display:block;font-size:14px;color:rgba(255,255,255,.82);margin-top:4px}
.kpi+.kpi{padding-left:clamp(20px,4vw,56px);border-left:1px solid rgba(255,255,255,.22)}
/* compact header */
/* presentation */
.present{position:absolute;right:10px;top:10px;z-index:3;font:600 14px var(--font);background:var(--green);color:#fff;border:0;border-radius:8px;padding:9px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(0,40,15,.2)}
.present:hover{background:var(--green-dk)}
.present:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.cap,.pctl{display:none}
.presenting{position:fixed!important;inset:0;z-index:5000!important;align-self:stretch!important;justify-self:stretch!important;z-index:1000;border-radius:0;border:0;background:var(--nb)}
.presenting svg{width:100%!important;height:100%!important;max-height:none!important}
.presenting .present,.presenting .back,.presenting .tip{display:none!important}
.presenting .cap{display:block;position:absolute;left:clamp(16px,4vw,48px);bottom:clamp(16px,4vw,48px);background:var(--card);border-left:6px solid var(--green);border-radius:12px;
  padding:16px 22px;box-shadow:0 10px 30px rgba(0,40,15,.18);max-width:min(560px,80vw)}
.cap small{display:block;font-size:14px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.cap b{display:block;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:clamp(30px,4vw,52px);line-height:1;margin:4px 0}
.cap span{font-size:clamp(16px,1.6vw,20px);color:var(--muted)}
.cap .bar{height:4px;background:var(--line);border-radius:2px;margin-top:12px;overflow:hidden}
.cap .bar i{display:block;height:100%;background:var(--green);width:0}
.presenting .pctl{display:flex;position:absolute;right:clamp(16px,3vw,32px);top:calc(env(safe-area-inset-top,0px) + clamp(16px,3vw,32px));gap:8px}
.pctl button{font:600 14px var(--font);background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 13px;cursor:pointer}
.pctl button:focus-visible{outline:2px solid var(--green)}
.pbrand{display:none}
.presenting .pbrand{display:block;position:absolute;left:clamp(16px,4vw,48px);top:calc(env(safe-area-inset-top,0px) + clamp(16px,3vw,32px));background:#fff;border-radius:10px;padding:8px 12px;box-shadow:0 4px 14px rgba(0,40,15,.12)}
.pbrand img{height:44px;display:block}
/* mobile chips + sheet */
.chips{display:none}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--card);border-radius:18px 18px 0 0;box-shadow:0 -10px 30px rgba(0,40,15,.18);
  padding:10px 20px calc(env(safe-area-inset-bottom,0px) + 18px);transform:translateY(105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);border-top:4px solid var(--green)}
.sheet.open{transform:none}
.sheet .grab{width:42px;height:5px;border-radius:3px;background:var(--line);margin:0 auto 10px}
.sheet .x{position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:20px;line-height:1;cursor:pointer}
.sheet h2{font-family:"Barlow Condensed",sans-serif;font-size:26px;margin:0 40px 4px 0;line-height:1.05}
.sheet p{margin:2px 0;color:var(--muted);font-size:15px;line-height:1.45}
.sheet a{color:var(--green);font-weight:600}
.sheet .big-d{font-family:"Barlow Condensed",sans-serif;font-size:34px;font-weight:700;color:var(--green);line-height:1}
@media (max-width:900px){
  .chips{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .chips button{flex:none;scroll-snap-align:start;font:500 14px var(--font);border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:8px 14px;display:inline-flex;gap:6px;align-items:center;cursor:pointer}
  .chips button.on{background:var(--green);border-color:var(--green);color:#fff}
  .chips button .n{font:700 12px "Barlow Condensed",sans-serif;background:var(--green);color:#fff;border-radius:999px;min-width:20px;height:20px;display:inline-grid;place-items:center}
  .chips button.on .n{background:#fff;color:var(--green)}
  #list,#card,#lst{display:none!important}
  .present{top:auto;bottom:10px;right:10px}
  .kpi span{font-size:12.5px}
}
@media (max-width:640px){
  .kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:18px}
  .kpi+.kpi{padding-left:14px}.kpi{padding-right:8px}
  .kpi b{font-size:36px}.kpi span{font-size:12px;line-height:1.25}
}
@media (prefers-reduced-motion: reduce){.sheet{transition:none}}
/* ══ Ajustes para o visual do site ══ */
.ab-scope{ --green:#008c3c; --green-dk:#05502b; --green-hi:#19a855; --green-soft:#e8f6ee; --bg:#f4f7f5; --line:#e2e9e5; --ink:#0f2a1d; --muted:#4a6356; }
body.dark-mode .ab-scope{ --bg:#07130d; --card:#0e1f16; --line:#1f3a2b; --green-soft:rgba(76,199,127,.14); --halo:#07130d; }
.ab-hero{ text-align:left; padding:56px 0 0; }
.ab-hero .container{ position:relative; z-index:1; }
.ab-hero h1{ font-family:var(--font); font-weight:800; font-size:clamp(34px,4.8vw,56px); letter-spacing:-2px; line-height:1.05; margin:18px 0 12px; color:#fff; }
.ab-hero h1 em{ font-style:normal; color:#8ee6b2; }
.ab-hero p#hsub{ font-size:17px; color:rgba(255,255,255,.8); max-width:620px; }
.ab-hero .eyebrow{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.22); color:#fff; }
.ab-hero .eyebrow-dot{ background:#4cc77f; }
.ab-hero-grid{ display:grid; grid-template-columns:1fr auto; column-gap:48px; align-items:end; }
.ab-hero-grid .tabs{ grid-column:1 / -1; }
.kpis{ margin:0 0 6px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:24px; padding:22px 28px; }
@media (max-width:900px){ .ab-hero-grid{ grid-template-columns:1fr; } .kpis{ margin-top:26px; } }
.kpi b{ font-family:var(--font); font-weight:800; letter-spacing:-1.5px; font-size:clamp(38px,4.6vw,56px); }
.kpi span{ font-size:14px; color:rgba(255,255,255,.72); margin-top:8px; }
.ab-hero .tabs{ margin-top:34px; padding-bottom:28px; gap:8px; flex-wrap:wrap; }
.ab-hero .tabs button{ font:600 14.5px var(--font); color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:11px 20px; transition:background .2s; }
.ab-hero .tabs button:hover{ background:rgba(255,255,255,.16); }
.ab-hero .tabs button[aria-selected="true"]{ background:#fff; color:var(--g-dark); border-color:#fff; }
.ab-main{ max-width:1200px; padding:36px 28px 72px; }
.mapcard{ border-radius:24px; box-shadow:var(--shadow-sm); scroll-margin-top:96px; }
.stat,.ab-main ol,.ab-main figure,.leg,.lst,.ab-main .card,.big{ border-radius:18px; }
.stat b{ font-family:var(--font); font-weight:800; letter-spacing:-1px; }
.ab-main li button,.lst button{ border-radius:12px; font-family:var(--font); font-size:14.5px; }
.present{ border-radius:999px; padding:9px 16px; font-family:var(--font); }
.back{ border-radius:999px; font-family:var(--font); }
.tip{ border-radius:12px; }
.ab-main .card h2,.sheet h2{ font-family:var(--font); font-weight:800; letter-spacing:-.5px; font-size:20px; }
.sheet{ z-index:1200; border-radius:24px 24px 0 0; }
@media (max-width:900px){ .present{ right:auto; left:10px; } .ab-main{ padding:20px 16px 56px; } .ab-hero{ padding-top:40px; } }
@media (max-width:640px){ .kpi b{ font-size:36px; } .ab-hero .tabs button{ flex:1 1 auto; text-align:center; } }
