/* SensorCNPJ — estilos de base. As cores da marca e as classes de componentes ficam em templates/_head.html. */

body {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* Fundo das telas de entrada: leve brilho da cor da marca */
.fundo-auth {
    background-color: #f8fafc;
    background-image:
        radial-gradient(60% 45% at 50% 0%, rgba(37, 99, 235,0.10), transparent 70%),
        radial-gradient(40% 35% at 100% 100%, rgba(37, 99, 235,0.06), transparent 70%);
}

/* Números de CNPJ, datas e valores alinhados coluna a coluna */
.num {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}

/* Cabeçalho da tabela de resultados fixo durante a rolagem */
.tabela-dados thead th {
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: #f8fafc;
}

/* Painel lateral da ficha da empresa desliza da direita */
@keyframes ficha-entrar {
    from { transform: translateX(24px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
.ficha-painel { animation: ficha-entrar 0.2s ease-out; }

/* Barra de rolagem discreta */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Marca: o ponto do radar pulsa devagar */
@keyframes radar-pulso {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.35; }
}
.radar-ponto { animation: radar-pulso 2.4s ease-in-out infinite; }

/* Páginas públicas: brilho da marca atrás do hero */
.hero-site {
    background-image:
        radial-gradient(60% 55% at 50% 0%, rgba(37, 99, 235,0.12), transparent 70%),
        radial-gradient(35% 30% at 100% 100%, rgba(37, 99, 235,0.05), transparent 70%);
}

/* Entrada suave do conteúdo principal das páginas públicas */
@keyframes secao-entrar {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}
.secao-anim { animation: secao-entrar 0.5s ease-out both; }

/* Seções com âncora começam abaixo do cabeçalho fixo (h-16) */
section[id] { scroll-margin-top: 5rem; }

/* FAQ: some o marcador nativo e a seta gira quando a pergunta está aberta */
summary { list-style: none; }
summary::-webkit-details-marker { display: none; }
.faq-seta { transition: transform 0.2s ease; }
details[open] .faq-seta { transform: rotate(180deg); }

/* Barra de progresso sem porcentagem conhecida (o servidor ainda está consultando) */
.barra-indeterminada { width: 35% !important; animation: barra-vai-e-volta 1.1s ease-in-out infinite; }
@keyframes barra-vai-e-volta {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(290%); }
}

@media (prefers-reduced-motion: reduce) {
    .barra-indeterminada { animation: none; }
    .radar-ponto, .ficha-painel, .secao-anim { animation: none; }
    .faq-seta { transition: none; }
}

/* Rolagem fina e discreta na barra lateral escura */
.rolagem-escura { scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .14) transparent; }
.rolagem-escura::-webkit-scrollbar { width: 6px; }
.rolagem-escura::-webkit-scrollbar-track { background: transparent; }
.rolagem-escura::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .14); border-radius: 999px; }
.rolagem-escura::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, .25); }
