/* ═══ Season Dashboard Styles ═══ */

.season-hero { padding:120px 0 60px; text-align:center; background:radial-gradient(circle at 50% 80%, rgba(79,127,255,0.06), transparent 60%); }
.season-badge-nav { padding:6px 14px; border-radius:50px; font-size:0.8rem; font-weight:600; background:rgba(79,127,255,0.1); border:1px solid rgba(79,127,255,0.2); color:var(--accent-blue); }

.season-stats-bar {
  display:flex; justify-content:center; gap:32px; flex-wrap:wrap; margin-top:28px;
  padding:20px 32px; border-radius:var(--radius);
  background:var(--glass); border:1px solid var(--glass-border);
}
.ssb-item { text-align:center; }
.ssb-val { font-family:'Outfit'; font-size:1.6rem; font-weight:800; color:var(--text-primary); }
.ssb-lbl { font-size:0.75rem; color:var(--text-secondary); margin-top:2px; }

/* ─── STANDINGS ─── */
.standings-wrapper {
  border-radius:var(--radius); overflow-x:auto;
  background:var(--glass); border:1px solid var(--glass-border);
}
.standings-table { width:100%; border-collapse:collapse; min-width:700px; }
.standings-table th {
  text-align:center; padding:14px 12px; font-size:0.75rem;
  color:var(--text-secondary); text-transform:uppercase; letter-spacing:1px;
  font-weight:600; border-bottom:1px solid var(--glass-border);
}
.standings-table th:nth-child(2) { text-align:left; }
.standings-table td {
  padding:12px; font-size:0.9rem; text-align:center;
  border-bottom:1px solid rgba(255,255,255,0.03);
}
.standings-table td:nth-child(2) { text-align:left; }
.standings-table tr { transition:background 0.3s; cursor:pointer; }
.standings-table tbody tr:hover { background:rgba(79,127,255,0.05); }
.standings-table tr.qualify { border-left:3px solid var(--accent-green); }
.standings-table tr.elim { opacity:0.5; }
.team-cell { display:flex; align-items:center; gap:10px; }
.team-cell-emoji { font-size:1.3rem; }
.team-cell-name { font-weight:700; font-size:0.9rem; }
.team-cell-city { font-size:0.7rem; color:var(--text-secondary); }
.pts-cell { font-family:'Outfit'; font-weight:800; font-size:1.1rem; color:var(--accent-blue); }
.nrr-positive { color:var(--accent-green); font-weight:600; }
.nrr-negative { color:#ef4444; font-weight:600; }
.form-dots { display:flex; gap:3px; justify-content:center; }
.form-dot { width:18px; height:18px; border-radius:4px; font-size:0.6rem; font-weight:700;
  display:flex; align-items:center; justify-content:center; }
.form-w { background:rgba(16,185,129,0.2); color:#10b981; }
.form-l { background:rgba(239,68,68,0.2); color:#ef4444; }
.form-d { background:rgba(156,163,175,0.2); color:#9ca3af; }
.standings-legend { display:flex; gap:24px; justify-content:center; margin-top:16px; }
.legend-item { display:flex; align-items:center; gap:6px; font-size:0.8rem; color:var(--text-secondary); }
.legend-dot { width:10px; height:10px; border-radius:3px; }
.legend-dot.qualify { background:var(--accent-green); }
.legend-dot.elim { background:#ef4444; opacity:0.5; }

/* ─── SCHEDULE ─── */
.week-tabs { display:flex; gap:8px; margin-bottom:24px; flex-wrap:wrap; justify-content:center; }
.week-tab {
  padding:8px 18px; border-radius:50px; border:1px solid var(--glass-border);
  background:none; color:var(--text-secondary); cursor:pointer; font-size:0.85rem;
  font-weight:600; transition:all 0.3s;
}
.week-tab.active { background:rgba(139,92,246,0.15); border-color:rgba(139,92,246,0.3); color:#8b5cf6; }
.week-tab:hover { border-color:rgba(139,92,246,0.3); }

.matches-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.match-fixture {
  padding:20px; border-radius:var(--radius-sm);
  background:var(--glass); border:1px solid var(--glass-border);
  transition:all 0.3s;
}
.match-fixture:hover { transform:translateY(-3px); border-color:rgba(139,92,246,0.2); }
.mf-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.mf-week { font-size:0.7rem; color:var(--text-secondary); font-weight:600; text-transform:uppercase; }
.mf-status { font-size:0.7rem; padding:3px 10px; border-radius:50px; font-weight:600; }
.mf-status.completed { background:rgba(16,185,129,0.1); color:#10b981; }
.mf-status.upcoming { background:rgba(79,127,255,0.1); color:#4f7fff; }
.mf-status.live { background:rgba(239,68,68,0.15); color:#ef4444; animation:pulse-border 2s infinite; }
.mf-teams { display:flex; align-items:center; justify-content:space-between; }
.mf-team { text-align:center; flex:1; }
.mf-team-emoji { font-size:1.5rem; display:block; margin-bottom:4px; }
.mf-team-name { font-weight:700; font-size:0.8rem; }
.mf-score { font-family:'Outfit'; font-weight:800; font-size:1.1rem; margin-top:4px; }
.mf-vs { font-family:'Outfit'; font-weight:700; color:var(--text-secondary); font-size:0.9rem;
  padding:8px; border-radius:50%; background:var(--glass); border:1px solid var(--glass-border); }
.mf-winner { color:var(--accent-green); }
.mf-loser { opacity:0.5; }
.mf-details { margin-top:10px; padding-top:10px; border-top:1px solid rgba(255,255,255,0.04);
  font-size:0.75rem; color:var(--text-secondary); text-align:center; }

/* ─── BRACKET ─── */
.bracket-container {
  display:flex; align-items:center; justify-content:center; gap:40px;
  padding:32px; overflow-x:auto;
}
.bracket-round { display:flex; flex-direction:column; gap:40px; }
.bracket-round-title {
  text-align:center; font-size:0.75rem; font-weight:600; color:var(--text-secondary);
  text-transform:uppercase; letter-spacing:1px; margin-bottom:12px;
}
.bracket-match {
  border-radius:var(--radius-sm); overflow:hidden; width:220px;
  background:var(--glass); border:1px solid var(--glass-border);
}
.bracket-team {
  display:flex; align-items:center; justify-content:space-between; padding:12px 16px;
  border-bottom:1px solid rgba(255,255,255,0.04); transition:background 0.3s;
}
.bracket-team:last-child { border:none; }
.bracket-team.winner { background:rgba(16,185,129,0.06); }
.bt-left { display:flex; align-items:center; gap:8px; }
.bt-seed { font-size:0.65rem; color:var(--text-secondary); font-weight:600; width:16px; }
.bt-emoji { font-size:1.1rem; }
.bt-name { font-weight:600; font-size:0.85rem; }
.bt-score { font-family:'Outfit'; font-weight:700; font-size:0.95rem; }
.bt-score.win-score { color:var(--accent-green); }

.bracket-connector { display:flex; flex-direction:column; justify-content:center; align-items:center; width:40px; }
.conn-line { width:2px; background:rgba(255,255,255,0.08); }

.bracket-champion {
  text-align:center; padding:24px; border-radius:var(--radius);
  background:linear-gradient(135deg, rgba(234,179,8,0.08), rgba(139,92,246,0.08));
  border:1px solid rgba(234,179,8,0.2);
}
.champ-trophy { font-size:3rem; margin-bottom:8px; }
.champ-name { font-family:'Outfit'; font-size:1.2rem; font-weight:800; margin-bottom:4px; }
.champ-label { font-size:0.75rem; color:#eab308; font-weight:600; text-transform:uppercase; }

/* ─── TEAM MODAL ─── */
.team-modal { display:none; position:fixed; inset:0; z-index:2000; align-items:center; justify-content:center; }
.team-modal.open { display:flex; }
.team-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.7); backdrop-filter:blur(4px); }
.team-modal-content {
  position:relative; z-index:1; width:90%; max-width:500px; max-height:80vh; overflow-y:auto;
  padding:32px; border-radius:var(--radius);
  background:var(--bg-secondary); border:1px solid var(--glass-border);
}
.tm-header { text-align:center; margin-bottom:20px; }
.tm-emoji { font-size:3rem; }
.tm-name { font-family:'Outfit'; font-size:1.5rem; font-weight:800; margin:8px 0 4px; }
.tm-city { font-size:0.85rem; color:var(--text-secondary); }
.tm-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:20px; }
.tm-stat { text-align:center; padding:12px; border-radius:var(--radius-sm); background:var(--glass); }
.tm-stat-val { font-family:'Outfit'; font-weight:800; font-size:1.2rem; }
.tm-stat-lbl { font-size:0.7rem; color:var(--text-secondary); }
.tm-roster-title { font-size:0.85rem; font-weight:600; color:var(--text-secondary); margin-bottom:8px; }
.tm-roster-item {
  display:flex; align-items:center; justify-content:space-between; padding:10px;
  border-radius:var(--radius-sm); margin-bottom:6px;
  background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.04);
}
.tm-close {
  position:absolute; top:12px; right:16px; background:none; border:none;
  color:var(--text-secondary); font-size:1.5rem; cursor:pointer;
}

/* ─── RESPONSIVE ─── */
@media(max-width:768px) {
  .season-hero { padding:100px 16px 40px; }
  .season-stats-bar { gap:16px; padding:16px; }
  .ssb-val { font-size:1.2rem; }
  .matches-grid { grid-template-columns:1fr; }
  .bracket-container { flex-direction:column; gap:24px; }
  .bracket-connector { width:auto; height:30px; flex-direction:row; }
  .conn-line { width:auto; height:2px; }
  .week-tabs { gap:4px; }
  .week-tab { padding:6px 12px; font-size:0.75rem; }
}
