isProModeActive was in-memory only — a browser refresh reset it to
false even when the URL was a professional route.
Fix: read/write 'isProModeActive' from SharedPreferences in
ProfessionalProvider (constructor, toggleProMode, setIsProModeActive,
logout). Also clear the flag in AuthProvider.isAuthenticated() when the
user's proState is not active, so a stale value can't trap a non-pro user
in professional mode.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>