diff --git a/AGENTS.md b/AGENTS.md
index 8901221..108e725 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -12774,6 +12774,31 @@ Nachts trägt `--warn` selbst genug Kontrast, tagsüber nicht. `#B36200` wäre
näher am reinen Orange, fällt auf dem hinterlegten Grund aber auf 4,11:1 und
damit unter die Grenze - deshalb `#A15800`.
+**Nachgeschlagen am 07.09.2026, auf Nachfrage des Eigentümers, ob die Farbe HIG
+oder Audi CI entspricht** (developer.apple.com/design/human-interface-guidelines/color;
+die Hexwerte stehen dort **nur im Alternativtext der Farbfelder**, nicht im Text -
+über `innerText` sind sie unsichtbar):
+
+| | default light | default dark | increased contrast light |
+|---|---|---|---|
+| Orange | `#FF8D28` | `#FF9230` | `#C55300` |
+| Yellow | `#FFCC00` | `#FFD600` | `#A16A00` |
+
+Zwei Befunde daraus:
+
+1. **Apples eigener Kontrastwert taugt hier nicht.** `#A16A00` liefert auf
+ unserem hinterlegten Grund nur **4,19:1**, `#C55300` nur 4,16:1 - beide unter
+ der Grenze. Apples Schwelle gilt für Schrift auf einfarbigem Grund; die
+ 12 %-Hinterlegung senkt sie darunter. Der gemessene Wert bleibt.
+2. **Die Seite zeigt inzwischen die neue („unified") Palette.** Dort steht
+ systemRed dunkel auf `#FF4245`, dieses Projekt führt `#FF453A` aus der
+ älteren Generation. Einen einzelnen Wert aus der neuen Palette
+ hereinzunehmen wäre ohnehin inkonsistent gewesen.
+
+Und die Ausgangsfrage: die **Fläche** ist Apple (die 2026-08-13 übernommene
+iOS-Palette), das Audi-CI-Gelb `#ffaa00` wurde damals abgelöst und liefert als
+Schrift nur 1,91:1. Die **Schrift** ist gemessen, nicht übernommen.
+
### Geprüft
* **15 Fälle** gegen die echten Panel-Funktionen (aus der Panel-Quelle
@@ -12795,11 +12820,49 @@ damit unter die Grenze - deshalb `#A15800`.
* 327/327 App-Tests, `tsc` sauber, beide Panel-Dateien als **Modul** geparst,
Manifest und Bündel gleichauf auf `2026.9.6.6`, Testcontainer sauber gestartet.
-### Was offen bleibt
+### Größe der Kennzahl auf der Übersicht: 40px -> 32px
-**Optisch nicht gesehen.** Die Markierung ist über Rendertests und gemessene
-Kontraste belegt, nicht über ein Bild - der Testbestand enthält keinen
-überschrittenen Termin (Ölwechsel 2028, Inspektion 2027, HU 2028), und für einen
-Blick ins laufende Panel fehlte die angemeldete Sitzung. Nach der Regel dieses
-Projekts (Abschnitt S: ein sauberer Testlauf beweist kein Layout) steht das
-ausdrücklich als offen, nicht als erledigt.
+Vom Eigentümer als „sehr groß" gemeldet, im Browser bei 375×812 nachgemessen
+(Kachel 307px):
+
+| | Größe | Gewicht | Breite | Anteil der Kachel |
+|---|---|---|---|---|
+| Reichweite „37 km" | 60px | 700 | 107px | 35 % |
+| **Nächster Service „8.600 km"** | **40px** | 300 | **133px** | **43 %** |
+| Kilometerstand „21.355 km" | 20px | 300 | 87px | 28 % |
+
+Der **zweitrangige** Wert war breiter als die Kennzahl darüber - die Reichweite
+hat zwei Ziffern, der Servicewert fünf. Mit einem Datum stand es noch
+deutlicher: „01.03.2028" misst bei 40px **231px**, also 75 % der Kachel. Auf
+32px sind es 108px bzw. 185px; nachgemessen liegt der Servicewert damit auf
+107px der Reichweite gleichauf statt darüber, die Staffelung liest sich als
+60/32/20.
+
+Schrift und Gewicht waren nie das Problem und bleiben: Audi Type Wide 300, in
+beiden Codebasen gleich.
+
+**Das nimmt eine frühere Entscheidung zurück** - am 18.08.2026 hatte der
+Eigentümer 40px ausdrücklich gegenüber 30px gewählt (damals ging es darum, dass
+das Datum dieselbe Größe wie die km-Zahl bekommt). Die Größenordnung selbst
+stand damals nicht zur Debatte.
+
+### Live gesehen (07.09.2026)
+
+Der Eigentümer hat auf einen offenen Browser hingewiesen - damit ließ sich der
+zuerst offen gebliebene Punkt schließen. Am laufenden Entwicklungsserver bei
+375×812, mit **vorübergehend** auf 01.03.2020 zurückdatierter Erstzulassung
+(Hauptuntersuchung damit 03/2023); Profil vorher gesichert, hinterher
+zurückgestellt und geprüft:
+
+* **Übersicht** - „01.03.2023" in `rgb(161, 88, 0)` = `#A15800`, Marke daneben,
+ `.dm-serviceblock--ueberschritten` gesetzt.
+* **Mein Audi** - Zeile „Hauptuntersuchung | 01.03.2023 überschritten", Marke
+ 10,5px in derselben Farbe, Rahmen ebenso.
+* **Service** - nur die Hauptuntersuchung hinterlegt
+ (`color(srgb 1 0.623529 0.0392157 / 0.12)`, also `#FF9F0A` bei 12 %);
+ Ölwechsel (2028) und Inspektion (2027) blieben unmarkiert. Die Unterscheidung
+ greift also, nicht nur die Darstellung.
+
+**Nicht gesehen: das Panel.** Dafür fehlt weiterhin eine angemeldete
+HA-Sitzung; es ist über den Paritätstest und den Modul-Parse belegt, nicht über
+ein Bild.
diff --git a/OFFEN.md b/OFFEN.md
index 02a8a10..bfd3cf9 100644
--- a/OFFEN.md
+++ b/OFFEN.md
@@ -100,14 +100,14 @@ Beispielzahlen in der Statistik und ein überholter TODO-Kommentar.
## 3b. Optisch noch nicht gesehen
-**Die Markierung überschrittener Servicetermine** (`2026.9.6.6`, Abschnitt DJ)
-ist über Rendertests und gemessene Kontraste belegt, aber nie am Bild geprüft -
-der Testbestand hat keinen überschrittenen Termin, und für einen Blick ins
-laufende Panel fehlte die angemeldete Sitzung.
+**Das Panel.** Die Markierung überschrittener Servicetermine (Abschnitt DJ) ist
+in der **App** live geprüft, im **Panel** nicht - dafür fehlt eine angemeldete
+Home-Assistant-Sitzung. Belegt ist es dort über den Paritätstest gegen die
+echten Panel-Funktionen und den Modul-Parse.
-*Was zu tun ist:* einmal ansehen, sobald ein Termin wirklich fällig ist - oder
-mit einer angemeldeten Sitzung und einem vorübergehend zurückdatierten
-Wartungsplan-Eintrag (hinterher zurücksetzen).
+*Was zu tun ist:* bei nächster Gelegenheit mit angemeldeter Sitzung einmal
+ansehen; ein vorübergehend zurückdatiertes Erstzulassungsdatum erzeugt den Fall
+(hinterher zurückstellen).
## 4. Gemeldet, aber nicht reproduzierbar
diff --git a/companion-app/src/screens/Uebersicht.tsx b/companion-app/src/screens/Uebersicht.tsx
index 878bf19..82ef8c2 100644
--- a/companion-app/src/screens/Uebersicht.tsx
+++ b/companion-app/src/screens/Uebersicht.tsx
@@ -256,11 +256,15 @@ export function Uebersicht({ geheZu }: { geheZu: (name: SeitenName, id?: string)
{(() => {
const Symbol = SERVICE_SYMBOL[service.art]
+ /* 40 -> 32 am 07.09.2026: bei 40px war "8.600 km" 133px breit und
+ damit breiter als die Reichweite darueber (60px, 107px) - der
+ zweitrangige Wert schlug den Hauptwert in der Flaeche.
+ Wortgleich mit zahlGroesse im Panel. */
const fig = (
)
return Symbol ? (
diff --git a/companion-app/src/stile/screens.css b/companion-app/src/stile/screens.css
index dc9f8ae..5cdcc88 100644
--- a/companion-app/src/stile/screens.css
+++ b/companion-app/src/stile/screens.css
@@ -2421,9 +2421,17 @@ input[type="range"] {
Zeile lesbar bleibt und der Hinweis trotzdem auffällt (Ansage des
Eigentümers 07.09.2026). --warn ist die Fläche, --warn-text die Schrift -
dieselbe Rollenteilung wie bei --bad/--bad-flaeche im Panel, und aus
- demselben Grund: #FF9F0A als Text auf Weiß sind 2.06:1. Auf dem hier
- hinterlegten Grund (#FFF3E2 tags, #33311E nachts) misst --warn-text 4.90:1
- bzw. 9.30:1 - beides über der 4.5:1-Grenze für kleine Schrift. */
+ demselben Grund: #FF9F0A als Text auf Weiß sind 2.06:1.
+
+ Warum nicht Apples eigener Kontrastwert? Am 07.09.2026 auf
+ developer.apple.com/design/human-interface-guidelines/color nachgeschlagen:
+ Yellow "Increased contrast (light)" ist #A16A00, Orange #C55300 - auf UNSEREM
+ Grund nur 4.19 bzw. 4.16:1. Apples Schwelle gilt für Schrift auf einfarbigem
+ Grund; die 12%-Hinterlegung hier senkt sie darunter. Deshalb der gemessene
+ Wert #A15800 (4.90:1) statt eines übernommenen.
+
+ Auf dem hinterlegten Grund (#FFF3E2 tags, #33311E nachts) misst --warn-text
+ 4.90:1 bzw. 9.30:1 - beides über der 4.5:1-Grenze für kleine Schrift. */
.dm-termingruppe--ueberschritten {
background: color-mix(in srgb, var(--warn) 12%, transparent);
border-radius: var(--r-tile);
diff --git a/custom_components/audi_dashboard/frontend/app/bundle.json b/custom_components/audi_dashboard/frontend/app/bundle.json
index 4e76f86..c194e67 100644
--- a/custom_components/audi_dashboard/frontend/app/bundle.json
+++ b/custom_components/audi_dashboard/frontend/app/bundle.json
@@ -1 +1 @@
-{"version":"2026.9.6.6","sha256":"c9e3d8f25998f38b70e38441a8c0e09d76bbe340845575e9ae769fe12c2fc45e","bytes":379100,"gebaut":"2026-09-07T11:37:53Z"}
\ No newline at end of file
+{"version":"2026.9.6.7","sha256":"1c9c672a258f7540a0186ebc12d32965d472478923ff3c44a013d46f58a3805d","bytes":379101,"gebaut":"2026-09-07T12:06:15Z"}
\ No newline at end of file
diff --git a/custom_components/audi_dashboard/frontend/app/bundle.zip b/custom_components/audi_dashboard/frontend/app/bundle.zip
index 49ca07e..564bdcb 100644
Binary files a/custom_components/audi_dashboard/frontend/app/bundle.zip and b/custom_components/audi_dashboard/frontend/app/bundle.zip differ
diff --git a/custom_components/audi_dashboard/frontend/audi-dashboard-app.js b/custom_components/audi_dashboard/frontend/audi-dashboard-app.js
index 563a8ad..92aca88 100644
--- a/custom_components/audi_dashboard/frontend/audi-dashboard-app.js
+++ b/custom_components/audi_dashboard/frontend/audi-dashboard-app.js
@@ -2465,11 +2465,17 @@ function vHome() {
const hauptwert = restKm !== null
? `${de(restKm)}km`
: (datum === t.datum ? datumText(t.datum, t.genau) : (datum ? dedat(datum) : "–"));
- // Ohne Restkilometer steht das Datum selbst im Zahlenfeld - auf Nutzerwunsch
- // jetzt in derselben Groesse wie die km-Zahl (vorher 30px, damit "15.04.2027"
- // auf 375px nicht umbricht - am laufenden Panel geprueft, dass es bei 40px
- // weiterhin einzeilig bleibt).
- const zahlGroesse = 40;
+ // Ohne Restkilometer steht das Datum selbst im Zahlenfeld - in derselben
+ // Groesse wie die km-Zahl (Nutzerwunsch 18.08.2026, davor 30px).
+ //
+ // 40 -> 32 am 07.09.2026, nachdem der Eigentuemer die Zahl als "sehr gross"
+ // gemeldet hat. Im Browser bei 375px nachgemessen, Kachel 307px breit:
+ // "8.600 km" war bei 40px 133px breit (43% der Kachel) und damit BREITER
+ // als die Reichweite darueber (60px, 107px, 35%) - der zweitrangige Wert
+ // schlug den Hauptwert in der Flaeche. Mit einem Datum stand es noch
+ // deutlicher: "01.03.2028" misst bei 40px 231px, also 75% der Kachel. Bei
+ // 32px sind es 116px bzw. 185px, die Staffelung liest sich als 60/32/20.
+ const zahlGroesse = 32;
// Icon statt "bis zum Ölwechsel"/"bis zur Inspektion" (nur fuer die beiden
// Arten, die eines haben). Die Hauptuntersuchung hat kein Restkilometer-Ziel
// und zeigt stattdessen den Art-Namen selbst unter dem Datum.
diff --git a/custom_components/audi_dashboard/frontend/audi-dashboard.css b/custom_components/audi_dashboard/frontend/audi-dashboard.css
index 7be986b..6fcaae7 100644
--- a/custom_components/audi_dashboard/frontend/audi-dashboard.css
+++ b/custom_components/audi_dashboard/frontend/audi-dashboard.css
@@ -659,8 +659,23 @@ button.leaf:active { background: var(--tile-2); }
Zeile lesbar bleibt und der Hinweis trotzdem auffaellt (Ansage des
Eigentuemers 07.09.2026). --warn ist die Flaeche, --warn-text die Schrift -
dieselbe Rollenteilung wie bei --bad/--bad-flaeche, und aus demselben Grund:
- #FF9F0A als Text auf Weiss sind 2.06:1. Auf dem hier hinterlegten Grund
- (#FFF3E2 tags, #33311E nachts) misst --warn-text 4.90:1 bzw. 9.30:1. */
+ #FF9F0A als Text auf Weiss sind 2.06:1.
+
+ Warum nicht Apples eigener Kontrastwert? Am 07.09.2026 auf
+ developer.apple.com/design/human-interface-guidelines/color nachgeschlagen
+ (die Werte stehen dort nur im Alternativtext der Farbfelder, nicht im Text):
+ Yellow "Increased contrast (light)" ist #A16A00, Orange #C55300. Beide
+ liefern auf UNSEREM Grund nur 4.19 bzw. 4.16:1 - Apples Schwelle gilt fuer
+ Schrift auf einfarbigem Grund, die 12%-Hinterlegung hier senkt sie darunter.
+ Deshalb der gemessene Wert #A15800 (4.90:1) statt eines uebernommenen.
+
+ Nebenbefund derselben Recherche: die Seite zeigt inzwischen die neue
+ ("unified") Palette - systemRed dunkel steht dort auf #FF4245, dieses Projekt
+ fuehrt #FF453A aus der aelteren. Einen einzelnen Wert aus der neuen Generation
+ hereinzunehmen waere ohnehin inkonsistent gewesen.
+
+ Auf dem hier hinterlegten Grund (#FFF3E2 tags, #33311E nachts) misst
+ --warn-text 4.90:1 bzw. 9.30:1. */
.termingruppe.ueberschritten {
background: color-mix(in srgb, var(--warn) 12%, transparent);
border-radius: var(--r-tile); padding-left: 12px; padding-right: 12px;
diff --git a/custom_components/audi_dashboard/manifest.json b/custom_components/audi_dashboard/manifest.json
index 73e7bf6..f89902b 100644
--- a/custom_components/audi_dashboard/manifest.json
+++ b/custom_components/audi_dashboard/manifest.json
@@ -1,7 +1,7 @@
{
"domain": "audi_dashboard",
"name": "Audi Dashboard",
- "version": "2026.9.6.6",
+ "version": "2026.9.6.7",
"documentation": "https://gitea.nothaft.cloud/paul/audi-app/src/branch/main/README.md",
"issue_tracker": "https://gitea.nothaft.cloud/paul/audi-app/issues",
"codeowners": [