Frontend for the BE-4 snapshot (#1702): GET /api/matrix-accounts now returns
per-account `live` + `user_id` and a top-level `as_of_unix`. Render a 3-state
dot instead of the v1 token-present-only one:
- green (live + container running) — online
- amber (live + container DOWN) — stale: the page already loads
/api/state containers, so cross-reference running state; a container that's
down means the daemon is down, so a "live" snapshot there is stale
- amber (token_present + !live) — provisioned but offline
- grey (no token) — not provisioned
The daemon rewrites its snapshot only on (re)start, so `as_of_unix` is "live as
of", not a heartbeat — surfaced as a tooltip. We deliberately do NOT dim a
green purely on snapshot age (an old as_of is ambiguous: stable uptime vs dead
daemon); the container cross-ref catches the definitive down case, and true
daemon-up-but-client-dead detection is the daemon-heartbeat follow-up. user_id
is shown next to the account name. When `live` is absent (v1 backend not yet
deployed) the dot falls back to the token-present rendering, so this is safe to
ship independent of the backend deploy.
FE half of #1702 BE-4; pairs with the backend PR.