Previews now set dryRunStripe on billing contexts and assign deterministic preview Stripe product and price IDs inside initStripeResourcesForBillingPlan instead of calling Stripe. Real Stripe resource initialization rejects preview IDs, and zero fixed/base prices no longer create Stripe resources or subscription item specs.\n\nTests:\n- bun test tests/unit/billing/init-stripe-resources-for-products.test.ts\n- cd server && bun ts\n- bunx biome check <touched files>