/* ============================================================
   REDENTO — REFINO VISUAL GLOBAL (padrão do Dashboard)
   ------------------------------------------------------------
   Objetivo: levar o acabamento do Dashboard/Biblioteca (Montserrat,
   ícones Lucide, cards claros de canto suave, sombra leve, tabela
   clara) para TODAS as telas do sistema web.

   Regras de ouro deste arquivo:
   - NÃO muda estrutura: nada de display/position/float/width/height,
     grid/flex-direction, ordem ou posição de ícone/botão.
   - Só acabamento: fonte, peso, cor, raio, sombra, borda, espaçamento
     interno e transição.
   - Carregado DEPOIS do @stack('styles') para alcançar as telas que
     têm <style> próprio; por isso usa !important com parcimônia
     (apenas onde a tela declara o mesmo cosmético inline).
   - Cores/superfícies ficam sob html:not([data-theme="dark"]) para o
     modo escuro (redento-dark.css) continuar mandando no dark.
   - Não pinta fundo opaco em .content/.content-page (taparia o leão).
   - Apps (consultor/associado) usam outro layout: não são afetados.
   ============================================================ */

.redento-v2 {
    --rf-font: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --rf-ink: #1A1A1A;
    --rf-ink-2: #52514C;
    --rf-muted: #94A3B8;
    --rf-line: #E5E5E7;
    --rf-line-soft: #F0F0F0;
    --rf-surface: #FFFFFF;
    --rf-surface-soft: #F5F5F7;
    --rf-yellow: #F6C300;
    --rf-radius-sm: 10px;
    --rf-radius-md: 14px;
    --rf-radius-lg: 20px;
    --rf-shadow-1: 0 1px 2px rgba(0,0,0,.04), 0 2px 6px rgba(0,0,0,.04);
    --rf-shadow-2: 0 2px 4px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06);
    --rf-ease: .18s ease;
}

/* ---------- 1) Tipografia — Montserrat em toda a UI ---------- */
.redento-v2,
.redento-v2 input, .redento-v2 select, .redento-v2 textarea, .redento-v2 button,
.redento-v2 table, .redento-v2 th, .redento-v2 td,
.redento-v2 .btn, .redento-v2 .badge, .redento-v2 .form-control, .redento-v2 .form-select,
.redento-v2 .nav-link, .redento-v2 .dropdown-item, .redento-v2 .alert, .redento-v2 .modal,
.redento-v2 h1, .redento-v2 h2, .redento-v2 h3, .redento-v2 h4, .redento-v2 h5, .redento-v2 h6 {
    font-family: var(--rf-font);
}
.redento-v2 h1, .redento-v2 h2, .redento-v2 h3,
.redento-v2 h4, .redento-v2 h5, .redento-v2 h6 {
    font-weight: 700;
    letter-spacing: -.02em;
}
.redento-v2 .fw-bold { font-weight: 700; }
.redento-v2 small, .redento-v2 .small { letter-spacing: 0; }

/* Ícones Lucide: mesma espessura de traço do Dashboard */
.redento-v2 svg.lucide { stroke-width: 1.75; vertical-align: -.125em; }

/* ---------- 1b) Header do sistema: nada mais cortado ----------
   A barra de topo tinha larguras fixas (logo 10% + busca 60% + user 350px)
   e estourava 107px para fora da tela em qualquer resolução — o relógio e o
   menu do usuário ficavam atrás do scroll horizontal. Aqui só troco as
   larguras fixas por flexíveis: a ORDEM e a posição dos itens são as mesmas. */
.redento-v2 header .header-top { flex-wrap: nowrap; gap: 1rem; }
.redento-v2 header .header-top .logo { width: auto; flex: 0 0 auto; }
.redento-v2 header .header-top .search { width: auto; flex: 1 1 auto; min-width: 0; }
.redento-v2 header .header-top .search .header-search input.form-control { width: 100%; }
.redento-v2 header .header-top .search .header-search select.form-control { width: auto; min-width: 132px; }
.redento-v2 header .header-top .user-info { width: auto; flex: 0 0 auto; }
@media (max-width: 992px) {
    .redento-v2 header .header-top { flex-wrap: wrap; }
    .redento-v2 header .header-top .logo,
    .redento-v2 header .header-top .search,
    .redento-v2 header .header-top .user-info { width: 100%; flex: 1 1 100%; }
    .redento-v2 header .header-top .search .header-search { flex-wrap: wrap; }
    .redento-v2 header .header-top .search .header-search select.form-control { min-width: 0; width: 45%; }
    .redento-v2 header .header-top .search .header-search input.form-control { width: 100%; }
    .redento-v2 header .header-top .user-info .details { flex-wrap: wrap; gap: 6px; border-radius: 18px; }
    .redento-v2 header .header-top .user-info .details .info .name { max-width: 100%; }
}

/* ---------- 2) Barra de página (breadcrumb / título) ---------- */
/* Mesma faixa preta do banner do Dashboard, sem borda dura de cor. */
html:not([data-theme="dark"]) .redento-v2 .header-page,
html:not([data-theme="dark"]) .redento-v2 .page-header-aeasy,
html:not([data-theme="dark"]) .redento-v2 .page-header-cat,
html:not([data-theme="dark"]) .redento-v2 .page-header-jur,
html:not([data-theme="dark"]) .redento-v2 .afx-head,
html:not([data-theme="dark"]) .redento-v2 .cef-header,
html:not([data-theme="dark"]) .redento-v2 .cf-head,
html:not([data-theme="dark"]) .redento-v2 .cfv-head,
html:not([data-theme="dark"]) .redento-v2 .dsp-head,
html:not([data-theme="dark"]) .redento-v2 .ef-head,
html:not([data-theme="dark"]) .redento-v2 .nt-header,
html:not([data-theme="dark"]) .redento-v2 .rz-head,
html:not([data-theme="dark"]) .redento-v2 .sd-head,
html:not([data-theme="dark"]) .redento-v2 .sga-head {
    background: #1A1A1A !important;
    background-image: none !important;
    color: #fff !important;
    border-top: 0 !important;
    box-shadow: 0 1px 0 rgba(0,0,0,.06) !important;
}
.redento-v2 .header-page,
.redento-v2 .page-header-aeasy,
.redento-v2 .page-header-cat,
.redento-v2 .page-header-jur,
.redento-v2 .afx-head,
.redento-v2 .cef-header,
.redento-v2 .cf-head,
.redento-v2 .cfv-head,
.redento-v2 .dsp-head,
.redento-v2 .ef-head,
.redento-v2 .nt-header,
.redento-v2 .sd-head,
.redento-v2 .sga-head {
    padding: 15px 24px !important;
    font-family: var(--rf-font);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -.02em;
}
html:not([data-theme="dark"]) .redento-v2 .header-page a:not([class]):not([style]),
html:not([data-theme="dark"]) .redento-v2 .page-header-aeasy a:not([class]):not([style]),
html:not([data-theme="dark"]) .redento-v2 .cf-head a:not([class]):not([style]),
html:not([data-theme="dark"]) .redento-v2 .ef-head a:not([class]):not([style]),
html:not([data-theme="dark"]) .redento-v2 .nt-header a:not([class]):not([style]) {
    color: #A8A8A8;
    text-decoration: none;
    font-weight: 500;
    transition: color var(--rf-ease);
}
html:not([data-theme="dark"]) .redento-v2 .header-page a:not([class]):not([style]):hover,
html:not([data-theme="dark"]) .redento-v2 .page-header-aeasy a:not([class]):not([style]):hover { color: var(--rf-yellow); }

/* ---------- 2b) Telas públicas (link enviado ao associado/prestador) ----------
   Elas não usam layouts.app; a marcação `rf-publica` no <body> existe só para
   alcançar a barra de topo delas sem risco de colidir com classes genéricas
   (.head/.header/.topo/.top-bar) do resto do sistema. */
.rf-publica .head,
.rf-publica .header,
.rf-publica .topo,
.rf-publica .top-bar {
    background: #1A1A1A !important;
    background-image: none !important;
    color: #fff !important;
    border-top: 0 !important;
    font-family: var(--rf-font);
    letter-spacing: -.01em;
}
.rf-publica .head b,
.rf-publica .header b,
.rf-publica .topo b { font-weight: 700; }

/* ---------- 3) Superfícies (cards, painéis, containers) ---------- */
.redento-v2 .card,
.redento-v2 .kpi-card,
.redento-v2 .card-dashboard,
.redento-v2 .card-block,
.redento-v2 .section-card,
.redento-v2 .card-secao,
.redento-v2 .chart-container,
.redento-v2 .table-container,
.redento-v2 .toolbar,
.redento-v2 .cp-kpi,
.redento-v2 .orc-box {
    border-radius: var(--rf-radius-md) !important;
    transition: box-shadow var(--rf-ease), transform var(--rf-ease);
}
/* Sombra suave em todas as superfícies. A BORDA de cada tela é preservada:
   muitos KPIs marcam o status com uma barra colorida à esquerda (border-left)
   — sobrescrever `border` apagaria essa informação. */
html:not([data-theme="dark"]) .redento-v2 .card,
html:not([data-theme="dark"]) .redento-v2 .kpi-card,
html:not([data-theme="dark"]) .redento-v2 .card-dashboard,
html:not([data-theme="dark"]) .redento-v2 .card-block,
html:not([data-theme="dark"]) .redento-v2 .section-card,
html:not([data-theme="dark"]) .redento-v2 .card-secao,
html:not([data-theme="dark"]) .redento-v2 .chart-container,
html:not([data-theme="dark"]) .redento-v2 .table-container,
html:not([data-theme="dark"]) .redento-v2 .toolbar,
html:not([data-theme="dark"]) .redento-v2 .cp-kpi,
html:not([data-theme="dark"]) .redento-v2 .orc-box {
    box-shadow: var(--rf-shadow-1) !important;
}
/* Só o .card do Bootstrap (borda cinza em 4 lados) ganha a borda suave. */
html:not([data-theme="dark"]) .redento-v2 .card {
    background-color: var(--rf-surface);
    border: 1px solid var(--rf-line-soft);
}
html:not([data-theme="dark"]) .redento-v2 .card:hover,
html:not([data-theme="dark"]) .redento-v2 .kpi-card:hover,
html:not([data-theme="dark"]) .redento-v2 .card-dashboard:hover,
html:not([data-theme="dark"]) .redento-v2 .section-card:hover,
html:not([data-theme="dark"]) .redento-v2 .cp-kpi:hover {
    box-shadow: var(--rf-shadow-2) !important;
}
.redento-v2 .card-header {
    font-weight: 700;
    letter-spacing: -.01em;
}
html:not([data-theme="dark"]) .redento-v2 .card-header {
    background: transparent;
    border-bottom: 1px solid var(--rf-line-soft);
}

/* ---------- 4) KPI / rótulos e números ---------- */
.redento-v2 .kpi-label,
.redento-v2 .text-title-card {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
html:not([data-theme="dark"]) .redento-v2 .kpi-label,
html:not([data-theme="dark"]) .redento-v2 .text-title-card { color: var(--rf-muted); }
.redento-v2 .kpi-value,
.redento-v2 .card-dashboard h2 {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.15;
}

/* ---------- 5) Tabelas ---------- */
.redento-v2 .table { border-collapse: separate; border-spacing: 0; }
.redento-v2 .table thead th {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 12px 16px;
    vertical-align: middle;
}
html:not([data-theme="dark"]) .redento-v2 .table thead th {
    background: var(--rf-surface-soft) !important;
    background-image: none !important;
    color: var(--rf-ink-2) !important;
    border-bottom: 1px solid var(--rf-line) !important;
    border-top: 0;
}
.redento-v2 .table tbody td {
    font-size: .84rem;
    padding: 12px 16px;
    vertical-align: middle;
}
html:not([data-theme="dark"]) .redento-v2 .table tbody td {
    border-bottom: 1px solid var(--rf-line-soft);
}
html:not([data-theme="dark"]) .redento-v2 .table tbody tr { transition: background var(--rf-ease); }
html:not([data-theme="dark"]) .redento-v2 .table tbody tr:hover { background: #FAFAFB; }
.redento-v2 .table thead th:first-child { border-top-left-radius: 10px; }
.redento-v2 .table thead th:last-child { border-top-right-radius: 10px; }

/* ---------- 6) Botões ---------- */
.redento-v2 .btn {
    font-family: var(--rf-font);
    font-weight: 600;
    border-radius: var(--rf-radius-sm);
    letter-spacing: .01em;
    transition: background var(--rf-ease), box-shadow var(--rf-ease), transform var(--rf-ease), color var(--rf-ease);
}
.redento-v2 .btn-sm,
.redento-v2 .btn-mini { border-radius: 9px; }
.redento-v2 .btn-lg { border-radius: 12px; }
/* tira o "degrau" 3D duro do app.css e deixa a sombra leve */
html:not([data-theme="dark"]) .redento-v2 .btn,
html:not([data-theme="dark"]) .redento-v2 .btn-sm {
    box-shadow: 0 1px 2px rgba(0,0,0,.05);
}
html:not([data-theme="dark"]) .redento-v2 .btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.10); }
html:not([data-theme="dark"]) .redento-v2 .btn:active { transform: translateY(0); box-shadow: 0 1px 2px rgba(0,0,0,.06); }
html:not([data-theme="dark"]) .redento-v2 .btn-primary {
    background: #1A1A1A;
    background-image: none;
    color: var(--rf-yellow);
    border: 0;
}
html:not([data-theme="dark"]) .redento-v2 .btn-primary:hover { background: #000; color: var(--rf-yellow); }
html:not([data-theme="dark"]) .redento-v2 .btn-outline-secondary,
html:not([data-theme="dark"]) .redento-v2 .btn-outline-dark {
    border: 1px solid var(--rf-line);
    color: var(--rf-ink-2);
    background: #fff;
}
html:not([data-theme="dark"]) .redento-v2 .btn-outline-secondary:hover,
html:not([data-theme="dark"]) .redento-v2 .btn-outline-dark:hover {
    background: var(--rf-surface-soft);
    color: var(--rf-ink);
    border-color: var(--rf-line);
}
/* Botões de ação em tabela: ícone com fundo suave (padrão app.css) */
.redento-v2 .btn-action,
.redento-v2 .btn-acao {
    border-radius: 9px;
    border: 0;
}
html:not([data-theme="dark"]) .redento-v2 .btn-action,
html:not([data-theme="dark"]) .redento-v2 .btn-acao { box-shadow: 0 1px 2px rgba(0,0,0,.05); }

/* ---------- 7) Formulários ---------- */
.redento-v2 .form-control,
.redento-v2 .form-select,
.redento-v2 .input-group-text {
    font-family: var(--rf-font);
    border-radius: var(--rf-radius-sm);
    font-size: .875rem;
    transition: border-color var(--rf-ease), box-shadow var(--rf-ease);
}
.redento-v2 .form-control-sm,
.redento-v2 .form-select-sm { border-radius: 9px; font-size: .82rem; }
html:not([data-theme="dark"]) .redento-v2 .form-control,
html:not([data-theme="dark"]) .redento-v2 .form-select {
    border: 1px solid var(--rf-line);
    box-shadow: none;
    color: var(--rf-ink);
    background-color: #fff;
}
html:not([data-theme="dark"]) .redento-v2 .form-control:focus,
html:not([data-theme="dark"]) .redento-v2 .form-select:focus {
    border-color: #1A1A1A;
    box-shadow: 0 0 0 3px rgba(0,0,0,.06);
}
html:not([data-theme="dark"]) .redento-v2 .form-control::placeholder { color: #A3A3A8; font-weight: 400; }
.redento-v2 .form-label {
    font-family: var(--rf-font);
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: .01em;
}
html:not([data-theme="dark"]) .redento-v2 .form-label { color: var(--rf-ink-2); }
html:not([data-theme="dark"]) .redento-v2 .input-group-text {
    background: var(--rf-surface-soft);
    border: 1px solid var(--rf-line);
    color: var(--rf-ink-2);
}

/* ---------- 8) Badges ---------- */
.redento-v2 .badge,
.redento-v2 .badge-status {
    font-family: var(--rf-font);
    font-weight: 700;
    letter-spacing: .02em;
    border-radius: 999px;
    padding: .35em .75em;
}
html:not([data-theme="dark"]) .redento-v2 .badge,
html:not([data-theme="dark"]) .redento-v2 .badge-status { box-shadow: none; }

/* ---------- 9) Abas / pílulas ---------- */
.redento-v2 .nav-tabs .nav-link,
.redento-v2 .nav-pills .nav-link,
.redento-v2 .tabela-aba,
.redento-v2 .toolbar-aba {
    font-family: var(--rf-font);
    font-weight: 600;
    font-size: .82rem;
    border-radius: 10px 10px 0 0;
}
.redento-v2 .nav-pills .nav-link { border-radius: 999px; }
html:not([data-theme="dark"]) .redento-v2 .nav-tabs { border-bottom: 1px solid var(--rf-line); }
html:not([data-theme="dark"]) .redento-v2 .nav-tabs .nav-link { color: #8A8A90; border: 0; }
html:not([data-theme="dark"]) .redento-v2 .nav-tabs .nav-link:hover { color: var(--rf-ink); background: var(--rf-surface-soft); }
html:not([data-theme="dark"]) .redento-v2 .nav-tabs .nav-link.active {
    color: var(--rf-ink);
    background: #fff;
    border-bottom: 2px solid var(--rf-yellow);
    box-shadow: none;
}

/* ---------- 10) Paginação ---------- */
.redento-v2 .pagination .page-link {
    font-family: var(--rf-font);
    font-weight: 600;
    font-size: .82rem;
    border-radius: 9px;
}
html:not([data-theme="dark"]) .redento-v2 .pagination .page-link {
    border: 1px solid var(--rf-line);
    color: var(--rf-ink-2);
    box-shadow: none;
}
html:not([data-theme="dark"]) .redento-v2 .pagination .page-item.active .page-link {
    background: #1A1A1A;
    background-image: none;
    border-color: #1A1A1A;
    color: var(--rf-yellow);
    box-shadow: none;
}

/* ---------- 11) Modais, dropdowns e alertas ---------- */
.redento-v2 .modal-content { border-radius: var(--rf-radius-lg) !important; }
html:not([data-theme="dark"]) .redento-v2 .modal-content {
    border: 0 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.06), 0 24px 56px rgba(0,0,0,.10) !important;
}
html:not([data-theme="dark"]) .redento-v2 .modal-header {
    background: #1A1A1A;
    background-image: none;
    color: #fff;
    border-bottom: 0;
}
html:not([data-theme="dark"]) .redento-v2 .modal-header .btn-close { filter: brightness(0) invert(1); }
.redento-v2 .modal-title { font-weight: 700; letter-spacing: -.01em; }
.redento-v2 .dropdown-menu { border-radius: var(--rf-radius-md); padding: 6px; }
html:not([data-theme="dark"]) .redento-v2 .dropdown-menu {
    border: 1px solid var(--rf-line-soft);
    box-shadow: var(--rf-shadow-2);
}
.redento-v2 .dropdown-item { border-radius: 8px; font-size: .85rem; font-weight: 500; }
.redento-v2 .alert { border-radius: var(--rf-radius-sm); font-size: .875rem; }

/* ============================================================
   13) BLOCO DE INFORMAÇÃO — rótulo × valor (Thiago 24/08/2026)
   ------------------------------------------------------------
   O pedido: "transformar blocos de informação em cards mais
   organizados, rótulos mais identificáveis, separar melhor o nome
   do campo do valor preenchido, sem quebrar nada".

   Levantamento antes de escrever (355 telas, 140 com CSS próprio):
   não existe componente compartilhado — cada tela repetiu o padrão
   com nome próprio, 230 classes de rótulo diferentes. MAS 50 são
   compartilhadas, e as poucas abaixo cobrem a maioria das telas:
     .label  19 telas · .kpi-card 12 · .titulo 10 · .k 10 · .rot 7
     .card-block 5 · .field / .section-card / .metadata-grid 4
   Por isso o acabamento entra AQUI, na camada global, e não tela a
   tela: um lugar só, reversível, sem tocar em Blade nem em lógica.

   Continua valendo a regra do arquivo: nada de display/position/
   width/height/flex/grid, e NUNCA `border` de card (muitos marcam
   status com border-left colorido — sobrescrever apaga a informação).
   ============================================================ */

/* --- 13.1) O RÓTULO do campo: pequeno, espaçado e discreto ---
   Só peso/cor/tamanho/espaçamento. O texto não é transformado: telas
   que já mandam uppercase continuam iguais, e as que escrevem "Placa"
   continuam "Placa" — mudar isso mexeria no conteúdo, não no visual. */
.redento-v2 .label,
.redento-v2 .rot,
.redento-v2 .lbl,
.redento-v2 .campo-label,
.redento-v2 .info-row > .label {
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.35;
}
/* O espaçamento entre letras é o que dá o ar de rótulo — mas ele ALARGA o
   texto. Medido no celular (390px), custava 19px numa tela que já era
   apertada. Fica só a partir do tablet, onde há espaço de sobra; no celular
   o tamanho menor e o peso já separam o rótulo do valor. */
@media (min-width: 768px) {
    .redento-v2 .label,
    .redento-v2 .rot,
    .redento-v2 .lbl,
    .redento-v2 .campo-label,
    .redento-v2 .info-row > .label { letter-spacing: .045em; }
}
html:not([data-theme="dark"]) .redento-v2 .label,
html:not([data-theme="dark"]) .redento-v2 .rot,
html:not([data-theme="dark"]) .redento-v2 .lbl,
html:not([data-theme="dark"]) .redento-v2 .campo-label {
    color: var(--rf-muted);
}

/* --- 13.2) O VALOR: mais escuro e mais firme que o rótulo ---
   É o que dá a separação pedida entre "nome do campo" e "o que está
   preenchido" — hoje os dois saem com o mesmo peso em várias telas. */
.redento-v2 .val,
.redento-v2 .value,
.redento-v2 .info-row > .val {
    line-height: 1.4;
}
/* Mesma razão: o peso 600 engorda o texto e custava 14px no celular. No
   desktop ele é o que separa o valor do rótulo; no celular a cor mais
   escura (abaixo, sem media query) já faz esse trabalho. */
@media (min-width: 768px) {
    .redento-v2 .val,
    .redento-v2 .value,
    .redento-v2 .info-row > .val { font-weight: 600; }
}
html:not([data-theme="dark"]) .redento-v2 .val,
html:not([data-theme="dark"]) .redento-v2 .value { color: var(--rf-ink); }

/* --- 13.3) Título de bloco dentro do card --- */
.redento-v2 .card-block > .titulo,
.redento-v2 .section-card > .titulo,
.redento-v2 .ac-titulo-secao {
    font-weight: 700;
    letter-spacing: .02em;
}

/* --- 13.4) A SUPERFÍCIE do bloco: canto e sombra do Dashboard ---
   Sem `border`, sem padding novo: só raio e sombra, que é o que faz o
   bloco "virar card" sem mover nada de lugar. */
.redento-v2 .card-block,
.redento-v2 .section-card,
.redento-v2 .tabela-card,
.redento-v2 .kpi-card,
.redento-v2 .kpi-mini,
.redento-v2 .card2 {
    border-radius: var(--rf-radius-md);
}
html:not([data-theme="dark"]) .redento-v2 .card-block,
html:not([data-theme="dark"]) .redento-v2 .section-card,
html:not([data-theme="dark"]) .redento-v2 .tabela-card,
html:not([data-theme="dark"]) .redento-v2 .card2 {
    box-shadow: var(--rf-shadow-1);
}

/* --- 13.5) Linha de campo: respiro entre uma informação e outra --- */
.redento-v2 .info-row { line-height: 1.5; }

/* ============================================================
   14) SELOS DE ESTADO — chip, tag, status, pílula (24/08/2026)
   ------------------------------------------------------------
   Segunda parte do mesmo pedido: "organizar badges, status,
   observações, responsáveis, fornecedores e datas; reduzir a
   poluição visual". Levantamento: `.status` aparece em 46 telas,
   `.tag` em 27, `.chip` em 19, `.pill` em 9, `.selo` em 8.

   ⚠️ COR NÃO SE TOCA. Nestes elementos a cor É a informação
   (verde = pago, vermelho = vencido, amarelo = aguardando). Aqui
   entram só forma e peso: raio de pílula, altura da linha, corpo
   da fonte e o espaçamento entre letras que faz o texto curto
   parar de "borrar". Nada de background, color ou border.
   ============================================================ */
.redento-v2 .chip,
.redento-v2 .tag,
.redento-v2 .pill,
.redento-v2 .selo,
.redento-v2 .badge-sit,
.redento-v2 .doc-tag {
    border-radius: 999px;
    font-weight: 700;
    line-height: 1.6;
    /* SEM letter-spacing aqui: medido no celular (390px), o espaçamento
       empurrava o selo alguns pixels e encostava na borda em tela que já
       era apertada. O peso 700 sozinho dá a leitura que se queria. */
}

/* O `.status` é o mais espalhado (46 telas) e nem sempre é uma
   pílula — em várias é uma linha de texto. Por isso só peso e
   espaçamento, sem raio: arredondar um texto solto não faria nada,
   mas arredondar um bloco que não é pílula deformaria a tela. */
.redento-v2 .status {
    font-weight: 700;
}

/* Data e autoria — o "quem" e o "quando" que acompanham quase toda
   informação. Ficam legíveis, mas param de competir com o valor. */
.redento-v2 .data,
.redento-v2 .quando,
.redento-v2 .autor,
.redento-v2 .meta {
    font-size: .72rem;
    font-weight: 600;
}
html:not([data-theme="dark"]) .redento-v2 .data,
html:not([data-theme="dark"]) .redento-v2 .quando,
html:not([data-theme="dark"]) .redento-v2 .autor,
html:not([data-theme="dark"]) .redento-v2 .meta { color: var(--rf-muted); }

/* ---------- 12) Impressão: acabamento não vai para o papel ---------- */
@media print {
    .redento-v2 .card, .redento-v2 .kpi-card, .redento-v2 .table-container,
    .redento-v2 .section-card, .redento-v2 .toolbar { box-shadow: none !important; }
}
