- Add OFF_USERNAME and OFF_PASSWORD env vars - Use Basic Auth when credentials are provided - Improves rate limits for authenticated requests - Auth is optional (works without credentials)
- Backend: add expo_push_tokens table, expo-register/unregister endpoints, hybrid VAPID+Expo push sender - Mobile: register Expo push token on app launch, bell toggle on medicine/pharmacy detail screens - .env.example: document EXPO_ACCESS_TOKEN configuration - Dark mode hover fixes for search suggestions and recent buttons