/* Identidade aprovada nos modelos (SPEC §10.5): campo verde em faixas, amarelo de destaque. */
:root {
	--campo: #0B3320;
	--campo-faixa: #0E3B23;
	--cartao: #082717;
	--borda: #1F5A3A;
	--texto: #F4F1E6;
	--texto-suave: #B9CBB9;
	--texto-claro: #DDE7DA;
	--destaque: #F2C94C;
	--destaque-claro: #FFE08A;
	--continental: #8EC9F0;
	--mundial: #CDB8F5;
	--erro: #E5484D;
	--erro-texto: #FFB4B6;
	--erro-alerta: #FFD7D8;
}

/* A página fica parada quando o htmx troca um bloco (tática, Limpar escalação, T/B/–): sem isto, o
   navegador "ancora" a rolagem num elemento lá embaixo e a página desce sozinha depois do clique. */
html {
	overflow-anchor: none;
}

body {
	margin: 0;
	background: var(--campo);
}

a { color: var(--destaque); }
a:hover { color: var(--destaque-claro); }

.campo {
	min-height: 100vh;
	box-sizing: border-box;
	font-family: Barlow, system-ui, sans-serif;
	color: var(--texto);
	background: repeating-linear-gradient(180deg, var(--campo-faixa) 0px, var(--campo-faixa) 64px, var(--campo) 64px, var(--campo) 128px);
	padding: 48px 16px;
}

.conteudo {
	max-width: 980px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.marca {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
}

.marca-linha {
	display: flex;
	align-items: center;
	gap: 12px;
}

.escudo-marca {
	width: 36px;
	height: 44px;
	border-radius: 6px 6px 18px 18px;
	background: linear-gradient(180deg, var(--destaque) 36%, var(--campo) 36% 64%, var(--destaque) 64%);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.titulo {
	margin: 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--destaque);
}

.suave {
	margin: 0;
	font-size: 14px;
	color: var(--texto-suave);
}

.lema { font-size: 16px; }

.cartoes {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: flex-start;
	justify-content: center;
}

.cartao {
	flex: 1 1 340px;
	max-width: 440px;
	box-sizing: border-box;
	background: var(--cartao);
	border: 1px solid var(--borda);
	border-radius: 12px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.cartao h2 {
	margin: 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 24px;
	text-transform: uppercase;
	color: var(--destaque);
}

.cabecalho-cartao {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.alerta {
	padding: 10px 12px;
	border-radius: 8px;
	background: rgba(229, 72, 77, 0.14);
	border: 1px solid var(--erro);
	font-size: 14px;
	color: var(--erro-alerta);
}

.aviso {
	padding: 10px 12px;
	border-radius: 8px;
	border: 1px solid var(--borda);
	font-size: 14px;
	color: var(--texto-suave);
}

.campo-form {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.campo-form label {
	font-size: 14px;
	color: var(--texto-suave);
}

.campo-form input {
	min-height: 44px;
	box-sizing: border-box;
	padding: 0 12px;
	background: var(--campo);
	color: var(--texto);
	border: 1px solid var(--borda);
	border-radius: 8px;
	font: 500 16px Barlow, sans-serif;
}

.campo-form input[aria-invalid="true"] { border-color: var(--erro); }

.erro-campo {
	font-size: 14px;
	color: var(--erro-texto);
}

.botao {
	min-height: 48px;
	background: var(--destaque);
	color: #1A1A12;
	border: 0;
	border-radius: 10px;
	font: 700 18px 'Barlow Condensed', sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
}

.botao:hover { background: var(--destaque-claro); }

.botao-discreto {
	min-height: 44px;
	padding: 0 16px;
	background: transparent;
	color: var(--destaque);
	border: 1px solid var(--borda);
	border-radius: 10px;
	font: 600 16px Barlow, sans-serif;
	cursor: pointer;
}

form { display: contents; }

/* Páginas depois de entrar (modelos 5b, 5c). */
.campo-pagina { padding: 24px 16px 40px; }

.pagina {
	max-width: 1180px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.topo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 20px;
	background: var(--cartao);
	border: 1px solid var(--borda);
	border-radius: 12px;
}

.topo-marca {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 26px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--destaque);
	text-decoration: none;
}

.topo-usuario {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 15px;
	color: var(--texto-claro);
}

.titulo-pagina {
	margin: 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 32px;
	text-transform: uppercase;
}

.titulo-secao {
	margin: 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 26px;
	text-transform: uppercase;
	color: var(--destaque);
}

.titulo-secao.grande { font-size: 34px; line-height: 1; }
.titulo-secao.pequeno { font-size: 20px; }

.texto { margin: 0; font-size: 16px; color: var(--texto-claro); }
.texto.pequeno { font-size: 14px; }
.suave.pequeno { font-size: 13px; }

.pilha { display: flex; flex-direction: column; gap: 8px; }
.pilha-curta { display: flex; flex-direction: column; gap: 4px; }
.pilha-larga { display: flex; flex-direction: column; gap: 20px; }
.crescer { flex: 1 1 320px; }

.inicio {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: stretch;
}

.cartao-novo {
	flex: 1 1 320px;
	box-sizing: border-box;
	background: var(--cartao);
	border: 2px solid var(--destaque);
	border-radius: 12px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	justify-content: space-between;
}

.painel {
	background: rgba(4, 24, 14, 0.55);
	border: 1px solid var(--borda);
	border-radius: 12px;
}

.painel-interno {
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lista-jogos {
	flex: 999 1 560px;
	min-width: 0;
	overflow: hidden;
}

.painel-cabecalho {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
	padding: 16px 20px;
	border-bottom: 1px solid var(--borda);
}

.painel-titulo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.linha-jogo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 14px 20px;
	border-top: 1px solid rgba(31, 90, 58, 0.6);
}

.linha-jogo-texto {
	flex: 1 1 260px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.nome-clube {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 22px;
	text-transform: uppercase;
}

.botao-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	box-sizing: border-box;
}

a.botao { min-height: 52px; color: #1A1A12; }
/* Botão feito com <label> (escolher arquivo): o <label> não recebe o espaçamento que o navegador dá ao <button>. */
label.botao { display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; box-sizing: border-box; }
a.botao:hover { color: #1A1A12; }
.botao-largo { min-height: 52px; padding: 0 28px; }
.botao:disabled { opacity: 0.5; cursor: not-allowed; }
.botao[aria-disabled="true"] { opacity: 0.7; cursor: progress; }

.botao-contorno {
	min-height: 44px;
	padding: 0 20px;
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	background: transparent;
	color: var(--destaque);
	border: 1px solid var(--destaque);
	border-radius: 10px;
	font: 700 16px 'Barlow Condensed', sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
}

.botao-discreto { color: var(--texto-claro); }
a.botao-discreto { min-height: 48px; padding: 0 20px; }

.setas { display: flex; gap: 6px; }

.seta {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--cartao);
	color: var(--texto);
	border: 1px solid var(--borda);
	border-radius: 8px;
	cursor: pointer;
}

.faixa {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 10px;
}

.campeonato {
	/* segura o rádio escondido (.oculto) dentro do cartão: sem isso ele escapa da faixa e a página rola de lado */
	position: relative;
	flex: 0 0 260px;
	scroll-snap-align: start;
	min-height: 96px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	padding: 12px 14px;
	border-radius: 10px;
	cursor: pointer;
	background: var(--cartao);
	color: var(--texto);
	border: 1px solid var(--borda);
}

.campeonato:has(input:checked) {
	background: var(--destaque);
	color: #1A1A12;
	border: 2px solid var(--destaque);
}

.campeonato:has(input:focus-visible) { outline: 3px solid var(--texto); outline-offset: 2px; }

.campeonato-pais { display: flex; align-items: center; gap: 10px; }
.campeonato-liga { font-size: 15px; font-weight: 600; }
.campeonato-detalhe { font-size: 13px; color: var(--texto-suave); }
.campeonato:has(input:checked) .campeonato-detalhe { color: #3A3418; }

.sigla {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 24px;
	padding: 0 4px;
	border-radius: 4px;
	font: 700 13px Barlow, sans-serif;
	background: var(--borda);
	color: var(--texto);
}

.campeonato:has(input:checked) .sigla { background: #1A1A12; color: var(--destaque); }

.oculto {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.destaque-sorteio {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	padding: 14px 16px;
	background: var(--cartao);
	border: 2px solid var(--destaque);
	border-radius: 10px;
}

.acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: flex-end;
}

.cartao-resultado {
	background: var(--cartao);
	border: 1px solid var(--borda);
	border-radius: 12px;
	padding: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
}

.rotulo {
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--texto-suave);
}

.titulo-resultado {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 30px;
	text-transform: uppercase;
}

/* Novo jogo do administrador e quadro de escolha de clube (modelos 5d, 5e). */
.opcoes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 12px;
}

.opcao {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
	min-height: 140px;
	border-radius: 10px;
	text-align: left;
	background: var(--cartao);
	color: var(--texto);
	border: 1px solid var(--borda);
	cursor: pointer;
	font-family: Barlow, sans-serif;
}

.opcao:hover { border-color: var(--destaque); }

.opcao-titulo {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 24px;
	text-transform: uppercase;
	color: var(--destaque);
}

.quadro-cabecalho {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}

.quadro {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: flex-start;
}

.quadro-colunas {
	flex: 999 1 560px;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 12px;
}

.coluna { overflow: hidden; }
.coluna-fila { border-style: dashed; }

.coluna-cabecalho {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
	padding: 10px 12px;
	border-bottom: 1px solid var(--borda);
}

.titulo-coluna {
	margin: 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 19px;
	text-transform: uppercase;
	color: var(--destaque);
}

.coluna-clubes { display: flex; flex-direction: column; }

.clube-linha {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 12px;
	border-top: 1px solid rgba(31, 90, 58, 0.6);
	color: var(--texto);
	text-decoration: none;
}

a.clube-linha:hover { color: var(--texto); background: rgba(242, 201, 76, 0.1); }
.clube-linha.sorteavel { background: rgba(242, 201, 76, 0.05); }
.clube-linha.marcado { background: rgba(242, 201, 76, 0.18); box-shadow: inset 4px 0 0 var(--destaque); }
.clube-linha.bloqueado { opacity: 0.6; cursor: not-allowed; }

.clube-nome {
	flex: 1;
	min-width: 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 600;
	font-size: 17px;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.clube-forca, .forca {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 18px;
	font-variant-numeric: tabular-nums;
}

.plantel-escolha { flex: 1 1 300px; }

.plantel-topo { display: flex; align-items: center; gap: 12px; }
.nome-clube.grande { margin: 0; font-size: 26px; line-height: 1; }

.plantel-tabela { width: 100%; border-collapse: collapse; font-size: 15px; }

.plantel-tabela th {
	padding: 4px 0;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: left;
	color: var(--texto-suave);
	border-bottom: 1px solid var(--borda);
}

.plantel-tabela td { padding: 4px 0; border-bottom: 1px solid rgba(31, 90, 58, 0.6); }
.plantel-tabela .num { text-align: right; }
.jogador-nome { font-weight: 600; padding-left: 10px !important; }
.asterisco { color: var(--destaque); font-weight: 700; }
.bonus-treinador { color: var(--destaque); font-weight: 700; }
.forca .bonus-treinador { margin-left: 2px; font-size: 0.85em; }
.asterisco sup { font-size: 0.6em; }

.pos {
	display: inline-flex;
	justify-content: center;
	width: 30px;
	padding: 2px 0;
	border-radius: 6px;
	font: 700 14px Barlow, sans-serif;
	color: var(--texto);
}

.pos-GOLEIRO { background: #7C3AED; }
.pos-DEFENSOR { background: #1D4ED8; }
.pos-MEIO_CAMPISTA { background: #0F766E; }
.pos-ATACANTE { background: #B91C1C; }

/* Plantel e tática (modelo 2a). */
.clube-topo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 20px;
	background: var(--cartao);
	border: 1px solid var(--borda);
	border-radius: 12px;
}

.clube-identidade { display: flex; align-items: center; gap: 14px; }
.clube-indicadores { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }

.moral { display: flex; flex-direction: column; gap: 6px; min-width: 180px; }
.moral-linha { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }

.moral-valor {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: var(--destaque);
}

.moral-escala { font-size: 15px; color: var(--texto-suave); }

/* faixas da moral padrão (0-30): vermelha até 6, amarela até 14, verde a partir de 15 (rev. 61) */
.moral-barra {
	position: relative;
	height: 8px;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--erro) 0 23.3%, var(--destaque) 23.3% 50%, #3FB37F 50% 100%);
}

.moral-marca {
	position: absolute;
	top: -4px;
	width: 4px;
	height: 16px;
	background: var(--texto);
	border-radius: 2px;
}

.proximo-jogo {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 600;
	font-size: 20px;
}

.forca-media { font-size: 14px; }

/* o calendário do clube: abre a janela do próprio clube, com os jogos da temporada */
.link-clube.botao-calendario { min-height: 36px; padding: 0 14px; font-size: 14px; color: var(--destaque); text-decoration: none; }

/* Acesso terminando no Início (modelos 27a a 27c, rev. 159): amarelo de atenção, não o vermelho de erro */
.aviso-acesso {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	padding: 12px 16px;
	border-radius: 10px;
	border: 1px solid var(--destaque);
	background: rgba(242, 201, 76, 0.12);
}
.aviso-acesso.hoje { background: rgba(242, 201, 76, 0.22); }
.aviso-acesso .icone { flex: none; width: 22px; height: 22px; color: var(--destaque); }
.aviso-acesso .msg { flex: 1 1 220px; min-width: 0; }
.aviso-acesso strong { display: block; font: 700 18px/1.2 'Barlow Condensed', sans-serif; color: var(--destaque-claro); }
.aviso-acesso span { font-size: 14px; color: var(--texto); }

.aviso-resultado {
	padding: 12px 16px;
	border-radius: 10px;
	background: rgba(63, 179, 127, 0.14);
	border: 1px solid #3FB37F;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 22px;
}

.abas {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 4px;
	background: var(--cartao);
	border: 1px solid var(--borda);
	border-radius: 10px;
	align-self: flex-start;
}

.aba {
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	padding: 0 16px;
	border-radius: 7px;
	font: 600 15px Barlow, sans-serif;
	color: var(--texto-suave);
}

.aba.atual { background: var(--destaque); color: #1A1A12; }
.aba[aria-disabled="true"] { cursor: not-allowed; }

.plantel-corpo { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.plantel-lateral { flex: 1 1 260px; display: flex; flex-direction: column; gap: 16px; }
.plantel-grupos { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }

.formacoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }

.formacao {
	min-height: 60px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	border-radius: 10px;
	cursor: pointer;
	font-family: Barlow, sans-serif;
	background: var(--cartao);
	color: var(--texto);
	border: 1px solid var(--borda);
}

.formacao[aria-pressed="true"] { background: var(--destaque); color: #1A1A12; border: 2px solid var(--destaque); }
.formacao-rotulo { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 22px; }
.formacao-estilo { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--texto-suave); }
.formacao[aria-pressed="true"] .formacao-estilo { color: #3A3418; }

.retirar-todos { width: 100%; }
/* Limpar a escalação em vermelho cheio, para não ser confundido com as táticas (escolha do usuário, opção B) */
.botao-discreto.retirar-todos { background: var(--erro); color: #fff; border: 0; }
.botao-discreto.retirar-todos:hover:not(:disabled) { filter: brightness(1.1); }
.botao-discreto.retirar-todos:disabled { opacity: 0.5; cursor: not-allowed; }
.retirar-icone { margin-right: 6px; font-weight: 700; }
/* Dica do atalho do Enter nos botões que ele aciona (rev. 128); some em tela de toque, sem teclado */
.tecla-enter { display: inline-block; white-space: nowrap; margin-left: 10px; padding: 1px 6px; border: 1px solid rgba(26, 26, 18, 0.45); border-radius: 4px;
	font: 600 12px Barlow, sans-serif; letter-spacing: 0; text-transform: none; vertical-align: middle; opacity: 0.75; }
@media (hover: none) { .tecla-enter { display: none; } }
.valida { margin: 0; font-size: 14px; color: #3FB37F; }
.problemas { margin: 0; padding-left: 18px; font-size: 14px; color: var(--erro-texto); }

.selecao {
	min-height: 44px;
	padding: 0 12px;
	background: var(--cartao);
	color: var(--texto);
	border: 1px solid var(--borda);
	border-radius: 8px;
	font: 500 15px Barlow, sans-serif;
}

.resumo { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.resumo div { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.resumo dt { color: var(--texto-suave); }
.resumo dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }

.centro { text-align: center; }
.grupo { overflow: hidden; }
.tabela-rolagem { overflow-x: auto; }

.tabela-plantel { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 15px; }

.tabela-plantel th {
	padding: 8px 12px;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: left;
	color: var(--texto-suave);
}

.tabela-plantel td { padding: 6px 12px; border-top: 1px solid rgba(31, 90, 58, 0.6); }
.tabela-plantel .num { text-align: right; font-variant-numeric: tabular-nums; }
.tabela-plantel .gols { font-weight: 600; }
.temperamento { color: var(--texto-claro); }
.jogador-celula { white-space: nowrap; }
.tabela-plantel .jogador-nome { padding-left: 0 !important; }

.sigla-pais {
	padding: 1px 6px;
	border-radius: 4px;
	background: var(--borda);
	border: 1px solid #3C7A57;
	color: var(--texto);
	font: 700 12px Barlow, sans-serif;
	letter-spacing: 0.04em;
}

.sigla-pais.nao-conta {
	background: transparent;
	border-style: dashed;
	color: var(--texto-suave, inherit);
	opacity: 0.75;
}

.suspenso {
	padding: 1px 6px;
	border-radius: 4px;
	border: 1px solid var(--erro);
	color: var(--erro-texto);
	font: 600 12px Barlow, sans-serif;
}

.lugar { display: inline-flex; gap: 4px; }

.lugar button {
	width: 40px;
	height: 40px;
	border-radius: 6px;
	border: 1px solid var(--borda);
	background: transparent;
	color: var(--texto-claro);
	font: 700 14px Barlow, sans-serif;
	cursor: pointer;
}

.lugar button[aria-pressed="true"] { background: var(--destaque); border-color: var(--destaque); color: #1A1A12; }
.lugar button:disabled { opacity: 0.35; cursor: not-allowed; }

.legenda { display: flex; align-items: center; gap: 8px; }

/* Jogos da rodada (modelo 1a). */
.etapas { display: flex; flex-wrap: wrap; gap: 8px; }

.etapa {
	padding: 6px 12px;
	border-radius: 999px;
	font: 600 14px Barlow, sans-serif;
	color: var(--texto-suave);
	box-shadow: inset 0 0 0 1px var(--borda);
}

.etapa.terminada { background: var(--borda); color: var(--texto-claro); box-shadow: none; }
.etapa.jogando { background: var(--destaque); color: #1A1A12; box-shadow: none; }

.relogio { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; min-width: 160px; }

.relogio-minuto {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	color: var(--destaque);
	font-variant-numeric: tabular-nums;
}

.relogio-barra { width: 160px; height: 6px; background: var(--borda); border-radius: 3px; overflow: hidden; }
.relogio-barra div { height: 6px; background: var(--destaque); }

.velocidades {
	display: flex;
	gap: 4px;
	padding: 4px;
	background: var(--cartao);
	border: 1px solid var(--borda);
	border-radius: 10px;
	align-self: flex-start;
}

.velocidade {
	min-height: 40px;
	padding: 0 14px;
	border: 0;
	border-radius: 7px;
	font: 600 14px Barlow, sans-serif;
	cursor: pointer;
	background: transparent;
	color: var(--texto-claro);
}

.velocidade[aria-pressed="true"] { background: var(--destaque); color: #1A1A12; }

.jogos-rodada { min-width: 760px; display: flex; flex-direction: column; }

.jogo-linha {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) 88px minmax(0, 1fr) 210px;
	align-items: center;
	column-gap: 14px;
	padding: 8px 20px;
	border-top: 1px solid rgba(31, 90, 58, 0.6);
}

.jogo-linha.do-usuario { background: rgba(242, 201, 76, 0.12); box-shadow: inset 4px 0 0 var(--destaque); }

.jogo-clube { display: flex; align-items: center; gap: 10px; min-width: 0; }
.jogo-clube.mandante { justify-content: flex-end; }

.jogo-nome {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 600;
	font-size: 20px;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.placar { display: flex; justify-content: center; gap: 4px; }

.placar span {
	min-width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 22px;
	font-variant-numeric: tabular-nums;
	background: var(--destaque);
	color: #1A1A12;
}

.ultimo-lance { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 15px; color: var(--texto-claro); }
.lance-texto { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.lance, .expulsao, .expulsoes { flex: none; }
.expulsoes { display: inline-flex; gap: 2px; }
.lance.gol { width: 14px; height: 14px; border-radius: 50%; background: var(--texto); box-shadow: inset 0 0 0 3px #1A1A12, 0 0 0 1px var(--texto); }
.lance.amarelo { width: 10px; height: 14px; border-radius: 2px; background: var(--destaque); }
.lance.vermelho { width: 10px; height: 14px; border-radius: 2px; background: var(--erro); }
/* Pênalti defendido: a bola com um anel verde, e a linha da janela em destaque. */
.lance.defesa { width: 14px; height: 14px; border-radius: 50%; background: var(--texto); box-shadow: inset 0 0 0 3px #1A1A12, 0 0 0 3px #3FB37F; }
.janela-lance.defendido { margin: 2px -8px; padding: 2px 8px; border-radius: 6px; background: rgba(63, 179, 127, 0.16); color: #9FE3C2; }
.janela-lance.defendido .lance-casa, .janela-lance.defendido .lance-fora { white-space: normal; }
/* Time com um a menos: bem pequeno, junto ao nome. */
.expulsao { width: 7px; height: 10px; border-radius: 1px; background: var(--erro); }
/* Lesão (SPEC §7.5): cruz na cor de erro. */
.lance.lesao { width: 14px; height: 14px; background: linear-gradient(var(--erro), var(--erro)) center / 4px 100% no-repeat, linear-gradient(var(--erro), var(--erro)) center / 100% 4px no-repeat; }

.rodape-rodada { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 14px; }

/* Controles e janela do jogo (modelos 1a, 1d e 1e). */
.controles-rodada { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }

.botao-som {
	min-height: 44px;
	padding: 0 16px;
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--cartao);
	color: var(--texto);
	border: 1px solid var(--borda);
	border-radius: 10px;
	font: 500 15px Barlow, sans-serif;
	cursor: pointer;
}

.aviso-pausa {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	border: 1px solid var(--destaque);
	border-radius: 10px;
	background: rgba(242, 201, 76, 0.08);
}

.aviso-pausa .botao { min-height: 44px; padding: 0 22px; }

/* Jogo em rede parado pela substituição (modelo 18f) */
.pausa-contagem {
	white-space: nowrap;
	font: 700 20px 'Barlow Condensed', sans-serif;
	color: var(--destaque);
	font-variant-numeric: tabular-nums;
}

.janela-pausa {
	margin: 12px 16px 0;
	padding: 10px 14px;
	border: 1px solid var(--destaque);
	border-radius: 10px;
	background: rgba(242, 201, 76, 0.08);
}

.pausa-viva {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex: 1;
}

.pausa-viva p { margin: 4px 0 0; }

.clube-clicavel { display: contents; }

.clube-clicavel button {
	background: none;
	border: 0;
	padding: 0;
	color: var(--texto);
	cursor: pointer;
	text-align: inherit;
}

.clube-clicavel button:hover { color: var(--destaque); text-decoration: underline; }

.janela-fundo {
	position: fixed;
	inset: 0;
	z-index: 10;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 72px 16px 16px;
	background: rgba(2, 14, 8, 0.6);
	overflow-y: auto;
}

.janela {
	display: block; /* a regra geral de form é display: contents, que tiraria a caixa da janela */
	width: 100%;
	max-width: 640px;
	background: var(--cartao);
	border: 1px solid #3C7A57;
	border-radius: 12px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
	overflow: hidden;
	font-family: Barlow, system-ui, sans-serif;
	color: var(--texto);
}

.janela.larga { max-width: 720px; }

.janela-topo {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 10px 16px 12px;
	background: var(--campo-faixa);
	border-bottom: 1px solid var(--borda);
}

.janela-linha { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.janela-espaco { width: 44px; flex: none; }

.janela-fechar {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: var(--texto);
	border: 1px solid var(--borda);
	border-radius: 8px;
	cursor: pointer;
}

.janela-placar {
	margin: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr);
	align-items: center;
	column-gap: 10px;
}

.janela-clube { display: flex; align-items: center; gap: 8px; min-width: 0; }
.janela-clube.mandante { justify-content: flex-end; }

.janela-lances {
	padding: 10px 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	border-bottom: 1px solid var(--borda);
}

.janela-lance {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr);
	align-items: center;
	column-gap: 10px;
	min-height: 28px;
	font-size: 15px;
	font-weight: 600;
}

.lance-casa { text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lance-fora { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lance-meio { display: flex; align-items: center; justify-content: center; gap: 8px; }

.lance-minuto {
	width: 32px;
	text-align: right;
	font: 700 17px 'Barlow Condensed', sans-serif;
	color: var(--destaque);
	font-variant-numeric: tabular-nums;
}

.janela-erro { margin: 12px 16px 0; }

.janela-subs {
	padding: 12px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: rgba(242, 201, 76, 0.06);
}

.janela-subs-topo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px; }
.janela-troca { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; }
.lista-lateral { flex: 2 1 200px; min-width: 0; gap: 10px; }

.lista-troca {
	margin: 0;
	padding: 0;
	min-width: 0;
	border: 1px solid var(--borda);
	border-radius: 8px;
	overflow: hidden;
}

.lista-troca.em-campo { flex: 3 1 260px; }

.troca-linha {
	min-height: 32px;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 2px 10px;
	font-size: 14px;
}

label.troca-linha { cursor: pointer; }
label.troca-linha:hover { background: rgba(242, 201, 76, 0.08); }
.troca-linha.sai:has(input:checked) { background: rgba(229, 72, 77, 0.25); box-shadow: inset 3px 0 0 var(--erro); }
.troca-linha.entra:has(input:checked) { background: rgba(63, 179, 127, 0.25); box-shadow: inset 3px 0 0 #3FB37F; }
.troca-linha:has(input:focus-visible) { outline: 2px solid var(--texto); outline-offset: -2px; }

.troca-pos { width: 16px; font-weight: 700; color: var(--texto-suave); }
.troca-nome { flex: 1; min-width: 0; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.troca-forca { width: 24px; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }

.janela-times { padding: 12px 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.titulo-coluna.pequeno { font-size: 16px; }

.janela-rodape { display: flex; justify-content: flex-end; padding: 12px 16px; border-top: 1px solid var(--borda); }
.janela-rodape.com-caixas { justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.janela-penalti { display: flex; flex-direction: column; gap: 10px; padding: 12px 14px; margin-top: 10px; border: 1px solid var(--destaque); border-radius: 8px; background: rgba(242, 201, 76, 0.08); }
.janela-penalti strong { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 18px; color: var(--destaque); text-transform: uppercase; letter-spacing: 0.02em; }
.janela-penalti-linha { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.janela-penalti-linha .selecao { min-width: 240px; }
.caixas-parar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 14px; }
.caixas-parar label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.caixas-parar input { width: 16px; height: 16px; accent-color: var(--destaque, #F5C84C); }

.botao-continuar {
	min-height: 44px;
	padding: 0 22px;
	background: var(--borda);
	color: var(--texto);
	border: 1px solid #3C7A57;
	border-radius: 8px;
	font: 700 17px 'Barlow Condensed', sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
}

/* Abas, classificação, artilheiros e ficha (modelos aprovados, rev. 16). */
a.aba { text-decoration: none; color: var(--texto-claro); }
a.aba:hover { color: var(--destaque); }
a.aba.atual { color: #1A1A12; }

a.jogador-nome { color: var(--texto); text-decoration: none; font-weight: 600; }
a.jogador-nome:hover { color: var(--destaque); text-decoration: underline; }

.divisoes { display: flex; flex-wrap: wrap; gap: 4px; }

.divisao-botao {
	min-height: 36px;
	display: inline-flex;
	align-items: center;
	padding: 0 14px;
	border-radius: 7px;
	border: 1px solid var(--borda);
	font: 600 14px Barlow, sans-serif;
	color: var(--texto-claro);
	text-decoration: none;
}

.divisao-botao.atual { background: var(--destaque); border-color: var(--destaque); color: #1A1A12; }

.tabela-classificacao { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }

.tabela-classificacao th {
	padding: 8px 10px;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: left;
	color: var(--texto-suave);
}

.tabela-classificacao td { padding: 7px 10px; border-top: 1px solid rgba(31, 90, 58, 0.6); }
.tabela-classificacao .num { text-align: right; }
.tabela-classificacao .pontos { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 19px; }
.tabela-classificacao tr.do-usuario td { background: rgba(242, 201, 76, 0.12); }
.tabela-classificacao tr.do-usuario td:first-child { box-shadow: inset 4px 0 0 var(--destaque); }
.tabela-classificacao tr.rebaixado td:first-child { box-shadow: inset 4px 0 0 var(--erro); }

.clube-celula { display: flex; align-items: center; gap: 10px; min-width: 0; }
.jogo-nome.pequeno { font-size: 19px; }

.legenda-classificacao { display: flex; flex-wrap: wrap; gap: 16px; padding: 12px 16px; border-top: 1px solid var(--borda); font-size: 14px; }
.marca-rebaixado { width: 12px; height: 12px; border-radius: 3px; background: var(--erro); }

.janela.ficha { max-width: 440px; }
.ficha-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--borda); }
.ficha-identidade { display: flex; align-items: center; gap: 12px; }
.pos.grande { width: 34px; padding: 3px 0; font-size: 15px; }
.ficha-nome { margin: 0; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 28px; line-height: 1; }
.ficha-destaques { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--borda); }
.ficha-destaques div { background: var(--cartao); padding: 18px 20px; display: flex; flex-direction: column; gap: 2px; }

.ficha-numero {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 44px;
	line-height: 1;
	color: var(--destaque);
	font-variant-numeric: tabular-nums;
}

.ficha-dados { padding: 12px 20px 18px; }
.ficha-dados div { padding: 8px 0; border-bottom: 1px solid rgba(31, 90, 58, 0.6); }
a.janela-fechar { text-decoration: none; }
.ficha-venda {
	display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end;
	padding: 14px 20px 18px; border-top: 1px solid var(--borda);
}
.ficha-venda .botao { min-height: 40px; padding: 0 16px; }
.ficha-venda-nota { grid-column: 1 / -1; margin: 0; font-size: 13px; }

/* Calendário do clube (modelo 3b, rev. 36). */
a.link-clube { color: var(--texto); text-decoration: none; }
a.link-clube:hover { color: var(--destaque); text-decoration: underline; }

.janela.calendario { max-width: 780px; }
.calendario-topo { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; }
.calendario-resumo { display: flex; flex-wrap: wrap; gap: 16px; padding: 10px 16px; border-bottom: 1px solid var(--borda); font-size: 14px; color: var(--texto-claro); }
.calendario-resumo strong { color: var(--texto); }
.calendario-resumo .cor-v { color: #3FB37F; }
.calendario-resumo .cor-e { color: var(--destaque); }
.calendario-resumo .cor-d { color: var(--erro); }
.calendario-lista { max-height: min(640px, 55vh); overflow-y: auto; }
.tabela-calendario { width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }

.tabela-calendario th {
	position: sticky;
	top: 0;
	background: var(--cartao);
	padding: 8px 12px;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: left;
	color: var(--texto-suave);
}

.tabela-calendario td { padding: 6px 12px; border-top: 1px solid rgba(31, 90, 58, 0.6); height: 28px; }
.tabela-calendario .num { text-align: right; }
.tabela-calendario tr.do-usuario td { background: rgba(242, 201, 76, 0.12); }
.tabela-calendario tr.do-usuario td:first-child { box-shadow: inset 4px 0 0 var(--destaque); }
.tabela-calendario tr.folga td { color: var(--texto-suave); }
.calendario-nome { font-size: 18px; }
.calendario-resultado { display: inline-flex; justify-content: flex-end; align-items: center; gap: 8px; }
.calendario-placar { font: 700 18px 'Barlow Condensed', sans-serif; }
.calendario-placar-coluna { display: inline-flex; flex-direction: column; align-items: flex-end; }
.calendario-detalhe { font-size: 12px; color: var(--texto-suave); white-space: nowrap; }
.calendario-copa { font-weight: 700; font-size: 14px; color: var(--destaque); line-height: 1.2; }
.tabela-calendario tr.da-copa td { background: rgba(242, 201, 76, 0.05); }
.marca-resultado { display: inline-flex; justify-content: center; width: 24px; padding: 1px 0; border-radius: 5px; font: 700 13px Barlow, sans-serif; }
.marca-resultado.resultado-V { background: #3FB37F; color: #062014; }
.marca-resultado.resultado-E { background: var(--destaque); color: #1A1A12; }
.marca-resultado.resultado-D { background: var(--erro); color: #FFF5F5; }
.calendario-nota { margin: 0; padding: 10px 16px 14px; border-top: 1px solid var(--borda); font-size: 14px; }

/* Finanças do clube (modelo 6a, rev. 39). */
.caixa-valor {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 24px;
	text-decoration: none;
}

.caixa-valor.negativo, .financas-numero.negativo, .tabela-extrato .negativo { color: var(--erro-texto); }

.financas-resumo { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }

.financas-quadro {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 18px;
	background: var(--cartao);
	border: 1px solid var(--borda);
	border-radius: 12px;
}

.financas-numero {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-size: 34px;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.financas-numero.destaque { color: var(--destaque); }
.financas-numero.positivo, .tabela-extrato .positivo { color: #3FB37F; }
.financas-nota { margin: 0; padding: 10px 20px 14px; }

.tabela-extrato { width: 100%; min-width: 1180px; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }

.tabela-extrato th {
	padding: 8px 10px;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: left;
	color: var(--texto-suave);
}

.tabela-extrato td { padding: 7px 10px; border-top: 1px solid rgba(31, 90, 58, 0.6); white-space: nowrap; }
.tabela-extrato .num { text-align: right; }
.tabela-extrato .vazio { color: var(--texto-suave); }
.tabela-extrato .resultado, .tabela-extrato .saldo { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 18px; }
.tabela-extrato tr.extrato-inicio td { color: var(--texto-suave); }
.tabela-extrato tr.total td { background: rgba(242, 201, 76, 0.12); border-top: 1px solid #3C7A57; }
.extrato-local { width: 40px; flex: none; font-size: 14px; color: var(--texto-claro); }

/* Público no quadro da rodada (modelo 1a). */
.jogo-publico { font-size: 14px; color: var(--texto-suave); text-align: right; font-variant-numeric: tabular-nums; }

/* Finanças (modelo 6b): compra, venda ou prêmio embaixo do jogo da rodada. */
.extrato-detalhe {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	color: var(--texto-suave);
	white-space: nowrap;
}

/* Janela do clube (modelo 7a): abas Calendário e Plantel e compra direta. */
.janela-abas { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 16px; border-bottom: 1px solid var(--borda); }
.janela-abas a {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 8px;
	border: 1px solid var(--borda); color: var(--texto-claro); font-weight: 600; text-decoration: none;
}
.janela-abas a.ativa { background: var(--destaque); border-color: var(--destaque); color: #1A1A12; }
.janela-aviso { margin: 10px 16px 0; }
.vitrine-caixa {
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; padding: 10px 16px;
	border-bottom: 1px solid var(--borda); font-size: 14px;
}
.tabela-vitrine { width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.tabela-vitrine th {
	padding: 8px 10px; text-align: left; font-size: 12px; font-weight: 600; letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--texto-suave);
}
.tabela-vitrine td { padding: 4px 10px; border-top: 1px solid rgba(31, 90, 58, 0.6); white-space: nowrap; }
.tabela-vitrine .num { text-align: right; }
.tabela-vitrine .vazio { color: #6F8A77; }
.tabela-vitrine .preco { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 18px; }
.tabela-vitrine tr.a-venda td { background: rgba(242, 201, 76, 0.08); }
.tabela-vitrine tr.a-venda td:first-child { box-shadow: inset 4px 0 0 var(--destaque); }
.tabela-vitrine .acao { text-align: right; }
.etiqueta-venda {
	padding: 1px 6px; border-radius: 4px; background: var(--destaque); color: #1A1A12;
	font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
}
.botao-comprar {
	min-height: 40px; padding: 0 14px; border-radius: 8px; border: 1px solid var(--destaque);
	background: var(--destaque); color: #1A1A12; font: 600 15px Barlow, sans-serif; cursor: pointer;
}
.sem-compra {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0 12px; border-radius: 8px;
	border: 1px dashed #3C7A57; color: var(--texto-suave); font-size: 14px;
}

/* Leilões antes da rodada (modelo 7b). */
.leiloes {
	max-width: 720px; margin: 24px auto 0; background: var(--cartao); border: 1px solid #3C7A57;
	border-radius: 12px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55); overflow: hidden;
}
.leiloes-topo {
	display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; background: var(--campo-faixa);
	border-bottom: 1px solid var(--borda); font-size: 14px;
}
.leiloes-etapa { font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--texto-suave); }
.leiloes-titulo { margin: 0; font: 700 26px 'Barlow Condensed', sans-serif; line-height: 1; text-transform: uppercase; }
.leiloes-aviso { margin: 10px 16px 0; }
.leilao-linha {
	display: grid; grid-template-columns: minmax(0, 1fr) 150px; column-gap: 12px; align-items: center;
	padding: 10px 16px; border-top: 1px solid rgba(31, 90, 58, 0.6);
}
.leilao-jogador { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 14px; }
.leilao-nome-linha { display: flex; align-items: center; gap: 8px; min-width: 0; }
.leilao-nome {
	font: 600 19px 'Barlow Condensed', sans-serif; text-transform: uppercase; white-space: nowrap;
	overflow: hidden; text-overflow: ellipsis;
}
.leilao-forca { font: 700 18px 'Barlow Condensed', sans-serif; color: var(--destaque); }
.leilao-lance { display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: var(--texto-suave); }
.leilao-lance input {
	min-height: 40px; box-sizing: border-box; width: 100%; padding: 0 10px; background: var(--campo);
	color: var(--texto); border: 1px solid #3C7A57; border-radius: 8px; font: 600 16px Barlow, sans-serif; text-align: right;
}
.leilao-sem-lance { font-size: 14px; color: var(--texto-suave); text-align: right; }
.leiloes-acoes {
	display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding: 12px 16px;
	border-top: 1px solid var(--borda);
}
.leiloes-acoes .botao, .leiloes-acoes .botao-contorno { min-height: 44px; padding: 0 18px; }
.leiloes-nota { margin: 0; padding: 0 16px 14px; font-size: 14px; }
.leilao-resultado {
	display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 2px; padding: 10px 16px;
	border-top: 1px solid rgba(31, 90, 58, 0.6);
}
.leilao-resultado.seu { background: rgba(242, 201, 76, 0.12); box-shadow: inset 4px 0 0 var(--destaque); }
.leilao-texto { font-size: 15px; color: var(--texto-claro); }
.leilao-valor { font: 700 18px 'Barlow Condensed', sans-serif; color: var(--texto); }
.leilao-valor.seu { color: #3FB37F; }
.leilao-valor.nada { color: var(--texto-suave); }
@media (max-width: 480px) {
	.leilao-linha { grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
}

/* Histórico (modelo 8a, rev. 54). */
.historico { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.historico > .painel { flex: 1 1 420px; min-width: 0; }
.historico > .painel:first-child { flex-basis: 640px; }
.historico > .painel.historico-largo { flex-basis: 100%; }
.rolagem { overflow-x: auto; }
.tabela-historico, .tabela-ranking { min-width: 0; }
.tabela-historico td { vertical-align: top; }
.tabela-historico td.seu { background: rgba(242, 201, 76, 0.12); box-shadow: inset 4px 0 0 var(--destaque); }
.historico-ano { text-align: left; font: 700 20px 'Barlow Condensed', sans-serif; color: var(--destaque); padding: 7px 10px; }
.historico-clube { display: block; font: 600 18px 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.historico-treinador { display: block; font-size: 13px; color: var(--texto-suave); }
.tabela-historico td.seu .historico-treinador { color: var(--destaque); }
.historico-copa { color: var(--destaque); }
.historico-final { display: block; font-size: 12px; color: var(--texto-suave); }
.historico-nota { margin: 0; padding: 12px 16px 14px; font-size: 14px; border-top: 1px solid var(--borda); }

/* Janela do estádio (modelo 6c, rev. 55). */
a.financas-link { color: var(--texto); text-decoration: none; }
a.financas-link:hover, a.financas-link:focus-visible { border-color: var(--destaque); }
.financas-abrir { margin-left: 6px; color: var(--destaque); letter-spacing: 0.04em; text-transform: none; }
.ficha-numero.neutro { color: var(--texto); }
.estadio-ampliar { display: flex; flex-direction: column; gap: 10px; padding: 14px 20px 18px; border-top: 1px solid var(--borda); }
.estadio-ampliar-titulo { font: 600 19px 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.estadio-ampliar .destaque { color: var(--destaque); }
.estadio-acoes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.estadio-nota { font-size: 13px; }

/* Janelas de decisão, centralizadas (rev. 81). */
.janela.patrocinio, .janela.aumento, .janela.convite { margin: auto; }

/* Propostas de patrocínio (modelo 9a, rev. 55). */
.patrocinio-topo { flex-direction: column; align-items: flex-start; gap: 4px; }
.patrocinio-lista { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; }
.patrocinio-proposta { display: flex; gap: 12px; padding: 14px 16px; border-top: 1px solid rgba(31, 90, 58, 0.6); cursor: pointer; }
.patrocinio-proposta:has(input:checked) { background: rgba(242, 201, 76, 0.12); box-shadow: inset 4px 0 0 var(--destaque); }
.patrocinio-proposta input { width: 20px; height: 20px; margin: 4px 0 0; accent-color: var(--destaque); flex: none; }
.patrocinio-texto { display: flex; flex-direction: column; gap: 4px; flex: 1 1 auto; min-width: 0; }
.patrocinio-linha { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.patrocinio-nome { font: 600 20px 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.patrocinio-agora { font: 700 20px 'Barlow Condensed', sans-serif; color: var(--destaque); }
.patrocinio-regra { font-size: 15px; }
.patrocinio-nota { font-size: 13px; }

/* Pedido de aumento (modelo 10a, rev. 58). */
.aumento-jogador { padding: 16px 20px; }
.aumento-salario { font-size: 30px; }
.aumento-acoes { padding: 12px 20px; border-top: 1px solid var(--borda); }
.aumento-nota { margin: 0; padding: 0 20px 14px; font-size: 13px; }

/* Convite (modelo 11a) e aviso de demissão (11b), rev. 62 */
.janela.convite { max-width: 620px; border-color: var(--destaque); }
.janela.convite.convite-oferta { max-width: 700px; }
.janela.convite.demitido { max-width: 520px; border-color: #F87171; }
.janela.convite.continua { max-width: 520px; border-color: #FBBF24; }
.convite-topo {
	display: flex; flex-direction: column; align-items: center; gap: 12px;
	padding: 26px 20px 20px; text-align: center;
	background: var(--campo-faixa); border-bottom: 1px solid var(--borda);
}
.rotulo.destaque { color: var(--destaque); }
.rotulo.aviso-vermelho { color: #FCA5A5; }
.rotulo.aviso-amarelo { color: #FCD34D; }
.convite-nome { margin: 0; font: 700 38px 'Barlow Condensed', sans-serif; line-height: 1; text-transform: uppercase; }
.convite-frase { margin: 0; max-width: 460px; font-size: 18px; line-height: 1.4; color: var(--texto-claro); }
.convite-pergunta { margin: 0; font: 600 22px 'Barlow Condensed', sans-serif; }
.convite-comparacao { display: grid; grid-template-columns: 1fr auto 1fr; border-bottom: 1px solid var(--borda); }
.convite-clube { display: flex; flex-direction: column; gap: 6px; padding: 16px; font-size: 15px; color: var(--texto-claro); }
.convite-clube.novo { background: rgba(242, 201, 76, 0.08); }
.convite-clube-nome { font: 700 22px 'Barlow Condensed', sans-serif; text-transform: uppercase; color: var(--texto); }
.convite-seta { align-self: center; margin: 0 4px; color: var(--destaque); }
.convite-moral { display: inline-flex; align-items: center; gap: 8px; }
.bola-moral { width: 10px; height: 10px; flex: none; border-radius: 50%; }
.bola-moral.moral-verde { background: #4ADE80; }
.bola-moral.moral-amarelo { background: #FBBF24; }
.bola-moral.moral-vermelho { background: #F87171; }
a.convite-clube-nome { text-decoration: underline; text-decoration-color: rgba(242, 201, 76, 0.6); text-underline-offset: 3px; }
a.convite-clube-nome:hover { color: var(--destaque); }
.convite-dica { margin: 0; padding: 10px 20px 0; font-size: 13px; color: var(--texto-suave); }
.convite-texto { margin: 0; padding: 14px 20px; font-size: 15px; line-height: 1.45; color: var(--texto-claro); border-bottom: 1px solid var(--borda); }
.convite-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; padding: 18px 16px; }
.convite-acoes .botao, .convite-acoes .botao-contorno { min-height: 48px; padding: 0 22px; }
.aviso-clube { display: flex; align-items: center; gap: 14px; padding: 16px 20px; border-bottom: 1px solid var(--borda); }
.aviso-clube.pilha-curta { flex-direction: column; align-items: flex-start; }
.texto-claro { font-size: 15px; color: var(--texto-claro); }
@media (max-width: 520px) {
	.convite-comparacao { grid-template-columns: 1fr; }
	.convite-seta { transform: rotate(90deg); }
}

/* Faixa do clube na janela da classificação (modelo 11c, rev. 62) */
.clube-faixa {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1px;
	background: var(--borda); border-bottom: 1px solid var(--borda);
}
.clube-faixa > div { display: flex; flex-direction: column; gap: 4px; padding: 12px 16px; background: var(--cartao); }
.clube-faixa-numero { font: 700 26px 'Barlow Condensed', sans-serif; }
.clube-faixa-ultimos { font-size: 22px; letter-spacing: 0.08em; }
.clube-faixa-escala { font-size: 12px; }

/* Linhas da copa no extrato (modelo 12f, rev. 71) */
.tabela-extrato tr.da-copa td { background: rgba(242, 201, 76, 0.05); }
.extrato-copa { color: var(--destaque); font-weight: 700; }
.extrato-etapa { color: var(--destaque); }
/* Continental em azul-claro, para não confundir com a copa em amarelo (modelos 13c e 13d, rev. 79). */
.jogo-grupo { font: 700 15px 'Barlow Condensed', sans-serif; text-transform: uppercase; letter-spacing: 0.04em; color: var(--texto-suave); }
.rotulo.rotulo-continental { color: var(--continental); }
.rotulo.rotulo-mundial { color: var(--mundial); }
.calendario-mundial { font-weight: 700; font-size: 14px; color: var(--mundial); line-height: 1.2; }
.tabela-calendario tr.do-mundial td, .tabela-extrato tr.do-mundial td { background: rgba(205, 184, 245, 0.08); }
.extrato-mundial { color: var(--mundial); font-weight: 700; }
.mundial-chave { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; padding: 12px 16px; align-items: start; }
.mundial-jogo { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--borda); border-left: 4px solid var(--mundial); border-radius: 6px; }
.mundial-jogo > :last-child { text-align: right; }
.mundial-placar { white-space: nowrap; }
.mundial-venceu { font-weight: 700; }
.grupos-continental { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; padding: 16px; }
.grupo-caixa { background: var(--cartao); border: 1px solid var(--borda); border-radius: 10px; padding: 12px; min-width: 0; }
.grupo-caixa.seu { border-color: var(--destaque); }
.grupo-tabela { width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.grupo-tabela caption { text-align: left; font: 700 20px 'Barlow Condensed', sans-serif; padding: 0 0 6px; }
.grupo-tabela th { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--texto-suave); text-align: left; padding: 4px 6px; }
.grupo-tabela td { padding: 6px; border-top: 1px solid rgba(31, 90, 58, 0.6); }
.grupo-tabela .num { text-align: right; }
.grupo-tabela .nome { font-weight: 600; }
.grupo-tabela tr.passa td:first-child { box-shadow: inset 4px 0 0 #3FB37F; }
.grupo-tabela tr.do-usuario td { background: rgba(242, 201, 76, 0.12); }
.calendario-continental { font-weight: 700; font-size: 14px; color: var(--continental); line-height: 1.2; }
.tabela-calendario tr.da-continental td, .tabela-extrato tr.da-continental td { background: rgba(142, 201, 240, 0.06); }
.extrato-continental { color: var(--continental); font-weight: 700; }
.financas-continental { border-color: var(--continental); }
.financas-continental .rotulo { color: var(--continental); }
.financas-copa { border-color: var(--destaque); }
.financas-copa .rotulo { color: var(--destaque); }

/* Etapa da copa no quadro (modelo 12b, rev. 71) */
.relogio-prorrogacao { font-size: 13px; color: var(--destaque); }
.jogos-rodada.com-total { min-width: 900px; }
.jogos-rodada.com-total .jogo-linha { grid-template-columns: 72px minmax(0, 1fr) 88px minmax(0, 1fr) 120px 210px; }
.jogo-total { display: flex; flex-direction: column; align-items: center; gap: 1px; font-size: 13px; font-variant-numeric: tabular-nums; }
.jogo-total strong { font: 700 17px 'Barlow Condensed', sans-serif; }
.jogo-total strong.empatado { color: var(--destaque); }
.jogo-clube.passa .jogo-nome { color: var(--destaque); }
.jogo-clube.sai .jogo-nome { color: var(--texto-suave); }
.ultimo-lance.passa { color: var(--destaque); }

/* Aba Copa (modelo 12a, rev. 71) */
.copa-seu-clube { align-items: flex-end; }
.copa-situacao { font: 700 22px 'Barlow Condensed', sans-serif; color: var(--destaque); }
.copa-fases { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
.copa-fase a { display: flex; flex-direction: column; gap: 2px; min-height: 44px; box-sizing: border-box; padding: 10px 14px; border-radius: 10px; color: inherit; text-decoration: none; }
.copa-fase.terminada a { background: var(--cartao); border: 1px solid #3C7A57; color: var(--texto-claro); }
.copa-fase.jogando a { background: var(--cartao); border: 1px solid var(--destaque); }
.copa-fase.aguardando a { border: 1px dashed var(--borda); color: var(--texto-suave); }
.copa-fase.mostrada a { background: var(--destaque); border-color: var(--destaque); color: #1A1A12; }
.copa-fase-nome { font: 700 20px 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.copa-fase-quando { font-size: 13px; opacity: 0.85; }
.tabela-copa td.centro, .tabela-copa th.centro { text-align: center; }
.copa-placar { font: 700 18px 'Barlow Condensed', sans-serif; font-variant-numeric: tabular-nums; }
.copa-total { display: inline-flex; flex-direction: column; align-items: flex-end; }
.copa-total strong { font: 700 18px 'Barlow Condensed', sans-serif; }
.copa-total .suave { font-size: 12px; white-space: nowrap; }
.copa-passa { color: var(--destaque); }
.copa-sai { color: var(--texto-suave); text-decoration: line-through; }
.copa-chave { display: flex; flex-direction: column; gap: 10px; padding: 12px 16px 16px; }
.copa-jogo-chave { padding: 8px 12px; border-radius: 8px; border: 1px solid var(--borda); font: 600 16px 'Barlow Condensed', sans-serif; text-transform: uppercase; color: var(--texto-claro); }
.copa-jogo-chave.do-usuario { background: rgba(242, 201, 76, 0.12); border-color: var(--destaque); color: var(--texto); }
.copa-jogo-chave.em-aberto { border-style: dashed; color: var(--texto-suave); }
.copa-campeao { margin: 0; font: 700 24px 'Barlow Condensed', sans-serif; color: var(--destaque); text-transform: uppercase; }

/* Ano no topo, patrocinador junto ao escudo e maleta do contrato (modelos 14a e 14d, rev. 83). */
.topo-ano { font-family: Barlow, system-ui, sans-serif; font-weight: 600; font-size: 13px; color: var(--texto-suave); margin-left: 4px; letter-spacing: 0; }
.clube-patrocinador { display: flex; flex-direction: column; gap: 1px; padding-left: 14px; border-left: 1px solid var(--borda); font-size: 13px; font-weight: 600; }
.clube-patrocinador .rotulo { font-size: 10px; }
.coluna-contrato { width: 18px; padding-left: 0 !important; padding-right: 0 !important; text-align: center; }
.maleta { color: var(--destaque); vertical-align: -2px; }
.ficha-contrato { margin: 0 20px 18px; padding: 10px 12px; border: 1px solid var(--borda); border-radius: 8px; font-size: 14px; color: var(--texto-claro); }

/* Vagas da continental e campeão matemático na classificação (modelo 14c, rev. 83). */
.tabela-classificacao tr.vaga-continental td:first-child { box-shadow: inset 4px 0 0 var(--continental); }
.marca-continental { width: 12px; height: 12px; border-radius: 3px; background: var(--continental); }
.trofeu { flex: none; color: var(--destaque); }

/* Jogo em arquivo (modelos 16a a 16d, SPEC §3.5). */
.acoes-jogo { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.acao-apagar { color: var(--erro-texto); }
.carregar-arquivo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; border-top: 1px solid var(--borda); }
.nome-clube.pequeno { font-size: 18px; }
.escolher-arquivo { position: relative; cursor: pointer; }
.escolher-arquivo:focus-within { outline: 2px solid var(--destaque-claro); outline-offset: 2px; }
.arquivo-oculto { position: absolute; width: 1px; height: 1px; opacity: 0; }
.janela-apagar { max-width: 520px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.botao-perigo { min-height: 44px; padding: 0 18px; border: 0; border-radius: 6px; background: var(--erro); color: #fff; font: 600 16px Barlow, system-ui, sans-serif; cursor: pointer; }
.botao-perigo:hover { filter: brightness(1.1); }

/* Banco editável no novo jogo (modelos 17a a 17c, SPEC §3.5). */
.opcoes-banco { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 12px; }
.opcao-banco { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 1px solid var(--borda); border-radius: 10px; }
.opcao-banco.marcada { border: 2px solid var(--destaque); }
.lista-problemas { margin: 8px 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }

/* Jogo em rede (modelos 18a a 18d, rev. 92). */
.opcao-quem { cursor: pointer; }
.opcao-quem:has(input:checked) { border: 2px solid var(--destaque); }
.opcao-quem input { accent-color: var(--destaque); }
/* passo 4 do novo jogo: os textos mudam com "Quem joga" */
.em-rede { display: none; }
.pilha-larga:has(input[name=emRede][value=true]:checked) .em-rede { display: inline; }
.pilha-larga:has(input[name=emRede][value=true]:checked) .so-eu { display: none; }
.selo-rede { margin-left: 8px; padding: 1px 8px; border-radius: 999px; background: var(--continental); color: #0B2233; font: 700 12px Barlow, sans-serif; letter-spacing: .06em; vertical-align: middle; text-transform: none; }
.sala-corpo { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr); gap: 20px; align-items: start; }
@media (max-width: 900px) { .sala-corpo { grid-template-columns: 1fr; } }
.sala-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 12px 20px; border-top: 1px solid rgba(31, 90, 58, .6); }
.sala-linha:first-of-type { border-top: 0; }
.sala-linha.sem-borda { padding: 0; border: 0; }
.sala-linha .linha-jogo-texto { flex: 1 1 180px; }
.sala-nome { font-weight: 600; font-size: 17px; }
.escudo-vazio { width: 32px; height: 38px; flex: none; border-radius: 5px 5px 16px 16px; border: 1px dashed var(--texto-suave); box-sizing: border-box; }
.estado { flex: none; padding: 2px 10px; border-radius: 999px; font: 600 13px Barlow, sans-serif; white-space: nowrap; justify-self: end; }
.estado-pronto { background: #3FB37F; color: #062014; border: 1px solid #3FB37F; }
.estado-mexendo { color: var(--destaque); border: 1px solid var(--destaque); }
.estado-fora { color: var(--texto-suave); border: 1px dashed var(--texto-suave); }
.link-linha { display: flex; gap: 8px; }
.link-linha input { flex: 1; min-width: 0; min-height: 44px; padding: 0 12px; background: var(--campo); color: var(--texto); border: 1px solid var(--borda); border-radius: 8px; font: 500 14px Barlow, sans-serif; }
.alinhar-inicio { align-self: flex-start; }
.cartao-convite { display: flex; flex-direction: column; gap: 14px; padding: 20px; background: var(--cartao); border: 1px solid var(--borda); border-radius: 12px; }
.convite-pagina { max-width: 520px; margin: 24px auto; }
.sala-mini { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; align-items: center; font-size: 15px; }
.aviso-sala { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-radius: 10px; border: 1px solid var(--continental); background: rgba(142, 201, 240, 0.10); font-size: 15px; }
/* faixa "Aguardando" do jogo em rede (modelo 18e) */
.turno .sala-mini { padding: 4px 0; }
.turno-clube { display: block; font-size: 13px; }
.turno-tirar { font-size: 13px; color: var(--erro); }
.ok-dado { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--continental); background: rgba(142, 201, 240, 0.10); }
.leiloes .turno { margin-bottom: 16px; }
/* "Convidar pessoas" do administrador (modelo 20c) */
.convidar { display: flex; flex-direction: column; gap: 12px; }
.link-gerado { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border: 1px solid #3FB37F; border-radius: 10px; background: rgba(63, 179, 127, .08); }
.link-gerado .rotulo { color: #3FB37F; }
/* aba "Comprar" (modelo 20b) */
.filtros { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: flex-end; padding: 16px 18px; background: var(--cartao); border: 1px solid var(--borda); border-radius: 12px; }
.filtro { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; border: 0; font-size: 14px; color: var(--texto-suave); }
.filtro legend { padding: 0; margin-bottom: 6px; }
.filtro-marcar { flex-direction: row; align-items: center; gap: 8px; min-height: 44px; color: var(--texto); }
.filtro-acoes { display: flex; gap: 8px; align-items: center; }
.chips { display: flex; gap: 6px; }
.chip { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--borda); background: var(--campo); color: var(--texto); font: 600 15px Barlow, sans-serif; cursor: pointer; }
.chip input { position: absolute; opacity: 0; pointer-events: none; }
.chip:has(input:checked) { background: var(--destaque); color: #1A1A0A; border-color: var(--destaque); }
.chip:has(input:focus-visible) { outline: 2px solid var(--destaque); outline-offset: 2px; }
.faixa-num { display: flex; align-items: center; gap: 6px; color: var(--texto); }
.faixa-num input { width: 104px; min-height: 44px; padding: 0 10px; background: var(--campo); color: var(--texto); border: 1px solid var(--borda); border-radius: 8px; font: 500 15px Barlow, sans-serif; }
.contagem { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
/* meta do patrocínio (modelos 19 e 20a) */
.clube-meta { color: var(--texto); text-decoration: none; }
.clube-meta:hover span:last-child { text-decoration: underline; }
.clube-meta.cumprida span:last-child { color: #3FB37F; }
.clube-meta.perdida span:last-child { color: var(--texto-suave); }
.meta-patrocinio { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 20px; align-items: center; padding: 14px 18px; background: var(--cartao); border: 1px solid var(--destaque); border-radius: 12px; }
.meta-patrocinio .rotulo { color: var(--destaque); }
.meta-texto { font-size: 17px; color: var(--texto); }
.meta-texto b { color: var(--destaque); }
.meta-situacao { grid-column: 1; font-size: 15px; color: var(--texto-suave); }
.meta-barra { grid-column: 1; height: 8px; border-radius: 4px; background: var(--borda); overflow: hidden; }
.meta-barra span { display: block; height: 100%; background: var(--destaque); }
.meta-valor { grid-column: 2; grid-row: 1 / span 4; text-align: right; display: flex; flex-direction: column; gap: 2px; }
.meta-valor .financas-numero { color: var(--destaque); }
.meta-patrocinio.cumprida { border-color: #3FB37F; }
.meta-patrocinio.cumprida .rotulo, .meta-patrocinio.cumprida .meta-valor .financas-numero { color: #3FB37F; }
.meta-patrocinio.cumprida .meta-barra span { background: #3FB37F; }
.meta-patrocinio.perdida { border-color: var(--borda); border-style: dashed; }
.meta-patrocinio.perdida .rotulo, .meta-patrocinio.perdida .meta-valor .financas-numero { color: var(--texto-suave); }
.inicio .convidar { flex: 1 1 100%; }
.convidar form .botao { align-self: flex-start; padding: 0 28px; }

/* asteriscos em campo acima do limite (SPEC §5.3): o número fica em vermelho */
.resumo dd.acima-do-limite { color: var(--erro); font-weight: 700; }

/* Configurações · imagem de fundo (modelo 22, rev. 139) */
.configuracoes { max-width: 520px; }
.configuracoes .titulo-secao { margin-top: 8px; }
.previa-fundo {
	height: 140px;
	border-radius: 8px;
	border: 1px solid var(--borda);
	background: repeating-linear-gradient(180deg, var(--campo-faixa) 0 16px, var(--campo) 16px 32px);
	display: flex;
	align-items: flex-end;
	padding: 8px;
	box-sizing: border-box;
	color: var(--texto-claro);
	font-size: 12px;
}
.previa-fundo.com-imagem { background-size: cover; background-position: center; }
.previa-fundo span { background: rgba(8, 39, 23, 0.8); padding: 2px 6px; border-radius: 4px; }
.acoes-fundo { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

/* Usuários do master (modelo 23, rev. 140) */
.usuarios-pagina { max-width: none; width: 100%; }
.cartao.usuarios { max-width: none; width: 100%; gap: 14px; }
.usuarios-topo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.usuarios-convite { display: flex; align-items: center; gap: 12px; }
.abas-usuarios { display: flex; gap: 8px; }
.abas-usuarios a { padding: 4px 14px; border: 1px solid var(--borda); border-radius: 999px; color: var(--texto-claro); text-decoration: none; font: 600 15px 'Barlow Condensed', sans-serif; }
.abas-usuarios a.atual { background: var(--destaque); border-color: var(--destaque); color: var(--cartao); }
.tabela-rolagem { overflow-x: auto; }
.tabela-usuarios { width: 100%; border-collapse: collapse; font-size: 14px; }
.tabela-usuarios th { text-align: left; font: 600 13px 'Barlow Condensed', sans-serif; text-transform: uppercase; color: var(--texto-suave); padding: 6px 8px; border-bottom: 1px solid var(--borda); }
.tabela-usuarios td { padding: 8px; border-bottom: 1px solid rgba(31, 90, 58, .6); vertical-align: middle; }
.tabela-usuarios select { background: var(--campo); color: var(--texto); border: 1px solid var(--borda); border-radius: 6px; padding: 4px 6px; font: 14px Barlow, sans-serif; }
.selo-perfil { display: inline-block; padding: 2px 8px; border-radius: 999px; background: var(--campo-faixa); color: var(--texto-claro); font: 700 12px 'Barlow Condensed', sans-serif; letter-spacing: .05em; }
.selo-perfil.master { background: var(--destaque); color: var(--cartao); }
.selo-vencida { display: inline-block; margin-left: 4px; padding: 1px 7px; border-radius: 999px; background: var(--erro); color: #fff; font: 700 12px 'Barlow Condensed', sans-serif; letter-spacing: .05em; }
.acoes-usuario { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.acoes-usuario a, .botao-texto { color: var(--destaque); font: 14px Barlow, sans-serif; text-decoration: underline; background: none; border: 0; padding: 0; cursor: pointer; }
.acoes-usuario a.perigo { color: var(--erro-texto); }
.lista-impacto { margin: 4px 0 0; padding-left: 20px; color: var(--texto-claro); }
/* "Administrar usuários" no Início do master (23a) e vagas do administrador comum (23e) */
.cartao-master { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.vagas { display: flex; gap: 8px; }
.vaga { flex: 1; border: 1px solid var(--borda); border-radius: 8px; padding: 8px 10px; font-size: 14px; color: var(--texto-claro); }
.vaga.ocupada { background: var(--campo-faixa); }

/* Convite por e-mail (modelo 24, rev. 141) */
.linha-convite { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.linha-convite .campo-form { flex: 1 1 260px; margin: 0; }

/* Telas no tablet e no celular (modelos 26a a 26c, rev. 152). A página nunca rola para o lado: tabelas largas
   deslizam dentro do próprio quadro. */
/* Texto escondido (.oculto) dentro de tabela: sem um ancestral posicionado ele escapava da rolagem e alargava a página. */
.grupo, .tabela-rolagem, .rolagem { position: relative; }
.topo-menu, .botao-filtros { display: none; }
.patro-botao { display: none; }
.janela-abas-celular, .janela-acoes-celular { display: none; }
.abas-faixa { position: relative; align-self: flex-start; max-width: 100%; }
.abas-faixa > .abas { align-self: auto; }
.seta-abas { position: absolute; top: 1px; bottom: 1px; width: 52px; display: flex; align-items: center; border: 0; cursor: pointer;
	color: var(--destaque); font: 700 30px 'Barlow Condensed', sans-serif; line-height: 1; }
.seta-abas[hidden] { display: none; }
.seta-abas.direita { right: 1px; justify-content: flex-end; padding: 0 10px 4px 0; border-radius: 0 10px 10px 0;
	background: linear-gradient(90deg, rgba(8, 39, 23, 0), var(--cartao) 55%); }
.seta-abas.esquerda { left: 1px; justify-content: flex-start; padding: 0 0 4px 10px; border-radius: 10px 0 0 10px;
	background: linear-gradient(270deg, rgba(8, 39, 23, 0), var(--cartao) 55%); }
/* Janela do contrato do patrocínio (modelo 26d): <dialog> nativo. */
dialog.patro-janela { padding: 0; max-width: 440px; margin: auto; }
dialog.patro-janela:not([open]) { display: none; }
dialog.patro-janela::backdrop { background: rgba(2, 14, 8, 0.6); }
.patro-janela-corpo { display: flex; flex-direction: column; gap: 12px; padding: 16px 20px 20px; }
.patro-janela-corpo p { margin: 0; }
.patro-janela .destaque { color: var(--destaque); }
.detalhe-celular { display: none; }

@media (max-width: 900px) {
	/* Abas numa faixa que desliza com o dedo. */
	.abas { flex-wrap: nowrap; overflow-x: auto; align-self: stretch; scrollbar-width: none; }
	.abas::-webkit-scrollbar { display: none; }
	.aba { flex: none; white-space: nowrap; }
	.abas-faixa { align-self: stretch; }
	/* Rodada ao vivo no tablet: colunas mais estreitas, sem rolagem dentro do quadro. */
	.jogos-rodada, .jogos-rodada.com-total { min-width: 0; }
	.jogo-linha { grid-template-columns: 48px minmax(0, 1fr) 80px minmax(0, 1fr) minmax(0, 150px); column-gap: 10px; padding: 8px 12px; }
	.jogos-rodada.com-total .jogo-linha { grid-template-columns: 48px minmax(0, 1fr) 80px minmax(0, 1fr) 96px minmax(0, 120px); }
	.jogo-nome { font-size: 18px; }
}

@media (max-width: 640px) {
	.campo-pagina { padding: 16px 12px 32px; }
	.pagina { gap: 14px; }

	/* Topo numa linha; Jogos gravados, Configurações e Sair no "☰ Menu". */
	.topo { flex-wrap: wrap; padding: 10px 14px; gap: 8px; }
	.topo-marca { font-size: 22px; }
	.topo-menu { display: inline-flex; align-items: center; min-height: 38px; padding: 0 12px; font-size: 15px; color: var(--texto); }
	.topo-usuario { display: none; flex-basis: 100%; flex-direction: column; align-items: stretch; gap: 4px; padding-top: 8px; border-top: 1px solid var(--borda); }
	.topo.aberto .topo-usuario { display: flex; }
	.topo-usuario > a { padding: 8px 0; }
	.topo-usuario > span { padding: 4px 0; color: var(--texto-suave); }
	.topo-usuario .botao-discreto { width: 100%; }

	.abas { padding: 4px; gap: 4px; }

	/* Patrocinador e meta saem do lado do escudo e viram um botão largo (modelo 26d). */
	.clube-identidade > .clube-patrocinador { display: none; }
	.patro-botao { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 10px; align-items: center; width: 100%;
		padding: 8px 12px; text-align: left; cursor: pointer; background: rgba(242, 201, 76, 0.06); border: 1px solid var(--borda); border-radius: 10px;
		color: var(--texto); font: 600 14px Barlow, sans-serif; }
	.patro-botao > span:not(.patro-seta) { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
	.patro-botao .rotulo { font-size: 10px; }
	.patro-botao:not(:has(.clube-meta)) { grid-template-columns: minmax(0, 1fr) auto; }
	.patro-seta { color: var(--destaque); font: 700 26px 'Barlow Condensed', sans-serif; line-height: 1; }
	dialog.patro-janela { max-width: none; width: 100%; height: 100%; max-height: none; margin: 0; }
	.aba { min-height: 36px; padding: 0 12px; font-size: 14px; }

	/* Plantel: temperamento, gols e amarelos embaixo do nome. */
	.tabela-plantel { min-width: 0; font-size: 14px; }
	.tabela-plantel th, .tabela-plantel td { padding-left: 6px; padding-right: 6px; }
	.tabela-plantel .coluna-larga { display: none; }
	.tabela-plantel .jogador-celula { white-space: normal; }
	.detalhe-celular { display: block; font-size: 12px; color: var(--texto-suave); }

	/* "Confirmar e jogar" preso no rodapé. */
	.jogar-fixo { position: fixed; left: 0; right: 0; bottom: 0; z-index: 5; display: flex; flex-direction: column; gap: 4px;
		padding: 16px max(12px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
		background: linear-gradient(rgba(3, 26, 14, 0), rgba(3, 26, 14, 0.96) 30%); }
	.jogar-fixo #jogar-ajuda { font-size: 12px; }
	.campo-pagina:has(.jogar-fixo) { padding-bottom: 120px; }

	/* Rodada ao vivo (modelo 26b): mandante, placar e visitante numa linha; o jogo do treinador no alto;
	   o último lance e o público de cada jogo em linhas pequenas embaixo (rev. 155). */
	.jogos-rodada, .jogos-rodada.com-total { min-width: 0; }
	.jogo-linha, .jogos-rodada.com-total .jogo-linha {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		grid-template-areas: "mandante placar visitante" "total total total" "lance lance lance" "publico publico publico";
		column-gap: 8px; row-gap: 2px; padding: 7px 10px; }
	.jogo-linha .jogo-clube.mandante { grid-area: mandante; }
	.jogo-linha .placar { grid-area: placar; }
	.jogo-linha .jogo-clube:not(.mandante) { grid-area: visitante; }
	.jogo-linha .jogo-total { grid-area: total; flex-direction: row; justify-content: center; gap: 8px; }
	.jogo-linha .ultimo-lance { grid-area: lance; justify-content: center; font-size: 12px; }
	.jogo-linha .jogo-publico { grid-area: publico; text-align: center; font-size: 12px; }
	.jogo-linha .jogo-publico::before { content: "Público "; }
	.jogo-linha.do-usuario { order: -1; }
	.jogo-clube { gap: 6px; }
	.jogo-clube > span[aria-hidden="true"] { display: none; }
	.jogo-nome { font-size: 15px; }
	.placar span { min-width: 26px; height: 26px; font-size: 18px; }

	/* Convite de outro clube (modelo 26i): escudo pequeno ao lado do nome; Hoje → Convite lado a lado;
	   Aceitar e Recusar com a largura toda, fixos no rodapé da janela. As janelas de demissão não mudam. */
	.convite-oferta { display: flex; flex-direction: column; }
	.convite-oferta .convite-topo { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; justify-items: start;
		gap: 6px 12px; padding: 14px; text-align: left; }
	.convite-oferta .convite-topo > :not(.convite-escudo):not(.convite-nome) { grid-column: 1 / -1; }
	.convite-oferta .convite-escudo { width: 40px !important; height: 48px !important; }
	.convite-oferta .convite-nome { font-size: 28px; }
	.convite-oferta .convite-frase { font-size: 15px; }
	.convite-oferta .convite-pergunta { font-size: 18px; }
	.convite-oferta .convite-comparacao { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: start; gap: 4px; padding: 10px; }
	.convite-oferta .convite-seta { transform: none; align-self: center; margin: 0; }
	.convite-oferta .convite-clube { padding: 8px; gap: 3px; font-size: 13px; min-width: 0; }
	.convite-oferta .convite-clube.novo { border: 1px solid rgba(242, 201, 76, 0.35); border-radius: 8px; }
	.convite-oferta .convite-clube-nome { font-size: 17px; line-height: 1.1; overflow-wrap: anywhere; }
	.convite-oferta .convite-dica { padding: 10px 14px 0; }
	.convite-oferta .convite-texto { padding: 10px 14px 14px; font-size: 14px; }
	.convite-oferta .convite-acoes { position: sticky; bottom: 0; margin-top: auto; flex-direction: column-reverse; flex-wrap: nowrap; gap: 8px;
		padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px)); background: var(--cartao); border-top: 1px solid var(--borda); }
	.convite-oferta .convite-acoes > * { width: 100%; justify-content: center; text-align: center; }
	.convite-oferta .convite-recusar { min-height: 42px; font-size: 14px; padding: 6px 12px; }

	/* Usuários do master (modelo 26h): cada conta num cartão; nome e perfil, e-mail, uma linha pequena
	   com criação, acesso, convite e jogos, e as ações embaixo. */
	.tabela-usuarios thead { display: none; }
	.tabela-usuarios tr { display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; row-gap: 3px;
		padding: 12px 0; border-bottom: 1px solid rgba(31, 90, 58, 0.6); }
	.tabela-usuarios td { padding: 0; border: 0; }
	.tabela-usuarios .u-nome { order: 1; flex: 1 1 0; min-width: 0; font-weight: 600; font-size: 16px; }
	.tabela-usuarios .u-perfil { order: 2; flex: none; }
	.tabela-usuarios .u-email { order: 3; flex: 1 0 100%; color: var(--texto-suave); overflow-wrap: anywhere; }
	.tabela-usuarios .u-info { order: 4; flex: none; font-size: 12px; color: var(--texto-suave); }
	.tabela-usuarios .u-info::before { content: attr(data-rotulo); }
	.tabela-usuarios .u-info + .u-info::before { content: "· " attr(data-rotulo); }
	.tabela-usuarios .u-acoes { order: 5; flex: 1 0 100%; padding-top: 4px; }
	.tabela-usuarios .u-acoes .acoes-usuario { gap: 18px; }

	/* Comprar (modelo 26c): filtros atrás do botão; cada jogador em cartão de duas linhas. */
	.botao-filtros { display: inline-flex; align-items: center; align-self: flex-start; min-height: 40px; color: var(--texto); }
	.botao-filtros::after { content: " ▾"; margin-left: 6px; }
	.botao-filtros[aria-expanded="true"]::after { content: " ▴"; }
	.filtros:not(.aberto) { display: none; }
	.tabela-compra { min-width: 0; }
	.tabela-compra thead { display: none; }
	.tabela-compra tbody tr { display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-areas: "pos nome preco" ". nome acao" ". clube acao"; column-gap: 10px; row-gap: 2px; align-items: center;
		padding: 10px 12px; border-top: 1px solid rgba(31, 90, 58, 0.6); }
	.tabela-compra tbody td { padding: 0; border: 0; }
	.tabela-compra td:first-child { grid-area: pos; }
	.tabela-compra .jogador-celula { grid-area: nome; white-space: normal; min-width: 0; }
	.tabela-compra .coluna-larga { display: none; }
	.tabela-compra .preco { grid-area: preco; font: 700 17px 'Barlow Condensed', sans-serif; color: var(--destaque); }
	.tabela-compra .acao { grid-area: acao; text-align: right; }
	.tabela-compra .compra-clube { grid-area: clube; font-size: 13px; min-width: 0; }
	.tabela-compra .jogador-nome { padding-left: 0 !important; }

	/* Janelas ocupam a tela toda no celular. */
	.janela-fundo { padding: 0; align-items: stretch; overflow: hidden; }
	/* A janela rola por dentro: com a altura presa à tela e sem rolagem, o topo ficava inalcançável (rev. 154). */
	.janela, .janela.larga, .janela.ficha, .janela.calendario, .janela.convite, .janela.convite.demitido, .janela.convite.continua, .janela.convite.convite-oferta {
		max-width: none; height: 100%; overflow-y: auto; border-radius: 0; border-width: 0; box-shadow: none; }

	/* Janela do jogo (modelos 26f e 26g): placar fixo, abas Time, Lances e Planteis, rodapé fixo. */
	.janela-jogo { display: flex; flex-direction: column; }
	.janela-jogo > * { flex: none; }
	.janela-jogo .janela-topo { position: sticky; top: 0; z-index: 2; padding: 8px 12px 0; gap: 6px; }
	.janela-jogo .janela-fechar { width: 38px; height: 38px; }
	.janela-jogo .janela-espaco { width: 0; }
	.janela-jogo .janela-linha .suave { font-size: 12px; text-align: left; }
	.janela-placar { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); column-gap: 8px; }
	.janela-placar .jogo-nome { font-size: 16px; }
	.janela-placar .janela-clube > span[aria-hidden="true"] { display: none; }
	.janela-abas-celular { display: flex; }
	.janela-abas-celular button { flex: 1; min-height: 38px; background: transparent; border: 0; border-bottom: 3px solid transparent;
		color: var(--texto-suave); font: 600 14px Barlow, sans-serif; cursor: pointer; }
	.janela-abas-celular button[aria-pressed="true"] { color: var(--texto); border-bottom-color: var(--destaque); }
	.janela-jogo:not([data-aba="lances"]) .janela-lances,
	.janela-jogo:not([data-aba="planteis"]) .janela-abas,
	.janela-jogo[data-aba="lances"] :is(.janela-subs, .janela-times, .janela-rodape),
	.janela-jogo[data-aba="planteis"] :is(.janela-subs, .janela-times, .janela-rodape, .janela-lances) { display: none; }
	.janela-jogo .janela-abas { flex-direction: column; padding: 12px; border: 0; }
	.janela-jogo .janela-lances { border: 0; padding: 10px 12px; }
	.janela-lance { grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr); column-gap: 6px; font-size: 14px; }

	/* Aba Time: avisos (lesão, pênalti, expulsão) primeiro; "Sai" e "Entra" lado a lado. */
	.janela-subs { padding: 10px 12px; gap: 8px; }
	.janela-subs-topo { order: 1; }
	.janela-subs-topo .titulo-coluna { font-size: 15px; }
	.janela-subs-topo .suave { font-size: 12px; }
	.janela-subs > .janela-troca { order: 2; }
	.janela-subs > .alerta, .janela-penalti { margin: 0; }
	.janela-penalti-linha .selecao { min-width: 0; width: 100%; }
	.janela-penalti-linha .botao, .janela-penalti-linha label { display: none; }
	.janela-troca { flex-wrap: nowrap; gap: 6px; }
	.lista-troca.em-campo, .lista-lateral { flex: 1 1 0; min-width: 0; }
	.lista-lateral > .botao, .lista-lateral > .pequeno { display: none; }
	.troca-linha { gap: 5px; padding: 2px 6px; min-height: 36px; font-size: 13px; }
	.troca-pos { width: 12px; }
	.troca-forca { width: 20px; }
	.lista-troca::before { display: block; padding: 5px 6px; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--texto-suave); }
	.lista-troca.em-campo::before { content: "Sai · em campo"; }
	.lista-lateral .lista-troca::before { content: "Entra · banco"; }
	.janela-times { grid-template-columns: 1fr 1fr; gap: 6px; padding: 10px 12px; }
	.janela-times .titulo-coluna.pequeno { font-size: 13px; }
	.janela-rodape { padding: 10px 12px; }
	/* Só na janela do jogo: o "Continuar" mora no rodapé fixo. As outras janelas (propostas de patrocínio)
	   mantêm o próprio rodapé com o botão de ação. */
	.janela-jogo .janela-rodape:not(.com-caixas) { display: none; }
	.janela-jogo .janela-rodape #form-continuar { display: none; }
	.caixas-parar { gap: 10px 14px; font-size: 13px; }
	.janela-acoes-celular { display: flex; gap: 8px; position: sticky; bottom: 0; z-index: 2; margin-top: auto;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)); background: var(--cartao); border-top: 1px solid var(--borda); }
	.janela-acoes-celular > * { flex: 1; min-height: 46px; padding: 0 8px; }
	.janela.patrocinio, .janela.aumento, .janela.convite { margin: 0; }
}

/* Termos, privacidade e aceite (modelos 28a, 28e e 28f, rev. 162). */
.rodape { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 20px; font-size: 14px; color: var(--texto-suave); }
.centro { text-align: center; margin: 0; }
.campo-aceite { display: flex; flex-direction: column; gap: 6px; }
.aceite { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: var(--texto-claro); cursor: pointer; }
.aceite input { flex: none; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--destaque); }
.aceite input[aria-invalid="true"] { outline: 2px solid var(--erro); outline-offset: 2px; }
.lista-mudancas { margin: 0; padding-left: 20px; color: var(--texto-claro); }
.texto-legal { max-width: 760px; align-self: center; width: 100%; gap: 0; line-height: 1.55; overflow-wrap: anywhere; }
.texto-legal h1 { margin: 0 0 4px; font: 700 28px/1.15 'Barlow Condensed', sans-serif; color: var(--destaque); text-transform: uppercase; }
.texto-legal h2 { margin: 24px 0 8px; font-size: 20px; }
.texto-legal p, .texto-legal ul { margin: 0 0 10px; }
.texto-legal ul { padding-left: 22px; }
.texto-legal li { margin-bottom: 4px; }
.texto-legal table { width: 100%; border-collapse: collapse; margin: 6px 0 14px; font-size: 14px; display: block; overflow-x: auto; }
.texto-legal th, .texto-legal td { text-align: left; vertical-align: top; padding: 8px 6px; border-bottom: 1px solid var(--borda); }
.texto-legal th { color: var(--texto-suave); font-weight: 600; }
.texto-legal a { white-space: nowrap; }
