- Neue Tabelle health_media (Migration in database.py) analog zu diary_media
- GET-Endpoints geben media_items:[{id,url,media_type}] zurück (datei_url bleibt für Rückwärtskompatibilität)
- POST /health/{id}/media und DELETE /health/{id}/media/{media_id} Endpoints
- Multi-Upload-Bereich im Formular: Thumbnails für Bilder, PDF-Icon, X-Button zum Entfernen
- Galerie in Detailansicht: Bilder klickbar/zoombar, PDFs als Link
- CSS-Klassen health-media-grid/thumb/gallery in components.css
- SW by-v213, APP_VER 187
- intervall_tage Feld (monatlich/vierteljährlich/jährlich etc.)
- Impfung, Entwurmung, Medikament: Intervall-Auswahl im Formular
- Erinnerungs-Banner über den Tabs: zeigt alle Einträge die in ≤60 Tagen fällig sind
- Ampel-Farbe am linken Rand (rot=überfällig, gelb=bald, grün=ok)
- "✓ Erledigt"-Button öffnet neues Formular vorausgefüllt mit heute + nächstem Termin
- Nav-Badge (Zahl) auf Gesundheit-Icon wenn Einträge überfällig/bald fällig
- _showForm: isEdit prüft entry?.id statt !!entry (Reminder-Flow)
- SW-Cache → by-v16
Neue Praxen-Tab in Gesundheit: Tierarzt-Stammdaten (Name, Adresse,
Telefon, Notfall-Nr, E-Mail, Website, Notizen), Anruf- und
Notfall-Schnellzugriff via tel:-Links, Soft-Delete (aktiv=0) für
Praxiswechsel ohne Datenverlust. Tierarzt-Dropdown beim Eintragen
von Tierarzt-Besuchen. SW-Cache → by-v7.