/* ===== Central de Esportes ===== */
.central-esportes { margin-top: 18px; --esp-card: rgba(255,255,255,.05); --esp-borda: rgba(140,170,255,.18); --esp-verde: #16C68A; --esp-vermelho: #FF4D6D; }
.atalho-esportes { display: block; margin: 0 0 14px; padding: 12px 16px; border-radius: 14px; text-decoration: none; font-weight: 700;
  color: #fff; background: linear-gradient(120deg, rgba(46,230,255,.18), rgba(255,79,216,.14)); border: 1px solid rgba(46,230,255,.35); }
.atalho-esportes:hover { border-color: var(--neon-ciano); }

/* esportes (ícones grandes) */
.esp-esportes { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
.esp-esporte { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 86px; padding: 10px 12px;
  border-radius: 16px; border: 1px solid var(--esp-borda); background: var(--esp-card); color: var(--texto-claro, #E8ECFF); cursor: pointer; font: inherit; }
.esp-esporte .ic { font-size: 1.5rem; line-height: 1; }
.esp-esporte .tx { font-size: .78rem; font-weight: 700; white-space: nowrap; }
.esp-esporte[aria-selected="true"] { background: linear-gradient(140deg, rgba(46,230,255,.28), rgba(124,140,255,.22)); border-color: var(--neon-ciano, #2EE6FF);
  box-shadow: 0 0 18px rgba(46,230,255,.25); }
.esp-ligas { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.esp-liga { font-size: .88rem; }

.esp-cab { display: flex; align-items: center; gap: 12px; margin-top: 18px; flex-wrap: wrap; }
.esp-tit-liga { margin: 0; font-size: 1.35rem; font-weight: 800; color: #fff; }
.esp-badge-vivo { font-size: .75rem; font-weight: 800; letter-spacing: .04em; color: #fff; background: var(--esp-vermelho); padding: 4px 10px; border-radius: 99px; animation: espPulsa 1.6s infinite; }
@keyframes espPulsa { 50% { box-shadow: 0 0 0 6px rgba(255,77,109,.0), 0 0 16px rgba(255,77,109,.6); } }

.esp-abas { display: flex; gap: 4px; margin-top: 12px; border-bottom: 1px solid var(--esp-borda); }
.esp-aba { background: none; border: 0; border-bottom: 3px solid transparent; color: var(--texto-suave, #A9B2D6); font: inherit; font-weight: 700;
  padding: 10px 14px; cursor: pointer; margin-bottom: -1px; }
.esp-aba[aria-selected="true"] { color: #fff; border-bottom-color: var(--neon-ciano, #2EE6FF); }
.esp-corpo { margin-top: 16px; min-height: 180px; }
.esp-carregando { padding: 40px 0; text-align: center; color: var(--texto-suave, #A9B2D6); }
.esp-carregando::before { content: ''; display: block; width: 34px; height: 34px; margin: 0 auto 10px; border-radius: 50%;
  border: 3px solid rgba(46,230,255,.2); border-top-color: var(--neon-ciano, #2EE6FF); animation: espGira .9s linear infinite; }
@keyframes espGira { to { transform: rotate(360deg); } }
.esp-vazio { padding: 26px 16px; text-align: center; color: var(--texto-suave, #A9B2D6); border: 1px dashed var(--esp-borda); border-radius: 16px; }
.esp-vazio .btn-sec { margin-top: 10px; }
.esp-dica { color: var(--texto-suave, #A9B2D6); font-size: .9rem; margin: 10px 0 12px; display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.esp-dica strong { color: #fff; text-transform: capitalize; }
.esp-rodape { margin-top: 14px; font-size: .8rem; }

/* faixa de dias */
.esp-dias { display: flex; align-items: center; gap: 6px; }
.esp-seta { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--esp-borda); background: var(--esp-card); color: #fff; font-size: 1.3rem; line-height: 1; cursor: pointer; }
.esp-seta:disabled { opacity: .3; cursor: default; }
.esp-trilho { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; flex: 1; padding: 2px; }
.esp-trilho::-webkit-scrollbar { display: none; }
.esp-dia { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; min-width: 84px; padding: 8px 10px; border-radius: 12px;
  border: 1px solid var(--esp-borda); background: var(--esp-card); color: var(--texto-claro, #E8ECFF); font: inherit; cursor: pointer; }
.esp-dia .dd { font-weight: 800; font-size: .88rem; text-transform: capitalize; }
.esp-dia .nn { font-size: .72rem; color: var(--texto-suave, #A9B2D6); }
.esp-dia[aria-pressed="true"] { background: var(--neon-ciano, #2EE6FF); border-color: var(--neon-ciano, #2EE6FF); color: #08111f; }
.esp-dia[aria-pressed="true"] .nn { color: #08111f; }
.esp-dia.tem-vivo { box-shadow: inset 0 -3px 0 var(--esp-vermelho); }
.esp-fav-filtro { margin-left: auto; font: inherit; font-size: .82rem; font-weight: 700; padding: 6px 12px; border-radius: 99px; cursor: pointer;
  border: 1px solid rgba(255,193,69,.5); background: rgba(255,193,69,.08); color: #FFC145; }
.esp-fav-filtro[aria-pressed="true"] { background: #FFC145; color: #1a1300; }

/* cartões de jogo */
.esp-grade { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.esp-jogo { position: relative; padding: 12px 14px; border-radius: 16px; background: var(--esp-card); border: 1px solid var(--esp-borda); }
.esp-jogo.clicavel { cursor: pointer; }
.esp-jogo.clicavel:hover, .esp-jogo.aberto { border-color: rgba(46,230,255,.55); box-shadow: 0 0 20px rgba(46,230,255,.12); }
.esp-jogo.vivo { border-color: rgba(255,77,109,.55); background: linear-gradient(160deg, rgba(255,77,109,.10), rgba(255,255,255,.04)); }
.esp-jogo:focus-visible { outline: 2px solid var(--neon-ciano, #2EE6FF); outline-offset: 2px; }
.esp-jogo-topo { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin-bottom: 8px; min-height: 18px; }
.esp-status { font-size: .78rem; font-weight: 700; color: var(--texto-suave, #A9B2D6); text-transform: none; }
.esp-status.vivo { color: var(--esp-vermelho); animation: espPisca 1.4s infinite; }
@keyframes espPisca { 50% { opacity: .55; } }
.esp-fase { font-size: .72rem; color: var(--texto-suave, #A9B2D6); text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 60%; }
.esp-times { display: grid; gap: 6px; }
.esp-time { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.esp-time .esp-nome { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.esp-time .esp-placar { font-weight: 800; font-size: 1.15rem; min-width: 26px; text-align: right; font-variant-numeric: tabular-nums; }
.esp-time.venceu { color: #fff; } .esp-time.venceu .esp-nome { font-weight: 800; }
.esp-time.perdeu { color: var(--texto-suave, #A9B2D6); } .esp-time.perdeu .esp-placar { opacity: .7; }
.esp-time.fav .esp-nome::after { content: ' ★'; color: #FFC145; }
.esp-pen { font-size: .75rem; font-weight: 600; }
.esp-logo { width: 26px; height: 26px; object-fit: contain; flex: 0 0 auto; }
.esp-bandeira { width: 22px; height: 15px; object-fit: cover; border-radius: 3px; flex: 0 0 auto; }
.esp-local { margin: 8px 0 0; font-size: .75rem; color: var(--texto-suave, #A9B2D6); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.esp-meu { display: inline-block; margin-top: 8px; font-size: .75rem; font-weight: 700; padding: 3px 9px; border-radius: 99px; background: rgba(46,230,255,.12); color: var(--neon-ciano, #2EE6FF); }
.esp-meu.acertou { background: rgba(22,198,138,.18); color: var(--esp-verde); }
.esp-meu.errou { background: rgba(255,77,109,.15); color: var(--esp-vermelho); }

/* palpites */
.esp-palpite { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--esp-borda); cursor: default; }
.esp-palpite-ops { display: flex; gap: 6px; }
.esp-op { position: relative; flex: 1; min-width: 0; overflow: hidden; display: flex; justify-content: space-between; align-items: center; gap: 6px;
  padding: 9px 10px; border-radius: 10px; border: 1px solid var(--esp-borda); background: rgba(255,255,255,.04); color: #fff; font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; }
.esp-op:disabled { cursor: default; }
.esp-op-barra { position: absolute; left: 0; top: 0; bottom: 0; background: linear-gradient(90deg, rgba(46,230,255,.35), rgba(124,140,255,.25)); transition: width .6s ease; z-index: 0; }
.esp-op-nome, .esp-op-pct { position: relative; z-index: 1; }
.esp-op-nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.esp-op-pct { font-variant-numeric: tabular-nums; }
.esp-op[aria-pressed="true"] { border-color: var(--neon-ciano, #2EE6FF); box-shadow: 0 0 0 1px var(--neon-ciano, #2EE6FF) inset; }
.esp-op[aria-pressed="true"] .esp-op-nome::before { content: '✔ '; color: var(--neon-ciano, #2EE6FF); }
.esp-palpite-txt { margin: 8px 0 0; font-size: .76rem; color: var(--texto-suave, #A9B2D6); }
.esp-placar-palpites { display: flex; align-items: center; gap: 14px; padding: 14px 16px; margin-bottom: 8px; border-radius: 16px;
  background: linear-gradient(120deg, rgba(255,193,69,.14), rgba(255,79,216,.10)); border: 1px solid rgba(255,193,69,.35); }
.esp-placar-palpites .grande { font-size: 1.8rem; font-weight: 800; color: #FFC145; font-variant-numeric: tabular-nums; }

/* tabela */
.esp-subabas { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.esp-tabelas.varias { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.esp-tabela-box { min-width: 0; }
.esp-grupo { margin: 18px 0 10px; font-size: 1rem; font-weight: 800; color: #fff; }
.esp-grupo small { font-weight: 500; color: var(--texto-suave, #A9B2D6); }
.esp-tabelas.varias .esp-grupo { margin-top: 0; }
.esp-tabela-rola { overflow-x: auto; border-radius: 14px; border: 1px solid var(--esp-borda); }
.esp-tabela { width: 100%; border-collapse: collapse; font-size: .88rem; font-variant-numeric: tabular-nums; }
.esp-tabela th { text-align: center; font-size: .72rem; font-weight: 700; color: var(--texto-suave, #A9B2D6); padding: 8px 6px; background: rgba(255,255,255,.04); white-space: nowrap; }
.esp-tabela td { text-align: center; padding: 7px 6px; border-top: 1px solid rgba(140,170,255,.10); white-space: nowrap; }
.esp-tabela .col-nome { text-align: left; }
.esp-tabela td.col-nome { min-width: 150px; font-weight: 600; }
.esp-tabela td.col-nome img { width: 22px; height: 22px; vertical-align: middle; margin-right: 8px; }
.esp-tabela td.col-nome .esp-bandeira { height: 15px; }
.esp-tabela .col-pts { font-weight: 800; color: #fff; }
.esp-tabela td.col-pos { position: relative; font-weight: 700; width: 34px; }
.esp-tabela tr[style] td.col-pos::before { content: ''; position: absolute; left: 0; top: 4px; bottom: 4px; width: 4px; border-radius: 0 3px 3px 0; background: var(--zona); }
.esp-tabela td.pos { color: var(--esp-verde); } .esp-tabela td.neg { color: var(--esp-vermelho); }
.esp-tabela tbody tr.clicavel { cursor: pointer; }
.esp-tabela tbody tr:hover { background: rgba(46,230,255,.06); }
.esp-tabela tbody tr.fav { background: rgba(255,193,69,.10); }
.esp-estrela { color: #FFC145; }
.esp-legenda { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; font-size: .8rem; color: var(--texto-suave, #A9B2D6); }
.esp-leg { display: inline-flex; align-items: center; gap: 6px; }
.esp-leg i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
@media (max-width: 640px) { .esp-tabela .larga { display: none; } .esp-tabela { font-size: .82rem; } .esp-tabela td.col-nome { min-width: 120px; } }

/* F1 */
.esp-f1-prox { padding: 18px; border-radius: 20px; border: 1px solid rgba(46,230,255,.4); background: linear-gradient(140deg, rgba(46,230,255,.12), rgba(255,79,216,.08)); }
.esp-f1-prox.vivo { border-color: rgba(255,77,109,.6); }
.esp-f1-nome { margin: 6px 0 2px; font-size: 1.4rem; font-weight: 800; color: #fff; }
.esp-f1-nome.peq { font-size: 1.05rem; margin: 0 0 8px; }
.esp-contagem { margin: 12px 0; font-size: 1.6rem; font-weight: 800; color: var(--neon-ciano, #2EE6FF); font-variant-numeric: tabular-nums; }
.esp-sessoes, .esp-calendario { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.esp-sessoes li, .esp-calendario li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 10px; border-radius: 10px; background: rgba(255,255,255,.04); font-size: .88rem; }
.esp-sessoes li .q, .esp-calendario li .q { color: var(--texto-suave, #A9B2D6); text-transform: capitalize; }
.esp-sessoes li.feita { opacity: .55; text-decoration: line-through; }
.esp-sessoes li.agora { background: rgba(255,77,109,.18); font-weight: 700; }
.esp-podio { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.esp-podio li, .esp-top li { display: flex; align-items: center; gap: 8px; font-size: .88rem; }
.esp-podio .med { width: 22px; }
.esp-top { margin-top: 12px; }
.esp-top-tit { margin: 0 0 6px; font-size: .78rem; font-weight: 700; color: var(--texto-suave, #A9B2D6); text-transform: uppercase; letter-spacing: .05em; }
.esp-top ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.esp-top .pos { width: 22px; font-weight: 800; color: var(--neon-ciano, #2EE6FF); text-align: right; }

/* UFC e tênis */
.esp-luta { display: grid; gap: 6px; }
.esp-luta .esp-jogo-topo { margin-bottom: 2px; }
.esp-lutador { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.esp-lutador .esp-nome { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.esp-lutador.venceu { color: #fff; font-weight: 800; }
.esp-lutador.perdeu { color: var(--texto-suave, #A9B2D6); }
.esp-cartel { font-size: .74rem; color: var(--texto-suave, #A9B2D6); }
.esp-vitoria { font-size: .7rem; font-weight: 800; color: var(--esp-verde); text-transform: uppercase; }
.esp-vs { font-size: .7rem; font-weight: 800; color: var(--neon-rosa, #FF4FD8); padding-left: 30px; }
.esp-sets { display: flex; gap: 6px; }
.esp-sets b { min-width: 16px; text-align: center; font-variant-numeric: tabular-nums; }
.esp-tenis .esp-time.venceu .esp-sets b { color: #fff; }

@media (max-width: 600px) {
  .esp-grade { grid-template-columns: 1fr; }
  .esp-esportes { display: grid; grid-template-columns: repeat(3, 1fr); overflow: visible; }
  .esp-esporte { min-width: 0; padding: 8px 6px; }
  .esp-esporte .tx { white-space: normal; text-align: center; line-height: 1.15; }
  .esp-dia { min-width: 74px; }
  .esp-contagem { font-size: 1.3rem; }
  .esp-aba { padding: 10px 10px; font-size: .95rem; }
}
@media (prefers-reduced-motion: reduce) { .esp-badge-vivo, .esp-status.vivo, .esp-carregando::before { animation: none; } }

/* ranking de palpites */
.esp-ranking { margin-bottom: 18px; padding: 16px; border-radius: 18px; border: 1px solid rgba(255,193,69,.35);
  background: linear-gradient(140deg, rgba(255,193,69,.10), rgba(255,79,216,.07)); }
.esp-ranking-cab { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.esp-ranking .esp-subabas { margin: 0; }
.esp-voce { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.esp-voce .grande { font-size: 2rem; font-weight: 800; color: #FFC145; font-variant-numeric: tabular-nums; }
.esp-voce-txt { color: var(--texto-suave, #A9B2D6); font-size: .9rem; }
.esp-voce-txt strong { color: #fff; }
.esp-link { background: none; border: 0; padding: 0 0 0 8px; color: var(--neon-ciano, #2EE6FF); font: inherit; font-size: .85rem; text-decoration: underline; cursor: pointer; }
.esp-ranking-lista { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 4px; }
.esp-ranking-lista li { display: grid; grid-template-columns: 40px 1fr auto auto; gap: 10px; align-items: center; padding: 8px 12px; border-radius: 10px; background: rgba(255,255,255,.04); font-size: .92rem; }
.esp-ranking-lista li.eu { background: rgba(46,230,255,.16); outline: 1px solid rgba(46,230,255,.5); }
.esp-ranking-lista .pos { font-weight: 800; text-align: center; }
.esp-ranking-lista .nick { font-weight: 700; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.esp-ranking-lista .ac { font-size: .78rem; color: var(--texto-suave, #A9B2D6); }
.esp-ranking-lista .pts { font-weight: 800; color: #FFC145; font-variant-numeric: tabular-nums; }
.esp-ranking-lista li.esp-ranking-vazio { display: block; text-align: center; color: var(--texto-suave, #A9B2D6); }
.esp-aviso { position: fixed; left: 50%; bottom: 100px; transform: translateX(-50%); z-index: 9999; padding: 12px 18px; border-radius: 14px;
  background: #1b2140; color: #fff; border: 1px solid var(--neon-rosa, #FF4FD8); box-shadow: 0 10px 30px rgba(0,0,0,.5); font-weight: 700; }

/* janela do apelido */
.apelido-fundo { position: fixed; inset: 0; z-index: 10000; background: rgba(3,5,15,.72); backdrop-filter: blur(4px); display: grid; place-items: center; padding: 16px; }
.apelido-caixa { width: min(420px, 100%); padding: 24px; border-radius: 22px; background: #121733; border: 1px solid rgba(46,230,255,.4); box-shadow: 0 20px 60px rgba(0,0,0,.6); color: #E8ECFF; }
.apelido-caixa h3 { margin: 0 0 6px; font-size: 1.4rem; }
.apelido-motivo { margin: 0 0 14px; color: #A9B2D6; }
.apelido-caixa label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: 6px; }
.apelido-caixa input { width: 100%; box-sizing: border-box; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(140,170,255,.35); background: rgba(255,255,255,.06); color: #fff; font: inherit; font-size: 1.05rem; }
.apelido-caixa input:focus { outline: 2px solid #2EE6FF; outline-offset: 1px; }
.apelido-erro { min-height: 1.2em; margin: 6px 0; color: #FF6B86; font-size: .88rem; }
.apelido-botoes { display: flex; gap: 10px; flex-wrap: wrap; }
.apelido-nota { margin: 12px 0 0; font-size: .8rem; color: #A9B2D6; }
@media (max-width: 600px) { .esp-ranking-lista li { grid-template-columns: 34px 1fr auto; } .esp-ranking-lista .ac { display: none; } }
