.tournament-teams { max-width: 1200px; margin: 0 auto; padding: 28px 20px 40px; }
.teams-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.teams-heading h2 { margin: 0; font-family: 'Rajdhani', sans-serif; font-size: 30px; }
.teams-heading p { margin: 6px 0 0; color: var(--muted); }
.teams-heading > span { color: var(--muted); font-size: 14px; }
.roster-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 20px; }
.roster-card { min-width: 0; background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.09); border-radius: 14px; overflow: hidden; }
.roster-team { display: flex; gap: 14px; align-items: center; padding: 20px; border-bottom: 1px solid rgba(255,255,255,.07); }
.roster-logo { width: 56px; height: 56px; flex-shrink: 0; object-fit: contain; }
.roster-initials { display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.05); border-radius: 10px; font-weight: 700; }
.roster-team h3 { margin: 0; font-family: 'Rajdhani', sans-serif; font-size: 24px; overflow-wrap: anywhere; }
.roster-players { list-style: none; padding: 8px 20px; margin: 0; }
.roster-players li { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 12px 0; }
.roster-players li + li { border-top: 1px solid rgba(255,255,255,.05); }
.roster-player-name { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.roster-role { font-size: 10px; font-weight: 700; color: var(--primary); background: rgba(255,255,255,.05); padding: 3px 6px; border-radius: 4px; }
.roster-empty { padding: 20px; margin: 0; color: var(--muted); }
