/* Mitglied ändern: Formular mit Suche. Nur Tokens aus tokens.css und den Bausteinen. */
.actions .knopf--primaer { flex: 1; }

/* Symbole in den Abschnittsköpfen (statt Emoji) */
.sym-kopf { flex: none; inline-size: 1.5rem; block-size: 1.5rem; color: var(--blue-dark); }
.sym-text { inline-size: 1.25rem; block-size: 1.25rem; vertical-align: -0.25rem; margin-inline-end: var(--abstand-xs); }
.seite-kopfsymbol { flex: none; inline-size: 2rem; block-size: 2rem; margin-block-start: 0.125rem; color: var(--blue-dark); }

input[type="file"] {
  padding: var(--abstand-sm) var(--abstand-md);
  cursor: pointer;
  background: var(--blue-light);
  border-style: dashed;
}
input[type="file"]:hover { border-color: var(--blue-mid); }

.datei-liste { list-style: none; padding: 0; margin: var(--abstand-sm) 0 0; }
.datei-liste li {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--abstand-xs);
  font-size: var(--schrift-klein);
  color: var(--muted);
  padding: var(--abstand-xs) 0;
  border-bottom: 1px solid var(--border);
}
.datei-liste li:last-child { border-bottom: none; }
.datei-liste .symbol { inline-size: 1.25rem; block-size: 1.25rem; flex: none; }
.datei-liste__groesse { color: var(--muted); }
.dokumente-vorschau { margin-top: var(--abstand-sm); }
.dokumente-vorschau[hidden] { display: none; }

.status-zeile { margin: 0; padding: var(--abstand-sm) 0; font-size: var(--schrift-text); color: var(--muted); }

/* Schalter für die Spendenquittung: Fläche mindestens 44 px hoch */
.toggle-wrap { display: flex; align-items: center; gap: var(--abstand-md); }
.toggle { position: relative; display: inline-block; width: 3.25rem; height: var(--tippflaeche); flex-shrink: 0; margin: 0; }
.toggle input { opacity: 0; width: 100%; height: 100%; margin: 0; position: absolute; inset: 0; cursor: pointer; }
.toggle__slider {
  position: absolute;
  inset: 0.625rem 0;
  background: var(--farbe-rand-steuerelement);
  border-radius: var(--radius-rund);
  transition: background 0.2s;
  pointer-events: none;
}
.toggle__slider::before {
  content: "";
  position: absolute;
  width: 1.125rem;
  height: 1.125rem;
  left: 0.1875rem;
  top: 0.1875rem;
  background: var(--farbe-flaeche);
  border-radius: 50%;
  transition: transform 0.2s;
}
.toggle input:checked + .toggle__slider { background: var(--farbe-ok); }
.toggle input:checked + .toggle__slider::before { transform: translateX(1.25rem); }
.toggle input:focus-visible + .toggle__slider { outline: 3px solid var(--focus); outline-offset: 2px; }
.toggle-label { font-size: var(--schrift-text); color: var(--muted); font-weight: 600; }
.toggle-label--an { color: var(--farbe-ok); }

textarea {
  width: 100%;
  min-height: 10rem;
  resize: vertical;
  padding: var(--abstand-md);
  border: 1px solid var(--border-input);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--text);
  font: inherit;
  line-height: 1.55;
}
textarea::placeholder { color: var(--muted); }
textarea:focus { border-color: var(--blue-mid); box-shadow: 0 0 0 4px var(--focus); }

.field-hint { margin-top: var(--abstand-sm); font-size: var(--schrift-klein); line-height: 1.45; color: var(--muted); }
.hinweis-zeile { margin: var(--abstand-sm) 0 0; font-size: var(--schrift-klein); color: var(--muted); }

/* Lade-Meldung (Baustein .meldung) */
.lade-meldung { margin-top: var(--abstand-md); }
.lade-meldung[hidden] { display: none; }
.lade-meldung.meldung { grid-template-columns: auto 1fr; }
.lade-meldung .meldung__aktion { grid-column: 2; }

.bestehende-dateien {
  margin-top: var(--abstand-md);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  padding: var(--abstand-md);
}
.bestehende-dateien[hidden] { display: none; }
.bestehende-dateien__title { font-size: var(--schrift-text); font-weight: 700; color: var(--text); margin-bottom: var(--abstand-sm); }
.bestehende-dateien__hint { font-size: var(--schrift-klein); color: var(--muted); margin-bottom: var(--abstand-md); }
.datei-checkliste { display: flex; flex-direction: column; gap: var(--abstand-sm); }
.datei-check {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  align-items: start;
  gap: var(--abstand-md);
  min-height: var(--tippflaeche);
  padding: var(--abstand-sm) var(--abstand-md);
  border: 1px solid var(--border);
  border-radius: var(--radius-feld);
  background: var(--surface);
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  cursor: pointer;
}
.datei-check input[type="checkbox"] { margin: 0.2rem 0 0; width: 1.25rem; height: 1.25rem; }
.datei-check__body { min-width: 0; width: 100%; }
.datei-check__name { display: block; font-size: var(--schrift-text); font-weight: 600; color: var(--text); line-height: 1.35; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.datei-check__meta { display: block; margin-top: 0.18rem; font-size: var(--schrift-klein); color: var(--muted); line-height: 1.35; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }

/* Live-Suche nach Mitgliedern */
.autocomplete-container { position: relative; }
.autocomplete-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: none;
  border-radius: 0 0 var(--radius-feld) var(--radius-feld);
  box-shadow: var(--schatten-schwebend);
  max-height: 14rem;
  overflow-y: auto;
  z-index: 50;
  display: none;
}
.autocomplete-list.active { display: block; }
.autocomplete-item {
  display: flex;
  align-items: center;
  min-height: var(--tippflaeche);
  padding: var(--abstand-sm) var(--abstand-md);
  cursor: pointer;
  font-size: var(--schrift-text);
  border-bottom: 1px solid var(--border);
  color: var(--text);
  transition: background 0.1s ease;
}
.autocomplete-item:last-child { border-bottom: none; }
.autocomplete-item:hover { background: var(--blue-light); color: var(--blue-dark); }
.autocomplete-item .item-name { font-weight: 600; }
.autocomplete-item .item-nr { font-size: var(--schrift-klein); color: var(--muted); margin-left: var(--abstand-sm); }
