- Add buildTracPulseAppBar() helper in lib/app_bar.dart
- Reads backgroundColor/elevation from ThemeData.appBarTheme
- Consistent back button (#9e9e9e, size 20) via Navigator.pop
- Monospace title style (14px, weight 700, letter-spacing 2)
- Optional onTitleTap for tappable titles
- Update all screens to use the new helper, removing redundant overrides
- Remove terminal icon from status_screen title, use plain centered text
- Change appBarTheme centerTitle to false (left-aligned)
- Remove bottom dividers from all screens
- Add clearLogs method to BridgeModule with proper coroutine scope
- Fix fetchLogs and clearLogs using Thread+runBlocking which caused app close
- Change serviceScope from Dispatchers.Main to Dispatchers.IO
- Add error logging in fetchLogs for better diagnostics
- Add clear logs button with confirmation dialog in StatusScreen
- Send config to native before starting tracking (SharedPreferences sync)
- Register ConnectivityReceiver for network state detection
- Fix Settings number fields using TextEditingControllers
- Cancel stream subscription on widget dispose (memory leak)
- Replace WorkManager with AlarmManager for heartbeat
- Add log cleanup for logs older than 24 hours
- Change HTTP method from GET to POST
These fixes resolve the 'device always offline' issue where:
1. Config was not being sent to native service
2. ConnectivityReceiver was never registered
3. Settings number fields were not saving
4. Heartbeat never fired due to WorkManager process isolation
5. Server expected POST not GET