/* =====================================================================
   RADAR ESPORTIVO — identidade visual
   Placar de TV: fundo claro, azul-marinho das transmissões e amarelo de placar.
   Display: Barlow Condensed (placar). Texto: Inter.
   ===================================================================== */
:root {
  /* Placar de TV: fundo claro, azul-marinho das transmissões e amarelo de placar */
  --fundo: #EEF1F7;
  --fundo-2: #E5EAF3;
  --cartao: #FFFFFF;
  --cartao-2: #F5F7FB;
  --linha: #E3E8F1;
  --linha-forte: #CBD4E3;
  --texto: #0A1A3F;
  --suave: #56627E;
  --apagado: #8B95AC;
  --marinho: #0A1A3F;
  --marinho-2: #13285C;
  --acento: #1F4FD1;
  --acento-luz: rgba(31, 79, 209, .10);
  --verde: #0E9F4F;
  --verde-escuro: #087A3B;
  --verde-luz: rgba(14, 159, 79, .12);
  --amarelo: #FFC400;
  --amarelo-texto: #9A6B00;
  --amarelo-luz: rgba(255, 196, 0, .18);
  --vermelho: #E11D48;
  --vermelho-luz: rgba(225, 29, 72, .10);
  --azul: #1F4FD1;
  --raio: 12px;
  --raio-p: 8px;
  --display: 'Barlow Condensed', 'Arial Narrow', 'Roboto Condensed', system-ui, sans-serif;
  --corpo: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --sombra: 0 1px 2px rgba(10, 26, 63, .06), 0 4px 14px rgba(10, 26, 63, .05);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; font: 15px/1.55 var(--corpo); color: var(--texto); background: var(--fundo);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { background: var(--amarelo); color: var(--marinho); }

/* ---------- topo ---------- */
.topo { position: sticky; top: 0; z-index: 10; background: var(--marinho); border-bottom: 3px solid var(--amarelo); }
.topo-in { max-width: 1180px; margin: 0 auto; padding: 10px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.marca { display: flex; align-items: center; gap: 10px; }
.marca-icone { width: 34px; height: 34px; }
.marca-icone circle { fill: none; stroke: #fff; stroke-width: 2.2; }
.marca-icone .r1 { opacity: .35; } .marca-icone .r2 { opacity: .65; }
.marca-icone .ponteiro { stroke: var(--amarelo); stroke-width: 2.6; stroke-linecap: round; transform-origin: 20px 20px; animation: varrer 6s linear infinite; }
.marca-icone .alvo { fill: var(--amarelo); stroke: none; animation: piscar 2s ease-in-out infinite; }
@keyframes varrer { to { transform: rotate(360deg); } }
@keyframes piscar { 50% { opacity: .2; } }
@media (prefers-reduced-motion: reduce) { .marca-icone .ponteiro, .marca-icone .alvo, .ao-vivo::before { animation: none; } }
.marca-texto { font: 800 22px/1 var(--display); letter-spacing: .02em; }
.marca-texto b { color: var(--amarelo); margin-left: 3px; font-weight: 800; }
.menu { display: flex; gap: 4px; }
.menu a { font: 700 15px/1 var(--display); letter-spacing: .06em; text-transform: uppercase; color: var(--suave); padding: 9px 12px; border-radius: 999px; }
.menu a:hover { color: var(--texto); background: var(--cartao); }
.menu a.ativo { color: var(--marinho); background: var(--amarelo); }

/* ---------- estrutura ---------- */
main { max-width: 1180px; margin: 0 auto; padding: 24px 20px 40px; }
.capa { padding: 18px 0 8px; }
.sobretitulo { font: 700 13px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--acento); display: flex; align-items: center; gap: 8px; }
.sobretitulo::before { content: ''; width: 18px; height: 3px; background: var(--amarelo); border-radius: 2px; }
h1, h2, h3 { font-family: var(--display); font-weight: 800; letter-spacing: .01em; line-height: 1.05; margin: 0; }
h1 { font-size: clamp(34px, 5vw, 54px); text-transform: uppercase; margin: 10px 0 8px; }
h1 em { font-style: normal; color: var(--acento); }
h2 { font-size: 24px; text-transform: uppercase; display: flex; align-items: center; gap: 10px; margin: 34px 0 14px; }
h2 small { font: 500 13px var(--corpo); color: var(--suave); text-transform: none; letter-spacing: 0; margin-left: auto; }
h2 a.mais { font: 700 14px var(--display); color: var(--acento); letter-spacing: .06em; margin-left: auto; }
h3 { font-size: 18px; text-transform: uppercase; }
.sub { color: var(--suave); margin: 0; max-width: 640px; font-size: 16px; }
.cartao { background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra); }
.pad { padding: 18px; }
.duas { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .duas { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); } }
.vazio { color: var(--apagado); font-style: italic; padding: 8px 0; }
.carregando { display: flex; align-items: center; gap: 10px; color: var(--suave); padding: 60px 0; justify-content: center; }
.carregando span { width: 18px; height: 18px; border: 2px solid var(--linha-forte); border-top-color: var(--acento); border-radius: 50%; animation: varrer .8s linear infinite; }

/* ---------- seletor de estado ---------- */
.estados { display: inline-flex; flex-wrap: wrap; gap: 6px; padding: 5px; background: var(--cartao); border: 1px solid var(--linha); border-radius: 22px; margin: 22px 0 6px; }
.estado { border: 0; background: transparent; color: var(--suave); padding: 9px 18px; border-radius: 999px; cursor: pointer; font: 700 16px/1 var(--display); letter-spacing: .06em; text-transform: uppercase; }
.estado:hover { color: var(--texto); }
.estado.ativo { background: var(--texto); color: var(--fundo); }

/* ---------- camisa do clube (padrão do uniforme) ---------- */
.camisa { --c1: #56627E; --c2: #8FA39A; --c3: #FFFFFF; width: 46px; height: 46px; flex: 0 0 auto; border-radius: 12px;
  position: relative; overflow: hidden; box-shadow: 0 0 0 1px rgba(10,26,63,.10) inset, 0 3px 8px rgba(10,26,63,.18); background: var(--c1); }
.camisa::after { content: ''; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(255,255,255,.22), transparent 45%, rgba(0,0,0,.25)); }
.camisa.p { width: 22px; height: 22px; border-radius: 6px; }
.camisa.m { width: 32px; height: 32px; border-radius: 9px; }
.camisa.g { width: 84px; height: 84px; border-radius: 22px; }
.p-solida { background: var(--c1); }
.p-listras-v { background: repeating-linear-gradient(90deg, var(--c1) 0 18%, var(--c2) 18% 34%); }
.p-listras-h { background: repeating-linear-gradient(180deg, var(--c1) 0 17%, var(--c2) 17% 33%); }
.p-tricolor-v { background: repeating-linear-gradient(90deg, var(--c1) 0 14%, var(--c3) 14% 19%, var(--c2) 19% 33%, var(--c3) 33% 38%); }
.p-faixa { background: linear-gradient(135deg, var(--c1) 0 38%, var(--c2) 38% 56%, var(--c1) 56%); }
.p-faixa-h { background: linear-gradient(180deg, var(--c1) 0 34%, var(--c2) 34% 47%, var(--c3) 47% 60%, var(--c1) 60%); }

/* ---------- cartões de clube ---------- */
.clubes { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin-top: 18px; }
.clube { --destaque: var(--verde); position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px;
  padding: 16px 16px 16px 18px; background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden;
  transition: transform .15s ease, border-color .15s ease, background .15s ease; }
.clube::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--destaque); }
.clube:hover { transform: translateY(-2px); border-color: var(--destaque); background: var(--cartao-2); }
.clube-nome { font: 800 22px/1 var(--display); text-transform: uppercase; letter-spacing: .01em; }
.clube-meta { color: var(--suave); font-size: 13px; margin-top: 5px; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.clube-pos { text-align: right; }
.clube-pos b { display: block; font: 800 34px/0.9 var(--display); }
.clube-pos span { font: 600 12px var(--display); letter-spacing: .12em; color: var(--suave); text-transform: uppercase; }
.selo-noticias { color: var(--amarelo-texto); font-weight: 600; }

/* forma recente */
.forma { display: inline-flex; gap: 3px; vertical-align: middle; }
.forma i { font-style: normal; width: 18px; height: 18px; border-radius: 5px; font: 800 12px/18px var(--display); text-align: center; color: var(--marinho); }
.forma .V { background: var(--verde); } .forma .E { background: #B7C0D3; } .forma .D { background: var(--vermelho); color: #fff; }

/* ---------- etiquetas ---------- */
.tag { display: inline-flex; align-items: center; gap: 5px; font: 700 12px/1 var(--display); letter-spacing: .08em; text-transform: uppercase;
  padding: 5px 8px; border-radius: 6px; background: var(--verde-luz); color: var(--verde); white-space: nowrap; }
.tag.cat-contratacao { background: rgba(56,189,248,.14); color: var(--azul); }
.tag.cat-saida { background: var(--vermelho-luz); color: #B4123A; }
.tag.cat-tecnico { background: rgba(167,139,250,.16); color: #C4B5FD; }
.tag.cat-lesao { background: rgba(251,146,60,.16); color: #FDBA74; }
.tag.cat-renovacao { background: var(--verde-luz); color: var(--verde); }
.tag.cat-diretoria, .tag.cat-financas, .tag.cat-geral, .tag.cat-jogo { background: var(--fundo-2); color: var(--suave); }
.tag.plantao { background: var(--amarelo); color: var(--marinho); }
.tag.zona-lib { background: var(--verde-luz); color: var(--verde); }
.tag.zona-reb { background: var(--vermelho-luz); color: #B4123A; }
.tag.zona-sul { background: rgba(56,189,248,.14); color: var(--azul); }

/* ---------- notícias ---------- */
.noticias { padding: 4px 18px; }
.noticia { display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--linha); }
.noticia:last-child { border-bottom: 0; }
.noticia .titulo { font-weight: 600; font-size: 15.5px; line-height: 1.4; display: block; }
.noticia .titulo:hover { color: var(--acento); }
.noticia .rodape-n { color: var(--apagado); font-size: 12.5px; margin-top: 6px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.noticia .rodape-n .clube-link { color: var(--suave); font-weight: 600; }
.noticia.destaque { position: relative; }
.noticia.destaque::before { content: ''; position: absolute; left: -18px; top: 14px; bottom: 14px; width: 3px; background: var(--amarelo); border-radius: 2px; }
.filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.filtro { font: 700 14px/1 var(--display); letter-spacing: .06em; text-transform: uppercase; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--linha-forte); color: var(--suave); }
.filtro:hover { color: var(--texto); border-color: var(--suave); }
.filtro.ativo { background: var(--texto); color: var(--fundo); border-color: var(--texto); }

/* ---------- placar ---------- */
.jogos { display: grid; gap: 12px; }
.jogo { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding: 14px 16px; background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); }
.jogo .time { display: flex; align-items: center; gap: 10px; font: 700 19px/1.1 var(--display); text-transform: uppercase; min-width: 0; }
.jogo .time span, .jogo .time a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.jogo .time.m { justify-content: flex-end; text-align: right; }
.jogo .time a:hover { color: var(--acento); }
.placar { min-width: 92px; text-align: center; }
.placar .gols { font: 800 30px/1 var(--display); letter-spacing: .04em; background: var(--fundo); border: 1px solid var(--linha-forte); border-radius: 10px; padding: 6px 12px; display: inline-block; font-variant-numeric: tabular-nums; }
.placar .hora { font: 800 22px/1 var(--display); color: var(--texto); display: inline-block; padding: 8px 10px; }
.placar .estado-j { display: block; font: 700 11px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--apagado); margin-top: 6px; }
.jogo .info { grid-column: 1 / -1; display: flex; justify-content: center; gap: 8px; color: var(--apagado); font-size: 12px; margin-top: -2px; }
.ao-vivo { color: var(--amarelo) !important; display: inline-flex; align-items: center; gap: 6px; }
.ao-vivo::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--amarelo); animation: piscar 1.2s ease-in-out infinite; }
.dia-titulo { font: 700 14px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--suave); margin: 26px 0 10px; }

/* ---------- tabela ---------- */
.tabela-wrap { overflow-x: auto; border-radius: var(--raio); border: 1px solid var(--linha); background: var(--cartao); }
table { width: 100%; border-collapse: collapse; min-width: 640px; }
thead th { position: sticky; top: 0; background: var(--cartao-2); font: 700 13px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--suave); padding: 12px 10px; text-align: center; }
thead th.esq { text-align: left; }
tbody td { padding: 10px; border-top: 1px solid var(--linha); text-align: center; font-variant-numeric: tabular-nums; }
tbody td.esq { text-align: left; }
tbody tr { position: relative; }
tbody tr:hover td { background: var(--cartao-2); }
td.pos { font: 800 20px/1 var(--display); width: 54px; position: relative; }
td.pos::before { content: ''; position: absolute; left: 0; top: 6px; bottom: 6px; width: 4px; border-radius: 0 3px 3px 0; background: transparent; }
tr.z-lib td.pos::before { background: var(--verde); }
tr.z-pre td.pos::before { background: #86EFAC; }
tr.z-sul td.pos::before { background: var(--azul); }
tr.z-reb td.pos::before { background: var(--vermelho); }
.tabela-wrap .time { display: flex; align-items: center; gap: 10px; font: 700 18px/1 var(--display); text-transform: uppercase; }
td.pts { font: 800 22px/1 var(--display); color: var(--texto); }
tr.nosso td { background: rgba(34,197,94,.05); }
tr.nosso .time a { color: var(--texto); }
tr.nosso .time a:hover { color: var(--acento); }
tr.outro .time { color: var(--suave); }
.legenda { display: flex; flex-wrap: wrap; gap: 16px; color: var(--suave); font-size: 13px; margin: 14px 2px 0; }
.legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.mini-tabela td { padding: 8px 10px; }
.mini-tabela table { min-width: 0; }

/* ---------- página do clube ---------- */
.capa-clube { --destaque: var(--verde); --c1: #333; --c2: #666; --c3: #fff; position: relative; overflow: hidden; border-radius: 20px; padding: 28px; margin-bottom: 8px;
  background: var(--cartao); border: 1px solid var(--linha); border-top: 4px solid var(--destaque); }
.capa-clube .topo-clube { display: flex; align-items: center; gap: 20px; position: relative; z-index: 1; flex-wrap: wrap; }
.capa-clube h1 { margin: 0; }
.capa-clube .dados { color: var(--suave); margin-top: 6px; }
.numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px; margin-top: 22px; position: relative; z-index: 1; }
.numero { background: var(--cartao-2); border: 1px solid var(--linha); border-radius: 12px; padding: 12px 14px; }
.numero b { display: block; font: 800 30px/1 var(--display); }
.numero span { font: 700 12px var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--suave); }
.elenco { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.elenco .linha-atleta { display: flex; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--linha); }
.elenco .linha-atleta:last-child { border-bottom: 0; }
.elenco .num { font: 800 16px/1.4 var(--display); color: var(--suave); width: 22px; }

/* ---------- resumo ---------- */
.resumo { padding: 20px; position: relative; }
.resumo::before { content: 'RESUMO DO DIA'; position: absolute; top: -10px; left: 16px; background: var(--amarelo); color: var(--marinho); font: 800 12px/1 var(--display); letter-spacing: .12em; padding: 5px 8px; border-radius: 5px; }
.resumo-texto { white-space: pre-wrap; color: var(--texto); font-size: 14.5px; line-height: 1.6; max-height: 640px; overflow: auto; }

/* ---------- rodapé ---------- */
.rodape { max-width: 1180px; margin: 30px auto 0; padding: 30px 20px 40px; border-top: 1px solid var(--linha); color: var(--apagado); font-size: 13px; }
.rodape-marca { font: 800 20px var(--display); color: var(--suave); margin-bottom: 8px; }
.rodape-marca b { color: var(--acento); margin-left: 3px; }
.rodape p { margin: 4px 0; }

/* ---------- painel admin ---------- */
.admin { max-width: 760px; }
.admin form { margin: 8px 0; }
.admin button { font: 700 16px var(--display); letter-spacing: .04em; padding: 9px 16px; border-radius: 10px; border: 0; background: var(--verde); color: var(--marinho); cursor: pointer; }
.admin input[type=password] { font: inherit; padding: 9px 12px; border: 1px solid var(--linha-forte); border-radius: 10px; background: var(--cartao); color: var(--texto); }
.admin small { color: var(--suave); }
.admin pre { background: var(--cartao); border: 1px solid var(--linha); border-radius: 10px; padding: 12px; white-space: pre-wrap; font-size: 13px; }
.admin h1 { font-size: 34px; }
.admin h3 { margin-top: 22px; }
.aviso { background: var(--amarelo-luz); color: var(--amarelo-texto); padding: 10px 14px; border-radius: 10px; }
.linha-tabela { margin-top: 6px; }

/* ---------- celular ---------- */
@media (max-width: 640px) {
  .topo-in { flex-wrap: wrap; padding: 10px 14px; }
  .menu { width: 100%; justify-content: space-between; }
  .menu a { padding: 8px 7px; font-size: 13px; letter-spacing: .03em; }
  .menu { gap: 0; }
  main { padding: 16px 14px 30px; }
  .jogo { padding: 12px; gap: 8px; }
  .jogo .time { font-size: 16px; }
  .jogo .time .camisa { display: none; }
  .placar { min-width: 72px; }
  .placar .gols { font-size: 24px; padding: 5px 9px; }
  .capa-clube { padding: 20px; }
}

.noticia > .tag { align-self: start; margin-top: 2px; }
.elenco .num:empty { display: none; }

/* escudos oficiais */
.escudo { width: 46px; height: 46px; flex: 0 0 auto; object-fit: contain; filter: drop-shadow(0 2px 4px rgba(10,26,63,.18)); }
.escudo.p { width: 22px; height: 22px; }
.escudo.m { width: 30px; height: 30px; }
.escudo.g { width: 92px; height: 92px; }

.estado small { font: 600 12px var(--corpo); opacity: .6; margin-left: 2px; }
tr.z-conf td.pos::before { background: #A78BFA; }
tr.z-pla td.pos::before { background: #FB923C; }
.ligas { margin-top: 4px; }
/* pelo mundo */
.mundo { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.liga-card { display: flex; flex-direction: column; gap: 14px; padding: 16px; background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); transition: border-color .15s, transform .15s; }
.liga-card:hover { border-color: var(--acento); transform: translateY(-2px); }
.liga-topo { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.liga-nome { font: 800 20px/1 var(--display); text-transform: uppercase; }
.liga-pais { font: 600 12px var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--apagado); }
.liga-lider { display: flex; align-items: center; gap: 10px; }
.liga-lider b { display: block; font: 700 17px/1.1 var(--display); text-transform: uppercase; }
.liga-lider span { font-size: 12.5px; color: var(--suave); }
.liga-rodape { display: flex; justify-content: space-between; color: var(--suave); font-size: 13px; border-top: 1px solid var(--linha); padding-top: 10px; }

/* início compacto */
.capa.compacta { padding: 6px 0 0; }
.capa.compacta h1 { font-size: clamp(30px, 4vw, 42px); margin: 8px 0 0; }
.capa.compacta .estados { margin-top: 14px; }
.lista-jogos { padding: 2px 14px; }
.jogo-mini { display: grid; grid-template-columns: 62px 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--linha); }
.jogo-mini:last-child { border-bottom: 0; }
.jm-quando { font: 700 12px/1.2 var(--display); letter-spacing: .06em; text-transform: uppercase; color: var(--apagado); display: flex; flex-direction: column; }
.jm-quando b { font-size: 17px; color: var(--texto); letter-spacing: .02em; }
.jm-times { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.jm-time { display: flex; align-items: center; gap: 8px; font: 700 16px/1 var(--display); text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jm-time a:hover { color: var(--acento); }
.jm-placar { display: flex; flex-direction: column; gap: 6px; text-align: right; }
.jm-placar b { font: 800 18px/16px var(--display); }
.resumo-dobra { margin-top: 14px; padding: 14px 18px; }
.resumo-dobra summary { cursor: pointer; color: var(--suave); font-size: 14px; display: flex; align-items: center; gap: 10px; list-style: none; }
.resumo-dobra summary::-webkit-details-marker { display: none; }
.resumo-dobra summary::after { content: '▾'; margin-left: auto; }
.resumo-dobra[open] summary::after { content: '▴'; }
.resumo-dobra .resumo-texto { margin-top: 14px; }
.faixa-mundo { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
.liga-chip { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--cartao); border: 1px solid var(--linha); border-radius: 12px; position: relative; }
.liga-chip:hover { border-color: var(--acento); }
.liga-chip b { display: block; font: 800 16px/1.1 var(--display); text-transform: uppercase; }
.liga-chip small { font-size: 12px; color: var(--suave); white-space: nowrap; }
.ponto-vivo { width: 7px; height: 7px; border-radius: 50%; background: var(--amarelo); position: absolute; top: 8px; right: 8px; }
@media (max-width: 640px) {
  .capa.compacta .estados { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; border-radius: 999px; scrollbar-width: none; }
  .capa.compacta .estado { flex: 0 0 auto; padding: 8px 14px; }
  .clubes { grid-template-columns: 1fr 1fr; gap: 10px; }
  .clube { grid-template-columns: auto 1fr; gap: 10px; padding: 12px 10px 12px 14px; }
  .clube .camisa, .clube .escudo { width: 34px; height: 34px; }
  .clube-nome { font-size: 17px; }
  .clube .forma, .clube-pos span { display: none; }
  .clube-pos { position: absolute; top: 8px; right: 10px; }
  .clube-pos b { font-size: 18px; }
  .clube-meta { font-size: 12px; gap: 6px; }
}
@media (max-width: 640px) {
  .clube > div:nth-child(2) { padding-right: 24px; min-width: 0; }
  .clube-nome { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

.abas-ligas { display: flex; flex-direction: column; gap: 10px; margin: 18px 0 22px; }
.grupo-abas { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rotulo-abas { font: 700 12px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--apagado); width: 110px; }
.grupos { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 520px), 1fr)); }
.titulo-grupo { margin: 0 0 8px; color: var(--suave); }
.grupos table { min-width: 0; }
.nota-grupos { margin: 0 0 14px; }
.nota-grupos a, .aviso-copa a { color: var(--acento); font-weight: 600; }
.aviso-copa { font-size: 15px; }
.chip-sigla { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: var(--cartao-2); font: 800 13px var(--display); color: var(--verde); }
@media (max-width: 640px) { .rotulo-abas { width: 100%; } }

/* ---------- níveis de navegação ---------- */
.entradas { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin: 18px 0 6px; }
.entrada { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio);
  position: relative; transition: border-color .15s, transform .15s; }
.entrada:hover { border-color: var(--acento); transform: translateY(-2px); }
.entrada::after { content: '→'; position: absolute; right: 16px; top: 16px; color: var(--apagado); font-weight: 700; }
.entrada-rot { font: 700 11px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--acento); }
.entrada b { font: 800 26px/1 var(--display); text-transform: uppercase; }
.entrada small { color: var(--suave); font-size: 13px; }
.bloco-liga { margin-bottom: 16px; }
.bloco-liga-titulo { display: flex; justify-content: space-between; font: 800 15px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--suave); margin: 0 4px 8px; }
.bloco-liga-titulo:hover { color: var(--acento); }
.campeonatos { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.campeonato { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px; background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); transition: border-color .15s, transform .15s; }
.campeonato:hover { border-color: var(--acento); transform: translateY(-2px); }
.camp-topo { display: flex; justify-content: space-between; font: 700 12px var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--apagado); }
.camp-nome { font: 800 24px/1.05 var(--display); text-transform: uppercase; }
.camp-info { display: flex; align-items: center; gap: 8px; color: var(--suave); font-size: 13px; }
.voltar { display: inline-block; color: var(--suave); font: 700 14px var(--display); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 4px; }
.voltar:hover { color: var(--acento); }
.abas-comp { display: flex; gap: 4px; border-bottom: 1px solid var(--linha); margin: 18px 0 20px; }
.aba-comp { font: 800 17px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--suave); padding: 12px 16px; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.aba-comp:hover { color: var(--texto); }
.aba-comp.ativa { color: var(--texto); border-bottom-color: var(--acento); }
@media (max-width: 640px) {
  .entradas { grid-template-columns: 1fr 1fr; }
  .entrada b { font-size: 21px; }
}

.ver-mais { display: block; text-align: center; padding: 12px; border: 1px dashed var(--linha-forte); border-radius: var(--raio); color: var(--acento); font: 700 15px var(--display); letter-spacing: .06em; text-transform: uppercase; }
.ver-mais:hover { border-color: var(--acento); }

/* ---------- página do jogo ---------- */
a.placar:hover .gols, a.placar:hover .hora { border-color: var(--acento); color: var(--acento); }
.jogo .info a { color: var(--acento); }
a.jm-quando:hover { color: var(--acento); }
.placar-jogo { padding: 22px; margin-top: 10px; }
.placar-meta { text-align: center; color: var(--suave); font-size: 13px; margin-bottom: 14px; }
.placar-linha { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; }
.jogo-lado { display: flex; flex-direction: column; align-items: center; gap: 10px; font: 800 22px/1.1 var(--display); text-transform: uppercase; text-align: center; }
.jogo-lado a:hover { color: var(--acento); }
.placar-centro { text-align: center; }
.gols-g { font: 800 56px/1 var(--display); letter-spacing: .04em; font-variant-numeric: tabular-nums; display: flex; gap: 12px; align-items: center; }
.gols-g small { font-size: 32px; color: var(--apagado); }
.hora-g { font: 800 44px/1 var(--display); }
.placar-centro .estado-j { margin-top: 8px; }
.escalacoes { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.escalacao-topo { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font: 800 20px var(--display); text-transform: uppercase; }
.formacao { margin-left: auto; font: 700 14px var(--display); letter-spacing: .08em; color: var(--suave); background: var(--cartao); border: 1px solid var(--linha); padding: 5px 10px; border-radius: 999px; }
.campo { --cor-time: #3A4A43; --borda-time: #fff; --texto-time: #fff; position: relative; aspect-ratio: 4 / 5; border-radius: 16px; overflow: hidden;
  display: flex; flex-direction: column-reverse; justify-content: space-around; padding: 14px 6px 22px;
  background: repeating-linear-gradient(180deg, #14532D 0 10%, #166534 10% 20%); border: 2px solid rgba(255,255,255,.25); }
.campo::before { content: ''; position: absolute; left: 22%; right: 22%; bottom: 0; height: 15%; border: 2px solid rgba(255,255,255,.28); border-bottom: 0; }
.campo::after { content: ''; position: absolute; left: 50%; top: -12%; width: 30%; aspect-ratio: 1; transform: translateX(-50%); border: 2px solid rgba(255,255,255,.28); border-radius: 50%; }
.linha-campo { display: flex; justify-content: space-around; position: relative; z-index: 1; }
.jogador { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 74px; }
.bolinha { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font: 800 16px var(--display);
  background: var(--cor-time); color: var(--texto-time); border: 2px solid var(--borda-time); box-shadow: 0 3px 8px rgba(0,0,0,.45); }
.nome-j { font: 700 12.5px/1.1 var(--corpo); color: #fff; text-align: center; text-shadow: 0 1px 3px rgba(0,0,0,.9); background: rgba(0,0,0,.35); padding: 2px 6px; border-radius: 6px; white-space: nowrap; }
.jogador.saiu .nome-j { opacity: .6; text-decoration: line-through; }
.reservas { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 12px; font-size: 13.5px; color: var(--suave); align-items: center; }
.reservas .rotulo-abas { width: 100%; }
.reserva b { color: var(--texto); font-family: var(--display); margin-right: 2px; }
.reserva.entrou { color: var(--texto); }
.reserva i { color: var(--verde); font-style: normal; font-size: 10px; margin-right: 4px; }
.nota-fonte { color: var(--apagado); font-size: 12.5px; margin-top: 10px; }
@media (max-width: 640px) {
  .gols-g { font-size: 42px; } .hora-g { font-size: 34px; }
  .jogo-lado { font-size: 17px; } .jogo-lado .escudo.g, .jogo-lado .camisa.g { width: 56px; height: 56px; }
  .jogador { width: 58px; } .bolinha { width: 32px; height: 32px; font-size: 14px; } .nome-j { font-size: 10.5px; padding: 1px 4px; }
}

/* ---------- página do jogo: confronto, lances, estatísticas, últimos jogos ---------- */
.faixa-confronto { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--linha); color: var(--suave); font-size: 14px; }
.faixa-confronto b { color: var(--texto); font-weight: 600; }
.placar-acoes { display: flex; justify-content: center; margin-top: 16px; }
.botao-assistir { font: 700 14px var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--marinho); background: var(--amarelo);
  padding: 9px 18px; border-radius: 999px; transition: filter .15s; }
.botao-assistir:hover { filter: brightness(1.1); }
.jogo-duas { align-items: start; }
.lances { padding: 6px 0; max-height: 520px; overflow-y: auto; }
.lance { display: grid; grid-template-columns: 1fr 74px 1fr; align-items: center; gap: 10px; padding: 9px 16px; border-bottom: 1px solid var(--linha); }
.lance:last-child { border-bottom: 0; }
.lance.casa .lance-txt:first-child { text-align: right; }
.lance-txt { font-size: 14px; line-height: 1.35; min-width: 0; }
.lance-txt b { font-weight: 600; }
.lance-txt small { display: block; color: var(--suave); font-size: 12px; }
.lance-min { display: flex; align-items: center; justify-content: center; gap: 6px; font: 700 15px var(--display); color: var(--suave); }
.placar-lance { font: 700 14px var(--display); color: var(--verde); margin-left: 4px; }
.ic-gol { font-size: 14px; } .ic-gol.perdido { opacity: .4; }
.ic-cartao { width: 10px; height: 14px; border-radius: 2px; display: inline-block; }
.ic-cartao.amarelo { background: var(--amarelo); } .ic-cartao.vermelho { background: var(--vermelho); }
.ic-troca { color: var(--azul); font-size: 15px; font-weight: 700; }
.lance-txt .entra { color: var(--verde); font-weight: 600; } .lance-txt .sai { color: var(--vermelho); opacity: .85; }
.lance-marco { display: flex; align-items: center; gap: 10px; padding: 8px 16px; color: var(--apagado); font: 700 12px var(--display); letter-spacing: .12em; text-transform: uppercase; }
.lance-marco::before, .lance-marco::after { content: ''; flex: 1; height: 1px; background: var(--linha); }
.estatisticas { --cor-casa: var(--verde); --cor-fora: var(--azul); }
.est-topo { display: flex; justify-content: space-between; font: 700 14px var(--display); letter-spacing: .06em; text-transform: uppercase; color: var(--suave); margin-bottom: 10px; }
.est { margin: 12px 0; }
.est-nums { display: flex; justify-content: space-between; align-items: baseline; font-size: 13px; color: var(--suave); }
.est-nums b { font: 700 18px var(--display); color: var(--texto); min-width: 40px; }
.est-nums b:last-child { text-align: right; }
.est-nums b.lider { color: var(--amarelo-texto); }
.est-barra { display: flex; gap: 3px; height: 6px; margin-top: 5px; }
.est-barra i { display: block; height: 100%; border-radius: 3px; min-width: 2px; }
.est-barra .c { background: var(--cor-casa); } .est-barra .f { background: var(--cor-fora); }
.ultimos-topo { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.ultimos-topo b { font: 700 17px var(--display); text-transform: uppercase; letter-spacing: .03em; }
.forma-mini { margin-left: auto; display: flex; gap: 4px; }
.forma-mini i, .ult-linha > span:first-child { width: 22px; height: 22px; border-radius: 5px; display: inline-grid; place-items: center; font: 700 13px var(--display); font-style: normal; color: var(--marinho); }
.res-V { background: var(--verde); } .res-E { background: #B7C0D3; } .res-D { background: var(--vermelho); color: #fff !important; }
.ult-linha { display: grid; grid-template-columns: 22px 44px 1fr; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--linha); }
.ult-placar { font: 700 18px var(--display); text-align: center; }
.ult-adv { font-size: 14px; font-weight: 600; min-width: 0; }
.ult-adv small { display: block; color: var(--suave); font-weight: 400; font-size: 12px; }
@media (max-width: 720px) {
  .lance { grid-template-columns: 1fr 60px 1fr; padding: 8px 10px; }
  .faixa-confronto { flex-direction: column; align-items: center; text-align: center; }
}
/* ---------- o confronto (ida + retrospecto) ---------- */
.confronto { align-items: start; }
.confronto-card .rotulo-abas { display: block; width: auto; margin-bottom: 12px; line-height: 1.4; }
.ida-placar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; margin-bottom: 12px; }
.ida-placar span { font: 700 18px var(--display); text-transform: uppercase; color: var(--suave); }
.ida-placar span:first-child { text-align: right; }
.ida-placar span.venceu { color: var(--texto); }
.ida-placar b { font: 800 36px/1 var(--display); }
.ida-placar b small { color: var(--apagado); margin: 0 6px; font-size: 26px; }
.ida-lance { display: grid; grid-template-columns: 18px 44px 1fr; align-items: center; gap: 8px; padding: 7px 0; border-top: 1px solid var(--linha); font-size: 14px; }
.ida-lance small { color: var(--suave); margin-left: 4px; }
.ida-min { font: 700 15px var(--display); color: var(--suave); }
.ida-rodape { display: flex; align-items: center; gap: 8px; color: var(--suave); font-size: 13px; padding-top: 10px; border-top: 1px solid var(--linha); }
.ida-agregado { margin-top: 12px; padding: 10px 12px; border-radius: var(--raio-p); background: var(--amarelo-luz); color: var(--amarelo-texto); font-size: 14px; }
.ida-agregado b { font-family: var(--display); font-size: 17px; }
.retro-resumo { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; gap: 8px; margin-bottom: 10px; }
.retro-resumo b { display: block; font: 800 34px/1 var(--display); }
.retro-resumo div:nth-child(2) b { color: var(--suave); }
.retro-resumo span { font-size: 12px; color: var(--suave); text-transform: uppercase; letter-spacing: .04em; }
.retro-linha { display: grid; grid-template-columns: 70px 1fr auto 1fr; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--linha); font-size: 14px; }
.retro-data { color: var(--suave); font-size: 12px; }
.retro-t { color: var(--suave); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.retro-t:nth-child(2) { text-align: right; }
.retro-t.venceu { color: var(--texto); font-weight: 600; }
.retro-linha b { font: 700 17px var(--display); }
@media (max-width: 720px) { .retro-linha { grid-template-columns: 58px 1fr auto 1fr; gap: 6px; font-size: 13px; } .ida-placar span { font-size: 15px; } }
/* ---------- faixa de mata-mata no placar (estilo transmissão) ---------- */
.mata-mata { display: grid; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--linha); justify-items: center; text-align: center; }
.mm-rot { display: block; font: 700 12px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--apagado); margin-bottom: 6px; }
.mm-ida b { font-weight: 600; font-size: 15px; color: var(--suave); }
.mm-agregado { width: min(100%, 560px); background: var(--fundo-2); border: 1px solid var(--linha-forte); border-radius: var(--raio); padding: 12px 16px 14px; }
.mm-placar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; }
.mm-placar span { font: 700 17px var(--display); text-transform: uppercase; color: var(--suave); }
.mm-placar span:first-child { text-align: right; }
.mm-placar span.lidera { color: var(--texto); }
.mm-placar b { font: 800 34px/1 var(--display); color: var(--amarelo); }
.mm-placar b small { color: var(--apagado); margin: 0 6px; font-size: 24px; }
.mm-situacao { display: inline-block; margin-top: 10px; padding: 5px 12px; border-radius: 999px; background: var(--verde-luz); color: var(--verde); font: 700 13px var(--display); letter-spacing: .08em; text-transform: uppercase; }
.mm-situacao.penaltis { background: var(--amarelo-luz); color: var(--amarelo-texto); }
.mm-situacao.vivo::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; margin-right: 7px; vertical-align: 1px; animation: piscar 1.6s ease-in-out infinite; }
.retro-comp { grid-column: 2 / -1; text-align: center; color: var(--apagado); font-size: 11px; margin-top: -4px; }
@media (max-width: 720px) { .mm-placar span { font-size: 14px; } .mm-placar b { font-size: 28px; } }
/* ---------- disputa de pênaltis ---------- */
.penaltis-box { width: min(100%, 560px); margin: 18px auto 0; padding: 14px 16px; border-radius: var(--raio); background: var(--fundo-2); border: 1px solid var(--linha-forte); text-align: center; }
.pen-linha { display: grid; grid-template-columns: 1fr auto 34px; align-items: center; gap: 12px; padding: 6px 0; }
.pen-time { font: 700 16px var(--display); text-transform: uppercase; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pen-bolas { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.pen-bolas i { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font: 700 13px/1 var(--corpo); font-style: normal; }
.pen-bolas i.ok { background: var(--verde); color: var(--marinho); }
.pen-bolas i.erro { background: var(--vermelho); color: #fff; }
.pen-linha b { font: 800 26px/1 var(--display); color: var(--amarelo); text-align: right; }
.pen-detalhe { margin-top: 8px; text-align: left; }
.pen-detalhe summary { cursor: pointer; color: var(--suave); font-size: 13px; text-align: center; list-style: none; }
.pen-detalhe summary::after { content: ' ▾'; }
.pen-detalhe ol { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 4px; counter-reset: c; }
.pen-detalhe li { display: flex; align-items: center; gap: 8px; font-size: 14px; padding: 5px 0; border-top: 1px solid var(--linha); }
.pen-detalhe li span { width: 18px; text-align: center; font-weight: 700; }
.pen-detalhe li.ok span { color: var(--verde); } .pen-detalhe li.erro span { color: var(--vermelho); }
.pen-detalhe li small { color: var(--suave); }
@media (max-width: 720px) {
  .penaltis-box { padding: 12px 10px; }
  .pen-linha { grid-template-columns: minmax(70px, 1fr) auto 26px; gap: 8px; }
  .pen-time { font-size: 14px; }
  .pen-bolas { gap: 3px; } .pen-bolas i { width: 19px; height: 19px; font-size: 11px; }
  .pen-linha b { font-size: 22px; }
}
/* ---------- alertas de gol ---------- */
.acoes-clube { margin-top: 12px; }
.botao-alerta { font: 700 13px var(--display); letter-spacing: .06em; text-transform: uppercase; color: var(--texto); background: var(--cartao);
  border: 1px solid var(--linha-forte); padding: 8px 14px; border-radius: 999px; cursor: pointer; transition: background .15s, border-color .15s; }
.botao-alerta:hover { background: var(--cartao-2); }
.botao-alerta.ligado { background: var(--amarelo); border-color: var(--amarelo); color: var(--marinho); }
.botao-alerta.compacto { font-size: 12px; padding: 6px 11px; }
.alertas-jogo { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 12px; font-size: 13px; color: var(--suave); }
.toast { position: fixed; left: 50%; bottom: 22px; transform: translate(-50%, 20px); max-width: min(92vw, 520px); background: var(--marinho); color: #fff;
  padding: 12px 16px; border-radius: 12px; font-size: 14px; line-height: 1.4; box-shadow: 0 10px 30px rgba(0,0,0,.4); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; z-index: 50; }
.toast.visivel { opacity: 1; transform: translate(-50%, 0); }
.alertas-admin .lista-check { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 4px 12px; margin: 10px 0; }
.alertas-admin label { font-size: 14px; display: flex; gap: 6px; align-items: center; }
/* ---------- página "Meus alertas" ---------- */
.capa .sub { color: var(--suave); max-width: 620px; margin: 8px 0 0; }
.aviso-alertas { border-color: var(--amarelo-texto); color: var(--amarelo-texto); margin-bottom: 18px; }
.tipo-alerta { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--linha); cursor: pointer; }
.tipo-alerta:first-child { border-top: 0; }
.tipo-alerta input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--acento); }
.tipo-alerta b { display: block; font-weight: 600; }
.tipo-alerta small { color: var(--suave); }
.clube-alerta { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--linha); }
.clube-alerta:first-child { border-top: 0; }
.clube-alerta a { flex: 1; font-weight: 600; }
.link-alertas { margin-left: 12px; font-size: 13px; color: var(--suave); }
.link-alertas:hover { color: var(--texto); }
.menu-alerta { font-size: 16px; }

/* =====================================================================
   BLOCOS "DE TV" (azul-marinho): topo e placar do jogo.
   As variáveis são trocadas só dentro deles, então tudo que está dentro se adapta.
   ===================================================================== */
.topo, .placar-jogo {
  --texto: #FFFFFF; --suave: #B9C5E2; --apagado: #8494BC;
  --linha: rgba(255,255,255,.12); --linha-forte: rgba(255,255,255,.22);
  --cartao: rgba(255,255,255,.07); --cartao-2: rgba(255,255,255,.10); --fundo-2: rgba(255,255,255,.07);
  --acento: #FFC400; --amarelo-texto: #FFC400; --verde: #3DDC84; --verde-luz: rgba(61,220,132,.16);
  color: var(--texto);
}
.menu a:hover { background: rgba(255,255,255,.10); }
.placar-jogo.cartao { background: var(--marinho); border-color: var(--marinho); box-shadow: 0 10px 30px rgba(10,26,63,.25); }
.placar-jogo .gols-g { color: #fff; }
.placar-jogo .gols-g small { color: var(--amarelo); }
.placar-jogo .escudo { filter: drop-shadow(0 2px 6px rgba(0,0,0,.35)); }
.placar-jogo .mm-agregado, .placar-jogo .penaltis-box { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }
.placar-jogo .mm-placar b { color: var(--amarelo); }
.placar-jogo .botao-alerta { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); }
.placar-jogo .botao-alerta.ligado { background: var(--amarelo); color: var(--marinho); border-color: var(--amarelo); }
/* números com fonte de placar */
.gols, .gols-g, .mm-placar b, .pen-linha b, .ida-placar b { font-variant-numeric: tabular-nums; }
/* placar dos cards de jogo: caixinha azul-marinho, como a "tarja" da TV */
.placar .gols { background: var(--marinho); color: #fff; border-color: var(--marinho); }
a.placar:hover .gols { background: var(--marinho-2); color: var(--amarelo); border-color: var(--marinho-2); }

/* =====================================================================
   OUTROS ESPORTES
   ===================================================================== */
@media (max-width: 720px) { .menu-inicio { display: none; } }
.titulo-esportes { margin-top: 26px; }
.esportes-linha .entrada small, .esporte-card small { font-size: 12.5px; }
.br { display: inline-block; font: 800 10px/1 var(--display); letter-spacing: .06em; color: #0B5D2A; background: #FFDF00; border: 1.5px solid #009C3B; border-radius: 4px; padding: 2px 4px 1px; vertical-align: 2px; }
.sub-linha { display: block; color: var(--suave); font-size: 12px; font-weight: 400; }
.suave { color: var(--suave); }
.tabela-esp td.esq, .tabela-esp th.esq { text-align: left; }
.tabela-esp td.pts { font: 800 18px var(--display); }
.tabela-esp tr.nosso td { background: var(--amarelo-luz); }
.sigla-time { display: inline-grid; place-items: center; min-width: 38px; height: 24px; padding: 0 6px; border-radius: 6px; color: #fff;
  font: 800 12.5px/1 var(--display); letter-spacing: .04em; text-shadow: 0 1px 1px rgba(0,0,0,.35); background: var(--marinho); }
.time-esp { display: inline-flex; align-items: center; gap: 8px; }
/* cartão "de TV" das páginas de esporte */
.tv-titulo { font: 800 clamp(30px, 5vw, 46px)/1 var(--display); text-transform: uppercase; text-align: center; margin: 10px 0 14px; }
.tv-sessoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.tv-sessoes div { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 10px; padding: 10px 16px; text-align: center; min-width: 170px; }
.tv-sessoes span { display: block; font: 700 12px var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--suave); }
.tv-sessoes b { font: 800 20px var(--display); }
.tv-sessoes .destaque { background: var(--amarelo); border-color: var(--amarelo); }
.tv-sessoes .destaque span, .tv-sessoes .destaque b { color: var(--marinho); }
.nota-tv { text-align: center; color: var(--suave); font-size: 12px; margin: 10px 0 0; }
/* pódio da F1 */
.podio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; align-items: end; margin-bottom: 14px; }
.degrau { background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); padding: 14px; text-align: center; box-shadow: var(--sombra); }
.degrau.d1 { background: var(--marinho); color: #fff; padding-top: 26px; padding-bottom: 22px; border-color: var(--marinho); }
.degrau .pos { display: block; font: 800 30px/1 var(--display); color: var(--acento); }
.degrau.d1 .pos { color: var(--amarelo); font-size: 40px; }
.degrau b { display: block; font: 800 19px/1.1 var(--display); text-transform: uppercase; margin-top: 6px; }
.degrau small { display: block; color: var(--suave); font-size: 12px; }
.degrau.d1 small { color: #B9C5E2; }
.degrau i { display: block; font-style: normal; font-size: 12px; margin-top: 4px; color: var(--apagado); }
.lista-calendario { padding: 4px 14px; }
.cal-linha { display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid var(--linha); }
.cal-linha:first-child { border-top: 0; }
.cal-etapa { font: 800 16px var(--display); color: var(--apagado); }
.cal-linha small { color: var(--suave); }
/* UFC */
.lutas { display: grid; gap: 10px; }
.luta { background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); padding: 12px 16px; box-shadow: var(--sombra); }
.luta.principal { border: 2px solid var(--amarelo); }
.luta.tem-br { border-left: 4px solid var(--verde); }
.luta-topo { display: flex; gap: 8px; align-items: center; font: 700 12px var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--suave); margin-bottom: 8px; }
.luta-corpo { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; }
.lutador b { display: block; font: 800 19px/1.1 var(--display); text-transform: uppercase; }
.lutador small { color: var(--suave); font-size: 12px; }
.lutador:last-child { text-align: right; }
.lutador.venceu b::after { content: ' ✓'; color: var(--verde); }
.luta-corpo:has(.venceu) .lutador:not(.venceu) { opacity: .55; }
.luta-centro { text-align: center; display: grid; gap: 2px; }
.luta-centro i { font: 800 16px var(--display); color: var(--apagado); font-style: normal; }
.luta-res, .luta-hora { font-size: 12px; color: var(--suave); max-width: 150px; }
.luta-hora { font: 800 18px var(--display); color: var(--texto); }
.evento-ant summary { cursor: pointer; }
.evento-ant .lutas { margin-top: 12px; }
/* placares NBA / NFL / tênis */
.grade-placares { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.placar-esp, .jogo-tenis { padding: 12px 14px; }
.placar-esp.vivo, .jogo-tenis.vivo { border-color: var(--amarelo); box-shadow: 0 0 0 1px var(--amarelo); }
.jogo-tenis.tem-br { border-left: 4px solid var(--verde); }
.pe-topo { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--suave); margin-bottom: 8px; }
.pe-topo b { color: var(--texto); font: 700 13px var(--display); letter-spacing: .06em; text-transform: uppercase; }
.pe-linha { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 10px; padding: 5px 0; }
.pe-linha.perdeu { opacity: .55; }
.pe-nome { font-weight: 600; font-size: 14px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pe-nome small { margin-left: 6px; color: var(--apagado); font-weight: 400; font-size: 12px; }
.pe-parciais { display: flex; gap: 6px; color: var(--apagado); font-size: 12px; }
.pe-parciais i { font-style: normal; min-width: 18px; text-align: center; }
.pe-pts { font: 800 24px/1 var(--display); min-width: 40px; text-align: right; }
.tn-linha { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 6px 0; }
.tn-linha.perdeu { opacity: .55; }
.tn-nome { min-width: 0; }
.tn-nome b { font-weight: 600; }
.tn-pais { display: block; color: var(--apagado); font-size: 11.5px; }
.tn-v { font-style: normal; color: var(--verde); font-weight: 800; margin-right: 4px; }
.tn-sets { display: flex; gap: 4px; }
.tn-sets i { font: 700 17px/1 var(--display); font-style: normal; min-width: 26px; height: 26px; display: grid; place-items: center; border-radius: 6px; background: var(--cartao-2); color: var(--suave); }
.tn-sets i.ganhou { background: var(--marinho); color: #fff; }
.ic-esporte { font-size: 22px; width: 32px; text-align: center; }
@media (max-width: 720px) {
  .podio { grid-template-columns: 1fr; } .degrau.d1 { order: -1; }
  .grade-placares { grid-template-columns: 1fr; }
  .lutador b { font-size: 16px; }
  .pe-parciais { display: none; }
  .tv-sessoes div { min-width: 0; flex: 1 1 40%; }
}
.tabela-esp { min-width: 0; } .tabela-esp td, .tabela-esp th { padding-left: 8px; padding-right: 8px; }
/* capa: caixinhas de cada esporte */
.capa-esportes { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.capa-esportes .entrada { min-height: 132px; padding: 20px 22px; }
.capa-esportes .entrada b { font-size: 34px; }
.capa-esportes .entrada small { font-size: 14px; }
.capa-esportes .destaque-futebol { background: var(--marinho); border-color: var(--marinho); color: #fff; }
.capa-esportes .destaque-futebol .entrada-rot { color: var(--amarelo); }
.capa-esportes .destaque-futebol small { color: #B9C5E2; }
.capa-esportes .destaque-futebol .selo-noticias { color: var(--amarelo); }
.atalho-camps { text-align: right; margin: 8px 0 0; }
@media (max-width: 720px) { .capa-esportes .entrada { min-height: 0; padding: 14px 16px; } .capa-esportes .entrada b { font-size: 28px; } }
/* página do clube: de qual campeonato são os números */
.numeros-titulo { position: relative; z-index: 1; margin: 18px 0 8px; font: 700 13px var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--suave); }
.numeros-titulo a { color: var(--texto); font-size: 17px; letter-spacing: .04em; }
.numeros-titulo a:hover { color: var(--acento); }
.outras-comps { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; font-size: 13px; color: var(--suave); }
.chip-comp { background: var(--cartao-2); border: 1px solid var(--linha); border-radius: 999px; padding: 5px 12px; color: var(--texto); }
.chip-comp:hover { border-color: var(--acento); }
.chip-comp b { font-weight: 600; }
/* navegação no tempo (anterior / próximo) */
.nav-tempo { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 6px 0 14px; padding: 8px; background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); }
.nt-bt { font: 700 13px var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--marinho); background: var(--cartao-2); border: 1px solid var(--linha); padding: 7px 12px; border-radius: 8px; white-space: nowrap; }
.nt-bt:hover { background: var(--marinho); color: #fff; border-color: var(--marinho); }
.nt-rot { font: 700 16px var(--display); text-transform: uppercase; letter-spacing: .04em; text-align: center; }
.nt-hoje { display: block; font: 600 12px var(--corpo); text-transform: none; letter-spacing: 0; color: var(--acento); }
a.cal-linha { color: inherit; }
a.cal-linha:hover b { color: var(--acento); }
@media (max-width: 720px) { .nt-bt { padding: 7px 9px; font-size: 12px; } .nt-rot { font-size: 14px; } }

/* ---------- matéria em destaque (home) ---------- */
.destaque-banner { position: relative; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 0; background: var(--marinho); color: #fff;
  border-radius: 14px; overflow: hidden; margin: 0 0 22px; border-bottom: 4px solid var(--amarelo); }
.db-faixa { position: absolute; left: 0; top: 0; bottom: 0; width: 8px; }
.db-principal { display: flex; flex-direction: column; gap: 10px; padding: 22px 24px 20px 30px; color: #fff; }
.db-principal:hover .db-titulo { text-decoration: underline; text-decoration-color: var(--amarelo); }
.db-selo { align-self: flex-start; background: var(--amarelo); color: var(--marinho); font: 800 12px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; padding: 6px 10px; border-radius: 4px; }
.db-clube { display: flex; align-items: center; gap: 8px; font: 700 14px var(--display); letter-spacing: .06em; text-transform: uppercase; color: #C9D3EA; }
.db-titulo { font: 800 clamp(22px, 3.2vw, 32px)/1.15 var(--display); }
.db-fonte { font-size: 13px; color: #AEB9D4; }
.db-outras { display: flex; flex-direction: column; border-left: 1px solid rgba(255,255,255,.12); }
.db-outras a { flex: 1; padding: 14px 18px; color: #fff; font-weight: 600; font-size: 14px; line-height: 1.35; border-top: 1px solid rgba(255,255,255,.1); }
.db-outras a:first-child { border-top: 0; }
.db-outras a:hover { background: rgba(255,255,255,.06); }
.db-outras small { display: block; color: var(--amarelo); font: 700 11px var(--display); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 4px; }
@media (max-width: 720px) { .destaque-banner { grid-template-columns: minmax(0, 1fr); } .db-outras { border-left: 0; border-top: 1px solid rgba(255,255,255,.12); } .db-principal { padding: 18px 18px 16px 24px; } }

/* ---------- filtros de notícias ---------- */
.filtros.compactos { margin: 0 0 10px; gap: 6px; }
.filtros.compactos .filtro { font-size: 12px; padding: 7px 11px; background: none; cursor: pointer; }
.filtros.compactos .filtro.ativo { background: var(--texto); color: var(--fundo); }
.filtros-noticias { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 18px; }
.filtro-time { display: flex; align-items: center; gap: 8px; font: 700 13px var(--display); letter-spacing: .06em; text-transform: uppercase; color: var(--suave); }
.filtro-time select { font: 600 15px var(--corpo, inherit); padding: 9px 12px; border-radius: 10px; border: 1px solid var(--linha-forte); background: var(--cartao, #fff); color: var(--texto); max-width: 260px; }
.tag.pessoa { background: rgba(31,79,209,.1); color: var(--acento); }

/* ---------- Meu time ---------- */
.meutime-convite { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 16px 20px; margin: 0 0 18px; border-left: 5px solid var(--amarelo); }
.meutime-convite b { display: block; font: 800 20px var(--display); text-transform: uppercase; }
.meutime-convite small { color: var(--suave); }
.meutime-convite select, .sim-foco select { font: 600 15px inherit; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--linha-forte); background: #fff; color: var(--texto); min-width: 220px; }
.meutime { background: #fff; border: 1px solid var(--linha); border-top: 5px solid var(--acento); border-radius: 14px; padding: 16px 18px; margin: 0 0 18px; }
.mt-topo { display: flex; align-items: center; justify-content: space-between; }
.mt-clube { display: flex; align-items: center; gap: 12px; color: var(--texto); }
.mt-clube small { display: block; font: 700 11px var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--acento); }
.mt-clube b { font: 800 28px/1 var(--display); text-transform: uppercase; }
.mt-trocar, .link-bt { background: none; border: 0; color: var(--suave); text-decoration: underline; cursor: pointer; font-size: 13px; }
.mt-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.mt-bloco { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 10px; background: var(--fundo); color: var(--texto); }
a.mt-bloco:hover { outline: 2px solid var(--acento); }
.mt-bloco small { font: 700 11px var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--suave); }
.mt-bloco b { font: 800 20px/1.1 var(--display); text-transform: uppercase; }
.mt-bloco span, .mt-bloco a { font-size: 13px; color: var(--suave); }
.mt-prox { background: var(--marinho); color: #fff; }
.mt-prox b { color: #fff; } .mt-prox span { color: #C9D3EA; } .mt-prox small { color: var(--amarelo); }
.mt-prox.vivo { border: 2px solid var(--vermelho); }
.contagem { font: 800 18px var(--display); color: var(--amarelo); letter-spacing: .03em; }
.mt-link { color: var(--acento) !important; font-weight: 700; }
.mt-forma { display: flex; gap: 4px; }
.mt-forma i { font-style: normal; width: 22px; height: 22px; border-radius: 5px; font: 800 13px/22px var(--display); text-align: center; }
.mt-forma .f-V { background: var(--verde); color: #fff; } .mt-forma .f-E { background: #B7C0D3; color: var(--marinho); } .mt-forma .f-D { background: var(--vermelho); color: #fff; }
.mt-vistos { color: var(--acento) !important; font-weight: 600; }
.mt-noticias { display: flex; flex-direction: column; margin-top: 12px; }
.mt-noticias a { display: flex; gap: 8px; align-items: baseline; padding: 8px 0; border-top: 1px solid var(--linha); color: var(--texto); font-weight: 600; font-size: 14px; }
.mt-noticias a.mais { border: 0; color: var(--acento); font-weight: 700; }
.mt-acoes { margin-top: 8px; }
.botao-meutime { font: 700 13px var(--display); letter-spacing: .06em; text-transform: uppercase; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--amarelo); background: #fff; color: var(--marinho); cursor: pointer; margin-right: 8px; }
.botao-meutime.ligado { background: var(--amarelo); }
@media (max-width: 720px) { .mt-grade { grid-template-columns: minmax(0, 1fr); } .mt-clube b { font-size: 24px; } }

/* ---------- compartilhar ---------- */
.botao-compartilhar { font: 700 13px var(--display); letter-spacing: .08em; text-transform: uppercase; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--linha-forte); background: #fff; color: var(--texto); cursor: pointer; }
.botao-compartilhar::before { content: '↗ '; }
.botao-compartilhar.escuro { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
.acoes-pagina { margin: 12px 0; }

/* ---------- termômetro da torcida ---------- */
.enquetes { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; }
.enquete { background: #fff; border: 1px solid var(--linha); border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; }
.enq-pergunta { font: 800 15px var(--display); letter-spacing: .06em; text-transform: uppercase; }
.enq-corpo { display: flex; flex-wrap: wrap; gap: 8px; }
.enq-bt { font: 700 14px inherit; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--acento); background: #fff; color: var(--acento); cursor: pointer; }
.enq-bt:hover { background: var(--acento); color: #fff; }
.enq-sel { flex: 1; min-width: 180px; padding: 9px 10px; border-radius: 10px; border: 1px solid var(--linha-forte); font: 600 14px inherit; }
.enq-barra { position: relative; flex-basis: 100%; display: flex; justify-content: space-between; padding: 8px 12px; border-radius: 8px; background: var(--fundo); overflow: hidden; font-size: 14px; }
.enq-fill { position: absolute; left: 0; top: 0; bottom: 0; background: rgba(31,79,209,.16); }
.enq-barra.meu .enq-fill { background: rgba(255,196,0,.45); }
.enq-barra .enq-rot, .enq-barra b { position: relative; }
.enq-total { flex-basis: 100%; font-size: 12px; color: var(--suave); }
.enquete.compacta { border: 0; padding: 6px 0 0; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 10px; background: none; }
.enquete.compacta .enq-pergunta { font-size: 12px; color: var(--suave); }
.enquete.compacta .enq-bt { padding: 4px 10px; font-size: 12px; }
.enquete.compacta .enq-corpo { flex: 1; min-width: 200px; }
.enquete.compacta .enq-barra { padding: 4px 10px; font-size: 12px; flex-basis: auto; flex: 1; }
.enquete.compacta .enq-total { flex-basis: auto; }
.termometro { margin-top: 8px; }

/* ---------- simulador ---------- */
.sim-foco { display: flex; flex-direction: column; gap: 14px; margin-bottom: 18px; }
.sim-foco label { display: flex; align-items: center; gap: 10px; font: 700 13px var(--display); letter-spacing: .06em; text-transform: uppercase; color: var(--suave); }
.sim-chances { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; }
.sim-chance { background: var(--fundo); border-radius: 10px; padding: 12px; border-top: 4px solid #B7C0D3; }
.sim-chance b { display: block; font: 800 30px/1 var(--display); }
.sim-chance small { color: var(--suave); font-size: 12px; }
.sim-chance.z-lib { border-top-color: var(--verde); } .sim-chance.z-pre { border-top-color: #86EFAC; } .sim-chance.z-sul { border-top-color: var(--azul); } .sim-chance.z-reb { border-top-color: var(--vermelho); }
.sim-foco .botao-compartilhar { align-self: flex-start; }
.sim-aviso { background: rgba(255,196,0,.18); padding: 10px 14px; border-radius: 10px; }
.tabela-sim { width: 100%; border-collapse: collapse; font-size: 14px; }
.tabela-sim th { font: 700 11px var(--display); letter-spacing: .06em; text-transform: uppercase; color: var(--suave); padding: 8px 6px; }
.tabela-sim td { text-align: center; padding: 7px 6px; border-top: 1px solid var(--linha); }
.tabela-sim .esq { text-align: left; }
.tabela-sim tr.foco td { background: rgba(255,196,0,.16); }
.tabela-sim td.pct { font-weight: 700; }
.tabela-sim td.z-lib { color: var(--verde); } .tabela-sim td.z-reb { color: var(--vermelho); } .tabela-sim td.z-sul { color: var(--azul); }
.tabela-sim td.zero { color: #B7C0D3; }
.sim-jogo { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto minmax(0, 1fr); gap: 6px; align-items: center; padding: 6px 0; border-top: 1px solid var(--linha); }
.sim-jogo:first-child { border-top: 0; }
.sim-data { font-size: 12px; color: var(--suave); }
.sim-r { font: 600 13px inherit; padding: 7px 8px; border-radius: 8px; border: 1px solid var(--linha-forte); background: #fff; color: var(--texto); cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sim-r.emp { color: var(--suave); }
.sim-r.on { background: var(--marinho); color: #fff; border-color: var(--marinho); }
.sim-outros summary { cursor: pointer; font-weight: 700; margin-bottom: 6px; }
.sim-outros { margin-top: 12px; }
.continuar { margin-top: 10px; }
.sim-duas { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.tabela-sim th, .tabela-sim td { padding-left: 4px; padding-right: 4px; }
@media (max-width: 900px) { .sim-duas { grid-template-columns: minmax(0, 1fr); } }
