* fix(reports): stop Safari swallowing every click on the reports page
The category rows in the reports breakdown use a stretched link whose
`before:absolute before:inset-0` overlay was anchored to the parent
`<tr class="relative">`.
`position: relative` on a table row is left undefined by CSS 2.1 §9.3.1 and
WebKit does not implement it, so in Safari the row never becomes a containing
block. The overlay resolves against a far larger positioned ancestor instead,
blankets the reports page, and intercepts every click — including clicks on
the period picker popover — navigating to that category's transactions
drill-down. Chrome and Firefox do establish the containing block, which is
why this is invisible outside WebKit.
Anchor the overlay to the flex wrapper inside the cell instead. A `<div>` is
an unambiguous containing block in every engine. The click target narrows
from the whole row to the category cell, which is still the icon, the name
and the entry count.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* test(reports): assert the stretched overlay on the cell wrapper, not the row
The regression test still required `tr.relative`, which the previous commit
removes, so the suite would have failed. Assert instead that the stretched
link sits inside `td div.relative` — the containing block the overlay is now
anchored to.
Verified the selector against the rendered markup: it matches the clickable
row once, does not match a non-clickable row, and the old selector matches
nothing under the new markup.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>