• Mahmoud Aglan's avatar
    feat(waiver): per-individual fee assignment + fix 404 payment button · c8fae48c
    Mahmoud Aglan authored
    - New table `waiver_individual_fees` stores fee per person (not per category)
    - Board approval screen shows each excess person as a separate card with:
      name, DOB, age, age category, relationship, independent fee type/rate
    - Children 25+ flagged with warning and "فصل العضوية" button
    - Live JS calculates per-person amounts and updates grand total instantly
    - Fee breakdown section shows individual names when individual fees exist
    - Fix: /members/{id}/financial → /payments/process/{id} (was 404)
    - WaiverProcessor::getExcessIndividuals() identifies the specific excess persons
    - WaiverProcessor::saveIndividualFees() persists per-person board decisions
    - Age categories expanded: under_12, 12_to_16, 16_to_18, 18_to_25, 25_plus
    Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
    c8fae48c