/* Páginas fora do montador: landing, cadastro/login e painel admin.
   Usa os tokens e componentes de style.css. */

a { color: inherit; }
.botao-pequeno {
  display: inline-flex; align-items: center; padding: 9px 16px; border-radius: 11px;
  background: var(--azul); color: #fff; font: 600 13.5px var(--ui); text-decoration: none; white-space: nowrap;
  box-shadow: 0 10px 24px -14px rgba(37, 99, 255, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.16);
  transition: background .15s, transform .15s;
}
.botao-pequeno:hover { background: #2f6bff; transform: translateY(-1px); }
.nav-links { display: flex; gap: 28px; }
.nav-links a { display: inline-flex; align-items: center; gap: 7px; color: var(--texto-2); text-decoration: none; font-size: 14px; }
.nav-links a:hover { color: var(--texto); }
.nav-entrar { text-decoration: none; font-size: 14px; }
.nav-publico { display: flex; align-items: center; gap: 14px; }
a.secundario { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
a.link { text-decoration: none; }
a.link:hover { color: var(--texto); }

/* ---------- landing ---------- */
.lp .palco { padding-bottom: 24px; }
.lp-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 48px; align-items: center; padding: 40px 0 56px; }
.lp-hero h1 { margin: 0; font: 800 clamp(38px, 5.8vw, 66px)/1.02 var(--titulo); letter-spacing: -0.035em; }
.lp-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.lp-ctas .primario { display: inline-block; width: auto; margin: 0; padding: 16px 26px; }
.lp-ctas .secundario { padding: 15px 22px; font-size: 15px; }
.lp-provas { display: flex; flex-wrap: wrap; gap: 8px 22px; list-style: none; margin: 22px 0 0; padding: 0; color: var(--texto-3); font-size: 13px; }
.lp-provas li { display: flex; align-items: center; gap: 8px; }
.lp-provas li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--azul-2); }
.lp-provas b { color: var(--texto-2); font-weight: 600; }

.lp-bilhete {
  position: relative; margin: 0; background: var(--card); border: 1px solid var(--borda); border-radius: 22px;
  box-shadow: var(--sombra), 0 0 0 1px rgba(37, 99, 255, 0.06), 0 40px 110px -55px rgba(37, 99, 255, 0.4);
  transform: rotate(1.2deg);
}
.lp-bilhete::before {
  content: ""; position: absolute; inset: 0 0 auto; height: 3px; border-radius: 22px 22px 0 0;
  background: linear-gradient(90deg, var(--azul), var(--azul-2), var(--azul-3));
}
.lp-bilhete-topo { display: flex; justify-content: space-between; align-items: flex-end; padding: 26px 26px 14px; }
.lp-bilhete-titulo { font: 700 22px var(--titulo); }
.lp-bilhete-odd { text-align: right; }
.lp-bilhete-odd strong { font: 700 40px/1 var(--num); letter-spacing: -0.02em; }
.lp-bilhete .picote::after { background: radial-gradient(circle at 0 50%, var(--fundo) 10px, transparent 11px), radial-gradient(circle at 100% 50%, var(--fundo) 10px, transparent 11px); }
.lp-pernas { list-style: none; margin: 0; padding: 6px 18px; }
.lp-pernas li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 13px 8px; }
.lp-pernas li + li { border-top: 1px solid var(--borda-suave); }
.lp-pernas b { display: block; font-weight: 600; font-size: 14.5px; }
.lp-pernas small { display: block; color: var(--texto-3); font-size: 12.5px; }
.lp-pernas .escudo, .lp-palpite-topo .escudo { display: inline-block; width: 14px; height: 14px; margin: 0 5px; vertical-align: -2px; object-fit: contain; }
.lp-pernas .escudo:first-child, .lp-palpite-topo .escudo:first-child { margin-left: 0; }
.lp-pernas em { font: 600 16px var(--num); font-style: normal; }
.lp-bilhete-pe { display: flex; justify-content: space-between; align-items: center; margin: 6px 22px 22px; padding: 14px 16px; border-radius: 13px; background: var(--card-2); border: 1px solid var(--borda); font-size: 13px; }
.lp-gerado { display: inline-flex; align-items: center; gap: 8px; color: var(--positivo); font-weight: 600; }
.lp-gerado i { width: 7px; height: 7px; border-radius: 50%; background: var(--positivo); }
.lp-codigo { color: var(--azul-3); font-weight: 600; }
.lp-bilhete figcaption { position: absolute; right: 18px; bottom: -26px; color: var(--texto-3); font-size: 11px; }

.lp-checklist { list-style: none; display: grid; gap: 10px; margin: 22px 0 0; padding: 0; color: var(--texto-2); }
.lp-checklist li { display: flex; gap: 10px; align-items: flex-start; }
.lp-checklist li::before { content: ""; flex-shrink: 0; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; background: var(--azul-fundo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23afc4ff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; border: 1px solid var(--azul-borda); }
.lp-checklist b { color: var(--texto); }
.lp-palpite {
  position: relative; display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 22px; border-radius: 22px;
  background: var(--card); border: 1px solid var(--borda); transform: rotate(-1deg);
  box-shadow: var(--sombra), 0 40px 110px -55px rgba(37, 99, 255, 0.4);
}
.lp-palpite-topo { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.lp-palpite-topo b { display: block; font-weight: 600; }
.lp-palpite-topo small { color: var(--texto-3); font-size: 12.5px; }
.lp-avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, var(--azul), var(--azul-2)); color: #fff; font: 700 15px var(--titulo); }
.lp-palpite-selecao { margin: 0; font: 700 20px var(--titulo); }
.lp-palpite-numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.lp-palpite-numeros div { padding: 10px 12px; border-radius: 12px; background: var(--card-2); border: 1px solid var(--borda); }
.lp-palpite-numeros span { display: block; color: var(--texto-3); font-size: 11.5px; }
.lp-palpite-numeros strong { display: block; margin-top: 2px; font: 700 18px var(--num); }
.lp-palpite-numeros .positivo { color: var(--positivo); }
.lp-palpite-linha { margin: 0; color: var(--texto-2); font-size: 13px; }
.lp-palpite-linha b { color: var(--texto); font-weight: 600; }
.lp-palpite figcaption { position: absolute; right: 18px; bottom: -26px; color: var(--texto-3); font-size: 11px; }
.lp-palpites .lp-ctas { margin-top: 26px; }

.lp-numeros {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; overflow: hidden;
  border: 1px solid var(--borda); border-radius: var(--raio); background: var(--borda);
}
.lp-numeros div { padding: 22px 22px 20px; background: var(--card-2); }
.lp-numeros strong { display: block; font: 700 34px/1.1 var(--num); color: var(--texto); letter-spacing: -0.02em; }
.lp-numeros span { display: block; margin-top: 6px; color: var(--texto-2); font-size: 13.5px; }

.lp-secao { padding: 88px 0 0; }
.lp-sobretitulo { margin: 0 0 12px; color: var(--azul-2); font: 600 12px var(--titulo); letter-spacing: 0.12em; text-transform: uppercase; }
.lp-secao h2, .lp-final h2 { margin: 0; max-width: 720px; font: 800 clamp(28px, 3.6vw, 42px)/1.1 var(--titulo); letter-spacing: -0.03em; }
.lp-lead { margin: 16px 0 0; max-width: 620px; color: var(--texto-2); font-size: 16px; }

.lp-passos { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 36px 0 0; padding: 0; }
.lp-passos li { position: relative; padding: 22px; border-radius: var(--raio); background: var(--card); border: 1px solid var(--borda); }
.lp-passos li:not(:last-child)::after {
  content: ""; position: absolute; top: 34px; right: -17px; width: 18px; height: 2px;
  background: repeating-linear-gradient(90deg, var(--azul-borda) 0 4px, transparent 4px 7px);
}
.lp-passos h3, .lp-recursos h3 { margin: 16px 0 6px; font: 700 17px var(--titulo); }
.lp-passos p, .lp-recursos p { margin: 0; color: var(--texto-2); font-size: 14px; }

.lp-recursos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 36px; }
.lp-recursos article { padding: 24px 22px; border-radius: var(--raio); background: linear-gradient(180deg, var(--card), var(--card-2)); border: 1px solid var(--borda); }
.lp-recursos svg {
  width: 42px; height: 42px; padding: 9px; border-radius: 12px; background: var(--azul-fundo); border: 1px solid var(--azul-borda);
  fill: none; stroke: var(--azul-3); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.lp-mercados { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 22px; padding: 18px 22px; border-radius: var(--raio); border: 1px dashed var(--borda); }
.lp-mercados > span { color: var(--texto-3); font: 600 12px var(--titulo); letter-spacing: 0.1em; text-transform: uppercase; }
.lp-mercados ul, .lp-ligas { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.lp-mercados li, .lp-ligas li { padding: 7px 12px; border-radius: 999px; background: var(--card-2); border: 1px solid var(--borda); color: var(--texto-2); font-size: 13px; }
.lp-ligas { margin-top: 30px; max-width: 900px; }
.lp-ligas li:first-child { color: var(--azul-3); border-color: var(--azul-borda); background: var(--azul-fundo); }

.lp-duas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 48px; align-items: center; }
.lp-notas { list-style: none; margin: 0; padding: 10px; border-radius: 22px; background: var(--card); border: 1px solid var(--borda); }
.lp-notas li { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 14px; }
.lp-notas li + li { border-top: 1px solid var(--borda-suave); }
.lp-notas b { font-weight: 600; }
.lp-notas small { color: var(--texto-3); font: 500 13px var(--num); }

.lp-faq { display: grid; gap: 10px; max-width: 780px; margin-top: 30px; }
.lp-faq details { border-radius: 14px; background: var(--card); border: 1px solid var(--borda); }
.lp-faq summary { display: flex; justify-content: space-between; gap: 16px; padding: 18px 20px; cursor: pointer; list-style: none; font-weight: 600; }
.lp-faq summary::-webkit-details-marker { display: none; }
.lp-faq summary::after { content: "+"; color: var(--azul-2); font: 600 20px/1 var(--num); }
.lp-faq details[open] summary::after { content: "–"; }
.lp-faq p { margin: 0; padding: 0 20px 18px; color: var(--texto-2); }

.lp-celular { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: center; }
.lp-celular .lp-ctas .primario { font: 600 15px var(--ui); }
.lp-nota-celular { margin: 16px 0 0; color: var(--texto-3); font-size: 13px; }
.lp-nota-celular b { color: var(--texto-2); font-weight: 600; }
.lp-icone-app { width: 160px; height: 160px; border-radius: 36px; box-shadow: 0 28px 70px -34px rgba(37, 99, 255, 0.6); }

.lp-final {
  margin: 96px 0 40px; padding: 56px 32px; text-align: center; border-radius: 26px; border: 1px solid var(--azul-borda);
  background: radial-gradient(600px 260px at 50% 0%, rgba(37, 99, 255, 0.22), transparent 70%), var(--card-2);
}
.lp-final h2 { margin: 0 auto; }
.lp-final p { margin: 14px 0 26px; color: var(--texto-2); }
.lp-final .primario { display: inline-block; width: auto; margin: 0; padding: 16px 30px; }

/* duas ferramentas e motores */
.lp-ferramentas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 30px; }
.lp-ferramenta { display: flex; flex-direction: column; gap: 14px; padding: 28px; transition: border-color .15s; border-radius: 22px; background: linear-gradient(180deg, var(--card), var(--card-2)); border: 1px solid var(--borda); }
.lp-ferramenta:hover { border-color: #2c3850; }
.lp-ferramenta.destaque-nba:hover { border-color: var(--azul-2); }
.lp-ferramenta.destaque-nba { border-color: var(--azul-borda); background: radial-gradient(420px 220px at 100% 0%, rgba(37, 99, 255, 0.18), transparent 70%), linear-gradient(180deg, var(--card), var(--card-2)); }
.lp-ferramenta-tag { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 5px 12px; border-radius: 999px; border: 1px solid var(--azul-borda); background: var(--azul-fundo); color: var(--azul-3); font: 600 12px var(--titulo); letter-spacing: 0.08em; text-transform: uppercase; }
.lp-ferramenta-tag .icone-selo { width: 14px; height: 14px; fill: none; stroke: var(--azul-3); stroke-width: 1.6; }
.lp-ferramenta h3 { margin: 0; font: 800 24px/1.15 var(--titulo); letter-spacing: -0.02em; }
.lp-ferramenta > p { margin: 0; color: var(--texto-2); }
.lp-ferramenta .lp-checklist { margin: 4px 0 0; }
.lp-ferramenta .secundario { align-self: flex-start; margin-top: auto; }
.lp-motor { margin-top: 40px; }
.lp-motor > h3 { margin: 0; color: var(--texto-2); font: 600 13px var(--titulo); letter-spacing: 0.1em; text-transform: uppercase; }
.lp-motor .lp-recursos { margin-top: 16px; }
/* Recursos do site: oito cards em duas linhas de quatro. */
#recursos .lp-recursos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { #recursos .lp-recursos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 920px) { #recursos .lp-recursos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { #recursos .lp-recursos { grid-template-columns: minmax(0, 1fr); } }
.lp-recursos h4 { margin: 16px 0 6px; font: 700 17px var(--titulo); }
.lp-notas-linha { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 16px; }
.lp-notas-linha li + li { border-top: 0; border-left: 1px solid var(--borda-suave); }
.lp-notas-palpites { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lp-notas-palpites .nota.mais { width: auto; padding: 0 8px; }
.lp-notas-palpites li { grid-template-columns: auto minmax(0, 1fr); row-gap: 2px; }
.lp-notas-palpites .nota { grid-row: span 2; }
.lp-notas-palpites small { font-family: var(--ui); }
#palpites .lp-palpites { margin-top: 0; }

/* Contexto de cada modalidade, bem sutil (≈5%): quadra nos palpites da
   NBA; campo e quadra nas múltiplas, que juntam os dois esportes. */
.lp-ferramenta { position: relative; overflow: hidden; }
.lp-ferramenta > * { position: relative; }
.lp-ferramenta::before { content: ""; position: absolute; top: 0; right: 0; width: 240px; height: 200px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 200'%3E%3Cg fill='none' stroke='%23f7f9fc' stroke-opacity='.06' stroke-width='1.5'%3E%3Cpath d='M20 0 V70 A100 100 0 0 0 220 70 V0'/%3E%3Crect x='86' y='0' width='68' height='96'/%3E%3Ccircle cx='120' cy='96' r='30'/%3E%3C/g%3E%3C/svg%3E") no-repeat top right / contain; pointer-events: none; }
.lp-ferramenta:not(.destaque-nba)::after { content: ""; position: absolute; bottom: 0; left: 0; width: 240px; height: 200px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 200'%3E%3Cg fill='none' stroke='%23f7f9fc' stroke-opacity='.06' stroke-width='1.5'%3E%3Crect x='40' y='0' width='160' height='66'/%3E%3Crect x='86' y='0' width='68' height='24'/%3E%3Cpath d='M92 66 A34 34 0 0 0 148 66'/%3E%3C/g%3E%3C/svg%3E") no-repeat bottom left / contain; transform: rotate(180deg); pointer-events: none; }

/* ---------- cadastro e login ---------- */
.acesso { min-height: calc(100vh - 200px); display: grid; place-items: center; padding: 20px 0 40px; }
.acesso-caixa { width: 100%; max-width: 440px; padding: 34px; }
.acesso-caixa h1 { margin: 0; font: 800 30px/1.1 var(--titulo); letter-spacing: -0.03em; }
.acesso-caixa > p { margin: 10px 0 26px; color: var(--texto-2); }
.form { display: grid; gap: 16px; }
.campo { display: grid; gap: 7px; }
.campo > span { font-size: 13px; font-weight: 500; color: var(--texto-2); }
.campo input, .campo select, .campo textarea {
  width: 100%; padding: 13px 14px; border-radius: 12px; border: 1px solid var(--borda); background: var(--card-2);
  color: var(--texto); font: 15px var(--ui); transition: border-color .15s, box-shadow .15s;
}
.campo textarea { min-height: 110px; resize: vertical; line-height: 1.45; }
.campo input::placeholder, .campo textarea::placeholder { color: var(--texto-3); }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-fundo); }
.campo-senha { position: relative; }
.campo-senha input { padding-right: 70px; }
.campo-senha button { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); }
.aceite { display: flex; gap: 10px; align-items: flex-start; color: var(--texto-2); font-size: 13px; line-height: 1.45; }
.aceite input { accent-color: var(--azul); width: 17px; height: 17px; margin: 1px 0 0; flex-shrink: 0; }
.aceite a { color: var(--azul-3); }
.aceite b { color: var(--texto); font-weight: 600; }
.form .primario { margin-top: 6px; }
.form .erro { margin: 0; }
.ok { margin: 0; padding: 12px 14px; border-radius: 13px; border: 1px solid var(--positivo-borda); background: var(--positivo-fundo); color: var(--positivo); }
.form .esqueci { justify-self: end; margin-top: -6px; font-size: 13px; }
.troca { margin: 22px 0 0; text-align: center; color: var(--texto-2); font-size: 14px; }
.troca a { color: var(--azul-3); font-weight: 600; text-decoration: none; }
.vantagens { list-style: none; display: grid; gap: 8px; margin: 0 0 24px; padding: 14px 16px; border-radius: 13px; background: var(--card-2); border: 1px solid var(--borda); color: var(--texto-2); font-size: 13.5px; }
.vantagens li { display: flex; gap: 10px; align-items: center; }
.vantagens li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--azul-2); flex-shrink: 0; }

/* ---------- texto (termos) ---------- */
.texto-longo { max-width: 760px; padding: 20px 0 40px; color: var(--texto-2); }
.texto-longo h1 { color: var(--texto); font: 800 34px/1.1 var(--titulo); letter-spacing: -0.03em; }
.texto-longo h2 { margin-top: 32px; color: var(--texto); font: 700 18px var(--titulo); }

/* ---------- admin ---------- */
.admin .palco { max-width: 1320px; }
.admin .nav { max-width: 1320px; }
.selo-admin { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--azul-borda); background: var(--azul-fundo); color: var(--azul-3); font: 600 11px var(--titulo); letter-spacing: 0.1em; text-transform: uppercase; }
.admin-topo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; padding: 8px 0 24px; }
.admin-topo h1 { margin: 0; font: 800 32px/1.1 var(--titulo); letter-spacing: -0.03em; }
.admin-topo p { margin: 6px 0 0; color: var(--texto-3); font-size: 13px; }
.admin-acoes { display: flex; flex-wrap: wrap; gap: 10px; }
.metricas { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.metrica { padding: 18px; border-radius: 16px; background: var(--card); border: 1px solid var(--borda); }
.metrica span { display: block; color: var(--texto-2); font-size: 12.5px; }
.metrica strong { display: block; margin-top: 8px; font: 700 30px/1 var(--num); letter-spacing: -0.02em; }
.metrica small { display: block; margin-top: 8px; color: var(--texto-3); font-size: 12px; }
.metrica.destaque-azul { border-color: var(--azul-borda); background: linear-gradient(180deg, var(--azul-fundo), var(--card)); }

.admin-grade { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; margin-top: 16px; align-items: start; }
.bloco { padding: 20px; border-radius: var(--raio); background: var(--card); border: 1px solid var(--borda); min-width: 0; }
.bloco h2 { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 0 0 14px; font: 600 12px var(--titulo); letter-spacing: 0.08em; text-transform: uppercase; color: var(--texto-2); }
.bloco + .bloco { margin-top: 16px; }

.funil { display: grid; gap: 10px; }
.funil-linha { display: grid; grid-template-columns: 90px 1fr 36px; gap: 10px; align-items: center; font-size: 13px; color: var(--texto-2); }
.funil-barra { height: 8px; border-radius: 99px; background: var(--card-2); overflow: hidden; }
.funil-barra i { display: block; height: 100%; border-radius: 99px; background: var(--azul); }
.funil-linha b { text-align: right; font: 600 13px var(--num); color: var(--texto); }

.filtros { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.filtros input, .filtros select {
  padding: 10px 12px; border-radius: 11px; border: 1px solid var(--borda); background: var(--card-2); color: var(--texto); font: 14px var(--ui);
}
.filtros input { flex: 1; min-width: 200px; }
.filtros input[type="date"] { flex: 0 0 auto; min-width: 0; }
.cadastro-col { white-space: nowrap; }
.filtros input:focus, .filtros select:focus { outline: none; border-color: var(--azul); }

.tabela-caixa { overflow-x: auto; margin: 0 -20px; padding: 0 20px; }
.tabela { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.tabela th { padding: 10px 10px; text-align: left; color: var(--texto-3); font: 600 11px var(--titulo); letter-spacing: 0.08em; text-transform: uppercase; border-bottom: 1px solid var(--borda); white-space: nowrap; }
.tabela td { padding: 12px 10px; border-bottom: 1px solid var(--borda-suave); vertical-align: middle; white-space: nowrap; }
.tabela tbody tr { cursor: pointer; transition: background .12s; }
.tabela tbody tr:hover { background: var(--card-3); }
.tabela .num-col { font-family: var(--num); text-align: right; }
.tabela .pessoa b { display: block; font-weight: 600; }
.tabela .pessoa small { color: var(--texto-3); }
.tag { display: inline-block; padding: 3px 9px; border-radius: 999px; border: 1px solid var(--borda); background: var(--card-2); color: var(--texto-2); font-size: 12px; }
.tag.etapa-novo { color: var(--azul-3); border-color: var(--azul-borda); background: var(--azul-fundo); }
.tag.etapa-engajado { color: var(--azul-3); border-color: var(--azul-borda); }
.tag.etapa-morno { color: var(--texto-2); }
.tag.etapa-cliente { color: #f5c451; border-color: rgba(245, 196, 81, 0.4); background: rgba(245, 196, 81, 0.08); }
.tag.etapa-vip { color: var(--positivo); border-color: var(--positivo-borda); background: var(--positivo-fundo); }
.tag.etapa-inativo, .tag.bloqueado { color: var(--vermelho); border-color: rgba(255, 122, 122, 0.35); background: rgba(255, 122, 122, 0.06); }
.ponto { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--texto-3); }
.ponto.on { background: var(--positivo); }
.vazio-tabela { padding: 30px 10px; text-align: center; color: var(--texto-3); }

.feed { list-style: none; margin: 0; padding: 0; }
.feed li { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 11px 0; font-size: 13px; }
.feed li + li { border-top: 1px solid var(--borda-suave); }
.feed b { font-weight: 600; }
.feed .odd-feed { font: 600 14px var(--num); text-align: right; }
.feed small { color: var(--texto-3); }
.feed a { color: var(--azul-3); text-decoration: none; }

/* ficha do usuário (gaveta lateral) */
.gaveta-fundo { position: fixed; inset: 0; z-index: 20; background: rgba(4, 6, 10, 0.66); backdrop-filter: blur(3px); }
.gaveta {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 21; width: min(480px, 100vw); overflow-y: auto;
  background: var(--card); border-left: 1px solid var(--borda); box-shadow: -30px 0 80px -30px rgba(0, 0, 0, 0.9); padding: 26px;
}
.gaveta-topo { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.gaveta h2 { margin: 0; font: 800 24px/1.15 var(--titulo); letter-spacing: -0.02em; }
.gaveta-sub { margin: 4px 0 0; color: var(--texto-3); font-size: 13px; }
.dados { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 20px 0; }
.dados div { padding: 12px 14px; border-radius: 12px; background: var(--card-2); border: 1px solid var(--borda); min-width: 0; }
.dados span { display: block; color: var(--texto-3); font-size: 12px; }
.dados-livre { margin: 0; }
.dados b { display: block; margin-top: 3px; font-weight: 600; overflow-wrap: anywhere; }
.contatos { display: flex; flex-wrap: wrap; gap: 8px; }
.contatos .secundario { font-size: 13px; padding: 9px 13px; }
.gaveta .form { margin-top: 20px; }
.gaveta h3 { margin: 26px 0 8px; font: 600 12px var(--titulo); letter-spacing: 0.08em; text-transform: uppercase; color: var(--texto-2); }
.fechar { width: 36px; height: 36px; border-radius: 10px; border: 1px solid var(--borda); background: var(--card-2); color: var(--texto-2); font-size: 18px; line-height: 1; }
.fechar:hover { color: var(--texto); }

.modal-acoes { display: flex; gap: 10px; }
.modal-acoes .primario { margin: 0; }

/* ---------- responsivo ---------- */
@media (max-width: 1100px) {
  .metricas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-grade { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 920px) {
  .nav-links { display: none; }
  .lp-hero { grid-template-columns: minmax(0, 1fr); gap: 56px; padding-top: 24px; }
  .lp-bilhete { transform: none; max-width: 480px; }
  .lp-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-passos, .lp-recursos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-passos li:not(:last-child)::after { display: none; }
  .lp-duas { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .lp-palpite { transform: none; max-width: 460px; }
  .lp-ferramentas { grid-template-columns: minmax(0, 1fr); }
  .lp-notas-linha { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-notas-linha li:nth-child(3) { border-left: 0; }
  .lp-notas-linha li:nth-child(n+3) { border-top: 1px solid var(--borda-suave); }
  .lp-celular { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .lp-icone-app { order: -1; width: 96px; height: 96px; border-radius: 22px; }
}
@media (max-width: 560px) {
  .lp-hero { padding-top: 12px; }
  .lp-hero h1 { font-size: 32px; line-height: 1.06; }
  .lp .nav { flex-wrap: nowrap; padding-left: 16px; padding-right: 16px; }
  .lp .nav-dir { gap: 12px; flex-shrink: 0; }
  .lp .botao-pequeno { padding: 8px 12px; font-size: 13px; }
  .lp .nav-entrar { font-size: 13.5px; }
  .lp-secao h2, .lp-final h2 { font-size: 24px; line-height: 1.15; }
  .lp-lead { font-size: 15px; }
  .lp-ferramenta h3 { font-size: 20px; }
  .lp-palpite-selecao { font-size: 18px; }
  .lp-passos h3, .lp-recursos h3, .lp-recursos h4 { font-size: 16px; }
  .lp-numeros span { font-size: 12.5px; }
  .palpites-topo h1 { font-size: 30px; }
  .palpites-topo .hero-texto { font-size: 14px; }
  .acesso-caixa h1 { font-size: 26px; }
  .admin-topo h1 { font-size: 26px; }
  .texto-longo h1 { font-size: 28px; }
  .lp-ctas .primario, .lp-ctas .secundario { width: 100%; }
  .lp-bilhete-topo { padding: 22px 18px 12px; }
  .lp-bilhete-odd strong { font-size: 32px; }
  .lp-pernas { padding: 4px 8px; }
  .lp-pernas li { gap: 12px; }
  .lp-bilhete-pe { margin: 6px 14px 18px; }
  .lp-numeros div { padding: 18px 16px; }
  .lp-ferramenta { padding: 22px 18px; }
  .lp-notas-palpites { grid-template-columns: minmax(0, 1fr); }
  .lp-notas-palpites li + li { border-left: 0; border-top: 1px solid var(--borda-suave); }
  .lp-numeros strong { font-size: 28px; }
  .lp-passos, .lp-recursos { grid-template-columns: minmax(0, 1fr); }
  .lp-secao { padding-top: 64px; }
  .lp-final { margin-top: 64px; padding: 40px 20px; }
  .lp-final .primario { width: 100%; }
  .acesso-caixa { padding: 24px 20px; }
  .metricas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metrica strong { font-size: 26px; }
  .dados { grid-template-columns: minmax(0, 1fr); }
  .gaveta { padding: 20px 16px; }
}

/* ---------- admin: abas e histórico de palpites ---------- */
.abas { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.palpites-acoes { align-items: center; margin-bottom: 16px; }
.palpites-acoes select { padding: 10px 12px; border-radius: 11px; border: 1px solid var(--borda); background: var(--card-2); color: var(--texto); font: 14px var(--ui); }
.h-aviso { color: var(--texto-3); font-size: 13px; }
.h-calendario { display: inline-flex; align-items: center; gap: 8px; color: var(--texto-2); font-size: 13px; }
.h-calendario input { padding: 9px 12px; border-radius: 11px; border: 1px solid var(--borda); background: var(--card-2); color: var(--texto); font: 14px var(--ui); color-scheme: dark; }
.h-calendario input:focus, .palpites-acoes select:focus { outline: none; border-color: var(--azul); }
.palpites-acoes select:disabled { opacity: 0.45; }
.metrica strong.positivo { color: var(--positivo); }
.tabela-fixa tbody tr { cursor: default; }
.tag.green { color: var(--positivo); border-color: var(--positivo-borda); background: var(--positivo-fundo); }
.tag.red { color: var(--vermelho); border-color: rgba(255, 122, 122, 0.35); background: rgba(255, 122, 122, 0.06); }
.tag.pendente { color: var(--azul-3); border-color: var(--azul-borda); background: var(--azul-fundo); }
.lucro-pos { color: var(--positivo); }
.lucro-neg { color: var(--vermelho); }

/* ---------- palpites da IA ---------- */
.palpites-topo { padding: 18px 0 26px; }
.palpites-topo h1 { margin: 0; font: 800 clamp(34px, 5vw, 54px)/1.05 var(--titulo); letter-spacing: -0.035em; }
.palpites-topo .hero-texto b { color: var(--texto); }
.palpites-barra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 22px 0 14px; min-height: 44px; }
.opcao-amais[aria-pressed="true"] { color: #0b1a00; border-color: var(--positivo); background: var(--positivo); box-shadow: 0 8px 20px -14px rgba(184, 255, 61, 0.6); }
.divisor-filtros { width: 1px; align-self: stretch; margin: 4px 2px; background: var(--borda); }
.palpites-acoes-topo { display: flex; gap: 8px; flex-wrap: wrap; }
.botao-aviso { display: inline-flex; align-items: center; gap: 8px; }
.botao-aviso svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.botao-aviso[aria-pressed="true"] { color: var(--azul-3); border-color: var(--azul-borda); background: var(--azul-fundo); }
.aviso-avisos { margin: -4px 0 12px; color: var(--texto-2); font-size: 13px; }
.palpites-status { margin: 0; color: var(--texto-2); font-size: 13.5px; }
/* Grade dos palpites: 3 colunas no computador, 2 no tablet, 1 no celular.
   Número fixo de colunas: tela grande não ganha uma 4ª coluna. */
.grade-palpites { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 8px; }
/* Cartões na faixa de ~420 px no computador. */
.pagina-palpites .palco, .pagina-palpites .nav { max-width: 1340px; }
.palpite-leitura b { color: var(--texto); font-weight: 600; }
.palpite { display: flex; flex-direction: column; gap: 14px; padding: 20px; border-radius: var(--raio); background: var(--card); border: 1px solid var(--borda); box-shadow: var(--sombra); transition: border-color .15s, transform .15s; }
.palpite:hover { border-color: #2c3850; transform: translateY(-1px); }
.palpite-topo { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 12px; align-items: center; }
.foto { width: 56px; height: 41px; object-fit: cover; border-radius: 10px; background: var(--card-2); }
.quem b { display: block; font-weight: 600; }
.quem small { color: var(--texto-3); font-size: 12.5px; }
.confronto { display: inline-flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.escudo { width: 18px; height: 18px; object-fit: contain; }
.nota.A.mais { width: auto; padding: 0 8px; color: #0b1a00; background: var(--positivo); border-color: var(--positivo); box-shadow: 0 0 12px rgba(184, 255, 61, 0.22); }
.palpite-selecao { margin: 0; font: 700 18px/1.25 var(--titulo); letter-spacing: -0.01em; }
.alerta-palpite { margin: 0; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(255, 193, 99, 0.4); background: rgba(255, 193, 99, 0.08); color: var(--ambar); font-size: 12.5px; line-height: 1.45; }
.alerta-palpite b { font-weight: 600; }
.palpite-numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.palpite-numeros div { padding: 10px 12px; border-radius: 12px; background: var(--card-2); border: 1px solid var(--borda); }
.palpite-numeros span { display: block; color: var(--texto-3); font-size: 11.5px; letter-spacing: 0.01em; }
.palpite-numeros strong { display: block; margin-top: 3px; font: 700 18px/1.15 var(--num); }
.palpite-numeros .positivo { color: var(--positivo); }
.palpite-numeros strong small { color: var(--texto-3); font: 500 11px var(--num); }
.palpite-leitura { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; color: var(--texto-2); font-size: 13px; }
.palpite-leitura li::before { content: "• "; color: var(--azul-2); }
.barras { position: relative; display: flex; align-items: flex-end; gap: 4px; height: 48px; padding: 0 2px; }
.barras span { flex: 1; border-radius: 3px 3px 0 0; background: rgba(255, 122, 122, 0.55); }
.barras span.bateu { background: var(--positivo); opacity: 0.8; }
.linha-barra { position: absolute; left: 0; right: 0; height: 0; border-top: 1px dashed var(--azul-3); }
.palpite .primario { margin-top: auto; padding: 13px; }
.palpite-acoes { display: flex; gap: 8px; margin-top: auto; }
.palpite-acoes .primario { flex: 1; margin: 0; }
.palpite-acoes .anotar { flex: none; padding: 0 14px; border-radius: 12px; font-weight: 600; }
.vazio-palpites { padding: 48px 20px; text-align: center; border: 1px dashed var(--borda); border-radius: var(--raio); }
.vazio-palpites h3 { margin: 0 0 8px; font: 700 20px var(--titulo); }
.vazio-palpites p { margin: 0 auto; max-width: 520px; color: var(--texto-2); }
.esqueleto-palpites { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.esqueleto-palpites span { height: 300px; border-radius: var(--raio); background: linear-gradient(90deg, var(--card) 0%, var(--card-3) 50%, var(--card) 100%) 0 0 / 200% 100%; animation: brilho 1.4s linear infinite; }
@keyframes brilho { to { background-position: -200% 0; } }
/* Cartões de palpite no tablet e no computador (o celular tem bloco próprio).
   Compactação leve; hierarquia: palpite → chance → jogador → odd/projeção →
   acerto → aviso → contexto → gráfico → botão. */
@media (max-width: 1099px) and (min-width: 561px) {
  .grade-palpites, .esqueleto-palpites { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Telas onde o cartão fica abaixo de ~420 px: projeções longas ("10,2 cestas de 2")
   ganham 1 px a menos para caber numa linha. */
@media (max-width: 1339px) and (min-width: 561px) {
  .palpite-numeros div:last-child strong { font-size: 16px; letter-spacing: -0.01em; }
}
@media (min-width: 561px) {
  /* Escala dos componentes acompanhando a tipografia (espaços de 4/8/12/16 px). */
  .palpite { padding: 16px; gap: 10px; }
  .palpite-topo { gap: 10px; }
  .palpite .foto { width: 48px; height: 35px; border-radius: 8px; }
  .palpite .nota { width: 32px; height: 32px; border-radius: 8px; }
  .palpite .nota.A.mais { width: auto; padding: 0 7px; }
  .quem b { font-size: 16px; font-weight: 600; line-height: 1.2; }
  .quem small { font-size: 13px; font-weight: 400; line-height: 1.3; }
  .palpite-selecao { font-size: 18px; line-height: 1.2; }
  /* Odd e chance são curtos; a projeção ("2,9 tent. de LL") ganha mais largura
     para caber numa linha só. */
  .palpite-numeros { grid-template-columns: minmax(0, 0.82fr) minmax(0, 0.88fr) minmax(0, 1.3fr); }
  .palpite-numeros div { padding: 8px 10px; border-radius: 10px; }
  .palpite-numeros span { font-size: 12px; font-weight: 400; }
  .palpite-numeros strong { font-size: 17px; line-height: 1.2; text-wrap: balance; }
  .palpite-numeros strong.positivo { font-size: 18px; }
  .palpite-leitura { gap: 2px; font-size: 13px; line-height: 1.4; }
  .palpite-leitura b { font-size: 14px; font-weight: 600; line-height: 1.3; }
  /* Aviso de começo de temporada: continua visível, mas mais leve que o palpite e a chance. */
  .alerta-palpite { padding: 7px 10px; border-radius: 10px; font-size: 12.5px; line-height: 1.4; border-color: rgba(255, 193, 99, 0.26); background: rgba(255, 193, 99, 0.055); }
  .barras { height: 44px; }
  .palpite .primario { padding: 12px; border-radius: 12px; font-size: 15px; font-weight: 600; line-height: 1.25; }
}
@media (max-width: 560px) {
  .grade-palpites, .esqueleto-palpites { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  /* Cartões de palpite no celular: mais densos, mesma estrutura.
     Hierarquia: palpite → chance → jogador → odd/projeção → acerto → contexto. */
  /* Escala dos componentes acompanhando a tipografia (espaços de 4/8/12 px). */
  .palpite { padding: 16px; gap: 8px; }
  .palpite-topo { gap: 8px; }
  .palpite .foto { width: 46px; height: 34px; border-radius: 8px; }
  .quem b { font-size: 16px; font-weight: 600; line-height: 1.2; }
  .quem small { font-size: 13px; font-weight: 400; line-height: 1.3; }
  .palpite .nota { width: 30px; height: 30px; border-radius: 8px; font-size: 16px; }
  .palpite .nota.A.mais { width: auto; padding: 0 7px; }
  .palpite-selecao { font-size: 18px; line-height: 1.2; }
  .palpite-numeros { gap: 6px; }
  .palpite-numeros div { padding: 8px 10px; border-radius: 10px; }
  .palpite-numeros span { font-size: 12px; font-weight: 400; }
  .palpite-numeros strong { margin-top: 2px; font-size: 17px; line-height: 1.2; text-wrap: balance; }
  .palpite-numeros strong.positivo { font-size: 18px; }
  .palpite-leitura { gap: 1px; font-size: 14px; line-height: 1.4; }
  .palpite-leitura b { font-size: 15px; font-weight: 600; line-height: 1.3; }
  .alerta-palpite { padding: 7px 10px; border-radius: 10px; line-height: 1.4; }
  .barras { height: 40px; }
  .palpite .primario { padding: 12px; border-radius: 12px; font-size: 16px; line-height: 1.25; }
  #filtros { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 2px 16px 6px; scrollbar-width: none; scroll-snap-type: x proximity; }
  #filtros::-webkit-scrollbar { display: none; }
  #filtros > * { flex-shrink: 0; scroll-snap-align: start; }
}


/* ---------- seguir jogador, anotar e aviso rápido ---------- */
.seguir { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border-radius: 8px; border: 1px solid var(--borda); background: transparent; color: var(--texto-3); cursor: pointer; }
.seguir svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.seguir:hover { color: var(--texto); }
.seguir.ativo { color: var(--ambar); border-color: rgba(255, 193, 99, 0.4); }
.seguir.ativo svg { fill: currentColor; }
.toast { position: fixed; left: 50%; bottom: 88px; z-index: 50; max-width: calc(100vw - 32px); padding: 11px 16px; border-radius: 12px; border: 1px solid var(--borda); background: var(--card-3); color: var(--texto); font-size: 14px; box-shadow: var(--sombra); transform: translate(-50%, 20px); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
.toast.visivel { opacity: 1; transform: translate(-50%, 0); }

/* ---------- painel de avisos ---------- */
dialog.painel-avisos { width: min(520px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); padding: 22px; }
.painel-avisos-topo { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
.painel-avisos-topo h2 { margin: 0 !important; }
.painel-avisos h3 { margin: 20px 0 10px; font: 600 13px var(--ui); letter-spacing: 0.06em; text-transform: uppercase; color: var(--texto-2); }
.painel-avisos-ligar .primario, .painel-avisos-ligar .secundario { width: 100%; margin-top: 12px; }
.painel-avisos-ligar .aviso-avisos { margin: 10px 0 0; }
.interruptor { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-top: 1px solid var(--borda-suave); cursor: pointer; }
.interruptor input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--azul); }
.interruptor b { display: block; font-weight: 600; font-size: 15px; }
.interruptor small { color: var(--texto-2); font-size: 13px; }
.times-grade { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.time-opcao { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 7px 2px; border-radius: 10px; border: 1px solid var(--borda); background: var(--card-2); color: var(--texto-2); font: 600 11px var(--ui); cursor: pointer; }
.time-opcao .escudo { width: 22px; height: 22px; }
.time-opcao[aria-pressed="true"] { border-color: var(--azul); background: var(--azul-fundo); color: var(--texto); }
.seguidos { margin: 0; padding: 0; list-style: none; }
.seguidos li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--borda-suave); font-size: 15px; }

/* ---------- ao vivo ---------- */
.painel-vivo { margin: 0 0 22px; padding: 16px; border-radius: var(--raio); border: 1px solid var(--borda); background: var(--card-2); }
.vivo-cabeca { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.vivo-cabeca h2 { display: flex; align-items: center; gap: 8px; margin: 0; font: 700 18px var(--titulo); }
.ponto-vivo { width: 8px; height: 8px; border-radius: 50%; background: #ff4d4d; box-shadow: 0 0 0 0 rgba(255, 77, 77, 0.6); animation: pulso-vivo 1.6s infinite; }
@keyframes pulso-vivo { 70% { box-shadow: 0 0 0 8px rgba(255, 77, 77, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 77, 77, 0); } }
.vivo-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.vivo-item { display: flex; flex-direction: column; gap: 6px; padding: 12px; border-radius: 12px; border: 1px solid var(--borda); background: var(--card); }
.vivo-item.green { border-color: var(--positivo-borda); }
.vivo-item.red { border-color: rgba(255, 122, 122, 0.35); }
.vivo-topo { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.vivo-topo b { font-weight: 600; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vivo-item > small { color: var(--texto-2); font-size: 13px; }
/* Ao vivo do futebol: a aposta no título e o jogo como um placar. */
.fut-vivo-item .vivo-topo { align-items: flex-start; }
.fut-vivo { display: grid; gap: 6px; }
.fut-card .fut-vivo { margin: 4px 0 2px; padding: 10px; border-radius: 12px; border: 1px solid var(--borda); background: var(--card); }
.fut-vivo-linha { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: var(--texto-2); font: 500 12.5px var(--num); }
.fut-vivo-linha > span:first-child { display: flex; align-items: center; gap: 7px; }
.fut-vivo-item .fut-vivo-titulo { white-space: normal; line-height: 1.3; }
.fut-vivo-quem { display: block; color: var(--texto-2); font-size: 12.5px; font-weight: 500; }
.fut-vivo-jogo { display: grid; gap: 4px; padding: 8px 10px; border-radius: 10px; background: var(--card-2); }
.fut-vivo-time { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: var(--texto-2); font-size: 13.5px; }
.fut-vivo-time > span { display: flex; align-items: center; gap: 7px; min-width: 0; }
.fut-vivo-nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fut-vivo-time .fut-logo { width: 18px; height: 18px; }
.fut-vivo-time b { font: 700 15px var(--num); color: var(--texto); }
.fut-vivo-time.aposta { color: var(--texto); font-weight: 600; }
.fut-vivo.menos .vivo-barra span { background: var(--ambar); }
.selo-resultado.ganhando { color: var(--positivo); border-color: var(--positivo-borda); background: rgba(184, 255, 61, 0.07); }
.selo-resultado.perdendo { color: var(--vermelho); border-color: rgba(255, 122, 122, 0.4); background: rgba(255, 122, 122, 0.08); }
.vivo-barra { position: relative; height: 6px; border-radius: 3px; background: var(--card-3); overflow: hidden; }
.vivo-barra span { position: absolute; inset: 0 auto 0 0; border-radius: 3px; background: var(--azul); transition: width .4s; }
.vivo-item.green .vivo-barra span { background: var(--positivo); }
.vivo-item.red .vivo-barra span { background: var(--vermelho); }
.vivo-rodape { display: flex; justify-content: space-between; gap: 8px; color: var(--texto-2); font: 500 12.5px var(--num); }
.vivo-rodape span:first-child { color: var(--texto); }

/* Selo de resultado (ao vivo, resultados e banca). */
.selo-resultado { flex: none; padding: 3px 8px; border-radius: 7px; border: 1px solid var(--borda); background: var(--card-3); color: var(--texto-2); font: 600 12px var(--ui); white-space: nowrap; }
.selo-resultado.vivo { color: var(--azul-3); border-color: var(--azul-borda); background: var(--azul-fundo); }
.selo-resultado.green { color: #0b1a00; border-color: var(--positivo); background: var(--positivo); }
.selo-resultado.red { color: var(--vermelho); border-color: rgba(255, 122, 122, 0.4); background: rgba(255, 122, 122, 0.08); }
.positivo { color: var(--positivo); }
.negativo { color: var(--vermelho); }

/* ---------- resultados ---------- */
.placar-numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.placar-numero { padding: 14px 16px; border-radius: 14px; border: 1px solid var(--borda); background: var(--card); }
.placar-numero span { display: block; color: var(--texto-2); font-size: 13px; }
.placar-numero strong { display: block; margin-top: 4px; font: 700 24px/1.15 var(--num); letter-spacing: -0.01em; }
.placar-tabelas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 26px; }
.placar-tabela { padding: 14px 16px; border-radius: 14px; border: 1px solid var(--borda); background: var(--card-2); }
.placar-tabela h3, .resultado-dia h3 { margin: 0 0 8px; font: 600 13px var(--ui); letter-spacing: 0.06em; text-transform: uppercase; color: var(--texto-2); }
.placar-linha { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 12px; padding: 7px 0; border-top: 1px solid var(--borda-suave); font: 500 14px var(--num); }
.placar-linha b { font: 600 14px var(--ui); }
.resultado-dia { margin-bottom: 22px; }
.resultado-dia header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 4px; }
.resultado-dia header h3 { text-transform: none; letter-spacing: 0; font-size: 15px; color: var(--texto); }
.resultado-dia header span { color: var(--texto-2); font: 500 13px var(--num); white-space: nowrap; }
.resultado-lista { margin: 0; padding: 0; list-style: none; border-radius: 14px; border: 1px solid var(--borda); background: var(--card); overflow: hidden; }
.resultado-item { display: flex; align-items: center; gap: 12px; padding: 11px 14px; }
.resultado-item + .resultado-item { border-top: 1px solid var(--borda-suave); }
.foto-mini { flex: none; width: 40px; height: 29px; border-radius: 7px; object-fit: cover; background: var(--card-2); }
.resultado-quem { flex: 1; min-width: 0; }
.resultado-quem b { display: flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; }
.resultado-quem small { display: block; color: var(--texto-2); font-size: 13px; }
.evidencia { display: block; margin-top: 2px; font-size: 11px; color: var(--texto-2, #9aa3ad); }
.evidencia.forte { color: var(--positivo); }
.nota-mini { padding: 1px 5px; border-radius: 5px; border: 1px solid var(--positivo-borda); color: var(--positivo); font: 700 11px var(--num); }
.nota-mini.mais { color: #0b1a00; background: var(--positivo); }
.casa-mini { margin-left: 6px; padding: 1px 6px; border-radius: 5px; border: 1px solid var(--borda); color: var(--texto-2); font: 600 11px var(--num); }
.casa-mini.jvspin { color: #ffcf5c; border-color: rgba(255, 207, 92, .4); }
.casa-mini.\31 win { color: var(--azul-3); border-color: var(--azul-borda); }
.resultado-fim { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.resultado-fim small { color: var(--texto-2); font: 500 12px var(--num); }

/* ---------- banca ---------- */
.painel { padding: 20px; border-radius: var(--raio); border: 1px solid var(--borda); background: var(--card); }
.painel h2 { margin: 0 0 14px; font: 700 18px var(--titulo); }
.banca-grade { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr); gap: 16px; margin-bottom: 16px; }
.banca-config, .form-aposta { display: flex; flex-direction: column; gap: 12px; }
.banca-config label, .form-aposta label { display: flex; flex-direction: column; gap: 6px; color: var(--texto-2); font-size: 13px; }
.banca-config input, .form-aposta input { width: 100%; padding: 11px 12px; border-radius: 11px; border: 1px solid var(--borda); background: var(--card-2); color: var(--texto); font: 600 15px var(--num); }
.banca-config input:focus, .form-aposta input:focus { outline: 0; border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-fundo); }
.banca-notas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.banca-notas label span { display: flex; align-items: center; gap: 6px; color: var(--texto-2); }
.dica-banca { margin: 0; color: var(--texto-2); font-size: 13.5px; }
.banca-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 12px; }
.banca-lista-topo { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.banca-lista-topo h2 { margin: 0; }
.banca-grafico { display: block; width: 100%; height: 120px; margin-bottom: 14px; }
.linha-banca { fill: none; stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.linha-banca.sobe { stroke: var(--positivo); }
.linha-banca.desce { stroke: var(--vermelho); }
.base-banca { stroke: var(--borda); stroke-dasharray: 4 6; vector-effect: non-scaling-stroke; }
select.selo-resultado { appearance: none; padding: 5px 10px; cursor: pointer; }
.apagar-aposta { font-size: 12px; }
.form-aposta .modal-acoes .primario { margin: 0; }
.form-aposta .modal-acoes > * { flex: 1; }

/* ---------- assistente com IA ---------- */
.chat-abrir { position: fixed; right: 20px; bottom: 20px; z-index: 40; display: grid; place-items: center; width: 56px; height: 56px; padding: 0; border-radius: 50%; border: 1px solid rgba(175, 196, 255, 0.35); background: radial-gradient(circle at 30% 25%, #4d7dff 0%, var(--azul) 55%, #1a47d6 100%); color: #fff; box-shadow: 0 14px 34px -12px rgba(37, 99, 255, 0.95), inset 0 1px 0 rgba(255, 255, 255, 0.25); cursor: pointer; transition: transform .15s, box-shadow .15s; }
.chat-abrir:hover { transform: translateY(-2px) scale(1.04); box-shadow: 0 18px 40px -12px rgba(37, 99, 255, 1), inset 0 1px 0 rgba(255, 255, 255, 0.25); }
.chat-abrir svg, .chat-avatar svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.chat-abrir svg .brilho, .chat-avatar svg .brilho { fill: var(--positivo); stroke: none; }
.chat-quem { display: flex; align-items: center; gap: 10px; }
.chat-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--azul); color: #fff; flex: none; }
.chat-avatar svg { width: 22px; height: 22px; }
dialog.chat-painel { width: min(440px, calc(100vw - 24px)); height: min(640px, calc(100dvh - 32px)); margin: auto 20px 20px auto; padding: 0; display: none; flex-direction: column; border-radius: var(--raio); border: 1px solid var(--borda); background: var(--card); color: var(--texto); }
dialog.chat-painel[open] { display: flex; }
dialog.chat-painel::backdrop { background: rgba(4, 6, 10, 0.55); }
.chat-topo { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--borda); }
.chat-topo b { display: block; font: 700 16px var(--titulo); }
.chat-topo small { color: var(--texto-2); font-size: 12.5px; }
.chat-mensagens { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; padding: 16px; }
.chat-msg { max-width: 88%; padding: 10px 13px; border-radius: 14px; font-size: 14.5px; line-height: 1.45; white-space: pre-wrap; }
.chat-msg.assistente { align-self: flex-start; background: var(--card-3); border-bottom-left-radius: 4px; }
.chat-msg.usuario { align-self: flex-end; background: var(--azul); color: #fff; border-bottom-right-radius: 4px; }
.chat-msg.pensando { color: var(--texto-2); }
.chat-com-bilhetes { align-self: flex-start; display: flex; flex-direction: column; gap: 8px; max-width: 88%; }
.chat-com-bilhetes .chat-msg { max-width: none; }
a.chat-bilhete { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; margin: 0; padding: 10px 14px; text-align: left; text-decoration: none; }
a.chat-bilhete span { font-weight: 700; letter-spacing: .02em; }
a.chat-bilhete small { font-size: 12px; opacity: .85; font-weight: 400; }
.chat-sugestoes { display: flex; flex-wrap: wrap; gap: 6px; }
.chat-sugestoes .opcao { font-size: 13px; }
.chat-form { display: flex; gap: 8px; padding: 12px 16px 6px; border-top: 1px solid var(--borda); }
.chat-campo { flex: 1; min-width: 0; resize: none; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--borda); background: var(--card-2); color: var(--texto); font: 15px var(--ui); }
.chat-campo:focus { outline: 0; border-color: var(--azul); }
.chat-form .chat-enviar { flex: none; width: auto; padding: 0 16px; margin: 0; }
.chat-aviso { margin: 0; padding: 0 16px 12px; color: var(--texto-3); font-size: 11.5px; }

@media (max-width: 920px) {
  .placar-tabelas { grid-template-columns: minmax(0, 1fr); }
  .banca-grade { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .placar-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .placar-numero { padding: 12px; }
  .placar-numero strong { font-size: 21px; }
  .palpite .seguir { width: 30px; height: 30px; }
  .palpite-acoes .anotar { padding: 0 12px; }
  .painel-vivo { padding: 14px; margin-bottom: 16px; }
  .vivo-lista { grid-template-columns: minmax(0, 1fr); }
  .times-grade { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .chat-abrir { right: 16px; bottom: 16px; width: 52px; height: 52px; }
  dialog.chat-painel { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; border: 0; }
  .painel { padding: 16px; }
}
.resultados-filtros { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.botao-calendario { display: inline-flex; align-items: center; gap: 7px; }
.botao-calendario svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
body:has(.chat-abrir) .rodape { padding-bottom: 88px; }

/* Sinais ao vivo: começo forte e jogo decidido. */
.vivo-sinais { display: flex; flex-wrap: wrap; gap: 6px; }
.sinal-vivo { padding: 2px 8px; border-radius: 7px; font: 600 12px var(--ui); border: 1px solid var(--borda); }
.sinal-vivo.forte { color: #ffb36b; border-color: rgba(255, 152, 72, 0.45); background: rgba(255, 152, 72, 0.1); }
.sinal-vivo.decidido { color: var(--ambar); border-color: rgba(255, 193, 99, 0.35); background: rgba(255, 193, 99, 0.07); }

/* Banca: hoje, meta e limite do dia. */
.banca-lado { display: flex; flex-direction: column; gap: 16px; }
.hoje-resultado { margin: 0; font: 700 30px/1.1 var(--num); letter-spacing: -0.02em; }
.banca-hoje .dica-banca { margin: 4px 0 14px; }
.limite + .limite { margin-top: 10px; }
.limite-topo { display: flex; justify-content: space-between; color: var(--texto-2); font-size: 13px; }
.limite-topo b { color: var(--texto); font: 600 13px var(--num); }
.limite-barra { height: 6px; margin-top: 5px; border-radius: 3px; background: var(--card-3); overflow: hidden; }
.limite-barra span { display: block; height: 100%; border-radius: 3px; }
.limite-barra.lucro span { background: var(--positivo); }
.limite-barra.perda span { background: var(--vermelho); }
.aviso-limite { margin: 14px 0 0; padding: 10px 12px; border-radius: 10px; font-size: 14px; }
.aviso-limite.lucro { color: var(--positivo); border: 1px solid var(--positivo-borda); background: var(--positivo-fundo); }
.aviso-limite.perda { color: var(--vermelho); border: 1px solid rgba(255, 122, 122, 0.35); background: rgba(255, 122, 122, 0.07); }

/* Resultados: chance prevista × acerto real. */
.calibracao { margin-bottom: 18px; padding: 16px; border-radius: 14px; border: 1px solid var(--borda); background: var(--card); }
.calibracao-topo h3 { margin: 0; font: 700 17px var(--titulo); }
.calibracao-topo p { margin: 4px 0 6px; color: var(--texto-2); font-size: 13.5px; }
.calibracao-linha { display: grid; grid-template-columns: 150px minmax(0, 1fr) 64px; gap: 14px; align-items: center; padding: 10px 0; border-top: 1px solid var(--borda-suave); }
.calibracao-rotulo b { display: block; font-weight: 600; font-size: 14.5px; }
.calibracao-rotulo small { color: var(--texto-2); font: 500 12px var(--num); }
.calibracao-barras { display: flex; flex-direction: column; gap: 5px; }
.cb { position: relative; height: 18px; border-radius: 5px; background: var(--card-3); overflow: hidden; }
.cb span { position: absolute; inset: 0 auto 0 0; border-radius: 5px; }
.cb.prevista span { background: rgba(102, 144, 255, 0.45); }
.cb.real span { background: rgba(184, 255, 61, 0.55); }
.cb i { position: relative; padding-left: 8px; font: 600 11.5px/18px var(--num); font-style: normal; color: var(--texto); }
.calibracao-diff { text-align: right; font: 600 13px var(--num); }
.calibracao-nota { margin: 8px 0 0; color: var(--texto-3); font-size: 12px; }
@media (max-width: 560px) {
  .calibracao-linha { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 10px; }
  .calibracao-barras { grid-column: 1 / -1; grid-row: 2; }
}

/* Banca da IA (admin): todas as entradas simuladas. */
.abas-banca { margin-top: 18px; }
.banca-ia-topo { margin-bottom: 18px; }
.banca-ia-topo .dica-banca { margin: -6px 0 14px; }
@media (max-width: 560px) {
  .resultado-dia header { flex-direction: column; align-items: flex-start; gap: 2px; }
  .resultado-dia header span { white-space: normal; }
}
.filtro-ia { margin: 0 0 16px; }

/* Linha ou odd que mudou depois de publicada. */
.mudanca-palpite { margin: 0; padding: 8px 11px; border-radius: 10px; border: 1px solid var(--azul-borda); background: var(--azul-fundo); color: var(--azul-3); font-size: 13px; line-height: 1.4; }
.mudanca-palpite b { color: var(--texto); font-weight: 600; }
.mudanca-palpite.saiu { border-color: rgba(255, 122, 122, 0.35); background: rgba(255, 122, 122, 0.07); color: var(--vermelho); }

/* Palpite já anotado na banca. */
.palpite-acoes .anotar.anotado { color: #0b1a00; border-color: var(--positivo); background: var(--positivo); }

/* Calendário dos resultados. */
.calendario { max-width: 380px; margin-top: 12px; padding: 14px; border-radius: 16px; border: 1px solid var(--borda); background: var(--card); box-shadow: var(--sombra); }
.cal-topo { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.cal-topo b { font: 600 15px var(--ui); }
.cal-topo .link { padding: 2px 10px; font-size: 22px; line-height: 1; text-decoration: none; }
.cal-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.cal-semana { text-align: center; color: var(--texto-3); font: 600 11px var(--ui); padding: 2px 0 4px; }
.cal-dia { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; height: 44px; border-radius: 10px; border: 1px solid transparent; background: transparent; color: var(--texto-3); font: 600 14px var(--num); cursor: default; }
.cal-dia i { font: 600 9.5px var(--num); font-style: normal; opacity: .85; }
.cal-dia.hoje { border-color: var(--borda); }
.cal-dia.lucro, .cal-dia.prejuizo { cursor: pointer; color: var(--texto); }
.cal-dia.lucro { background: var(--positivo-fundo); border-color: var(--positivo-borda); }
.cal-dia.lucro i { color: var(--positivo); }
.cal-dia.prejuizo { background: rgba(255, 122, 122, 0.08); border-color: rgba(255, 122, 122, 0.35); }
.cal-dia.prejuizo i { color: var(--vermelho); }
.cal-dia.escolhido { outline: 2px solid var(--azul); outline-offset: 1px; }
.cal-legenda { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; color: var(--texto-3); font-size: 12px; }
.cal-legenda span { width: 10px; height: 10px; border-radius: 3px; margin-left: 6px; }
.cal-legenda span:first-child { margin-left: 0; }
.cal-legenda .lucro { background: var(--positivo); }
.cal-legenda .prejuizo { background: var(--vermelho); }

/* No celular a barra de abas fica embaixo: Clutch e avisos sobem. */
@media (max-width: 760px) {
  .chat-abrir { bottom: calc(80px + env(safe-area-inset-bottom)); }
  .toast { bottom: calc(146px + env(safe-area-inset-bottom)); }
  body:has(.chat-abrir) .rodape { padding-bottom: 72px; }
}

/* ---------- aba Estatísticas ---------- */
.est-topo { padding-bottom: 18px; }
.est-busca { position: relative; display: flex; align-items: center; gap: 8px; max-width: 460px; margin-top: 18px; padding: 0 12px; border-radius: 13px; border: 1px solid var(--borda); background: var(--card-2); }
.est-busca:focus-within { border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-fundo); }
.est-busca svg { flex: none; width: 18px; height: 18px; fill: none; stroke: var(--texto-2); stroke-width: 1.8; stroke-linecap: round; }
.est-busca input { flex: 1; min-width: 0; padding: 12px 0; border: 0; outline: 0; background: transparent; color: var(--texto); font: 15px var(--ui); }
.est-sugestoes { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 30; padding: 6px; border-radius: 14px; border: 1px solid var(--borda); background: var(--card); box-shadow: var(--sombra); }
.est-sugestoes a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; color: var(--texto); text-decoration: none; }
.est-sugestoes a:hover { background: var(--card-3); }
.est-sugestoes a span { flex: 1; font-weight: 600; }
.est-sugestoes small { color: var(--texto-2); }
.foto-busca { width: 34px; height: 25px; border-radius: 6px; object-fit: cover; background: var(--card-2); }
.est-escudo { flex: none; object-fit: contain; }
.est-bloco { margin-bottom: 22px; }
.est-cabeca { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.est-cabeca h2 { display: flex; align-items: center; gap: 8px; margin: 0; font: 700 19px var(--titulo); }
.est-cabeca h2 a { display: flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.est-cabeca small { color: var(--texto-2); }
.est-dias { display: flex; align-items: center; gap: 6px; margin-bottom: 12px; overflow-x: auto; scrollbar-width: none; }
.est-dias .opcao.seta { padding: 8px 12px; font-size: 18px; line-height: 1; }
.est-dias .opcao { display: inline-flex; flex-direction: column; align-items: center; line-height: 1.15; }
.est-dias .opcao small { font-size: 11px; opacity: .75; }
.est-dia-outro { color: var(--texto-2); font: 600 13px var(--num); padding: 0 6px; }
.est-jogos { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 10px; }
.est-jogos > a { color: inherit; text-decoration: none; }
.est-jogo { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--borda); background: var(--card); transition: border-color .15s; }
.est-jogo:hover { border-color: #2c3850; }
.est-jogo.in { border-color: var(--azul-borda); }
.est-jogo-status { display: flex; align-items: center; gap: 6px; color: var(--texto-2); font: 600 12px var(--num); }
.est-jogo.in .est-jogo-status { color: var(--azul-3); }
.est-linha-time { display: grid; grid-template-columns: 28px 44px minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.est-linha-time b { font: 700 14px var(--num); }
.est-nome-time { color: var(--texto-2); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.est-linha-time strong { font: 700 18px var(--num); }
.est-jogo.pre .est-linha-time strong { color: var(--texto-3); font-size: 12.5px; font-weight: 500; }
.est-linha-time.perdeu b, .est-linha-time.perdeu strong { color: var(--texto-3); }
.est-tabela-rolagem { overflow-x: auto; border-radius: 14px; border: 1px solid var(--borda); background: var(--card); }
.est-tabela { width: 100%; border-collapse: collapse; font: 500 13.5px var(--num); white-space: nowrap; }
.est-tabela th { position: sticky; top: 0; padding: 9px 10px; text-align: right; color: var(--texto-2); font: 600 11.5px var(--ui); letter-spacing: .04em; text-transform: uppercase; background: var(--card-2); border-bottom: 1px solid var(--borda); }
.est-tabela td { padding: 8px 10px; text-align: right; border-bottom: 1px solid var(--borda-suave); }
.est-tabela th:first-child, .est-tabela td:first-child, .est-tabela .est-time-celula { text-align: left; }
.est-tabela tr:last-child td { border-bottom: 0; }
.est-tabela td.forte { color: var(--texto); font-weight: 700; }
.est-tabela .est-time-celula a { display: inline-flex; align-items: center; gap: 8px; color: var(--texto); text-decoration: none; font: 600 13.5px var(--ui); }
.est-tabela .est-time-celula small { color: var(--texto-3); font-size: 11.5px; }
.est-tabela tr.corte-playoff td { border-bottom: 1px dashed var(--azul-borda); }
.est-tabela tr.corte-playin td { border-bottom: 1px dashed var(--borda); }
.est-box tr.titular .est-time-celula span { color: var(--texto); }
.est-box tr:not(.titular) .est-time-celula a span { color: var(--texto-2); font-weight: 500; }
.est-voltar { display: inline-block; margin-bottom: 12px; color: var(--azul-3); font-weight: 600; }
a:has(> .est-voltar) { text-decoration: none; }
.est-placar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin-bottom: 14px; padding: 18px; border-radius: var(--raio); border: 1px solid var(--borda); background: var(--card); }
.est-placar.in { border-color: var(--azul-borda); }
.est-placar > a { color: inherit; text-decoration: none; justify-self: center; }
.est-placar-time { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.est-placar-time b { font: 700 16px var(--num); }
.est-placar-time small { color: var(--texto-2); font: 500 12px var(--num); }
.est-placar-centro { text-align: center; }
.est-placar-num { display: flex; align-items: center; justify-content: center; gap: 12px; font: 700 40px/1 var(--num); letter-spacing: -0.02em; }
.est-placar-num span { color: var(--texto-3); font-size: 22px; font-weight: 500; }
.est-placar-centro p { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 8px 0 2px; color: var(--azul-3); font: 600 13px var(--num); text-transform: capitalize; }
.est-placar-centro small { color: var(--texto-3); font-size: 12px; }
.est-quartos { margin-bottom: 0; }
.est-abas { margin: 14px 0; }
.est-duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.est-desfalques h3 { margin: 12px 0 6px; font: 600 12px var(--ui); letter-spacing: .06em; text-transform: uppercase; color: var(--texto-2); }
.est-provaveis { margin: 0; padding: 0; list-style: none; border-radius: 12px; border: 1px solid var(--borda); background: var(--card); }
.est-provaveis li { display: flex; justify-content: space-between; gap: 10px; padding: 9px 12px; border-top: 1px solid var(--borda-suave); }
.est-provaveis li:first-child { border-top: 0; }
.est-provaveis a { color: var(--texto); font-weight: 600; text-decoration: none; }
.est-provaveis small { color: var(--texto-2); text-align: right; }
.est-provaveis li.fora a { color: var(--vermelho); }
.est-provaveis li.duvida a { color: var(--ambar); }
.est-perfil { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.est-perfil h2 { margin: 0; font: 800 26px/1.15 var(--titulo); }
.est-perfil p { margin: 4px 0; }
.est-perfil p a { display: inline-flex; align-items: center; gap: 6px; color: var(--azul-3); font-weight: 600; text-decoration: none; }
.est-perfil small { color: var(--texto-2); }
.est-foto { width: 110px; height: 80px; object-fit: cover; border-radius: 14px; background: var(--card-2); }
.est-medias { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.est-lista-jogos { margin: 0; padding: 0; list-style: none; border-radius: 12px; border: 1px solid var(--borda); background: var(--card); overflow: hidden; }
.est-lista-jogos > a { color: inherit; text-decoration: none; }
.est-lista-jogos > a + a .est-agenda { border-top: 1px solid var(--borda-suave); }
.est-agenda { display: grid; grid-template-columns: 48px 22px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px 12px; }
.est-agenda b { font: 600 14px var(--num); }
.est-agenda small { color: var(--texto-2); font: 500 12.5px var(--num); }
.est-vd { color: var(--texto-2); font: 700 12px var(--num); text-align: center; }
.est-vd.v { color: var(--positivo); }
.est-vd.d { color: var(--vermelho); }
@media (max-width: 760px) {
  .est-duas { grid-template-columns: minmax(0, 1fr); }
  .est-medias { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .est-jogos { grid-template-columns: minmax(0, 1fr); }
  .est-placar { padding: 14px 10px; gap: 6px; }
  .est-placar-num { font-size: 32px; gap: 8px; }
  .est-perfil h2 { font-size: 22px; }
  .est-foto { width: 84px; height: 62px; }
}

/* Palpites: explicação curta no topo, a completa abre em "Como a IA escolhe". */
.como-funciona { margin-top: 10px; max-width: 620px; }
.como-funciona summary { display: inline-flex; align-items: center; gap: 6px; color: var(--azul-3); font: 600 14px var(--ui); cursor: pointer; list-style: none; }
.como-funciona summary::-webkit-details-marker { display: none; }
.como-funciona summary::after { content: "▾"; font-size: 12px; transition: transform .15s; }
.como-funciona[open] summary::after { transform: rotate(180deg); }
.como-funciona ul { margin: 10px 0 0; padding: 12px 14px 12px 30px; border-radius: 12px; border: 1px solid var(--borda); background: var(--card-2); color: var(--texto-2); font-size: 14px; line-height: 1.5; }
.como-funciona li + li { margin-top: 6px; }
.como-funciona b { color: var(--texto); }
.pagina-palpites .hero-texto { margin-top: 10px; }

/* ---------- planos ---------- */
.link-planos { padding: 6px 12px; border-radius: 9px; border: 1px solid var(--positivo-borda); color: var(--positivo); font: 600 13px var(--ui); text-decoration: none; white-space: nowrap; }
.link-planos:hover, .link-planos[aria-current="page"] { background: var(--positivo-fundo); }
.faixa-plano { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; max-width: 1340px; margin: 0 auto 8px; padding: 9px 16px; border-radius: 12px; border: 1px solid var(--azul-borda); background: var(--azul-fundo); color: var(--azul-3); font-size: 14px; text-align: center; }
.faixa-plano a { color: #fff; font-weight: 700; }
.faixa-plano.rookie { border-color: var(--positivo-borda); background: var(--positivo-fundo); color: var(--texto); }
.faixa-plano.rookie a { color: var(--positivo); }
.cartao-assine { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; max-width: 560px; padding: 22px; border-radius: var(--raio); border: 1px solid var(--positivo-borda); background: linear-gradient(160deg, rgba(184, 255, 61, 0.07), rgba(37, 99, 255, 0.06)); }
.cartao-assine h3 { margin: 0; font: 700 19px/1.25 var(--titulo); }
.cartao-assine p { margin: 0; color: var(--texto-2); font-size: 14.5px; line-height: 1.5; }
.cartao-assine .primario { width: auto; margin: 6px 0 0; padding: 12px 18px; text-decoration: none; }
.selo-plano { padding: 3px 9px; border-radius: 7px; background: var(--positivo); color: #0b1a00; font: 700 11.5px var(--ui); letter-spacing: .03em; text-transform: uppercase; }
.situacao-plano { margin: 14px 0 0; padding: 10px 14px; display: inline-block; border-radius: 12px; border: 1px solid var(--borda); background: var(--card-2); color: var(--texto); font-size: 14px; }
.planos-grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: start; margin-bottom: 28px; }
.plano { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 20px; border-radius: var(--raio); border: 1px solid var(--borda); background: var(--card); }
.plano.plano-destaque { border-color: var(--azul); box-shadow: 0 18px 50px -24px rgba(37, 99, 255, 0.8); }
.plano-selo { position: absolute; top: -11px; left: 20px; padding: 3px 10px; border-radius: 999px; background: var(--azul); color: #fff; font: 700 11.5px var(--ui); }
.plano h2 { margin: 0; font: 800 22px var(--titulo); letter-spacing: .02em; }
.plano-periodo { margin: 0; color: var(--texto-2); font-size: 13.5px; }
.plano-preco { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin: 6px 0 0; }
.plano-preco s { color: var(--texto-3); font: 500 15px var(--num); }
.plano-preco strong { font: 700 30px/1 var(--num); letter-spacing: -0.02em; }
.plano-preco small { color: var(--texto-2); font-size: 13px; }
.plano-desconto { margin: 0; color: var(--positivo); font-size: 13px; font-weight: 600; }
.plano .primario, .plano .secundario { width: 100%; margin: 8px 0 4px; text-align: center; text-decoration: none; }
.plano-atual { margin: 8px 0 4px; padding: 10px; border-radius: 12px; border: 1px dashed var(--borda); color: var(--texto-2); text-align: center; font-size: 14px; }
.plano-mais { margin: 6px 0 0; color: var(--texto); font-size: 13px; font-weight: 600; }
.planos-itens { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.planos-itens li { position: relative; padding-left: 22px; color: var(--texto-2); font-size: 14px; line-height: 1.4; }
.planos-itens li::before { content: "✓"; position: absolute; left: 0; color: var(--positivo); font-weight: 700; }
.planos-faq { max-width: 760px; display: flex; flex-direction: column; gap: 8px; }
.planos-faq details { padding: 12px 16px; border-radius: 12px; border: 1px solid var(--borda); background: var(--card-2); }
.planos-faq summary { cursor: pointer; font-weight: 600; }
.planos-faq p { margin: 8px 0 0; color: var(--texto-2); font-size: 14px; line-height: 1.5; }
@media (max-width: 1100px) { .planos-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) {
  .planos-grade { grid-template-columns: minmax(0, 1fr); }
  .faixa-plano { margin: 0 16px 8px; font-size: 13px; }
}
@media (max-width: 560px) { .lp-planos { display: none; } }
/* Ícones dos planos. */
.plano-titulo { display: flex; align-items: center; gap: 12px; }
.plano-icone { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 14px; border: 1px solid var(--borda); background: var(--card-3); color: var(--texto-2); }
.plano-icone svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.plano-icone.allstar { color: var(--azul-3); border-color: var(--azul-borda); background: var(--azul-fundo); }
.plano-icone.allstar svg { fill: rgba(102, 144, 255, 0.25); }
.plano-icone.mvp { color: var(--positivo); border-color: var(--positivo-borda); background: var(--positivo-fundo); }
.plano-icone.legend { color: #ffc163; border-color: rgba(255, 193, 99, 0.45); background: linear-gradient(150deg, rgba(255, 193, 99, 0.18), rgba(255, 193, 99, 0.04)); box-shadow: 0 0 18px -6px rgba(255, 193, 99, 0.55); }
.plano-icone.legend svg { fill: rgba(255, 193, 99, 0.2); }

/* ---------- login: fundo vivo ---------- */
/* O motion é fundo: sem caixa, some nas bordas e fica na coluna da esquerda,
   logo abaixo da frase, sem chegar perto do card. Ciclo de 8 s, só transform
   e opacity. Quem pede menos movimento vê a composição parada. */
.acesso-login { grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 40px; align-items: center; max-width: 1200px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.acesso-login .acesso-caixa { grid-column: 2; grid-row: 1; box-shadow: var(--sombra), 0 0 90px -30px rgba(37, 99, 255, .28); }
.acesso-marca { grid-column: 1; grid-row: 1; justify-self: stretch; align-self: center; position: relative; z-index: 0; pointer-events: none; }
.frase-marca { position: relative; z-index: 1; margin: 0; font: 800 clamp(26px, 2.6vw, 38px)/1.12 var(--titulo); letter-spacing: -0.02em; color: var(--texto); }
.frase-marca span { display: block; }
.frase-marca .azul { color: #3d7bff; }
.fundo-motion {
  display: block; width: 106%; height: auto; margin: -28px 0 0 -4%; overflow: visible;
  -webkit-mask-image: radial-gradient(ellipse 72% 78% at 50% 52%, #000 62%, transparent 100%);
  mask-image: radial-gradient(ellipse 72% 78% at 50% 52%, #000 62%, transparent 100%);
}
.fundo-motion text { font-family: var(--num); }
.fm-quadra { opacity: .045; }
.fm-conexoes { opacity: .22; }
.fm-trajeto { opacity: .4; }
.fm-trajeto-ativo { opacity: 1; }
.fm-no-base { fill: #070a0f; stroke: #6690ff; stroke-opacity: .55; stroke-width: 1.5; }
.fm-no-ativo { fill: #2563ff; opacity: 0; }
.fm-onda { fill: none; stroke: #6690ff; stroke-width: 1.4; opacity: 0; transform-box: fill-box; transform-origin: center; }
.fm-j { opacity: .7; }
.fm-rot { font-size: 10px; font-weight: 600; letter-spacing: .18em; fill: #8fb0ff; }
.fm-val { font-size: 24px; font-weight: 700; fill: #f7f9fc; }
.fm-conta { opacity: 0; }
.fm-badge rect { fill: #2563ff; }
.fm-badge text { font: 700 14px var(--num); fill: #fff; }
.fm-dado { opacity: 0; }
.fm-tabela { opacity: .45; }
.fm-rede { opacity: .35; }
.fm-aro-tras { opacity: .5; }
.fm-aro { opacity: .9; }
.fm-aro-pulso { opacity: 0; transform-box: fill-box; transform-origin: center; }
.fm-encontrada { opacity: 0; }
.fm-encontrada text { font-size: 11px; font-weight: 700; letter-spacing: .24em; fill: #afc4ff; }
.fm-faisca { opacity: 0; }

/* 0–1 s: pulso no J */
.fm-onda-j { animation: fm-onda-j 8s ease-out infinite; }
@keyframes fm-onda-j { 0% { opacity: .9; transform: scale(1); } 11.25% { opacity: 0; transform: scale(4.5); } 100% { opacity: 0; transform: scale(4.5); } }
/* 1–1,5 s: a bola nasce; 1,5–4,5 s: arco; 4,5–5 s: atravessa a rede */
.fm-bola { animation: fm-bola-pos 8s linear infinite; }
@keyframes fm-bola-pos {
  0.00% { transform: translate(126.0px, 380.0px); }
  18.75% { transform: translate(126.0px, 380.0px); }
  20.31% { transform: translate(134.1px, 355.2px); }
  21.88% { transform: translate(144.4px, 328.1px); }
  23.44% { transform: translate(157.1px, 299.2px); }
  25.00% { transform: translate(172.4px, 269.5px); }
  26.56% { transform: translate(190.6px, 239.6px); }
  28.12% { transform: translate(211.5px, 210.6px); }
  29.69% { transform: translate(235.3px, 183.3px); }
  31.25% { transform: translate(261.6px, 158.5px); }
  32.81% { transform: translate(290.2px, 136.9px); }
  34.38% { transform: translate(320.6px, 119.2px); }
  35.94% { transform: translate(352.2px, 105.8px); }
  37.50% { transform: translate(384.5px, 97.0px); }
  39.06% { transform: translate(416.7px, 92.9px); }
  40.62% { transform: translate(448.3px, 93.5px); }
  42.19% { transform: translate(478.5px, 98.5px); }
  43.75% { transform: translate(506.9px, 107.5px); }
  45.31% { transform: translate(533.0px, 120.0px); }
  46.88% { transform: translate(556.4px, 135.4px); }
  48.44% { transform: translate(577.1px, 152.8px); }
  50.00% { transform: translate(594.9px, 171.7px); }
  51.56% { transform: translate(609.9px, 191.1px); }
  53.12% { transform: translate(622.2px, 210.4px); }
  54.69% { transform: translate(632.2px, 228.9px); }
  56.25% { transform: translate(640.0px, 246.0px); }
  62.50% { transform: translate(640.0px, 298.0px); }
  100.00% { transform: translate(640.0px, 298.0px); }
}
.fm-bola-corpo { animation: fm-bola-corpo 8s linear infinite; }
@keyframes fm-bola-corpo {
  0%, 12.50% { opacity: 0; transform: scale(.2) rotate(0deg); }
  16.88% { opacity: 1; transform: scale(1.12) rotate(0deg); }
  18.75% { opacity: 1; transform: scale(1) rotate(0deg); }
  56.25% { opacity: 1; transform: scale(1) rotate(-320deg); }
  60.62% { opacity: 1; transform: scale(.95) rotate(-350deg); }
  65.00%, 100% { opacity: 0; transform: scale(.9) rotate(-360deg); }
}
.fm-revela { stroke-dasharray: 860; animation: fm-revela 8s linear infinite; }
@keyframes fm-revela {
  0%, 18.75% { stroke-dashoffset: 860; opacity: 1; }
  21.88% { stroke-dashoffset: 814; }
  25.00% { stroke-dashoffset: 755; }
  28.12% { stroke-dashoffset: 685; }
  31.25% { stroke-dashoffset: 606; }
  34.38% { stroke-dashoffset: 519; }
  37.50% { stroke-dashoffset: 430; }
  40.62% { stroke-dashoffset: 341; }
  43.75% { stroke-dashoffset: 254; }
  46.88% { stroke-dashoffset: 175; }
  50.00% { stroke-dashoffset: 105; }
  53.12% { stroke-dashoffset: 46; }
  56.25%, 80.00% { stroke-dashoffset: 0; opacity: 1; }
  92.50% { stroke-dashoffset: 0; opacity: 0; }
  100% { stroke-dashoffset: 860; opacity: 0; }
}
@keyframes fm-dado-1 {
  0%, 26.00% { opacity: 0; transform: translateY(5px); }
  29.00% { opacity: 1; transform: none; }
  56.25% { opacity: .55; }
  65.00% { opacity: 0.55; }
  77.50% { opacity: .55; }
  92.50%, 100% { opacity: 0; transform: none; }
}
.fm-dado-1 { animation: fm-dado-1 8s ease-out infinite; }
@keyframes fm-no-1 { 0%, 27.70% { opacity: 0; } 28.00%, 82.50% { opacity: 1; } 92.50%, 100% { opacity: 0; } }
.fm-no-1 { animation: fm-no-1 8s linear infinite; }
@keyframes fm-onda-1 { 0%, 27.80% { opacity: 0; transform: scale(1); } 28.00% { opacity: .9; transform: scale(1); } 34.00%, 100% { opacity: 0; transform: scale(4.2); } }
.fm-onda-1 { animation: fm-onda-1 8s ease-out infinite; }
.fm-conta-0 { animation: fm-conta-0 8s linear infinite; }
@keyframes fm-conta-0 { 0%, 37.49% { opacity: 0; } 37.50%, 38.25% { opacity: 1; } 38.26%, 100% { opacity: 0; } }
.fm-conta-1 { animation: fm-conta-1 8s linear infinite; }
@keyframes fm-conta-1 { 0%, 38.24% { opacity: 0; } 38.25%, 39.00% { opacity: 1; } 39.01%, 100% { opacity: 0; } }
.fm-conta-2 { animation: fm-conta-2 8s linear infinite; }
@keyframes fm-conta-2 { 0%, 38.99% { opacity: 0; } 39.00%, 39.75% { opacity: 1; } 39.76%, 100% { opacity: 0; } }
.fm-conta-3 { animation: fm-conta-3 8s linear infinite; }
@keyframes fm-conta-3 { 0%, 39.74% { opacity: 0; } 39.75%, 40.50% { opacity: 1; } 40.51%, 100% { opacity: 0; } }
.fm-conta-4 { animation: fm-conta-4 8s linear infinite; }
@keyframes fm-conta-4 { 0%, 40.49% { opacity: 0; } 40.50%, 82.50% { opacity: 1; } 92.50%, 100% { opacity: 0; } }
@keyframes fm-dado-2 {
  0%, 35.50% { opacity: 0; transform: translateY(5px); }
  38.50% { opacity: 1; transform: none; }
  56.25% { opacity: .55; }
  65.00% { opacity: 0.55; }
  77.50% { opacity: .55; }
  92.50%, 100% { opacity: 0; transform: none; }
}
.fm-dado-2 { animation: fm-dado-2 8s ease-out infinite; }
@keyframes fm-no-2 { 0%, 37.20% { opacity: 0; } 37.50%, 82.50% { opacity: 1; } 92.50%, 100% { opacity: 0; } }
.fm-no-2 { animation: fm-no-2 8s linear infinite; }
@keyframes fm-onda-2 { 0%, 37.30% { opacity: 0; transform: scale(1); } 37.50% { opacity: .9; transform: scale(1); } 43.50%, 100% { opacity: 0; transform: scale(4.2); } }
.fm-onda-2 { animation: fm-onda-2 8s ease-out infinite; }
@keyframes fm-dado-3 {
  0%, 44.29% { opacity: 0; transform: translateY(5px); }
  47.29% { opacity: 1; transform: none; }
  56.25% { opacity: .55; }
  65.00% { opacity: 1; }
  77.50% { opacity: .55; }
  92.50%, 100% { opacity: 0; transform: none; }
}
.fm-dado-3 { animation: fm-dado-3 8s ease-out infinite; }
@keyframes fm-no-3 { 0%, 45.99% { opacity: 0; } 46.29%, 82.50% { opacity: 1; } 92.50%, 100% { opacity: 0; } }
.fm-no-3 { animation: fm-no-3 8s linear infinite; }
@keyframes fm-onda-3 { 0%, 46.09% { opacity: 0; transform: scale(1); } 46.29% { opacity: .9; transform: scale(1); } 52.29%, 100% { opacity: 0; transform: scale(4.2); } }
.fm-onda-3 { animation: fm-onda-3 8s ease-out infinite; }
@keyframes fm-badge { 0%, 45.79% { transform: scale(.4); } 48.29% { transform: scale(1.12); } 50.29%, 57.50% { transform: scale(1); } 61.25% { transform: scale(1.2); } 66.25%, 100% { transform: scale(1); } }
.fm-badge { transform-box: fill-box; transform-origin: center; animation: fm-badge 8s ease-out infinite; }
/* 4,5–5,5 s: o aro responde, pontos se espalham, JOGADA ENCONTRADA */
.fm-aro-pulso { animation: fm-aro-pulso 8s ease-out infinite; }
@keyframes fm-aro-pulso { 0%, 56.88% { opacity: 0; transform: scale(1); } 57.50% { opacity: .9; transform: scale(1); } 67.50%, 100% { opacity: 0; transform: scale(1.9); } }
.fm-aro { animation: fm-aro 8s ease-out infinite; }
@keyframes fm-aro { 0%, 56.25% { stroke: #8fb0ff; } 58.13% { stroke: #f7f9fc; } 66.25%, 100% { stroke: #8fb0ff; } }
@keyframes fm-faisca-0 { 0%, 56.88% { opacity: 0; transform: none; } 58.13% { opacity: 1; } 68.75%, 100% { opacity: 0; transform: translate(-35.0px, 1.1px); } }
.fm-faisca-0 { animation: fm-faisca-0 8s cubic-bezier(.2, .7, .3, 1) infinite; }
@keyframes fm-faisca-1 { 0%, 56.88% { opacity: 0; transform: none; } 58.13% { opacity: 1; } 68.75%, 100% { opacity: 0; transform: translate(-23.6px, -5.6px); } }
.fm-faisca-1 { animation: fm-faisca-1 8s cubic-bezier(.2, .7, .3, 1) infinite; }
@keyframes fm-faisca-2 { 0%, 56.88% { opacity: 0; transform: none; } 58.13% { opacity: 1; } 68.75%, 100% { opacity: 0; transform: translate(-17.0px, -17.6px); } }
.fm-faisca-2 { animation: fm-faisca-2 8s cubic-bezier(.2, .7, .3, 1) infinite; }
@keyframes fm-faisca-3 { 0%, 56.88% { opacity: 0; transform: none; } 58.13% { opacity: 1; } 68.75%, 100% { opacity: 0; transform: translate(-0.0px, -16.4px); } }
.fm-faisca-3 { animation: fm-faisca-3 8s cubic-bezier(.2, .7, .3, 1) infinite; }
@keyframes fm-faisca-4 { 0%, 56.88% { opacity: 0; transform: none; } 58.13% { opacity: 1; } 68.75%, 100% { opacity: 0; transform: translate(10.5px, -7.0px); } }
.fm-faisca-4 { animation: fm-faisca-4 8s cubic-bezier(.2, .7, .3, 1) infinite; }
@keyframes fm-faisca-5 { 0%, 56.88% { opacity: 0; transform: none; } 58.13% { opacity: 1; } 68.75%, 100% { opacity: 0; transform: translate(29.1px, -9.2px); } }
.fm-faisca-5 { animation: fm-faisca-5 8s cubic-bezier(.2, .7, .3, 1) infinite; }
@keyframes fm-faisca-6 { 0%, 56.88% { opacity: 0; transform: none; } 58.13% { opacity: 1; } 68.75%, 100% { opacity: 0; transform: translate(35.4px, 1.0px); } }
.fm-faisca-6 { animation: fm-faisca-6 8s cubic-bezier(.2, .7, .3, 1) infinite; }
.fm-encontrada { animation: fm-encontrada 8s ease-out infinite; }
@keyframes fm-encontrada { 0%, 60.00% { opacity: 0; transform: translateY(6px); } 65.00%, 81.25% { opacity: 1; transform: none; } 92.50%, 100% { opacity: 0; transform: none; } }

@media (max-width: 920px) {
  .acesso-login { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .acesso-login .acesso-caixa { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .fundo-motion * { animation: none !important; }
  .fm-bola { transform: translate(457.9px, 94.6px); }
  .fm-bola-corpo, .fm-dado, .fm-no-ativo, .fm-conta-4 { opacity: 1; }
  .fm-revela { stroke-dasharray: none; }
}

/* ---------- login no celular: motion próprio ---------- */
/* Só até 920 px (onde o login vira uma coluna). Fica entre o cabeçalho e o
   card, sem caixa, centralizado, e nunca passa por trás do formulário. */
.motion-mobile { display: none; }
@media (max-width: 920px) {
  .acesso-marca { display: none; }
  .acesso-login { min-height: 0; align-content: start; row-gap: 28px; padding-top: 10px; }
  .motion-mobile { display: block; grid-row: 1; justify-self: center; width: calc(100% - 48px); max-width: 360px; height: auto; overflow: hidden; }
  .acesso-login .acesso-caixa { grid-row: 2; }
  .mm-trajeto { opacity: .45; }
  .mm-no { fill: #070a0f; stroke: #6690ff; stroke-opacity: .5; stroke-width: 1.3; }
  .mm-no-ativo { fill: #2563ff; opacity: 0; }
  .mm-onda { fill: none; stroke: #6690ff; stroke-width: 1.2; opacity: 0; transform-box: fill-box; transform-origin: center; }
  .mm-j { opacity: .8; }
  .mm-rede { opacity: .4; }
  .mm-aro-tras { opacity: .55; }
  .mm-aro-pulso { opacity: 0; transform-box: fill-box; transform-origin: center; }

  .mm-onda-j { animation: mm-onda-j 5.5s ease-out infinite; }
  @keyframes mm-onda-j { 0% { opacity: .9; transform: scale(1); } 10.91%, 100% { opacity: 0; transform: scale(4); } }
  .mm-bola { animation: mm-bola 5.5s linear infinite; }
  @keyframes mm-bola {
  0.00% { transform: translate(60.5px, 101.0px); }
  18.18% { transform: translate(60.5px, 101.0px); }
  20.45% { transform: translate(65.2px, 92.4px); }
  22.73% { transform: translate(71.2px, 83.0px); }
  25.00% { transform: translate(78.7px, 73.1px); }
  27.27% { transform: translate(87.8px, 63.0px); }
  29.55% { transform: translate(98.6px, 53.3px); }
  31.82% { transform: translate(111.0px, 44.5px); }
  34.09% { transform: translate(124.9px, 36.9px); }
  36.36% { transform: translate(140.0px, 31.0px); }
  38.64% { transform: translate(156.1px, 27.0px); }
  40.91% { transform: translate(172.8px, 25.1px); }
  43.18% { transform: translate(189.7px, 25.4px); }
  45.45% { transform: translate(206.3px, 27.8px); }
  47.73% { transform: translate(222.2px, 32.2px); }
  50.00% { transform: translate(237.2px, 38.3px); }
  52.27% { transform: translate(250.8px, 45.7px); }
  54.55% { transform: translate(263.0px, 54.1px); }
  56.82% { transform: translate(273.6px, 62.9px); }
  59.09% { transform: translate(282.6px, 71.8px); }
  61.36% { transform: translate(290.0px, 80.3px); }
  63.64% { transform: translate(296.0px, 88.0px); }
  72.73% { transform: translate(296.0px, 118.0px); }
  100.00% { transform: translate(296.0px, 118.0px); }
  }
  .mm-bola-corpo { animation: mm-bola-corpo 5.5s linear infinite; }
  @keyframes mm-bola-corpo {
    0%, 9.09% { opacity: 0; transform: scale(.2) rotate(0deg); }
    15.45% { opacity: 1; transform: scale(1.08) rotate(0deg); }
    18.18% { opacity: 1; transform: scale(1) rotate(0deg); }
    63.64% { opacity: 1; transform: scale(1) rotate(-300deg); }
    70.91% { opacity: 1; transform: scale(.95) rotate(-330deg); }
    76.36%, 100% { opacity: 0; transform: scale(.9) rotate(-340deg); }
  }
@keyframes mm-no-1 { 0%, 33.00% { opacity: 0; } 33.50% { opacity: 1; } 81.82% { opacity: .7; } 96.36%, 100% { opacity: 0; } }
.mm-no-1 { animation: mm-no-1 5.5s linear infinite; }
@keyframes mm-onda-1 { 0%, 33.20% { opacity: 0; transform: scale(1); } 33.50% { opacity: .9; transform: scale(1); } 42.50%, 100% { opacity: 0; transform: scale(3.6); } }
.mm-onda-1 { animation: mm-onda-1 5.5s ease-out infinite; }
@keyframes mm-no-2 { 0%, 42.22% { opacity: 0; } 42.72% { opacity: 1; } 81.82% { opacity: .7; } 96.36%, 100% { opacity: 0; } }
.mm-no-2 { animation: mm-no-2 5.5s linear infinite; }
@keyframes mm-onda-2 { 0%, 42.42% { opacity: 0; transform: scale(1); } 42.72% { opacity: .9; transform: scale(1); } 51.72%, 100% { opacity: 0; transform: scale(3.6); } }
.mm-onda-2 { animation: mm-onda-2 5.5s ease-out infinite; }
@keyframes mm-no-3 { 0%, 51.92% { opacity: 0; } 52.42% { opacity: 1; } 81.82% { opacity: .7; } 96.36%, 100% { opacity: 0; } }
.mm-no-3 { animation: mm-no-3 5.5s linear infinite; }
@keyframes mm-onda-3 { 0%, 52.12% { opacity: 0; transform: scale(1); } 52.42% { opacity: .9; transform: scale(1); } 61.42%, 100% { opacity: 0; transform: scale(3.6); } }
.mm-onda-3 { animation: mm-onda-3 5.5s ease-out infinite; }
  .mm-aro-pulso { animation: mm-aro-pulso 5.5s ease-out infinite; }
  @keyframes mm-aro-pulso { 0%, 72.73% { opacity: 0; transform: scale(1); } 73.64% { opacity: .9; transform: scale(1); } 83.64%, 100% { opacity: 0; transform: scale(1.7); } }
  .mm-aro { animation: mm-aro 5.5s ease-out infinite; }
  @keyframes mm-aro { 0%, 69.09% { stroke: #8fb0ff; } 74.55% { stroke: #f7f9fc; } 85.45%, 100% { stroke: #8fb0ff; } }
}
/* celulares pequenos: um pouco menor e mais perto do card */
@media (max-width: 374px) {
  .motion-mobile { width: calc(100% - 40px); }
  .acesso-login { row-gap: 20px; }
}
@media (min-width: 431px) and (max-width: 920px) {
  .acesso-login { row-gap: 32px; padding-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .motion-mobile * { animation: none !important; }
  .mm-bola { transform: translate(186.3px, 25.2px); }
  .mm-no-ativo { opacity: 1; }
}

/* ---------- micro-motions da página inicial ---------- */
/* Só com html.motion (lp-motion-cedo.js; nunca com "reduzir movimento").
   Uma vez por carregamento, só opacity e transform/translate. */

/* logo: a energia sai do ponto, corre a seta e dá um pulso na ponta */
.lg-energia, .lg-pulso { opacity: 0; }
.motion .lg-no { animation: lg-no .8s .15s ease-out both; }
@keyframes lg-no { 0%, 100% { fill: #afc4ff; } 30% { fill: #e6edff; filter: drop-shadow(0 0 2px #6690ff); } }
.motion .lg-energia { animation: lg-energia .55s .25s cubic-bezier(.5, 0, .3, 1) both; }
@keyframes lg-energia { 0% { opacity: 0; transform: translateX(0); } 20% { opacity: .95; } 85% { opacity: .9; } 100% { opacity: 0; transform: translateX(25px); } }
.motion .lg-pulso { transform-box: fill-box; transform-origin: center; animation: lg-pulso .4s .72s ease-out both; }
@keyframes lg-pulso { 0% { opacity: .8; transform: scale(1); } 100% { opacity: 0; transform: scale(2.6); } }

/* hero: título, texto e botões entram em sequência curta */
@keyframes lp-entra { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
.motion .lp-hero-texto > * { animation: lp-entra .5s cubic-bezier(.2, .7, .2, 1) both; }
.motion .lp-hero-texto > h1 { animation-delay: .05s; }
.motion .lp-hero-texto > .hero-texto { animation-delay: .13s; }
.motion .lp-hero-texto > .lp-ctas { animation-delay: .21s; }
.motion .lp-hero-texto > .lp-provas { animation-delay: .29s; }

/* botão principal do hero: um brilho atravessa uma vez; depois, normal */
.lp-ctas .primario { position: relative; overflow: hidden; }
.motion .lp-hero .lp-ctas .primario::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, .22) 50%, transparent 70%);
  transform: translateX(-110%); animation: lp-brilho .9s .75s ease-in-out both;
}
@keyframes lp-brilho { to { transform: translateX(110%); } }
.lp .primario:hover { transform: translateY(-2px); box-shadow: 0 18px 40px -16px rgba(37, 99, 255, .95), inset 0 1px 0 rgba(255, 255, 255, .16); }
.lp .primario:active, .lp .secundario:active { transform: scale(.98); transition-duration: .08s; }

/* card "Deram green": entra e revela título, odd, entradas e rodapé */
.motion .lp-bilhete { opacity: 0; translate: 0 10px; transition: opacity .45s ease, translate .45s cubic-bezier(.2, .7, .2, 1); }
.motion .lp-bilhete.visivel { opacity: 1; translate: 0 0; }
.motion .lp-bilhete-topo > div, .motion .lp-pernas li, .motion .lp-bilhete-pe { opacity: 0; translate: 0 6px; transition: opacity .35s ease, translate .35s ease; }
.motion .lp-bilhete.visivel .lp-bilhete-topo > div, .motion .lp-bilhete.visivel .lp-pernas li, .motion .lp-bilhete.visivel .lp-bilhete-pe { opacity: 1; translate: 0 0; }
.motion .lp-bilhete.visivel .lp-bilhete-topo > div:first-child { transition-delay: .12s; }
.motion .lp-bilhete.visivel .lp-bilhete-odd { transition-delay: .18s; }
.motion .lp-bilhete.visivel .lp-pernas li:nth-child(1) { transition-delay: .26s; }
.motion .lp-bilhete.visivel .lp-pernas li:nth-child(2) { transition-delay: .33s; }
.motion .lp-bilhete.visivel .lp-pernas li:nth-child(3) { transition-delay: .40s; }
.motion .lp-bilhete.visivel .lp-pernas li:nth-child(4) { transition-delay: .47s; }
.motion .lp-bilhete.visivel .lp-bilhete-pe { transition-delay: .56s; }
.motion .lp-pernas .nota { opacity: 0; scale: .94; }
.motion .lp-bilhete.visivel .lp-pernas .nota { animation: lp-nota .3s ease-out both; }
.motion .lp-bilhete.visivel .lp-pernas li:nth-child(1) .nota { animation-delay: .3s; }
.motion .lp-bilhete.visivel .lp-pernas li:nth-child(2) .nota { animation-delay: .37s; }
.motion .lp-bilhete.visivel .lp-pernas li:nth-child(3) .nota { animation-delay: .44s; }
.motion .lp-bilhete.visivel .lp-pernas li:nth-child(4) .nota { animation-delay: .51s; }
@keyframes lp-nota { from { opacity: 0; scale: .94; } to { opacity: 1; scale: 1; } }
.motion .lp-bilhete.visivel .lp-pernas .nota.mais { animation-name: lp-nota, lp-nota-verde; animation-duration: .3s, .9s; }
@keyframes lp-nota-verde { 0% { box-shadow: 0 0 0 0 rgba(184, 255, 61, 0); } 35% { box-shadow: 0 0 10px 1px rgba(184, 255, 61, .35); } 100% { box-shadow: 0 0 0 0 rgba(184, 255, 61, 0); } }

/* seções abaixo do hero: blocos entram ao aparecer; grupos em sequência */
.motion [data-revela] { opacity: 0; translate: 0 10px; transition: opacity .5s ease, translate .5s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--i, 0) * 65ms); }
.motion [data-revela].visivel { opacity: 1; translate: 0 0; }

/* fundo: o ponto de dados é só ambiente; some no celular e sem movimento */
@media (max-width: 760px) {
  .lp-dados-vivos { display: none; }
  .motion [data-revela], .motion .lp-bilhete { translate: 0 6px; transition-duration: .4s; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-dados-vivos { display: none; }
}

/* ---------- página inicial no celular: menos por tela, mais respiro ---------- */
/* Só até 760 px. Primeira tela: proposta + uma ação. Depois de um respiro,
   a prova (card "Deram green") com uma abertura própria. Desktop não muda. */
.hero-texto-curto, .lp-ja-tem, .lp-intro-card { display: none; }
.motion .lp-hero-texto > .lp-ja-tem { animation-delay: .27s; }
@media (max-width: 760px) {
  .lp .nav-dir .lp-planos, .lp .nav-dir .nav-criar { display: none; }
  .lp .nav-entrar { font-size: 14.5px; font-weight: 600; color: var(--texto); }
  .lp .fundo-campo { display: none; }  /* no hero do celular, só a textura do grid */

  .lp-hero { gap: 0; padding-top: 72px; }
  .lp-hero .sobre { margin-bottom: 24px; }
  .lp-hero h1 { font-size: clamp(36px, 10.4vw, 44px); line-height: 1.04; }
  .hero-texto-longo, .lp-ctas .secundario, .lp-hero .lp-provas { display: none; }
  .hero-texto-curto { display: block; margin: 26px 0 0; max-width: 34ch; font-size: 16.5px; line-height: 1.55; }
  .lp-hero .lp-ctas { margin-top: 30px; }
  .lp-hero .lp-ctas .primario { width: 100%; padding: 17px 20px; font-size: 16px; }
  .lp-ja-tem { display: block; margin: 16px 0 0; text-align: center; font-size: 14px; color: var(--texto-2); }
  .lp-ja-tem .link { color: var(--texto); font-weight: 600; }

  /* respiro grande e a abertura da prova antes do card */
  .lp-intro-card { display: block; margin-top: 192px; margin-bottom: 22px; }
  .lp-intro-card h2 { margin: 10px 0 0; font: 800 26px/1.15 var(--titulo); letter-spacing: -0.02em; }
  .lp-hero .lp-bilhete { max-width: none; }
  #recursos { padding-top: 88px; }
}

/* ---------- Radar ao vivo ---------- */
.radar-status { display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--borda); background: rgba(12, 17, 26, .8); font-size: 13.5px; color: var(--texto-2); }
.radar-status b { color: var(--texto); font-weight: 700; }
.radar-status span:empty { display: none; }
.radar-status i { width: 9px; height: 9px; border-radius: 50%; background: var(--texto-3); }
.radar-status.ligado i { background: var(--azul-2); box-shadow: 0 0 0 0 rgba(102, 144, 255, .6); animation: radar-pulso 2s ease-out infinite; }
@keyframes radar-pulso { 70% { box-shadow: 0 0 0 9px rgba(102, 144, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(102, 144, 255, 0); } }
.radar-regras { margin: 14px 0 0; max-width: 60ch; color: var(--texto-3); font-size: 13.5px; line-height: 1.5; }
.radar-secao { margin-top: 36px; }
.radar-secao h2 { margin: 0 0 14px; font: 700 20px var(--titulo); }
.radar-acerto { margin: -6px 0 14px; color: var(--texto-2); font-size: 14px; }
.radar-acerto:empty { display: none; }
.radar-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 14px; }
.radar-jogada { padding: 20px; border-radius: var(--raio); border: 1px solid var(--borda); background: linear-gradient(180deg, var(--card), var(--card-2)); }
.radar-jogada.elite { border-color: var(--azul-borda); box-shadow: 0 24px 60px -40px rgba(37, 99, 255, .8); }
.radar-jogada-topo { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.radar-detectada { display: inline-flex; align-items: center; gap: 7px; font: 600 11px var(--num); letter-spacing: .14em; text-transform: uppercase; color: var(--azul-3); }
.radar-detectada i { width: 7px; height: 7px; border-radius: 50%; background: var(--azul-2); }
.radar-classe { margin-left: auto; padding: 3px 9px; border-radius: 999px; font: 700 11px var(--num); letter-spacing: .08em; border: 1px solid var(--borda); color: var(--texto-2); }
.radar-classe.elite { color: #fff; background: var(--azul); border-color: var(--azul); }
.radar-quem { display: flex; align-items: center; gap: 12px; margin: 14px 0 6px; }
.radar-jogada h3 { margin: 0; font: 700 20px var(--titulo); }
.radar-selecao { display: flex; align-items: baseline; gap: 10px; margin: 0; font-weight: 600; }
.radar-selecao em { font-style: normal; color: var(--texto-2); font: 600 14px var(--num); }
.radar-momento { margin: 6px 0 0; color: var(--texto-3); font-size: 13px; }
.radar-vivo { margin: 14px 0 0; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--borda-suave); background: rgba(255, 255, 255, .03); }
.radar-vivo-topo { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: var(--texto-3); font-size: 12px; }
.radar-vivo-topo span { display: inline-flex; align-items: center; gap: 6px; }
.radar-vivo-topo i { width: 7px; height: 7px; border-radius: 50%; background: #ef4444; }
.radar-vivo.green .radar-vivo-topo i, .radar-vivo:not(.vivo) .radar-vivo-topo i { background: var(--texto-3); }
.radar-vivo-topo b { color: var(--texto-2); }
.radar-vivo.green .radar-vivo-topo b { color: #22c55e; }
.radar-vivo p { margin: 6px 0 8px; color: var(--texto-2); font-size: 14px; }
.radar-vivo p strong { font: 700 22px var(--num); color: var(--texto); }
.radar-vivo p small { color: var(--texto-3); }
.radar-vivo-barra { display: block; height: 6px; border-radius: 99px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.radar-vivo-barra span { display: block; height: 100%; background: var(--azul, #3b82f6); border-radius: 99px; }
.radar-vivo.green .radar-vivo-barra span { background: #22c55e; }
.radar-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(70px, 1fr)); gap: 8px; margin: 16px 0 0; }
.radar-numeros div { padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .03); border: 1px solid var(--borda-suave); }
.radar-numeros span { display: block; color: var(--texto-3); font-size: 11.5px; }
.radar-numeros strong { display: block; font: 700 20px var(--num); }
.radar-numeros small { color: var(--texto-3); font-size: 11.5px; }
.radar-sinais { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 7px; }
.radar-sinais li { position: relative; padding-left: 22px; font-size: 13.5px; color: var(--texto-2); line-height: 1.45; }
.radar-sinais li::before { content: "✓"; position: absolute; left: 2px; color: var(--azul-3); font-weight: 700; }
.radar-riscos { margin: 12px 0 0; font-size: 12.5px; color: var(--texto-3); }
.radar-riscos b { color: var(--texto-2); }
.radar-abrir { margin-top: 16px; }

/* ---------- login: cesta e bola com mais realismo ---------- */
/* Tabela de vidro, aro de metal com brilho azul, rede em losangos (a parte
   da frente passa na frente da bola) e bola com volume e rastro. Quando a
   bola entra, a rede estica, balança e acende em azul. */
.fm-tabela, .mm-tabela { opacity: 1; }
.fm-aro-tras, .mm-aro-tras { opacity: 1; }
.fm-rede-tras, .mm-rede-tras { opacity: .28; }
.fm-rede-frente, .mm-rede-frente { opacity: .8; }
.fm-rede-tras { animation: fm-rede-balanca 8s ease-out infinite; }
.fm-rede-frente { animation: fm-rede-balanca 8s ease-out infinite, fm-rede-acende 8s ease-out infinite; }
@keyframes fm-rede-balanca { 0%, 56.5% { transform: none; } 59% { transform: scaleY(1.2) skewX(-5deg); } 62.5% { transform: scaleY(.93) skewX(3deg); } 66% { transform: scaleY(1.05) skewX(-1.5deg); } 70%, 100% { transform: none; } }
@keyframes fm-rede-acende { 0%, 56% { stroke: #eef3ff; filter: none; } 58% { stroke: #a9c3ff; filter: drop-shadow(0 0 3px #2563ff); } 70%, 100% { stroke: #eef3ff; filter: none; } }
@media (max-width: 920px) {
  .mm-rede-tras { animation: mm-rede-balanca 5.5s ease-out infinite; }
  .mm-rede-frente { animation: mm-rede-balanca 5.5s ease-out infinite, mm-rede-acende 5.5s ease-out infinite; }
  @keyframes mm-rede-balanca { 0%, 66% { transform: none; } 70% { transform: scaleY(1.2) skewX(-5deg); } 74% { transform: scaleY(.93) skewX(3deg); } 78% { transform: scaleY(1.05) skewX(-1.5deg); } 83%, 100% { transform: none; } }
  @keyframes mm-rede-acende { 0%, 72% { stroke: #eef3ff; filter: none; } 75% { stroke: #a9c3ff; filter: drop-shadow(0 0 2px #2563ff); } 86%, 100% { stroke: #eef3ff; filter: none; } }
}
@media (prefers-reduced-motion: reduce) { .fm-rastro, .mm-rastro { display: none; } .fm-rede-tras, .fm-rede-frente, .mm-rede-tras, .mm-rede-frente { animation: none !important; } }

/* ---------- card do palpite: forma recente (últimos 5 jogos) ---------- */
.ult5 { margin: 12px 0 4px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--borda-suave); background: rgba(255, 255, 255, .02); }
.ult5-topo { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; color: var(--texto-2); margin-bottom: 8px; }
.ult5-topo b { color: var(--texto); }
.ult5-topo.a-favor span { color: var(--positivo); }
.ult5-topo.contra span { color: #ff7a7a; }
.ult5-tabela { width: 100%; border-collapse: collapse; font: 600 12.5px var(--num); text-align: center; table-layout: fixed; }
.ult5-tabela th { color: var(--texto-3); font: 600 9.5px var(--ui); padding: 3px 0; letter-spacing: -0.02em; }
.ult5-tabela tbody th { text-align: left; padding-right: 8px; }
.ult5-tabela td { padding: 5px 2px; border-top: 1px solid var(--borda-suave); }
.ult5-tabela td.sem { color: var(--texto-3); }
.ult5-tabela td.bateu { color: var(--positivo); }
.ult5-tabela td.nao { color: #ff7a7a; }

/* ---------- alerta de linha/odd mudada no card ---------- */
.mudanca-palpite small { color: var(--texto-2, inherit); opacity: .75; font-size: 12px; }
.mudanca-palpite.melhor { border-color: var(--positivo-borda); background: var(--positivo-fundo); color: var(--positivo); }
.mudanca-palpite.pior { border-color: rgba(255, 193, 99, 0.4); background: rgba(255, 193, 99, 0.08); color: var(--ambar); }

/* ---------- múltiplas: casa escolhida pela IA ---------- */
.escolha-casa { margin: 10px 0 0; padding: 9px 12px; border-radius: 12px; border: 1px solid var(--azul-borda); background: var(--azul-fundo); color: var(--azul-3); font-size: 13px; line-height: 1.45; }
.escolha-casa b { color: var(--texto); font-weight: 600; }
.liga-fixa { margin: 0; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--borda); background: var(--card-2, rgba(255,255,255,.03)); font-weight: 600; }

/* ---------- Placar das Múltiplas (admin e Resultados) ---------- */
.tabela tr.clicavel { cursor: pointer; }
.tabela tr.grupo-titulo td { padding-top: 16px; color: var(--texto); }
.mp-lista-pernas { list-style: none; margin: 4px 0 10px; padding: 0; display: grid; gap: 8px; }
.mp-lista-pernas li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 10px; align-items: center; }
.mp-lista-pernas li small { grid-column: 2; color: var(--texto-3); }
.placar-multiplas { margin-top: 34px; }
.placar-multiplas h2 { margin: 0 0 6px; }
.placar-multiplas .hero-texto { margin: 0 0 16px; }
.mp-cartoes { display: grid; gap: 12px; }
.mp-cartao { padding: 16px; border-radius: var(--raio); border: 1px solid var(--borda); background: linear-gradient(180deg, var(--card), var(--card-2)); }
.mp-cartao-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mp-cartao-topo b { font: 600 15px var(--titulo); }
.mp-cartao-topo small { display: block; color: var(--texto-3); font-size: 12.5px; }
.mp-cartao details { margin-top: 10px; }
.mp-cartao summary { cursor: pointer; color: var(--azul-3); font-size: 13.5px; }

/* ---------- múltiplas: janela de horário (gerador aberto) ---------- */
.horario { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 12px; color: var(--texto-2); font-size: 13.5px; }
.horario label { display: inline-flex; align-items: center; gap: 6px; }
.horario select { padding: 7px 10px; border-radius: 10px; border: 1px solid var(--borda); background: var(--card-2, #0f1626); color: var(--texto); font: 500 14px var(--ui); }

/* ---------- Radar: precisa do app e das notificações ---------- */
.radar-requisito { margin-top: 16px; padding: 14px 16px; border-radius: 14px; border: 1px solid rgba(255, 193, 99, 0.4); background: rgba(255, 193, 99, 0.07); }
.radar-requisito p { margin: 0 0 12px; color: var(--texto-2); font-size: 14px; line-height: 1.5; }
.radar-requisito p b { color: var(--ambar); font-weight: 600; }
.radar-requisito-acoes { display: flex; flex-wrap: wrap; gap: 10px; }
.radar-requisito small { display: block; margin-top: 10px; color: var(--texto-3); font-size: 12.5px; }
.radar-requisito-acoes a { width: auto; flex: 0 1 auto; min-height: 40px; padding: 10px 16px; font-size: 14px; }
.link-placar { display: inline-block; margin: 2px 0 14px; font-size: 14px; }
#mp-filtros { margin-top: 14px; }
.placar-numero small { display: block; margin-top: 2px; color: var(--texto-3); font-size: 12px; }
.detalhe-clique { display: block; color: var(--texto-3); font-size: 12px; }
.radar-android { display: inline-flex; align-items: center; gap: 8px; }
.icone-android { width: 20px; height: 20px; flex: none; }
.radar-ios { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(255, 193, 99, 0.25); color: var(--texto-2); font-size: 13.5px; line-height: 1.5; }
.radar-ios > b { color: var(--texto); font-weight: 600; }
.radar-ios ol { margin: 8px 0 6px; padding-left: 20px; display: grid; gap: 4px; }
.radar-ios li b { color: var(--texto); font-weight: 600; }
.icone-ios { width: 17px; height: 17px; vertical-align: -3px; color: var(--azul-claro); }

/* ---------- convite: instalar o app e ativar as notificações ---------- */
.convite-app p { margin: 0 0 12px; color: var(--texto-2); font-size: 14.5px; line-height: 1.5; }
.convite-passos { margin: 0 0 4px; padding-left: 20px; display: grid; gap: 4px; color: var(--texto-2); font-size: 14px; }
.convite-passos b { color: var(--texto); }
.convite-acoes { flex-wrap: wrap; margin-top: 16px; }
.convite-acoes .primario { margin-top: 0; }

/* ---------- convite de afiliado no cadastro ---------- */
.convite-afiliado { margin: 0 0 14px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--positivo-borda); background: var(--positivo-fundo); color: var(--positivo); font-weight: 600; font-size: 14px; }
.form-afiliado { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; align-items: end; }
.form-afiliado label { display: grid; gap: 6px; font-size: 13px; color: var(--texto-2); }
.form-afiliado input { padding: 9px 11px; border-radius: 10px; border: 1px solid var(--borda); background: var(--card-2, #0f1626); color: var(--texto); font: 500 14px var(--ui); }
.form-afiliado small { color: var(--texto-3); font-size: 12px; }
.form-afiliado .primario { margin: 0; }
.nota-mini.radar { color: var(--azul-3); border-color: var(--azul-borda); background: var(--azul-fundo); }

/* Análise do Atualizar (só o admin vê) */
.analise-admin { margin: 0 0 14px; padding: 12px 14px; border-radius: 13px; border: 1px solid var(--borda); background: var(--card-2); font-size: 13px; color: var(--texto-2); }
.analise-admin summary { cursor: pointer; color: var(--texto); font-weight: 600; }
.analise-secao h3 { margin: 14px 0 6px; font-size: 13px; color: var(--texto); }
.analise-secao ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; }
.analise-secao b { color: var(--texto); font-weight: 600; }
.analise-cortados { margin: 4px 0; }
.analise-cortados > summary { cursor: pointer; color: var(--texto-2); font-size: 13px; padding: 4px 0; }
.analise-cortados ul { margin-top: 6px; }
.analise-vazio { margin: 0; color: var(--texto-3); }
.analise-ok { color: var(--positivo); }
.analise-nao { color: var(--vermelho); }
.analise-ja { color: var(--texto-3); }
.analise-casa { display: inline-block; padding: 1px 7px; border-radius: 999px; border: 1px solid var(--borda); color: var(--texto); font-size: 12px; }
.analise-x { margin-right: 6px; width: 22px; height: 22px; border-radius: 50%; border: 1px solid rgba(255, 122, 122, 0.45); background: transparent; color: var(--vermelho); font: 600 14px/1 var(--ui); cursor: pointer; }
.analise-x:hover { background: rgba(255, 122, 122, 0.12); }
.analise-aprovar { margin-right: 8px; padding: 3px 10px; border-radius: 999px; border: 1px solid rgba(34, 197, 94, 0.5); background: transparent; color: #22c55e; font: 600 12px/1.4 var(--ui); cursor: pointer; }
.analise-aprovar:hover { background: rgba(34, 197, 94, 0.12); }
.analise-aprovar:disabled { opacity: .6; cursor: default; }
.analise-descartado b, .analise-descartado { text-decoration: line-through; opacity: 0.6; }

/* Layup Picks */
.layup-placar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 16px 0 6px; padding: 14px 16px; border-radius: 16px; border: 1px solid var(--borda); background: var(--card-2); }
.layup-placar-total { display: grid; gap: 2px; }
.layup-placar-total span { font-size: 12px; color: var(--texto-2); }
.layup-placar-total strong { font: 700 26px/1 var(--num); }
.layup-placar-total small { font-size: 12px; color: var(--texto-3); }
.layup-placar-dias { display: flex; flex-wrap: wrap; gap: 6px; }
.layup-dia { padding: 4px 9px; border-radius: 999px; border: 1px solid var(--borda); font: 500 12px var(--num); color: var(--texto-2); }
.layup-dia b { color: var(--texto); font-weight: 600; }
.layup-vivo { display: grid; gap: 8px; margin: 2px 0 10px; padding: 11px 13px; border-radius: 13px; border: 1px solid var(--azul-borda); background: var(--azul-fundo); }
.layup-vivo.green { border-color: var(--positivo-borda); background: var(--positivo-fundo); }
.layup-vivo.green .vivo-barra span { background: var(--positivo); }
.layup-vivo.red { border-color: rgba(255, 122, 122, 0.35); background: rgba(255, 122, 122, 0.06); }
.layup-vivo.red .vivo-barra span { background: var(--vermelho); }
.layup-vivo-topo { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.layup-vivo-topo > span { display: inline-flex; align-items: center; gap: 7px; font: 600 13px var(--ui); color: var(--texto); }
.layup-vivo-topo small { color: var(--texto-2); font: 500 12px var(--num); text-align: right; }
.layup-datas { display: flex; gap: 6px; margin: 4px 0 10px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.layup-datas::-webkit-scrollbar { display: none; }
.layup-datas .opcao { flex: none; }
/* Cards do Layup em grade no computador (2 ou 3 por linha). */
.layup-lista { display: grid; gap: 12px; align-items: start; }
.layup-lista > .palpite.layup { margin: 0; gap: 8px; padding: 16px; }
@media (min-width: 720px) { .layup-lista { grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); } }
.layup-lista > .vazio-palpites { grid-column: 1 / -1; }
/* Futebol (em desenvolvimento) */
.nav-secoes[hidden] { display: none !important; }
.universo { display: inline-flex; gap: 2px; padding: 3px; margin-left: 10px; border-radius: 999px; border: 1px solid var(--borda); background: var(--card-2); }
.universo a { padding: 5px 12px; border-radius: 999px; color: var(--texto-2); text-decoration: none; font: 600 13px var(--ui); }
.universo a.ativo { background: var(--azul, #2563ff); color: #fff; }
@media (max-width: 720px) { .universo { margin-left: auto; } .universo a { padding: 5px 10px; font-size: 12px; } }
.pagina-futebol .palco { width: 100%; max-width: 1340px; box-sizing: border-box; }
.pagina-futebol .futebol-admin { width: 100%; }
.fut-lista { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important; }
.fut-admin-barra { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.fut-admin-barra .futebol-nota { margin: 0; }
.fut-admin-barra .primario, .fut-admin-barra .secundario { width: auto; padding: 9px 16px; font-size: 14px; }
.fut-admin-barra .secundario { margin-left: auto; }
.fut-analise { margin: 0 0 18px; padding: 14px; border: 1px solid var(--borda); border-radius: 14px; background: var(--card); }
.fut-analise h3 { margin: 14px 0 8px; font-size: 15px; }
.fut-funil { margin: 0; color: var(--texto-2); font-size: 13px; }
.fut-analise-tabela td small { color: var(--texto-2); }
.fut-analise-tabela td, .fut-analise-tabela th { white-space: nowrap; }
.fut-card .layup-numeros { margin: 2px 0; gap: 2px 14px; }
.fut-card .layup-numeros strong { font-size: 16px; }
.fut-card .layup-numeros .chance strong { font-size: 19px; }
.fut-card .fut-apostar { padding: 10px; font-size: 14px; }
.fut-casas { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
.fut-casas .fut-apostar { margin: 0; text-align: center; text-decoration: none; }
.fut-times { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; }
.fut-times span { display: flex; align-items: center; gap: 8px; min-width: 0; }
.fut-times span:last-child { flex-direction: row-reverse; text-align: right; }
.fut-times b { font-size: 13px; line-height: 1.2; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.fut-times i { color: var(--texto-2); font-style: normal; }
.fut-logo { width: 24px; height: 24px; object-fit: contain; flex: none; }
.fut-sigla { display: inline-grid; place-items: center; border-radius: 50%; background: var(--azul, #2563ff); border: 1px solid rgba(255, 255, 255, .25); color: #fff; font: 800 10px var(--ui); letter-spacing: .02em; }
.fut-placar { margin-left: auto; font: 700 20px var(--num); }
.fut-times span:last-child .fut-placar { margin: 0 auto 0 0; }
.fut-topo > small { display: block; margin-top: 6px; color: var(--texto-2); font-size: 12px; }
.fut-formas { display: grid; gap: 4px; }
.fut-forma { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.fut-forma small { color: var(--texto-2); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fut-forma span { display: flex; gap: 3px; }
.fut-forma i { width: 18px; height: 18px; border-radius: 5px; display: grid; place-items: center; font: 700 10px var(--num); font-style: normal; }
.f-V { background: var(--positivo-fundo); color: var(--positivo); border: 1px solid var(--positivo-borda); }
.f-E { background: var(--card-2); color: var(--texto-2); border: 1px solid var(--borda); }
.f-D { background: rgba(255, 122, 122, 0.08); color: var(--vermelho); border: 1px solid rgba(255, 122, 122, 0.35); }
.fut-card.marcada { border-color: var(--positivo-borda); }
.fut-card-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.fut-mercado { color: var(--texto-2); font: 500 13px var(--ui); }
.fut-porque { margin: 0; color: var(--texto-2); font-size: 12px; }
.fut-apostar { text-align: center; }
.fut-sinal { border-color: var(--positivo-borda); }
.fut-alerta { display: grid; gap: 2px; padding: 10px 12px; border-radius: 12px; background: var(--positivo-fundo); border: 1px solid var(--positivo-borda); }
.fut-alerta b { color: var(--positivo); }
.fut-alerta small { color: var(--texto); font-size: 12px; }
.fut-montar { justify-content: space-between; }
.nav-breve { margin-left: 6px; padding: 1px 6px; border-radius: 999px; background: var(--azul-fundo, rgba(37,99,255,.12)); color: var(--azul-3, #8fb0ff); font: 600 10px var(--ui); vertical-align: middle; }
.futebol-breve { position: relative; padding: 24px; border-radius: var(--raio); border: 1px solid var(--borda); background: linear-gradient(160deg, rgba(37, 99, 255, 0.14), var(--card) 55%); margin-bottom: 24px; }
.futebol-selo { display: inline-block; padding: 4px 10px; border-radius: 999px; background: var(--positivo-fundo); color: var(--positivo); border: 1px solid var(--positivo-borda); font: 700 12px var(--ui); letter-spacing: .03em; text-transform: uppercase; }
.futebol-breve h2 { margin: 14px 0 12px; font: 700 22px var(--titulo); }
.futebol-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.futebol-lista li { padding: 14px; border-radius: 14px; border: 1px solid var(--borda); background: var(--card-2); }
.futebol-lista b { display: block; font: 700 16px var(--titulo); }
.futebol-lista small { color: var(--texto-2); font-size: 13px; }
.futebol-ligas { margin: 16px 0 4px; color: var(--texto); font-size: 14px; }
.futebol-aviso { margin: 0; color: var(--texto-2); font-size: 13px; }
.futebol-admin h2 small { margin-left: 8px; color: var(--texto-2); font: 500 13px var(--ui); }
.futebol-nota { color: var(--texto-2); font-size: 13px; }
.fut-lista { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); align-items: start; }
.fut-jogo { padding: 14px; border-radius: 14px; border: 1px solid var(--borda); background: var(--card); }
.fut-topo b { display: block; font-size: 15px; }
.fut-topo small, .fut-sem { color: var(--texto-2); font-size: 12px; }
.fut-resumo { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 10px 0; color: var(--texto-2); font-size: 12px; }
.fut-resumo strong { margin-right: 4px; color: var(--texto); font: 700 16px var(--num); }
.fut-resumo .evidencia { display: inline; margin: 0; }
.fut-tabela { width: 100%; border-collapse: collapse; font-size: 13px; }
.fut-tabela th { color: var(--texto-2); font-weight: 500; text-align: right; padding: 4px 6px; }
.fut-tabela th:first-child, .fut-tabela td:first-child { text-align: left; }
.fut-tabela td { padding: 5px 6px; border-top: 1px solid var(--borda); }
.fut-tabela td.num { text-align: right; font-family: var(--num); }
.fut-tabela tr.valor td { color: var(--positivo); font-weight: 600; }
.layup-numeros { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin: 8px 0 4px; color: var(--texto-2); font-size: 13px; }
.layup-numeros strong { margin-right: 5px; color: var(--texto); font: 700 19px var(--num); }
.layup-numeros .chance strong { color: var(--positivo); font-size: 23px; }
.layup-numeros .evidencia { display: inline; margin: 0; }
.layup-analise { margin: 6px 0 2px; }
.layup-analise summary { cursor: pointer; color: var(--texto-2); font-size: 13px; padding: 4px 0; }
.layup-analise[open] summary { margin-bottom: 6px; }
.layup-acoes { margin-top: 8px; }
.layup-acoes button { padding: 8px 14px; font-size: 14px; }
.layup-abas { display: inline-flex; gap: 4px; margin: 12px 0 4px; padding: 4px; border-radius: 999px; border: 1px solid var(--borda); background: var(--card-2); }
.layup-aba { padding: 8px 16px; border: 0; border-radius: 999px; background: transparent; color: var(--texto-2); font: 600 14px var(--ui); cursor: pointer; }
.layup-aba[aria-selected="true"] { background: var(--card-3); color: var(--texto); box-shadow: inset 0 0 0 1px var(--borda); }
.layup-resultados { display: grid; gap: 10px; margin-bottom: 24px; }
.layup-res-total { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; padding: 16px; border-radius: 16px; border: 1px solid var(--borda); background: var(--card-2); }
.layup-res-total strong { font: 700 32px/1 var(--num); }
.layup-res-total span { color: var(--texto-2); font-size: 14px; }
.layup-res-dia { border-radius: 14px; border: 1px solid var(--borda); background: var(--card); }
.layup-res-dia summary { display: flex; align-items: center; gap: 12px; padding: 13px 16px; cursor: pointer; list-style: none; }
.layup-res-dia summary::-webkit-details-marker { display: none; }
.layup-res-data { font: 600 15px var(--num); min-width: 92px; }
.layup-res-pct { font: 700 18px var(--num); min-width: 52px; }
.layup-res-placar { flex: 1; color: var(--texto-2); font-size: 13px; }
.layup-res-placar b.g { color: var(--positivo); }
.layup-res-placar b.r { color: var(--vermelho); }
.layup-res-barra { width: 72px; height: 6px; border-radius: 999px; background: rgba(255, 122, 122, 0.35); overflow: hidden; }
.layup-res-barra span { display: block; height: 100%; background: var(--positivo); }
.layup-res-dia ul { margin: 0; padding: 0 16px 12px; list-style: none; display: grid; gap: 6px; }
.layup-res-dia li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--borda); font-size: 14px; }
.layup-res-dia li .quem { flex: 1; min-width: 0; }
.layup-res-dia li small { display: block; color: var(--texto-3); font-size: 12px; }
.layup-res-dia li .tag { flex: none; }
@media (max-width: 520px) { .layup-res-barra { display: none; } .layup-res-data { min-width: 0; } }
.layup-dica { margin: 0 0 14px; padding: 11px 14px; border-radius: 13px; border: 1px solid var(--azul-borda); background: var(--azul-fundo); font-size: 13px; color: var(--texto-2); }
.layup-dica b { color: var(--texto); }
.layup-pos { display: inline-grid; place-items: center; min-width: 26px; height: 26px; border-radius: 8px; background: var(--card-3); border: 1px solid var(--borda); font: 700 13px var(--num); color: var(--texto-2); }
.palpite.layup.conferido.green { border-color: var(--positivo-borda); }
.palpite.layup.conferido.red { border-color: rgba(255, 122, 122, 0.35); }
.layup-marcar.ativo { border-color: var(--positivo-borda); color: var(--positivo); background: var(--positivo-fundo); }
.palpite.layup.marcada { border-color: var(--positivo-borda); }
.layup-montar { position: fixed; left: 50%; bottom: calc(76px + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 30; display: flex; align-items: center; gap: 12px; width: min(560px, calc(100% - 24px)); padding: 12px 14px; border-radius: 16px; border: 1px solid var(--positivo-borda); background: var(--card); box-shadow: var(--sombra); }
.layup-montar-info { display: grid; gap: 2px; flex: 1; min-width: 0; }
.layup-montar-info small { color: var(--texto-2); font-size: 12px; }
.layup-montar-aviso:empty { display: none; }
.layup-montar-aviso { color: var(--vermelho) !important; }

/* Perfil */
.perfil-grade { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 16px; align-items: start; }
.perfil-grade > .perfil-form, .perfil-grade > .perfil-conquistas { grid-column: 2; }
.perfil-cartao { grid-row: span 3; display: grid; justify-items: center; gap: 12px; padding: 24px 18px; text-align: center; }
.perfil-avatar { display: grid; place-items: center; width: 128px; height: 128px; border-radius: 50%; overflow: hidden; border: 2px solid var(--azul-borda); background: radial-gradient(circle at 30% 25%, #26324a, #101722); box-shadow: 0 16px 40px -18px rgba(37, 99, 255, 0.9); font: 700 48px var(--titulo); color: var(--texto); }
.perfil-avatar img { width: 100%; height: 100%; object-fit: cover; }
.perfil-avatar-emoji { font-size: 64px; line-height: 1; }
.perfil-foto-acoes { display: flex; align-items: center; gap: 12px; }
.perfil-enviar { cursor: pointer; }
.perfil-quem { display: grid; gap: 2px; margin: 0; }
.perfil-quem b { font: 700 20px var(--titulo); }
.perfil-quem small { color: var(--texto-2); font-size: 13px; }
.perfil-plano { margin: 0; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--positivo-borda); background: var(--positivo-fundo); color: var(--positivo); font: 600 12px var(--ui); }
.perfil-plano:empty { display: none; }
.perfil-form h2, .perfil-conquistas h2 { margin: 0 0 12px; font: 700 18px var(--titulo); }
.perfil-emojis { display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 6px; }
.perfil-emoji { height: 44px; border-radius: 12px; border: 1px solid var(--borda); background: var(--card-2); font-size: 22px; line-height: 1; color: var(--texto-2); cursor: pointer; }
.perfil-emoji.ativo { border-color: var(--azul); background: var(--azul-fundo); box-shadow: inset 0 0 0 1px var(--azul); }
.perfil-conquistas p { margin: 0; color: var(--texto-2); }
.conta-nome { cursor: pointer; }
@media (max-width: 760px) {
  .perfil-grade { grid-template-columns: 1fr; }
  .perfil-grade > .perfil-form, .perfil-grade > .perfil-conquistas { grid-column: auto; }
  .perfil-cartao { grid-row: auto; }
}
@keyframes layup-sobe { from { transform: translate(-50%, 24px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }
.layup-montar:not([hidden]) { animation: layup-sobe 0.25s ease-out; }
@media (max-width: 380px) { .layup-marcar { font-size: 12.5px; padding-left: 10px; padding-right: 10px; } }
.layup-lesao { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 999px; font: 600 11.5px var(--ui); vertical-align: middle; border: 1px solid var(--borda); }
.layup-lesao.ok { color: var(--positivo); border-color: var(--positivo-borda); background: var(--positivo-fundo); }
.layup-lesao.questionavel, .layup-lesao.provavel { color: var(--ambar); border-color: rgba(255, 193, 99, 0.45); background: rgba(255, 193, 99, 0.08); }
.layup-lesao.duvida, .layup-lesao.fora { color: var(--vermelho); border-color: rgba(255, 122, 122, 0.45); background: rgba(255, 122, 122, 0.08); }
.novidade-layup .novidade-selo { display: inline-block; margin-bottom: 10px; padding: 3px 10px; border-radius: 999px; background: var(--positivo); color: #0b1a00; font: 700 11px var(--ui); letter-spacing: 0.06em; }
.novidade-layup p { margin: 0 0 12px; color: var(--texto-2); }
.novidade-layup ul { margin: 0 0 18px; padding-left: 18px; display: grid; gap: 6px; color: var(--texto-2); font-size: 14px; }
.novidade-layup ul b { color: var(--texto); }
.novidade-layup .modal-acoes { flex-wrap: wrap; }
.layup-marcar.bloqueado { opacity: 0.55; border-style: dashed; }
/* Resultados do futebol: escudos no lugar da foto do jogador */
.fut-escudos { display: inline-flex; gap: 2px; flex: none; width: 46px; }
.fut-escudos .fut-logo { width: 22px; height: 22px; }

/* ---------- acabamento premium (01/11/2026) ----------
   Superfícies com brilho sutil no topo, borda translúcida que acende no
   hover, números em mono e títulos mais firmes. Vale para os cards de
   Palpites, Layup, Radar, Futebol, planos e painéis. */
.palpite, .radar-jogada, .plano, .bloco, .metrica, .fut-jogo, .placar-numero, .calendario, .painel, .layup-res-dia, .resultado-lista, .lp-passos li, .lp-faq details {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 38%),
    var(--card);
  border: 1px solid var(--borda);
  box-shadow: var(--sombra);
}
.palpite, .radar-jogada { position: relative; padding: 22px; border-radius: 22px; gap: 16px; transition: border-color .2s, transform .2s, box-shadow .2s; }
/* Fio de luz azul no topo do card. */
.palpite::before, .radar-jogada::before {
  content: ""; position: absolute; inset: 0 22px auto; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(102, 144, 255, 0.55), transparent); opacity: .55;
}
.palpite:hover, .radar-jogada:hover {
  transform: translateY(-2px); border-color: rgba(102, 144, 255, 0.32);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 34px 80px -36px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(37, 99, 255, 0.08);
}
.palpite-selecao { font: 700 19px/1.25 var(--titulo); letter-spacing: -0.02em; }
.palpite-numeros { gap: 10px; }
.palpite-numeros div {
  padding: 12px 13px; border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01));
  border: 1px solid var(--borda-suave);
}
/* Rótulo numa linha só (caixa alta quebrava "Chance hoje" e desalinhava as três caixas). */
.palpite-numeros span { font-size: 12px; font-weight: 500; letter-spacing: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.palpite-numeros strong, .palpite-numeros strong.positivo { margin-top: 4px; font: 650 20px/1.15 var(--num); letter-spacing: -0.025em; font-variant-numeric: tabular-nums; }
.palpite-numeros .evidencia { display: block; margin-top: 3px; font-size: 11px; line-height: 1.3; }
.palpite-leitura { gap: 6px; font-size: 13px; }
.palpite-leitura li::before { content: ""; display: inline-block; width: 4px; height: 4px; margin: 0 8px 2px 2px; border-radius: 50%; background: var(--azul-2); vertical-align: middle; }
.nota { width: 36px; height: 36px; border-radius: 11px; font: 700 14px var(--num); letter-spacing: -0.02em; }
.palpite .primario { border-radius: 14px; font-weight: 600; letter-spacing: -0.01em; box-shadow: 0 10px 30px -14px rgba(37, 99, 255, 0.8); }
h1, h2, .hero-titulo { letter-spacing: -0.035em; }
h3 { letter-spacing: -0.015em; }
.chip, .filtro, .filtros button { letter-spacing: -0.005em; }
@media (prefers-reduced-motion: reduce) { .palpite, .radar-jogada { transition: none; } .palpite:hover, .radar-jogada:hover { transform: none; } }
/* Celular: card com menos respiro lateral e as datas dos últimos 10 cabendo na coluna. */
@media (max-width: 480px) {
  .palpite, .radar-jogada { padding: 18px; }
  .ult5-tabela th { font-size: 8px; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
}

/* ---------- card de palpite v2 (01/11/2026) ----------
   Hierarquia: palpite > chance > projeção e edge > histórico. Um bloco só de
   números (sem caixa dentro de caixa), contexto em chips, gráfico com a linha
   marcada, odds numa linha discreta e CTA limpo. */
.palpite { padding: 18px; gap: 12px; }
.palpite .palpite-topo { gap: 10px; }
/* Cabeçalho: foto maior num recorte suave (sem o quadrado de avatar), nome um
   pouco menor que o mercado, nota colada ao nome e estrela discreta. */
.palpite .palpite-cabeca { grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; }
/* Sem quadrado de avatar: a foto se dissolve no card pela base. */
.foto-moldura {
  display: block; width: 68px; height: 50px; overflow: hidden;
  background: radial-gradient(70% 80% at 50% 100%, rgba(102, 144, 255, 0.16), rgba(102, 144, 255, 0) 75%);
  -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent); mask-image: linear-gradient(180deg, #000 72%, transparent);
}
/* Mesmo enquadramento para todos: a foto da ESPN tem a proporção da moldura, presa no topo. */
.palpite .foto-moldura .foto { width: 100%; height: 100%; border-radius: 0; background: none; object-fit: cover; object-position: 50% 0; }
.palpite .quem { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.quem-nome { display: flex; align-items: center; gap: 8px; min-width: 0; }
.palpite .quem-nome b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15.5px; font-weight: 650; letter-spacing: -0.015em; line-height: 1.2; }
.palpite .quem-nome .nota { flex: none; width: auto; min-width: 26px; height: 22px; padding: 0 6px; border-radius: 7px; font-size: 12.5px; }
.palpite .confronto { flex-wrap: nowrap; gap: 4px; font-size: 12.5px; color: var(--texto-2); white-space: nowrap; overflow: hidden; }
.palpite .confronto .escudo { width: 14px; height: 14px; }
.palpite .confronto .quando { margin-left: 2px; color: var(--texto-2); }
.palpite .seguir { width: 30px; height: 30px; border: 0; border-radius: 8px; color: var(--texto-3); }
.palpite .seguir:hover { background: rgba(255, 255, 255, 0.05); color: var(--texto); }
.palpite .seguir svg { width: 18px; height: 18px; }
.palpite-selecao { margin: 2px 0 0; font: 750 22px/1.15 var(--titulo); letter-spacing: -0.03em; }

.palpite-kpis {
  display: grid; grid-template-columns: 0.95fr 1.35fr 0.7fr;
  padding: 12px 0; border-top: 1px solid var(--borda-suave); border-bottom: 1px solid var(--borda-suave);
}
.kpi { min-width: 0; padding: 0 12px; display: flex; flex-direction: column; gap: 2px; }
.kpi + .kpi { border-left: 1px solid var(--borda-suave); }
.kpi:first-child { padding-left: 0; }
.kpi > span { color: var(--texto-3); font-size: 11.5px; font-weight: 500; white-space: nowrap; }
.kpi strong { font: 650 22px/1.1 var(--num); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kpi strong i { font: 500 13px var(--ui); font-style: normal; color: var(--texto-2); letter-spacing: 0; }
.kpi.chance strong { font-size: 28px; color: var(--positivo); letter-spacing: -0.04em; }
.kpi.projecao strong { font-size: 25px; }
.kpi small { font-size: 11.5px; line-height: 1.3; color: var(--texto-3); }
.kpi .edge { font-weight: 600; font-size: 12px; white-space: nowrap; }
.kpi .edge.favor { color: var(--positivo); }
.kpi .edge.contra { color: var(--ambar); }

.palpite-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip-ctx {
  display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 999px;
  font-size: 12px; font-weight: 500; color: var(--texto-2);
  background: rgba(255, 255, 255, 0.035); border: 1px solid var(--borda-suave);
}
.chip-ctx.bom { color: var(--positivo); border-color: var(--positivo-borda); background: var(--positivo-fundo); }
.chip-ctx.ruim { color: var(--ambar); border-color: rgba(255, 193, 99, 0.3); background: rgba(255, 193, 99, 0.06); }

.historico { display: flex; flex-direction: column; gap: 8px; }
.historico-topo { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.historico-topo p { margin: 0; color: var(--texto-2); font-size: 13px; }
.historico-topo b { color: var(--texto); font: 700 18px var(--num); letter-spacing: -0.02em; margin-right: 2px; }
.historico-topo span { color: var(--texto-3); font-size: 12.5px; white-space: nowrap; }
.historico-topo span.a-favor { color: var(--positivo); }
.historico-topo span.contra { color: var(--ambar); }
/* Sem padding em cima: barras, linha e zona usam a mesma altura de referência. */
.grafico { position: relative; display: flex; align-items: flex-end; gap: 4px; height: 58px; margin-top: 14px; padding-right: 58px; }
.grafico-zona { position: absolute; left: 0; right: 58px; pointer-events: none; background: linear-gradient(180deg, rgba(184, 255, 61, 0.07), rgba(184, 255, 61, 0.025)); border-radius: 4px; }
.grafico-zona.abaixo { bottom: 0; }
.grafico-zona.acima { top: 0; }
.grafico span { position: relative; flex: 1; border-radius: 4px 4px 1px 1px; background: rgba(255, 122, 122, 0.4); }
.grafico span.bateu { background: linear-gradient(180deg, rgba(184, 255, 61, 0.95), rgba(184, 255, 61, 0.6)); }
.grafico em { position: absolute; left: 0; right: 0; bottom: 100%; margin-bottom: 2px; text-align: center; font: 600 10px var(--num); font-style: normal; color: var(--texto-3); font-variant-numeric: tabular-nums; }
.grafico span.bateu em { color: var(--texto-2); }
.grafico-linha { position: absolute; left: 0; right: 0; height: 0; border-top: 1.5px dashed rgba(175, 196, 255, 0.85); pointer-events: none; z-index: 1; }
/* Etiqueta da linha na ponta direita, fora das barras. */
.grafico-linha b {
  position: absolute; right: 0; top: 0; transform: translateY(-50%); padding: 1px 6px; border-radius: 6px; white-space: nowrap;
  font: 600 10px var(--ui); letter-spacing: 0.04em; text-transform: uppercase; color: var(--azul-3);
  background: rgba(7, 10, 15, 0.85); border: 1px solid var(--azul-borda);
}

.palpite-odds { margin: 0; font-size: 12.5px; color: var(--texto-3); }
.palpite-odds b { color: var(--texto); font-weight: 600; font-variant-numeric: tabular-nums; }

/* Alertas: etiqueta compacta; o detalhe abre no toque. */
.palpite .alerta-palpite { padding: 0; border: 0; background: none; font-size: 12.5px; }
.palpite .alerta-palpite summary {
  display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 999px; cursor: pointer; list-style: none;
  color: var(--ambar); font-weight: 600; background: rgba(255, 193, 99, 0.08); border: 1px solid rgba(255, 193, 99, 0.3);
}
.palpite .alerta-palpite summary::-webkit-details-marker { display: none; }
.palpite .alerta-palpite summary i { font-style: normal; }
.palpite .alerta-palpite p { margin: 6px 0 0; color: var(--texto-2); line-height: 1.45; }
.palpite .mudanca-palpite { padding: 6px 10px; font-size: 12.5px; line-height: 1.4; }

/* CTA: limpo, sem cara de anúncio da casa. */
.palpite .palpite-acoes { gap: 8px; margin-top: auto; }
.palpite .ver-bilhete {
  flex: 1; display: inline-flex; align-items: center; justify-content: center; height: 42px; padding: 0 14px; border-radius: 12px;
  font-weight: 600; font-size: 14px; text-decoration: none; color: var(--azul-3);
  background: var(--azul-fundo); border: 1px solid var(--azul-borda); transition: background .15s, color .15s;
}
.palpite .ver-bilhete:hover { background: var(--azul); color: #fff; }
.palpite .palpite-acoes .anotar { height: 42px; padding: 0 14px; border-radius: 12px; font-size: 14px; }

@media (max-width: 560px) {
  .palpite { padding: 16px; gap: 11px; }
  .foto-moldura { width: 62px; height: 46px; }
  .palpite-selecao { font-size: 21px; }
  .kpi { padding: 0 10px; }
  .kpi strong { font-size: 21px; }
  .kpi.chance strong { font-size: 28px; }
  .grafico em { font-size: 9.5px; }
}

/* Faixa de alertas com altura reservada: cards com e sem alerta terminam alinhados. */
.palpite-alertas { display: flex; flex-direction: column; gap: 6px; min-height: 26px; }
/* CTA: "Ver bilhete pronto" com a casa pequena ao lado. */
.palpite .ver-bilhete { gap: 8px; }
.palpite .ver-bilhete small { font-size: 11.5px; font-weight: 500; color: var(--texto-3); }
.palpite .ver-bilhete:hover small { color: rgba(255, 255, 255, 0.75); }
@media (max-width: 560px) { .kpi.projecao strong { font-size: 23px; } .kpi .edge { font-size: 11.5px; } }

/* ---------- topo dos Palpites (01/11/2026) ----------
   Texto à esquerda e o resumo do dia à direita; filtros só com o que tem
   palpite; botões de admin como links discretos. */
.palpites-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: end; }
.palpites-topo .hero-texto { max-width: 560px; }
.resumo-hoje {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 22px; min-width: 300px; padding: 18px 20px; border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01)), rgba(15, 21, 32, 0.7);
  border: 1px solid var(--borda); box-shadow: var(--sombra); backdrop-filter: blur(8px);
}
.resumo-titulo { grid-column: 1 / -1; margin: 0; color: var(--azul-3); font-size: 11.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.resumo-item { display: flex; flex-direction: column; gap: 2px; }
.resumo-item strong { font: 650 26px/1.05 var(--num); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.resumo-item span { color: var(--texto-3); font-size: 12px; }
.resumo-item.positivo strong { color: var(--positivo); }
.palpites-barra { margin: 18px 0 12px; min-height: 0; }
.palpites-status:empty { display: none; }
.palpites-acoes-topo { align-items: center; }
.palpites-acoes-topo .secundario { height: 34px; padding: 0 12px; font-size: 13px; border-radius: 10px; }
.link-admin { height: 34px; padding: 0 6px; border: 0; background: none; color: var(--texto-3); font-size: 12.5px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.link-admin:hover { color: var(--texto-2); }
#filtros .opcao { display: inline-flex; align-items: center; gap: 6px; }
#filtros .opcao b { font-weight: 600; font-size: 12px; color: var(--texto-3); font-variant-numeric: tabular-nums; }
#filtros .opcao[aria-pressed="true"] b { color: inherit; opacity: .8; }
@media (max-width: 860px) {
  .palpites-hero { grid-template-columns: 1fr; gap: 16px; }
  /* No celular o resumo vira uma linha de números. */
  .resumo-hoje { min-width: 0; grid-template-columns: repeat(4, auto); justify-content: start; gap: 18px; padding: 12px 14px; border-radius: 14px; }
  .resumo-titulo { display: none; }
  .resumo-item strong { font-size: 18px; }
  .resumo-item span { font-size: 11px; }
}
/* Uma coluna só (celular): não precisa reservar a faixa de alertas. */
@media (max-width: 560px) { .palpite-alertas { min-height: 0; } .palpite-alertas:empty { display: none; } }

/* ---------- Layup "fast lane" (01/11/2026) ----------
   Mesmo padrão dos cards dos Palpites, com a múltipla no centro: abrir → ver
   as linhas → entender → selecionar → montar. */
.layup-topo .hero-texto { max-width: 520px; }
.layup-placar { gap: 14px 24px; padding: 16px 18px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.01)), var(--card); border-color: var(--borda); }
.layup-placar-total { gap: 3px; }
.layup-placar-total span { color: var(--azul-3); font-size: 11.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.layup-placar-total p { margin: 0; color: var(--texto-2); font-size: 14px; }
.layup-placar-total p strong { margin-right: 4px; color: var(--positivo); font: 650 28px/1 var(--num); letter-spacing: -0.03em; }
.layup-placar-dias { gap: 6px; }
.layup-dia { display: inline-flex; gap: 6px; align-items: baseline; padding: 5px 10px; font-variant-numeric: tabular-nums; }
.layup-dia b { color: var(--texto-3); font-weight: 500; }
.layup-dia.bom { color: var(--positivo); border-color: var(--positivo-borda); background: var(--positivo-fundo); }
.layup-dia.medio { color: var(--ambar); border-color: rgba(255, 193, 99, 0.3); background: rgba(255, 193, 99, 0.06); }
.layup-dia.ruim { color: var(--vermelho); border-color: rgba(255, 122, 122, 0.3); background: rgba(255, 122, 122, 0.06); }
.layup-aba b { margin-left: 4px; font-weight: 600; font-size: 12px; color: var(--texto-3); }
.layup-aba b:empty { display: none; }
/* "Como montar uma múltipla?": um link que abre a explicação. */
.layup-dica { padding: 0; border: 0; background: none; }
.layup-dica summary { display: inline-flex; color: var(--azul-3); font-size: 13px; font-weight: 600; cursor: pointer; list-style: none; text-decoration: underline; text-underline-offset: 3px; }
.layup-dica summary::-webkit-details-marker { display: none; }
.layup-dica p { margin: 8px 0 0; padding: 11px 14px; border-radius: 12px; border: 1px solid var(--azul-borda); background: var(--azul-fundo); color: var(--texto-2); }
/* Card */
.palpite.layup .layup-pos { min-width: 0; height: 20px; padding: 0 6px; border-radius: 6px; font-size: 11px; color: var(--texto-3); }
.layup-selecao { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.layup-selecao .layup-lesao { margin: 0; }
.layup-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.palpite.layup .layup-analise summary { font-size: 12.5px; }
.palpite.layup .layup-acoes { gap: 8px; }
.palpite.layup .layup-marcar {
  flex: 1; height: 44px; padding: 0 14px; border-radius: 12px; font: 600 14.5px var(--ui); cursor: pointer;
  color: #fff; background: var(--azul); border: 1px solid var(--azul); box-shadow: 0 10px 30px -14px rgba(37, 99, 255, 0.9);
}
.palpite.layup .layup-marcar:hover { filter: brightness(1.08); }
.palpite.layup .layup-marcar.ativo { color: #0b1a00; background: var(--positivo); border-color: var(--positivo); box-shadow: none; }
.palpite.layup .layup-marcar.bloqueado { color: var(--texto-3); background: transparent; border: 1px dashed var(--borda); box-shadow: none; }
.palpite.layup .layup-acoes .anotar { height: 44px; }
.palpite.layup.marcada { border-color: var(--positivo-borda); }

/* ---------- Resultados do Layup (01/11/2026): histórico de desempenho ---------- */
.layup-res-total { display: grid; gap: 2px; padding: 20px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.01)), var(--card); border-color: var(--borda); }
.layup-res-titulo { color: var(--azul-3) !important; font-size: 11.5px !important; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 6px; }
.layup-res-total strong { font: 650 44px/1 var(--num); letter-spacing: -0.04em; }
.layup-res-sub { color: var(--texto-3) !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: 0.06em; }
.layup-res-total p { margin: 8px 0 0; color: var(--texto); font-size: 15px; font-weight: 500; }
.layup-res-total small { color: var(--texto-3); font-size: 12.5px; }
.layup-res-periodos { display: flex; gap: 6px; }
.layup-res-dia summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "cabeca barra" "placar ver"; gap: 6px 16px; align-items: center; padding: 14px 16px; }
.layup-res-cabeca { grid-area: cabeca; display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.layup-res-data { min-width: 0; color: var(--texto-2); font: 600 12.5px var(--ui); letter-spacing: 0.04em; }
.layup-res-pct { min-width: 0; font: 650 24px/1 var(--num); letter-spacing: -0.03em; color: var(--texto); }
.layup-res-pct small { font: 500 12.5px var(--ui); color: var(--texto-3); letter-spacing: 0; }
.layup-res-placar { grid-area: placar; margin: 0; color: var(--texto-2); font-size: 13px; }
.layup-res-barra { grid-area: barra; width: 160px; height: 8px; border-radius: 999px; background: rgba(255, 122, 122, 0.45); }
.layup-res-barra span { border-radius: 999px; }
.layup-res-ver { grid-area: ver; justify-self: end; color: var(--azul-3); font-size: 12.5px; font-weight: 600; }
.layup-res-dia[open] .layup-res-ver { color: var(--texto-3); }
.tag-res { flex: none; padding: 3px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 600; border: 1px solid; }
.tag-res.acerto, .tag-res.green { color: var(--positivo); border-color: var(--positivo-borda); background: var(--positivo-fundo); }
.tag-res.erro, .tag-res.red { color: var(--vermelho); border-color: rgba(255, 122, 122, 0.4); background: rgba(255, 122, 122, 0.07); }
.tag-res.anulada { color: var(--texto-3); border-color: var(--borda); background: rgba(255, 255, 255, 0.03); }
@media (max-width: 520px) {
  .layup-res-dia summary { grid-template-columns: 1fr; grid-template-areas: "cabeca" "placar" "barra" "ver"; }
  .layup-res-barra { display: block; width: 100%; }
  .layup-res-ver { justify-self: start; }
}

/* Placar da Layup: scorecard acumulado da temporada (01/11/2026). */
.layup-placar { display: block; }
.layup-placar-titulo { margin: 0 0 12px; color: var(--azul-3); font-size: 11.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.layup-placar-titulo small { color: var(--texto-3); font-weight: 500; letter-spacing: 0; text-transform: none; font-size: 12px; }
.layup-metricas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.layup-metrica { display: flex; flex-direction: column; gap: 3px; padding: 0 16px; }
.layup-metrica:first-child { padding-left: 0; }
.layup-metrica + .layup-metrica { border-left: 1px solid var(--borda-suave); }
.layup-metrica span { color: var(--texto-3); font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; }
.layup-metrica strong { font: 650 28px/1 var(--num); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.layup-metrica.positivo strong { color: var(--positivo); }
.layup-metrica.green strong { color: var(--texto); }
.layup-metrica.red strong { color: var(--texto); }
@media (max-width: 520px) {
  .layup-metrica { padding: 0 10px; }
  .layup-metrica strong { font-size: 22px; }
  .layup-metrica span { font-size: 10px; }
}

/* ---------- painel de performance (Resultados do Layup e do Radar, 01/11/2026) ---------- */
.perf-card {
  display: grid; gap: 14px; padding: 18px 20px; border-radius: 18px; border: 1px solid var(--borda);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.01)), var(--card); box-shadow: var(--sombra);
}
.perf-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.perf-titulo { margin: 0; color: var(--azul-3); font-size: 11.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.perf-temporada select {
  height: 30px; padding: 0 28px 0 10px; border-radius: 9px; border: 1px solid var(--borda); background: rgba(255, 255, 255, 0.03); color: var(--texto-2);
  font: 500 12.5px var(--ui); appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--texto-3) 50%), linear-gradient(135deg, var(--texto-3) 50%, transparent 50%);
  background-position: calc(100% - 14px) 13px, calc(100% - 10px) 13px; background-size: 4px 4px; background-repeat: no-repeat;
}
.perf-kpis { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; }
.perf-kpi { display: flex; flex-direction: column; gap: 4px; padding: 0 18px; }
.perf-kpi:first-child { padding-left: 0; }
.perf-kpi + .perf-kpi { border-left: 1px solid var(--borda-suave); }
.perf-kpi strong { font: 650 28px/1 var(--num); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.perf-kpi.principal strong { font-size: 40px; color: var(--positivo); letter-spacing: -0.045em; }
.perf-kpi span { color: var(--texto-3); font-size: 11px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; }
.perf-anuladas { margin: -6px 0 0; color: var(--texto-3); font-size: 12px; }
.perf-evolucao { display: grid; gap: 6px; padding-top: 12px; border-top: 1px solid var(--borda-suave); }
.perf-evolucao-topo { display: flex; justify-content: space-between; align-items: baseline; }
.perf-evolucao-topo span { color: var(--texto-2); font-size: 12.5px; font-weight: 500; }
.perf-evolucao-topo small { color: var(--texto-3); font-size: 12px; font-weight: 600; }
.perf-evolucao-topo small.sobe { color: var(--positivo); }
.perf-evolucao-topo small.cai { color: var(--ambar); }
.perf-evolucao svg { width: 100%; height: 64px; display: block; }
.perf-evolucao-eixo { display: flex; justify-content: space-between; color: var(--texto-3); font-size: 11px; }
.perf-secao { margin: 22px 0 10px; color: var(--azul-3); font-size: 11.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.perf-dias { display: grid; gap: 6px; }
.perf-dia { border-radius: 12px; border: 1px solid var(--borda-suave); background: rgba(255, 255, 255, 0.02); }
.perf-dia[open] { border-color: var(--borda); background: rgba(255, 255, 255, 0.03); }
.perf-dia summary {
  display: grid; grid-template-columns: 112px 64px repeat(3, minmax(0, 1fr)) auto; align-items: baseline; gap: 10px;
  padding: 11px 14px; cursor: pointer; list-style: none;
}
.perf-dia summary::-webkit-details-marker { display: none; }
.perf-data { color: var(--texto-3); font-size: 12px; white-space: nowrap; }
.perf-data b { color: var(--texto); font-weight: 600; letter-spacing: 0.02em; }
.perf-pct { font: 650 20px/1 var(--num); letter-spacing: -0.03em; color: var(--texto); font-variant-numeric: tabular-nums; }
.perf-pct.otimo { color: var(--positivo); }
.perf-pct.bom { color: rgba(184, 255, 61, 0.75); }
.perf-pct.fraco { color: var(--ambar); }
.perf-n { color: var(--texto-3); font-size: 12px; white-space: nowrap; }
.perf-n b { color: var(--texto-2); font-weight: 600; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.perf-ver { justify-self: end; color: var(--azul-3); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.perf-dia[open] .perf-ver { color: var(--texto-3); }
.perf-dia ul { margin: 0; padding: 0 14px 10px; list-style: none; display: grid; }
.perf-dia li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--borda-suave); font-size: 14px; }
.perf-dia li .quem { flex: 1; min-width: 0; }
.perf-dia li small { display: block; color: var(--texto-3); font-size: 12px; }
@media (max-width: 620px) {
  .perf-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 0; }
  .perf-kpi:nth-child(3) { padding-left: 0; border-left: 0; }
  .perf-kpi.principal strong { font-size: 34px; }
  .perf-dia summary { grid-template-columns: auto auto 1fr; grid-template-areas: "data pct ver" "g r n"; gap: 4px 12px; }
  .perf-data { grid-area: data; }
  .perf-pct { grid-area: pct; }
  .perf-ver { grid-area: ver; }
  .perf-n.g { grid-area: g; }
  .perf-n.r { grid-area: r; }
  .perf-n:not(.g):not(.r) { grid-area: n; }
}

/* ---------- card do Radar no padrão dos Palpites (01/11/2026) ---------- */
.radar-card .quem-nome .radar-classe { margin-left: 0; flex: none; padding: 2px 7px; font-size: 10.5px; }
.radar-card .radar-detectada { flex: none; padding: 3px 9px; border-radius: 999px; border: 1px solid var(--azul-borda); background: var(--azul-fundo); color: var(--azul-3); font-size: 10.5px; letter-spacing: 0.1em; }
.radar-card .radar-detectada i { animation: radar-pulso 1.6s ease-in-out infinite; }
@keyframes radar-pulso { 50% { opacity: .35; } }
.radar-card.elite { border-color: rgba(102, 144, 255, 0.4); }
.radar-card .radar-riscos { margin: 8px 0 0; font-size: 12.5px; color: var(--ambar); }
.radar-card .radar-vivo { margin: 0; }
@media (prefers-reduced-motion: reduce) { .radar-card .radar-detectada i { animation: none; } }
/* Foto do jogador em cada pick do dia (Resultados do Layup e do Radar). */
.perf-dia .perf-foto { flex: none; width: 48px; height: 35px; }
.perf-dia .perf-foto .foto { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; border-radius: 0; background: none; }
/* Resultados dos Palpites: mesmo painel, com lucro e ROI (01/11/2026). */
.perf-topo-res { display: grid; gap: 14px; }
.perf-kpis-5 { grid-template-columns: 1.3fr repeat(4, minmax(0, 1fr)); }
.perf-kpi.lucro strong { color: var(--positivo); }
.perf-kpi.prejuizo strong { color: var(--vermelho); }
.perf-n.lucro b { color: var(--positivo); }
.perf-n.prejuizo b { color: var(--vermelho); }
#placar .perf-card { margin-top: 8px; }
@media (max-width: 620px) {
  .perf-kpis-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .perf-kpis-5 .perf-kpi.principal { grid-column: 1 / -1; padding-left: 0; }
  .perf-kpis-5 .perf-kpi:nth-child(2) { padding-left: 0; border-left: 0; }
  .perf-kpis-5 .perf-kpi:nth-child(5) { padding-left: 0; border-left: 0; }
}
/* Resultados dos Palpites: o dia sem o % (pedido dela, 01/11/2026). */
.perf-dia-lucro summary { grid-template-columns: 112px repeat(3, minmax(0, 1fr)) auto; }
@media (max-width: 620px) {
  .perf-dia-lucro summary { grid-template-columns: auto 1fr; grid-template-areas: "data ver" "g r" "n n"; }
}

/* ---------- Banca no visual de performance (01/11/2026) ---------- */
.pagina-banca .painel { border-radius: 18px; }
.pagina-banca .painel h2 { margin: 0 0 12px; color: var(--azul-3); font: 600 11.5px var(--ui); letter-spacing: 0.08em; text-transform: uppercase; }
.pagina-banca .banca-ia-topo h2 { margin-bottom: 8px; }
.banca-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 4px 0 12px; }
.banca-kpis .perf-kpi strong { font-size: 24px; }
.banca-kpis .perf-kpi.positivo strong { color: var(--positivo); }
.banca-kpis .perf-kpi.negativo strong { color: var(--vermelho); }
.banca-kpis .perf-kpi span { white-space: normal; letter-spacing: 0.05em; }
.pagina-banca .hoje-resultado { font: 650 34px/1.05 var(--num); letter-spacing: -0.035em; }
.pagina-banca .hoje-resultado.positivo { color: var(--positivo); }
.pagina-banca .hoje-resultado.negativo { color: var(--vermelho); }
.pagina-banca .limite-barra { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, 0.06); }
.pagina-banca .banca-grafico { height: 110px; padding-top: 10px; border-top: 1px solid var(--borda-suave); }
.pagina-banca .banca-config input { background: rgba(255, 255, 255, 0.03); border-color: var(--borda); }
.banca-dia summary { grid-template-columns: 112px minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr) auto; }
.banca-fim { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex: none; }
.banca-fim small { font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.banca-fim small.positivo { color: var(--positivo); }
.banca-fim small.negativo { color: var(--vermelho); }
.pagina-banca .resultado-lista { border-radius: 12px; }
@media (max-width: 620px) {
  .banca-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 0; }
  .banca-kpis .perf-kpi:nth-child(3) { padding-left: 0; border-left: 0; }
  .banca-dia summary { grid-template-columns: auto 1fr; grid-template-areas: "data ver" "n1 n2" "n3 n3"; }
  .banca-dia summary > :nth-child(1) { grid-area: data; }
  .banca-dia summary > :nth-child(2) { grid-area: n1; }
  .banca-dia summary > :nth-child(3) { grid-area: n2; }
  .banca-dia summary > :nth-child(4) { grid-area: n3; }
  .banca-dia summary > :nth-child(5) { grid-area: ver; }
}

/* ---------- Estatísticas no visual de performance (01/11/2026) ---------- */
.pagina-estatisticas .est-cabeca h2 { color: var(--azul-3); font: 600 12px var(--ui); letter-spacing: 0.08em; text-transform: uppercase; }
.pagina-estatisticas .est-cabeca h2 a { color: var(--azul-3); }
.pagina-estatisticas .est-cabeca small { font-size: 12.5px; }
.pagina-estatisticas .est-jogo, .pagina-estatisticas .est-placar, .pagina-estatisticas .est-tabela-rolagem {
  border-radius: 16px; border: 1px solid var(--borda);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.01)), var(--card); box-shadow: var(--sombra);
}
.pagina-estatisticas .est-jogo { padding: 14px 16px; transition: border-color .2s, transform .2s; }
.pagina-estatisticas .est-jogos > a:hover .est-jogo { transform: translateY(-2px); border-color: rgba(102, 144, 255, 0.32); }
.pagina-estatisticas .est-jogo.in { border-color: var(--azul-borda); }
.pagina-estatisticas .est-jogo-status { font: 600 11px var(--ui); letter-spacing: 0.06em; text-transform: uppercase; }
.pagina-estatisticas .est-linha-time strong { font: 650 20px var(--num); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.pagina-estatisticas .est-linha-time b { font-weight: 650; }
.pagina-estatisticas .est-tabela { font: 500 13.5px var(--num); font-variant-numeric: tabular-nums; }
.pagina-estatisticas .est-tabela th { background: rgba(255, 255, 255, 0.025); color: var(--texto-3); font: 600 10.5px var(--ui); letter-spacing: 0.07em; text-transform: uppercase; border-bottom: 1px solid var(--borda); }
.pagina-estatisticas .est-tabela tbody tr:hover td { background: rgba(102, 144, 255, 0.05); }
.pagina-estatisticas .est-tabela td.forte { color: var(--positivo); }
.pagina-estatisticas .est-placar { padding: 18px; }
.pagina-estatisticas .est-placar-num { font: 650 44px/1 var(--num); letter-spacing: -0.035em; }
.pagina-estatisticas .est-busca { border-radius: 14px; background: rgba(255, 255, 255, 0.03); }

/* ---------- Múltiplas e Perfil no layout novo (01/11/2026) ---------- */
/* Títulos de etapa e de painel: pequenos, azuis, em caixa alta (como os Resultados). */
.pagina-multiplas .etapa h2, .pagina-perfil .painel h2 {
  margin: 0 0 14px; color: var(--azul-3); font: 600 11.5px var(--ui); letter-spacing: 0.08em; text-transform: uppercase;
}
.pagina-multiplas .etapa h2 .num { background: transparent; border: 1px solid var(--azul-borda); color: var(--azul-3); font: 600 10.5px var(--ui); }
.pagina-multiplas .etapa + .etapa { border-top-color: var(--borda-suave); }
.pagina-multiplas .montador, .pagina-multiplas .bilhete, .pagina-perfil .painel {
  border-radius: 20px; border: 1px solid var(--borda);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 38%), var(--card); box-shadow: var(--sombra);
}
.pagina-multiplas .hero h1 { font-size: clamp(34px, 5vw, 54px); letter-spacing: -0.04em; }
.pagina-multiplas .jogos-numero { font-variant-numeric: tabular-nums; letter-spacing: -0.03em; }
.pagina-multiplas .opcao, .pagina-perfil .opcao { border-radius: 12px; }
.pagina-multiplas .opcao[aria-pressed="true"], .pagina-multiplas .opcao.ativo { box-shadow: 0 8px 24px -12px rgba(37, 99, 255, 0.9); }
.pagina-multiplas .ligas, .pagina-multiplas .filtro-ligas { border-radius: 14px; }
/* Perfil */
.pagina-perfil .perfil-avatar { box-shadow: 0 0 0 1px var(--borda), 0 18px 50px -24px rgba(37, 99, 255, 0.6); }
.pagina-perfil .perfil-quem b { font-size: 18px; letter-spacing: -0.02em; }
.pagina-perfil .campo input { border-radius: 12px; background: rgba(255, 255, 255, 0.03); border-color: var(--borda); }
.pagina-perfil .campo span { color: var(--texto-2); font-size: 13px; }
.pagina-perfil .perfil-conquistas p { color: var(--texto-2); }

/* Card do futebol no formato da NBA: os dois escudos no lugar da foto. */
.fut-escudos-cabeca { flex: none; width: 68px; height: 50px; display: flex; align-items: center; justify-content: center; gap: 4px; border-radius: 12px; background: var(--card-2); border: 1px solid var(--borda); }
.fut-escudos-cabeca .fut-logo { width: 26px; height: 26px; }
.fut-card .quem-nome b { white-space: normal; line-height: 1.2; }
.fut-card .layup-marcar.ativo { background: var(--positivo-fundo, rgba(163, 230, 53, .12)); border-color: var(--positivo-borda); color: var(--positivo, #a3e635); }
@media (max-width: 720px) { .fut-escudos-cabeca { width: 62px; height: 46px; } .fut-escudos-cabeca .fut-logo { width: 22px; height: 22px; } }

/* ---------- LP e Planos no layout novo (01/11/2026) ----------
   Mesmo acabamento do app: superfícies com brilho sutil e borda translúcida,
   sobretítulos azuis discretos, números firmes. */
.lp .lp-sobretitulo, .pagina-planos .lp-sobretitulo { color: var(--azul-3); font: 600 11.5px var(--ui); letter-spacing: 0.1em; }
.lp .lp-secao h2, .lp .lp-final h2 { letter-spacing: -0.04em; }
.lp .lp-recursos article, .lp .lp-palpite, .lp .lp-bilhete, .lp .lp-intro-card, .lp .lp-faq details, .lp .lp-passos li, .lp .lp-notas {
  border: 1px solid var(--borda); border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 40%), var(--card); box-shadow: var(--sombra);
}
.lp .lp-recursos article { transition: transform .2s, border-color .2s; }
.lp .lp-recursos article:hover { transform: translateY(-2px); border-color: rgba(102, 144, 255, 0.32); }
.lp .lp-recursos h4 { font: 650 17px var(--titulo); letter-spacing: -0.02em; }
.lp .lp-motor > h3 { color: var(--azul-3); font: 600 11.5px var(--ui); letter-spacing: 0.1em; }
.lp .lp-palpite-numeros strong, .lp .lp-bilhete-odd strong { font-weight: 650; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.lp .lp-faq summary { font-weight: 600; letter-spacing: -0.01em; }
/* Planos */
.pagina-planos .plano {
  border-radius: 20px; border: 1px solid var(--borda); padding: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 40%), var(--card); box-shadow: var(--sombra);
  transition: transform .2s, border-color .2s;
}
.pagina-planos .plano:hover { transform: translateY(-2px); border-color: rgba(102, 144, 255, 0.32); }
.pagina-planos .plano.plano-destaque { border-color: var(--azul-borda); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 30px 80px -36px rgba(37, 99, 255, 0.75); }
.pagina-planos .plano-titulo { color: var(--azul-3); font: 600 12px var(--ui); letter-spacing: 0.08em; text-transform: uppercase; }
.pagina-planos .plano-preco strong { font: 650 36px/1 var(--num); letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.pagina-planos .plano-selo { font: 600 11px var(--ui); letter-spacing: 0.06em; text-transform: uppercase; box-shadow: 0 8px 24px -10px rgba(37, 99, 255, 0.9); }
.pagina-planos .plano .primario { border-radius: 14px; }
.pagina-planos .planos-faq details { border-radius: 16px; border: 1px solid var(--borda); background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0) 40%), var(--card); }
@media (prefers-reduced-motion: reduce) { .lp .lp-recursos article:hover, .pagina-planos .plano:hover { transform: none; } }
/* Resultados no celular (01/11/2026): fontes menores e nada quebrando linha.
   Assertividade em cima; greens|reds e lucro|ROI em duas colunas; o dia numa
   linha só ("6 greens · 7 reds · −2,05 u"). */
@media (max-width: 620px) {
  .pagina-resultados .palpites-topo h1 { font-size: 30px; }
  .pagina-resultados .hero-texto { font-size: 14px; line-height: 1.5; }
  .perf-kpis-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 0; }
  .perf-kpis-5 .perf-kpi { padding: 0 14px; }
  .perf-kpis-5 .perf-kpi:nth-child(3), .perf-kpis-5 .perf-kpi:nth-child(5) { padding-left: 14px; border-left: 1px solid var(--borda-suave); }
  .perf-kpis-5 .perf-kpi:nth-child(2), .perf-kpis-5 .perf-kpi:nth-child(4) { padding-left: 0; border-left: 0; }
  .perf-kpis-5 .perf-kpi strong { font-size: 22px; white-space: nowrap; }
  .perf-kpis-5 .perf-kpi.principal strong { font-size: 30px; }
  .perf-kpis-5 .perf-kpi span { font-size: 10px; }
  .perf-dia-lucro summary { grid-template-columns: auto auto 1fr; grid-template-areas: "data data ver" "g r n"; gap: 4px 10px; }
  .perf-dia-lucro .perf-n:not(.g):not(.r) { justify-self: start; }
  .perf-dia li { gap: 8px; font-size: 13px; }
  .perf-dia li .quem b { font-size: 14px; }
  .perf-dia li small { font-size: 11.5px; line-height: 1.35; }
  .perf-dia .perf-foto { width: 40px; height: 29px; }
}

/* Futebol: palpite do dia que já começou */
.selo-resultado.andamento { background: rgba(102, 144, 255, .14); color: #9db4ff; border: 1px solid rgba(102, 144, 255, .35); }
/* Nota como score do modelo (futebol e NBA): pequena, escura, borda fina; A em
   azul elétrico, A+ em verde-limão com um brilho quase imperceptível. */
.nota-ia { align-self: start; margin: 2px 0 0 10px; display: inline-flex; align-items: baseline; gap: 5px; padding: 4px 9px; border-radius: 9px; background: rgba(10, 14, 22, .65); border: 1px solid rgba(37, 99, 255, .55); white-space: nowrap; }
.nota-ia small { font: 600 9.5px var(--ui); letter-spacing: .12em; color: var(--texto-2); }
.nota-ia strong { font: 750 13px var(--num); letter-spacing: -.01em; color: var(--azul-2); }
.nota-ia.mais { border-color: rgba(163, 230, 53, .5); box-shadow: 0 0 10px rgba(163, 230, 53, .1); }
.nota-ia.mais strong { color: #b5ec4a; }
/* Cabeçalho do card com a nota no canto direito (e a estrela, nos Palpites). */
.palpite .palpite-cabeca { grid-template-columns: auto minmax(0, 1fr); grid-auto-flow: column; grid-auto-columns: auto; gap: 10px; }
.palpite .palpite-cabeca .nota-ia { margin: 0; align-self: center; }
.palpite .palpite-cabeca .seguir { margin-left: -4px; }
/* Com a nota no canto, o horário desce de linha em vez de ser cortado. */
.palpite .palpite-cabeca .confronto { flex-wrap: wrap; row-gap: 1px; }
.palpite .palpite-cabeca .confronto .quando { white-space: nowrap; }
/* Nota só com a letra (pedido dela, 01/11/2026): B, A e A+ com o mesmo tamanho
   e formato, mudando só a cor da borda e da letra; brilho discreto só no A+. */
.nota-ia { justify-content: center; min-width: 34px; height: 26px; padding: 0 8px; align-items: center; border-radius: 9px; background: rgba(10, 14, 22, .65); border: 1px solid rgba(59, 130, 246, .6); box-shadow: none; }
.nota-ia small { display: none; }
.nota-ia strong { font: 750 13.5px/1 var(--num); color: #3b82f6; }
.nota-ia.mais { border-color: rgba(163, 255, 18, .55); box-shadow: 0 0 10px rgba(163, 255, 18, .12); }
.nota-ia.mais strong { color: #a3ff12; }
.nota-ia.b { border-color: rgba(148, 163, 184, .45); }
.nota-ia.b strong { color: #94a3b8; }
.nota-mini.b { color: #94a3b8; border-color: rgba(148, 163, 184, .45); background: none; }

/* Ajustes do card (01/11/2026): selo da nota ~12% maior; alertas de
   linha e desfalque viram uma linha curta que abre ao tocar. */
.nota-ia { min-width: 38px; height: 29px; padding: 0 9px; }
.nota-ia strong { font-size: 15px; }
.palpite .alerta-palpite.mudanca.melhor summary { color: var(--positivo); border-color: var(--positivo-borda); background: var(--positivo-fundo); }
.palpite .alerta-palpite.mudanca p small { margin-left: 4px; color: var(--texto-3); }
/* Uma cor para cada coisa (pedido dela, 01/11/2026): chance em branco
   (probabilidade), vantagem contra a linha em verde (edge) e a nota na cor da
   classificação. "Evidência" pequena e neutra; selo da nota ~8% maior. */
.kpi.chance strong, .layup-numeros .chance strong { color: var(--texto); }
.evidencia, .evidencia.forte, .palpite-numeros .evidencia { font-size: 10.5px; color: var(--texto-3); }
.nota-ia { min-width: 41px; height: 31px; padding: 0 10px; }
.nota-ia strong { font-size: 16px; }

/* ===== Futebol: card (sessão do motor de futebol, 01/11/2026) ===== */
.fut-card .palpite-alertas:empty { display: none; }
.fut-card .fut-selo { align-self: flex-start; padding: 2px 8px; border-radius: 6px; font: 700 11px var(--num); letter-spacing: 0.04em; }
.fut-card .fut-selo.green { color: var(--positivo); background: var(--positivo-fundo); border-color: var(--positivo-borda); }
.fut-card .fut-selo.red { color: var(--vermelho); background: rgba(255, 122, 122, 0.06); border-color: rgba(255, 122, 122, 0.3); }
.fut-ctx { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; color: var(--texto-2); font-size: 12.5px; }
.fut-ctx-tabela b { color: var(--texto); font: 700 12.5px var(--num); }
.fut-ctx-forma { display: inline-flex; align-items: baseline; gap: 4px; }
.fut-ctx-forma > span { margin-right: 2px; }
.fut-ctx-forma b { font: 700 12px var(--num); }
.fut-ctx-forma .r-V { color: var(--positivo); }
.fut-ctx-forma .r-E { color: var(--texto-2); }
.fut-ctx-forma .r-D { color: var(--vermelho); }
.fut-mercado { margin: 4px 0 -4px; color: var(--texto-3); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.fut-mercado b { color: var(--texto); font-weight: 700; }
.fut-amostra { color: var(--texto-3); }
.fut-pontos { display: grid; grid-template-columns: repeat(10, 1fr); gap: 5px; margin-top: 8px; }
.fut-pontos i { height: 22px; border-radius: 5px; }
.fut-pontos i.bateu { background: linear-gradient(180deg, rgba(184, 255, 61, 0.95), rgba(184, 255, 61, 0.6)); }
.fut-pontos i.nao { background: rgba(255, 122, 122, 0.4); }
.lp-notas .nota-ia { grid-row: span 2; align-self: center; margin: 0; }
.lp-notas-palpites { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 720px) {
  .lp-notas-palpites { grid-template-columns: minmax(0, 1fr); }
  .lp-notas-palpites li + li { border-left: 0; border-top: 1px solid var(--borda-suave); }
}
/* Card "Deram green" da página inicial com os greens da última rodada: foto do
   jogador, aposta, selo da nota e odd. */
.lp-pernas li:has(.lp-foto) { grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 12px; }
.lp-pernas .lp-foto { width: 48px; height: 35px; flex: none; }
.lp-pernas .lp-foto .foto { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; border-radius: 0; background: none; }
.lp-pernas li:has(.lp-foto) .nota-ia { margin: 0; }
@media (max-width: 560px) {
  .lp-pernas li:has(.lp-foto) { gap: 9px; }
  .lp-pernas .lp-foto { width: 40px; height: 29px; }
  .lp-pernas li:has(.lp-foto) b { font-size: 13.5px; }
}
/* Página inicial reorganizada (01/11/2026): palpites de hoje sem a aposta,
   resultados abertos com o placar real, 6 recursos e FAQ curto. */
.lp-hoje .lp-pernas li { grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 12px; }
.lp-oculto { font-style: normal; filter: blur(4px); user-select: none; color: var(--texto-2); }
.lp-chance { color: var(--texto); }
.lp-res { font-weight: 600; }
.lp-res.green { color: var(--positivo); }
.lp-res.red { color: var(--vermelho); }
.lp-frase { margin: 18px 0 0; font: 600 17px/1.45 var(--titulo); letter-spacing: -0.01em; }
.lp-recursos-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 920px) { .lp-recursos-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .lp-recursos-6 { grid-template-columns: minmax(0, 1fr); } }
.lp-recursos-mais { margin: 16px 0 0; text-align: center; color: var(--texto-2); font-size: 14px; letter-spacing: 0.01em; }
.lp-resultados { align-items: center; }
.lp-placar { margin: 22px 0 6px; padding: 16px 18px; border-radius: 16px; border: 1px solid var(--borda); background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0)), var(--card); }
.lp-placar .rotulo-topo { margin: 0 0 10px; }
.lp-placar ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lp-placar li { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 12px; }
.lp-placar li strong { font: 650 22px/1 var(--num); letter-spacing: -0.02em; }
.lp-placar li small { color: var(--texto-3); font-size: 12.5px; }
.lp-placar-total { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--borda-suave); color: var(--texto-2); font-size: 13px; }
.lp-faq-mais > summary { color: var(--azul-3); }
.lp-faq-mais > details { margin-top: 8px; }
.lp-app-passos { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.lp-app-passos li { display: grid; gap: 2px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--borda-suave); background: rgba(255, 255, 255, 0.02); font-size: 14px; color: var(--texto-2); }
.lp-app-passos li > b { color: var(--texto); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; }
/* Planos pelo brief (01/11/2026): ROOKIE à parte, uma lista só do que os
   pagos incluem e cards só com preço, período e economia. */
.planos-provas { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 14px 0 0; padding: 0; color: var(--texto-2); font-size: 13.5px; }
.planos-provas li::before { content: "✓"; margin-right: 6px; color: var(--positivo); font-weight: 700; }
.planos-rookie { max-width: 980px; margin: 0 auto 30px; }
.planos-rookie .plano.rookie { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; gap: 10px 22px; }
.planos-rookie .plano-titulo, .planos-rookie .plano-preco { margin: 0; }
.plano-rookie-texto { margin: 0; color: var(--texto-2); font-size: 14px; }
.planos-completo { max-width: 980px; margin: 0 auto; }
.planos-completo h2 { margin: 6px 0 14px; }
.planos-inclui { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; padding: 0; }
.planos-inclui li { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--borda); background: rgba(255, 255, 255, 0.03); font-size: 13px; color: var(--texto); }
.planos-inclui li::before { content: "✓"; margin-right: 6px; color: var(--positivo); font-weight: 700; }
.planos-completo .planos-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: 12px; }
.plano-mes { margin: -4px 0 0; color: var(--texto-2); font: 600 14px var(--num); }
.plano-desconto.neutro { color: var(--texto-3); font-weight: 500; }
.planos-completo .plano > button { width: 100%; margin-top: 6px; }
@media (max-width: 860px) {
  .planos-completo .planos-grade { grid-template-columns: minmax(0, 1fr); }
  .planos-rookie .plano.rookie { grid-template-columns: auto minmax(0, 1fr); }
  .planos-rookie .plano-rookie-texto, .planos-rookie .plano.rookie > a, .planos-rookie .plano-atual { grid-column: 1 / -1; }
}
.hero-nota { margin: 6px 0 0; color: var(--texto-3); font-size: 12.5px; }
/* Exemplo de palpite da página inicial com a foto do jogador. */
.lp-palpite-foto { width: 60px; height: 44px; flex: none; }
.lp-palpite-foto .foto { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; border-radius: 0; background: none; }
/* O menu do app tem a mesma largura em todas as páginas (antes, Palpites e
   Layup usavam 1340 px e as outras 1200 px, e o menu "pulava" ao trocar). */
.nav.nav-ia { max-width: 1340px; }
/* O conteúdo acompanha a largura do menu em todas as páginas do app. */
body:has(.nav.nav-ia) .palco { max-width: 1340px; }
/* Desempenho (01/11/2026): o site ficava com atraso e "rastro" ao rolar no
   celular. O fundo fixo vira uma camada própria e para de animar no celular;
   o desfoque (blur) por trás da barra de baixo e de painéis sai (o fundo já é
   quase opaco); as sombras grandes dos cards ficam leves no celular; cards
   (antes os cards fora da tela esperavam para ser desenhados; saiu: piscava). */
.fundo { transform: translateZ(0); contain: strict; }
.ao-vivo, .resumo-hoje { backdrop-filter: none; -webkit-backdrop-filter: none; }
@media (hover: none) {
  .palpite:hover, .radar-jogada:hover { transform: none; }
}
@media (max-width: 760px) {
  .fundo { -webkit-mask-image: none; mask-image: none; }
  .rota, .pulso-no, .pulso::after { animation: none; }
  .nav-secoes { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgb(13, 18, 28); }
  .palpite, .radar-jogada, .plano, .bloco, .metrica, .fut-jogo, .painel, .layup-res-dia, .resultado-lista, .perf-card, .lp-bilhete, .lp-palpite {
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
  }
  .palpite, .radar-jogada { transition: none; }
}
/* Troca de página sem piscar (01/11/2026): o seletor NBA/Futebol já vem no
   HTML; na versão livre (só Múltiplas) ele não aparece. Entre páginas, o topo
   fica parado e o resto troca num esmaecer rápido (navegadores que suportam). */
.versao-livre .universo { display: none; }
@view-transition { navigation: auto; }
.nav.nav-ia { view-transition-name: topo; }
::view-transition-old(root), ::view-transition-new(root) { animation: none; }
::view-transition-group(topo) { animation-duration: 0s; }
@media (prefers-reduced-motion: reduce) { ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; } }
/* Sem "rastro" (01/11/2026): a troca de página é instantânea (sem esmaecer,
   que deixava a página antiga por cima da nova) e os cards não sobem nem
   ganham sombra grande ao passar o mouse; só a borda acende. */
.palpite:hover, .radar-jogada:hover, .fut-card:hover, .pagina-planos .plano:hover, .lp .lp-recursos article:hover { transform: none; box-shadow: var(--sombra); }
.palpite, .radar-jogada { transition: border-color .15s; }
.lp-greens-secao { display: flex; justify-content: center; }
.lp-greens-secao .lp-bilhete { width: 100%; max-width: 560px; }
/* Recursos da página inicial em 3 × 2 (pedido dela, 01/11/2026): o que dá
   para apostar em cima, as ferramentas embaixo; cards ~20% mais baixos e o
   Palpites da IA marcado como principal. */
#recursos .lp-recursos-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 920px) { #recursos .lp-recursos-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { #recursos .lp-recursos-6 { grid-template-columns: minmax(0, 1fr); } }
#recursos .lp-recursos-6 article { position: relative; padding: 18px 20px; }
#recursos .lp-recursos-6 h4 { margin: 10px 0 4px; }
#recursos .lp-recurso-principal { border-color: rgba(59, 130, 246, 0.55); }
.lp-recurso-selo { position: absolute; top: 16px; right: 16px; padding: 2px 8px; border-radius: 999px; border: 1px solid rgba(59, 130, 246, 0.5); color: var(--azul-3); font: 600 10px var(--ui); letter-spacing: 0.1em; text-transform: uppercase; }
/* Card do topo da página inicial com as abas Hoje e Última rodada (um card só
   no lugar de dois). */
.lp-abas { display: flex; gap: 4px; margin: 16px 18px 0; padding: 4px; border-radius: 12px; border: 1px solid var(--borda-suave); background: rgba(255, 255, 255, 0.02); width: max-content; }
.lp-abas[hidden] { display: none; }
.lp-abas button { padding: 6px 14px; border: 0; border-radius: 9px; background: none; color: var(--texto-2); font: 600 13px var(--ui); cursor: pointer; }
.lp-abas button[aria-selected="true"] { background: var(--azul); color: #fff; }
.lp-bilhete-rodape { margin: 0; padding: 0 22px 16px; color: var(--texto-3); font-size: 12px; text-align: right; }

/* Admin · Clutch: comparação Sonnet × Haiku */
.comparar-form { display: grid; gap: 10px; }
.comparar-form .primario { justify-self: start; }
.comparar-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.comparar-grade > p { grid-column: 1 / -1; }
.comparar-col { border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 12px; min-width: 0; }
.comparar-col h3 { margin: 0 0 4px; font-size: 15px; }
.comparar-uso { margin: 0 0 8px; font-size: 12px; color: #94a3b8; }
.comparar-texto { white-space: pre-wrap; font-size: 14px; line-height: 1.5; }
@media (max-width: 720px) { .comparar-grade { grid-template-columns: minmax(0, 1fr); } }

/* Clutch: saldo de perguntas */
.chat-saldo { margin: 0; padding: 6px 16px 0; font-size: 12px; color: #94a3b8; text-align: center; }
.chat-saldo.acabando { color: #fbbf24; }

/* Admin · ficha: linha do tempo da pessoa */
.atividade-abas { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.atividade-abas small { opacity: .6; }
.atividade-lista { list-style: none; margin: 0; padding: 0; }
.atividade-dia { margin: 12px 0 4px; font-size: 12px; color: #94a3b8; }
.atividade-item { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.05); }
.atividade-icone { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-size: 14px; background: rgba(255,255,255,.05); color: #94a3b8; }
.atividade-item.apostas .atividade-icone, .atividade-item.pagamentos .atividade-icone { background: rgba(34,197,94,.12); color: #4ade80; }
.atividade-item.clutch .atividade-icone { background: rgba(59,130,246,.14); color: #60a5fa; }
.atividade-texto { min-width: 0; display: grid; gap: 2px; }
.atividade-texto b { font-weight: 600; font-size: 14px; }
.atividade-texto small { color: #94a3b8; font-size: 12.5px; overflow-wrap: anywhere; }
.atividade-item time { font-size: 12px; color: #94a3b8; white-space: nowrap; }
.atividade-vazio { color: #94a3b8; font-size: 12.5px; margin: 8px 0 0; }

/* Futebol: o afiliado com o futebol liberado só acompanha (sem os botões do admin) */
.so-acompanha .link-admin, .so-acompanha #analise { display: none !important; }

/* Painel do afiliado */
.afiliado-busca { width: 100%; margin: 0 0 10px; padding: 9px 12px; border-radius: 10px; border: 1px solid var(--borda); background: var(--card-2); color: inherit; font: inherit; }
.afiliado-linha { cursor: pointer; }
.afiliado-linha:hover td, .afiliado-linha.aberta td { background: rgba(37,99,255,.08); }
.tag.pago { background: rgba(34,197,94,.14); color: #4ade80; }
.perfil-afiliado { display: inline-block; margin-top: 10px; }

/* Cadastro: passo do Telegram */
.telegram-passo { display: grid; gap: 12px; margin-top: 18px; }
.telegram-passo .primario, .telegram-passo .link { text-align: center; justify-content: center; text-decoration: none; }
.telegram-passo .link { padding: 8px; }

/* Calendário comum (calendario.js): dia livre para escolher e dia com dados. */
.cal-dia.livre, .cal-dia.tem { cursor: pointer; color: var(--texto); }
.cal-dia.livre:hover, .cal-dia.tem:hover { border-color: var(--borda); }
.cal-dia.tem { background: var(--card-2); border-color: var(--borda-suave); }
.cal-dia:disabled { cursor: default; opacity: .45; }
.perf-secao-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 22px 0 10px; }
.perf-secao-topo .perf-secao { margin: 0; }
.est-dias + .calendario, .admin-acoes .calendario, .palpites-acoes .calendario, .filtros .calendario { flex-basis: 100%; }

/* Página inicial: futebol junto com a NBA no card de palpites (escudos no lugar da foto). */
.lp-pernas li.lp-esporte { display: block; padding: 12px 8px 0; border-top: 0; color: var(--azul-3); font: 600 11px var(--ui); letter-spacing: .08em; text-transform: uppercase; }
.lp-pernas li.lp-esporte + li { border-top: 0; }
.lp-foto-fut { display: inline-flex; align-items: center; justify-content: center; gap: 2px; }
.lp-foto-fut .lp-escudo-fut { width: 24px; height: 24px; object-fit: contain; }
.lp-foto-fut .lp-escudo-fut + .lp-escudo-fut { width: 20px; height: 20px; }
.lp-sigla { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--card-2); color: var(--texto-2); font: 600 9px var(--ui); }
