Phase 1 | Priority: P0 | Status: Not Started | Covers: FR-003

Objective

Modify the sign-up flow to capture referral code from the /join/[CODE] URL, validate it, and persist attribution to the new user record.

Acceptance Criteria

Dependencies

Depends on: referred_by migration + referral_codes table. Blocks: reward grant service.