+Extend ProjectSetupModal with a tabbed interface and Providers settings:
+
+1. Add tab state: `const [activeTab, setActiveTab] = useState<"project" | "providers">("project")`
+
+2. Import provider state from store:
+ ```typescript
+ const { providerSettings, updateProviderApiKey, toggleProvider } = useWorkflowStore();
+ ```
+
+3. Add local state for provider form (to avoid saving on every keystroke):
+ ```typescript
+ const [localProviders, setLocalProviders] = useState(providerSettings);
+ ```
+ Sync localProviders when modal opens (in useEffect).
+
+4. Add tab bar below the title:
+ ```tsx
+
+
+
+
+ ```
+
+5. Wrap existing form content in `{activeTab === "project" && (...)}` block.
+
+6. Add Providers tab content `{activeTab === "providers" && (...)}`:
+ - Show each provider (Gemini, Replicate, fal.ai) in a card-like section
+ - For Gemini: Show "Configured via GEMINI_API_KEY environment variable" (no input field, just info)
+ - For Replicate and fal.ai:
+ - Toggle switch to enable/disable
+ - API key input field (type="password", only shown when enabled)
+ - Show/hide password toggle button
+ - Use consistent neutral-* Tailwind classes matching existing UI
+
+7. Update handleSave to also save provider settings when on providers tab:
+ - Call `updateProviderApiKey` for each changed provider
+ - Call `toggleProvider` for each changed enabled state
+
+8. When in "providers" tab and user clicks Save, save provider settings and close modal (no directory validation needed).
+
+Follow existing modal patterns: neutral-800 background, neutral-700 borders, consistent button styling.
+
+