@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap");

body.mitglieder-seite {
    min-height: 100vh;
}

.mitglieder-box {
    max-width: 560px;
    margin: 30px auto;
    padding: 40px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.mitglieder-box-breit {
    max-width: 1140px;
    margin-top: 30px;
    margin-bottom: 30px;
}

/* Einheitlicher Abstand zum Footer im gesamten Mitgliederbereich */
.mitglieder-seite .content-section {
    padding-bottom: 0;
}

.mitglieder-box h1,
.mitglieder-box h2 {
    margin-top: 0;
}

.daten-bereich {
    margin-top: 32px;
}

.daten-bereich h2 {
    margin-bottom: 16px;
}

.datenliste {
    margin: 0;
    border-top: 1px solid #e2e2e2;
}

.datenliste > div {
    display: grid;
    grid-template-columns: 230px 1fr;
    gap: 20px;
    padding: 12px 0;
    border-bottom: 1px solid #e2e2e2;
}

.datenliste dt {
    font-weight: 600;
}

.datenliste dd {
    margin: 0;
}

.sepa-bereich {
    margin-top: 36px;
    padding-top: 8px;
}

.mitglieder-form label {
    display: block;
    margin: 18px 0 7px;
    font-weight: 600;
}

.mitglieder-form input,
.mitglieder-form select {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid #c9c9c9;
    border-radius: 6px;
    font: inherit;
    background: #fff;
}

/* Mitgliederbereich – echte Formular-Buttons exakt wie die Website-Buttons */
.mitglieder-form button.button,
.mitglieder-form button.button:hover,
.admin-form-button.button,
.admin-form-button.button:hover,
.sepa-bestaetigungsformular button.button,
.sepa-bestaetigungsformular button.button:hover {
    border: 0;
    outline: 0;
    -webkit-appearance: none;
    appearance: none;
    font: inherit;
    cursor: pointer;
}

.mitglieder-form button {
    cursor: pointer;
}

.mitglieder-hinweis,
.mitglieder-fehler,
.mitglieder-erfolg {
    padding: 14px 16px;
    border-radius: 6px;
    margin: 18px 0;
}

.mitglieder-hinweis { background: #f3f3f3; }

.admin-kurzinfo {
    margin: -6px 0 14px;
    font-size: .82rem;
    line-height: 1.35;
    color: #77786f;
}
.mitglieder-fehler { background: #fdecec; }
.mitglieder-erfolg { background: #eaf7ee; }

.mitglieder-links {
    margin-top: 24px;
}

.daten-bereich-kopf {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

.daten-bereich-kopf h2,
.daten-bereich-kopf h1 {
    margin-bottom: 0;
}

.admin-seitenkopf {
    align-items: flex-start;
}

.button-klein {
    white-space: nowrap;
    padding: 9px 16px;
    font-size: 0.95rem;
}

.sepa-aktion-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.daten-bereich-aktion {
    margin-top: 22px;
}

.admin-sepa-aktionen {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.button-gefahr {
    background: #b42318 !important;
    color: #fff !important;
}


.mitglieder-kleiner-hinweis {
    margin: 8px 0 0;
    font-size: 0.95rem;
}


.sepa-auswahl {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 12px 0 !important;
    font-weight: 400 !important;
}

.sepa-auswahl input {
    width: auto !important;
    margin: 0;
    flex: 0 0 auto;
}

.sepa-summe {
    margin-top: 36px;
}

.sepa-summe .gesamtbetrag {
    font-size: 1.05rem;
    font-weight: 700;
}

.sepa-hinweistext {
    margin-top: 28px;
    padding: 16px 18px;
    background: #f5f5f5;
    border-radius: 8px;
}

.sepa-hinweistext p:last-child {
    margin-bottom: 0;
}

.sepa-bestaetigung-checkbox {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    margin: 0 !important;
    padding: 14px 16px;
    background: #f7f7f7;
    border-radius: 8px;
    font-weight: 400 !important;
    line-height: 1.5;
}

.sepa-bestaetigung-checkbox input {
    width: auto !important;
    flex: 0 0 auto;
    margin: 4px 0 0;
}

.sepa-bestaetigungsformular .sepa-bestaetigungs-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.sepa-bestaetigungsformular .button {
    margin-top: 0;
}
.admin-kacheln {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 28px 0;
}

.admin-kacheln > div {
    padding: 16px;
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    background: #fafafa;
}

.admin-kacheln strong,
.admin-kacheln span {
    display: block;
}

.admin-kacheln strong {
    font-size: 1.5rem;
    margin-bottom: 4px;
}

.admin-kacheln span {
    font-size: .9rem;
}

.admin-aktionen,
.admin-filter-aktion {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.admin-filter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px auto;
    gap: 16px;
    align-items: end;
    margin: 28px 0 18px;
}

.admin-filter label {
    display: block;
    margin-bottom: 7px;
    font-weight: 600;
}

.admin-filter input,
.admin-filter select {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid #c9c9c9;
    border-radius: 6px;
    font: inherit;
    background: #fff;
}

.admin-tabelle-wrap {
    margin-top: 18px;
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    overflow: hidden;
}

.admin-tabelle {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.admin-tabelle th,
.admin-tabelle td {
    padding: 11px 12px;
    border-bottom: 1px solid #e8e8e8;
    text-align: left;
    vertical-align: middle;
}

.admin-tabelle th {
    font-weight: 600;
    background: #f7f7f7;
}

.admin-tabelle th:nth-child(1),
.admin-tabelle td:nth-child(1) { width: 125px; }
.admin-tabelle th:nth-child(2),
.admin-tabelle td:nth-child(2) { min-width: 190px; }
.admin-tabelle th:nth-child(3),
.admin-tabelle td:nth-child(3) { width: 135px; }
.admin-tabelle th:nth-child(4),
.admin-tabelle td:nth-child(4) { min-width: 230px; }
.admin-tabelle th:nth-child(5),
.admin-tabelle td:nth-child(5) { width: 130px; }
.admin-tabelle th:nth-child(6),
.admin-tabelle td:nth-child(6) { width: 120px; }
.admin-tabelle th:nth-child(7),
.admin-tabelle td:nth-child(7) { width: 85px; }

.admin-tabelle td {
    overflow-wrap: anywhere;
}

.admin-tabelle tbody tr:last-child td {
    border-bottom: 0;
}

.admin-status {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    background: #f1f1f1;
    font-size: .85rem;
}

.admin-status-ok {
    background: #eaf7ee;
}

/* Zukünftiger Austritt: Mitglied bleibt bis zum Austrittsdatum aktiv,
   wird in der aktiven Mitgliederliste aber deutlich rot markiert. */
.admin-mitglied-austritt-vorgemerkt .spalte-name,
.admin-mitglied-austritt-vorgemerkt .spalte-email,
.admin-mitglied-austritt-vorgemerkt .admin-austritt-vorgemerkt-status {
    color: #c95f57;
    font-weight: 600;
}

@media (max-width: 1000px) {
    .mitglieder-box-breit {
        max-width: 980px;
    }

    .admin-tabelle th,
    .admin-tabelle td {
        padding: 10px 9px;
    }
}

@media (max-width: 850px) {
    .admin-kacheln {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-filter {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .mitglieder-box {
        margin: 30px auto;
        padding: 24px;
    }

    .datenliste > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .daten-bereich-kopf {
        flex-direction: column;
        align-items: flex-start;
    }

    /* Mobile Mitgliederverwaltung: nur Name, E-Mail und Öffnen anzeigen */
    .admin-tabelle th:nth-child(1),
    .admin-tabelle td:nth-child(1),
    .admin-tabelle th:nth-child(4),
    .admin-tabelle td:nth-child(4),
    .admin-tabelle th:nth-child(5),
    .admin-tabelle td:nth-child(5) {
        display: none;
    }

    .admin-tabelle th:nth-child(2),
    .admin-tabelle td:nth-child(2) {
        width: 38%;
        min-width: 0;
    }

    .admin-tabelle th:nth-child(3),
    .admin-tabelle td:nth-child(3) {
        width: auto;
        min-width: 0;
    }

    .admin-tabelle th:nth-child(6),
    .admin-tabelle td:nth-child(6) {
        width: 76px;
        white-space: nowrap;
    }

    .admin-tabelle th,
    .admin-tabelle td {
        padding: 8px 7px;
        font-size: .92rem;
    }

    .button-klein {
        padding: 8px 11px;
        font-size: .88rem;
    }
}

@media (max-width: 520px) {
    .admin-kacheln {
        grid-template-columns: 1fr;
    }

    .admin-tabelle th,
    .admin-tabelle td {
        padding: 8px 5px;
        font-size: .88rem;
    }

    .admin-tabelle th:nth-child(1),
    .admin-tabelle td:nth-child(1) { width: 78px; }
    .admin-tabelle th:nth-child(5),
    .admin-tabelle td:nth-child(5) { width: 90px; }
    .admin-tabelle th:nth-child(7),
    .admin-tabelle td:nth-child(7) { width: 62px; }
}

/* Adminbereich – einheitliche Schaltflächen und Tabellenköpfe */
.admin-filter-aktion .button {
    width: 120px;
    min-width: 120px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

.admin-tabelle th {
    background: #183a2a;
    color: #fff;
}

.admin-tabelle th,
.admin-tabelle td {
    white-space: nowrap;
}

.admin-tabelle th:nth-child(1),
.admin-tabelle td:nth-child(1) { width: 130px; }
.admin-tabelle th:nth-child(2),
.admin-tabelle td:nth-child(2) { min-width: 190px; }
.admin-tabelle th:nth-child(3),
.admin-tabelle td:nth-child(3) { min-width: 230px; }
.admin-tabelle th:nth-child(4),
.admin-tabelle td:nth-child(4) { width: 130px; }
.admin-tabelle th:nth-child(5),
.admin-tabelle td:nth-child(5) { width: 125px; }
.admin-tabelle th:nth-child(6),
.admin-tabelle td:nth-child(6) { width: 88px; }

.admin-bereich-hinweis {
    margin-top: 18px;
}

.sepa-admin-sperrhinweis {
    margin-top: 18px;
    padding: 14px 16px;
    border-left: 4px solid #b08a35;
    background: #f7f4ec;
}

.papiermandat-aktuell {
    margin-top: 18px;
}

.export-hinweis {
    margin-top: 12px;
    font-size: .95rem;
}

@media (max-width: 700px) {
    .admin-tabelle th,
    .admin-tabelle td {
        white-space: normal;
    }

    .admin-tabelle th:nth-child(3),
    .admin-tabelle td:nth-child(3) {
        display: none;
    }

    .admin-tabelle th:nth-child(1),
    .admin-tabelle td:nth-child(1) { width: 86px; }
    .admin-tabelle th:nth-child(2),
    .admin-tabelle td:nth-child(2) { width: auto; min-width: 120px; }
    .admin-tabelle th:nth-child(4),
    .admin-tabelle td:nth-child(4) { width: 90px; }
    .admin-tabelle th:nth-child(5),
    .admin-tabelle td:nth-child(5) { width: 95px; }
    .admin-tabelle th:nth-child(6),
    .admin-tabelle td:nth-child(6) { width: 68px; }
}


/* Admin – zentrale Beiträge und einheitliche Schaltflächen */
.admin-untertabelle-aktionen,
.admin-form-aktionen {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
    align-items: center;
}

.admin-form-aktionen > .button,
.admin-form-button,
.admin-sepa-aktionen .button {
    width: 230px;
    min-width: 230px;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    margin-top: 0 !important;
}

.admin-form-button.button-outline {
    margin-left: 0;
}

.admin-vorgabe-hinweis {
    max-width: 800px;
}


/* V58 – Bankeinzug: Desktop-Buttons an die größere Hauptseiten-Optik angleichen */
/* V156 – Mitglied bearbeiten: Abstand und Kennzeichnung der Admin-Aktionen */
@media screen and (min-width: 851px) {
    #persoenliche-daten-oeffnen {
        margin-top: 22px !important;
    }

    #austritt-oeffnen {
        background: #b42318 !important;
        color: #fff !important;
    }

    #austritt-oeffnen:hover,
    #austritt-oeffnen:focus,
    #austritt-oeffnen:active {
        background: #b42318 !important;
        color: #fff !important;
    }
}

@media screen and (min-width: 851px) {
    .admin-form-aktionen > form {
        display: flex;
        margin: 0;
    }

    .admin-form-aktionen > form .admin-form-button {
        width: 260px !important;
        min-width: 260px !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        outline: 0 !important;
    }

    .admin-form-aktionen > .button,
    .admin-form-aktionen > .admin-form-button {
        width: 260px !important;
        min-width: 260px !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 17px 36px !important;
        font-family: inherit !important;
        font-size: 1rem !important;
        font-weight: 600 !important;
        line-height: normal !important;
        height: auto !important;
    }
}

/* Bankeinzug – Prüfseite übersichtlich trennen */
.sepa-bestaetigung {
    margin-top: 26px;
}

.sepa-bestaetigung > p {
    margin-bottom: 0;
}

.sepa-bestaetigungsblock {
    margin-top: 24px;
    padding: 20px 22px;
    border: 1px solid #e2e2e2;
    border-radius: 10px;
    background: #fafafa;
}

.sepa-bestaetigungsblock h3 {
    margin: 0 0 14px;
}

.sepa-bestaetigungsblock .datenliste {
    border-top: 0;
}

.sepa-bestaetigungsblock .datenliste > div {
    padding: 10px 0;
}

.sepa-bestaetigungsblock .datenliste > div:first-child {
    padding-top: 0;
}

.sepa-bestaetigungsblock .datenliste > div:last-child {
    padding-bottom: 0;
}

.sepa-bestaetigungsblock .gesamtbetrag {
    margin-top: 8px;
    padding-top: 14px !important;
    border-top: 1px solid #d9d9d9;
}

.sepa-mandatstext p:last-child {
    margin-bottom: 0;
}

.sepa-bestaetigungsformular {
    margin-top: 24px;
}

.sepa-bestaetigungs-links {
    margin-top: 22px;
}

/* Admin – Mitgliederverwaltung: Filterzeile einheitlich ausrichten */
.admin-filter {
    grid-template-columns: minmax(0, 1fr) 220px 250px;
    gap: 16px;
    align-items: end;
}

.admin-filter input,
.admin-filter select {
    height: 52px;
    padding: 12px 14px;
}

.admin-filter-aktion {
    width: 250px;
    flex-wrap: nowrap;
    gap: 10px;
}

.admin-filter-aktion .button,
.admin-filter-aktion button,
.admin-filter-aktion a {
    width: 120px;
    min-width: 120px;
    height: 52px;
    min-height: 52px;
    margin: 0 !important;
    padding: 0 14px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: 0;
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    box-shadow: 0 12px 30px rgba(53,84,60,.22);
    font: inherit;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.admin-filter-aktion .button:hover,
.admin-filter-aktion button:hover,
.admin-filter-aktion a:hover {
    background: var(--gold);
    color: #fff;
    transform: translateY(-2px);
}

@media (max-width: 850px) {
    .admin-filter {
        grid-template-columns: 1fr;
    }

    .admin-filter-aktion {
        width: 100%;
    }
}

/* Admin – Mitgliederverwaltung: Suchschaltflächen kompakter und auf Höhe der Felder */
.admin-filter {
    align-items: start;
}

.admin-filter-aktion {
    padding-top: 38px;
}

.admin-filter-aktion .button,
.admin-filter-aktion button,
.admin-filter-aktion a {
    height: auto;
    min-height: 0;
    padding: 9px 16px !important;
    line-height: 1.7;
}

@media (max-width: 850px) {
    .admin-filter-aktion {
        padding-top: 0;
    }
}

/* Mitgliederverwaltung: Suchbuttons auf Desktop leicht nach unten ausrichten */
@media (min-width: 851px) {
    .admin-filter-aktion {
        position: relative;
        top: 6px;
    }
}

/* V46 – Mitgliederbereich: zentrale Button-Gestaltung auch mobil wie auf der Hauptwebsite */
@media (max-width: 850px) {
    .mitglieder-form button.button,
    .admin-form-button.button,
    .admin-sepa-aktionen .button,
    .sepa-bestaetigungsformular button.button {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
        padding: 17px 36px;
        border: 0;
        border-radius: 999px;
        background: var(--green);
        color: #fff;
        font-weight: 600;
        box-shadow: 0 12px 30px rgba(53,84,60,.22);
        outline: 0;
        -webkit-appearance: none;
        appearance: none;
    }

    .mitglieder-form button.button:hover,
    .admin-form-button.button:hover,
    .admin-sepa-aktionen .button:hover,
    .sepa-bestaetigungsformular button.button:hover {
        background: var(--gold);
        transform: translateY(-4px);
    }
}

/* V48 – mobile Formular-Buttons: identische Darstellung wie .button der Hauptwebsite */
@media screen and (max-width: 850px) {
    .mitglieder-form button.button,
    .sepa-bestaetigungsformular button.button,
    .admin-form-button.button,
    .admin-form-aktionen > .button,
    .admin-sepa-aktionen button.button,
    .admin-sepa-aktionen .button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding: 17px 36px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: var(--green) !important;
        color: #fff !important;
        font: inherit !important;
        font-weight: 600 !important;
        line-height: normal !important;
        box-shadow: 0 12px 30px rgba(53,84,60,.22) !important;
        outline: 0 !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        cursor: pointer !important;
    }

    .mitglieder-form button.button:hover,
    .sepa-bestaetigungsformular button.button:hover,
    .admin-form-button.button:hover,
    .admin-form-aktionen > .button:hover,
    .admin-sepa-aktionen button.button:hover,
    .admin-sepa-aktionen .button:hover {
        background: var(--gold) !important;
        transform: translateY(-4px) !important;
    }
}


/* V52 – Mitgliederverwaltung: kompakte mobile Tabelle auch im Querformat */
.name-mobil { display: none; }

@media screen and (max-width: 1200px) {
    .admin-tabelle { width: 100%; table-layout: fixed; }
    .admin-tabelle th:nth-child(1), .admin-tabelle td:nth-child(1),
    .admin-tabelle th:nth-child(4), .admin-tabelle td:nth-child(4),
    .admin-tabelle th:nth-child(5), .admin-tabelle td:nth-child(5) { display: none; }
    .admin-tabelle th:nth-child(2), .admin-tabelle td:nth-child(2) { display: table-cell; width: 30%; min-width: 0; white-space: normal; }
    .admin-tabelle th:nth-child(3), .admin-tabelle td:nth-child(3) { display: table-cell; width: auto; min-width: 0; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
    .admin-tabelle th:nth-child(6), .admin-tabelle td:nth-child(6) { display: table-cell; width: 90px; min-width: 90px; white-space: nowrap; }
    .name-desktop { display: none; }
    .name-mobil { display: inline-flex; flex-direction: column; line-height: 1.3; }
    .admin-tabelle th, .admin-tabelle td { padding: 8px 7px; font-size: .92rem; }
    .admin-tabelle td:nth-child(6) .button-klein { display: inline-flex; width: auto; min-width: 0; padding: 8px 12px; white-space: nowrap; box-sizing: border-box; }
}




/* V53 – Mitgliederverwaltung: mobiler Öffnen-Button als kompakter Zahnrad-Kreis */
.oeffnen-icon { display: none; }

@media screen and (max-width: 1200px) {
    .admin-tabelle td:nth-child(6) .admin-oeffnen-button {
        width: 42px;
        min-width: 42px;
        height: 42px;
        min-height: 42px;
        padding: 0 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        box-sizing: border-box;
        line-height: 1;
    }

    .admin-tabelle td:nth-child(6) .admin-oeffnen-button .oeffnen-text {
        display: none;
    }

    .admin-tabelle td:nth-child(6) .admin-oeffnen-button .oeffnen-icon {
        display: inline-block;
        font-size: 20px;
        line-height: 1;
        color: #fff;
    }

    .admin-tabelle th:nth-child(6),
    .admin-tabelle td:nth-child(6) {
        width: 54px;
        min-width: 54px;
    }
}

/* Kleines Untermenü innerhalb des Mitgliederbereichs */
.mitglieder-untermenue {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    margin: 8px 0 32px;
    padding: 0 0 14px;
    border-bottom: 1px solid #e2e2e2;
}

.mitglieder-untermenue a {
    position: relative;
    display: inline-block;
    padding: 4px 0;
    color: var(--green-dark);
    font-family: "Inter", sans-serif;
    font-size: .95rem;
    font-weight: 600;
    text-decoration: none;
}

.mitglieder-untermenue a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: var(--gold);
    transition: width .25s ease;
}

.mitglieder-untermenue a:hover,
.mitglieder-untermenue a.aktiv {
    color: var(--gold);
}

.mitglieder-untermenue a:hover::after,
.mitglieder-untermenue a.aktiv::after {
    width: 100%;
}

@media (max-width: 700px) {
    .mitglieder-untermenue {
        gap: 8px 18px;
        margin-top: 4px;
        margin-bottom: 28px;
        padding-bottom: 12px;
    }

    .mitglieder-untermenue a {
        font-size: .92rem;
    }
}

/* V88 – SEPA-Löschbutton auch mobil dauerhaft rot */
@media screen and (max-width: 850px) {
    .admin-sepa-aktionen .button-gefahr {
        background: #b42318 !important;
        color: #fff !important;
    }

    .admin-sepa-aktionen .button-gefahr:hover {
        background: #8f1d14 !important;
        color: #fff !important;
    }
}

/* V91 – SEPA-Löschbutton mobil eindeutig rot */
@media screen and (max-width: 850px) {
    .admin-sepa-aktionen button.button.button-klein.button-gefahr {
        background: #b42318 !important;
        color: #fff !important;
    }

    .admin-sepa-aktionen button.button.button-klein.button-gefahr:hover,
    .admin-sepa-aktionen button.button.button-klein.button-gefahr:focus,
    .admin-sepa-aktionen button.button.button-klein.button-gefahr:active {
        background: #8f1d14 !important;
        color: #fff !important;
    }
}

.sepa-pdf-hinweis h2 {
    margin-top: 14px;
    margin-bottom: 14px;
}

.sepa-pdf-hinweis-zusatz {
    margin-top: 22px;
    color: #555;
}

/* V147 – Aktive und ausgeschiedene Mitglieder getrennt darstellen */
.admin-ausgeschiedene-schalter {
    margin: 18px 0 10px;
}

.admin-ausgeschiedene-schalter label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    cursor: pointer;
}

.admin-ausgeschiedene-schalter input {
    width: 18px;
    height: 18px;
    margin: 0;
}



/* V148: ausgeschiedene Mitglieder als Trennzeile innerhalb derselben Tabelle */
.admin-ausgeschiedene-trenner td {
    background: #b3261e;
    color: #fff;
    font-weight: 700;
    text-align: left;
    padding: 7px 10px;
    border-top: 10px solid #fff;
    border-bottom: 0;
}

.admin-mitglied-ausgeschieden td {
    opacity: .72;
}

@media (max-width: 600px) {
    .admin-ausgeschiedene-trenner td {
        padding: 7px 8px;
        font-size: .88rem;
    }
}

.admin-mitglied-dsgvo-geloescht td {
    vertical-align: middle;
}

.spalte-dsgvo-geloescht {
    padding: 11px 12px !important;
}

.spalte-dsgvo-geloescht span {
    display: inline;
    background: none;
    color: #b00020;
    font-weight: 700;
    letter-spacing: .04em;
    text-align: left;
    padding: 0;
    border-radius: 0;
}

/* V155: Die DSGVO-Löschung nutzt in der Liste die vorhandene Öffnen-Spalte.
   Dadurch bleiben die Spaltenbreiten auch bei eingeblendeten gelöschten Mitgliedern
   exakt wie in der normalen Mitgliederverwaltung. */
.spalte-dsgvo-aktion {
    text-align: center !important;
    white-space: nowrap;
}

.spalte-dsgvo-geloescht {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 7px 10px !important;
    box-sizing: border-box;
    color: #b00020;
    background: transparent;
    border: 0;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: .01em;
}

/* DSGVO-Löschbutton: exakt dieselbe Größe wie „Zur Mitgliederverwaltung“. */
.admin-form-aktionen > form > button.button-gefahr.admin-form-button {
    width: 260px !important;
    min-width: 260px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 17px 36px !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 999px !important;
    font: inherit !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: normal !important;
    background: #b42318 !important;
    color: #fff !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

@media screen and (max-width: 850px) {
    .admin-form-aktionen > form > button.button-gefahr.admin-form-button {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/* V155: Kompakte zweizeilige DSGVO-Kennzeichnung in der Öffnen-Spalte. */
.spalte-dsgvo-geloescht {
    display: inline-block;
    font-size: 12px;
    line-height: 1.05;
    text-align: center;
    font-weight: 700;
    white-space: nowrap;
}
.spalte-dsgvo-geloescht > span {
    display: block;
}

/* V155 – Austritt: Button „Mitglied als ausgeschieden markieren“ wieder 18 px nach unten. */
.admin-austritt-button {
    position: relative;
    top: 18px;
}


/* V155: DSGVO-gelöschte Mitglieder werden nicht mehr in der normalen
   Mitglieder-/Austrittsliste dargestellt. Die technische Restliste ist separat. */
.admin-dsgvo-hinweis {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 12px 0 18px;
    padding: 10px 0;
    font-size: .9rem;
    color: #555;
}
.admin-dsgvo-hinweis > span {
    flex: 1 1 auto;
}
.admin-dsgvo-listen-button,
.admin-dsgvo-zurueck {
    flex: 0 0 auto;
    white-space: nowrap;
}
.admin-dsgvo-liste {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid #ddd;
}
.admin-dsgvo-liste h2 {
    margin: 0 0 8px;
    font-size: 1.15rem;
}
.admin-dsgvo-liste-wrap {
    max-width: 520px;
    overflow-x: auto;
}
.admin-dsgvo-liste-tabelle {
    width: 100%;
    border-collapse: collapse;
}
.admin-dsgvo-liste-tabelle th,
.admin-dsgvo-liste-tabelle td {
    padding: 8px 10px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}
.admin-dsgvo-liste-tabelle th {
    font-weight: 700;
}
.admin-dsgvo-liste-tabelle th:last-child,
.admin-dsgvo-liste-tabelle td:last-child {
    text-align: right;
}
.admin-dsgvo-leer {
    margin: 10px 0;
    color: #666;
}
.admin-dsgvo-zurueck {
    margin-top: 14px;
}
@media (max-width: 600px) {
    .admin-dsgvo-hinweis {
        display: block;
    }
    .admin-dsgvo-listen-button {
        display: inline-flex;
        margin-top: 10px;
    }
}

/* V173 – Ausgeschiedene Mitglieder: gleiche Tabellenstruktur wie aktive Mitglieder.
   Keine separate Trennerzeile mehr; ausgeschiedene Datensaetze werden nur
   durch eine dezente helle Rotdarstellung von Name, E-Mail und Oeffnen-Button
   kenntlich gemacht. */
.admin-mitglied-ausgeschieden td {
    opacity: 1;
}

.admin-mitglied-ausgeschieden .spalte-name,
.admin-mitglied-ausgeschieden .spalte-email {
    color: #c95f57;
    font-weight: 600;
}

.admin-mitglied-ausgeschieden .admin-oeffnen-button {
    background: #d66f67 !important;
    border-color: #d66f67 !important;
    color: #fff !important;
}

.admin-mitglied-ausgeschieden .admin-oeffnen-button:hover,
.admin-mitglied-ausgeschieden .admin-oeffnen-button:focus,
.admin-mitglied-ausgeschieden .admin-oeffnen-button:active {
    background: #c95f57 !important;
    border-color: #c95f57 !important;
    color: #fff !important;
}

/* Neue Mitgliederfelder: kompakte Mehrfachauswahl und interne Adminfelder */
.admin-feldgruppe {
    border: 0;
    padding: 0;
    margin: 0 0 18px;
}
.admin-feldgruppe legend {
    font-weight: 700;
    margin-bottom: 8px;
}
.auswahl-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}
.auswahl-button {
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    width: auto !important;
    margin: 0 !important;
    padding: 7px 11px;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    cursor: pointer;
}
.auswahl-button input,
.checkbox-zeile input {
    width: auto !important;
    margin: 0 6px 0 0;
}
.checkbox-zeile {
    display: flex !important;
    align-items: center;
    width: auto !important;
    margin: 8px 0 !important;
}
.auswahl-liste {
    margin-bottom: 16px;
}
.mitglied-ehrenmitglied {
    margin-bottom: 12px;
}


/* V43 – Vereinsorganisation: kompakte rote Entfernen-Schaltflächen und
   einheitliche Größe für „Mitgliedsbeiträge speichern“ auf Desktop. */
@media screen and (min-width: 851px) {
    /* Funktionsträger und Vereinsschlüssel: kleine runde rote X-Buttons */
    .vereinsorganisation-zeile form button.button.button-klein {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
        margin-left: 8px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #b42318 !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        box-shadow: none !important;
        outline: 0 !important;
    }

    .vereinsorganisation-zeile form button.button.button-klein:hover,
    .vereinsorganisation-zeile form button.button.button-klein:focus,
    .vereinsorganisation-zeile form button.button.button-klein:active {
        background: #8f1c13 !important;
        color: #fff !important;
        border: 0 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    /* Mitgliedsbeiträge speichern: exakt dieselbe Hauptgröße wie die
       übrigen großen Vereinsorganisations-Aktionsbuttons. */
    #beitraege .mitglieder-form > button.admin-form-button {
        width: 260px !important;
        min-width: 260px !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 17px 36px !important;
        margin-top: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        font-family: inherit !important;
        font-size: 1rem !important;
        font-weight: 600 !important;
        line-height: normal !important;
    }
}


/* V47 – Adminverwaltung: „Admin entfernen“ schlicht rot ohne Rahmen. */
@media screen and (min-width: 851px) {
    .admin-seite .admin-tabelle form button.button.button-klein.button-gefahr {
        background: #b42318 !important;
        color: #fff !important;
        border: 0 !important;
        box-shadow: none !important;
        outline: 0 !important;
    }
    .admin-seite .admin-tabelle form button.button.button-klein.button-gefahr:hover,
    .admin-seite .admin-tabelle form button.button.button-klein.button-gefahr:focus,
    .admin-seite .admin-tabelle form button.button.button-klein.button-gefahr:active {
        background: #8f1c13 !important;
        color: #fff !important;
        border: 0 !important;
        box-shadow: none !important;
        outline: 0 !important;
    }
}

/* V49 – Mitglied bearbeiten: „Austritt erfassen“ auch auf Handy und Tablet rot */
@media screen and (max-width: 850px) {
    #austritt-oeffnen,
    #austritt-oeffnen:hover,
    #austritt-oeffnen:focus,
    #austritt-oeffnen:active {
        background: #b42318 !important;
        color: #fff !important;
        border: 0 !important;
        box-shadow: none !important;
        outline: 0 !important;
    }
}

/* V50 – Mitglied bearbeiten: mobile Aktionsbuttons einheitlich groß */
@media screen and (max-width: 850px) {
    #austritt-daten-bearbeiten,
    .admin-form-aktionen > form > button.button-gefahr.admin-form-button,
    .admin-form-aktionen > a.button-outline.admin-form-button {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 17px 36px !important;
        margin: 0 !important;
        min-height: 52px !important;
        border-radius: 999px !important;
    }

    #austritt-daten-bearbeiten {
        background: var(--green) !important;
        color: #fff !important;
        border: 0 !important;
        box-shadow: 0 12px 30px rgba(53,84,60,.22) !important;
    }

    .admin-form-aktionen > form > button.button-gefahr.admin-form-button {
        background: #b42318 !important;
        color: #fff !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .admin-form-aktionen > a.button-outline.admin-form-button {
        background: var(--green) !important;
        color: #fff !important;
        border: 0 !important;
        box-shadow: 0 12px 30px rgba(53,84,60,.22) !important;
    }
}

/* V52 – Mitglied bearbeiten: alle drei mobilen Aktionsbuttons exakt gleich groß. */
@media screen and (max-width: 850px) {
    .admin-form-aktionen,
    .admin-form-aktionen > form {
        width: 100% !important;
    }

    #austritt-daten-bearbeiten,
    .admin-form-aktionen > form > button.button-gefahr.admin-form-button,
    .admin-form-aktionen > a.button-outline.admin-form-button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 52px !important;
        height: 52px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 36px !important;
        margin: 0 !important;
        border-radius: 999px !important;
        line-height: 1.2 !important;
    }
}


/* V56 – Admins: Desktop unverändert; nur die mobile/tablet Ansicht wird reduziert. */
.admins-titel-mobil,
.admins-entfernen-mobil,
.admins-geschuetzt-mobil {
    display: none !important;
}

@media screen and (max-width: 850px) {
    .admins-seite .admins-titel-desktop {
        display: none !important;
    }

    .admins-seite .admins-titel-mobil {
        display: inline !important;
    }

    .admins-seite .admin-tabelle th:nth-child(2),
    .admins-seite .admin-tabelle td:nth-child(2),
    .admins-seite .admin-tabelle th:nth-child(3),
    .admins-seite .admin-tabelle td:nth-child(3),
    .admins-seite .admin-tabelle th:nth-child(4),
    .admins-seite .admin-tabelle td:nth-child(4) {
        display: none !important;
    }

    .admins-seite .admin-tabelle th:nth-child(1),
    .admins-seite .admin-tabelle td:nth-child(1) {
        width: auto !important;
        min-width: 0 !important;
    }

    .admins-seite .admin-tabelle th:nth-child(5),
    .admins-seite .admin-tabelle td:nth-child(5) {
        width: 42px !important;
        min-width: 42px !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .admins-seite .admin-tabelle td:nth-child(5) form {
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .admins-seite .admin-tabelle td:nth-child(5) .button-gefahr {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #b42318 !important;
        color: #fff !important;
        font-size: 20px !important;
        line-height: 1 !important;
        box-shadow: none !important;
    }

    .admins-seite .admins-entfernen-text,
    .admins-seite .admins-geschuetzt-text {
        display: none !important;
    }

    .admins-seite .admins-entfernen-mobil {
        display: inline !important;
    }

    .admins-seite .admins-geschuetzt-mobil {
        display: inline-flex !important;
        width: 32px !important;
        height: 32px !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        border-radius: 50% !important;
        background: var(--green) !important;
        color: #fff !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }
}

/* V57 – Admins: Tablet und Handy wie die kompakte Mobilansicht.
   Desktop bleibt unverändert. Sichtbar bleiben nur Mitglied und Aktion. */
@media screen and (max-width: 850px) {
    .admins-seite .admin-tabelle {
        width: 100% !important;
        table-layout: fixed !important;
    }

    .admins-seite .admin-tabelle th:nth-child(1),
    .admins-seite .admin-tabelle td:nth-child(1) {
        display: table-cell !important;
        width: calc(100% - 50px) !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        text-align: left !important;
    }

    .admins-seite .admin-tabelle th:nth-child(2),
    .admins-seite .admin-tabelle td:nth-child(2),
    .admins-seite .admin-tabelle th:nth-child(3),
    .admins-seite .admin-tabelle td:nth-child(3),
    .admins-seite .admin-tabelle th:nth-child(4),
    .admins-seite .admin-tabelle td:nth-child(4) {
        display: none !important;
    }

    .admins-seite .admin-tabelle th:nth-child(5),
    .admins-seite .admin-tabelle td:nth-child(5) {
        display: table-cell !important;
        width: 50px !important;
        min-width: 50px !important;
        padding: 8px 4px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .admins-seite .admin-tabelle td:nth-child(5) form {
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .admins-seite .admin-tabelle td:nth-child(5) .button-gefahr {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #b42318 !important;
        color: #fff !important;
        font-size: 20px !important;
        line-height: 1 !important;
        box-shadow: none !important;
    }

    .admins-seite .admins-entfernen-text,
    .admins-seite .admins-geschuetzt-text {
        display: none !important;
    }

    .admins-seite .admins-entfernen-mobil {
        display: inline !important;
    }

    .admins-seite .admins-geschuetzt-mobil {
        display: inline-flex !important;
        width: 32px !important;
        height: 32px !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        border-radius: 50% !important;
        background: var(--green) !important;
        color: #fff !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }
}

/* V63 – Mitgliederverwaltung: bei <= 850px nur Name, E-Mail und Öffnen anzeigen.
   Die allgemeine Admin-Tabellenregel V56/V57 wird hier gezielt für die
   Mitgliederseite übersteuert. Desktop und Tablet > 850px bleiben unverändert. */
@media screen and (max-width: 850px) {
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle {
        width: 100% !important;
        table-layout: fixed !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(1),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(1),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(4),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(4),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(5),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(5) {
        display: none !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(2),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(2) {
        display: table-cell !important;
        width: 42% !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        text-align: left !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(3),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(3) {
        display: table-cell !important;
        width: auto !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        text-align: left !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(6),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) {
        display: table-cell !important;
        width: 50px !important;
        min-width: 50px !important;
        padding: 8px 4px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) .admin-oeffnen-button {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 50% !important;
        box-sizing: border-box !important;
        line-height: 1 !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) .admin-oeffnen-button .oeffnen-text {
        display: none !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) .admin-oeffnen-button .oeffnen-icon {
        display: inline-block !important;
        font-size: 20px !important;
        line-height: 1 !important;
        color: #fff !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th,
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td {
        padding: 8px 7px !important;
        font-size: .92rem !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(2) .name-mobil {
        display: inline-flex !important;
        flex-direction: column !important;
        line-height: 1.3 !important;
    }
}

/* V64 – Adminverwaltung: Tabletbereich 851–1200px.
   Die allgemeine Tabellenregel für die Mitgliederverwaltung blendet in diesem
   Bereich Spalten aus. Für admins.php bleiben gezielt Mitglied, Rolle und
   Aktion sichtbar. Die kompakte Mobilansicht <= 850px bleibt unverändert. */
@media screen and (min-width: 851px) and (max-width: 1200px) {
    .admins-seite .admin-tabelle {
        width: 100% !important;
        table-layout: fixed !important;
    }

    .admins-seite .admin-tabelle th:nth-child(1),
    .admins-seite .admin-tabelle td:nth-child(1),
    .admins-seite .admin-tabelle th:nth-child(3),
    .admins-seite .admin-tabelle td:nth-child(3),
    .admins-seite .admin-tabelle th:nth-child(5),
    .admins-seite .admin-tabelle td:nth-child(5) {
        display: table-cell !important;
    }

    .admins-seite .admin-tabelle th:nth-child(2),
    .admins-seite .admin-tabelle td:nth-child(2),
    .admins-seite .admin-tabelle th:nth-child(4),
    .admins-seite .admin-tabelle td:nth-child(4) {
        display: none !important;
    }

    .admins-seite .admin-tabelle th:nth-child(1),
    .admins-seite .admin-tabelle td:nth-child(1) {
        width: auto !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        text-align: left !important;
    }

    .admins-seite .admin-tabelle th:nth-child(3),
    .admins-seite .admin-tabelle td:nth-child(3) {
        width: 150px !important;
        min-width: 120px !important;
        white-space: nowrap !important;
        text-align: left !important;
    }

    .admins-seite .admin-tabelle th:nth-child(5),
    .admins-seite .admin-tabelle td:nth-child(5) {
        width: 150px !important;
        min-width: 150px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .admins-seite .admin-tabelle td:nth-child(5) form {
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .admins-seite .admin-tabelle td:nth-child(5) .button-gefahr {
        white-space: nowrap !important;
    }

    .admins-seite .admins-entfernen-text {
        display: inline !important;
    }

    .admins-seite .admins-entfernen-mobil,
    .admins-seite .admins-geschuetzt-mobil {
        display: none !important;
    }

    .admins-seite .admins-geschuetzt-text {
        display: inline !important;
    }
}


/* V66 – Adminverwaltung: endgültige, eigenständige Responsive-Darstellung.
   Diese Regeln gelten ausschließlich für admins.php.
   Tablet 851–1200px: Mitglied | Rolle | Aktion.
   Mobil <=850px: Mitglied | Aktion.
*/
@media screen and (min-width: 851px) and (max-width: 1200px) {
    .admins-seite .admin-tabelle {
        width: 100% !important;
        table-layout: fixed !important;
    }

    .admins-seite .admin-tabelle th:nth-child(1),
    .admins-seite .admin-tabelle td:nth-child(1) {
        display: table-cell !important;
        width: auto !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        text-align: left !important;
    }

    .admins-seite .admin-tabelle th:nth-child(2),
    .admins-seite .admin-tabelle td:nth-child(2),
    .admins-seite .admin-tabelle th:nth-child(4),
    .admins-seite .admin-tabelle td:nth-child(4) {
        display: none !important;
    }

    .admins-seite .admin-tabelle th:nth-child(3),
    .admins-seite .admin-tabelle td:nth-child(3) {
        display: table-cell !important;
        width: 150px !important;
        min-width: 120px !important;
        white-space: nowrap !important;
        text-align: left !important;
    }

    .admins-seite .admin-tabelle th:nth-child(5),
    .admins-seite .admin-tabelle td:nth-child(5) {
        display: table-cell !important;
        width: 52px !important;
        min-width: 52px !important;
        padding: 8px 4px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .admins-seite .admin-tabelle td:nth-child(5) form {
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .admins-seite .admin-tabelle td:nth-child(5) .button-gefahr {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #b42318 !important;
        color: #fff !important;
        font-size: 20px !important;
        line-height: 1 !important;
        box-shadow: none !important;
    }

    .admins-seite .admins-entfernen-text,
    .admins-seite .admins-geschuetzt-text {
        display: none !important;
    }

    .admins-seite .admins-entfernen-mobil {
        display: inline !important;
    }

    .admins-seite .admins-geschuetzt-mobil {
        display: inline-flex !important;
        width: 32px !important;
        height: 32px !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        border-radius: 50% !important;
        background: var(--green) !important;
        color: #fff !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }
}

@media screen and (max-width: 850px) {
    .admins-seite .admin-tabelle {
        width: 100% !important;
        table-layout: fixed !important;
    }

    .admins-seite .admin-tabelle th:nth-child(1),
    .admins-seite .admin-tabelle td:nth-child(1) {
        display: table-cell !important;
        width: calc(100% - 52px) !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        text-align: left !important;
    }

    .admins-seite .admin-tabelle th:nth-child(2),
    .admins-seite .admin-tabelle td:nth-child(2),
    .admins-seite .admin-tabelle th:nth-child(3),
    .admins-seite .admin-tabelle td:nth-child(3),
    .admins-seite .admin-tabelle th:nth-child(4),
    .admins-seite .admin-tabelle td:nth-child(4) {
        display: none !important;
    }

    .admins-seite .admin-tabelle th:nth-child(5),
    .admins-seite .admin-tabelle td:nth-child(5) {
        display: table-cell !important;
        width: 52px !important;
        min-width: 52px !important;
        padding: 8px 4px !important;
        text-align: center !important;
    }

    .admins-seite .admin-tabelle td:nth-child(5) form {
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .admins-seite .admin-tabelle td:nth-child(5) .button-gefahr {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #b42318 !important;
        color: #fff !important;
        font-size: 20px !important;
        line-height: 1 !important;
        box-shadow: none !important;
    }

    .admins-seite .admins-entfernen-text,
    .admins-seite .admins-geschuetzt-text {
        display: none !important;
    }

    .admins-seite .admins-entfernen-mobil {
        display: inline !important;
    }

    .admins-seite .admins-geschuetzt-mobil {
        display: inline-flex !important;
        width: 32px !important;
        height: 32px !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        border-radius: 50% !important;
        background: var(--green) !important;
        color: #fff !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }
}


/* V68 – Vereinsorganisation: eigene responsive Regeln, getrennt von
   Mitglieder- und Adminverwaltung. Lösch-X bleibt in jeder Ansicht klein
   und kreisrund; Haupt-Aktionsbuttons werden erst mobil vollbreit. */
.vereinsorganisation-seite .vereinsorganisation-zeile form {
    display: inline-flex !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 0 8px !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

.vereinsorganisation-seite .vereinsorganisation-zeile form button.button.button-klein {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #b42318 !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    flex: 0 0 32px !important;
}

.vereinsorganisation-seite .vereinsorganisation-zeile form button.button.button-klein:hover,
.vereinsorganisation-seite .vereinsorganisation-zeile form button.button.button-klein:focus,
.vereinsorganisation-seite .vereinsorganisation-zeile form button.button.button-klein:active {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    border-radius: 50% !important;
    background: #8f1c13 !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Desktop und Tablet: Haupt-Aktionsbuttons bleiben in ihrer bisherigen Größe. */
@media screen and (min-width: 851px) {
    .vereinsorganisation-seite .admin-form-aktionen,
    .vereinsorganisation-seite .admin-form-aktionen > form {
        width: auto;
    }
}

/* Mobil: nur die eigentlichen Bedienbuttons werden groß/vollbreit.
   Die roten Entfernen-X sind durch die obenstehende Regel ausgenommen. */
@media screen and (max-width: 850px) {
    .vereinsorganisation-seite .admin-form-aktionen,
    .vereinsorganisation-seite .admin-form-aktionen > form {
        width: 100% !important;
    }

    .vereinsorganisation-seite .admin-form-aktionen > a.admin-form-button,
    .vereinsorganisation-seite .admin-form-aktionen > form > button.admin-form-button,
    .vereinsorganisation-seite #beitraege .mitglieder-form > button.admin-form-button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 52px !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 17px 36px !important;
        border-radius: 999px !important;
    }
}

/* Auch bei 700/600 px keine erneute Größenänderung der Entfernen-X. */
@media screen and (max-width: 700px) {
    .vereinsorganisation-seite .vereinsorganisation-zeile form button.button.button-klein,
    .vereinsorganisation-seite .vereinsorganisation-zeile form button.button.button-klein:hover,
    .vereinsorganisation-seite .vereinsorganisation-zeile form button.button.button-klein:focus,
    .vereinsorganisation-seite .vereinsorganisation-zeile form button.button.button-klein:active {
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        max-height: 32px !important;
        flex: 0 0 32px !important;
        border-radius: 50% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* V73 – Mitgliederverwaltung: „Neues Mitglied“ exakt auf die Größe des
   darunterliegenden „Zurück zum Adminbereich“-Buttons bringen. */
@media screen and (min-width: 851px) {
    .admin-untertabelle-aktionen > .admin-form-button {
        width: 260px !important;
        min-width: 260px !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 17px 36px !important;
        font-family: inherit !important;
        font-size: 1rem !important;
        font-weight: 600 !important;
        line-height: normal !important;
        height: auto !important;
    }
}

/* Mitgliederverwaltung Desktop: kompakte Spalten und Zahnrad-Aktion */
@media screen and (min-width: 851px) {
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle {
        width: 100% !important;
        table-layout: fixed !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th,
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(1),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(1) {
        width: 110px !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(2),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(2) {
        width: 210px !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(3),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(3) {
        width: 250px !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(4),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(4) {
        width: 90px !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(5),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(5) {
        width: 105px !important;
        min-width: 0 !important;
        white-space: normal !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(6),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) {
        width: 54px !important;
        min-width: 54px !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) .admin-oeffnen-button {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 50% !important;
        box-sizing: border-box !important;
        line-height: 1 !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) .admin-oeffnen-button .oeffnen-text {
        display: none !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) .admin-oeffnen-button .oeffnen-icon {
        display: inline-block !important;
        font-size: 20px !important;
        line-height: 1 !important;
        color: #fff !important;
    }
}



/* V80 – Mitgliederverwaltung: ausgeschiedene Datensätze vollständig rot.
   Name und E-Mail waren bereits gekennzeichnet; Mitgliedsnummer,
   Mitgliedsart und Bankeinzug werden ebenfalls rot dargestellt. */
.mitglieder-seite.admin-seite:not(.admins-seite) .admin-mitglied-ausgeschieden td {
    color: #c95f57 !important;
    font-weight: 600;
}

.mitglieder-seite.admin-seite:not(.admins-seite) .admin-mitglied-ausgeschieden .admin-oeffnen-button,
.mitglieder-seite.admin-seite:not(.admins-seite) .admin-mitglied-ausgeschieden .admin-oeffnen-button .oeffnen-icon {
    color: #fff !important;
}

/* V80 – Mitgliederverwaltung Tablet: Name und E-Mail kompakter,
   damit Mitgliedsart und Bankeinzug näher zusammenrücken.
   Namen und E-Mail-Adressen dürfen bei Überschreitung umbrechen. */
@media screen and (min-width: 851px) and (max-width: 1200px) {
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th,
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(1),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(1) {
        width: 13% !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(2),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(2) {
        width: 22% !important;
        min-width: 0 !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(3),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(3) {
        width: 29% !important;
        min-width: 0 !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(4),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(4) {
        width: 11% !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(5),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(5) {
        width: 15% !important;
        min-width: 0 !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(6),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) {
        width: 10% !important;
        min-width: 72px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        text-align: center !important;
    }
}

/* V80 – Mitgliederverwaltung mobil: Name schmaler, E-Mail rückt näher heran.
   E-Mail entspricht der bisherigen maximalen Breite; längere Adressen
   werden sauber zweizeilig dargestellt. */
@media screen and (max-width: 850px) {
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(1),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(1),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(4),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(4),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(5),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(5) {
        display: none !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(2),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(2) {
        width: 34% !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(3),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(3) {
        display: table-cell !important;
        width: auto !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle th:nth-child(6),
    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) {
        width: 76px !important;
        min-width: 76px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) .admin-oeffnen-button {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 50% !important;
        box-sizing: border-box !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) .admin-oeffnen-button .oeffnen-text {
        display: none !important;
    }

    .mitglieder-seite.admin-seite:not(.admins-seite) .admin-tabelle td:nth-child(6) .admin-oeffnen-button .oeffnen-icon {
        display: inline-block !important;
        font-size: 20px !important;
        line-height: 1 !important;
        color: #fff !important;
    }
}

/* V83 – Mitglied bearbeiten: „Daten bearbeiten“ als regulärer grüner Admin-Button. */
#austritt-daten-bearbeiten {
    width: 260px !important;
    min-width: 260px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 17px 36px !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 999px !important;
    background: var(--green) !important;
    color: #fff !important;
    box-shadow: none !important;
    font: inherit !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: normal !important;
    cursor: pointer !important;
}

#austritt-daten-bearbeiten:hover,
#austritt-daten-bearbeiten:focus,
#austritt-daten-bearbeiten:active {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

@media screen and (max-width: 850px) {
    #austritt-daten-bearbeiten {
        width: 100% !important;
        min-width: 0 !important;
    }
}
