/* app.html — estilos que vinham depois do Tailwind (blocos <style> do corpo) e os ex-style="". */
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}


#mapa-canvas .leaflet-container{background:#0a1414}
.pulse-dot{border-radius:50%;background:rgba(0,195,180,.55);animation:pulseDot 2.2s infinite;position:relative}
.pulse-dot .core{position:absolute;inset:28%;border-radius:50%;background:#00c3b4}
.pulse-dot .lbl{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;font-weight:700;color:#bdfdf2;text-shadow:0 1px 3px #000;margin-top:2px}
@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(0,195,180,.5)}70%{box-shadow:0 0 0 16px rgba(0,195,180,0)}100%{box-shadow:0 0 0 0 rgba(0,195,180,0)}}
/* pino por empresa (tier de score) */
.geo-pin{width:16px;height:16px;border-radius:50%;border:2px solid #061616;box-shadow:0 0 0 2px rgba(0,0,0,.35),0 0 10px rgba(0,0,0,.5)}
.geo-pin.hot{background:#ef4444}.geo-pin.warm{background:#f59e0b}.geo-pin.cold{background:#10f2a1}
.geo-pop{font-size:12px;line-height:1.5}.geo-pop b{color:#0c2722}
.geo-pop a{color:#019a85;font-weight:700;text-decoration:none}
.leaflet-popup-content-wrapper{border-radius:12px}
.map-mode-btn{padding:7px 14px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;border:1.5px solid #1e2d42;background:#0d1f1c;color:#9fb6b1}
.map-mode-btn.active{background:#00c3b4;color:#04201c;border-color:#00c3b4}
.geo-prog{font-size:12.5px;color:#7fe9dc;min-height:18px}
.tier-leg{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#9fb6b1}
.tier-dot{width:9px;height:9px;border-radius:50%;display:inline-block}

/* ── Estilos que eram style="" no HTML (CSP sem 'unsafe-inline' em style-src).
   :not(#_) dá peso de id, para ganhar das regras de classe como o atributo inline ganhava;
   o que o JS põe em el.style continua por cima. ── */
.i-5f72e1:not(#_){background: linear-gradient(135deg, #f0f9ff 0%, #dbeafe 45%, #f1f5f9 100%)}
.i-a15024:not(#_){display:none;position:absolute;inset:0;z-index:200;background:#0a0f1c;flex-direction:column;align-items:center;justify-content:center;gap:20px}
.i-9fce4d:not(#_){width:64px;height:64px;background:#0d1626;border:1.5px solid #1e2d42;border-radius:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px rgba(0,242,255,0.18)}
.i-033406:not(#_){font-size:30px;color:#00f2ff;filter:drop-shadow(0 0 10px #00f2ff88)}
.i-5b51d9:not(#_){color:white;font-size:26px;font-weight:800;margin:0;letter-spacing:-0.5px}
.i-7324b5:not(#_){color:#00f2ff}
.i-ee318e:not(#_){display:flex;align-items:center;gap:10px;color:#475569;font-size:13px;font-family:inherit}
.i-b80a5d:not(#_){width:16px;height:16px;animation:spin 1s linear infinite}
.i-b7d65b:not(#_){box-shadow: 0 4px 20px rgba(8,145,178,0.15)}
.i-46babd:not(#_){color:#0f172a}
.i-7e49bd:not(#_){background:#18181b}
.i-238ae3:not(#_){background:#f8fafc}
.i-72db8c:not(#_){letter-spacing:-.02em}
.i-05e9de:not(#_){height:65vh}
.i-034359:not(#_){width: 0%}
.i-551b7d:not(#_){height:calc(100vh - 220px);min-height:560px}
.i-02395c:not(#_){width:100%;height:100%;border:0;display:block}
.i-d2fba0:not(#_){width:0%}
.i-912ba4:not(#_){background:#f1f5f9;border:1px solid #e7ebf0}
.i-6b99de:not(#_){display:none}
.i-11d9c1:not(#_){background:#ffb300}
.i-8b9436:not(#_){color:#007a70}
.i-747867:not(#_){background:rgba(0,195,180,0.15)}
.i-7b5a24:not(#_){background:#00c3b4;color:#001e50}
.i-74fc0e:not(#_){border-color:#00c3b4;color:#00c3b4}
.i-f47a44:not(#_){background:rgba(0,195,180,0.12)}
.i-88af5b:not(#_){background:rgba(255,255,255,0.06)}
.i-e75f3d:not(#_){background:#00c3b4}
.i-3338c1:not(#_){grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.i-82403c:not(#_){background:#ef4444}
.i-070db0:not(#_){background:#f59e0b}
.i-3a2dc0:not(#_){background:#10f2a1}
.i-f24d01:not(#_){height:64vh;border-radius:16px;overflow:hidden;border:1px solid #1e2d42}
.i-990725:not(#_){background:rgba(0,195,180,0.04)}
.i-5618d2:not(#_){background:rgba(0,195,180,0.08);border:1px solid rgba(0,195,180,0.2)}

/* link "descartar" do popup do mapa (era style="color:#c0392b"; .geo-pop a tem mais peso que utilitário) */
.geo-pop a.geo-descartar{color:#c0392b}

/* Contraste AA: texto na cor da marca (#0891b2 dá 3.7:1 no branco) usa o tom escuro (5.4:1).
   Fundos e bordas seguem com a cor da marca. */
.text-sincro,.text-sincro\/80,.text-cyan-400{color:#0e7490}
/* botão "marca" (bg-sincro/10 + text-sincro): o fundo tingido derruba o #0e7490 para ~4.1:1 */
.bg-sincro\/10.text-sincro{color:#155e75}
/* Cores de texto do tema escuro antigo, remapeadas para tons que passam AA no fundo claro. */
.text-slate-200{color:#1e293b}
.text-red-300,.text-red-400,.text-red-500{color:#b91c1c}
.text-green-700{color:#166534}
.text-amber-200,.text-amber-300,.text-amber-400,.text-amber-400\/80,.text-amber-500,.text-amber-500\/80,.text-amber-600{color:#92400e}
.text-emerald-300,.text-emerald-400,.text-green-300,.text-green-400{color:#047857}
.text-blue-400{color:#1d4ed8}
.text-violet-400{color:#6d28d9}
.text-rose-400{color:#be123c}
.tier-leg{color:#475569}
