PaymentModal now allows partial payments for card and saved card:
- Added amount input fields with validation (max 2 decimal places)
- Default to full amount when left blank
- Validate amount is > 0 and <= totalDue
- Button label updates to show charge amount
- Validation errors shown inline
UserPaymentModal already had partial payment functionality, so no
changes needed there.
This allows customers to pay part of the balance now and pay the
rest later online.