Fondations
Couleurs
Toutes les couleurs viennent des tokens --color-* de la charte Forme,
définis une seule fois dans @forme-ch/design-system. Chaque token utilise
light-dark() : la même variable s'adapte au thème clair ou sombre sans code
conditionnel. Bascule le thème (en haut à droite) pour voir les valeurs changer ci-dessous.
#hex) dans une app.
On référence un token. C'est ce qui garantit le thème sombre, la cohérence et la maintenabilité.
États — palette « Vif »
Trois couleurs, et seulement trois, disent l'état d'une chose : émeraude, orange, framboise
(adoptées le 1er octobre 2026). Chacune passe le contraste AA en texte comme en
remplissage, sur fond clair et sur fond sombre. Une hausse ou une baisse chiffrée réutilise le
même vert et le même rouge (--c-up / --c-down
dans les apps, --dv-up / --dv-down en dataviz).
Payé, accepté, sain, en ligne
- Texte / plein
--color-success- Fond teinté
--color-background-green- Bordure
--color-border-green- Clair · sombre
#047857·#34d399
À relancer, à vérifier, dégradé
- Texte / plein
--color-warning- Fond teinté
--color-background-orange- Bordure
--color-border-orange- Clair · sombre
#c2410c·#fb923c
En retard, refusé, en perte, panne
- Texte / plein
--color-error- Fond teinté
--color-background-red- Bordure
--color-border-red- Clair · sombre
#e11d48·#fb7185
- Une couleur d'état ne sert qu'à un état. Une catégorie (type de mandat, membre, série de graphe) prend la palette catégorielle, jamais le vert ou le rouge.
- Un état n'est jamais porté par la couleur seule : il s'accompagne d'un libellé ou d'une icône.
- Badge = fond teinté + texte de la même famille. Pastille et barre = couleur pleine.
Texte
Surfaces
Gris neutres uniquement (R = G = B) : aucune surface ne tire sur le brun ou le bleu.
Bordures
Accent
Monochrome : l'accent Forme est noir en clair, blanc en sombre.
Palette texte
Teintes nommées, pour badges et catégories.
Palette fonds
Dataviz
Jetons de rôle des graphiques (@forme-ch/ui/styles/dataviz.css). La palette
catégorielle est validée pour les daltonismes (protanopie, deutéranopie, tritanopie) en clair et en
sombre : on l'utilise dans cet ordre fixe, sans la réordonner. Au-delà de cinq séries, on regroupe en
« Autres » (--dv-cat-neutral) ou on passe aux petits multiples.
Usage
Réfère un token en CSS, jamais une valeur littérale :
.mon-bloc {
color: var(--color-text-primary);
background: var(--color-background-card);
border: 1px solid var(--color-border);
}