CI / build-and-test (push) Canceled after 0s
TimeOnly.FromDateTime(DateTime.Now).AddHours(+-2) wickelt bei Mitternacht um (TimeOnly hat keinen Datumsanteil) - je nach Ausfuehrungsuhrzeit (ca. 22:00-02:00) landete "+2 Stunden" zeitlich vor statt nach "jetzt" oder umgekehrt, wodurch zwei Tests zufaellig rot wurden statt das eigentliche Verhalten (Wartezeit nach Unterrichtsende) zu pruefen. Per Gegenprobe auf unveraendertem main bestaetigt: dieselbe Flakiness besteht dort bereits. DashboardViewModel erhaelt einen optionalen Func<DateTime>? now-Konstruktorparameter (Default DateTime.Now, gleiches Muster wie die bereits bestehenden optionalen annualPlanEvents/ schoolWeather-Parameter) und nutzt ihn statt direkter DateTime.Now-Aufrufe in Load() und LoadMissingTeachingTime. Die beiden betroffenen Tests injizieren jetzt einen festen Referenzzeitpunkt (ein Feiertags-freier Dienstag im September) und sind damit unabhaengig von der tatsaechlichen Ausfuehrungsuhrzeit deterministisch gruen. Details siehe TODO.md, Abschnitt 9 (Dashboard).