/* ── Ocultar valores monetários (botão de olho na navbar — todas as páginas) ──
   JS global js/scripts/ocultar-valores.js: alterna body.valores-ocultos
   (persistido em localStorage) e marca com .valor-monetario-auto os elementos
   cujo texto contém moeda (R$/US$/€/£/MXN). Blur em vez de esconder: preserva
   o layout e sobrevive a re-renders (DataTables/AgGrid/polls).
   .valor-monetario = marcação MANUAL para o que a detecção não alcança. */

/* Troca do ícone do botão: olho aberto (valores visíveis) ↔ cortado (ocultos) */
#btn-ocultar-valores .olho-fechado { display: none; }
body.valores-ocultos #btn-ocultar-valores .olho-aberto { display: none; }
body.valores-ocultos #btn-ocultar-valores .olho-fechado { display: inline-block; }

body.valores-ocultos .valor-monetario-auto,
body.valores-ocultos .valor-monetario {
    filter: blur(8px) !important;
    user-select: none;
    pointer-events: none; /* bloqueia hover/seleção (tooltips revelariam o valor) */
}

/* Exceção: TARIFAS/preços de tabela continuam visíveis (decisão do usuário) —
   containers marcados com .nao-ocultar-valor (o JS já nem marca dentro deles;
   estas regras são a rede de segurança p/ marcação manual/antiga). */
body.valores-ocultos .nao-ocultar-valor .valor-monetario-auto,
body.valores-ocultos .nao-ocultar-valor.valor-monetario-auto,
body.valores-ocultos .nao-ocultar-valor .valor-monetario,
body.valores-ocultos .nao-ocultar-valor.valor-monetario {
    filter: none !important;
    user-select: auto;
    pointer-events: auto;
}

/* Gráficos renderizados em CANVAS (texto não existe no DOM — a detecção não
   alcança): integrar com a lib do gráfico mascarando ticks/tooltip de moeda e
   re-renderizando no evento 'valoresOcultosAlterado' (disparado pelo JS global).
   Ex.: "Histórico de Envios" do Dashboard Mensageria (mensageria-dashboard.js). */
