- Fix "Advanced" badge in SwissStageTab: condition was `isAdvanced && stageEliminated === null`, missing teams eliminated at later stages; now just `isAdvanced`
- Default active tab to highest active Swiss stage rather than Champions whenever no playoff games have a winner yet
- Remove dead `eventResults` query from the CS2 loader branch (Cs2MajorEventView has no prop for it)
- Remove dead `teamsInStage` variable and unused `StageStatusBadge` component
- Serialize `createdAt`/`updatedAt` on playoff match rows in both CS2 and bracket loader branches (matches how seasonMatches dates are handled)
- Replace inline `formatEventDate` in event detail route with shared `~/lib/date-utils` version
- Add defensive DB-level limit to `getUpcomingScoringEvents` (max(limit*5, 50)) to cap unbounded fetch
https://claude.ai/code/session_01RYK7NCjcaah545979wupcM