/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ===== App Root ===== */

.app-root[b-gfctpzkt8c] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    min-height: 0;
}

/* ===== Header ===== */

.main-header[b-gfctpzkt8c] {
    height: 68px;
    z-index: 20;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.14);
    flex-shrink: 0;
    position: relative;
}

.header-logo[b-gfctpzkt8c] {
    display: flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
}

.header-logo-img[b-gfctpzkt8c] {
    height: 60px;
    width: auto;
    image-rendering: optimizeQuality;
    -webkit-font-smoothing: antialiased;
    shape-rendering: geometricPrecision;
}

.header-title[b-gfctpzkt8c] {
    font-size: 0.875rem;
    color: var(--muted-foreground);
    white-space: nowrap;
}

.header-spacer[b-gfctpzkt8c] {
    flex: 1;
}

.header-user[b-gfctpzkt8c] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    padding: 0.375rem 0.5rem;
    border-radius: var(--radius);
    position: relative;
    user-select: none;
}

.header-user:hover[b-gfctpzkt8c] {
    background-color: var(--muted);
}

.header-user-name[b-gfctpzkt8c] {
    font-size: 0.875rem;
    font-weight: var(--font-weight-medium);
}

.dropdown-overlay[b-gfctpzkt8c] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 49;
}

.header-dropdown[b-gfctpzkt8c] {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.375rem;
    padding: 0.375rem 0;
    background-color: var(--popover);
    color: var(--popover-foreground);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    min-width: 240px;
    z-index: 50;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.14);
}

.header-dropdown-item[b-gfctpzkt8c] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
    color: var(--foreground);
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.header-dropdown-item:hover[b-gfctpzkt8c] {
    background-color: var(--muted);
    text-decoration: none;
}

.header-dropdown-separator[b-gfctpzkt8c] {
    height: 1px;
    background-color: var(--border);
    margin: 0.25rem 0;
}

.header-dropdown-item-danger[b-gfctpzkt8c] {
    color: var(--destructive);
}

.header-dropdown-item-danger:hover[b-gfctpzkt8c] {
    background-color: #fee2e2;
    color: var(--destructive);
}

/* ===== Layout with sidebar ===== */

[b-gfctpzkt8c] .layout {
    display: flex;
    flex: 1 1 0;
    min-height: 0;
    overflow: hidden;
}

[b-gfctpzkt8c] .sidebar {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.14);
}

.sidebar-header[b-gfctpzkt8c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    background-color: #ffffff;
    border-bottom: 1px solid var(--sidebar-border);
    height: 48px;
    min-height: 48px;
    max-height: 48px;
    flex-shrink: 0;
    box-sizing: border-box;
    overflow: hidden;
}

.sidebar-header-collapsed[b-gfctpzkt8c] {
    justify-content: center;
    padding: 1rem 0.5rem;
}

.sidebar-header-collapsed .sidebar-header-label[b-gfctpzkt8c] {
    display: none;
}

.sidebar-header-label[b-gfctpzkt8c] {
    font-size: 0.875rem;
    font-weight: var(--font-weight-medium);
    color: var(--foreground);
}

.sidebar-toggle-btn[b-gfctpzkt8c] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    background: none;
    color: var(--muted-foreground);
    cursor: pointer;
    border-radius: var(--radius);
    transition: background-color 0.15s ease;
    flex-shrink: 0;
}

.sidebar-toggle-btn:hover[b-gfctpzkt8c] {
    background-color: var(--muted);
    color: var(--foreground);
}

.sidebar-nav[b-gfctpzkt8c] {
    flex: 1;
    overflow-y: auto;
    /* Kein waagerechter Rollbalken, wenn ein Eintrag breiter ist als die (eingeklappte) Sidebar. */
    overflow-x: hidden;
}

/* ===== Sidebar App Info ===== */

.sidebar-app-info[b-gfctpzkt8c] {
    padding: 1rem 1.5rem;
    background-color: var(--card);
    border-top: 1px solid var(--border);
    font-size: 0.6875rem;
    color: var(--muted-foreground);
    line-height: 1.6;
    flex-shrink: 0;
    overflow: hidden;
}

.sidebar-text[b-gfctpzkt8c] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity 0.1s ease;
}

.sidebar-version[b-gfctpzkt8c] {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
}

/* ===== Sidebar Resize Handle ===== */

.sidebar-resize-handle[b-gfctpzkt8c] {
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    cursor: col-resize;
    z-index: 15;
    transition: background-color 0.15s ease;
}

.sidebar-resize-handle:hover[b-gfctpzkt8c] {
    background-color: rgba(12, 93, 166, 0.5);
}

/* ===== Main Content ===== */

.main-content[b-gfctpzkt8c] {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
}

[b-gfctpzkt8c] .action-bar {
    z-index: 5;
    flex-shrink: 0;
}

.action-bar-spacer[b-gfctpzkt8c] {
    flex: 1;
}

[b-gfctpzkt8c] .ablage-title {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    justify-content: center;
    align-items: flex-start;
    min-width: 0;
    min-height: 2.5rem;
    flex: 0 1 auto;
    overflow: hidden;
}

[b-gfctpzkt8c] .ablage-title-name {
    font-size: 1.125rem;
    font-weight: var(--font-weight-medium);
    margin: 0;
    padding: 0;
    line-height: 1.2;
    border: none;
    outline: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-gfctpzkt8c] .ablage-title-pfad {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.6875rem;
    color: var(--muted-foreground);
    line-height: 1;
    height: 0.6875rem;
    min-width: 0;
}

[b-gfctpzkt8c] .ablage-title-pfad-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: monospace;
}

[b-gfctpzkt8c] .ablage-pfad-copy {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--muted-foreground);
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    flex-shrink: 0;
    height: 0.6875rem;
    min-height: 0;
    overflow: visible;
    line-height: 0;
    transition: color 0.15s ease;
}

[b-gfctpzkt8c] .ablage-pfad-copy:hover {
    color: var(--primary);
}

[b-gfctpzkt8c] .ablage-pfad-copy svg {
    width: 13px;
    height: 13px;
    overflow: visible;
}

[b-gfctpzkt8c] .content-area {
    flex: 1;
    overflow-y: auto;
    padding: 2rem;
    position: relative;
}

/* ---- Jahr-Umschalter (Modul-Kontext) ---- */
.header-jahr[b-gfctpzkt8c] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: 1.5rem;
    padding-left: 1.5rem;
    border-left: 1px solid var(--border);
    color: var(--muted-foreground);
}

.header-jahr-label[b-gfctpzkt8c] {
    font-size: 0.875rem;
}

.header-jahr-select[b-gfctpzkt8c] {
    width: auto;
    min-width: 84px;
}

.header-jahr-btn[b-gfctpzkt8c] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease;
}

.header-jahr-btn:hover:not(:disabled)[b-gfctpzkt8c] {
    background: var(--secondary);
    color: var(--primary);
}

.header-jahr-btn:disabled[b-gfctpzkt8c] {
    opacity: 0.4;
    cursor: default;
}

/* Eingeklappt: Der Fuss (Name, Version, Copyright) passt nicht in 64px - ausblenden statt abschneiden. */
.sidebar-collapsed .sidebar-app-info[b-gfctpzkt8c] {
    display: none;
}

/* Kennzeichen statt Firmenlogo (privates Werkzeug, Muster DS.FitnessHub) */
.brand-mark[b-gfctpzkt8c] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: var(--primary);
    color: var(--primary-foreground);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.02em;
}

/* Abmelden ist ein Formular (POST); der Knopf sieht aus wie die anderen Menuepunkte. */
.header-dropdown-form[b-gfctpzkt8c] {
    margin: 0;
}

.header-dropdown-form .header-dropdown-item[b-gfctpzkt8c] {
    width: 100%;
    border: none;
    background: none;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
/* ===== Responsiv (Paket 11, Vorbild DLV.Zugkasse) ===== */

/* Laptop: Kopfzeile enger. */
@media (max-width: 1440px) {
    .header-jahr[b-gfctpzkt8c] {
        margin-left: 1rem;
        padding-left: 1rem;
    }
}

/* Schmales Fenster (Tablet): Bezeichnungen weg, Bedienelemente bleiben. */
@media (max-width: 1100px) {
    .header-title[b-gfctpzkt8c],
    .header-jahr-label[b-gfctpzkt8c],
    .header-user-name[b-gfctpzkt8c] {
        display: none;
    }

    .header-jahr[b-gfctpzkt8c] {
        margin-left: 0.75rem;
        padding-left: 0.75rem;
    }

    [b-gfctpzkt8c] .content-area {
        padding: 1.25rem;
    }
}

/* Mobil (unter 700 px): Menü-Knopf und Off-Canvas statt Reitern und Seitenleiste. */
.header-menue[b-gfctpzkt8c] {
    display: none;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 40px;
    height: 40px;
    margin-right: 0.25rem;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--foreground);
    cursor: pointer;
}

.mobil-overlay[b-gfctpzkt8c] {
    position: fixed;
    inset: 0;
    z-index: 900;
    background: rgba(0, 0, 0, 0.35);
}

.mobil-menue[b-gfctpzkt8c] {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 901;
    display: flex;
    flex-direction: column;
    width: min(18rem, 85vw);
    overflow-y: auto;
    background: var(--sidebar);
    color: var(--sidebar-foreground);
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.3);
    animation: mobil-ein-b-gfctpzkt8c 0.18s ease-out;
}

@keyframes mobil-ein-b-gfctpzkt8c {
    from { transform: translateX(-100%); }
    to { transform: translateX(0); }
}

.mobil-kopf[b-gfctpzkt8c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1rem 0.5rem;
    border-left: 4px solid var(--primary);
}

.mobil-titel[b-gfctpzkt8c] {
    font-weight: var(--font-weight-medium);
    font-size: 1rem;
}

.mobil-zu[b-gfctpzkt8c] {
    border: none;
    background: transparent;
    color: inherit;
    cursor: pointer;
    padding: 0.25rem;
}

.mobil-abschnitt[b-gfctpzkt8c] {
    padding: 1rem 1rem 0.375rem;
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.6;
}

.mobil-trenner[b-gfctpzkt8c] {
    margin: 0.75rem 1rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.mobil-menue[b-gfctpzkt8c]  .mobil-eintrag {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 44px;
    padding: 0 1rem;
    color: inherit;
    text-decoration: none;
}

.mobil-menue[b-gfctpzkt8c]  .mobil-eintrag.active {
    background: rgba(255, 255, 255, 0.08);
    box-shadow: inset 3px 0 0 var(--primary);
}

@media (max-width: 700px) {
    .header-menue[b-gfctpzkt8c] {
        display: inline-flex;
    }

    .main-header[b-gfctpzkt8c]  .module-tabs,
    .sidebar[b-gfctpzkt8c] {
        display: none !important;
    }

    .main-header[b-gfctpzkt8c] {
        padding: 0 0.5rem;
        gap: 0.5rem;
    }

    .header-jahr[b-gfctpzkt8c] {
        margin-left: auto;
        padding-left: 0;
        border-left: none;
    }

    .header-jahr-btn[b-gfctpzkt8c],
    .header-jahr[b-gfctpzkt8c]  svg {
        display: none;
    }

    .header-jahr-select[b-gfctpzkt8c] {
        min-width: 0;
    }

    .brand-mark[b-gfctpzkt8c] {
        width: 36px;
        height: 36px;
    }

    .header-user[b-gfctpzkt8c] {
        padding: 0.375rem 0.25rem;
    }

    [b-gfctpzkt8c] .content-area {
        padding: 0.75rem;
    }
}
/* /Components/Layout/ModuleTabs.razor.rz.scp.css */
.module-tabs[b-ye067emwpm] {
    display: flex;
    align-self: stretch;
    align-items: stretch;
    margin-left: 1.75rem;
    gap: 0.15rem;
}

/* NavLink rendert das <a> in EIGENEM CSS-Scope -> via ::deep hineinstylen. */
.module-tabs[b-ye067emwpm]  .module-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0 1.1rem;
    color: var(--muted-foreground);
    text-decoration: none;
    font-size: 0.9rem;
    white-space: nowrap;
    transition: color 0.15s ease, background-color 0.15s ease;
}

/* Animierter Unterstrich: waechst beim Aktivieren aus der Mitte. */
.module-tabs[b-ye067emwpm]  .module-tab::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: var(--primary);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.2s ease;
}

.module-tabs[b-ye067emwpm]  .module-tab:hover {
    color: var(--foreground);
    background: var(--secondary);
}

.module-tabs[b-ye067emwpm]  .module-tab.active {
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 8%, transparent);
}

.module-tabs[b-ye067emwpm]  .module-tab.active::after {
    transform: scaleX(1);
}

/* Laptop: Reiter etwas enger. */
@media (max-width: 1440px) {
    .module-tabs[b-ye067emwpm]  .module-tab {
        padding: 0 0.9rem;
    }
}

/* Unter Desktopbreite: Reiter nur als Icon (Name im Tooltip), damit Jahr und Benutzer Platz behalten. */
@media (max-width: 1280px) {
    .module-tabs[b-ye067emwpm] {
        margin-left: 1rem;
    }

    .module-tabs[b-ye067emwpm]  .module-tab {
        padding: 0 0.85rem;
    }

    .module-tabs[b-ye067emwpm]  .module-tab-label {
        display: none;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.nav-menu[b-uvciadum6p] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.5rem 0;
    min-height: 100%;
}

/* Bereichs-Nav (§3.18): schiebt Exit-Link ans untere Ende */
.nav-bottom[b-uvciadum6p] {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

[b-uvciadum6p] .nav-link-exit {
    color: var(--sidebar-foreground);
    opacity: 0.75;
}

[b-uvciadum6p] .nav-link-exit:hover {
    opacity: 1;
}

/* Icon darf nicht schrumpfen */
[b-uvciadum6p] .nav-icon {
    flex-shrink: 0;
}

/* Text wird per overflow hidden abgeschnitten wenn Sidebar schrumpft.
   ::deep, damit auch NavLinks in Unterkomponenten (NavSubMenu, NavTreeNode)
   erfasst werden. */
[b-uvciadum6p] .nav-link-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 1;
    transition: opacity 0.15s ease;
}

/* Collapsed: Text unsichtbar, Icons zentriert */
.nav-collapsed[b-uvciadum6p]  .nav-link-text {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

.nav-collapsed[b-uvciadum6p]  .nav-link {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
    gap: 0;
}

/* Separator between Ablagen and admin links */
.nav-separator[b-uvciadum6p] {
    height: 1px;
    background-color: var(--sidebar-border);
    margin: 0.5rem 1rem;
}

/* ===== Nav-SubMenu (flache Untermenue-Gruppe) ===== */

[b-uvciadum6p] .nav-submenu {
    display: flex;
    flex-direction: column;
}

/* Toggle-only Header (ohne Href) - ganze Zeile klappt auf/zu */
[b-uvciadum6p] .nav-submenu-header {
    cursor: pointer;
    user-select: none;
}

/* Split-Header (mit Href): Link links + Chevron-Button rechts in einer Zeile */
[b-uvciadum6p] .nav-submenu-header-row {
    display: flex;
    align-items: stretch;
}

[b-uvciadum6p] .nav-submenu-header-link {
    flex: 1;
    min-width: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

[b-uvciadum6p] .nav-submenu-toggle {
    background: none;
    border: none;
    color: var(--sidebar-foreground);
    cursor: pointer;
    padding: 0 0.75rem;
    display: flex;
    align-items: center;
    border-radius: 0 var(--radius) var(--radius) 0;
    transition: background-color 0.15s ease;
    flex-shrink: 0;
}

[b-uvciadum6p] .nav-submenu-toggle:hover {
    background-color: var(--sidebar-accent);
    color: var(--sidebar-accent-foreground);
}

[b-uvciadum6p] .nav-submenu-chevron {
    margin-left: auto;
    transition: transform 0.15s ease;
    flex-shrink: 0;
}

[b-uvciadum6p] .nav-submenu-chevron-open {
    transform: rotate(90deg);
}

/* Aufgeklappter Kinder-Block - dunklerer Hintergrund unterstreicht die Gruppe */
[b-uvciadum6p] .nav-submenu-children {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.25rem 0;
    background-color: var(--sidebar-submenu);
    border-top: 1px solid var(--sidebar-border);
    border-bottom: 1px solid var(--sidebar-border);
}

/* Kinder eingerueckt - Abstand passt zur Icon-Breite im Header */
[b-uvciadum6p] .nav-submenu-children .nav-link {
    padding-left: 2.75rem;
    border-radius: 0;
}

/* Collapsed Sidebar: Kinder, Chevron, Toggle-Button ausblenden; Header bleibt als Icon */
.nav-collapsed[b-uvciadum6p]  .nav-submenu-children,
.nav-collapsed[b-uvciadum6p]  .nav-submenu-chevron,
.nav-collapsed[b-uvciadum6p]  .nav-submenu-toggle {
    display: none;
}

.nav-collapsed[b-uvciadum6p]  .nav-submenu-header-link {
    border-radius: var(--radius);
}


.nav-section-label[b-uvciadum6p] {
    padding: 0.5rem 1rem 0.35rem;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--sidebar-foreground, #b0b0b0);
    opacity: 0.7;
}

/* Bereichsueberschrift: bei schmaler Sidebar mit Auslassungspunkten kuerzen statt hart abschneiden ... */
.nav-section-label[b-uvciadum6p] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ... und eingeklappt ganz ausblenden - dort ist nur Platz fuer Icons. Eine feine Linie haelt den Abstand. */
.nav-collapsed .nav-section-label[b-uvciadum6p] {
    height: 0;
    margin: 0.25rem 0.75rem 0.5rem;
    padding: 0;
    border-top: 1px solid var(--sidebar-border);
    font-size: 0;
}
/* /Components/Pages/AbmeldenBestaetigen.razor.rz.scp.css */
/* Kennzeichen wie auf der Anmeldeseite (Login.razor.css) */
.login-logo-box[b-4vpyygkn7x] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    background-color: var(--primary);
    color: var(--primary-foreground);
}

.login-logo-text[b-4vpyygkn7x] {
    font-size: 2rem;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.02em;
}

.ab-text[b-4vpyygkn7x] {
    margin: 0 0 1.25rem;
    text-align: center;
    color: var(--muted-foreground);
}

.ab-zurueck[b-4vpyygkn7x] {
    margin-top: 0.75rem;
}
/* /Components/Pages/BenutzerEinstellung.razor.rz.scp.css */
.bn-hinweis[b-fau5okjxmd] {
    margin: 0 0 1rem;
    max-width: 60rem;
    font-size: 0.9rem;
}

.bn-name[b-fau5okjxmd] {
    font-weight: 600;
}

.bn-form[b-fau5okjxmd] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1rem;
}

.bn-form label[b-fau5okjxmd] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.78rem;
    color: var(--muted-foreground);
}

.bn-form label.bn-check[b-fau5okjxmd] {
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    align-self: end;
    padding-bottom: 0.55rem;
    font-size: 0.875rem;
    color: var(--foreground);
}

.bn-fehler[b-fau5okjxmd] {
    margin: 0.5rem 0 0;
    color: var(--destructive);
}
/* /Components/Pages/ImportEinstellung.razor.rz.scp.css */
.ie-karte[b-7pi4rbb5d2] {
    padding: 1rem 1.25rem;
}

.ie-hinweis[b-7pi4rbb5d2] {
    margin: 0 0 1rem;
}

.ie-block[b-7pi4rbb5d2] {
    margin-bottom: 1.1rem;
}

.ie-block-kopf[b-7pi4rbb5d2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}

.ie-block-titel[b-7pi4rbb5d2] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: var(--font-weight-medium);
    color: var(--muted-foreground);
    margin-bottom: 0.5rem;
}

.ie-block-kopf .ie-block-titel[b-7pi4rbb5d2] {
    margin-bottom: 0;
}

.ie-suche[b-7pi4rbb5d2] {
    width: auto;
    min-width: 220px;
    flex: 0 1 280px;
}

.ie-leer[b-7pi4rbb5d2] {
    margin: 0;
}

/* Tag als an-/abwaehlbarer Chip. */
.ie-chips[b-7pi4rbb5d2] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.ie-chip[b-7pi4rbb5d2] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.6rem;
    white-space: nowrap;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--card);
    font: inherit;
    font-size: 0.82rem;
    color: var(--foreground);
    cursor: pointer;
    transition: background-color 0.12s ease, border-color 0.12s ease;
}

.ie-chip:hover[b-7pi4rbb5d2] {
    border-color: var(--primary);
    background: color-mix(in srgb, var(--primary) 6%, transparent);
}

.ie-chip-an[b-7pi4rbb5d2] {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--primary-foreground, #fff);
}

.ie-chip-an:hover[b-7pi4rbb5d2] {
    background: color-mix(in srgb, var(--primary) 88%, #000);
    border-color: color-mix(in srgb, var(--primary) 88%, #000);
}

.ie-ok[b-7pi4rbb5d2] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.5rem 0 0;
    color: var(--success-foreground, #1a7f37);
    font-size: 0.85rem;
}

/* Wartung: KVCenter-Vermerke in Paperless. */
.ie-basis[b-7pi4rbb5d2] {
    margin: 0.5rem 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.ie-wartung-aktionen[b-7pi4rbb5d2] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}
/* /Components/Pages/LeistungsabrechnungDetail.razor.rz.scp.css */
/* ===== Kopf-Aktionen (Action-Bar) ===== */
.la-kopf-aktionen[b-pgx4vgxyya] {
    display: flex;
    gap: 0.5rem;
}

/* Split-Layout (Editor, Formular-Bereich, Resize-Griff, PDF-Pane, mobiles Overlay) steht gemeinsam in app.css. */

/* ===== Kopfdaten der Abrechnung ===== */
.la-kopf[b-pgx4vgxyya] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.5rem 0.75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0.75rem;
    margin-bottom: 0.75rem;
}

.la-kopf-feld[b-pgx4vgxyya] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.la-kopf-label[b-pgx4vgxyya] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: var(--font-weight-medium);
    color: var(--muted-foreground);
    margin-bottom: 0.15rem;
}

.la-kopf-betrag[b-pgx4vgxyya] {
    font-weight: var(--font-weight-medium);
}

/* ===== Patientengruppen ===== */
.la-sektion[b-pgx4vgxyya] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0.75rem;
    margin-bottom: 0.75rem;
}

.la-sektion-kopf[b-pgx4vgxyya] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.la-patient[b-pgx4vgxyya] {
    font-weight: var(--font-weight-medium);
}

.la-geb[b-pgx4vgxyya] {
    font-size: 0.8rem;
}

.la-positionen[b-pgx4vgxyya] {
    font-size: 0.85rem;
    width: 100%;
    table-layout: fixed;
}

/* Feste Spaltenbreiten (Text breit, Zahlen breit genug fuer ihren Wert, Abgleich breit). */
.la-positionen th:nth-child(1)[b-pgx4vgxyya], .la-positionen td:nth-child(1)[b-pgx4vgxyya] { width: 15%; }  /* Leistung */
.la-positionen th:nth-child(2)[b-pgx4vgxyya], .la-positionen td:nth-child(2)[b-pgx4vgxyya] { width: 12%; }  /* Datum / Zeitraum */
.la-positionen th:nth-child(3)[b-pgx4vgxyya], .la-positionen td:nth-child(3)[b-pgx4vgxyya] { width: 13%; }  /* Eingereicht */
.la-positionen th:nth-child(4)[b-pgx4vgxyya], .la-positionen td:nth-child(4)[b-pgx4vgxyya] { width: 9%;  }  /* Satz */
.la-positionen th:nth-child(5)[b-pgx4vgxyya], .la-positionen td:nth-child(5)[b-pgx4vgxyya] { width: 13%; }  /* Erstattung */
.la-positionen th:nth-child(6)[b-pgx4vgxyya], .la-positionen td:nth-child(6)[b-pgx4vgxyya] { width: 8%;  }  /* Hinweis */
.la-positionen th:nth-child(7)[b-pgx4vgxyya], .la-positionen td:nth-child(7)[b-pgx4vgxyya] { width: 30%; }  /* Abgleich */

/* Ueberschriften brechen nur an Leerzeichen (kein Wort-Trennen). */
.la-positionen th[b-pgx4vgxyya] { white-space: normal; }
.la-positionen td[b-pgx4vgxyya] { white-space: normal; }
/* Nur Text-Spalten (Leistung, Abgleich) duerfen hart umbrechen. */
.la-positionen td:nth-child(1)[b-pgx4vgxyya],
.la-positionen td:nth-child(7)[b-pgx4vgxyya] { overflow-wrap: anywhere; }
/* Zahlen-Spalten (Eingereicht, Satz, Erstattung) nie umbrechen - Betrag/Prozent bleiben zusammen. */
.la-positionen td:nth-child(3)[b-pgx4vgxyya],
.la-positionen td:nth-child(4)[b-pgx4vgxyya],
.la-positionen td:nth-child(5)[b-pgx4vgxyya] { white-space: nowrap; }

/* ===== Bearbeiten-Modus (Hausstandard-Formular, vgl. Rechnungen) ===== */
.la-edit-sektion[b-pgx4vgxyya] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0.75rem;
    margin-bottom: 0.75rem;
}

.la-edit-sektion-titel[b-pgx4vgxyya] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: var(--font-weight-medium);
    color: var(--muted-foreground);
    margin-bottom: 0.6rem;
}

.la-edit-gruppe-kopf[b-pgx4vgxyya] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.la-edit-zeile[b-pgx4vgxyya] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem 0.75rem;
}

.la-edit-feld[b-pgx4vgxyya] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.la-edit-feld-voll[b-pgx4vgxyya] {
    grid-column: 1 / -1;
}

.la-edit-positionen-titel[b-pgx4vgxyya] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--muted-foreground);
    margin: 0.85rem 0 0.4rem;
}

.la-edit-position[b-pgx4vgxyya] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0.6rem;
    margin-bottom: 0.5rem;
    background: color-mix(in srgb, var(--muted-foreground) 5%, transparent);
}

.la-edit-position-aktion[b-pgx4vgxyya] {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.4rem;
}

.la-edit-aktionen[b-pgx4vgxyya] {
    display: flex;
    gap: 0.5rem;
    margin: 0.25rem 0 0.75rem;
}

.la-bezeichnung[b-pgx4vgxyya] {
    font-size: 0.78rem;
}

.la-zwischensumme td[b-pgx4vgxyya] {
    font-weight: var(--font-weight-medium);
    border-top: 1px solid var(--border);
}

/* ===== Abgleich-Zelle (Rueckrichtung Position -> Rechnung) =====
   Die Zelle wird per RenderTreeBuilder erzeugt; scoped CSS erreicht sie nur ueber ::deep. */
[b-pgx4vgxyya] .la-treffer {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

[b-pgx4vgxyya] .la-treffer + .la-treffer {
    margin-top: 0.25rem;
}

[b-pgx4vgxyya] .la-treffer-text {
    font-size: 0.78rem;
}

/* Abgleich-Badges duerfen umbrechen (sonst schieben sie die Spalte ueber die Breite). */
.la-positionen[b-pgx4vgxyya]  .badge {
    white-space: normal;
}

/* Schmale Fenster (Split/Overlay, Beleg-anzeigen-Button) stehen gemeinsam in app.css (Detail-Seiten). */
/* /Components/Pages/Leistungsabrechnungen.razor.rz.scp.css */
/* Listenseite der Leistungsabrechnungen - nutzt nur geteilte Klassen (kpi-grid, data-table, card).
   Detail/Editor-Styles liegen in LeistungsabrechnungDetail.razor.css. */
/* /Components/Pages/Login.razor.rz.scp.css */
.login-hint[b-dhgacr5glo] {
    margin-top: 1rem;
    padding: 0.75rem;
    background-color: var(--muted);
    border-left: 3px solid var(--primary);
    font-size: 0.8125rem;
    color: var(--foreground);
}

.login-hint strong[b-dhgacr5glo] {
    color: var(--primary);
}

/* Kennzeichen statt Firmenlogo (privates Werkzeug, Muster DS.FitnessHub) */
.login-logo-box[b-dhgacr5glo] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    background-color: var(--primary);
    color: var(--primary-foreground);
}

.login-logo-text[b-dhgacr5glo] {
    font-size: 2rem;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.02em;
}

/* Ladezustand beim Absenden (js/form-submit-spinner.js, STANDARDS 3.20) */
.login-btn-spinner[b-dhgacr5glo] {
    display: none;
}

.login-btn.is-loading[b-dhgacr5glo] {
    pointer-events: none;
    opacity: 0.85;
}

.login-btn.is-loading .login-btn-spinner[b-dhgacr5glo] {
    display: inline-block;
}
/* /Components/Pages/NichtGefunden.razor.rz.scp.css */
.leer-nicht-gefunden[b-eidj3m1twd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    max-width: 480px;
    margin: 3rem auto 0;
    padding: 2.5rem 2rem;
    color: var(--muted-foreground);
}

.leer-nicht-gefunden h2[b-eidj3m1twd] {
    color: var(--foreground);
    font-size: 1.25rem;
}
/* /Components/Pages/PasswortAendern.razor.rz.scp.css */
.pw-angemeldet[b-a7nvzxg0zk] {
    margin: -0.5rem 0 1rem;
    text-align: center;
    font-size: 0.85rem;
    color: var(--muted-foreground);
}

.pw-weiter[b-a7nvzxg0zk] {
    margin-top: 0.5rem;
    width: 100%;
    text-align: center;
}
/* /Components/Pages/Personen.razor.rz.scp.css */
.pn-form[b-r3zree3961] {
    margin-bottom: 0.25rem;
}

.pn-zeile[b-r3zree3961] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem 0.75rem;
}

.pn-feld[b-r3zree3961] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.pn-fehler[b-r3zree3961] {
    color: var(--destructive, #b00020);
    font-size: 0.85rem;
    margin: 0.6rem 0 0;
}

.pn-loesch-knopf[b-r3zree3961] {
    margin-top: 0.9rem;
}

.pn-loesch-box[b-r3zree3961] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 0.9rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: color-mix(in srgb, var(--destructive, #b00020) 6%, transparent);
}

.pn-loesch-aktionen[b-r3zree3961] {
    display: flex;
    gap: 0.5rem;
}
/* /Components/Pages/RechnungDetail.razor.rz.scp.css */
/* ===== Kopf-Aktionen (Action-Bar) ===== */
.rn-kopf-aktionen[b-uun26a0w7e] {
    display: flex;
    gap: 0.5rem;
}

/* Split-Layout (Editor, Formular-Bereich, Resize-Griff, PDF-Pane) steht gemeinsam in app.css (Detail-Seiten). */

/* ===== Formular-Abschnitte ===== */
.rn-sektion[b-uun26a0w7e] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0.75rem;
    margin-bottom: 0.75rem;
}

.rn-sektion-titel[b-uun26a0w7e] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: var(--font-weight-medium);
    color: var(--muted-foreground);
    margin-bottom: 0.6rem;
}

/* Formularfelder nach Haus-Muster (vgl. FinCenter.vNext .inv-fields): flex-wrap, jedes Feld groessengerecht
   per Breitenklasse, ein Textfeld waechst mit. Felder brechen in die naechste Zeile, statt zu strecken. */
.rn-felder[b-uun26a0w7e] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.1rem;
    align-items: end;
}

.rn-feld[b-uun26a0w7e] {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    min-width: 0;
}

/* Breiten je Feldtyp (an FinCenter angelehnt). */
.rn-w-patient[b-uun26a0w7e] { width: 220px; }
.rn-w-datum[b-uun26a0w7e] { width: 170px; }
.rn-w-betrag[b-uun26a0w7e] { width: 140px; }
.rn-w-status[b-uun26a0w7e] { width: 170px; }
.rn-w-erstattung[b-uun26a0w7e] { width: 200px; }
.rn-w-iban[b-uun26a0w7e] { width: 230px; }
.rn-grow[b-uun26a0w7e] { flex: 1 1 220px; min-width: 200px; }

/* Schnell-Status-Toggle (bezahlt / eingereicht) - grosse, am Handy gut tippbare Flaeche. */
.rn-feld-toggle[b-uun26a0w7e] { width: 230px; }

.rn-toggle[b-uun26a0w7e] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 44px;
    padding: 0 0.9rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--card);
    color: var(--foreground);
    font-size: 0.9rem;
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: background-color .12s, border-color .12s, color .12s;
}

.rn-toggle:hover:not(:disabled)[b-uun26a0w7e] { border-color: var(--primary); }
.rn-toggle:disabled[b-uun26a0w7e] { opacity: .55; cursor: default; }

.rn-toggle.ist-an[b-uun26a0w7e] {
    background: #16a34a;
    border-color: #16a34a;
    color: #fff;
}

@media (max-width: 640px) {
    .rn-feld-toggle[b-uun26a0w7e] { width: 100%; }
}

/* Betragsfeld rechtsbuendig, tabellarische Ziffern. */
.rn-w-betrag .form-input[b-uun26a0w7e] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.rn-uebernahme[b-uun26a0w7e] {
    margin: 0 0 0.6rem;
    font-size: 0.8rem;
    color: var(--muted-foreground);
}

.rn-fehler[b-uun26a0w7e] {
    margin: 0.5rem 0 0;
    color: var(--destructive);
    font-size: 0.85rem;
}

/* ===== Beleg-Bereich ===== */
.rn-beleg-leiste[b-uun26a0w7e] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.rn-upload[b-uun26a0w7e] {
    cursor: pointer;
}

/* InputFile ist eine Kind-Komponente -> das native Datei-Input nur ueber ::deep erreichbar. */
.rn-upload[b-uun26a0w7e]  input {
    display: none;
}

.rn-beleg-aktuell[b-uun26a0w7e] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding: 0.35rem 0.5rem;
    background: var(--secondary);
    border-radius: var(--radius);
    font-size: 0.85rem;
}

.rn-dok-hinweis[b-uun26a0w7e] {
    margin: 0.5rem 0 0;
    font-size: 0.82rem;
}

.rn-dok-liste[b-uun26a0w7e] {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.rn-dok[b-uun26a0w7e] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.5rem;
    background: var(--secondary);
    border-radius: var(--radius);
}

/* Hauptzeile (Icon, Titel, Badges) nimmt den Platz, Aktionen (Paperless, Papierkorb) sitzen rechts. */
.rn-dok-haupt[b-uun26a0w7e] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 1 1 auto;
    min-width: 0;
}

.rn-dok-icon[b-uun26a0w7e] {
    flex: 0 0 auto;
}

.rn-dok-aktionen[b-uun26a0w7e] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 0 0 auto;
}

/* "In Paperless öffnen": beschrifteter Button statt reinem Icon. */
.rn-dok-paperless[b-uun26a0w7e] {
    flex: 0 0 auto;
    gap: 0.4rem;
    white-space: nowrap;
}

.rn-dok-mahnbetrag[b-uun26a0w7e] {
    font-size: 0.8rem;
    white-space: nowrap;
}

/* Mahnstand unter der Zahlungsspur. */
.rn-mahnstand[b-uun26a0w7e] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.rn-mahn-forderung[b-uun26a0w7e] {
    font-size: 0.9rem;
}

/* "An Meine Gesundheit senden" (Teilen) unter der Einreichung. */
.rn-einreichen-teilen[b-uun26a0w7e] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.75rem;
}

.rn-teilen-hinweis[b-uun26a0w7e] {
    font-size: 0.85rem;
}

.rn-dok-aktiv[b-uun26a0w7e] {
    outline: 2px solid var(--primary);
    outline-offset: -2px;
}

.rn-dok-titel[b-uun26a0w7e] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.85rem;
    text-align: left;
}

/* Beleg-Titel als Button (in die Vorschau holen). */
button.rn-dok-link[b-uun26a0w7e] {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--primary);
}

button.rn-dok-link:hover[b-uun26a0w7e] {
    text-decoration: underline;
}

.rn-beleg-name[b-uun26a0w7e] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ===== Abgleich mit der HUK-Leistungsabrechnung ===== */
.rn-abgleich-kopf[b-uun26a0w7e] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem 0.6rem;
    margin-bottom: 0.6rem;
}

.rn-abgleich-huk[b-uun26a0w7e] {
    font-size: 0.82rem;
}

.rn-la[b-uun26a0w7e] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0.5rem 0.6rem;
    margin-bottom: 0.5rem;
}

.rn-la-kopf[b-uun26a0w7e] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.4rem 0.75rem;
    margin-bottom: 0.4rem;
}

.rn-la-link[b-uun26a0w7e] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: var(--font-weight-medium);
}

.rn-la-pos[b-uun26a0w7e] {
    font-size: 0.82rem;
    width: 100%;
}

/* ===== Girocode / Ueberweisung ===== */
.rn-giro-hinweis[b-uun26a0w7e] {
    margin: 0 0 0.75rem;
}

.rn-giro-warnung[b-uun26a0w7e] {
    margin: 0 0 0.6rem;
}

.rn-giro-btn[b-uun26a0w7e] {
    margin-top: 0.85rem;
}

/* Zahldaten kopieren (Chips). */
.rn-giro-kopieren[b-uun26a0w7e] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin: 0.6rem 0;
}

.rn-giro-kopiert[b-uun26a0w7e] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.rn-giro-code[b-uun26a0w7e] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem;
    margin-top: 0.85rem;
}

.rn-giro-teilen[b-uun26a0w7e] {
    flex: 0 0 auto;
}

.rn-giro-teilen-hinweis[b-uun26a0w7e] {
    font-size: 0.85rem;
    flex: 1 1 100%;
}

.rn-giro-qr[b-uun26a0w7e] {
    width: 168px;
    height: 168px;
    image-rendering: pixelated;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: #fff;
    padding: 4px;
}

/* ===== Loesch-Bestaetigung ===== */
.rn-loesch-box[b-uun26a0w7e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border-color: var(--destructive);
}

.rn-loesch-aktionen[b-uun26a0w7e] {
    display: flex;
    gap: 0.5rem;
}

/* Schmale Fenster (Handy): Beleg-Buttons nebeneinander und Beleg-Zeilen gestapelt/lesbar.
   Split-Layout + Vollbild-Overlay (editor, formular-bereich, pdf-pane, schliessen) steht gemeinsam in app.css. */
@media (max-width: 900px) {
    /* "Beleg hochladen" und "Aus Paperless" nebeneinander in einer Zeile (je halbe Breite). */
    .rn-beleg-leiste[b-uun26a0w7e] {
        flex-wrap: nowrap;
    }

    .rn-beleg-leiste > .btn[b-uun26a0w7e] {
        flex: 1 1 0;
        min-width: 0;
        justify-content: center;
        white-space: normal;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    /* Beleg-Zeile gestapelt: Titel voll lesbar (Umbruch statt Ellipsis), Aktionen darunter. */
    .rn-dok[b-uun26a0w7e] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.4rem;
    }

    .rn-dok-haupt[b-uun26a0w7e] {
        flex-wrap: wrap;
    }

    .rn-dok-titel[b-uun26a0w7e] {
        flex: 1 1 100%;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    .rn-dok-aktionen[b-uun26a0w7e] {
        justify-content: flex-start;
    }

    .rn-dok-paperless[b-uun26a0w7e] {
        flex: 1 1 auto;
        justify-content: center;
        min-height: 40px;
    }
}
/* /Components/Pages/Rechnungen.razor.rz.scp.css */
/* ===== Kopf-Aktionen (Action-Bar) ===== */
.rn-kopf-aktionen[b-n32ykvp365] {
    display: flex;
    gap: 0.5rem;
}
/* /Components/Pages/RechnungenImport.razor.rz.scp.css */
.imp-check[b-ck4g75chic] {
    width: 2.4rem;
    text-align: center;
}

/* Abschnittsueberschrift (Rechnungen / Mahnungen). */
.imp-sektion-titel[b-ck4g75chic] {
    font-size: 1rem;
    font-weight: var(--font-weight-medium);
    margin: 1.25rem 0 0.5rem;
}

.imp-sektion-titel:first-child[b-ck4g75chic] {
    margin-top: 0;
}

.imp-sektion-hinweis[b-ck4g75chic] {
    margin: 0 0 0.6rem;
    font-size: 0.85rem;
}

.imp-aktiv[b-ck4g75chic] {
    background: color-mix(in srgb, var(--primary) 4%, transparent);
}

/* Klick auf die ganze Zeile oeffnet die seitliche Beleg-Vorschau. */
.imp-tabelle tbody tr.clickable[b-ck4g75chic] {
    cursor: pointer;
}

.imp-tabelle tbody tr.clickable:hover[b-ck4g75chic] {
    background: color-mix(in srgb, var(--primary) 6%, transparent);
}

/* Zeile, deren Beleg gerade in der Vorschau offen ist. */
.imp-offen[b-ck4g75chic] {
    background: color-mix(in srgb, var(--primary) 12%, transparent);
    box-shadow: inset 3px 0 0 var(--primary);
}

.imp-offen:hover[b-ck4g75chic] {
    background: color-mix(in srgb, var(--primary) 12%, transparent);
}

.imp-titel[b-ck4g75chic] {
    font-weight: var(--font-weight-medium);
    overflow-wrap: anywhere;
}

.imp-art[b-ck4g75chic] {
    font-size: 0.78rem;
}

.imp-patient[b-ck4g75chic] {
    max-width: 240px;
}

.imp-patient.imp-fehlt[b-ck4g75chic] {
    border-color: var(--destructive, #b00020);
}

.imp-hinweis[b-ck4g75chic] {
    font-size: 0.75rem;
    margin-top: 0.2rem;
}

.imp-warnung[b-ck4g75chic] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.75rem;
    color: var(--warn-foreground, #8a6d00);
}

.imp-aktionen[b-ck4g75chic] {
    display: flex;
    gap: 0.5rem;
}

.imp-footer[b-ck4g75chic] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}
/* /Components/Pages/Startseite.razor.rz.scp.css */
.ueb-spalten[b-0g0ll9jy1q] {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 1rem;
    margin-top: 1rem;
    align-items: start;
}

/* Die Aufgaben-Card (.card hat selbst kein Padding) braucht gleichmäßiges Innenabstand. */
.ueb-aufgaben[b-0g0ll9jy1q] {
    padding: 1rem 1.25rem;
}

@media (max-width: 900px) {
    .ueb-spalten[b-0g0ll9jy1q] {
        grid-template-columns: 1fr;
    }
}

.ueb-kopf[b-0g0ll9jy1q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.ueb-titel[b-0g0ll9jy1q] {
    font-size: 1rem;
    font-weight: var(--font-weight-medium);
    margin: 0;
}

.ueb-einstiege > .ueb-titel[b-0g0ll9jy1q] {
    margin-bottom: 0.75rem;
}

.ueb-aufgaben-liste[b-0g0ll9jy1q] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.ueb-aufgaben-liste a[b-0g0ll9jy1q] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.ueb-aufgaben-liste a:hover[b-0g0ll9jy1q] {
    border-color: var(--primary);
    background: color-mix(in srgb, var(--primary) 5%, transparent);
}

.ueb-aufgabe-text[b-0g0ll9jy1q] {
    flex: 1 1 auto;
    min-width: 0;
}

.ueb-go[b-0g0ll9jy1q] {
    color: var(--muted-foreground);
    flex: none;
}

.ueb-tiles[b-0g0ll9jy1q] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.75rem;
}
/* /Components/Shared/Card.razor.rz.scp.css */
.fc-card[b-dy8unun7sg] {
    display: flex;
    flex-direction: column;
}

.fc-card-header[b-dy8unun7sg] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--border);
    font-weight: var(--font-weight-medium);
}

.fc-card-header-spacer[b-dy8unun7sg] {
    flex: 1;
}

.fc-card-body[b-dy8unun7sg] {
    padding: 1.25rem;
}
/* /Components/Shared/DokumentAnzeigeHost.razor.rz.scp.css */
/* Schmales Fenster: Dialog ueber der Seite. */
.dok-seite-hintergrund[b-74dp7ohqwf] {
    position: fixed;
    inset: 0;
    z-index: 1001;
    background: rgba(0, 0, 0, 0.4);
}

.dok-seite[b-74dp7ohqwf] {
    position: fixed;
    inset: 3rem 2rem;
    z-index: 1002;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: var(--card, #fff);
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.dok-seite-kopf[b-74dp7ohqwf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid var(--border, #e5e7eb);
    flex-shrink: 0;
}

.dok-seite-titel[b-74dp7ohqwf] {
    flex: 1;
    min-width: 0;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dok-seite-inhalt[b-74dp7ohqwf] {
    flex: 1 1 0;
    min-height: 0;
}

.dok-seite-fuss[b-74dp7ohqwf] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 1rem;
    border-top: 1px solid var(--border, #e5e7eb);
    flex-shrink: 0;
}

.dok-seite-fuss-platz[b-74dp7ohqwf] {
    flex: 1;
}

/* Griff zum Ziehen der Breite (js/dok-seite.js) - nur als Seitenleiste. */
.dok-seite-griff[b-74dp7ohqwf] {
    display: none;
}

/* Breites Fenster: Seitenleiste rechts neben dem Inhalt (Breite --dok-seite-breite, Schwelle wie in app.css).
   Liegt ueber dem Hintergrund eines offenen Dialogs, damit Beleg und Dialog nebeneinander bedienbar sind. */
@media (min-width: 1600px) {
    .dok-seite-hintergrund[b-74dp7ohqwf] {
        display: none;
    }

    .dok-seite[b-74dp7ohqwf] {
        position: relative;
        inset: auto;
        flex: 0 0 var(--dok-seite-breite);
        width: var(--dok-seite-breite);
        border-radius: 0;
        border-left: 1px solid var(--border, #e5e7eb);
        box-shadow: -2px 0 10px rgba(0, 0, 0, 0.14);
    }

    .dok-seite-griff[b-74dp7ohqwf] {
        display: block;
        position: absolute;
        top: 0;
        left: -2px;
        width: 6px;
        height: 100%;
        cursor: col-resize;
        z-index: 1;
        transition: background-color 0.15s ease;
    }

    .dok-seite-griff:hover[b-74dp7ohqwf] {
        background-color: color-mix(in srgb, var(--primary) 50%, transparent);
    }
}

/* Bilder statt PDF. */
.dok-seite-bild[b-74dp7ohqwf] {
    height: 100%;
    overflow: auto;
    background: #6b7280;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 0.75rem;
}

.dok-seite-bild img[b-74dp7ohqwf] {
    max-width: 100%;
    height: auto;
    background: #fff;
}

.dok-seite-ohne[b-74dp7ohqwf] {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1.5rem;
    text-align: center;
}

.dok-seite-ohne p[b-74dp7ohqwf] {
    margin: 0;
}

/* Handy: Vollbild statt schwebendem Dialog. */
@media (max-width: 700px) {
    .dok-seite-hintergrund[b-74dp7ohqwf] {
        display: none;
    }

    .dok-seite[b-74dp7ohqwf] {
        inset: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .dok-seite-kopf[b-74dp7ohqwf],
    .dok-seite-fuss[b-74dp7ohqwf] {
        padding: 0.5rem 0.75rem;
    }

    .dok-seite-kopf .btn[b-74dp7ohqwf],
    .dok-seite-fuss .btn[b-74dp7ohqwf] {
        min-height: 44px;
    }
}
/* /Components/Shared/Ladegeruest.razor.rz.scp.css */
.lg[b-m4calb9pzn] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    pointer-events: none;
}

.lg-karte[b-m4calb9pzn] {
    padding: 1rem 1.25rem;
}

.lg-text[b-m4calb9pzn] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.875rem;
}

/* Platzhalter gedaempft; die Ladezeile bleibt voll lesbar. */
.lg-kacheln[b-m4calb9pzn],
.lg-zeilen[b-m4calb9pzn],
.lg-tabelle[b-m4calb9pzn],
.lg-sektion-kopf[b-m4calb9pzn],
.lg-sektion-zeilen[b-m4calb9pzn] {
    opacity: 0.6;
}

.lg-kacheln[b-m4calb9pzn] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 1rem;
}

.lg-kachel[b-m4calb9pzn] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.lg-zeilen[b-m4calb9pzn] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.lg-tabelle[b-m4calb9pzn] {
    display: grid;
    gap: 0.85rem 1.25rem;
    align-items: center;
}

.lg-tabelle .lg-kopf[b-m4calb9pzn] {
    width: 50%;
    height: 0.6rem;
    margin-bottom: 0.2rem;
}

.lg-tabelle .lg-num[b-m4calb9pzn] {
    justify-self: end;
}

/* Form "karten": Karten wie die der Seite, Titelzeile mit Symbol, darunter Bezeichnung links und Betrag rechts. */
.lg-sektion[b-m4calb9pzn] {
    padding: 0;
}

.lg-sektion-kopf[b-m4calb9pzn] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border);
}

.lg-sektion-kopf .lg-symbol[b-m4calb9pzn] {
    width: 1rem;
    height: 1rem;
    border-radius: 4px;
}

.lg-sektion-zeilen[b-m4calb9pzn] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 9rem);
    gap: 0.85rem 2rem;
    align-items: center;
    padding: 1rem 1.25rem 1.25rem;
}

.lg-sektion-zeilen .lg-num[b-m4calb9pzn] {
    justify-self: end;
}
/* /Components/Shared/Leerzustand.razor.rz.scp.css */
.leerzustand[b-7uj9hezg92] {
    display: flex;
    align-items: center;
    gap: 0.75rem 1rem;
    padding: 1.1rem 1.25rem;
    color: var(--foreground);
}

.leerzustand-eingebettet[b-7uj9hezg92] {
    padding: 0.6rem 0;
    gap: 0.5rem 0.75rem;
}

.leerzustand[b-7uj9hezg92] >  svg {
    flex: 0 0 auto;
    color: var(--muted-foreground);
}

.leerzustand-erledigt[b-7uj9hezg92] >  svg {
    color: #15803d;
}

.leerzustand-text[b-7uj9hezg92] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    flex: 1 1 auto;
    min-width: 0;
}

.leerzustand-hinweis[b-7uj9hezg92] {
    color: var(--muted-foreground);
    font-size: 0.875rem;
}

.leerzustand-schritt[b-7uj9hezg92] {
    flex: 0 0 auto;
    display: flex;
    gap: 0.5rem;
}

@media (max-width: 700px) {
    .leerzustand[b-7uj9hezg92] {
        flex-wrap: wrap;
    }

    .leerzustand-schritt[b-7uj9hezg92] {
        flex-basis: 100%;
    }
}
/* /Components/Shared/Modal.razor.rz.scp.css */
.modal-backdrop[b-g168m25wam] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 4rem 1.5rem 1.5rem;
    background: rgba(0, 0, 0, 0.4);
    overflow-y: auto;
}

.modal-panel[b-g168m25wam] {
    width: 100%;
    max-width: 560px;
    background: var(--card, #fff);
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 6rem);
}

.modal-wide[b-g168m25wam] {
    max-width: 820px;
}

.modal-xl[b-g168m25wam] {
    max-width: min(1500px, calc(100vw - 4rem));
    height: calc(100vh - 6rem);
}

.modal-xl .modal-body[b-g168m25wam] {
    flex: 1;
    min-height: 0;
}

.modal-header[b-g168m25wam] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid var(--border, #e5e7eb);
}

.modal-title[b-g168m25wam] {
    font-weight: 600;
    flex: 1;
}

.modal-close[b-g168m25wam] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.25rem;
    background: none;
    border: none;
    border-radius: 6px;
    color: var(--muted-foreground, #6b7280);
    cursor: pointer;
}

.modal-close:hover[b-g168m25wam] {
    background: color-mix(in srgb, var(--muted-foreground, #6b7280) 12%, transparent);
    color: inherit;
}

.modal-body[b-g168m25wam] {
    padding: 1.25rem;
    overflow-y: auto;
}

.modal-footer[b-g168m25wam] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0.85rem 1.25rem;
    border-top: 1px solid var(--border, #e5e7eb);
}
/* /Components/Shared/PdfViewer.razor.rz.scp.css */
.pdf-viewer[b-0qlvncp2st] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background-color: var(--background);
    border: 1px solid var(--border);
}

.pdf-toolbar[b-0qlvncp2st] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--border);
    background-color: var(--card);
    flex-shrink: 0;
}

.pdf-page-info[b-0qlvncp2st] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
    white-space: nowrap;
}

.pdf-toolbar-spacer[b-0qlvncp2st] {
    flex: 1;
}

.pdf-container[b-0qlvncp2st] {
    flex: 1 1 0;
    min-height: 0;
    overflow: auto;
    padding: 0.75rem;
    background-color: #808080;
    scrollbar-gutter: stable;
}

/* Space+Drag Pan-Modus */
.pdf-container.pan-ready[b-0qlvncp2st],
.pdf-container.pan-ready *[b-0qlvncp2st] {
    cursor: grab;
    user-select: none;
}

.pdf-container.pan-active[b-0qlvncp2st],
.pdf-container.pan-active *[b-0qlvncp2st] {
    cursor: grabbing !important;
    user-select: none;
}

.pdf-placeholder[b-0qlvncp2st] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    height: 100%;
    color: var(--muted-foreground);
    font-size: 0.875rem;
}

[b-0qlvncp2st] .pdf-loading,
[b-0qlvncp2st] .pdf-error {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    color: #ffffff;
    font-size: 0.875rem;
}

[b-0qlvncp2st] .pdf-error {
    color: var(--destructive);
    background-color: var(--card);
    border-radius: var(--radius);
    margin: 1rem;
}

[b-0qlvncp2st] .pdf-page-wrapper {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    background-color: #ffffff;
    overflow: hidden;
    margin: 0 auto 0.5rem;
}

[b-0qlvncp2st] .pdf-page-wrapper canvas {
    display: block;
}

/* PDF.js textLayer - Positionierung und Selektion */
[b-0qlvncp2st] .textLayer {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    opacity: 0.25;
    line-height: 1.0;
}

[b-0qlvncp2st] .textLayer span,
[b-0qlvncp2st] .textLayer br {
    color: transparent;
    position: absolute;
    white-space: pre;
    transform-origin: 0% 0%;
    cursor: text;
}

[b-0qlvncp2st] .textLayer ::selection {
    background: rgba(12, 93, 166, 0.6);
}
/* /Components/Shared/StatCard.razor.rz.scp.css */
.stat-card[b-igs1wr8wky] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 1.25rem;
    background: var(--card);
    border: 1px solid var(--border);
    text-decoration: none;
    color: var(--foreground);
    transition: background-color 0.12s ease, border-color 0.12s ease;
}

a.stat-card:hover[b-igs1wr8wky] {
    background: var(--secondary);
    border-color: var(--primary);
}

.stat-card-top[b-igs1wr8wky] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--muted-foreground);
    font-size: 0.85rem;
}

.stat-card-value[b-igs1wr8wky] {
    /* Schrift wächst mit der Breite; Beträge werden nie gekürzt und brechen nie um (UI-Rundgang 11). */
    font-size: clamp(1.15rem, 0.9rem + 1.6vw, 1.6rem);
    font-weight: var(--font-weight-medium);
    line-height: 1.1;
    white-space: nowrap;
}

/* Lange Text-Werte (Datum, Ticket, "nicht berechenbar") kleiner und an Leerzeichen umbrechbar statt abgeschnitten */
.stat-lang .stat-card-value[b-igs1wr8wky] {
    font-size: clamp(1rem, 0.85rem + 1vw, 1.15rem);
    white-space: normal;
}

.stat-card[b-igs1wr8wky] {
    min-width: 0;
}

.stat-card-hint[b-igs1wr8wky] {
    font-size: 0.78rem;
    color: var(--muted-foreground);
}

.stat-ok .stat-card-value[b-igs1wr8wky] {
    color: #166534;
}

.stat-warn .stat-card-value[b-igs1wr8wky] {
    color: #854d0e;
}

.stat-bad .stat-card-value[b-igs1wr8wky] {
    color: #991b1b;
}
/* /Components/Shared/TabellenGeruest.razor.rz.scp.css */
.tg-text td[b-4k36o7au56] {
    padding-top: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 0;
}

.tg-lade[b-4k36o7au56] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.875rem;
}

/* Platzhalterzeilen gedaempft, ohne Hover und Klick; Hoehe wie eine echte Zeile. */
.tg-zeile[b-4k36o7au56] {
    opacity: 0.6;
    pointer-events: none;
}

.tg-zeile td[b-4k36o7au56] {
    height: 2.6rem;
    vertical-align: middle;
}

.tg-zeile .skel[b-4k36o7au56] {
    display: block;
    max-width: 100%;
}
/* /Components/Shared/Tile.razor.rz.scp.css */
.tile[b-j93if7k5jq] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 1.25rem;
    background: var(--card);
    border: 1px solid var(--border);
    text-decoration: none;
    color: var(--foreground);
    transition: background-color 0.12s ease, border-color 0.12s ease;
}

a.tile:hover[b-j93if7k5jq] {
    background: var(--secondary);
    border-color: var(--primary);
}

.tile-disabled[b-j93if7k5jq] {
    opacity: 0.85;
}

.tile-head[b-j93if7k5jq] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    font-weight: var(--font-weight-medium);
}

.tile-title[b-j93if7k5jq] {
    flex: 0 1 auto;
    white-space: nowrap;
}

.tile-badge[b-j93if7k5jq] {
    margin-left: auto;
}

.tile-desc[b-j93if7k5jq] {
    font-size: 0.82rem;
    color: var(--muted-foreground);
    line-height: 1.45;
}
