Mejoras
Mark-paid no longer trips an ambiguous paid_at column
Local invoice mark-paid RPCs use v_paid_at and v_period_end so Postgres can tell variables from columns.
The production marklocalinvoicepaid function failed with 42702 because paidat and periodend were both variable names and column names. The replacement functions use v prefixes, stay servicerole-only, and revoke execute from Public, anon, and authenticated. isworkspacecontentapprover is revoked from anon.
