- Fix palette.test.ts: use type-only import for CategoryType (verbatimModuleSyntax)
- Fix vite.config.ts: import defineConfig from vitest/config for test property support
- Fix tsconfig.node.json: add vitest/globals to types array
- Fix AvailableBalance.tsx: split typed array and filter to preserve CategoryType literal
- Shared TableCell with display/edit mode toggle
- Calls onSave(number) on blur or Enter key
- Skips save when value unchanged or NaN
- Accepts className for amount coloring
- renders formatted currency in display mode
- enters edit mode on click
- calls onSave with parsed number on blur/Enter
- does not call onSave when value unchanged