Fix hydration race condition where token check happened before localStorage was read. Now waits for client-side initialization before deciding whether to redirect to login. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>