fix: fieldset/legend durch echte Überschriften ersetzt, globales CSS vervollständigt

<legend> positioniert sich per Spezifikation immer auf der oberen
Rahmenlinie seines <fieldset> - das lässt sich nicht per CSS aufheben,
nur kaschieren. Die vorherige "Nachbesserung" (mehr Padding/Breite auf
der legend) war ein Pflaster, kein Fix - kam prompt wieder zum
Vorschein, sobald eine neue .form-section-Seite entstand. .form-section
ist jetzt ein <div>, die Überschrift ein normales <h3
class="form-section-title"> mit voller CSS-Kontrolle. Betrifft alle
neun Vorlagen mit diesem Muster.

Zusätzlich alle restlichen unstyled Formulare (Login, Passwort-Reset,
Einladung annehmen, Nutzer anlegen, CSV-Import, Abteilung anlegen,
Firma umbenennen, Fall-Entscheiden) auf dasselbe form-card/form-section/
form-grid-Muster gehoben, für durchgängig konsistentes globales CSS
statt gemischter roher und gestylter Formulare. antrag_neu.html (der
Fragebogen) bleibt bewusst unverändert - dessen fieldset/legend haben
keinen Rahmen-Konflikt und sind an bereits getestete :has()-Adaptivlogik
gekoppelt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
noroot
2026-09-01 12:18:35 +02:00
parent 7db4707bc5
commit cbe68b16c9
19 changed files with 254 additions and 121 deletions

View File

@@ -1051,6 +1051,44 @@ wie die Formular-Abschnitte angehoben (600/1rem statt 500/0.9375rem) —
für eine einheitliche Überschriften-Hierarchie statt Zufallsgrößen je
nach UA-Stylesheet.
**Endgültige Korrektur — `fieldset`/`legend` durch echte Überschriften
ersetzt (2026-09-01):** die obige "Nachbesserung" war ein Pflaster auf
dem eigentlichen Problem, nicht die Ursache behoben — sie kam prompt
wieder zum Vorschein, sobald eine neue `.form-section`-Seite entstand
(Betreiber-Firmenanlage), und der Nutzer wies zu Recht darauf hin, dass
das "immer wieder derselbe Fehler" sei. Der eigentliche Grund:
`<legend>` positioniert sich **laut Spezifikation immer** auf der
oberen Rahmenlinie seines `<fieldset>` — das ist seine definierte
Funktion (die Box zu betiteln) und lässt sich durch kein Padding/keine
Breite aufheben, nur kaschieren. `.form-section` ist deshalb jetzt ein
`<div>` (kein `<fieldset>` mehr), die Überschrift ein normales `<h3
class="form-section-title">` — verhält sich wie jede andere Überschrift,
volle CSS-Kontrolle, keine Sonderregeln. Betrifft alle neun Vorlagen,
die das Muster nutzen (`register.html`, `betreiber_account_neu.html`,
`firmendaten.html`, `login.html`, `loeschfristen_liste.html`,
`genehmiger_rollen_liste.html`, `freigabe_regeln_liste.html`,
`email_vorlage_bearbeiten.html`, `betreiber_werkzeug_form.html`).
`antrag_neu.html` (der Fragebogen) bleibt bewusst unverändert — dessen
`fieldset`/`legend` sind einfache, nicht-kartierte Elemente ohne
Rahmen-Konflikt, an eine bereits getestete `:has()`-Adaptivlogik
(Folgefragen ein-/ausblenden) gekoppelt; ein Umbau hätte unnötiges
Risiko für rein kosmetischen Gewinn bedeutet, da dort gar kein
sichtbarer Rahmen existiert, mit dem die Legend kollidieren könnte.
**Restliche unstyled Formulare auf dasselbe Muster gehoben
(2026-09-01):** `passwort_vergessen.html`, `passwort_zuruecksetzen.html`,
`einladung.html`, `nutzer_neu.html` (Rollenauswahl jetzt `.chip-group`
statt nacktem `fieldset`), `nutzer_import.html`, `abteilung_liste.html`
(Anlegen-Formular), `betreiber_account_detail.html` (Umbenennen-
Formular), sowie der komplette "Entscheiden"-Bereich in
`fall_detail.html` (Entscheidung jetzt `.chip-group` statt nacktem
`fieldset`) — alle jetzt `.form-card`/`.form-section`/`.form-grid`
statt roher `<label>`+`<input>`-Ketten. Explizit **nicht** angefasst:
`antrag_neu.html` (siehe oben), sowie reine Listen-Aktionsformulare
(Filter, Löschen-/Aktivieren-Buttons in `.beitraege-liste`-Zeilen) —
die haben ihr eigenes, bereits passendes CSS-Muster und keinen
Formular-Charakter im hier gemeinten Sinn.
**enconf-Patterns übertragen (2026-08-31):** enconf (Schwesterprojekt)
ist React + Ant Design (`ProTable`/`StatCard`/`PageHeader`-Komponenten)
— nicht 1:1 übernehmbar, da Deklarix bewusst kein SPA ist, aber die