/*!
 * ==========================================================
 * Kannes WebManager
 * Verwaltungs- und Redaktionssystem der Wählergemeinschaft Freier Bürger Sittensen
 *
 * Version: 2.0.7b
 * Datei: admin/admin.css
 * Stand: 2026-08-04
 *
 * © 2026 Th. Kannenberg
 * Entwickelt mit Unterstützung von OpenAI ChatGPT
 * ==========================================================
 */

*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
    --blau: #0b5184;
    --blau-hell: #147aa3;
    --blau-dunkel: #063d70;
    --gelb: #ffd21a;
    --text: #18364e;
    --grau: #687887;
    --rand: #cad7df;
    --hell: #eef3f6;
    --weiss: #ffffff;
    --rot: #a82424;
}

body {
    margin: 0;
    color: var(--text);
    background: var(--hell);
    font-family: Arial, Helvetica, sans-serif;
}

.admin-kopf {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 28px;
    color: var(--weiss);
    background:
        linear-gradient(
            135deg,
            var(--blau),
            var(--blau-hell)
        );
    box-shadow: 0 5px 18px rgb(0 0 0 / 18%);
}

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

.admin-marke strong {
    font-size: 1.2rem;
}

.admin-marke span {
    margin-top: 3px;
    font-size: 0.9rem;
    opacity: 0.85;
}

.admin-navigation {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.admin-navigation a {
    color: var(--weiss);
    font-weight: 700;
    text-decoration: none;
}

.admin-navigation a:hover {
    text-decoration: underline;
}

.admin-inhalt {
    width: min(1180px, 100%);
    margin: 30px auto;
    padding: 0 18px;
}

.panel {
    padding: 24px;
    background: var(--weiss);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgb(0 0 0 / 10%);
}

.panel + .panel {
    margin-top: 22px;
}

h1,
h2 {
    color: var(--blau-dunkel);
}

h1 {
    margin-top: 0;
}

.dashboard-raster {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.dashboard-karte {
    padding: 22px;
    color: var(--text);
    text-decoration: none;
    border: 1px solid var(--rand);
    border-radius: 14px;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f5f9fb
        );
    box-shadow: 0 5px 16px rgb(0 0 0 / 8%);
    transition:
        transform 160ms ease,
        box-shadow 160ms ease,
        border-color 160ms ease;
}

.dashboard-karte:hover {
    transform: translateY(-3px);
    border-color: var(--gelb);
    box-shadow: 0 10px 22px rgb(0 0 0 / 13%);
}

.dashboard-zahl {
    display: block;
    margin-top: 8px;
    color: var(--blau);
    font-size: 2rem;
    font-weight: 800;
}

.dashboard-beschreibung {
    display: block;
    margin-top: 6px;
    color: var(--grau);
    line-height: 1.5;
}

.kalender-box {
    overflow: hidden;
    border: 1px solid var(--rand);
    border-radius: 14px;
}

.kalender-box iframe {
    display: block;
    width: 100%;
    height: 560px;
    border: 0;
}

.meldung {
    padding: 12px 14px;
    margin-bottom: 18px;
    border-radius: 10px;
    color: #17683a;
    background: #e7f7ec;
}

.meldung.fehler {
    color: #9b2020;
    background: #fff0f0;
}

.tabelle {
    width: 100%;
    border-collapse: collapse;
}

.tabelle th,
.tabelle td {
    padding: 11px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--rand);
}

.aktionen {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.button,
button {
    display: inline-block;
    padding: 10px 15px;
    color: var(--blau-dunkel);
    background: var(--gelb);
    border: 0;
    border-radius: 9px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.button.sekundaer {
    background: #e8eef2;
}

.button.gefahr {
    color: var(--weiss);
    background: var(--rot);
}

.form-grid {
    display: grid;
    grid-template-columns:
        210px minmax(0, 1fr);
    gap: 16px 22px;
    align-items: start;
}

.form-grid > label {
    padding-top: 11px;
    font-weight: 800;
}

input,
textarea,
select {
    width: 100%;
    padding: 11px 13px;
    border: 2px solid var(--rand);
    border-radius: 9px;
    font: inherit;
}

textarea {
    min-height: 120px;
    resize: vertical;
}

.hinweis {
    margin: 7px 0 0;
    color: var(--grau);
    font-size: 0.9rem;
    line-height: 1.5;
}

.vorschau {
    max-width: 180px;
    max-height: 220px;
    margin-top: 12px;
    border-radius: 12px;
}

.checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
}

.checkbox input {
    width: auto;
}

.form-aktionen {
    grid-column: 2;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.login {
    width: min(480px, 100%);
    margin: 70px auto;
}

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

@media (max-width: 700px) {
    .admin-kopf {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-raster {
        grid-template-columns: 1fr;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-grid > label {
        padding-top: 0;
    }

    .form-aktionen {
        grid-column: 1;
    }

    .tabelle {
        display: block;
        overflow-x: auto;
    }
}

.editor-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.editor-toolbar button{padding:7px 10px;background:#e8eef2}.editor{min-height:240px;padding:14px;border:2px solid var(--rand);border-radius:9px;background:#fff;line-height:1.6}

.admin-benutzer{margin-left:auto;font-size:.9rem;text-align:right}
.admin-benutzer strong{display:block;color:var(--gelb)}
.admin-benutzer span{opacity:.82}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e8eef2;font-size:.82rem;font-weight:700}
.badge.admin{color:#fff;background:var(--blau)}
.protokoll-details{max-width:360px;white-space:pre-wrap;word-break:break-word}
@media(max-width:700px){.admin-benutzer{margin-left:0;text-align:left}}


/* =========================================================
   Benutzerverwaltung Phase 2.1
========================================================= */

.status-badge,
.rollen-badge {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

.status-ausstehend {
    color: #744f00;
    background: #fff2b8;
}

.status-aktiv {
    color: #17683a;
    background: #dff4e6;
}

.status-gesperrt,
.status-abgelehnt {
    color: #8f1f1f;
    background: #ffe2e2;
}

.status-archiviert {
    color: #4d5963;
    background: #e8edf1;
}

.rollen-administrator {
    color: #ffffff;
    background: var(--blau);
}

.rollen-redakteur {
    color: #083d68;
    background: #dceef8;
}

.rollen-berichterstatter {
    color: #6d4e00;
    background: #fff1b2;
}

.benutzer-detail {
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid var(--rand);
    border-radius: 12px;
    background: #f7fafc;
}

.benutzer-detail p {
    margin: 0;
}

.info-box {
    padding: 14px;
    border-left: 5px solid var(--blau);
    border-radius: 8px;
    background: #edf6fb;
    line-height: 1.6;
}


.startseiten-vorschau{
    display:block;
    width:min(100%,680px);
    height:auto;
    margin-top:14px;
    border:1px solid var(--rand);
    border-radius:12px;
    box-shadow:0 6px 18px rgb(0 0 0 / 12%);
}

/* =========================================================
   Kannes WebManager Signet und Versionsfooter
========================================================= */

.admin-marke--webmanager strong {
    display: flex;
    align-items: center;
    gap: 9px;
}

.webmanager-signet {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 48px;
    min-height: 30px;

    padding: 4px 8px;

    color: #0b5184;
    background: #ffd21a;

    border-radius: 8px;

    font-size: 0.92rem;
    font-weight: 900;
    letter-spacing: 0.05em;

    box-shadow:
        0 4px 10px rgb(0 0 0 / 18%);
}

.admin-footer {
    width: min(1180px, 100%);
    margin: 0 auto 28px;
    padding: 18px;

    display: flex;
    justify-content: space-between;
    gap: 20px;

    color: var(--grau);
    background: transparent;

    font-size: 0.86rem;
    line-height: 1.5;
}

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

.admin-footer strong {
    color: var(--blau-dunkel);
}

@media (max-width: 700px) {
    .admin-footer {
        flex-direction: column;
        text-align: left;
    }
}


/* =========================================================
   Kannes WebManager 1.1.1 – Dashboard mit Seitenleiste
========================================================= */

:root {
    --seitenleiste: 224px;
    --kopfhoehe: 78px;
}

.admin-kopf {
    min-height: var(--kopfhoehe);
    position: sticky;
    top: 0;
    z-index: 100;

    padding: 12px 24px;
}

.admin-kopf-rechts {
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 22px;
}

.admin-navigation--oben {
    justify-content: flex-end;
}

.admin-layout {
    min-height:
        calc(100vh - var(--kopfhoehe));

    display: grid;
    grid-template-columns:
        var(--seitenleiste)
        minmax(0, 1fr);
}

.admin-seitenleiste {
    position: sticky;
    top: var(--kopfhoehe);

    height:
        calc(100vh - var(--kopfhoehe));

    overflow-y: auto;

    color: #ffffff;
    background:
        linear-gradient(
            180deg,
            #0b5184 0%,
            #063d70 100%
        );

    box-shadow:
        4px 0 16px
        rgb(0 0 0 / 14%);
}

.seitenleisten-navigation {
    min-height: 100%;

    display: flex;
    flex-direction: column;

    padding: 16px 10px;
}

.seitenleisten-navigation a,
.seitenleisten-titel {
    display: flex;
    align-items: center;
    gap: 10px;

    min-height: 44px;

    padding: 10px 13px;

    color: #ffffff;

    border-radius: 8px;

    font-weight: 700;
    text-decoration: none;
}

.seitenleisten-navigation a:hover,
.seitenleisten-navigation a:focus-visible {
    color: #ffffff;
    background:
        rgb(255 255 255 / 13%);

    outline: none;
}

.seitenleisten-navigation a[href="wegweiser.php"] {
    background:
        rgb(0 0 0 / 17%);
}

.seitenleisten-gruppe {
    margin: 5px 0;
}

.seitenleisten-titel {
    color:
        rgb(255 255 255 / 80%);

    font-size: 0.88rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.seitenleisten-gruppe a {
    padding-left: 32px;
    font-size: 0.94rem;
}

.seitenleiste-website {
    margin-top: auto;

    border:
        1px solid
        rgb(255 255 255 / 50%);
}

.admin-hauptbereich {
    min-width: 0;

    display: flex;
    flex-direction: column;
}

.admin-inhalt {
    width: 100%;
    max-width: 1320px;

    flex: 1 0 auto;

    margin: 0 auto;
    padding: 26px 28px;
}

.admin-footer {
    width: 100%;
    max-width: 1320px;

    margin: 0 auto;
    padding: 18px 28px 24px;
}

.admin-footer--login {
    width: min(1180px, 100%);
}

.panel {
    border-radius: 14px;
}

.wegweiser-option {
    display: grid;
    grid-template-columns:
        auto minmax(0, 1fr);
    gap: 10px;

    align-items: start;

    padding: 13px;

    border: 1px solid var(--rand);
    border-radius: 10px;

    background: #f7fafc;
}

.wegweiser-option input {
    width: auto;
    margin-top: 4px;
}

.wegweiser-vorschau {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 18px;

    margin-top: 20px;
}

.wegweiser-vorschau__karte {
    min-height: 112px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 15px;

    border: 1px solid var(--rand);
    border-radius: 12px;

    background: #edf3f7;
}

.wegweiser-vorschau__schild {
    position: relative;

    width: 220px;
    min-height: 56px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #37230f;
    background:
        linear-gradient(
            180deg,
            #c88a4d,
            #8d5227
        );

    border: 2px solid #5d3215;
    border-radius: 5px 10px 10px 5px;

    font-weight: 800;
}

.wegweiser-vorschau__schild::after {
    content: "";

    position: absolute;
    right: -38px;
    top: -2px;

    width: 40px;
    height: calc(100% + 4px);

    background: inherit;

    clip-path:
        polygon(
            0 0,
            100% 50%,
            0 100%
        );
}

.wegweiser-vorschau__schild--transparent {
    border-color: transparent;
    background: transparent;
}

.wegweiser-vorschau__schild--transparent::after {
    display: none;
}

@media (max-width: 1050px) {
    .admin-kopf {
        position: static;
    }

    .admin-kopf-rechts {
        align-items: flex-end;
        flex-direction: column;
        gap: 8px;
    }

    .admin-navigation--oben {
        display: none;
    }

    .admin-layout {
        grid-template-columns: 190px minmax(0, 1fr);
    }

    :root {
        --seitenleiste: 190px;
    }

    .admin-seitenleiste {
        top: 0;
        height: auto;
        min-height: calc(100vh - var(--kopfhoehe));
    }
}

@media (max-width: 760px) {
    .admin-layout {
        display: block;
    }

    .admin-seitenleiste {
        position: static;
        height: auto;
        min-height: 0;
    }

    .seitenleisten-navigation {
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .seitenleisten-gruppe {
        display: contents;
    }

    .seitenleisten-titel {
        display: none;
    }

    .seitenleisten-gruppe a {
        padding-left: 13px;
    }

    .seitenleiste-website {
        margin-top: 0;
    }

    .admin-inhalt {
        padding: 18px 12px;
    }

    .wegweiser-vorschau {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Verwaltung der Startseiten-Funktionsleiste
========================================================= */

.funktionslisten-raster {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 18px;

    margin: 22px 0;
}

.funktionslisten-karte {
    display: grid;
    gap: 13px;

    padding: 18px;

    border: 1px solid var(--rand);
    border-radius: 12px;

    background: #f7fafc;
}

.funktionslisten-karte h2 {
    margin: 0;

    color: var(--blau-dunkel);
}

.funktionslisten-karte label:not(.checkbox) {
    display: grid;
    gap: 6px;

    font-weight: 700;
}

@media (max-width: 760px) {
    .funktionslisten-raster {
        grid-template-columns: 1fr;
    }
}

.funktionssymbol-zelle{font-size:1.3rem;font-weight:800;text-align:center;}


/* Widget-System */

.widget-typ-felder {
    display: contents;
}

.widget-typ-felder[hidden] {
    display: none !important;
}


/* Layout Manager */

.form-abschnitt {
    grid-column: 1 / -1;
    margin: 24px 0 6px;
    padding-bottom: 8px;
    color: var(--blau-dunkel);
    border-bottom: 2px solid var(--rand);
}

.layout-vorschau-raster {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

.layout-vorschau-raster article:last-child {
    grid-column: 1 / -1;
}

.layout-vorschau {
    display: block;
    border: 8px solid #263746;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgb(0 0 0 / 18%);
}

.layout-vorschau--hoch {
    width: 390px;
    max-width: 100%;
    height: 760px;
}

.layout-vorschau--quer {
    width: 760px;
    max-width: 100%;
    height: 390px;
}

.layout-vorschau--desktop {
    width: 100%;
    height: 700px;
}

@media (max-width: 900px) {
    .layout-vorschau-raster {
        grid-template-columns: 1fr;
    }

    .layout-vorschau-raster article:last-child {
        grid-column: auto;
    }
}


/* =========================================================
   Version 2.0.7b – Visueller Layout-Editor
========================================================= */

.layout-editor {
    grid-column: 1 / -1;
    display: grid;
    gap: 18px;
    padding: 18px;
    border: 1px solid var(--rand);
    border-radius: 14px;
    background: #f7fafc;
}

.layout-editor__werkzeugleiste {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.layout-editor__werkzeugleiste label {
    font-weight: 700;
}

.layout-editor__werkzeugleiste select {
    width: auto;
    min-width: 180px;
}

.layout-editor__arbeitsbereich {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px;
    gap: 20px;
    align-items: start;
}

.layout-editor__vorschau-wrap {
    min-height: 480px;
    display: flex;
    justify-content: center;
    overflow: auto;
    padding: 14px;
    border-radius: 12px;
    background: #dfe8ee;
}

.layout-editor__vorschau {
    display: block;
    border: 8px solid #263746;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgb(0 0 0 / 18%);
}

.layout-editor__vorschau--desktop {
    width: 100%;
    min-width: 760px;
    height: 620px;
}

.layout-editor__vorschau--hoch {
    width: 390px;
    height: 760px;
}

.layout-editor__vorschau--quer {
    width: 760px;
    height: 390px;
}

.layout-editor__steuerung {
    position: sticky;
    top: calc(var(--kopfhoehe) + 18px);
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--rand);
    border-radius: 12px;
    background: #fff;
}

.layout-editor__steuerung h3 {
    margin: 8px 0 0;
    color: var(--blau-dunkel);
}

.navigationskreuz {
    display: grid;
    grid-template-columns: repeat(3, 54px);
    grid-template-rows: repeat(3, 46px);
    gap: 6px;
    justify-content: center;
}

.navigationskreuz button {
    min-width: 0;
    padding: 0;
    font-size: 1.35rem;
}

.navigationskreuz button:nth-child(1) { grid-column: 2; grid-row: 1; }
.navigationskreuz button:nth-child(2) { grid-column: 1; grid-row: 2; }
.navigationskreuz button:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
    cursor: default;
    opacity: .55;
}
.navigationskreuz button:nth-child(4) { grid-column: 3; grid-row: 2; }
.navigationskreuz button:nth-child(5) { grid-column: 2; grid-row: 3; }

.layout-editor__regler {
    display: grid;
    grid-template-columns: minmax(70px, 1fr) 38px 68px 38px;
    gap: 6px;
    align-items: center;
}

.layout-editor__regler button {
    min-width: 0;
    padding: 7px;
}

.layout-editor__regler output {
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.erweiterte-werte {
    grid-column: 1 / -1;
    padding: 14px;
    border: 1px solid var(--rand);
    border-radius: 12px;
    background: #f7fafc;
}

.erweiterte-werte summary {
    cursor: pointer;
    color: var(--blau-dunkel);
    font-weight: 800;
}

.erweiterte-werte__raster {
    margin-top: 18px;
}

@media (max-width: 1050px) {
    .layout-editor__arbeitsbereich {
        grid-template-columns: 1fr;
    }

    .layout-editor__steuerung {
        position: static;
    }
}


/* =========================================================
   Version 2.0.7b – Zentrale Mediathek
========================================================= */

.mediathek-filter {
    display: grid;
    grid-template-columns:
        minmax(220px, 1fr)
        190px
        auto
        auto;
    gap: 10px;

    margin: 20px 0;
}

.mediathek-raster {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.mediathek-karte {
    overflow: hidden;

    border: 1px solid var(--rand);
    border-radius: 14px;

    background: #ffffff;

    box-shadow:
        0 8px 22px
        rgb(0 0 0 / 8%);
}

.mediathek-bildrahmen {
    position: relative;

    aspect-ratio: 4 / 3;

    overflow: hidden;

    background: #dfe8ee;
}

.mediathek-bildrahmen--vorschau {
    width: min(520px, 100%);
    margin-top: 10px;
}

.mediathek-bildrahmen img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.mediathek-urheber {
    position: absolute;
    right: 8px;
    bottom: 6px;

    padding: 2px 5px;

    color: rgb(255 255 255 / 78%);
    background: rgb(0 0 0 / 28%);

    border-radius: 4px;

    font:
        600 11px/1.2
        Arial,
        sans-serif;

    text-shadow:
        0 1px 2px
        rgb(0 0 0 / 70%);

    pointer-events: none;
}

.mediathek-karte__inhalt {
    display: grid;
    gap: 8px;

    padding: 16px;
}

.mediathek-karte__inhalt h2 {
    margin: 0;

    color: var(--blau-dunkel);
}

.mediathek-karte__inhalt p {
    margin: 0;
}

.mediathek-status {
    display: inline-flex;

    padding: 3px 8px;

    border-radius: 999px;

    font-size: .85rem;
    font-weight: 800;
}

.mediathek-status--vollstaendig {
    color: #145c2e;
    background: #dff4e7;
}

.mediathek-status--hinweis {
    color: #7a5a00;
    background: #fff3bf;
}

.mediathek-status--gesperrt {
    color: #861b1b;
    background: #f9d6d6;
}

.mediathek-verwendungen {
    grid-column: 1 / -1;

    padding: 14px;

    border-radius: 10px;

    background: #f7fafc;
}

@media (max-width: 1050px) {
    .mediathek-raster {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

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

    .mediathek-raster {
        grid-template-columns: 1fr;
    }
}


/* Zentraler Medienmanager */

.mediathek-bildrahmen video,
.mediathek-bildrahmen audio {
    width: 100%;
}

.mediathek-bildrahmen video {
    height: 100%;
    object-fit: contain;
    background: #172431;
}

.mediathek-audio-symbol {
    display: flex;
    align-items: center;
    justify-content: center;

    height: calc(100% - 54px);

    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--blau-dunkel),
            #607f9c
        );

    font-size: 4rem;
}

.medienart-feld {
    display: contents;
}

.medienart-feld[hidden] {
    display: none !important;
}

.mediathek-filter {
    grid-template-columns:
        minmax(220px, 1fr)
        170px
        190px
        auto
        auto;
}


/* Zentrale Medienzuordnung */

.mediathek-import-status {
    display: inline-flex;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 800;
}

.mediathek-import-status--neu {
    color: #145c2e;
    background: #dff4e7;
}

.mediathek-import-status--vorhanden {
    color: #5d6670;
    background: #edf0f2;
}


/* =========================================================
   Version 2.0.7b – Medienmanager Stabilisierung
========================================================= */

.fehler-box {
    margin: 16px 0;
    padding: 14px 16px;

    color: #781818;
    background: #fde2e2;

    border-left: 5px solid #b52424;
    border-radius: 8px;
}

.admin-fehlerdetails {
    margin: 16px 0;
    padding: 12px 14px;

    border: 1px solid var(--rand);
    border-radius: 10px;

    background: #f7fafc;
}

.admin-fehlerdetails summary {
    cursor: pointer;
    font-weight: 800;
}

.mediathek-dokument-vorschau {
    height: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;

    padding: 20px;

    background:
        linear-gradient(
            135deg,
            #e8edf1,
            #ffffff
        );
}

.mediathek-dokument-vorschau > span {
    display: grid;
    place-items: center;

    width: 84px;
    height: 104px;

    color: #ffffff;
    background: #b52424;

    border-radius: 8px;

    font-weight: 900;
    font-size: 1.4rem;

    box-shadow:
        0 8px 20px
        rgb(0 0 0 / 18%);
}


/* =========================================================
   Version 2.0.7b – Medienverwendung und Kandidatenzuordnung
========================================================= */

.medien-pruefung-ergebnis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.medien-pruefung-ergebnis p {
    margin: 0;
    padding: 14px;
    border: 1px solid var(--rand);
    border-radius: 10px;
    background: #f7fafc;
}

.kandidaten-admin-raster {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.kandidaten-admin-karte {
    overflow: hidden;
    border: 1px solid var(--rand);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgb(0 0 0 / 8%);
}

.kandidaten-admin-karte__inhalt {
    display: grid;
    gap: 8px;
    padding: 16px;
}

.kandidaten-admin-karte__inhalt h2,
.kandidaten-admin-karte__inhalt p {
    margin: 0;
}

.kandidaten-bild-fehlt {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: #687887;
    background: #edf2f5;
    font-weight: 800;
}

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

    .medien-pruefung-ergebnis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .kandidaten-admin-raster,
    .medien-pruefung-ergebnis {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Version 2.0.7b – Medienzuordnung und Kandidaten-Fix
========================================================= */

.inline-formular {
    display: inline-flex;
    margin-left: 10px;
    vertical-align: middle;
}

.button-klein {
    min-height: 0;
    padding: 5px 9px;
    font-size: .82rem;
}


/* Version 2.0.7b – Herkunftsschutz und Medienfreigabe */

.medien-herkunft {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid var(--rand);
    border-radius: 10px;
    background: #f7fafc;
}

.medien-herkunft code {
    overflow-wrap: anywhere;
}

.medien-freigabe {
    padding: 12px 14px;
    border: 1px solid #b7c3cc;
    border-radius: 10px;
    background: #f7fafc;
}


/* =========================================================
   Version 2.0.7b – Medienfreigabe-Hotfix
========================================================= */

.medien-freigabe-status {
    margin: 10px 0 0;
    padding: 9px 11px;

    border-radius: 8px;

    font-weight: 800;
    line-height: 1.35;
}

.medien-freigabe-status--aktiv {
    color: #145c2e;
    background: #dff4e7;
}

.medien-freigabe-status--inaktiv {
    color: #781818;
    background: #fde2e2;
}


/* =========================================================
   Version 2.0.7b – Galerieauswahl
========================================================= */

.inhalt-galerie-auswahl {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.inhalt-galerie-medium {
    overflow: hidden;
    border: 1px solid var(--rand);
    border-radius: 12px;
    background: #fff;
}

.inhalt-galerie-medium__bild {
    position: relative;
    display: block;
    cursor: pointer;
}

.inhalt-galerie-medium__bild > input {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    width: 22px;
    height: 22px;
}

.inhalt-galerie-medium__bild img {
    display: block;
    width: 100%;
    height: 170px;
    object-fit: contain;
    background: #edf2f5;
}

.inhalt-galerie-medium__daten {
    display: grid;
    gap: 8px;
    padding: 12px;
}

.inhalt-galerie-medium__daten label {
    display: grid;
    gap: 5px;
}

@media (max-width: 1000px) {
    .inhalt-galerie-auswahl {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .inhalt-galerie-auswahl {
        grid-template-columns: 1fr;
    }
}


/* Version 2.0.7b – Videomanager */
.medienart-feld--block{display:grid;grid-column:1/-1;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:12px 18px;padding:16px;border:1px solid var(--rand);border-radius:12px;background:#f7fafc}
.medienart-feld--block[hidden]{display:none}.video-optionen{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inhalt-galerie-video-symbol{display:grid;place-items:center;width:100%;height:170px;color:#fff;background:#0b5184;font-size:3rem;font-weight:900}@media(max-width:720px){.medienart-feld--block,.video-optionen{grid-template-columns:1fr}}


/* =========================================================
   Version 2.0.7b – Videozuordnung
========================================================= */

.medienart-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #0b5184;
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    vertical-align: middle;
}


/* =========================================================
   Version 2.0.7b – PDF / Dokument-Fix
========================================================= */

.mediathek-dokument-vorschau {
    box-sizing: border-box;

    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;

    padding: 18px;

    text-align: center;

    background:
        linear-gradient(
            135deg,
            #eef3f6,
            #ffffff
        );
}

.mediathek-dokument-vorschau > span {
    display: grid;
    place-items: center;

    width: 78px;
    height: 98px;

    color: #fff;
    background: #b52424;

    border-radius: 9px;

    font-size: 1.25rem;
    font-weight: 900;

    box-shadow:
        0 8px 20px
        rgb(0 0 0 / 15%);
}

.mediathek-dokument-vorschau strong {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.mediathek-karte {
    display: flex;
    flex-direction: column;
}

.mediathek-karte__inhalt {
    flex: 1 1 auto;
}

.mediathek-karte__aktionen {
    margin-top: auto;
}



/* =========================================================
   Version 2.0.7b – Universelle Medienaktionen
========================================================= */

.mediathek-karte {
    overflow: hidden;
}

.mediathek-karte__inhalt {
    flex: 1 1 auto;
}

.mediathek-karte__aktionen {
    flex: 0 0 auto;

    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;

    width: 100%;
    box-sizing: border-box;

    margin: 0;
    padding: 0 16px 16px;

    background: #fff;
}

.mediathek-karte__aktionen form {
    margin: 0;
}

.mediathek-karte__aktionen .button {
    white-space: nowrap;
}

@media (max-width: 650px) {
    .mediathek-karte__aktionen {
        align-items: stretch;
    }

    .mediathek-karte__aktionen > a,
    .mediathek-karte__aktionen > form,
    .mediathek-karte__aktionen > form .button {
        width: 100%;
    }
}


/* Version 2.0.7b – Kandidaten-Manager Grundstruktur */

.form-grid > .form-abschnitt {
    grid-column: 1 / -1;
    margin: 14px 0 2px;
    padding-bottom: 7px;
    border-bottom: 2px solid #dbe6ed;
}

.kandidaten-admin-karte .form-aktionen form {
    margin: 0;
}


/* =========================================================
   Version 2.0.7b – Kandidaturen & Listenplätze
========================================================= */

.kandidaturen-editor {
    grid-column: 1 / -1;
}

.kandidaturen-editor__kopf,
.kandidatur-zeile {
    display: grid;
    grid-template-columns:
        minmax(260px, 1fr)
        minmax(110px, 150px)
        70px;
    gap: 12px;
    align-items: center;
}

.kandidaturen-editor__kopf {
    padding: 0 8px 8px;
    color: #173f63;
}

.kandidatur-zeile {
    padding: 8px;
    border-top: 1px solid #dbe6ed;
}

.kandidatur-zeile input {
    width: 100%;
    box-sizing: border-box;
}

.kandidaten-zeile-entfernen {
    width: 42px;
    min-width: 42px;
    justify-self: center;
}

@media (max-width: 720px) {
    .kandidaturen-editor__kopf {
        display: none;
    }

    .kandidatur-zeile {
        grid-template-columns:
            minmax(0, 1fr)
            100px
            44px;
    }
}


/* =========================================================
   Version 2.0.7b – Kandidatenprofil & Wahlzuordnung
========================================================= */

.form-vollbreite,
.kandidaten-struktur-editor,
.form-zwischenueberschrift {
    grid-column: 1 / -1;
}

.form-zwischenueberschrift {
    margin:
        18px
        0
        4px;

    color: #0b4770;
}

.kandidaten-editor__vier-spalten {
    grid-template-columns:
        minmax(180px, .9fr)
        minmax(280px, 1.35fr)
        110px
        70px;
}

.kandidatur-gremium-gruppe {
    display: grid;
    gap: 7px;
}

.kandidaten-funktionen-kopf,
.kandidaten-funktion-zeile {
    display: grid;
    grid-template-columns:
        minmax(190px, 1fr)
        minmax(190px, 1fr)
        90px
        90px
        60px;
    gap: 10px;
    align-items: center;
}

.kandidaten-funktionen-kopf {
    padding: 8px;
    color: #173f63;
}

.kandidaten-funktion-zeile,
.kandidaten-schwerpunkt-zeile {
    padding: 8px;
    border-top: 1px solid #dbe6ed;
}

.kandidaten-schwerpunkt-zeile {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        60px;
    gap: 10px;
    align-items: center;
}

.kontakt-feld {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    gap: 12px;
    align-items: center;
}

.kontakt-feld .checkbox {
    white-space: nowrap;
}

.kandidaten-vorschau__kopfzeile {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
}

.kandidaten-vorschau__profil {
    display: grid;
    grid-template-columns:
        minmax(220px, 320px)
        minmax(0, 1fr);
    gap: 24px;
    margin-top: 18px;
}

.kandidaten-vorschau__bild img {
    display: block;
    width: 100%;
    border-radius: 12px;
}

.kandidaten-vorschau__text {
    line-height: 1.6;
}

@media (max-width: 850px) {
    .kandidaten-editor__vier-spalten,
    .kandidaten-funktionen-kopf,
    .kandidaten-funktion-zeile {
        grid-template-columns: 1fr;
    }

    .kandidaten-editor__vier-spalten > strong:last-child,
    .kandidaten-funktionen-kopf {
        display: none;
    }

    .kontakt-feld,
    .kandidaten-vorschau__profil {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Version 2.0.7b – Kandidaturen in Kandidatenübersicht
========================================================= */

.kandidaten-admin-kandidaturen {
    margin:
        10px
        0;

    padding:
        10px
        12px;

    border-radius:
        9px;

    background:
        #f2f7fa;
}

.kandidaten-admin-kandidaturen ul {
    margin:
        7px
        0
        0;

    padding-left:
        18px;
}

.kandidaten-admin-kandidaturen li {
    margin:
        4px
        0;
}


/* =========================================================
   Version 2.0.7b – Kandidatenverwaltung & Wahlorganisation
========================================================= */

.kandidaten-statuskarten {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0;
}

.kandidaten-statuskarte {
    padding: 14px;
    border: 1px solid #d5e1e9;
    border-radius: 10px;
    background: #f7fafc;
}

.kandidaten-statuskarte strong {
    display: block;
    color: #0b4770;
    font-size: 1.6rem;
    line-height: 1;
}

.kandidaten-statuskarte span {
    display: block;
    margin-top: 6px;
    color: #526778;
}

.kandidaten-admin-filter {
    display: grid;
    grid-template-columns:
        minmax(180px, .9fr)
        minmax(150px, .55fr)
        minmax(260px, 1.25fr)
        auto;
    gap: 12px;
    align-items: end;
    margin: 16px 0 20px;
    padding: 14px;
    border: 1px solid #d5e1e9;
    border-radius: 10px;
    background: #fbfcfd;
}

.kandidaten-admin-filter > div {
    min-width: 0;
}

.kandidaten-admin-filter label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
}

.kandidaten-admin-filter input,
.kandidaten-admin-filter select {
    width: 100%;
    box-sizing: border-box;
}

.kandidaten-admin-filter__aktionen {
    display: flex;
    gap: 8px;
    align-items: center;
}

.wahlorganisation-kopf {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
}

.wahlorganisation-raster {
    display: grid;
    gap: 18px;
    margin-top: 18px;
}

.wahlorganisation-gruppe {
    overflow: hidden;
    border: 1px solid #d5e1e9;
    border-radius: 12px;
    background: #fff;
}

.wahlorganisation-gruppe > header {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    background: #f3f7fa;
    border-bottom: 1px solid #d5e1e9;
}

.wahlorganisation-gruppe h2 {
    margin: 0;
    color: #0b4770;
    font-size: 1.05rem;
}

.wahlorganisation-anzahl {
    white-space: nowrap;
    color: #526778;
    font-size: .9rem;
}

.wahlorganisation-tabelle-wrap {
    overflow-x: auto;
}

.wahlorganisation-tabelle {
    width: 100%;
    border-collapse: collapse;
}

.wahlorganisation-tabelle th,
.wahlorganisation-tabelle td {
    padding: 10px 12px;
    border-bottom: 1px solid #e3ebf0;
    text-align: left;
    vertical-align: middle;
}

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

.wahlorganisation-tabelle th {
    color: #173f63;
    background: #fbfcfd;
    font-size: .9rem;
}

@media (max-width: 1000px) {
    .kandidaten-statuskarten {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .kandidaten-admin-filter {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

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

    .wahlorganisation-kopf {
        display: block;
    }

    .wahlorganisation-kopf .button {
        margin-top: 10px;
    }
}


/* =========================================================
   Version 2.0.7b – Wahlorganisation & Listenverwaltung
========================================================= */

.wahlorganisation-statuskarten {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0;
}

.kandidaten-statuskarte--ok {
    border-color: #b9dfc8;
    background: #f1faf4;
}

.kandidaten-statuskarte--warnung {
    border-color: #ead38b;
    background: #fff9e7;
}

.wahlorganisation-meta {
    margin-top: 4px;
    color: #64798a;
    font-size: .88rem;
}

.wahl-status {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 999px;
    white-space: nowrap;
    font-size: .82rem;
    font-weight: 700;
}

.wahl-status--ok {
    color: #17633a;
    background: #dff3e6;
}

.wahl-status--warnung {
    color: #7a5500;
    background: #fff0b8;
}

.wahlorganisation-pruefung {
    padding: 12px 16px;
    border-bottom: 1px solid #ead38b;
    background: #fff9e7;
}

.wahlorganisation-pruefung ul {
    margin: 7px 0 0 18px;
    padding: 0;
}

.wahlorganisation-pruefung li + li {
    margin-top: 4px;
}

@media (max-width: 900px) {
    .wahlorganisation-statuskarten {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .wahlorganisation-statuskarten {
        grid-template-columns: 1fr;
    }

    .wahlorganisation-gruppe > header {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* =========================================================
   Version 2.0.7b – Kandidaten löschen nur ADMIN
========================================================= */

.kandidaten-admin-karte .button--gefahr {
    background: #a92323;
    border-color: #8f1f1f;
    color: #fff;
}

.kandidaten-admin-karte .button--gefahr:hover,
.kandidaten-admin-karte .button--gefahr:focus-visible {
    background: #8f1f1f;
}


/* =========================================================
   Version 2.0.7b – Wahlorganisation & Listenmanagement
========================================================= */

.wahlorganisation-statusblock {
    display: flex;
    gap: 8px;
    align-items: center;
}

.wahl-status--neutral {
    color: #244c68;
    background: #e7f0f6;
}

.wahlorganisation-pruefung--ok {
    border-bottom-color: #b9dfc8;
    background: #f1faf4;
    color: #17633a;
}

.wahlorganisation-freigabeinfo {
    padding: 10px 16px;
    border-bottom: 1px solid #d5e1e9;
    background: #f7fafc;
    color: #415c70;
    font-size: .9rem;
}

.wahlorganisation-luecken {
    padding: 10px 16px;
    border-top: 1px solid #ead38b;
    background: #fff9e7;
    color: #6a5000;
}

.wahlorganisation-adminaktion {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: center;
    justify-content: flex-end;

    padding: 12px 16px;

    border-top: 1px solid #d5e1e9;
    background: #fbfcfd;
}

.wahlorganisation-adminaktion form {
    margin: 0;
}

.wahlorganisation-adminaktion button[disabled] {
    cursor: not-allowed;
    opacity: .5;
}


/* =========================================================
   Version 2.0.7b – Wahllisten PDF
========================================================= */

.wahlorganisation-kopfaktionen {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.wahlorganisation-pdfaktion {
    display: flex;
    justify-content: flex-end;
    padding: 11px 16px;
    border-top: 1px solid #d5e1e9;
    background: #f8fafb;
}

@media (max-width: 650px) {
    .wahlorganisation-kopfaktionen {
        justify-content: flex-start;
        margin-top: 10px;
    }

    .wahlorganisation-pdfaktion {
        justify-content: stretch;
    }

    .wahlorganisation-pdfaktion .button {
        width: 100%;
        text-align: center;
    }
}


/* =========================================================
   Version 2.0.7b – Wahltermine & Wahlverwaltung
========================================================= */

.wahlverwaltung-kopf {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
}

.wahlverwaltung-kopfaktionen {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.wahlverwaltung-kopfaktionen form {
    margin: 0;
}

.wahlverwaltung-filter {
    display: flex;
    gap: 12px;
    align-items: end;
    margin: 18px 0 10px;
    padding: 12px 14px;
    border: 1px solid #d5e1e9;
    border-radius: 10px;
    background: #f8fafb;
}

.wahlverwaltung-filter label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
}

.wahlverwaltung-filter__aktionen,
.wahlverwaltung-aktionen {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.wahlverwaltung-ansichtwechsel {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 14px;
}

.wahlverwaltung-raster {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.wahlverwaltung-karte {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 16px;
    border: 1px solid #d5e1e9;
    border-radius: 12px;
    background: #fff;
}

.wahlverwaltung-karte__kopf {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
}

.wahlverwaltung-karte h2 {
    margin: 0 0 8px;
    color: #0b4770;
    font-size: 1.18rem;
}

.wahlverwaltung-termin {
    white-space: nowrap;
    color: #0b4770;
}

.wahlverwaltung-daten {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 16px 0;
}

.wahlverwaltung-daten div {
    padding: 9px 10px;
    border-radius: 8px;
    background: #f3f7fa;
}

.wahlverwaltung-daten dt {
    color: #64798a;
    font-size: .78rem;
}

.wahlverwaltung-daten dd {
    margin: 4px 0 0;
    color: #173f63;
    font-weight: 700;
}

.wahlverwaltung-beschreibung {
    color: #526778;
    line-height: 1.5;
}

.wahlverwaltung-aktionen {
    margin-top: auto;
    padding-top: 14px;
}

.wahlverwaltung-aktionen form {
    margin: 0;
}

.wahl-formular .form-abschnitt,
.wahlbereiche-editor {
    grid-column: 1 / -1;
}

.wahlbereiche-kopf,
.wahlbereich-zeile {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(180px, .8fr) 60px;
    gap: 10px;
    align-items: center;
}

.wahlbereiche-kopf {
    padding: 8px;
    color: #173f63;
}

.wahlbereich-zeile {
    padding: 8px;
    border-top: 1px solid #dbe6ed;
}

@media (max-width: 900px) {
    .wahlverwaltung-raster {
        grid-template-columns: 1fr;
    }

    .wahlverwaltung-daten {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .wahlverwaltung-kopf {
        display: block;
    }

    .wahlverwaltung-kopfaktionen {
        justify-content: flex-start;
        margin-top: 10px;
    }

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

    .wahlverwaltung-daten,
    .wahlbereich-zeile {
        grid-template-columns: 1fr;
    }

    .wahlbereiche-kopf {
        display: none;
    }
}


/* =========================================================
   Version 2.0.7b – Wahl/Kandidatur-Verknüpfung
========================================================= */

.kandidaten-editor__verknuepft {
    display: grid;
    grid-template-columns:
        minmax(250px, 1.05fr)
        minmax(260px, 1fr)
        100px
        60px;
    gap: 10px;
    align-items: start;
}

.kandidatur-zentral-auswahl {
    width: 100%;
}

.kandidatur-gremium-gruppe input[readonly] {
    background: #eef4f7;
    color: #39566b;
    cursor: default;
}

.wahlverwaltung-daten {
    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );
}

@media (max-width: 1050px) {
    .kandidaten-editor__verknuepft {
        grid-template-columns:
            minmax(220px, 1fr)
            minmax(220px, 1fr);
    }

    .kandidaten-editor__verknuepft > input[type="number"] {
        max-width: 140px;
    }
}

@media (max-width: 650px) {
    .kandidaten-editor__verknuepft,
    .wahlverwaltung-daten {
        grid-template-columns: 1fr;
    }

    .kandidaturen-editor__kopf.kandidaten-editor__verknuepft {
        display: none;
    }
}


/* =========================================================
   Version 2.0.7b – Rollen, Rechte & Freigabeworkflow
========================================================= */

.rollen-superuser {
    background: #e8efff;
    color: #294b91;
}

.rollenmatrix {
    margin: 18px 0;
    padding: 14px;
    border: 1px solid #d5e1e9;
    border-radius: 12px;
    background: #f8fafb;
}

.rollenmatrix h2 {
    margin-top: 0;
}

.rollenmatrix__raster {
    display: grid;
    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );
    gap: 10px;
}

.rollenmatrix__raster article {
    padding: 12px;
    border: 1px solid #dbe6ed;
    border-radius: 9px;
    background: #fff;
}

.rollenmatrix__raster strong {
    color: #0b4770;
}

.rollenmatrix__raster p {
    margin-bottom: 0;
    line-height: 1.45;
    color: #526778;
}

.bericht-workflow-box {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 12px 0 18px;
    padding: 12px 14px;
    border: 1px solid #cbdde8;
    border-radius: 10px;
    background: #f3f8fb;
    color: #36566d;
}

.bericht-workflow-box strong {
    color: #0b4770;
}

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

@media (max-width: 600px) {
    .rollenmatrix__raster {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Version 2.0.7b – Dynamische Rollen- & Rechteverwaltung
========================================================= */

.rechteverwaltung-kopf {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
}

.rechte-matrix-wrap {
    overflow-x: auto;
    margin: 18px 0;
    border: 1px solid #d5e1e9;
    border-radius: 12px;
    background: #fff;
}

.rechte-matrix {
    width: 100%;
    min-width: 920px;
    border-collapse: collapse;
}

.rechte-matrix th,
.rechte-matrix td {
    padding: 11px 12px;
    border-bottom: 1px solid #e3ebf0;
    text-align: center;
    vertical-align: middle;
}

.rechte-matrix th:first-child,
.rechte-matrix td:first-child {
    text-align: left;
}

.rechte-matrix thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f3f7fa;
    color: #173f63;
}

.rechte-matrix tbody tr:last-child th,
.rechte-matrix tbody tr:last-child td {
    border-bottom: 0;
}

.rechte-matrix__checkbox {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.rechte-matrix__checkbox input {
    width: 18px;
    height: 18px;
}

.rechte-matrix__checkbox span {
    min-width: 36px;
    color: #526778;
    font-size: .82rem;
}

.rechte-matrix__fest {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    padding: 5px 8px;
    border-radius: 999px;
    font-weight: 700;
}

.rechte-matrix__fest.ist-erlaubt {
    background: #dff3e6;
    color: #17633a;
}

.rechte-matrix__fest.ist-gesperrt {
    background: #eef1f3;
    color: #657582;
}

.rechteverwaltung-aktionen {
    display: flex;
    justify-content: flex-end;
    margin: 14px 0;
}

@media (max-width: 650px) {
    .rechteverwaltung-kopf {
        display: block;
    }

    .rechteverwaltung-kopf .button {
        margin-top: 10px;
    }
}


/* =========================================================
   2.0.7b – Rechte-Matrix: verbesserte Zeilen-/Spaltenzuordnung
========================================================= */

.rechte-matrix {
    border-collapse: separate;
    border-spacing: 0;
}

.rechte-matrix th,
.rechte-matrix td {
    border-right: 1px solid #d7e1e8;
    border-bottom: 1px solid #d7e1e8;
}

.rechte-matrix th:last-child,
.rechte-matrix td:last-child {
    border-right: 0;
}

.rechte-matrix tbody tr:last-child th,
.rechte-matrix tbody tr:last-child td {
    border-bottom: 0;
}

.rechte-matrix tbody tr:nth-child(even) th,
.rechte-matrix tbody tr:nth-child(even) td {
    background: #f8fafc;
}

.rechte-matrix tbody tr:hover th,
.rechte-matrix tbody tr:hover td {
    background: #eef5f9;
}

.rechte-matrix tbody th[scope="row"] {
    font-weight: 700;
    color: #173f63;
}

.rechte-matrix thead th {
    border-bottom: 2px solid #b9cad6;
}

.rechte-matrix thead th:first-child {
    border-top-left-radius: 10px;
}

.rechte-matrix thead th:last-child {
    border-top-right-radius: 10px;
}


/* =========================================================
   Kannes WebManager 2.0.7b
   Finale Darstellung Rollen- & Rechte-Matrix
========================================================= */

.panel .rechte-matrix-wrap {
    width: 100%;
    overflow-x: auto;
    margin: 18px 0 14px;
    border: 1px solid #9db8cc !important;
    border-radius: 8px;
    background: #fff;
}

.panel table.rechte-matrix {
    width: 100% !important;
    min-width: 900px;
    table-layout: fixed;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    margin: 0 !important;
    background: #fff;
}

.panel table.rechte-matrix th,
.panel table.rechte-matrix td {
    box-sizing: border-box;
    padding: 9px 12px !important;
    border-right: 1px solid #9db8cc !important;
    border-bottom: 1px solid #9db8cc !important;
    vertical-align: middle !important;
}

.panel table.rechte-matrix thead th {
    background: #edf4f9 !important;
    color: #173f63 !important;
    font-weight: 700;
    text-align: center !important;
    border-bottom: 2px solid #6f9cbc !important;
}

.panel table.rechte-matrix thead th:first-child,
.panel table.rechte-matrix tbody th[scope="row"] {
    width: 31%;
}

.panel table.rechte-matrix thead th:not(:first-child),
.panel table.rechte-matrix tbody td {
    width: 17.25%;
    text-align: center !important;
}

.panel table.rechte-matrix tbody th[scope="row"] {
    text-align: left !important;
    color: #173f63;
    font-weight: 700;
    background: inherit;
}

.panel table.rechte-matrix th:last-child,
.panel table.rechte-matrix td:last-child {
    border-right: 0 !important;
}

.panel table.rechte-matrix tbody tr:last-child th,
.panel table.rechte-matrix tbody tr:last-child td {
    border-bottom: 0 !important;
}

.panel table.rechte-matrix tbody tr:nth-child(even) th,
.panel table.rechte-matrix tbody tr:nth-child(even) td {
    background: #f7fafc !important;
}

.panel table.rechte-matrix tbody tr:nth-child(odd) th,
.panel table.rechte-matrix tbody tr:nth-child(odd) td {
    background: #ffffff !important;
}

.panel table.rechte-matrix tbody tr:hover th,
.panel table.rechte-matrix tbody tr:hover td {
    background: #eaf3f9 !important;
}

.panel .rechte-matrix__checkbox {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    white-space: nowrap;
}

.panel .rechte-matrix__checkbox input {
    width: 18px;
    height: 18px;
    margin: 0;
}

.panel .rechte-matrix__fest {
    min-width: 62px;
    white-space: nowrap;
}

@media (max-width: 1050px) {
    .panel table.rechte-matrix {
        min-width: 820px;
    }
}


/* Kannes WebManager 2.3 – Projektverwaltung */
.projektverwaltung-raster {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}
.projektverwaltung-karte { margin: 0; }
.projektverwaltung-karte h2 { margin-top: 0; }
.projekt-details {
    display: grid;
    grid-template-columns: minmax(90px, auto) 1fr;
    gap: .4rem 1rem;
    margin: 1rem 0;
}
.projekt-details dt { font-weight: 700; }
.projekt-details dd { margin: 0; overflow-wrap: anywhere; }
.projekt-formular { max-width: 980px; }
.modul-auswahl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .65rem 1rem;
    border: 1px solid var(--linie, #ccc);
    border-radius: .5rem;
    padding: 1rem;
    margin: 0;
}
.checkbox-zeile {
    display: flex;
    align-items: center;
    gap: .55rem;
    font-weight: 400;
}
.checkbox-zeile input { width: auto; margin: 0; }
.projekt-formular-aktionen { grid-column: 1 / -1; }
@media (max-width: 700px) {
    .projekt-details { grid-template-columns: 1fr; gap: .15rem; }
    .projekt-details dd { margin-bottom: .6rem; }
}
\n\n/* =========================================================\n   Permanente Projektkennung\n========================================================= */\n.admin-marke--webmanager {\n    display: flex;\n    align-items: center;\n    gap: 28px;\n    min-width: 0;\n}\n\n.webmanager-markenblock {\n    flex: 0 0 auto;\n}\n\n.webmanager-markenblock > strong,\n.webmanager-markenblock > span {\n    display: block;\n}\n\n.webmanager-markenblock > strong {\n    font-size: 1.15rem;\n}\n\n.webmanager-markenblock > span {\n    margin-top: 2px;\n    font-size: .78rem;\n    opacity: .82;\n}\n\n.projektkennung {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    min-width: 250px;\n    padding: 8px 16px;\n    border: 2px solid rgb(255 255 255 / 75%);\n    border-radius: 10px;\n    background: rgb(255 255 255 / 12%);\n    box-shadow: inset 0 0 0 1px rgb(0 0 0 / 8%);\n}\n\n.projektkennung-label {\n    display: block;\n    margin-bottom: 1px;\n    font-size: .70rem;\n    font-weight: 800;\n    letter-spacing: .12em;\n    opacity: .82;\n}\n\n.projektkennung > strong {\n    display: block;\n    font-size: 1.45rem;\n    line-height: 1.08;\n    letter-spacing: .01em;\n}\n\n.projektkennung--system {\n    border-style: dashed;\n}\n\n@media (max-width: 1050px) {\n    .admin-marke--webmanager {\n        gap: 12px;\n    }\n    .projektkennung {\n        min-width: 190px;\n        padding: 7px 11px;\n    }\n    .projektkennung > strong {\n        font-size: 1.15rem;\n    }\n}\n\n@media (max-width: 760px) {\n    .admin-marke--webmanager {\n        width: 100%;\n        align-items: stretch;\n        flex-direction: column;\n        gap: 8px;\n    }\n    .projektkennung {\n        min-width: 0;\n    }\n}\n

/* =========================================================
   Projektkennung 2.6.2 – eigenständiger Kopfblock
   Die Kennung sitzt zwischen WebManager-Marke und Navigation.
========================================================= */
.admin-kopf {
    position: relative;
}

.admin-marke--webmanager {
    flex: 0 0 auto;
}

.projektkennung--kopfmitte {
    flex: 0 1 455px;
    min-width: 300px;
    max-width: 455px;
    margin: 0 24px;
    padding: 7px 20px;
}

.projektkennung--kopfmitte .projektkennung-label {
    font-size: .82rem;
}

.projektkennung--kopfmitte > strong {
    font-size: 1.65rem;
}

.admin-kopf-rechts {
    margin-left: auto;
}

@media (max-width: 1180px) {
    .projektkennung--kopfmitte {
        flex-basis: 340px;
        min-width: 240px;
        margin: 0 12px;
    }
    .projektkennung--kopfmitte > strong {
        font-size: 1.35rem;
    }
}

@media (max-width: 900px) {
    .admin-kopf {
        flex-wrap: wrap;
    }
    .projektkennung--kopfmitte {
        order: 3;
        flex: 1 0 100%;
        max-width: none;
        margin: 8px 0 0;
    }
}


/* FDS Startseitenverwaltung */
.fds-startseiten-form {
    display: grid;
    gap: 20px;
    margin-top: 24px;
}
.fds-startseiten-bereich {
    display: grid;
    grid-template-columns: minmax(150px, 210px) minmax(0, 1fr);
    gap: 12px 18px;
    margin: 0;
    padding: 20px;
    border: 1px solid var(--rand);
    border-radius: 14px;
    background: #f9fbfc;
}
.fds-startseiten-bereich legend {
    padding: 0 8px;
    color: var(--blau-dunkel);
    font-size: 1.08rem;
    font-weight: 800;
}
.fds-startseiten-bereich > .hinweis,
.fds-startseiten-bereich > .checkbox-zeile,
.fds-startseiten-bereich > .fds-startseiten-medienhinweis {
    grid-column: 1 / -1;
}
.fds-startseiten-bereich textarea {
    resize: vertical;
}
.fds-startseiten-medienhinweis {
    display: flex;
    gap: 12px;
    align-items: baseline;
    padding: 10px 12px;
    border-radius: 8px;
    background: #eef4f7;
}
.fds-startseiten-medienhinweis span {
    color: var(--grau);
}
.fds-startseiten-speichern {
    position: sticky;
    bottom: 12px;
    z-index: 5;
    padding: 12px;
    border-radius: 12px;
    background: rgb(255 255 255 / 94%);
    box-shadow: 0 5px 18px rgb(0 0 0 / 12%);
}
@media (max-width: 760px) {
    .fds-startseiten-bereich {
        grid-template-columns: 1fr;
    }
    .fds-startseiten-bereich > * {
        grid-column: 1;
    }
}

.fds-startseiten-medienauswahl{grid-column:1/-1;display:grid;grid-template-columns:180px minmax(220px,1fr) auto;gap:10px 14px;align-items:center;padding:12px;background:#eef4f7;border-radius:8px}
.fds-startseiten-medienauswahl .hinweis{grid-column:2/-1}
@media(max-width:760px){.fds-startseiten-medienauswahl{grid-template-columns:1fr}}

.fds-medium-vorschau{grid-column:2/-1;display:flex;align-items:center;gap:12px;margin-top:4px}
.fds-medium-vorschau img{display:block;width:180px;max-height:110px;object-fit:contain;background:#fff;border:1px solid #ccd8df;border-radius:7px}
.fds-medium-vorschau span{font-weight:700;color:#345}
@media(max-width:760px){.fds-medium-vorschau{grid-column:1}}

/* 2.10.0 – Medien-Darstellung */
.fds-startseiten-medienauswahl{grid-template-columns:160px minmax(220px,1fr) minmax(190px,260px)}
.fds-startseiten-medienauswahl>a.button{justify-self:start}
@media(max-width:900px){.fds-startseiten-medienauswahl{grid-template-columns:1fr}}

/* 2.10.1 – Hero-Slider Verwaltung */
.fds-slider-form{display:grid;gap:22px}
.fds-slider-grundeinstellungen{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;padding:18px;background:#eef4f7;border-radius:12px}
.fds-slider-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fds-slide{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px 14px;padding:18px;border:1px solid var(--rand);border-radius:12px;background:#f9fbfc}
.fds-slide legend{font-weight:800;color:var(--blau-dunkel)}
.fds-slide .checkbox-zeile,.fds-slide .fds-medium-vorschau{grid-column:1/-1}
@media(max-width:900px){.fds-slider-liste,.fds-slider-grundeinstellungen{grid-template-columns:1fr}.fds-slide{grid-template-columns:1fr}}

/* 2.10.3 – Slider-Feineinstellungen */
.fds-slide select{min-width:0;width:100%}
.fds-slide label{align-self:center}


/* =========================================================
   2.10.4 – übersichtlicher Hero-Slider-Editor
========================================================= */
.fds-slider-liste--einspaltig{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}
.fds-slide-karte{
    overflow:hidden;
    border:1px solid var(--rand);
    border-radius:12px;
    background:#f9fbfc;
}
.fds-slide-karte[open]{
    background:#fff;
    box-shadow:0 5px 16px rgb(0 0 0 / 8%);
}
.fds-slide-zusammenfassung{
    display:grid;
    grid-template-columns:90px minmax(150px,1.2fr) minmax(160px,1.3fr) auto auto auto;
    gap:12px;
    align-items:center;
    min-height:58px;
    padding:12px 16px;
    cursor:pointer;
    list-style:none;
    background:#f2f6f8;
}
.fds-slide-zusammenfassung::-webkit-details-marker{display:none}
.fds-slide-zusammenfassung::before{
    content:"›";
    display:inline-grid;
    place-items:center;
    width:24px;
    height:24px;
    margin-right:4px;
    font-size:1.4rem;
    font-weight:900;
    transform:rotate(0deg);
    transition:transform .15s ease;
    grid-column:1;
    grid-row:1;
    justify-self:start;
}
.fds-slide-karte[open]>.fds-slide-zusammenfassung::before{
    transform:rotate(90deg);
}
.fds-slide-nummer{
    font-weight:900;
    color:var(--blau-dunkel);
    padding-left:28px;
    grid-column:1;
    grid-row:1;
}
.fds-slide-summary-bild{font-weight:800;color:var(--text)}
.fds-slide-summary-titel{color:var(--grau)}
.fds-slide-summary-titel--leer{font-style:italic;opacity:.8}
.fds-slide-summary-reihenfolge{white-space:nowrap;color:var(--grau);font-size:.88rem}
.fds-slide-summary-aktion{
    padding:7px 10px;
    border-radius:8px;
    background:#e5edf2;
    color:var(--blau-dunkel);
    font-weight:800;
    white-space:nowrap;
}
.fds-slide-inhalt{
    display:grid;
    gap:18px;
    padding:18px;
    border-top:1px solid var(--rand);
}
.fds-slide-abschnitt{
    padding:18px;
    border:1px solid #d8e2e8;
    border-radius:10px;
    background:#fbfcfd;
}
.fds-slide-abschnitt h3{
    margin:0 0 14px;
    color:var(--blau-dunkel);
}
.fds-slide-grid{
    display:grid;
    grid-template-columns:170px minmax(0,1fr);
    gap:12px 18px;
    align-items:start;
}
.fds-slide-grid>label{
    padding-top:10px;
    font-weight:800;
}
.fds-slide-grid textarea{min-height:110px}
.fds-slide-grid--basis{
    grid-template-columns:170px minmax(260px,1fr) 120px minmax(100px,160px);
}
.fds-slide-grid--basis>.fds-slide-sichtbar{
    grid-column:1/-1;
    padding-top:2px;
}
.fds-slide-vorschau{
    display:flex;
    align-items:center;
    gap:16px;
    margin-top:16px;
    padding:12px;
    border-radius:10px;
    background:#eef4f7;
}
.fds-slide-vorschau img{
    display:block;
    width:180px;
    height:105px;
    object-fit:cover;
    border-radius:8px;
    background:#fff;
}
.fds-slide-vorschau strong,
.fds-slide-vorschau span{display:block}
.fds-slide-vorschau span{margin-top:4px;color:var(--grau);font-size:.88rem}
.fds-slide-abschnitt--darstellung>.hinweis{margin:-5px 0 14px}
.fds-slide-darstellung{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.fds-slide-darstellung label{
    display:block;
    margin-bottom:6px;
    font-weight:800;
}
@media(max-width:1050px){
    .fds-slide-zusammenfassung{
        grid-template-columns:80px minmax(140px,1fr) minmax(140px,1fr) auto;
    }
    .fds-slide-summary-reihenfolge,
    .fds-slide-summary-aktion{display:none}
    .fds-slide-grid--basis{grid-template-columns:150px minmax(0,1fr)}
}
@media(max-width:760px){
    .fds-slide-zusammenfassung{
        grid-template-columns:1fr auto;
        gap:6px 10px;
    }
    .fds-slide-zusammenfassung::before{display:none}
    .fds-slide-nummer{padding-left:0;grid-column:1}
    .fds-slide-summary-bild{grid-column:1}
    .fds-slide-summary-titel{grid-column:1}
    .fds-slide-zusammenfassung .status-badge{grid-column:2;grid-row:1}
    .fds-slide-grid,
    .fds-slide-grid--basis,
    .fds-slide-darstellung{grid-template-columns:1fr}
    .fds-slide-grid>label{padding-top:0}
    .fds-slide-vorschau{align-items:flex-start;flex-direction:column}
    .fds-slide-vorschau img{width:100%;height:auto;max-height:220px}
}

/* =========================================================
   2.10.5 – kompakter 2-Spalten-Slider-Editor
========================================================= */
.fds-slider-kopfzeile{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:10px 0 14px;
}
.fds-slider-kopfzeile h2{margin:0}
.fds-slider-liste--karten{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.fds-slide-kompakt{
    border:1px solid var(--rand);
    border-radius:12px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 3px 10px rgb(0 0 0 / 5%);
}
.fds-slide-kompakt--verborgen{display:none}
.fds-slide-kompakt-kopf{
    display:grid;
    grid-template-columns:22px auto 1fr auto;
    align-items:center;
    gap:9px;
    min-height:42px;
    padding:8px 12px;
    background:#f4f7f9;
    border-bottom:1px solid var(--rand);
}
.fds-slide-griff{
    color:#718390;
    font-size:1.15rem;
}
.fds-slide-kompakt-kopf>strong{
    color:var(--blau-dunkel);
    font-size:.98rem;
}
.fds-slide-kompakt-kopf .status-badge{
    justify-self:end;
    font-size:.74rem;
    padding:4px 7px;
}
.fds-slide-reihenfolge-kurz{
    width:64px;
}
.fds-slide-reihenfolge-kurz input{
    padding:6px 8px;
    border-width:1px;
    font-size:.84rem;
}
.sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
.fds-slide-kompakt-inhalt{
    padding:12px;
}
.fds-slide-mediumzeile{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:9px;
    align-items:start;
    padding-bottom:12px;
    border-bottom:1px solid #e1e8ec;
}
.fds-slide-mediumzeile>label,
.fds-slide-spalte>label{
    font-size:.82rem;
    font-weight:800;
    color:var(--text);
}
.fds-slide-mediumwahl{
    display:grid;
    gap:9px;
}
.fds-slide-mediumwahl select,
.fds-slide-spalte input,
.fds-slide-spalte textarea,
.fds-slide-spalte select{
    padding:7px 9px;
    border-width:1px;
    border-radius:7px;
    font-size:.84rem;
}
.fds-slide-spalte textarea{
    min-height:72px;
}
.fds-slide-medium-kompakt{
    display:flex;
    align-items:center;
    gap:10px;
}
.fds-slide-medium-kompakt img{
    width:108px;
    height:66px;
    object-fit:cover;
    border-radius:7px;
    border:1px solid var(--rand);
}
.fds-slide-medium-kompakt strong,
.fds-slide-medium-kompakt span{
    display:block;
}
.fds-slide-medium-kompakt strong{
    font-size:.85rem;
}
.fds-slide-medium-kompakt span{
    margin-top:2px;
    color:var(--grau);
    font-size:.72rem;
}
.fds-slide-spalten{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:14px;
    margin-top:12px;
}
.fds-slide-spalte{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    gap:7px 9px;
    align-items:center;
}
.fds-slide-spalte h3{
    grid-column:1/-1;
    margin:0 0 5px;
    padding-bottom:6px;
    color:var(--blau-dunkel);
    border-bottom:1px solid #e1e8ec;
    font-size:.92rem;
}
.fds-slide-spalte>label span{
    color:var(--grau);
    font-weight:400;
}
.fds-slide-spalte--darstellung{
    padding-left:12px;
    border-left:1px solid #e1e8ec;
}
.fds-slide-prozent{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:6px;
    align-items:center;
}
.fds-slide-sichtbarkeit-kompakt{
    grid-column:1/-1;
    margin-top:3px;
}
.fds-slide-mini-vorschau{
    grid-column:1/-1;
    min-height:70px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:10px 12px;
    color:#fff;
    background:linear-gradient(135deg,#2d2d2d,#777);
    border-radius:8px;
}
.fds-slide-mini-vorschau strong{
    font-size:.98rem;
}
.fds-slide-mini-vorschau span{
    margin-top:3px;
    font-size:.72rem;
    opacity:.85;
}
@media(max-width:1180px){
    .fds-slider-liste--karten{grid-template-columns:1fr}
}
@media(max-width:760px){
    .fds-slider-kopfzeile{align-items:stretch;flex-direction:column}
    .fds-slide-spalten{grid-template-columns:1fr}
    .fds-slide-spalte--darstellung{padding-left:0;border-left:0;border-top:1px solid #e1e8ec;padding-top:12px}
    .fds-slide-spalte{grid-template-columns:1fr}
    .fds-slide-mediumzeile{grid-template-columns:1fr}
    .fds-slide-kompakt-kopf{grid-template-columns:22px 1fr auto}
    .fds-slide-reihenfolge-kurz{grid-column:2/-1;width:80px}
}


/* =========================================================
   2.10.6 – Slider-Aktionsleiste korrigiert
========================================================= */
.fds-slider-aktionen{
    position:static !important;
    inset:auto !important;
    width:100%;
    grid-column:1/-1;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    margin-top:16px;
    padding:12px 0 0;
    background:transparent;
    box-shadow:none;
    border:0;
}
.fds-slider-aktionen button,
.fds-slider-aktionen .button{
    width:auto;
    min-width:0;
    height:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 15px;
}

/* 2.11.1 – Medienhinweise Startseite */
.fds-medien-hinweis{
    grid-column:1/-1;
    margin:4px 0 0;
    padding:8px 10px;
    border-radius:7px;
    background:#f4f7f9;
}

/* =========================================================
   2.12.0 – FDS Leistungsverwaltung
========================================================= */
.fds-leistungen-raster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.fds-leistung-karte{display:grid;grid-template-columns:150px minmax(0,1fr);overflow:hidden;border:1px solid var(--rand);border-radius:12px;background:#fff;box-shadow:0 4px 14px rgb(0 0 0 / 6%)}
.fds-leistung-karte-bild{min-height:180px;display:grid;place-items:center;background:#eef3f6;color:var(--blau);font-size:2rem}
.fds-leistung-karte-bild img{width:100%;height:100%;object-fit:cover}
.fds-leistung-karte-inhalt{padding:16px}
.fds-leistung-karte-inhalt h2{margin:8px 0;font-size:1.15rem}
.fds-leistung-karte-inhalt p{line-height:1.45}
.fds-leistung-untertitel{font-weight:800}
.fds-leistung-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--grau);font-size:.8rem}
.fds-leistung-form{display:grid;gap:18px}
.fds-leistung-editor{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:20px}
.fds-leistung-editor>section,.fds-leistung-editor>aside{display:grid;align-content:start;gap:9px;padding:18px;border:1px solid var(--rand);border-radius:12px;background:#f9fbfc}
.fds-leistung-editor h2{margin:0 0 8px}
.fds-leistung-editor label{font-weight:800;font-size:.9rem}
.fds-leistung-bildvorschau img{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:8px}
.fds-leistung-aktionen{grid-column:1/-1}
@media(max-width:1000px){.fds-leistungen-raster{grid-template-columns:1fr}.fds-leistung-editor{grid-template-columns:1fr}}
@media(max-width:620px){.fds-leistung-karte{grid-template-columns:1fr}.fds-leistung-karte-bild{min-height:150px}}


/* 2.12.1 – Leistungseditor Bildauswahl */
.fds-leistung-bildwahl{display:grid;grid-template-columns:1fr;gap:9px}
.fds-leistung-bildwahl .button{justify-self:start}


/* =========================================================
   2.13.0 – FDS Portfolio-Grundmodul
========================================================= */
.fds-portfolio-raster{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:20px;
}
.fds-portfolio-karte{
    overflow:hidden;
    border:1px solid var(--rand);
    border-radius:12px;
    background:#fff;
    box-shadow:0 4px 14px rgb(0 0 0 / 6%);
}
.fds-portfolio-karte-bild{
    min-height:190px;
    display:grid;
    place-items:center;
    background:#eef3f6;
    color:var(--blau);
    font-size:2rem;
}
.fds-portfolio-karte-bild img{
    display:block;
    width:100%;
    height:210px;
    object-fit:cover;
}
.fds-portfolio-karte-inhalt{padding:16px}
.fds-portfolio-karte-inhalt h2{margin:6px 0;font-size:1.18rem}
.fds-portfolio-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:var(--grau);
    font-size:.8rem;
}
.fds-portfolio-kategorie{
    margin:12px 0 0;
    color:var(--blau);
    font-size:.78rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.fds-portfolio-untertitel{font-weight:800}
.fds-portfolio-loeschen{display:inline}
.fds-portfolio-editor{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);
    gap:20px;
}
.fds-portfolio-editor>section,
.fds-portfolio-editor>aside{
    display:grid;
    align-content:start;
    gap:9px;
    padding:18px;
    border:1px solid var(--rand);
    border-radius:12px;
    background:#f9fbfc;
}
.fds-portfolio-editor h2{margin:0 0 8px}
.fds-portfolio-editor label{font-weight:800;font-size:.9rem}
.fds-portfolio-bildwahl{display:grid;gap:9px}
.fds-portfolio-bildwahl .button{justify-self:start}
.fds-portfolio-bildvorschau img{
    display:block;
    width:100%;
    max-height:230px;
    object-fit:cover;
    border-radius:8px;
}
.fds-portfolio-aktionen{grid-column:1/-1}
@media(max-width:1000px){
    .fds-portfolio-raster{grid-template-columns:1fr}
    .fds-portfolio-editor{grid-template-columns:1fr}
}


/* 2.13.1 – Portfolio-Übersicht Feinschliff */
.fds-portfolio-raster{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.fds-portfolio-raster > .fds-portfolio-karte:only-child{
    max-width:520px;
}
@media(max-width:1000px){
    .fds-portfolio-raster{
        grid-template-columns:1fr;
    }
    .fds-portfolio-raster > .fds-portfolio-karte:only-child{
        max-width:none;
    }
}


/* =========================================================
   2.14.0 – FDS Partner-Grundmodul
========================================================= */
.fds-partner-raster{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:20px;
}
.fds-partner-karte{
    display:grid;
    grid-template-columns:160px minmax(0,1fr);
    overflow:hidden;
    border:1px solid var(--rand);
    border-radius:12px;
    background:#fff;
    box-shadow:0 4px 14px rgb(0 0 0 / 6%);
}
.fds-partner-logo{
    min-height:180px;
    display:grid;
    place-items:center;
    padding:18px;
    background:#f4f7f9;
    color:var(--blau);
    font-size:2rem;
}
.fds-partner-logo img{
    display:block;
    width:100%;
    max-height:145px;
    object-fit:contain;
}
.fds-partner-inhalt{padding:16px}
.fds-partner-inhalt h2{margin:8px 0;font-size:1.18rem}
.fds-partner-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:var(--grau);
    font-size:.8rem;
}
.fds-partner-untertitel{font-weight:800}
.fds-partner-link{
    color:var(--grau);
    font-size:.82rem;
    word-break:break-all;
}
.fds-partner-loeschen{display:inline}
.fds-partner-editor{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);
    gap:20px;
}
.fds-partner-editor>section,
.fds-partner-editor>aside{
    display:grid;
    align-content:start;
    gap:9px;
    padding:18px;
    border:1px solid var(--rand);
    border-radius:12px;
    background:#f9fbfc;
}
.fds-partner-editor h2{margin:0 0 8px}
.fds-partner-editor label{font-weight:800;font-size:.9rem}
.fds-partner-bildwahl{display:grid;gap:9px}
.fds-partner-bildwahl .button{justify-self:start}
.fds-partner-bildvorschau img{
    display:block;
    width:100%;
    max-height:220px;
    object-fit:contain;
    padding:10px;
    background:#fff;
    border:1px solid var(--rand);
    border-radius:8px;
}
.fds-partner-aktionen{grid-column:1/-1}
@media(max-width:1000px){
    .fds-partner-raster{grid-template-columns:1fr}
    .fds-partner-editor{grid-template-columns:1fr}
}
@media(max-width:620px){
    .fds-partner-karte{grid-template-columns:1fr}
}


/* 2.14.1 – Partner-Bildupload-Workflow */
.fds-partner-medienaktionen{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}
.fds-partner-medienaktionen .button{
    justify-self:auto;
}
.fds-partner-medienstatus{
    color:var(--grau);
    font-size:.8rem;
}


/* 2.14.2 – Partner Inline-Bildupload */
.fds-partner-inline-upload{
    display:grid;
    gap:8px;
    margin-top:10px;
    padding:14px;
    border:1px dashed var(--rand);
    border-radius:10px;
    background:#fff;
}
.fds-partner-inline-upload h3{
    margin:0 0 4px;
    font-size:1rem;
}
.fds-partner-inline-upload input[type="file"]{
    width:100%;
}


/* 2.14.3 – Partner Admin-Übersicht Feinschliff */
.fds-partner-raster{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.fds-partner-karte{
    grid-template-columns:145px minmax(0,1fr);
}

.fds-partner-logo{
    min-height:150px;
    padding:16px;
}

.fds-partner-logo img{
    max-height:115px;
}

.fds-partner-inhalt{
    padding:14px 16px;
}

.fds-partner-inhalt h2{
    margin:6px 0;
    font-size:1.12rem;
}

.fds-partner-inhalt p{
    margin:.35rem 0;
}

.fds-partner-inhalt .aktionen{
    margin-top:10px;
}

@media(max-width:900px){
    .fds-partner-raster{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   2.15.0 – Kontakt
========================================================= */
.fds-kontakt-editor{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}
.fds-kontakt-editor>section,
.fds-kontakt-person-editor>section,
.fds-kontakt-person-editor>aside{
    display:grid;
    align-content:start;
    gap:9px;
    padding:18px;
    border:1px solid var(--rand);
    border-radius:12px;
    background:#f9fbfc;
}
.fds-kontakt-zweispaltig{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.fds-kontakt-trenner{
    margin:30px 0;
    border:0;
    border-top:1px solid var(--rand);
}
.fds-kontakt-personen{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:18px;
}
.fds-kontakt-person{
    display:grid;
    grid-template-columns:125px minmax(0,1fr);
    gap:16px;
    padding:14px;
    border:1px solid var(--rand);
    border-radius:12px;
    background:#fff;
}
.fds-kontakt-person-bild{
    display:grid;
    place-items:center;
    min-height:125px;
    overflow:hidden;
    background:#eef3f6;
    color:var(--blau);
    font-size:2rem;
}
.fds-kontakt-person-bild img{
    width:100%;
    height:125px;
    object-fit:cover;
}
.fds-kontakt-person-meta{
    display:flex;
    justify-content:space-between;
    gap:10px;
    color:var(--grau);
    font-size:.8rem;
}
.fds-kontakt-person h3{margin:.35rem 0}
.fds-kontakt-person p{margin:.35rem 0}
.fds-kontakt-person-editor{
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(280px,.75fr);
    gap:20px;
}
.fds-kontakt-inline-upload{
    display:grid;
    gap:8px;
    margin-top:10px;
    padding:14px;
    border:1px dashed var(--rand);
    border-radius:10px;
    background:#fff;
}
.fds-kontakt-inline-upload h3{margin:0 0 4px;font-size:1rem}
.fds-kontakt-bildvorschau img{
    width:100%;
    max-height:220px;
    object-fit:cover;
    border-radius:8px;
}
@media(max-width:900px){
    .fds-kontakt-editor,
    .fds-kontakt-personen,
    .fds-kontakt-person-editor{grid-template-columns:1fr}
}
@media(max-width:620px){
    .fds-kontakt-zweispaltig,
    .fds-kontakt-person{grid-template-columns:1fr}
}

/* 2.15.1 – Kontakt Admin-Feinschliff */
.fds-kontakt-personen{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.fds-kontakt-personen>.fds-kontakt-person:only-child{max-width:720px}
.fds-kontakt-person,.fds-kontakt-person>div:last-child{min-width:0}
.fds-kontakt-person a{overflow-wrap:anywhere}
@media(max-width:900px){.fds-kontakt-personen{grid-template-columns:1fr}.fds-kontakt-personen>.fds-kontakt-person:only-child{max-width:none}}


/* =========================================================
   2.16.0 – Rechtliches
========================================================= */
.fds-recht-raster{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:20px;
}
.fds-recht-karte{
    display:flex;
    flex-direction:column;
    min-height:250px;
    padding:20px;
    border:1px solid var(--rand);
    border-top:4px solid var(--blau);
    border-radius:12px;
    background:#fff;
    box-shadow:0 5px 16px rgb(0 0 0 / 6%);
}
.fds-recht-meta{
    display:flex;
    justify-content:space-between;
    gap:12px;
    color:var(--grau);
    font-size:.8rem;
}
.fds-recht-eyebrow{
    margin:22px 0 6px;
    color:var(--blau);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.12em;
}
.fds-recht-karte h2{margin:.2rem 0 .7rem;font-size:1.35rem}
.fds-recht-karte .aktionen{margin-top:auto;padding-top:18px}
.fds-recht-editor{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(270px,.55fr);
    gap:20px;
}
.fds-recht-editor>section,.fds-recht-editor>aside{
    display:grid;
    align-content:start;
    gap:9px;
    padding:18px;
    border:1px solid var(--rand);
    border-radius:12px;
    background:#f9fbfc;
}
.fds-recht-editor label{font-weight:800;font-size:.9rem}
.fds-recht-textarea{min-height:520px;line-height:1.55;font-family:inherit}
@media(max-width:1050px){.fds-recht-raster{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.fds-recht-raster,.fds-recht-editor{grid-template-columns:1fr}.fds-recht-textarea{min-height:420px}}

/* 2.16.1 – Rechtliches Editor-Feinschliff */
.fds-recht-editor{grid-template-columns:minmax(0,1.9fr) minmax(250px,.6fr)}
.fds-recht-textarea{min-height:560px;line-height:1.55;resize:vertical}
.fds-recht-editor aside{align-self:start}
@media(max-width:900px){.fds-recht-editor{grid-template-columns:1fr}.fds-recht-textarea{min-height:460px}}


/* =========================================================
   2.16.3.RC1 – Adminnavigation kompakt und sauber lesbar
   Ausschließlich linke Seitenleiste.
========================================================= */

:root {
    --seitenleiste: 232px;
}

/* Sidebar etwas breiter, aber deutlich kompakter */
.seitenleisten-navigation {
    padding: 8px 8px;
}

.seitenleisten-navigation a,
.seitenleisten-titel {
    gap: 7px;
    min-height: 30px;
    padding: 5px 10px;
    line-height: 1.18;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
}

/* Hauptebene klar hervorheben */
.seitenleisten-navigation > a,
.seitenleisten-titel {
    font-weight: 700;
}

/* Unterpunkte bewusst leichter */
.seitenleisten-gruppe a {
    min-height: 26px;
    padding: 4px 8px 4px 27px;
    font-size: 0.92rem;
    line-height: 1.16;
    font-weight: 400;
}

/* Gruppen dichter zusammenziehen */
.seitenleisten-gruppe {
    margin: 2px 0;
}

.seitenleisten-titel {
    min-height: 27px;
    padding-top: 5px;
    padding-bottom: 4px;
    font-size: 0.82rem;
    letter-spacing: 0.045em;
}

/* Symbole behalten feste Breite, Text darf vollständig umbrechen */
.seitenleisten-navigation a > span:first-child,
.seitenleisten-titel > span:first-child {
    flex: 0 0 12px;
    text-align: center;
}

@media (max-width: 1050px) {
    :root {
        --seitenleiste: 210px;
    }

    .admin-layout {
        grid-template-columns: var(--seitenleiste) minmax(0, 1fr);
    }

    .seitenleisten-gruppe a {
        padding-left: 24px;
    }
}


/* 2.16.3.RC2 – NSL als Unterpunkt von Seiten */
.seitenleisten-navigation a.seitenleisten-unterpunkt{
    padding-left:27px;
    font-weight:400;
    font-size:.92rem;
}


/* 2.16.3.RC2 – Systemseite in allgemeiner Seitenübersicht */
.fds-systemseite-hinweis{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:14px 0 18px;
    padding:14px 16px;
    border:1px solid var(--rand);
    border-left:4px solid var(--blau);
    border-radius:8px;
    background:#f7fafc;
}
.fds-systemseite-hinweis strong,
.fds-systemseite-hinweis span{
    display:block;
}
.fds-systemseite-hinweis span{
    margin-top:3px;
    color:var(--grau);
    font-size:.86rem;
}


/* =========================================================
   2.16.3.RC2-FIX – Startseiten-Aktionsleiste
   Korrigiert ausschließlich den Startseiteneditor.
   Die globale .form-aktionen-Regel bleibt für andere Masken bestehen.
========================================================= */
.fds-startseiten-form > .fds-startseiten-speichern {
    grid-column: 1 / -1 !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: auto !important;
    justify-self: stretch !important;
}

.fds-startseiten-form > .fds-startseiten-speichern > button,
.fds-startseiten-form > .fds-startseiten-speichern > .button {
    width: auto !important;
    height: auto !important;
    min-height: 38px !important;
    flex: 0 0 auto !important;
}
