/* /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;
    gap: 0.25rem; /* Abstand Zugkasse / Der letzte Versuch (Daniel 03.11.2026) */
    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;
}

/* Felder nur so breit wie ihr Inhalt (Daniel 03.11.2026): Datum, Periode und Betrag schmal; Text und Konten breit. */
.bd-periode[b-bzunegz99x] {
    display: grid;
    grid-template-columns: 5rem 6rem;
    gap: 0.5rem;
}

.bd-datum[b-bzunegz99x] {
    max-width: 11rem;
}

/* ---- 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;
}

/* Notiz direkt im Dialog (Daniel 03.11.2026): ruhig wie Text, erst beim Fokus als Feld erkennbar. */
.bd-felder dt:has(+ .bd-notiz-zelle)[b-bzunegz99x] {
    padding-top: 0.3125rem;
}

.bd-notiz[b-bzunegz99x] {
    display: block;
    width: 100%;
    min-height: 2.25rem;
    padding: 0.3125rem 0.5rem;
    font: inherit;
    resize: vertical;
    border-color: transparent;
    background: var(--secondary);
}

.bd-notiz:hover[b-bzunegz99x] {
    border-color: var(--border);
}

.bd-notiz:focus[b-bzunegz99x] {
    background: var(--background);
}

.bd-notiz-status[b-bzunegz99x] {
    display: inline-block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
}

.bd-notiz-status.ok[b-bzunegz99x] { color: #166534; }
.bd-notiz-status.fehler[b-bzunegz99x] { color: #991b1b; }

/* Verweis auf das Blatt im Quittungsblock. */
.bd-quittung[b-bzunegz99x] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    color: var(--primary);
    text-decoration: none;
}

.bd-quittung:hover[b-bzunegz99x] {
    text-decoration: underline;
}
/* /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; }
}

.jn-vorgemerkt[b-j07dqdvjvl] {
    margin-right: 0.375rem;
}
/* /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;
}

/* Felder nur so breit wie ihr Inhalt (Daniel 03.11.2026). */
.sd-periode[b-4oxeub9evf] {
    display: grid;
    grid-template-columns: 5rem 6rem;
    gap: 0.5rem;
}

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

.sd-datum[b-4oxeub9evf] {
    max-width: 11rem;
}

.sd-anzahl[b-4oxeub9evf] {
    max-width: 6rem;
}

.sd-konto[b-4oxeub9evf] {
    max-width: 24rem;
}

.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/Buchhaltung/VorlagenLeiste.razor.rz.scp.css */
.vl[b-fhlfco6fbz] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem 0.75rem;
    padding: 0.625rem 0.75rem;
    margin-bottom: 1rem;
    border: 1px dashed var(--dlv-linie);
    background: var(--dlv-papier);
}

.vl-name[b-fhlfco6fbz] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1 1 16rem;
    min-width: 0;
}

.vl-label[b-fhlfco6fbz] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.vl-knoepfe[b-fhlfco6fbz] {
    display: flex;
    gap: 0.5rem;
}

/* Auswahl, Namensfeld und Knöpfe gleich hoch (Daniel 03.11.2026). */
.vl-name .form-input[b-fhlfco6fbz],
.vl-name .form-select[b-fhlfco6fbz],
.vl-knoepfe .btn[b-fhlfco6fbz] {
    height: 2.25rem;
    box-sizing: border-box;
    white-space: nowrap;
}

.vl-meldung[b-fhlfco6fbz] {
    flex-basis: 100%;
    font-size: 0.8125rem;
    color: var(--foreground);
}

.vl-fehler[b-fhlfco6fbz] {
    color: var(--accent-foreground);
}
/* /Components/Pages/Dokumente/DokumentAngabenFelder.razor.rz.scp.css */
.dkf[b-1z8lmi9tm3] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.dkf-feld[b-1z8lmi9tm3] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.dkf-zwei[b-1z8lmi9tm3] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}
/* /Components/Pages/Dokumente/DokumenteListe.razor.rz.scp.css */
/* Dokumente: Kacheln je Kategorie, Liste, Suche und Hochladen in der Aktionsleiste. */
.dk-kacheln[b-eznqufes18] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.dk-kachel[b-eznqufes18] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.75rem 1rem;
    color: inherit;
    text-decoration: none;
}

.dk-kachel:hover[b-eznqufes18] {
    border-color: var(--primary);
}

.dk-kachel-name[b-eznqufes18] {
    flex: 1;
    font-size: 0.875rem;
}

.dk-kachel-zahl[b-eznqufes18] {
    font-weight: var(--font-weight-medium);
    color: var(--muted-foreground);
    font-variant-numeric: tabular-nums;
}

.dk-hinweis[b-eznqufes18] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.dk-titel[b-eznqufes18] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dk-notiz[b-eznqufes18] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--muted-foreground);
    font-size: 0.75rem;
}

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

.dk-suche[b-eznqufes18] {
    width: 18rem;
    min-height: 36px;
}

.dk-hochladen[b-eznqufes18] {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.dk-hochladen[b-eznqufes18]  .dk-datei-eingabe {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.dk-fehler[b-eznqufes18] {
    margin-bottom: 0.75rem;
    padding: 0.625rem 0.875rem;
    border-left: 3px solid var(--primary);
    background: var(--card);
}

.dk-datei[b-eznqufes18] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

/* Ablagefläche fürs Ziehen und Ablegen: unsichtbar, bis Dateien über das Fenster gezogen werden. */
.dk-ablage[b-eznqufes18] {
    position: fixed;
    inset: 0;
    z-index: 900;
    display: none;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--primary) 10%, rgba(255, 255, 255, 0.85));
    border: 3px dashed var(--primary);
}

.dk-ablage.aktiv[b-eznqufes18] {
    display: flex;
}

.dk-ablage[b-eznqufes18]  .dk-ablage-eingabe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: copy;
}

.dk-ablage-text[b-eznqufes18] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1.5rem 2rem;
    background: var(--card);
    border: 1px solid var(--border);
    color: var(--primary);
    font-size: 1.125rem;
    font-weight: var(--font-weight-medium);
    pointer-events: none;
}

.dk-ablage-text small[b-eznqufes18] {
    color: var(--muted-foreground);
    font-size: 0.8125rem;
    font-weight: normal;
}

.dk-mehrere[b-eznqufes18] {
    margin: 0.25rem 0 0.75rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}
/* /Components/Pages/Einstellungen/AemterEinstellung.razor.rz.scp.css */
/* Ämter: Notiz gedämpft. */
.ae-notiz[b-fv77nd3dnc] {
    font-size: 0.875rem;
    color: var(--muted-foreground);
}
/* /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/Mitgliedschaftsarten.razor.rz.scp.css */
/* Mitgliedschaftsarten: Status als Marken, im Dialog eine Zeile je Status. */
.msa-status[b-9h5l8lugct] {
    margin-right: 0.25rem;
}

.msa-liste[b-9h5l8lugct] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.msa-zeile[b-9h5l8lugct] {
    display: grid;
    grid-template-columns: 1fr auto 2rem;
    gap: 0.5rem;
    align-items: center;
}
/* /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/Vorlagen.razor.rz.scp.css */
.vo-rahmen[b-ac9eagc2nm] {
    overflow-x: auto;
}

.vo[b-ac9eagc2nm] {
    min-width: 720px;
}

.vo-text[b-ac9eagc2nm] {
    color: var(--muted-foreground);
}

.vo-aktion[b-ac9eagc2nm] {
    white-space: nowrap;
    text-align: right;
}

.vo-aktion .btn + .btn[b-ac9eagc2nm] {
    margin-left: 0.375rem;
}

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

.vo-hinweis[b-ac9eagc2nm] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

/* Felder nur so breit wie ihr Inhalt (Daniel 03.11.2026). */
.vo-name[b-ac9eagc2nm] {
    max-width: 24rem;
}

.vo-konto[b-ac9eagc2nm] {
    max-width: 24rem;
}

.vo-anzahl[b-ac9eagc2nm] {
    max-width: 6rem;
}

.vo-tag[b-ac9eagc2nm] {
    display: grid;
    grid-template-columns: 8rem 5rem;
    gap: 0.5rem;
}
/* /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;
}

/* Kassenstand und Spargelder nebeneinander über der Karte „Kassenstand heute“ (Daniel 03.11.2026). */
.kennzahlen-zwei[b-6811m3d01i] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 0.75rem;
}

/* Auszahlung allein über der Karte „Schützenjahr“. */
.kennzahlen-eins[b-6811m3d01i] {
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 0.75rem;
}

/* Kassenstand: Sparbuch links, bar rechts; Außenstände klein und rot neben dem Vermögen (Daniel 03.11.2026). */
.kennzahl-beidseits[b-6811m3d01i] {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
}

.kennzahl-wert-umbruch[b-6811m3d01i] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 0.5rem;
}

.kennzahl-offen[b-6811m3d01i] {
    margin-left: auto;
    font-size: 0.8125rem;
    color: var(--primary);
    white-space: nowrap;
}

.kennzahl-zeilen[b-6811m3d01i] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.125rem 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);
}

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

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

/* Verlinkte Karten: die ganze Karte ist der Link. */
.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;
}

/* ---- Kassenstand heute und Schützenjahr (03.11.2026) ---- */
.stand-raster[b-6811m3d01i] {
    margin-top: 1.5rem; /* direkt unter dem Kopf (Sparbuch steht seit 03.11.2026 darunter) */
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* 50/50 (Daniel 03.11.2026) */
    gap: 0.75rem;
    align-items: stretch;
}

.stand-raster > section[b-6811m3d01i] {
    display: flex;
    flex-direction: column;
}

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

.stand-link[b-6811m3d01i] {
    color: var(--foreground);
    text-decoration: none;
    transition: border-color 0.15s ease;
}

.stand-link:hover[b-6811m3d01i] {
    text-decoration: none;
    border-color: var(--primary);
}

.stand-kopf[b-6811m3d01i] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    color: var(--muted-foreground);
    font-size: 0.875rem;
}

.stand-kopf strong[b-6811m3d01i] {
    font-size: 1.75rem;
    font-weight: 400;
    color: var(--foreground);
    font-variant-numeric: tabular-nums;
}

.stand-balken[b-6811m3d01i] {
    display: flex;
    height: 0.75rem;
    border-radius: 9999px;
    overflow: hidden;
    background: var(--muted);
}

.stand-fremd[b-6811m3d01i] {
    background: #b9b4ae;
}

.stand-zug[b-6811m3d01i] {
    background: var(--dlv-rot);
}

.stand-zeilen[b-6811m3d01i] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0;
}

.stand-zeilen > div[b-6811m3d01i] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
}

.stand-zeilen dt[b-6811m3d01i] {
    font-weight: 400;
    min-width: 0;
}

.stand-zeilen dt small[b-6811m3d01i] {
    margin-left: 0.375rem;
    color: var(--muted-foreground);
}

.stand-zeilen dd[b-6811m3d01i] {
    margin: 0;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.stand-summe[b-6811m3d01i] {
    padding-top: 0.625rem;
    border-top: 1px solid var(--border);
    font-weight: var(--font-weight-medium);
    font-size: 1.05rem;
}

.stand-punkt[b-6811m3d01i] {
    display: inline-block;
    width: 0.625rem;
    height: 0.625rem;
    margin-right: 0.5rem;
    border-radius: 9999px;
}

.stand-punkt.fremd[b-6811m3d01i] {
    background: #b9b4ae;
}

.stand-punkt.zug[b-6811m3d01i] {
    background: var(--dlv-rot);
}

.stand-punkt.kasse[b-6811m3d01i] {
    border: 2px solid var(--dlv-rot);
}

.stand-minus[b-6811m3d01i] {
    color: #991b1b;
}

.stand-unter[b-6811m3d01i] {
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted-foreground);
}

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

.stand-klein dt[b-6811m3d01i] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stand-weiter[b-6811m3d01i] {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.875rem;
    color: var(--primary);
}

@media (max-width: 900px) {
    .stand-raster[b-6811m3d01i] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Vorgemerkte Buchungen (Belegtag nach heute) unter dem Stand. */
.stand-vorgemerkt[b-6811m3d01i] {
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
    margin-top: 0.75rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.stand-datum[b-6811m3d01i] {
    font-weight: var(--font-weight-normal);
    color: var(--muted-foreground);
    font-size: 0.8em;
    margin-left: 0.375rem;
}
/* /Components/Pages/Kassenbuch/KassenbuchListe.razor.rz.scp.css */
.kb-kpi[b-8mwuc0fn6c] {
    margin-bottom: 1rem;
}

.kb-rahmen[b-8mwuc0fn6c] {
    overflow-x: auto;
}

.kb[b-8mwuc0fn6c] {
    min-width: 760px;
}

.kb td[b-8mwuc0fn6c] {
    font-variant-numeric: tabular-nums;
}

.kb-stand td[b-8mwuc0fn6c],
.kb-summe td[b-8mwuc0fn6c] {
    font-weight: var(--font-weight-medium);
    background: var(--secondary);
}

.kb-summe td[b-8mwuc0fn6c] {
    border-top: 2px solid var(--border);
}

.kb-monat[b-8mwuc0fn6c] {
    display: block;
    font-size: 0.6875rem;
    color: var(--muted-foreground);
}

.kb-konto[b-8mwuc0fn6c] {
    font-weight: var(--font-weight-medium);
}

.kb-gegen[b-8mwuc0fn6c] {
    color: var(--muted-foreground);
}

.kb-gegen .kb-konto[b-8mwuc0fn6c] {
    color: var(--foreground);
}

.kb-blatt[b-8mwuc0fn6c] {
    color: var(--primary);
    text-decoration: none;
    white-space: nowrap;
}

.kb-blatt:hover[b-8mwuc0fn6c] {
    text-decoration: underline;
}

.kb-ein[b-8mwuc0fn6c] {
    color: #166534;
}

.kb-aus[b-8mwuc0fn6c] {
    color: #991b1b;
}

.kb-bestand[b-8mwuc0fn6c] {
    font-weight: var(--font-weight-medium);
}

.kb-negativ[b-8mwuc0fn6c] {
    color: #991b1b;
}

@media (pointer: coarse) {
    .kb tbody td[b-8mwuc0fn6c] {
        padding-top: 0.875rem;
        padding-bottom: 0.875rem;
    }
}


/* Reihenfolge im Belegtag (Daniel 04.11.2026): Pfeile vorn, Tage durch eine Linie getrennt, zuletzt bewegte Zeile markiert. */
.kb-sortierhinweis[b-8mwuc0fn6c] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    padding: 0.625rem 0.875rem;
    border-left: 3px solid var(--primary);
    background: var(--card);
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.kb-fehler[b-8mwuc0fn6c] {
    margin-bottom: 0.75rem;
    padding: 0.625rem 0.875rem;
    border-left: 3px solid var(--primary);
    background: color-mix(in srgb, var(--primary) 6%, var(--card));
    font-size: 0.875rem;
}

.kb-pfeile[b-8mwuc0fn6c] {
    white-space: nowrap;
}

.kb-pfeil[b-8mwuc0fn6c] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    cursor: pointer;
}

.kb-pfeil + .kb-pfeil[b-8mwuc0fn6c] {
    margin-left: 0.25rem;
}

.kb-pfeil:disabled[b-8mwuc0fn6c] {
    opacity: 0.35;
    cursor: default;
}

@media (pointer: coarse) {
    .kb-pfeil[b-8mwuc0fn6c] {
        width: 44px;
        height: 40px;
    }
}

.kb-sortieren tr.kb-tagbeginn > td[b-8mwuc0fn6c] {
    border-top: 2px solid var(--border);
}

.kb-sortieren tr.kb-bewegt > td[b-8mwuc0fn6c] {
    background: color-mix(in srgb, var(--primary) 6%, transparent);
}

.kb-grund[b-8mwuc0fn6c] {
    display: block;
    margin-top: 0.125rem;
    padding: 0;
    border: 0;
    background: none;
    color: var(--primary);
    font-size: 0.75rem;
    cursor: pointer;
}

.kb-grund:hover[b-8mwuc0fn6c] {
    text-decoration: underline;
}


/* Zeitraum in der Aktionsleiste (wie „alle Perioden“ im Journal) und Kopfzeile mit Anzahl. */
.kb-kopf[b-8mwuc0fn6c] {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    min-width: 0;
}

.kb-kopf span[b-8mwuc0fn6c] {
    font-size: 0.875rem;
    color: var(--muted-foreground);
    white-space: nowrap;
}

.kb-zeitraum-schalter[b-8mwuc0fn6c] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
    white-space: nowrap;
    cursor: pointer;
}

.kb-zeitraum[b-8mwuc0fn6c] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin-right: 0.5rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.kb-zeitraum input[type="date"][b-8mwuc0fn6c] {
    width: 8.75rem;
    min-height: 36px;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

/* Schmalere Fenster: Reihenfolge und PDF nur als Symbol (Tooltip bleibt), damit die Aktionsleiste einzeilig bleibt. */
@media (max-width: 1520px) {
    .kb-kurz span[b-8mwuc0fn6c] {
        display: none;
    }
}
/* /Components/Pages/Kassenbuch/KassenbuchUebersicht.razor.rz.scp.css */
/* Überblick Kassenbuch: große Kacheln, gut zu tippen (iPad). */
.kbu-kacheln[b-lm2307h8gu] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.kbu-kachel[b-lm2307h8gu] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding: 1.25rem 1.5rem;
    color: var(--foreground);
    text-decoration: none;
    border-left: 4px solid transparent;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.kbu-kachel:hover[b-lm2307h8gu],
.kbu-kachel:focus-visible[b-lm2307h8gu] {
    border-left-color: var(--primary);
}

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

.kbu-wert[b-lm2307h8gu] {
    font-size: 1.875rem;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

.kbu-einheit[b-lm2307h8gu] {
    font-size: 0.875rem;
    font-weight: normal;
    color: var(--muted-foreground);
}

.kbu-leer[b-lm2307h8gu] {
    color: var(--muted-foreground);
}

.kbu-hinweis[b-lm2307h8gu] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.kbu-aktionen[b-lm2307h8gu] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.kbu-aktion[b-lm2307h8gu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 64px;
    padding: 0.875rem 1.25rem;
    color: var(--foreground);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    background: linear-gradient(to right, var(--dlv-papier), var(--card) 70%);
}

.kbu-aktion:hover[b-lm2307h8gu],
.kbu-aktion:focus-visible[b-lm2307h8gu] {
    color: var(--primary);
}

.kbu-liste[b-lm2307h8gu] {
    padding: 0.25rem 0;
}

.kbu-zeile[b-lm2307h8gu] {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr) 8rem 8rem;
    gap: 0.75rem;
    align-items: center;
    padding: 0.625rem 1.25rem;
    border-bottom: 1px solid var(--border);
    font-variant-numeric: tabular-nums;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.kbu-zeile:hover[b-lm2307h8gu] {
    background: color-mix(in srgb, var(--muted) 60%, transparent);
}

.kbu-zeile:last-child[b-lm2307h8gu] {
    border-bottom: 0;
}

.kbu-datum[b-lm2307h8gu] {
    color: var(--muted-foreground);
}

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

.kbu-betrag[b-lm2307h8gu],
.kbu-bestand[b-lm2307h8gu] {
    text-align: right;
}

.kbu-ein[b-lm2307h8gu] { color: #166534; }
.kbu-aus[b-lm2307h8gu] { color: #991b1b; }

.kbu-bestand[b-lm2307h8gu] {
    color: var(--muted-foreground);
}

.kbu-leerzeile[b-lm2307h8gu] {
    padding: 1rem 1.25rem;
    color: var(--muted-foreground);
}

@media (max-width: 1000px) {
    .kbu-kacheln[b-lm2307h8gu] { grid-template-columns: minmax(0, 1fr); }
    .kbu-aktionen[b-lm2307h8gu] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .kbu-zeile[b-lm2307h8gu] { grid-template-columns: 5.5rem minmax(0, 1fr) 6.5rem; }
    .kbu-bestand[b-lm2307h8gu] { display: none; }
}
/* /Components/Pages/Kassenbuch/Quittungsblock.razor.rz.scp.css */
/* ==========================================================================
   Quittungsblock (Seite /quittungen): Blätter des Schützenjahres zum Durchblättern.
   Blättern über CSS Scroll Snap (Swipe nativ), JS nur für aktuelles Blatt, Pfeiltasten und Springen
   (wwwroot/js/quittungsblock.js). Alle Klassen mit Präfix qb-.
   ::deep nur für Elemente, die nicht aus dieser Komponente stammen: SvgIcon (Kind-Komponente) und die
   Unterschrift als MarkupString.
   ========================================================================== */

.qb[b-w8pjdl943b] {
    /* Warnfarbe = Werte von .badge-warning aus app.css; app.css hat dafür keinen Token. */
    --qb-warnung: #854d0e;
    --qb-warnung-grund: #fef9c3;
    /* Tippziel (Apple HIG / WCAG 2.5.5): 44 px. */
    --qb-tipp: 44px;
    /* Breite von Kopf und Bühne: Blatt + zwei Pfeile + Abstände; Kopf und Pfeile fluchten. */
    --qb-blatt-max: 46rem;
    --qb-breite: calc(var(--qb-blatt-max) + 2 * var(--qb-tipp) + 1rem);

    container-type: inline-size;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.qb-zahl[b-w8pjdl943b] {
    font-variant-numeric: tabular-nums;
}

/* Sichtbarer Fokus für alle Bedienelemente der Seite (Tastatur am Desktop). */
.qb button:focus-visible[b-w8pjdl943b],
.qb a:focus-visible[b-w8pjdl943b],
.qb-block:focus-visible[b-w8pjdl943b] {
    outline: 2px solid var(--ring);
    outline-offset: 2px;
}

/* Touch: Buttons der Seite mindestens 44 px hoch. Am Desktop bleibt die Hausgröße. */
@media (pointer: coarse) {
    .qb .btn[b-w8pjdl943b] {
        min-height: var(--qb-tipp);
    }
}

/* ---- Kopf: Schützenjahr, Kennzahlen, Übersicht ---- */
.qb-kopf[b-w8pjdl943b] {
    max-width: var(--qb-breite);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    padding: 0.75rem 1.25rem;
    background: linear-gradient(to right, var(--dlv-papier), var(--card) 55%);
    border-left: 4px solid var(--primary);
}

.qb-kopf-zeile[b-w8pjdl943b] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
}

.qb-kopf-text[b-w8pjdl943b] {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    min-width: 0;
}

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

.qb-kopf-titel[b-w8pjdl943b] {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.qb-kopf-zahlen[b-w8pjdl943b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
}

.qb-kopf-nav[b-w8pjdl943b] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.qb-kopf-nav .qb-leiste[b-w8pjdl943b] {
    flex: 1 1 auto;
    min-width: 0;
}

.qb-kopf-umschalter[b-w8pjdl943b] {
    flex: none;
    min-height: var(--qb-tipp);
}

/* Übersicht: eine Zeile (waagerecht rollend) oder als Raster ausgeklappt. */
.qb-leiste[b-w8pjdl943b] {
    position: relative;
    display: flex;
    gap: 0.375rem;
    margin: 0;
    padding: 2px 2px 6px;
    list-style: none;
    overflow-x: auto;
    scrollbar-width: thin;
    overscroll-behavior-x: contain;
}

.qb-leiste-raster[b-w8pjdl943b] {
    flex-wrap: wrap;
    overflow-x: visible;
}

.qb-leiste > li[b-w8pjdl943b] {
    flex: none;
}

.qb-nr[b-w8pjdl943b] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--qb-tipp);
    height: var(--qb-tipp);
    padding: 0 0.5rem;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: var(--font-weight-normal);
    font-variant-numeric: tabular-nums;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.qb-nr:hover[b-w8pjdl943b] {
    background: var(--muted);
}

/* Aktuelles Blatt: Unterstrich in Primärfarbe wie der aktive Reiter. */
.qb-nr[aria-current="true"][b-w8pjdl943b] {
    border-color: var(--primary);
    box-shadow: inset 0 -3px 0 var(--primary);
    color: var(--primary);
    font-weight: var(--font-weight-medium);
}

/* Markierungen: ungültig durchgestrichen; geändert gelber Punkt; Foto fehlt hohler Ring; offen (Unterschrift fehlt) Halbpunkt. */
.qb-nr-ungueltig[b-w8pjdl943b] {
    background: var(--muted);
    color: var(--muted-foreground);
    text-decoration: line-through;
}

.qb-nr-geaendert[b-w8pjdl943b]::after,
.qb-nr-ohnefoto[b-w8pjdl943b]::after,
.qb-nr-offen[b-w8pjdl943b]::after {
    content: "";
    position: absolute;
    top: 4px;
    right: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.qb-nr-geaendert[b-w8pjdl943b]::after {
    background: var(--qb-warnung);
}

.qb-nr-ohnefoto[b-w8pjdl943b]::after {
    border: 1.5px solid var(--muted-foreground);
}

.qb-nr-offen[b-w8pjdl943b]::after {
    border: 1.5px solid var(--qb-warnung);
    background: linear-gradient(to right, var(--qb-warnung) 50%, transparent 50%);
}

/* Neues Blatt am Ende der Leiste. */
.qb-nr-neu[b-w8pjdl943b] {
    border-style: dashed;
    color: var(--muted-foreground);
}

.qb-legende[b-w8pjdl943b] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.qb-legende[hidden][b-w8pjdl943b] {
    display: none;
}

.qb-legende-eintrag[b-w8pjdl943b] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

.qb-legende-zeichen[b-w8pjdl943b] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.qb-legende-geaendert[b-w8pjdl943b] { background: var(--qb-warnung); }
.qb-legende-ohnefoto[b-w8pjdl943b] { border: 1.5px solid var(--muted-foreground); }
.qb-legende-offen[b-w8pjdl943b] {
    border: 1.5px solid var(--qb-warnung);
    background: linear-gradient(to right, var(--qb-warnung) 50%, transparent 50%);
}
.qb-legende-ungueltig[b-w8pjdl943b] { text-decoration: line-through; }

/* ---- Bühne: Pfeile links/rechts, dazwischen der Block ---- */
.qb-buehne[b-w8pjdl943b] {
    display: grid;
    grid-template-columns: var(--qb-tipp) minmax(0, 1fr) var(--qb-tipp);
    grid-template-areas: "zurueck block vor";
    align-items: center;
    gap: 0.5rem;
    /* Pfeile direkt neben dem Blatt statt am Rand der Seite. */
    width: 100%;
    max-width: var(--qb-breite);
    margin: 0 auto;
}

.qb-pfeil[b-w8pjdl943b] {
    width: var(--qb-tipp, 44px);
    height: var(--qb-tipp, 44px);
    padding: 0;
}

.qb-pfeil-zurueck[b-w8pjdl943b] { grid-area: zurueck; }
.qb-pfeil-vor[b-w8pjdl943b] { grid-area: vor; }

/* Der Block ist so hoch wie sein höchstes Blatt; mittig stünden die Pfeile bei kurzen Blättern im Leeren.
   Deshalb oben ausgerichtet, auf Höhe des Betrags. */
.qb-buehne > .qb-pfeil[b-w8pjdl943b] {
    align-self: start;
    margin-top: 7rem;
}

/* Position "Blatt 3 von 8" nur im schmalen Layout (zwischen den Pfeilen unter dem Blatt). */
.qb-position[b-w8pjdl943b] {
    grid-area: pos;
    display: none;
    text-align: center;
    font-size: 0.875rem;
    color: var(--muted-foreground);
    font-variant-numeric: tabular-nums;
}

/* Der Block: waagerecht rollender Container, rastet je Blatt ein. Swipe, Trackpad und Shift+Rad ohne eigenes JS. */
.qb-block[b-w8pjdl943b] {
    grid-area: block;
    position: relative;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.qb-block[b-w8pjdl943b]::-webkit-scrollbar {
    display: none;
}

@media (prefers-reduced-motion: no-preference) {
    .qb-block[b-w8pjdl943b] {
        scroll-behavior: smooth;
    }
}

/* Ein Fach je Blatt; Innenabstand, damit Schatten und Perforation nicht abgeschnitten werden. */
.qb-fach[b-w8pjdl943b] {
    flex: 0 0 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 0.25rem 0.375rem 0.75rem;
    scroll-snap-align: center;
    scroll-snap-stop: always;
}

/* ---- Das Blatt ---- */
.qb-blatt[b-w8pjdl943b] {
    position: relative;
    width: 100%;
    max-width: var(--qb-blatt-max);
    background: var(--card);
    border: 1px solid var(--border);
    border-top: none;
    /* Kartenschatten plus Kante des darunterliegenden Blatts. */
    box-shadow:
        0 1px 6px rgba(0, 0, 0, 0.10),
        0 4px 0 -1px var(--card),
        0 4px 0 0 var(--border);
}

/* Abrisskante oben: Lochreihe in der Hintergrundfarbe der Seite, darunter eine feine Linie. */
.qb-blatt[b-w8pjdl943b]::before {
    content: "";
    display: block;
    height: 12px;
    background:
        radial-gradient(circle at 7px 6px, var(--muted) 0 2.5px, var(--dlv-linie) 2.6px 3.1px, transparent 3.4px) 0 0 / 14px 12px repeat-x,
        var(--card);
    border-bottom: 1px dashed var(--dlv-linie);
}

/* Kopf des Blatts: Richtung + Nummer links, Datum + Jahr rechts. Papierverlauf mit rotem Strich wie .bd-satz. */
.qb-blatt-kopf[b-w8pjdl943b] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.625rem 1.25rem 0.625rem;
    background: linear-gradient(to right, var(--dlv-papier), var(--card) 70%);
    border-left: 3px solid var(--primary);
}

.qb-blatt-nr[b-w8pjdl943b] {
    margin: 0;
    font-size: 1.75rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.qb-blatt-nr-zeichen[b-w8pjdl943b] {
    font-size: 1rem;
    color: var(--muted-foreground);
    margin-right: 0.25rem;
}

.qb-eyebrow-jahr[b-w8pjdl943b] {
    margin-left: 0.5rem;
    color: var(--muted-foreground);
    letter-spacing: 0.04em;
    font-variant-numeric: tabular-nums;
}

/* Rechts im Blattkopf: Datum, darunter Status und Buchung. */
.qb-blatt-meta[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.375rem;
    min-width: 0;
}

.qb-blatt-datum[b-w8pjdl943b] {
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
}

/* Status als Wort/Badge. */
.qb-status[b-w8pjdl943b] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.25rem 0.5rem;
    font-size: 0.8125rem;
}

.qb-status-grund[b-w8pjdl943b] {
    color: var(--muted-foreground);
}

.qb-status-buchung[b-w8pjdl943b] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: 0.25rem;
    font-variant-numeric: tabular-nums;
}

@media (pointer: coarse) {
    .qb-status-buchung[b-w8pjdl943b] {
        min-height: var(--qb-tipp);
        margin-top: -0.625rem;
        margin-bottom: -0.625rem;
    }
}

.qb-status-ohne[b-w8pjdl943b] {
    margin-left: 0.25rem;
    color: var(--muted-foreground);
}

/* Geändert nach Unterschrift: Warnzeile. */
.qb-hinweis[b-w8pjdl943b] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.5rem;
    margin: 0.625rem 1.25rem 0;
    padding: 0.5rem 0.75rem;
    background: var(--qb-warnung-grund);
    color: var(--qb-warnung);
    font-size: 0.8125rem;
}

.qb-hinweis-titel[b-w8pjdl943b] {
    font-weight: var(--font-weight-medium);
}

.qb-hinweis[b-w8pjdl943b]  svg {
    flex: none;
}

/* Rumpf: Betrag und Felder, rechts das Foto (Generation 1). */
.qb-rumpf[b-w8pjdl943b] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem 1.5rem;
    padding: 0.75rem 1.25rem 0;
}

.qb-rumpf-mit-foto[b-w8pjdl943b] {
    grid-template-columns: minmax(0, 1fr) 9.5rem;
}

.qb-betrag[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--dlv-linie);
}

.qb-betrag-wert[b-w8pjdl943b] {
    font-size: 1.875rem;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

.qb-betrag-einheit[b-w8pjdl943b] {
    font-size: 1.125rem;
    color: var(--muted-foreground);
    margin-left: 0.25rem;
}

.qb-betrag-worte[b-w8pjdl943b] {
    font-size: 0.875rem;
    font-style: italic;
    color: var(--muted-foreground);
    overflow-wrap: anywhere;
}

/* Felder wie Zeilen eines Formulars: Beschriftung links, Wert auf der Linie. */
.qb-felder[b-w8pjdl943b] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    margin: 0;
}

.qb-felder dt[b-w8pjdl943b],
.qb-felder dd[b-w8pjdl943b] {
    padding: 0.4375rem 0;
    border-bottom: 1px solid var(--dlv-linie);
}

.qb-felder dt[b-w8pjdl943b] {
    padding-right: 1.25rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
    align-self: stretch;
    display: flex;
    align-items: center;
}

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

.qb-konto-nr[b-w8pjdl943b] {
    font-variant-numeric: tabular-nums;
    margin-right: 0.375rem;
}

.qb-konto-name[b-w8pjdl943b] {
    color: var(--muted-foreground);
}

/* ---- Foto (Generation 1) ---- */
.qb-foto-spalte[b-w8pjdl943b] {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.qb-foto[b-w8pjdl943b] {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--muted);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    cursor: zoom-in;
    overflow: hidden;
}

.qb-foto img[b-w8pjdl943b] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.qb-foto-fehlt[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    width: 100%;
    aspect-ratio: 3 / 4;
    padding: 0.75rem;
    border: 2px dashed var(--dlv-linie);
    background: color-mix(in srgb, var(--dlv-papier) 35%, var(--card));
    color: var(--muted-foreground);
    font-size: 0.8125rem;
    text-align: center;
}

.qb-foto-fehlt[b-w8pjdl943b]  .qb-foto-fehlt-icon {
    width: 28px;
    height: 28px;
    color: var(--dlv-grau);
}

/* Volle Breite des Platzhalters; in der schmalen Spalte (iPad hochkant) bricht der Text um statt überzustehen. */
.qb-foto-fehlt .btn[b-w8pjdl943b] {
    width: 100%;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    white-space: normal;
    text-align: center;
}

/* ---- Unterschriften (Generation 2) ---- */
.qb-unterschriften[b-w8pjdl943b] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
    gap: 1rem 1.5rem;
    padding: 0.75rem 1.25rem 0.25rem;
}

.qb-unterschrift[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* Fläche mit Unterschriftslinie; die SVG kommt als MarkupString (viewBox 0 0 600 200). */
.qb-unterschrift-flaeche[b-w8pjdl943b] {
    height: 4rem;
    border-bottom: 1px solid var(--foreground);
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

/* Nur die Unterschrift (MarkupString im eigenen Wrapper), nicht die Icons im Knopf "Unterschreiben". */
.qb-unterschrift-bild[b-w8pjdl943b] {
    width: 100%;
    height: 100%;
}

.qb-unterschrift-bild[b-w8pjdl943b]  svg {
    display: block;
    width: 100%;
    height: 100%;
}

.qb-unterschrift-bild[b-w8pjdl943b]  path {
    fill: none;
    stroke: var(--dlv-schwarz);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.qb-unterschrift-leer[b-w8pjdl943b] {
    align-items: center;
    padding-bottom: 0.5rem;
    border-bottom-style: dashed;
    border-bottom-color: var(--muted-foreground);
}

.qb-unterschrift-rolle[b-w8pjdl943b] {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted-foreground);
}

.qb-unterschrift-name[b-w8pjdl943b] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 0.75rem;
    font-size: 0.875rem;
}

.qb-unterschrift-zeit[b-w8pjdl943b] {
    color: var(--muted-foreground);
    font-size: 0.8125rem;
    font-variant-numeric: tabular-nums;
}

/* ---- Aktionen am Fuß des Blatts ---- */
.qb-fuss[b-w8pjdl943b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.875rem;
    padding: 0.625rem 1.25rem;
    border-top: 1px solid var(--border);
    background: var(--background);
}

.qb-fuss-rechts[b-w8pjdl943b] {
    margin-left: auto;
}

/* ---- Ungültig: Inhalt tritt zurück, Stempel quer darüber ---- */
.qb-blatt-ungueltig .qb-rumpf[b-w8pjdl943b],
.qb-blatt-ungueltig .qb-unterschriften[b-w8pjdl943b] {
    opacity: 0.45;
}

.qb-blatt-ungueltig .qb-betrag-wert[b-w8pjdl943b] {
    text-decoration: line-through;
    text-decoration-thickness: 2px;
}

.qb-stempel[b-w8pjdl943b] {
    position: absolute;
    top: 46%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-12deg);
    padding: 0.25rem 1.25rem;
    border: 3px solid var(--dlv-rot);
    color: var(--dlv-rot);
    background: color-mix(in srgb, var(--card) 70%, transparent);
    font-size: 1.75rem;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.85;
    pointer-events: none;
    white-space: nowrap;
}

/* ---- Neues Blatt (am Ende des Blocks) ---- */
.qb-neu-formular[b-w8pjdl943b] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    padding: 1rem 1.25rem 0.25rem;
}

.qb-neu-feld[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.qb-neu-breit[b-w8pjdl943b] {
    grid-column: 1 / -1;
}

.qb-richtung[b-w8pjdl943b] {
    display: inline-flex;
}

.qb-richtung .btn[b-w8pjdl943b] {
    min-height: var(--qb-tipp);
    min-width: 8rem;
}

.qb-richtung .btn + .btn[b-w8pjdl943b] {
    margin-left: -1px;
}

.qb-richtung .btn[aria-pressed="true"][b-w8pjdl943b] {
    border-color: var(--primary);
    box-shadow: inset 0 -3px 0 var(--primary);
    color: var(--primary);
}

.qb-neu-formular .form-input[b-w8pjdl943b] {
    min-height: var(--qb-tipp);
}

/* ---- Foto groß (Lupe) ---- */
.qb-lupe[b-w8pjdl943b] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgba(35, 31, 32, 0.75);
}

.qb-lupe img[b-w8pjdl943b] {
    max-width: 100%;
    max-height: 100%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    background: var(--card);
}

.qb-lupe-schliessen[b-w8pjdl943b] {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: var(--qb-tipp, 44px);
    height: var(--qb-tipp, 44px);
    padding: 0;
}

/* ---- Schmal (iPad hochkant mit offener Seitenleiste, Fenster < ~640 px Inhalt) ---- */
@container (max-width: 640px) {
    .qb-buehne[b-w8pjdl943b] {
        grid-template-columns: var(--qb-tipp) minmax(0, 1fr) var(--qb-tipp);
        grid-template-areas:
            "zurueck pos vor"
            "block block block";
        row-gap: 0.25rem;
    }

    .qb-buehne > .qb-pfeil[b-w8pjdl943b] {
        margin-top: 0;
    }

    .qb-position[b-w8pjdl943b] {
        display: block;
    }

    .qb-fach[b-w8pjdl943b] {
        padding-left: 0.125rem;
        padding-right: 0.125rem;
    }

    .qb-rumpf-mit-foto[b-w8pjdl943b] {
        grid-template-columns: minmax(0, 1fr) 7.5rem;
    }

    .qb-blatt-kopf[b-w8pjdl943b],
    .qb-rumpf[b-w8pjdl943b],
    .qb-unterschriften[b-w8pjdl943b],
    .qb-neu-formular[b-w8pjdl943b],
    .qb-fuss[b-w8pjdl943b] {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .qb-hinweis[b-w8pjdl943b] {
        margin-left: 1rem;
        margin-right: 1rem;
    }

    .qb-neu-formular[b-w8pjdl943b] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@container (max-width: 460px) {
    .qb-rumpf-mit-foto[b-w8pjdl943b] {
        grid-template-columns: minmax(0, 1fr);
    }

    .qb-foto-spalte[b-w8pjdl943b] {
        grid-column: 1;
        grid-row: auto;
        max-width: 12rem;
    }
}


/* ---- Ergänzungen der Zugkasse (Einbau 03.11.2026) ---- */
button.qb-status-buchung[b-w8pjdl943b],
.qb-hinweis-link[b-w8pjdl943b] {
    padding: 0;
    border: none;
    background: none;
    font: inherit;
    color: var(--primary);
    cursor: pointer;
}

button.qb-status-buchung:hover[b-w8pjdl943b],
.qb-hinweis-link:hover[b-w8pjdl943b] {
    text-decoration: underline;
}

.qb-hinweis-link[b-w8pjdl943b] {
    margin-left: auto;
}

.qb-meldung[b-w8pjdl943b] {
    margin: 0 0 0.75rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    background: var(--dlv-papier);
    border-left: 4px solid var(--primary);
}

.qb-beleg[b-w8pjdl943b] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.375rem;
    font-size: 0.8125rem;
    color: var(--primary);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.qb-lupe-aktionen[b-w8pjdl943b] {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.5rem;
}

.qb-form[b-w8pjdl943b] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1rem;
}

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

.qb-form-breit[b-w8pjdl943b] {
    grid-column: 1 / -1;
}

.qb-form-worte[b-w8pjdl943b] {
    margin-top: 0.75rem;
    font-style: italic;
    color: var(--muted-foreground);
}

.qb-form-hinweis[b-w8pjdl943b] {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.qb-fehler[b-w8pjdl943b] {
    margin-top: 0.75rem;
    font-size: 0.875rem;
    color: #991b1b;
}

.qb-leer[b-w8pjdl943b] {
    color: var(--muted-foreground);
}

.qb-verlauf td[b-w8pjdl943b] {
    vertical-align: top;
    white-space: normal;
}

.qb-verlauf-wer[b-w8pjdl943b] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.qb-verlauf-alt[b-w8pjdl943b] {
    color: var(--muted-foreground);
    text-decoration: line-through;
}

.qb-verlauf-fuss[b-w8pjdl943b] {
    margin-top: 0.75rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

@media (pointer: coarse) {
    .qb-form .form-input[b-w8pjdl943b],
    .qb-form .btn[b-w8pjdl943b] {
        min-height: 44px;
    }
}

@media (max-width: 640px) {
    .qb-form[b-w8pjdl943b] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Meldung und Leerzustand so breit wie Kopf und Bühne. */
.qb-meldung[b-w8pjdl943b],
.qb > .empty-state[b-w8pjdl943b] {
    max-width: var(--qb-breite);
    margin-left: auto;
    margin-right: auto;
}

.qb > .empty-state[b-w8pjdl943b] {
    margin-top: 0.75rem;
}


/* ==========================================================================
   Umbau 03.11.2026 (Daniel): Karte so breit wie die Navigation, Pfeile außerhalb und vertikal mittig; Erfassen im Blatt;
   Generation 2 im Aufbau des Papierformulars; Generation 1 Foto oben, Angaben darunter.
   ========================================================================== */

.qb-kopf[b-w8pjdl943b],
.qb-meldung[b-w8pjdl943b],
.qb > .empty-state[b-w8pjdl943b] {
    width: 100%;
    max-width: var(--qb-blatt-max);
    margin-left: auto;
    margin-right: auto;
}

.qb-buehne[b-w8pjdl943b] {
    position: relative;
    display: block;
    width: 100%;
    max-width: var(--qb-blatt-max);
    margin: 0 auto;
}

.qb-fach[b-w8pjdl943b] {
    align-items: stretch;
    padding-left: 0;
    padding-right: 0;
}

.qb-blatt[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
}

.qb-fuss[b-w8pjdl943b] {
    margin-top: auto;
}

/* Pfeile außerhalb der Karte, vertikal mittig. */
.qb-buehne > .qb-pfeil[b-w8pjdl943b] {
    position: absolute;
    top: 50%;
    margin-top: 0;
    transform: translateY(-50%);
    z-index: 2;
}

.qb-buehne > .qb-pfeil-zurueck[b-w8pjdl943b] { left: calc(-1 * (var(--qb-tipp) + 0.75rem)); }
.qb-buehne > .qb-pfeil-vor[b-w8pjdl943b] { right: calc(-1 * (var(--qb-tipp) + 0.75rem)); }
.qb-buehne > .qb-position[b-w8pjdl943b] { display: none; }

/* Zu schmal für Pfeile neben der Karte: Pfeile und Position über dem Blatt. */
@container (max-width: 54rem) {
    .qb-buehne[b-w8pjdl943b] {
        display: grid;
        grid-template-columns: var(--qb-tipp) minmax(0, 1fr) var(--qb-tipp);
        grid-template-areas:
            "zurueck pos vor"
            "block block block";
        row-gap: 0.25rem;
        align-items: center;
    }

    .qb-buehne > .qb-pfeil[b-w8pjdl943b] {
        position: static;
        transform: none;
    }

    .qb-buehne > .qb-position[b-w8pjdl943b] { display: block; grid-area: pos; }
}

/* ---- Generation 2: Quittungsformular wie auf dem Papierblock ---- */
.qq[b-w8pjdl943b] {
    --qq-linie: var(--dlv-linie);
    --qq-label: var(--dlv-grau);
    margin: 0.75rem 1.25rem 0;
    padding: 0.875rem 1rem 0.75rem;
    background: color-mix(in srgb, var(--dlv-papier) 30%, #fff);
    border: 1px solid var(--qq-linie);
}

.qq-l[b-w8pjdl943b] {
    font-size: 0.6875rem;
    line-height: 1.15;
    color: var(--qq-label);
    white-space: nowrap;
}

.qq-w[b-w8pjdl943b] {
    min-width: 0;
    font-size: 1.0625rem;
    color: var(--foreground);
    overflow-wrap: anywhere;
}

.qq-oben[b-w8pjdl943b] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    min-height: 2rem;
    margin-bottom: 0.375rem;
}

.qq-notiz[b-w8pjdl943b] {
    flex: 1;
    font-style: italic;
    color: var(--muted-foreground);
}

.qq-titel[b-w8pjdl943b] {
    font-size: 1.375rem;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.01em;
    color: var(--primary);
}

.qq-kopf[b-w8pjdl943b] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: end;
}

.qq-nr[b-w8pjdl943b] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    padding: 0.375rem 0.5rem;
    border: 1px solid var(--qq-linie);
    border-right: none;
    border-bottom: none;
}

.qq-nr .qq-w[b-w8pjdl943b] {
    font-size: 1.25rem;
    font-weight: var(--font-weight-medium);
}

.qq-eur[b-w8pjdl943b] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--qq-linie);
    border-bottom: none;
    background: color-mix(in srgb, var(--dlv-papier) 55%, #fff);
}

.qq-betrag[b-w8pjdl943b] {
    margin-left: auto;
    font-size: 1.5rem;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
}

.qq-zeile[b-w8pjdl943b] {
    display: grid;
    grid-template-columns: 4.25rem minmax(0, 1fr);
    align-items: end;
    gap: 0.5rem;
    min-height: 2.75rem;
    padding: 0.25rem 0.5rem;
    border-bottom: 1px solid var(--qq-linie);
    border-left: 1px solid var(--qq-linie);
}

.qq-worte[b-w8pjdl943b] {
    grid-template-columns: 4.25rem minmax(0, 1fr) auto;
    border: 1px solid var(--qq-linie);
}

.qq-worte .qq-w[b-w8pjdl943b] {
    font-style: italic;
}

.qq-cent[b-w8pjdl943b] {
    font-size: 0.625rem;
    line-height: 1.1;
    text-align: center;
    color: var(--qq-label);
    padding-left: 0.5rem;
    border-left: 1px solid var(--qq-linie);
}

.qq-dankend[b-w8pjdl943b] {
    padding: 0.25rem 0.5rem 0;
    text-align: right;
    font-size: 0.875rem;
    color: var(--qq-label);
}

.qq-unten[b-w8pjdl943b] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    gap: 1rem;
    align-items: end;
    padding: 0.25rem 0.5rem 0;
    border-bottom: 1px solid var(--qq-linie);
}

.qq-ort[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding-bottom: 0.375rem;
}

.qq-sig[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding-bottom: 0.25rem;
}

.qq-sigbild[b-w8pjdl943b],
.qq-sigleer[b-w8pjdl943b] {
    width: 100%;
    aspect-ratio: 3 / 1;
    max-height: 7.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.qq-sigbild[b-w8pjdl943b]  .ub {
    height: 100%;
    width: auto;
    max-width: 100%;
}

.qq-signame-text[b-w8pjdl943b] {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.875rem;
}

.qq-sigzeit[b-w8pjdl943b] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.qq-fuss[b-w8pjdl943b] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    gap: 1rem;
    align-items: start;
    padding: 0.375rem 0.5rem 0;
}

.qq-vermerk[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.qq-vermerk-w[b-w8pjdl943b] {
    font-size: 0.875rem;
}

.qq-buchung[b-w8pjdl943b] {
    color: var(--muted-foreground);
}

/* Eingaben im Formular: wie beschriftete Linien, erst beim Fokus als Feld erkennbar. */
.qq-feld[b-w8pjdl943b] {
    width: 100%;
    min-width: 0;
    min-height: 2.25rem;
    padding: 0.25rem 0.375rem;
    font: inherit;
    font-size: 1.0625rem;
    color: var(--foreground);
    background: color-mix(in srgb, var(--card) 70%, transparent);
    border: 1px solid transparent;
    border-bottom-color: var(--border);
}

.qq-feld:hover[b-w8pjdl943b] {
    border-color: var(--border);
}

.qq-feld:focus[b-w8pjdl943b] {
    outline: none;
    background: var(--card);
    border-color: var(--primary);
}

.qq-notiz.qq-feld[b-w8pjdl943b] {
    font-style: italic;
    font-size: 0.9375rem;
}

.qq-nr-feld[b-w8pjdl943b] {
    width: 5rem;
}

.qq-eur[b-w8pjdl943b]  input {
    font-size: 1.375rem;
    text-align: right;
}

.qq-signame[b-w8pjdl943b] {
    font-size: 0.9375rem;
}

.qq-vermerk[b-w8pjdl943b]  .konto-feld {
    max-width: 22rem;
}

/* ---- Generation 1: Foto oben, erfasste Angaben darunter ---- */
.qb-fotoblatt[b-w8pjdl943b] {
    margin: 0.75rem 1.25rem 0;
}

.qb-fotogross[b-w8pjdl943b] {
    display: block;
    width: 100%;
    padding: 0;
    border: 1px solid var(--dlv-linie);
    background: var(--muted);
    cursor: zoom-in;
}

.qb-fotogross img[b-w8pjdl943b] {
    display: block;
    width: 100%;
    max-height: 34rem;
    object-fit: contain;
}

.qb-fotofehlt[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    min-height: 16rem;
    padding: 1.5rem;
    color: var(--muted-foreground);
    text-align: center;
    border: 2px dashed var(--dlv-linie);
    background: color-mix(in srgb, var(--dlv-papier) 30%, #fff);
}

.qb-fotofehlt[b-w8pjdl943b]  .qb-foto-fehlt-icon {
    width: 2.25rem;
    height: 2.25rem;
}

.qb-daten[b-w8pjdl943b] {
    margin: 0.75rem 1.25rem 0;
    padding: 0.875rem 1rem 0.5rem;
    border: 1px solid var(--border);
    background: var(--card);
}

.qb-daten-titel[b-w8pjdl943b] {
    margin-bottom: 0.5rem;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted-foreground);
}

.qb-daten .qb-betrag[b-w8pjdl943b] {
    margin-bottom: 0.25rem;
}

.qb-daten-belege[b-w8pjdl943b] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
    padding: 0.5rem 0 0.25rem;
}

button.qb-beleg[b-w8pjdl943b] {
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    font: inherit;
    font-size: 0.8125rem;
}

/* ---- Weitere Unterschriften unter dem Formular ---- */
.qb-weitere[b-w8pjdl943b] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1.25rem;
    margin: 0.75rem 1.25rem 0;
}

.qb-weitere-eintrag[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    width: 13rem;
}

.qb-weitere-bild[b-w8pjdl943b] {
    border-bottom: 1px solid var(--dlv-grau);
}

.qb-weitere-neu[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem;
    border: 1px solid var(--border);
    background: var(--card);
}

.qb-weitere-zeile[b-w8pjdl943b] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.qb-weitere-zeile .form-input[b-w8pjdl943b] {
    flex: 1 1 12rem;
}

/* ---- Erfassen im Blatt ---- */
.qb-blatt-eingabe[b-w8pjdl943b] {
    border-color: var(--primary);
}

.qb-eingabe-schalter[b-w8pjdl943b] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.qb-richtung[b-w8pjdl943b] {
    display: inline-flex;
    flex-wrap: wrap;
}

.qb-richtung .btn[b-w8pjdl943b] {
    border-radius: 0;
}

.qb-richtung .btn + .btn[b-w8pjdl943b] {
    margin-left: -1px;
}

.qb-richtung .btn[aria-pressed="true"][b-w8pjdl943b] {
    position: relative;
    z-index: 1;
    border-color: var(--primary);
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 6%, var(--card));
}

.qb-fehler-blatt[b-w8pjdl943b] {
    margin: 0.75rem 1.25rem 0;
}

@container (max-width: 640px) {
    .qq[b-w8pjdl943b],
    .qb-fotoblatt[b-w8pjdl943b],
    .qb-daten[b-w8pjdl943b],
    .qb-weitere[b-w8pjdl943b],
    .qb-fehler-blatt[b-w8pjdl943b] {
        margin-left: 0.75rem;
        margin-right: 0.75rem;
    }

    .qq-unten[b-w8pjdl943b],
    .qq-fuss[b-w8pjdl943b],
    .qq-kopf[b-w8pjdl943b] {
        grid-template-columns: minmax(0, 1fr);
    }

    .qq-nr[b-w8pjdl943b] {
        border-right: 1px solid var(--qq-linie);
    }
}

/* Der Block nimmt die Höhe des aktuellen Blatts an (quittungsblock.js, hoehe()); die Blätter selbst wachsen nicht mit. */
.qb-fach[b-w8pjdl943b] {
    align-items: flex-start;
}

.qb-block[b-w8pjdl943b] {
    transition: height 0.2s ease;
}

@media (prefers-reduced-motion: reduce) {
    .qb-block[b-w8pjdl943b] {
        transition: none;
    }
}

/* Richtung und Art der Quittung in einer Zeile (Daniel 03.11.2026). */
.qb-blatt-eingabe .qb-blatt-kopf[b-w8pjdl943b] {
    align-items: center;
}

.qb-blatt-eingabe .qb-eyebrow[b-w8pjdl943b] {
    white-space: nowrap;
}

.qb-eingabe-schalter[b-w8pjdl943b] {
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.75rem;
}

.qb-eingabe-schalter .qb-richtung[b-w8pjdl943b] {
    flex-wrap: nowrap;
}

.qb-eingabe-schalter .qb-richtung .btn[b-w8pjdl943b] {
    min-width: 0;
    padding-left: 0.875rem;
    padding-right: 0.875rem;
    white-space: nowrap;
}

/* Zu schmal: die beiden Umschalter untereinander, aber jeder für sich in einer Zeile. */
@container (max-width: 640px) {
    .qb-eingabe-schalter[b-w8pjdl943b] {
        flex-wrap: wrap;
    }
}

/* Fotos im Format der Papierquittung (A6 quer, 148 × 105 mm), mittig ausgefüllt (Daniel 03.11.2026). Das ganze Foto
   zeigt die Lupe. Der Platzhalter „Foto fehlt“ hat dasselbe Format. */
.qb-fotogross[b-w8pjdl943b],
.qb-fotofehlt[b-w8pjdl943b] {
    aspect-ratio: 148 / 105;
    min-height: 0;
}

.qb-fotogross img[b-w8pjdl943b] {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center;
}

/* Volle Breite nutzen (Daniel 03.11.2026, iPad): Karte so breit wie der Platz neben den Pfeilen, höchstens 64rem.
   cqw bezieht sich auf .qb (container-type), darum wird die Breite an den Kindern berechnet. */
.qb > *[b-w8pjdl943b] {
    --qb-blatt-max: min(64rem, calc(100cqw - 2 * (var(--qb-tipp) + 1rem)));
}

@container (max-width: 54rem) {
    .qb > *[b-w8pjdl943b] {
        --qb-blatt-max: 100cqw;
    }
}

/* Pfeile nehmen keinen Platz (Daniel 03.11.2026): die Karte nutzt die volle Breite bis zur Höchstbreite (64rem); erst
   wenn daneben Platz bleibt (64rem + 2 × (44px + 1rem) = 71.5rem), erscheinen die Pfeile außen. Sonst blättert man per
   Wischen, Nummernleiste und Tastatur. Hebt die schmalen Varianten weiter oben auf. */
.qb > *[b-w8pjdl943b] {
    --qb-blatt-max: min(64rem, 100cqw);
}

.qb-buehne[b-w8pjdl943b] {
    display: block;
}

.qb-buehne > .qb-pfeil[b-w8pjdl943b],
.qb-buehne > .qb-position[b-w8pjdl943b] {
    display: none;
}

@container (min-width: 71.5rem) {
    .qb-buehne > .qb-pfeil[b-w8pjdl943b] {
        display: inline-flex;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
}

/* Name klein gedruckt unter der Unterschriftslinie; gewählt wird er unten rechts neben dem Konto (Daniel 03.11.2026). */
.qq-signame-druck[b-w8pjdl943b] {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    min-height: 1rem;
    margin-top: -0.125rem;
    padding: 0 6%;
    font-size: 0.75rem;
    letter-spacing: 0.02em;
    color: var(--dlv-grau);
}

.qq-sigbild + .qq-signame-druck[b-w8pjdl943b],
.qq-sigleer + .qq-signame-druck[b-w8pjdl943b] {
    padding: 0;
    border-top: 1px solid var(--dlv-grau);
    padding-top: 0.125rem;
}

.qq-sig[b-w8pjdl943b]  .uf-flaeche {
    border-style: dashed;
}

.qq-fuss .qq-name[b-w8pjdl943b] {
    max-width: 22rem;
}

/* Datum nur so breit wie nötig (Daniel 03.11.2026). */
.qb input[type="date"][b-w8pjdl943b] {
    width: 11rem;
    max-width: 100%;
}

/* Namen mit Vorschlägen (NamenAuswahl) im Formular wie die übrigen Felder. */
.qq-zeile[b-w8pjdl943b]  .na-input {
    min-height: 2.25rem;
    font-size: 1.0625rem;
    background: color-mix(in srgb, var(--card) 70%, transparent);
    border-color: transparent;
    border-bottom-color: var(--border);
}

.qb-weitere-zeile[b-w8pjdl943b]  .qb-weitere-name {
    flex: 1 1 12rem;
}

/* Fotobereich flacher als A6 (Daniel 03.11.2026): 16:9, Foto weiter mittig ausgefüllt; ganz in der Lupe. */
.qb-fotogross[b-w8pjdl943b],
.qb-fotofehlt[b-w8pjdl943b] {
    aspect-ratio: 16 / 9;
}


/* ---- Unterschrift im Formular: kleine Vorschau mit Unterschreiben/Löschen (Daniel 03.11.2026) ---- */
.qq-sigvorschau[b-w8pjdl943b] {
    position: relative;
    width: min(100%, 15rem);
    aspect-ratio: 3 / 1;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1.5px solid var(--dlv-grau);
}

.qq-sigvorschau[b-w8pjdl943b]  .ub {
    width: 100%;
    height: 100%;
}

.qq-sigvorschau-leer[b-w8pjdl943b] {
    border-bottom-style: dashed;
}

.qq-sigleer-text[b-w8pjdl943b] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.qq-sig .qq-signame-druck[b-w8pjdl943b] {
    width: min(100%, 15rem);
    margin: 0.125rem auto 0;
    padding: 0;
    border-top: none;
}

.qq-sigknoepfe[b-w8pjdl943b] {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-top: 0.375rem;
}

/* ---- Kerndaten im Vollbild ---- */
.uvq[b-w8pjdl943b] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.5rem 1.5rem;
}

.uvq-betrag[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    padding-right: 1.5rem;
    border-right: 1px solid var(--border);
}

.uvq-wert[b-w8pjdl943b] {
    font-size: 2rem;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.uvq-worte[b-w8pjdl943b] {
    font-style: italic;
    color: var(--muted-foreground);
}

.uvq-felder[b-w8pjdl943b] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.125rem 0.75rem;
    margin: 0;
    font-size: 0.9375rem;
}

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

.uvq-felder dd[b-w8pjdl943b] {
    margin: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 640px) {
    .uvq[b-w8pjdl943b] {
        grid-template-columns: minmax(0, 1fr);
    }

    .uvq-betrag[b-w8pjdl943b] {
        border-right: none;
        padding-right: 0;
    }
}

/* Symbole hinter der Unterschriftslinie, unten bündig mit der Linie. */
.qq-sigzeile[b-w8pjdl943b] {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 0.5rem;
}

.qq-sigzeile .qq-sigvorschau[b-w8pjdl943b] {
    margin: 0;
    flex: 0 1 15rem;
}

.qq-sigzeile .qq-sigknoepfe[b-w8pjdl943b] {
    display: flex;
    gap: 0.25rem;
    margin: 0 0 0.125rem;
}

.qq-sigknopf[b-w8pjdl943b] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--muted-foreground);
    cursor: pointer;
}

.qq-sigknopf:hover:not(:disabled)[b-w8pjdl943b] {
    color: var(--primary);
    border-color: var(--primary);
}

.qq-sigknopf:disabled[b-w8pjdl943b] {
    opacity: 0.35;
    cursor: default;
}

@media (pointer: coarse) {
    .qq-sigknopf[b-w8pjdl943b] {
        width: 44px;
        height: 44px;
    }
}

/* Name unter der Linie bündig mit der Vorschau (links), die Symbole stehen rechts daneben. */
.qq-sig .qq-signame-druck[b-w8pjdl943b] {
    margin-left: auto;
    margin-right: auto;
}

.qq-sigvorschau-tippbar[b-w8pjdl943b] {
    cursor: pointer;
}

.qq-sigvorschau-tippbar:hover[b-w8pjdl943b] {
    background: color-mix(in srgb, var(--primary) 4%, transparent);
}

.qq-sigvorschau-tippbar:hover .qq-sigleer-text[b-w8pjdl943b] {
    color: var(--primary);
}

/* Vorschau und Name als Spalte, Symbole rechts daneben auf Höhe der Linie. */
.qq-sigspalte[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    flex: 0 1 15rem;
    min-width: 0;
}

.qq-sigspalte .qq-sigvorschau[b-w8pjdl943b] {
    width: 100%;
}

.qq-sigspalte .qq-signame-druck[b-w8pjdl943b] {
    width: 100%;
    margin: 0.125rem 0 0;
}

.qq-sigzeile[b-w8pjdl943b] {
    align-items: flex-start;
}

.qq-sigzeile .qq-sigknoepfe[b-w8pjdl943b] {
    align-self: flex-start;
    margin-top: calc(min(15rem, 100%) / 3 - 36px);
}

/* ---- Anhänge (Bons, Rechnungen) ---- */
.qb-anhaenge[b-w8pjdl943b] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    margin: 0.75rem 1.25rem 0;
}

.qb-anhaenge-titel[b-w8pjdl943b] {
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted-foreground);
}

.qb-anhaenge-liste[b-w8pjdl943b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.qb-anhang[b-w8pjdl943b] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5.5rem;
    height: 4rem;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    background: var(--muted);
    cursor: pointer;
}

.qb-anhang img[b-w8pjdl943b] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.qb-anhang-datei[b-w8pjdl943b] {
    width: auto;
    max-width: 14rem;
    gap: 0.375rem;
    padding: 0 0.625rem;
    font-size: 0.8125rem;
    color: var(--foreground);
    text-decoration: none;
    background: var(--card);
}

.qb-anhang-datei span[b-w8pjdl943b] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qb-anhang-neu[b-w8pjdl943b] {
    border-style: dashed;
    cursor: default;
}

.qb-anhang-weg[b-w8pjdl943b] {
    display: inline-flex;
    padding: 0.125rem;
    border: none;
    background: none;
    color: var(--muted-foreground);
    cursor: pointer;
}

@container (max-width: 640px) {
    .qb-anhaenge[b-w8pjdl943b] {
        margin-left: 0.75rem;
        margin-right: 0.75rem;
    }
}

/* Vorschau feste Höhe (3:1 bei 15rem), Symbole unten auf Höhe der Linie (über der Namenszeile). */
.qq-sigspalte .qq-sigvorschau[b-w8pjdl943b] {
    aspect-ratio: auto;
    height: 5rem;
}

.qq-sigspalte .qq-sigvorschau[b-w8pjdl943b]  .ub {
    width: auto;
    height: 100%;
    max-width: 100%;
}

.qq-sigzeile[b-w8pjdl943b] {
    align-items: flex-end;
}

.qq-sigzeile .qq-sigknoepfe[b-w8pjdl943b] {
    align-self: flex-end;
    margin-top: 0;
    margin-bottom: 1.25rem;
}

/* In der Spalte gilt flex-basis als Höhe: die Vorschau nicht strecken. */
.qq-sigspalte .qq-sigvorschau[b-w8pjdl943b] {
    flex: none;
}


/* ---- Zuschnitt des Hauptfotos (Daniel 03.11.2026) ---- */
.qb-fotorahmen[b-w8pjdl943b] {
    position: relative;
}

.qb-fotogross[b-w8pjdl943b] {
    position: relative;
    overflow: hidden;
}

.qb-fotogross img.qb-foto-schnitt[b-w8pjdl943b] {
    position: absolute;
    max-width: none;
    max-height: none;
    height: auto;
    object-fit: fill;
}

.qb-foto-schnittknopf[b-w8pjdl943b] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--card) 88%, transparent);
    color: var(--foreground);
    cursor: pointer;
}

.qb-foto-schnittknopf:hover[b-w8pjdl943b] {
    color: var(--primary);
    border-color: var(--primary);
}

@media (pointer: coarse) {
    .qb-foto-schnittknopf[b-w8pjdl943b] {
        width: 44px;
        height: 44px;
    }
}


/* Zuschnitt mit Mitte, Breite und Drehung (Ausschnitt darf über das Foto hinausgehen): Lage wie im Werkzeug, Flächen
   außerhalb des Fotos weiß. */
.qb-fotogross:has(.qb-foto-schnitt)[b-w8pjdl943b] {
    background: #fff;
}

.qb-fotogross img.qb-foto-schnitt[b-w8pjdl943b] {
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
}


/* Symbol neben dem Titel: Navigation ein- und ausblenden. */
.qb-titel[b-w8pjdl943b] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.qb-nav-knopf[b-w8pjdl943b] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--muted-foreground);
    cursor: pointer;
}

.qb-nav-knopf[aria-pressed="true"][b-w8pjdl943b] {
    color: var(--primary);
    border-color: var(--primary);
    background: color-mix(in srgb, var(--primary) 6%, var(--card));
}

@media (pointer: coarse) {
    .qb-nav-knopf[b-w8pjdl943b] {
        width: 44px;
        height: 44px;
    }
}
/* /Components/Pages/Kassenbuch/ZaehlungDetail.razor.rz.scp.css */
/* Zählung (Geld zählen), Scoped CSS, Präfix zl-. iPad-tauglich: Ziele mindestens 44 px, Summe immer sichtbar.
   Querformat: Scheine links, Münzen rechts; Hochformat: untereinander. */

.zl-seite[b-ljs6qttin3] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ---------- Summenleiste (sticky) ---------- */

.zl-summe[b-ljs6qttin3] {
    position: sticky;
    /* .content-area hat 2rem Innenabstand; sticky rechnet ihn ein. Mit -2rem klebt die Leiste bündig am oberen
       Rand des Rollbereichs, und keine Zählzeile scheint über ihr durch. */
    top: -2rem;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 2rem;
    padding: 0.75rem 1.25rem;
}

.zl-summe-haupt[b-ljs6qttin3] {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    min-width: 11rem;
}

.zl-klein[b-ljs6qttin3] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.zl-summe-wert[b-ljs6qttin3] {
    font-size: 2rem;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}

.zl-teil[b-ljs6qttin3] {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    font-variant-numeric: tabular-nums;
}

.zl-teil strong[b-ljs6qttin3],
.zl-vergleich strong[b-ljs6qttin3] {
    font-weight: var(--font-weight-medium);
}

.zl-vergleich[b-ljs6qttin3] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-left: auto;
    font-variant-numeric: tabular-nums;
}

.zl-diff[b-ljs6qttin3] {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.9375rem;
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
}

.zl-diff-null[b-ljs6qttin3]  { background: #dcfce7; color: #166534; }
.zl-diff-plus[b-ljs6qttin3]  { background: #fef9c3; color: #854d0e; }
.zl-diff-minus[b-ljs6qttin3] { background: #fee2e2; color: #991b1b; }

/* ---------- Nennwert-Gruppen ---------- */

.zl-gruppen[b-ljs6qttin3] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: start;
}

@media (orientation: landscape) and (min-width: 900px) {
    .zl-gruppen[b-ljs6qttin3] { grid-template-columns: 1fr 1fr; }
}

.zl-gruppe[b-ljs6qttin3]  .fc-card-body {   /* Body der Card-Komponente: ::deep, weil Card ein eigener Scope ist */
    padding: 0.25rem 0;
}

.zl-gruppensumme[b-ljs6qttin3] {
    font-variant-numeric: tabular-nums;
    color: var(--muted-foreground);
    font-weight: var(--font-weight-normal);
}

.zl-zeile[b-ljs6qttin3] {
    display: grid;
    grid-template-columns: 4.5rem auto 1fr;
    align-items: center;
    gap: 1rem;
    min-height: 56px;
    padding: 0.25rem 1.25rem;
    border-bottom: 1px solid var(--border);
}

.zl-zeile:last-child[b-ljs6qttin3] {
    border-bottom: 0;
}

/* Nennwert als Schein (Rechteck) oder Münze (Kreis), dezent in der Euro-Farbe */
.zl-schein[b-ljs6qttin3],
.zl-muenze[b-ljs6qttin3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: var(--foreground);
    border: 1px solid;
}

.zl-schein[b-ljs6qttin3] {
    width: 4.5rem;
    height: 2.25rem;
    border-left-width: 4px;
}

.zl-muenze[b-ljs6qttin3] {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    font-size: 0.8125rem;
}

.zl-n-200[b-ljs6qttin3] { background: #fbf4d9; border-color: #d9b84a; }
.zl-n-100[b-ljs6qttin3] { background: #e6f2e2; border-color: #7fae6e; }
.zl-n-50[b-ljs6qttin3]  { background: #fbeadb; border-color: #e09a5c; }
.zl-n-20[b-ljs6qttin3]  { background: #e3edf7; border-color: #7b9fc9; }
.zl-n-10[b-ljs6qttin3]  { background: #f8e3e1; border-color: #d48a82; }
.zl-n-5[b-ljs6qttin3]   { background: #eeeeea; border-color: #a5a49c; }
.zl-gold[b-ljs6qttin3]  { background: #f7efd4; border-color: #c9a646; }
.zl-kupfer[b-ljs6qttin3] { background: #f5e4d8; border-color: #b87a52; }
.zl-bimetall[b-ljs6qttin3] { background: radial-gradient(circle, #f7efd4 0 54%, #e9e9e6 56%); border-color: #a9a9a2; }

.zl-stepper[b-ljs6qttin3] {
    display: flex;
    align-items: stretch;
    height: 48px;
}

.zl-schritt[b-ljs6qttin3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    touch-action: manipulation;   /* kein Doppeltipp-Zoom beim schnellen Tippen */
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
}

.zl-schritt:hover[b-ljs6qttin3] { background: var(--muted); }
.zl-schritt:active[b-ljs6qttin3] { background: color-mix(in srgb, var(--muted-foreground) 18%, var(--card)); }
.zl-schritt:disabled[b-ljs6qttin3] { color: var(--border); background: var(--card); cursor: default; }

.zl-schritt svg[b-ljs6qttin3] {
    width: 20px;
    height: 20px;
}

.zl-anzahl[b-ljs6qttin3] {
    width: 4.25rem;
    height: 48px;
    border: 1px solid var(--border);
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    background: var(--input-background);
    text-align: center;
    font-size: 1.25rem;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
    color: var(--foreground);
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.zl-anzahl:focus[b-ljs6qttin3] {
    border: 1px solid var(--ring);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ring) 15%, transparent);
    position: relative;
}

.zl-zeilensumme[b-ljs6qttin3] {
    justify-self: end;
    font-size: 1.0625rem;
    font-variant-numeric: tabular-nums;
}

/* Nennwerte ohne Stück treten zurück, gezählte stehen vorn */
.zl-null .zl-anzahl[b-ljs6qttin3],
.zl-null .zl-zeilensumme[b-ljs6qttin3] {
    color: var(--muted-foreground);
    font-weight: var(--font-weight-normal);
}

.zl-null .zl-schein[b-ljs6qttin3],
.zl-null .zl-muenze[b-ljs6qttin3] {
    opacity: 0.7;
}

.zl-gesperrt .zl-stepper[b-ljs6qttin3] {
    opacity: 0.55;
}

/* ---------- Angaben ---------- */

.zl-felder[b-ljs6qttin3] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.25rem;
}

.zl-breit[b-ljs6qttin3] {
    grid-column: 1 / -1;
}

@media (max-width: 640px) {
    .zl-felder[b-ljs6qttin3] { grid-template-columns: 1fr; }
}

.zl-zeitpunkt[b-ljs6qttin3] {
    display: grid;
    grid-template-columns: 1fr 7rem;
    gap: 0.5rem;
}

.zl-felder .form-input[b-ljs6qttin3],
.zl-felder .zl-umschalter button[b-ljs6qttin3] {
    min-height: 44px;
    font-size: 1rem;
}

.zl-umschalter[b-ljs6qttin3] {
    display: flex;
}

.zl-umschalter button[b-ljs6qttin3] {
    flex: 1;
    padding: 0 1rem;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    font-size: 0.9375rem;
    font-weight: var(--font-weight-normal);
}

.zl-umschalter button + button[b-ljs6qttin3] {
    border-left: 0;
}

.zl-umschalter button.zl-an[b-ljs6qttin3] {
    background: var(--secondary);
    border-color: var(--muted-foreground);
    box-shadow: inset 0 -2px 0 var(--primary);
    font-weight: var(--font-weight-medium);
}

.zl-umschalter button:disabled[b-ljs6qttin3] {
    cursor: default;
    color: var(--muted-foreground);
    background: var(--background);
}

.zl-umschalter button.zl-an:disabled[b-ljs6qttin3] {
    color: var(--foreground);
    box-shadow: inset 0 -2px 0 var(--muted-foreground);
}

.zl-bezug[b-ljs6qttin3] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.5rem;
}

.zl-chips[b-ljs6qttin3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    min-height: 44px;
    padding: 0.25rem;
    border: 1px solid var(--border);
    background: var(--input-background);
}

.zl-chip[b-ljs6qttin3] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    height: 36px;
    padding: 0 0.25rem 0 0.75rem;
    border-radius: 9999px;
    background: var(--muted);
    font-size: 0.9375rem;
}

.zl-chip-weg[b-ljs6qttin3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: none;
    color: var(--muted-foreground);
}

.zl-chip-weg:hover[b-ljs6qttin3] { background: color-mix(in srgb, var(--muted-foreground) 15%, transparent); color: var(--foreground); }

.zl-chip-weg svg[b-ljs6qttin3] { width: 16px; height: 16px; }

.zl-chip-neu[b-ljs6qttin3] {
    flex: 1;
    min-width: 10rem;
    height: 36px;
    padding: 0 0.5rem;
    border: 0;
    outline: none;
    background: transparent;
    font-size: 1rem;
    font-family: inherit;
}

.zl-chips:focus-within[b-ljs6qttin3] {
    border-color: var(--ring);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ring) 15%, transparent);
}

textarea.form-input[b-ljs6qttin3] {
    resize: vertical;
    min-height: 4.5rem;
    line-height: 1.4;
}

/* ---------- Unterschriften ---------- */

.zl-unterschrift[b-ljs6qttin3] {
    display: grid;
    grid-template-columns: minmax(8rem, 1fr) minmax(0, 240px) auto;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border);
}

.zl-unterschrift:last-child[b-ljs6qttin3] { border-bottom: 0; }

.zl-unterschrift-name[b-ljs6qttin3] { font-weight: var(--font-weight-medium); }

.zl-unterschrift .btn[b-ljs6qttin3] { min-height: 44px; }

.zl-leer-vorschau[b-ljs6qttin3] {
    display: flex;
    align-items: flex-end;
    height: 56px;
    padding-bottom: 0.375rem;
    border-bottom: 1px dashed var(--dlv-linie);
}

.zl-fuss[b-ljs6qttin3] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.zl-fuss .btn[b-ljs6qttin3] { min-height: 44px; }

.zl-luecke[b-ljs6qttin3] { flex: 1; }

.zl-grund[b-ljs6qttin3] {
    padding: 0.75rem 1rem;
    background: var(--secondary);
    border-left: 3px solid var(--muted-foreground);
    font-size: 0.9375rem;
}

@media (max-width: 640px) {
    .zl-unterschrift[b-ljs6qttin3] { grid-template-columns: 1fr auto; }
    .zl-unterschrift > :nth-child(2)[b-ljs6qttin3] { grid-column: 1 / -1; grid-row: 2; }
    .zl-vergleich[b-ljs6qttin3] { margin-left: 0; }
}


/* ---- Ergänzungen der Zugkasse (Einbau 03.11.2026) ---- */
.zl-n-500[b-ljs6qttin3] { background: #f1e7f3; border-color: #a57bb0; }

.zl-fehler[b-ljs6qttin3] {
    margin: 0 0 0.75rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    color: #991b1b;
    background: #fef2f2;
    border-left: 4px solid #991b1b;
}

.zl-leer[b-ljs6qttin3] {
    color: var(--muted-foreground);
    font-size: 0.875rem;
}

.zl-titel[b-ljs6qttin3] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.zl-zurueck[b-ljs6qttin3] {
    display: inline-flex;
    color: var(--muted-foreground);
}

.zl-unterschrift-zeit[b-ljs6qttin3] {
    display: block;
    font-size: 0.75rem;
    font-weight: normal;
    color: var(--muted-foreground);
}

.zl-unterschrift[b-ljs6qttin3]  .zl-unterschrift-bild {
    max-width: 240px;
    background: color-mix(in srgb, var(--dlv-papier) 28%, #fff);
    border-bottom: 1px solid var(--dlv-linie);
}


/* Unterschrift direkt in der Liste der Beteiligten (ohne Modal). */
.zl-pad[b-ljs6qttin3] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem 0 1rem;
    border-bottom: 1px solid var(--border);
}

.zl-pad-kontext[b-ljs6qttin3] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.zl-pad-zeile[b-ljs6qttin3] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.zl-pad-name[b-ljs6qttin3] {
    flex: 1;
    font-weight: var(--font-weight-medium);
}

/* Kerndaten im Vollbild zum Unterschreiben. */
.zl-vk[b-ljs6qttin3] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 1.25rem;
    color: var(--muted-foreground);
}

.zl-vk-summe[b-ljs6qttin3] {
    font-size: 2rem;
    font-weight: var(--font-weight-medium);
    color: var(--foreground);
    font-variant-numeric: tabular-nums;
}
/* /Components/Pages/Kassenbuch/Zaehlungen.razor.rz.scp.css */
.zs-rahmen[b-yxoy0gg0uc] {
    overflow-x: auto;
}

.zs[b-yxoy0gg0uc] {
    min-width: 720px;
}

.zs-bezug[b-yxoy0gg0uc] {
    font-weight: var(--font-weight-medium);
}

.zs-wer[b-yxoy0gg0uc] {
    margin-left: 0.5rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.zs-summe[b-yxoy0gg0uc] {
    font-weight: var(--font-weight-medium);
}

.zs-soll[b-yxoy0gg0uc] {
    margin-right: 0.375rem;
    color: var(--muted-foreground);
}

.zs-verworfen td[b-yxoy0gg0uc] {
    color: var(--muted-foreground);
}

.zs-verworfen .zs-summe[b-yxoy0gg0uc] {
    text-decoration: line-through;
}

@media (pointer: coarse) {
    .zs tbody td[b-yxoy0gg0uc] {
        padding-top: 0.875rem;
        padding-bottom: 0.875rem;
    }
}
/* /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/Kassenabrechnung.razor.rz.scp.css */
.ka-rahmen[b-18lgquqk71] {
    padding: 0;
    overflow-x: auto;
}

.ka[b-18lgquqk71] {
    min-width: 520px;
}

.ka td[b-18lgquqk71] {
    font-variant-numeric: tabular-nums;
}

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

.ka-stand td[b-18lgquqk71] {
    font-weight: var(--font-weight-medium);
}

.ka-zwischen td[b-18lgquqk71] {
    font-weight: var(--font-weight-medium);
    border-top: 1px solid var(--foreground);
}

.ka-ende td[b-18lgquqk71] {
    padding: 0.875rem 0.75rem;
    font-size: 1.05rem;
    font-weight: var(--font-weight-medium);
    border-top: 2px solid var(--border);
}

.ka-differenz td[b-18lgquqk71],
.ka-hinweis td[b-18lgquqk71] {
    color: var(--muted-foreground);
}

.ka-mitglieder td[b-18lgquqk71] {
    color: var(--muted-foreground);
    font-style: italic;
}

.ka-auffaellig td[b-18lgquqk71] {
    color: #92400e;
}

.ka-minus[b-18lgquqk71] {
    color: #991b1b;
}

.ka-anzahl[b-18lgquqk71] {
    margin-left: 0.5rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.ka-haken[b-18lgquqk71] {
    display: inline-flex;
    vertical-align: -2px;
    margin-left: 0.25rem;
}

.ka-haken.ok[b-18lgquqk71] {
    color: #166534;
}

.ka-haken.nein[b-18lgquqk71] {
    color: #92400e;
}

.ka-raster[b-18lgquqk71] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    grid-template-areas:
        "stand kontrolle"
        "ergebnis .";
    gap: 1.5rem 1.25rem;
    align-items: start;
}

.ka-teil-stand[b-18lgquqk71] { grid-area: stand; }
.ka-teil-ergebnis[b-18lgquqk71] { grid-area: ergebnis; }
/* Kontrolle (Daniel 03.11.2026): beginnt oben neben Sparbuch und Kasse und bleibt beim Scrollen sichtbar, bis sie am Fuß
   dieser Tabelle ankommt: der Abschnitt füllt die erste Rasterzeile, der Inhalt klebt darin. */
.ka-teil-kontrolle[b-18lgquqk71] {
    grid-area: kontrolle;
    align-self: stretch;
}

.ka-kontrolle-sticky[b-18lgquqk71] {
    position: sticky;
    top: 0;
}

.ka-leer[b-18lgquqk71] {
    padding: 1rem 1.25rem;
    color: var(--muted-foreground);
}

/* Zu eng für zwei Spalten (Daniel 03.11.2026): nach der Breite des Inhalts statt des Fensters, damit die Spalte Vorgang
   lesbar bleibt (auch mit eingeklappter Navigation). Die Kontrolle rutscht dann unter Sparbuch und Kasse. */
.ka-seite[b-18lgquqk71] {
    container-type: inline-size;
}

@container (max-width: 1250px) {
    .ka-raster[b-18lgquqk71] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "stand" "kontrolle" "ergebnis";
    }

    .ka-kontrolle-sticky[b-18lgquqk71] { position: static; }
}

/* Hinweis auf vorgemerkte Buchungen über den Karten, mit rotem Strich links wie der Kopf im Überblick. */
.ka-vorgemerkt[b-18lgquqk71] {
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
    margin: 0 0 1rem;
    padding: 0.5rem 0.75rem;
    border-left: 4px solid var(--primary);
    font-size: 0.8125rem;
    background: var(--dlv-papier);
}

/* Kleine Erklärung unter der Mitgliederzeile des Schützenjahres. */
.ka-erklaerung[b-18lgquqk71] {
    margin-top: 0.125rem;
    font-size: 0.75rem;
    font-style: normal;
    line-height: 1.35;
    white-space: normal;
    color: var(--muted-foreground);
}

/* Stichtag der Kontrolle klein unter der Überschrift. */
.ka-stichtag[b-18lgquqk71] {
    margin: -0.375rem 0 0.625rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

/* Einnahmen/Ausgaben und Kontrolle: Texte umbrechen statt seitlich zu scrollen; die Beträge bleiben einzeilig. */
.ka-teil-ergebnis .ka[b-18lgquqk71],
.ka-teil-kontrolle .ka[b-18lgquqk71] {
    min-width: 0;
}

.ka-teil-ergebnis .ka td:not(.fc-num)[b-18lgquqk71],
.ka-teil-kontrolle .ka td:not(.fc-num)[b-18lgquqk71] {
    white-space: normal;
}

.ka-raster .ka td.fc-num[b-18lgquqk71] {
    white-space: nowrap;
}

/* Sparbuch und Kasse mit festen Spalten: lange Vorgänge mit Ellipse, die Mitgliederzeile bricht mit ihrer Erklärung um. */
.ka-teil-stand .ka-mitglieder td[b-18lgquqk71] {
    white-space: normal;
}

.ka-teil-stand .ka-anzahl[b-18lgquqk71] {
    white-space: nowrap;
}
/* /Components/Pages/Konten/KassenpruefungSeite.razor.rz.scp.css */
/* Kassenprüfung: links Angaben, rechts Bestandteile zum Abhaken; schmal untereinander. */
.kp-raster[b-vlyj6yu3es] {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

@media (max-width: 900px) {
    .kp-raster[b-vlyj6yu3es] {
        grid-template-columns: 1fr;
    }
}

.kp-karte[b-vlyj6yu3es] {
    padding: 1rem 1.25rem;
}

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

.kp-felder[b-vlyj6yu3es] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1rem;
}

.kp-feld[b-vlyj6yu3es] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.kp-breit[b-vlyj6yu3es] {
    grid-column: 1 / -1;
}

.kp-status[b-vlyj6yu3es] {
    margin-top: 0.75rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.kp-liste[b-vlyj6yu3es] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.kp-liste li + li[b-vlyj6yu3es] {
    border-top: 1px solid var(--border);
}

.kp-haken[b-vlyj6yu3es] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.625rem 0;
    cursor: pointer;
}

.kp-haken input[b-vlyj6yu3es] {
    margin-top: 0.2rem;
    width: 1.125rem;
    height: 1.125rem;
    accent-color: var(--primary);
}

.kp-haken span[b-vlyj6yu3es] {
    display: flex;
    flex-direction: column;
}

.kp-haken small[b-vlyj6yu3es] {
    color: var(--muted-foreground);
    font-size: 0.8125rem;
}

.kp-fehler[b-vlyj6yu3es] {
    margin-top: 1rem;
    padding: 0.625rem 0.875rem;
    border-left: 3px solid var(--primary);
    background: var(--card);
}

/* GuV-Optionen unter dem Haken, eingerückt. */
.kp-optionen[b-vlyj6yu3es] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.25rem;
    margin: -0.25rem 0 0.625rem 1.875rem;
    font-size: 0.8125rem;
}

.kp-option[b-vlyj6yu3es] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--muted-foreground);
}

.kp-option select[b-vlyj6yu3es] {
    width: auto;
    min-height: 32px;
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
/* /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;
    }
}

.kb-vorgemerkt[b-a85h24oju8] {
    margin-right: 0.375rem;
}
/* /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;
}
/* Angemeldet bleiben (Daniel 04.11.2026). */
.login-bleiben[b-n5w3jcm949] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0.25rem 0 1rem;
    font-size: 0.875rem;
    cursor: pointer;
}

.login-bleiben input[b-n5w3jcm949] {
    margin: 0.2rem 0 0;
    flex: none;
}

.login-bleiben-hinweis[b-n5w3jcm949] {
    color: var(--muted-foreground);
    font-size: 0.8125rem;
}
/* /Components/Pages/Mitglieder/AbschnitteEditor.razor.rz.scp.css */
/* Abschnitte einer oder aller Mitgliedschaften: eine Zeile je Abschnitt. */
.ae[b-h7dyi2f088] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.ae-zeile[b-h7dyi2f088] {
    display: grid;
    grid-template-columns: minmax(8rem, 1fr) 9.5rem 9.5rem minmax(8rem, 2fr) 2rem;
    gap: 0.5rem;
    align-items: center;
}

.ae-zeile.ae-mit-art[b-h7dyi2f088] {
    grid-template-columns: minmax(8rem, 1fr) minmax(8rem, 1fr) 9.5rem 9.5rem minmax(8rem, 2fr) 2rem;
}

.ae-kopf[b-h7dyi2f088] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.ae-leer[b-h7dyi2f088] {
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.ae-aktion[b-h7dyi2f088] {
    margin-top: 0.25rem;
}

@media (max-width: 760px) {
    .ae-zeile[b-h7dyi2f088],
    .ae-zeile.ae-mit-art[b-h7dyi2f088] {
        grid-template-columns: 1fr 1fr;
    }

    .ae-kopf[b-h7dyi2f088] {
        display: none;
    }
}
/* /Components/Pages/Mitglieder/AemterSeite.razor.rz.scp.css */
/* Ämter: Besetzung je Amt, Verlauf aller Amtszeiten, im Dialog eine Zeile je Amtszeit. */
.list-page .card + .fc-section-title[b-io2069sp2c] {
    margin-top: 1.25rem;
}

.am-inhaber a[b-io2069sp2c] {
    color: inherit;
    text-decoration: none;
}

.am-inhaber a:hover[b-io2069sp2c] {
    text-decoration: underline;
}

.am-seit[b-io2069sp2c] {
    margin-left: 0.375rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.am-leer[b-io2069sp2c],
.am-wahl[b-io2069sp2c],
.am-quelle[b-io2069sp2c],
.am-anzahl[b-io2069sp2c] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.am-anzahl[b-io2069sp2c] {
    font-weight: 400;
    margin-left: 0.375rem;
}

.am-datum[b-io2069sp2c] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.am-filter[b-io2069sp2c] {
    min-width: 10rem;
    font-size: 0.8125rem;
}

.am-stichtag[b-io2069sp2c] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.875rem;
    white-space: nowrap;
}

.am-hinweis[b-io2069sp2c] {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.am-zeiten[b-io2069sp2c] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    border: 0;
    padding: 0;
    margin: 0;
    min-width: 0;
}

.am-zeile[b-io2069sp2c] {
    display: grid;
    grid-template-columns: minmax(9rem, 1fr) 9rem 9rem minmax(10rem, 1.4fr) minmax(10rem, 1.6fr) 2rem;
    gap: 0.5rem;
    align-items: center;
}

.am-kopfzeile[b-io2069sp2c] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.am-neu[b-io2069sp2c] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.am-neu .am-hinweis[b-io2069sp2c] {
    margin: 0;
}
/* /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/Kontostaende.razor.rz.scp.css */
.ks-rahmen[b-w39aee0he6] {
    overflow-x: auto;
}

.ks[b-w39aee0he6] {
    min-width: 840px;
}

.ks-nr[b-w39aee0he6],
.ks-gedaempft[b-w39aee0he6] {
    color: var(--muted-foreground);
}

.ks-saldo[b-w39aee0he6] {
    font-weight: var(--font-weight-medium);
}

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

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

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

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

.ks-kopf > span[b-w39aee0he6] {
    white-space: nowrap;
}

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

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

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

/* Handy (unter 700 px): Karten mit Nummer, Name, Status und Saldo; Soll und Haben stehen in der Detailansicht. */
@media (max-width: 700px) {
    .ks-rahmen[b-w39aee0he6] {
        background: transparent;
        border: none;
        box-shadow: none;
        overflow: visible;
    }

    .ks[b-w39aee0he6] {
        display: block;
        min-width: 0;
    }

    .ks colgroup[b-w39aee0he6] {
        display: none;
    }

    .ks thead[b-w39aee0he6],
    .ks tbody[b-w39aee0he6],
    .ks tfoot[b-w39aee0he6] {
        display: block;
    }

    .ks thead tr[b-w39aee0he6] {
        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);
    }

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

    .ks thead th.fc-num[b-w39aee0he6] {
        text-align: left;
    }

    .ks thead th:nth-child(2)[b-w39aee0he6],
    .ks thead th:nth-child(5)[b-w39aee0he6],
    .ks thead th:nth-child(6)[b-w39aee0he6] {
        display: none;
    }

    .ks tbody tr[b-w39aee0he6] {
        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);
    }

    .ks tbody td[b-w39aee0he6] {
        display: block;
        padding: 0;
        border: none;
        background: transparent;
    }

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

    .ks tbody td:nth-child(2)[b-w39aee0he6],
    .ks tbody td:nth-child(5)[b-w39aee0he6],
    .ks tbody td:nth-child(6)[b-w39aee0he6] {
        display: none;
    }

    .ks-wort[b-w39aee0he6] {
        min-width: 0;
        margin-left: 0;
    }

    .ks tbody tr.empty-state-row[b-w39aee0he6],
    .ks tbody tr.empty-state-row td[b-w39aee0he6] {
        display: block;
    }

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

    .ks-summe td[b-w39aee0he6] {
        display: block;
        border-top: none;
    }

    .ks-summe td:nth-child(1)[b-w39aee0he6],
    .ks-summe td:nth-child(3)[b-w39aee0he6],
    .ks-summe td:nth-child(4)[b-w39aee0he6] {
        display: none;
    }
}
/* /Components/Pages/Mitglieder/Kontostand.razor.rz.scp.css */
.ksd-kpi[b-4zzl0jiqla] {
    margin-bottom: 0;
}

.ksd-rahmen[b-4zzl0jiqla] {
    overflow-x: auto;
}

.ksd[b-4zzl0jiqla] {
    min-width: 900px;
}

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

.ksd-name[b-4zzl0jiqla] {
    color: var(--muted-foreground);
}

/* Buchung gegen 1460 oder 1601: steht da, zählt aber nicht zum Saldo. */
.ksd-aus td[b-4zzl0jiqla] {
    color: var(--muted-foreground);
}

.ksd-nicht[b-4zzl0jiqla] {
    font-size: 0.75rem;
    font-style: italic;
}

.ksd-marke[b-4zzl0jiqla] {
    margin-right: 0.375rem;
}

.ks-guthaben[b-4zzl0jiqla] { color: #166534; font-weight: var(--font-weight-medium); }
.ks-offen[b-4zzl0jiqla] { color: #991b1b; font-weight: var(--font-weight-medium); }
.ks-null[b-4zzl0jiqla] { color: var(--muted-foreground); }

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

.ksd-kopf[b-4zzl0jiqla] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 1rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
    min-width: 0;
}

.ksd-kopf strong[b-4zzl0jiqla] {
    color: var(--foreground);
}

.ksd-stamm[b-4zzl0jiqla] {
    color: var(--primary);
    text-decoration: none;
}

.ksd-stamm:hover[b-4zzl0jiqla] {
    text-decoration: underline;
}

/* Betragsspalten: Überschrift rechtsbündig wie die Zahlen. */
.ksd th.fc-num .th-label[b-4zzl0jiqla] {
    justify-content: flex-end;
    text-align: right;
}
/* /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);
}

/* Nur ansehen (Rolle ohne Buchen): das Fieldset sperrt die Felder, beeinflusst das Layout aber nicht. */
.md-nurlesen[b-57yob1dvfl] {
    display: contents;
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

/* Schützenfeste je Jahr mit Umschalter (Daniel 04.11.2026). */
.md-fest[b-57yob1dvfl] {
    gap: 0.75rem;
}

.md-fest-jahr[b-57yob1dvfl] {
    width: 3rem;
    font-variant-numeric: tabular-nums;
    color: inherit;
}

/* Ämter: Zeitraum, Amt, Quelle (Daniel 04.11.2026). */
.md-amt-zeit[b-57yob1dvfl] {
    width: 12rem;
    flex: none;
    font-variant-numeric: tabular-nums;
}

.md-amt-name[b-57yob1dvfl] {
    width: 10rem;
    flex: none;
    font-weight: 500;
}

.md-mitgliedschaften[b-57yob1dvfl] {
    padding: 1rem 1.25rem;
}
/* /Components/Pages/Mitglieder/MitgliederListe.razor.rz.scp.css */
.ml-rahmen[b-53np1f9hu3] {
    overflow-x: auto;
}

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

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

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

/* Alter als Pille hinter dem Geburtsdatum (Daniel 03.11.2026). */
.ml-alter[b-53np1f9hu3] {
    display: inline-block;
    margin-left: 0.375rem;
    padding: 0 0.4375rem;
    font-size: 0.75rem;
    line-height: 1.4;
    border-radius: 999px;
    background: var(--muted);
    color: var(--foreground);
}

.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;
}

/* Inaktiv ohne Austrittsdatum: gültiger Dauerzustand, neutral statt Warnung (Entscheidung Daniel) */
.ml-unbekannt[b-53np1f9hu3] {
    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 und Status; jede Zeile zeigt Nummer, Name und Status. Konto, Geburtsdatum, Eintritt, Austritt und IBAN 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] {
        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(2)[b-53np1f9hu3],
    .ml thead th:nth-child(4)[b-53np1f9hu3],
    .ml thead th:nth-child(5)[b-53np1f9hu3],
    .ml thead th:nth-child(7)[b-53np1f9hu3],
    .ml thead th:nth-child(8)[b-53np1f9hu3],
    .ml thead th:nth-child(9)[b-53np1f9hu3] {
        display: none;
    }

    .ml tbody tr[b-53np1f9hu3] {
        display: grid;
        grid-template-columns: 2.5rem minmax(0, 1fr);
        grid-template-areas:
            "nr name"
            "nr ms"
            "nr status";
        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(3)[b-53np1f9hu3] { grid-area: name; font-weight: var(--font-weight-medium); }
    .ml tbody td:nth-child(4)[b-53np1f9hu3] { grid-area: ms; }
    .ml tbody td:nth-child(6)[b-53np1f9hu3] { grid-area: status; }

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

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

/* Ämter heute als zweite Zeile unter dem Namen, Mitgliedschaften untereinander in eigener Spalte (Daniel 04.11.2026). */
.ml-ms[b-53np1f9hu3] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.ml-ms-anders[b-53np1f9hu3] {
    color: #b45309;
}

.ml-mitgliedschaften[b-53np1f9hu3] {
    font-size: 0.875rem;
}

@media (max-width: 700px) {
    .ml tbody td.ml-mitgliedschaften:empty[b-53np1f9hu3] {
        display: none;
    }
}
/* /Components/Pages/Mitglieder/Mitgliedschaften.razor.rz.scp.css */
/* Raster der Mitgliedschaften: Zelle klickbar, Status als Marke, darunter seit/bis klein. */
.ms-zelle[b-5nuv0ccdry] {
    cursor: pointer;
}

.ms-zelle:hover[b-5nuv0ccdry] {
    background: var(--muted);
}

.ms-seit[b-5nuv0ccdry],
.ms-mehr[b-5nuv0ccdry] {
    display: block;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.ms-keine[b-5nuv0ccdry] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.ms-name[b-5nuv0ccdry] {
    color: inherit;
    text-decoration: none;
}

.ms-name:hover[b-5nuv0ccdry] {
    text-decoration: underline;
}

.ms-ehemalig td[b-5nuv0ccdry] {
    color: var(--muted-foreground);
}

.ms-hinweis[b-5nuv0ccdry] {
    margin-top: 0.75rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.ms-stichtag[b-5nuv0ccdry],
.ms-schalter[b-5nuv0ccdry] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.875rem;
    white-space: nowrap;
}
/* /Components/Pages/Mitglieder/SchuetzenfestSeite.razor.rz.scp.css */
/* Schützenfest: Umschalter je Zeile, Summen in der Kopfzeile, Jahr wählen rechts. */
.sf .card + .fc-section-title[b-rra98mhs3w] {
    margin-top: 1.25rem;
}

.sf-notiz[b-rra98mhs3w] {
    min-width: 12rem;
}

.sf-fehler[b-rra98mhs3w] {
    margin: 0 0 0.75rem;
}

.sf-leer[b-rra98mhs3w] {
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.sf-kopf span[b-rra98mhs3w] {
    white-space: nowrap;
}
/* /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);
    }
}

.dok-ablegen-fehler[b-9coi6nubfp] {
    margin-top: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-left: 3px solid var(--primary);
    background: var(--card);
}
/* /Components/Shared/FotoKnopf.razor.rz.scp.css */
.fk[b-kx3kqivzae] {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.fk[b-kx3kqivzae]  .fk-datei {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    font-size: 0;
}

.fk-liest[b-kx3kqivzae] {
    opacity: 0.7;
}

.fk-fehler[b-kx3kqivzae] {
    font-size: 0.8125rem;
    color: #991b1b;
}

@media (pointer: coarse) {
    .fk[b-kx3kqivzae] {
        min-height: 44px;
    }
}

.fk[b-kx3kqivzae] {
    font-weight: var(--font-weight-medium);
}
/* /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/NamenAuswahl.razor.rz.scp.css */
.na[b-fk2nx74vzx] {
    position: relative;
    width: 100%;
}

.na-input[b-fk2nx74vzx] {
    width: 100%;
}

.na-liste[b-fk2nx74vzx] {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    z-index: 30;
    max-height: 18rem;
    margin: 0;
    padding: 0.25rem 0;
    overflow-y: auto;
    list-style: none;
    background: var(--card);
    border: 1px solid var(--border);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.na-eintrag[b-fk2nx74vzx] {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.na-eintrag:hover[b-fk2nx74vzx],
.na-aktiv[b-fk2nx74vzx] {
    background: color-mix(in srgb, var(--primary) 7%, var(--card));
    color: var(--primary);
}

@media (pointer: coarse) {
    .na-eintrag[b-fk2nx74vzx] {
        min-height: 44px;
        display: flex;
        align-items: center;
    }
}

.na-oben .na-liste[b-fk2nx74vzx] {
    top: auto;
    bottom: calc(100% + 2px);
}
/* /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/TeilnahmeUmschalter.razor.rz.scp.css */
/* Teilnahme-Umschalter: aktiv grün, Gast bernstein, passiv grau. */
.tu[b-6k1r4f23fd] {
    display: inline-flex;
    border: 1px solid var(--border);
    background: var(--card);
}

.tu-knopf[b-6k1r4f23fd] {
    padding: 0.3rem 0.75rem;
    border: 0;
    background: transparent;
    color: var(--muted-foreground);
    font-size: 0.8125rem;
    cursor: pointer;
}

.tu-knopf + .tu-knopf[b-6k1r4f23fd] {
    border-left: 1px solid var(--border);
}

.tu-knopf:disabled[b-6k1r4f23fd] {
    cursor: default;
}

.tu-knopf.aktiv.tu-aktiv[b-6k1r4f23fd] {
    background: #15803d;
    color: #fff;
}

.tu-knopf.aktiv.tu-gast[b-6k1r4f23fd] {
    background: #b45309;
    color: #fff;
}

.tu-knopf.aktiv.tu-passiv[b-6k1r4f23fd] {
    background: #6b7280;
    color: #fff;
}
/* /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;
}
/* /Components/Shared/UnterschriftBild.razor.rz.scp.css */
.ub[b-qxb84yxsxe] {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 1;
}

.ub path[b-qxb84yxsxe] {
    fill: none;
    stroke: var(--foreground);
    stroke-width: 3.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
/* /Components/Shared/UnterschriftFeld.razor.rz.scp.css */
/* Unterschriftfeld auf der Seite (Gestaltung wie das Unterschrift-Pad des Prototyps, ohne Beschriftung). */
.uf[b-1tnexip7ua] {
    position: relative;
    width: 100%;
}

.uf-flaeche[b-1tnexip7ua] {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 1;
    background: color-mix(in srgb, var(--dlv-papier) 22%, #fff);
    border: 1px dashed var(--dlv-linie);
    overflow: hidden;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    cursor: crosshair;
}

.uf-canvas[b-1tnexip7ua] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 1;
    touch-action: none;
}

.uf-linie[b-1tnexip7ua] {
    position: absolute;
    left: 6%;
    right: 6%;
    top: 75%;
    border-top: 1.5px solid var(--dlv-grau);
    opacity: 0.45;
    pointer-events: none;
}

.uf-kreuz[b-1tnexip7ua] {
    position: absolute;
    left: 6%;
    top: 75%;
    transform: translate(-0.1rem, -115%);
    font-size: 1.125rem;
    line-height: 1;
    color: var(--dlv-grau);
    opacity: 0.55;
    pointer-events: none;
}

.uf-werkzeuge[b-1tnexip7ua] {
    position: absolute;
    top: 0.25rem;
    right: 0.25rem;
    z-index: 2;
    display: flex;
    gap: 0.25rem;
}

.uf-knopf[b-1tnexip7ua] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--muted-foreground);
    cursor: pointer;
}

.uf-knopf:disabled[b-1tnexip7ua] {
    opacity: 0.35;
    cursor: default;
}

.uf-hinweis[b-1tnexip7ua] {
    position: absolute;
    left: 50%;
    top: 40%;
    transform: translate(-50%, -50%);
    font-size: 0.8125rem;
    color: var(--muted-foreground);
    pointer-events: none;
}

@media (pointer: coarse) {
    .uf-knopf[b-1tnexip7ua] {
        width: 44px;
        height: 44px;
    }
}

/* Name klein unter der Linie (wie auf dem Papierformular angedruckt). */
.uf-unterzeile[b-1tnexip7ua] {
    position: absolute;
    left: 6%;
    right: 6%;
    top: calc(75% + 0.3rem);
    font-size: 0.75rem;
    letter-spacing: 0.02em;
    color: var(--dlv-grau);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
}
/* /Components/Shared/UnterschriftVollbild.razor.rz.scp.css */
/* Vollbild zum Unterschreiben: Kopf, Kerndaten, großes Feld (3:1, so groß wie der Platz erlaubt), Fuß mit Aktionen. */
.uv[b-zq6nfs1o40] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    background: var(--background);
}

.uv-kopf[b-zq6nfs1o40] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1.25rem;
    background: linear-gradient(to right, var(--dlv-papier), var(--card) 60%);
    border-left: 4px solid var(--primary);
    border-bottom: 1px solid var(--border);
}

.uv-titel[b-zq6nfs1o40] {
    font-size: 1.125rem;
    font-weight: var(--font-weight-medium);
}

.uv-zu[b-zq6nfs1o40] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--muted-foreground);
    cursor: pointer;
}

.uv-inhalt[b-zq6nfs1o40] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    width: 100%;
    max-width: 72rem;
    margin: 0 auto;
    padding: 1rem 1.25rem;
    overflow: hidden;
}

.uv-kontext[b-zq6nfs1o40] {
    padding: 0.75rem 1rem;
    background: var(--card);
    border: 1px solid var(--border);
}

.uv-angaben[b-zq6nfs1o40] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1rem;
}

.uv-rollen[b-zq6nfs1o40] {
    display: inline-flex;
    flex-wrap: wrap;
}

.uv-rollen .btn[b-zq6nfs1o40] {
    min-height: 44px;
    border-radius: 0;
}

.uv-rollen .btn + .btn[b-zq6nfs1o40] {
    margin-left: -1px;
}

.uv-rollen .btn[aria-pressed="true"][b-zq6nfs1o40] {
    position: relative;
    z-index: 1;
    border-color: var(--primary);
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 6%, var(--card));
}

.uv-name[b-zq6nfs1o40] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1 1 16rem;
    max-width: 26rem;
}

.uv-name[b-zq6nfs1o40]  .na-input {
    min-height: 44px;
}

/* Feld so groß wie möglich bei 3:1: Breite begrenzt durch den Platz in der Höhe. */
.uv-feld[b-zq6nfs1o40] {
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    container-type: size;
}

.uv-feld[b-zq6nfs1o40]  .uf {
    width: min(100cqw, 300cqh);
}

.uv-feld[b-zq6nfs1o40]  .uf-flaeche {
    background: #fff;
    border: 1px solid var(--dlv-linie);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
}

.uv-feld[b-zq6nfs1o40]  .uf-unterzeile {
    font-size: 0.9375rem;
}

.uv-fehler[b-zq6nfs1o40] {
    color: #991b1b;
}

.uv-fuss[b-zq6nfs1o40] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: var(--card);
    border-top: 1px solid var(--border);
}

.uv-fuss .btn[b-zq6nfs1o40] {
    min-height: 44px;
    min-width: 8rem;
}
/* /Components/Shared/ZuschnittDialog.razor.rz.scp.css */
/* Zuschnitt im Vollbild: fester Rahmen im Zielformat mittig, das Foto darunter beweglich; außerhalb abgedunkelt. */
.zd[b-efbh6saflx] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    background: var(--dlv-schwarz, #231f20);
}

.zd-kopf[b-efbh6saflx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.25rem;
    background: linear-gradient(to right, var(--dlv-papier), var(--card) 60%);
    border-left: 4px solid var(--primary);
}

.zd-titel[b-efbh6saflx] {
    font-size: 1.125rem;
    font-weight: var(--font-weight-medium);
}

.zd-zu[b-efbh6saflx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--muted-foreground);
    cursor: pointer;
}

.zd-buehne[b-efbh6saflx] {
    position: relative;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    container-type: size;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    cursor: grab;
}

.zd-buehne:active[b-efbh6saflx] {
    cursor: grabbing;
}

/* Rahmen im Zielformat, so groß wie die Bühne erlaubt; Hintergrund weiß wie die Anzeige im Blatt. */
.zd-rahmen[b-efbh6saflx] {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(88cqw, calc(84cqh * 16 / 9));
    aspect-ratio: 16 / 9;
    transform: translate(-50%, -50%);
    background: #fff;
}

/* Abdunkeln außerhalb des Rahmens, Rahmenlinie und Drittel-Hilfslinien darüber. */
.zd-rahmen[b-efbh6saflx]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border: 2px solid #fff;
    box-shadow: 0 0 0 9999px rgba(20, 18, 18, 0.6);
    pointer-events: none;
    background-image:
        linear-gradient(to right, transparent calc(33.33% - 0.5px), rgba(255, 255, 255, 0.45) calc(33.33% - 0.5px), rgba(255, 255, 255, 0.45) calc(33.33% + 0.5px), transparent calc(33.33% + 0.5px), transparent calc(66.66% - 0.5px), rgba(255, 255, 255, 0.45) calc(66.66% - 0.5px), rgba(255, 255, 255, 0.45) calc(66.66% + 0.5px), transparent calc(66.66% + 0.5px)),
        linear-gradient(to bottom, transparent calc(33.33% - 0.5px), rgba(255, 255, 255, 0.45) calc(33.33% - 0.5px), rgba(255, 255, 255, 0.45) calc(33.33% + 0.5px), transparent calc(33.33% + 0.5px), transparent calc(66.66% - 0.5px), rgba(255, 255, 255, 0.45) calc(66.66% - 0.5px), rgba(255, 255, 255, 0.45) calc(66.66% + 0.5px), transparent calc(66.66% + 0.5px));
}

/* Foto: Lage wie im Blatt (SchnittStil), gesetzt von zuschnitt.js. */
.zd-foto[b-efbh6saflx] {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    max-width: none;
    height: auto;
    pointer-events: none;
}

.zd-werkzeuge[b-efbh6saflx] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem 2rem;
    padding: 0.75rem 1.25rem;
    background: var(--card);
    border-top: 1px solid var(--border);
}

.zd-gruppe[b-efbh6saflx] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.zd-knopf[b-efbh6saflx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    cursor: pointer;
}

.zd-gespiegelt[b-efbh6saflx]  svg {
    transform: scaleX(-1);
}

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

.zd-regler input[b-efbh6saflx] {
    width: 12rem;
    accent-color: var(--primary);
}

.zd-winkel[b-efbh6saflx] {
    min-width: 3.5rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-size: 0.875rem;
}

.zd-gruppe .btn[b-efbh6saflx] {
    min-height: 44px;
}

.zd-fuss[b-efbh6saflx] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: var(--card);
    border-top: 1px solid var(--border);
}

.zd-fuss .btn[b-efbh6saflx] {
    min-height: 44px;
}

.zd-luecke[b-efbh6saflx] {
    flex: 1;
}
