Payments

Records only. Enable actual payment capture (Stripe/etc.) after LLC. For now: log cash/check/Venmo received.

Scaffolded, awaiting UI.

Data table payments exists in both D1 and IndexedDB and syncs through /api/sync. To flesh out this screen, mirror the pattern in src/routes/customers/: list page + [id]/ editor using upsert() from $lib/db/mutations.