/* =============================================================================
   Sistema VIRTUS 2.1 — DGP/PMMT
   Identidade visual institucional.

   Fundamento: CLAUDE.md, item 4 —
     "Navy e ouro. Tipografia exclusivamente Arial ou Calibri — em telas,
      relatórios, painéis e documentos. Formatação numérica brasileira. Todo
      painel e todo bloco que apresente número traz, ao pé, origem, data-base
      e recorte, e sinaliza o dado ainda não certificado na origem."

   Esta folha é carregada DEPOIS do Tailwind e prevalece sobre ele. A versão
   2.0 herdava a pilha tipográfica padrão do Tailwind (ui-sans-serif,
   system-ui), que não é Arial nem Calibri — não conformidade corrigida aqui.

   Nenhuma fonte é buscada na rede. Arial e Calibri são fontes do sistema, e
   a rede do operador bloqueia recursos servidos por terceiros.
   ============================================================================= */

:root {
    /* Paleta institucional */
    --virtus-navy: #0B2238;
    --virtus-navy-escuro: #052f58;
    --virtus-ouro: #F5C518;
    --virtus-borda: #7b9bc5;
    --virtus-superficie: #FFFFFF;
    --virtus-fundo: #F8FAFC;
    --virtus-esmeralda: #059669;
    --virtus-alerta: #B45309;
    --virtus-negativa: #B91C1C;

    /* Tipografia: Arial ou Calibri, e nada mais. */
    --virtus-fonte: Arial, Calibri, "Liberation Sans", Helvetica, sans-serif;
    --virtus-fonte-monoespacada: "Cascadia Mono", Consolas, "Courier New", monospace;
}

/* -----------------------------------------------------------------------------
   Tipografia — prevalece sobre a pilha padrão do Tailwind
   -------------------------------------------------------------------------- */

html,
body,
button,
input,
select,
textarea,
table,
.font-sans {
    font-family: var(--virtus-fonte);
}

/* O ícone tem família própria e não pode ser sobrescrito. */
.fa,
.fas,
.far,
.fab,
.fa-solid,
.fa-regular,
.fa-brands,
[class^="fa-"],
[class*=" fa-"] {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands";
}

/* Onde houver código ou identificador técnico, monoespaçada. */
code,
kbd,
pre,
samp,
.fonte-tecnica {
    font-family: var(--virtus-fonte-monoespacada);
}

/* -----------------------------------------------------------------------------
   Paleta
   -------------------------------------------------------------------------- */

.bg-pmmt-navy { background-color: var(--virtus-navy); }
.bg-pmmt-dark { background-color: var(--virtus-navy-escuro); }
.border-pmmt  { border-color: var(--virtus-borda); }
.text-pmmt-gold { color: var(--virtus-ouro); }
.bg-pmmt-gold { background-color: var(--virtus-ouro); }

[x-cloak] { display: none !important; }

/* Linha de ouro entre a faixa azul do topo e a página, na cor padrão do VIRTUS (pedido do Diretor de 23/10/2026).
   Vale para o cabeçalho e para o topo do menu lateral, para a linha correr inteira; a borda fica dentro da altura. */
.virtus-cabecalho,
.virtus-lateral-topo {
    border-bottom: 3px solid var(--virtus-ouro) !important;
}

/* Cabeçalho cresce quando a identificação precisa de mais linhas. */
.virtus-cabecalho {
    min-height: 80px;
    height: auto;
    padding-top: 12px;
    padding-bottom: 12px;
    gap: 16px;
}
.virtus-marca { flex: 1 1 0; }
.virtus-marca-conteudo { flex: 1 1 0; }
.virtus-identificacao { flex: 1 1 0; }
.virtus-titulo, .virtus-subtitulo { line-height: 1.35; }
.virtus-perfil-nome {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* -----------------------------------------------------------------------------
   Procedência — rodapé obrigatório de todo bloco numérico
   (CLAUDE.md, item 4; Plano, item 10.3)
   -------------------------------------------------------------------------- */

.virtus-procedencia {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid #E2E8F0;
    font-size: 11px;
    line-height: 1.45;
    color: #475569;
}

.virtus-procedencia strong {
    font-weight: 700;
    color: #334155;
}

/* Dado ainda não certificado pela gerência titular. */
.virtus-nao-certificado {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.05rem 0.4rem;
    border: 1px solid #FCD34D;
    border-radius: 0.25rem;
    background-color: #FFFBEB;
    color: #92400E;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* Citação normativa cuja vigência não foi conferida (P-19). */
.virtus-nao-conferido {
    display: inline-block;
    padding: 0.05rem 0.4rem;
    border: 1px solid #FCA5A5;
    border-radius: 0.25rem;
    background-color: #FEF2F2;
    color: #991B1B;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

/* Indicador ou catálogo ainda não validado pela unidade titular. */
.virtus-provisorio {
    display: inline-block;
    padding: 0.05rem 0.4rem;
    border: 1px solid #CBD5E1;
    border-radius: 0.25rem;
    background-color: #F1F5F9;
    color: #475569;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

/* Alerta que NÃO impede — princípio A-11. Distingue-se visualmente do
   impedimento, que é vermelho e traz a via de regularização. */
.virtus-alerta {
    border-left: 4px solid var(--virtus-alerta);
    background-color: #FFFBEB;
    color: #78350F;
    padding: 0.6rem 0.9rem;
    border-radius: 0.25rem;
    font-size: 13px;
}

/* Avisos usados dentro de frases precisam reservar espaço para seu padding. */
span.virtus-alerta {
    display: inline-block;
    max-width: 100%;
    vertical-align: middle;
    line-height: 1.5;
    white-space: normal;
}

.virtus-impedimento {
    border-left: 4px solid var(--virtus-negativa);
    background-color: #FEF2F2;
    color: #7F1D1D;
    padding: 0.6rem 0.9rem;
    border-radius: 0.25rem;
    font-size: 13px;
}

/* Dado mascarado por sensibilidade (RF-LGPD-01). */
.virtus-mascarado {
    letter-spacing: 0.05em;
    color: #64748B;
}

/* -----------------------------------------------------------------------------
   Impressão — relatórios também em Arial ou Calibri
   -------------------------------------------------------------------------- */

@media print {
    body {
        font-family: var(--virtus-fonte);
        background: #FFFFFF;
        color: #000000;
    }

    /* A procedência acompanha o número também no papel. */
    .virtus-procedencia {
        color: #000000;
        font-size: 9pt;
    }

    aside,
    header nav,
    .nao-imprimir {
        display: none !important;
    }
}
