/* /Components/Account/ProfileSetupDialog.razor.rz.scp.css */
.steps[b-agikcp6e05] {
    display: flex;
    gap: var(--space-4);
    margin: 0 0 var(--space-4);
    padding: 0 0 var(--space-3);
    border-bottom: 1px solid var(--line);
    list-style: none;
    font-size: .8rem;
    font-weight: 600;
    color: var(--ink-400);
}

.steps .is-active[b-agikcp6e05] {
    color: var(--brand-600);
}

.steps .is-done[b-agikcp6e05] {
    color: var(--ink-500);
}

.setup-error[b-agikcp6e05] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: var(--space-3);
    padding: .65rem .8rem;
    font-size: .875rem;
    color: var(--danger);
    background: var(--danger-bg);
    border: 1px solid var(--danger);
    border-radius: var(--radius-sm);
}

.form-row[b-agikcp6e05] {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 1fr 1fr;
}

.form-row--street[b-agikcp6e05] {
    grid-template-columns: 2fr 1fr;
}

.form-row--city[b-agikcp6e05] {
    grid-template-columns: 1fr 2fr;
}

@media (max-width: 560px) {
    .form-row[b-agikcp6e05],
    .form-row--street[b-agikcp6e05],
    .form-row--city[b-agikcp6e05] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Common/AppCard.razor.rz.scp.css */
.card[b-13h13cxemg] {
    display: flex;
    flex-direction: column;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-1);
    overflow: hidden;
    transition: box-shadow var(--transition);
}

.card:hover[b-13h13cxemg] {
    box-shadow: var(--shadow-2);
}

.card-head[b-13h13cxemg] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    justify-content: space-between;
    padding: .85rem 1.25rem;
    background: var(--brand-500);
    color: var(--on-brand);
}

.card-head-title[b-13h13cxemg] {
    display: flex;
    align-items: center;
    gap: .6rem;
    min-width: 0;
}

.card-title[b-13h13cxemg] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--on-brand);
    letter-spacing: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.card-count[b-13h13cxemg] {
    padding: .05rem .5rem;
    font-size: .75rem;
    font-weight: 700;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, .22);
}

.card-head-actions[b-13h13cxemg] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex: none;
}

/* Buttons im farbigen Kopf werden aufgehellt statt eingefaerbt */
.card-head-actions[b-13h13cxemg]  .btn--outline,
.card-head-actions[b-13h13cxemg]  .btn--ghost {
    background: rgba(255, 255, 255, .14);
    border-color: rgba(255, 255, 255, .45);
    color: var(--on-brand);
}

.card-head-actions[b-13h13cxemg]  .btn--outline:hover,
.card-head-actions[b-13h13cxemg]  .btn--ghost:hover {
    background: rgba(255, 255, 255, .26);
    border-color: #fff;
    color: var(--on-brand);
}

.card-toolbar[b-13h13cxemg] {
    padding: .85rem 1.25rem;
    border-bottom: 1px solid var(--line);
    background: var(--surface-muted);
}

.card-body[b-13h13cxemg] {
    padding: 1.25rem;
    flex: 1;
}

.card--flush .card-body[b-13h13cxemg] {
    padding: 0;
}

.card-foot[b-13h13cxemg] {
    padding: .75rem 1.25rem;
    border-top: 1px solid var(--line);
    background: var(--surface-muted);
}

@media (max-width: 720px) {
    .card-head[b-13h13cxemg] {
        flex-wrap: wrap;
        row-gap: var(--space-2);
        padding: .75rem 1rem;
    }

    .card-body[b-13h13cxemg], .card-toolbar[b-13h13cxemg], .card-foot[b-13h13cxemg] {
        padding: 1rem;
    }

    .card-title[b-13h13cxemg] {
        white-space: normal;
    }
}
/* /Components/Common/Dialog.razor.rz.scp.css */
.overlay[b-u42nzfddy1] {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    padding: var(--space-4);
    background: rgba(27, 34, 49, .45);
    animation: fade-in-b-u42nzfddy1 120ms ease-out;
}

.dialog[b-u42nzfddy1] {
    width: min(540px, 100%);
    max-height: calc(100dvh - 2 * var(--space-4));
    display: flex;
    flex-direction: column;
    background: var(--surface);
    border-radius: var(--radius);
    box-shadow: var(--shadow-3);
    animation: dialog-in-b-u42nzfddy1 140ms ease-out;
}

.dialog-head[b-u42nzfddy1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: .85rem 1.25rem;
    background: var(--brand-500);
    color: var(--on-brand);
    border-radius: var(--radius) var(--radius) 0 0;
}

.dialog-title[b-u42nzfddy1] {
    margin: 0;
    font-size: 1.05rem;
    color: var(--on-brand);
}

.dialog-close[b-u42nzfddy1] {
    display: grid;
    place-items: center;
    padding: .25rem;
    background: transparent;
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--on-brand);
    cursor: pointer;
}

.dialog-close:hover[b-u42nzfddy1] {
    background: rgba(255, 255, 255, .18);
}

.dialog-body[b-u42nzfddy1] {
    padding: 1.25rem;
    min-width: 0;
    overflow-y: auto;
}

.dialog-foot[b-u42nzfddy1] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-3);
    padding: .85rem 1.25rem;
    border-top: 1px solid var(--line);
    background: var(--surface-muted);
    border-radius: 0 0 var(--radius) var(--radius);
}

@keyframes fade-in-b-u42nzfddy1 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes dialog-in-b-u42nzfddy1 {
    from { opacity: 0; transform: translateY(8px) scale(.98); }
    to { opacity: 1; transform: none; }
}

@media (max-width: 560px) {
    .dialog-foot[b-u42nzfddy1] {
        flex-direction: column-reverse;
    }

    .dialog-foot[b-u42nzfddy1]  .btn {
        width: 100%;
    }
}
/* /Components/Common/InfoCard.razor.rz.scp.css */
.info[b-dczyzz3qnk] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
    padding: 1.4rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-1);
    transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}

.info:hover[b-dczyzz3qnk] {
    box-shadow: var(--shadow-2);
    border-color: var(--brand-200);
    transform: translateY(-2px);
}

.info-icon[b-dczyzz3qnk] {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-bottom: .25rem;
    border-radius: var(--radius-sm);
    background: var(--brand-50);
    color: var(--brand-600);
}

.info-title[b-dczyzz3qnk] {
    margin: 0;
    font-size: 1.1rem;
}

.info-text[b-dczyzz3qnk] {
    margin: 0;
    font-size: .925rem;
    color: var(--ink-500);
}

.info-extra[b-dczyzz3qnk] {
    width: 100%;
}

.info-link[b-dczyzz3qnk] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    margin-top: auto;
    padding-top: .6rem;
    font-size: .875rem;
    font-weight: 600;
    color: var(--brand-600);
}

.info-link:hover[b-dczyzz3qnk] {
    text-decoration: none;
    gap: .45rem;
}
/* /Components/Common/SearchField.razor.rz.scp.css */
.search[b-glgoili1g9] {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.search-icon[b-glgoili1g9] {
    position: absolute;
    left: .7rem;
    display: grid;
    place-items: center;
    color: var(--ink-400);
    pointer-events: none;
}

.search-input[b-glgoili1g9] {
    padding-left: 2.2rem;
}

.search-input[b-glgoili1g9]::-webkit-search-cancel-button {
    cursor: pointer;
}
/* /Components/Common/StatTile.razor.rz.scp.css */
.tile[b-gxsc44qdh8] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: 1rem 1.1rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-1);
}

.tile-icon[b-gxsc44qdh8] {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: none;
    border-radius: var(--radius-sm);
    background: var(--brand-50);
    color: var(--brand-600);
}

.tile-body[b-gxsc44qdh8] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.tile-label[b-gxsc44qdh8] {
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ink-500);
}

.tile-value[b-gxsc44qdh8] {
    font-size: 1.6rem;
    font-weight: 650;
    line-height: 1.15;
    color: var(--ink-900);
}

.tile-hint[b-gxsc44qdh8] {
    font-size: .8rem;
    color: var(--ink-400);
}
/* /Components/Dashboard/AdminDashboard.razor.rz.scp.css */
.toolbar-search[b-p9044w5lyt] {
    flex: 1 1 280px;
    max-width: 380px;
}

/* Zweizeilige Tabellenzelle: Titel + Zusatz */
.cell-title[b-p9044w5lyt] {
    display: block;
    font-weight: 600;
    color: var(--ink-900);
}

.cell-sub[b-p9044w5lyt] {
    display: block;
    font-size: .8rem;
    color: var(--ink-500);
}

/* Kompakte Liste in schmalen Karten */
.mini-list[b-p9044w5lyt] {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mini-list li[b-p9044w5lyt] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .8rem 1.25rem;
    border-bottom: 1px solid var(--line);
}

.mini-list li:last-child[b-p9044w5lyt] {
    border-bottom: 0;
}

.mini-icon[b-p9044w5lyt] {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: none;
    border-radius: var(--radius-sm);
    background: var(--brand-50);
    color: var(--brand-600);
}

.mini-body[b-p9044w5lyt] {
    min-width: 0;
}
/* /Components/Dashboard/ParticipantDashboard.razor.rz.scp.css */
.cell-link[b-cfbsif5m7i] {
    font-weight: 600;
    color: var(--ink-900);
    text-decoration: none;
}

.cell-link:hover[b-cfbsif5m7i] {
    color: var(--brand-600);
    text-decoration: underline;
}

.cell-sub[b-cfbsif5m7i] {
    display: block;
    margin-top: .1rem;
    font-size: .8rem;
    color: var(--ink-500);
}
/* /Components/Feedback/EmptyState.razor.rz.scp.css */
.empty[b-kchbbddbf1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    padding: 2.5rem 1.25rem;
    text-align: center;
}

.empty--compact[b-kchbbddbf1] {
    padding: 1.25rem;
}

.empty-icon[b-kchbbddbf1] {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: .35rem;
    border-radius: 50%;
    background: var(--surface-muted);
    color: var(--ink-400);
}

.empty--compact .empty-icon[b-kchbbddbf1] {
    width: 38px;
    height: 38px;
}

.empty-title[b-kchbbddbf1] {
    margin: 0;
    font-weight: 600;
    color: var(--ink-700);
}

.empty-text[b-kchbbddbf1] {
    margin: 0;
    max-width: 42ch;
    font-size: .9rem;
    color: var(--ink-500);
}

.empty-actions[b-kchbbddbf1] {
    margin-top: .6rem;
}
/* /Components/Feedback/LoadingState.razor.rz.scp.css */
.loading[b-23mdp9soj6] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: 2.5rem 1rem;
    color: var(--ink-500);
}

.loading-spinner[b-23mdp9soj6] {
    width: 18px;
    height: 18px;
    border: 2px solid var(--brand-100);
    border-top-color: var(--brand-500);
    border-radius: 50%;
    animation: spin-b-23mdp9soj6 700ms linear infinite;
}

.loading-text[b-23mdp9soj6] {
    font-size: .925rem;
}

@keyframes spin-b-23mdp9soj6 {
    to { transform: rotate(360deg); }
}
/* /Components/Feedback/ToastHost.razor.rz.scp.css */
.toast-host[b-f7o2ac9nha] {
    position: fixed;
    inset: auto 1rem 1rem auto;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    gap: .6rem;
    width: min(380px, calc(100vw - 2rem));
    pointer-events: none;
}

.toast[b-f7o2ac9nha] {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: .8rem .9rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-left: 4px solid var(--ink-400);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-3);
    pointer-events: auto;
    animation: toast-in-b-f7o2ac9nha 180ms ease-out;
}

.toast--info[b-f7o2ac9nha]    { border-left-color: var(--info);    color: var(--ink-900); }
.toast--success[b-f7o2ac9nha] { border-left-color: var(--success); color: var(--success); }
.toast--warning[b-f7o2ac9nha] { border-left-color: var(--warning); color: var(--warning); }
.toast--error[b-f7o2ac9nha]   { border-left-color: var(--danger);  color: var(--danger); }

.toast-icon[b-f7o2ac9nha] {
    display: grid;
    place-items: center;
    padding-top: .1rem;
    flex: none;
}

.toast-text[b-f7o2ac9nha] {
    flex: 1;
    font-size: .9rem;
    font-weight: 500;
    color: inherit;
}

.toast-close[b-f7o2ac9nha] {
    display: grid;
    place-items: center;
    padding: .15rem;
    flex: none;
    background: none;
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--ink-400);
    cursor: pointer;
}

.toast-close:hover[b-f7o2ac9nha] {
    background: var(--surface-muted);
    color: var(--ink-700);
}

@keyframes toast-in-b-f7o2ac9nha {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: none; }
}

@media (max-width: 720px) {
    .toast-host[b-f7o2ac9nha] {
        inset: auto .75rem .75rem .75rem;
        width: auto;
    }
}
/* /Components/Navigation/NavDropdown.razor.rz.scp.css */
.dropdown[b-5r0fj8d8mo] {
    position: relative;
    display: flex;
}

.dropdown-toggle[b-5r0fj8d8mo] {
    /* Schriftgroesse und -staerke kommen aus .topnav-link */
    font-family: inherit;
    cursor: pointer;
}

.dropdown-caret[b-5r0fj8d8mo] {
    transition: transform var(--transition);
}

.dropdown-caret.is-open[b-5r0fj8d8mo] {
    transform: rotate(180deg);
}

.dropdown-backdrop[b-5r0fj8d8mo] {
    position: fixed;
    inset: 0;
    z-index: 1010;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: default;
}

.dropdown-menu[b-5r0fj8d8mo] {
    position: absolute;
    top: calc(100% + .45rem);
    left: 0;
    z-index: 1020;
    min-width: 240px;
    padding: .4rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-3);
    animation: dropdown-in-b-5r0fj8d8mo 120ms ease-out;
}

/* Eintraege werden vom Layout geliefert, daher ::deep */
.dropdown-menu[b-5r0fj8d8mo]  a {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .5rem .65rem;
    border-radius: var(--radius-sm);
    font-size: .925rem;
    font-weight: 500;
    color: var(--ink-700);
    text-decoration: none;
}

.dropdown-menu[b-5r0fj8d8mo]  a:hover {
    background: var(--brand-50);
    color: var(--brand-700);
    text-decoration: none;
}

.dropdown-menu[b-5r0fj8d8mo]  a.active {
    background: var(--brand-50);
    color: var(--brand-700);
    font-weight: 600;
}

.dropdown-menu[b-5r0fj8d8mo]  .dropdown-label {
    padding: .45rem .65rem .2rem;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ink-400);
}

.dropdown-menu[b-5r0fj8d8mo]  .dropdown-sep {
    height: 1px;
    margin: .35rem .25rem;
    background: var(--line);
}

@keyframes dropdown-in-b-5r0fj8d8mo {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: none; }
}

@media (max-width: 720px) {
    .dropdown[b-5r0fj8d8mo] {
        flex-direction: column;
    }

    .dropdown-backdrop[b-5r0fj8d8mo] {
        display: none;
    }

    .dropdown-menu[b-5r0fj8d8mo] {
        position: static;
        min-width: 0;
        margin: .2rem 0 .3rem .9rem;
        box-shadow: none;
        animation: none;
    }
}
/* /Components/Navigation/PageHeader.razor.rz.scp.css */
.page-head[b-mc5pex51os] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.page-head-text[b-mc5pex51os] {
    min-width: 0;
}

.page-title[b-mc5pex51os] {
    margin: 0;
}

.page-subtitle[b-mc5pex51os] {
    margin: .25rem 0 0;
    font-size: 1rem;
    color: var(--ink-500);
}

.page-head-actions[b-mc5pex51os] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

@media (max-width: 720px) {
    .page-head[b-mc5pex51os] {
        align-items: stretch;
    }

    .page-head-actions[b-mc5pex51os] {
        width: 100%;
    }

    .page-head-actions[b-mc5pex51os]  .btn {
        flex: 1 1 auto;
    }
}
/* /Components/Navigation/TabStrip.razor.rz.scp.css */
.tabs[b-1e71n8f9ai] {
    display: flex;
    gap: .15rem;
    overflow-x: auto;
    scrollbar-width: thin;
    border-bottom: 1px solid var(--line);
}

.tab[b-1e71n8f9ai] {
    position: relative;
    padding: .7rem .95rem;
    font: inherit;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--ink-500);
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    transition: color var(--transition), border-color var(--transition), background var(--transition);
}

.tab:hover[b-1e71n8f9ai] {
    color: var(--brand-600);
    background: var(--brand-50);
}

.tab.is-active[b-1e71n8f9ai] {
    color: var(--brand-600);
    border-bottom-color: var(--brand-500);
}
/* /Components/Navigation/TopBar.razor.rz.scp.css */
.topbar[b-cixj5gpy3b] {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--brand-500);
    color: var(--on-brand);
    box-shadow: var(--shadow-2);
}

.topbar-inner[b-cixj5gpy3b] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    width: 100%;
    max-width: 1440px;
    min-height: var(--topbar-h);
    margin-inline: auto;
    padding-inline: var(--content-pad);
}

.brand[b-cixj5gpy3b] {
    display: flex;
    align-items: center;
    gap: .55rem;
    flex: none;
    color: var(--on-brand);
    font-weight: 650;
    letter-spacing: -.01em;
    text-decoration: none;
}

.brand:hover[b-cixj5gpy3b] {
    color: var(--on-brand);
    text-decoration: none;
    opacity: .9;
}

.brand-text[b-cixj5gpy3b] {
    font-size: 1rem;
    white-space: nowrap;
}

/* Auf mittleren Breiten bleibt nur das Zeichen der Marke stehen,
   damit die Navigation in einer Zeile Platz hat. */
@media (max-width: 1250px) and (min-width: 721px) {
    .brand-text[b-cixj5gpy3b] {
        display: none;
    }
}

.burger[b-cixj5gpy3b] {
    /* nur auf kleinen Schirmen sichtbar, siehe Media-Query unten */
    display: none;
    place-items: center;
    margin-left: auto;
    padding: .4rem;
    background: transparent;
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--on-brand);
    cursor: pointer;
}

.burger:hover[b-cixj5gpy3b] {
    background: rgba(255, 255, 255, .16);
}

.topbar-nav[b-cixj5gpy3b] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    flex: 1;
    min-width: 0;
}

.nav-links[b-cixj5gpy3b] {
    display: flex;
    align-items: center;
    gap: .1rem;
    min-width: 0;
    flex-wrap: nowrap;
}

.nav-actions[b-cixj5gpy3b] {
    display: flex;
    align-items: center;
    gap: .1rem;
    margin-left: auto;
    flex: none;
}

/* Kleine Schirme: Navigation klappt unter die Leiste */
@media (max-width: 720px) {
    .topbar-inner[b-cixj5gpy3b] {
        flex-wrap: wrap;
        padding-block: .4rem;
    }

    .burger[b-cixj5gpy3b] {
        display: grid;
    }

    .topbar-nav[b-cixj5gpy3b] {
        display: none;
        /* eigene Zeile unter Marke und Menue-Schalter */
        flex: 1 0 100%;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: .25rem;
        padding-block: .5rem;
        border-top: 1px solid rgba(255, 255, 255, .22);
    }

    .topbar-nav.is-open[b-cixj5gpy3b] {
        display: flex;
    }

    .nav-links[b-cixj5gpy3b],
    .nav-actions[b-cixj5gpy3b] {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        margin-left: 0;
    }

    .nav-actions[b-cixj5gpy3b] {
        margin-top: .35rem;
        padding-top: .35rem;
        border-top: 1px solid rgba(255, 255, 255, .22);
    }
}
/* /Layout/AppFooter.razor.rz.scp.css */
.footer[b-8nmnytikw9] {
    background: var(--brand-900);
    color: rgba(255, 255, 255, .75);
}

.footer-inner[b-8nmnytikw9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--space-4);
    padding-block: var(--space-5);
}

.footer-brand[b-8nmnytikw9] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
    font-weight: 600;
    color: #fff;
}

.footer-links[b-8nmnytikw9] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    font-size: .9rem;
}

.footer-links a[b-8nmnytikw9] {
    color: rgba(255, 255, 255, .78);
}

.footer-links a:hover[b-8nmnytikw9] {
    color: #fff;
}

.footer-copy[b-8nmnytikw9] {
    margin: 0;
    color: rgba(255, 255, 255, .55);
}

@media (max-width: 720px) {
    .footer-inner[b-8nmnytikw9] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Layout/AuthLayout.razor.rz.scp.css */
.auth[b-56l43f91iu] {
    display: grid;
    place-items: center;
    min-height: 100vh;
    min-height: 100dvh;
    padding: var(--space-5);
    background:
        radial-gradient(1000px 500px at 15% -10%, var(--brand-400) 0%, transparent 60%),
        linear-gradient(160deg, var(--brand-700) 0%, var(--brand-900) 100%);
}

.auth-panel[b-56l43f91iu] {
    width: min(440px, 100%);
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.auth-brand[b-56l43f91iu] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    font-weight: 650;
    color: #fff;
    text-decoration: none;
}

.auth-brand:hover[b-56l43f91iu] {
    color: #fff;
    text-decoration: none;
    opacity: .9;
}

.auth-card[b-56l43f91iu] {
    padding: var(--space-6);
    background: var(--surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-3);
}

.auth-foot[b-56l43f91iu] {
    display: flex;
    justify-content: center;
    gap: .5rem;
    margin: 0;
    color: rgba(255, 255, 255, .7);
}

.auth-foot a[b-56l43f91iu] {
    color: rgba(255, 255, 255, .85);
}

@media (max-width: 480px) {
    .auth-card[b-56l43f91iu] {
        padding: var(--space-5);
    }
}
/* /Layout/MainLayout.razor.rz.scp.css */
.shell[b-s2rz93o5c4] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}

.shell-main[b-s2rz93o5c4] {
    flex: 1;
    padding-block: var(--space-6) var(--space-7);
}

@media (max-width: 720px) {
    .shell-main[b-s2rz93o5c4] {
        padding-block: var(--space-5) var(--space-6);
    }
}
/* /Layout/PublicLayout.razor.rz.scp.css */
.shell[b-s5c90yrv6r] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    background: var(--surface);
}

.shell-main[b-s5c90yrv6r] {
    flex: 1;
}
/* /Pages/Account/Login.razor.rz.scp.css */
.login-title[b-0b0qtar22k] {
    margin-bottom: .1rem;
    font-size: 1.5rem;
}

.login-form[b-0b0qtar22k] {
    margin-top: var(--space-5);
}

.login-options[b-0b0qtar22k] {
    margin-top: .25rem;
}

.login-check[b-0b0qtar22k] {
    display: flex;
    align-items: center;
    gap: .4rem;
    cursor: pointer;
    color: var(--ink-700);
}

.login-foot[b-0b0qtar22k] {
    margin-top: var(--space-5);
    color: var(--ink-500);
}

.login-error[b-0b0qtar22k] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem .8rem;
    font-size: .875rem;
    color: var(--danger);
    background: var(--danger-bg);
    border: 1px solid var(--danger);
    border-radius: var(--radius-sm);
}
/* /Pages/Administration/Roles.razor.rz.scp.css */
.toolbar-search[b-9aynt7tvyj] {
    flex: 1 1 260px;
    max-width: 360px;
}

.cell-name[b-9aynt7tvyj] {
    font-weight: 600;
}
/* /Pages/Administration/Users.razor.rz.scp.css */
.toolbar-search[b-cxf63ajtz8] {
    flex: 1 1 260px;
    max-width: 360px;
}

.toolbar-filter[b-cxf63ajtz8] {
    width: auto;
    min-width: 150px;
}

.cell-user[b-cxf63ajtz8] {
    display: flex;
    align-items: center;
    gap: .6rem;
}

.cell-avatar[b-cxf63ajtz8] {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: none;
    border-radius: 50%;
    background: var(--brand-50);
    color: var(--brand-700);
    font-size: .75rem;
    font-weight: 700;
}

.cell-name[b-cxf63ajtz8] {
    font-weight: 600;
}

.form-row[b-cxf63ajtz8] {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 1fr 1fr;
}

.check[b-cxf63ajtz8] {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 40px;
    cursor: pointer;
    color: var(--ink-700);
}

@media (max-width: 560px) {
    .form-row[b-cxf63ajtz8] {
        grid-template-columns: 1fr;
    }

    .toolbar-filter[b-cxf63ajtz8] {
        flex: 1 1 100%;
    }
}
/* /Pages/Courses/CourseAdminPage.razor.rz.scp.css */
.toolbar-search[b-iey26jg55q] {
    flex: 1 1 260px;
    max-width: 360px;
}

.cell-link[b-iey26jg55q] {
    font-weight: 600;
    color: var(--ink-900);
    text-decoration: none;
}

.cell-link:hover[b-iey26jg55q] {
    color: var(--brand-600);
    text-decoration: underline;
}

.cell-sub[b-iey26jg55q] {
    display: block;
    margin-top: .1rem;
    font-size: .8rem;
    color: var(--ink-500);
}

.th-sort[b-iey26jg55q] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: 0;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    color: inherit;
    background: none;
    border: 0;
    cursor: pointer;
}

.th-sort:hover[b-iey26jg55q] {
    color: var(--brand-600);
}

.th-arrow[b-iey26jg55q] {
    font-size: .65rem;
    color: var(--brand-500);
}
/* /Pages/Courses/CourseCreatePage.razor.rz.scp.css */
.form-row[b-10e4tiapl2] {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 1fr 1fr;
}

@media (max-width: 560px) {
    .form-row[b-10e4tiapl2] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Courses/CourseDetailPage.razor.rz.scp.css */
.facts[b-hb02yt3kwu] {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.fact dt[b-hb02yt3kwu] {
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ink-500);
}

.fact dd[b-hb02yt3kwu] {
    margin: .2rem 0 0;
    font-weight: 600;
    color: var(--ink-900);
}

.assign-row[b-hb02yt3kwu],
.upload-row[b-hb02yt3kwu] {
    align-items: flex-end;
    gap: var(--space-3);
}

.assign-field[b-hb02yt3kwu],
.upload-field[b-hb02yt3kwu] {
    flex: 1 1 260px;
    max-width: 420px;
}

.cell-name[b-hb02yt3kwu] {
    font-weight: 600;
}

@media (max-width: 720px) {
    .facts[b-hb02yt3kwu] {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .facts[b-hb02yt3kwu] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Courses/EducationalModules.razor.rz.scp.css */
.toolbar-search[b-tzqfbrrbab] {
    flex: 1 1 260px;
    max-width: 360px;
}

.cell-name[b-tzqfbrrbab] {
    font-weight: 600;
}

.cell-sub[b-tzqfbrrbab] {
    display: block;
    margin-top: .1rem;
    font-size: .8rem;
    color: var(--ink-500);
}

.assign-row[b-tzqfbrrbab] {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 2fr 1fr 1fr;
}

@media (max-width: 560px) {
    .assign-row[b-tzqfbrrbab] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Courses/Locations.razor.rz.scp.css */
.toolbar-search[b-qmxkrnin86] {
    flex: 1 1 260px;
    max-width: 360px;
}

.cell-name[b-qmxkrnin86] {
    font-weight: 600;
}
/* /Pages/Courses/MyCoursePage.razor.rz.scp.css */
.facts[b-3niu954ri5] {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.fact dt[b-3niu954ri5] {
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ink-500);
}

.fact dd[b-3niu954ri5] {
    margin: .2rem 0 0;
    font-weight: 600;
    color: var(--ink-900);
}

.assign-row[b-3niu954ri5],
.upload-row[b-3niu954ri5] {
    align-items: flex-end;
    gap: var(--space-3);
}

.assign-field[b-3niu954ri5],
.upload-field[b-3niu954ri5] {
    flex: 1 1 260px;
    max-width: 420px;
}

.cell-name[b-3niu954ri5] {
    font-weight: 600;
}

@media (max-width: 720px) {
    .facts[b-3niu954ri5] {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .facts[b-3niu954ri5] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Courses/Subjects.razor.rz.scp.css */
.toolbar-search[b-b7gzi0m2y0] {
    flex: 1 1 260px;
    max-width: 360px;
}

.cell-name[b-b7gzi0m2y0] {
    font-weight: 600;
}
/* /Pages/Courses/UpdateCoursePage.razor.rz.scp.css */
.form-row[b-brfytz5nd2] {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 1fr 1fr;
}

@media (max-width: 560px) {
    .form-row[b-brfytz5nd2] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Home.razor.rz.scp.css */
/* ---------- Bildbereich ---------- */
.hero[b-hhm9tyrfcz] {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(380px, 52vh, 560px);
    overflow: hidden;
    isolation: isolate;
}

/* Je Slide eine Bildebene; alle bleiben im DOM und werden ueberblendet,
   damit beim Wechsel kein Ladesprung entsteht. */
.hero-bg[b-hhm9tyrfcz] {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: var(--brand-700);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 600ms ease;
}

.hero-bg.is-active[b-hhm9tyrfcz] {
    opacity: 1;
}

/* Abdunklung ueber dem Foto. Die Bilder sind hell, ohne diese Ebene
   verschwindet weisse Schrift darin. Der Verlauf ist unten und links
   dichter, weil dort Text und Schaltflaechen sitzen. */
.hero-scrim[b-hhm9tyrfcz] {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(20, 26, 40, .45) 0%, rgba(20, 26, 40, .22) 45%, rgba(20, 26, 40, .58) 100%),
        linear-gradient(90deg, rgba(42, 52, 80, .38) 0%, rgba(42, 52, 80, .10) 55%, rgba(42, 52, 80, .30) 100%);
}

.hero-inner[b-hhm9tyrfcz] {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-5);
    padding-block: var(--space-7);
}

.hero-card[b-hhm9tyrfcz] {
    width: min(820px, 100%);
    padding: var(--space-6);
    text-align: center;
    color: #fff;
    background: rgba(20, 26, 40, .62);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: var(--radius-lg);
    box-shadow: 0 18px 50px rgba(12, 16, 26, .35);
    backdrop-filter: blur(10px) saturate(1.1);
}

.hero-eyebrow[b-hhm9tyrfcz] {
    margin: 0 0 .5rem;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .8);
}

.hero-title[b-hhm9tyrfcz] {
    margin: 0 0 .75rem;
    font-size: clamp(1.7rem, 1.1rem + 2.6vw, 2.8rem);
    color: #fff;
    text-shadow: 0 2px 12px rgba(12, 16, 26, .45);
}

.hero-text[b-hhm9tyrfcz] {
    margin: 0 auto;
    max-width: 62ch;
    color: rgba(255, 255, 255, .92);
    text-shadow: 0 1px 8px rgba(12, 16, 26, .4);
}

.hero-actions[b-hhm9tyrfcz] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-3);
    margin-top: var(--space-5);
}

/* Weisser Umriss-Button steht auf dem Bild besser als der graue Standard */
.hero-actions[b-hhm9tyrfcz]  .btn--outline {
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .6);
    color: #fff;
}

.hero-actions[b-hhm9tyrfcz]  .btn--outline:hover {
    background: #fff;
    color: var(--brand-700);
}

.hero-arrow[b-hhm9tyrfcz] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(4px);
    transition: background var(--transition);
}

.hero-arrow:hover[b-hhm9tyrfcz] {
    background: rgba(255, 255, 255, .32);
}


.hero-arrow--prev[b-hhm9tyrfcz] { left: max(.75rem, calc((100% - var(--content-max)) / 2)); }
.hero-arrow--next[b-hhm9tyrfcz] { right: max(.75rem, calc((100% - var(--content-max)) / 2)); }

.hero-dots[b-hhm9tyrfcz] {
    display: flex;
    gap: .4rem;
}

.hero-dot[b-hhm9tyrfcz] {
    width: 28px;
    height: 4px;
    padding: 0;
    background: rgba(255, 255, 255, .4);
    border: 0;
    border-radius: var(--radius-pill);
    cursor: pointer;
    transition: background var(--transition), width var(--transition);
}

.hero-dot.is-active[b-hhm9tyrfcz] {
    width: 44px;
    background: #fff;
}

/* ---------- Inhaltsbaender ---------- */
.band[b-hhm9tyrfcz] {
    padding-block: var(--space-8);
    background: var(--surface);
}

.band--muted[b-hhm9tyrfcz] {
    background: var(--page);
    border-top: 1px solid var(--line);
}

/* ---------- Terminliste ---------- */
.event-list[b-hhm9tyrfcz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.event[b-hhm9tyrfcz] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: .9rem 1.1rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-1);
}

.event-date[b-hhm9tyrfcz] {
    display: grid;
    place-items: center;
    width: 54px;
    padding: .35rem 0;
    flex: none;
    border-radius: var(--radius-sm);
    background: var(--brand-50);
    color: var(--brand-700);
    line-height: 1.1;
}

.event-date strong[b-hhm9tyrfcz] { font-size: 1.25rem; }
.event-date span[b-hhm9tyrfcz] { font-size: .7rem; font-weight: 700; letter-spacing: .08em; }

.event-body[b-hhm9tyrfcz] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    flex: 1;
    min-width: 0;
}

.event-title[b-hhm9tyrfcz] {
    font-weight: 600;
}

.event-meta[b-hhm9tyrfcz] {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .85rem;
    color: var(--ink-500);
    flex-wrap: wrap;
}

@media (max-width: 720px) {
    .hero-arrow[b-hhm9tyrfcz] { display: none; }

    .hero-card[b-hhm9tyrfcz] { padding: var(--space-5) var(--space-4); }

    .band[b-hhm9tyrfcz] { padding-block: var(--space-6); }

    .event[b-hhm9tyrfcz] {
        flex-wrap: wrap;
        row-gap: var(--space-3);
    }

    .event-body[b-hhm9tyrfcz] { flex-basis: calc(100% - 54px - var(--space-4)); }

    .event[b-hhm9tyrfcz]  .btn { width: 100%; }
}
/* /Pages/Public/CourseOffers.razor.rz.scp.css */
.page-intro[b-12sxejnxx6] {
    padding-block: var(--space-7);
    background:
        linear-gradient(180deg, rgba(20, 26, 40, .55) 0%, rgba(20, 26, 40, .75) 100%),
        linear-gradient(135deg, var(--brand-400) 0%, var(--brand-700) 100%);
    color: #fff;
}

.page-intro h1[b-12sxejnxx6] {
    color: #fff;
    margin-bottom: .4rem;
}

.page-intro[b-12sxejnxx6]  .text-eyebrow {
    color: rgba(255, 255, 255, .75);
}

.page-intro-text[b-12sxejnxx6] {
    max-width: 68ch;
    color: rgba(255, 255, 255, .88);
}

.band[b-12sxejnxx6] {
    padding-block: var(--space-7);
    background: var(--page);
}

.offer-filter[b-12sxejnxx6] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.offer-search[b-12sxejnxx6] {
    max-width: 380px;
}

/* Eckdaten als zweispaltige Liste, auf schmalen Schirmen einspaltig */
.facts[b-12sxejnxx6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .6rem var(--space-5);
    margin: var(--space-4) 0 0;
    padding: var(--space-4) 0 0;
    border-top: 1px solid var(--line);
}

.facts div[b-12sxejnxx6] {
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.facts dt[b-12sxejnxx6] {
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ink-400);
}

.facts dd[b-12sxejnxx6] {
    margin: 0;
    font-weight: 600;
    color: var(--ink-900);
}

.offer-details[b-12sxejnxx6] {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: var(--space-5);
    margin-top: var(--space-5);
    padding-top: var(--space-4);
    border-top: 1px solid var(--line);
}

.offer-contents[b-12sxejnxx6] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    margin: .4rem 0 0;
    padding: 0;
    list-style: none;
}

.offer-contents li[b-12sxejnxx6] {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    font-size: .925rem;
    color: var(--ink-700);
}

.offer-contents[b-12sxejnxx6]  .icon {
    margin-top: .15rem;
    color: var(--brand-500);
}

@media (max-width: 720px) {
    .page-intro[b-12sxejnxx6] {
        padding-block: var(--space-6);
    }

    .offer-details[b-12sxejnxx6] {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }

    .offer-search[b-12sxejnxx6] {
        max-width: none;
    }
}
/* /Pages/Public/InfoEvents.razor.rz.scp.css */
.page-intro[b-mv3f4xrz1o] {
    padding-block: var(--space-7);
    background:
        linear-gradient(180deg, rgba(20, 26, 40, .55) 0%, rgba(20, 26, 40, .75) 100%),
        linear-gradient(135deg, var(--brand-400) 0%, var(--brand-700) 100%);
    color: #fff;
}

.page-intro h1[b-mv3f4xrz1o] {
    color: #fff;
    margin-bottom: .4rem;
}

.page-intro[b-mv3f4xrz1o]  .text-eyebrow {
    color: rgba(255, 255, 255, .75);
}

.page-intro-text[b-mv3f4xrz1o] {
    max-width: 68ch;
    color: rgba(255, 255, 255, .88);
}

.band[b-mv3f4xrz1o] {
    padding-block: var(--space-7);
    background: var(--page);
}

.event-list[b-mv3f4xrz1o] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.event[b-mv3f4xrz1o] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: 1rem 1.1rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-1);
}

.event-date[b-mv3f4xrz1o] {
    display: grid;
    place-items: center;
    width: 56px;
    padding: .4rem 0;
    flex: none;
    border-radius: var(--radius-sm);
    background: var(--brand-50);
    color: var(--brand-700);
    line-height: 1.1;
}

.event-date strong[b-mv3f4xrz1o] { font-size: 1.3rem; }
.event-date span[b-mv3f4xrz1o] { font-size: .7rem; font-weight: 700; letter-spacing: .08em; }

.event-body[b-mv3f4xrz1o] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    flex: 1;
    min-width: 0;
}

.event-title[b-mv3f4xrz1o] {
    font-weight: 600;
}

.event-meta[b-mv3f4xrz1o] {
    display: flex;
    align-items: center;
    gap: .35rem;
    flex-wrap: wrap;
    font-size: .85rem;
    color: var(--ink-500);
}

.event-note[b-mv3f4xrz1o] {
    font-size: .825rem;
    color: var(--ink-400);
}

.event-actions[b-mv3f4xrz1o] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex: none;
}

@media (max-width: 720px) {
    .page-intro[b-mv3f4xrz1o] {
        padding-block: var(--space-6);
    }

    .event[b-mv3f4xrz1o] {
        flex-wrap: wrap;
        row-gap: var(--space-3);
    }

    .event-body[b-mv3f4xrz1o] {
        flex-basis: calc(100% - 56px - var(--space-4));
    }

    .event-actions[b-mv3f4xrz1o] {
        width: 100%;
        justify-content: space-between;
    }
}
