- SyncSettingsDialog: server URL, username, password fields
- Gear icon in library top bar opens sync settings
- "Sync to server" in notebook overflow menu
- "Sync all" button next to filter/sort bar
- Both check isSyncConfigured() and prompt for settings if needed
- Sync runs on Dispatchers.IO, shows Toast on success/error
- Sync settings stored in SharedPreferences via EngPadApp
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>