/* /Components/Layout/AuthCard.razor.rz.scp.css */
/* Zentrierte Karte im Theme-Look fuer Anmeldung und Kennwort-Seiten. Farb- und Radius-Werte
   kommen aus den Kendo-Theme-Variablen (global geladen), mit neutralen Fallbacks.
   Formularfelder, Meldungen und Links kommen als Kind-Inhalt aus den Seiten und werden deshalb
   ueber ::deep gestylt (Klassen auth-field, auth-error, auth-success, auth-text, auth-submit,
   auth-links, auth-actions). */
.auth-card[b-xiombygqs9] {
    width: 100%;
    max-width: 26rem;
    background: var(--kendo-color-app-surface, #fff);
    border: 1px solid var(--kendo-color-border, rgba(0, 0, 0, 0.12));
    border-radius: 12px;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.06),
        0 16px 40px -12px rgba(16, 24, 40, 0.18);
    padding: 2.5rem 2.25rem 2.25rem;
}

/* Markenzeile: Logo + Produktname, klein und ruhig oberhalb der Ueberschrift. */
.auth-brand[b-xiombygqs9] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.75rem;
}

.auth-logo[b-xiombygqs9] {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--kendo-color-primary, #3d4756);
    color: var(--kendo-color-on-primary, #fff);
    font-size: 1.25rem;
    font-weight: 700;
}

.auth-brand-text[b-xiombygqs9] {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.auth-product[b-xiombygqs9] {
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--kendo-color-primary, #3d4756);
}

.auth-claim[b-xiombygqs9] {
    font-size: 0.8rem;
    color: var(--kendo-color-subtle, #6c757d);
}

h1[b-xiombygqs9] {
    font-size: 1.4rem;
    font-weight: 600;
    margin: 0 0 0.25rem;
}

.auth-hint[b-xiombygqs9] {
    font-size: 0.9rem;
    color: var(--kendo-color-subtle, #6c757d);
    margin: 0 0 1.5rem;
}

.auth-card[b-xiombygqs9]  .auth-text {
    font-size: 0.9rem;
    color: var(--kendo-color-subtle, #6c757d);
    margin: 0 0 1.1rem;
}

.auth-card[b-xiombygqs9]  .auth-error,
.auth-card[b-xiombygqs9]  .auth-success {
    display: flex;
    gap: 0.5rem;
    font-size: 0.9rem;
    border-radius: 8px;
    padding: 0.65rem 0.85rem;
    margin: 0 0 1.25rem;
}

.auth-card[b-xiombygqs9]  .auth-error {
    color: var(--kendo-color-error, #b3261e);
    background: color-mix(in srgb, var(--kendo-color-error, #b3261e) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--kendo-color-error, #b3261e) 35%, transparent);
}

.auth-card[b-xiombygqs9]  .auth-success {
    color: var(--kendo-color-success, #1e7d3a);
    background: color-mix(in srgb, var(--kendo-color-success, #1e7d3a) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--kendo-color-success, #1e7d3a) 35%, transparent);
}

.auth-card[b-xiombygqs9]  .auth-field {
    margin-bottom: 1.1rem;
}

.auth-card[b-xiombygqs9]  .auth-field label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 0.35rem;
}

/* Kendo-Input-Markup wird statisch gerendert; volle Breite + Fokusring, den sonst
   das Widget-JS per k-focus setzt. */
.auth-card[b-xiombygqs9]  .auth-field .k-input {
    width: 100%;
}

.auth-card[b-xiombygqs9]  .auth-field .k-input:focus-within {
    border-color: var(--kendo-color-primary, #3d4756);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--kendo-color-primary, #3d4756) 18%, transparent);
}

.auth-card[b-xiombygqs9]  .auth-submit {
    width: 100%;
    margin-top: 0.5rem;
}

/* Weiterfuehrende Links unter dem Formular (z.B. "Kennwort vergessen?", "Zur Anmeldung"). */
.auth-card[b-xiombygqs9]  .auth-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1.25rem;
    font-size: 0.9rem;
    margin: 1.25rem 0 0;
}

/* Zweit-Aktion als eigenes Formular (z.B. Abmelden), mindestens 44px hoch wie alle Buttons. */
.auth-card[b-xiombygqs9]  .auth-actions {
    margin: 0.75rem 0 0;
}

.auth-card[b-xiombygqs9]  .auth-actions .k-button {
    width: 100%;
}

/* Rechtliche Links am Kartenfuss, dezent abgesetzt. */
.auth-legal[b-xiombygqs9] {
    display: flex;
    justify-content: center;
    gap: 1.25rem;
    margin-top: 1.75rem;
    padding-top: 1rem;
    border-top: 1px solid var(--kendo-color-border, rgba(0, 0, 0, 0.12));
    font-size: 0.8rem;
}

.auth-legal a[b-xiombygqs9] {
    color: var(--kendo-color-subtle, #6c757d);
}

/* Auf sehr kleinen Screens fuellt die Karte die Flaeche, ohne wie ein schwebendes
   Panel zu wirken. */
@media (max-width: 480px) {
    .auth-card[b-xiombygqs9] {
        padding: 1.75rem 1.25rem;
        box-shadow: none;
    }
}
/* /Components/Layout/LoginLayout.razor.rz.scp.css */
/* Vollflaechiger, ruhiger Hintergrund im Farbklima des Meridian-Themes: sehr helles
   Grau-Blau mit einem dezenten Akzentverlauf oben, damit die Karte nicht auf sterilem
   Weiss schwebt. Die Kendo-Variablen kommen aus dem global geladenen Theme. */
.login-shell[b-6svrcia3zy] {
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    background-color: var(--kendo-color-surface, #f8f9fa);
    background-image:
        radial-gradient(ellipse 80% 55% at 50% -10%,
            color-mix(in srgb, var(--kendo-color-primary, #3d4756) 14%, transparent),
            transparent);
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-czp3327l9y] {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

[b-czp3327l9y] .app-bar {
    flex: 0 0 auto;
}

.app-title[b-czp3327l9y] {
    font-weight: 600;
    font-size: 1.1rem;
}

.current-user[b-czp3327l9y] {
    white-space: nowrap;
}

.logout-form[b-czp3327l9y] {
    display: inline-flex;
    margin: 0;
}

[b-czp3327l9y] .app-drawer {
    flex: 1 1 auto;
    min-height: 0;
}

.app-content[b-czp3327l9y] {
    height: 100%;
    overflow-y: auto;
}

#blazor-error-ui[b-czp3327l9y] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-czp3327l9y] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-qob5ak6vp2],
.components-reconnect-repeated-attempt-visible[b-qob5ak6vp2],
.components-reconnect-failed-visible[b-qob5ak6vp2],
.components-pause-visible[b-qob5ak6vp2],
.components-resume-failed-visible[b-qob5ak6vp2],
.components-rejoining-animation[b-qob5ak6vp2] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-qob5ak6vp2],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-qob5ak6vp2],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-qob5ak6vp2],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-qob5ak6vp2],
#components-reconnect-modal.components-reconnect-retrying[b-qob5ak6vp2],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-qob5ak6vp2],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-qob5ak6vp2],
#components-reconnect-modal.components-reconnect-failed[b-qob5ak6vp2],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-qob5ak6vp2] {
    display: block;
}


#components-reconnect-modal[b-qob5ak6vp2] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-qob5ak6vp2 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-qob5ak6vp2 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-qob5ak6vp2 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-qob5ak6vp2]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-qob5ak6vp2 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-qob5ak6vp2 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-qob5ak6vp2 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-qob5ak6vp2 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-qob5ak6vp2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-qob5ak6vp2] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-qob5ak6vp2] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-qob5ak6vp2] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-qob5ak6vp2] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-qob5ak6vp2] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-qob5ak6vp2] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-qob5ak6vp2 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-qob5ak6vp2] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-qob5ak6vp2 {
    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/Pages/Attendance.razor.rz.scp.css */
/* Anwesenheit: für das Handy gebaut. Große Tipp-Flächen (min. 3.25rem), Suche und Filter
   bleiben beim Scrollen oben stehen. */
.att-page[b-mqo6u995sv] {
    max-width: 40rem;
}

.att-heading[b-mqo6u995sv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.att-heading h1[b-mqo6u995sv] {
    margin: 0 0 0.75rem;
}

/* Mehrere gleichzeitig laufende Veranstaltungen: Schnellwahl über der Auswahlliste. */
.att-now[b-mqo6u995sv] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.att-now-chip[b-mqo6u995sv] {
    min-height: 2.5rem;
    padding: 0.375rem 0.875rem;
    border: 1px solid var(--kendo-color-success, #278200);
    border-radius: 999px;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 0.875rem;
    cursor: pointer;
}

.att-now-chip-active[b-mqo6u995sv] {
    background: var(--kendo-color-success, #278200);
    color: var(--kendo-color-on-success, #fff);
}

.att-select[b-mqo6u995sv] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 0.75rem;
}

.att-select label[b-mqo6u995sv] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--kendo-color-subtle, #666);
}

/* Natives select: am Handy öffnet sich die systemeigene Auswahl. */
.att-select select[b-mqo6u995sv] {
    width: 100%;
    min-height: 2.75rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--kendo-color-border, #ccc);
    border-radius: 0.375rem;
    background: var(--kendo-color-surface-alt, #fff);
    color: inherit;
    font: inherit;
}

/* Termine einer Reihe: horizontal wischbare Leiste, je Termin Tag und Anwesende. */
.att-dates[b-mqo6u995sv] {
    display: flex;
    gap: 0.375rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.25rem;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
}

.att-date[b-mqo6u995sv] {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.125rem;
    min-width: 4.5rem;
    min-height: 3rem;
    padding: 0.375rem 0.625rem;
    border: 1px solid var(--kendo-color-border, #ccc);
    border-radius: 0.5rem;
    background: var(--kendo-color-surface-alt, #fff);
    color: inherit;
    font: inherit;
    cursor: pointer;
    scroll-snap-align: start;
}

.att-date-now[b-mqo6u995sv] {
    border-color: var(--kendo-color-success, #278200);
    border-width: 2px;
}

.att-date-active[b-mqo6u995sv] {
    border-color: var(--kendo-color-primary, #0058e9);
    background: var(--kendo-color-primary, #0058e9);
    color: var(--kendo-color-on-primary, #fff);
}

.att-date-cancelled .att-date-day[b-mqo6u995sv] {
    text-decoration: line-through;
}

.att-date-day[b-mqo6u995sv] {
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
}

.att-date-count[b-mqo6u995sv] {
    font-size: 0.75rem;
    opacity: 0.85;
}

.att-event[b-mqo6u995sv] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.875rem 1rem;
    margin-bottom: 0.75rem;
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-radius: 0.5rem;
    background: var(--kendo-color-surface-alt, #fff);
}

.att-event-running[b-mqo6u995sv] {
    border-left: 4px solid var(--kendo-color-success, #278200);
}

.att-event-head[b-mqo6u995sv] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.375rem 0.5rem;
}

.att-title[b-mqo6u995sv] {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.att-number[b-mqo6u995sv] {
    margin-left: 0.25rem;
    font-weight: 400;
    color: var(--kendo-color-subtle, #666);
}

.att-badge[b-mqo6u995sv] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
}

.att-badge-running[b-mqo6u995sv] {
    background: #e6f4ea;
    color: #1b5e20;
}

.att-badge-today[b-mqo6u995sv] {
    background: #e8f0fe;
    color: #0d47a1;
}

.att-badge-past[b-mqo6u995sv] {
    background: var(--kendo-color-base-subtle, #f0f0f0);
    color: var(--kendo-color-subtle, #666);
}

.att-badge-cancelled[b-mqo6u995sv] {
    background: #fdecea;
    color: #b71c1c;
}

.att-meta[b-mqo6u995sv] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    font-size: 0.875rem;
    color: var(--kendo-color-subtle, #666);
}

.att-multiline[b-mqo6u995sv] {
    white-space: pre-line;
}

.att-progress[b-mqo6u995sv] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.att-progress-text[b-mqo6u995sv] {
    font-size: 0.9375rem;
}

.att-progress progress[b-mqo6u995sv] {
    width: 100%;
    height: 0.5rem;
    accent-color: var(--kendo-color-success, #278200);
}

/* Suche und Filter bleiben sichtbar, solange .app-content im Layout der Scroll-Container ist
   (Drawer im Push-Modus). Im Overlay-Modus am Handy scrollt das Dokument, dort greift sticky
   nicht, weil .app-content trotzdem overflow-y: auto hat. */
.att-toolbar[b-mqo6u995sv] {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem 0;
    background: var(--kendo-color-app-surface, #fff);
}

.att-search[b-mqo6u995sv] {
    width: 100%;
    min-height: 3rem;
    padding: 0.5rem 0.875rem;
    border: 1px solid var(--kendo-color-border, #ccc);
    border-radius: 0.5rem;
    background: var(--kendo-color-surface-alt, #fff);
    color: inherit;
    /* 16px verhindert das automatische Hineinzoomen in iOS Safari. */
    font: inherit;
    font-size: 1rem;
}

.att-search:focus[b-mqo6u995sv] {
    outline: 2px solid var(--kendo-color-primary, #0058e9);
    outline-offset: 1px;
}

/* Suchfeld mit Kamera-Knopf für den QR-Scan daneben. */
.att-search-row[b-mqo6u995sv] {
    display: flex;
    gap: 0.5rem;
}

.att-search-row .att-search[b-mqo6u995sv] {
    flex: 1 1 auto;
    min-width: 0;
}

.att-scan-btn[b-mqo6u995sv] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 3rem;
    min-height: 3rem;
    border: 1px solid var(--kendo-color-border, #ccc);
    border-radius: 0.5rem;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.att-scan-btn:focus-visible[b-mqo6u995sv] {
    outline: 2px solid var(--kendo-color-primary, #0058e9);
    outline-offset: 1px;
}

.att-scan-btn-active[b-mqo6u995sv] {
    border-color: var(--kendo-color-primary, #0058e9);
    background: var(--kendo-color-primary, #0058e9);
    color: var(--kendo-color-on-primary, #fff);
}

.att-filter[b-mqo6u995sv] {
    display: flex;
    gap: 0.375rem;
}

.att-filter-btn[b-mqo6u995sv] {
    flex: 1 1 0;
    min-height: 2.5rem;
    padding: 0.25rem 0.5rem;
    border: 1px solid var(--kendo-color-border, #ccc);
    border-radius: 0.375rem;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 0.875rem;
    cursor: pointer;
}

.att-filter-btn-active[b-mqo6u995sv] {
    border-color: var(--kendo-color-primary, #0058e9);
    background: var(--kendo-color-primary, #0058e9);
    color: var(--kendo-color-on-primary, #fff);
}

.att-filter-count[b-mqo6u995sv] {
    font-weight: 600;
}

.att-status[b-mqo6u995sv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.75rem;
    min-height: 1.5rem;
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
}

.att-status-error[b-mqo6u995sv] {
    color: var(--kendo-color-error, #d32f2f);
}

.att-undo[b-mqo6u995sv] {
    padding: 0.25rem 0;
    border: none;
    background: none;
    color: var(--kendo-color-primary, #0058e9);
    font: inherit;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}

.att-list[b-mqo6u995sv] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.att-person[b-mqo6u995sv] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    min-height: 3.25rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-radius: 0.5rem;
    background: var(--kendo-color-surface-alt, #fff);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

.att-person:focus-visible[b-mqo6u995sv] {
    outline: 2px solid var(--kendo-color-primary, #0058e9);
    outline-offset: 1px;
}

.att-person-present[b-mqo6u995sv] {
    border-color: #81c784;
    background: #e6f4ea;
}

.att-person-pending[b-mqo6u995sv] {
    opacity: 0.6;
    cursor: progress;
}

.att-check[b-mqo6u995sv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 2px solid var(--kendo-color-border, #bbb);
    border-radius: 50%;
}

.att-person-present .att-check[b-mqo6u995sv] {
    border-color: var(--kendo-color-success, #278200);
    background: var(--kendo-color-success, #278200);
    color: #fff;
}

.att-person-text[b-mqo6u995sv] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.att-person-name[b-mqo6u995sv] {
    font-weight: 600;
    overflow-wrap: anywhere;
}

.att-person-info[b-mqo6u995sv] {
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle, #666);
}

.att-person-state[b-mqo6u995sv] {
    flex: 0 0 auto;
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle, #666);
}

.att-person-present .att-person-state[b-mqo6u995sv] {
    color: #1b5e20;
    font-weight: 600;
}

.att-error[b-mqo6u995sv] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

.att-empty[b-mqo6u995sv] {
    color: var(--kendo-color-subtle, #666);
}
/* /Components/Pages/Events.razor.rz.scp.css */
/* Liste "Meine Veranstaltungen": eine Karte je Veranstaltung, Datum links, Inhalt rechts;
   auf schmalen Bildschirmen steht das Datum ueber dem Inhalt. */
.ev-page[b-kpvj8zpq8f] {
    max-width: 64rem;
}

.ev-organizer[b-kpvj8zpq8f] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    margin-bottom: 1rem;
}

.ev-toolbar[b-kpvj8zpq8f] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
    margin-bottom: 1rem;
}

.ev-check[b-kpvj8zpq8f] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

.ev-count[b-kpvj8zpq8f] {
    margin-left: auto;
    color: var(--kendo-color-subtle, #666);
    font-size: 0.875rem;
}

.ev-list[b-kpvj8zpq8f] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.ev-item[b-kpvj8zpq8f] {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    gap: 1rem;
    padding: 0.875rem 1rem;
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-radius: 0.5rem;
    background: var(--kendo-color-surface-alt, #fff);
}

.ev-item-past[b-kpvj8zpq8f] {
    opacity: 0.7;
}

.ev-item-cancelled[b-kpvj8zpq8f] {
    border-left: 4px solid var(--kendo-color-error, #d32f2f);
}

.ev-date[b-kpvj8zpq8f] {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.ev-weekday[b-kpvj8zpq8f],
.ev-time[b-kpvj8zpq8f] {
    font-size: 0.875rem;
    color: var(--kendo-color-subtle, #666);
}

.ev-day[b-kpvj8zpq8f] {
    font-weight: 600;
}

.ev-content[b-kpvj8zpq8f] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    min-width: 0;
}

.ev-title[b-kpvj8zpq8f] {
    font-weight: 600;
    overflow-wrap: anywhere;
}

.ev-number[b-kpvj8zpq8f] {
    margin-left: 0.375rem;
    color: var(--kendo-color-subtle, #666);
}

.ev-details[b-kpvj8zpq8f] {
    display: flex;
    flex-direction: column;
    font-size: 0.875rem;
}

.ev-badges[b-kpvj8zpq8f] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.ev-badges:empty[b-kpvj8zpq8f] {
    display: none;
}

.ev-badge[b-kpvj8zpq8f] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
    background: #f0f0f0;
    color: #444;
}

.ev-badge-cancelled[b-kpvj8zpq8f] {
    background: #fdecea;
    color: #b71c1c;
}

.ev-badge-internal[b-kpvj8zpq8f] {
    background: #fff8e1;
    color: #8a6d00;
}

.ev-notice[b-kpvj8zpq8f] {
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    background: var(--kendo-color-base-subtle, #f7f8fa);
    font-size: 0.875rem;
}

.ev-notice-cancelled[b-kpvj8zpq8f] {
    background: #fdecea;
    color: #b71c1c;
}

/* Aufklappbarer Bereich "Alle Angaben prüfen": Feldname links, Wert rechts. */
.ev-more[b-kpvj8zpq8f] {
    border-top: 1px solid var(--kendo-color-border, #e3e3e3);
    padding-top: 0.375rem;
}

.ev-more > summary[b-kpvj8zpq8f] {
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--kendo-color-primary, #0058e9);
}

.ev-more-body[b-kpvj8zpq8f] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.625rem;
}

.ev-image[b-kpvj8zpq8f] {
    max-width: 10rem;
    height: auto;
    border-radius: 0.25rem;
}

.ev-fields[b-kpvj8zpq8f] {
    display: grid;
    grid-template-columns: 11rem minmax(0, 1fr);
    gap: 0.375rem 1rem;
    margin: 0;
    font-size: 0.875rem;
}

.ev-fields dt[b-kpvj8zpq8f] {
    font-weight: 600;
    color: var(--kendo-color-subtle, #666);
}

.ev-fields dd[b-kpvj8zpq8f] {
    margin: 0;
    overflow-wrap: anywhere;
}

.ev-fields[b-kpvj8zpq8f]  .ev-missing {
    color: #8a6d00;
    font-style: italic;
}

.ev-sub[b-kpvj8zpq8f] {
    display: block;
    color: var(--kendo-color-subtle, #666);
}

.ev-costs[b-kpvj8zpq8f],
.ev-flags[b-kpvj8zpq8f],
.ev-supervisors[b-kpvj8zpq8f] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ev-supervisors li + li[b-kpvj8zpq8f] {
    margin-top: 0.375rem;
}

.ev-error[b-kpvj8zpq8f] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

.ev-empty[b-kpvj8zpq8f],
.ev-footnote[b-kpvj8zpq8f] {
    color: var(--kendo-color-subtle, #666);
}

.ev-footnote[b-kpvj8zpq8f] {
    margin-top: 1.5rem;
    font-size: 0.875rem;
}

@media (max-width: 600px) {
    .ev-item[b-kpvj8zpq8f] {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.5rem;
    }

    .ev-date[b-kpvj8zpq8f] {
        flex-direction: row;
        gap: 0.5rem;
    }

    .ev-count[b-kpvj8zpq8f] {
        margin-left: 0;
    }

    .ev-fields[b-kpvj8zpq8f] {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.125rem;
    }

    .ev-fields dd[b-kpvj8zpq8f] {
        margin-bottom: 0.5rem;
    }

    .ev-toolbar[b-kpvj8zpq8f]  .k-textbox {
        width: 100% !important;
    }
}
/* /Components/Pages/EventSubmission.razor.rz.scp.css */
/* Meldebogen: Abschnitte als Karten, Beschriftung ueber dem Feld, zweispaltiges Raster ab
   Tablet-Breite, einspaltig auf dem Handy. Farben aus den Kendo-Theme-Variablen. */
.es-page[b-gd4ns0lmfr] {
    max-width: 56rem;
    margin: 0 auto;
    padding-bottom: 1rem;
}

/* ---------- Kopf und Schrittanzeige ---------- */
.es-header[b-gd4ns0lmfr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}

.es-header h1[b-gd4ns0lmfr] {
    font-size: clamp(1.4rem, 1.1rem + 1.2vw, 1.9rem);
    font-weight: 600;
    margin: 0;
}

.es-print-link[b-gd4ns0lmfr] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--kendo-color-border, #ddd);
    border-radius: 999px;
    color: var(--kendo-color-primary, #0d6efd);
    text-decoration: none;
    font-size: 0.9rem;
}

.es-print-link:hover[b-gd4ns0lmfr],
.es-print-link:focus-visible[b-gd4ns0lmfr] {
    background: var(--kendo-color-base-subtle, #f5f5f5);
}

.es-loading[b-gd4ns0lmfr] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 0;
    color: var(--kendo-color-subtle, #6c757d);
}

.es-steps[b-gd4ns0lmfr] {
    display: flex;
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
    counter-reset: none;
}

.es-step[b-gd4ns0lmfr] {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    position: relative;
    color: var(--kendo-color-subtle, #6c757d);
    font-size: 0.9rem;
}

.es-step:not(:last-child)[b-gd4ns0lmfr]::after {
    content: "";
    flex: 1 1 auto;
    height: 2px;
    margin: 0 0.75rem;
    background: var(--kendo-color-border, #ddd);
}

.es-step-number[b-gd4ns0lmfr] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 2px solid var(--kendo-color-border, #ddd);
    background: var(--kendo-color-surface-alt, #fff);
    font-weight: 600;
}

.es-step-text[b-gd4ns0lmfr] {
    white-space: nowrap;
}

.es-step-active[b-gd4ns0lmfr] {
    color: var(--kendo-color-on-app-surface, #212529);
    font-weight: 600;
}

.es-step-active .es-step-number[b-gd4ns0lmfr] {
    border-color: var(--kendo-color-primary, #0d6efd);
    background: var(--kendo-color-primary, #0d6efd);
    color: var(--kendo-color-on-primary, #fff);
}

.es-step-done .es-step-number[b-gd4ns0lmfr] {
    border-color: var(--kendo-color-primary, #0d6efd);
    color: var(--kendo-color-primary, #0d6efd);
}

.es-step-done:not(:last-child)[b-gd4ns0lmfr]::after {
    background: var(--kendo-color-primary, #0d6efd);
}

/* ---------- Karten ---------- */
.es-card[b-gd4ns0lmfr] {
    background: var(--kendo-color-surface-alt, #fff);
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 2px 8px rgba(0, 0, 0, 0.04);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
}

.es-card-import[b-gd4ns0lmfr] {
    background: var(--kendo-color-base-subtle, #f7f8fa);
    box-shadow: none;
}

.es-card-head[b-gd4ns0lmfr] {
    margin-bottom: 1rem;
}

.es-card-head-row[b-gd4ns0lmfr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

h2[b-gd4ns0lmfr] {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
}

.es-notice[b-gd4ns0lmfr] {
    font-size: 0.875rem;
    color: var(--kendo-color-subtle, #6c757d);
    margin: 0.35rem 0 0;
}

.es-intro[b-gd4ns0lmfr] {
    margin: 0 0 1rem;
}

/* ---------- Formularraster ---------- */
.es-grid[b-gd4ns0lmfr] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.25rem;
}

.es-grid + .es-checks[b-gd4ns0lmfr],
.es-checks + .es-field[b-gd4ns0lmfr] {
    margin-top: 1.25rem;
}

.es-full[b-gd4ns0lmfr] {
    grid-column: 1 / -1;
}

.es-field[b-gd4ns0lmfr] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.es-label[b-gd4ns0lmfr] {
    font-size: 0.875rem;
    font-weight: 500;
}

.es-fieldset[b-gd4ns0lmfr] {
    border: 0;
    margin: 0 0 1rem;
    padding: 0;
    min-width: 0;
}

.es-fieldset legend[b-gd4ns0lmfr] {
    float: none;
    width: auto;
    margin-bottom: 0.4rem;
    padding: 0;
    line-height: inherit;
}

.es-grid .es-fieldset[b-gd4ns0lmfr] {
    margin-bottom: 0;
}

.es-postal-city[b-gd4ns0lmfr] {
    display: grid;
    grid-template-columns: minmax(5rem, 7rem) minmax(0, 1fr);
    gap: 0.5rem;
}

.es-inline[b-gd4ns0lmfr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.es-amount[b-gd4ns0lmfr] {
    display: grid;
    grid-template-columns: minmax(0, 5.5rem) auto;
    align-items: center;
    gap: 0.5rem;
}

.es-amount-participant[b-gd4ns0lmfr] {
    width: 6rem;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr) auto;
}

.es-registration-phone[b-gd4ns0lmfr] {
    margin-top: 0.75rem;
    max-width: 20rem;
}

.es-required[b-gd4ns0lmfr] {
    color: var(--kendo-color-error, #e50000);
    font-weight: 700;
    padding-left: 0.15rem;
}

.es-footnote[b-gd4ns0lmfr] {
    font-size: 0.75rem;
    color: var(--kendo-color-subtle, #6c757d);
}

.es-legend[b-gd4ns0lmfr] {
    font-size: 0.85rem;
    color: var(--kendo-color-subtle, #6c757d);
}

.es-error-text[b-gd4ns0lmfr] {
    color: var(--kendo-color-error, #e50000);
    font-size: 0.875rem;
}

.es-input[b-gd4ns0lmfr] {
    min-width: 0;
}

.es-field > .es-input[b-gd4ns0lmfr] {
    width: 100%;
}

.es-table .es-input[b-gd4ns0lmfr] {
    display: inline-block;
    vertical-align: baseline;
}

.es-input-invalid[b-gd4ns0lmfr] {
    background: var(--kendo-color-error-subtle, #fff0f0);
    outline: 1px solid var(--kendo-color-error, #b91c1c);
    border-radius: 0.375rem;
}

.es-input-invalid[b-gd4ns0lmfr]  .k-input,
.es-input-invalid[b-gd4ns0lmfr]  .k-picker {
    border-color: var(--kendo-color-error, #b91c1c);
    background-color: var(--kendo-color-error-subtle, #fff0f0);
}

.es-sr-only[b-gd4ns0lmfr] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* ---------- Checkbox-Liste ---------- */
.es-checks[b-gd4ns0lmfr] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-radius: 0.5rem;
    overflow: hidden;
}

.es-check[b-gd4ns0lmfr] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--kendo-color-border, #e3e3e3);
    margin-bottom: -1px;
}

.es-check:nth-child(odd)[b-gd4ns0lmfr] {
    border-right: 1px solid var(--kendo-color-border, #e3e3e3);
}

.es-check:last-child:nth-child(odd)[b-gd4ns0lmfr] {
    grid-column: 1 / -1;
    border-right: 0;
}

.es-check[b-gd4ns0lmfr]  .k-checkbox {
    flex: 0 0 auto;
    margin-top: 0.2rem;
}

.es-check label[b-gd4ns0lmfr] {
    cursor: pointer;
    margin: 0;
}

.es-check-text[b-gd4ns0lmfr] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.es-check-detail[b-gd4ns0lmfr] {
    font-size: 0.875rem;
}

.es-checks-plain[b-gd4ns0lmfr] {
    display: flex;
    flex-direction: column;
    border: 0;
    border-radius: 0;
}

.es-checks-plain .es-check[b-gd4ns0lmfr] {
    padding: 0.35rem 0;
    border: 0;
    margin: 0;
}

/* ---------- Meldungen ---------- */
.es-message[b-gd4ns0lmfr] {
    margin-bottom: 1rem;
    border-radius: 0.5rem;
}

.es-message-inline[b-gd4ns0lmfr] {
    margin: 0.75rem 0 0;
}

.es-errors ul[b-gd4ns0lmfr] {
    margin: 0.5rem 0 0;
    padding-left: 1.25rem;
}

/* ---------- Import ---------- */
.es-import[b-gd4ns0lmfr] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 0.75rem;
}

/* Eintrag der Auswahlliste (Popup): Titel, Beschreibung, Terminart + erster Termin */
.es-import-item[b-gd4ns0lmfr] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.25rem 0;
    white-space: normal;
}

.es-import-title[b-gd4ns0lmfr] {
    font-weight: 600;
}

.es-import-description[b-gd4ns0lmfr],
.es-import-date[b-gd4ns0lmfr] {
    font-size: 0.875em;
    color: var(--kendo-color-subtle, #666);
}

/* ---------- Termine ---------- */
.es-dates[b-gd4ns0lmfr] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.es-date[b-gd4ns0lmfr] {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) 2.5rem;
    gap: 0.75rem;
    align-items: center;
}

.es-date-head[b-gd4ns0lmfr] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--kendo-color-subtle, #6c757d);
}

.es-date-part[b-gd4ns0lmfr] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

.es-date-caption[b-gd4ns0lmfr] {
    display: none;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--kendo-color-subtle, #6c757d);
}

.es-from-to[b-gd4ns0lmfr] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.4rem;
}

.es-to[b-gd4ns0lmfr] {
    color: var(--kendo-color-subtle, #6c757d);
}

.es-date-action[b-gd4ns0lmfr] {
    display: flex;
    justify-content: flex-end;
}

/* ---------- Bild, Kategorie ---------- */
.es-image-preview[b-gd4ns0lmfr] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.es-image-preview img[b-gd4ns0lmfr] {
    max-width: 125px;
    max-height: 250px;
    border: 1px solid var(--kendo-color-border, #ddd);
    border-radius: 0.375rem;
}

.es-image-name[b-gd4ns0lmfr] {
    overflow-wrap: anywhere;
}

.es-category-item[b-gd4ns0lmfr] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.es-category-item img[b-gd4ns0lmfr] {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

/* ---------- Betreuende ---------- */
.es-table[b-gd4ns0lmfr] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.es-table th[b-gd4ns0lmfr],
.es-table td[b-gd4ns0lmfr] {
    text-align: left;
    padding: 0.55rem 0.6rem;
    border-bottom: 1px solid var(--kendo-color-border, #e3e3e3);
    vertical-align: top;
    overflow-wrap: anywhere;
}

.es-table th[b-gd4ns0lmfr] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--kendo-color-subtle, #6c757d);
    background: var(--kendo-color-base-subtle, #f7f8fa);
}

.es-table-action[b-gd4ns0lmfr] {
    width: 3rem;
    text-align: right;
}

/* ---------- Pruefansicht ---------- */
.es-summary[b-gd4ns0lmfr] {
    display: grid;
    grid-template-columns: minmax(10rem, 16rem) minmax(0, 1fr);
    margin: 0 0 1rem;
}

.es-summary:last-child[b-gd4ns0lmfr] {
    margin-bottom: 0;
}

.es-summary dt[b-gd4ns0lmfr],
.es-summary dd[b-gd4ns0lmfr] {
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--kendo-color-border, #eee);
}

.es-summary dt[b-gd4ns0lmfr] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--kendo-color-subtle, #6c757d);
    padding-right: 1rem;
}

.es-summary dd[b-gd4ns0lmfr] {
    margin: 0;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.es-summary dt:nth-last-of-type(1)[b-gd4ns0lmfr],
.es-summary dd:last-child[b-gd4ns0lmfr] {
    border-bottom: 0;
}

.es-yes-no[b-gd4ns0lmfr] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.4rem;
    max-width: 100%;
    white-space: normal;
}

.es-yes-no-icon[b-gd4ns0lmfr] {
    flex: 0 0 auto;
}

.es-yes[b-gd4ns0lmfr] {
    color: var(--kendo-color-success, #37b400);
}

.es-no[b-gd4ns0lmfr] {
    color: var(--kendo-color-subtle, #6c757d);
}

/* ---------- Bestaetigung ---------- */
.es-thanks[b-gd4ns0lmfr] {
    text-align: center;
    padding: 2rem 1.5rem;
}

.es-thanks-icon[b-gd4ns0lmfr] {
    color: var(--kendo-color-success, #37b400);
    margin-bottom: 0.75rem;
}

.es-thanks-icon[b-gd4ns0lmfr]  .k-svg-icon {
    width: 3.5rem;
    height: 3.5rem;
}

.es-thanks-text[b-gd4ns0lmfr] {
    font-size: 1.1rem;
    margin-bottom: 0.75rem;
}

.es-thanks .es-notice[b-gd4ns0lmfr] {
    max-width: 36rem;
    margin: 0 auto 1.25rem;
}

/* ---------- Aktionsleiste (bleibt beim Scrollen unten sichtbar) ---------- */
.es-actions[b-gd4ns0lmfr] {
    position: sticky;
    bottom: 0;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem 1rem;
    flex-wrap: wrap;
    margin-top: 1rem;
    padding: 0.85rem 1.5rem;
    background: var(--kendo-color-surface-alt, #fff);
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-radius: 0.75rem;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06);
}

.es-actions-buttons[b-gd4ns0lmfr] {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
}

/* ---------- Dialog ---------- */
.es-dialog-actions[b-gd4ns0lmfr] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1.25rem;
}

/* ---------- Handy ---------- */
@media (max-width: 767px) {
    .es-header[b-gd4ns0lmfr] {
        margin-bottom: 1rem;
    }

    .es-step[b-gd4ns0lmfr] {
        flex-direction: column;
        gap: 0.25rem;
        font-size: 0.8rem;
    }

    .es-step:not(:last-child)[b-gd4ns0lmfr]::after {
        position: absolute;
        top: 1rem;
        left: calc(50% + 1.25rem);
        right: calc(-50% + 1.25rem);
        margin: 0;
    }

    .es-card[b-gd4ns0lmfr] {
        padding: 1rem;
        border-radius: 0.5rem;
    }

    .es-grid[b-gd4ns0lmfr],
    .es-checks[b-gd4ns0lmfr] {
        grid-template-columns: minmax(0, 1fr);
    }

    .es-check:nth-child(odd)[b-gd4ns0lmfr] {
        border-right: 0;
    }

    .es-import[b-gd4ns0lmfr] {
        grid-template-columns: minmax(0, 1fr);
    }

    .es-date[b-gd4ns0lmfr] {
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 0.75rem;
        border: 1px solid var(--kendo-color-border, #e3e3e3);
        border-radius: 0.5rem;
    }

    .es-date-part[b-gd4ns0lmfr] {
        grid-column: 1;
    }

    .es-date-action[b-gd4ns0lmfr] {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
    }

    .es-date-head[b-gd4ns0lmfr] {
        display: none;
    }

    .es-date-caption[b-gd4ns0lmfr] {
        display: block;
    }

    .es-summary[b-gd4ns0lmfr] {
        grid-template-columns: minmax(0, 1fr);
    }

    .es-summary dt[b-gd4ns0lmfr] {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .es-summary dd[b-gd4ns0lmfr] {
        padding-top: 0.15rem;
    }

    /* Betreuenden-Tabelle als Karten */
    .es-table thead[b-gd4ns0lmfr] {
        display: none;
    }

    .es-table[b-gd4ns0lmfr],
    .es-table tbody[b-gd4ns0lmfr],
    .es-table tr[b-gd4ns0lmfr],
    .es-table td[b-gd4ns0lmfr] {
        display: block;
        width: 100%;
    }

    .es-table tr[b-gd4ns0lmfr] {
        position: relative;
        padding: 0.5rem 0.75rem;
        margin-bottom: 0.5rem;
        border: 1px solid var(--kendo-color-border, #e3e3e3);
        border-radius: 0.5rem;
    }

    .es-table td[b-gd4ns0lmfr] {
        display: grid;
        grid-template-columns: 6rem minmax(0, 1fr);
        gap: 0.5rem;
        padding: 0.25rem 0;
        border: 0;
    }

    .es-table td[data-label][b-gd4ns0lmfr]::before {
        content: attr(data-label);
        font-size: 0.8rem;
        font-weight: 500;
        color: var(--kendo-color-subtle, #6c757d);
    }

    .es-table td.es-table-action[b-gd4ns0lmfr] {
        position: absolute;
        top: 0.25rem;
        right: 0.25rem;
        width: auto;
        display: block;
    }

    .es-actions[b-gd4ns0lmfr] {
        padding: 0.75rem 1rem;
        border-radius: 0.5rem 0.5rem 0 0;
        margin-left: -0.25rem;
        margin-right: -0.25rem;
    }

    .es-actions .es-legend[b-gd4ns0lmfr] {
        order: 2;
        width: 100%;
        font-size: 0.75rem;
    }

    .es-actions-buttons[b-gd4ns0lmfr] {
        flex: 1 1 auto;
    }

    .es-actions-buttons[b-gd4ns0lmfr]  .k-button {
        flex: 1 1 auto;
    }

    .es-dialog-actions[b-gd4ns0lmfr]  .k-button {
        flex: 1 1 0;
    }
}
/* /Components/Pages/Gallery.razor.rz.scp.css */
/* Fotogalerie: Albenuebersicht als Kachelraster, Albumbearbeitung in Abschnitten mit
   Bildliste (Vorschaubild links, Beschreibung und Aktionen rechts; auf dem Handy untereinander). */
.gal-page[b-84vuzrghyy] {
    max-width: 80rem;
}

.gal-intro[b-84vuzrghyy],
.gal-hint[b-84vuzrghyy] {
    color: var(--kendo-color-subtle, #666);
    max-width: 50rem;
}

.gal-toolbar[b-84vuzrghyy] {
    margin-bottom: 1rem;
}

.gal-empty[b-84vuzrghyy] {
    color: var(--kendo-color-subtle, #666);
}

.gal-error[b-84vuzrghyy] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}

.gal-alert[b-84vuzrghyy] {
    margin: 0.75rem 0;
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    background: #fdecea;
    color: #b71c1c;
}

.gal-alert-list[b-84vuzrghyy] {
    padding-left: 1.75rem;
}

.gal-back[b-84vuzrghyy] {
    display: inline-block;
    margin-bottom: 1rem;
    text-decoration: none;
}

/* ---------- Albenuebersicht ---------- */

.gal-albums[b-84vuzrghyy] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 1rem;
}

.gal-album[b-84vuzrghyy] {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-radius: 0.5rem;
    overflow: hidden;
    background: var(--kendo-color-surface-alt, #fff);
    color: inherit;
    text-decoration: none;
}

.gal-album:hover[b-84vuzrghyy] {
    border-color: var(--kendo-color-primary, #0058e9);
}

.gal-album:focus-visible[b-84vuzrghyy] {
    outline: 2px solid var(--kendo-color-primary, #0058e9);
    outline-offset: 2px;
}

.gal-album-thumb[b-84vuzrghyy] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 9rem;
    background: var(--kendo-color-base-subtle, #f0f0f0);
    color: var(--kendo-color-subtle, #666);
}

.gal-album-thumb img[b-84vuzrghyy] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gal-album-body[b-84vuzrghyy] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.625rem 0.75rem;
}

.gal-album-title[b-84vuzrghyy] {
    font-weight: 600;
    overflow-wrap: anywhere;
}

.gal-album-info[b-84vuzrghyy] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.75rem;
    font-size: 0.875rem;
}

.gal-album-date[b-84vuzrghyy] {
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle, #666);
}

.gal-badge[b-84vuzrghyy] {
    display: inline-block;
    padding: 0 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.gal-badge-visible[b-84vuzrghyy] {
    background: #e6f4ea;
    color: #1e6b34;
}

.gal-badge-hidden[b-84vuzrghyy] {
    background: var(--kendo-color-base-subtle, #f0f0f0);
    color: var(--kendo-color-subtle, #666);
}

/* ---------- Albumbearbeitung ---------- */

.gal-panel[b-84vuzrghyy] {
    margin-bottom: 1.25rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-radius: 0.5rem;
    background: var(--kendo-color-surface-alt, #fff);
}

.gal-panel h2[b-84vuzrghyy] {
    font-size: 1.25rem;
    margin: 0 0 0.75rem;
}

.gal-count[b-84vuzrghyy] {
    font-weight: 400;
    color: var(--kendo-color-subtle, #666);
}

.gal-form[b-84vuzrghyy] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-width: 36rem;
}

.gal-field[b-84vuzrghyy] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.gal-check[b-84vuzrghyy] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

.gal-form-actions[b-84vuzrghyy] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.gal-saved[b-84vuzrghyy] {
    color: #1e6b34;
}

.gal-progress[b-84vuzrghyy] {
    margin: 0.5rem 0 0;
    font-weight: 600;
}

.gal-photos[b-84vuzrghyy] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.gal-photo[b-84vuzrghyy] {
    display: flex;
    gap: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--kendo-color-border, #e3e3e3);
}

.gal-photo:last-child[b-84vuzrghyy] {
    border-bottom: none;
    padding-bottom: 0;
}

.gal-photo-thumb[b-84vuzrghyy] {
    flex: 0 0 auto;
    width: 8rem;
    padding: 0;
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-radius: 0.375rem;
    overflow: hidden;
    background: none;
    cursor: zoom-in;
    align-self: flex-start;
}

.gal-photo-thumb:focus-visible[b-84vuzrghyy] {
    outline: 2px solid var(--kendo-color-primary, #0058e9);
    outline-offset: 2px;
}

.gal-photo-thumb img[b-84vuzrghyy] {
    display: block;
    width: 100%;
    height: auto;
}

.gal-photo-body[b-84vuzrghyy] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    flex: 1 1 auto;
    min-width: 0;
}

.gal-photo-caption[b-84vuzrghyy] {
    margin: 0;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.gal-photo-caption-empty[b-84vuzrghyy] {
    color: var(--kendo-color-subtle, #666);
    font-style: italic;
}

.gal-photo-meta[b-84vuzrghyy] {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.75rem;
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle, #666);
}

.gal-photo-actions[b-84vuzrghyy] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.gal-preview[b-84vuzrghyy] {
    margin: 0;
    text-align: center;
}

.gal-preview img[b-84vuzrghyy] {
    max-width: 100%;
    height: auto;
}

.gal-preview figcaption[b-84vuzrghyy] {
    margin-top: 0.5rem;
    white-space: pre-line;
}

@media (max-width: 575.98px) {
    .gal-photo[b-84vuzrghyy] {
        flex-direction: column;
    }

    .gal-photo-thumb[b-84vuzrghyy] {
        width: 100%;
        max-width: 20rem;
    }
}
/* /Components/Pages/Help.razor.rz.scp.css */
/* Hilfe: gut lesbare Textbreite, Inhaltsverzeichnis als umbrechende Link-Leiste, Abschnitte
   mit Trennlinie. Farben aus den Kendo-Theme-Variablen. */
.hlp-page[b-6c6hle9s60] {
    max-width: 48rem;
    line-height: 1.55;
}

.hlp-intro[b-6c6hle9s60] {
    font-size: 1.05rem;
    margin: 0 0 1.25rem;
}

.hlp-toc[b-6c6hle9s60] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.hlp-toc a[b-6c6hle9s60] {
    padding: 0.3rem 0.8rem;
    border: 1px solid var(--kendo-color-border, #dee2e6);
    border-radius: 999px;
    font-size: 0.9rem;
    text-decoration: none;
    color: var(--kendo-color-primary, #0d6efd);
}

.hlp-toc a:hover[b-6c6hle9s60],
.hlp-toc a:focus-visible[b-6c6hle9s60] {
    background: var(--kendo-color-base-subtle, #f0f4f8);
}

.hlp-section[b-6c6hle9s60] {
    padding-top: 1.25rem;
    margin-top: 1.25rem;
    border-top: 1px solid var(--kendo-color-border, #dee2e6);
    /* Sprungziel nicht unter der App-Leiste verstecken. */
    scroll-margin-top: 4.5rem;
}

h2[b-6c6hle9s60] {
    font-size: 1.3rem;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

h3[b-6c6hle9s60] {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 1.1rem 0 0.35rem;
}

p[b-6c6hle9s60] {
    margin: 0 0 0.75rem;
}

.hlp-list[b-6c6hle9s60],
.hlp-steps[b-6c6hle9s60] {
    margin: 0 0 0.75rem;
    padding-left: 1.4rem;
}

.hlp-list li[b-6c6hle9s60],
.hlp-steps li[b-6c6hle9s60] {
    margin-bottom: 0.35rem;
}

/* Beschriftungen von Schaltflaechen und Feldern, wie sie auf den Seiten stehen. */
.hlp-ui[b-6c6hle9s60] {
    font-weight: 600;
    white-space: nowrap;
}

.hlp-ui[b-6c6hle9s60]::before {
    content: "\201E";
}

.hlp-ui[b-6c6hle9s60]::after {
    content: "\201C";
}

.hlp-badge[b-6c6hle9s60] {
    display: inline-block;
    padding: 0 0.5rem;
    border-radius: 999px;
    font-size: 0.8rem;
    line-height: 1.5;
    background: var(--kendo-color-base-subtle, #e9ecef);
    color: var(--kendo-color-on-base, #212529);
}

.hlp-required[b-6c6hle9s60] {
    color: var(--kendo-color-error, #dc3545);
    font-weight: 600;
}

.hlp-note[b-6c6hle9s60] {
    padding: 0.6rem 0.9rem;
    border-left: 3px solid var(--kendo-color-info, #0dcaf0);
    background: var(--kendo-color-info-subtle, #e7f6fb);
    border-radius: 0.25rem;
    font-size: 0.95rem;
}

.hlp-faq[b-6c6hle9s60] {
    margin: 0 0 0.75rem;
}

.hlp-faq dt[b-6c6hle9s60] {
    font-weight: 600;
    margin-top: 0.75rem;
}

.hlp-faq dd[b-6c6hle9s60] {
    margin: 0.2rem 0 0 1rem;
}

/* Lange Beschriftungen auf dem Handy umbrechen lassen. */
@media (max-width: 600px) {
    .hlp-ui[b-6c6hle9s60] {
        white-space: normal;
    }
}
/* /Components/Pages/Imprint.razor.rz.scp.css */
/* Impressum: gut lesbare Textbreite wie die Hilfe, Abschnitte mit Trennlinie. Der Inhalt aus
   Impressum.txt kommt als MarkupString und wird deshalb ueber ::deep gestylt. Farben aus den
   Kendo-Theme-Variablen. */
.imp-page[b-9ahndxm7yt] {
    max-width: 48rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.imp-section[b-9ahndxm7yt] {
    padding-top: 1.25rem;
    margin-top: 1.25rem;
    border-top: 1px solid var(--kendo-color-border, #dee2e6);
}

h2[b-9ahndxm7yt] {
    font-size: 1.3rem;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

h3[b-9ahndxm7yt] {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 1.1rem 0 0.35rem;
}

p[b-9ahndxm7yt] {
    margin: 0 0 0.75rem;
}

.imp-custom[b-9ahndxm7yt]  .row {
    margin-bottom: 0.25rem;
}

.imp-custom[b-9ahndxm7yt]  p {
    margin: 0 0 0.5rem;
}

.imp-concept[b-9ahndxm7yt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 2rem;
}

.imp-contact[b-9ahndxm7yt] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.2rem 0.75rem;
    margin: 0;
}

.imp-contact dd[b-9ahndxm7yt] {
    margin: 0;
}

.imp-logo img[b-9ahndxm7yt] {
    display: block;
    width: 10rem;
    max-width: 100%;
    height: auto;
}

/* Rechtstext kleiner und im Blocksatz wie in FeonaTS. */
.imp-disclaimer p[b-9ahndxm7yt] {
    font-size: 0.875rem;
    text-align: justify;
    hyphens: auto;
}

.imp-note[b-9ahndxm7yt] {
    padding: 0.6rem 0.9rem;
    border-left: 3px solid var(--kendo-color-info, #0dcaf0);
    background: var(--kendo-color-info-subtle, #e7f6fb);
    border-radius: 0.25rem;
    font-size: 0.95rem;
}
/* /Components/Pages/Messages.razor.rz.scp.css */
/* Mitteilungen: Liste der Veranstaltungen links, Verlauf rechts. Unter 800px wird nur eine Spalte
   angezeigt - ohne Auswahl die Liste, mit Auswahl der Verlauf (mit Link zurueck zur Liste). */
.msg-page[b-7np01w5i5f] {
    max-width: 80rem;
}

.msg-intro[b-7np01w5i5f] {
    color: var(--kendo-color-subtle, #666);
    max-width: 50rem;
}

.msg-layout[b-7np01w5i5f] {
    display: grid;
    grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

/* ---------- Liste ---------- */

.msg-list[b-7np01w5i5f] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.msg-toolbar[b-7np01w5i5f] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.msg-check[b-7np01w5i5f] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

.msg-unread-total[b-7np01w5i5f] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--kendo-color-primary, #0058e9);
}

.msg-list[b-7np01w5i5f] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: calc(100vh - 16rem);
    overflow-y: auto;
}

.msg-list-item[b-7np01w5i5f] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-radius: 0.5rem;
    background: var(--kendo-color-surface-alt, #fff);
    color: inherit;
    text-decoration: none;
}

.msg-list-item:hover[b-7np01w5i5f] {
    border-color: var(--kendo-color-primary, #0058e9);
}

.msg-list-item:focus-visible[b-7np01w5i5f] {
    outline: 2px solid var(--kendo-color-primary, #0058e9);
    outline-offset: 2px;
}

.msg-list-item-active[b-7np01w5i5f] {
    border-color: var(--kendo-color-primary, #0058e9);
    box-shadow: inset 4px 0 0 var(--kendo-color-primary, #0058e9);
}

.msg-list-head[b-7np01w5i5f] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle, #666);
}

.msg-list-title[b-7np01w5i5f] {
    font-weight: 600;
    overflow-wrap: anywhere;
}

.msg-list-item-unread .msg-list-title[b-7np01w5i5f] {
    color: var(--kendo-color-primary, #0058e9);
}

.msg-list-info[b-7np01w5i5f] {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.75rem;
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle, #666);
}

.msg-cancelled[b-7np01w5i5f] {
    color: #b71c1c;
    font-weight: 600;
}

.msg-badge[b-7np01w5i5f] {
    display: inline-block;
    padding: 0 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.msg-badge-new[b-7np01w5i5f] {
    margin-left: auto;
    background: var(--kendo-color-primary, #0058e9);
    color: var(--kendo-color-on-primary, #fff);
}

/* ---------- Verlauf ---------- */

.msg-detail[b-7np01w5i5f] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-radius: 0.5rem;
    background: var(--kendo-color-surface-alt, #fff);
}

.msg-placeholder[b-7np01w5i5f],
.msg-detail-status[b-7np01w5i5f] {
    padding: 2rem 1.25rem;
    color: var(--kendo-color-subtle, #666);
}

.msg-detail-status[b-7np01w5i5f] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

.msg-detail-head[b-7np01w5i5f] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.875rem 1rem;
    border-bottom: 1px solid var(--kendo-color-border, #e3e3e3);
}

.msg-detail-title-row[b-7np01w5i5f] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

.msg-detail-title[b-7np01w5i5f] {
    margin: 0;
    font-size: 1.125rem;
    overflow-wrap: anywhere;
}

.msg-detail-number[b-7np01w5i5f] {
    font-weight: 400;
    color: var(--kendo-color-subtle, #666);
}

.msg-detail-date[b-7np01w5i5f] {
    font-size: 0.875rem;
    color: var(--kendo-color-subtle, #666);
}

.msg-back[b-7np01w5i5f] {
    display: none;
    font-size: 0.875rem;
}

.msg-thread[b-7np01w5i5f] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
    min-height: 12rem;
    max-height: calc(100vh - 30rem);
    overflow-y: auto;
    background: var(--kendo-color-base-subtle, #f7f8fa);
}

.msg-thread-empty[b-7np01w5i5f] {
    margin: auto 0;
    text-align: center;
    color: var(--kendo-color-subtle, #666);
}

.msg-message[b-7np01w5i5f] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-width: min(36rem, 85%);
    padding: 0.5rem 0.75rem;
    border-radius: 0.75rem;
}

.msg-message-admin[b-7np01w5i5f] {
    align-self: flex-start;
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-bottom-left-radius: 0.25rem;
    background: var(--kendo-color-surface-alt, #fff);
}

.msg-message-new[b-7np01w5i5f] {
    border-color: var(--kendo-color-primary, #0058e9);
}

.msg-message-own[b-7np01w5i5f] {
    align-self: flex-end;
    border-bottom-right-radius: 0.25rem;
    background: #e3eefc;
}

.msg-message-sender[b-7np01w5i5f] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kendo-color-subtle, #666);
}

.msg-message-text[b-7np01w5i5f] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.msg-message-footer[b-7np01w5i5f] {
    display: flex;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--kendo-color-subtle, #666);
}

.msg-message-own .msg-message-footer[b-7np01w5i5f] {
    justify-content: flex-end;
}

.msg-new[b-7np01w5i5f] {
    font-weight: 600;
    color: var(--kendo-color-primary, #0058e9);
}

/* ---------- Eingabe ---------- */

.msg-input[b-7np01w5i5f] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding: 0.875rem 1rem 1rem;
    border-top: 1px solid var(--kendo-color-border, #e3e3e3);
}

.msg-input-label[b-7np01w5i5f] {
    font-weight: 600;
    font-size: 0.875rem;
}

.msg-input-footer[b-7np01w5i5f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.msg-chars[b-7np01w5i5f] {
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle, #666);
}

.msg-chars-exceeded[b-7np01w5i5f],
.msg-send-error[b-7np01w5i5f] {
    color: #b71c1c;
}

.msg-send-error[b-7np01w5i5f] {
    font-size: 0.875rem;
}

.msg-error[b-7np01w5i5f] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

.msg-empty[b-7np01w5i5f] {
    color: var(--kendo-color-subtle, #666);
}

@media (max-width: 800px) {
    .msg-layout[b-7np01w5i5f] {
        grid-template-columns: minmax(0, 1fr);
    }

    .msg-layout-list .msg-detail[b-7np01w5i5f],
    .msg-layout-detail .msg-list[b-7np01w5i5f] {
        display: none;
    }

    .msg-back[b-7np01w5i5f] {
        display: inline;
    }

    .msg-list[b-7np01w5i5f] {
        max-height: none;
    }

    .msg-thread[b-7np01w5i5f] {
        max-height: 60vh;
    }
}
/* /Components/Pages/MyAccount.razor.rz.scp.css */
/* Abschnitte "Veranstaltende", "Anmeldename" und "Kennwort": schmale Formulare, damit die Felder
   auch auf Desktop nicht ueber die volle Inhaltsbreite laufen. Farben aus den Kendo-Theme-Variablen. */
.account-section[b-d5t9kk26ig] {
    max-width: 28rem;
    margin-top: 1.5rem;
}

.account-section + .account-section[b-d5t9kk26ig] {
    margin-top: 2.5rem;
}

h2[b-d5t9kk26ig] {
    font-size: 1.15rem;
    font-weight: 600;
    margin: 0 0 0.25rem;
}

h3[b-d5t9kk26ig] {
    font-size: 1rem;
    font-weight: 600;
    margin: 1.75rem 0 0.75rem;
}

.account-hint[b-d5t9kk26ig] {
    font-size: 0.9rem;
    color: var(--kendo-color-subtle, #6c757d);
    margin: 0 0 1.25rem;
}

.account-hint-inline[b-d5t9kk26ig] {
    margin: 0.35rem 0 0;
}

.account-message[b-d5t9kk26ig] {
    margin-bottom: 1.25rem;
}

.account-message ul[b-d5t9kk26ig] {
    margin: 0.5rem 0 0;
    padding-left: 1.25rem;
}

.account-verify[b-d5t9kk26ig] {
    max-width: 28rem;
    margin-top: 1.5rem;
}

.account-verify p[b-d5t9kk26ig] {
    margin: 0 0 0.75rem;
}

.account-field[b-d5t9kk26ig] {
    margin-bottom: 1.1rem;
}

.account-field label[b-d5t9kk26ig] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 0.35rem;
}

/* PLZ und Ort nebeneinander, auch auf dem Handy (die PLZ ist kurz). */
.account-row[b-d5t9kk26ig] {
    display: flex;
    gap: 0.75rem;
}

.account-field-plz[b-d5t9kk26ig] {
    flex: 0 0 6.5rem;
}

.account-field-grow[b-d5t9kk26ig] {
    flex: 1 1 auto;
    min-width: 0;
}

.account-confirm[b-d5t9kk26ig] {
    padding: 0.75rem;
    border-left: 3px solid var(--kendo-color-primary, #0d6efd);
    background: var(--kendo-color-base-subtle, #f5f5f5);
}

.account-required[b-d5t9kk26ig] {
    color: var(--kendo-color-error, #e50000);
    font-weight: 700;
}

.account-field-error[b-d5t9kk26ig] {
    display: block;
    margin-top: 0.3rem;
    color: var(--kendo-color-error, #b91c1c);
    font-size: 0.875rem;
}

.account-field-invalid[b-d5t9kk26ig]  .k-input {
    border-color: var(--kendo-color-error, #b91c1c);
}
/* /Components/Pages/ParticipantLists.razor.rz.scp.css */
/* Teilnahmelisten: eine Karte je Veranstaltung mit Kopf (Termin, Ort, Belegung) und Tabelle. */
.pl-page[b-gs8m48l089] {
    max-width: 72rem;
}

.pl-organizer[b-gs8m48l089] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    margin-bottom: 1rem;
}

.pl-toolbar[b-gs8m48l089] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
    margin-bottom: 1rem;
}

.pl-check[b-gs8m48l089] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

.pl-count[b-gs8m48l089] {
    margin-left: auto;
    color: var(--kendo-color-subtle, #666);
    font-size: 0.875rem;
}

.pl-list[b-gs8m48l089] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pl-item[b-gs8m48l089] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border: 1px solid var(--kendo-color-border, #e3e3e3);
    border-radius: 0.5rem;
    background: var(--kendo-color-surface-alt, #fff);
    min-width: 0;
}

.pl-item-past[b-gs8m48l089] {
    opacity: 0.75;
}

.pl-item-cancelled[b-gs8m48l089] {
    border-left: 4px solid var(--kendo-color-error, #d32f2f);
}

.pl-head[b-gs8m48l089] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.pl-title-row[b-gs8m48l089] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.375rem;
}

.pl-title[b-gs8m48l089] {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.pl-pdf[b-gs8m48l089] {
    margin-left: auto;
}

.pl-pdf-error[b-gs8m48l089] {
    margin: 0 0 1rem;
    color: var(--kendo-color-error, #d32f2f);
}

.pl-number[b-gs8m48l089] {
    color: var(--kendo-color-subtle, #666);
}

.pl-meta[b-gs8m48l089] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.5rem;
    font-size: 0.875rem;
    color: var(--kendo-color-subtle, #666);
}

.pl-multiline[b-gs8m48l089] {
    white-space: pre-line;
}

.pl-occupancy[b-gs8m48l089] {
    font-weight: 600;
    color: inherit;
}

.pl-badge[b-gs8m48l089] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
}

.pl-badge-cancelled[b-gs8m48l089],
.pl-notice-cancelled[b-gs8m48l089] {
    background: #fdecea;
    color: #b71c1c;
}

.pl-notice-cancelled[b-gs8m48l089] {
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
}

/* Breite Tabellen scrollen innerhalb der Karte statt die Seite zu verbreitern. */
.pl-table-wrap[b-gs8m48l089] {
    overflow-x: auto;
}

.pl-none[b-gs8m48l089] {
    margin: 0;
    font-size: 0.875rem;
    color: var(--kendo-color-subtle, #666);
}

.pl-waiting > summary[b-gs8m48l089] {
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--kendo-color-primary, #0058e9);
    margin-bottom: 0.5rem;
}

.pl-error[b-gs8m48l089] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

.pl-empty[b-gs8m48l089],
.pl-footnote[b-gs8m48l089] {
    color: var(--kendo-color-subtle, #666);
}

.pl-footnote[b-gs8m48l089] {
    margin-top: 1.5rem;
    font-size: 0.875rem;
}

@media (max-width: 600px) {
    .pl-count[b-gs8m48l089] {
        margin-left: 0;
    }

    .pl-toolbar[b-gs8m48l089]  .k-textbox {
        width: 100% !important;
    }
}
/* /Components/Pages/Privacy.razor.rz.scp.css */
/* Datenschutzerklaerung: gut lesbare Textbreite wie die Hilfe. Der Text kommt als MarkupString
   und wird deshalb ueber ::deep gestylt. Farben aus den Kendo-Theme-Variablen. */
.prv-page[b-crao5wdx70] {
    max-width: 48rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.prv-content[b-crao5wdx70]  h1,
.prv-content[b-crao5wdx70]  h2,
.prv-content[b-crao5wdx70]  h3,
.prv-content[b-crao5wdx70]  h4 {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 1.25rem 0 0.4rem;
}

.prv-content[b-crao5wdx70]  p {
    margin: 0 0 0.75rem;
}

.prv-content[b-crao5wdx70]  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

.prv-note[b-crao5wdx70] {
    padding: 0.6rem 0.9rem;
    border-left: 3px solid var(--kendo-color-info, #0dcaf0);
    background: var(--kendo-color-info-subtle, #e7f6fb);
    border-radius: 0.25rem;
    font-size: 0.95rem;
}
/* /Components/Shared/EventMessageForm.razor.rz.scp.css */
/* Kurzformular "Mitteilung an die Verwaltung" in der Veranstaltungsübersicht. */
.emf[b-8plyuk0rhi] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding-top: 0.75rem;
    border-top: 1px dashed var(--kendo-color-border, #e3e3e3);
}

.emf-label[b-8plyuk0rhi] {
    font-weight: 600;
    font-size: 0.875rem;
}

.emf-footer[b-8plyuk0rhi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.emf-chars[b-8plyuk0rhi] {
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle, #666);
}

.emf-chars-exceeded[b-8plyuk0rhi],
.emf-error[b-8plyuk0rhi] {
    color: #b71c1c;
}

.emf-error[b-8plyuk0rhi],
.emf-success[b-8plyuk0rhi] {
    font-size: 0.875rem;
}

.emf-success[b-8plyuk0rhi] {
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    background: #e8f5e9;
    color: #1b5e20;
}
/* /Components/Shared/ParticipantTable.razor.rz.scp.css */
/* Teilnehmertabelle: auf breiten Bildschirmen Tabelle, auf schmalen eine Karte je Person. */
.pt-table[b-pruzfeui2d] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.pt-table th[b-pruzfeui2d],
.pt-table td[b-pruzfeui2d] {
    padding: 0.375rem 0.5rem;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--kendo-color-border, #e3e3e3);
}

.pt-table th[b-pruzfeui2d] {
    font-weight: 600;
    color: var(--kendo-color-subtle, #666);
    white-space: nowrap;
}

.pt-table tbody tr:nth-child(even)[b-pruzfeui2d] {
    background: var(--kendo-color-base-subtle, #f7f8fa);
}

.pt-col-nr[b-pruzfeui2d] {
    width: 2.5rem;
    text-align: right;
}

.pt-name[b-pruzfeui2d] {
    font-weight: 600;
}

.pt-multiline[b-pruzfeui2d] {
    white-space: pre-line;
}

.pt-notes[b-pruzfeui2d] {
    min-width: 12rem;
}

.pt-sr-only[b-pruzfeui2d] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 700px) {
    .pt-table thead[b-pruzfeui2d] {
        display: none;
    }

    .pt-table tr[b-pruzfeui2d] {
        display: block;
        padding: 0.5rem 0;
        border-bottom: 1px solid var(--kendo-color-border, #e3e3e3);
    }

    .pt-table td[b-pruzfeui2d] {
        display: grid;
        grid-template-columns: 7rem minmax(0, 1fr);
        gap: 0.5rem;
        padding: 0.125rem 0.5rem;
        border-bottom: none;
        text-align: left;
    }

    .pt-table td[b-pruzfeui2d]::before {
        content: attr(data-label);
        font-weight: 600;
        color: var(--kendo-color-subtle, #666);
    }

    .pt-table td:empty[b-pruzfeui2d] {
        display: none;
    }

    .pt-col-nr[b-pruzfeui2d] {
        width: auto;
    }

    .pt-notes[b-pruzfeui2d] {
        min-width: 0;
    }
}
/* /Components/Shared/QrScanner.razor.rz.scp.css */
/* Kamerabild für den QR-Scan: quadratisch, höchstens so breit wie die Seite, mit Zielrahmen. */
.qr-scanner[b-j5yxhumzzk] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.qr-viewport[b-j5yxhumzzk] {
    position: relative;
    width: 100%;
    max-width: 24rem;
    aspect-ratio: 1;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 0.5rem;
    background: #000;
}

.qr-video[b-j5yxhumzzk] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.qr-frame[b-j5yxhumzzk] {
    position: absolute;
    inset: 15%;
    border: 3px solid rgba(255, 255, 255, 0.9);
    border-radius: 0.75rem;
    box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.35);
    pointer-events: none;
}

.qr-state[b-j5yxhumzzk] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 1rem;
    color: #fff;
    text-align: center;
}

.qr-state-error[b-j5yxhumzzk] {
    background: var(--kendo-color-surface-alt, #f5f5f5);
    color: var(--kendo-color-error, #d32f2f);
}

.qr-footer[b-j5yxhumzzk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.qr-hint[b-j5yxhumzzk] {
    font-size: 0.875rem;
    color: var(--kendo-color-subtle, #666);
}
