Index: src/assets/css/ward.css
===================================================================
--- src/assets/css/ward.css	(revision 303bfc4daeb122010e84e14370b612f2e7e286f4)
+++ src/assets/css/ward.css	(revision 303bfc4daeb122010e84e14370b612f2e7e286f4)
@@ -0,0 +1,44 @@
+/* De Ward PWA: rustig, groot genoeg voor een kind, donker als de rest. */
+:root {
+  --bg: #141a24;
+  --card: #1c2431;
+  --ink: #eef2f8;
+  --dim: #9aa7bb;
+  --accent: #5a32e6;
+  --alarm: #ef9f27;
+  --ok: #46c26a;
+}
+* { box-sizing: border-box; }
+body {
+  margin: 0; padding: 16px calc(16px + env(safe-area-inset-right)) 32px calc(16px + env(safe-area-inset-left));
+  background: var(--bg); color: var(--ink);
+  font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
+}
+h1 { font-size: 1.4rem; margin: 8px 0 20px; }
+h2 { font-size: 1rem; margin: 24px 0 10px; color: var(--dim); font-weight: 600; }
+
+/* De hulpknop is het belangrijkste element op deze pagina en ziet er ook zo
+   uit: vol breed, grote raakzone, geen concurrentie eromheen. */
+.help button {
+  width: 100%; padding: 18px; border: 0; border-radius: 14px;
+  background: var(--accent); color: #fff; font-size: 1.1rem; font-weight: 600;
+}
+.help button:disabled { background: #3a3f4d; color: var(--dim); }
+.help .hint { margin: 8px 2px 0; color: var(--dim); font-size: .85rem; }
+
+.list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
+.card { background: var(--card); border-radius: 12px; padding: 12px 14px; }
+.row { display: flex; align-items: center; gap: 10px; }
+.name { font-weight: 600; margin: 0; }
+.hint { color: var(--dim); font-size: .85rem; margin: 6px 0 0; }
+.empty { color: var(--dim); }
+
+.chip { margin-left: auto; font-size: .75rem; padding: 3px 9px; border-radius: 999px; background: #2a3342; color: var(--dim); }
+.chip.ok { background: rgba(70,194,106,.16); color: var(--ok); }
+.chip.away { background: rgba(239,159,39,.16); color: var(--alarm); }
+
+/* Misvormd krijgt de alarmkleur, onbereikbaar bewust NIET: niet-weten is geen
+   misconfiguratie. Maar het is ook geen goedkeuring, dus het staat er wel. */
+.note { margin: 8px 0 0; font-size: .85rem; padding: 6px 9px; border-radius: 8px; }
+.note.alarm { background: rgba(239,159,39,.16); color: var(--alarm); }
+.note.unknown { background: rgba(154,167,187,.14); color: var(--dim); }
