Bidder registration, paddles, and pre-auth

Every bidder gets a paddle number tied to a name, contact details, and a pre-authorised payment method. Bidders can register three ways:

1. Pre-event — staff creates a paddle from the Bidders tab (typical for table sponsors and known major donors)
2. Public mobile page — guests register from their phone at /auction/:slug; signed token saved in localStorage so they don't have to re-register on subsequent visits
3. Kiosk check-in — at the door, a tablet running /auction/:slug/checkin lets attendees enter / confirm and walk away with a paddle in 90 seconds

Pre-auth:
Each registration captures a card via Stripe and pre-authorises a token. Final charge happens at end of night (winning bids + buy-now items + pledges + raffle). No queue at checkout — settlement runs in the background and a receipt emails to each bidder.

Paddle numbers:
Auto-assigned starting at a number you set (typical: 100). Sponsors can request a specific paddle number (e.g. "Paddle 1 reserved for the matching gift donor") — manage that on the Bidders tab.

Linking to a Contact:
Every paddle is linked to a Contact (creating one if needed). Lifetime giving stats roll up across galas, pledges, and other donations on the Contact record.