feat(sync): surface sync errors in settings status with red indicator
Track last sync error message + timestamp on the sync module and
expose them via getSyncStatus(). Settings sync section now shows
the error inline with a red border and tinted background, cleared
once the next sync succeeds.