Lumiere v2.23 — Financial Class Backfill Hotfix

Why:
The v2.22 dashboard showed $0 in Patient / Insurance / Financing / Credits while Verified Receipt Total remained populated. That proves the classification columns existed but the existing 310 stored rows remained at their default class ('other'). The API importer completed, but those rows were not reclassified as intended.

Fix:
- install_schema.php now backfills existing receipts after adding classification columns.
- Added import/normalize_oryx_payment_classes.php for a fast local-only one-click repair.
- No Oryx API calls are needed for the repair.
- Dashboard logic remains unchanged.

Deployment:
1. Replace files.
2. Run /lumiere/import/normalize_oryx_payment_classes.php
3. Hard-refresh /lumiere/dashboard/
Expected full-dataset totals based on v2.21 evidence:
patient: $134,699.70
insurance: $16,100.00
financing: $108,249.39
credit_adjustment: $240.50
verified total: $259,289.59
Dashboard cohort totals will be smaller because it uses the selected GHL acquisition cohort.
