- Changed row ID prefix from 'row_' to '_' for valid CSS selectors
- Added _id property assignment in row data for proper rendering
- Resolves querySelectorAll SyntaxError when deleting rows
The issue was that numeric row IDs (0, 1, 2) created invalid CSS
selectors like 'tr#0 button.action-delete'. CSS IDs cannot start
with numbers. By prefixing with underscore, we get valid selectors
like 'tr#_0 button.action-delete'.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>