/* Competições: controles legíveis no campo e no tema escuro. */
.competicoes-filtros { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin: 16px 0; }
.competicoes-filtros label { display: grid; gap: 4px; flex: 1 1 160px; color: var(--tinta-suave); font-size: var(--txt-sm); min-width: 0; }
.competicoes-filtros input, .competicoes-filtros select { width: 100%; min-height: 44px; min-width: 0; padding: 10px 12px; border: 1px solid var(--linha); border-radius: var(--raio-sm); background: var(--superficie); color: var(--tinta); font: inherit; }
.competicoes-filtros input:focus-visible, .competicoes-filtros select:focus-visible { outline: 2px solid var(--latao); outline-offset: 2px; }
.competicoes-resultados { grid-column: 1 / -1; }
.competicoes-resultados table { width: 100%; }
.competicoes-resultados td, .competicoes-resultados th { text-align: left; overflow-wrap: anywhere; padding: 12px; border-bottom: 1px solid var(--linha); }
.competicoes-resultados small, .competidor-detalhes { display: block; color: var(--tinta-suave); font-size: var(--txt-sm); }
.competicoes-resultados .dica-modal { margin-top: 8px; }
.competicoes-resultado-resumo { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 12px 0; color: var(--tinta-suave); }
.competicoes-resultado-resumo strong { color: var(--tinta); }
.competicoes-nota { padding: 12px; border-left: 3px solid var(--latao); background: var(--fundo); color: var(--tinta-suave); font-size: var(--txt-sm); }
.competicao-prova-card, .competidores-ficha, .competicoes-resultados, .competicao-prova-cab > div { min-width: 0; overflow-wrap: anywhere; }
#modal-gestao-competicao .btn-mini, #tela-competicoes .btn-mini, #tela-competicoes .btn-icone, #modal-gestao-competicao .btn-icone { min-height: 44px; min-width: 44px; }
#form-prova-competicao textarea[name="categorias"] { min-height: 90px; }
#inscricao-configuracao { margin: 0; }
.inscricao-valores { display: grid; gap: var(--e-2); font-size: var(--txt-sm); min-width: 0; overflow-wrap: anywhere; }
.inscricao-valores span, .inscricao-valores small { display: block; }
.inscricao-valores strong { display: block; }
.inscricao-valores small { color: var(--tinta-suave); }
#modal-gestao-competicao .gestao-secao-provas { grid-column: 1 / -1; }
#form-prova-competicao [hidden], #form-inscricao-competicao [hidden], #form-gasto [hidden] { display: none !important; }
#tela-competicoes .controle-segmentado { flex-wrap: wrap; }
#modal-gestao-competicao .competicoes-filtros { padding-inline: var(--e-6); }
/* O gerenciador rola por inteiro: filtros e resumo não comprimem os resultados. */
#modal-gestao-competicao .gestao-competicao { overflow-y: auto; overscroll-behavior: contain; }
#modal-gestao-competicao .gestao-competicao > * { flex-shrink: 0; }
#modal-gestao-competicao .gestao-competicao-cabecalho { position: sticky; top: 0; z-index: 2; }
#modal-gestao-competicao .gestao-conteudo { overflow: visible; flex: 0 0 auto; }
/* A rolagem interna usa a altura disponível depois da ampliação do texto. */
#modal-gestao-competicao .gestao-competicao {
  min-height: min(760px, calc(var(--altura-visivel, 100dvh) / var(--escala-interface, 1) - 26px));
  max-height: calc(var(--altura-visivel, 100dvh) / var(--escala-interface, 1) - 26px);
}
/* Nomes completos rolam com o conteúdo quando o cabeçalho ocupa muita tela. */
@media (max-width: 700px), (max-height: 450px) {
  #modal-gestao-competicao .gestao-competicao-cabecalho { position: static; }
}
:root[data-viewport-baixo] #modal-gestao-competicao .gestao-competicao-cabecalho { position: static; }
@media (max-width: 699px) {
  #modal-gestao-competicao .competicoes-filtros { padding-inline: var(--e-4); }
  .competicoes-filtros { gap: 12px; }
  .competicoes-filtros input, .competicoes-filtros select { font-size: 16px; }
  .competicoes-resultados thead { display: none; }
  .competicoes-resultados table, .competicoes-resultados tbody, .competicoes-resultados tr, .competicoes-resultados td { display: block; width: 100%; }
  .competicoes-resultados tr { padding: 12px 0; border-bottom: 1px solid var(--linha); }
  .competicoes-resultados td { border: 0; padding: 4px 0; }
  .competicoes-resultados td::before { content: attr(data-label) ": "; color: var(--tinta-suave); font-weight: 600; }
}
