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

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

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

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

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

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

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

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

.header-user[b-1x8p2jwkmh] {
    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-1x8p2jwkmh] {
    background-color: var(--muted);
}

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

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

.header-dropdown[b-1x8p2jwkmh] {
    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-1x8p2jwkmh] {
    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-1x8p2jwkmh] {
    background-color: var(--muted);
    text-decoration: none;
}

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

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

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

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

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

[b-1x8p2jwkmh] .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-1x8p2jwkmh] {
    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-1x8p2jwkmh] {
    justify-content: center;
    padding: 1rem 0.5rem;
}

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

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

.sidebar-toggle-btn[b-1x8p2jwkmh] {
    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-1x8p2jwkmh] {
    background-color: var(--muted);
    color: var(--foreground);
}

.sidebar-nav[b-1x8p2jwkmh] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    /* Kein waagerechter Rollbalken, wenn ein Eintrag breiter ist als die (eingeklappte) Sidebar. */
    overflow-x: hidden;
    /* Reicht die Liste über den Fuß hinaus (AP 7a): schmale, sichtbare Rollleiste und ein Schatten an der Kante, hinter
       der es weitergeht. Die beiden „local“-Verläufe decken den Schatten ab, sobald das Listenende erreicht ist. */
    scrollbar-width: thin;
    scrollbar-color: #6a6a6a transparent;
    background:
        linear-gradient(var(--sidebar) 30%, transparent) top / 100% 2.5rem no-repeat local,
        linear-gradient(transparent, var(--sidebar) 70%) bottom / 100% 2.5rem no-repeat local,
        linear-gradient(rgba(0, 0, 0, 0.7), transparent) top / 100% 1.5rem no-repeat scroll,
        linear-gradient(transparent, rgba(0, 0, 0, 0.7)) bottom / 100% 1.5rem no-repeat scroll;
    background-color: var(--sidebar);
}

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

.sidebar-app-info[b-1x8p2jwkmh] {
    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-1x8p2jwkmh] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity 0.1s ease;
}

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

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

.sidebar-resize-handle[b-1x8p2jwkmh] {
    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-1x8p2jwkmh] {
    background-color: rgba(199, 33, 39, 0.5);
}

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

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

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

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

[b-1x8p2jwkmh] .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-1x8p2jwkmh] .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-1x8p2jwkmh] .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-1x8p2jwkmh] .ablage-title-pfad-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: monospace;
}

[b-1x8p2jwkmh] .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-1x8p2jwkmh] .ablage-pfad-copy:hover {
    color: var(--primary);
}

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

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

/* ---- Jahr-Umschalter (Modul-Kontext) ---- */
.header-jahr[b-1x8p2jwkmh] {
    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-aus[b-1x8p2jwkmh] {
    visibility: hidden;
}

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

.header-jahr-select[b-1x8p2jwkmh] {
    width: auto;
    min-width: 96px;
    font-variant-numeric: tabular-nums;
}

/* Laptop (1281 bis 1440 px): Reiter behalten ihre Namen, dafür fällt das Wort „Schützenjahr“ weg (AP 7a, sonst war die
   Seite bei 1366 px 7 px zu breit). */
@media (max-width: 1440px) {
    .header-jahr-label[b-1x8p2jwkmh] {
        display: none;
    }

    .header-jahr[b-1x8p2jwkmh] {
        margin-left: 1rem;
        padding-left: 1rem;
    }
}

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

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

.header-jahr-btn[b-1x8p2jwkmh] {
    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-1x8p2jwkmh] {
    background: var(--secondary);
    color: var(--primary);
}

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

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

/* ===== Marke: Mini-Stripe (CI 06.1) + Name ===== */
.brand[b-1x8p2jwkmh] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    align-self: stretch;
    padding-right: 0.5rem;
    color: var(--foreground);
    text-decoration: none;
    flex-shrink: 0;
}

.brand:hover[b-1x8p2jwkmh] {
    text-decoration: none;
}

/* 14 px Rot links, 14 px Weiß rechts, symmetrischer Schatten (CI: Mini-Stripe). Läuft über die volle Headerhöhe
   wie die Standarte im CI. */
.mini-stripe[b-1x8p2jwkmh] {
    align-self: stretch;
    width: 28px;
    flex-shrink: 0;
    background: linear-gradient(to right, var(--dlv-rot) 0 50%, #ffffff 50% 100%);
    /* Rote Außenkante rechts (CI: Kontur des Stripes), sonst verschwindet die weiße Hälfte auf dem weißen Header. */
    border-right: 1px solid var(--dlv-rot);
    box-shadow: 0 0 6px 1px rgba(35, 31, 32, 0.18);
}

.brand-text[b-1x8p2jwkmh] {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    white-space: nowrap;
}

.brand-name[b-1x8p2jwkmh] {
    font-size: 1.0625rem;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.01em;
}

.brand-zug[b-1x8p2jwkmh] {
    font-size: 0.75rem;
    color: var(--dlv-rot);
    letter-spacing: 0.02em;
}

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

.header-dropdown-form .header-dropdown-item[b-1x8p2jwkmh] {
    width: 100%;
    border: none;
    background: none;
    font: inherit;
    font-size: 0.875rem;
    text-align: left;
    cursor: pointer;
}
/* Wartungsmodus aktiv (nur Administratoren sehen es, alle anderen die Wartungsseite). */
.wartung-leiste[b-1x8p2jwkmh] {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.3125rem 1rem;
    background: var(--dlv-rot);
    color: #fff;
    font-size: 0.8125rem;
    white-space: nowrap;
}

.wartung-leiste a[b-1x8p2jwkmh] {
    margin-left: 0.5rem;
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 1000px) {
    .wartung-leiste-text[b-1x8p2jwkmh] {
        display: none;
    }
}

/* ===== Mobil (F-175): unter 700 px Menü-Knopf und Off-Canvas statt Reitern und Seitenleiste ===== */
.header-menue[b-1x8p2jwkmh] {
    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-1x8p2jwkmh] {
    position: fixed;
    inset: 0;
    z-index: 900;
    background: rgba(35, 31, 32, 0.35);
}

.mobil-menue[b-1x8p2jwkmh] {
    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(35, 31, 32, 0.3);
    animation: mobil-ein-b-1x8p2jwkmh 0.18s ease-out;
}

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

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

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

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

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

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

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

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

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

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

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

    .header-jahr-btn[b-1x8p2jwkmh] {
        display: none;
    }

    .brand-zug[b-1x8p2jwkmh] {
        display: none;
    }

    /* Platz für Menü, Marke, Schützenjahr und Benutzer auf 390 px */
    .main-header[b-1x8p2jwkmh] {
        padding: 0 0.5rem;
        gap: 0.5rem;
    }

    .brand[b-1x8p2jwkmh] {
        gap: 0.5rem;
        padding-right: 0;
    }

    .mini-stripe[b-1x8p2jwkmh] {
        width: 16px;
    }

    .header-jahr[b-1x8p2jwkmh]  svg {
        display: none;
    }

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

    .header-user[b-1x8p2jwkmh] {
        padding: 0.375rem 0.25rem;
    }
}
/* /Components/Layout/ModuleTabs.razor.rz.scp.css */
.module-tabs[b-epm8oc90iz] {
    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-epm8oc90iz]  .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-epm8oc90iz]  .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-epm8oc90iz]  .module-tab:hover {
    color: var(--foreground);
    background: var(--secondary);
}

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

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

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

/* Schmales Fenster: Reiter nur als Icon (Name im Tooltip), damit Marke und Schützenjahr Platz behalten. */
@media (max-width: 1280px) {
    .module-tabs[b-epm8oc90iz] {
        margin-left: 1rem;
    }

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

    .module-tabs[b-epm8oc90iz]  .module-tab-label {
        display: none;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.nav-menu[b-soxdt9ekl7] {
    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-soxdt9ekl7] {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

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

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

/* Icon darf nicht schrumpfen */
[b-soxdt9ekl7] .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-soxdt9ekl7] .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-soxdt9ekl7]  .nav-link-text {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

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

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

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

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

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

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

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

[b-soxdt9ekl7] .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-soxdt9ekl7] .nav-submenu-toggle:hover {
    background-color: var(--sidebar-accent);
    color: var(--sidebar-accent-foreground);
}

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

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

/* Aufgeklappter Kinder-Block - dunklerer Hintergrund unterstreicht die Gruppe */
[b-soxdt9ekl7] .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-soxdt9ekl7] .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-soxdt9ekl7]  .nav-submenu-children,
.nav-collapsed[b-soxdt9ekl7]  .nav-submenu-chevron,
.nav-collapsed[b-soxdt9ekl7]  .nav-submenu-toggle {
    display: none;
}

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


.nav-section-label[b-soxdt9ekl7] {
    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-soxdt9ekl7] {
    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-soxdt9ekl7] {
    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 */
/* Wie die Wartungsseite und die Anmeldung (Login.razor.css): Papier, Stripe, Wappen auf dem Stripe. */
.zk-wartung[b-lfzqp7qcat] {
    position: relative;
    background-color: var(--dlv-papier);
    overflow: hidden;
    gap: 0;
}

.zk-stripe[b-lfzqp7qcat] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 32px;
    transform: translateX(-50%);
    background: linear-gradient(to right, var(--dlv-rot) 0 50%, #ffffff 50% 100%);
    box-shadow: 0 0 8px 2px rgba(35, 31, 32, 0.22);
}

.zk-wappen[b-lfzqp7qcat] {
    position: relative;
    height: 160px;
    width: auto;
    margin-bottom: -28px;
    z-index: 2;
    filter: drop-shadow(4px 4px 8px rgba(35, 31, 32, 0.30));
}

.zk-wartung-card[b-lfzqp7qcat] {
    position: relative;
    z-index: 1;
    padding-top: 2.75rem;
    border: 1px solid var(--dlv-linie);
    box-shadow: 0 10px 30px rgba(35, 31, 32, 0.12);
    text-align: center;
}

.zk-wartung-eyebrow[b-lfzqp7qcat] {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--dlv-rot);
}

.zk-wartung-titel[b-lfzqp7qcat] {
    margin: 0.25rem 0 0.75rem;
    font-size: 1.5rem;
    font-weight: var(--font-weight-medium);
}

.zk-wartung-text[b-lfzqp7qcat] {
    margin: 0 0 1.5rem;
    color: var(--muted-foreground);
    white-space: pre-line;
}

.zk-wartung .login-footer[b-lfzqp7qcat] {
    position: absolute;
    left: 1.5rem;
    bottom: 1rem;
    margin: 0;
    text-align: left;
    color: var(--dlv-grau);
    opacity: 1;
}

.zk-zurueck[b-lfzqp7qcat] {
    margin-top: 0.5rem;
}
/* /Components/Pages/Auszahlung/AuszahlungBelege.razor.rz.scp.css */
.ab-kopf[b-f6jkdyp2qz] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.ab-kopf label[b-f6jkdyp2qz] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.ab-luecke[b-f6jkdyp2qz] {
    flex: 1;
}

.ab-liste[b-f6jkdyp2qz] {
    padding: 0;
}

.ab-zeile[b-f6jkdyp2qz] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--border);
}

.ab-zeile:last-child[b-f6jkdyp2qz] {
    border-bottom: none;
}

.ab-icon[b-f6jkdyp2qz] {
    display: grid;
    place-items: center;
    flex: none;
    width: 2rem;
    height: 2rem;
    background: var(--dlv-papier);
    color: var(--dlv-rot);
}

.ab-text[b-f6jkdyp2qz] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.ab-name[b-f6jkdyp2qz] {
    font-weight: var(--font-weight-medium);
}

.ab-inhalt[b-f6jkdyp2qz] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.ab-datei[b-f6jkdyp2qz] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
    font-variant-numeric: tabular-nums;
}

.ab-leer[b-f6jkdyp2qz] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
}

.ab-leer .btn[b-f6jkdyp2qz] {
    margin-left: auto;
}

@media (max-width: 1000px) {
    .ab-datei[b-f6jkdyp2qz] {
        display: none;
    }
}

.ab-zeit[b-f6jkdyp2qz] {
    display: flex;
    gap: 0.5rem;
}
/* /Components/Pages/Auszahlung/AuszahlungPeriode.razor.rz.scp.css */
.az[b-umpr6e6wuk] {
    display: flex;
    flex-direction: column;
}

/* ---- Kopf: Periode, Termine, Status ---- */
.az-kopf[b-umpr6e6wuk] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
    background: linear-gradient(to right, var(--dlv-papier), var(--card) 55%);
    border-left: 4px solid var(--primary);
}

.az-kopf-text[b-umpr6e6wuk] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

.az-eyebrow[b-umpr6e6wuk] {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--dlv-rot);
}

.az-titel[b-umpr6e6wuk] {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.15;
}

.az-meta[b-umpr6e6wuk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.az-status[b-umpr6e6wuk] {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    text-align: right;
}

.az-status-label[b-umpr6e6wuk],
.az-status-text[b-umpr6e6wuk] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.az-status-wert[b-umpr6e6wuk] {
    font-size: 1.5rem;
    line-height: 1.1;
}

.az-status-wert.ok[b-umpr6e6wuk] { color: #166534; }
.az-status-wert.laufend[b-umpr6e6wuk] { color: #92400e; }
.az-status-wert.offen[b-umpr6e6wuk] { color: var(--foreground); }

/* ---- Anlegen ---- */
.az-anlegen[b-umpr6e6wuk] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
}

.az-anlegen .btn[b-umpr6e6wuk] {
    margin-left: auto;
}

/* ---- Ablauf: fünf Schritte ---- */
.az-schritte[b-umpr6e6wuk] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.5rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}

.az-schritt[b-umpr6e6wuk] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    height: 100%;
    padding: 0.75rem 0.875rem;
    background: var(--card);
    border: 1px solid var(--border);
    border-bottom-width: 3px;
    color: var(--foreground);
    text-decoration: none;
}

.az-schritt:hover[b-umpr6e6wuk] {
    background: var(--secondary);
}

.az-nr[b-umpr6e6wuk] {
    display: grid;
    place-items: center;
    flex: none;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    background: var(--secondary);
    font-variant-numeric: tabular-nums;
    font-size: 0.875rem;
}

.az-schritt-text[b-umpr6e6wuk] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.az-schritt-name[b-umpr6e6wuk] {
    font-weight: var(--font-weight-medium);
}

.az-schritt-wort[b-umpr6e6wuk] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.az-schritt.erledigt .az-nr[b-umpr6e6wuk] {
    background: #dcfce7;
    color: #166534;
}

.az-schritt.naechster[b-umpr6e6wuk] {
    border-color: var(--primary);
}

.az-schritt.naechster .az-nr[b-umpr6e6wuk] {
    background: var(--primary);
    color: var(--primary-foreground);
}

.az-schritt.aktiv[b-umpr6e6wuk] {
    border-bottom-color: var(--primary);
    background: var(--dlv-papier);
}

/* ---- Teile ---- */
.az-teil[b-umpr6e6wuk] {
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.az-tabelle[b-umpr6e6wuk] {
    padding: 0;
}

.az-teil-titel[b-umpr6e6wuk] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0 0 0.875rem;
    font-size: 1rem;
}

.az-tabelle .az-teil-titel[b-umpr6e6wuk] {
    margin: 0;
    padding: 0.875rem 1rem;
    border-bottom: 1px solid var(--border);
}

.az-luecke[b-umpr6e6wuk] {
    flex: 1;
}

.az-form[b-umpr6e6wuk] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.875rem 1.25rem;
}

.az-form label[b-umpr6e6wuk] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.az-breit[b-umpr6e6wuk] {
    grid-column: 1 / -1;
}

.az-aktionen[b-umpr6e6wuk] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1rem;
}

.az-tabelle .az-aktionen[b-umpr6e6wuk] {
    margin: 0;
    padding: 0.875rem 1rem;
    border-top: 1px solid var(--border);
}

.az-meldung[b-umpr6e6wuk] {
    margin-bottom: 1rem;
    padding: 0.625rem 0.875rem;
    background: #dcfce7;
    color: #166534;
    font-size: 0.875rem;
}

.az-meldung.fehler[b-umpr6e6wuk] {
    background: #fee2e2;
    color: #991b1b;
}

.az-gedaempft[b-umpr6e6wuk] {
    font-size: 0.8125rem;
    font-weight: normal;
    color: var(--muted-foreground);
}

.az-leer[b-umpr6e6wuk] {
    padding: 1rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.az-tag[b-umpr6e6wuk] {
    margin-left: 0.375rem;
}

.az-sonder[b-umpr6e6wuk] {
    display: inline-block;
    margin-right: 0.375rem;
    padding: 0.0625rem 0.375rem;
    font-size: 0.75rem;
    background: var(--dlv-papier);
    color: var(--dlv-grau);
}

.az-hinweis[b-umpr6e6wuk] {
    max-width: 20rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}

.az-minus[b-umpr6e6wuk] { color: #991b1b; }
.az-ok[b-umpr6e6wuk] { color: #166534; }
.az-fett[b-umpr6e6wuk] { font-weight: var(--font-weight-medium); }

.az-w3[b-umpr6e6wuk] { width: 3rem; }
.az-w5[b-umpr6e6wuk] { width: 5rem; }
.az-w6[b-umpr6e6wuk] { width: 6rem; }
.az-w8[b-umpr6e6wuk] { width: 8rem; }
.az-w9[b-umpr6e6wuk] { width: 9rem; }
.az-w14[b-umpr6e6wuk] { width: 14rem; }

/* ---- Stückelung ---- */
.az-rollen[b-umpr6e6wuk] {
    overflow-x: auto;
}

.az-stk[b-umpr6e6wuk] {
    min-width: 980px;
}

.az-wert[b-umpr6e6wuk] {
    width: 4.5rem;
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
}

.az-anzahl[b-umpr6e6wuk] {
    width: 4rem;
    padding: 0.25rem 0.375rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.az-klein[b-umpr6e6wuk] {
    padding: 0.25rem 0.375rem;
}

.az-offen td[b-umpr6e6wuk] {
    background: #fffbeb;
}

.az-summe td[b-umpr6e6wuk] {
    padding: 0.625rem 0.75rem;
    font-weight: var(--font-weight-medium);
    border-top: 2px solid var(--border);
    font-variant-numeric: tabular-nums;
}

.az-zahl[b-umpr6e6wuk] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* ---- Abheben, Auszahlen ---- */
.az-zweispaltig[b-umpr6e6wuk] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem;
}

.az-liste[b-umpr6e6wuk] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.5rem 1.5rem;
    margin: 0;
    align-content: start;
}

.az-liste dd[b-umpr6e6wuk] {
    margin: 0;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.az-unter[b-umpr6e6wuk] {
    margin-bottom: 0.375rem;
    font-weight: var(--font-weight-medium);
}

.az-namen[b-umpr6e6wuk] {
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
    font-size: 0.875rem;
}

.az-namen li[b-umpr6e6wuk] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.3rem 0;
    border-bottom: 1px solid var(--border);
}

/* ---- Buchen ---- */
.az-buchung[b-umpr6e6wuk] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.az-gebucht td[b-umpr6e6wuk] {
    color: var(--muted-foreground);
}

@media (max-width: 1100px) {
    .az-schritte[b-umpr6e6wuk] {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.25rem;
    }

    .az-schritt[b-umpr6e6wuk] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.375rem;
        padding: 0.5rem 0.625rem;
    }

    .az-form[b-umpr6e6wuk] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .az-zweispaltig[b-umpr6e6wuk] {
        grid-template-columns: 1fr;
    }

    .az-kopf[b-umpr6e6wuk] {
        flex-wrap: wrap;
    }
}

.az-links[b-umpr6e6wuk] {
    margin-right: auto;
}

.az-block[b-umpr6e6wuk] {
    display: block;
    margin-top: 0.125rem;
}

/* ---- Buchungsplan: stimmige Zeilen als zugeklappte Gruppe ---- */
.az-plan[b-umpr6e6wuk] {
    table-layout: fixed;
}

.az-gruppe[b-umpr6e6wuk] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem 1rem;
    border: none;
    border-top: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    cursor: pointer;
    text-align: left;
}

.az-gruppe:hover[b-umpr6e6wuk] {
    background: var(--secondary);
}

.az-art-tag[b-umpr6e6wuk] {
    display: none;
    margin-right: 0.375rem;
    padding: 0 0.375rem;
    font-size: 0.75rem;
    background: var(--dlv-papier);
    color: var(--dlv-grau);
}

/* Schmal: Art als Tag in der Buchungszelle, nur Kontonummern, Text einzeilig. */
@media (max-width: 1000px) {
    .az-art[b-umpr6e6wuk] {
        display: none;
    }

    .az-art-tag[b-umpr6e6wuk] {
        display: inline-block;
    }

    .az-kname[b-umpr6e6wuk] {
        display: none;
    }

    .az-text[b-umpr6e6wuk] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .az-w14[b-umpr6e6wuk] {
        width: 10rem;
    }
}
/* /Components/Pages/BenutzerEinstellung.razor.rz.scp.css */
.bn-hinweis[b-ywrw235dox] {
    margin: 0 0 1rem;
    max-width: 60rem;
    font-size: 0.9rem;
}

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

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

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

.bn-form label.bn-check[b-ywrw235dox] {
    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-ywrw235dox] {
    margin: 0.5rem 0 0;
    color: var(--destructive);
}
/* /Components/Pages/Buchhaltung/BankimportUpload.razor.rz.scp.css */
/* ---- Schritte ---- */
.bi-schritte[b-krbug31c2k] {
    display: flex;
    gap: 0.5rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.bi-schritte li[b-krbug31c2k] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.875rem 0.375rem 0.375rem;
    background: var(--card);
    border: 1px solid var(--border);
}

.bi-schritte li span[b-krbug31c2k] {
    display: grid;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: var(--muted);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
}

.bi-schritte li.aktiv[b-krbug31c2k] {
    color: var(--foreground);
    border-color: var(--primary);
}

.bi-schritte li.aktiv span[b-krbug31c2k] {
    background: var(--primary);
    color: #fff;
}

.bi-schritte li.erledigt span[b-krbug31c2k] {
    background: #dcfce7;
    color: #166534;
}

/* ---- Ablagefläche ---- */
.bi-ablage[b-krbug31c2k] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1.5rem;
    border: 2px dashed var(--dlv-linie);
    background: color-mix(in srgb, var(--dlv-papier) 35%, var(--card));
    color: var(--dlv-rot);
    cursor: pointer;
    text-align: center;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.bi-ablage:hover[b-krbug31c2k],
.bi-liest[b-krbug31c2k] {
    border-color: var(--primary);
    background: color-mix(in srgb, var(--dlv-papier) 60%, var(--card));
}

.bi-ablage-titel[b-krbug31c2k] {
    font-size: 1.125rem;
    color: var(--foreground);
}

.bi-ablage-text[b-krbug31c2k] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

/* Das echte Dateifeld liegt unsichtbar über der ganzen Fläche (Klick und Ziehen). */
.bi-ablage[b-krbug31c2k]  .bi-datei {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

/* ---- Vorschau ---- */
.bi-kennzahlen[b-krbug31c2k] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.bi-datei-karte[b-krbug31c2k] {
    padding: 0;
    margin-bottom: 0.75rem;
}

.bi-datei-kopf[b-krbug31c2k] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--border);
}

.bi-datei-name[b-krbug31c2k] {
    font-weight: var(--font-weight-medium);
}

.bi-datei-meta[b-krbug31c2k] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.bi-datei-text[b-krbug31c2k] {
    padding: 0.625rem 1.25rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.bi-tabelle[b-krbug31c2k] {
    table-layout: fixed;
}

.bi-tabelle th:nth-child(1)[b-krbug31c2k] { width: 7rem; }
.bi-tabelle th:nth-child(2)[b-krbug31c2k] { width: 6.5rem; }
.bi-tabelle th:nth-child(3)[b-krbug31c2k] { width: 18%; }
.bi-tabelle th:nth-child(5)[b-krbug31c2k] { width: 7.5rem; }
.bi-tabelle th:nth-child(6)[b-krbug31c2k] { width: 30%; }

.bi-hinweis[b-krbug31c2k] {
    margin-left: 0.25rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

/* ---- Ergebnis ---- */
.bi-ergebnis[b-krbug31c2k] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.5rem;
    border-left: 4px solid #166534;
}

.bi-zahlen[b-krbug31c2k] {
    display: flex;
    gap: 2rem;
}

.bi-zahlen div[b-krbug31c2k] {
    display: flex;
    flex-direction: column;
}

.bi-zahlen strong[b-krbug31c2k] {
    font-size: 1.5rem;
    font-variant-numeric: tabular-nums;
}

.bi-zahlen span[b-krbug31c2k] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.bi-aktionen[b-krbug31c2k] {
    display: flex;
    gap: 0.5rem;
}

/* Erneut prüfen neben der Fehlermeldung (AP 9d): die Dateien bleiben gewählt. */
.bi-erneut[b-krbug31c2k] {
    margin-left: 0.75rem;
}
/* /Components/Pages/Buchhaltung/Bankumsaetze.razor.rz.scp.css */
.bu-rahmen[b-i6py64mdfv] {
    overflow-x: auto;
}

.bu[b-i6py64mdfv] {
    min-width: 960px;
}

.bu-nr[b-i6py64mdfv] {
    margin-left: 0.25rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
    font-variant-numeric: tabular-nums;
}

.bu-summe td[b-i6py64mdfv] {
    padding: 0.625rem 0.75rem;
    font-weight: var(--font-weight-medium);
    border-top: 2px solid var(--border);
    background: var(--secondary);
}

.bu-verknuepfen[b-i6py64mdfv] {
    margin-left: 0.375rem;
    padding: 0.0625rem 0.5rem;
    font-size: 0.75rem;
}

/* Zweite Zeile (IBAN der Gegenpartei, Vereinskonto) und Referenz (F-041) */
.bu-zweizeilig[b-i6py64mdfv] {
    overflow: hidden;
}

.bu-zweizeilig > span[b-i6py64mdfv] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bu-zweit[b-i6py64mdfv] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
    font-variant-numeric: tabular-nums;
}

.bu-ref[b-i6py64mdfv] {
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 0.75rem;
}

/* Posten eines Sammelpostens (Paket 7), eingerückt unter dem Umsatz */
.bu-posten td[b-i6py64mdfv] {
    background: var(--muted);
    font-size: 0.8125rem;
}

.bu-posten-nr[b-i6py64mdfv] {
    padding-left: 1.5rem !important;
    color: var(--muted-foreground);
}

.bu-art[b-i6py64mdfv] {
    font-style: italic;
    color: var(--muted-foreground);
}

/* Schmales Fenster: Referenzspalte aus (Filter „Ref. / Nr.“ entfällt mit), damit der Verwendungszweck Platz behält. */
@media (max-width: 1100px) {
    .bu col:nth-child(5)[b-i6py64mdfv],
    .bu th:nth-child(5)[b-i6py64mdfv],
    .bu td:nth-child(5)[b-i6py64mdfv] {
        display: none;
    }

    .bu col:nth-child(1)[b-i6py64mdfv] { width: 6.75rem !important; }
    .bu col:nth-child(2)[b-i6py64mdfv] { width: 5.75rem !important; }
    .bu col:nth-child(3)[b-i6py64mdfv] { width: 24% !important; }
    .bu col:nth-child(6)[b-i6py64mdfv] { width: 6.5rem !important; }
    .bu col:nth-child(7)[b-i6py64mdfv] { width: 7.5rem !important; }

    .bu[b-i6py64mdfv]  th .th-label {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}
/* /Components/Pages/Buchhaltung/BuchungDialog.razor.rz.scp.css */
.bd-zahl[b-bzunegz99x] {
    font-variant-numeric: tabular-nums;
}

/* ---- Status als Wort oben ---- */
.bd-status[b-bzunegz99x] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.bd-status-text[b-bzunegz99x] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

/* ---- Buchungssatz: Soll an Haben, Betrag groß ---- */
.bd-satz[b-bzunegz99x] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.25rem 1.5rem;
    padding: 1rem 1.25rem;
    background: linear-gradient(to right, var(--dlv-papier), var(--card) 70%);
    border-left: 3px solid var(--primary);
}

.bd-satz-zeile[b-bzunegz99x] {
    grid-column: 1;
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
    min-width: 0;
}

.bd-satz-label[b-bzunegz99x] {
    flex: 0 0 4.5rem;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted-foreground);
}

.bd-konto[b-bzunegz99x] {
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
}

.bd-konto-name[b-bzunegz99x] {
    color: var(--muted-foreground);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bd-betrag[b-bzunegz99x] {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    font-size: 1.75rem;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.bd-einheit[b-bzunegz99x] {
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

/* ---- Felder als Liste ---- */
.bd-felder[b-bzunegz99x] {
    display: grid;
    grid-template-columns: 9rem 1fr;
    gap: 0.375rem 1rem;
    margin: 1rem 0 0;
    font-size: 0.875rem;
}

.bd-felder dt[b-bzunegz99x] {
    color: var(--muted-foreground);
}

.bd-felder dd[b-bzunegz99x] {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.bd-bisher[b-bzunegz99x] {
    margin-left: 0.625rem;
    padding: 0.0625rem 0.375rem;
    font-size: 0.75rem;
    color: var(--dlv-grau);
    background: var(--dlv-papier);
    text-decoration: line-through;
    text-decoration-color: color-mix(in srgb, var(--dlv-grau) 50%, transparent);
}

/* ---- Bankumsatz ---- */
.bd-abschnitt[b-bzunegz99x] {
    margin: 1.25rem 0 0.5rem;
    font-size: 0.875rem;
}

.bd-leer[b-bzunegz99x] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.bd-umsatz[b-bzunegz99x] {
    padding: 0.625rem 0.875rem;
    border: 1px solid var(--border);
}

.bd-umsatz + .bd-umsatz[b-bzunegz99x] {
    margin-top: 0.5rem;
}

.bd-umsatz-kopf[b-bzunegz99x] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-size: 0.875rem;
}

.bd-umsatz-name[b-bzunegz99x] {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bd-umsatz-zweck[b-bzunegz99x] {
    margin-top: 0.375rem;
    font-size: 0.8125rem;
}

.bd-umsatz-fuss[b-bzunegz99x] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 1rem;
    margin-top: 0.375rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.bd-beleg[b-bzunegz99x] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: auto;
    color: var(--primary);
    text-decoration: none;
}

.bd-beleg:hover[b-bzunegz99x] {
    text-decoration: underline;
}

/* ---- Eingabe ---- */
.bd-form[b-bzunegz99x] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.875rem 1.25rem;
}

.bd-feld[b-bzunegz99x] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.bd-breit[b-bzunegz99x] {
    grid-column: 1 / -1;
}

.bd-periode[b-bzunegz99x] {
    display: grid;
    grid-template-columns: 5rem 1fr;
    gap: 0.5rem;
}

/* ---- Prüfungen der Vorschau ---- */
.bd-pruefungen[b-bzunegz99x] {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    border-top: 1px solid var(--border);
}

.bd-pruefungen li[b-bzunegz99x] {
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--border);
    font-size: 0.875rem;
}

.bd-punkt[b-bzunegz99x] {
    flex: 0 0 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    transform: translateY(-0.05rem);
}

.ok .bd-punkt[b-bzunegz99x] { background: #166534; }
.fehler .bd-punkt[b-bzunegz99x] { background: #991b1b; }
.hinweis .bd-punkt[b-bzunegz99x] { background: #ca8a04; }

.bd-pruefung-titel[b-bzunegz99x] {
    flex: 0 0 10rem;
}

.bd-pruefung-text[b-bzunegz99x] {
    color: var(--muted-foreground);
}

.fehler .bd-pruefung-text[b-bzunegz99x] {
    color: #991b1b;
}

.bd-fehler[b-bzunegz99x] {
    margin-top: 1rem;
    padding: 0.625rem 0.875rem;
    background: #fee2e2;
    color: #991b1b;
    font-size: 0.875rem;
}

.bd-fuss-luecke[b-bzunegz99x] {
    flex: 1;
}

@media (max-width: 700px) {
    .bd-form[b-bzunegz99x] {
        grid-template-columns: 1fr;
    }
}

/* ---- Storno ---- */
.bd-verweis[b-bzunegz99x] {
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    color: var(--primary);
    cursor: pointer;
    font-variant-numeric: tabular-nums;
}

.bd-verweis:hover[b-bzunegz99x] {
    text-decoration: underline;
}

.bd-storno-periode[b-bzunegz99x] {
    max-width: 12rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.bd-storno-option[b-bzunegz99x] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.375rem;
    color: var(--foreground);
    cursor: pointer;
}

.bd-umsatz-oben[b-bzunegz99x] {
    margin-bottom: 1rem;
    background: color-mix(in srgb, #dbeafe 35%, transparent);
}

/* Zuordnungsregel als Wort (Paket 7) */
.bd-umsatz-regel[b-bzunegz99x] {
    margin-top: 0.375rem;
    font-size: 0.8125rem;
    color: var(--primary);
}

.bd-regel[b-bzunegz99x] {
    margin-left: 0.5rem;
}

/* Mit Bankumsatz verknüpft (AP 8b) */
.bd-bankhinweis[b-bzunegz99x] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0 0 0.75rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
    background: var(--dlv-papier);
    color: var(--foreground);
}

.bd-bankhinweis[b-bzunegz99x]  svg {
    flex-shrink: 0;
    margin-top: 0.125rem;
}
/* /Components/Pages/Buchhaltung/Journal.razor.rz.scp.css */
.jn-nr[b-j07dqdvjvl] {
    color: var(--muted-foreground);
}

.jn-konto[b-j07dqdvjvl] {
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
}

/* Konto zweizeilig: Nummer oben, Name klein darunter, umbrechend statt abgeschnitten. */
.jn-kontozelle[b-j07dqdvjvl] {
    line-height: 1.25;
}

.jn-kontozelle .jn-konto[b-j07dqdvjvl] {
    display: block;
}

.jn-konto-name[b-j07dqdvjvl] {
    display: block;
    font-size: 0.75rem;
    color: var(--muted-foreground);
    overflow-wrap: anywhere;
}

/* Belegdatum in einem anderen Monat als die Buchungsperiode (bewusste Zuordnung im Bestand). */
.jn-abweichend[b-j07dqdvjvl] {
    color: var(--dlv-grau);
    font-style: italic;
}

.jn-tag[b-j07dqdvjvl] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.0625rem 0.375rem;
    font-size: 0.75rem;
    background: var(--dlv-papier);
    color: var(--dlv-grau);
}

/* Storno (Paket 7): Original und Gegenbuchung heben sich auf, Text tritt zurück, Status als Wort davor. */
.jn-storno-zeile[b-j07dqdvjvl] {
    color: var(--muted-foreground);
}

.jn-storno[b-j07dqdvjvl] {
    display: inline-block;
    margin-right: 0.375rem;
    padding: 0 0.3125rem;
    font-size: 0.6875rem;
    line-height: 1.25rem;
    color: #92400e;
    background: #fef3c7;
}

.jn-tag-leer[b-j07dqdvjvl] {
    background: none;
    color: var(--muted-foreground);
}

.jn-tag-bank[b-j07dqdvjvl] {
    background: #dbeafe;
    color: #1e40af;
}

.jn-tag[b-j07dqdvjvl]  svg {
    width: 12px;
    height: 12px;
}

.jn-summe td[b-j07dqdvjvl] {
    padding: 0.625rem 0.75rem;
    font-weight: var(--font-weight-medium);
    border-top: 2px solid var(--border);
    background: var(--secondary);
}

.jn-kopf[b-j07dqdvjvl] {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
    min-width: 0;
}

.jn-kopf strong[b-j07dqdvjvl] {
    color: var(--foreground);
    font-variant-numeric: tabular-nums;
}

.jn-chip[b-j07dqdvjvl] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.125rem 0.25rem 0.125rem 0.5rem;
    background: color-mix(in srgb, var(--primary) 10%, transparent);
    color: var(--primary);
    white-space: nowrap;
}

.jn-chip button[b-j07dqdvjvl] {
    border: none;
    background: none;
    color: inherit;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
}

.jn-alle[b-j07dqdvjvl] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin-right: 0.5rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
    white-space: nowrap;
    cursor: pointer;
}

/* Schmale Fenster: alle Spalten bleiben lesbar, die Tabelle scrollt waagerecht. */
.journal-rahmen[b-j07dqdvjvl] {
    overflow-x: auto;
}

.journal[b-j07dqdvjvl] {
    min-width: 1080px;
}

/* Spaltenbreiten; die Buchungstext-Spalte nimmt den Rest. */
.jn-c-wahl[b-j07dqdvjvl] { width: 2.5rem; }
.jn-c-nr[b-j07dqdvjvl] { width: 6.25rem; }
.jn-c-periode[b-j07dqdvjvl] { width: 6.25rem; }
.jn-c-datum[b-j07dqdvjvl] { width: 7.75rem; }
.jn-c-soll[b-j07dqdvjvl], .jn-c-haben[b-j07dqdvjvl] { width: 14%; }
.jn-c-betrag[b-j07dqdvjvl] { width: 8.5rem; }
.jn-c-herkunft[b-j07dqdvjvl] { width: 7rem; }

/* Haben unter Soll („an 70017“), nur in der kompakten Darstellung (AP 9c). */
.jn-an[b-j07dqdvjvl] { display: none; }
.jn-an-wort[b-j07dqdvjvl] { font-weight: normal; color: var(--muted-foreground); }

/* Auswahlspalte (Mehrfach-Löschen, F-028) */
.jn-wahl[b-j07dqdvjvl] {
    text-align: center;
    padding-left: 0.5rem !important;
    padding-right: 0 !important;
}

.jn-wahl input[b-j07dqdvjvl] {
    width: 1rem;
    height: 1rem;
    cursor: pointer;
    accent-color: var(--primary);
}

.jn-auswahl[b-j07dqdvjvl] {
    font-size: 0.875rem;
    white-space: nowrap;
}

.jn-loesch-hinweis[b-j07dqdvjvl] {
    margin: 0 0 0.75rem;
}

.jn-loesch-liste[b-j07dqdvjvl] {
    max-height: 22rem;
    overflow: auto;
    border: 1px solid var(--border);
}

.jn-loesch-grund[b-j07dqdvjvl] {
    margin-left: 0.375rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.jn-loesch-fehler[b-j07dqdvjvl] {
    margin-top: 0.75rem;
    color: var(--destructive);
}

/* Filter Erfassungszeitpunkt (F-019) in der Aktionsleiste */
.jn-erfasst[b-j07dqdvjvl] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    min-width: 0;
}

.jn-erfasst-label[b-j07dqdvjvl] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.jn-erfasst[b-j07dqdvjvl]  .th-date-trigger {
    min-width: 8.5rem;
}

/* Schmale Fenster und Tablet (AP 8d, AP 9c): Haben steht unter Soll („an 70017“), bis 1100 px werden die Spalten schmaler, die
   Tabelle passt ohne waagerechtes Rollen; Text und beide Konten sind sichtbar. Bis 900 px entfallen Auswahl und Herkunft.
   Erst auf dem Handy rollt die Tabelle wieder; Betrag bleibt dann rechts stehen, der Schatten zeigt, dass links mehr kommt. */
@media (max-width: 1400px) {
    .journal[b-j07dqdvjvl] { min-width: 0; }
    .jn-c-soll[b-j07dqdvjvl] { width: 10rem; }

    .jn-c-haben[b-j07dqdvjvl],
    .journal thead th:nth-child(7)[b-j07dqdvjvl],
    .journal tbody tr.clickable > td:nth-child(7)[b-j07dqdvjvl],
    .jn-summe > td:nth-child(3)[b-j07dqdvjvl] {
        display: none;
    }

    .jn-an[b-j07dqdvjvl] { display: block; margin-top: 0.25rem; }

    /* Kontonamen einzeilig, damit die Zeilen mit zwei Konten nicht hoch werden; der volle Name steht im Dialog. */
    .jn-kontozelle .jn-konto-name[b-j07dqdvjvl] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

@media (max-width: 1100px) {
    .jn-c-nr[b-j07dqdvjvl] { width: 4.75rem; }
    .jn-c-periode[b-j07dqdvjvl] { width: 5.75rem; }
    .jn-c-datum[b-j07dqdvjvl] { width: 7rem; }
    .jn-c-betrag[b-j07dqdvjvl] { width: 6.5rem; }
    .jn-c-herkunft[b-j07dqdvjvl] { width: 6rem; }
}

@media (max-width: 900px) {
    .journal[b-j07dqdvjvl] { min-width: 31rem; }
    .jn-c-nr[b-j07dqdvjvl] { width: 4rem; }
    .jn-c-periode[b-j07dqdvjvl] { width: 5rem; }
    .jn-c-datum[b-j07dqdvjvl] { width: 6.5rem; }
    .jn-c-soll[b-j07dqdvjvl] { width: 8.5rem; }
    .jn-c-betrag[b-j07dqdvjvl] { width: 6rem; }

    .jn-c-wahl[b-j07dqdvjvl],
    .jn-c-herkunft[b-j07dqdvjvl],
    .journal thead th:nth-child(1)[b-j07dqdvjvl],
    .journal thead th:nth-child(9)[b-j07dqdvjvl],
    .journal tbody tr.clickable > td:nth-child(1)[b-j07dqdvjvl],
    .journal tbody tr.clickable > td:nth-child(9)[b-j07dqdvjvl],
    .jn-summe > td:nth-child(1)[b-j07dqdvjvl],
    .jn-summe > td:nth-child(5)[b-j07dqdvjvl] {
        display: none;
    }

    .journal thead th:nth-child(8)[b-j07dqdvjvl],
    .journal tbody tr.clickable > td:nth-child(8)[b-j07dqdvjvl],
    .jn-summe > td:nth-child(4)[b-j07dqdvjvl] {
        position: sticky;
        right: 0;
        z-index: 1;
        box-shadow: -10px 0 10px -8px rgba(0, 0, 0, 0.25);
    }

    .journal thead th:nth-child(8)[b-j07dqdvjvl] { background-color: var(--card); }
    .journal tbody tr.clickable > td:nth-child(8)[b-j07dqdvjvl] { background-color: inherit; }
}
/* /Components/Pages/Buchhaltung/Saldenuebertrag.razor.rz.scp.css */
.su-einstellung[b-vkc6oy9kwh] {
    display: grid;
    grid-template-columns: 14rem 9rem minmax(0, 1fr) auto;
    align-items: end;
    gap: 0.875rem 1.25rem;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.su-einstellung label[b-vkc6oy9kwh] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.su-einstellung .su-nur[b-vkc6oy9kwh] {
    flex-direction: row;
    padding-bottom: 0.5rem;
}

.su-text[b-vkc6oy9kwh] {
    grid-column: span 3;
}

.su-weg[b-vkc6oy9kwh] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--muted-foreground);
    align-self: end;
}

.su-periode[b-vkc6oy9kwh] {
    padding: 0.375rem 0.75rem;
    font-size: 1.125rem;
    font-variant-numeric: tabular-nums;
    color: var(--foreground);
    background: var(--dlv-papier);
}

.su-rahmen[b-vkc6oy9kwh] {
    overflow-x: auto;
}

.su[b-vkc6oy9kwh] {
    min-width: 720px;
}

.su-haken[b-vkc6oy9kwh] {
    width: 2.5rem;
}

.su-nr[b-vkc6oy9kwh] {
    display: inline-block;
    min-width: 3.25rem;
    color: var(--muted-foreground);
    font-variant-numeric: tabular-nums;
}

.su-gedaempft[b-vkc6oy9kwh] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.su-aus td[b-vkc6oy9kwh] {
    color: var(--muted-foreground);
}

.su-vorschau[b-vkc6oy9kwh] {
    margin-top: 1rem;
    padding: 1rem 1.25rem;
}

.su-vorschau-kopf[b-vkc6oy9kwh] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
}

.su-pruefungen[b-vkc6oy9kwh] {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--border);
}

.su-pruefungen li[b-vkc6oy9kwh] {
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--border);
    font-size: 0.875rem;
}

.su-punkt[b-vkc6oy9kwh] {
    flex: 0 0 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
}

.ok .su-punkt[b-vkc6oy9kwh] { background: #166534; }
.fehler .su-punkt[b-vkc6oy9kwh] { background: #991b1b; }
.fehler .su-gedaempft[b-vkc6oy9kwh] { color: #991b1b; }

.su-titel[b-vkc6oy9kwh] {
    flex: 0 0 9rem;
}

@media (max-width: 1100px) {
    .su-einstellung[b-vkc6oy9kwh] {
        grid-template-columns: 1fr 1fr;
    }

    .su-weg[b-vkc6oy9kwh] {
        grid-column: 1 / -1;
    }

    .su-text[b-vkc6oy9kwh] {
        grid-column: 1 / -1;
    }
}

/* Übertrag von Hand (F-071): Eingabe rechtsbündig, von Hand geänderte Werte markiert */
.su-betrag[b-vkc6oy9kwh] {
    display: inline-block;
    width: 7.5rem;
}

.su-manuell[b-vkc6oy9kwh]  input {
    border-color: var(--dlv-rot);
    font-weight: var(--font-weight-medium);
}
/* /Components/Pages/Buchhaltung/Sammelbuchungen.razor.rz.scp.css */
.sb-rahmen[b-owiforygdu] {
    overflow-x: auto;
}

.sb[b-owiforygdu] {
    min-width: 1000px;
}

.sb-nr[b-owiforygdu],
.sb-name[b-owiforygdu] {
    color: var(--muted-foreground);
}

.sb-konto[b-owiforygdu] {
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
}
/* /Components/Pages/Buchhaltung/SammelDialog.razor.rz.scp.css */
.sd-status[b-4oxeub9evf] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.sd-text[b-4oxeub9evf] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.sd-kopf[b-4oxeub9evf] {
    display: grid;
    grid-template-columns: 2fr 1fr 1.5fr 1fr;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: linear-gradient(to right, var(--dlv-papier), var(--card) 70%);
    border-left: 3px solid var(--primary);
}

.sd-kopf > div[b-4oxeub9evf] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.sd-label[b-4oxeub9evf] {
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted-foreground);
}

.sd-betrag strong[b-4oxeub9evf] {
    font-size: 1.25rem;
    font-variant-numeric: tabular-nums;
}

.sd-hinweis[b-4oxeub9evf] {
    margin-top: 0.75rem;
    padding: 0.5rem 0.875rem;
    background: var(--dlv-papier);
    color: var(--dlv-grau);
    font-size: 0.8125rem;
}

.sd-tabelle[b-4oxeub9evf] {
    margin-top: 1rem;
}

.sd-nr[b-4oxeub9evf] {
    display: inline-block;
    min-width: 3.25rem;
    color: var(--muted-foreground);
    font-variant-numeric: tabular-nums;
}

.sd-haken[b-4oxeub9evf] {
    width: 2.25rem;
}

.sd-aus td[b-4oxeub9evf] {
    color: var(--muted-foreground);
}

.sd-abschnitt[b-4oxeub9evf] {
    margin: 1.25rem 0 0;
    font-size: 0.875rem;
}

.sd-form[b-4oxeub9evf] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.875rem 1.25rem;
}

.sd-form label[b-4oxeub9evf],
.sd-form > div[b-4oxeub9evf] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

/* Schalter (Radio, Checkbox) bleiben neben ihrem Text, auch innerhalb der spaltigen Formular-Labels. */
.sd-form label.st-schalter[b-4oxeub9evf] {
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}

.sd-breit[b-4oxeub9evf] {
    grid-column: 1 / -1;
}

.sd-form .sd-wahl[b-4oxeub9evf] {
    flex-direction: row;
    gap: 1.5rem;
}

.sd-periode[b-4oxeub9evf] {
    display: grid;
    grid-template-columns: 5rem 1fr;
    gap: 0.5rem;
}

.sd-tag[b-4oxeub9evf] {
    grid-template-columns: 1fr 5rem;
}

.sd-platzhalter[b-4oxeub9evf] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.sd-platzhalter span[b-4oxeub9evf] {
    padding: 0.0625rem 0.375rem;
    background: var(--dlv-papier);
    color: var(--dlv-grau);
}

.sd-pruefungen[b-4oxeub9evf] {
    list-style: none;
    margin: 0 0 0.5rem;
    padding: 0;
    border-top: 1px solid var(--border);
}

.sd-pruefungen li[b-4oxeub9evf] {
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--border);
    font-size: 0.875rem;
}

.sd-punkt[b-4oxeub9evf] {
    flex: 0 0 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
}

.ok .sd-punkt[b-4oxeub9evf] { background: #166534; }
.fehler .sd-punkt[b-4oxeub9evf] { background: #991b1b; }
.fehler .sd-text[b-4oxeub9evf] { color: #991b1b; }
.hinweis .sd-punkt[b-4oxeub9evf] { background: #ca8a04; }

.sd-pruefung-titel[b-4oxeub9evf] {
    flex: 0 0 10rem;
}

/* ---- Storno (Paket 7) ---- */
.sd-verweis[b-4oxeub9evf] {
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    color: var(--primary);
    cursor: pointer;
}

.sd-verweis:hover[b-4oxeub9evf] {
    text-decoration: underline;
}

.sd-storno-periode[b-4oxeub9evf] {
    max-width: 10rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.sd-storno-option[b-4oxeub9evf] {
    margin-top: 0.75rem;
}
/* /Components/Pages/Einstellungen/Datensicherung.razor.rz.scp.css */
/* Datensicherung (AP 10, seit 02.11.2026 unverschlüsselt): Status oben, Liste der Sicherungen, Protokoll. */
.ds[b-vd0xpx2cbv] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ds-karte[b-vd0xpx2cbv] {
    padding: 1.25rem;
}

.ds-titel[b-vd0xpx2cbv] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.75rem;
    font-size: 1rem;
    font-weight: var(--font-weight-medium);
}

.ds-luecke[b-vd0xpx2cbv] {
    flex: 1;
}

.ds-meldung[b-vd0xpx2cbv] {
    padding: 0.75rem 1rem;
    border-radius: var(--radius, 6px);
    background: var(--success-bg, #ecfdf5);
    color: var(--success-fg, #065f46);
    overflow-wrap: anywhere;
}

.ds-meldung.fehler[b-vd0xpx2cbv] {
    background: var(--error-bg, #fef2f2);
    color: var(--error-fg, #991b1b);
}

.ds-tabelle[b-vd0xpx2cbv] {
    overflow-x: auto;
}

.ds-w-zeit[b-vd0xpx2cbv] { width: 10rem; }
.ds-w-groesse[b-vd0xpx2cbv] { width: 7rem; }
.ds-w-aktion[b-vd0xpx2cbv] { width: 9.5rem; }

.ds-aktionen[b-vd0xpx2cbv] {
    white-space: nowrap;
    text-align: right;
}

.ds-inhalt .badge + .badge[b-vd0xpx2cbv] {
    margin-left: 0.375rem;
}

/* Hochladen als Knopf; das Dateifeld selbst ist unsichtbar, der ganze Knopf öffnet die Auswahl. */
.ds-hochladen[b-vd0xpx2cbv] {
    position: relative;
    font-weight: normal;
    cursor: pointer;
}

.ds-hochladen[b-vd0xpx2cbv]  input[type=file] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.ds-hochladen.gesperrt[b-vd0xpx2cbv] {
    opacity: 0.5;
    pointer-events: none;
}

/* Was das Einspielen tut, als knappe Fakten. */
.ds-fakten[b-vd0xpx2cbv] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.5rem 1rem;
    margin: 0 0 1.25rem;
}

.ds-fakten dt[b-vd0xpx2cbv] {
    color: var(--muted-foreground);
}

.ds-fakten dd[b-vd0xpx2cbv] {
    margin: 0;
}

.ds-klein[b-vd0xpx2cbv] {
    margin-left: 0.375rem;
    font-size: 0.75rem;
}

.ds-leerzeile[b-vd0xpx2cbv] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    color: var(--muted-foreground);
}

.ds-liste[b-vd0xpx2cbv] {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 0.8125rem;
}

.ds-liste code[b-vd0xpx2cbv] {
    overflow-wrap: anywhere;
}

.ds-fehler[b-vd0xpx2cbv] {
    color: var(--error-fg, #991b1b);
}

.ds-protokoll summary[b-vd0xpx2cbv] {
    cursor: pointer;
    margin: 0;
}

.ds-protokoll[open] summary[b-vd0xpx2cbv] {
    margin-bottom: 0.75rem;
}

/* Ordner der Sicherungen dezent neben der Überschrift der Liste: nur der Name, der volle Pfad im Tooltip. */
.ds-ort[b-vd0xpx2cbv] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: normal;
    color: var(--muted-foreground);
    cursor: help;
}

.ds-zahl[b-vd0xpx2cbv] {
    font-size: 0.75rem;
    font-weight: normal;
}

/* Kacheln auf dem Handy als 2×2 und kompakter, damit die eigentliche Aufgabe im ersten Bildschirm beginnt. */
@media (max-width: 520px) {
    .ds-kpi[b-vd0xpx2cbv] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .ds-kpi[b-vd0xpx2cbv]  .stat-card {
        padding: 0.625rem 0.75rem;
        gap: 0.25rem;
    }

    .ds-kpi[b-vd0xpx2cbv]  .stat-card-value {
        font-size: 1.1rem;
        white-space: normal;
    }

    .ds-kpi[b-vd0xpx2cbv]  .stat-card-hint {
        font-size: 0.7rem;
    }

    .ds-ort[b-vd0xpx2cbv] {
        display: none;
    }
}

/* /Components/Pages/Einstellungen/Stueckelung.razor.rz.scp.css */
.sg-karte[b-1cy3y8g7hl] {
    padding: 0;
    margin-bottom: 1.25rem;
}

.sg-kopf[b-1cy3y8g7hl] {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border);
}

.sg-kopf .badge[b-1cy3y8g7hl] {
    margin-bottom: 0.5rem;
}

.sg-name[b-1cy3y8g7hl] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    width: 12rem;
}

.sg-zahl[b-1cy3y8g7hl] {
    margin-bottom: 0.5rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.sg-fehler[b-1cy3y8g7hl] {
    margin: 0.75rem 1.25rem 0;
}

.sg-rahmen[b-1cy3y8g7hl] {
    overflow-x: auto;
}

.sg-tabelle[b-1cy3y8g7hl] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
}

.sg-tabelle th[b-1cy3y8g7hl] {
    padding: 0.5rem 0.25rem;
    font-weight: var(--font-weight-medium);
    color: var(--muted-foreground);
    text-align: center;
    white-space: nowrap;
    border-bottom: 1px solid var(--border);
}

.sg-tabelle td[b-1cy3y8g7hl] {
    padding: 0.3rem 0.25rem;
    border-bottom: 1px solid var(--border);
}

.sg-tabelle th:first-child[b-1cy3y8g7hl],
.sg-tabelle td:first-child[b-1cy3y8g7hl] {
    padding-left: 1.25rem;
}

.sg-tabelle td:last-child[b-1cy3y8g7hl] {
    padding-right: 1.25rem;
}

.sg-betrag[b-1cy3y8g7hl] {
    width: 8.5rem;
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}

.sg-wert[b-1cy3y8g7hl] {
    width: 3.6rem;
}

.sg-anzahl[b-1cy3y8g7hl] {
    width: 100%;
    min-width: 3rem;
    height: 2rem;
    padding: 0 0.25rem;
    border: 1px solid var(--border);
    background: var(--card);
    text-align: center;
    font-variant-numeric: tabular-nums;
    -moz-appearance: textfield;
}

.sg-anzahl[b-1cy3y8g7hl]::-webkit-inner-spin-button,
.sg-anzahl[b-1cy3y8g7hl]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Null tritt zurück, damit die gesetzten Stückzahlen auffallen. */
.sg-null[b-1cy3y8g7hl] {
    color: color-mix(in srgb, var(--muted-foreground) 55%, transparent);
}

.sg-summe[b-1cy3y8g7hl] {
    padding-right: 0.75rem !important;
    color: #166534;
}

.sg-falsch[b-1cy3y8g7hl] {
    background: color-mix(in srgb, #fee2e2 60%, transparent);
}

.sg-falsch .sg-summe[b-1cy3y8g7hl] {
    color: #991b1b;
    font-weight: var(--font-weight-medium);
}

.sg-fuss[b-1cy3y8g7hl] {
    padding: 0.75rem 1.25rem;
}
/* /Components/Pages/Einstellungen/WartungEinstellung.razor.rz.scp.css */
.wa-status[b-oztn4u12hr],
.wa-text[b-oztn4u12hr] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
}

.wa-aktiv[b-oztn4u12hr] {
    border-left: 3px solid var(--dlv-rot);
}

.wa-zeile[b-oztn4u12hr] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.wa-wort[b-oztn4u12hr] {
    font-size: 1.25rem;
    font-weight: var(--font-weight-medium);
}

.wa-aktiv .wa-wort[b-oztn4u12hr] {
    color: var(--dlv-rot);
}

.wa-erklaerung[b-oztn4u12hr] {
    margin: 0;
    color: var(--muted-foreground);
}

.wa-geaendert[b-oztn4u12hr] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.wa-knoepfe[b-oztn4u12hr] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

.wa-ueberschrift[b-oztn4u12hr] {
    margin: 0;
    font-size: 1rem;
    font-weight: var(--font-weight-medium);
}

.wa-text label[b-oztn4u12hr] {
    display: flex;
    flex-direction: column;
}

.formular .wa-textfeld[b-oztn4u12hr] {
    height: auto;
    max-height: none;
    min-height: 6rem;
    line-height: 1.45;
    padding: 0.375rem 0.5rem;
    resize: vertical;
}

.wa-fehler[b-oztn4u12hr] {
    margin: 0;
    color: var(--destructive);
}
/* /Components/Pages/Einstellungen/Zuordnungsregeln.razor.rz.scp.css */
/* Zuordnungsregeln (Paket 7): Liste mit Rang, Bedingungen als Marken, Ziel zweizeilig wie im Journal, Treffer im Bestand. */

.zr-reihe[b-rpaja0ybj1] {
    width: 5.5rem;
    white-space: nowrap;
}

.zr-rang[b-rpaja0ybj1] {
    display: inline-block;
    min-width: 1.25rem;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
}

.zr-pfeile .action-btn + .action-btn[b-rpaja0ybj1] {
    margin-left: 0;
}

.zr-pfeile .action-btn:disabled[b-rpaja0ybj1] {
    opacity: 0.3;
    cursor: default;
}

.zr-name[b-rpaja0ybj1] {
    font-weight: var(--font-weight-medium);
}

.zr-bedingungen[b-rpaja0ybj1] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.25rem;
}

.zr-bedingung[b-rpaja0ybj1] {
    padding: 0.0625rem 0.375rem;
    font-size: 0.75rem;
    background: var(--dlv-papier);
    color: var(--dlv-grau);
    overflow-wrap: anywhere;
}

.zr-ziel[b-rpaja0ybj1] {
    line-height: 1.25;
}

.zr-konto[b-rpaja0ybj1] {
    display: block;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
}

.zr-konto-name[b-rpaja0ybj1],
.zr-vorlage[b-rpaja0ybj1],
.zr-unter[b-rpaja0ybj1] {
    display: block;
    font-size: 0.75rem;
    color: var(--muted-foreground);
    overflow-wrap: anywhere;
}

.zr-vorlage[b-rpaja0ybj1] {
    margin-top: 0.25rem;
    color: var(--foreground);
}

.zr-vorlage[b-rpaja0ybj1]::before {
    content: "Text: ";
    color: var(--muted-foreground);
}

.zr-treffer[b-rpaja0ybj1] {
    white-space: nowrap;
}

.zr-treffer strong[b-rpaja0ybj1] {
    font-variant-numeric: tabular-nums;
}

.zr-aktiv[b-rpaja0ybj1] {
    width: 4.5rem;
}

.zr-inaktiv td:not(.zr-aktiv):not(.cell-actions)[b-rpaja0ybj1] {
    opacity: 0.55;
}

.zr-kopf[b-rpaja0ybj1] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 1rem;
}

.zr-kopf-hinweis[b-rpaja0ybj1] {
    font-size: 0.8125rem;
    font-weight: normal;
    color: var(--muted-foreground);
}

.zr-leer[b-rpaja0ybj1] {
    padding: 1.5rem 0.75rem;
    font-size: 0.875rem;
}

/* Dialog: Formular links, Vorschau im Bestand rechts; schmal untereinander. */
.zr-dialog[b-rpaja0ybj1] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 1.5rem;
}

.zr-abschnitt[b-rpaja0ybj1] {
    padding-bottom: 0.25rem;
    border-bottom: 1px solid var(--border);
    font-size: 0.8125rem;
    font-weight: var(--font-weight-medium);
    color: var(--foreground);
}

.zr-abschnitt-hinweis[b-rpaja0ybj1] {
    margin-left: 0.5rem;
    font-size: 0.75rem;
    font-weight: normal;
    color: var(--muted-foreground);
}

.zr-feldhinweis[b-rpaja0ybj1] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.zr-mono[b-rpaja0ybj1] {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}

.zr-vorschau[b-rpaja0ybj1] {
    min-width: 0;
    padding: 0.75rem 1rem;
    background: var(--background);
    border: 1px solid var(--border);
}

.zr-vorschau-zahl[b-rpaja0ybj1] {
    margin-top: 0.75rem;
    font-size: 1rem;
}

.zr-vorschau-hinweis[b-rpaja0ybj1] {
    margin-top: 0.75rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.zr-warn[b-rpaja0ybj1] {
    color: var(--destructive);
}

.zr-beispiele[b-rpaja0ybj1] {
    margin: 0.75rem 0 0.5rem;
    padding: 0;
    list-style: none;
}

.zr-beispiele li[b-rpaja0ybj1] {
    padding: 0.5rem 0;
    border-top: 1px solid var(--border);
    font-size: 0.8125rem;
}

.zr-beispiel-kopf[b-rpaja0ybj1] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.zr-betrag[b-rpaja0ybj1] {
    margin-left: auto;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.zr-beispiel-kopf .badge[b-rpaja0ybj1] {
    order: 3;
}

.zr-beispiel-text[b-rpaja0ybj1] {
    margin-top: 0.125rem;
    color: var(--muted-foreground);
    overflow-wrap: anywhere;
}

.zr-beispiel-buchung[b-rpaja0ybj1] {
    margin-top: 0.125rem;
    overflow-wrap: anywhere;
}

@media (max-width: 1000px) {
    .zr-dialog[b-rpaja0ybj1] {
        grid-template-columns: minmax(0, 1fr);
    }

    .zr-treffer[b-rpaja0ybj1] {
        white-space: normal;
    }
}
/* /Components/Pages/Index.razor.rz.scp.css */
.uebersicht[b-6811m3d01i] {
    display: flex;
    flex-direction: column;
}

/* ---- Kopf: Wappen, Schützenjahr, Stand ---- */
.kopf[b-6811m3d01i] {
    display: flex;
    align-items: center;
    gap: 1.75rem;
    padding: 1.5rem 1.75rem;
    background: linear-gradient(to right, var(--dlv-papier), var(--card) 55%);
    border-left: 4px solid var(--primary);
}

/* CI: Bildschirm-Minimum 80 px Wappenbreite. */
.kopf-wappen[b-6811m3d01i] {
    width: 96px;
    height: auto;
    flex-shrink: 0;
    filter: drop-shadow(3px 3px 6px rgba(35, 31, 32, 0.25));
}

.kopf-text[b-6811m3d01i] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.kopf-zug[b-6811m3d01i] {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--dlv-rot);
}

.kopf-titel[b-6811m3d01i] {
    margin: 0;
    font-size: 2rem;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

.kopf-zeitraum[b-6811m3d01i] {
    color: var(--muted-foreground);
    font-size: 0.875rem;
    font-variant-numeric: tabular-nums;
}

/* ---- Kennzahlen ---- */
.kennzahlen[b-6811m3d01i] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.kennzahl[b-6811m3d01i] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding: 1rem 1.25rem;
}

.kennzahl-kopf[b-6811m3d01i] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.kennzahl-wert[b-6811m3d01i] {
    font-size: 1.75rem;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Platzhalter in Größe und Lage der späteren Zahl, als Wort und gedämpft. */
.kennzahl-leer[b-6811m3d01i] {
    color: var(--muted-foreground);
    opacity: 0.7;
}

.kennzahl-hinweis[b-6811m3d01i] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

/* ---- Bereiche ---- */
.bereiche[b-6811m3d01i] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
}

.bereich[b-6811m3d01i] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 1.25rem;
    color: var(--foreground);
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.bereich:hover[b-6811m3d01i] {
    text-decoration: none;
    border-color: var(--primary);
    box-shadow: 0 4px 14px rgba(35, 31, 32, 0.08);
}

.bereich-kopf[b-6811m3d01i] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.bereich-icon[b-6811m3d01i] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 9999px;
    background: var(--dlv-papier);
    color: var(--dlv-rot);
}

.bereich-name[b-6811m3d01i] {
    font-weight: var(--font-weight-medium);
}

.bereich[b-6811m3d01i]  .bereich-pfeil,
.bereich-kopf[b-6811m3d01i]  .bereich-pfeil {
    margin-left: auto;
    color: var(--muted-foreground);
    transition: transform 0.15s ease;
}

.bereich:hover[b-6811m3d01i]  .bereich-pfeil {
    transform: translateX(2px);
    color: var(--primary);
}

.bereich-seiten[b-6811m3d01i] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

@media (max-width: 760px) {
    .kennzahlen[b-6811m3d01i] {
        grid-template-columns: 1fr;
    }

    .kopf[b-6811m3d01i] {
        flex-wrap: wrap;
    }
}

/* Bankstand: ganze Karte führt ins Journal des Bankkontos. */
.kennzahl-link[b-6811m3d01i] {
    color: var(--foreground);
    text-decoration: none;
    transition: border-color 0.15s ease;
}

.kennzahl-link:hover[b-6811m3d01i] {
    border-color: var(--primary);
}

.kennzahl-einheit[b-6811m3d01i] {
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.kennzahl-hinweis .badge[b-6811m3d01i] {
    margin-right: 0.375rem;
}
/* /Components/Pages/Konten/GewinnUndVerlust.razor.rz.scp.css */
.gv-rahmen[b-niebd05cxj] {
    padding: 0;
    overflow-x: auto;
}

.gv[b-niebd05cxj] {
    min-width: 560px;
}

.gv-abschnitt td[b-niebd05cxj] {
    padding-top: 1rem;
    font-weight: var(--font-weight-medium);
    background: var(--dlv-papier);
}

.gv-nr[b-niebd05cxj] {
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
    padding-left: 1.5rem;
}

.gv-leer td[b-niebd05cxj] {
    color: var(--muted-foreground);
}

.gv-zwischensumme td[b-niebd05cxj] {
    font-weight: var(--font-weight-medium);
    border-top: 1px solid var(--foreground);
    font-variant-numeric: tabular-nums;
}

.gv-ergebnis td[b-niebd05cxj] {
    padding: 0.875rem 0.75rem;
    font-size: 1.05rem;
    font-weight: var(--font-weight-medium);
    border-top: 2px solid var(--border);
    font-variant-numeric: tabular-nums;
}

.gv-minus[b-niebd05cxj],
.gv-schlechter[b-niebd05cxj] {
    color: #991b1b;
}

.gv-besser[b-niebd05cxj] {
    color: #166534;
}

.gv-vergleich[b-niebd05cxj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.gv-vergleich select[b-niebd05cxj] {
    width: 9.5rem;
}
/* /Components/Pages/Konten/Kontenanalyse.razor.rz.scp.css */
.ka-konto[b-6b3lz1kx98] {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
    border-left: 4px solid var(--primary);
}

.ka-nr[b-6b3lz1kx98] {
    font-size: 1.4rem;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
    color: var(--dlv-rot);
}

.ka-name[b-6b3lz1kx98] {
    font-size: 1.25rem;
}

.ka-luecke[b-6b3lz1kx98] {
    flex: 1;
}

.ka-link[b-6b3lz1kx98] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.875rem;
    color: var(--primary);
    text-decoration: none;
}

.ka-link:hover[b-6b3lz1kx98] {
    text-decoration: underline;
}

.ka-rahmen[b-6b3lz1kx98] {
    padding: 0;
    overflow-x: auto;
}

.ka[b-6b3lz1kx98] {
    min-width: 900px;
}

/* Betragsspalten: Überschrift rechtsbündig über den Zahlen. */
.ka th.fc-num[b-6b3lz1kx98]  .th-label {
    justify-content: flex-end;
}

.ka-gegen[b-6b3lz1kx98] {
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
}

.ka-anzahl[b-6b3lz1kx98] {
    color: var(--muted-foreground);
}

.ka-minus[b-6b3lz1kx98] {
    color: #991b1b;
}

.ka-summe td[b-6b3lz1kx98] {
    padding: 0.625rem 0.75rem;
    font-weight: var(--font-weight-medium);
    border-top: 2px solid var(--border);
    font-variant-numeric: tabular-nums;
}

.ka-kontowahl[b-6b3lz1kx98] {
    width: 16rem;
}
/* /Components/Pages/Konten/Kontenblatt.razor.rz.scp.css */
.kb-wahl[b-a85h24oju8] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    flex-wrap: wrap;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
    border-left: 4px solid var(--primary);
}

.kb-konto[b-a85h24oju8] {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    min-width: 0;
    flex-wrap: wrap;
}

.kb-nr[b-a85h24oju8] {
    font-size: 1.4rem;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
    color: var(--dlv-rot);
}

.kb-name[b-a85h24oju8] {
    font-size: 1.25rem;
}

.kb-seite[b-a85h24oju8] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.kb-filter[b-a85h24oju8] {
    display: flex;
    gap: 1rem;
}

.kb-filter label[b-a85h24oju8] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.kb-filter select[b-a85h24oju8] {
    min-width: 12rem;
}

.kb-rahmen[b-a85h24oju8] {
    padding: 0;
    overflow-x: auto;
}

.kb[b-a85h24oju8] {
    min-width: 1080px;
}

/* Betragsspalten: Überschrift rechtsbündig über den Zahlen. */
.kb th.fc-num[b-a85h24oju8]  .th-label {
    justify-content: flex-end;
}

/* Hinweis bei Sortierung oder Filter: der laufende Saldo folgt der Zeit, nicht der Anzeige. */
.kb-hinweis[b-a85h24oju8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
    background: var(--dlv-papier);
    border-bottom: 1px solid var(--border);
}

.kb-hinweis[b-a85h24oju8]  svg {
    flex-shrink: 0;
}

/* Kennzeichen Sammelbuchung (wie die Herkunft im Journal). */
.kb-tag[b-a85h24oju8] {
    display: inline-flex;
    align-items: center;
    padding: 0.0625rem 0.375rem;
    font-size: 0.75rem;
    background: var(--dlv-papier);
    color: var(--dlv-grau);
}

.kb-vortrag td[b-a85h24oju8] {
    color: var(--muted-foreground);
    font-style: italic;
    font-variant-numeric: tabular-nums;
}

.kb-kontozelle[b-a85h24oju8] {
    line-height: 1.25;
}

.kb-gegen[b-a85h24oju8] {
    display: block;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
}

.kb-gegen-name[b-a85h24oju8] {
    display: block;
    font-size: 0.75rem;
    color: var(--muted-foreground);
    overflow-wrap: anywhere;
}

.kb-bank[b-a85h24oju8] {
    display: inline-flex;
    vertical-align: -2px;
    margin-right: 0.25rem;
    color: #1e40af;
}

.kb-minus[b-a85h24oju8] {
    color: #991b1b;
}

.kb-summe td[b-a85h24oju8] {
    padding: 0.625rem 0.75rem;
    font-weight: var(--font-weight-medium);
    border-top: 2px solid var(--border);
    font-variant-numeric: tabular-nums;
}

.kb-kontowahl[b-a85h24oju8] {
    width: 16rem;
}

/* Handy (AP 8d): Kopf kompakt. Knöpfe nur als Symbol (Name im Tooltip), Kontokarte enger, Zeitraum in einer Zeile. */
@media (max-width: 700px) {
    .btn > span[b-a85h24oju8] {
        display: none;
    }

    .kb-wahl[b-a85h24oju8] {
        gap: 0.5rem;
        padding: 0.625rem 0.75rem;
        margin-bottom: 0.75rem;
    }

    .kb-nr[b-a85h24oju8] {
        font-size: 1.15rem;
    }

    .kb-name[b-a85h24oju8] {
        font-size: 1rem;
    }

    .kb-seite[b-a85h24oju8] {
        display: none;
    }

    .kb-filter[b-a85h24oju8],
    .kb-filter label[b-a85h24oju8] {
        flex-direction: row;
        align-items: center;
        gap: 0.5rem;
    }

    .kb-filter select[b-a85h24oju8] {
        min-width: 0;
    }
}
/* /Components/Pages/Konten/Kontenuebersicht.razor.rz.scp.css */
.ku-rahmen[b-bx4zrdsw8h] {
    padding: 0;
    overflow-x: auto;
}

.ku-filter[b-bx4zrdsw8h] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 0.875rem 1rem;
    border-bottom: 1px solid var(--border);
}

.ku-filter input.form-input[b-bx4zrdsw8h] {
    width: 26rem;
    max-width: 100%;
}

.ku[b-bx4zrdsw8h] {
    min-width: 560px;
}

/* Zahlenspalten: Überschrift rechtsbündig über den Zahlen. */
.ku th.fc-num[b-bx4zrdsw8h]  .th-label {
    justify-content: flex-end;
}

.ku-gruppe td[b-bx4zrdsw8h] {
    padding-top: 1rem;
    font-weight: var(--font-weight-medium);
    background: var(--dlv-papier);
    font-variant-numeric: tabular-nums;
}

.ku-nr[b-bx4zrdsw8h] {
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
    padding-left: 1.5rem;
}

.ku-anzahl[b-bx4zrdsw8h] {
    color: var(--muted-foreground);
}

.ku-minus[b-bx4zrdsw8h] {
    color: #991b1b;
}

.ku-summe td[b-bx4zrdsw8h] {
    padding: 0.625rem 0.75rem;
    font-weight: var(--font-weight-medium);
    border-top: 2px solid var(--border);
    font-variant-numeric: tabular-nums;
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-hint[b-n5w3jcm949] {
    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-n5w3jcm949] {
    color: var(--primary);
}

/* ===== DLV: Papier-Fläche, Stripe und Wappen (CI 05 "Wappen auf Stripe") ===== */
.zk-login[b-n5w3jcm949] {
    position: relative;
    background-color: var(--dlv-papier);
    overflow: hidden;
    gap: 0;
}

/* 16 px Rot + 16 px Weiß, mittig über die volle Höhe; Schatten proportional zur Breite (CI: ca. 25 % je Seite). */
.zk-stripe[b-n5w3jcm949] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 32px;
    transform: translateX(-50%);
    background: linear-gradient(to right, var(--dlv-rot) 0 50%, #ffffff 50% 100%);
    box-shadow: 0 0 8px 2px rgba(35, 31, 32, 0.22);
}

.zk-wappen[b-n5w3jcm949] {
    position: relative;
    height: 160px;
    width: auto;
    margin-bottom: -28px;
    z-index: 2;
    filter: drop-shadow(4px 4px 8px rgba(35, 31, 32, 0.30));
}

.zk-login-card[b-n5w3jcm949] {
    position: relative;
    z-index: 1;
    padding-top: 2.75rem;
    border: 1px solid var(--dlv-linie);
    box-shadow: 0 10px 30px rgba(35, 31, 32, 0.12);
}

.zk-login-title[b-n5w3jcm949] {
    margin: 0;
    text-align: center;
    font-size: 1.5rem;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.01em;
}

.zk-login-zug[b-n5w3jcm949] {
    margin: 0.125rem 0 1.75rem;
    text-align: center;
    font-size: 0.875rem;
    color: var(--dlv-rot);
    letter-spacing: 0.02em;
}

/* Fuß unten links, damit der Stripe ungeteilt durchläuft. */
.zk-login .login-footer[b-n5w3jcm949] {
    position: absolute;
    left: 1.5rem;
    bottom: 1rem;
    margin: 0;
    text-align: left;
    color: var(--dlv-grau);
    opacity: 1;
}

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

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

.login-btn.is-loading .login-btn-spinner[b-n5w3jcm949] {
    display: inline-block;
}
/* /Components/Pages/Mitglieder/Kontoauszuege.razor.rz.scp.css */
.ma-rahmen[b-y8uvcwrkb4] {
    padding: 0;
    overflow-x: auto;
}

.ma-filter[b-y8uvcwrkb4] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.875rem 1rem;
    border-bottom: 1px solid var(--border);
}

.ma-suche[b-y8uvcwrkb4] {
    width: 16rem;
}

.ma-luecke[b-y8uvcwrkb4] {
    flex: 1;
}

.ma[b-y8uvcwrkb4] {
    min-width: 760px;
}

.ma-nr[b-y8uvcwrkb4] {
    color: var(--muted-foreground);
    font-variant-numeric: tabular-nums;
}

.ma-minus[b-y8uvcwrkb4] {
    color: #991b1b;
}

.ma-summe td[b-y8uvcwrkb4] {
    padding: 0.625rem 0.75rem;
    font-weight: var(--font-weight-medium);
    border-top: 2px solid var(--border);
    font-variant-numeric: tabular-nums;
}

/* Schmal: Status steckt schon im Filter, die Spalte weicht dem Namen. */
@media (max-width: 1100px) {
    .ma-status[b-y8uvcwrkb4] {
        display: none;
    }
}

.ma-w4[b-y8uvcwrkb4] { width: 4rem; }
.ma-w6[b-y8uvcwrkb4] { width: 6rem; }
.ma-w8[b-y8uvcwrkb4] { width: 8rem; }
/* /Components/Pages/Mitglieder/MitgliedDetail.razor.rz.scp.css */
.md[b-57yob1dvfl] {
    display: flex;
    flex-direction: column;
}

/* ---- Kopf: Name, Status, Stand im Schützenjahr ---- */
.md-kopf[b-57yob1dvfl] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(to right, var(--dlv-papier), var(--card) 55%);
    border-left: 4px solid var(--primary);
}

.md-kopf-text[b-57yob1dvfl] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

.md-eyebrow[b-57yob1dvfl] {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--dlv-rot);
    font-variant-numeric: tabular-nums;
}

.md-name[b-57yob1dvfl] {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.15;
}

.md-meta[b-57yob1dvfl] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.md-stand[b-57yob1dvfl] {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    text-align: right;
}

.md-stand-label[b-57yob1dvfl] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.md-stand-wert[b-57yob1dvfl] {
    font-size: 1.75rem;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.md-stand-wert small[b-57yob1dvfl] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.md-guthaben[b-57yob1dvfl] { color: #166534; }
.md-offen[b-57yob1dvfl] { color: #991b1b; }

.md-stand-text[b-57yob1dvfl] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.md-link[b-57yob1dvfl] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8125rem;
    color: var(--primary);
    text-decoration: none;
}

.md-link:hover[b-57yob1dvfl] {
    text-decoration: underline;
}

/* ---- Formulare ---- */
.md-form[b-57yob1dvfl] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.875rem 1.25rem;
    padding: 1.25rem 1.5rem;
}

.md-form label[b-57yob1dvfl] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.md-breit[b-57yob1dvfl] { grid-column: 1 / -1; }
.md-zwei[b-57yob1dvfl] { grid-column: span 2; }

.md-zahl[b-57yob1dvfl] {
    font-variant-numeric: tabular-nums;
}

/* ---- Listen: Bankverbindungen und Sperren ---- */
.md-liste[b-57yob1dvfl] {
    padding: 0;
}

.md-zeile[b-57yob1dvfl] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 1.5rem;
    border-bottom: 1px solid var(--border);
}

.md-zeile-luecke[b-57yob1dvfl] {
    flex: 1;
}

.md-iban[b-57yob1dvfl] {
    width: 22rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}

.md-sperre[b-57yob1dvfl] {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) 9.5rem 9.5rem minmax(0, 2fr) 2rem;
}

.md-sperre-kopf[b-57yob1dvfl] {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.md-hinweis[b-57yob1dvfl] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.md-aktion[b-57yob1dvfl] {
    border-bottom: none;
}

.md-fehler[b-57yob1dvfl] {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    background: #fee2e2;
    color: #991b1b;
    font-size: 0.875rem;
}

.md-leer[b-57yob1dvfl] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1.5rem;
}

.is-invalid[b-57yob1dvfl] {
    border-color: #dc2626;
}

/* ---- Actionbar ---- */
.md-leiste[b-57yob1dvfl] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.md-zurueck[b-57yob1dvfl] {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    color: var(--muted-foreground);
}

.md-zurueck:hover[b-57yob1dvfl] {
    color: var(--foreground);
    background: var(--secondary);
}

@media (max-width: 1000px) {
    .md-form[b-57yob1dvfl] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md-sperre[b-57yob1dvfl] {
        grid-template-columns: minmax(0, 1fr) 8.5rem 8.5rem 2rem;
    }

    .md-sperre > input:nth-of-type(3)[b-57yob1dvfl] {
        grid-column: 1 / -2;
    }

    .md-sperre-kopf span:nth-child(4)[b-57yob1dvfl] {
        display: none;
    }
}

/* Inaktiv ohne Austrittsdatum: gültiger Dauerzustand, neutral statt Warnung (Entscheidung Daniel) */
.md-unbekannt[b-57yob1dvfl] {
    margin-left: 0.375rem;
    font-size: 0.75rem;
    font-weight: var(--font-weight-normal);
    color: var(--muted-foreground);
}

.md-frage[b-57yob1dvfl] {
    margin: 0 0 0.75rem;
    color: var(--muted-foreground);
}

.md-hinweis[b-57yob1dvfl] {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}
/* /Components/Pages/Mitglieder/MitgliederListe.razor.rz.scp.css */
.ml-rahmen[b-53np1f9hu3] {
    overflow-x: auto;
}

.ml[b-53np1f9hu3] {
    min-width: 760px;
}

.ml-nr[b-53np1f9hu3] {
    color: var(--muted-foreground);
}

.ml-gedaempft[b-53np1f9hu3] {
    color: var(--muted-foreground);
}

.ml-saldo[b-53np1f9hu3] {
    font-weight: var(--font-weight-medium);
}

.ml-guthaben[b-53np1f9hu3] { color: #166534; }
.ml-offen[b-53np1f9hu3] { color: #991b1b; }
.ml-null[b-53np1f9hu3] { color: var(--muted-foreground); }

.ml-wort[b-53np1f9hu3] {
    display: inline-block;
    min-width: 5.25rem;
    margin-left: 0.375rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
    text-align: left;
}

.ml-summe td[b-53np1f9hu3] {
    padding: 0.625rem 0.75rem;
    font-weight: var(--font-weight-medium);
    border-top: 2px solid var(--border);
    background: var(--secondary);
}

.ml-kopf[b-53np1f9hu3] {
    display: flex;
    align-items: baseline;
    gap: 1.25rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
    min-width: 0;
}

/* Kennzahlen im Kopf brechen nicht mitten um („19 aktiv von 27“, AP 8d); im Ganzen dürfen sie in die nächste Zeile. */
.ml-kopf[b-53np1f9hu3] {
    flex-wrap: wrap;
    row-gap: 0.25rem;
}

.ml-kopf > span[b-53np1f9hu3] {
    white-space: nowrap;
}

.ml-kopf strong[b-53np1f9hu3] {
    color: var(--foreground);
    font-variant-numeric: tabular-nums;
}

.ml-hinweis[b-53np1f9hu3] {
    padding: 0.0625rem 0.375rem;
    font-size: 0.75rem;
    background: var(--dlv-papier);
    color: var(--dlv-grau);
    cursor: help;
}

@media (max-width: 1200px) {
    .ml-hinweis[b-53np1f9hu3] {
        display: none;
    }

    /* Schmale Fenster: IBAN, Soll und Haben weichen, der Saldo bleibt. */
    .ml col:nth-child(5)[b-53np1f9hu3], .ml col:nth-child(6)[b-53np1f9hu3], .ml col:nth-child(7)[b-53np1f9hu3],
    .ml th:nth-child(5)[b-53np1f9hu3], .ml th:nth-child(6)[b-53np1f9hu3], .ml th:nth-child(7)[b-53np1f9hu3],
    .ml tbody td:nth-child(5)[b-53np1f9hu3], .ml tbody td:nth-child(6)[b-53np1f9hu3], .ml tbody td:nth-child(7)[b-53np1f9hu3],
    .ml-summe td:nth-child(3)[b-53np1f9hu3], .ml-summe td:nth-child(4)[b-53np1f9hu3], .ml-summe td:nth-child(5)[b-53np1f9hu3] {
        display: none;
    }

    .ml-unbekannt[b-53np1f9hu3] {
        display: none;
    }
}

/* Inaktiv ohne Austrittsdatum: gültiger Dauerzustand, neutral statt Warnung (Entscheidung Daniel) */
.ml-unbekannt[b-53np1f9hu3] {
    margin-left: 0.375rem;
    font-size: 0.75rem;
    font-weight: var(--font-weight-normal);
    color: var(--muted-foreground);
}

/* Handy (unter 700 px, AP 7a): Karten statt Tabelle. Der Tabellenkopf wird zur Leiste mit Sortierung und Filtern für
   Nr., Name, Status und Saldo; jede Zeile zeigt Nummer, Name, Status und Saldo. Eintritt, IBAN, Soll und Haben stehen im
   Mitglied. */
@media (max-width: 700px) {
    .ml-rahmen[b-53np1f9hu3] {
        background: transparent;
        border: none;
        box-shadow: none;
        overflow: visible;
    }

    .ml[b-53np1f9hu3] {
        display: block;
        min-width: 0;
    }

    .ml colgroup[b-53np1f9hu3] {
        display: none;
    }

    .ml thead[b-53np1f9hu3],
    .ml tbody[b-53np1f9hu3],
    .ml tfoot[b-53np1f9hu3] {
        display: block;
    }

    .ml thead tr[b-53np1f9hu3] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
        gap: 0.5rem 0.75rem;
        padding: 0.75rem;
        margin-bottom: 0.75rem;
        background: var(--card);
        border: 1px solid var(--border);
    }

    .ml thead th[b-53np1f9hu3] {
        display: block;
        width: auto;
        padding: 0;
        border: none;
        background: transparent;
        position: static;
    }

    .ml thead th.fc-num[b-53np1f9hu3] {
        text-align: left;
    }

    .ml thead th:nth-child(4)[b-53np1f9hu3],
    .ml thead th:nth-child(5)[b-53np1f9hu3],
    .ml thead th:nth-child(6)[b-53np1f9hu3],
    .ml thead th:nth-child(7)[b-53np1f9hu3] {
        display: none;
    }

    .ml tbody tr[b-53np1f9hu3] {
        display: grid;
        grid-template-columns: 2.5rem minmax(0, 1fr) auto;
        grid-template-areas:
            "nr name saldo"
            "nr status saldo";
        align-items: center;
        gap: 0.25rem 0.75rem;
        padding: 0.75rem;
        margin-bottom: 0.5rem;
        background: var(--card);
        border: 1px solid var(--border);
    }

    .ml tbody td[b-53np1f9hu3] {
        display: block;
        padding: 0;
        border: none;
        background: transparent;
    }

    .ml tbody td:nth-child(1)[b-53np1f9hu3] { grid-area: nr; align-self: start; text-align: left; }
    .ml tbody td:nth-child(2)[b-53np1f9hu3] { grid-area: name; font-weight: var(--font-weight-medium); }
    .ml tbody td:nth-child(3)[b-53np1f9hu3] { grid-area: status; }
    .ml tbody td:nth-child(8)[b-53np1f9hu3] { grid-area: saldo; display: flex; flex-direction: column; align-items: flex-end; }

    .ml tbody td:nth-child(4)[b-53np1f9hu3],
    .ml tbody td:nth-child(5)[b-53np1f9hu3],
    .ml tbody td:nth-child(6)[b-53np1f9hu3],
    .ml tbody td:nth-child(7)[b-53np1f9hu3] {
        display: none;
    }

    .ml-wort[b-53np1f9hu3] {
        min-width: 0;
        margin-left: 0;
    }

    .ml tbody tr.empty-state-row[b-53np1f9hu3] {
        display: block;
    }

    .ml tbody tr.empty-state-row td[b-53np1f9hu3] {
        display: block;
    }

    .ml-summe[b-53np1f9hu3] {
        display: flex;
        justify-content: space-between;
        gap: 0.75rem;
        background: var(--secondary);
        border: 1px solid var(--border);
    }

    .ml-summe td[b-53np1f9hu3] {
        display: block;
        border-top: none;
    }

    .ml-summe td:nth-child(1)[b-53np1f9hu3],
    .ml-summe td:nth-child(3)[b-53np1f9hu3],
    .ml-summe td:nth-child(4)[b-53np1f9hu3],
    .ml-summe td:nth-child(5)[b-53np1f9hu3] {
        display: none;
    }
}
/* /Components/Pages/NichtGefunden.razor.rz.scp.css */
.leer-nicht-gefunden[b-yhupi00ihx] {
    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-yhupi00ihx] {
    color: var(--foreground);
    font-size: 1.25rem;
}
/* /Components/Pages/PasswortAendern.razor.rz.scp.css */
/* Gestaltung wie die Anmeldung (Login.razor.css): Wappen auf Stripe, Karte, Ladezustand des Knopfs. */
.zk-login[b-cpoeeyz4sp] {
    position: relative;
    background-color: var(--dlv-papier);
    overflow: hidden;
    gap: 0;
}

/* 16 px Rot + 16 px Weiß, mittig über die volle Höhe; Schatten proportional zur Breite (CI: ca. 25 % je Seite). */
.zk-stripe[b-cpoeeyz4sp] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 32px;
    transform: translateX(-50%);
    background: linear-gradient(to right, var(--dlv-rot) 0 50%, #ffffff 50% 100%);
    box-shadow: 0 0 8px 2px rgba(35, 31, 32, 0.22);
}

.zk-wappen[b-cpoeeyz4sp] {
    position: relative;
    height: 160px;
    width: auto;
    margin-bottom: -28px;
    z-index: 2;
    filter: drop-shadow(4px 4px 8px rgba(35, 31, 32, 0.30));
}

.zk-login-card[b-cpoeeyz4sp] {
    position: relative;
    z-index: 1;
    padding-top: 2.75rem;
    border: 1px solid var(--dlv-linie);
    box-shadow: 0 10px 30px rgba(35, 31, 32, 0.12);
}

.zk-login-title[b-cpoeeyz4sp] {
    margin: 0;
    text-align: center;
    font-size: 1.5rem;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.01em;
}

.zk-login-zug[b-cpoeeyz4sp] {
    margin: 0.125rem 0 1.75rem;
    text-align: center;
    font-size: 0.875rem;
    color: var(--dlv-rot);
    letter-spacing: 0.02em;
}

/* Fuß unten links, damit der Stripe ungeteilt durchläuft. */
.zk-login .login-footer[b-cpoeeyz4sp] {
    position: absolute;
    left: 1.5rem;
    bottom: 1rem;
    margin: 0;
    text-align: left;
    color: var(--dlv-grau);
    opacity: 1;
}

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

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

.login-btn.is-loading .login-btn-spinner[b-cpoeeyz4sp] {
    display: inline-block;
}

.pw-weiter[b-cpoeeyz4sp] {
    margin-top: 0.75rem;
}

/* Neutral statt in Markenrot (AP 8d): wirkte wie eine Fehlermeldung. */
.pw-angemeldet[b-cpoeeyz4sp] {
    margin-bottom: 1rem;
    text-align: center;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}
/* /Components/Pages/Wartungsseite.razor.rz.scp.css */
/* Wie die Anmeldung (Login.razor.css): Papier, Stripe, Wappen auf dem Stripe. */
.zk-wartung[b-b4oab0mxwg] {
    position: relative;
    background-color: var(--dlv-papier);
    overflow: hidden;
    gap: 0;
}

.zk-stripe[b-b4oab0mxwg] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 32px;
    transform: translateX(-50%);
    background: linear-gradient(to right, var(--dlv-rot) 0 50%, #ffffff 50% 100%);
    box-shadow: 0 0 8px 2px rgba(35, 31, 32, 0.22);
}

.zk-wappen[b-b4oab0mxwg] {
    position: relative;
    height: 160px;
    width: auto;
    margin-bottom: -28px;
    z-index: 2;
    filter: drop-shadow(4px 4px 8px rgba(35, 31, 32, 0.30));
}

.zk-wartung-card[b-b4oab0mxwg] {
    position: relative;
    z-index: 1;
    padding-top: 2.75rem;
    border: 1px solid var(--dlv-linie);
    box-shadow: 0 10px 30px rgba(35, 31, 32, 0.12);
    text-align: center;
}

.zk-wartung-eyebrow[b-b4oab0mxwg] {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--dlv-rot);
}

.zk-wartung-titel[b-b4oab0mxwg] {
    margin: 0.25rem 0 0.75rem;
    font-size: 1.5rem;
    font-weight: var(--font-weight-medium);
}

.zk-wartung-text[b-b4oab0mxwg] {
    margin: 0 0 1.5rem;
    color: var(--muted-foreground);
    white-space: pre-line;
}

.zk-wartung .login-footer[b-b4oab0mxwg] {
    position: absolute;
    left: 1.5rem;
    bottom: 1rem;
    margin: 0;
    text-align: left;
    color: var(--dlv-grau);
    opacity: 1;
}
/* /Components/Shared/BetragInput.razor.rz.scp.css */
.betrag-input[b-ulqdwkhafx] {
    width: 100%;
    min-width: 7rem;
    vertical-align: middle;
}

.betrag-input > .form-input[b-ulqdwkhafx] {
    font-variant-numeric: tabular-nums;
}

.betrag-klein[b-ulqdwkhafx] {
    height: 2rem;
}

.betrag-klein > .form-input[b-ulqdwkhafx] {
    padding: 0 0.5rem;
    font-size: 0.8125rem;
}

.betrag-klein > .unit[b-ulqdwkhafx] {
    padding: 0 0.4rem;
    font-size: 0.75rem;
}
/* /Components/Shared/Card.razor.rz.scp.css */
.fc-card[b-65r1jsxqbn] {
    display: flex;
    flex-direction: column;
}

.fc-card-header[b-65r1jsxqbn] {
    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-65r1jsxqbn] {
    flex: 1;
}

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

.dok-seite[b-9coi6nubfp] {
    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-9coi6nubfp] {
    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-9coi6nubfp] {
    flex: 1;
    min-width: 0;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

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

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

.dok-seite-pfadzeile[b-9coi6nubfp] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.dok-seite-pfad[b-9coi6nubfp] {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8125rem;
}

/* Griff zum Ziehen der Breite (js/dok-seite.js) - nur als Seitenleiste. */
.dok-seite-griff[b-9coi6nubfp] {
    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-9coi6nubfp] {
        display: none;
    }

    .dok-seite[b-9coi6nubfp] {
        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-9coi6nubfp] {
        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-9coi6nubfp] {
        background-color: rgba(199, 33, 39, 0.5);
    }
}
/* /Components/Shared/KontoFeld.razor.rz.scp.css */
.konto-feld[b-2dilrw09fl] {
    position: relative;
    min-width: 0;
}

.konto-feld-input[b-2dilrw09fl] {
    width: 100%;
    font-variant-numeric: tabular-nums;
}

/* Bezeichnung rechts im Feld: links bleibt Platz für die Nummer, rechts für den Pfeil der Vorschlagsliste; beim Tippen
   (Fokus) ausgeblendet. */
.konto-feld-name[b-2dilrw09fl] {
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%);
    max-width: calc(100% - 6.75rem);
    font-size: 0.8125rem;
    color: var(--muted-foreground);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
}

.konto-feld:focus-within .konto-feld-name[b-2dilrw09fl] {
    visibility: hidden;
}

.konto-feld-unbekannt[b-2dilrw09fl] {
    color: #991b1b;
}

.is-invalid[b-2dilrw09fl] {
    border-color: #dc2626;
}
/* /Components/Shared/Ladegeruest.razor.rz.scp.css */
.lg[b-r9b5k6x884] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    pointer-events: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

.lg-sektion-zeilen[b-r9b5k6x884] {
    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-r9b5k6x884] {
    justify-self: end;
}
/* /Components/Shared/Leerzustand.razor.rz.scp.css */
.leer[b-psi48sig1a] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    max-width: 640px;
    margin: 2.5rem auto 0;
    padding: 2.5rem 2rem 1.75rem;
    text-align: center;
    border-top: 3px solid var(--primary);
}

.leer-icon[b-psi48sig1a] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 9999px;
    background: var(--dlv-papier);
    color: var(--dlv-rot);
}

.leer-titel[b-psi48sig1a] {
    margin: 0.25rem 0 0;
    font-size: 1.25rem;
}

.leer-satz[b-psi48sig1a] {
    max-width: 30rem;
    color: var(--muted-foreground);
}

.leer-bausteine[b-psi48sig1a] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin: 0.5rem 0 0;
    list-style: none;
}

/* Stichworte, keine Knöpfe: flach, ohne Rahmen, Papierton, rund, kein Zeiger und kein Hover. */
.leer-baustein[b-psi48sig1a] {
    padding: 0.2rem 0.7rem;
    border-radius: 9999px;
    background: var(--dlv-papier);
    color: var(--dlv-grau);
    font-size: 0.8125rem;
    cursor: default;
    user-select: none;
}

.leer-fuss[b-psi48sig1a] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
    width: 100%;
    justify-content: center;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}
/* /Components/Shared/Modal.razor.rz.scp.css */
.modal-backdrop[b-h5a4btaedz] {
    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-h5a4btaedz] {
    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-h5a4btaedz] {
    max-width: 820px;
}

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

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

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

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

.modal-close[b-h5a4btaedz] {
    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-h5a4btaedz] {
    background: color-mix(in srgb, var(--muted-foreground, #6b7280) 12%, transparent);
    color: inherit;
}

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

.modal-footer[b-h5a4btaedz] {
    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-kbry2miwfv] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background-color: var(--background);
    border: 1px solid var(--border);
}

.pdf-toolbar[b-kbry2miwfv] {
    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-kbry2miwfv] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
    white-space: nowrap;
}

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

.pdf-container[b-kbry2miwfv] {
    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-kbry2miwfv],
.pdf-container.pan-ready *[b-kbry2miwfv] {
    cursor: grab;
    user-select: none;
}

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

.pdf-placeholder[b-kbry2miwfv] {
    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-kbry2miwfv] .pdf-loading,
[b-kbry2miwfv] .pdf-error {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    color: #ffffff;
    font-size: 0.875rem;
}

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

[b-kbry2miwfv] .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-kbry2miwfv] .pdf-page-wrapper canvas {
    display: block;
}

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

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

[b-kbry2miwfv] .textLayer ::selection {
    background: rgba(199, 33, 39, 0.6);
}
/* /Components/Shared/StatCard.razor.rz.scp.css */
.stat-card[b-sqy8h6p8gf] {
    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-sqy8h6p8gf] {
    background: var(--secondary);
    border-color: var(--primary);
}

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

.stat-card-value[b-sqy8h6p8gf] {
    font-size: 1.6rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.1;
    /* Betrag und Einheit bleiben zusammen (AP 7a); das Raster sorgt für genug Breite. */
    white-space: nowrap;
}

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

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

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

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

.tg-lade[b-1e8bzb3g6q] {
    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-1e8bzb3g6q] {
    opacity: 0.6;
    pointer-events: none;
}

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

.tg-zeile .skel[b-1e8bzb3g6q] {
    display: block;
    max-width: 100%;
}
/* /Components/Shared/Tile.razor.rz.scp.css */
.tile[b-lu85c3o6e0] {
    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-lu85c3o6e0] {
    background: var(--secondary);
    border-color: var(--primary);
}

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

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

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

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

.tile-desc[b-lu85c3o6e0] {
    font-size: 0.82rem;
    color: var(--muted-foreground);
    line-height: 1.45;
}
/* /Components/Shared/UngespeichertWaechter.razor.rz.scp.css */
/* Rückfrage über allem, auch über offenen Dialogen (Modal z-index 1000). */
.uw-backdrop[b-khxdvgjaic] {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    background: rgba(35, 31, 32, 0.35);
}

.uw-panel[b-khxdvgjaic] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem 1rem;
    width: min(28rem, calc(100vw - 2rem));
    padding: 1.25rem 1.5rem;
    background: var(--card, #fff);
    border-top: 3px solid var(--dlv-rot);
    border-radius: var(--radius);
    box-shadow: 0 16px 40px rgba(35, 31, 32, 0.25);
}

.uw-icon[b-khxdvgjaic] {
    color: var(--dlv-rot);
    padding-top: 0.125rem;
}

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

.uw-text[b-khxdvgjaic] {
    margin-top: 0.25rem;
    color: var(--muted-foreground);
    font-size: 0.875rem;
}

.uw-knoepfe[b-khxdvgjaic] {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}
