- Add appointment detail modal to CustomerDashboard with payment info display
- Shows service, date/time, duration, status, and notes
- Displays payment summary: service price, deposit paid, payment made, amount due
- Print receipt functionality with secure DOM manipulation
- Cancel appointment button for upcoming appointments
- Add CurrencyInput component for ATM-style price entry
- Digits entered as cents, shift left as more digits added (e.g., "1234" → $12.34)
- Robust input validation: handles keyboard, mobile, paste, drop, IME
- Only allows integer digits (0-9)
- Update useAppointments hook to map payment fields from backend
- Converts amounts from cents to dollars for display
- Update Services page to use CurrencyInput for price and deposit fields
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>