label{display:grid;gap:.35rem;color:var(--muted);font-size:.88rem;font-weight:750}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-strong);color:var(--text);padding:.68rem .78rem;outline:none}textarea{min-height:7rem;resize:vertical}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--theme-focus-ring)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field.full{grid-column:1/-1}.message{display:none;margin-top:1rem;padding:.8rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft)}.message.show{display:block}.message.error{border-color:color-mix(in srgb,var(--danger) 55%,transparent);color:#ffd4d1}.message.success{border-color:color-mix(in srgb,var(--success) 55%,transparent);color:#dfffe4}
/* Gemeinsame Checkbox-/Consent-Zeile (Komponentenname aus dem Ursprungsdesign).
   Eine Regel fuer die ganze Anwendung - keine Einzelfixes je Seite.
   Die Box sitzt oben buendig an der ERSTEN Textzeile, damit mehrzeilige
   Zustimmungstexte sauber unter sich einruecken statt die Box zu zentrieren. */
input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;min-height:0;flex:0 0 auto;margin:0;accent-color:var(--brand);cursor:pointer}
.checkbox-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;margin-bottom:.9rem;color:var(--text);font-weight:400;cursor:pointer}
.checkbox-row>input[type=checkbox],.checkbox-row>input[type=radio]{margin-top:.15rem}
.checkbox-row>span{line-height:1.45;min-width:0;overflow-wrap:anywhere}
.checkbox-row>span a{color:var(--brand)}
.checkbox-row:last-child{margin-bottom:0}
@media(max-width:700px){.checkbox-row{gap:.6rem}}
/* Datumsfeld (LevelOneDate): echtes Textfeld + touchfreundliche Schnellauswahl.
   Ersetzt den nativen Datepicker dort, wo weit zurueckliegende Daten
   eingegeben werden (Geburtsdatum) - siehe /static/js/ui/date-field.js. */
.date-field{position:relative;display:block}
.date-field>input{padding-right:2.9rem}
.date-field-toggle{position:absolute;top:50%;right:.4rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:pointer}
.date-field-toggle:hover,.date-field-toggle:focus-visible{border-color:var(--brand);color:var(--text);outline:none}
.date-field-toggle svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.date-field-pop{position:absolute;z-index:70;top:calc(100% + .4rem);left:0;width:min(21rem,calc(100vw - 2rem));padding:.7rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);box-shadow:var(--shadow)}
.date-field-head{display:grid;grid-template-columns:4.2rem minmax(0,1fr) 5.2rem;gap:.4rem;margin-bottom:.6rem}
.date-field-head select{min-height:2.6rem;padding:.4rem .5rem;font-weight:700}
.date-field-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.15rem;margin-bottom:.25rem}
.date-field-week span{text-align:center;color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}
.date-field-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.15rem}
.date-field-days button{min-height:2.3rem;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:.85rem;font-weight:700;cursor:pointer}
.date-field-days button:hover:not(:disabled),.date-field-days button:focus-visible{border-color:var(--brand);background:var(--brand-soft);outline:none}
.date-field-days button.is-selected{border-color:var(--brand);background:var(--brand);color:var(--theme-button-text,#fff)}
.date-field-days button:disabled{opacity:.28;cursor:default}
@media(max-width:700px){.date-field-pop{left:auto;right:0}.date-field-days button{min-height:2.6rem}.date-field-head select{min-height:2.8rem}}
