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

@@ -14,8 +14,8 @@
{{if .Error}}<p class="fehler">{{.Error}}</p>{{end}}
<div class="form-card">
<form method="post" action="{{if .ID}}{{.ActionBase}}/{{.ID}}{{else}}{{.ActionBase}}{{end}}">
<fieldset class="form-section">
<legend>Grunddaten</legend>
<div class="form-section">
<h3 class="form-section-title">Grunddaten</h3>
<div class="form-grid">
<div>
<label for="name">Name</label>
@@ -35,10 +35,10 @@
<p class="hinweis">Tatsächliche Länder benennen, nicht "EU"/"Drittland" — die USA sind DSGVO-rechtlich bereits ein Drittland wie jedes andere.</p>
</div>
</div>
</fieldset>
</div>
<fieldset class="form-section">
<legend>Rechtliches &amp; Datenschutz</legend>
<div class="form-section">
<h3 class="form-section-title">Rechtliches &amp; Datenschutz</h3>
<div class="form-grid">
<div class="form-full">
<label>Zusicherungen</label>
@@ -66,10 +66,10 @@
<input type="text" id="subprozessoren" name="subprozessoren" value="{{.Subprozessoren}}">
</div>
</div>
</fieldset>
</div>
<fieldset class="form-section">
<legend>Einsatzbereich</legend>
<div class="form-section">
<h3 class="form-section-title">Einsatzbereich</h3>
<div class="form-grid">
<div class="form-full">
<label>Geeignete Zwecke</label>
@@ -84,10 +84,10 @@
<input type="text" id="einschraenkungen" name="einschraenkungen" value="{{.Einschraenkungen}}">
</div>
</div>
</fieldset>
</div>
<fieldset class="form-section">
<legend>Beleg</legend>
<div class="form-section">
<h3 class="form-section-title">Beleg</h3>
<div class="form-grid">
<div>
<label for="letzte_pruefung">Letzte Prüfung</label>
@@ -98,7 +98,7 @@
<input type="text" id="quelle" name="quelle" value="{{.Quelle}}" required>
</div>
</div>
</fieldset>
</div>
<div class="form-actions">
<button type="submit">Speichern</button>