/* Modul verwaltung: Benutzer, Einstellungen, Protokoll, Mein Konto */
.tabelle-rolle { overflow-x: auto; background: var(--hemd); border: 1px solid var(--linie); }
.verw-tabelle { width: 100%; min-width: 46rem; border-collapse: collapse; }
.verw-tabelle th, .verw-tabelle td { padding: .625rem .75rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--linie); }
.verw-tabelle thead th { font-size: .9375rem; color: var(--leise); background: var(--rose); }
.verw-tabelle tbody th { font-weight: 600; }
.verw-tabelle .knopf { min-height: 2.25rem; padding: .125rem .625rem; font-size: .9375rem; }
.nur-lesen { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

.einst-aufbau { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 52rem) { .einst-aufbau { grid-template-columns: 13rem minmax(0, 1fr); } }
.einst-navi { display: flex; flex-wrap: wrap; gap: .375rem; }
@media (min-width: 52rem) { .einst-navi { flex-direction: column; flex-wrap: nowrap; } }
.einst-navi button { min-height: var(--ziel); padding: .25rem .875rem; background: var(--hemd); border: 1px solid var(--linie); border-radius: 3px; text-align: left; }
.einst-navi button[aria-pressed="true"] { background: var(--wand); border-color: var(--wand); color: #fff; font-weight: 600; }
.einst-karte { padding: 1rem 1.25rem 1.25rem; background: var(--hemd); border: 1px solid var(--linie); border-top: 4px solid var(--wand); min-width: 0; }
.einst-karte h2 { margin-top: 0; }
.einst-form { display: grid; gap: 1.25rem; max-width: 40rem; }
.einst-feld { display: grid; gap: .25rem; }
.einst-feld .haken { font-weight: 600; }
.mit-suffix { display: flex; gap: .5rem; align-items: center; }
.mit-suffix input { max-width: 8rem; }
.knopf:disabled { opacity: .5; cursor: not-allowed; }

.audit-filter { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; margin-bottom: 1rem; }
.audit-filter label { flex: 1 1 12rem; }

.konto-aufbau { display: grid; gap: 1rem; align-items: start; }
@media (min-width: 52rem) { .konto-aufbau { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.regeln { display: grid; gap: .25rem; }
.regeln li { padding-left: 1.75rem; position: relative; color: var(--leise); }
.regeln li::before { content: "○"; position: absolute; left: .25rem; }
.regeln li.ok { color: #1d5a43; }
.regeln li.ok::before { content: "✔"; }

/* Mitarbeiterverwaltung: Liste mit Foto, Blatt mit Reitern, Foto, Vertrag, Austritt */
.ma-tabelle td:first-child { width: 3.5rem; }
.ma-kopf { display: flex; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.ma-kopf h2 { margin: 0; }
.gesicht-mittel { width: 4rem; height: 4rem; font-size: 1.375rem; }
.gesicht-gross { width: 7.5rem; height: 7.5rem; font-size: 2.25rem; }
.ma-foto { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.ma-gruppe { display: grid; gap: .5rem; margin: 0; padding: .75rem 1rem; border: 1px solid var(--linie); border-radius: 3px; min-width: 0; }
.ma-gruppe legend { padding: 0 .25rem; font-weight: 600; }
.ma-sperre { display: grid; gap: .75rem; margin: 0; padding: 0; border: 0; min-width: 0; }
.ma-haken { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
.ma-stunden { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fit, minmax(4.25rem, 1fr)); }
.ma-stunden input { width: 100%; }
.ma-liste { margin: 0; padding-left: 1.25rem; color: var(--leise); }
.ma-vertraege li { display: grid; gap: .125rem; }
.knopf-gefahr { background: #8f1d1d; border-color: #8f1d1d; color: #fff; }
.knopf-gefahr:hover { background: #6e1414; }
