:root{--bg:#0a0d0b;--card:#141a16;--stroke:#2a382d;--text:#f3f8f2;--muted:#a7b5a9;--green:#70f329}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 12% -15%,#18351b,transparent 55%),var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}.wrap{max-width:1260px;margin:auto;padding:0 20px}.top{background:#000;border-bottom:1px solid #253228}.topin{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{width:min(400px,65%);height:75px;object-fit:contain;object-position:left}.tag{border:1px solid #38672e;border-radius:30px;padding:8px 14px;color:var(--green);font-size:12px;text-transform:uppercase;letter-spacing:1.5px}.intro{padding:38px 0 24px}.eyebrow{color:var(--green);letter-spacing:2px;font-size:12px;font-weight:800}.intro h1{margin:8px 0;font-size:clamp(30px,4.2vw,54px);letter-spacing:-1.7px;line-height:1.15}.intro h1 em{font-style:normal;color:var(--green)}p{margin:5px 0;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.metric,.panel{background:var(--card);border:1px solid var(--stroke);border-radius:16px}.metric{padding:17px 19px}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{font-size:35px;color:var(--green);line-height:1.25}.layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:16px}.panel{padding:21px;min-width:0}.panel h2{font-size:20px;margin:0 0 5px}.panelHeader{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.panelHeader p,.sub{font-size:13px}.live{font-size:11px;color:var(--green);white-space:nowrap}#map{height:480px;border-radius:12px;background:#e5ebe4;z-index:0}.mapfoot{display:flex;justify-content:space-between;gap:10px;padding:13px 0;font-size:12px;color:var(--muted)}a{color:var(--green)}.note{font-size:12px;color:#a5b5a6;border-top:1px solid var(--stroke);padding-top:10px}.tabs{display:flex;gap:8px;margin:22px 0}.tab{flex:1;cursor:pointer;border:1px solid var(--stroke);border-radius:10px;background:#101411;color:var(--muted);padding:12px 8px;font-weight:650}.tab.active{border-color:var(--green);color:var(--green);background:#203018}label{display:block;margin:14px 0 7px;font-weight:650}input,select{width:100%;border:1px solid #3c5141;background:#0c110e;border-radius:9px;color:var(--text);outline:none;padding:13px 14px;font:inherit}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 2px #6ae22426}small{display:block;margin-top:6px;color:var(--muted)}button{font:inherit}.primary{border:0;border-radius:10px;width:100%;padding:14px;background:var(--green);color:#061207;font-weight:800;cursor:pointer;margin-top:21px}.primary:disabled{opacity:.55;cursor:not-allowed}.secondary{border:1px solid var(--green);border-radius:9px;background:#224119;color:var(--text);padding:12px 20px;cursor:pointer;font-weight:700}.message{min-height:22px;font-size:13px}.message.error{color:#ff8181}.message.success{color:var(--green)}.privacy{font-size:12px;margin-top:15px}.trap{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.searchPanel{margin:17px 0}.searchBar{display:grid;grid-template-columns:230px 1fr auto;gap:10px;margin-top:18px}.resultSummary{padding:16px 0 8px;color:var(--muted)}.results{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:9px}.result{background:#0e140f;border:1px solid var(--stroke);border-radius:10px;padding:11px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.result b{color:var(--green);font-size:21px}.result span{overflow-wrap:anywhere}.bottomGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ranking{margin-top:16px}.rank{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--stroke)}.rank .num{color:var(--green);width:24px;font-weight:800}.rank .name{flex:1}.rank b{color:var(--green)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px;max-height:275px;overflow:auto}.chip{border:1px solid #5a443b;color:#f6d3c1;background:#251c18;border-radius:99px;padding:5px 10px;font-size:12px}footer{padding:45px 0 30px;text-align:center}footer img{width:200px;height:65px;object-fit:contain}footer p{font-size:12px}@media(max-width:900px){.layout,.bottomGrid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.searchBar{grid-template-columns:1fr 1fr}.searchBar input{grid-column:1/-1;grid-row:2}.searchBar button{grid-column:2;grid-row:1}.searchBar select{grid-column:1;grid-row:1}#map{height:390px}}@media(max-width:500px){.wrap{padding:0 12px}.topin{min-height:75px}.brand{height:65px}.tag{font-size:9px;letter-spacing:0;padding:6px}.panel{padding:15px}.metrics{gap:8px}.metric{padding:12px}.metric strong{font-size:29px}.metric span{font-size:12px}.intro{padding-top:28px}.panelHeader{align-items:start;flex-wrap:wrap}.searchBar{grid-template-columns:1fr}.searchBar select,.searchBar input,.searchBar button{grid-column:1;grid-row:auto}#map{height:320px}}

/* Layout responsivo: notebook, desktop, tablet e smartphone */
.mapSelectLabel{display:block;margin:4px 0 8px;font-weight:800;color:var(--green)}
.mapSelect{width:100%;max-width:370px;border-color:var(--green);font-weight:700;margin-bottom:16px}
#map{height:auto;min-height:390px;display:flex;align-items:center;justify-content:center;overflow:auto;background:linear-gradient(150deg,#09150d,#111f14);padding:16px}
.coverageGrid{width:100%;max-width:780px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;align-content:center}
.coverageGrid.rj{grid-template-columns:repeat(5,minmax(0,1fr))}.coverageGrid.brasil{grid-template-columns:repeat(5,minmax(0,1fr))}.coverageGrid.mundo{grid-template-columns:repeat(5,minmax(0,1fr))}
.coverageTile{display:flex;align-items:center;justify-content:center;text-align:center;min-height:61px;padding:6px 4px;border:1px solid #101b11;border-radius:8px;overflow-wrap:anywhere;line-height:1.15;font-weight:650;font-size:clamp(9px,.9vw,12px);color:white}
.coverageTile.covered{background:#159b33}.coverageTile.uncovered{background:#bd242e}
.statusDot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:4px}.statusDot.yes{background:#1fdf4c}.statusDot.no{background:#ed3945}
.mapfoot{justify-content:flex-start;gap:22px}
@media(max-width:1050px){.layout{grid-template-columns:1fr}.formPanel{order:2}.mapPanel{order:1}.coverageTile{font-size:11px}}
@media(max-width:700px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:14px}.wrap{padding-inline:12px}#map{min-height:280px;padding:9px}.coverageGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.coverageGrid.rj,.coverageGrid.brasil,.coverageGrid.mundo{grid-template-columns:repeat(4,minmax(0,1fr))}.coverageTile{font-size:9px;min-height:49px;padding:4px 2px}.mapSelect{max-width:none}.bottomGrid{grid-template-columns:1fr}.results{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}
@media(max-width:400px){.coverageGrid,.coverageGrid.rj,.coverageGrid.brasil,.coverageGrid.mundo{grid-template-columns:repeat(3,minmax(0,1fr))}.coverageTile{font-size:10px}.intro h1{font-size:29px}}

/* Busca por categoria e seguranca visual sem bibliotecas externas */
#map{background:linear-gradient(145deg,#0b1a10,#102016)!important;color:#f4fff4;min-height:400px;height:auto!important}.searchGroupTitle{grid-column:1/-1;font-size:15px;color:#83ff65;padding:15px 0 4px;margin:0;border-bottom:1px solid #304235}.coverageTile{cursor:default}

/* V4: mapas vetoriais, responsivos e sem tiles externos */
#map{height:auto!important;min-height:420px!important;background:radial-gradient(ellipse at 46% 50%,#14241b,#08110d 70%)!important;padding:12px!important;display:grid!important;place-items:center!important;overflow:hidden!important}
#map svg{display:block;width:100%;height:auto;max-height:440px;filter:drop-shadow(0 0 12px rgba(87,235,73,.13))}
.geoRegion{stroke:#e7fff0;stroke-width:1.3;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill .15s,filter .15s;cursor:help}
.geoGreen{fill:#44eb4a}.geoRed{fill:#ee4548}
.geoRegion:hover{filter:brightness(1.3);stroke:#fff;stroke-width:2.5}
.mapPanel{min-width:0}
.mapfoot{color:#d6e4d9}
@media(max-width:700px){#map{min-height:240px!important;padding:4px!important}#map svg{max-height:340px}}
