/* Grupo Mapas: opt-in por página, com o login público fora desta camada. */
html.visual-plataforma[data-area="mapas"] {
 --azul-escuro:var(--ui-texto);--cinza-texto:var(--ui-secundario);--cinza-borda:var(--ui-borda);--branco:var(--ui-superficie);--sombra:none;
 --text-main:var(--ui-texto);--text-muted:var(--ui-secundario);--bg-dark:var(--ui-fundo);--glass-bg:var(--ui-superficie);--glass-border:var(--ui-borda);
}
html.visual-plataforma[data-area="mapas"] :is(.painel,.cartao-resumo,.card-veiculo,.card-estacionamento,.card-notificacoes,.editor-conteudo,.reprodutor-rota,.proteja-cercas-panel,.device-card,.leaflet-popup-content-wrapper,.leaflet-popup-tip,.mapa-ficha,.mapa-ficha-painel,.ficha-veiculo,.overlay-screen:not(#login-screen) .login-box) {
 background:var(--ui-superficie)!important;color:var(--ui-texto)!important;border-color:var(--ui-borda)!important;box-shadow:none!important;backdrop-filter:none!important;border-radius:12px;
}
html.visual-plataforma[data-area="mapas"] :is(.titulo-painel,.barra-mapa,.item-telemetria,.icone-veiculo,.icone-estacionamento,.cabecalho-notificacoes>span,.informacao-modo-ativo,.editor-contexto-rastreador,.editor-cabecalho,.editor-acoes,.mensagem-rota,.estado-inicial,.estado-vazio,.opcao-bloqueio-cerca,.card-cerca,.leaflet-control-layers,.leaflet-bar a,.velocimetro-miolo) {
 background:var(--ui-suave)!important;color:var(--ui-texto)!important;border-color:var(--ui-borda)!important;box-shadow:none!important;
}
html.visual-plataforma[data-area="mapas"] :is(main,.editor-conteudo,.main-content) :is(p,label,td,strong,h2,h3,.campo span,.contexto-topo strong) {color:var(--ui-texto)!important;text-shadow:none!important;}
html.visual-plataforma[data-area="mapas"] :is(.titulo-painel p,.cartao-resumo span,.item-telemetria span,.placa-veiculo,.contexto-topo small,.contexto-topo span,.estado-vazio,.estado-inicial,.reprodutor-sobretitulo,.reprodutor-label,.reprodutor-tempo,.reprodutor-aviso,.campo span,.editor-contexto-rastreador span) {color:var(--ui-secundario)!important;}
html.visual-plataforma[data-area="mapas"] :is(main,.editor-conteudo,.main-content) button:not(:disabled):not(.mapa-ficha-alca):not(.mapa-webview-barra *):not(.mapa-ficha-foto):not(.device-card):not(.card-rastreador):not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out):not(.btn-menu-padrao):not(.btn-voltar-padrao) {
 background:var(--proteja-azul-700)!important;color:var(--ui-primaria-texto,#fff)!important;border-color:var(--proteja-azul-700)!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;transform:none!important;min-height:44px;
}
html.visual-plataforma[data-area="mapas"] :is(main,.editor-conteudo,.main-content) button:hover:not(.mapa-ficha-alca):not(.mapa-webview-barra *):not(.mapa-ficha-foto):not(.device-card):not(.card-rastreador):not(:disabled):not(.btn-menu-padrao):not(.btn-voltar-padrao) {background:var(--proteja-ciano)!important;color:var(--ui-secundaria-texto,#fff)!important;}
html.visual-plataforma[data-area="mapas"] :is(main,.editor-conteudo) :is(.btn-secundario,.btn-fechar) {background:var(--ui-superficie)!important;color:var(--ui-texto)!important;border:1px solid var(--ui-borda)!important;}
html.visual-plataforma[data-area="mapas"] main .card-rastreador {background:var(--ui-superficie)!important;color:var(--ui-texto)!important;border:1px solid var(--ui-borda)!important;box-shadow:none!important;}
html.visual-plataforma[data-area="mapas"] main .card-rastreador.selecionado {background:var(--ui-suave)!important;border-left:3px solid var(--proteja-azul-700)!important;}
html.visual-plataforma[data-area="mapas"] .card-rastreador :is(strong,span) {color:var(--ui-texto)!important;}
html.visual-plataforma[data-area="mapas"] :is(table,.tabela-posicoes tbody tr) {background:var(--ui-superficie)!important;color:var(--ui-texto)!important;}
html.visual-plataforma[data-area="mapas"] th {background:var(--ui-suave)!important;color:var(--ui-secundario)!important;border-color:var(--ui-borda)!important;}
html.visual-plataforma[data-area="mapas"] :is(td,.titulo-painel,.editor-acoes,.opcao-notificacao) {border-color:var(--ui-borda)!important;}
html.visual-plataforma[data-area="mapas"] :is(.badge-status,.badge-modo) {background:var(--ui-suave)!important;border-color:var(--ui-borda)!important;color:var(--ui-secundario)!important;}
html.visual-plataforma[data-area="mapas"] :is(.badge-status.online,.badge-modo.ativo,.informacao-modo-ativo strong) {color:var(--ui-sucesso)!important;}
html.visual-plataforma[data-area="mapas"] :is(.badge-status.offline,.mensagem-erro,.mensagem-rota.erro) {color:var(--ui-erro)!important;}
html.visual-plataforma[data-area="mapas"] :is(.card-estacionamento,.card-notificacoes)::before {display:none;}
html.visual-plataforma[data-area="mapas"] .editor-cerca {background:var(--ui-overlay)!important;backdrop-filter:none;}
html.visual-plataforma[data-area="mapas"] .menu-lateral-padrao .item-menu-padrao {text-shadow:none!important;}
html.visual-plataforma.proteja-webview[data-area="mapas"] .menu-lateral-padrao.menu-administrativo-aplicativo .item-menu-padrao:is(.ativo,:hover) {border-left:3px solid var(--proteja-azul-700)!important;}
html.visual-plataforma[data-area="mapas"] body[data-menu-ativo="inicial"] .topo-padrao-plataforma {background:var(--proteja-menu)!important;color:var(--proteja-menu-texto,#fff)!important;}
html.visual-plataforma[data-area="mapas"] body[data-menu-ativo="inicial"] .titulo-padrao-plataforma {display:flex!important;}
html.visual-plataforma[data-area="mapas"] #nome-usuario-logado {color:var(--ui-secundario)!important;}
html.visual-plataforma[data-area="mapas"] .main-content {min-width:0;background:var(--ui-fundo)!important;}
html.visual-plataforma[data-area="mapas"] :is(#mapa-cercas,#mapa-rota,.map-container) {background:var(--ui-suave)!important;}
@media(max-width:760px){
 html.visual-plataforma[data-area="mapas"] :is(.pagina-cercas,.pagina-rotas){width:calc(100% - 24px);margin:16px auto 28px;}
 html.visual-plataforma[data-area="mapas"] .pagina-cercas{grid-template-columns:minmax(0,1fr);}
 html.visual-plataforma[data-area="mapas"] .cabecalho-veiculo{flex-wrap:wrap;}
 html.visual-plataforma[data-area="mapas"] :is(.campo,.card-veiculo,.card-estacionamento,.card-notificacoes,.painel){min-width:0;}
 html.visual-plataforma[data-area="mapas"] .topo-identidade-padrao{min-width:0;}
 html.visual-plataforma[data-area="mapas"] .titulo-padrao-plataforma h1{white-space:normal;}
 html.visual-plataforma[data-area="mapas"] .editor-conteudo{max-width:100%;}
}
/* O mapa ocupa o espaço restante sem comprimir o cabeçalho. */
html.visual-plataforma[data-area="mapas"] body[data-menu-ativo="inicial"] .main-content {height:100%!important;max-height:100%;min-height:0;}
html.visual-plataforma[data-area="mapas"] body[data-menu-ativo="inicial"] .topo-padrao-plataforma {flex-shrink:0;}
html.visual-plataforma[data-area="mapas"] body[data-menu-ativo="inicial"] .map-container {height:auto!important;min-height:0;flex:1!important;}
html.visual-plataforma[data-area="mapas"] :is(.painel-veiculos-mapa,.mapa-ficha-corpo,.mapa-foto-modal-card,.mapa-webview-opcoes,.mapa-ficha-dados>div,.mapa-ficha-endereco,.mapa-ficha-vazio) {background:var(--ui-superficie)!important;color:var(--ui-texto)!important;border-color:var(--ui-borda)!important;box-shadow:none!important;}
html.visual-plataforma[data-area="mapas"] .painel-veiculos-mapa .device-card {background:var(--ui-superficie)!important;color:var(--ui-texto)!important;border-color:var(--ui-borda)!important;box-shadow:none!important;}
html.visual-plataforma[data-area="mapas"] :is(.device-card,.mapa-ficha,.mapa-foto-modal) :is(span,small,p,label,strong,h2) {color:var(--ui-texto)!important;text-shadow:none!important;}
html.visual-plataforma[data-area="mapas"] .main-content button * {color:inherit!important;}
html.visual-plataforma[data-area="mapas"] :is(.mapa-ficha-acoes a,.mapa-ficha-alca,.mapa-webview-barra) {background:var(--ui-suave)!important;color:var(--ui-texto)!important;border-color:var(--ui-borda)!important;box-shadow:none!important;}
html.visual-plataforma[data-area="mapas"] .mapa-webview-barra [data-identidade-logo] {background:var(--proteja-menu);border-radius:6px;padding:4px;}
html.visual-plataforma[data-area="mapas"] body[data-menu-ativo="inicial"] .topo-conteudo-padrao {height:var(--ui-altura-topo)!important;min-height:var(--ui-altura-topo)!important;}
@media(max-width:760px){html.visual-plataforma[data-area="mapas"] body[data-menu-ativo="inicial"] .topo-conteudo-padrao {grid-template-rows:60px 40px!important;align-content:center!important;}}
html.visual-plataforma[data-area="mapas"] .barra-mapa span {color:var(--ui-secundario)!important;}
html.visual-plataforma[data-area="mapas"] main button * {color:inherit!important;}
html.visual-plataforma[data-area="mapas"] button {transition:none!important;}
/* Marcador da reprodução usa a mesma regra de contraste da marca. */
html.visual-plataforma[data-area="mapas"] .reprodutor-icone {background:var(--proteja-azul-700)!important;color:var(--ui-primaria-texto,#fff)!important;border-color:var(--ui-borda)!important;box-shadow:none!important;}
html.visual-plataforma[data-area="mapas"] .velocimetro-mapa {filter:none;}
html.visual-plataforma[data-area="mapas"] .velocimetro-digital {background:var(--ui-superficie)!important;color:var(--ui-texto)!important;box-shadow:none!important;}
html.visual-plataforma[data-area="mapas"] :is(.velocimetro-escala,.velocimetro-digital span) {color:var(--ui-secundario)!important;}
html.visual-plataforma[data-area="mapas"] .velocimetro-ponteiro {background:var(--ui-texto);box-shadow:none;}
html.visual-plataforma[data-area="mapas"] .editor-cabecalho span {color:var(--ui-secundario)!important;}
html.visual-plataforma[data-area="mapas"] .reprodutor-metrica span {color:var(--ui-secundario)!important;}
html.visual-plataforma[data-area="mapas"] :is(.acoes-geometria,.selecao-rastreadores,.opcao-rastreador,.notificacao-cerca) {background:var(--ui-suave)!important;color:var(--ui-texto)!important;border-color:var(--ui-borda)!important;box-shadow:none!important;}
html.visual-plataforma[data-area="mapas"] :is(.selecao-topo small,.opcao-rastreador small,.card-cerca-vinculos) {color:var(--ui-secundario)!important;}
html.visual-plataforma[data-area="mapas"] .contexto-topo {background:var(--ui-superficie)!important;color:var(--ui-texto)!important;border-color:var(--ui-borda)!important;box-shadow:none!important;}
html.visual-plataforma[data-area="mapas"] :is(.subtitulo-cercas span,.card-cerca-vinculos) {color:var(--ui-secundario)!important;}
html.visual-plataforma[data-area="mapas"] .painel-veiculos-cabecalho span {color:var(--ui-secundario)!important;}
html.visual-plataforma[data-area="mapas"] .device-card-icone {background:var(--ui-suave)!important;color:var(--ui-texto)!important;}

html.visual-plataforma[data-area="mapas"] .mapa-ficha-foto {background-color:var(--ui-suave)!important;color:var(--ui-texto)!important;border-color:var(--ui-borda)!important;box-shadow:none!important;}
html.visual-plataforma[data-area="mapas"] .mapa-ficha-foto.tem-foto .mapa-ficha-foto-rotulo {color:#fff!important;}
html.visual-plataforma[data-area="mapas"] :is(.mapa-webview-segmentado,.mapa-webview-barra button) {background:var(--ui-suave)!important;color:var(--ui-texto)!important;border-color:var(--ui-borda)!important;box-shadow:none!important;}
html.visual-plataforma[data-area="mapas"] .mapa-webview-segmentado span {color:var(--ui-secundario)!important;}
html.visual-plataforma[data-area="mapas"] .mapa-webview-segmentado input:checked+span {background:var(--ui-superficie)!important;color:var(--ui-texto)!important;box-shadow:none!important;}

html.visual-plataforma[data-area="mapas"] button:disabled {background:var(--ui-suave)!important;color:var(--ui-secundario)!important;border-color:var(--ui-borda)!important;box-shadow:none!important;}
