/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Components/Fields/FilterTextFormField.razor.rz.scp.css */
[b-s0wl9gel4u] .clear-filter-button {
    color: var(--rz-text-color) !important;
    opacity: 0.4 !important;
    background-color: unset !important;
}
[b-s0wl9gel4u] .clear-filter-button:active {
    opacity: 1 !important;
}
[b-s0wl9gel4u] .clear-filter-button:hover {
    opacity: 1 !important;
}
/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Pages/Administration/AdministrationPage.razor.rz.scp.css */
/* Bindet die Höhe der Tabview an die Seite, damit scrollbarer Tab-Inhalt INNERHALB des Inhalts
   scrollt (z.B. die eingebettete CoreFoundation-Settings-Liste) statt das ganze Tab-Panel zu scrollen.
   Der eingebettete Aktions-Balken (Speichern/Verwerfen) bleibt dadurch als fixer Flex-Block unten sichtbar.
   ::deep erreicht die von Radzen intern gerenderte Tabview — der Wurzel-<div> dieser Seite trägt das
   CSS-Isolation-Scope-Attribut. Nur diese Seite ist betroffen; andere Module bleiben unberührt. */
[b-aj3lwaotuy] .rz-tabview {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

[b-aj3lwaotuy] .rz-tabview-panels {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

[b-aj3lwaotuy] .rz-tabview-panel {
    flex: 1;
    min-height: 0;
    overflow: auto;
}
/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Pages/Auditing/Components/AuditLogFilter.razor.rz.scp.css */
/* Kompaktere Masse als Radzens Vorgaben: der Filterbereich sitzt ueber dem Grid und soll so wenig
   Hoehe wie moeglich kosten. ::deep, weil die Ziele von Radzen-Kindkomponenten gerendert werden. */

[b-cnektjtxcu] .rz-datafilter-item {
    padding-block: 0;
}

[b-cnektjtxcu] .rz-dropdown,
[b-cnektjtxcu] .rz-textbox {
    height: 1.75rem;
    padding-block: 0.125rem;
}

[b-cnektjtxcu] .rz-datafilter-operator-bar .rz-button {
    padding-block: 0.125rem;
}
/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Pages/Authentication/AuthenticationLayout.razor.rz.scp.css */
/* ===== Full-screen shell container ===== */
.shell[b-hfykmzpkrr] {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ===== Native-client variant: plain white, centred card ===== */
.shell--native[b-hfykmzpkrr] {
    background-color: #fff;
}

.shell--native .shell__main[b-hfykmzpkrr] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Native client: the card is a bare panel — no frame (border/shadow/radius) at any
   size. The host shell already provides the surrounding chrome. */
.shell--native[b-hfykmzpkrr]  .rz-card {
    border: none;
    box-shadow: none;
    border-radius: 0;
}

/* ===== Background image (Personio-Stil: center / cover; Komposition steckt im Bild) ===== */
.shell__bg-img[b-hfykmzpkrr] {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    pointer-events: none;
    transition: opacity 0.4s ease;
}

/* ===== Scrim over background image =====
   Die flächige Abdunklung (50% Schwarz) ist bereits ins Hintergrundbild eingebacken,
   daher hier kein zusätzlicher flacher Overlay — nur der Top/Bottom-Gradient (::before)
   für die Lesbarkeit von Header/Footer. */
.scrim[b-hfykmzpkrr] {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    transition: opacity 0.4s ease;
}

/* Top + bottom gradient for header/footer legibility (sits above the solid scrim) */
.scrim[b-hfykmzpkrr]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, .35) 0%,
        transparent 30%,
        transparent 70%,
        rgba(0, 0, 0, .35) 100%
    );
    pointer-events: none;
}

/* ===== Header =====
   z-index must stay above .shell__main (z-index: 2) so the language-switcher
   dropdown — a child of the header — can overlap the card and stay clickable. */
.shell__header[b-hfykmzpkrr] {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: flex-end; /* language switcher stays on the right */
    padding: 1.5rem 2.5rem;
    min-height: 38px; /* preserve header height so panel & switcher don't move */
}

/* Right-aligned header actions: tenant chip + language switcher */
.shell__header-actions[b-hfykmzpkrr] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.shell__logo[b-hfykmzpkrr] {
    position: absolute;
    /* SVG is cropped to its content (no transparent margin), so the "F" sits
       at the image's left edge; left = footer padding aligns it under "Impressum". */
    left: 2.5rem;
    top: 1.25rem;
    /* Fluid: ~95px at typical desktop width (~1440px), shrinks to 70px on small
       laptops and grows to 105px on large screens. Left edge stays fixed so the
       wordmark keeps its alignment under the footer "Impressum" link. */
    height: clamp(70px, 6.6vw, 105px);
    width: auto;
    display: block;
    z-index: 3;
    pointer-events: none;
}

/* ===== Main (card centred) ===== */
.shell__main[b-hfykmzpkrr] {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

/* ===== Brand wordmark + platform subtitle on the card ===== */
.shell__brand[b-hfykmzpkrr] {
    display: block;
    height: 44px;
    width: auto;
    max-width: 100%;
    margin: 0 auto 0.5rem auto;
}

.shell__platform[b-hfykmzpkrr] {
    margin: 0 0 2.5rem 0;
    text-align: center;
    font-size: 1.0625rem;
    font-weight: var(--ff-weight-strong);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    /* Theme token: muted slate in light, legible secondary text in dark. */
    color: var(--rz-text-secondary-color);
}

/* ===== Footer ===== */
.shell__footer[b-hfykmzpkrr] {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 2.5rem;
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.8125rem;
}

.shell__footer-links[b-hfykmzpkrr] {
    display: flex;
    gap: 1.5rem;
}

.shell__footer-links a[b-hfykmzpkrr] {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
}

.shell__footer-links a:hover[b-hfykmzpkrr] {
    color: #fff;
    text-decoration: underline;
}

.shell__footer-copyright[b-hfykmzpkrr] {
    color: rgba(255, 255, 255, 0.6);
}

/* ===== Small viewports: collapse to a plain white surface =====
   When the viewport gets too narrow (<640px) OR too short (<700px) the hero photo
   can't carry the layout — drop it entirely, turn the shell into a single flat
   surface, let the card fill edge-to-edge, and pull the footer into the normal flow
   so the legal links stay reachable (instead of being hidden). The surface colour is
   themed, so dark mode collapses to its dark surface rather than a hardcoded white.
   The thresholds dropped (from 800/750) now that the logo + pills scale fluidly, so
   the hero carries narrower/shorter windows. The height bound is gated by the tallest
   form (credentials): above the hero uses overflow:hidden, so it must fit header +
   form + footer — keep it generous enough that the password step isn't clipped. */
@media (max-width: 640px), (max-height: 700px) {
    .shell[b-hfykmzpkrr] {
        background-color: var(--rz-base-background-color, #fff);
        /* footer now lives in the flow; allow the page to grow & scroll past 100vh */
        overflow: visible;
    }

    .shell__bg-img[b-hfykmzpkrr],
    .scrim[b-hfykmzpkrr] {
        opacity: 0;
    }

    /* The white wordmark is invisible on the flat surface — hide it.
       The header keeps the tenant chip + language switcher. */
    .shell__logo[b-hfykmzpkrr] {
        opacity: 0;
        pointer-events: none;
    }

    .shell__header[b-hfykmzpkrr] {
        padding: 1rem 1.25rem;
    }

    /* The card becomes the surface itself: full width, flush, no shadow. */
    .shell__main[b-hfykmzpkrr] {
        padding: 0;
        align-items: flex-start;
    }

    .shell__main[b-hfykmzpkrr]  .rz-card {
        width: 100%;
        max-width: 100%;
        box-shadow: none;
        border-radius: 0;
    }

    /* Footer joins the flow below the card: themed text, centred, hairline divider. */
    .shell__footer[b-hfykmzpkrr] {
        flex-direction: column;
        gap: 0.4rem;
        padding: 1.25rem 1.5rem 1.5rem;
        margin: 0.5rem 1rem 0;
        color: var(--rz-text-secondary-color);
        border-top: 1px solid var(--rz-base-300);
    }

    .shell__footer-links a[b-hfykmzpkrr] {
        color: var(--rz-text-secondary-color);
    }

    .shell__footer-links a:hover[b-hfykmzpkrr] {
        color: var(--rz-primary);
    }

    .shell__footer-copyright[b-hfykmzpkrr] {
        color: var(--rz-text-secondary-color);
    }
}

@media (prefers-reduced-motion: reduce) {
    .shell__bg-img[b-hfykmzpkrr],
    .scrim[b-hfykmzpkrr] {
        transition: none;
    }
}

/* ===== Dark mode =====
   The standalone login renders inside the host document, so it inherits the global
   data-theme attribute the host's AppearanceToggle (#37417) sets on :root (app.css
   convention). The card itself is a themed RadzenCard; these overrides bring the two
   hardcoded brand assets in line so the login stays coherent in dark mode. */
:root[data-theme^="humanistic-dark"] .shell__bg-img[b-hfykmzpkrr] {
    /* Bright daylight hero photo clashes with the dark UI — dim it. */
    filter: brightness(0.5) saturate(0.85);
}

:root[data-theme^="humanistic-dark"] .shell__brand[b-hfykmzpkrr] {
    /* Wordmark SVG is dark slate ink (#2f3e4e) and vanishes on the dark card —
       render it as its light/negative counterpart. */
    filter: brightness(0) invert(1);
}
/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Pages/Authentication/Components/CredentialsForm.razor.rz.scp.css */
.credentials-form[b-r0w3gbfz1k] {
    width: 100%;
}

.credentials-subtitle[b-r0w3gbfz1k] {
    color: var(--rz-text-secondary-color);
}

/* Secondary "back" action below the submit button — matches the subtitle style. */
.credentials-back[b-r0w3gbfz1k] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    width: 100%;
    font-size: 1rem;
    color: var(--rz-text-color);
    text-decoration: none;
    transition: color 0.15s ease;
}

.credentials-back:hover[b-r0w3gbfz1k] {
    color: var(--rz-primary);
}

.credentials-back[b-r0w3gbfz1k]  .rz-icon {
    font-size: 1.1rem;
}

.credentials-field[b-r0w3gbfz1k] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.credentials-field:has(input:disabled)[b-r0w3gbfz1k] {
    opacity: 0.5;
}

.credentials-remember:has(input:disabled)[b-r0w3gbfz1k] {
    opacity: 0.5;
}

.credentials-field label[b-r0w3gbfz1k] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--rz-text-color);
}

.credentials-field[b-r0w3gbfz1k]  > div {
    background: white;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    padding: 0.1rem 0.75rem;
    transition: border-color 0.15s ease;
}

.credentials-field[b-r0w3gbfz1k]  > div:focus-within {
    border-color: var(--rz-primary);
}

/* ===== Dark mode =====
   The field box is a hardcoded white surface; on the dark card the themed (white)
   input value would be white-on-white. Give it a dark themed surface + visible border.
   (--rz-border is undefined in this theme — use --rz-base-300 for the border colour.) */
:root[data-theme^="humanistic-dark"] .credentials-field[b-r0w3gbfz1k]  > div {
    background: var(--rz-base-100);
    border-color: var(--rz-base-300);
}

.credentials-field[b-r0w3gbfz1k]  input[type="text"],
.credentials-field[b-r0w3gbfz1k]  input[type="password"] {
    border: none !important;
    background: transparent !important;
    padding: 0.5rem 0 !important;
    flex: 1 1 auto;
}


.credentials-error[b-r0w3gbfz1k] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--rz-warning-lighter);
    border: 1px solid var(--rz-warning);
    border-radius: 6px;
    color: var(--rz-text-color);
}

.credentials-error[b-r0w3gbfz1k]  .rzi {
    color: var(--rz-warning);
    font-size: 1.25rem;
}

.credentials-error-text[b-r0w3gbfz1k] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    font-size: 0.85rem;
}

.credentials-error-title[b-r0w3gbfz1k] {
    font-weight: 600;
}

.credentials-remember[b-r0w3gbfz1k] {
    margin: 0.25rem 0;
}

/* The remember-me label otherwise falls back to a default near-black colour,
   which is unreadable on the dark card. */
.credentials-remember[b-r0w3gbfz1k]  .form-check-label,
.credentials-remember label[b-r0w3gbfz1k] {
    color: var(--rz-text-color);
}

/* Pin the native (accent-color) checkbox to the dark scheme when the dark theme is
   active, so it renders as a dark box even if the OS prefers light (data-theme, not
   prefers-color-scheme, drives the app theme). color-scheme inherits to the input. */
:root[data-theme^="humanistic-dark"] .credentials-remember[b-r0w3gbfz1k] {
    color-scheme: dark;
}

.credentials-submit[b-r0w3gbfz1k] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem 1rem;
    background: var(--rz-primary);
    color: var(--rz-on-primary, #fff);
    border: none;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.credentials-submit:hover[b-r0w3gbfz1k] {
    background: var(--rz-primary-dark, var(--rz-primary));
}

.credentials-submit:disabled[b-r0w3gbfz1k] {
    cursor: not-allowed;
    opacity: 0.5;
}

.credentials-submit[b-r0w3gbfz1k]  .rz-icon {
    font-size: 1.25rem;
}

.credentials-submit-idle[b-r0w3gbfz1k],
.credentials-submit-loading[b-r0w3gbfz1k] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.credentials-submit-loading[b-r0w3gbfz1k] {
    display: none;
}

.credentials-submit.is-loading .credentials-submit-idle[b-r0w3gbfz1k] {
    display: none;
}

.credentials-submit.is-loading .credentials-submit-loading[b-r0w3gbfz1k] {
    display: inline-flex;
}

/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Pages/Authentication/Components/CultureSelect.razor.rz.scp.css */
/* Container: positioned relatively so the dropdown can anchor to it */
.lang-switcher[b-zqp2ec19u9] {
    position: relative;
    display: inline-block;
}

/* Remove default browser marker on <details> */
.lang-switcher > summary[b-zqp2ec19u9] {
    list-style: none;
}

.lang-switcher > summary[b-zqp2ec19u9]::-webkit-details-marker {
    display: none;
}

/* Pill button */
.lang-switcher__pill[b-zqp2ec19u9] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.3rem 0.65rem;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 999px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    user-select: none;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--rz-text-color, #1a202c);
    transition: background 0.15s ease, box-shadow 0.15s ease;
    white-space: nowrap;
}

.lang-switcher__pill:hover[b-zqp2ec19u9] {
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

/* Visible focus ring for keyboard navigation */
.lang-switcher__pill:focus-visible[b-zqp2ec19u9] {
    outline: 2px solid var(--rz-primary, #3d8fff);
    outline-offset: 2px;
}

/* Icons inside pill */
.lang-switcher__pill[b-zqp2ec19u9]  .rz-icon {
    font-size: 1rem;
    line-height: 1;
}

/* Chevron rotates when open */
.lang-switcher[open] .lang-switcher__chevron[b-zqp2ec19u9]  .rz-icon {
    transform: rotate(180deg);
}

.lang-switcher__chevron[b-zqp2ec19u9]  .rz-icon {
    transition: transform 0.2s ease;
}

/* Dropdown panel */
.lang-switcher__dropdown[b-zqp2ec19u9] {
    position: absolute;
    top: calc(100% + 0.4rem);
    right: 0;
    min-width: 10rem;
    background: rgba(255, 255, 255, 0.97);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
    list-style: none;
    margin: 0;
    padding: 0.25rem 0;
    z-index: 100;
}

/* Individual option link */
.lang-switcher__option[b-zqp2ec19u9] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.9rem;
    font-size: 0.875rem;
    color: var(--rz-text-color, #1a202c);
    text-decoration: none;
    transition: background 0.12s ease;
    border-radius: 4px;
    margin: 0 0.25rem;
}

.lang-switcher__option:hover[b-zqp2ec19u9] {
    background: var(--rz-base-200, rgba(0, 0, 0, 0.06));
}

.lang-switcher__option:focus-visible[b-zqp2ec19u9] {
    outline: 2px solid var(--rz-primary, #3d8fff);
    outline-offset: -2px;
}

/* Active/selected language */
.lang-switcher__option--active[b-zqp2ec19u9] {
    font-weight: 600;
    color: var(--rz-primary, #3d8fff);
}

/* Check icon and placeholder (keep alignment consistent) */
.lang-switcher__option[b-zqp2ec19u9]  .lang-switcher__check .rz-icon {
    font-size: 1rem;
    color: var(--rz-primary, #3d8fff);
}

.lang-switcher__check-placeholder[b-zqp2ec19u9] {
    display: inline-block;
    width: 1rem;
    flex-shrink: 0;
}

/* ===== Dark mode =====
   The header pill is intentional light glass over the hero photo. In dark mode the
   photo is dimmed and the pill text follows the theme (light), so the light glass
   would be a white island with low-contrast text — swap it for dark glass, and give
   the dropdown a solid themed surface. */
:root[data-theme^="humanistic-dark"] .lang-switcher__pill[b-zqp2ec19u9] {
    background: rgba(0, 0, 0, 0.45);
}

:root[data-theme^="humanistic-dark"] .lang-switcher__pill:hover[b-zqp2ec19u9] {
    background: rgba(0, 0, 0, 0.6);
}

:root[data-theme^="humanistic-dark"] .lang-switcher__dropdown[b-zqp2ec19u9] {
    background: var(--rz-base-100);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
}
/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Pages/Authentication/Components/InputField.razor.rz.scp.css */
[b-dpa1ey5m0d] img {
    align-self: end;
    width: 32px;
    height: 32px;
}

[b-dpa1ey5m0d] input[type="text"], [b-dpa1ey5m0d] input[type="password"] {
    border-width: 1px;
    border-color: rgba(0, 0, 0, 0.6);
    outline: none;
    border-radius: 0;
    background-color: transparent;
    display: block;
    width: 100%;
    background-image: none;
    font-size: inherit;
    border-top-width: 0;
    border-left-width: 0;
    border-right-width: 0;
    padding-left: 0;
    font-weight: 500;
}

[b-dpa1ey5m0d] input[type="text"]:disabled {
    opacity: 0.5;
}

/* Browser autofill forces an opaque (light) fill + its own text colour, which becomes
   white-on-white on the dark field box. Neutralise the fill and keep the value themed
   (works in both modes — the field box behind provides the surface). */
[b-dpa1ey5m0d] input:-webkit-autofill {
    -webkit-text-fill-color: var(--rz-text-color);
    -webkit-box-shadow: 0 0 0 1000px transparent inset;
    caret-color: var(--rz-text-color);
    transition: background-color 9999s;
}
/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Pages/Authentication/Components/PasswordField.razor.rz.scp.css */
[b-9nh1n1y9xm] img {
    align-self: end;
    width: 32px;
    height: 32px;
}

[b-9nh1n1y9xm] input[type="text"], [b-9nh1n1y9xm] input[type="password"] {
    border-width: 1px;
    border-color: rgba(0, 0, 0, 0.6);
    outline: none;
    border-radius: 0;
    background-color: transparent;
    display: block;
    width: 100%;
    background-image: none;
    font-size: inherit;
    border-top-width: 0;
    border-left-width: 0;
    border-right-width: 0;
    padding-left: 0;
    font-weight: 500;
}

/* Browser autofill forces an opaque (light) fill which becomes white-on-white on the
   dark field box. Neutralise the fill and keep the value themed (works in both modes). */
[b-9nh1n1y9xm] input:-webkit-autofill {
    -webkit-text-fill-color: var(--rz-text-color);
    -webkit-box-shadow: 0 0 0 1000px transparent inset;
    caret-color: var(--rz-text-color);
    transition: background-color 9999s;
}
/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Pages/Authentication/Components/TenantChip.razor.rz.scp.css */
/* Tenant chip in the header, styled to match the language-switcher pill. */
.tenant-chip[b-ime1bt7bcj] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.65rem;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 999px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--rz-text-color, #1a202c);
    white-space: nowrap;
}

.tenant-chip__icon[b-ime1bt7bcj]  .rz-icon {
    font-size: 1rem;
    line-height: 1;
}

/* ===== Dark mode: dark glass over the dimmed hero photo (matches the language pill). ===== */
:root[data-theme^="humanistic-dark"] .tenant-chip[b-ime1bt7bcj] {
    background: rgba(0, 0, 0, 0.45);
}
/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Pages/Authentication/LoginPage.razor.rz.scp.css */
/* Card content width: fixed on desktop, fluid once the layout collapses to the
   full-width white surface (see AuthenticationLayout.razor.css — same breakpoint). */
.login-content[b-6w4pks1i8v] {
    width: 400px;
    max-width: 100%;
}

@media (max-width: 640px), (max-height: 700px) {
    .login-content[b-6w4pks1i8v] {
        /* On phones this fills the surface (<400px); on a wide-but-short window it
           keeps the form a centred, readable column instead of stretching buttons. */
        width: 100%;
        max-width: 400px;
        margin-inline: auto;
    }
}

[b-6w4pks1i8v] form {
    width: 100%;
}

[b-6w4pks1i8v] img {
    align-self: end;
    width: 32px;
    height: 32px;
}

.provider-card[b-6w4pks1i8v] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.5rem 0.75rem;
    background: var(--rz-base-100);
    border: 1px solid var(--rz-base-300);
    border-radius: 4px;
    cursor: pointer;
    text-align: left;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.provider-card:hover[b-6w4pks1i8v] {
    border-color: var(--rz-primary);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

[b-6w4pks1i8v] h6.provider-subtitle-hint {
    color: var(--rz-text-color);
    font-size: 1rem;
    font-weight: 400;
}

.provider-card:focus-visible[b-6w4pks1i8v] {
    outline: 2px solid var(--rz-primary);
    outline-offset: 2px;
}

.provider-icon-wrap[b-6w4pks1i8v] {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rz-base-200);
    border: 1px solid var(--rz-base-300);
    border-radius: 4px;
}

.provider-icon-wrap img[b-6w4pks1i8v] {
    width: 22px;
    height: 22px;
    align-self: center;
}

.provider-icon-wrap[b-6w4pks1i8v]  .rzi {
    font-size: 1.5rem;
    color: var(--rz-text-color);
}

.provider-text[b-6w4pks1i8v] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}

.provider-title[b-6w4pks1i8v] {
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--rz-text-color);
}

.provider-subtitle[b-6w4pks1i8v] {
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color);
}

[b-6w4pks1i8v] i.provider-arrow {
    flex: 0 0 auto;
    color: var(--rz-text-secondary-color, rgba(0, 0, 0, 0.55));
    transition: color 0.15s ease;
}

.provider-card:hover[b-6w4pks1i8v]  i.provider-arrow {
    color: var(--rz-primary);
}

[b-6w4pks1i8v] input[type="text"], [b-6w4pks1i8v] input[type="password"] {
    border-width: 1px;
    border-color: var(--rz-text-secondary-color);
    outline: none;
    border-radius: 0;
    background-color: transparent;
    display: block;
    width: 100%;
    background-image: none;
    font-size: inherit;
    border-top-width: 0;
    border-left-width: 0;
    border-right-width: 0;
    padding-left: 0;
    font-weight: 500;
}

[b-6w4pks1i8v] input[type="checkbox"] {
    width: 1.125rem;
    height: 1.125rem;
    cursor: pointer;
    margin-right: 8px;
    /* Native checkbox tinted with the theme accent — the browser renders the box and
       the tick, picking the tick's contrast colour automatically. No appearance:none,
       no hardcoded colours, no inline SVG. */
    accent-color: var(--rz-primary);
}

[b-6w4pks1i8v] .form-check {
    margin-left: 3px;
    display: flex;
    align-items: center;
}

[b-6w4pks1i8v] .form-check-label {
    cursor: pointer;
}

[b-6w4pks1i8v] input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--rz-primary);
    outline-offset: 2px;
}


/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Pages/RolePermissions/RolePermissionsPage.razor.rz.scp.css */
[b-7r0ac788t7] .rz-grid-filter-icon {
    display: none !important;
}

[b-7r0ac788t7] .rz-grid-table {
    width: unset;
}

[b-7r0ac788t7] .rz-data-grid {
    width: 100%;
}

[b-7r0ac788t7] .rz-column-title {
    max-width: 200px;
}

[b-7r0ac788t7] li.rz-state-highlight.rz-multiselect-item {
    border-left: 4px solid;
}

[b-7r0ac788t7] li.rz-multiselect-item {
    border-left: 4px solid transparent;
    cursor: pointer;
    border-bottom: 1px solid var(--rz-base-300);
}

/* Kein dunkler Fokus-Rahmen auf der Kategorie-Liste — der Rand bleibt im neutralen
   Border-Ton, auch wenn die Listbox den Fokus hat. */
[b-7r0ac788t7] .rz-listbox:focus,
[b-7r0ac788t7] .rz-listbox:focus-visible {
    border-color: var(--rz-base-300);
    box-shadow: none;
}
/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Pages/Users/Components/UserCard.razor.rz.scp.css */
[b-1i8re13ywd] .menuButton {
    position: absolute;
    right: 0;
    top: 0;
    padding: 0;
}

[b-1i8re13ywd] .card {
    margin: 0 1rem 1rem 0;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-clip: border-box;
    height: fit-content;
}
/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Pages/Users/UsersPage.razor.rz.scp.css */
[b-2x62ix47po] .rz-form-field-content {
    margin-top: 0;
}

[b-2x62ix47po] .userlist > div:first-of-type {
    gap: 1rem;
}

.grid[b-2x62ix47po] {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(auto-fit, minmax(375px, 1fr));
    grid-auto-rows: auto;
}

[b-2x62ix47po] .gridGroup {
    grid-column: 1 / -1;
}


/* _content/TXS.AccessControl.MoMoExtension.Host/WebApp/Parts/UserAccountMenuPart.razor.rz.scp.css */
[b-zzeutu40rj] .rz-button {
    width: 100%;
}

[b-zzeutu40rj] .actionButtons .rz-button-box {
    justify-content: flex-start;
    width: 100%;
}

[b-zzeutu40rj] .customBadge {
    width: 16px;
    height: 16px;
    display: block;
    padding: 0;
    border-radius: 50%;
    background: var(--rz-warning);
    outline: 1px solid #FFF;
    box-shadow: 0 1px 3px rgba(0,0,0,0.4);
    position: absolute;
    top: 2px;
    right: 50px;
    letter-spacing: normal;
}
