/* Prevenção Fiscal — identidade visual v2 do escritório, tema claro com barra superior escura (UX_STANDARD 0.3.0).
   Fontes embutidas localmente (nenhuma requisição externa). Sem sombras pesadas. */

@font-face { font-family: 'Manrope'; font-weight: 400; font-style: normal; font-display: swap; src: url('/static/fontes/manrope-400.woff2') format('woff2'); }
@font-face { font-family: 'Manrope'; font-weight: 500; font-style: normal; font-display: swap; src: url('/static/fontes/manrope-500.woff2') format('woff2'); }
@font-face { font-family: 'Manrope'; font-weight: 600; font-style: normal; font-display: swap; src: url('/static/fontes/manrope-600.woff2') format('woff2'); }
@font-face { font-family: 'Manrope'; font-weight: 700; font-style: normal; font-display: swap; src: url('/static/fontes/manrope-700.woff2') format('woff2'); }
@font-face { font-family: 'Manrope'; font-weight: 800; font-style: normal; font-display: swap; src: url('/static/fontes/manrope-800.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-weight: 400; font-style: normal; font-display: swap; src: url('/static/fontes/jetbrains-mono-400.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-weight: 500; font-style: normal; font-display: swap; src: url('/static/fontes/jetbrains-mono-500.woff2') format('woff2'); }

/* Tema claro (UX-VIS-001). Texto de status em tons escuros que passam de 4,5:1 sobre claro (UX-VIS-008):
   verde #047857 (5,48:1) e vermelho #B91C1C (6,47:1). O azul neon NÃO é usado como texto sobre claro. */
.tema-claro {
  --fundo-pagina: #F3F2F0;
  --superficie: #FFFFFF;
  --texto: var(--grafite);
  --texto-secundario: var(--cinza-700);
  --verde-texto: #047857;
  --vermelho-texto: #B91C1C;
  --borda: var(--cinza-200);
  --borda-controle: var(--cinza-700);
  background: var(--fundo-pagina);
  color: var(--texto);
}

*, *::before, *::after { box-sizing: border-box; }

html { font-size: 16px; }

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: var(--sans);
  font-weight: 400;
  line-height: 1.55;
}

/* Foco visível (UX-A11Y-002): escuro sobre claro; azul neon só sobre a barra escura */
:focus-visible { outline: 3px solid var(--grafite-900); outline-offset: 2px; }
.barra :focus-visible { outline-color: var(--azul-neon-escuro); }

a { color: var(--texto); text-decoration: underline; text-underline-offset: 3px; }

/* Pular para o conteúdo */
.pular { position: absolute; left: -9999px; top: 0; }
.pular:focus { left: var(--s-4); top: var(--s-4); z-index: 10; padding: var(--s-2) var(--s-4); background: var(--grafite-900); color: var(--off-white); outline: 3px solid var(--off-white); outline-offset: 0; box-shadow: 0 0 0 6px var(--grafite-900); }

/* Barra superior grafite com o logo e o menu plano (UX-NAV-001) */
.barra { background: var(--grafite-900); color: var(--off-white); }
.barra__interna { max-width: 1440px; margin: 0 auto; padding: 0 var(--s-6); display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-5); }
.barra__marca { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3) 0; text-decoration: none; color: var(--off-white); }
.barra__logo { height: 36px; width: auto; }
.barra__produto { font-weight: 600; color: var(--cinza-400); font-size: var(--t-sm); }
.menu ul { display: flex; flex-wrap: wrap; gap: 2px; list-style: none; margin: 0; padding: 0; }
.menu a { display: block; padding: var(--s-4) var(--s-3) calc(var(--s-4) - 3px); color: var(--off-white); text-decoration: none; font-weight: 500; border-bottom: 3px solid transparent; }
.menu a:hover { background: rgba(250, 250, 249, 0.08); }
.menu a[aria-current="page"] { font-weight: 700; border-bottom-color: var(--azul-neon-escuro); }

/* Faixa de título clara: um h1 e a trilha de navegação (UX-NAV-004) */
.faixa-titulo { background: var(--superficie); border-bottom: 1px solid var(--borda); }
.faixa-titulo__descricao { flex: 0 0 100%; box-sizing: border-box; margin: 0; padding-right: 20%; color: var(--texto-secundario); }
.ajuda__indice ol { margin: 0; padding-left: var(--s-5); columns: 2; column-gap: var(--s-6); }
.ajuda__secao h2 { margin-top: 0; }
.ajuda__secao td:first-child, .ajuda__secao th.ajuda__linha { white-space: nowrap; }
.ajuda__secao th.ajuda__linha { text-transform: none; letter-spacing: normal; font-size: inherit; font-weight: 400; color: inherit; }
@media (max-width: 640px) { .ajuda__indice ol { columns: 1; } }
.faixa-titulo__interna { max-width: 1440px; margin: 0 auto; padding: var(--s-4) var(--s-6); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-2) var(--s-5); }
h1 { font-size: var(--t-lg); font-weight: 700; margin: 0; line-height: 1.3; overflow-wrap: anywhere; }
h2 { font-size: var(--t-md); font-weight: 700; margin: 0 0 var(--s-3); }
.trilha ol { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; color: var(--texto-secundario); font-size: var(--t-sm); }
.trilha li + li::before { content: "›"; margin: 0 var(--s-2); }
.trilha a { color: var(--texto-secundario); }
.trilha [aria-current="page"] { color: var(--texto); font-weight: 600; }

/* Conteúdo */
.principal { flex: 1; display: flex; flex-direction: column; }
.principal:focus { outline: none; }
.conteudo { width: 100%; max-width: 1440px; margin: 0 auto; padding: var(--s-6); flex: 1; }
.secao { margin-top: var(--s-7); }
.total, .atualizado { color: var(--texto-secundario); margin: 0 0 var(--s-4); }
.texto-secundario { color: var(--texto-secundario); font-size: var(--t-sm); }
.rodape { padding: var(--s-5) var(--s-6); color: var(--texto-secundario); font-size: var(--t-sm); text-align: center; }

/* Números, datas e CNPJ em fonte mono */
.num, code { font-family: var(--mono); font-variant-numeric: tabular-nums; }
/* CNPJ: nunca quebra em duas linhas */
.cnpj { font-family: var(--mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
th.num, td.num { text-align: right; }
th.num { font-family: var(--sans); font-variant-numeric: normal; }
.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }

/* Cartões brancos com borda sutil (UX-VIS-009) */
.cartao { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--r-md); padding: var(--s-6); margin-bottom: var(--s-4); }
.cartao__cabecalho { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--s-2) var(--s-4); margin-bottom: var(--s-4); }
.cartao__cabecalho .total { margin: 0; }
.cartao__titulo-simples { margin: 0; font-size: var(--t-md); font-weight: 700; }
.cartao__rodape { margin: var(--s-4) 0 0; font-size: var(--t-sm); }
.cartao > .cartao__titulo-simples { margin-bottom: var(--s-4); }
.cartao > .lista-contagens { margin-top: var(--s-4); }

/* Etiquetas de módulo (CERT, PARC, PEND) */
.etiqueta { display: inline-block; padding: 1px var(--s-2); border: 1px solid var(--borda-controle); border-radius: var(--r-sm); color: var(--texto-secundario); font-size: var(--t-xs); font-weight: 700; letter-spacing: 0.05em; }

/* Painel: resumo, abas, indicadores e colunas (UX-NAV-002) */
.resumo { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-5); margin: 0 0 var(--s-4); color: var(--texto-secundario); font-size: var(--t-sm); }
.resumo__item { margin: 0; }
.resumo__atualizado { margin-left: auto; }
.resumo .atualizado { margin: 0; }
.abas { margin: 0 0 var(--s-5); border-bottom: 1px solid var(--borda); }
.abas ul { display: flex; flex-wrap: wrap; gap: var(--s-1); list-style: none; margin: 0; padding: 0; }
.abas a { display: block; padding: var(--s-3) var(--s-5); color: var(--texto-secundario); text-decoration: none; font-weight: 500; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.abas a:hover { color: var(--texto); }
.abas a[aria-current="page"] { color: var(--texto); font-weight: 700; border-bottom-color: var(--grafite-900); }
.indicadores { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--s-4); margin-bottom: var(--s-4); }
.indicador { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s-3); background: var(--superficie); border: 1px solid var(--borda); border-top: 3px solid var(--cinza-700); border-radius: var(--r-md); padding: var(--s-5) var(--s-6); }
.indicador--critico { border-top-color: var(--vermelho-texto); }
.indicador--atencao { border-top: 3px dashed var(--grafite-900); }
.indicador--desatualizado { border-top: 3px dotted var(--cinza-700); }
.indicador--sem_dados { border-top: 3px solid var(--cinza-700); }
.indicador__titulo { margin: 0; font-size: var(--t-xs); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--texto-secundario); }
.indicador__numero { font-size: var(--t-2xl); font-weight: 700; margin: var(--s-2) 0 0; line-height: 1.1; }
.indicador__numero a { text-decoration: underline dotted; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.indicador__legenda { margin: var(--s-1) 0 0; color: var(--texto-secundario); font-size: var(--t-sm); }
.indicador__icone { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(21, 19, 18, 0.06); color: var(--texto-secundario); }
.indicador__icone .icone { width: 22px; height: 22px; }
.indicador--critico .indicador__icone { background: rgba(185, 28, 28, 0.10); color: var(--vermelho-texto); }
.indicador--atencao .indicador__icone { background: rgba(21, 19, 18, 0.08); color: var(--grafite); }
.painel__colunas { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--s-4); align-items: start; }
.painel__colunas > .cartao { margin-bottom: var(--s-4); }

/* Atenção necessária (lista de links para as listas filtradas) */
.atencao-lista { list-style: none; margin: 0; padding: 0; }
.atencao-item { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto auto 16px; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-2); border-top: 1px solid var(--borda); color: var(--texto); text-decoration: none; }
.atencao-lista li:first-child .atencao-item { border-top: 0; }
.atencao-item:hover { background: var(--fundo-pagina); }
.atencao-item__icone { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(21, 19, 18, 0.06); }
.atencao-item__icone .icone { width: 18px; height: 18px; }
.atencao-item--critico .atencao-item__icone { background: rgba(185, 28, 28, 0.10); color: var(--vermelho-texto); }
.atencao-item__texto { font-weight: 500; }
.atencao-item__valor { font-size: var(--t-lg); font-weight: 700; }
.atencao-item--critico .atencao-item__valor { color: var(--vermelho-texto); }
.atencao-item--sem_procuracao .atencao-item__icone, .atencao-item--erro_coleta .atencao-item__icone { background: var(--cinza-200); color: var(--grafite); }
.atencao-item--sem_dados .atencao-item__icone { background: var(--cinza-200); color: var(--cinza-700); }
.atencao-item__seta { color: var(--texto-secundario); font-size: var(--t-lg); }

/* Gráfico de rosca (UX-DATA-006 e 007): cor só por classe; arcos em atributos do SVG */
.rosca { margin: 0; }
.rosca__titulo { margin: 0 0 var(--s-4); font-size: var(--t-md); font-weight: 700; }
.rosca__corpo { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-5); }
.rosca__svg { width: 190px; height: 190px; flex: none; }
.rosca__trilho { stroke: rgba(87, 83, 78, 0.15); }
.rosca__seg--regular { stroke: var(--verde-texto); }
.rosca__seg--atencao { stroke: var(--grafite); }
.rosca__seg--critico { stroke: var(--vermelho-texto); }
.rosca__seg--sem_dados { stroke: var(--cinza-700); }
.rosca__total { fill: var(--texto); font-family: var(--mono); font-size: 7px; font-weight: 700; }
.rosca__legenda-centro { fill: var(--texto-secundario); font-family: var(--sans); font-size: 3px; }
.rosca__legenda { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-3); flex: 1; min-width: 200px; }
.rosca__item { display: flex; align-items: center; gap: var(--s-3); }
.rosca__item a { text-decoration: none; }
.rosca__item a:hover .selo { background: rgba(21, 19, 18, 0.08); }
.rosca__valor { font-size: var(--t-md); font-weight: 700; margin-left: auto; }
.rosca__pct { color: var(--texto-secundario); font-size: var(--t-sm); min-width: 3.5ch; text-align: right; }

/* Status: ícone + palavra + forma da moldura. A cor só reforça. Texto em tons escuros (UX-VIS-008). */
.selo { display: inline-flex; align-items: center; gap: var(--s-2); padding: 2px var(--s-3); border-radius: var(--r-sm); border-width: 2px; border-style: solid; font-weight: 700; font-size: var(--t-sm); white-space: nowrap; }
.selo .icone { width: 16px; height: 16px; flex: none; }
.selo--regular { color: var(--verde-texto); border-color: var(--verde-texto); border-style: solid; background: rgba(4, 120, 87, 0.05); }
.selo--atencao { color: var(--grafite); border-color: var(--grafite); border-style: dashed; background: rgba(21, 19, 18, 0.05); }
.selo--critico { color: var(--vermelho-texto); border-color: var(--vermelho-texto); border-style: solid; border-width: 3px; background: rgba(185, 28, 28, 0.07); }
.selo--desatualizado { color: var(--cinza-700); border-color: var(--cinza-700); border-style: dotted; }
/* Sem procuração: moldura sólida com barra grossa à esquerda (retângulo). Erro na consulta: tracejada e arredondada (pílula). */
.selo--sem_procuracao { color: var(--grafite); border-color: var(--grafite); border-style: solid; border-width: 2px 2px 2px 7px; background: rgba(21, 19, 18, 0.05); }
.selo--erro_coleta { color: var(--grafite); border-color: var(--grafite); border-style: dashed; border-width: 2px; border-radius: 999px; padding-left: var(--s-4); padding-right: var(--s-4); background: rgba(21, 19, 18, 0.05); }
.selo--arquivado { color: var(--grafite); border-color: var(--grafite); border-style: double; border-width: 4px; }
/* Sem dados: moldura sólida fina e fundo com listras diagonais (forma própria, não depende de cor) */
.selo--sem_dados { color: var(--cinza-700); border-color: var(--cinza-700); border-style: solid; border-width: 1px; background: repeating-linear-gradient(135deg, var(--superficie) 0, var(--superficie) 4px, var(--cinza-200) 4px, var(--cinza-200) 6px); }
td .selo { font-size: var(--t-xs); padding: 1px var(--s-2); }
td .selo--critico { border-width: 2px; }
td .selo--arquivado { border-width: 3px; }
td .selo--sem_procuracao { border-width: 2px 2px 2px 6px; }
td .selo--erro_coleta { border-width: 2px; }
.selos { margin: 0; display: flex; gap: var(--s-3); flex-wrap: wrap; }

/* Botões: o principal usa o azul neon como FUNDO com texto grafite (6,32:1) */
.botao { display: inline-block; min-height: 40px; padding: var(--s-2) var(--s-4); border: 2px solid var(--grafite-900); border-radius: var(--r-sm); background: var(--superficie); color: var(--texto); font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.botao:hover { background: var(--fundo-pagina); }
.botao--primario { background: var(--azul-neon-claro); border-color: var(--azul-neon-claro); color: var(--grafite-900); }
.botao--primario:hover { background: #0092C4; border-color: #0092C4; }
.botao--secundario { border-style: solid; }
.botao--cancelar { border-style: dashed; }
.botao--link { border-color: transparent; background: transparent; text-decoration: underline; }
/* Eliminar definitivamente: vermelho funcional, linha grossa e sólida; Cancelar é tracejado. */
.botao--perigo { border: 3px solid var(--vermelho-texto); color: var(--vermelho-texto); background: var(--superficie); }
.botao[disabled] { border-style: dotted; color: var(--texto-secundario); border-color: var(--cinza-700); background: transparent; cursor: not-allowed; }

/* Formulários e filtros (UX-NAV-005) */
.filtros { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--s-4); align-items: end; }
.importar { display: flex; flex-wrap: wrap; gap: var(--s-4); align-items: flex-end; margin: 0 0 var(--s-5); }
.campo label { display: block; margin-bottom: var(--s-1); color: var(--texto); font-size: var(--t-sm); font-weight: 500; }
.campo select, .campo input { width: 100%; }
.campo--acao { display: flex; gap: var(--s-3); align-items: center; }
select, input[type="date"], input[type="file"] { min-height: 40px; padding: var(--s-2) var(--s-3); background: var(--superficie); color: var(--texto); border: 1px solid var(--borda-controle); border-radius: var(--r-sm); font: inherit; }
input[type="file"] { max-width: 360px; }
.acao { margin: 0; }

/* Cartão "Totalizadores" (recolhível sem JavaScript) e blocos de ícone, número e palavra */
.totalizadores__titulo { cursor: pointer; font-weight: 700; list-style: none; display: flex; align-items: center; justify-content: space-between; margin: 0; }
.totalizadores__titulo::-webkit-details-marker { display: none; }
.totalizadores__titulo::after { content: "▾"; content: "▾" / ""; color: var(--texto-secundario); }
.totalizadores:not([open]) .totalizadores__titulo::after { content: "▸"; content: "▸" / ""; }
.totalizadores[open] .totalizadores__titulo { margin-bottom: var(--s-4); }
.blocos { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--s-4); }
.bloco { display: flex; flex-direction: column; align-items: center; gap: var(--s-1); padding: var(--s-5) var(--s-4); background: var(--superficie); border: 2px solid var(--cinza-700); border-radius: var(--r-md); color: var(--texto); text-decoration: none; }
a.bloco:hover { background: var(--fundo-pagina); }
.bloco[aria-current="true"] { background: rgba(21, 19, 18, 0.07); }
.bloco[aria-current="true"] .bloco__palavra { text-decoration: underline; }
.bloco__icone .icone { width: 30px; height: 30px; }
.bloco__valor { font-size: var(--t-xl); font-weight: 700; line-height: 1.2; }
.bloco__palavra { font-size: var(--t-xs); font-weight: 700; letter-spacing: 0.08em; }
.bloco--regular { border-color: var(--verde-texto); }
.bloco--regular .bloco__icone, .bloco--regular .bloco__palavra { color: var(--verde-texto); }
.bloco--atencao { border-color: var(--grafite); border-style: dashed; }
.bloco--critico { border-color: var(--vermelho-texto); border-width: 3px; }
.bloco--critico .bloco__icone, .bloco--critico .bloco__palavra { color: var(--vermelho-texto); }
.bloco--sem_dados { border-color: var(--cinza-700); border-width: 1px; background: repeating-linear-gradient(135deg, var(--superficie) 0, var(--superficie) 6px, var(--fundo-pagina) 6px, var(--fundo-pagina) 9px); }
.bloco--sem_dados .bloco__icone, .bloco--sem_dados .bloco__palavra { color: var(--cinza-700); }
/* Filtro ativo: segue listrado (a regra geral de aria-current trocaria por fundo chapado) */
.bloco--sem_dados[aria-current="true"] { background: repeating-linear-gradient(135deg, var(--cinza-200) 0, var(--cinza-200) 6px, var(--fundo-pagina) 6px, var(--fundo-pagina) 9px); }

/* Tabelas */
.tabela-rolavel { overflow-x: auto; border: 1px solid var(--borda); border-radius: var(--r-md); background: var(--superficie); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: var(--s-3) var(--s-4); text-align: left; vertical-align: middle; border-bottom: 1px solid var(--borda); }
th { color: var(--texto-secundario); font-size: var(--t-xs); font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; white-space: nowrap; }
/* Hover em off-white (não no fundo da página): o selo REGULAR mantém 4,5:1 sobre ele */
tbody tr:hover { background: var(--off-white); }
tbody tr:last-child td { border-bottom: 0; }
.tabela--compacta th, .tabela--compacta td { padding: var(--s-2) var(--s-3); }
.tabela--compacta td { font-size: var(--t-sm); }
.cartao--tabela > .tabela-rolavel { border: 0; border-radius: 0; }

/* Paginação */
.paginacao { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3); margin-top: var(--s-4); }
.paginacao ul { display: flex; flex-wrap: wrap; gap: var(--s-2); list-style: none; margin: 0; padding: 0; align-items: center; }
.paginacao__resumo { margin: var(--s-3) 0 0; }
.paginacao .paginacao__resumo { margin: 0; }
.paginacao__link { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: 0 var(--s-3); border: 1px solid var(--borda-controle); border-radius: var(--r-sm); background: var(--superficie); color: var(--texto); text-decoration: none; font-weight: 500; }
.paginacao__link:hover { background: var(--fundo-pagina); }
.paginacao__link[aria-current="page"] { background: var(--grafite-900); color: var(--off-white); border-color: var(--grafite-900); font-weight: 700; }
.paginacao__link--desativado { border-style: dotted; color: var(--texto-secundario); background: transparent; }
.paginacao__reticencias { color: var(--texto-secundario); padding: 0 var(--s-1); }

/* Detalhe de parcelamento (coletado no Serpro) */
.parc-detalhe { margin-top: var(--s-4); }
.parc-detalhe__titulo { margin: var(--s-5) 0 var(--s-2); font-size: var(--t-md); font-weight: 700; }
.resumo-dl { display: grid; grid-template-columns: max-content 1fr; gap: var(--s-2) var(--s-5); margin: 0 0 var(--s-3); }
.resumo-dl dt { color: var(--texto-secundario); font-size: var(--t-sm); font-weight: 500; }
.resumo-dl dd { margin: 0; }

/* Cliente */
.cliente-cabecalho { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--s-4); }
.cliente-cabecalho p { margin: 0 0 var(--s-1); }
.cliente-cabecalho__cnpj { font-size: var(--t-md); color: var(--texto-secundario); }

/* Estados: vazio (pontilhada), erro (grossa), ok (sólida), cancelado (tracejada) */
.estado { margin: var(--s-4) 0; padding: var(--s-5); border: 2px solid var(--cinza-700); border-radius: var(--r-md); background: var(--superficie); }
.estado p { margin: 0 0 var(--s-2); }
.estado--vazio { border-style: dotted; }
.estado--erro { border-color: var(--vermelho-texto); border-width: 3px; }
.estado--ok { border-color: var(--verde-texto); }
.estado--cancelado { border-style: dashed; border-color: var(--grafite); }
.estado--carregando { border-style: dotted; border-color: var(--grafite); }
.estado--previa { border-style: dashed; border-color: var(--grafite); }
.estado--arquivado { border-style: double; border-width: 4px; border-color: var(--grafite); }
.estado--coleta { border-style: solid; border-width: 2px; border-color: var(--grafite); }
.estado--sem-dados { border-style: solid; border-width: 1px; border-color: var(--cinza-700); }
.estado--perigo { border-color: var(--vermelho-texto); border-width: 3px; }
.eliminar__cliente { font-size: var(--t-lg); font-weight: 700; }
.lista-contagens { margin: 0 0 var(--s-4); padding-left: var(--s-5); }
.acoes-linha { display: flex; gap: var(--s-3); flex-wrap: wrap; align-items: center; }
.acao--arquivar { display: flex; gap: var(--s-4); flex-wrap: wrap; align-items: center; }
.estado__palavra { font-weight: 800; letter-spacing: 0.04em; }
.estado__codigo { color: var(--texto-secundario); font-size: var(--t-sm); }
.estado__acoes { display: flex; gap: var(--s-3); flex-wrap: wrap; margin-top: var(--s-4); }
.resultado .tabela-rolavel { margin: var(--s-3) 0; }
.formatos { margin-top: var(--s-7); color: var(--texto-secundario); }

/* Abaixo de 1100 px o painel passa para uma coluna */
@media (max-width: 1099px) {
  .painel__colunas { grid-template-columns: minmax(0, 1fr); }
}

/* Abaixo de 1024 px o menu da barra quebra em linhas e nenhum item some (UX-NAV-001) */
@media (max-width: 1023px) {
  .barra__interna { padding: 0 var(--s-4); }
  .faixa-titulo__interna { padding: var(--s-3) var(--s-4); }
  .conteudo { padding: var(--s-4); }
  .rodape { padding: var(--s-4); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---- Entrada, sem acesso e barra do usuário (ciclo C2) ---- */
.principal--entrada { align-items: center; justify-content: center; padding: var(--s-7) var(--s-4); }
.entrada { width: 100%; max-width: 440px; }
.entrada h1 { margin: 0 0 var(--s-3); font-size: var(--t-xl); }
.entrada__explica { margin: 0 0 var(--s-5); color: var(--texto-secundario); }
.entrada__form { display: flex; flex-direction: column; gap: var(--s-2); }
.entrada__form label { font-size: var(--t-sm); font-weight: 600; color: var(--texto); margin-top: var(--s-2); }
.entrada__form input[type="email"], .entrada__form input[type="password"] { min-height: 44px; padding: var(--s-2) var(--s-3); background: var(--superficie); color: var(--texto); border: 1px solid var(--borda-controle); border-radius: var(--r-sm); font: inherit; }
.entrada__form .botao { margin-top: var(--s-4); align-self: flex-start; }
.entrada__ajuda { margin: var(--s-5) 0 0; color: var(--texto-secundario); font-size: var(--t-sm); }
.erro-texto { margin: 0 0 var(--s-4); padding: var(--s-3); border-left: 4px solid var(--vermelho-texto); color: var(--vermelho-texto); font-weight: 600; }
.aviso { margin: 0 0 var(--s-4); padding: var(--s-3); border-left: 4px dashed var(--texto-secundario); color: var(--texto); }
.barra__usuario { margin-left: auto; display: flex; align-items: center; gap: var(--s-3); color: var(--off-white); font-size: var(--t-sm); }
.barra__papel { color: var(--cinza-400); }
.barra__usuario .botao--link { min-height: 32px; padding: 0 var(--s-2); color: var(--off-white); }
.so-admin { color: var(--texto-secundario); font-size: var(--t-sm); font-style: italic; }
