b84fd373c2
First test run hit a bug in the test itself: Playwright's hasText filter does substring matching, so IP 192.168.1.1 matched 192.168.1.10, 192.168.1.100, 192.168.1.171, etc -- flaky/wrong row selection. Added a data-ip attribute to each row for exact targeting instead of relying on text content. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>