{# Initial table render only — htmx fires `load` once and the
fragment lands here. From then on, /api/devices/live.json drives
in-place cell updates (status pill, location, last-seen) and
counter refresh, so the table DOM is never wholesale swapped
and scroll/expand state survives. #}