195 lines
4.8 KiB
Markdown
195 lines
4.8 KiB
Markdown
# 🎨 Kleur Stylesheet – Mini‑ECD (v2, UX‑geoptimaliseerd)
|
||
|
||
> Doel: consistente, toegankelijke kleuren met **lage cognitieve belasting**. Accentpalet teruggebracht tot **3 modules** (Afspraken, Medicatie/Herinneringen, Lab/Resultaten). Inclusief duidelijke states en contrastrichtlijnen.
|
||
|
||
---
|
||
|
||
## 🌐 Basiskleuren
|
||
|
||
* **App‑achtergrond**: `#F8FAFC`
|
||
* **Oppervlak (kaarten/modals)**: `#FFFFFF`
|
||
* **Sub‑oppervlak** (sekundair paneel/right‑rail): `#F1F5F9`
|
||
* **Tekst primair**: `#0F172A`
|
||
* **Tekst secundair**: `#475569`
|
||
* **Borders/Dividers**: `#E2E8F0`
|
||
|
||
**WCAG tip:** tekst op witte of zachte pastelfondsen ≥ `#0F172A` / `#1E293B` voor AA‑contrast.
|
||
|
||
---
|
||
|
||
## 🔹 Merk & Primaire UI
|
||
|
||
* **Primary / Brand**: `#3B82F6`
|
||
|
||
* Hover: `#2563EB`
|
||
* Active: `#1D4ED8`
|
||
* Subtle bg (chips, empty‑states): `#EFF6FF`
|
||
* On‑Primary text/icon: `#FFFFFF`
|
||
|
||
* **Neutral CTA (secundair/terug)**: `#334155`
|
||
|
||
* Hover: `#1F2937`
|
||
* On‑Neutral: `#FFFFFF`
|
||
|
||
---
|
||
|
||
## 📊 Module‑accenten (gereduceerd)
|
||
|
||
Gebruik **max. drie** accentfamilies. Pastel voor kaarten + een verzadigd accent voor iconen/teksten.
|
||
|
||
1. **Afspraken**
|
||
|
||
* Card bg: `#E8F8EF`
|
||
* Accent (icon/label): `#16A34A`
|
||
* Border: `#CDECDC`
|
||
|
||
2. **Medicatie / Herinneringen**
|
||
|
||
* Card bg: `#FEF6DC`
|
||
* Accent: `#F59E0B`
|
||
* Border: `#F6E7B6`
|
||
|
||
3. **Lab / Resultaten**
|
||
|
||
* Card bg: `#FFEBDC`
|
||
* Accent: `#F97316`
|
||
* Border: `#FFD2B8`
|
||
|
||
> **Toegankelijkheid:** tekst op pastelkaarten in **donkergrijs `#0F172A`**. Accentkleur enkel voor iconen/badges/kleine headings.
|
||
|
||
---
|
||
|
||
## ⚠️ Status & Feedback
|
||
|
||
* **Success**: `#16A34A`
|
||
* **Warning**: `#EAB308`
|
||
* **Error**: `#DC2626`
|
||
* **Info**: `#3B82F6`
|
||
|
||
**Subtle backgrounds**
|
||
|
||
* Success subtle: `#ECFDF5`
|
||
* Warning subtle: `#FEFCE8`
|
||
* Error subtle: `#FEF2F2`
|
||
* Info subtle: `#EFF6FF`
|
||
|
||
**Toasts/alerts**
|
||
|
||
* Tekst: `#0F172A`
|
||
* Icon: statuskleur
|
||
* Border: statuskleur op 30% (bijv. mix met wit)
|
||
|
||
---
|
||
|
||
## 🏷️ Badges & Labels (Severity DSM‑light)
|
||
|
||
* **Laag**: bg `#E5E7EB`, text `#374151`
|
||
* **Middel**: bg `#FEF3C7`, text `#92400E`
|
||
* **Hoog**: bg `#FEE2E2`, text `#991B1B`
|
||
|
||
---
|
||
|
||
## ✍️ Formulieren & Invoervelden
|
||
|
||
* **Input bg**: `#FFFFFF`
|
||
* **Input text**: `#0F172A`
|
||
* **Placeholder**: `#94A3B8`
|
||
* **Border default**: `#CBD5E1`
|
||
* **Border hover**: `#94A3B8`
|
||
* **Focus**: 2px ring `#3B82F6` + 1px inset border `#2563EB`
|
||
* **Disabled**: bg `#F1F5F9`, text `#94A3B8`, border `#E2E8F0`
|
||
* **Invalid**: border `#DC2626`, help‑text `#B91C1C`
|
||
|
||
**Select/Dropdown**
|
||
|
||
* Menu bg: `#FFFFFF`
|
||
* Hover option: `#F1F5F9`
|
||
* Active/selected: left bar `#3B82F6`
|
||
|
||
---
|
||
|
||
## 🧩 Component‑states (Buttons/Links/Cards)
|
||
|
||
**Primary button**
|
||
|
||
* Default: bg `#3B82F6`, text `#FFFFFF`
|
||
* Hover: bg `#2563EB`
|
||
* Active: bg `#1D4ED8`
|
||
* Disabled: bg `#BFDBFE`, text `#FFFFFF` @ 70%
|
||
|
||
**Secondary button**
|
||
|
||
* Default: bg `#334155`, text `#FFFFFF`
|
||
* Hover: bg `#1F2937`
|
||
* Disabled: bg `#CBD5E1`, text `#FFFFFF` @ 60%
|
||
|
||
**Ghost button**
|
||
|
||
* Text: `#334155`; hover bg: `#F1F5F9`
|
||
|
||
**Links**
|
||
|
||
* Default: `#2563EB`
|
||
* Hover/Focus: underline + `#1D4ED8`
|
||
* Visited: `#4F46E5`
|
||
|
||
**Cards**
|
||
|
||
* Default: bg `#FFFFFF`, border `#E2E8F0`, shadow sm
|
||
* Hoverable variant: shadow md + translateY(‑1px)
|
||
|
||
---
|
||
|
||
## 🗺️ Navigatie
|
||
|
||
* **Sidebar item**
|
||
|
||
* Default text: `#334155`
|
||
* Active: text `#0F172A`, bg `#E2E8F0`, left accent bar `#3B82F6`
|
||
* Disabled: text `#94A3B8`
|
||
|
||
* **Topbar**
|
||
|
||
* Bg: `#FFFFFF`, border‑bottom: `#E2E8F0`
|
||
|
||
---
|
||
|
||
## 🌫️ Elevation & Focus
|
||
|
||
* **Shadows**
|
||
|
||
* sm: `0 1px 2px rgba(15,23,42,0.06)`
|
||
* md: `0 2px 6px rgba(15,23,42,0.08)`
|
||
* lg: `0 8px 20px rgba(15,23,42,0.10)`
|
||
|
||
* **Focus ring (universeel)**: 2px `#3B82F6` buiten het element + 1px contrast‑border.
|
||
|
||
---
|
||
|
||
## ♿ Toegankelijkheidsrichtlijnen
|
||
|
||
* Minimale contrastverhouding **AA**:
|
||
|
||
* Body‑tekst op wit ≥ 4.5:1 (gebruik `#0F172A`/`#1E293B`)
|
||
* Tekst op gekleurde knoppen altijd **wit** (`#FFFFFF`) en check contrast.
|
||
* Gebruik niet alleen kleur: combineer status met **icoon**, **label** of **shape**.
|
||
* Focus is altijd zichtbaar (geen `outline: none`).
|
||
|
||
---
|
||
|
||
## 🔧 Semantische tokens (aliasing)
|
||
|
||
Gebruik semantische namen in code i.p.v. ruwe HEX‑waarden:
|
||
|
||
* `--color-bg`, `--color-surface`, `--color-text`, `--color-border`
|
||
* `--color-brand`, `--color-brand-hover`, `--color-info`, `--color-success`, `--color-warning`, `--color-error`
|
||
* `--color-module-appointments`, `--color-module-meds`, `--color-module-labs`
|
||
|
||
---
|
||
|
||
## 📌 Notities
|
||
|
||
* Accentpalet bewust klein gehouden → minder visuele ruis, sneller scannen.
|
||
* Kaarten tonen **accent** alleen in icoon/badge of kleine titel; content blijft donker op licht voor leesbaarheid.
|
||
* Voor donker thema kunnen bovenstaande waarden gespiegeld worden met lichtere teksten en donkerder oppervlakken.
|