/* Tokens do Tabler — configuracao, nao CSS customizado.
 *
 * Este arquivo so redefine variaveis `--tblr-*` que o proprio Tabler expoe para tuning.
 * Nao cria classe, nao cria seletor novo, nao estiliza nada por conta propria. E o jeito
 * documentado de ajustar o Tabler sem fork; a regra de "zero CSS customizado" continua valendo
 * para qualquer coisa alem disto.
 *
 * Os numeros abaixo foram medidos na 1.7.0 e reconferidos na 1.7.1: as cinco variaveis que este
 * arquivo sobrescreve sao identicas nas duas, e as alturas renderizadas tambem.
 *
 * POR QUE EXISTE
 * O 1.7 unificou a altura dos controles e, no caminho, engordou os controles pequenos muito
 * alem do que a nota de release sugere ("28px -> 32px"). Medido no browser, na mesma pagina,
 * trocando so a folha de estilo:
 *
 *                      beta17     1.7 puro    aqui
 *   .btn                35,3px     40px       36px
 *   .btn-sm            23,3px     32px       24px     <- +37% no 1.7 puro
 *   .btn-sm (largura)  42,6px     58,6px     42,6px   <- +38% no 1.7 puro
 *   .form-control-sm   23,1px     32px       24px     <- +39% no 1.7 puro
 *   .btn-lg            47,3px     48px       48px
 *
 * `btn-sm` aparece em 149 arquivos e `form-control-sm` em 33: sem isto, toda barra de acoes e
 * todo filtro do sistema cresce de uma vez, e a 375px (a largura que o projeto suporta) grupos
 * de botao que hoje cabem por pouco passam a quebrar linha.
 *
 * ORDEM E ESPECIFICIDADE IMPORTAM AQUI
 * - `--tblr-btn-padding-y` e declarada dentro de `.btn{}`, nao no `:root`. Override no `:root`
 *   NAO funciona: tem de ser em `.btn{}`, e este arquivo tem de ser carregado DEPOIS do
 *   tabler.min.css.
 * - Por isso mesmo, `.btn{}` daqui vence o `.btn-lg{}` do Tabler (mesma especificidade, vem
 *   depois). Sem reafirmar `.btn-lg` abaixo, o botao grande encolhia de 48px para 40px.
 * - Os controles pequenos de formulario leem a familia `--tblr-btn-input-sm-*`, que fica no
 *   `:root` — essa sim pode ser sobrescrita de la.
 */

:root {
    /* controles de tamanho normal (form-control, input-group-text) */
    --tblr-btn-input-padding-y: 0.4375rem;

    /* controles pequenos: form-control-sm, form-select-sm, col-form-label-sm */
    --tblr-btn-input-sm-padding-y: 0.1875rem;
    --tblr-btn-input-sm-padding-x: 0.25rem;
}

/* O .btn le as proprias --tblr-btn-*, nao a familia btn-input. */
.btn {
    --tblr-btn-padding-y: 0.4375rem;
}

.btn-sm {
    --tblr-btn-padding-y: 0.1875rem;
    --tblr-btn-padding-x: 0.25rem;
}

/* Reafirma o valor do proprio 1.7: sem esta linha o .btn acima o sobrescreve. */
.btn-lg {
    --tblr-btn-padding-y: 0.6875rem;
}

/* BADGE: a regressao mais grave da migracao.
 *
 * O beta17 fixava `--tblr-badge-color: #ffffff` — todo badge tinha texto BRANCO, sempre. O 1.7
 * trocou para `var(--tblr-secondary)`, ou seja, cinza. Como o projeto escreve `badge bg-<cor>`
 * (sem cor de texto) em 324 lugares, o resultado e texto cinza sobre fundo colorido. Medido no
 * browser, razao de contraste WCAG:
 *
 *                        beta17   1.7 puro   aqui
 *   badge bg-secondary    5,60      1,00     4,76    <- 1,00 = literalmente invisivel
 *   badge bg-pink         4,62      1,03     4,62
 *   badge bg-danger        ~        1,02     4,66
 *   badge bg-blue          ~        1,05     5,00
 *
 * POR QUE AQUI, E NAO TROCANDO bg-* POR text-bg-* NAS VIEWS
 * `text-bg-<cor>` resolve e e a forma idiomatica do 1.7, mas exigiria 324 edicoes em 79
 * arquivos — e ainda assim NAO alcancaria os casos em que a cor e montada em runtime
 * (`bg-${status}`, mapas tipo `statusBadgeMap`, ternarios dentro da classe): sao 168 strings
 * 'bg-*' espalhadas em JS e Razor. Este token cobre todos de uma vez, inclusive os futuros.
 *
 * NAO QUEBRA OS 832 `bg-<cor>-lt`: as utilities `-lt` declaram `color` diretamente (conferido:
 * `bg-green-lt` computa `oklab(0.6738 ...)`), entao vencem a variavel. Contraste delas medido
 * antes e depois: identico.
 *
 * NAO QUEBRA `badge bg-white`: os 5 casos ja trazem `text-primary`/`text-dark`, e utility com
 * `!important` vence `color: var(--tblr-badge-color)`.
 *
 * Fica pendente, e NAO e regressao desta migracao: as cores claras tem contraste ruim com texto
 * branco tanto no beta17 quanto aqui (green/success 2,74; warning/yellow 2,13; orange 3,04).
 * Era assim antes. Corrigir isso e decisao de design, em PR proprio — o caminho seria `-lt`.
 */
.badge {
    --tblr-badge-color: #fff;
}
