/*
 * Temas da v5 por aplicacao (canary Engine v4 -> v5, #25721, §4.14.5 do plano).
 * O layout emite <html data-eng-tema="erp|nfe|proteo"> a partir de engtb_application.app_css_theme5
 * (NULL cai em erp) e <html data-bs-theme="light|dark"> pelo tema do usuario (usu_tema; melhorias
 * da v5, dia 2, §4): a marca e o modo sao atributos separados, e o data-bs-theme e' o do Bootstrap
 * 5.3. Cores so dos MIVs oficiais (docs/wiki/identidade-visual.md):
 *   erp = MIV Admsis (ERP e XML Simples), Poppins
 *   nfe = MIV NF-e Simples (NF-e Simples e APM Simples), Montserrat
 *   proteo = paleta da Proteo (Admsis Proteo, aplicacao 4, #25816; docs/wiki/identidade-visual.md §12),
 *            Manrope quando instalada (o host ainda nao serve a fonte), senao Segoe UI
 * As fontes vem de fontes.css, servidas pelo proprio host.
 *
 * O Bootstrap 5.3 compila os botoes e a paginacao com a cor padrao (#0d6efd) nas variaveis
 * proprias de cada componente: por isso, alem das variaveis globais, o tema reescreve as
 * variaveis dos componentes que usam a cor primaria.
 *
 * Variaveis proprias do Engine (engine.css so' usa estas, sem cor fixa):
 *   --eng-fundo             fundo da pagina
 *   --eng-quadro            quadros (cards, tabela, abas, botoes secundarios, tela de espera)
 *   --eng-barra             barra superior; --eng-texto-barra, o texto sobre ela
 *   --eng-destaque          texto e realce na cor da marca (no escuro, um tom claro derivado)
 *   --eng-linha             linhas da tabela; --eng-tabela-cabecalho, o cabecalho dela
 *   --eng-avatar-fundo      circulo das iniciais do usuario
 *   --eng-noticia-moldura   moldura da imagem legada das noticias
 *   --eng-pdf-fundo         quadro do visualizador de PDF, claro tambem no modo escuro
 *   --eng-obrigatorio-fundo fundo do campo obrigatorio da ficha (a faixa e o rotulo usam --eng-destaque)
 * O modo escuro de cada marca usa tons derivados do MIV dela (Regra de Ouro 16 e §17.5.1 do AGENTS.md).
 */

[data-eng-tema="erp"] {
  --bs-primary: #4636EE;
  --bs-primary-rgb: 70, 54, 238;
  --bs-secondary: #5B5D6B;   /* cinza de apoio, derivado */
  --bs-secondary-rgb: 91, 93, 107;
  --bs-light: #F2F4FF;
  --bs-light-rgb: 242, 244, 255;
  --bs-body-color: #000000;
  --bs-body-bg: #FFFFFF;
  --bs-tertiary-bg: #F2F4FF;
  --bs-border-color: #D6D9EB;
  --bs-link-color: #4636EE;
  --bs-link-color-rgb: 70, 54, 238;
  --bs-link-hover-color: #2A1FA8;
  --bs-link-hover-color-rgb: 42, 31, 168;
  --bs-primary-bg-subtle: #F2F4FF;
  --bs-primary-border-subtle: #D6D9EB;
  --bs-primary-text-emphasis: #2A1FA8;
  --bs-focus-ring-color: rgba(70, 54, 238, 0.25);
  --admsis-hover: #2A1FA8;   /* derivado, profundidade/hover */
  --admsis-borda: #D6D9EB;   /* derivado */
  --eng-fundo: #F2F4FF;      /* fundo da pagina, levemente roxo (preview dos anuncios, 09/10/2026) */
  --eng-pilula: rgba(255, 255, 255, 0.16); /* empresa na barra superior */
  --eng-quadro: #FFFFFF;
  --eng-barra: #4636EE;
  --eng-texto-barra: #FFFFFF;
  --eng-destaque: #4636EE;
  --eng-linha: #E7E9F5;
  --eng-tabela-cabecalho: #F2F4FF;
  --eng-avatar-fundo: #FFFFFF;
  --eng-noticia-moldura: #000000;
  --eng-pdf-fundo: #FFFFFF;
  --bs-body-font-family: "Poppins", "Segoe UI", system-ui, sans-serif;
  --eng-obrigatorio-fundo: #F3F1FF;
}

[data-eng-tema="nfe"] {
  --bs-primary: #0F5FD9;     /* Azul Escuro - primary (Q15) */
  --bs-primary-rgb: 15, 95, 217;
  --bs-secondary: #15ABF8;   /* Azul Claro - accent/hover (Q15) */
  --bs-secondary-rgb: 21, 171, 248;
  --bs-light: #D8E8F8;
  --bs-light-rgb: 216, 232, 248;
  --bs-body-color: #000000;
  --bs-body-bg: #FFFFFF;
  --bs-tertiary-bg: #D8E8F8;
  --bs-border-color: #95BBE4;
  --bs-link-color: #0F5FD9;
  --bs-link-color-rgb: 15, 95, 217;
  --bs-link-hover-color: #15ABF8;
  --bs-link-hover-color-rgb: 21, 171, 248;
  --bs-primary-bg-subtle: #D8E8F8;
  --bs-primary-border-subtle: #95BBE4;
  --bs-primary-text-emphasis: #0F5FD9;
  --bs-focus-ring-color: rgba(15, 95, 217, 0.25);
  --admsis-hover: #15ABF8;
  --admsis-borda: #95BBE4;
  --eng-fundo: #EEF4FB;      /* derivado de #D8E8F8, fundo da pagina */
  --eng-pilula: rgba(255, 255, 255, 0.16);
  --eng-quadro: #FFFFFF;
  --eng-barra: #0F5FD9;
  --eng-texto-barra: #FFFFFF;
  --eng-destaque: #0F5FD9;
  --eng-linha: #E2ECF8;
  --eng-tabela-cabecalho: #EEF4FB;
  --eng-avatar-fundo: #FFFFFF;
  --eng-noticia-moldura: #000000;
  --eng-pdf-fundo: #FFFFFF;
  --bs-body-font-family: "Montserrat", "Segoe UI", system-ui, sans-serif;
  --eng-obrigatorio-fundo: #EDF4FD;
}

/*
 * Admsis Proteo (#25816): paleta da Proteo. Barra, botao primario e texto de realce em #22305C (branco
 * sobre ela: 12,8:1); links em #0769A6 (5,9:1 sobre branco); selecao/hover de linha em #E6F3FC, a cor
 * sugerida pela Proteo (so 1,13:1 contra o branco: discreta, a confirmar no criterio A7 do plano).
 * O verde #30B087 nao vira texto nem botao com texto branco (2,7:1); entra como tom do campo obrigatorio.
 * Tons derivados: hover #2E3F75 (branco: 10,1:1), borda #D5E2EE, fundo da pagina #F4F8FC.
 */
[data-eng-tema="proteo"] {
  --bs-primary: #22305C;
  --bs-primary-rgb: 34, 48, 92;
  --bs-secondary: #3F4E73;   /* derivado da primaria, texto de apoio (8,2:1 sobre branco) */
  --bs-secondary-rgb: 63, 78, 115;
  --bs-light: #E6F3FC;
  --bs-light-rgb: 230, 243, 252;
  --bs-body-color: #060F17;
  --bs-body-bg: #FFFFFF;
  --bs-tertiary-bg: #E6F3FC;
  --bs-border-color: #D5E2EE;
  --bs-link-color: #0769A6;
  --bs-link-color-rgb: 7, 105, 166;
  --bs-link-hover-color: #22305C;
  --bs-link-hover-color-rgb: 34, 48, 92;
  --bs-primary-bg-subtle: #E6F3FC;
  --bs-primary-border-subtle: #B9CCE0;
  --bs-primary-text-emphasis: #22305C;
  --bs-focus-ring-color: rgba(7, 105, 166, 0.25);
  --admsis-hover: #2E3F75;
  --admsis-borda: #D5E2EE;
  --eng-fundo: #F4F8FC;
  --eng-pilula: rgba(255, 255, 255, 0.16);
  --eng-quadro: #FFFFFF;
  --eng-barra: #22305C;
  --eng-texto-barra: #FFFFFF;
  --eng-destaque: #22305C;
  --eng-linha: #E1EAF3;
  --eng-tabela-cabecalho: #EEF5FB;
  --eng-avatar-fundo: #FFFFFF;
  --eng-noticia-moldura: #000000;
  --eng-pdf-fundo: #FFFFFF;
  --bs-body-font-family: "Manrope", "Segoe UI", system-ui, sans-serif;
  --eng-obrigatorio-fundo: #E8F6F0;  /* tom claro do verde #30B087 */
}

/*
 * Modo escuro (melhorias da v5, dia 2, §4). Seletor com a marca e o modo: mais especifico que o
 * [data-bs-theme=dark] do Bootstrap e que o tema claro da marca acima.
 * ERP: fundos derivados do Azul profundo #2A1FA8 escurecido, texto #F2F4FF, texto de apoio #D8DBFA
 * (texto sobre azul, MIV 2.1); a cor da marca continua #4636EE nos botoes (branco sobre ela: 6,1:1) e
 * vira o tom claro #A49CF7 no texto (7,2:1 sobre o quadro); borda #6A63C9 (3,5:1 sobre o quadro).
 */
[data-eng-tema="erp"][data-bs-theme="dark"] {
  --bs-body-color: #F2F4FF;
  --bs-body-color-rgb: 242, 244, 255;
  --bs-body-bg: #17163A;
  --bs-body-bg-rgb: 23, 22, 58;
  --bs-emphasis-color: #FFFFFF;
  --bs-secondary-color: #D8DBFA;
  --bs-secondary-bg: #1F1D4A;
  --bs-tertiary-bg: #1F1D4A;
  --bs-tertiary-color: #D8DBFA;
  --bs-border-color: #6A63C9;
  --bs-link-color: #A49CF7;
  --bs-link-color-rgb: 164, 156, 247;
  --bs-link-hover-color: #D8DBFA;
  --bs-link-hover-color-rgb: 216, 219, 250;
  --bs-primary-bg-subtle: #2A1FA8;
  --bs-primary-border-subtle: #6A63C9;
  --bs-primary-text-emphasis: #D8DBFA;
  --bs-light: #1F1D4A;
  --bs-light-rgb: 31, 29, 74;
  --bs-secondary: #D8DBFA;
  --bs-secondary-rgb: 216, 219, 250;
  --bs-focus-ring-color: rgba(164, 156, 247, 0.35);
  --admsis-borda: #6A63C9;
  --eng-fundo: #0B0A1F;
  --eng-quadro: #17163A;
  --eng-barra: #2A1FA8;
  --eng-destaque: #A49CF7;
  --eng-linha: #2B2960;
  --eng-tabela-cabecalho: #1F1D4A;
  --eng-pilula: rgba(255, 255, 255, 0.14);
  color-scheme: dark;
  --eng-obrigatorio-fundo: #221F55;
}

/*
 * NF-e Simples: fundos derivados do fundo escuro da assinatura #062547 (MIV NF-e Simples), texto
 * #D8E8F8 (12,3:1 sobre o quadro), destaque #15ABF8 (6,0:1), botoes em #0F5FD9 (branco: 5,7:1) e
 * borda #5B88C0 (3,7:1 sobre o quadro).
 */
[data-eng-tema="nfe"][data-bs-theme="dark"] {
  --bs-body-color: #D8E8F8;
  --bs-body-color-rgb: 216, 232, 248;
  --bs-body-bg: #062547;
  --bs-body-bg-rgb: 6, 37, 71;
  --bs-emphasis-color: #FFFFFF;
  --bs-secondary-color: #95BBE4;
  --bs-secondary-bg: #0A2E57;
  --bs-tertiary-bg: #0A2E57;
  --bs-tertiary-color: #95BBE4;
  --bs-border-color: #5B88C0;
  --bs-link-color: #15ABF8;
  --bs-link-color-rgb: 21, 171, 248;
  --bs-link-hover-color: #D8E8F8;
  --bs-link-hover-color-rgb: 216, 232, 248;
  --bs-primary-bg-subtle: #0A3A73;
  --bs-primary-border-subtle: #5B88C0;
  --bs-primary-text-emphasis: #D8E8F8;
  --bs-light: #0A2E57;
  --bs-light-rgb: 10, 46, 87;
  --bs-secondary: #95BBE4;
  --bs-secondary-rgb: 149, 187, 228;
  --bs-focus-ring-color: rgba(21, 171, 248, 0.35);
  --admsis-borda: #5B88C0;
  --admsis-hover: #15ABF8;
  --eng-fundo: #041A33;
  --eng-quadro: #062547;
  --eng-barra: #0A3A73;
  --eng-destaque: #15ABF8;
  --eng-linha: #123B66;
  --eng-tabela-cabecalho: #0A2E57;
  --eng-pilula: rgba(255, 255, 255, 0.14);
  color-scheme: dark;
  --eng-obrigatorio-fundo: #0A3160;
}

/*
 * Admsis Proteo: fundos derivados de #22305C escurecido (quadro #121B2E, pagina #0A1120), texto
 * #E6F3FC (15,2:1 sobre o quadro), apoio #A9C3DD (9,4:1), links #6FB6E6 (7,8:1), realce no verde
 * claro #5ACBA6 derivado de #30B087 (8,6:1), botoes em #22305C (branco: 12,8:1), borda #5A75A8
 * (3,7:1 sobre o quadro), selecao de linha #1E3A5C.
 */
[data-eng-tema="proteo"][data-bs-theme="dark"] {
  --bs-body-color: #E6F3FC;
  --bs-body-color-rgb: 230, 243, 252;
  --bs-body-bg: #121B2E;
  --bs-body-bg-rgb: 18, 27, 46;
  --bs-emphasis-color: #FFFFFF;
  --bs-secondary-color: #A9C3DD;
  --bs-secondary-bg: #18233B;
  --bs-tertiary-bg: #1E3A5C;
  --bs-tertiary-color: #A9C3DD;
  --bs-border-color: #5A75A8;
  --bs-link-color: #6FB6E6;
  --bs-link-color-rgb: 111, 182, 230;
  --bs-link-hover-color: #E6F3FC;
  --bs-link-hover-color-rgb: 230, 243, 252;
  --bs-primary-bg-subtle: #22305C;
  --bs-primary-border-subtle: #5A75A8;
  --bs-primary-text-emphasis: #E6F3FC;
  --bs-light: #18233B;
  --bs-light-rgb: 24, 35, 59;
  --bs-secondary: #A9C3DD;
  --bs-secondary-rgb: 169, 195, 221;
  --bs-focus-ring-color: rgba(111, 182, 230, 0.35);
  --admsis-borda: #5A75A8;
  --eng-fundo: #0A1120;
  --eng-quadro: #121B2E;
  --eng-barra: #22305C;
  --eng-destaque: #5ACBA6;
  --eng-linha: #24324F;
  --eng-tabela-cabecalho: #18233B;
  --eng-pilula: rgba(255, 255, 255, 0.14);
  color-scheme: dark;
  --eng-obrigatorio-fundo: #173A33;
}

/* Componentes que o Bootstrap compila com a cor padrao. */
[data-eng-tema] .btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--admsis-hover);
  --bs-btn-hover-border-color: var(--admsis-hover);
  --bs-btn-active-bg: var(--admsis-hover);
  --bs-btn-active-border-color: var(--admsis-hover);
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}

[data-eng-tema] .btn-outline-primary {
  --bs-btn-color: var(--eng-destaque);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-disabled-color: var(--eng-destaque);
  --bs-btn-disabled-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}

[data-eng-tema] .pagination {
  --bs-pagination-color: var(--eng-destaque);
  --bs-pagination-hover-color: var(--admsis-hover);
  --bs-pagination-focus-color: var(--admsis-hover);
  --bs-pagination-active-bg: var(--bs-primary);
  --bs-pagination-active-border-color: var(--bs-primary);
}

[data-eng-tema] .nav-pills,
[data-eng-tema] .nav-underline {
  --bs-nav-pills-link-active-bg: var(--bs-primary);
  --bs-nav-link-color: var(--eng-destaque);
  --bs-nav-link-hover-color: var(--admsis-hover);
}

[data-eng-tema] .form-control:focus,
[data-eng-tema] .form-select:focus,
[data-eng-tema] .form-check-input:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem var(--bs-focus-ring-color);
}

[data-eng-tema] .form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
