Align dashboard cells across healthy mirrors, fix mobile row layout, harden comment mirror-loop guard
- Dashboard: a mirror with no live sync error now renders the series' full
distinct-event set (real cells where it logged the push itself, synthetic
elsewhere), so mirrors genuinely holding the same content look aligned
instead of one appearing behind due to which host happened to get logged.
A mirror with a real, current sync error skips that fill and shows only
what it has confirmed, plus a small red badge (tooltip carries the error).
- admin: .row (paired form fields) now wraps on narrow viewports instead of
overflowing horizontally — fixes New repo's layout on mobile.
- Comments: the mirror-loop guard now checks an invisible marker
(state.MarkMirrored/IsMirroredComment) instead of matching the visible
"**via Forgejo:**" etc. prefix text, so a real comment that happens to
start with the same phrase is never mistaken for graft's own mirror.