/* ==========================================================================
   CNPGolden — tokens do design (F1 do rebranding)
   --------------------------------------------------------------------------
   Fonte única de cor, espaço, tipo, raio, sombra e movimento. Carregado antes
   de site.css em base.html. Componentes novos usam só estes nomes
   (--cor-*, --esp-*, --tam-*, --raio-*, --sombra-*, --mov-*).

   PALETA E FONTES SÃO PROVISÓRIAS: saem da logo nova (F0). Trocar aqui troca
   o site inteiro — nenhum componente novo escreve cor ou tamanho à mão.

   Tema escuro: só vale em página que declara estar pronta
   (<html data-tema-pronto>, ligado por {% set tema_pronto = true %} no
   template). Página antiga continua clara mesmo com o sistema em modo escuro,
   porque ainda tem cor escrita à mão e ficaria ilegível pela metade.
   ========================================================================== */

/* Fontes servidas pelo próprio site (antes: Google Fonts, uma origem a mais
   no caminho de toda página). Subconjunto latino: cobre os acentos do
   português. Licença OFL — ver static/fontes/LICENCAS.md. */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fontes/inter-latin-400-normal.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fontes/inter-latin-500-normal.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fontes/inter-latin-600-normal.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fontes/inter-latin-700-normal.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fontes/playfair-display-latin-600-normal.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fontes/playfair-display-latin-700-normal.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    color-scheme: light;

    /* Marca (provisória) */
    --cor-marca:          #D4AF37;
    --cor-marca-forte:    #A8862A;
    --cor-marca-texto:    #7A6218;   /* dourado legível sobre claro (>= 4,5:1) */
    --cor-marca-suave:    #FAF3DC;

    /* Superfícies e texto */
    --cor-fundo:          #FFFFFF;
    --cor-superficie:     #FFFFFF;
    --cor-superficie-2:   #F7F8FA;
    --cor-superficie-3:   #ECEDF0;
    --cor-borda:          #E2E5EA;
    --cor-borda-forte:    #C9CFD8;
    --cor-texto:          #111827;
    --cor-texto-2:        #4B5563;
    --cor-texto-3:        #6B7280;   /* menor contraste aceito para texto (4,8:1) */
    --cor-sobreposicao:   rgba(10, 10, 10, 0.55);

    /* Ação: uma primária por tela */
    --cor-acao:           #0A0A0A;
    --cor-acao-hover:     #262B33;
    --cor-acao-texto:     #FFFFFF;
    --cor-foco:           #D4AF37;
    --cor-link:           #111827;
    --cor-link-hover:     #7A6218;

    /* Estado (texto legível + fundo suave) */
    --cor-sucesso:        #0F7A4D;
    --cor-sucesso-fundo:  #E6F4ED;
    --cor-alerta:         #9A4A06;
    --cor-alerta-fundo:   #FDF1E1;
    --cor-erro:           #B91C1C;
    --cor-erro-fundo:     #FCEBEB;
    --cor-info:           #1D4ED8;
    --cor-info-fundo:     #EAF0FD;
    --cor-neutro:         #4B5563;
    --cor-neutro-fundo:   #EEF0F3;

    /* Espaço (base 4) */
    --esp-1: 4px;  --esp-2: 8px;  --esp-3: 12px; --esp-4: 16px; --esp-5: 20px;
    --esp-6: 24px; --esp-8: 32px; --esp-10: 40px; --esp-12: 48px; --esp-16: 64px;

    /* Raio: pequeno; pílula só em selo e chip */
    --raio-1: 4px; --raio-2: 6px; --raio-3: 8px; --raio-pilula: 999px;

    /* Tipo: escala fixa de 8 tamanhos */
    --fonte-texto:  'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --fonte-titulo: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --fonte-mono:   ui-monospace, 'SFMono-Regular', 'Cascadia Mono', Menlo, Consolas, monospace;
    --tam-1: 12px; --tam-2: 13px; --tam-3: 14px; --tam-4: 16px;
    --tam-5: 18px; --tam-6: 22px; --tam-7: 28px; --tam-8: 36px;
    --linha-texto: 1.55;
    --linha-titulo: 1.2;
    --peso-normal: 400; --peso-medio: 500; --peso-forte: 600; --peso-titulo: 700;

    /* Sombra: só para o que flutua (menu, gaveta, modal), não para hierarquia */
    --sombra-1: 0 1px 2px rgba(10, 10, 10, 0.05);
    --sombra-2: 0 6px 16px rgba(10, 10, 10, 0.10);
    --sombra-3: 0 20px 48px rgba(10, 10, 10, 0.18);

    /* Movimento */
    --mov-rapido: 120ms;
    --mov-medio:  200ms;
    --mov-curva:  cubic-bezier(0.2, 0, 0.2, 1);

    /* Camadas */
    --z-cabecalho: 1000;
    --z-gaveta:    1100;
    --z-modal:     1200;
    --z-toast:     1300;

    /* ----------------------------------------------------------------------
       Legado: nomes usados por site.css e pelas páginas antigas. Valores
       idênticos aos de antes da F1 (nada muda de cor). Somem quando a última
       página antiga for redesenhada (F4).
       ---------------------------------------------------------------------- */
    --gold:           #D4AF37;
    --gold-dark:      #A8862A;
    --gold-light:     #E8C968;
    --gold-soft:      #FAF3DC;
    --gold-texto:     #7A6218;
    --black:          #0A0A0A;
    --black-soft:     #1A1A1A;
    --black-strong:   #000000;
    --primary:        var(--gold);
    --primary-dark:   var(--gold-dark);
    --secondary:      var(--black);
    --accent:         var(--black);
    --accent-soft:    var(--gold-soft);
    --success:        #0F7A4D;
    --warning:        #B45309;
    --error:          #B91C1C;
    --info:           #1D4ED8;
    --gray-50:        #FAFAFA;
    --gray-100:       #F4F5F7;
    --gray-150:       #ECEDF0;
    --gray-200:       #E2E5EA;
    --gray-300:       #D3D8E0;
    --gray-400:       #9CA3AF;
    --gray-500:       #6B7280;
    --gray-600:       #4B5563;
    --gray-700:       #374151;
    --gray-800:       #1F2937;
    --gray-900:       #111827;
    --bg:             #FFFFFF;
    --surface:        #FFFFFF;
    --surface-muted:  #F7F8FA;
    --shadow-sm:      0 1px 2px rgba(10, 10, 10, 0.04);
    --shadow-md:      0 2px 6px rgba(10, 10, 10, 0.06);
    --shadow-lg:      0 8px 24px rgba(10, 10, 10, 0.08);
    --shadow-xl:      0 16px 40px rgba(10, 10, 10, 0.10);
    --font-sans:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-display:   'Playfair Display', 'Georgia', serif;
}

/* Tema escuro: os mesmos nomes, outros valores. */
@media (prefers-color-scheme: dark) {
    :root[data-tema-pronto]:not([data-tema="claro"]) {
        color-scheme: dark;
        --cor-marca-texto:    #E2C15A;
        --cor-marca-suave:    #2A2412;
        --cor-fundo:          #0F1217;
        --cor-superficie:     #161B22;
        --cor-superficie-2:   #1C222B;
        --cor-superficie-3:   #252C36;
        --cor-borda:          #2A323D;
        --cor-borda-forte:    #3B4552;
        --cor-texto:          #E8EAED;
        --cor-texto-2:        #B6BCC6;
        --cor-texto-3:        #8E96A3;
        --cor-sobreposicao:   rgba(0, 0, 0, 0.65);
        --cor-acao:           #E2C15A;
        --cor-acao-hover:     #EDD27E;
        --cor-acao-texto:     #111317;
        --cor-link:           #E8EAED;
        --cor-link-hover:     #E2C15A;
        --cor-sucesso:        #4ADE80;
        --cor-sucesso-fundo:  #10291C;
        --cor-alerta:         #FBBF5A;
        --cor-alerta-fundo:   #2E2210;
        --cor-erro:           #F87171;
        --cor-erro-fundo:     #321515;
        --cor-info:           #8AB4FF;
        --cor-info-fundo:     #14213A;
        --cor-neutro:         #B6BCC6;
        --cor-neutro-fundo:   #252C36;
        --sombra-1: 0 1px 2px rgba(0, 0, 0, 0.4);
        --sombra-2: 0 6px 16px rgba(0, 0, 0, 0.5);
        --sombra-3: 0 20px 48px rgba(0, 0, 0, 0.6);
    }
}
:root[data-tema-pronto][data-tema="escuro"] {
    color-scheme: dark;
    --cor-marca-texto:    #E2C15A;
    --cor-marca-suave:    #2A2412;
    --cor-fundo:          #0F1217;
    --cor-superficie:     #161B22;
    --cor-superficie-2:   #1C222B;
    --cor-superficie-3:   #252C36;
    --cor-borda:          #2A323D;
    --cor-borda-forte:    #3B4552;
    --cor-texto:          #E8EAED;
    --cor-texto-2:        #B6BCC6;
    --cor-texto-3:        #8E96A3;
    --cor-sobreposicao:   rgba(0, 0, 0, 0.65);
    --cor-acao:           #E2C15A;
    --cor-acao-hover:     #EDD27E;
    --cor-acao-texto:     #111317;
    --cor-link:           #E8EAED;
    --cor-link-hover:     #E2C15A;
    --cor-sucesso:        #4ADE80;
    --cor-sucesso-fundo:  #10291C;
    --cor-alerta:         #FBBF5A;
    --cor-alerta-fundo:   #2E2210;
    --cor-erro:           #F87171;
    --cor-erro-fundo:     #321515;
    --cor-info:           #8AB4FF;
    --cor-info-fundo:     #14213A;
    --cor-neutro:         #B6BCC6;
    --cor-neutro-fundo:   #252C36;
    --sombra-1: 0 1px 2px rgba(0, 0, 0, 0.4);
    --sombra-2: 0 6px 16px rgba(0, 0, 0, 0.5);
    --sombra-3: 0 20px 48px rgba(0, 0, 0, 0.6);
}

/* Números de CNPJ, valores e datas alinhados em coluna. */
.num, .ui-mono, td.num, .ui-dados dd.num {
    font-variant-numeric: tabular-nums;
}
.ui-mono { font-family: var(--fonte-mono); font-size: 0.95em; }

@media (prefers-reduced-motion: reduce) {
    :root { --mov-rapido: 0ms; --mov-medio: 0ms; }
}
