/* /Components/Gemeinsam/Datenliste.razor.rz.scp.css */
/* Die Liste richtet sich nach ihrer eigenen Breite, nicht nach dem Fenster (Container-Abfrage). */
.ch-liste[b-jhr8zorq3i] {
    container-type: inline-size;
}

/* Suche und Filtermarken über der Tabelle */
.ch-liste-werkzeuge[b-jhr8zorq3i] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ch-abstand-3) var(--ch-abstand-5);
    margin-bottom: var(--ch-abstand-4);
}

.ch-liste-suche[b-jhr8zorq3i] {
    display: flex;
    flex: 1 1 18rem;
    gap: var(--ch-abstand-2);
    max-width: 30rem;
}

.ch-liste-suchfeld[b-jhr8zorq3i] {
    position: relative;
    flex: 1;
    min-width: 0;
}

    .ch-liste-suchfeld[b-jhr8zorq3i]  .ch-symbol {
        position: absolute;
        top: 50%;
        left: var(--ch-abstand-3);
        width: 1.25rem;
        height: 1.25rem;
        color: var(--ch-text-leise);
        translate: 0 -50%;
        pointer-events: none;
    }

    .ch-liste-suchfeld input[b-jhr8zorq3i] {
        min-height: 2.75rem;
        padding-left: 2.5rem;
    }

.ch-liste-filter[b-jhr8zorq3i] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ch-abstand-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ch-filtermarke[b-jhr8zorq3i] {
    display: inline-flex;
    align-items: center;
    gap: var(--ch-abstand-2);
    min-height: 2.5rem;
    padding: 0 var(--ch-abstand-4);
    border: 1px solid var(--ch-rand-feld);
    border-radius: 999px;
    background: var(--ch-flaeche);
    color: var(--ch-text);
    font-size: var(--ch-groesse-klein);
    font-weight: 500;
    text-decoration: none;
}

    .ch-filtermarke:hover[b-jhr8zorq3i] {
        border-color: var(--ch-text-leise);
        color: var(--ch-text);
    }

    .ch-filtermarke[aria-current][b-jhr8zorq3i] {
        border-color: var(--ch-betont);
        background: var(--ch-betont);
        color: var(--ch-auf-betont);
    }

.ch-filtermarke-zahl[b-jhr8zorq3i] {
    color: var(--ch-text-leise);
    font-variant-numeric: tabular-nums;
}

.ch-filtermarke[aria-current] .ch-filtermarke-zahl[b-jhr8zorq3i] {
    color: inherit;
}

.ch-liste-ergebnis[b-jhr8zorq3i] {
    margin-bottom: var(--ch-abstand-3);
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-klein);
}

/* Sortierbare Spaltenköpfe: der ganze Kopf ist der Link, das Symbol zeigt die Richtung. */
.ch-sortierung[b-jhr8zorq3i] {
    display: inline-flex;
    align-items: center;
    gap: var(--ch-abstand-1);
    color: inherit;
    text-decoration: none;
}

    .ch-sortierung:hover[b-jhr8zorq3i],
    [aria-sort] .ch-sortierung[b-jhr8zorq3i] {
        color: var(--ch-text);
    }

    .ch-sortierung[b-jhr8zorq3i]  .ch-symbol {
        width: 1rem;
        height: 1rem;
        opacity: 0.6;
    }

    [aria-sort] .ch-sortierung[b-jhr8zorq3i]  .ch-symbol {
        color: var(--ch-betont);
        opacity: 1;
    }

.ch-tabelle[b-jhr8zorq3i] {
    width: 100%;
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius);
    border-collapse: separate;
    border-spacing: 0;
    background: var(--ch-flaeche);
    box-shadow: var(--ch-schatten-1);
}

    .ch-tabelle th[b-jhr8zorq3i],
    .ch-tabelle td[b-jhr8zorq3i] {
        padding: var(--ch-abstand-3) var(--ch-abstand-4);
        border-bottom: 1px solid var(--ch-rand);
        text-align: left;
        vertical-align: middle;
    }

    .ch-tabelle th[b-jhr8zorq3i] {
        padding-block: var(--ch-abstand-2);
        color: var(--ch-text-leise);
        font-size: var(--ch-groesse-klein);
        font-weight: 600;
        white-space: nowrap;
    }

    .ch-tabelle tbody tr:last-child td[b-jhr8zorq3i] {
        border-bottom: 0;
    }

    .ch-tabelle tbody tr:hover[b-jhr8zorq3i] {
        background: color-mix(in srgb, var(--ch-flaeche-gedaempft) 50%, var(--ch-flaeche));
    }

    .ch-tabelle .ch-hauptspalte[b-jhr8zorq3i] {
        font-weight: 600;
    }

    /* Zweite Zeile in einer Zelle, z. B. die Projektnummer unter dem Namen */
    .ch-tabelle td[b-jhr8zorq3i]  .ch-nebenzeile {
        display: block;
        color: var(--ch-text-leise);
        font-size: var(--ch-groesse-klein);
        font-weight: 400;
    }

    .ch-tabelle .ch-zahl[b-jhr8zorq3i] {
        font-variant-numeric: tabular-nums;
        text-align: right;
    }

/* Schmal: jede Zeile eine Karte, die Beschriftung steht vor dem Wert (nur sichtbar; vorgelesen wird der Spaltenkopf). */
@container (width < 48rem) {
    .ch-tabelle[b-jhr8zorq3i] {
        --ch-beschriftung-breite: min(9rem, 38cqi);
    }

    .ch-tabelle[b-jhr8zorq3i],
    .ch-tabelle thead[b-jhr8zorq3i],
    .ch-tabelle tbody[b-jhr8zorq3i],
    .ch-tabelle tr[b-jhr8zorq3i],
    .ch-tabelle td[b-jhr8zorq3i] {
        display: block;
    }

    .ch-tabelle[b-jhr8zorq3i] {
        border: 0;
        background: none;
        box-shadow: none;
    }

        /* Kopfzeile: nur die Sortier-Links, als Marken; die übrigen Köpfe bleiben für Screenreader da. */
        .ch-tabelle thead tr[b-jhr8zorq3i] {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: var(--ch-abstand-2);
            margin-bottom: var(--ch-abstand-3);
        }

            .ch-tabelle thead tr[b-jhr8zorq3i]::before {
                content: attr(data-beschriftung) / "";
                color: var(--ch-text-leise);
                font-size: var(--ch-groesse-klein);
            }

        .ch-tabelle th[b-jhr8zorq3i] {
            padding: 0;
            border: 0;
        }

            .ch-tabelle th:not(:has(.ch-sortierung))[b-jhr8zorq3i] {
                position: absolute;
                width: 1px;
                height: 1px;
                overflow: hidden;
                clip-path: inset(50%);
            }

        .ch-tabelle .ch-sortierung[b-jhr8zorq3i] {
            min-height: 2.25rem;
            padding: 0 var(--ch-abstand-3);
            border: 1px solid var(--ch-rand-feld);
            border-radius: 999px;
            background: var(--ch-flaeche);
        }

        .ch-tabelle tbody[b-jhr8zorq3i] {
            display: grid;
            gap: var(--ch-abstand-3);
        }

            .ch-tabelle tbody tr[b-jhr8zorq3i] {
                padding: var(--ch-abstand-3) var(--ch-abstand-4);
                border: 1px solid var(--ch-rand);
                border-radius: var(--ch-radius);
                background: var(--ch-flaeche);
                box-shadow: var(--ch-schatten-1);
            }

        .ch-tabelle td[b-jhr8zorq3i],
        .ch-tabelle td.ch-zahl[b-jhr8zorq3i] {
            position: relative;
            min-height: 1.75rem;
            padding: var(--ch-abstand-1) 0 var(--ch-abstand-1) var(--ch-beschriftung-breite);
            border: 0;
            text-align: left;
        }

            .ch-tabelle td[b-jhr8zorq3i]::before {
                content: attr(data-beschriftung) / "";
                position: absolute;
                top: var(--ch-abstand-1);
                left: 0;
                width: calc(var(--ch-beschriftung-breite) - var(--ch-abstand-3));
                color: var(--ch-text-leise);
                font-size: var(--ch-groesse-klein);
                line-height: 1.6rem;
            }

        .ch-tabelle td.ch-hauptspalte[b-jhr8zorq3i] {
            margin-bottom: var(--ch-abstand-2);
            padding: 0 0 var(--ch-abstand-2);
            border-bottom: 1px solid var(--ch-rand);
            font-size: var(--ch-groesse-gross);
        }

            .ch-tabelle td.ch-hauptspalte[b-jhr8zorq3i]::before {
                content: none;
            }
}

/* Blättern: Zurück – Seite in Worten – Weiter, auch schmal in einer Zeile. */
.ch-liste-blaettern[b-jhr8zorq3i] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--ch-abstand-3);
    margin-top: var(--ch-abstand-4);
}

.ch-liste-seite[b-jhr8zorq3i] {
    color: var(--ch-text-leise);
    font-variant-numeric: tabular-nums;
}
/* /Components/Gemeinsam/Dialog.razor.rz.scp.css */
.ch-dialog[b-zf9dvfh44h] {
    width: min(32rem, calc(100vw - 2rem));
    max-height: calc(100dvh - 2rem);
    padding: 0;
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius-gross);
    background: var(--ch-flaeche);
    box-shadow: var(--ch-schatten-3);
    color: var(--ch-text);
}

    .ch-dialog[open][b-zf9dvfh44h] {
        display: flex;
        flex-direction: column;
    }

    .ch-dialog[b-zf9dvfh44h]::backdrop {
        background: var(--ch-abdunkeln);
    }

.ch-dialog-kopf[b-zf9dvfh44h] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--ch-abstand-3);
    padding: var(--ch-abstand-4) var(--ch-abstand-4) 0 var(--ch-abstand-5);
}

.ch-dialog-titel[b-zf9dvfh44h] {
    margin: var(--ch-abstand-2) 0 0;
    font-size: 1.25rem;
}

.ch-dialog-schliessen[b-zf9dvfh44h] {
    display: grid;
    flex: none;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: 50%;
    background: none;
    color: var(--ch-text-leise);
}

    .ch-dialog-schliessen:hover[b-zf9dvfh44h] {
        background: var(--ch-flaeche-gedaempft);
        color: var(--ch-text);
    }

/* Inhalt untereinander mit gleichem Abstand (Absätze, Felder). */
.ch-dialog-inhalt[b-zf9dvfh44h] {
    display: grid;
    flex: 1;
    align-content: start;
    gap: var(--ch-abstand-4);
    overflow: auto;
    padding: var(--ch-abstand-3) var(--ch-abstand-5) var(--ch-abstand-5);
}

    .ch-dialog-inhalt[b-zf9dvfh44h]  > p {
        margin: 0;
    }

.ch-dialog-aktionen[b-zf9dvfh44h] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ch-abstand-2);
    padding: var(--ch-abstand-4) var(--ch-abstand-5);
    border-top: 1px solid var(--ch-rand);
    background: var(--ch-flaeche-gedaempft);
}

/* Schublade: am rechten Rand über die volle Höhe; schmal über die ganze Breite. */
.ch-schublade[b-zf9dvfh44h] {
    width: min(30rem, 100vw);
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0 0 0 auto;
    border-width: 0 0 0 1px;
    border-radius: var(--ch-radius-gross) 0 0 var(--ch-radius-gross);
}

@media (prefers-reduced-motion: no-preference) {
    .ch-dialog[open][b-zf9dvfh44h] {
        animation: ch-dialog-ein-b-zf9dvfh44h 0.16s ease-out;
    }

    .ch-schublade[open][b-zf9dvfh44h] {
        animation: ch-schublade-ein-b-zf9dvfh44h 0.22s ease-out;
    }
}

@keyframes ch-dialog-ein-b-zf9dvfh44h {
    from {
        opacity: 0;
        transform: translateY(0.5rem) scale(0.98);
    }
}

@keyframes ch-schublade-ein-b-zf9dvfh44h {
    from {
        transform: translateX(100%);
    }
}
/* /Components/Gemeinsam/Feld.razor.rz.scp.css */
.ch-feld[b-nbqudiq2fn] {
    display: grid;
    gap: var(--ch-abstand-1);
    max-width: 36rem;
}

    .ch-feld .form-label[b-nbqudiq2fn] {
        margin: 0;
    }

.ch-feld-zusatz[b-nbqudiq2fn] {
    margin-left: var(--ch-abstand-1);
    color: var(--ch-text-leise);
    font-weight: 400;
}

.ch-feld-hilfe[b-nbqudiq2fn],
.ch-feld-fehler[b-nbqudiq2fn] {
    margin: 0;
    font-size: var(--ch-groesse-klein);
}

.ch-feld-hilfe[b-nbqudiq2fn] {
    color: var(--ch-text-leise);
}

.ch-feld-fehler[b-nbqudiq2fn] {
    display: flex;
    gap: var(--ch-abstand-1);
    color: var(--ch-gefahr);
    font-weight: 600;
}

    .ch-feld-fehler[b-nbqudiq2fn]  .ch-symbol {
        width: 1.25rem;
        height: 1.25rem;
    }

/* Fehler: Strich links am ganzen Feld, Rand der Eingabe in Gefahrfarbe. */
.ch-feld-ungueltig[b-nbqudiq2fn] {
    padding-left: var(--ch-abstand-3);
    border-left: 3px solid var(--ch-gefahr);
}

    .ch-feld-ungueltig[b-nbqudiq2fn]  [aria-invalid="true"] {
        border-color: var(--ch-gefahr);
    }

.ch-feld[b-nbqudiq2fn]  .form-control,
.ch-feld[b-nbqudiq2fn]  .form-select {
    min-height: 2.75rem;
    margin-top: var(--ch-abstand-1);
}
/* /Components/Gemeinsam/Formularabschnitt.razor.rz.scp.css */
/* Abschnitt als ruhige Karte; die Aktionen stehen unten im selben Rahmen, abgesetzt durch eine Linie. */
.ch-formularabschnitt[b-nphs3qi5dm] {
    max-width: 46rem;
    margin-bottom: var(--ch-abstand-5);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius);
    background: var(--ch-flaeche);
    box-shadow: var(--ch-schatten-1);
}

    .ch-formularabschnitt fieldset[b-nphs3qi5dm] {
        min-width: 0;
        margin: 0;
        padding: var(--ch-abstand-5);
        border: 0;
    }

    /* Schwebend (wie Bootstrap) liegt die Überschrift im Innenabstand statt im Rahmen der Gruppe. */
    .ch-formularabschnitt legend[b-nphs3qi5dm] {
        float: left;
        width: 100%;
        margin: 0 0 var(--ch-abstand-1);
        padding: 0;
        font-size: var(--ch-groesse-h3);
        font-weight: 650;
        line-height: 1.35;
    }

.ch-formularabschnitt-hilfe[b-nphs3qi5dm] {
    margin: 0;
    color: var(--ch-text-leise);
}

.ch-formularabschnitt-felder[b-nphs3qi5dm] {
    display: grid;
    gap: var(--ch-abstand-5);
    margin-top: var(--ch-abstand-5);
}

.ch-formular-aktionen[b-nphs3qi5dm] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ch-abstand-2);
    padding: var(--ch-abstand-4) var(--ch-abstand-5);
    border-top: 1px solid var(--ch-rand);
    border-radius: 0 0 var(--ch-radius) var(--ch-radius);
    background: var(--ch-flaeche-gedaempft);
}
/* /Components/Gemeinsam/Fortschritt.razor.rz.scp.css */
.ch-fortschritt[b-rk1h5vmprq] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--ch-abstand-1) var(--ch-abstand-3);
    align-items: center;
    min-width: 0;
}

.ch-fortschritt-name[b-rk1h5vmprq] {
    grid-column: 1 / -1;
    overflow-wrap: anywhere;
}

.ch-fortschritt progress[b-rk1h5vmprq] {
    width: 100%;
    height: .5rem;
    border: 0;
    border-radius: 999px;
    background: var(--ch-flaeche-gedaempft);
    color: var(--ch-primaer);
    appearance: none;
    overflow: hidden;
}

    .ch-fortschritt progress[b-rk1h5vmprq]::-webkit-progress-bar {
        background: var(--ch-flaeche-gedaempft);
    }

    .ch-fortschritt progress[b-rk1h5vmprq]::-webkit-progress-value {
        background: var(--ch-primaer);
    }

    .ch-fortschritt progress[b-rk1h5vmprq]::-moz-progress-bar {
        background: var(--ch-primaer);
    }

.ch-fortschritt-text[b-rk1h5vmprq] {
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-klein);
    font-variant-numeric: tabular-nums;
}
/* /Components/Gemeinsam/Kennzahl.razor.rz.scp.css */
.ch-kennzahl[b-77iowfz74o] {
    display: grid;
    align-content: start;
    justify-items: start;
    gap: var(--ch-abstand-1);
    min-width: 0;
    padding: var(--ch-abstand-4) var(--ch-abstand-5);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius);
    background: var(--ch-flaeche);
    box-shadow: var(--ch-schatten-1);
    color: var(--ch-text);
    text-decoration: none;
}

/* Link-Kacheln: Pfeil oben rechts (nur sichtbar; vorgelesen wird der Link selbst). */
.ch-kennzahl-link[b-77iowfz74o] {
    position: relative;
}

    .ch-kennzahl-link[b-77iowfz74o]::after {
        content: "→" / "";
        position: absolute;
        top: var(--ch-abstand-3);
        right: var(--ch-abstand-4);
        color: var(--ch-text-leise);
    }

.ch-kennzahl-link:hover[b-77iowfz74o] {
    border-color: var(--ch-rand-feld);
    box-shadow: var(--ch-schatten-2);
    color: var(--ch-text);
}

.ch-kennzahl-bezeichnung[b-77iowfz74o] {
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-klein);
    font-weight: 500;
}

.ch-kennzahl-link:hover .ch-kennzahl-bezeichnung[b-77iowfz74o] {
    color: var(--ch-text);
    text-decoration: underline;
    text-underline-offset: 0.22em;
}

/* Schmale Kacheln: Die Statusmarke bricht um, statt über den Rand zu ragen (sie ist sonst einzeilig); der Radius
   entspricht der halben Höhe einer Zeile – einzeilig rund wie sonst, zweizeilig ein abgerundetes Rechteck. */
.ch-kennzahl[b-77iowfz74o]  .ch-status {
    border-radius: 0.75rem;
    white-space: normal;
}

.ch-kennzahl-wert[b-77iowfz74o] {
    margin-bottom: var(--ch-abstand-1);
    font-size: 2rem;
    font-variant-numeric: tabular-nums;
    font-weight: 650;
    letter-spacing: -0.02em;
    line-height: 1.1;
}
/* /Components/Gemeinsam/Leerzustand.razor.rz.scp.css */
.ch-leerzustand[b-15negv8qdc] {
    display: flex;
    align-items: flex-start;
    gap: var(--ch-abstand-4);
    padding: var(--ch-abstand-5);
}

.ch-leer-symbol[b-15negv8qdc] {
    display: grid;
    flex: none;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: var(--ch-betont-zart);
    color: var(--ch-betont);
}

.ch-leer-inhalt[b-15negv8qdc] {
    max-width: 40rem;
    min-width: 0;
    padding-top: var(--ch-abstand-1);
}

    .ch-leer-inhalt p[b-15negv8qdc] {
        margin: 0;
    }

.ch-leer-inhalt .ch-leer-titel[b-15negv8qdc] {
    margin-bottom: var(--ch-abstand-1);
    color: var(--ch-text);
    font-size: var(--ch-groesse-gross);
    font-weight: 600;
}

.ch-leer-aktion[b-15negv8qdc] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ch-abstand-2);
    margin-top: var(--ch-abstand-4);
}

/* Bereichsschreibweise wie max-width: 35.99rem (KopfleisteTests sucht diese Schreibweise vor .ch-marke-name). */
@media (width < 36rem) {
    .ch-leerzustand[b-15negv8qdc] {
        flex-direction: column;
        gap: var(--ch-abstand-3);
    }
}
/* /Components/Gemeinsam/Marke.razor.rz.scp.css */
.ch-marke[b-6c3gcuz8ru] {
    display: inline-flex;
    align-items: center;
    gap: var(--ch-abstand-2);
    min-width: 0;
    min-height: 2.75rem;
    color: var(--ch-text);
    font-weight: 700;
    font-size: var(--ch-groesse-gross);
    letter-spacing: -0.01em;
    text-decoration: none;
}

    .ch-marke:hover[b-6c3gcuz8ru] {
        color: var(--ch-text);
    }

        .ch-marke:hover .ch-marke-name[b-6c3gcuz8ru] {
            text-decoration: underline;
        }

.ch-marke-zeichen[b-6c3gcuz8ru] {
    flex: none;
    width: 2rem;
    height: 2rem;
}

/* Betreiber-Logo statt Programmzeichen: so hoch wie das Zeichen, Breite nach Seitenverhältnis, begrenzt. */
.ch-marke-logo[b-6c3gcuz8ru] {
    flex: none;
    width: auto;
    max-width: 10rem;
    height: 2rem;
    object-fit: contain;
}

.ch-marke-flaeche[b-6c3gcuz8ru] {
    fill: var(--ch-primaer);
}

.ch-marke-raum[b-6c3gcuz8ru] {
    fill: var(--ch-auf-primaer);
}

.ch-marke-punkt[b-6c3gcuz8ru] {
    fill: var(--ch-akzent-hell);
}

.ch-marke-name[b-6c3gcuz8ru] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Sehr schmal: Der Name darf zweizeilig werden, statt abgeschnitten zu werden. */
@media (max-width: 35.99rem) {
    .ch-marke[b-6c3gcuz8ru] {
        font-size: 0.9375rem;
        line-height: 1.15;
    }

    .ch-marke-logo[b-6c3gcuz8ru] {
        max-width: 6rem;
    }

    .ch-marke-name[b-6c3gcuz8ru] {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: normal;
    }
}
/* /Components/Gemeinsam/Meldung.razor.rz.scp.css */
/* Symbol | Text (darunter die Aktion) | Schließen */
.ch-meldung[b-jai5pek7cj] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    column-gap: var(--ch-abstand-3);
    margin-bottom: var(--ch-abstand-4);
    padding: var(--ch-abstand-3) var(--ch-abstand-3) var(--ch-abstand-3) var(--ch-abstand-4);
    border-left: 3px solid var(--ch-meldung-farbe);
    border-radius: var(--ch-radius-klein);
    background: var(--ch-meldung-flaeche);
    color: var(--ch-text);
}

.ch-meldung-erfolg[b-jai5pek7cj] {
    --ch-meldung-farbe: var(--ch-erfolg);
    --ch-meldung-flaeche: var(--ch-erfolg-zart);
}

.ch-meldung-hinweis[b-jai5pek7cj] {
    --ch-meldung-farbe: var(--ch-hinweis);
    --ch-meldung-flaeche: var(--ch-hinweis-zart);
}

.ch-meldung-fehler[b-jai5pek7cj] {
    --ch-meldung-farbe: var(--ch-gefahr);
    --ch-meldung-flaeche: var(--ch-gefahr-zart);
}

.ch-meldung-symbol[b-jai5pek7cj] {
    grid-column: 1;
    padding-top: 0.0625rem;
    color: var(--ch-meldung-farbe);
}

.ch-meldung-text[b-jai5pek7cj] {
    grid-column: 2;
    padding-top: 0.125rem;
}

    .ch-meldung-text[b-jai5pek7cj]  p {
        margin: 0;
    }

.ch-meldung-titel[b-jai5pek7cj] {
    font-weight: 600;
}

.ch-meldung-aktion[b-jai5pek7cj] {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    margin-top: var(--ch-abstand-1);
    padding: var(--ch-abstand-1) 0;
    font-weight: 600;
}

.ch-meldung-schliessen[b-jai5pek7cj] {
    display: grid;
    grid-column: 3;
    grid-row: 1;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    margin: calc(-1 * var(--ch-abstand-2)) calc(-1 * var(--ch-abstand-2)) calc(-1 * var(--ch-abstand-2)) 0;
    border: 0;
    border-radius: 50%;
    background: none;
    color: var(--ch-text-leise);
}

    .ch-meldung-schliessen:hover[b-jai5pek7cj] {
        background: color-mix(in srgb, currentColor 10%, transparent);
        color: var(--ch-text);
    }

    .ch-meldung-schliessen[b-jai5pek7cj]  .ch-symbol {
        width: 1.25rem;
        height: 1.25rem;
    }
/* /Components/Gemeinsam/Schrittfolge.razor.rz.scp.css */
.ch-schrittfolge[b-iqhxxetmis] {
    max-width: 46rem;
}

/* Leiste: Marke und Name je Schritt, dazwischen eine Linie. */
.ch-schritte-leiste[b-iqhxxetmis] {
    display: flex;
    align-items: center;
    gap: var(--ch-abstand-3);
    margin: 0 0 var(--ch-abstand-4);
    padding: 0;
    list-style: none;
}

.ch-schritt[b-iqhxxetmis] {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: var(--ch-abstand-2);
    min-width: 0;
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-klein);
    font-weight: 500;
}

    .ch-schritt:not(:last-child)[b-iqhxxetmis]::after {
        content: "";
        flex: 1;
        min-width: var(--ch-abstand-3);
        height: 1px;
        background: var(--ch-rand-feld);
    }

    .ch-schritt:last-child[b-iqhxxetmis] {
        flex: none;
    }

.ch-schritt-marke[b-iqhxxetmis] {
    display: grid;
    flex: none;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--ch-rand-feld);
    border-radius: 50%;
    background: var(--ch-flaeche);
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

    .ch-schritt-marke[b-iqhxxetmis]  .ch-symbol {
        width: 1.125rem;
        height: 1.125rem;
    }

.ch-schritt-text[b-iqhxxetmis] {
    white-space: nowrap;
}

.ch-schritt-erledigt[b-iqhxxetmis] {
    color: var(--ch-text);
}

    .ch-schritt-erledigt .ch-schritt-marke[b-iqhxxetmis] {
        border-color: var(--ch-betont);
        background: var(--ch-betont);
        color: var(--ch-auf-betont);
    }

.ch-schritt-aktuell[b-iqhxxetmis] {
    color: var(--ch-text);
    font-weight: 650;
}

    .ch-schritt-aktuell .ch-schritt-marke[b-iqhxxetmis] {
        border: 2px solid var(--ch-betont);
        color: var(--ch-betont);
    }

.ch-schritt-stand[b-iqhxxetmis] {
    margin-bottom: var(--ch-abstand-3);
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-klein);
}

.ch-schritt-inhalt[b-iqhxxetmis] {
    padding: var(--ch-abstand-5);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius);
    background: var(--ch-flaeche);
    box-shadow: var(--ch-schatten-1);
}

    .ch-schritt-inhalt[b-iqhxxetmis]  > :last-child {
        margin-bottom: 0;
    }

/* Zurück links, Weiter rechts – wie in jedem Assistenten. */
.ch-schritt-aktionen[b-iqhxxetmis] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--ch-abstand-2);
    margin-top: var(--ch-abstand-4);
}

    .ch-schritt-aktionen .btn-primary[b-iqhxxetmis] {
        margin-left: auto;
    }

/* Schmal: Namen nur beim aktuellen Schritt; die übrigen bleiben für Screenreader da. */
@media (width < 48rem) {
    .ch-schritt:not(.ch-schritt-aktuell) .ch-schritt-text[b-iqhxxetmis] {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }
}
/* /Components/Gemeinsam/Seitenkopf.razor.rz.scp.css */
.ch-seitenkopf[b-wcjctpnruv] {
    margin-bottom: var(--ch-abstand-6);
}

/* Rückweg: breit als Brotkrumen mit Schrägstrich, schmal (oder bei nur einem Schritt) als Pfeil zurück. */
.ch-rueckweg ol[b-wcjctpnruv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ch-abstand-1) var(--ch-abstand-2);
    margin: 0 0 var(--ch-abstand-3);
    padding: 0;
    list-style: none;
    font-size: var(--ch-groesse-klein);
}

.ch-rueckweg li[b-wcjctpnruv] {
    display: flex;
    align-items: center;
    gap: var(--ch-abstand-2);
    min-width: 0;
}

    .ch-rueckweg li + li[b-wcjctpnruv]::before {
        content: "/" / "";
        color: var(--ch-rand-feld);
    }

.ch-rueckweg a[b-wcjctpnruv] {
    display: inline-flex;
    align-items: center;
    gap: var(--ch-abstand-1);
    min-height: 1.5rem;
    color: var(--ch-text-leise);
    font-weight: 500;
    text-decoration: none;
}

    .ch-rueckweg a:hover[b-wcjctpnruv] {
        color: var(--ch-text);
        text-decoration: underline;
    }

.ch-rueckweg[b-wcjctpnruv]  .ch-symbol {
    display: none;
    width: 1rem;
    height: 1rem;
}

.ch-rueckweg li:only-child[b-wcjctpnruv]  .ch-symbol {
    display: block;
}

@media (max-width: 47.99rem) {
    .ch-rueckweg li:not(:last-child)[b-wcjctpnruv] {
        display: none;
    }

    .ch-rueckweg li + li[b-wcjctpnruv]::before {
        content: none;
    }

    .ch-rueckweg li:last-child[b-wcjctpnruv]  .ch-symbol {
        display: block;
    }
}

/* Titel links, Aktionen rechts oben; wird es eng, rutschen die Aktionen unter den Titel. */
.ch-seitenkopf-zeile[b-wcjctpnruv] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--ch-abstand-4) var(--ch-abstand-5);
}

.ch-seitenkopf-text[b-wcjctpnruv] {
    flex: 1 1 22rem;
    min-width: 0;
}

.ch-seitenkopf h1[b-wcjctpnruv] {
    margin: 0;
    overflow-wrap: break-word;
}

.ch-seiteneinleitung[b-wcjctpnruv] {
    max-width: 46rem;
    margin: var(--ch-abstand-2) 0 0;
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-gross);
}

.ch-seitenkopf-aktionen[b-wcjctpnruv] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ch-abstand-2);
}
/* /Components/Gemeinsam/Stapelbalken.razor.rz.scp.css */
.ch-stapelbalken[b-t8z4q8v0ux] {
    margin: 0 0 var(--ch-abstand-5);
    padding: var(--ch-abstand-4) var(--ch-abstand-5);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius);
    background: var(--ch-flaeche);
    box-shadow: var(--ch-schatten-1);
}

.ch-stapelbalken-titel[b-t8z4q8v0ux] {
    margin-bottom: var(--ch-abstand-3);
    font-weight: 600;
}

/* Schmaler Balken mit runden Enden; die Fuge zwischen den Teilen ist ein Strich in der Flächenfarbe. */
.ch-stapelbalken-grafik[b-t8z4q8v0ux] {
    display: block;
    width: 100%;
    height: 0.5rem;
    clip-path: inset(0 round 999px);
}

    .ch-stapelbalken-grafik rect[b-t8z4q8v0ux] {
        stroke: var(--ch-flaeche);
        stroke-width: 2px;
        vector-effect: non-scaling-stroke;
    }

.ch-stapelbalken-erledigt[b-t8z4q8v0ux] {
    fill: var(--ch-diagramm-erledigt);
    background: var(--ch-diagramm-erledigt);
}

.ch-stapelbalken-arbeit[b-t8z4q8v0ux] {
    fill: var(--ch-diagramm-arbeit);
    background: var(--ch-diagramm-arbeit);
}

.ch-stapelbalken-hinweis[b-t8z4q8v0ux] {
    fill: var(--ch-diagramm-hinweis);
    background: var(--ch-diagramm-hinweis);
}

.ch-stapelbalken-fehler[b-t8z4q8v0ux] {
    fill: var(--ch-diagramm-fehler);
    background: var(--ch-diagramm-fehler);
}

.ch-stapelbalken-neutral[b-t8z4q8v0ux] {
    fill: var(--ch-diagramm-neutral);
    background: var(--ch-diagramm-neutral);
}

/* Legende: Farbfeld, Wort und Zahl in Schriftfarbe – die Farbe allein trägt nichts. */
.ch-stapelbalken-legende[b-t8z4q8v0ux] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ch-abstand-1) var(--ch-abstand-4);
    margin: var(--ch-abstand-3) 0 0;
    padding: 0;
    list-style: none;
    font-size: var(--ch-groesse-klein);
}

.ch-stapelbalken-eintrag[b-t8z4q8v0ux] {
    display: inline-flex;
    align-items: center;
    gap: var(--ch-abstand-2);
    min-height: 1.75rem;
    color: var(--ch-text);
}

a.ch-stapelbalken-eintrag:hover[b-t8z4q8v0ux] {
    color: var(--ch-text);
}

.ch-stapelbalken-farbe[b-t8z4q8v0ux] {
    flex: none;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 0.1875rem;
}

.ch-stapelbalken-tabelle[b-t8z4q8v0ux] {
    margin-top: var(--ch-abstand-2);
    font-size: var(--ch-groesse-klein);
}

    .ch-stapelbalken-tabelle summary[b-t8z4q8v0ux] {
        width: fit-content;
        min-height: 1.75rem;
        color: var(--ch-betont);
        cursor: pointer;
    }

    .ch-stapelbalken-tabelle table[b-t8z4q8v0ux] {
        --bs-table-bg: transparent;
        --bs-table-color: var(--ch-text);
        --bs-table-border-color: var(--ch-rand);
        max-width: 24rem;
        margin: var(--ch-abstand-2) 0 0;
    }

    .ch-stapelbalken-tabelle .ch-zahl[b-t8z4q8v0ux] {
        font-variant-numeric: tabular-nums;
        text-align: right;
    }
/* /Components/Gemeinsam/Statusmarke.razor.rz.scp.css */
.ch-status[b-udylzl4y8c] {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    max-width: 100%;
    padding: 0.125rem 0.625rem 0.125rem 0.4375rem;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25rem;
    white-space: nowrap;
}

    .ch-status[b-udylzl4y8c]  .ch-symbol {
        width: 1rem;
        height: 1rem;
    }

.ch-status-neutral[b-udylzl4y8c] {
    background: var(--ch-flaeche-gedaempft);
    color: var(--ch-text-leise);
}

.ch-status-arbeit[b-udylzl4y8c] {
    background: var(--ch-betont-zart);
    color: var(--ch-betont);
}

.ch-status-erledigt[b-udylzl4y8c] {
    background: var(--ch-erfolg-zart);
    color: var(--ch-erfolg);
}

.ch-status-hinweis[b-udylzl4y8c] {
    background: var(--ch-hinweis-zart);
    color: var(--ch-hinweis);
}

.ch-status-fehler[b-udylzl4y8c] {
    background: var(--ch-gefahr-zart);
    color: var(--ch-gefahr);
}
/* /Components/Layout/Benutzermenue.razor.rz.scp.css */
.ch-benutzer[b-e6capgdphq] {
    position: relative;
    margin-left: auto;
}

.ch-benutzerknopf[b-e6capgdphq] {
    display: inline-flex;
    align-items: center;
    gap: var(--ch-abstand-2);
    min-height: 2.75rem;
    padding: 0 var(--ch-abstand-3) 0 var(--ch-abstand-1);
    border: 1px solid transparent;
    border-radius: 999px;
    background: none;
    color: var(--ch-text);
    font-weight: 600;
}

    .ch-benutzerknopf:hover[b-e6capgdphq],
    .ch-benutzerknopf[aria-expanded="true"][b-e6capgdphq] {
        border-color: var(--ch-rand);
        background: var(--ch-flaeche-gedaempft);
    }

.ch-benutzerzeichen[b-e6capgdphq] {
    display: inline-grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: var(--ch-betont-zart);
    color: var(--ch-betont);
}

.ch-pfeil[b-e6capgdphq] {
    width: 0.5rem;
    height: 0.5rem;
    margin-top: -0.25rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
}

.ch-benutzermenue[b-e6capgdphq] {
    display: none;
    position: absolute;
    top: calc(100% + var(--ch-abstand-2));
    right: 0;
    z-index: 20;
    width: max-content;
    min-width: 15rem;
    max-width: min(22rem, calc(100vw - 2rem));
    padding: var(--ch-abstand-2);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius);
    background: var(--ch-flaeche);
    box-shadow: var(--ch-schatten-2);
}

    .ch-benutzermenue[data-offen][b-e6capgdphq] {
        display: block;
    }

.ch-benutzermenue-name[b-e6capgdphq] {
    margin: 0;
    padding: var(--ch-abstand-2) var(--ch-abstand-3) var(--ch-abstand-3);
    border-bottom: 1px solid var(--ch-rand);
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-klein);
    overflow-wrap: anywhere;
}

    .ch-benutzermenue-name strong[b-e6capgdphq] {
        display: block;
        color: var(--ch-text);
    }

    .ch-benutzermenue-adresse[b-e6capgdphq] {
        display: block;
    }

.ch-benutzermenue-eintrag[b-e6capgdphq] {
    display: block;
    width: 100%;
    margin-top: var(--ch-abstand-1);
    padding: var(--ch-abstand-2) var(--ch-abstand-3);
    border: 0;
    border-radius: var(--ch-radius-klein);
    background: none;
    color: var(--ch-text);
    text-align: left;
    text-decoration: none;
}

    .ch-benutzermenue-eintrag:hover[b-e6capgdphq] {
        background: var(--ch-betont-zart);
        color: var(--ch-text);
    }

/* Ohne JavaScript: Einträge direkt zeigen statt aufklappen. */
@media (scripting: none) {
    .ch-benutzerknopf[b-e6capgdphq],
    .ch-benutzermenue-name[b-e6capgdphq] {
        display: none;
    }

    .ch-benutzermenue[b-e6capgdphq] {
        display: flex;
        position: static;
        gap: var(--ch-abstand-2);
        min-width: 0;
        padding: 0;
        border: 0;
        box-shadow: none;
    }
}

/* Sehr schmal: „Anmelden“ kleiner und einzeilig, damit der Name der Installation Platz behält. */
@media (max-width: 35.99rem) {
    .ch-benutzer .btn[b-e6capgdphq] {
        padding: var(--ch-abstand-2) var(--ch-abstand-3);
        font-size: var(--ch-groesse-klein);
        white-space: nowrap;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Grundlayout. Öffentlich: Kopfleiste, Inhalt über die volle Breite, Fußzeile.
   Angemeldet: Kopfleiste, Hauptmenü links (schmal: einklappbar), Inhalt, Fußzeile. */
.ch-sprunglink[b-dlb08r3x8c] {
    position: absolute;
    top: -10rem;
    left: var(--ch-abstand-4);
    z-index: 100;
    padding: var(--ch-abstand-2) var(--ch-abstand-4);
    border-radius: var(--ch-radius-klein);
    background: var(--ch-flaeche);
    box-shadow: var(--ch-schatten-2);
    font-weight: 600;
}

.ch-sprunglink:focus[b-dlb08r3x8c] {
    top: var(--ch-abstand-2);
}

.ch-seite[b-dlb08r3x8c] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto 1fr auto;
    grid-template-areas: "kopf" "navigation" "inhalt" "fuss";
    min-height: 100vh;
}

.ch-kopf[b-dlb08r3x8c] {
    grid-area: kopf;
    position: sticky;
    top: 0;
    z-index: 30;
    border-bottom: 1px solid var(--ch-rand);
    background: var(--ch-flaeche);
}

.ch-kopf-innen[b-dlb08r3x8c] {
    display: flex;
    align-items: center;
    gap: var(--ch-abstand-3);
    min-height: 4rem;
    padding: var(--ch-abstand-2) var(--ch-abstand-4);
}

.ch-kopf-rechts[b-dlb08r3x8c] {
    display: flex;
    align-items: center;
    gap: var(--ch-abstand-2);
    margin-left: auto;
}

.ch-seite-oeffentlich .ch-kopf-innen[b-dlb08r3x8c],
.ch-seite-oeffentlich .ch-fuss-innen[b-dlb08r3x8c] {
    max-width: var(--ch-breite);
    margin-inline: auto;
}

.ch-menueknopf[b-dlb08r3x8c] {
    display: inline-flex;
    align-items: center;
    gap: var(--ch-abstand-2);
    min-height: 2.75rem;
    padding: 0 var(--ch-abstand-3);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius-klein);
    background: var(--ch-flaeche);
    color: var(--ch-text);
    font-weight: 600;
}

.ch-menuesymbol[b-dlb08r3x8c],
.ch-menuesymbol[b-dlb08r3x8c]::before,
.ch-menuesymbol[b-dlb08r3x8c]::after {
    display: block;
    width: 1.125rem;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
}

.ch-menuesymbol[b-dlb08r3x8c] {
    position: relative;
}

    .ch-menuesymbol[b-dlb08r3x8c]::before,
    .ch-menuesymbol[b-dlb08r3x8c]::after {
        content: "";
        position: absolute;
        left: 0;
    }

    .ch-menuesymbol[b-dlb08r3x8c]::before {
        top: -6px;
    }

    .ch-menuesymbol[b-dlb08r3x8c]::after {
        top: 6px;
    }

.ch-navigation[b-dlb08r3x8c] {
    grid-area: navigation;
    padding: var(--ch-abstand-3) var(--ch-abstand-4);
    border-bottom: 1px solid var(--ch-rand);
    background: var(--ch-flaeche);
}

.ch-inhalt[b-dlb08r3x8c] {
    grid-area: inhalt;
    width: 100%;
    max-width: 68rem;
    padding: var(--ch-abstand-5) var(--ch-abstand-4) var(--ch-abstand-7);
}

.ch-seite-oeffentlich .ch-inhalt[b-dlb08r3x8c] {
    max-width: var(--ch-breite);
    margin-inline: auto;
}

/* Die Startseite füllt die Breite selbst (farbige Bänder bis zum Rand). */
.ch-seite-oeffentlich .ch-inhalt-voll[b-dlb08r3x8c] {
    max-width: none;
    padding: 0;
}

/* Anmelden, Passwort vergessen, Einrichtung: Karte in der Mitte. */
.ch-seite-oeffentlich .ch-inhalt-schmal[b-dlb08r3x8c] {
    align-self: start;
    max-width: 30rem;
    margin-block: var(--ch-abstand-5) var(--ch-abstand-7);
    padding: var(--ch-abstand-5);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius);
    background: var(--ch-flaeche);
    box-shadow: var(--ch-schatten-2);
}

.ch-fuss[b-dlb08r3x8c] {
    grid-area: fuss;
    border-top: 1px solid var(--ch-rand);
    font-size: var(--ch-groesse-klein);
}

.ch-fuss-innen[b-dlb08r3x8c] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ch-abstand-2) var(--ch-abstand-5);
    padding: var(--ch-abstand-4);
    color: var(--ch-text-leise);
}

.ch-fuss-name[b-dlb08r3x8c] {
    margin-right: auto;
}

.ch-fuss a[b-dlb08r3x8c] {
    color: var(--ch-text-leise);
    text-decoration: none;
}

    .ch-fuss a:hover[b-dlb08r3x8c] {
        color: var(--ch-text);
        text-decoration: underline;
    }

/* Sehr schmal: Menüknopf nur mit Symbol (Beschriftung bleibt für Screenreader, siehe .ch-knopftext). */
@media (max-width: 35.99rem) {
    .ch-kopf-innen[b-dlb08r3x8c] {
        gap: var(--ch-abstand-2);
        padding-inline: var(--ch-abstand-3);
    }

    .ch-menueknopf[b-dlb08r3x8c] {
        width: 2.75rem;
        justify-content: center;
        padding: 0;
    }

    .ch-seite-oeffentlich .ch-inhalt-schmal[b-dlb08r3x8c] {
        margin-block: 0;
        border-width: 0 0 1px;
        border-radius: 0;
        box-shadow: none;
    }
}

/* Schmal und mit JavaScript: Menü erst auf Knopfdruck. Ohne JavaScript bleibt es sichtbar. */
@media (max-width: 47.99rem) and (scripting: enabled) {
    .ch-navigation:not([data-offen])[b-dlb08r3x8c] {
        display: none;
    }

    /* Offen über dem Inhalt direkt unter der haftenden Kopfzeile – auch nach dem Herunterscrollen (Befund GS4-01).
       Die Unterkante der Kopfzeile setzt MainLayout.razor.js beim Öffnen. */
    .ch-navigation[data-offen][b-dlb08r3x8c] {
        position: fixed;
        top: var(--ch-kopf-unterkante, 4rem);
        right: 0;
        left: 0;
        z-index: 29;
        max-height: calc(100dvh - var(--ch-kopf-unterkante, 4rem));
        overflow-y: auto;
        box-shadow: var(--ch-schatten-2);
    }
}

@media (min-width: 48rem), (scripting: none) {
    .ch-menueknopf[b-dlb08r3x8c] {
        display: none;
    }
}

@media (min-width: 48rem) {
    .ch-seite-app[b-dlb08r3x8c] {
        grid-template-columns: 15.5rem minmax(0, 1fr);
        grid-template-rows: auto 1fr auto;
        grid-template-areas: "kopf kopf" "navigation inhalt" "navigation fuss";
    }

    .ch-kopf-innen[b-dlb08r3x8c],
    .ch-fuss-innen[b-dlb08r3x8c] {
        padding-inline: var(--ch-abstand-6);
    }

    .ch-seite-app .ch-kopf-innen[b-dlb08r3x8c] {
        padding-inline: var(--ch-abstand-5) var(--ch-abstand-6);
    }

    .ch-seite-app .ch-navigation[b-dlb08r3x8c] {
        padding: var(--ch-abstand-5) var(--ch-abstand-3);
        border-right: 1px solid var(--ch-rand);
        border-bottom: 0;
    }

    .ch-inhalt[b-dlb08r3x8c] {
        padding: var(--ch-abstand-6) var(--ch-abstand-6) var(--ch-abstand-7);
    }

    .ch-seite-oeffentlich .ch-inhalt-schmal[b-dlb08r3x8c] {
        margin-block: var(--ch-abstand-7);
        padding: var(--ch-abstand-6);
    }
}

#blazor-error-ui[b-dlb08r3x8c] {
    background: var(--ch-hinweis-zart);
    color: var(--ch-text);
    border-top: 3px solid var(--ch-hinweis);
    bottom: 0;
    box-shadow: var(--ch-schatten-2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 3.5rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-dlb08r3x8c] {
        cursor: pointer;
        position: absolute;
        right: 0.5rem;
        top: 0.25rem;
        min-width: 2.75rem;
        min-height: 2.75rem;
        border: 0;
        background: none;
        color: inherit;
        font-size: 1.25rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.ch-nav-liste[b-o8vsvfaq40] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}

    .ch-nav-liste[b-o8vsvfaq40]  .ch-nav-link {
        display: flex;
        align-items: center;
        gap: var(--ch-abstand-3);
        min-height: 2.75rem;
        padding: var(--ch-abstand-2) var(--ch-abstand-3);
        border-radius: var(--ch-radius-klein);
        color: var(--ch-text-leise);
        font-weight: 500;
        text-decoration: none;
    }

    .ch-nav-liste[b-o8vsvfaq40]  .ch-symbol {
        width: 1.25rem;
        height: 1.25rem;
    }

    .ch-nav-liste[b-o8vsvfaq40]  a.ch-nav-link:hover {
        background: var(--ch-flaeche-gedaempft);
        color: var(--ch-text);
    }

    .ch-nav-liste[b-o8vsvfaq40]  a.ch-nav-link.active {
        background: var(--ch-betont-zart);
        color: var(--ch-betont);
        font-weight: 600;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-s8bxuhz61m],
.components-reconnect-repeated-attempt-visible[b-s8bxuhz61m],
.components-reconnect-failed-visible[b-s8bxuhz61m],
.components-pause-visible[b-s8bxuhz61m],
.components-resume-failed-visible[b-s8bxuhz61m],
.components-rejoining-animation[b-s8bxuhz61m] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-s8bxuhz61m],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-s8bxuhz61m],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-s8bxuhz61m],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-s8bxuhz61m],
#components-reconnect-modal.components-reconnect-retrying[b-s8bxuhz61m],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-s8bxuhz61m],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-s8bxuhz61m],
#components-reconnect-modal.components-reconnect-failed[b-s8bxuhz61m],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-s8bxuhz61m] {
    display: block;
}


#components-reconnect-modal[b-s8bxuhz61m] {
    background-color: var(--ch-flaeche);
    color: var(--ch-text);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: var(--ch-radius-gross);
    box-shadow: var(--ch-schatten-2);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-s8bxuhz61m 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-s8bxuhz61m 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-s8bxuhz61m 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-s8bxuhz61m]::backdrop {
    background-color: var(--ch-abdunkeln);
    animation: components-reconnect-modal-fadeInOpacity-b-s8bxuhz61m 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-s8bxuhz61m {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-s8bxuhz61m {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-s8bxuhz61m {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-s8bxuhz61m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-s8bxuhz61m] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-s8bxuhz61m] {
    border: 0;
    background-color: var(--ch-betont);
    color: var(--ch-auf-betont);
    min-height: 2.75rem;
    padding: 0.5rem 1.5rem;
    border-radius: var(--ch-radius-klein);
    font-weight: 600;
}

    #components-reconnect-modal button:hover[b-s8bxuhz61m] {
        background-color: var(--ch-betont-stark);
    }

    #components-reconnect-modal button:active[b-s8bxuhz61m] {
        background-color: var(--ch-betont-stark);
    }

.components-rejoining-animation[b-s8bxuhz61m] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-s8bxuhz61m] {
        position: absolute;
        border: 3px solid var(--ch-betont);
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-s8bxuhz61m 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-s8bxuhz61m] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-s8bxuhz61m {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/Sprachwahl.razor.rz.scp.css */
/* Sprachwahl in der Kopfleiste: Form und Farben wie der Umschalter hell/dunkel (.ch-themaknopf in app.css), aber mit
   dem Namen der anderen Sprache als Text. */
.ch-sprachwahl[b-7rslujmk4v] {
    margin: 0;
}

.ch-sprachknopf[b-7rslujmk4v] {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0 var(--ch-abstand-3);
    border: 1px solid transparent;
    border-radius: 1.375rem;
    background: none;
    color: var(--ch-text-leise);
    font-weight: 600;
}

    .ch-sprachknopf:hover[b-7rslujmk4v] {
        border-color: var(--ch-rand);
        background: var(--ch-flaeche-gedaempft);
        color: var(--ch-text);
    }

.ch-sprache-kurz[b-7rslujmk4v] {
    display: none;
}

/* Sehr schmal: sichtbar nur das Kürzel (EN/DE), damit der Name der Installation ganz dasteht; vorgelesen wird weiter
   der Name der Sprache. */
@media (max-width: 35.99rem) {
    .ch-sprachknopf[b-7rslujmk4v] {
        padding: 0 var(--ch-abstand-2);
    }

    .ch-sprache-name[b-7rslujmk4v] {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .ch-sprache-kurz[b-7rslujmk4v] {
        display: inline;
    }
}
/* /Components/Pages/Assistent/Einrichtungsassistent.razor.rz.scp.css */
/* Assistent in Lesebreite wie „Projekt starten“; Überschriften der Schritte wie die eines Formularabschnitts. */
.ch-assistent[b-htzco2e6f9] {
    max-width: 46rem;
    container-type: inline-size;
}

/* Fünf Schritte passen neben dem Menü nicht immer in eine Zeile: Wie die Schrittfolge selbst bei schmalem Fenster
   zeigt die Leiste dann nur den Namen des aktuellen Schritts – hier gemessen am Platz des Assistenten. */
@container (width < 44rem) {
    .ch-assistent[b-htzco2e6f9]  .ch-schritt:not(.ch-schritt-aktuell) .ch-schritt-text {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }
}

.ch-assistent-titel[b-htzco2e6f9] {
    margin: 0 0 var(--ch-abstand-3);
    font-size: var(--ch-groesse-h3);
    font-weight: 650;
}

.ch-assistent-unter[b-htzco2e6f9] {
    margin: var(--ch-abstand-5) 0 var(--ch-abstand-2);
    font-size: var(--ch-groesse-text);
    font-weight: 650;
}

.ch-assistent-hinweis[b-htzco2e6f9] {
    margin-top: var(--ch-abstand-4);
    color: var(--ch-text-leise);
}

/* Zustand und Weg dorthin in einer Zeile; schmal untereinander. */
.ch-assistent-zustand[b-htzco2e6f9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ch-abstand-3);
}

.ch-assistent-liste[b-htzco2e6f9],
.ch-assistent-stand[b-htzco2e6f9] {
    margin: 0 0 var(--ch-abstand-4);
    padding: 0;
    list-style: none;
}

    .ch-assistent-liste li[b-htzco2e6f9],
    .ch-assistent-stand li[b-htzco2e6f9] {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--ch-abstand-2) var(--ch-abstand-4);
        padding-block: var(--ch-abstand-2);
        border-bottom: 1px solid var(--ch-rand);
    }

/* „Später“ unter dem Hauptknopf, rechtsbündig – gut erreichbar, aber nachrangig. */
.ch-assistent-spaeter[b-htzco2e6f9] {
    display: flex;
    justify-content: flex-end;
    margin: var(--ch-abstand-2) 0 0;
}
/* /Components/Pages/Berichte/BerichtNeu.razor.rz.scp.css */
/* Auswahl links, Vorschau rechts; schmal untereinander. */
.ch-bericht-seite[b-i9akoi0t4p] {
    display: grid;
    grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
    gap: var(--ch-abstand-5);
    align-items: start;
}

@media (max-width: 60rem) {
    .ch-bericht-seite[b-i9akoi0t4p] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.ch-bericht-auswahl[b-i9akoi0t4p] {
    display: grid;
    gap: var(--ch-abstand-4);
    padding: var(--ch-abstand-4);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius);
    background: var(--ch-flaeche);
}

    .ch-bericht-auswahl fieldset[b-i9akoi0t4p] {
        display: grid;
        gap: var(--ch-abstand-3);
        margin: 0;
    }

    .ch-bericht-auswahl legend[b-i9akoi0t4p],
    .ch-bericht-senden legend[b-i9akoi0t4p] {
        margin-bottom: var(--ch-abstand-1);
        font-size: var(--ch-groesse-gross);
        font-weight: 600;
    }

.ch-bericht-hilfe[b-i9akoi0t4p] {
    margin: var(--ch-abstand-1) 0 0;
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-klein);
}

.ch-bericht-auswahl .btn[b-i9akoi0t4p] {
    justify-self: start;
}

.ch-bericht-senden[b-i9akoi0t4p] {
    display: grid;
    gap: var(--ch-abstand-4);
}
/* /Components/Pages/Berichte/Berichtsansicht.razor.rz.scp.css */
/* Bericht als Blatt auf der Seite; der Druck (wwwroot/berichte/druck.css) nimmt dieselben Klassen. */
.ch-bericht[b-vtgojnouzw] {
    container-type: inline-size;
    padding: var(--ch-abstand-5);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius);
    background: var(--ch-flaeche);
    box-shadow: var(--ch-schatten-1);
}

.ch-bericht-kopf[b-vtgojnouzw] {
    margin-bottom: var(--ch-abstand-5);
    padding-bottom: var(--ch-abstand-4);
    border-bottom: 2px solid var(--ch-betont);
}

.ch-bericht-betreiber[b-vtgojnouzw] {
    display: flex;
    align-items: center;
    gap: var(--ch-abstand-3);
    margin: 0 0 var(--ch-abstand-3);
    color: var(--ch-text-leise);
    font-weight: 600;
}

.ch-bericht-logo[b-vtgojnouzw] {
    width: auto;
    max-height: 2.5rem;
}

.ch-bericht-titel[b-vtgojnouzw] {
    margin: 0;
    font-size: var(--ch-groesse-h2);
}

.ch-bericht-stand[b-vtgojnouzw] {
    margin: var(--ch-abstand-2) 0 0;
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-klein);
}

.ch-bericht-teil + .ch-bericht-teil[b-vtgojnouzw] {
    margin-top: var(--ch-abstand-6);
}

.ch-bericht-teil h3[b-vtgojnouzw] {
    margin-bottom: var(--ch-abstand-3);
    font-size: var(--ch-groesse-h3);
}

.ch-bericht-angaben[b-vtgojnouzw] {
    display: grid;
    gap: var(--ch-abstand-2);
    margin: 0;
}

    .ch-bericht-angaben div[b-vtgojnouzw] {
        display: grid;
        grid-template-columns: minmax(8rem, 14rem) 1fr;
        gap: var(--ch-abstand-3);
    }

    .ch-bericht-angaben dt[b-vtgojnouzw] {
        color: var(--ch-text-leise);
        font-weight: 500;
    }

    .ch-bericht-angaben dd[b-vtgojnouzw] {
        margin: 0;
        white-space: pre-line;
        overflow-wrap: anywhere;
    }

.ch-bericht-tabelle[b-vtgojnouzw] {
    width: 100%;
    border-collapse: collapse;
}

    .ch-bericht-tabelle th[b-vtgojnouzw],
    .ch-bericht-tabelle td[b-vtgojnouzw] {
        padding: var(--ch-abstand-2) var(--ch-abstand-3);
        border-bottom: 1px solid var(--ch-rand);
        text-align: left;
        vertical-align: top;
        overflow-wrap: anywhere;
    }

    .ch-bericht-tabelle th[b-vtgojnouzw] {
        color: var(--ch-text-leise);
        font-size: var(--ch-groesse-klein);
        font-weight: 600;
    }

/* Schmal: Angaben untereinander, jede Tabellenzeile eine Karte mit dem Spaltennamen vor dem Wert (nur sichtbar). */
@container (width < 40rem) {
    .ch-bericht-angaben div[b-vtgojnouzw] {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .ch-bericht-tabelle[b-vtgojnouzw],
    .ch-bericht-tabelle tbody[b-vtgojnouzw],
    .ch-bericht-tabelle tr[b-vtgojnouzw],
    .ch-bericht-tabelle td[b-vtgojnouzw] {
        display: block;
    }

    .ch-bericht-tabelle thead[b-vtgojnouzw] {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }

    .ch-bericht-tabelle tr[b-vtgojnouzw] {
        padding: var(--ch-abstand-2) 0;
        border-bottom: 1px solid var(--ch-rand);
    }

    .ch-bericht-tabelle td[b-vtgojnouzw] {
        padding: var(--ch-abstand-1) 0;
        border: 0;
    }

        .ch-bericht-tabelle td[b-vtgojnouzw]::before {
            content: attr(data-beschriftung) / "";
            display: block;
            color: var(--ch-text-leise);
            font-size: var(--ch-groesse-klein);
        }
}
/* /Components/Pages/Berichte/Berichtsuebersicht.razor.rz.scp.css */
/* ~ statt +: Zwischen den Abschnitten steht der Lösch-Dialog. */
.ch-berichte-abschnitt ~ .ch-berichte-abschnitt[b-9z1xwptvam] {
    margin-top: var(--ch-abstand-6);
}

.ch-berichte-abschnitt h2[b-9z1xwptvam] {
    margin-bottom: var(--ch-abstand-3);
    font-size: var(--ch-groesse-h2);
}
/* /Components/Pages/Berichte/VorlageSpeichern.razor.rz.scp.css */
/* Abschnitte des Formulars in der Schublade: Gruppen mit Überschrift in Textgröße, wie die Auswahl der Berichtsseite. */
.ch-bericht-vorlage[b-el593cn7rj] {
    display: grid;
    gap: var(--ch-abstand-4);
}

    .ch-bericht-vorlage legend[b-el593cn7rj] {
        margin-bottom: var(--ch-abstand-2);
        font-size: var(--ch-groesse-gross);
        font-weight: 600;
    }

.ch-bericht-hinweis[b-el593cn7rj] {
    margin: 0;
    padding: var(--ch-abstand-3);
    border-left: 3px solid var(--ch-betont);
    background: var(--ch-betont-zart);
}
/* /Components/Pages/Einladung/Einladungsseite.razor.rz.scp.css */
/* Einladung: Angaben als zweispaltige Liste, darunter Formular bzw. Knöpfe. */
.ch-einladung-angaben[b-5uwscinoo0] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--ch-abstand-1) var(--ch-abstand-4);
    margin: 0 0 var(--ch-abstand-5);
    padding: var(--ch-abstand-3) var(--ch-abstand-4);
    border-radius: var(--ch-radius-klein);
    background: var(--ch-flaeche-gedaempft);
}

    .ch-einladung-angaben dt[b-5uwscinoo0] {
        color: var(--ch-text-leise);
        font-weight: 500;
    }

    .ch-einladung-angaben dd[b-5uwscinoo0] {
        margin: 0;
        overflow-wrap: anywhere;
    }

/* Sehr schmal: Bezeichnung über dem Wert, damit die Adresse nicht mitten im Namen umbricht. */
@media (max-width: 35.99rem) {
    .ch-einladung-angaben[b-5uwscinoo0] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.ch-einladung-aktionen[b-5uwscinoo0] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ch-abstand-3);
    margin-top: var(--ch-abstand-5);
}

.ch-einladung-zusatz[b-5uwscinoo0] {
    margin-top: var(--ch-abstand-5);
    color: var(--ch-text-leise);
}
/* /Components/Pages/Einladung/Linkkopie.razor.rz.scp.css */
/* Knopf und Rückmeldung direkt unter dem Link; schmal bricht die Meldung unter den Knopf um. */
.ch-linkkopie[b-d5g6b1dnti] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ch-abstand-2) var(--ch-abstand-3);
    margin-top: var(--ch-abstand-2);
}

.ch-linkkopie-status[b-d5g6b1dnti] {
    font-size: var(--ch-groesse-klein);
}

.ch-linkkopie-hinweis[b-d5g6b1dnti] {
    display: flex;
    gap: var(--ch-abstand-2);
    align-items: flex-start;
    margin: var(--ch-abstand-2) 0 0;
    font-size: var(--ch-groesse-klein);
}
/* /Components/Pages/Entwicklung/Bausteine.razor.rz.scp.css */
/* Musterseite: je Baustein ein Abschnitt mit Name, Zweck und Beispielen. */
.ch-muster[b-6up7dx83tq] {
    padding-block: var(--ch-abstand-6);
    border-top: 1px solid var(--ch-rand);
}

    .ch-muster h2[b-6up7dx83tq] {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: var(--ch-abstand-1) var(--ch-abstand-3);
        margin-bottom: var(--ch-abstand-2);
        font-size: var(--ch-groesse-h2);
    }

    .ch-muster h2 code[b-6up7dx83tq] {
        color: var(--ch-text-leise);
        font-size: var(--ch-groesse-klein);
        font-weight: 500;
        letter-spacing: 0;
    }

    .ch-muster > h3[b-6up7dx83tq] {
        margin: var(--ch-abstand-5) 0 var(--ch-abstand-3);
        color: var(--ch-text-leise);
        font-size: var(--ch-groesse-klein);
        font-weight: 600;
    }

/* Varianten nebeneinander, darunter der Name der Variante. */
.ch-muster-reihe[b-6up7dx83tq] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ch-abstand-4) var(--ch-abstand-5);
    margin: 0;
    padding: 0;
    list-style: none;
}

    .ch-muster-reihe li[b-6up7dx83tq] {
        display: grid;
        justify-items: start;
        gap: var(--ch-abstand-1);
    }

    .ch-muster-reihe code[b-6up7dx83tq] {
        color: var(--ch-text-leise);
        font-size: 0.75rem;
    }

.ch-muster-zweck[b-6up7dx83tq] {
    max-width: 46rem;
    margin-bottom: var(--ch-abstand-4);
    color: var(--ch-text-leise);
}
/* /Components/Pages/Hilfe/Begriffsbild.razor.rz.scp.css */
/* Genug Platz: Schaubild links, Begriffe rechts; sonst untereinander (nie quer scrollen). Gemessen am verfügbaren
   Platz, nicht am Fenster – im Assistenten steht der Baustein in einer schmaleren Karte neben dem Menü. */
.ch-begriffe-rahmen[b-jag9cxy0wt] {
    container-type: inline-size;
}

.ch-begriffe[b-jag9cxy0wt] {
    display: grid;
    gap: var(--ch-abstand-5);
    align-items: start;
}

@container (width >= 40rem) {
    .ch-begriffe[b-jag9cxy0wt] {
        grid-template-columns: minmax(0, 24rem) minmax(0, 1fr);
    }
}

.ch-begriffsbild[b-jag9cxy0wt] {
    max-width: 24rem;
    margin: 0;
}

    .ch-begriffsbild svg[b-jag9cxy0wt] {
        display: block;
        width: 100%;
        height: auto;
        font-family: var(--ch-schrift);
    }

/* Ebenen abwechselnd getönt; das Projekt – dort wird gearbeitet – in der Betonungsfarbe. */
.ch-begriff-ebene[b-jag9cxy0wt],
.ch-begriff-stapel[b-jag9cxy0wt] {
    stroke: var(--ch-rand-feld);
    stroke-width: 1;
}

.ch-begriff-stapel[b-jag9cxy0wt],
.ch-begriff-ebene-1[b-jag9cxy0wt],
.ch-begriff-ebene-4[b-jag9cxy0wt] {
    fill: var(--ch-flaeche);
}

.ch-begriff-ebene-0[b-jag9cxy0wt],
.ch-begriff-ebene-2[b-jag9cxy0wt] {
    fill: var(--ch-flaeche-gedaempft);
}

.ch-begriff-ebene-3[b-jag9cxy0wt] {
    fill: var(--ch-betont-zart);
    stroke: var(--ch-betont);
    stroke-width: 1.5;
}

.ch-begriff-name[b-jag9cxy0wt] {
    fill: var(--ch-text);
    font-size: 14px;
    font-weight: 650;
}

.ch-begriff-beispiel[b-jag9cxy0wt] {
    fill: var(--ch-text-leise);
    font-size: 12px;
}

.ch-begriff-person[b-jag9cxy0wt] {
    fill: none;
    stroke: var(--ch-text-leise);
    stroke-width: 1.6;
    stroke-linecap: round;
}

.ch-begriffsliste[b-jag9cxy0wt] {
    display: grid;
    gap: var(--ch-abstand-3);
    margin: 0;
}

    .ch-begriffsliste div[b-jag9cxy0wt] {
        padding-bottom: var(--ch-abstand-3);
        border-bottom: 1px solid var(--ch-rand);
    }

    .ch-begriffsliste dt[b-jag9cxy0wt] {
        font-weight: 650;
    }

    .ch-begriffsliste dd[b-jag9cxy0wt] {
        margin: var(--ch-abstand-1) 0 0;
        color: var(--ch-text-leise);
    }
/* /Components/Pages/Home.razor.rz.scp.css */
/* Angemeldet: Lagebild – Kennzahlen, Aufgaben, Erste Schritte */
.ch-start-abschnitt[b-5t0lk1jwtp],
.ch-erste-schritte[b-5t0lk1jwtp] {
    max-width: 46rem;
    margin-top: var(--ch-abstand-6);
}

.ch-start-abschnitt h2[b-5t0lk1jwtp] {
    margin-bottom: var(--ch-abstand-3);
}

.ch-aufgaben[b-5t0lk1jwtp] {
    display: grid;
    gap: var(--ch-abstand-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

    .ch-aufgaben li[b-5t0lk1jwtp] {
        display: grid;
        justify-items: start;
        gap: var(--ch-abstand-2);
        padding: var(--ch-abstand-4);
        border: 1px solid var(--ch-rand);
        border-radius: var(--ch-radius);
        background: var(--ch-flaeche);
    }

    .ch-aufgaben p[b-5t0lk1jwtp] {
        margin: 0;
    }

.ch-projektlage[b-5t0lk1jwtp] {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--ch-rand);
    list-style: none;
}

    .ch-projektlage li[b-5t0lk1jwtp] {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--ch-abstand-2) var(--ch-abstand-4);
        padding-block: var(--ch-abstand-3);
        border-bottom: 1px solid var(--ch-rand);
    }

.ch-projektlage-name[b-5t0lk1jwtp] {
    display: grid;
    min-width: 0;
}

    .ch-projektlage-name a[b-5t0lk1jwtp] {
        font-weight: 600;
        overflow-wrap: anywhere;
    }

.ch-nebenzeile[b-5t0lk1jwtp] {
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-klein);
}

.ch-projektlage-alle[b-5t0lk1jwtp] {
    margin-top: var(--ch-abstand-3);
}

.ch-schritte[b-5t0lk1jwtp] {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: schritt;
}

    .ch-schritte li[b-5t0lk1jwtp] {
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: var(--ch-abstand-3);
        padding-block: var(--ch-abstand-3);
        border-top: 1px solid var(--ch-rand);
        counter-increment: schritt;
    }

        .ch-schritte li[b-5t0lk1jwtp]::before {
            content: counter(schritt, decimal-leading-zero);
            color: var(--ch-text-leise);
            font-family: var(--ch-schrift-mono);
            font-size: var(--ch-groesse-klein);
            font-weight: 600;
        }
/* /Components/Pages/Oeffentlich/Barrierefreiheit.razor.rz.scp.css */
.ch-melden[b-bkwba73vyq] {
    max-width: 44rem;
    margin-top: var(--ch-abstand-6);
}
/* /Components/Pages/Oeffentlich/Pflichttext.razor.rz.scp.css */
.ch-pflichttext[b-k3w9kduwme] {
    max-width: 44rem;
}

    .ch-pflichttext p[b-k3w9kduwme] {
        margin-bottom: var(--ch-abstand-4);
        overflow-wrap: anywhere;
    }
/* /Components/Pages/Personen/Personenliste.razor.rz.scp.css */
/* Je Organisation ein Abschnitt; Mitarbeitende und bekannte Externe als zwei Listen darunter. */
.ch-personenkreis + .ch-personenkreis[b-a5d5l744m8] {
    margin-top: var(--ch-abstand-6);
}

.ch-personenkreis h3[b-a5d5l744m8] {
    margin-top: var(--ch-abstand-5);
}

.ch-personen-hilfe[b-a5d5l744m8],
.ch-personen-leer[b-a5d5l744m8] {
    color: var(--ch-text-leise);
}
/* /Components/Pages/Personen/Personenzugriff.razor.rz.scp.css */
/* Kopf der Person: Adresse und Organisationen als kurze Angaben unter dem Titel, schmal untereinander. */
.ch-person-angaben[b-o6eltwakky] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: var(--ch-abstand-1) var(--ch-abstand-4);
    margin-bottom: var(--ch-abstand-5);
}

    .ch-person-angaben dt[b-o6eltwakky] {
        font-weight: 600;
    }

    .ch-person-angaben dd[b-o6eltwakky],
    .ch-person-angaben ul[b-o6eltwakky] {
        margin: 0;
        padding: 0;
        list-style: none;
        overflow-wrap: anywhere;
    }

.ch-person-zusatz[b-o6eltwakky] {
    margin-left: var(--ch-abstand-1);
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-klein);
}

@media (max-width: 30rem) {
    .ch-person-angaben[b-o6eltwakky] {
        grid-template-columns: minmax(0, 1fr);
    }

        .ch-person-angaben dd + dt[b-o6eltwakky] {
            margin-top: var(--ch-abstand-2);
        }
}

/* Auswahl je Projekt: breit genug für „Projektsteuerung“, schmal die ganze Kartenbreite. */
.ch-zugriff-wahl[b-o6eltwakky] {
    min-width: min(13rem, 100%);
    max-width: 100%;
}

.ch-zugriff-fehler[b-o6eltwakky] {
    display: flex;
    gap: var(--ch-abstand-1);
    margin: var(--ch-abstand-1) 0 0;
    color: var(--ch-gefahr);
    font-size: var(--ch-groesse-klein);
    font-weight: 600;
}

/* Rechte der gewählten Rolle zum Aufklappen (natives details, ohne Skript). */
.ch-zugriff-rechte[b-o6eltwakky] {
    margin-top: var(--ch-abstand-1);
    font-size: var(--ch-groesse-klein);
}

    .ch-zugriff-rechte summary[b-o6eltwakky] {
        width: fit-content;
        color: var(--ch-betont);
        cursor: pointer;
    }

    .ch-zugriff-rechte[open] summary[b-o6eltwakky] {
        margin-bottom: var(--ch-abstand-2);
    }

/* Leiste unten im Blick: klebt am unteren Rand, solange es Änderungen oder eine Meldung gibt. */
.ch-zugriff-leiste[b-o6eltwakky] {
    position: sticky;
    bottom: 0;
    z-index: 2;
    margin-top: var(--ch-abstand-5);
    padding: var(--ch-abstand-3) var(--ch-abstand-4);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius);
    background: var(--ch-flaeche);
    box-shadow: var(--ch-schatten-2);
}

.ch-zugriff-leiste-leer[b-o6eltwakky] {
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
}

.ch-zugriff-aktionen[b-o6eltwakky] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ch-abstand-3);
}

.ch-zugriff-anzahl[b-o6eltwakky] {
    margin: 0 auto 0 0;
    font-weight: 600;
}

.ch-zugriff-zusammenfassung[b-o6eltwakky] {
    margin: 0 0 var(--ch-abstand-3);
    padding-left: var(--ch-abstand-5);
}

/* Fokus nie ganz unter der klebenden Leiste (WCAG 2.4.11): Beim Tabben hält der Browser so viel Abstand nach unten. */
.ch-zugriff-liste[b-o6eltwakky]  :is(a, button, input, select, summary) {
    scroll-margin-bottom: 12rem;
}
/* /Components/Pages/Plaene/Bereiche.razor.rz.scp.css */
/* Symbol und Ordnername mit Abstand; der Link bleibt eine Zeile (Bildschirmfotos 12.11.2026). */
.ch-ordner-link[b-rkpmyq5kys] {
    display: inline-flex;
    align-items: center;
    gap: var(--ch-abstand-2);
}
/* /Components/Pages/Plaene/Ordnerinhalt.razor.rz.scp.css */
.ch-hochladen[b-issax1jx0g] {
    display: grid;
    gap: var(--ch-abstand-2);
    margin-block: var(--ch-abstand-4);
    padding: var(--ch-abstand-4);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius);
    background: var(--ch-flaeche);
}

    .ch-hochladen h2[b-issax1jx0g],
    .ch-hochladen p[b-issax1jx0g] {
        margin: 0;
    }

.ch-datei-link[b-issax1jx0g] {
    display: inline-flex;
    align-items: center;
    gap: var(--ch-abstand-1);
    margin-inline-end: var(--ch-abstand-3);
    white-space: nowrap;
}
/* /Components/Pages/Projekte/Beteiligte.razor.rz.scp.css */
/* Beteiligtenliste: eigene Zeile hervorheben, ohne die Tabelle zu verändern. */
.ch-person-sie[b-kg4og2k5hb] {
    margin-left: var(--ch-abstand-1);
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-klein);
}

/* Knöpfe je Zeile mit Abstand, schmal untereinander statt gequetscht. */
.ch-zeilenaktionen[b-kg4og2k5hb] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ch-abstand-2);
}
/* /Components/Pages/Projekte/Einladen.razor.rz.scp.css */
/* Rechte in Klartext direkt unter der Rollenwahl, mit Abstand zum nächsten Feld. */
.ch-einladen-rechte[b-d1upgy1xo0] {
    margin: calc(-1 * var(--ch-abstand-2)) 0 var(--ch-abstand-4);
}

/* Der Link steht ganz da (umgebrochen), damit er sich auch am Handy vollständig markieren lässt. */
.ch-einladungslink[b-d1upgy1xo0] {
    font-family: var(--ch-schrift-mono);
    font-size: var(--ch-groesse-klein);
    word-break: break-all;
    resize: none;
}
/* /Components/Pages/Projekte/Projektdaten.razor.rz.scp.css */
/* Projektdaten als Liste aus Bezeichnung und Wert; schmal untereinander. */
.ch-projektdaten[b-dqfr5l35mh] {
    max-width: 46rem;
}

    .ch-projektdaten dl[b-dqfr5l35mh] {
        display: grid;
        grid-template-columns: minmax(8rem, max-content) minmax(0, 1fr);
        gap: var(--ch-abstand-2) var(--ch-abstand-5);
        margin: 0;
    }

    .ch-projektdaten dt[b-dqfr5l35mh] {
        color: var(--ch-text-leise);
        font-weight: 500;
    }

    .ch-projektdaten dd[b-dqfr5l35mh] {
        margin: 0;
        overflow-wrap: anywhere;
        white-space: pre-line;
    }

.ch-projektdaten-aktion[b-dqfr5l35mh] {
    margin: var(--ch-abstand-4) 0 0;
}

@media (max-width: 35.99rem) {
    .ch-projektdaten dl[b-dqfr5l35mh] {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .ch-projektdaten dd[b-dqfr5l35mh] {
        margin-bottom: var(--ch-abstand-3);
    }
}
/* /Components/Pages/Projekte/Projektliste.razor.rz.scp.css */
/* Filter nach Vorhaben über der Liste: Beschriftung, darunter Auswahl, Knopf und Link in einer Zeile (schmal umbrechend). */
.ch-vorhabenfilter[b-n0berc7ydk] {
    max-width: 46rem;
    margin-bottom: var(--ch-abstand-4);
}

.ch-vorhabenfilter-zeile[b-n0berc7ydk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ch-abstand-2) var(--ch-abstand-3);
}

    .ch-vorhabenfilter-zeile .form-select[b-n0berc7ydk] {
        width: auto;
        min-width: min(100%, 16rem);
        max-width: 100%;
    }
/* /Components/Pages/Projekte/Projektnavigation.razor.rz.scp.css */
/* Projektnavigation: schmal eine Leiste über dem Inhalt, ab 56 rem Platz links daneben (Containerabfrage, damit das
   Hauptmenü mitgerechnet ist). */
.ch-projekt[b-hy9iqmh2hh] {
    container-type: inline-size;
}

.ch-projekt-raster[b-hy9iqmh2hh] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ch-abstand-5);
}

.ch-projektnav ul[b-hy9iqmh2hh] {
    display: flex;
    gap: var(--ch-abstand-1);
    margin: 0;
    padding: 0 0 var(--ch-abstand-2);
    overflow-x: auto;
    border-bottom: 1px solid var(--ch-rand);
    list-style: none;
}

.ch-projektnav-punkt[b-hy9iqmh2hh] {
    display: flex;
    align-items: center;
    gap: var(--ch-abstand-2);
    min-height: 2.75rem;
    padding: var(--ch-abstand-2) var(--ch-abstand-3);
    border-radius: var(--ch-radius-klein);
    color: var(--ch-text);
    text-decoration: none;
    white-space: nowrap;
}

a.ch-projektnav-punkt:hover[b-hy9iqmh2hh] {
    background: var(--ch-flaeche-gedaempft);
    color: var(--ch-text);
}

a.ch-projektnav-punkt[aria-current="page"][b-hy9iqmh2hh] {
    background: var(--ch-betont-zart);
    box-shadow: inset 0 -3px 0 var(--ch-betont);
    font-weight: 600;
}

.ch-projektnav-bald[b-hy9iqmh2hh] {
    color: var(--ch-text-leise);
}

/* Schmal steht vorn, was es schon gibt; die Punkte ohne Link sind nicht fokussierbar, die Tab-Reihenfolge bleibt. */
.ch-projektnav-spaeter[b-hy9iqmh2hh] {
    order: 1;
}

.ch-projekt-inhalt[b-hy9iqmh2hh] {
    min-width: 0;
}

@container (width >= 56rem) {
    .ch-projekt-raster[b-hy9iqmh2hh] {
        grid-template-columns: 13.5rem minmax(0, 1fr);
        align-items: start;
    }

    .ch-projektnav ul[b-hy9iqmh2hh] {
        flex-direction: column;
        padding: 0;
        overflow: visible;
        border-bottom: 0;
    }

    /* Schmale Spalte, damit Listen daneben als Tabelle Platz haben; „kommt bald“ steht unter dem Namen. */
    .ch-projektnav-punkt[b-hy9iqmh2hh] {
        white-space: normal;
    }

    .ch-projektnav-bald[b-hy9iqmh2hh] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.125rem;
    }

    a.ch-projektnav-punkt[aria-current="page"][b-hy9iqmh2hh] {
        box-shadow: inset 3px 0 0 var(--ch-betont);
    }

    .ch-projektnav-spaeter[b-hy9iqmh2hh] {
        order: 0;
    }
}
/* /Components/Pages/Projekte/ProjektStarten.razor.rz.scp.css */
/* Assistent in Lesebreite; die Vorschau nutzt die Karte der Projektdaten. */
.ch-assistent[b-qgckb8ob11] {
    max-width: 48rem;
}

.ch-vorschau-hinweis[b-qgckb8ob11] {
    margin-bottom: var(--ch-abstand-3);
    color: var(--ch-text-leise);
}
/* /Components/Pages/Projekte/Projektuebersicht.razor.rz.scp.css */
/* Projektübersicht: Zustandszeile unter dem Kopf. */
.ch-projektzustand[b-dtcwj14vw0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ch-abstand-2) var(--ch-abstand-4);
    margin-bottom: var(--ch-abstand-5);
    color: var(--ch-text-leise);
}

/* Projektdaten und eigene Rolle: breit nebeneinander, schmal untereinander. */
.ch-projektkarten[b-dtcwj14vw0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
    align-items: start;
    gap: var(--ch-abstand-4);
}

/* Erste Schritte: nummerierte Zeilen mit Zustand rechts. */
.ch-erste-schritte[b-dtcwj14vw0] {
    max-width: 46rem;
    margin-bottom: var(--ch-abstand-4);
}

.ch-schritte[b-dtcwj14vw0] {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: schritt;
}

    .ch-schritte li[b-dtcwj14vw0] {
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: var(--ch-abstand-3);
        padding-block: var(--ch-abstand-3);
        border-top: 1px solid var(--ch-rand);
        counter-increment: schritt;
    }

        .ch-schritte li[b-dtcwj14vw0]::before {
            content: counter(schritt, decimal-leading-zero);
            color: var(--ch-text-leise);
            font-family: var(--ch-schrift-mono);
            font-size: var(--ch-groesse-klein);
            font-weight: 600;
        }
/* /Components/Pages/Projekte/Rechtevorschau.razor.rz.scp.css */
/* Rechte in Klartext: zwei kurze Listen, „darf“ mit Haken, „darf nicht“ mit Kreuz in leiser Farbe. */
.ch-rechte[b-t2sbfmj5k7] {
    padding: var(--ch-abstand-4);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius-klein);
    background: var(--ch-flaeche-gedaempft);
}

.ch-rechte-titel[b-t2sbfmj5k7] {
    margin-bottom: var(--ch-abstand-2);
    font-weight: 600;
}

.ch-rechte-liste[b-t2sbfmj5k7] {
    display: grid;
    gap: var(--ch-abstand-1);
    margin: 0 0 var(--ch-abstand-3);
    padding: 0;
    list-style: none;
}

    .ch-rechte-liste:last-child[b-t2sbfmj5k7] {
        margin-bottom: 0;
    }

    .ch-rechte-liste li[b-t2sbfmj5k7] {
        display: flex;
        align-items: flex-start;
        gap: var(--ch-abstand-2);
    }

.ch-rechte-ja[b-t2sbfmj5k7]  .ch-symbol {
    color: var(--ch-erfolg);
}

.ch-rechte-nein[b-t2sbfmj5k7] {
    color: var(--ch-text-leise);
}
/* /Components/Pages/Start/Begruessung.razor.rz.scp.css */
/* Begrüßung auf dunkler Tinte: links der Text, rechts die Vorschau einer Planliste, die in den nächsten Abschnitt ragt.
   Das Planraster dahinter ist nur aus Variablen gezeichnet und läuft zum Text hin aus. */
.ch-auftritt[b-wuqvs0suw6] {
    position: relative;
    background: var(--ch-tinte);
    color: var(--ch-auf-tinte);
}

    .ch-auftritt[b-wuqvs0suw6]::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: linear-gradient(var(--ch-tinte-linie) 1px, transparent 1px), linear-gradient(90deg, var(--ch-tinte-linie) 1px, transparent 1px);
        background-size: 2.5rem 2.5rem;
        mask-image: linear-gradient(100deg, transparent 35%, var(--ch-tinte) 85%);
    }

    .ch-auftritt :focus-visible[b-wuqvs0suw6] {
        outline-color: var(--ch-akzent-hell);
    }

.ch-auftritt-innen[b-wuqvs0suw6] {
    position: relative;
    display: grid;
    align-items: center;
    gap: var(--ch-abstand-6);
    padding-top: var(--ch-abstand-7);
}

.ch-auftritt-text .ch-etikett[b-wuqvs0suw6] {
    margin-bottom: var(--ch-abstand-4);
    color: var(--ch-akzent-hell);
}

.ch-auftritt-text h1[b-wuqvs0suw6] {
    margin-bottom: var(--ch-abstand-4);
    color: var(--ch-auf-tinte);
    font-size: var(--ch-groesse-auftritt);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.ch-auftritt-text .lead[b-wuqvs0suw6] {
    max-width: 33rem;
    margin-bottom: var(--ch-abstand-5);
    color: var(--ch-tinte-leise);
}

    .ch-auftritt-text .lead strong[b-wuqvs0suw6] {
        color: var(--ch-auf-tinte);
        font-weight: 600;
    }

/* Auf Tinte ist der Hauptknopf hell. */
.ch-auftritt-text .btn-primary[b-wuqvs0suw6] {
    --bs-btn-color: var(--ch-tinte);
    --bs-btn-bg: var(--ch-auf-tinte);
    --bs-btn-border-color: var(--ch-auf-tinte);
    --bs-btn-hover-color: var(--ch-tinte);
    --bs-btn-hover-bg: color-mix(in srgb, var(--ch-auf-tinte) 86%, var(--ch-tinte));
    --bs-btn-hover-border-color: color-mix(in srgb, var(--ch-auf-tinte) 86%, var(--ch-tinte));
    --bs-btn-active-color: var(--ch-tinte);
    --bs-btn-active-bg: color-mix(in srgb, var(--ch-auf-tinte) 78%, var(--ch-tinte));
    --bs-btn-active-border-color: color-mix(in srgb, var(--ch-auf-tinte) 78%, var(--ch-tinte));
}

.ch-auftritt-zusatz[b-wuqvs0suw6] {
    margin: var(--ch-abstand-4) 0 0;
    color: var(--ch-tinte-leise);
    font-size: var(--ch-groesse-klein);
}

.ch-auftritt-innen[b-wuqvs0suw6]  .ch-vorschau {
    align-self: end;
    margin-bottom: calc(-1 * var(--ch-abstand-7));
}

@media (min-width: 62rem) {
    .ch-auftritt-innen[b-wuqvs0suw6] {
        grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
        gap: var(--ch-abstand-7);
        padding-top: calc(var(--ch-abstand-7) + var(--ch-abstand-5));
    }

    .ch-auftritt-text[b-wuqvs0suw6] {
        padding-bottom: calc(var(--ch-abstand-7) + var(--ch-abstand-5));
    }
}
/* /Components/Pages/Start/Bereiche.razor.rz.scp.css */
/* Platz für die überstehende Vorschau */
.ch-bereiche[b-e5ek5mw6eo] {
    padding-top: calc(2 * var(--ch-abstand-7));
}

.ch-bereich-liste[b-e5ek5mw6eo] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: var(--ch-abstand-6) var(--ch-abstand-5);
    margin: var(--ch-abstand-6) 0 0;
    padding: 0;
    list-style: none;
}

/* Im Quelltext steht die Überschrift zuerst; gezeigt wird das Symbol darüber. */
.ch-bereich[b-e5ek5mw6eo] {
    display: flex;
    flex-direction: column;
    padding-top: var(--ch-abstand-4);
    border-top: 1px solid var(--ch-rand-feld);
}

    .ch-bereich[b-e5ek5mw6eo]  .ch-symbol {
        order: -1;
        width: 1.75rem;
        height: 1.75rem;
        margin-bottom: var(--ch-abstand-4);
        color: var(--ch-betont);
    }

    .ch-bereich h3[b-e5ek5mw6eo] {
        margin-bottom: var(--ch-abstand-2);
    }

    .ch-bereich p[b-e5ek5mw6eo] {
        margin: 0;
        color: var(--ch-text-leise);
    }
/* /Components/Pages/Start/Einstieg.razor.rz.scp.css */
/* Einstieg in drei Schritten */
.ch-einstieg[b-ernd0wpwky] {
    border-block: 1px solid var(--ch-rand);
    background: var(--ch-flaeche);
}

.ch-einstieg-innen[b-ernd0wpwky] {
    display: grid;
    gap: var(--ch-abstand-6);
}

.ch-einstieg-liste[b-ernd0wpwky] {
    display: grid;
    gap: var(--ch-abstand-5);
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: schritt;
}

    .ch-einstieg-liste li[b-ernd0wpwky] {
        display: grid;
        grid-template-columns: auto 1fr;
        align-content: start;
        column-gap: var(--ch-abstand-4);
        counter-increment: schritt;
    }

        .ch-einstieg-liste li[b-ernd0wpwky]::before {
            content: counter(schritt, decimal-leading-zero);
            grid-row: span 2;
            color: var(--ch-akzent);
            font-family: var(--ch-schrift-mono);
            font-size: var(--ch-groesse-klein);
            font-weight: 600;
            line-height: 1.6rem;
        }

    .ch-einstieg-liste h3[b-ernd0wpwky] {
        margin-bottom: var(--ch-abstand-1);
    }

    .ch-einstieg-liste p[b-ernd0wpwky] {
        margin: 0;
        color: var(--ch-text-leise);
    }

/* Zusagen zum Zugang */
.ch-zusagen[b-ernd0wpwky] {
    padding-block: var(--ch-abstand-6);
}

.ch-zusagen-liste[b-ernd0wpwky] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: var(--ch-abstand-4) var(--ch-abstand-6);
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--ch-text-leise);
    font-size: var(--ch-groesse-klein);
}

    .ch-zusagen-liste li[b-ernd0wpwky] {
        display: flex;
        gap: var(--ch-abstand-3);
    }

    .ch-zusagen-liste strong[b-ernd0wpwky] {
        display: block;
        color: var(--ch-text);
        font-size: var(--ch-groesse-text);
        font-weight: 600;
    }

    .ch-zusagen-liste[b-ernd0wpwky]  .ch-symbol {
        margin-top: 0.125rem;
        color: var(--ch-betont);
    }

@media (min-width: 48rem) {
    .ch-einstieg-liste[b-ernd0wpwky] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
/* /Components/Pages/Start/Planvorschau.razor.rz.scp.css */
.ch-vorschau[b-vubat7phsj] {
    overflow: hidden;
    border-radius: var(--ch-radius);
    background: var(--ch-flaeche);
    box-shadow: var(--ch-schatten-3);
    color: var(--ch-text);
    font-size: var(--ch-groesse-klein);
}

.ch-vorschau-kopf[b-vubat7phsj],
.ch-vorschau-fuss[b-vubat7phsj],
.ch-vorschau-liste li[b-vubat7phsj] {
    display: flex;
    align-items: center;
    gap: var(--ch-abstand-3);
    padding: var(--ch-abstand-3) var(--ch-abstand-4);
}

.ch-vorschau-kopf[b-vubat7phsj] {
    justify-content: space-between;
    border-bottom: 1px solid var(--ch-rand);
    color: var(--ch-text-leise);
}

.ch-vorschau-titel[b-vubat7phsj] {
    display: inline-flex;
    align-items: center;
    gap: var(--ch-abstand-2);
    color: var(--ch-text);
    font-size: var(--ch-groesse-text);
    font-weight: 650;
}

    .ch-vorschau-titel[b-vubat7phsj]  .ch-symbol {
        width: 1.25rem;
        height: 1.25rem;
        color: var(--ch-betont);
    }

.ch-vorschau-liste[b-vubat7phsj] {
    margin: 0;
    padding: 0;
    list-style: none;
}

    .ch-vorschau-liste li[b-vubat7phsj] {
        border-bottom: 1px solid var(--ch-rand);
    }

.ch-vorschau-plan[b-vubat7phsj] {
    display: grid;
    flex: 1;
    min-width: 0;
}

.ch-vorschau-code[b-vubat7phsj] {
    overflow: hidden;
    font-family: var(--ch-schrift-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ch-vorschau-name[b-vubat7phsj] {
    color: var(--ch-text-leise);
}

.ch-vorschau-index[b-vubat7phsj] {
    display: inline-grid;
    place-items: center;
    flex: none;
    width: 1.625rem;
    height: 1.625rem;
    border: 1px solid var(--ch-rand-feld);
    border-radius: 0.25rem;
    font-family: var(--ch-schrift-mono);
    font-size: 0.8125rem;
    font-weight: 600;
}

.ch-vorschau-status[b-vubat7phsj] {
    flex: none;
    min-width: 6.5rem;
    padding: 0.125rem var(--ch-abstand-2);
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
    text-align: center;
}

.ch-vorschau-frei[b-vubat7phsj] {
    background: var(--ch-erfolg-zart);
    color: var(--ch-erfolg);
}

.ch-vorschau-pruefung[b-vubat7phsj] {
    background: var(--ch-betont-zart);
    color: var(--ch-betont);
}

.ch-vorschau-neu[b-vubat7phsj] {
    background: var(--ch-flaeche-gedaempft);
    color: var(--ch-text-leise);
}

.ch-vorschau-auflage[b-vubat7phsj] {
    background: var(--ch-hinweis-zart);
    color: var(--ch-hinweis);
}

.ch-vorschau-fuss[b-vubat7phsj] {
    background: var(--ch-flaeche-gedaempft);
    color: var(--ch-text-leise);
}

    .ch-vorschau-fuss[b-vubat7phsj]  .ch-symbol {
        width: 1.125rem;
        height: 1.125rem;
        color: var(--ch-akzent);
    }

/* Sehr schmal: nur Code und Status */
@media (max-width: 35.99rem) {
    .ch-vorschau-name[b-vubat7phsj],
    .ch-vorschau-index[b-vubat7phsj] {
        display: none;
    }
}
/* /Components/Pages/Verwaltung/Betreiberdaten.razor.rz.scp.css */
.ch-farbwahl[b-0l1zg3mff7] {
    display: flex;
    align-items: center;
    gap: var(--ch-abstand-3);
    max-width: 16rem;
}

.ch-farbfeld[b-0l1zg3mff7] {
    font-family: var(--ch-schrift-mono);
}

.ch-farbmuster[b-0l1zg3mff7] {
    flex: none;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--ch-radius-klein);
    box-shadow: 0 0 0 1px var(--ch-rand-feld);
}

.ch-logovorschau[b-0l1zg3mff7] {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 4rem;
    padding: var(--ch-abstand-2);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius-klein);
    background: var(--ch-flaeche-gedaempft);
}
/* /Components/Pages/Verwaltung/Mailversand.razor.rz.scp.css */
/* Nur die Felder der gewählten Versandart zeigen (ohne Skript; ohne :has() bleiben einfach alle sichtbar). */
.ch-mailform:has(#art-Aus:checked) .ch-nur-versand[b-0t54xnseyb],
.ch-mailform:has(#art-Aus:checked) .ch-nur-smtp[b-0t54xnseyb],
.ch-mailform:has(#art-Aus:checked) .ch-nur-m365[b-0t54xnseyb],
.ch-mailform:has(#art-Smtp:checked) .ch-nur-m365[b-0t54xnseyb],
.ch-mailform:has(#art-Microsoft365:checked) .ch-nur-smtp[b-0t54xnseyb] {
    display: none;
}

.ch-wahl[b-0t54xnseyb] {
    margin: 0;
    padding: 0;
    border: 0;
}

.ch-mailfelder[b-0t54xnseyb] {
    display: grid;
    gap: var(--ch-abstand-5);
}

.ch-mail-aktionen[b-0t54xnseyb] {
    display: flex;
    gap: var(--ch-abstand-2);
    max-width: 46rem;
    margin-bottom: var(--ch-abstand-6);
}

.ch-kurz[b-0t54xnseyb] {
    max-width: 8rem;
}

.ch-pem[b-0t54xnseyb] {
    font-family: var(--ch-schrift-mono);
    font-size: var(--ch-groesse-klein);
}

.ch-mailstand[b-0t54xnseyb] {
    max-width: 46rem;
    margin-bottom: var(--ch-abstand-5);
}

.ch-mailstand-zeile[b-0t54xnseyb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ch-abstand-3);
}

/* Gruppen aus Optionsfeldern: Überschrift wie die Beschriftung eines Felds, nicht wie eine Bootstrap-Legende. */
.ch-wahl legend[b-0t54xnseyb] {
    float: none;
    margin-bottom: var(--ch-abstand-1);
    font-size: var(--ch-groesse-text);
    font-weight: 600;
}
/* /Components/Pages/Verwaltung/Mandantdetail.razor.rz.scp.css */
/* Archivierte Organisation: dieselben Abstände wie die Felderliste des Formularabschnitts, in die der Feldsatz gelegt ist. */
.ch-nur-lesen[b-um4mo1fyvg] {
    display: grid;
    gap: var(--ch-abstand-5);
}
/* /Components/Pages/Verwaltung/Mandanteinladungen.razor.rz.scp.css */
.ch-mandantabschnitt[b-izw0o2cm0c] {
    margin-top: var(--ch-abstand-6);
}

.ch-link[b-izw0o2cm0c] {
    margin-top: var(--ch-abstand-2);
    font-family: var(--ch-schrift-mono);
}

/* Gruppen aus Optionsfeldern: Überschrift wie die Beschriftung eines Felds, nicht wie eine Bootstrap-Legende. */
.ch-wahl legend[b-izw0o2cm0c] {
    float: none;
    margin-bottom: var(--ch-abstand-1);
    font-size: var(--ch-groesse-text);
    font-weight: 600;
}
/* /Components/Pages/Verwaltung/Mandantmitglieder.razor.rz.scp.css */
.ch-mandantabschnitt[b-djgm4yhfr2] {
    margin-top: var(--ch-abstand-6);
}

.ch-zeilenknoepfe[b-djgm4yhfr2] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ch-abstand-2);
}
/* /Components/Pages/Verwaltung/Stammdatenfelder.razor.rz.scp.css */
.ch-kurz[b-4ekla0aikx] {
    max-width: 12rem;
}
/* /Components/Pages/Verwaltung/Uebersicht.razor.rz.scp.css */
.ch-schritte-fortschritt[b-1cwcwomwau] {
    color: var(--ch-text-leise);
}

.ch-betriebsschritte[b-1cwcwomwau],
.ch-mandantenwahl[b-1cwcwomwau] {
    display: grid;
    gap: var(--ch-abstand-3);
    max-width: 48rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ch-betriebsschritt[b-1cwcwomwau] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--ch-abstand-4);
    padding: var(--ch-abstand-5);
    border: 1px solid var(--ch-rand);
    border-radius: var(--ch-radius);
    background: var(--ch-flaeche);
}

.ch-schrittnummer[b-1cwcwomwau] {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: var(--ch-betont-zart);
    color: var(--ch-betont);
    font-weight: 600;
}

.ch-schrittnummer-erledigt[b-1cwcwomwau] {
    background: var(--ch-erfolg-zart);
    color: var(--ch-erfolg);
}

.ch-schritt-kopf[b-1cwcwomwau] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ch-abstand-2) var(--ch-abstand-3);
}

    .ch-schritt-kopf h3[b-1cwcwomwau] {
        margin: 0;
        font-size: var(--ch-groesse-gross);
    }

.ch-schritt-text[b-1cwcwomwau] {
    margin: var(--ch-abstand-2) 0 var(--ch-abstand-4);
    color: var(--ch-text-leise);
}

/* Schmal (Handy, 200 % Zoom): Nummer über dem Text, lange Zustände dürfen umbrechen – nie quer scrollen. */
@media (max-width: 35.99rem) {
    .ch-betriebsschritt[b-1cwcwomwau] {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--ch-abstand-2);
        padding: var(--ch-abstand-4);
    }

    .ch-schritt-kopf[b-1cwcwomwau]  .ch-status {
        white-space: normal;
    }
}
/* /Components/Pages/Vorhaben/Vorhabenuebersicht.razor.rz.scp.css */
/* Übersicht eines Vorhabens: Zustandszeile unter dem Kopf, Abschnitte untereinander in Lesebreite. */
.ch-vorhabenzustand[b-qivt8qa8ti] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ch-abstand-2) var(--ch-abstand-4);
    margin-bottom: var(--ch-abstand-5);
    color: var(--ch-text-leise);
}

.ch-vorhabenabschnitt[b-qivt8qa8ti] {
    margin-top: var(--ch-abstand-6);
}

.ch-vorhaben-archiv[b-qivt8qa8ti] { margin-top: var(--ch-abstand-3); }

/* Angaben zum Vorhaben als Liste aus Bezeichnung und Wert; schmal untereinander. */
.ch-vorhabendaten[b-qivt8qa8ti] {
    max-width: 46rem;
    margin-top: var(--ch-abstand-6);
}

    .ch-vorhabendaten dl[b-qivt8qa8ti] {
        display: grid;
        grid-template-columns: minmax(8rem, max-content) minmax(0, 1fr);
        gap: var(--ch-abstand-2) var(--ch-abstand-5);
        margin: 0;
    }

    .ch-vorhabendaten dt[b-qivt8qa8ti] {
        color: var(--ch-text-leise);
        font-weight: 500;
    }

    .ch-vorhabendaten dd[b-qivt8qa8ti] {
        margin: 0;
        overflow-wrap: anywhere;
        white-space: pre-line;
    }

@media (max-width: 35.99rem) {
    .ch-vorhabendaten dl[b-qivt8qa8ti] {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .ch-vorhabendaten dd[b-qivt8qa8ti] {
        margin-bottom: var(--ch-abstand-3);
    }
}

.ch-vorhaben-verwalten[b-qivt8qa8ti] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ch-abstand-2);
    margin-top: var(--ch-abstand-4);
}
