# Social Flow - Design Guidelines
Interface sobre et lisible, en français, pensée d'abord pour être comprise sans formation.
Toutes les couleurs passent par les tokens de `client/src/index.css` (modes clair et sombre).
## Identité
- **Logo** : `components/brand/logo.tsx` (``, ``) — deux ondes qui s'écoulent vers un point, sur un carré arrondi en dégradé indigo → corail. Même dessin dans `client/public/favicon.svg`.
- **Primaire** : indigo `#4F46E5` (`primary`) — actions, éléments actifs, focus.
- **Accent** : corail `#F97362` (`brand-accent`) — uniquement dans le dégradé de marque.
- **Dégradé de marque** (`.gradient-brand`, bouton `variant="brand"`) : réservé au logo et à **une seule** action principale par écran (publier, créer, se connecter).
- **Statuts** : `success` (publié, actif), `warning` (bientôt expiré), `destructive` (échec, suppression), `info` (en cours).
- **Plateformes** : `facebook`, `instagram`, `tiktok` — via `components/platform-icon.tsx`.
- Ne jamais utiliser de couleurs Tailwind brutes (`bg-blue-500`, `#1877F2`…) ni `text-white` sur une surface de l'interface.
## Typographie
- Inter (400–700), JetBrains Mono pour les identifiants et le SQL.
- Titre de page : `PageHeader` (`text-2xl sm:text-[28px] font-semibold`).
- Titre de carte : `CardTitle` (`text-base font-semibold`), description en `text-muted-foreground`.
## Mise en page
- **Shell** : `components/layout/app-shell.tsx` — sidebar groupée sur desktop (≥ lg), en-tête + barre de navigation basse sur mobile (Accueil, Calendrier, **Créer**, Médias, Menu). La navigation est définie une seule fois dans `components/layout/nav-config.ts`.
- **Contenu** : chaque page commence par `` puis ``.
- `narrow` (max-w-3xl) : formulaires simples
- `default` (max-w-6xl) : la plupart des pages
- `wide` (1400px) : tableau de bord, calendrier, médiathèque
- Une seule version responsive par écran : pas de pages mobiles séparées.
## Composants
- **Cartes** : `Card` sans surcharge de style (`rounded-xl border shadow-soft`).
- **États vides** : `components/empty-state.tsx` avec une action suggérée.
- **Parcours de création** : `components/stepper.tsx` (`Stepper` + `StepNavigation`), utilisé par Publication et Reel. On explique toujours pourquoi une étape est verrouillée.
- **Choix exclusifs** : cartes sélectionnables (`RadioGroup` dans un `label` bordé), pas de listes déroulantes quand il y a 2 à 4 options.
- **Suppressions** : toujours confirmées par `AlertDialog`, jamais `confirm()`.
- **Badges** : variantes `success`, `warning`, `info`, `danger`, `muted`.
## Rédaction
- Verbes d'action clairs : « Importer », « Programmer », « Connecter un compte ».
- Pas d'anglicismes (« Uploader », « Token ») ni de jargon technique visible par défaut : les détails vont dans un bloc « Besoin d'aide ? » repliable.