/* ---------- tokens da aplicação (derivados do DSGov; ajuste o tema aqui) ---------- */
:root {
  --app-azul: var(--color-primary-default, #1351b4);
  --app-azul-escuro: var(--color-primary-darken-01, #0c326f);
  --app-azul-claro: var(--color-primary-pastel-02, #dbe8fb);
  --app-azul-fundo: #eef4fd;
  --app-azul-borda: var(--color-primary-pastel-01, #c5d4eb);
  --app-verde: var(--green-cool-vivid-50, #168821);
  --app-verde-escuro: #14692a;
  --app-verde-fundo: #d4edda;
  --app-vermelho: #c0392b;
  --app-vermelho-escuro: #a01616;
  --app-vermelho-fundo: #fbdcdc;
  --app-amarelo: var(--yellow-vivid-30, #ddaa01);
  --app-amarelo-texto: #7a5b00;
  --app-amarelo-fundo: #fff3c4;
  --app-foco: #0c326f;
  --app-reservado: #6b2c2c;
  --app-borda: var(--gray-20, #ccc);
  --app-borda-forte: var(--gray-40, #888);
  --app-borda-suave: var(--gray-10, #e6e6e6);
  --app-texto: #1b1b1b;
  --app-texto-suave: var(--gray-60, #555);
  --app-neutro-fundo: #eee;
  --app-branco: var(--pure-0, #fff);
  --app-barra-governo: #1b3a6b;
}

/* Complementos locais ao Padrão Digital de Governo (DSGov). Usam os tokens do próprio DSGov. */
.aviso-demo { background: var(--color-warning-lighten-01, #fff3c4); color: var(--app-texto); text-align: center; padding: .35rem 1rem; font-size: var(--font-size-scale-down-01, .875rem); }
/* <select> nativo no padrão visual do br-input (o br-select do DSGov exige JS e estrutura própria) */
.br-input select { width: 100%; min-height: var(--input-size, 40px); padding: 0 var(--spacing-scale-2x, 1rem); border: 1px solid var(--gray-40, #888); border-radius: 6px; background: var(--app-branco); color: var(--color, #333); font: inherit; }
.br-input select:focus-visible { outline: 3px solid var(--focus, #c5d4eb); outline-offset: 2px; }
.br-input input[type=file] { padding-top: .5rem; }
.br-textarea textarea { width: 100%; }
.bloco { background: var(--app-branco); border: 1px solid var(--gray-20, #ccc); border-radius: 6px; padding: .8rem 1rem; white-space: pre-wrap; font-family: inherit; }
.metadados { display: grid; grid-template-columns: 11rem 1fr; gap: .4rem 1rem; border: 1px solid var(--gray-20, #ccc); border-radius: 6px; padding: 1rem; background: var(--app-branco); }
.metadados dt { font-weight: 600; } .metadados dd { margin: 0; }
.acoes { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: 1rem 0; }
.acoes form { margin: 0; }
.filtro { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .5rem 1rem; align-items: end; margin-bottom: 1rem; }
.filtro .br-input { margin-bottom: 0; }
.so-leitor { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.br-button.danger-outline { color: var(--app-vermelho); border-color: var(--app-vermelho); }
.suave { color: var(--gray-60, #555); }
.sair { display: inline-flex; gap: .5rem; align-items: center; margin: 0; }
.imprimir { max-width: 800px; margin: 1.5rem auto; padding: 0 1rem; }
@media (max-width: 700px) { .metadados { grid-template-columns: 1fr; } }
@media print { .so-tela { display: none !important; } }

/* texto escuro sobre a cor de alerta, para manter o contraste */
.br-tag.warning { color: var(--app-texto); }
.br-tag.small { padding: 0 var(--spacing-scale-base, .5rem); }

/* ---------- barra do Governo Federal (local), migalhas, rodapé e aviso de cookies ---------- */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.barra-governo { background: var(--app-barra-governo); color: var(--app-branco); font-size: var(--font-size-scale-down-01, .875rem); }
.barra-governo-in { display: flex; justify-content: space-between; align-items: center; min-height: 2.25rem; gap: 1rem; }
.barra-governo-links, .rodape-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
.barra-governo a { color: var(--app-branco); text-decoration: none; }
.barra-governo a:hover, .barra-governo a:focus-visible { text-decoration: underline; }
.barra-marca { font-weight: 700; letter-spacing: .02em; }
.barra-governo-acoes { display: flex; gap: .25rem; }
.barra-btn { background: transparent; color: var(--app-branco); border: 1px solid rgba(255,255,255,.55); border-radius: 4px; min-width: 2rem; height: 1.7rem; cursor: pointer; font: inherit; line-height: 1; }
.barra-btn:hover { background: rgba(255,255,255,.18); }
.barra-btn[aria-pressed=true] { background: var(--app-branco); color: var(--app-barra-governo); }
.barra-governo a:focus-visible, .barra-btn:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid var(--app-foco); outline-offset: 2px; }
.rodape-links a { color: inherit; }
/* links do rodapé em 2 colunas, lidos de cima para baixo */
.rodape-links { display: grid; grid-auto-flow: column; grid-template-rows: repeat(3, auto); grid-template-columns: repeat(2, max-content); gap: .5rem 3rem; }
.br-breadcrumb { margin: .5rem 0 .25rem; }
.aviso-cookies { top: auto; bottom: 0; background: var(--app-branco); border-top: 3px solid var(--app-azul); padding: .75rem 0; z-index: 1500; }
.aviso-cookies[hidden] { display: none; }
.aviso-demo i { margin-right: .25rem; }
.menu-item.active { font-weight: 700; }
.erros-resumo { margin-bottom: 1rem; }
.estado-vazio { text-align: center; padding: 2rem 1rem; color: var(--gray-60, #555); }
.estado-vazio i { font-size: 2rem; display: block; margin-bottom: .5rem; }
.texto-legivel { max-width: 46rem; }
.texto-legivel h2 { margin-top: 1.75rem; }
main:focus { outline: none; }
.pagina-cabecalho { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .5rem; }
.pagina-cabecalho h1 { margin: 0; }

/* alto contraste (RNF16): fundo escuro, texto claro, links amarelos */
html.contraste body, html.contraste main, html.contraste .br-footer, html.contraste .br-header, html.contraste .br-menu .menu-panel { background: #000 !important; color: #fff !important; }
html.contraste a { color: #ffff00 !important; }
html.contraste .br-card, html.contraste .br-table, html.contraste .metadados, html.contraste .bloco, html.contraste .br-table table, html.contraste .aviso-cookies { background: #000 !important; color: #fff !important; border-color: #fff !important; }
html.contraste .br-input input, html.contraste .br-textarea textarea, html.contraste .br-input select { background: #000 !important; color: #fff !important; border-color: #fff !important; }
html.contraste .br-button.primary { background: #ffff00 !important; color: #000 !important; }
html.contraste .br-button.secondary { background: #000 !important; color: #ffff00 !important; border-color: #ffff00 !important; }
html.contraste .suave, html.contraste .text-danger, html.contraste .header-subtitle { color: #fff !important; }
html.contraste th, html.contraste td { background: #000 !important; color: #fff !important; border-color: #fff !important; }
html.contraste .barra-governo { background: #000; border-bottom: 1px solid #fff; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
html.contraste main *:not(a):not(.br-button):not(.br-tag):not(i), html.contraste .br-header *:not(a):not(.br-button):not(i), html.contraste .br-footer *:not(a):not(i), html.contraste .br-menu *:not(a):not(.br-button):not(i), html.contraste label, html.contraste .feedback { color: #fff !important; }
html.contraste .br-breadcrumb .crumb a, html.contraste .menu-item { color: #ffff00 !important; }
html.contraste .br-button.circle { background: #000 !important; color: #ffff00 !important; border: 1px solid #ffff00 !important; }
html.contraste .br-tag { border: 1px solid #fff; }

/* assistente de ata */
.trechos { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-bottom: .75rem; }
.lista-checagem { list-style: none; padding: 0; margin: 0 0 .75rem; }
.lista-checagem li { margin-bottom: .4rem; }
.lista-checagem li.ok i { color: var(--green-vivid-50, #168821); }
.lista-checagem li.pend i { color: var(--gray-40, #888); }
.lista-checagem ul { margin: .25rem 0 0 1.25rem; }
#id_texto { font-family: inherit; line-height: 1.5; }
.opcoes-presenca { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
.opcao-presenca { display: inline-flex; align-items: center; gap: .35rem; cursor: pointer; white-space: nowrap; }
.opcao-presenca input { width: 1.1rem; height: 1.1rem; }
.just-ausencia[hidden]{display:none}

/* menu de trechos padrão da ata (botão direito no texto) */
.menu-trechos { position: fixed; z-index: 2000; min-width: 17rem; background: var(--app-branco); border: 1px solid var(--gray-40, #888); border-radius: 6px; box-shadow: 0 6px 18px rgba(0,0,0,.25); padding: .25rem 0; }
.menu-trechos[hidden] { display: none; }
.menu-trechos-titulo { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; color: var(--gray-60, #555); padding: .25rem .9rem; }
.menu-trechos button { display: block; width: 100%; text-align: left; background: transparent; border: 0; padding: .45rem .9rem; font: inherit; cursor: pointer; color: inherit; }
.menu-trechos button:hover, .menu-trechos button:focus-visible { background: var(--blue-warm-vivid-10, #dbe8fb); outline-offset: -3px; }
.menu-trechos-sep { border-top: 1px solid var(--gray-20, #ccc); margin: .25rem 0; }
html.contraste .menu-trechos { background: #000 !important; border-color: #fff; }
html.contraste .menu-trechos button, html.contraste .menu-trechos-titulo { color: #ffff00 !important; background: #000 !important; }

/* ---------- consulta pública: destaque, resumo e cartões ---------- */
.hero-consulta { display: flex; gap: 1.25rem; align-items: center; background: linear-gradient(135deg, #1351b4 0%, #0c326f 100%); color: var(--app-branco); border-radius: 12px; padding: 1.75rem 1.5rem; margin: .5rem 0 1.25rem; }
.hero-icone { flex: none; width: 4.5rem; height: 4.5rem; border-radius: 50%; background: rgba(255,255,255,.15); display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.hero-texto { flex: 1; min-width: 0; }
.hero-consulta h1 { color: var(--app-branco); margin: 0 0 .25rem; font-size: 1.75rem; }
.hero-consulta p { margin: 0; max-width: 42rem; }
.hero-busca { display: flex; align-items: center; gap: .5rem; background: var(--app-branco); border-radius: 999px; padding: .3rem .3rem .3rem 1rem; max-width: 44rem; }
.hero-busca > i { color: var(--app-texto-suave); }
.hero-busca input { flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; padding: .5rem; background: transparent; color: #222; }
.hero-busca:focus-within { outline: 3px solid var(--app-foco); }
.hero-busca .br-button { border-radius: 999px; }
.stat-card { display: flex; align-items: center; gap: .8rem; background: var(--app-branco); border: 1px solid var(--gray-20, #ccc); border-radius: 10px; padding: .8rem 1rem; height: 100%; }
.stat-icone { width: 2.6rem; height: 2.6rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem; flex: none; }
.stat-icone.azul { background: var(--app-azul-claro); color: var(--app-azul); } .stat-icone.verde { background: var(--app-verde-fundo); color: var(--app-verde-escuro); }
.stat-icone.amarelo { background: var(--app-amarelo-fundo); color: var(--app-amarelo-texto); } .stat-icone.vermelho { background: var(--app-vermelho-fundo); color: var(--app-vermelho-escuro); }
.stat-num { font-size: 1.6rem; font-weight: 700; line-height: 1; } .stat-rot { font-size: .85rem; color: var(--gray-60, #555); }
.filtros-avancados { background: var(--app-branco); border: 1px solid var(--gray-20, #ccc); border-radius: 10px; padding: .75rem 1rem; }
.filtros-avancados summary { cursor: pointer; font-weight: 600; }
.filtros-avancados summary i { margin-right: .4rem; color: var(--app-azul); }
.ato-card { height: 100%; display: flex; flex-direction: column; background: var(--app-branco); border: 1px solid var(--gray-20, #ccc); border-top: 4px solid var(--app-azul); border-radius: 10px; padding: 1rem; transition: box-shadow .15s, transform .15s; }
.ato-card:hover { box-shadow: 0 6px 16px rgba(0,0,0,.14); transform: translateY(-2px); }
.ato-card.tipo-vigente { border-top-color: var(--app-verde); } .ato-card.tipo-alterado { border-top-color: var(--app-amarelo); } .ato-card.tipo-revogado { border-top-color: var(--app-vermelho); }
.ato-card-topo { display: flex; align-items: center; gap: .6rem; margin-bottom: .6rem; }
.ato-icone { width: 2.2rem; height: 2.2rem; border-radius: 8px; background: var(--app-azul-claro); color: var(--app-azul); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.ato-titulo { flex: 1; font-weight: 700; } .ato-titulo a { text-decoration: none; }
.ato-assunto { font-size: 1.05rem; margin: 0 0 .3rem; }
.ato-ementa { color: var(--gray-60, #555); font-size: .92rem; flex: 1; margin: 0 0 .7rem; }
.ato-meta { list-style: none; padding: 0; margin: 0 0 .8rem; display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-size: .88rem; }
.ato-meta i { margin-right: .35rem; color: var(--app-azul); }
.ato-card-rodape { display: flex; gap: .5rem; flex-wrap: wrap; border-top: 1px solid var(--gray-10, #e6e6e6); padding-top: .75rem; }
.ajuda-consulta { display: flex; gap: .75rem; align-items: flex-start; background: var(--app-azul-fundo); border-radius: 10px; padding: .9rem 1rem; }
.ajuda-consulta i { color: var(--app-azul); margin-top: .2rem; }
@media (max-width: 600px) { .hero-consulta { flex-direction: column; align-items: flex-start; } .hero-consulta h1 { font-size: 1.4rem; } .hero-busca { flex-wrap: wrap; border-radius: 16px; } }
@media (prefers-reduced-motion: reduce) { .ato-card { transition: none; } .ato-card:hover { transform: none; } }
html.contraste .hero-consulta { background: #000; border: 2px solid #fff; }
html.contraste .hero-consulta h1, html.contraste .hero-consulta p { color: #fff !important; }
html.contraste .stat-card, html.contraste .ato-card, html.contraste .filtros-avancados, html.contraste .ajuda-consulta { background: #000 !important; border-color: #fff !important; }
html.contraste .stat-icone, html.contraste .ato-icone { background: #000 !important; color: #ffff00 !important; border: 1px solid #ffff00; }
html.contraste .ato-ementa, html.contraste .stat-rot, html.contraste .ato-assunto, html.contraste .ato-meta li { color: #fff !important; }
.hero-consulta, .hero-consulta p, .hero-consulta h1, .hero-icone, .hero-icone i { color: var(--app-branco) !important; }
.hero-consulta h1 { font-weight: 600; }
.ato-assunto { font-weight: 600; }

/* ---------- tela da reunião ---------- */
.menu-acoes { position: relative; }
.menu-acoes summary { list-style: none; cursor: pointer; } .menu-acoes summary::-webkit-details-marker { display: none; }
.menu-acoes-lista { position: absolute; right: 0; top: calc(100% + 4px); z-index: 50; min-width: 17rem; background: var(--app-branco); border: 1px solid var(--gray-40, #888); border-radius: 8px; box-shadow: 0 6px 18px rgba(0,0,0,.2); padding: .3rem 0; }
.menu-acoes-lista a, .menu-acoes-lista button { display: flex; gap: .6rem; align-items: center; width: 100%; text-align: left; padding: .55rem .9rem; background: transparent; border: 0; font: inherit; color: inherit; text-decoration: none; cursor: pointer; }
.menu-acoes-lista a:hover, .menu-acoes-lista button:hover { background: var(--app-azul-fundo); }
.menu-acoes-lista form { margin: 0; } .menu-acoes-lista i { width: 1.1rem; text-align: center; color: var(--app-azul); }
.menu-acoes-lista .perigo, .menu-acoes-lista .perigo i { color: var(--app-vermelho); }
.etapas ol { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; gap: .25rem; }
.etapas li { flex: 1; position: relative; text-align: center; }
.etapas li + li::before { content: ""; position: absolute; top: 1.15rem; left: -50%; width: 100%; height: 3px; background: var(--gray-20, #ccc); z-index: 0; }
.etapas li.feita + li::before, .etapas li.feita::before { background: var(--app-verde); }
.etapas a { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: .3rem; text-decoration: none; color: inherit; font-size: .88rem; }
.etapa-bola { width: 2.3rem; height: 2.3rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--app-branco); border: 2px solid var(--gray-40, #888); color: var(--gray-60, #555); }
.etapas .feita .etapa-bola { background: var(--app-verde); border-color: var(--app-verde); color: var(--app-branco); }
.etapas .atual .etapa-bola { border-color: var(--app-azul); color: var(--app-azul); box-shadow: 0 0 0 4px var(--app-azul-claro); }
.etapas .atual .etapa-nome { font-weight: 700; color: var(--app-azul); }
.proximo-passo { display: flex; align-items: center; gap: .9rem; background: var(--app-azul-fundo); border: 1px solid var(--app-azul-borda); border-radius: 10px; padding: .8rem 1rem; margin-bottom: 1.25rem; }
.proximo-passo > i { color: var(--app-amarelo); font-size: 1.3rem; } .proximo-passo > div { flex: 1; }
.painel { background: var(--app-branco); border: 1px solid var(--gray-20, #ccc); border-radius: 10px; padding: 1rem 1.1rem; }
.painel-lateral { margin-bottom: 1rem; }
.painel h2 { font-size: 1.1rem; margin: 0 0 .7rem; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.painel h2 > i { color: var(--app-azul); }
.painel-topo { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .7rem; } .painel-topo h2 { margin: 0; }
.contagem { background: var(--app-azul-claro); color: var(--app-azul-escuro); border-radius: 999px; font-size: .8rem; padding: .05rem .55rem; }
.selo { font-size: .75rem; font-weight: 600; border-radius: 999px; padding: .1rem .6rem; margin-left: auto; }
.selo.ok { background: var(--app-verde-fundo); color: var(--app-verde-escuro); } .selo.pend { background: var(--app-neutro-fundo); color: var(--app-texto-suave); } .selo.info { background: var(--app-azul-claro); color: var(--app-azul-escuro); } .selo.falta { background: var(--app-vermelho-fundo); color: var(--app-vermelho-escuro); }
.itens-pauta { list-style: none; padding: 0; margin: 0; }
.item-pauta { display: flex; gap: .9rem; align-items: flex-start; padding: .85rem 0; border-top: 1px solid var(--gray-10, #e6e6e6); }
.item-pauta:first-child { border-top: 0; }
.item-num { flex: none; width: 2rem; height: 2rem; border-radius: 50%; background: var(--app-azul); color: var(--app-branco); font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.item-pauta.reservado .item-num { background: var(--app-reservado); }
.item-corpo { flex: 1; min-width: 0; }
.item-titulo { font-weight: 600; margin-bottom: .3rem; }
.item-etiquetas { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.item-desc { margin: .5rem 0 0; color: var(--gray-60, #555); font-size: .92rem; }
.votos { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin-top: .5rem; font-size: .88rem; }
.voto.fav { color: var(--app-verde-escuro); } .voto.contra { color: var(--app-vermelho-escuro); } .voto.abst { color: var(--app-texto-suave); }
.item-acoes { display: flex; gap: .35rem; flex: none; }
.barra-quorum { height: .6rem; background: var(--gray-10, #e6e6e6); border-radius: 999px; overflow: hidden; }
.barra-quorum span { display: block; height: 100%; } .barra-quorum .ok { background: var(--app-verde); } .barra-quorum .falta { background: var(--app-vermelho); }
.lista-simples { list-style: none; padding: 0; margin: 0; } .lista-simples li { padding: .4rem 0; border-top: 1px solid var(--gray-10, #e6e6e6); } .lista-simples li:first-child { border-top: 0; }
.painel details summary { cursor: pointer; color: var(--app-azul); }
@media (max-width: 700px) { .etapa-nome { font-size: .72rem; } .item-pauta { flex-wrap: wrap; } .item-acoes { margin-left: 2.9rem; } .item-acoes .rotulo { display: inline; } }
html.contraste .proximo-passo, html.contraste .menu-acoes-lista { background: #000 !important; border-color: #fff !important; }
html.contraste .selo, html.contraste .contagem { background: #000 !important; color: #ffff00 !important; border: 1px solid #ffff00; }
html.contraste .etapa-bola { background: #000 !important; color: #ffff00 !important; border-color: #ffff00 !important; }
html.contraste .item-num { background: #ffff00 !important; color: #000 !important; }
html.contraste .votos .voto, html.contraste .item-desc { color: #fff !important; }
.estado-vazio i { display: block !important; margin: 0 auto .5rem; }
.itens-pauta .estado-vazio { list-style: none; }

/* ---------- lista de reuniões ---------- */
.pagina-topo-acoes { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.pagina-topo { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin: .5rem 0 1rem; }
.pagina-topo-icone { width: 3.2rem; height: 3.2rem; border-radius: 12px; background: var(--app-azul-claro); color: var(--app-azul); display: inline-flex; align-items: center; justify-content: center; font-size: 1.4rem; flex: none; }
.pagina-topo-texto { flex: 1; min-width: 12rem; } .pagina-topo h1 { margin: 0; font-size: 1.6rem; } .pagina-topo p { margin: .1rem 0 0; color: var(--gray-60, #555); }
.abas-situacao { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .75rem; }
.aba { display: inline-flex; align-items: center; gap: .45rem; padding: .4rem .9rem; border: 1px solid var(--gray-20, #ccc); border-radius: 999px; background: var(--app-branco); color: inherit; text-decoration: none; font-weight: 500; }
.aba:hover { background: var(--app-azul-fundo); } .aba.ativa { background: var(--app-azul); border-color: var(--app-azul); color: var(--app-branco); } .aba.ativa .contagem { background: rgba(255,255,255,.25); color: var(--app-branco); }
.reuniao-card { height: 100%; display: flex; gap: 1rem; align-items: stretch; background: var(--app-branco); border: 1px solid var(--gray-20, #ccc); border-left: 5px solid var(--app-azul); border-radius: 10px; padding: .9rem 1rem; transition: box-shadow .15s, transform .15s; }
.reuniao-card:hover { box-shadow: 0 6px 16px rgba(0,0,0,.14); transform: translateY(-2px); }
.reuniao-card.sit-realizada { border-left-color: var(--app-verde); } .reuniao-card.sit-cancelada { border-left-color: var(--app-vermelho); opacity: .85; }
.reuniao-card-data { flex: none; width: 4rem; text-align: center; border-radius: 10px; background: var(--app-azul-fundo); color: var(--app-azul-escuro); text-decoration: none; display: flex; flex-direction: column; justify-content: center; padding: .4rem 0; }
.reuniao-card-data .dia { font-size: 1.7rem; font-weight: 700; line-height: 1; } .reuniao-card-data .mes { text-transform: uppercase; font-size: .75rem; font-weight: 700; } .reuniao-card-data .ano { font-size: .72rem; color: var(--gray-60, #555); }
.reuniao-card-corpo { flex: 1; min-width: 0; }
.reuniao-card-titulo { font-weight: 700; display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-bottom: .3rem; } .reuniao-card-titulo a { text-decoration: none; }
.mini-etapas { list-style: none; padding: 0; margin: .5rem 0 0; display: flex; flex-wrap: wrap; gap: .3rem .9rem; font-size: .82rem; color: var(--gray-60, #555); }
.mini-etapas li i { margin-right: .3rem; }
.mini-etapas li.ok { color: var(--app-verde-escuro); font-weight: 600; } .mini-etapas li.andamento { color: var(--app-amarelo-texto); font-weight: 600; }
.reuniao-card-acao { display: flex; align-items: center; flex: none; }
@media (max-width: 600px) { .reuniao-card { flex-wrap: wrap; } .reuniao-card-acao { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .reuniao-card { transition: none; } .reuniao-card:hover { transform: none; } }
html.contraste .reuniao-card, html.contraste .aba, html.contraste .reuniao-card-data { background: #000 !important; border-color: #fff !important; color: #fff !important; }
html.contraste .aba.ativa { background: #ffff00 !important; color: #000 !important; }
html.contraste .mini-etapas li, html.contraste .pagina-topo p, html.contraste .reuniao-card-data .ano { color: #fff !important; }
html.contraste .mini-etapas li.ok { color: #ffff00 !important; }
html.contraste .pagina-topo-icone { background: #000 !important; color: #ffff00 !important; border: 1px solid #ffff00; }

/* ---------- convocatória ---------- */
.passo { display: inline-flex; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--app-azul); color: var(--app-branco); align-items: center; justify-content: center; font-size: .9rem; font-weight: 700; margin-right: .3rem; }
.titulo-passo { font-size: 1.1rem; margin: 1.25rem 0 .6rem; display: flex; align-items: center; }
.marcar-todos { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; font-weight: 600; }
.marcar-todos input, .destinatario input { width: 1.15rem; height: 1.15rem; }
.lista-destinatarios { list-style: none; margin: 0; padding: 0; }
.destinatario { display: flex; align-items: center; justify-content: space-between; gap: .75rem; border-top: 1px solid var(--gray-10, #e6e6e6); padding: .35rem .2rem; border-radius: 6px; }
.destinatario:first-child { border-top: 0; } .destinatario:hover { background: var(--app-azul-fundo); }
.destinatario label { display: flex; align-items: center; gap: .7rem; flex: 1; min-width: 0; cursor: pointer; padding: .3rem 0; margin: 0; }
.destinatario.travado label { cursor: default; }
.avatar { flex: none; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--app-azul-claro); color: var(--app-azul-escuro); font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.dest-info { display: flex; flex-direction: column; min-width: 0; } .dest-info small { color: var(--gray-60, #555); overflow: hidden; text-overflow: ellipsis; }
.status-envio { display: inline-flex; align-items: center; gap: .35rem; font-size: .8rem; font-weight: 600; border-radius: 999px; padding: .15rem .65rem; white-space: nowrap; }
.status-envio.ok { background: var(--app-verde-fundo); color: var(--app-verde-escuro); } .status-envio.pend { background: var(--app-amarelo-fundo); color: var(--app-amarelo-texto); } .status-envio.falha { background: var(--app-vermelho-fundo); color: var(--app-vermelho-escuro); } .status-envio.nenhum { background: var(--app-neutro-fundo); color: var(--app-texto-suave); }
.status-envio.pend i { animation: gira 2s linear infinite; } @keyframes gira { 50% { transform: rotate(180deg); } 100% { transform: rotate(180deg); } }
.resumo-envio { position: sticky; top: 1rem; }
.resumo-lista { margin: 0 0 1rem; } .resumo-lista > div { display: flex; justify-content: space-between; padding: .35rem 0; border-bottom: 1px solid var(--gray-10, #e6e6e6); }
.resumo-lista dt { font-weight: 400; } .resumo-lista dd { margin: 0; font-weight: 700; } .resumo-lista .total { font-size: 1.15rem; border-bottom: 0; } .resumo-lista .total dt { font-weight: 700; }
.br-button.block { width: 100%; justify-content: center; }
.aviso-simulacao { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; background: var(--app-amarelo-fundo); border: 1px dashed var(--app-amarelo); border-radius: 10px; padding: .75rem 1rem; } .aviso-simulacao > div { flex: 1; min-width: 14rem; } .aviso-simulacao > i { color: var(--app-amarelo-texto); }
.atualizacao { font-size: .85rem; }
@media (prefers-reduced-motion: reduce) { .status-envio.pend i { animation: none; } }
html.contraste .destinatario:hover { background: #111; } html.contraste .avatar { background: #000 !important; color: #ffff00 !important; border: 1px solid #ffff00; }
html.contraste .status-envio { background: #000 !important; color: #fff !important; border: 1px solid #fff; } html.contraste .aviso-simulacao { background: #000; border-color: #ffff00; }

.dica-reenvio { color: var(--app-amarelo-texto) !important; }
.substitui { flex: none; margin: 0 !important; } .substitui[hidden] { display: none; }
.substitui select { min-height: 2.2rem; border: 1px solid var(--gray-40, #888); border-radius: 6px; padding: 0 .5rem; font: inherit; max-width: 11rem; }
@media (max-width: 700px) { .destinatario { flex-wrap: wrap; } .substitui { width: 100%; } }

/* ---------- cadastros gerais ---------- */
.cadastro-card { height: 100%; display: flex; flex-direction: column; background: var(--app-branco); border: 1px solid var(--gray-20, #ccc); border-radius: 10px; padding: 1rem; }
.cadastro-card:hover { box-shadow: 0 6px 16px rgba(0,0,0,.12); }
.cadastro-card-topo { display: flex; align-items: center; gap: .7rem; margin-bottom: .5rem; } .cadastro-card-topo h2 { font-size: 1.1rem; margin: 0; } .cadastro-card-topo a { text-decoration: none; }
.cadastro-contagem { font-size: .9rem; margin: 0 0 .8rem; }
.linha-inativa td { opacity: .65; }
.acoes-linha { white-space: nowrap; display: flex; gap: .35rem; align-items: center; } .acoes-linha form { margin: 0; }
html.contraste .cadastro-card { background: #000 !important; border-color: #fff !important; }

/* ---------- formulário de item de pauta ---------- */
.cards-opcao { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: .4rem; }
.card-opcao { cursor: pointer; margin: 0; } .card-opcao input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.card-opcao-corpo { display: flex; flex-direction: column; gap: .2rem; height: 100%; border: 2px solid var(--gray-20, #ccc); border-radius: 10px; padding: .8rem 1rem; background: var(--app-branco); }
.card-opcao-corpo i { color: var(--app-azul); font-size: 1.3rem; } .card-opcao-corpo small { color: var(--gray-60, #555); }
.card-opcao:hover .card-opcao-corpo { border-color: var(--app-azul-borda); }
.card-opcao input:checked + .card-opcao-corpo { border-color: var(--app-azul); background: var(--app-azul-fundo); box-shadow: 0 0 0 3px var(--app-azul-claro); }
.card-opcao input:focus-visible + .card-opcao-corpo { outline: 3px solid var(--app-foco); outline-offset: 2px; }
.caixa-reservado { display: flex; align-items: center; gap: .8rem; cursor: pointer; border: 2px solid var(--gray-20, #ccc); border-radius: 10px; padding: .8rem 1rem; margin: 0; background: var(--app-branco); }
.caixa-reservado input { width: 1.2rem; height: 1.2rem; flex: none; }
.caixa-reservado-corpo { display: flex; gap: .8rem; align-items: center; } .caixa-reservado-corpo > i { color: var(--app-reservado); font-size: 1.3rem; } .caixa-reservado-corpo small { display: block; color: var(--gray-60, #555); }
.caixa-reservado:has(input:checked) { border-color: var(--app-reservado); background: var(--app-vermelho-fundo); }
.area-anexo { display: flex; align-items: center; gap: .6rem; min-height: 2.5rem; border: 2px dashed var(--gray-40, #888); border-radius: 8px; padding: .4rem .8rem; cursor: pointer; margin-top: .25rem; word-break: break-all; }
.area-anexo:hover { background: var(--app-azul-fundo); border-color: var(--app-azul); }
.campo-anexo input[type=file] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.campo-anexo input[type=file]:focus-visible + .feedback, .campo-anexo:focus-within .area-anexo { outline: 3px solid var(--app-foco); outline-offset: 2px; }
.pauta-lateral { position: sticky; top: 1rem; }
.pauta-mini { list-style: none; padding: 0; margin: 0; } .pauta-mini li { display: flex; gap: .6rem; align-items: flex-start; padding: .4rem 0; border-top: 1px solid var(--gray-10, #e6e6e6); font-size: .92rem; } .pauta-mini li:first-child { border-top: 0; }
.pauta-mini .item-num { width: 1.6rem; height: 1.6rem; font-size: .8rem; } .pauta-mini li.editando { background: var(--app-amarelo-fundo); border-radius: 6px; }
@media (max-width: 600px) { .cards-opcao { grid-template-columns: 1fr; } }
html.contraste .card-opcao-corpo, html.contraste .caixa-reservado, html.contraste .area-anexo { background: #000 !important; border-color: #fff !important; }
html.contraste .card-opcao input:checked + .card-opcao-corpo { border-color: #ffff00 !important; }

/* ---------- início: próximas reuniões ---------- */
.proximas { list-style: none; margin: 0; padding: 0; }
.proxima { display: flex; gap: 1rem; align-items: center; padding: .85rem .6rem; border-top: 1px solid var(--gray-10, #e6e6e6); border-radius: 8px; }
.proxima:first-child { border-top: 0; }
.proxima.destaque { background: var(--app-azul-fundo); border: 1px solid var(--app-azul-borda); }
.proxima.destaque + .proxima { border-top: 0; }
.proxima.atrasada .reuniao-card-data { background: var(--app-vermelho-fundo); color: var(--app-vermelho-escuro); }
.proxima-corpo { flex: 1; min-width: 0; }
.quando { font-size: .8rem; font-weight: 600; border-radius: 999px; padding: .1rem .65rem; background: var(--app-azul-fundo); color: var(--app-azul-escuro); }
.quando.breve { background: var(--app-amarelo-fundo); color: var(--app-amarelo-texto); } .quando.atraso { background: var(--app-vermelho-fundo); color: var(--app-vermelho-escuro); }
@media (max-width: 600px) { .proxima { flex-wrap: wrap; } .proxima .reuniao-card-acao { width: 100%; } }
html.contraste .proxima.destaque { background: #000 !important; border-color: #ffff00 !important; }
html.contraste .quando { background: #000 !important; color: #ffff00 !important; border: 1px solid #ffff00; }
.titulo-secao { font-size: 1.1rem; margin: 0 0 .75rem; }

.grade-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem; align-items: start; }
.form-mandato { max-width: 58rem; } .form-mandato [hidden] { display: none; }
@media (max-width: 700px) { .grade-2 { grid-template-columns: 1fr; } }

/* rodapé sempre no fim da tela, mesmo em páginas curtas */
body { min-height: 100vh; display: flex; flex-direction: column; }
body > main { flex: 1 0 auto; width: 100%; }
body > .br-footer { margin-top: auto; flex: none; }
/* botões com peso médio: o negrito do padrão prejudica a leitura em botões pequenos */
.br-button { font-weight: var(--font-weight-medium, 500); }

/* ---------- listas: barra de busca/filtros e paginação (padrão único) ---------- */
.barra-filtros { display: block; margin-bottom: .4rem; }
.barra-filtros-linha { display: flex; flex-wrap: wrap; gap: .6rem; align-items: flex-end; }
.barra-filtros .busca-principal { flex: 1 1 18rem; margin: 0; min-width: 0; }
.barra-filtros .filtro-aberto { flex: 1 1 24rem; margin: 0; }
.barra-filtros-botoes { display: flex; gap: .5rem; align-items: center; margin-bottom: .1rem; }
.barra-filtros .filtros-avancados { margin-top: .75rem; }
/* quantitativo da lista: menor, em cinza escuro e colado à barra de busca (padrão do sistema) */
.resumo-da-lista { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; margin: 0 0 .6rem; font-size: .85rem; color: var(--app-texto-suave); }
.resumo-da-lista p { margin: 0; color: inherit; font-size: inherit; }
.resumo-da-lista strong { font-weight: 600; }
.paginacao { margin-top: 1rem; justify-content: space-between; align-items: center; gap: .5rem; }
.paginacao .br-button.disabled { opacity: .4; pointer-events: none; }
.pagina-reticencias { padding: 0 .35rem; }
.barra-filtros .filtro { align-items: start; }

/* ---------- formulários: padrão único ---------- */
.form-padrao { max-width: 58rem; }
.form-padrao.form-estreito { max-width: 30rem; }
.form-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem; align-items: start; }
.form-estreito .form-grade { grid-template-columns: 1fr; }
.form-grade .br-textarea, .form-grade .br-checkbox, .form-grade fieldset, .form-grade .br-message { grid-column: 1 / -1; }
.legenda-obrigatorio { font-size: .85rem; color: var(--app-texto-suave); margin: 0 0 1rem; }
.acoes-form { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: 1rem 0; }
@media (max-width: 700px) { .form-grade { grid-template-columns: 1fr; } }

/* ---------- telas de detalhe: ficha de dados (padrão único) ---------- */
.ficha { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .9rem 1.25rem; background: var(--app-branco); border: 1px solid var(--app-borda); border-radius: 10px; padding: 1rem 1.25rem; margin: 0 0 1.25rem; }
.ficha > div { min-width: 0; }
.ficha dt { font-size: .8rem; font-weight: 500; color: var(--app-texto-suave); margin-bottom: .15rem; text-transform: uppercase; letter-spacing: .03em; }
.ficha dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.ficha .ficha-larga { grid-column: 1 / -1; }
html.contraste .ficha { background: #000 !important; border-color: #fff !important; }
html.contraste .ficha dt, html.contraste .ficha dd { color: #fff !important; }

/* ---------- ata: barra de formatação, pré-visualização e visão imprimível (tipografia do Manual da Presidência) ---------- */
.barra-formato { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-bottom: .5rem; }
.barra-formato code { background: var(--app-neutro-fundo); padding: 0 .25rem; border-radius: 3px; }
.previa-ata { white-space: normal; line-height: 1.5; text-align: justify; }
.texto-ata { font-family: Calibri, Carlito, Arial, Helvetica, sans-serif; font-size: 12pt; line-height: 1.2; text-align: justify; max-width: 21cm; padding-left: 3cm; padding-right: 1.5cm; }
@media print { .texto-ata { padding: 0; } }
html.contraste .barra-formato code { background: #000 !important; color: #ffff00 !important; border: 1px solid #ffff00; }
.previa-ata { max-height: 20rem; overflow: auto; }
.previa-ata[hidden] { display: none; }

/* ---------- modal de pré-visualização do documento ---------- */
.modal-documento { width: min(62rem, 94vw); height: min(92vh, 60rem); border: 0; border-radius: 12px; padding: 0; box-shadow: 0 12px 40px rgba(0,0,0,.35); background: var(--app-branco); color: inherit; }
.modal-documento[open] { display: flex; flex-direction: column; }
.modal-documento::backdrop { background: rgba(0,0,0,.55); }
.modal-documento-topo { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem 1.1rem; border-bottom: 1px solid var(--app-borda-suave); }
.modal-documento-topo h2 { margin: 0; font-size: 1.1rem; display: flex; gap: .5rem; align-items: center; } .modal-documento-topo h2 i { color: var(--app-azul); }
.modal-documento-aviso { margin: .5rem 1.1rem 0; }
.modal-documento-quadro { flex: 1; width: calc(100% - 2.2rem); margin: .5rem 1.1rem; border: 1px solid var(--app-borda); border-radius: 6px; background: #e9e9e9; min-height: 0; }
.modal-documento-rodape { display: flex; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; padding: .7rem 1.1rem 1rem; }
html.contraste .modal-documento { background: #000 !important; color: #fff !important; border: 2px solid #ffff00; }

/* etapas e botões bloqueados pela ordem do fluxo */
.botao-bloqueado { opacity: .55; cursor: not-allowed; pointer-events: auto; }
.etapas li.bloqueada .etapa-bola { background: var(--app-neutro-fundo); color: var(--app-texto-suave); border-style: dashed; }
.etapas li.bloqueada .etapa-nome { color: var(--app-texto-suave); }

/* ---------- janela de confirmação ---------- */
.modal-confirma { width: min(30rem, 92vw); border: 0; border-radius: 12px; padding: 0; box-shadow: 0 12px 40px rgba(0,0,0,.35); background: var(--app-branco); color: inherit; }
.modal-confirma::backdrop { background: rgba(0,0,0,.55); }
.modal-confirma-topo { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 1.1rem; border-bottom: 1px solid var(--app-borda-suave); }
.modal-confirma-topo h2 { margin: 0; font-size: 1.1rem; }
.modal-confirma-texto { margin: 0; padding: 1.1rem; line-height: 1.5; }
.modal-confirma-rodape { display: flex; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; padding: .7rem 1.1rem 1rem; }
.modal-confirma .br-button.primary.perigo { background: #b3261e; border-color: #b3261e; }
html.contraste .modal-confirma { background: #000 !important; color: #fff !important; border: 2px solid #ffff00; }
html.contraste .modal-confirma .br-button.primary.perigo { background: #000 !important; color: #ffff00 !important; border: 2px solid #ffff00; }

/* ---------- responsivo: tabelas largas rolam dentro do próprio quadro, sem estourar a página ---------- */
.br-table { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.br-table:focus-visible { outline: 3px solid var(--app-azul, #1351b4); outline-offset: 2px; }
.br-table table { min-width: 38rem; }
@media (min-width: 992px) { .br-table table { min-width: 0; } }

/* ---------- acessibilidade: foco com contraste mínimo de 3:1 e alvos de toque maiores ---------- */
/* o anel azul-escuro tem contraste alto sobre fundo claro; sobre a barra escura e no alto contraste usa-se amarelo */
.barra-governo a:focus-visible, .barra-governo .barra-btn:focus-visible { outline-color: #ffbf47; }
html.contraste :focus-visible { outline: 3px solid #ffff00 !important; outline-offset: 2px; }
input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--app-foco); outline-offset: 2px; }
@media (pointer: coarse), (max-width: 767px) {
  .barra-btn { min-height: 36px; min-width: 36px; }
  .marcar-todos, .menu-acoes summary { min-height: 40px; display: inline-flex; align-items: center; }
  input[type=checkbox], input[type=radio] { width: 1.25rem; height: 1.25rem; }
}

/* tela da ata: contador à direita da barra de formatação e ações numa só linha */
.barra-formato .contador-ata { margin-left: auto; white-space: nowrap; font-size: .875rem; color: var(--app-texto-suave); font-weight: 600; }
.barra-formato .barra-formato-marcas { flex: 1 1 18rem; min-width: 0; }
.acoes-ata { margin-top: 1rem; } .acoes-ata .br-button { margin: 0; }
@media (max-width: 575px) { .barra-formato .contador-ata { margin-left: 0; flex-basis: 100%; } .acoes-ata .br-button, .acoes-ata form { flex: 1 1 100%; } .acoes-ata form .br-button { width: 100%; } }
a.br-button, button.br-button, .br-button { font-weight: 500; }

/* tela da ata: faixa de estado com selos e ações lado a lado */
.ata-estado { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .6rem 1rem; margin: 0 0 1rem; padding: .6rem .8rem; background: var(--app-azul-fundo); border: 1px solid var(--app-azul-borda); border-radius: 8px; }
.ata-estado-badges, .ata-estado-acoes { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.modal-ajuda { width: min(40rem, 94vw); max-height: 90vh; } .modal-ajuda[open] { display: flex; flex-direction: column; }
.modal-ajuda-corpo { padding: .2rem 1.1rem 0; overflow: auto; line-height: 1.5; } .modal-ajuda-corpo h3 { font-size: 1rem; margin: 1rem 0 .25rem; } .modal-ajuda-corpo p { margin: 0; }
.modal-confirma-topo h2 i { color: var(--app-azul); margin-right: .35rem; }
html.contraste .ata-estado { background: #000 !important; border-color: #fff !important; }
.modal-ajuda-corpo h3 { font-weight: 600; color: var(--app-azul-escuro); }

/* contador da ata: abaixo do campo, à direita, discreto */
.contador-ata, .barra-formato .contador-ata { display: block; margin: .25rem 0 1rem; text-align: right; white-space: normal; font-size: .8rem; font-weight: 400; color: var(--app-texto-suave); }

/* páginas institucionais */
.menu-secao { border: 1px solid var(--app-borda-suave); border-radius: 8px; padding: .75rem; background: var(--app-branco); }
.menu-secao-titulo { margin: 0 0 .4rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--app-texto-suave); }
.menu-secao ul { list-style: none; margin: 0; padding: 0; }
.menu-secao a { display: flex; gap: .55rem; align-items: center; padding: .5rem .6rem; border-radius: 6px; text-decoration: none; color: var(--app-texto); min-height: 40px; }
.menu-secao a i { color: var(--app-azul); width: 1.1rem; text-align: center; }
.menu-secao a:hover { background: var(--app-azul-fundo); }
.menu-secao a.ativo { background: var(--app-azul-claro); font-weight: 600; color: var(--app-azul-escuro); }
.aviso-texto { display: flex; gap: .5rem; align-items: flex-start; margin: 0 0 1.25rem; padding: .6rem .8rem; background: var(--app-amarelo-fundo); border-radius: 6px; font-size: .875rem; color: var(--app-texto); }
.aviso-texto i { color: var(--app-amarelo-texto); margin-top: .2rem; }
html.contraste .menu-secao, html.contraste .aviso-texto { background: #000 !important; color: #fff !important; border: 1px solid #fff; }
html.contraste .menu-secao a.ativo { color: #ffff00 !important; background: #000 !important; border: 1px solid #ffff00; }

/* barra de formatação rente à borda do campo "Texto da ata" */
.br-textarea > .barra-formato { margin: .25rem 0 .15rem; gap: .35rem; }

/* selos de estado acima da linha do órgão/data; barra só com os botões de registro */
.ata-selos { margin: 0 0 .5rem; }
.ata-barra { justify-content: flex-start; }

/* abas da consulta pública (atos / atas) */
.abas-consulta { display: flex; flex-wrap: wrap; gap: .25rem; margin: 0 0 1rem; border-bottom: 2px solid var(--app-borda-suave); }
.abas-consulta a { display: inline-flex; align-items: center; gap: .5rem; padding: .6rem 1rem; text-decoration: none; color: var(--app-texto); border-bottom: 3px solid transparent; margin-bottom: -2px; min-height: 44px; }
.abas-consulta a:hover { background: var(--app-azul-fundo); }
.abas-consulta a.ativa { border-bottom-color: var(--app-azul); color: var(--app-azul-escuro); font-weight: 600; }
html.contraste .abas-consulta a.ativa { color: #ffff00 !important; border-bottom-color: #ffff00; }
