The "new since last visit" marker lived in localStorage, so it was
per-device: each device tracked its own last visit and re-flagged the
same rows. Move it to a per-user server column so it's shared across
devices.
The controller reads the stored marker, renders the list with it, then
advances it forward to the newest created_at it served — never to now(),
so a back-dated synced row that wasn't on the served page is not marked
seen (preserves the feature's "err on showing, never hiding" stance).
Drops the now-dead localStorage helpers (loadLastVisit/saveLastVisit/
newestCreatedAt); the page just freezes the lastVisitAt prop at mount.