Three drop-in gating components for the self-serve signup flow.
- FeatureGate reads useFeature(flag) and renders children when enabled,
else a fallback (default UpgradePrompt). UX-only — security boundary
remains require_feature on the backend.
- UpgradePrompt resolves a feature key to display name + required plan
via an inline catalog and links to /account/billing/select-plan.
- EmailVerificationGate gates protected content behind a 6-day grace
period; renders a minimal EmailVerificationWall (resend + sign out)
on Day 7+ unverified. Wall design will be refined in Task 37.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>