/* Tema dos painéis Filament (lojista e Redbeard). Cor, tipo e forma vêm só de tokens-temporada.css. */

/* tipografia do DS: títulos em Sora, dado em mono */
.fi-header-heading, .fi-section-header-heading, .fi-simple-header-heading, .fi-modal-heading, .fi-wi-stats-overview-stat-value, .fi-sidebar-group-label {
  font-family: var(--fonte-titulo); letter-spacing: -.02em;
}
.fi-wi-stats-overview-stat-value, .fi-ta-cell-content, .rb-dado { font-variant-numeric: tabular-nums; }
.fi-wi-stats-overview-stat-value { font-family: var(--fonte-dado); font-weight: var(--peso-dado); }

/* superfícies: papel no claro, instrumento no escuro */
.fi-body { background: var(--cor-fundo); color: var(--cor-texto); }
.fi-sidebar, .fi-topbar, .fi-section, .fi-simple-main, .fi-ta-ctn, .fi-wi-stats-overview-stat, .fi-modal-content, .fi-dropdown-panel {
  background: var(--cor-superficie); border-color: var(--cor-borda);
}
.dark .fi-body { background: var(--tp-painel-000); color: var(--tp-painel-tinta); }
.dark .fi-sidebar, .dark .fi-topbar, .dark .fi-section, .dark .fi-simple-main, .dark .fi-ta-ctn, .dark .fi-wi-stats-overview-stat, .dark .fi-modal-content, .dark .fi-dropdown-panel {
  background: var(--tp-painel-100); border-color: var(--tp-painel-300);
}
.dark .fi-section-header-description, .dark .fi-header-subheading, .dark .fi-simple-header-subheading { color: var(--tp-painel-tinta-2); }

/* marca */
.rb-marca { display: inline-flex; align-items: center; gap: .625rem; }
.rb-marca img { height: 2.25rem; width: auto; }
.rb-marca__texto { display: inline-flex; flex-direction: column; line-height: 1.1; }
.rb-marca__nome { font-family: var(--fonte-titulo); font-weight: var(--peso-titulo); font-size: 1rem; letter-spacing: -.02em; color: var(--cor-texto); }
.rb-marca__descritor { font-family: var(--fonte-dado); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cor-texto-secundario); margin-top: .2rem; }
.dark .rb-marca__nome { color: var(--tp-painel-tinta); }
.dark .rb-marca__descritor { color: var(--tp-painel-tinta-2); }
.fi-simple-layout-header .rb-marca { justify-content: center; }

/* classes das nossas views (widgets e páginas) */
.rb-grade { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); }
.rb-grade--estreita { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.rb-titulo { font-family: var(--fonte-titulo); font-weight: var(--peso-titulo-medio); font-size: .95rem; margin: 0 0 .5rem; letter-spacing: -.01em; }
.rb-mudo { color: var(--cor-texto-secundario); }
.dark .rb-mudo { color: var(--tp-painel-tinta-2); }
.rb-espaco { margin-top: .75rem; }
.rb-espaco-2 { margin-top: 1.5rem; }
.rb-lista { margin: .75rem 0 0 1.25rem; padding: 0; }
.rb-link { text-decoration: underline; text-underline-offset: 2px; }
.rb-voltar { margin: 0 0 1rem; font-size: .875rem; }
.rb-forte { font-weight: var(--peso-corpo-forte); }

.rb-tabela { width: 100%; border-collapse: collapse; font-size: .875rem; }
.rb-tabela th { text-align: left; padding: .375rem 0; font-family: var(--fonte-dado); font-weight: var(--peso-dado); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cor-texto-secundario); }
.rb-tabela td { padding: .5rem 0; border-top: 1px solid var(--cor-borda); vertical-align: top; }
.rb-tabela .rb-num { text-align: right; white-space: nowrap; font-family: var(--fonte-dado); font-variant-numeric: tabular-nums; padding-left: 1rem; }
.rb-tabela .rb-num--folga { padding-right: 1.5rem; }
.dark .rb-tabela th { color: var(--tp-painel-tinta-2); }
.dark .rb-tabela td { border-top-color: var(--tp-painel-300); }

.rb-dl { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); margin: 0; }
.rb-dl--larga { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.rb-dl dt { font-family: var(--fonte-dado); font-weight: var(--peso-dado); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cor-texto-secundario); margin-bottom: .35rem; }
.rb-dl dd { margin: 0; font-variant-numeric: tabular-nums; }
.dark .rb-dl dt { color: var(--tp-painel-tinta-2); }

/* barra de uso: <progress> nativo, estilizado */
.rb-barra { display: block; width: 100%; height: .375rem; margin-top: .375rem; border: 0; border-radius: var(--raio-pilula); overflow: hidden; background: var(--cor-borda); -webkit-appearance: none; appearance: none; }
.rb-barra::-webkit-progress-bar { background: var(--cor-borda); border-radius: var(--raio-pilula); }
.rb-barra::-webkit-progress-value { background: var(--cor-marca); border-radius: var(--raio-pilula); }
.rb-barra::-moz-progress-bar { background: var(--cor-marca); border-radius: var(--raio-pilula); }
.dark .rb-barra, .dark .rb-barra::-webkit-progress-bar { background: var(--tp-painel-300); }

/* primeiros passos */
.rb-passos { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.rb-passo { display: flex; align-items: flex-start; gap: .75rem; }
.rb-passo__icone { width: 1.5rem; height: 1.5rem; flex: none; color: var(--cor-apoio); }
.rb-passo--feito .rb-passo__icone { color: var(--cor-sucesso); }
.rb-passo__titulo { font-weight: var(--peso-corpo-forte); }
.rb-passo--feito .rb-passo__titulo { text-decoration: line-through; color: var(--cor-texto-secundario); }
.rb-passo a.rb-passo__titulo { color: var(--cor-apoio); text-decoration: none; }
.rb-passo a.rb-passo__titulo:hover { text-decoration: underline; }
.rb-passo__desc { font-size: .875rem; color: var(--cor-texto-secundario); margin: .125rem 0 0; }
.dark .rb-passo__desc, .dark .rb-passo--feito .rb-passo__titulo { color: var(--tp-painel-tinta-2); }
.dark .rb-passo__icone { color: var(--tp-azul-300-dark); }
.dark .rb-passo--feito .rb-passo__icone { color: var(--tp-sucesso-400-dark); }

/* Kit de primeiros passos (I3.1) */
.rb-kit { display: grid; gap: 1.5rem; margin-top: 1.5rem; }
.rb-kit__lista li { margin-top: .35rem; }
.rb-link { color: var(--cor-apoio); text-decoration: underline; }
.dark .rb-link { color: var(--tp-azul-300-dark); }

/* passo a passo numerado (página da chave de IA, I3.2b) */
.rb-roteiro { margin: .5rem 0 0; padding-left: 1.5rem; display: grid; gap: .5rem; list-style: decimal; }
.rb-roteiro li { line-height: 1.5; }

/* trilha de auditoria da equipe no /redbeard (B11) */
.rb-mudancas { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; font-size: .8125rem; }

/* assistente de vaga: a conversa e o rascunho no modal (B12.3).
   A linguagem visual é a da conversa com a pessoa (balões, pílula), aqui em
   classes do painel. Cor só por token, nada de hex. */
.rb-assistente { display: grid; gap: 1rem; }
.rb-assistente__conversa { display: grid; gap: .875rem; max-height: 22rem; overflow-y: auto; padding-right: .25rem; }
.rb-assistente__balao { display: grid; gap: .25rem; max-width: 92%; }
.rb-assistente__balao--assistente { justify-self: start; }
.rb-assistente__balao--pessoa { justify-self: end; }
.rb-assistente__quem { font-family: var(--fonte-dado); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cor-texto-secundario); }
.rb-assistente__balao--pessoa .rb-assistente__quem { text-align: right; }
.rb-assistente__texto { padding: .75rem 1rem; border-radius: var(--raio-card); white-space: pre-wrap; overflow-wrap: anywhere; background: var(--cor-superficie); border: 1px solid var(--cor-borda); }
.rb-assistente__balao--pessoa .rb-assistente__texto { background: var(--cor-superficie-alt); border-color: transparent; }
.dark .rb-assistente__quem { color: var(--tp-painel-tinta-2); }
.dark .rb-assistente__texto { background: var(--tp-painel-100); border-color: var(--tp-painel-300); }

.rb-assistente__perguntas { list-style: none; margin: .25rem 0 0; padding: 0; display: grid; gap: .5rem; }
.rb-assistente__pergunta { display: grid; gap: .125rem; }
.rb-assistente__ajuda { font-size: .8125rem; color: var(--cor-texto-secundario); }
.dark .rb-assistente__ajuda { color: var(--tp-painel-tinta-2); }

.rb-assistente__pilula { justify-self: center; display: inline-flex; align-items: center; gap: .5rem; min-height: 2rem; padding: .375rem 1rem; border-radius: var(--raio-pilula); background: var(--cor-apoio-fundo); color: var(--cor-apoio); font-size: .8125rem; }
.rb-assistente__pilula--erro { background: var(--cor-alerta-fundo); color: var(--cor-alerta); }
.rb-assistente__pontos { display: inline-flex; gap: .2rem; }
.rb-assistente__pontos i { width: .3rem; height: .3rem; border-radius: var(--raio-pilula); background: currentColor; display: inline-block; }

.rb-assistente__campo { display: grid; gap: .35rem; }
.rb-assistente__campo > span { font-family: var(--fonte-dado); font-weight: var(--peso-dado); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cor-texto-secundario); }
.dark .rb-assistente__campo > span { color: var(--tp-painel-tinta-2); }
.rb-assistente__campo-largo { grid-column: 1 / -1; }
.rb-assistente__campo input, .rb-assistente__campo textarea, .rb-assistente__campo select {
    width: 100%; padding: .5rem .75rem; border: 1px solid var(--cor-borda); border-radius: var(--raio-controle);
    background: var(--cor-superficie); color: var(--cor-texto); font: inherit;
}
.dark .rb-assistente__campo input, .dark .rb-assistente__campo textarea, .dark .rb-assistente__campo select { background: var(--tp-painel-100); border-color: var(--tp-painel-300); color: var(--tp-painel-tinta); }
.rb-assistente__campo input:focus-visible, .rb-assistente__campo textarea:focus-visible, .rb-assistente__campo select:focus-visible { outline: 2px solid var(--cor-apoio); outline-offset: 1px; }

.rb-assistente__rascunho { display: grid; gap: 1rem; }
.rb-assistente__pares { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
.rb-assistente__itens { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.rb-assistente__item { display: flex; align-items: flex-start; gap: .5rem; }
.rb-assistente__lacunas, .rb-assistente__avisos { margin: 0; padding: .75rem 1rem; border-radius: var(--raio-card); display: grid; gap: .35rem; }
.rb-assistente__lacunas { background: var(--cor-info-fundo); color: var(--cor-info); }
.rb-assistente__avisos { background: var(--cor-alerta-fundo); color: var(--cor-alerta); }
.rb-assistente__acoes { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; flex-wrap: wrap; }
.rb-assistente__dica { margin-right: auto; font-size: .8125rem; color: var(--cor-texto-secundario); }
.dark .rb-assistente__dica { color: var(--tp-painel-tinta-2); }
/* botões das ilhas do painel: o Filament não alcança o que o React desenha */
.rb-botao {
    display: inline-flex; align-items: center; gap: .375rem; padding: .5rem 1rem; border: 1px solid var(--cor-borda);
    border-radius: var(--raio-controle); background: var(--cor-superficie); color: var(--cor-texto);
    font: inherit; font-weight: var(--peso-corpo-forte); cursor: pointer;
}
.rb-botao:hover:not(:disabled) { border-color: var(--cor-borda-controle); }
.rb-botao--principal { background: var(--cor-acao); border-color: var(--cor-acao); color: #FFFFFF; }
.rb-botao--principal:hover:not(:disabled) { background: var(--cor-acao-toque); border-color: var(--cor-acao-toque); }
.rb-botao:disabled { opacity: .55; cursor: not-allowed; }
.rb-botao:focus-visible { outline: 2px solid var(--cor-apoio); outline-offset: 2px; }
.dark .rb-botao { background: var(--tp-painel-100); border-color: var(--tp-painel-300); color: var(--tp-painel-tinta); }
.dark .rb-botao--principal { background: var(--cor-acao); border-color: var(--cor-acao); color: #FFFFFF; }

/* T5-d · tela de resultados: número grande, conta que fecha e a grade de dias cobertos (só tokens) */
.rb-numero { font-family: var(--fonte-dado); font-weight: var(--peso-dado); font-size: var(--texto-2xl); margin: 0; }
.rb-conta { font-family: var(--fonte-dado); font-size: var(--texto-sm); margin-top: .5rem; }
.rb-dias { display: flex; flex-wrap: wrap; gap: 3px; margin: .75rem 0; }
.rb-dias i { width: .75rem; height: .75rem; border-radius: 2px; background: var(--cor-borda); display: inline-block; }
.rb-dias i.rb-dias__ok { background: var(--cor-acao); }
.dark .rb-dias i { background: var(--tp-painel-300); }
a.rb-botao { text-decoration: none; }

/* T8-c · telas simples (entrar, criar conta, recuperar senha): alvo de toque de 44 px e subtítulo legível no escuro. */
.fi-simple-page .fi-input { min-height: var(--alvo-minimo); }
.fi-simple-page a:not(.fi-simple-header-subheading a) { display: inline-flex; align-items: center; min-height: var(--alvo-minimo); }
/* Link dentro da frase do subtítulo: caixa de 44 px sem mexer na linha (margem negativa compensa o preenchimento). */
.fi-simple-header-subheading a { display: inline-block; padding-block: 12px; margin-block: -12px; }

.fi-simple-page .fi-btn, .fi-simple-page .fi-icon-btn { min-height: var(--alvo-minimo); min-width: var(--alvo-minimo); }
.fi-simple-page label:has(.fi-checkbox-input) { display: flex; align-items: center; min-height: var(--alvo-minimo); }

/* T8-c (2ª rodada) · painel logado: texto de apoio legível no escuro e alvos de 44 px. */
.dark .fi-account-widget-user-name, .dark .fi-sc-text:not(.fi-color), .dark .fi-input-wrp-label { color: var(--tp-painel-tinta-2); }
.fi-body .fi-icon-btn, .fi-body .fi-user-menu-trigger, .fi-body .fi-btn { min-height: var(--alvo-minimo); min-width: var(--alvo-minimo); }
.fi-body .fi-input { min-height: var(--alvo-minimo); }
.fi-body .fi-sidebar-item-btn { min-height: var(--alvo-minimo); }
.fi-body .fi-skip-link:focus { min-height: var(--alvo-minimo); }
.fi-body a:has(> .rb-marca), .fi-body a:has(.fi-logo) { display: inline-flex; align-items: center; min-height: var(--alvo-minimo); }
[data-link-disparo], [data-link-compra] { display: inline-flex; align-items: center; min-height: var(--alvo-minimo); }
.fi-body .filepond--drop-label { min-height: var(--alvo-minimo) !important; }
.fi-body .filepond--drop-label label { display: inline-flex !important; align-items: center; min-height: var(--alvo-minimo); }
/* O Filament fixa a cor com !important dentro de uma camada (@layer), que vence qualquer !important nosso: troca-se o token que ele lê. */
:root.dark .filepond--drop-label, :root.dark .filepond--drop-label label { --gray-400: var(--tp-painel-tinta-2); }
