/* ============================================================================
   brand.css — Identidade visual OneRank sobre o chassi ProAdmin (Metronic v9)
   ============================================================================
   Carregado via EntidadeBranding::brandCssLinkTag() (hook do core, PR #422 do
   template) logo apos os bundles do Metronic e as variaveis dinamicas da
   entidade (--bs-primary e as variantes derivadas ja vem do PHP, gravadas em
   config_entidades — este arquivo so CONSOME essas variaveis via var(), nunca
   redeclara cor de marca em hex literal aqui, exceto onde documentado).

   Fonte da paleta e das regras de marca:
   onerank_base/docs/design-system-onerank.md §3.1 (tema Premium).

   Precedente que este arquivo porta (nao reinventa): onerank_base's
   admin/_template/onerank-theme.css, 1320 linhas, escrito para Metronic
   v8.3.3. Tres licoes duras de la, citadas onde se aplicam.
   ============================================================================ */

/* ----------------------------------------------------------------------
   1) TIPOGRAFIA — self-hosted, sem CDN (zero fonts.googleapis.com)
   ---------------------------------------------------------------------- */

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(../fonts/inter-300-normal-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, 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: 300;
    font-display: swap;
    src: url(../fonts/inter-300-normal-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../fonts/inter-400-normal-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, 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: 400;
    font-display: swap;
    src: url(../fonts/inter-400-normal-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../fonts/inter-500-normal-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, 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(../fonts/inter-500-normal-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(../fonts/inter-600-normal-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, 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(../fonts/inter-600-normal-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/inter-700-normal-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, 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(../fonts/inter-700-normal-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Poppins — títulos (marca OneRank: SemiBold 600 + Bold 700 apenas) */
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(../fonts/poppins-600-normal-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(../fonts/poppins-600-normal-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/poppins-700-normal-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/poppins-700-normal-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    /* O Metronic ja define --bs-font-sans-serif: Inter,Helvetica,"sans-serif"
       via CDN sem font-display=swap (FOIT de ~100-300ms). Sobrescrever aqui
       troca pela nossa declaracao self-hosted com swap, sem mexer no CDN
       (o <link> do Google Fonts continua no header.php ate o PR upstream
       que o remove — inofensivo, so uma requisicao a mais que perde a corrida
       contra a fonte local). */
    --bs-font-sans-serif: 'Inter', Helvetica, sans-serif;
    --font-heading: 'Poppins', 'Inter', sans-serif;

    /* Dourado Topo — sem equivalente no sistema --bs-*; --bs-warning e uma
       cor diferente (funcional, nao de marca). Uso raro por desenho: so o
       CTA mais critico de cada tela e a barra do item ativo no sidebar. */
    --or-accent: #E8B53D;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.page-heading,
.card-title,
.menu-title,
.app-sidebar-logo {
    font-family: var(--font-heading);
    letter-spacing: -0.5px;
}

/* ----------------------------------------------------------------------
   2) SIDEBAR — o gesto de marca mais visivel (layout dark-sidebar)
   ----------------------------------------------------------------------
   O Metronic compila os hex do sidebar dark direto no seletor (#0d0e12,
   #9a9cae, #1c1c21...) — nao ha variavel CSS pra interceptar (fundo/texto
   do menu nao passam por --bs-*, so os componentes Bootstrap passam). Por
   isso aqui e regra explicita casada seletor-a-seletor com o bundle
   ([data-kt-app-layout=dark-sidebar] .app-sidebar ...), nao var() solto —
   um `.app-sidebar` sem o data-attribute do layout perderia pra
   especificidade do bundle. A gradiente usa var(--bs-primary)/-active em
   vez de hex literal: se a cor da entidade mudar (Configuracoes > OneRank),
   o sidebar acompanha sem editar este arquivo. */

[data-kt-app-layout=dark-sidebar] .app-sidebar {
    background: linear-gradient(180deg, var(--bs-primary) 0%, var(--bs-primary-active) 100%);
    border-right: 0;
}

[data-kt-app-layout=dark-sidebar] .app-sidebar .app-sidebar-logo {
    border-bottom: 1px solid rgba(255, 255, 255, .15);
}

[data-kt-app-layout=dark-sidebar] .app-sidebar .menu-sub-lg-dropdown {
    background-color: var(--bs-primary-active);
}

[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link,
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link .menu-title {
    color: #C7D3E8;
}

[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link .menu-icon,
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link .menu-icon .svg-icon,
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link .menu-icon i {
    color: #7FA0D6;
}

/* Item atual: o Metronic marca isso de duas formas (.here no ancestral da
   trilha de navegacao, .active no link exato) — cobrimos as duas com a
   mesma barra dourada pra nao depender de qual delas o menu builder aplica
   em cada tela. */
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item.here > .menu-link,
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link.active {
    color: #FFFFFF;
    background-color: rgba(255, 255, 255, .08);
    box-shadow: inset 3px 0 0 var(--or-accent);
}

[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item.here > .menu-link .menu-title,
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link.active .menu-title,
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item.here > .menu-link .menu-icon,
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link.active .menu-icon,
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item.here > .menu-link .menu-icon .svg-icon,
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link.active .menu-icon .svg-icon {
    color: #FFFFFF;
}

/* ----------------------------------------------------------------------
   3) HEADER (TOPBAR) — menu horizontal ativo/hover
   ----------------------------------------------------------------------
   Achado desta fase, fora do escopo original do plano: o bundle define
   --bs-menu-link-color-{hover,here,active} com hex fixo (#1B84FF no tema
   claro, #006AE6 no escuro) dentro de [data-bs-theme=light|dark], por fora
   do sistema --bs-primary que a Fase 2 corrigiu — mesma familia de bug do
   achado #1 (variavel de marca que nao propaga pra tudo que deveria).
   :root aqui tem a mesma especificidade que [data-bs-theme=...] e vem
   depois no cascade (brand.css carrega por ultimo), entao vence sem
   precisar repetir o seletor por tema; Fase 6 (dark mode) ajusta se for
   preciso um tom diferente no escuro.

   .btn-primary NAO entra aqui: ja e 100% var(--bs-primary)/-active/-inverse
   nativamente (prova real no navegador, Fase 3) — nada a corrigir. */
:root {
    --bs-menu-link-color-hover: var(--bs-primary);
    --bs-menu-link-color-here: var(--bs-primary);
    --bs-menu-link-color-active: var(--bs-primary);
}

/* ----------------------------------------------------------------------
   4) CORRECOES WCAG AA — porta o precedente (onerank_base/onerank-theme.css)
   ----------------------------------------------------------------------
   O Metronic v9 repete o MESMO par de cores que o v8 tinha: .btn-light-danger
   usa color:var(--bs-danger) (#F8285A) sobre background:var(--bs-danger-light)
   (#FFEEF3) no estado padrao — ~2.5:1, reprova AA (min 4.5:1). Confirmado por
   medicao real nesta sessao, nao presumido do precedente. O hover ja e branco
   sobre solido (--bs-danger/-warning), contraste correto — so o estado padrao
   precisa de texto escurecido. --bs-warning tem o mesmo problema (#F6C000
   sobre #FFF8DD). Extensao ao precedente: .btn-active-light-* tem o MESMO
   par de cores (achado desta sessao, o v8 nao tinha essa classe). */

.btn.btn-light-danger,
.btn.btn-active-light-danger,
.badge-light-danger {
    color: #CC0040 !important;
}

.btn.btn-light-warning,
.btn.btn-active-light-warning,
.badge-light-warning {
    color: #B37000 !important;
}

/* Icones dentro de symbol-label/bg-light-* (uso real confirmado em
   diagnosticoSidebar.php, visualizarModulos.php e ~10 telas core) —
   svg-icon cobre o padrao Metronic, i cobre Bootstrap Icons/KTIcon. */
.bg-light-danger i,
.bg-light-danger svg,
.bg-light-danger .svg-icon,
.bg-light-danger .text-danger {
    color: #CC0040 !important;
}

.bg-light-warning i,
.bg-light-warning svg,
.bg-light-warning .svg-icon,
.bg-light-warning .text-warning {
    color: #B37000 !important;
}

/* ----------------------------------------------------------------------
   5) DARK MODE — clareia a marca (medido: #0B3D91 como --bs-text-primary/
   --bs-link-color sobre o fundo escuro do Metronic, rgb(15,16,20), da
   ~1.75:1 — reprova AA feio. #5B8DEF no mesmo fundo da ~5.5:1.
   ----------------------------------------------------------------------
   Escopo deliberadamente contido: so as variaveis que decidem legibilidade
   de texto/link/botao (o que a medicao provou quebrado). --bs-primary-light/
   -clarity/-bg-subtle/-border-subtle/-text-emphasis (superficies decorativas
   de baixa enfase) ficam de fora desta passada — nao verifiquei visualmente
   os valores certos pra elas e prefiro nao adivinhar. --bs-primary-inverse
   usa grafite (#1A2332), nao branco: aplicando o mesmo motor de contraste
   YIQ do EntidadeBranding::corContraste() em #5B8DEF (luminancia 0.538,
   acima do limiar 0.5) o resultado e grafite — confirmado por calculo
   (~4.3:1 grafite vs ~3.4:1 branco). O sidebar NAO muda aqui: e uma
   superficie de marca propria (dark-sidebar), nao deriva do fundo do body,
   entao o problema de contraste light-vs-dark simplesmente nao se aplica a
   ele. */
[data-bs-theme=dark] {
    --bs-primary: #5B8DEF;
    --bs-primary-rgb: 91, 141, 239;
    --bs-primary-active: #4D78CB;
    --bs-primary-inverse: #1A2332;
    --bs-text-primary: #5B8DEF;
    --bs-link-color: #5B8DEF;
    --bs-link-color-rgb: 91, 141, 239;
    --bs-link-hover-color: #4D78CB;
}

/* Achado da varredura de residuo da Fase 7 (QA): mesmo padrao do header
   (achado da Fase 4) mas espalhado por todo o bundle do Metronic — varias
   variaveis --bs-* tem uma versao var(--bs-primary) e outra hex fixo
   (#1B84FF) dentro de [data-bs-theme=light|dark], e a hex vence por ordem
   de cascata. Varrida a lista completa de "--*:#1B84FF;" no bundle e
   descartadas as que sao boilerplate morto do Bootstrap (--bs-btn-bg e
   companhia dentro de .btn-primary, nunca lidas — a regra .btn.btn-primary
   do Metronic seta background-color direto, sem passar por --bs-btn-bg;
   confirmado por medicao real na Fase 3) ou neutras (--bs-component-hover-bg
   e cinza, nao azul). Ficaram estas, com consumidor real confirmado:
   - scrolltop: botao "voltar ao topo", invisivel ate rolar — so a varredura
     de computed style (nao de tela) encontrou
   - component-active-bg/-hover-color: paginacao (toda tela de listagem) e
     dropdown ativo/hover (Acoes, menu de usuario, o proprio menu de tema)
   - menu-link-color-show: submenu aberto, mesma familia do achado da Fase 4
   - progress-bar-bg / ribbon-label-bg: sem uso ainda nas telas construidas,
     corrigidos por baixo custo/alto valor futuro (import com barra de
     progresso e um exemplo provavel) */
:root {
    --bs-scrolltop-bg-color: var(--bs-primary);
    --bs-scrolltop-bg-color-hover: var(--bs-primary-active);
    --bs-component-active-bg: var(--bs-primary);
    --bs-component-hover-color: var(--bs-primary);
    --bs-menu-link-color-show: var(--bs-primary);
    --bs-progress-bar-bg: var(--bs-primary);
    --bs-ribbon-label-bg: var(--bs-primary);
}
