:root{--navy:#061d49;--blue:#073b91;--cyan:#00b9e8;--ink:#122033;--muted:#667085;--line:#dbe7f1;--surface-alt:#f4f9fd;--danger:#c21d2c;--success:#087f5b;--shadow:0 18px 60px rgba(6,29,73,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1120px,calc(100% - 32px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(219,231,241,.9)}.header-grid{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:24px}.brand img{height:52px;width:auto}.nav{display:flex;flex-wrap:wrap;gap:18px;font-weight:800;color:var(--navy)}.nav a{padding:8px 0;border-bottom:2px solid transparent}.nav a:hover{border-color:var(--cyan)}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 90% 20%,rgba(0,185,232,.25),transparent 28%),linear-gradient(135deg,#061d49 0%,#073b91 50%,#00b9e8 130%);color:#fff;padding:76px 0}.hero:after{content:"";position:absolute;inset:auto -120px -220px auto;width:520px;height:520px;border-radius:50%;border:80px solid rgba(255,255,255,.08)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.eyebrow{display:inline-flex;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--cyan)}.hero h1{margin:10px 0 0;font-size:clamp(3.2rem,8vw,6.5rem);line-height:.92;letter-spacing:-.06em}.hero-subtitle{font-size:clamp(1.35rem,2.6vw,2.2rem);font-weight:900;margin:18px 0 12px}.hero-text{max-width:650px;color:rgba(255,255,255,.86);font-size:1.1rem}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 16px}.button{appearance:none;border:0;border-radius:999px;padding:14px 22px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.2s ease}.button.primary{background:var(--cyan);color:#032137}.button.primary:hover{transform:translateY(-1px);background:#40d7f6}.button.ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3)}.button.outline{background:#fff;border:1px solid var(--line);color:var(--navy)}.button.small{padding:10px 16px;font-size:.9rem;background:var(--navy);color:#fff}.button.danger{background:var(--danger)}.button.full{width:100%;margin-top:8px}.microcopy{font-size:.9rem;color:var(--muted)}.hero .microcopy{color:rgba(255,255,255,.72)}.hero-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:32px;padding:24px;box-shadow:var(--shadow)}.scoreboard{background:#fff;color:var(--navy);border-radius:24px;padding:22px;display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;text-align:center;font-weight:900;letter-spacing:.05em}.scoreboard strong{font-size:4.8rem;line-height:1;color:var(--cyan)}.protection-card{margin-top:18px;background:rgba(255,255,255,.12);border-radius:24px;padding:20px}.protection-card h2{margin:0 0 10px}.protection-card p{color:rgba(255,255,255,.8)}.protection-tags{display:flex;flex-wrap:wrap;gap:10px}.protection-tags span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 12px;font-weight:800}.section{padding:72px 0}.section.alt{background:var(--surface-alt)}.section-heading{max-width:780px;margin-bottom:28px}.section-heading h2,.form-intro h2,.regulation-layout h2{font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:8px 0;letter-spacing:-.04em}.section-heading p,.form-intro p{color:var(--muted);font-size:1.05rem}.games-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.game-card{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:#fff;box-shadow:0 8px 24px rgba(6,29,73,.06)}.game-card h3{margin:4px 0 8px}.game-card .status{display:inline-flex;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.status.open{background:#e6f9fd;color:#046985}.status.closed{background:#f1f3f5;color:#6b7280}.status.future{background:#eef4ff;color:#1849a9}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:start}.notice{margin-top:18px;border-left:4px solid var(--cyan);background:#fff;border-radius:14px;padding:14px 16px;color:var(--navy)}.form-card{padding:26px}.form-section-title{margin:10px 0 14px;padding-top:10px;border-top:1px solid var(--line);font-weight:900;color:var(--navy)}.form-section-title:first-child{border-top:0;padding-top:0}label{display:block;font-weight:800;color:var(--navy);margin-bottom:14px}input,select{width:100%;display:block;margin-top:6px;border:1px solid #bfd3e3;border-radius:14px;padding:13px 14px;font:inherit;color:var(--ink);background:#fff;outline:none}input:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(0,185,232,.12)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.score-inputs{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px}.score-separator{font-size:2.3rem;font-weight:900;color:var(--cyan);padding-bottom:8px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:650;color:var(--ink)}.check input{width:auto;margin-top:5px}.form-status{margin:14px 0 0;padding:12px 14px;border-radius:14px;display:none}.form-status.success{display:block;background:#e6fcf5;color:var(--success)}.form-status.error{display:block;background:#fff1f3;color:var(--danger)}.participant-summary{margin:10px 0 14px;background:#e8f7fc;border:1px solid #bfeaf4;border-radius:14px;padding:12px;color:var(--navy)}.hidden{display:none!important}.prize-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.prize-card{padding:24px}.prize-card h3{margin-top:0;color:var(--navy)}.prize-list{padding-left:20px}.table-card{padding:20px}.table-actions{display:flex;justify-content:flex-end;margin-bottom:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#e8f7fc;color:var(--navy);font-size:.9rem}.my-guesses-wrap{margin-top:18px}.regulation-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 16px}.pdf-reader{padding:12px;overflow:hidden}.pdf-reader iframe{display:block;width:100%;height:760px;border:0;border-radius:14px;background:#f4f4f4}.admin-section{padding-top:0}.admin-card{padding:22px}.admin-card summary{cursor:pointer;font-weight:900;color:var(--navy);font-size:1.2rem}.admin-login{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:16px}.admin-login label{min-width:260px}.admin-panel{margin-top:18px}.results-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.result-card{border:1px solid var(--line);border-radius:16px;padding:14px}.result-card h4{margin:0 0 10px}.result-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.site-footer{background:var(--navy);color:#fff;padding:34px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-grid img{max-height:60px;filter:brightness(1.4)}@media(max-width:920px){.hero-grid,.form-layout{grid-template-columns:1fr}.games-grid{grid-template-columns:repeat(2,1fr)}.prize-grid{grid-template-columns:1fr}.results-panel{grid-template-columns:1fr}.reverse-mobile .form-intro{order:-1}}@media(max-width:620px){.header-grid{align-items:flex-start;flex-direction:column;padding:14px 0}.nav{font-size:.92rem}.hero{padding:54px 0}.games-grid,.field-grid{grid-template-columns:1fr}.score-inputs{grid-template-columns:1fr;gap:2px}.score-separator{text-align:center;padding:0}.footer-grid{flex-direction:column;align-items:flex-start}.pdf-reader iframe{height:560px}}

/* Ajustes v3 */
.scoreboard .brazil-flag{
  width:86px;
  max-width:100%;
  justify-self:center;
  filter:drop-shadow(0 6px 14px rgba(6,29,73,.14));
}
.scoreboard strong{
  font-size:4.2rem;
}
.partner-pill{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:16px;
  padding:10px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  color:var(--navy);
  font-weight:800;
  box-shadow:0 10px 30px rgba(6,29,73,.12);
  max-width:380px;
}
.partner-pill img{
  height:42px;
  width:auto;
  object-fit:contain;
}
.partner-pill span{
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
.hero-partner:hover{transform:translateY(-1px)}
.tie-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.tie-card{
  padding:24px;
}
.tie-card h3{
  color:var(--navy);
  margin-top:0;
}
.tie-card li{
  margin-bottom:8px;
}
.partners-section{
  text-align:center;
}
.partner-card{
  margin:16px auto 0;
  padding:22px;
  width:min(430px,100%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  font-weight:900;
  color:var(--navy);
}
.partner-card img{
  max-height:62px;
  width:auto;
  object-fit:contain;
}
.deadline-clock{
  margin-top:10px;
  font-size:.88rem;
  color:var(--muted);
}
.deadline-clock strong{
  color:var(--navy);
}
@media (max-width:920px){
  .tie-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .partner-pill{align-items:flex-start;flex-direction:column}
  .scoreboard .brazil-flag{width:72px}
  .partner-card{flex-direction:column}
}

/* Área administrativa v4 */
.admin-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0 22px;
  border-bottom:1px solid var(--line);
  padding-bottom:12px;
}
.admin-tab{
  appearance:none;
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:10px 14px;
  font-weight:900;
  color:var(--navy);
  cursor:pointer;
}
.admin-tab.active{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
}
.admin-panel-heading{
  margin:8px 0 18px;
}
.admin-panel-heading h3{
  margin:0 0 6px;
  color:var(--navy);
}
.admin-grid-list{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.admin-game-card{
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  background:#fff;
}
.admin-game-card h4{
  margin:0 0 12px;
  color:var(--navy);
}
.admin-form-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.admin-form-grid .wide{
  grid-column:span 2;
}
.admin-card-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:12px;
}
.admin-search-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:end;
  margin-bottom:16px;
}
.admin-search-row input{
  width:min(320px,100%);
}
.admin-editor{
  margin-top:12px;
}
.admin-editor .card{
  padding:18px;
}
.admin-status-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 10px;
  font-size:.76rem;
  font-weight:900;
}
.admin-status-badge.valid{background:#e6fcf5;color:#087f5b}
.admin-status-badge.invalid{background:#fff1f3;color:#c21d2c}
.admin-status-badge.closed{background:#f1f3f5;color:#667085}
.admin-status-badge.open{background:#e6f9fd;color:#046985}
.admin-status-badge.auto{background:#eef4ff;color:#1849a9}
.inline-input{
  min-width:180px;
}
@media (max-width:920px){
  .admin-form-grid{grid-template-columns:1fr 1fr}
  .admin-form-grid .wide{grid-column:span 2}
}
@media (max-width:620px){
  .admin-form-grid{grid-template-columns:1fr}
  .admin-form-grid .wide{grid-column:span 1}
}

/* Pontuação pública v5 */
.ranking-tools{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:end;
  justify-content:space-between;
  margin-bottom:16px;
}
.ranking-tools label{
  margin-bottom:0;
  flex:1 1 240px;
}
.ranking-tools .button{
  flex:0 0 auto;
}
.highlight-row{
  background:#e6f9fd;
  outline:2px solid rgba(0,185,232,.32);
}
.score-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  padding:4px 8px;
  border-radius:999px;
  background:var(--navy);
  color:#fff;
  font-weight:900;
}
@media (max-width:620px){
  .ranking-tools{display:block}
  .ranking-tools label{display:block;margin-bottom:12px}
}

/* Firebase Auth admin bar */
.admin-userbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-radius:16px;
  background:#e8f7fc;
  color:var(--navy);
  font-weight:800;
  margin:16px 0;
}
@media (max-width:620px){
  .admin-userbar{align-items:flex-start;flex-direction:column}
}

/* Página administrativa separada */
.admin-hero{padding:56px 0 34px;}
.admin-hero .hero-grid{grid-template-columns:1fr;}
.admin-section{scroll-margin-top:90px;}


/* Ajustes v5 — resultados validados e bloqueio de resultado */
.result-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.result-card-head h4{
  margin:0;
}
.result-card.result-locked{
  background:#f8fbff;
}
.result-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:flex-end;
}
.result-fields .result-actions{
  align-self:end;
}
.button.small.outline{
  background:#fff;
  color:var(--navy);
  border:1px solid var(--line);
}
.admin-status-badge.pending{
  background:#fff7d8;
  color:#805300;
}
#validatedResultsTable strong{
  color:var(--navy);
}
@media(max-width:620px){
  .result-fields{
    grid-template-columns:1fr;
  }
}


/* Ajustes v6 — ganhadores por rodada, janela automática e cálculo de pontuação */
.score-rules-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:18px 0 18px;
}
.score-rule-card{
  padding:20px;
}
.score-rule-card strong{
  display:block;
  color:var(--cyan);
  font-size:2rem;
  line-height:1;
  margin-bottom:10px;
}
.score-rule-card span{
  color:var(--text);
  font-weight:700;
}
.scoring-example{
  margin-top:18px;
}
.winner-card .table-wrap{
  margin-top:12px;
}
.winner-excluded{
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  background:#f6f8fb;
  border:1px solid var(--line);
}
.winner-excluded summary{
  cursor:pointer;
  color:var(--navy);
  font-weight:900;
}
.winner-excluded ul{
  margin:10px 0 0;
  padding-left:20px;
  color:var(--muted);
}
.button.small:disabled{
  opacity:.55;
  cursor:not-allowed;
}
@media(max-width:920px){
  .score-rules-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .score-rules-grid{
    grid-template-columns:1fr;
  }
}


/* Ajustes v7 — atalhos no cabeçalho e área pública de ganhadores */
.winner-public-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  align-items:start;
}
.public-winner-heading{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.public-winner-heading h3{
  margin:0;
  color:var(--navy);
}
@media(max-width:980px){
  .winner-public-grid{
    grid-template-columns:1fr;
  }
}


/* Ajustes v7.1 — cabeçalho mais compacto */
.header-grid{
  gap:18px;
}
.brand{
  flex:0 0 auto;
}
.brand img{
  width:auto;
  height:auto;
  max-height:54px;
  max-width:170px;
  object-fit:contain;
}
.nav{
  gap:16px;
  font-size:.84rem;
  line-height:1.15;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.nav a{
  white-space:nowrap;
}
@media(max-width:1100px){
  .nav{
    gap:12px;
    font-size:.78rem;
  }
  .brand img{
    max-width:155px;
  }
}
@media(max-width:760px){
  .nav{
    justify-content:flex-start;
    font-size:.86rem;
  }
}


/* Ajustes v8 — validação e desclassificação de ganhadores */
.general-ranking-validation-card{
  border:2px solid rgba(0,185,232,.28);
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
}
.winner-card table td:last-child,
.winner-card table th:last-child{
  white-space:nowrap;
}
.winner-excluded table{
  margin-top:10px;
}
.winner-excluded td,
.winner-excluded th{
  font-size:.88rem;
}
.admin-card-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}


/* Ajustes v9 — Ranking Geral prévio e busca por CPF */
.ranking-cpf-search{
  margin:18px 0 20px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#f7fbff;
}
.ranking-cpf-search h3{
  margin:0 0 6px;
  color:var(--navy);
}
.ranking-cpf-result{
  margin-top:12px;
  padding:14px 16px;
  border-radius:16px;
  background:#e8f7fc;
  color:var(--navy);
  display:grid;
  gap:4px;
}
.ranking-cpf-result strong{
  font-size:1.1rem;
}
.ranking-cpf-result span{
  color:var(--text);
}
