@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@600;700&display=swap');

:root{
  --bg: #f7fff7;
  --bg2:#effff4;
  --surface: rgba(255,255,255,0.78);
  --surface2: rgba(255,255,255,0.92);
  --text: #0b2411;
  --muted: #4c6a53;
  --border: rgba(11,36,17,0.12);
  --border2: rgba(11,36,17,0.20);
  --shadow-sm: 0 10px 24px rgba(0,0,0,0.08);
  --shadow: 0 18px 46px rgba(0,0,0,0.12);
  --shadow-lg: 0 26px 70px rgba(0,0,0,0.16);

  --green: #0bb34b;
  --green2: #0a8f3d;
  --green-soft: rgba(11,179,75,0.14);
  --yellow: #ffd200;
  --yellow2: #e6bb00;
  --yellow-soft: rgba(255,210,0,0.18);

  --danger: #d62f2f;
  --info: #0b63ce;
  --warn: #f59e0b;

  --radius-sm: 12px;
  --radius: 18px;
  --radius-lg: 26px;
  --container: 1200px;

  --font: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --display: 'Bebas Neue', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --c-bg: var(--bg);
  --c-surface: var(--surface);
  --c-text: var(--text);
  --c-text-muted: var(--muted);
  --c-border: var(--border);
  --c-border-light: var(--border);
  --c-green: var(--green);
  --c-green-dark: var(--green2);
  --c-yellow: var(--yellow);
  --c-yellow-dark: var(--yellow2);
  --c-blue: var(--info);
  --c-blue-dark: #0547a1;
  --c-red: var(--danger);
  --font-sans: var(--font);
  --font-display: var(--display);
  --font-mono: var(--mono);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:
    radial-gradient(1200px 800px at 10% -20%, var(--yellow-soft), transparent 60%),
    radial-gradient(1100px 800px at 100% 10%, var(--green-soft), transparent 55%),
    radial-gradient(900px 700px at 0% 100%, rgba(11,99,206,0.08), transparent 55%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,0.06), rgba(255,255,255,0.06) 1px, transparent 1px, transparent 3px),
    repeating-linear-gradient(90deg, rgba(0,0,0,0.03), rgba(0,0,0,0.03) 1px, transparent 1px, transparent 4px);
  opacity:.20;
  mix-blend-mode:overlay;
  z-index:0;
}
body > *{position:relative; z-index:1}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}

.container{width:min(100% - 2rem, var(--container));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:.6rem 1rem;border-radius:999px;z-index:999}
.skip-link:focus{left:1rem;top:1rem}

h1,h2,h3,h4{margin:0;line-height:1.1}
h1{font-family:var(--display);letter-spacing:.02em;font-size:clamp(2.4rem,5vw + 1rem,4.8rem)}
h2{font-family:var(--display);letter-spacing:.02em;font-size:clamp(1.8rem,3vw + 1rem,3rem)}
h3{font-weight:900;font-size:1.2rem}

.text-muted{color:var(--muted);font-weight:600}
.text-center{text-align:center}
.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,0.70);
  backdrop-filter: blur(16px);
  border-bottom:1px solid var(--border);
  box-shadow: 0 10px 28px rgba(0,0,0,0.08);
}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;min-width:0}
.brand{display:flex;align-items:center;gap:.65rem;min-width:0;max-width:56vw}
.brand__logo{
  width:40px;
  height:40px;
  object-fit:contain;
  border-radius:12px;
  box-shadow: 0 10px 22px rgba(0,0,0,0.12);
  background: rgba(255,255,255,0.9);
  border: 1px solid var(--border);
  padding: 6px;
}
.brand__txt{
  font-family:var(--display);
  letter-spacing:.04em;
  font-size:1.55rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:56vw;
}
.brand__mark{color:var(--green)}

.nav-toggle{
  display:none;
  border:1px solid var(--border);
  background:rgba(255,255,255,0.7);
  border-radius:999px;
  padding:.6rem .75rem;
  box-shadow:var(--shadow-sm);
}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--text);margin:4px 0;border-radius:999px}

.mainnav{display:flex;align-items:center;gap:.5rem;min-width:0}
.mainnav a{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.6rem .9rem;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:800;
  color:rgba(11,36,17,0.86);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.mainnav a:hover{background:rgba(255,255,255,0.78);border-color:var(--border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.nav-admin{background:rgba(255,210,0,0.22)}
.nav-user{background:rgba(11,179,75,0.14)}
.nav-logout{color:rgba(214,47,47,0.9)}
.nav-logout:hover{background:rgba(214,47,47,0.10);border-color:rgba(214,47,47,0.22)}

@media (max-width: 1024px){
  .nav-toggle{display:block}
  .mainnav{
    position:absolute;
    left:0; right:0; top:100%;
    padding:.75rem 1rem 1rem;
    display:grid;
    gap:.5rem;
    background:rgba(255,255,255,0.84);
    backdrop-filter: blur(16px);
    border-bottom:1px solid var(--border);
    max-height:0;
    overflow:hidden;
    transition:max-height .25s ease;
  }
  .mainnav.is-open{max-height:520px}
  .mainnav a{width:100%;justify-content:space-between}
}

@media (max-width: 520px){
  .brand{max-width:62vw}
  .brand__txt{max-width:62vw;font-size:1.25rem}
  .brand__logo{width:36px;height:36px}
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.9rem 1.2rem;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,0.75);
  color:var(--text);
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease;
  cursor:pointer;
  user-select:none;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--border2)}
.btn:active{transform:translateY(0px);box-shadow:var(--shadow-sm)}
.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}
.btn--block{width:100%}
.btn--mini{padding:.55rem .95rem;font-size:.82rem}
.btn--primary{background:linear-gradient(135deg,var(--green) 0%, var(--green2) 100%);border-color:transparent;color:#fff;box-shadow:0 18px 42px rgba(11,179,75,0.24)}
.btn--accent{background:linear-gradient(135deg,var(--yellow) 0%, var(--yellow2) 100%);border-color:transparent;color:#111;box-shadow:0 18px 42px rgba(255,210,0,0.22)}
.btn--blue{background:linear-gradient(135deg,#0b63ce 0%, #0547a1 100%);border-color:transparent;color:#fff}
.btn--danger{background:linear-gradient(135deg,#d62f2f 0%, #b91c1c 100%);border-color:transparent;color:#fff}
.btn--ghost{background:transparent}
.btn--whatsapp{
  justify-content:flex-start;
  gap:.55rem;
  background:linear-gradient(135deg,#25d366 0%, #128c7e 100%);
  border-color:transparent;
  color:#fff;
}
.btn--whatsapp:hover{box-shadow:0 18px 42px rgba(18,140,126,0.26)}

.section{padding:3.25rem 0}
.section--alt{background:rgba(255,255,255,0.50);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}

.cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  padding:1.25rem;
  backdrop-filter: blur(10px);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--border2);background:var(--surface2)}
.card h3{margin-top:.55rem}
.card p{margin:.55rem 0 0}

.pill{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.35rem .75rem;
  border-radius:999px;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.02em;
  background:rgba(11,179,75,0.10);
  border:1px solid rgba(11,179,75,0.18);
  color:rgba(11,36,17,0.88);
}

.alert{
  border-radius:var(--radius);
  padding:1rem 1rem;
  border:1px solid var(--border);
  background:var(--surface);
  box-shadow:var(--shadow-sm);
  font-weight:700;
}
.alert--sucesso{background:rgba(11,179,75,0.10);border-color:rgba(11,179,75,0.20)}
.alert--erro{background:rgba(214,47,47,0.10);border-color:rgba(214,47,47,0.18)}
.alert--aviso{background:rgba(245,158,11,0.12);border-color:rgba(245,158,11,0.22)}
.alert--info{background:rgba(11,99,206,0.10);border-color:rgba(11,99,206,0.18)}

.form{display:grid;gap:1rem}
.field{display:grid;gap:.45rem}
.field label{font-size:.9rem;font-weight:900;color:rgba(11,36,17,0.90)}
.field .hint{font-size:.82rem;color:var(--muted);font-weight:600}
.field input,.field select,.field textarea{
  width:100%;
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  padding:.9rem 1rem;
  background:rgba(255,255,255,0.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.7);
  transition:box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
  color:var(--text);
  font-weight:700;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;
  border-color:rgba(11,179,75,0.45);
  box-shadow:0 0 0 4px rgba(11,179,75,0.14);
  background:rgba(255,255,255,0.92);
}
.field input:disabled,.field select:disabled,.field textarea:disabled{
  opacity:.75;
  background:rgba(255,255,255,0.50);
  cursor:not-allowed;
}
.field--check{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding:.75rem .85rem;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:rgba(255,255,255,0.60);
}
.field--check input{
  width:18px;
  height:18px;
  margin-top:.2rem;
  accent-color: var(--green);
  flex:0 0 auto;
}
.field--check span{
  display:block;
  min-width:0;
  color:rgba(11,36,17,0.86);
  font-weight:750;
  line-height:1.35;
}
.field--check a{color:rgba(11,36,17,0.92);text-decoration:underline}
.field--check a:hover{color:#fff;background:rgba(11,179,75,0.90);text-decoration:none;padding:0 .25rem;border-radius:8px}

.hero{padding:5rem 0 3.5rem}
.hero__split{display:grid;gap:1.5rem;align-items:center}
.hero__copy{display:flex;flex-direction:column;gap:1rem;max-width:64ch}
.hero__media{border-radius:var(--radius-lg);border:1px solid var(--border);background:rgba(255,255,255,0.55);box-shadow:var(--shadow);overflow:hidden}
.hero__media-img{width:100%;height:100%;object-fit:cover;display:block}
.hero__highlight{color:var(--green)}
.hero__lead{max-width:64ch;font-size:1.05rem;margin:0}
.hero__cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.15rem}
.hero__cta .btn{width:auto}
.hero__cta .btn--ghost{border:1px solid var(--border);background:rgba(255,255,255,0.55)}
.hero__cta .btn--ghost:hover{background:rgba(255,255,255,0.80)}
.hero__title{max-width:22ch}
.hero__countdown-head{text-align:center;margin:1.25rem 0 1rem}
.hero__countdown-kicker{margin:0;font-weight:900;text-transform:uppercase;letter-spacing:.10em;color:var(--muted);font-size:.82rem}
.hero__countdown-date{margin:.35rem 0 0;font-family:var(--display);font-size:1.55rem;color:rgba(11,36,17,0.92);letter-spacing:.04em}
.hero__countdown-status{text-align:center;font-weight:900;font-size:1rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:1rem}
@media(min-width: 980px){.hero__split{grid-template-columns:1.15fr .85fr}}

.football-stadium-card{
  min-height:200px;
  background-image:url('../img/stadium_hero.png');
  background-size:cover;
  background-position:center;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  padding:1.25rem;
  display:flex;
  align-items:flex-end;
  position:relative;
}
.football-stadium-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,36,17,0.10) 0%, rgba(11,36,17,0.78) 100%);
}
.football-stadium-card h3{position:relative;color:#fff;font-family:var(--display);letter-spacing:.05em;font-size:2.2rem}

.home-highlight-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.prize-highlight-card{
  position:relative;
  overflow:hidden;
  border-radius:calc(var(--radius-lg) - 2px);
  border:1px solid rgba(255,210,0,0.28);
  background:
    radial-gradient(480px 220px at 0% 0%, rgba(255,210,0,0.28), rgba(255,255,255,0) 60%),
    radial-gradient(520px 260px at 100% 100%, rgba(11,179,75,0.18), rgba(255,255,255,0) 58%),
    linear-gradient(135deg, rgba(11,36,17,0.96) 0%, rgba(11,89,44,0.94) 100%);
  padding:1rem 1.05rem;
  box-shadow:var(--shadow-lg);
  color:#fff;
}
.prize-highlight-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  flex-wrap:wrap;
  margin-bottom:.75rem;
}
.prize-highlight-card__head strong{font-family:var(--display);letter-spacing:.04em;font-size:1rem;line-height:1}
.prize-highlight-card__grid{display:grid;gap:.75rem;grid-template-columns:1.05fr .95fr}
.prize-highlight-card__label{
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.78);
}
.prize-highlight-card__value{
  margin-top:.2rem;
  font-family:var(--display);
  font-size:clamp(1.55rem, 2vw + 1rem, 2.4rem);
  line-height:.95;
}
.prize-highlight-card p{margin:.45rem 0 0;color:rgba(255,255,255,0.84);max-width:48ch;font-size:.88rem;line-height:1.45}
.prize-highlight-card__mini{display:grid;gap:.55rem}
.prize-chip{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.65rem;
  align-items:center;
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.09);
  padding:.7rem .8rem;
  backdrop-filter:blur(10px);
}
.prize-chip i{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(255,210,0,0.20);
  color:var(--yellow2);
  font-size:.9rem;
}
.prize-chip strong{display:block;font-size:.86rem;line-height:1.25}
.prize-chip span{display:block;margin-top:.14rem;color:rgba(255,255,255,0.78);font-size:.76rem;line-height:1.35}
.home-entry-card{
  border-color:rgba(255,210,0,0.30);
  background:
    radial-gradient(220px 120px at 10% 0%, rgba(255,210,0,0.18), rgba(255,255,255,0) 65%),
    rgba(255,255,255,0.82);
}
.home-entry-card__value{
  font-family:var(--display);
  font-size:2.8rem;
  line-height:1;
  margin-top:.75rem;
  color:var(--green2);
}
@media (max-width: 820px){
  .prize-highlight-card__grid{grid-template-columns:1fr}
  .prize-highlight-card{padding:.95rem}
}
@media (max-width: 560px){
  .prize-highlight-card__head{align-items:flex-start}
  .prize-highlight-card__head strong{font-size:.92rem}
  .prize-highlight-card__value{font-size:1.34rem}
  .prize-highlight-card p{font-size:.82rem}
  .prize-chip{padding:.62rem .68rem;gap:.55rem;align-items:flex-start}
  .prize-chip i{width:32px;height:32px;font-size:.8rem}
  .prize-chip strong{font-size:.8rem}
  .prize-chip span{font-size:.71rem}
}

.worldcup-countdown{width:100%;max-width:860px;margin:1.5rem auto 0}
.countdown-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.75rem;
  padding:1rem;
  border-radius:var(--radius-lg);
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  backdrop-filter: blur(10px);
}
.countdown-item{
  border-radius:var(--radius);
  background:rgba(255,255,255,0.70);
  border:1px solid var(--border);
  padding:1rem .75rem;
  text-align:center;
}
.countdown-value{
  font-family:var(--display);
  font-size:clamp(2.2rem, 4vw + 1rem, 4rem);
  line-height:1;
}
.countdown-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:.35rem;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.25rem .65rem;
  border-radius:999px;
  background:rgba(255,210,0,0.18);
  border:1px solid rgba(255,210,0,0.28);
}
@media (max-width: 720px){
  .countdown-grid{grid-template-columns:repeat(2,1fr)}
}

.tabs-nav{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}
.tab-btn{
  border-radius:999px;
  border:1px solid var(--border);
  padding:.65rem 1rem;
  background:rgba(255,255,255,0.70);
  font-weight:900;
  box-shadow:var(--shadow-sm);
}
.tab-btn.is-active{background:linear-gradient(135deg,var(--yellow) 0%, var(--yellow2) 100%);border-color:transparent}
.tab-pane{display:none}
.tab-pane.is-active{display:block}
.subtabs-nav{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}
.subtab-btn{
  border-radius:999px;
  border:1px solid var(--border);
  padding:.6rem .9rem;
  background:rgba(255,255,255,0.72);
  font-weight:900;
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.subtab-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.subtab-btn.is-active{background:linear-gradient(135deg,var(--green) 0%, var(--green2) 100%);border-color:transparent;color:#fff}
.subtab-pane{display:none}
.subtab-pane.is-active{display:block}

.round-block{margin-top:1.25rem}
.round-block__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 .75rem}
.round-block__title{font-family:var(--display);letter-spacing:.06em;font-size:1.8rem;color:rgba(11,36,17,0.92)}
.date-block{margin:0 0 1rem}
.date-block__head{margin:.75rem 0 .5rem}
.date-block__title{margin:0;font-weight:950;font-size:.95rem;color:rgba(11,36,17,0.72);text-transform:capitalize;letter-spacing:.02em}

.match-list{display:grid;gap:.6rem}
.match-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  padding:.85rem .9rem;
  backdrop-filter: blur(10px);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.match-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--border2);background:var(--surface2)}
.match-card__top{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  font-size:.74rem;
  font-weight:950;
  color:rgba(11,36,17,0.65);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.match-card__meta{display:inline-flex;align-items:center;gap:.35rem}
.match-card__main{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:.75rem;
  padding:.45rem 0 .15rem;
}
.match-team{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:.35rem;
  min-width:0;
}
.match-flag{
  width:34px;
  height:22px;
  border-radius:8px;
  border:1px solid var(--border);
  object-fit:cover;
  box-shadow:0 10px 22px rgba(0,0,0,0.08);
}
.match-name{
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.match-center{display:flex;flex-direction:column;align-items:center;gap:.15rem}
.match-vs{font-family:var(--display);font-size:1.7rem;line-height:1;color:rgba(11,36,17,0.55);letter-spacing:.06em}
.match-score{
  font-family:var(--mono);
  font-weight:950;
  font-size:.92rem;
  background:rgba(255,210,0,0.16);
  border:1px solid rgba(255,210,0,0.28);
  padding:.18rem .55rem;
  border-radius:999px;
}
.match-card__bottom{display:flex;justify-content:center;margin-top:.25rem}
.match-card__bottom .match-card__meta{font-size:.78rem;font-weight:850;color:rgba(11,36,17,0.70);text-transform:none;letter-spacing:.01em}
.match-card__bottom i,.match-card__top i{opacity:.9}

.wizard-steps{display:flex;flex-wrap:wrap;gap:.5rem}
.wizard-steps a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.65rem 1rem;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,0.70);
  font-weight:900;
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease;
}
.wizard-steps a:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--border2)}
.wizard-steps a.is-current{background:linear-gradient(135deg,var(--green) 0%, var(--green2) 100%);border-color:transparent;color:#fff}

.admin-page-head{display:grid;gap:1rem;align-items:end}
.admin-page-head > :first-child{min-width:0}
.admin-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem}
.admin-subtitle{max-width:70ch;margin:0}
.admin-filter-form{display:grid;gap:.65rem;align-items:end;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.admin-filter-form .field{margin:0;min-width:0}
.admin-card--compact{margin-bottom:1rem;padding:.95rem 1rem}
.admin-card__text-top{margin-top:-0.2rem}
.admin-card__hint{margin:.55rem 0 0;font-size:.82rem}
.admin-import-panel{margin-bottom:1rem;padding:.95rem 1rem}
.admin-import-panel[hidden]{display:none!important}
.admin-import-panel__text{margin-top:-0.2rem}
.admin-import-panel__form{display:grid;gap:.8rem}
.admin-import-panel__grid{display:grid;gap:.8rem}
.admin-import-panel__submit{width:100%}
.admin-phase-limit-form{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) auto;
  gap:.85rem;
  align-items:end;
}
.admin-phase-limit-form .field{margin:0}
.admin-phase-limit-form input{height:46px}
.fase-limite-form__btn{align-self:end;white-space:nowrap;height:46px}
.admin-partida{padding:.9rem}
.admin-partida__summary{
  cursor:pointer;
  list-style:none;
  display:grid;
  gap:.3rem;
}
.admin-partida__summary::-webkit-details-marker{display:none}
.admin-partida__meta{font-weight:900;color:rgba(11,36,17,0.76);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}
.admin-partida__teams{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  flex-wrap:wrap;
  text-align:center;
  font-weight:950;
}
.admin-partida__datetime{justify-self:center;font-weight:800}
.admin-partida__flag{width:22px;height:14px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}
.admin-partida__flag-sm{width:24px;height:16px;object-fit:cover;border-radius:7px;border:1px solid var(--border)}
.admin-partida__flag-preview{width:24px;height:16px;object-fit:cover;border-radius:7px;border:1px solid var(--border)}
.admin-partida__select-wrap{display:flex;align-items:center;gap:.5rem}
.admin-partida__body{gap:.85rem}
.admin-partida__body .form{gap:.7rem}
.admin-partida__body h3{font-size:1rem}
.admin-partida__match{padding:.78rem}
.admin-partida__match .match__score input{width:64px;height:42px;text-align:center}
.admin-partida__delete-form{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.6rem;
  margin-top:-.1rem;
}
.admin-partida__delete-btn{
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid rgba(214,47,47,0.22);
  background:rgba(214,47,47,0.08);
  color:#b91c1c;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
  box-shadow:none;
}
.admin-partida__delete-btn:hover{
  background:rgba(214,47,47,0.14);
  border-color:rgba(214,47,47,0.35);
  transform:translateY(-1px);
}
.admin-partida__delete-btn:focus-visible{
  outline:3px solid rgba(214,47,47,0.18);
  outline-offset:2px;
}
.admin-partida__delete-hint{
  margin:0;
  max-width:360px;
  text-align:right;
}

@media(min-width: 900px){
  .admin-page-head{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
  }
  .admin-page-actions{grid-column:2}
  .admin-filter-form{
    grid-column:1 / -1;
    grid-template-columns:repeat(auto-fit,minmax(170px,220px));
  }
  .admin-import-panel__grid{
    grid-template-columns:minmax(180px,.9fr) minmax(180px,.9fr) minmax(260px,1.2fr) auto;
    align-items:end;
  }
}

@media(min-width: 980px){
  .admin-partida__summary{
    grid-template-columns:1.1fr 1.6fr .9fr;
    align-items:center;
  }
  .admin-partida__meta{justify-self:start}
  .admin-partida__teams{justify-self:center}
  .admin-partida__datetime{justify-self:end}
}

.table-wrap{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}
.table{width:100%;border-collapse:collapse;min-width:720px}
.table th,.table td{padding:.95rem 1rem;border-bottom:1px solid var(--border);font-weight:700}
.table th{background:rgba(11,179,75,0.10);text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;font-weight:900}
.table tbody tr:hover{background:rgba(11,179,75,0.07)}
.table .num{text-align:right;font-family:var(--mono)}
.table .pos{font-family:var(--display);font-size:1.25rem;letter-spacing:.03em}
.table .pos-1{color:var(--yellow2)}
.table .pos-2{color:rgba(11,36,17,0.65)}
.table .pos-3{color:rgba(214,47,47,0.85)}
.table .me{background:rgba(11,179,75,0.10)}
.ranking-table{table-layout:fixed;min-width:980px}
.ranking-col--pos{width:90px}
.ranking-col--player{width:240px}
.ranking-col--points{width:110px}
.ranking-col--exatos{width:150px}
.ranking-col--grupos{width:150px}
.ranking-col--resultado{width:170px}
.ranking-col--classificacao{width:190px}
.ranking-legend{margin-top:1rem;padding:1.15rem}
.ranking-legend h2{margin:0 0 .45rem}
.ranking-legend__grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:.9rem}
.ranking-legend__item{
  display:grid;
  gap:.22rem;
  padding:.85rem .9rem;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:rgba(255,255,255,0.72);
}
.ranking-legend__item strong{color:var(--green2)}
.ranking-legend__item span{color:rgba(11,36,17,0.72);font-weight:700;font-size:.9rem}

@media (max-width: 720px){
  .container{width:min(100% - 1rem, var(--container))}
  .section{padding:2.35rem 0}
  .card{padding:1rem}
  .btn{padding:.78rem 1rem}
  .btn--mini{padding:.5rem .85rem}
  .field{gap:.35rem}
  .field input,.field select,.field textarea{padding:.78rem .88rem}
  .section__head{margin-bottom:1rem}
  .wizard-steps{gap:.4rem}
  .wizard-steps a{padding:.55rem .82rem;font-size:.85rem}
  .admin-page-head{
    grid-template-columns:minmax(0,1fr) auto;
    gap:.75rem;
    align-items:end;
  }
  .admin-page-head > :first-child{grid-column:1 / -1}
  .admin-page-actions{width:auto;justify-content:flex-end}
  .admin-page-actions .btn{width:auto;min-width:132px}
  .admin-filter-form{
    grid-column:1 / -1;
    grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
    gap:.7rem;
  }
  .admin-import-panel__grid{grid-template-columns:1fr}
  .admin-phase-limit-form{grid-template-columns:1fr}
  .fase-limite-form__btn,.admin-import-panel__submit{width:100%}
  .admin-card--compact,.admin-import-panel{padding:.9rem}
  .admin-partida{padding:.82rem}
  .admin-partida__body{gap:.78rem}
  .admin-partida__summary{gap:.4rem}
  .admin-partida__meta{font-size:.78rem}
  .admin-partida__teams{font-size:.95rem;gap:.35rem}
  .admin-partida__datetime{font-size:.82rem;text-align:center}
  .admin-partida__match{padding:.68rem}
  .admin-partida__match .match__score input{width:54px;height:38px}
  .admin-partida__delete-form{justify-content:space-between;align-items:flex-start}
  .admin-partida__delete-hint{max-width:none;text-align:left}
  .profile-panel{padding:.95rem}
  .history-item{padding:.75rem}
  .dashboard-access-card{padding:.8rem .82rem .88rem}
}

@media (max-width: 520px){
  .table th,.table td{padding:.75rem .8rem}
  .admin-partida__flag{width:20px;height:13px}
  .admin-partida__flag-sm,.admin-partida__flag-preview{width:22px;height:15px}
  .admin-page-head{grid-template-columns:1fr}
  .admin-page-actions{width:100%}
  .admin-page-actions .btn{width:100%}
  .admin-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.ranking-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;color:var(--muted);font-weight:700}
.ranking-meta strong{color:var(--text)}
.ranking-player{font-weight:800;color:var(--green2);text-decoration:none}
.ranking-player:hover{text-decoration:underline}
.dot{width:10px;height:10px;border-radius:999px;background:var(--green);box-shadow:0 0 0 0 rgba(11,179,75,0.45);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(11,179,75,0.45)}70%{box-shadow:0 0 0 10px rgba(11,179,75,0)}100%{box-shadow:0 0 0 0 rgba(11,179,75,0)}}

.groups-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.group{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:1.25rem}
.group h3{font-family:var(--display);letter-spacing:.05em;color:rgba(11,36,17,0.90)}

.profile-page{display:grid;gap:1rem}
.profile-layout{display:grid;gap:1rem}
.profile-side,.profile-main{display:grid;gap:1rem;min-width:0}
.profile-panel{padding:1.1rem}
.profile-panel h2{margin:0 0 .85rem}
.profile-panel--avatar{text-align:center}
.profile-avatar-box{
  width:150px;
  height:150px;
  margin:1rem auto 0;
  position:relative;
  border-radius:26px;
  overflow:visible;
  border:4px solid var(--border);
  box-shadow:var(--shadow);
  background:#eee;
}
.profile-avatar-box__img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:22px;
}
.profile-avatar-box__trigger{
  position:absolute;
  right:-10px;
  bottom:-10px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--yellow);
  border:2px solid var(--border);
  box-shadow:2px 2px 0 var(--border);
  cursor:pointer;
}
.profile-crop-box{margin-top:1rem;display:grid;gap:.7rem}
.profile-inline-actions{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap}
.profile-avatar-actions{display:grid;grid-template-columns:1fr;gap:.65rem}
.profile-avatar-actions form{display:block}
.profile-avatar-actions .btn{width:100%}
.profile-summary-grid{
  display:grid;
  gap:.75rem;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.profile-summary-card{
  padding:.9rem;
  background:var(--bg);
  border:2px solid var(--border);
  border-radius:var(--radius);
  min-width:0;
}
.profile-summary-card__label{font-size:.76rem;font-weight:900;color:var(--muted);letter-spacing:.05em}
.profile-summary-card__value{font-size:1.45rem;font-weight:900;line-height:1.05}
.profile-summary-card__value--green{color:var(--green2)}
.profile-summary-card__value--blue{color:var(--blue)}
.profile-summary-card__value--yellow{color:var(--yellow2)}
.profile-summary-card__value--accent{color:var(--accent)}
.profile-meta-list{display:grid;gap:.4rem;font-size:.86rem}
.profile-form-card{overflow:hidden}
.profile-form-card .form{gap:.95rem}
.profile-divider{border:none;border-top:1px solid var(--border);margin:.25rem 0}
.profile-form-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.profile-account-card p{margin:0;color:rgba(11,36,17,0.72);font-weight:700}
.profile-account-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}

.profile-hero{
  display:grid;
  grid-template-columns:minmax(0,96px) 1fr;
  gap:1rem;
  align-items:start;
}
.profile-hero__avatar{
  width:96px;
  height:96px;
  border-radius:999px;
  object-fit:cover;
  border:3px solid var(--border);
}
.profile-hero__content h2{margin:.1rem 0 .45rem}
.profile-hero__stats{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));align-items:stretch}
.profile-stat-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  gap:.65rem;
  min-height:116px;
  padding:.85rem;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:rgba(255,255,255,0.82);
  text-align:center;
}
.profile-stat-card .pill{
  width:100%;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.2;
  padding:.5rem .75rem;
}
.profile-stat-card h3{
  margin:0;
  font-size:1.55rem;
  font-family:var(--display);
  line-height:1;
}
.profile-inline-meta{margin-top:.85rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}

.history-list{display:grid;gap:.65rem}
.history-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.8rem;
  align-items:center;
  padding:.85rem .95rem;
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  background:rgba(255,255,255,0.78);
  box-shadow:var(--shadow-sm);
}
.history-item__main{min-width:0}
.history-item__top{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap;margin-bottom:.3rem}
.history-item__main h3{margin:0;font-size:.92rem;line-height:1.2}
.history-item__main p{margin:.25rem 0 0;color:rgba(11,36,17,0.72);font-weight:700;font-size:.84rem}
.history-item__teams{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.35rem}
.history-team{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-width:0;
  padding:.18rem .45rem;
  border-radius:999px;
  background:rgba(255,255,255,0.7);
  border:1px solid var(--border);
  font-size:.76rem;
  font-weight:850;
}
.history-team__flag{
  width:18px;
  height:12px;
  object-fit:cover;
  border-radius:3px;
  border:1px solid var(--border);
  flex:0 0 auto;
}
.history-item__date{font-size:.82rem;color:var(--muted);font-weight:800}
.history-item__score{
  min-width:84px;
  display:grid;
  gap:.2rem;
  justify-items:end;
  text-align:right;
}
.history-item__score strong{font-size:1.45rem;font-family:var(--display);line-height:1;color:var(--green2)}
.history-item__score span{font-size:.8rem;color:var(--muted);font-weight:800}
.history-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}
.history-tag{
  display:inline-flex;
  align-items:center;
  padding:.18rem .5rem;
  border-radius:999px;
  background:rgba(255,210,0,0.16);
  border:1px solid rgba(255,210,0,0.25);
  color:rgba(11,36,17,0.80);
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.history-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:.75rem;
}
.history-pagination__info{
  color:var(--muted);
  font-size:.84rem;
  font-weight:800;
}

.dash-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width: 980px){.dash-grid{grid-template-columns:1.35fr .65fr}}
.widget-box{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:1.25rem}
.widget-box--history{padding:1rem 1rem 1.05rem}
.widget-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:var(--display);letter-spacing:.05em;font-size:1.6rem}
.widget-badge{border-radius:999px;background:rgba(255,210,0,0.18);border:1px solid rgba(255,210,0,0.28);padding:.25rem .6rem;font-weight:900;font-size:.72rem}

.dashboard-access-card{padding:.85rem .9rem .95rem}
.dashboard-access-card .cta-badge{margin-bottom:.7rem}
.dashboard-access-card h3{font-size:1.02rem;line-height:1.2}
.dashboard-access-card p{line-height:1.28}
.dashboard-access-card__actions{display:grid;gap:.75rem;margin-top:.8rem}

.locked-banner{
  border-radius:var(--radius-lg);
  padding:1rem 1rem;
  background:rgba(255,210,0,0.14);
  border:1px solid rgba(255,210,0,0.28);
  box-shadow:var(--shadow-sm);
  font-weight:800;
}

.ticket-visual{
  width:432px;
  min-height:768px;
  display:flex;
  flex-direction:column;
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--border);
  background:
    radial-gradient(800px 240px at -10% -10%, rgba(255,210,0,0.30), rgba(255,255,255,0) 60%),
    radial-gradient(800px 260px at 110% 0%, rgba(11,179,75,0.22), rgba(255,255,255,0) 60%),
    rgba(255,255,255,0.92);
  box-shadow:var(--shadow-lg);
}
.ticket-visual__header{background:linear-gradient(135deg,var(--green) 0%, var(--green2) 100%);color:#fff;padding:1.1rem 1.25rem}
.ticket-visual__brand{display:flex;align-items:center;gap:.85rem}
.ticket-visual__logo{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}
.ticket-visual__brand-txt{min-width:0}
.ticket-visual__header h4{font-family:var(--display);letter-spacing:.10em;margin:0;font-size:1.45rem;line-height:1.1}
.ticket-visual__brand-sub{margin-top:.15rem;font-weight:800;opacity:.92;font-size:.82rem;line-height:1.15;white-space:normal;overflow:visible;text-overflow:clip;max-width:290px}
.ticket-visual__body{padding:1.15rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:1rem;flex:1}
.ticket-visual__avatar{width:92px;height:92px;border-radius:999px;object-fit:cover;border:3px solid rgba(255,255,255,0.55);margin:0 auto .55rem}
.ticket-visual__user{text-align:center}
.ticket-visual__user-name{font-family:var(--display);font-size:2.15rem;line-height:1.02;max-width:100%;overflow-wrap:anywhere}
.ticket-visual__hero-badges{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.ticket-visual__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:.35rem .75rem;
  border-radius:999px;
  background:rgba(11,179,75,0.16);
  border:1px solid rgba(11,179,75,0.24);
  color:rgba(11,36,17,0.86);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.72rem;
}
.ticket-visual__badge--soft{background:rgba(255,255,255,0.64);border-color:var(--border)}
.ticket-visual__stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.ticket-visual__stat-grid--full{margin-top:.1rem}
.ticket-visual__stat{background:rgba(255,255,255,0.72);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem;text-align:center}
.ticket-visual__stat small{display:block;margin-bottom:.28rem}
.ticket-visual__stat b{font-family:var(--mono)}
.ticket-visual__champion{background:rgba(255,210,0,0.12);border:1px solid rgba(255,210,0,0.26);border-radius:var(--radius-lg);padding:1rem;text-align:center}
.ticket-visual__champion-box{display:flex;gap:.75rem;align-items:center;justify-content:center;flex-wrap:wrap}
.ticket-visual__champion-flag{width:54px;height:36px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}
.ticket-visual__footer{margin-top:auto;padding:1rem 1rem .95rem;border-top:1px solid var(--border);text-align:center;color:rgba(11,36,17,0.75);font-weight:800;font-size:.8rem}
.ticket-visual__meta{display:grid;gap:.25rem}
.ticket-visual__site{font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.ticket-visual__code{font-size:.72rem;color:rgba(11,36,17,0.62);font-weight:900}
.ticket-visual__barcode{height:34px;background:repeating-linear-gradient(90deg, rgba(0,0,0,0.30), rgba(0,0,0,0.30) 2px, transparent 2px, transparent 5px);opacity:.45;border-radius:10px;margin-top:.6rem}
@media (max-width: 560px){.ticket-visual{width:360px;min-height:640px}}

.ticket-panel{margin-top:1rem;display:grid;gap:.75rem}
.ticket-loading{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  background:rgba(255,255,255,0.60);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:1rem;
  box-shadow:var(--shadow-sm);
}
.ticket-loading__spinner{
  width:18px;
  height:18px;
  border-radius:999px;
  border:2px solid rgba(11,36,17,0.16);
  border-top-color: var(--green);
  animation:spin .8s linear infinite;
}
.ticket-loading__text{font-weight:900;color:rgba(11,36,17,0.72);letter-spacing:.02em}
@keyframes spin{to{transform:rotate(360deg)}}

.ticket-preview{
  display:flex;
  justify-content:center;
  padding:.5rem;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,0.55);
  border:1px solid var(--border);
}
.ticket-preview canvas{
  max-width:100%;
  height:auto;
  border-radius:22px;
  box-shadow:var(--shadow);
}
.ticket-actions{display:grid;gap:.5rem}
@media(min-width: 520px){
  .ticket-actions{grid-template-columns:repeat(2,1fr)}
}
@media(min-width: 980px){
  .ticket-actions{grid-template-columns:repeat(4,1fr)}
}

.grid-2{display:grid;gap:1rem;grid-template-columns:1fr}
.grid-3{display:grid;gap:1rem;grid-template-columns:1fr}
.grid-4{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
@media(min-width: 720px){
  .grid-2{grid-template-columns:1fr 1fr}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(4,1fr)}
}

.card-form{
  max-width:560px;
  margin-inline:auto;
  border-radius:var(--radius-lg);
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  padding:1.25rem;
}

@media (max-width: 720px){
  .section{padding:2.25rem 0}
  .hero{padding:3.5rem 0 2.25rem}
  .btn{width:100%}
  .mainnav a{padding:.75rem 1rem}
  .table{min-width:520px}
  .history-item{grid-template-columns:1fr}
  .history-item__score{justify-items:start;text-align:left}
  .profile-hero{grid-template-columns:1fr;text-align:center}
  .profile-hero__avatar{margin-inline:auto}
  .profile-inline-meta{justify-content:center}
  .history-pagination{justify-content:center}
  .profile-form-actions,
  .profile-account-actions,
  .profile-inline-actions{flex-direction:column}
  .profile-avatar-box{width:132px;height:132px}
  .profile-summary-grid{grid-template-columns:1fr 1fr}
}

@media(min-width: 960px){
  .profile-layout{grid-template-columns:minmax(280px,320px) minmax(0,1fr);align-items:start}
}

.footer{
  margin-top:3rem;
  background:linear-gradient(180deg, rgba(9,30,15,0.96) 0%, rgba(3,12,6,0.98) 100%);
  color:rgba(255,255,255,0.88);
  border-top:1px solid rgba(255,210,0,0.30);
  position:relative;
  overflow:hidden;
}
.footer::before{
  content:'';
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(700px 250px at 10% 0%, rgba(255,210,0,0.18), transparent 60%),
    radial-gradient(700px 250px at 100% 30%, rgba(11,179,75,0.18), transparent 60%);
  opacity:.9;
  pointer-events:none;
  z-index:0;
}
.footer__inner{display:grid;gap:1.25rem;padding:2.5rem 0;position:relative;z-index:1}
.footer__col{display:flex;flex-direction:column;gap:.75rem}
.footer__brand{display:flex;align-items:center;gap:.9rem}
.footer__logo{width:150px;height:150px;object-fit:contain;border-radius:28px;background:rgba(255,255,255,0.92);border:1px solid rgba(255,255,255,0.12);padding:14px;box-shadow:0 14px 40px rgba(0,0,0,0.28)}
.footer__brand{align-items:center}
.footer__brand strong{line-height:1.05}
.footer__desc{margin:.75rem 0 0;color:rgba(255,255,255,0.72);font-weight:650;max-width:46ch}
@media(max-width: 520px){
  .footer__logo{width:120px;height:120px;border-radius:24px;padding:12px}
}
.footer__col strong{font-family:var(--display);letter-spacing:.05em;font-size:1.7rem;color:#fff}
.footer__col h4{margin:0 0 .75rem;font-weight:900;color:#fff}
.footer__col a{color:rgba(255,255,255,0.88);font-weight:800}
.footer__col a:hover{color:#fff;text-decoration:underline}
.footer__links{display:grid;gap:.55rem}
.footer__links a{display:inline-flex;align-items:center;gap:.55rem}
.footer__links a::before{
  content:'';
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(255,210,0,0.85);
  box-shadow:0 0 0 3px rgba(255,210,0,0.12);
}
.footer__whats{margin-top:.8rem;display:flex;flex-direction:column;gap:.55rem}
.footer__bottom{border-top:1px solid rgba(255,255,255,0.10);padding:1.25rem 0;text-align:center;color:rgba(255,255,255,0.62);font-weight:700;position:relative;z-index:1}
@media(min-width: 840px){.footer__inner{grid-template-columns:2fr 1fr 1fr}}

.cookie-banner{
  position:fixed;
  left:1rem; right:1rem; bottom:1rem;
  max-width:var(--container);
  margin-inline:auto;
  background:rgba(255,255,255,0.92);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  padding:1rem 1rem;
  display:flex;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  z-index:100;
}
.cookie-banner p{margin:0;font-weight:700;color:var(--muted);flex:1}
.cookie-banner a{color:var(--text);text-decoration:underline}

.ticker-wrap{
  width:100%;
  overflow:hidden;
  background:rgba(11,36,17,0.92);
  color:#fff;
  border-top:1px solid rgba(255,255,255,0.10);
  border-bottom:1px solid rgba(255,255,255,0.10);
  padding:.9rem 0;
  margin-top:2.5rem;
}
.ticker{display:inline-flex;white-space:nowrap;gap:2rem;animation:marquee 28s linear infinite}
.ticker__item{font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.ticker__item.green{color:var(--green)}
.ticker__item.yellow{color:var(--yellow)}
.ticker__item.white{color:#fff}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.match-predict{
  border-radius:var(--radius-lg);
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  padding:1rem;
}
.match-predict__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0}
.match-predict__team{display:flex;align-items:center;gap:.6rem;min-width:0}
.match-predict__flag{width:30px;height:20px;border-radius:8px;object-fit:cover;border:1px solid var(--border)}
.match-predict__name{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.score-control{
  display:flex;
  align-items:center;
  gap:.35rem;
  border-radius:999px;
  background:rgba(255,255,255,0.70);
  border:1px solid var(--border);
  padding:.25rem .35rem;
}
.score-btn{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,0.70);
  box-shadow:var(--shadow-sm);
}
.score-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.score-value{
  width:46px;
  height:34px;
  text-align:center;
  font-family:var(--mono);
  font-weight:800;
  border:0;
  background:transparent;
}
.score-value[disabled]{opacity:.55}

.glass-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.cta-badge{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.65rem 1rem;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:1rem;
  background:rgba(11,179,75,0.10);
  border:1px solid rgba(11,179,75,0.18);
}
