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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Schmales Fenster: der Benutzername fällt weg, das Menü bleibt. */
@media (max-width: 1100px) {
    .header-user-name[b-czqg7ylm4p] {
        display: none;
    }
}

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

/* ===== Marke: Mini-Stripe (CI 06.1) + Name ===== */
.brand[b-czqg7ylm4p] {
    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-czqg7ylm4p] {
    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-czqg7ylm4p] {
    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-czqg7ylm4p] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem; /* Abstand Versammlungen / Der letzte Versuch (Daniel 03.11.2026) */
    line-height: 1.15;
    white-space: nowrap;
}

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

.brand-zug[b-czqg7ylm4p] {
    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-czqg7ylm4p] {
    margin: 0;
}

.header-dropdown-form .header-dropdown-item[b-czqg7ylm4p] {
    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-czqg7ylm4p] {
    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-czqg7ylm4p] {
    margin-left: 0.5rem;
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

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

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

.mobil-menue[b-czqg7ylm4p] {
    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-czqg7ylm4p 0.18s ease-out;
}

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

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

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

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

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

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

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

.mobil-menue[b-czqg7ylm4p]  .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-czqg7ylm4p] {
        display: inline-flex;
    }

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

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

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

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

    /* Am Handy so breit wie am Desktop (Daniel 06.11.2026: „das Band breiter“). */
    .mini-stripe[b-czqg7ylm4p] {
        width: 28px;
    }

    .header-user[b-czqg7ylm4p] {
        min-height: 44px;
        padding: 0.375rem 0.25rem;
    }

    .header-menue[b-czqg7ylm4p] {
        width: 44px;
        height: 44px;
    }

    .header-dropdown-item[b-czqg7ylm4p] {
        min-height: 44px;
    }

    /* Inhalt mit schmalerem Rand, damit Karten und Felder die Breite nutzen. */
    [b-czqg7ylm4p] .content-area {
        padding: 1rem;
    }

    .action-bar[b-czqg7ylm4p] {
        margin-top: 0.5rem;
    }
}

/* Abmelden im Mobilmenü: Formular (POST) mit Knopf im Aussehen der Menüeinträge. */
.mobil-form[b-czqg7ylm4p] {
    margin: 0;
}

.mobil-menue[b-czqg7ylm4p]  .mobil-abmelden {
    width: 100%;
    border: none;
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.mobil-zu[b-czqg7ylm4p] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
}

/* Seiten des Bereichs (NavMenu) im Mobilmenü: Tippflächen wie die übrigen Einträge. */
.mobil-seiten[b-czqg7ylm4p]  .nav-link {
    min-height: 44px;
    font-size: 1rem;
}

.mobil-fuss[b-czqg7ylm4p] {
    margin-top: auto;
    padding: 1.5rem 1rem 1rem;
    font-size: 0.6875rem;
    opacity: 0.5;
}
/* /Components/Layout/ModuleTabs.razor.rz.scp.css */
.module-tabs[b-ekeowsendz] {
    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-ekeowsendz]  .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-ekeowsendz]  .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-ekeowsendz]  .module-tab:hover {
    color: var(--foreground);
    background: var(--secondary);
}

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

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

/* Laptop: Reiter etwas enger (AP 7a). */
@media (max-width: 1440px) {
    .module-tabs[b-ekeowsendz]  .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-ekeowsendz] {
        margin-left: 1rem;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


.nav-section-label[b-zhul2h917i] {
    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-zhul2h917i] {
    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-zhul2h917i] {
    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. */
.vs-wartung[b-v58rah2zgc] {
    position: relative;
    background-color: var(--dlv-papier);
    overflow: hidden;
    gap: 0;
}

.vs-stripe[b-v58rah2zgc] {
    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);
}

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

.vs-wartung-card[b-v58rah2zgc] {
    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;
}

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

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

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

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

.vs-zurueck[b-v58rah2zgc] {
    margin-top: 0.5rem;
}
/* /Components/Pages/BenutzerEinstellung.razor.rz.scp.css */
.bn-hinweis[b-bkz84pzwnq] {
    margin: 0 0 1rem;
    max-width: 60rem;
    font-size: 0.9rem;
}

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

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

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

.bn-form label.bn-check[b-bkz84pzwnq] {
    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-bkz84pzwnq] {
    margin: 0.5rem 0 0;
    color: var(--destructive);
}

/* Passwort setzen links im Dialogfuß, getrennt von Abbrechen und Speichern. */
.bn-pw-knopf[b-bkz84pzwnq] {
    margin-right: auto;
}

/* Handy: eine Spalte; der Platzhalter für die zweite Spalte entfällt. */
@media (max-width: 700px) {
    .bn-form[b-bkz84pzwnq] {
        grid-template-columns: minmax(0, 1fr);
    }

    .bn-form > span:empty[b-bkz84pzwnq] {
        display: none;
    }

    .bn-form label.bn-check[b-bkz84pzwnq] {
        min-height: 44px;
        padding-bottom: 0;
    }
}
/* /Components/Pages/Dokumente/DokumentAngabenFelder.razor.rz.scp.css */
.dkf[b-xcbftfxeiu] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

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

.dkf-zwei[b-xcbftfxeiu] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.dk-datei[b-qcpve59qic] {
    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-qcpve59qic] {
    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-qcpve59qic] {
    display: flex;
}

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

.dk-ablage-text[b-qcpve59qic] {
    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-qcpve59qic] {
    color: var(--muted-foreground);
    font-size: 0.8125rem;
    font-weight: normal;
}

.dk-mehrere[b-qcpve59qic] {
    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-6kdc1b5sum] {
    font-size: 0.875rem;
    color: var(--muted-foreground);
}
/* /Components/Pages/Einstellungen/ArchivEinlesen.razor.rz.scp.css */
/* Archiv einlesen: Quelle wählen, Probelauf mit Zahlen und Tabelle je Versammlung, dann einlesen. */
.ae[b-66ald650f7] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ae-quelle[b-66ald650f7] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
}

.ae-quelle-text[b-66ald650f7] {
    flex: 1;
    min-width: 0;
}

.ae-ueberschrift[b-66ald650f7] {
    margin: 0 0 0.25rem;
    font-size: 1.0625rem;
}

.ae-feldhinweis[b-66ald650f7] {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.ae-knoepfe[b-66ald650f7] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ae-hochladen[b-66ald650f7] {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.ae-hochladen[b-66ald650f7]  .ae-datei {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.ae-hochladen.disabled[b-66ald650f7] {
    opacity: 0.6;
    pointer-events: none;
}

.ae-laeuft[b-66ald650f7] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    color: var(--muted-foreground);
}

.ae-fehler[b-66ald650f7] {
    padding: 0.625rem 0.875rem;
    border-left: 3px solid var(--primary);
    background: var(--card);
}

.ae-zusammenfassung[b-66ald650f7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.5rem;
}

.ae-zahlen[b-66ald650f7] {
    display: flex;
    gap: 2rem;
}

.ae-zahl[b-66ald650f7] {
    display: flex;
    flex-direction: column;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.ae-zahl-wert[b-66ald650f7] {
    font-size: 1.6rem;
    line-height: 1.1;
    color: var(--foreground);
    font-variant-numeric: tabular-nums;
}

.ae-zahl-fehler .ae-zahl-wert[b-66ald650f7] {
    color: var(--primary);
}

.ae-aktion[b-66ald650f7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.ae-quelle-name[b-66ald650f7] {
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.ae-titelzelle[b-66ald650f7] {
    white-space: normal;
}

.ae-titelzelle > span:first-child[b-66ald650f7] {
    display: block;
}

.ae-meldung[b-66ald650f7] {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.8125rem;
    font-weight: normal;
    color: var(--primary);
}

.ae-zuordnung[b-66ald650f7] {
    margin-left: 0.35rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

@media (max-width: 700px) {
    .ae-quelle[b-66ald650f7] {
        flex-direction: column;
        align-items: stretch;
        padding: 1rem;
    }

    .ae-knoepfe > *[b-66ald650f7] {
        flex: 1 1 100%;
        justify-content: center;
    }

    .ae-zusammenfassung[b-66ald650f7] {
        padding: 1rem;
    }

    .ae-zahlen[b-66ald650f7] {
        gap: 1.25rem;
    }

    .ae-aktion[b-66ald650f7] {
        width: 100%;
    }

    .ae-aktion .btn[b-66ald650f7] {
        flex: 1 1 100%;
        justify-content: center;
    }

    .ae-titelzelle[b-66ald650f7] {
        flex-basis: 100% !important;
    }
}
/* /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-gyw1k1jjtv] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

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

.ds-titel[b-gyw1k1jjtv] {
    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-gyw1k1jjtv] {
    flex: 1;
}

.ds-meldung[b-gyw1k1jjtv] {
    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-gyw1k1jjtv] {
    background: var(--error-bg, #fef2f2);
    color: var(--error-fg, #991b1b);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Ordner der Sicherungen dezent neben der Überschrift der Liste: nur der Name, der volle Pfad im Tooltip. */
.ds-ort[b-gyw1k1jjtv] {
    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-gyw1k1jjtv] {
    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-gyw1k1jjtv] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

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

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

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

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

/* /Components/Pages/Einstellungen/StammdatenEinstellung.razor.rz.scp.css */
.sd-seite[b-ay4as410lu] {
    max-width: 60rem;
}

.sd-karte[b-ay4as410lu] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
}

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

.sd-erklaerung[b-ay4as410lu] {
    margin: 0;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.sd-erklaerung code[b-ay4as410lu] {
    font-size: 0.8125rem;
}

.sd-mono[b-ay4as410lu] {
    font-family: var(--font-mono, "JetBrains Mono", monospace);
    font-variant-numeric: tabular-nums;
}

.sd-spalten[b-ay4as410lu] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.sd-spalte[b-ay4as410lu] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.sd-spalte label[b-ay4as410lu] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.sd-text[b-ay4as410lu] {
    height: auto;
    max-height: none;
    min-height: 7rem;
    line-height: 1.45;
    padding: 0.375rem 0.5rem;
    resize: vertical;
}

.sd-geaendert[b-ay4as410lu] {
    margin: 0;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

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

@media (max-width: 700px) {
    .sd-karte[b-ay4as410lu] {
        padding: 1rem;
    }
}
/* /Components/Pages/Einstellungen/TerminartenEinstellung.razor.rz.scp.css */
/* Terminarten: Folge-Spalte mit Pfeilen, Beschreibung gedämpft unter dem Namen, ausgeblendete Arten blass. */
.ta-folge[b-7ujvwa7a93] {
    width: 5.5rem;
    white-space: nowrap;
}

.ta-name[b-7ujvwa7a93] {
    white-space: normal;
}

.ta-beschreibung[b-7ujvwa7a93] {
    display: block;
    font-weight: normal;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.ta-aus > td[b-7ujvwa7a93] {
    opacity: 0.6;
}

.ta-pfeil[b-7ujvwa7a93] {
    display: none;
}

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

.ta-sperre[b-7ujvwa7a93] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.ta-fehler[b-7ujvwa7a93] {
    margin-bottom: 0.75rem;
}

@media (max-width: 700px) {
    .ta-pfeil[b-7ujvwa7a93] {
        display: inline-flex;
    }
}
/* /Components/Pages/Einstellungen/WartungEinstellung.razor.rz.scp.css */
.wa-status[b-6ub1ogxeuy],
.wa-text[b-6ub1ogxeuy] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
}

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

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

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

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

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

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

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

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

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

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

.wa-fehler[b-6ub1ogxeuy] {
    margin: 0;
    color: var(--destructive);
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-hint[b-qgdluqkg3x] {
    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-qgdluqkg3x] {
    color: var(--primary);
}

/* ===== DLV: Papier-Fläche, Stripe und Wappen (CI 05 "Wappen auf Stripe") ===== */
.vs-login[b-qgdluqkg3x] {
    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). */
.vs-stripe[b-qgdluqkg3x] {
    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);
}

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

.vs-login-card[b-qgdluqkg3x] {
    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);
}

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

.vs-login-zug[b-qgdluqkg3x] {
    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. */
.vs-login .login-footer[b-qgdluqkg3x] {
    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-qgdluqkg3x] {
    display: none;
}

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

.login-btn.is-loading .login-btn-spinner[b-qgdluqkg3x] {
    display: inline-block;
}
/* Angemeldet bleiben (Daniel 04.11.2026). */
.login-bleiben[b-qgdluqkg3x] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0.25rem 0 1rem;
    font-size: 0.875rem;
    cursor: pointer;
}

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

.login-bleiben-hinweis[b-qgdluqkg3x] {
    color: var(--muted-foreground);
    font-size: 0.8125rem;
}
/* /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-sv6pcia9mt] {
    margin-top: 1.25rem;
}

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

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

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

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

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

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

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

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

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

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

.am-zeile[b-sv6pcia9mt] {
    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-sv6pcia9mt] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

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

.am-neu .am-hinweis[b-sv6pcia9mt] {
    margin: 0;
}

/* Notiz hat keinen Spaltenkopf mehr, wenn die Zeilen am Handy umbrechen: Platzhalter nur dort sichtbar. */
.am-notiz[b-sv6pcia9mt]::placeholder {
    color: transparent;
}

/* Handy (unter 700 px): je Amtszeit ein Block, Person über die volle Breite, Von und Bis nebeneinander (vom Spaltenkopf
   bleiben nur diese beiden), Quelle und Notiz darunter, Entfernen rechts neben den Daten. */
@media (max-width: 700px) {
    .am-stichtag[b-sv6pcia9mt] {
        flex: 1 1 100%;
    }

    .am-stichtag .form-input[b-sv6pcia9mt] {
        flex: 1;
    }

    .am-zeiten[b-sv6pcia9mt] {
        gap: 0.75rem;
    }

    .am-zeile[b-sv6pcia9mt] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px;
        padding-bottom: 0.75rem;
        border-bottom: 1px solid var(--border);
    }

    .am-zeile > select[b-sv6pcia9mt],
    .am-zeile > input:nth-of-type(3)[b-sv6pcia9mt],
    .am-zeile > input:nth-of-type(4)[b-sv6pcia9mt] {
        grid-column: 1 / -1;
    }

    .am-zeile:not(.am-kopfzeile) > :last-child[b-sv6pcia9mt] {
        grid-row: 2;
        grid-column: 3;
    }

    .am-kopfzeile[b-sv6pcia9mt] {
        padding-bottom: 0;
        border-bottom: none;
    }

    .am-kopfzeile > span:nth-child(1)[b-sv6pcia9mt],
    .am-kopfzeile > span:nth-child(n+4)[b-sv6pcia9mt] {
        display: none;
    }

    .am-notiz[b-sv6pcia9mt]::placeholder {
        color: var(--muted-foreground);
    }

    .am-neu[b-sv6pcia9mt] {
        flex-wrap: wrap;
    }

    .am-filter[b-sv6pcia9mt] {
        min-width: 0;
        width: 100%;
    }
}
/* /Components/Pages/Mitglieder/MitgliedDetail.razor.rz.scp.css */
.md[b-i3r2r2fbrw] {
    display: flex;
    flex-direction: column;
}

/* ---- Kopf: Name, Status, Stand im Schützenjahr ---- */
.md-kopf[b-i3r2r2fbrw] {
    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-i3r2r2fbrw] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.md-hinweis[b-i3r2r2fbrw] {
    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-i3r2r2fbrw] {
    display: contents;
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

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

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

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

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

/* Aktiv-Kennzeichen als Checkbox auf Höhe der Eingabefelder. */
.md-check[b-i3r2r2fbrw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.25rem;
    font-size: 0.875rem;
    cursor: pointer;
}

/* Handy (unter 700 px): eine Spalte, Listenzeilen umbrechend. */
@media (max-width: 700px) {
    .md-kopf[b-i3r2r2fbrw] {
        padding: 1rem;
        gap: 1rem;
        flex-wrap: wrap;
    }

    .md-name[b-i3r2r2fbrw] {
        font-size: 1.375rem;
    }

    .md-form[b-i3r2r2fbrw] {
        grid-template-columns: minmax(0, 1fr);
        padding: 1rem;
    }

    .md-zwei[b-i3r2r2fbrw] {
        grid-column: 1 / -1;
    }

    .md-zeile[b-i3r2r2fbrw] {
        flex-wrap: wrap;
        row-gap: 0.25rem;
        padding: 0.625rem 1rem;
    }

    .md-iban[b-i3r2r2fbrw],
    .md-amt-zeit[b-i3r2r2fbrw],
    .md-amt-name[b-i3r2r2fbrw] {
        width: auto;
        max-width: 100%;
    }

    .md-check[b-i3r2r2fbrw] {
        min-height: 44px;
    }

    /* Tippflächen 44 px: Zurück im Balken und die Verweise unter Ämter und Benutzerkonto. */
    .md-zurueck[b-i3r2r2fbrw] {
        width: 44px;
        height: 44px;
    }

    .md-zeile.md-hinweis a[b-i3r2r2fbrw] {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    .md-zeile.md-hinweis:has(a)[b-i3r2r2fbrw] {
        padding-block: 0;
    }
}
/* /Components/Pages/Mitglieder/MitgliederListe.razor.rz.scp.css */
.ml-rahmen[b-z4s7u5omo0] {
    overflow-x: auto;
}

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

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

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

/* Alter als Pille hinter dem Geburtsdatum (Daniel 03.11.2026). */
.ml-alter[b-z4s7u5omo0] {
    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-z4s7u5omo0] {
    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-z4s7u5omo0] {
    flex-wrap: wrap;
    row-gap: 0.25rem;
}

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

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

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

/* Handy (unter 700 px, AP 7a): Karten nach der gemeinsamen Regel in app.css (Listen als Karten). Titel ist der Name mit
   Ämtern, darunter Nummer und Status; Filterleiste Nr., Name, Status. Geburtsdatum, Eintritt und Austritt (karte-aus)
   stehen im Mitglied. Hier nur, was die Tabelle am Desktop zusätzlich festlegt. */
@media (max-width: 700px) {
    .ml-rahmen[b-z4s7u5omo0] {
        overflow: visible;
    }

    .ml[b-z4s7u5omo0] {
        min-width: 0;
    }
}

/* Ämter heute als zweite Zeile unter dem Namen (Daniel 04.11.2026). */
.ml-ms[b-z4s7u5omo0] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.75rem;
    font-weight: var(--font-weight-normal);
    color: var(--muted-foreground);
}
/* /Components/Pages/NichtGefunden.razor.rz.scp.css */
.leer-nicht-gefunden[b-mdzm58nt36] {
    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-mdzm58nt36] {
    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. */
.vs-login[b-bm9dbjmqi3] {
    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). */
.vs-stripe[b-bm9dbjmqi3] {
    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);
}

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

.vs-login-card[b-bm9dbjmqi3] {
    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);
}

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

.vs-login-zug[b-bm9dbjmqi3] {
    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. */
.vs-login .login-footer[b-bm9dbjmqi3] {
    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-bm9dbjmqi3] {
    display: none;
}

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

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

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

/* Neutral statt in Markenrot (AP 8d): wirkte wie eine Fehlermeldung. */
.pw-angemeldet[b-bm9dbjmqi3] {
    margin-bottom: 1rem;
    text-align: center;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}
/* /Components/Pages/Protokoll/DetailDialog.razor.rz.scp.css */
.dd[b-nbw3h0yofv] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.dd-feld[b-nbw3h0yofv] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.78rem;
    color: var(--muted-foreground);
    min-width: 0;
}

.dd-text[b-nbw3h0yofv] {
    resize: vertical;
    min-height: 3.2rem;
}

.dd-chips[b-nbw3h0yofv] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.dd-chip[b-nbw3h0yofv] {
    min-height: 40px;
    padding: 0.35rem 0.8rem;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    font-size: 0.9rem;
    cursor: pointer;
}

.dd-chip.an[b-nbw3h0yofv] {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--primary-foreground);
}

.dd-wahl[b-nbw3h0yofv] {
    display: flex;
    border: 1px solid var(--border);
}

.dd-wahl-knopf[b-nbw3h0yofv] {
    flex: 1 1 0;
    min-height: 40px;
    padding: 0.35rem 0.5rem;
    border: none;
    border-right: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    font-size: 0.875rem;
    cursor: pointer;
}

.dd-wahl-knopf:last-child[b-nbw3h0yofv] {
    border-right: none;
}

.dd-wahl-knopf.an[b-nbw3h0yofv] {
    background: var(--accent);
    color: var(--accent-foreground);
    font-weight: 600;
    box-shadow: inset 0 -3px 0 var(--primary);
}

.dd-hinweis[b-nbw3h0yofv] {
    font-size: 0.8rem;
    color: var(--muted-foreground);
}

.dd-zaehler[b-nbw3h0yofv] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
}

.dd-ergebnis[b-nbw3h0yofv] {
    padding: 0.6rem 0.8rem;
    background: var(--secondary);
    font-weight: 600;
    font-size: 0.95rem;
}

.dd-ergebnis.dd-angenommen[b-nbw3h0yofv] {
    background: #e8f4ea;
    color: #1d6b2c;
}

.dd-ergebnis.dd-abgelehnt[b-nbw3h0yofv] {
    background: var(--accent);
    color: var(--accent-foreground);
}

.dd-ergebnis-zusatz[b-nbw3h0yofv] {
    font-weight: 400;
    color: var(--muted-foreground);
}

.dd-umschalten[b-nbw3h0yofv] {
    align-self: flex-start;
}

@media (max-width: 700px) {
    .dd-chip[b-nbw3h0yofv],
    .dd-wahl-knopf[b-nbw3h0yofv] {
        min-height: 44px;
    }

    .dd-zaehler[b-nbw3h0yofv] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Protokoll/DetailSchnell.razor.rz.scp.css */
/* Schnellbereich für Aufgabe, Wiedervorlage und Beschluss (DetailSchnell): Felder untereinander, Chips umbrechend,
   Stimmen am Desktop nebeneinander, am Handy untereinander (große Tippflächen). */
.dsn[b-5vsnropd2i] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.dsn-feld[b-5vsnropd2i] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
    font-size: 0.78rem;
    color: var(--muted-foreground);
}

.dsn-chips[b-5vsnropd2i] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.dsn-chip[b-5vsnropd2i] {
    min-height: 36px;
    padding: 0.3rem 0.75rem;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    font-size: 0.875rem;
    cursor: pointer;
}

.dsn-chip.an[b-5vsnropd2i] {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--primary-foreground);
}

.dsn-zaehler[b-5vsnropd2i] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
}

.dsn-hinweis[b-5vsnropd2i] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 32px;
    padding: 0;
    border: none;
    background: none;
    color: var(--muted-foreground);
    font: inherit;
    font-size: 0.875rem;
    text-align: left;
    cursor: pointer;
}

.dsn-hinweis b[b-5vsnropd2i] {
    color: var(--foreground);
}

.dsn-hinweis:hover span[b-5vsnropd2i] {
    text-decoration: underline;
}

.dsn-angenommen b[b-5vsnropd2i] {
    color: #1d6b2c;
}

.dsn-abgelehnt b[b-5vsnropd2i] {
    color: var(--primary);
}

@media (max-width: 700px) {
    .dsn-chip[b-5vsnropd2i] {
        min-height: 44px;
    }

    .dsn-zaehler[b-5vsnropd2i] {
        grid-template-columns: minmax(0, 1fr);
    }

    .dsn-hinweis[b-5vsnropd2i] {
        min-height: 44px;
    }
}
/* /Components/Pages/Protokoll/ProtokollAbschluss.razor.rz.scp.css */
/* Abschluss eines Schreibtool-Protokolls (Stufe 3): Status, Verteilfrist, Vorschau, Abschluss, Wieder öffnen. */
.pab[b-zbwy9uclqp] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 1rem 1.25rem;
    border-left: 3px solid var(--dlv-linie);
}

.pab-ueberfaellig[b-zbwy9uclqp] {
    border-left-color: var(--primary);
}

.pab-kopf[b-zbwy9uclqp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pab-titel[b-zbwy9uclqp] {
    font-weight: 600;
}

.pab-frist[b-zbwy9uclqp] {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0;
    font-size: 0.9375rem;
}

.pab-frist[b-zbwy9uclqp]  svg {
    flex: none;
    margin-top: 0.2rem;
}

.pab-ueberfaellig .pab-frist[b-zbwy9uclqp] {
    color: var(--dlv-rot-dunkel);
}

.pab-erklaerung[b-zbwy9uclqp],
.pab-leise[b-zbwy9uclqp] {
    color: var(--muted-foreground);
    font-size: 0.875rem;
}

.pab-ueberfaellig .pab-erklaerung[b-zbwy9uclqp] {
    color: var(--dlv-rot-dunkel);
}

.pab-leise[b-zbwy9uclqp] {
    margin: 0;
}

.pab-knoepfe[b-zbwy9uclqp] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.pab-knoepfe:empty[b-zbwy9uclqp] {
    display: none;
}

.pab-fehler[b-zbwy9uclqp] {
    margin: 0;
}

.pab-dialog-text[b-zbwy9uclqp] {
    margin: 0 0 1rem;
}

.pab-grund[b-zbwy9uclqp] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

@media (max-width: 700px) {
    .pab[b-zbwy9uclqp] {
        padding: 0.875rem 1rem;
    }

    .pab-knoepfe[b-zbwy9uclqp] {
        flex-direction: column;
    }

    .pab-knoepfe .btn[b-zbwy9uclqp] {
        justify-content: center;
        min-height: 44px;
        width: 100%;
    }
}
/* /Components/Pages/Protokoll/ProtokollSchreiben.razor.rz.scp.css */
/* Schreibtool: am Desktop eine ruhige Spalte im Zugkasse-Stil (Karten, Kopfzeilen), am Handy dieselbe Spalte mit großen
   Tippflächen. Alles einspaltig, damit die Bildschirmtastatur nur nach unten verschiebt. */
.pt[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    max-width: 860px;
    padding-bottom: 3rem;
}

.pt-leer[b-090dhevtzs],
.pt-start[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1.25rem;
}

.pt-leer[b-090dhevtzs] {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    color: var(--muted-foreground);
}

.pt-start p[b-090dhevtzs] {
    margin: 0;
    color: var(--muted-foreground);
}

.pt-start-datum[b-090dhevtzs] {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--muted-foreground);
}

.pt-start-titel[b-090dhevtzs] {
    margin: 0;
    font-size: 1.35rem;
}

.pt-gross[b-090dhevtzs] {
    min-height: 48px;
    padding: 0.6rem 1.2rem;
    font-size: 1rem;
}

.pt-hinweis[b-090dhevtzs] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 0.75rem;
    background: var(--accent);
    color: var(--accent-foreground);
    border-left: 3px solid var(--primary);
}

.pt-hinweis span[b-090dhevtzs] {
    flex: 1;
}

.pt-hinweis-zu[b-090dhevtzs] {
    border: none;
    background: none;
    color: inherit;
    min-width: 36px;
    min-height: 36px;
    cursor: pointer;
}

/* Ungesendete Eingaben: sichtbar nur, wenn js/protokoll.js am body die Klasse pt-ungesendet setzt. Die Regel dafür steht
   in app.css (body liegt außerhalb dieser Komponente; :global gibt es in Blazor-Scoped-CSS nicht). */
.pt-offline[b-090dhevtzs] {
    display: none;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: #fff4d6;
    color: #6b4e00;
    font-size: 0.875rem;
}

/* ---------- Abschnitte ---------- */
.pt-abschnitt[b-090dhevtzs] {
    padding: 0;
}

.pt-kopfzeile[b-090dhevtzs] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    min-height: 52px;
    padding: 0.6rem 1rem;
    border: none;
    background: none;
    color: var(--foreground);
    text-align: left;
    cursor: pointer;
}

.pt-kopfzeile:hover[b-090dhevtzs] {
    background: var(--secondary);
}

.pt-ueberschrift[b-090dhevtzs] {
    font-weight: 600;
    font-size: 1rem;
    white-space: nowrap;
}

.pt-zusammenfassung[b-090dhevtzs] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.85rem;
    color: var(--muted-foreground);
    text-align: right;
}

.pt-inhalt[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.25rem 1rem 1rem;
    border-top: 1px solid var(--border);
    padding-top: 0.9rem;
}

.pt-kopf[b-090dhevtzs] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1rem;
}

.pt-kopf label[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.pt-breit[b-090dhevtzs] {
    grid-column: span 1;
}

.pt-zeit[b-090dhevtzs] {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
}

.pt-zeit label[b-090dhevtzs] {
    flex: 1;
}

.pt-jetzt[b-090dhevtzs] {
    min-height: 38px;
}

.pt-leise[b-090dhevtzs] {
    margin: 0;
    color: var(--muted-foreground);
    font-size: 0.875rem;
}

.pt-abgehalten[b-090dhevtzs] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

/* ---------- Anwesenheit ---------- */
.pa-leiste[b-090dhevtzs] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.pa-hilfe[b-090dhevtzs] {
    font-size: 0.8rem;
    color: var(--muted-foreground);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-wrap: wrap;
}

.pa-liste[b-090dhevtzs] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 0.4rem;
}

.pa-person[b-090dhevtzs] {
    display: flex;
    border: 1px solid var(--border);
    background: var(--card);
    min-width: 0;
}

.pa-tipp[b-090dhevtzs] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    min-height: 44px;
    padding: 0.35rem 0.6rem;
    border: none;
    background: none;
    color: var(--foreground);
    text-align: left;
    cursor: pointer;
    font-size: 0.95rem;
}

.pa-zeichen[b-090dhevtzs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 1.6rem;
    height: 1.6rem;
    border: 1px solid var(--border);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--muted-foreground);
}

.pa-text[b-090dhevtzs] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.2;
}

.pa-name[b-090dhevtzs] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pa-status[b-090dhevtzs] {
    font-size: 0.7rem;
    color: var(--muted-foreground);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Kurzfristig abgesagt (Schema 007): kleine Marke oben rechts in der Kachel, nimmt dem Namen keinen Platz (am Handy
   fehlt .pa-status, die Marke bleibt). */
.pa-tipp[b-090dhevtzs] {
    position: relative;
}

.pa-kurzfristig[b-090dhevtzs] {
    position: absolute;
    top: 2px;
    right: 4px;
    padding: 0 0.25rem;
    background: var(--card);
    border: 1px solid color-mix(in srgb, var(--destructive) 45%, var(--border));
    color: var(--destructive);
    font-size: 0.625rem;
    line-height: 1.3;
    white-space: nowrap;
    pointer-events: none;
}

/* Symbol mittig: als Inline-SVG säße es auf der Grundlinie und damit zu hoch. */
.pa-mehr[b-090dhevtzs] {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-height: 44px;
    border: none;
    border-left: 1px solid var(--border);
    background: none;
    color: var(--muted-foreground);
    cursor: pointer;
}

.pa-mehr:hover[b-090dhevtzs],
.pa-tipp:hover[b-090dhevtzs] {
    background: var(--secondary);
}

.pa-person.anwesend[b-090dhevtzs],
.pa-person.verspaetet[b-090dhevtzs] {
    border-color: #9cc9a5;
    background: #eef7f0;
}

.pa-person.anwesend .pa-zeichen[b-090dhevtzs],
.pa-person.verspaetet .pa-zeichen[b-090dhevtzs] {
    background: #2e7d3e;
    border-color: #2e7d3e;
    color: #fff;
}

/* Abwesend ohne Bewertung (Schema 009): grauer Grund wie entschuldigt, Zeichen nur umrandet (nicht gefüllt), damit
   „noch nicht bewertet“ von entschuldigt zu unterscheiden ist. */
.pa-person.abwesend[b-090dhevtzs] {
    background: var(--secondary);
}

.pa-person.abwesend .pa-zeichen[b-090dhevtzs] {
    border-color: var(--muted-foreground);
    color: var(--muted-foreground);
}

.pa-person.entschuldigt[b-090dhevtzs] {
    background: var(--secondary);
}

.pa-person.entschuldigt .pa-zeichen[b-090dhevtzs] {
    background: var(--muted-foreground);
    border-color: var(--muted-foreground);
    color: #fff;
}

.pa-person.unentschuldigt[b-090dhevtzs] {
    border-color: #e3a5a8;
    background: var(--accent);
}

.pa-person.unentschuldigt .pa-zeichen[b-090dhevtzs] {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.pa-gaeste[b-090dhevtzs] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
}

.pa-gaeste > .form-label[b-090dhevtzs] {
    width: 100%;
}

.pa-gast[b-090dhevtzs] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding-left: 0.6rem;
    border: 1px solid var(--border);
    background: var(--secondary);
}

.pa-gast-weg[b-090dhevtzs] {
    border: none;
    background: none;
    min-width: 40px;
    min-height: 40px;
    cursor: pointer;
    color: var(--muted-foreground);
}

.pa-gast-neu[b-090dhevtzs] {
    display: flex;
    gap: 0.4rem;
    flex: 1 1 240px;
    min-width: 0;
}

.pa-gast-neu .form-input[b-090dhevtzs] {
    flex: 1;
    min-width: 0;
}

/* Statusmenü */
.pm[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.pm-knopf[b-090dhevtzs] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 48px;
    padding: 0.4rem 0.75rem;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    font-size: 1rem;
    text-align: left;
    cursor: pointer;
}

.pm-knopf.an[b-090dhevtzs] {
    border-color: var(--primary);
    background: var(--accent);
    font-weight: 600;
}

.pm-feld[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

/* Bewertung einer Abwesenheit (Schema 009): entschuldigt/unentschuldigt als abwählbares Paar nebeneinander, unter
   der Hauptwahl eingerückt; keins gewählt = nur abwesend. */
.pm-bewertung[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-left: 1rem;
    padding-left: 0.75rem;
    border-left: 2px solid var(--border);
}

.pm-paar[b-090dhevtzs] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem;
}

.pm-paar-knopf[b-090dhevtzs] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    min-height: 48px;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    font-size: 1rem;
    text-align: left;
    cursor: pointer;
}

.pm-paar-knopf.an[b-090dhevtzs] {
    border-color: var(--primary);
    background: var(--accent);
    font-weight: 600;
}

.pm-bewertung + .pm-schalter[b-090dhevtzs],
.pm-bewertung ~ .pm-feld[b-090dhevtzs] {
    margin-left: 1rem;
}

/* „kurzfristig abgesagt“ als Häkchen unter den Status-Knöpfen, ganze Zeile tippbar. */
.pm-schalter[b-090dhevtzs] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 48px;
    padding: 0.4rem 0.75rem;
    border: 1px dashed var(--border);
    font-size: 0.9375rem;
    cursor: pointer;
}

.pm-schalter input[b-090dhevtzs] {
    width: 1.25rem;
    height: 1.25rem;
    accent-color: var(--primary);
}

/* ---------- Fällig aus früheren Versammlungen ---------- */
.pt-faellig[b-090dhevtzs] {
    border-left: 3px solid var(--primary);
}

.pf-eintrag[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--border);
}

.pf-text[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.pf-art[b-090dhevtzs] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--muted-foreground);
}

.pf-thema[b-090dhevtzs] {
    font-weight: 600;
    overflow-wrap: anywhere;
}

.pf-herkunft[b-090dhevtzs] {
    font-size: 0.8rem;
    color: var(--muted-foreground);
}

.pf-knoepfe[b-090dhevtzs] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.pf-behandelt[b-090dhevtzs] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.pf-behandelt li[b-090dhevtzs] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.pf-behandelt-text[b-090dhevtzs] {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}

.pf-zurueck[b-090dhevtzs] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 36px;
    border: none;
    background: none;
    color: var(--muted-foreground);
    cursor: pointer;
    font-size: 0.8rem;
}

/* ---------- Punkte ---------- */
.pt-punkte-kopf[b-090dhevtzs] {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin-top: 0.4rem;
}

.pt-punkte-titel[b-090dhevtzs] {
    margin: 0;
    font-size: 1.1rem;
}

.pt-punkte-kopf .pt-zusammenfassung[b-090dhevtzs] {
    text-align: left;
}

.pk[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.75rem 1rem 1rem;
    scroll-margin-top: 4.5rem;
}

.pk-kopf[b-090dhevtzs] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.pk-nummer[b-090dhevtzs] {
    font-weight: 700;
    color: var(--primary);
    font-size: 0.9rem;
}

.pk-abstand[b-090dhevtzs] {
    flex: 1;
}

.pk-knopf[b-090dhevtzs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    min-width: 40px;
    min-height: 40px;
    border: 1px solid transparent;
    background: none;
    color: var(--muted-foreground);
    cursor: pointer;
}

.pk-knopf:hover:not(:disabled)[b-090dhevtzs] {
    background: var(--secondary);
    color: var(--foreground);
}

.pk-knopf:disabled[b-090dhevtzs] {
    opacity: 0.35;
    cursor: default;
}

.pk-loeschen:hover:not(:disabled)[b-090dhevtzs] {
    color: var(--primary);
}

.pk-titel[b-090dhevtzs] {
    font-weight: 600;
    font-size: 1.05rem;
}

.pk-text[b-090dhevtzs] {
    min-height: 6.5rem;
    resize: vertical;
    line-height: 1.45;
    field-sizing: content;
    max-height: 60vh;
}

.pk-vorschlag[b-090dhevtzs] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem 0.5rem;
    padding: 0.4rem 0.5rem 0.4rem 0.75rem;
    background: #f1f6fb;
    border-left: 3px solid #4a7bb0;
    font-size: 0.875rem;
}

.pk-fremd[b-090dhevtzs] {
    background: #fff4d6;
    border-left-color: #c79a00;
}

.pk-vorschlag-text[b-090dhevtzs] {
    flex: 1 1 12rem;
    min-width: 0;
}

.pk-details[b-090dhevtzs] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.pd[b-090dhevtzs] {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--border);
    background: var(--secondary);
}

.pd-inhalt[b-090dhevtzs] {
    flex: 1;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    min-width: 0;
    min-height: 44px;
    padding: 0.5rem 0.6rem;
    border: none;
    background: none;
    color: var(--foreground);
    text-align: left;
    font-size: 0.9rem;
    text-decoration: none;
    cursor: pointer;
    overflow-wrap: anywhere;
}

.pd-inhalt small[b-090dhevtzs] {
    color: var(--muted-foreground);
    margin-left: 0.25rem;
}

/* Symbole aus SvgIcon tragen den Scope dieser Seite nicht: ::deep. */
.pd-inhalt[b-090dhevtzs]  svg {
    flex: none;
    margin-top: 0.15rem;
}

.pd-beschluss[b-090dhevtzs] {
    border-left: 3px solid var(--muted-foreground);
}

.pd-beschluss.angenommen[b-090dhevtzs] {
    border-left-color: #2e7d3e;
}

.pd-beschluss.abgelehnt[b-090dhevtzs] {
    border-left-color: var(--primary);
}

.pk-wahl[b-090dhevtzs] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.4rem;
}

.pk-wahl-knopf[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    min-height: 56px;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    font-size: 0.8rem;
    cursor: pointer;
}

.pk-wahl-knopf:hover[b-090dhevtzs] {
    background: var(--accent);
    color: var(--accent-foreground);
}

.pk-detail[b-090dhevtzs] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 40px;
    padding: 0.3rem 0.75rem;
    border: 1px dashed var(--border);
    background: none;
    color: var(--muted-foreground);
    font-size: 0.875rem;
    cursor: pointer;
}

.pk-detail:hover[b-090dhevtzs] {
    border-color: var(--primary);
    color: var(--primary);
}

.pt-neu[b-090dhevtzs] {
    align-self: stretch;
    justify-content: center;
}

/* ---------- Termin-Block ---------- */
.ptt-liste[b-090dhevtzs] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.ptt[b-090dhevtzs] {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.4rem 0.75rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--border);
}

.ptt.abgesagt .ptt-anlass[b-090dhevtzs] {
    text-decoration: line-through;
    color: var(--muted-foreground);
}

.ptt-tag[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.1;
}

.ptt-tag b[b-090dhevtzs] {
    font-size: 1.2rem;
}

.ptt-tag small[b-090dhevtzs] {
    font-size: 0.7rem;
    text-transform: uppercase;
    color: var(--muted-foreground);
}

.ptt-text[b-090dhevtzs] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ptt-anlass[b-090dhevtzs] {
    font-weight: 600;
    overflow-wrap: anywhere;
}

.ptt-wann[b-090dhevtzs] {
    font-size: 0.8rem;
    color: var(--muted-foreground);
}

.ptt-text[b-090dhevtzs] {
    cursor: pointer;
}

.ptt-text:hover .ptt-anlass[b-090dhevtzs] {
    color: var(--primary);
}

.ptt-bearb[b-090dhevtzs],
.pd-bearb[b-090dhevtzs] {
    list-style: none;
    padding: 0.25rem 0 0.5rem;
}

.ptt-badge[b-090dhevtzs] {
    align-self: flex-start;
    margin-top: 0.2rem;
}

.ptt-zeile[b-090dhevtzs] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    min-width: 0;
}

.ptt-marken[b-090dhevtzs] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.25rem 0.35rem;
    margin-left: auto;
    flex-shrink: 0;
}

.ptt-marken .ptt-badge[b-090dhevtzs] {
    margin-top: 0.1rem;
}

.ptt-ort[b-090dhevtzs] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8rem;
    color: var(--muted-foreground);
    overflow-wrap: anywhere;
}

.ptt-knoepfe[b-090dhevtzs] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.3rem;
}

.pt-termin-neu[b-090dhevtzs] {
    align-self: flex-start;
}

.pt-beenden[b-090dhevtzs] {
    align-self: stretch;
    justify-content: center;
    margin-top: 0.5rem;
}

/* Konflikt */
.pkf[b-090dhevtzs] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.pkf-fassung[b-090dhevtzs] {
    border: 1px solid var(--border);
    padding: 0.6rem;
    min-width: 0;
}

.pkf-titel[b-090dhevtzs] {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: var(--muted-foreground);
    margin-bottom: 0.3rem;
}

/* Beide Fassungen formatiert wie im Editor bzw. in der Lesefassung (nicht als Markdown-Quelltext). */
.pkf-text[b-090dhevtzs] {
    margin: 0.3rem 0 0;
    max-height: 40vh;
    overflow: auto;
}

/* ---------- Aktionsleiste ---------- */
.pt-leiste[b-090dhevtzs] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-width: 0;
}

.pt-zurueck[b-090dhevtzs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--muted-foreground);
}

.pt-status[b-090dhevtzs] {
    white-space: nowrap;
    border: none;
    font: inherit;
    font-size: 0.75rem;
}

button.pt-status[b-090dhevtzs] {
    cursor: pointer;
}

/* Kurzform des Speicherzustands nur am Handy (Symbol statt Wort). */
.pt-status[b-090dhevtzs]  .pt-status-symbol {
    display: none;
}

/* ---------- Handy ---------- */
@media (max-width: 700px) {
    .pt[b-090dhevtzs] {
        gap: 0.7rem;
    }

    .pt-kopf[b-090dhevtzs] {
        grid-template-columns: 1fr;
    }

    .pt-jetzt[b-090dhevtzs] {
        min-height: 44px;
        min-width: 4.5rem;
    }

    .pa-liste[b-090dhevtzs] {
        grid-template-columns: 1fr 1fr;
    }

    .pa-tipp[b-090dhevtzs] {
        padding: 0.35rem 0.45rem;
        gap: 0.35rem;
    }

    .pa-mehr[b-090dhevtzs] {
        width: 40px;
    }

    .pa-status[b-090dhevtzs] {
        display: none;
    }

    /* Bewertungspaar am Handy weniger eingerückt, damit „unentschuldigt“ neben „entschuldigt“ passt. */
    .pm-bewertung[b-090dhevtzs] {
        margin-left: 0.5rem;
        padding-left: 0.5rem;
    }

    .pm-bewertung + .pm-schalter[b-090dhevtzs],
    .pm-bewertung ~ .pm-feld[b-090dhevtzs] {
        margin-left: 0.5rem;
    }

    .pm-paar-knopf[b-090dhevtzs] {
        gap: 0.4rem;
        padding: 0.4rem 0.45rem;
    }

    .pa-alle[b-090dhevtzs] {
        width: 100%;
        justify-content: center;
    }

    .pa-gast-weg[b-090dhevtzs],
    .pk-knopf[b-090dhevtzs],
    .pf-zurueck[b-090dhevtzs] {
        min-width: 44px;
        min-height: 44px;
    }

    .pk[b-090dhevtzs] {
        padding: 0.6rem 0.75rem 0.85rem;
    }

    .pk-wahl[b-090dhevtzs] {
        grid-template-columns: 1fr 1fr;
    }

    .pk-detail[b-090dhevtzs] {
        min-height: 44px;
        align-self: stretch;
        justify-content: center;
    }

    .pf-knoepfe[b-090dhevtzs]  .btn {
        flex: 1 1 auto;
        justify-content: center;
    }

    .ptt[b-090dhevtzs] {
        grid-template-columns: 2.6rem minmax(0, 1fr);
    }

    .ptt-knoepfe[b-090dhevtzs] {
        grid-column: 1 / -1;
        justify-content: stretch;
    }

    .ptt-knoepfe[b-090dhevtzs]  .btn {
        flex: 1 1 0;
        justify-content: center;
        padding-left: 0.3rem;
        padding-right: 0.3rem;
    }

    .pkf[b-090dhevtzs] {
        grid-template-columns: 1fr;
    }

    .pt-status[b-090dhevtzs] {
        flex: none;
        display: inline-flex;
        align-items: center;
        gap: 0.2rem;
        font-size: 0.7rem;
    }

    .pt-status-lang[b-090dhevtzs] {
        display: none;
    }

    .pt-status[b-090dhevtzs]  .pt-status-symbol {
        display: inline-block;
        width: 0.8rem;
        height: 0.8rem;
    }

    /* Eine Zeile: der Titel schrumpft mit Auslassungspunkten, Zustand und Knopf behalten ihre Breite. Basis 0, damit die
       umbrechende Aktionsleiste nicht nach der Textbreite umbricht; das hohe Wachstum lässt dem Abstandhalter nichts übrig. */
    .pt-leiste[b-090dhevtzs] {
        flex: 999 1 0;
        min-width: 0;
    }

    .pt-leiste .action-bar-title[b-090dhevtzs] {
        flex: 0 1 auto;
        min-width: 0;
        font-size: 1rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .pt-ansehen[b-090dhevtzs] {
        flex: none;
    }

    .pt-ansehen span[b-090dhevtzs] {
        display: none;
    }

    .pt-zurueck[b-090dhevtzs] {
        min-width: 44px;
        min-height: 44px;
        margin-left: -0.6rem;
    }
}
/* /Components/Pages/Protokoll/WiedervorlagenListe.razor.rz.scp.css */
.wv[b-ads78i4hf5] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.wv-karte[b-ads78i4hf5] {
    padding: 0;
    overflow-x: auto;
}

.wv-leer[b-ads78i4hf5] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1.25rem;
    color: var(--muted-foreground);
}

.wv-filter .form-select[b-ads78i4hf5] {
    min-width: 9rem;
}

.wv td a[b-ads78i4hf5] {
    color: var(--foreground);
    font-weight: 600;
    text-decoration: none;
}

.wv td a:hover[b-ads78i4hf5] {
    color: var(--primary);
}
/* /Components/Pages/Protokoll/Zaehler.razor.rz.scp.css */
.zl[b-o0aq8gu6mm] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.zl-name[b-o0aq8gu6mm] {
    font-size: 0.78rem;
    color: var(--muted-foreground);
}

.zl-feld[b-o0aq8gu6mm] {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: stretch;
    border: 1px solid var(--border);
    background: var(--card);
}

.zl-knopf[b-o0aq8gu6mm] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: none;
    background: var(--secondary);
    color: var(--foreground);
    cursor: pointer;
}

.zl-knopf:hover:not(:disabled)[b-o0aq8gu6mm] {
    background: var(--accent);
    color: var(--accent-foreground);
}

.zl-knopf:disabled[b-o0aq8gu6mm] {
    opacity: 0.4;
    cursor: default;
}

.zl-zahl[b-o0aq8gu6mm] {
    border: none !important;
    text-align: center;
    font-size: 1.15rem !important;
    font-weight: 600;
    min-width: 0;
    -moz-appearance: textfield;
    appearance: textfield;
}

.zl-zahl[b-o0aq8gu6mm]::-webkit-outer-spin-button,
.zl-zahl[b-o0aq8gu6mm]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* /Components/Pages/Termine/TerminAktion.razor.rz.scp.css */
.ta-was[b-vif3tiw5ie] {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}
/* /Components/Pages/Termine/TermineListe.razor.rz.scp.css */
/* Terminliste: je Monat eine Tabelle wie im Archiv, Filter in der Aktionsleiste. Am Handy Karten mit großem Datum links,
   Anlass und Status oben, Zeit, Ort und Veranstalter darunter. */
.tl-monat[b-vw5zmrsis6] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.tl-anzahl[b-vw5zmrsis6] {
    font-size: 0.8125rem;
    font-weight: normal;
    color: var(--muted-foreground);
}

.tl-tag[b-vw5zmrsis6] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tl-tag-kurz[b-vw5zmrsis6],
td.tl-mobil[b-vw5zmrsis6] {
    display: none;
}

.tl-anlass[b-vw5zmrsis6] {
    white-space: normal;
}

.tl-titel[b-vw5zmrsis6] {
    color: inherit;
    text-decoration: none;
    font-weight: var(--font-weight-medium);
    overflow-wrap: anywhere;
}

.tl-titel:hover[b-vw5zmrsis6] {
    color: var(--primary);
    text-decoration: underline;
}

.tl-art[b-vw5zmrsis6] {
    margin-left: 0.5rem;
}

.tl-zeit[b-vw5zmrsis6] {
    font-variant-numeric: tabular-nums;
}

.tl-ort[b-vw5zmrsis6] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tl-veranstalter[b-vw5zmrsis6] {
    color: var(--muted-foreground);
}

.tl-abgesagt .tl-titel[b-vw5zmrsis6] {
    text-decoration: line-through;
    color: var(--muted-foreground);
}

.tl-vorbei td[b-vw5zmrsis6] {
    color: var(--muted-foreground);
}

.tl-fehler[b-vw5zmrsis6] {
    padding: 0.625rem 0.875rem;
    border-left: 3px solid var(--primary);
    background: var(--card);
}

.tl-filter[b-vw5zmrsis6] {
    width: auto;
    min-height: 36px;
}

.tl-schalter[b-vw5zmrsis6] {
    white-space: nowrap;
}

/* ---- Ausklapper unter der Zeile (Daniel 07.11.2026) ---- */
@media (min-width: 701px) {
    .tl-offen > td[b-vw5zmrsis6] {
        background: var(--muted);
    }
}

.tl-tabelle > tbody > tr.tl-auf > td[b-vw5zmrsis6] {
    padding: 1rem 1.25rem 1rem 1.5rem;
    background: var(--card);
    box-shadow: inset 4px 0 0 var(--primary);
    cursor: default;
}

.tl-detail-fuss[b-vw5zmrsis6] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
}

.tl-journal[b-vw5zmrsis6] {
    margin-top: 1.25rem;
}

.tl-detail-fuss .tl-stand[b-vw5zmrsis6] {
    margin: 0;
}

/* Verlauf als Link neben dem Stand (Daniel 07.11.2026). */
.tl-verlauf-link[b-vw5zmrsis6] {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0;
    border: none;
    background: none;
    font: inherit;
    font-size: 0.75rem;
    color: var(--muted-foreground);
    cursor: pointer;
}

/* Wie „Zuletzt geändert“, nur mit Pfeil; der Pfeil klein wie die Schrift. */
.tl-verlauf-link[b-vw5zmrsis6]  svg {
    width: 0.75rem;
    height: 0.75rem;
}

.tl-verlauf-link:hover[b-vw5zmrsis6] {
    color: var(--foreground);
}

/* Absagen ganz unten im Bearbeiten-Dialog. */
.tl-absagen[b-vw5zmrsis6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.tl-absagen p[b-vw5zmrsis6] {
    margin: 0;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.tl-absagen .btn[b-vw5zmrsis6] {
    flex-shrink: 0;
}

/* ---- Detail (Felder des Dialogs in TerminFormular.razor.css) ---- */
.tl-kopf[b-vw5zmrsis6] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
}

.tl-kopf-datum[b-vw5zmrsis6] {
    font-size: 1.05rem;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
}

.tl-kopf-marken[b-vw5zmrsis6] {
    display: flex;
    gap: 0.4rem;
}

.tl-meta[b-vw5zmrsis6] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem 1.5rem;
    margin: 1rem 0 0;
}

.tl-meta div[b-vw5zmrsis6] {
    min-width: 0;
}

.tl-meta dt[b-vw5zmrsis6] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.tl-meta dd[b-vw5zmrsis6] {
    margin: 0;
    font-size: 0.9375rem;
    overflow-wrap: anywhere;
}

.tl-notiztext[b-vw5zmrsis6] {
    margin: 1rem 0 0;
    padding: 0.5rem 0.75rem;
    background: var(--muted);
    font-size: 0.875rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.tl-zur[b-vw5zmrsis6] {
    margin-top: 1rem;
}

.tl-verlauf-titel[b-vw5zmrsis6] {
    margin: 1.25rem 0 0.4rem;
    font-size: 0.8125rem;
    font-weight: var(--font-weight-medium);
    color: var(--muted-foreground);
}

.tl-verlauf[b-vw5zmrsis6] {
    margin: 0;
    padding: 0;
    list-style: none;
    border-left: 2px solid var(--border);
}

.tl-verlauf li[b-vw5zmrsis6] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.3rem 0 0.3rem 0.75rem;
    font-size: 0.875rem;
}

.tl-verlauf-was[b-vw5zmrsis6] {
    font-variant-numeric: tabular-nums;
}

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

.tl-verlauf-grund[b-vw5zmrsis6] {
    font-size: 0.8125rem;
    font-style: italic;
}

.tl-stand[b-vw5zmrsis6] {
    margin: 1rem 0 0;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

@media (max-width: 700px) {
    .tl-monat[b-vw5zmrsis6] {
        margin: 1rem 0 0.5rem;
    }

    /* Karte: Datum groß links, Anlass mit Status oben, die Zeile mit Zeit, Ort und Veranstalter darunter. */
    .tl-tabelle > tbody > tr[b-vw5zmrsis6] {
        display: grid;
        grid-template-columns: 3.25rem minmax(0, 1fr) auto;
        column-gap: 0.75rem;
        row-gap: 0.2rem;
        align-items: start;
    }

    .tl-tabelle > tbody > tr[b-vw5zmrsis6]::before {
        content: none;
    }

    .tl-tabelle > tbody > tr > td.tl-tag[b-vw5zmrsis6] {
        grid-column: 1;
        grid-row: 1 / span 2;
        align-self: stretch;
        border-right: 2px solid var(--dlv-rot);
        padding-right: 0.5rem;
    }

    .tl-tag-lang[b-vw5zmrsis6] {
        display: none;
    }

    .tl-tag-kurz[b-vw5zmrsis6] {
        display: flex;
        flex-direction: column;
        align-items: center;
        line-height: 1.1;
        color: var(--foreground);
    }

    .tl-tag-kurz b[b-vw5zmrsis6] {
        font-size: 1.6rem;
        font-weight: var(--font-weight-medium);
    }

    .tl-tag-kurz small[b-vw5zmrsis6] {
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: var(--muted-foreground);
    }

    .tl-tabelle > tbody > tr > td.tl-anlass[b-vw5zmrsis6] {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
    }

    .tl-tabelle > tbody > tr > td.tl-status[b-vw5zmrsis6] {
        grid-column: 3;
        grid-row: 1;
        align-self: center;
    }

    .tl-tabelle > tbody > tr > td.tl-mobil[b-vw5zmrsis6] {
        display: block;
        grid-column: 2 / span 2;
        grid-row: 2;
        overflow-wrap: anywhere;
    }

    .tl-art[b-vw5zmrsis6] {
        margin-left: 0.35rem;
        vertical-align: 0.1em;
    }

    .tl-filter[b-vw5zmrsis6],
    .tl-schalter[b-vw5zmrsis6] {
        min-height: 44px;
    }

    .tl-filter[b-vw5zmrsis6] {
        flex: 1 1 9rem;
    }

    /* Terminart-Filter am Handy weg (Daniel 07.11.2026: Platz sparen); nur sichtbar, wenn die Adresse schon danach filtert,
       damit er sich zurücksetzen lässt. */
    .tl-filter-art[b-vw5zmrsis6] {
        display: none;
    }

    /* Zwei Umschalter (nur Pflicht, auch vergangene) teilen sich die Zeile, wenn sie passen. */
    .tl-schalter[b-vw5zmrsis6] {
        flex: 1 1 auto;
    }

    .tl-schalter input[b-vw5zmrsis6] {
        width: 1.25rem;
        height: 1.25rem;
    }

    .tl-meta[b-vw5zmrsis6] {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Ausklapper hängt als Fortsetzung an der Karte. */
    .tl-tabelle > tbody > tr.tl-offen[b-vw5zmrsis6] {
        margin-bottom: 0;
        border-bottom: none;
    }

    .tl-tabelle > tbody > tr.tl-auf[b-vw5zmrsis6] {
        display: block;
        margin-top: 0;
        padding: 0 0.75rem 0.75rem;
        border-top: none;
        box-shadow: inset 4px 0 0 var(--primary);
    }

    .tl-tabelle > tbody > tr.tl-auf > td[b-vw5zmrsis6] {
        display: block;
        padding: 0.75rem 0 0 0.25rem;
        border-top: 1px solid var(--border);
        box-shadow: none;
        font-size: 0.9375rem;
        color: var(--foreground);
    }

    /* „Zur Versammlung“ und „Bearbeiten“ teilen sich eine Zeile. */
    .tl-detail-fuss .btn[b-vw5zmrsis6] {
        min-height: 44px;
        flex: 1 1 0;
        justify-content: center;
    }

    .tl-detail-fuss .st-luecke[b-vw5zmrsis6] {
        display: none;
    }

    /* Link in eigener Zeile unter dem Stand, Knöpfe darunter. */
    .tl-verlauf-link[b-vw5zmrsis6] {
        flex-basis: 100%;
        min-height: 32px;
        justify-content: flex-start;
    }

    .tl-absagen[b-vw5zmrsis6] {
        flex-direction: column;
        align-items: stretch;
    }
}

/* Nächster Termin ab heute in der Liste mit vergangenen Terminen (Daniel 07.11.2026): roter Rand links als Anker. */
.tl-naechster td:first-child[b-vw5zmrsis6] {
    box-shadow: inset 4px 0 0 var(--dlv-rot);
}
/* /Components/Pages/Termine/TerminFormular.razor.rz.scp.css */
/* Felder eines Termins (TerminFormular): Hilfe zur Terminart, Kopplungshinweis, Notiz, Pflichttermin. */
.tl-arthilfe[b-b9xtsttper] {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.tl-kopplung[b-b9xtsttper] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.tl-notiz[b-b9xtsttper] {
    resize: vertical;
}

/* Raster: 12 Spalten am Desktop, Gruppen mit kleiner Überschrift (Daniel 07.11.2026: kompakter, nicht Feld neben Feld). */
.tf[b-b9xtsttper] {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.75rem 1rem;
}

.tf > *[b-b9xtsttper] {
    grid-column: 1 / -1;
}

.tf > .tf-3[b-b9xtsttper] { grid-column: span 3; }
.tf > .tf-4[b-b9xtsttper] { grid-column: span 4; }
.tf > .tf-6[b-b9xtsttper] { grid-column: span 6; }
.tf > .tf-8[b-b9xtsttper] { grid-column: span 8; }
.tf > .tf-12[b-b9xtsttper] { grid-column: 1 / -1; }

.tf-gruppe[b-b9xtsttper] {
    margin-top: 0.5rem;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid var(--border);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted-foreground);
}

.tf-gruppe:first-child[b-b9xtsttper] {
    margin-top: 0;
}

/* Pflichttermin: Schalter-Kachel statt nackter Checkbox; eingeschaltet mit Akzentrand. */
.tf .tf-pflicht[b-b9xtsttper] {
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.25rem;
    padding: 0.625rem 0.875rem;
    border: 1px solid var(--border);
    background: var(--card);
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.tf .tf-pflicht:has(input:checked)[b-b9xtsttper] {
    border-color: var(--primary);
    background: color-mix(in srgb, var(--primary) 6%, var(--card));
}

.tf-pflicht-text[b-b9xtsttper] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}

.tf-pflicht-text strong[b-b9xtsttper] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--foreground);
}

.tf-pflicht-text small[b-b9xtsttper] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

@media (max-width: 700px) {
    .tf[b-b9xtsttper] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tf > .tf-3[b-b9xtsttper],
    .tf > .tf-4[b-b9xtsttper],
    .tf > .tf-6[b-b9xtsttper],
    .tf > .tf-8[b-b9xtsttper] {
        grid-column: 1 / -1;
    }

    /* Datum/Uhrzeit und Bis/Rückmeldung paarweise nebeneinander. */
    .tf > .tf-paar[b-b9xtsttper] {
        grid-column: span 1;
    }

    .tf .tf-pflicht[b-b9xtsttper] {
        min-height: 56px;
    }
}
/* /Components/Pages/Termine/TerminSchnell.razor.rz.scp.css */
/* Felder des Schnellbereichs „Neuer Termin“: am Desktop Datum, Uhrzeit, Bezeichnung und Ort in einer Zeile (bei wenig
   Platz zwei), am Handy Datum und Uhrzeit nebeneinander, Bezeichnung und Ort darunter über die volle Breite. */
.ts[b-hx568fo3di] {
    display: grid;
    grid-template-columns: 10rem 7.5rem minmax(10rem, 2fr) minmax(9rem, 1.5fr);
    gap: 0.6rem 0.875rem;
    align-items: end;
}

.ts-feld[b-hx568fo3di] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
    font-size: 0.78rem;
    color: var(--muted-foreground);
}

.ts-breit[b-hx568fo3di] {
    grid-column: 1 / -1;
}

.ts-breit:empty[b-hx568fo3di] {
    display: none;
}

/* JahresHinweis steht zwischen Datum und Bezeichnung im Markup, am Desktop aber unter der Zeile. */
.ts-breit[b-hx568fo3di] {
    order: 5;
}

.ts-art[b-hx568fo3di] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 32px;
    padding: 0;
    border: none;
    background: none;
    color: var(--muted-foreground);
    font: inherit;
    font-size: 0.875rem;
    text-align: left;
    cursor: pointer;
}

.ts-art b[b-hx568fo3di] {
    color: var(--foreground);
}

.ts-art:hover span[b-hx568fo3di] {
    text-decoration: underline;
}

@media (max-width: 1100px) {
    .ts[b-hx568fo3di] {
        grid-template-columns: 10rem 7.5rem minmax(0, 1fr);
    }

    .ts-ort[b-hx568fo3di] {
        grid-column: 1 / -1;
    }
}

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

    .ts-bezeichnung[b-hx568fo3di],
    .ts-ort[b-hx568fo3di] {
        grid-column: 1 / -1;
    }

    /* Am Handy der Hinweis gleich unter dem Datum, auf das er sich bezieht. */
    .ts-breit[b-hx568fo3di] {
        order: 0;
    }

    .ts-art[b-hx568fo3di] {
        min-height: 44px;
    }
}
/* /Components/Pages/Versammlungen/Uebersicht.razor.rz.scp.css */
/* Übersicht: kommende und letzte Versammlung nebeneinander, darunter der Einstieg ins Archiv. Am Handy untereinander. */
.ue[b-8br5oikuyd] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ue-paar[b-8br5oikuyd] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

/* Die Karten eines Paares gleich hoch, der Knopf unten. */
.ue-paar[b-8br5oikuyd]  .fc-card {
    height: 100%;
}

.ue-paar[b-8br5oikuyd]  .fc-card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.ue-datum[b-8br5oikuyd] {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--dlv-rot);
}

.ue-titel[b-8br5oikuyd] {
    font-size: 1.3rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.ue-meta[b-8br5oikuyd] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 2rem;
    margin: 0.35rem 0 0;
}

.ue-meta div[b-8br5oikuyd] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.ue-meta dt[b-8br5oikuyd] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.ue-meta dd[b-8br5oikuyd] {
    margin: 0;
    font-size: 0.9375rem;
}

/* Verteilfrist des Protokolls (§ 5.4, Stufe 3): Warnfarbe nach Ablauf. */
.ue-frist[b-8br5oikuyd] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    margin-top: 0.5rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.ue-frist[b-8br5oikuyd]  svg {
    flex: none;
    margin-top: 0.15rem;
}

.ue-frist-ueber[b-8br5oikuyd] {
    color: var(--dlv-rot-dunkel);
    font-weight: 500;
}

.ue-auszug[b-8br5oikuyd] {
    margin-top: 0.6rem;
    padding: 0.6rem 0.8rem;
    border-left: 3px solid var(--border);
    background: var(--muted);
    font-size: 0.875rem;
}

.ue-auszug-titel[b-8br5oikuyd] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
    margin-bottom: 0.25rem;
}

.ue-auszug ul[b-8br5oikuyd] {
    margin: 0;
    padding-left: 1.1rem;
}

.ue-auszug li[b-8br5oikuyd] {
    overflow-wrap: anywhere;
}

.ue-auszug li + li[b-8br5oikuyd] {
    margin-top: 0.15rem;
}

.ue-weitere[b-8br5oikuyd] {
    margin-top: 0.25rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.ue-aktion[b-8br5oikuyd] {
    display: flex;
    margin-top: auto;
    padding-top: 1rem;
}

.ue-leer[b-8br5oikuyd] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1.5rem 0.5rem;
    color: var(--muted-foreground);
    text-align: center;
    font-size: 0.875rem;
}

.ue-leer-titel[b-8br5oikuyd] {
    color: var(--foreground);
    font-size: 1rem;
    font-weight: var(--font-weight-medium);
}

.ue-suche[b-8br5oikuyd] {
    display: flex;
    gap: 0.5rem;
}

.ue-suche .form-input[b-8br5oikuyd] {
    flex: 1;
    min-width: 0;
}

.ue-archiv[b-8br5oikuyd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-top: 0.75rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.ue-archiv a[b-8br5oikuyd] {
    color: var(--primary);
}

.ue-fehler[b-8br5oikuyd] {
    color: var(--destructive);
}

.ue-planen[b-8br5oikuyd] {
    margin-top: 0.5rem;
}

.ue-alle[b-8br5oikuyd] {
    font-size: 0.875rem;
    color: var(--primary);
}

.ue-leer-klein[b-8br5oikuyd] {
    padding: 0.75rem 0.5rem;
}

/* Nächste Termine: Datum als kleiner Block links, Anlass und Zeit/Ort daneben; jede Zeile ein Link in die Terminliste. */
.ue-termine[b-8br5oikuyd] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ue-termine li + li[b-8br5oikuyd] {
    border-top: 1px solid var(--border);
}

.ue-termin[b-8br5oikuyd] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 0.55rem 0;
    color: inherit;
    text-decoration: none;
}

.ue-termin:hover .ue-termin-anlass[b-8br5oikuyd] {
    color: var(--primary);
    text-decoration: underline;
}

.ue-termin-tag[b-8br5oikuyd] {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 2.75rem;
    line-height: 1.1;
    border-right: 2px solid var(--dlv-rot);
    padding-right: 0.5rem;
}

.ue-termin-tag b[b-8br5oikuyd] {
    font-size: 1.25rem;
    font-weight: var(--font-weight-medium);
    font-variant-numeric: tabular-nums;
}

.ue-termin-tag small[b-8br5oikuyd] {
    font-size: 0.7rem;
    text-transform: uppercase;
    color: var(--muted-foreground);
}

.ue-termin-text[b-8br5oikuyd] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ue-termin-anlass[b-8br5oikuyd] {
    font-weight: var(--font-weight-medium);
    overflow-wrap: anywhere;
}

.ue-termin-wann[b-8br5oikuyd] {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
    overflow-wrap: anywhere;
}

@media (max-width: 700px) {
    .ue[b-8br5oikuyd] {
        gap: 0.75rem;
    }

    .ue-paar[b-8br5oikuyd] {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.75rem;
    }

    .ue-titel[b-8br5oikuyd] {
        font-size: 1.15rem;
    }

    .ue-meta[b-8br5oikuyd] {
        gap: 0.4rem 1.25rem;
    }

    /* Knöpfe über die volle Breite: mit dem Daumen gut zu treffen. */
    .ue-aktion .btn[b-8br5oikuyd] {
        flex: 1;
        justify-content: center;
    }

    .ue-planen[b-8br5oikuyd] {
        align-self: stretch;
        justify-content: center;
    }

    .ue-termin[b-8br5oikuyd] {
        min-height: 44px;
    }

    .ue-alle[b-8br5oikuyd] {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    .ue-archiv a[b-8br5oikuyd] {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }
}

/* Meine offenen Aufgaben (Stufe 2): kurz, ganze Zeile als Tippfläche. */
.ue-aufgaben[b-8br5oikuyd] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.ue-aufgabe[b-8br5oikuyd] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-height: 44px;
    padding: 0.45rem 0;
    border-bottom: 1px solid var(--border);
    color: var(--foreground);
    text-decoration: none;
}

.ue-aufgabe:hover .ue-aufgabe-text[b-8br5oikuyd] {
    color: var(--primary);
}

.ue-aufgabe-text[b-8br5oikuyd] {
    font-weight: 600;
    overflow-wrap: anywhere;
}

.ue-aufgabe-wann[b-8br5oikuyd] {
    font-size: 0.8rem;
    color: var(--muted-foreground);
}
/* /Components/Pages/Versammlungen/VersammlungAnsicht.razor.rz.scp.css */
/* Versammlung: Kopf, Lesefassung links, Original rechts (bleibt beim Rollen stehen). Am Handy einspaltig mit Umschalter. */
.vd[b-518ukdoyxj] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.vd-leiste[b-518ukdoyxj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.vd-zurueck[b-518ukdoyxj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    color: var(--muted-foreground);
}

.vd-zurueck:hover[b-518ukdoyxj] {
    color: var(--primary);
}

.vd-kopf[b-518ukdoyxj] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(to right, var(--dlv-papier), var(--card) 55%);
    border-left: 4px solid var(--primary);
}

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

.vd-titel[b-518ukdoyxj] {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.15;
}

.vd-meta[b-518ukdoyxj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 2rem;
    margin: 0.35rem 0 0;
}

.vd-meta div[b-518ukdoyxj] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.vd-meta dt[b-518ukdoyxj] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.vd-meta dd[b-518ukdoyxj] {
    margin: 0;
    font-size: 0.9375rem;
}

.vd-hinweise[b-518ukdoyxj] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    margin-top: 0.25rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.vd-hinweis[b-518ukdoyxj] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.vd-inhalt[b-518ukdoyxj] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.vd-inhalt.vd-einspaltig[b-518ukdoyxj] {
    grid-template-columns: minmax(0, 1fr);
}

.vd-einspaltig .vd-lesefassung[b-518ukdoyxj] {
    max-width: 52rem;
}

.vd-lesefassung[b-518ukdoyxj] {
    padding: 1.25rem 1.5rem 1.5rem;
    min-width: 0;
}

.vd-suchleiste[b-518ukdoyxj] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: -0.25rem 0 1rem;
    padding: 0.5rem 0.75rem;
    background: var(--accent);
    font-size: 0.8125rem;
}

.vd-suche-aus[b-518ukdoyxj] {
    margin-left: auto;
    color: var(--muted-foreground);
}

.vd-ohne[b-518ukdoyxj],
.vd-leer[b-518ukdoyxj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    color: var(--muted-foreground);
    text-align: center;
}

.vd-original[b-518ukdoyxj] {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 10rem);
    min-height: 24rem;
    min-width: 0;
    overflow: hidden;
}

.vd-dateien[b-518ukdoyxj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 0.5rem;
    border-bottom: 1px solid var(--border);
}

.vd-datei[b-518ukdoyxj] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.65rem;
    border: 1px solid var(--border);
    background: var(--card);
    font-size: 0.8125rem;
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

.vd-datei span[b-518ukdoyxj] {
    font-weight: normal;
    color: var(--muted-foreground);
}

.vd-datei.aktiv[b-518ukdoyxj] {
    border-color: var(--primary);
    color: var(--primary);
}

.vd-pdf[b-518ukdoyxj] {
    flex: 1 1 0;
    min-height: 0;
}

.vd-bild[b-518ukdoyxj] {
    flex: 1 1 0;
    min-height: 0;
    overflow: auto;
    padding: 0.75rem;
    background: #808080;
}

.vd-bild img[b-518ukdoyxj] {
    display: block;
    max-width: 100%;
    margin: 0 auto;
}

.vd-download[b-518ukdoyxj] {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2rem 1rem;
    color: var(--muted-foreground);
    text-align: center;
}

.vd-download-name[b-518ukdoyxj] {
    color: var(--foreground);
    font-weight: var(--font-weight-medium);
    word-break: break-word;
}

.vd-download-info[b-518ukdoyxj] {
    font-size: 0.8125rem;
}

.vd-original-fuss[b-518ukdoyxj] {
    display: flex;
    justify-content: flex-start;
    padding: 0.5rem;
    border-top: 1px solid var(--border);
}

.vd-stand[b-518ukdoyxj] {
    margin: 0;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

/* Umschalter Lesefassung/Original: nur am Handy (die Seite blendet ihn bei schmalem Fenster ein). */
.vd-umschalter[b-518ukdoyxj] {
    display: flex;
    border: 1px solid var(--border);
    background: var(--card);
}

.vd-schalter[b-518ukdoyxj] {
    flex: 1;
    min-height: 44px;
    border: none;
    background: transparent;
    font-size: 0.9375rem;
    font-weight: var(--font-weight-medium);
    color: var(--muted-foreground);
    cursor: pointer;
}

.vd-schalter.aktiv[b-518ukdoyxj] {
    color: var(--foreground);
    box-shadow: inset 0 -3px 0 var(--primary);
}

@media (max-width: 700px) {
    .vd[b-518ukdoyxj] {
        gap: 0.75rem;
    }

    .vd-kopf[b-518ukdoyxj] {
        padding: 1rem;
    }

    .vd-titel[b-518ukdoyxj] {
        font-size: 1.3rem;
    }

    .vd-meta[b-518ukdoyxj] {
        gap: 0.4rem 1.25rem;
    }

    .vd-inhalt[b-518ukdoyxj] {
        grid-template-columns: minmax(0, 1fr);
    }

    .vd-lesefassung[b-518ukdoyxj] {
        padding: 1rem;
    }

    .vd-original[b-518ukdoyxj] {
        position: static;
        height: calc(100vh - 12rem);
        min-height: 20rem;
    }

    .vd-datei[b-518ukdoyxj] {
        min-height: 44px;
    }

    /* Zurück-Pfeil und Blättern mit Tippflächen von 44 px; das Blättern links unter dem Titel, Bearbeiten rechts. */
    .vd-zurueck[b-518ukdoyxj] {
        width: 44px;
        height: 44px;
        margin-left: -0.75rem;
    }

    .vd-nav[b-518ukdoyxj] {
        order: 2;
        margin-left: -0.75rem;
        font-size: 0.8125rem;
    }

    .vd-nav + .btn[b-518ukdoyxj] {
        margin-left: auto;
    }

    .vd-suche-aus[b-518ukdoyxj] {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        margin: -0.75rem 0;
    }
}

/* Nur Word oder Text: kein Anzeigefeld, die Karte so hoch wie ihr Inhalt. */
.vd-original:has(.vd-download)[b-518ukdoyxj] {
    height: auto;
    min-height: 0;
}

/* Verlauf des Termins einer geplanten Versammlung (verschoben, abgesagt, ...) und Verweis in die Terminliste. */
.vd-verlauf[b-518ukdoyxj] {
    margin: 0.75rem 0 0;
    padding: 0 0 0 0.75rem;
    list-style: none;
    border-left: 2px solid var(--border);
    font-size: 0.8125rem;
}

.vd-verlauf li + li[b-518ukdoyxj] {
    margin-top: 0.2rem;
}

.vd-verlauf span[b-518ukdoyxj] {
    color: var(--muted-foreground);
}

.vd-termin[b-518ukdoyxj] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.75rem;
    font-size: 0.875rem;
    color: var(--primary);
}

@media (max-width: 700px) {
    .vd-termin[b-518ukdoyxj] {
        min-height: 44px;
        margin-top: 0.25rem;
    }
}
/* /Components/Pages/Versammlungen/VersammlungArchivBearbeiten.razor.rz.scp.css */
/* Versammlung bearbeiten: zweispaltiges Formular, Lesefassung mit Reitern Text und Vorschau. */
.vb[b-0wnm16fxr7] {
    display: flex;
    flex-direction: column;
}

.vb-leiste[b-0wnm16fxr7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.vb-zurueck[b-0wnm16fxr7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    color: var(--muted-foreground);
}

.vb-zurueck:hover[b-0wnm16fxr7] {
    color: var(--primary);
}

.vb-form[b-0wnm16fxr7] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.875rem 1.25rem;
    padding: 1.25rem 1.5rem;
}

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

.vb-form .vb-breit[b-0wnm16fxr7] {
    grid-column: 1 / -1;
}

.vb-lesefassung[b-0wnm16fxr7] {
    margin-top: 1rem;
    padding: 0;
}

.vb-reiter[b-0wnm16fxr7] {
    display: flex;
    align-items: stretch;
    gap: 0.25rem;
    padding: 0 0.75rem;
    border-bottom: 1px solid var(--border);
}

.vb-reiter-knopf[b-0wnm16fxr7] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.6rem 0.9rem;
    margin-bottom: -1px;
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--muted-foreground);
    font-size: 0.875rem;
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

.vb-reiter-knopf.aktiv[b-0wnm16fxr7] {
    color: var(--foreground);
    border-bottom-color: var(--primary);
}

.vb-hilfe[b-0wnm16fxr7] {
    margin-left: auto;
    align-self: center;
    font-size: 0.75rem;
    color: var(--muted-foreground);
    cursor: help;
}

.vb-text[b-0wnm16fxr7] {
    display: block;
    width: 100%;
    min-height: 28rem;
    border: none;
    padding: 1rem 1.25rem;
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 0.8125rem;
    line-height: 1.55;
    resize: vertical;
}

/* Einfacher Editor statt Textfeld (nur für Lesefassungen, die er verlustfrei zeigt): ohne eigenen Rahmen in der Karte. */
.vb-schreiben[b-0wnm16fxr7]  .vb-editor.texteditor,
.vb-schreiben[b-0wnm16fxr7]  .vb-editor.texteditor:focus-within {
    border: none;
    box-shadow: none;
}

.vb-schreiben[b-0wnm16fxr7]  .vb-editor .texteditor-flaeche {
    min-height: 28rem;
    padding: 1rem 1.25rem;
}

.vb-vorschau[b-0wnm16fxr7] {
    display: block;
    padding: 1.25rem 1.5rem 1.5rem;
    min-height: 28rem;
}

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

.vb-leer[b-0wnm16fxr7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    color: var(--muted-foreground);
}

@media (max-width: 700px) {
    /* Tippfläche 44 px wie in „Versammlung planen“. */
    .vb-zurueck[b-0wnm16fxr7] {
        width: 2.75rem;
        height: 2.75rem;
    }

    .vb-form[b-0wnm16fxr7] {
        grid-template-columns: minmax(0, 1fr);
        padding: 1rem;
    }

    .vb-reiter-knopf[b-0wnm16fxr7] {
        min-height: 44px;
    }

    .vb-text[b-0wnm16fxr7] {
        min-height: 60vh;
        padding: 0.75rem;
    }

    .vb-vorschau[b-0wnm16fxr7] {
        padding: 1rem;
    }

    .vb-schreiben[b-0wnm16fxr7]  .vb-editor .texteditor-flaeche {
        min-height: 60vh;
        padding: 0.75rem;
    }
}

/* Hinweis bei Schreibtool-Protokollen: eigener Kopf der Karte mit Innenabstand (Daniel 07.11.2026: „Abstände“). */
.vb-hilfe.vb-schreibtool[b-0wnm16fxr7] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0;
    padding: 0.875rem 1.5rem;
    border-bottom: 1px solid var(--border);
    font-size: 0.875rem;
    line-height: 1.45;
    cursor: default;
}

.vb-hilfe.vb-schreibtool[b-0wnm16fxr7]  svg {
    flex: none;
    margin-top: 0.15rem;
}

@media (max-width: 700px) {
    .vb-hilfe.vb-schreibtool[b-0wnm16fxr7] {
        padding: 0.75rem 1rem;
    }

    .vb-schreibtool ~ .vb-vorschau[b-0wnm16fxr7] {
        padding: 1rem;
    }
}
/* /Components/Pages/Versammlungen/VersammlungBearbeiten.razor.rz.scp.css */
/* Bearbeiten (Weiche): nur Kopf und Hinweis, solange der Zustand der Versammlung noch nicht feststeht. */
.vbe-leiste[b-kt58zhbp1p] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.vbe-zurueck[b-kt58zhbp1p] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    color: var(--muted-foreground);
}

.vbe-zurueck:hover[b-kt58zhbp1p] {
    color: var(--primary);
}

.vbe-leer[b-kt58zhbp1p] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem;
    color: var(--muted-foreground);
    text-align: center;
}

@media (max-width: 700px) {
    .vbe-zurueck[b-kt58zhbp1p] {
        width: 44px;
        height: 44px;
        margin-left: -0.5rem;
    }
}
/* /Components/Pages/Versammlungen/VersammlungenListe.razor.rz.scp.css */
/* Archiv: je Jahr eine Tabelle (am Handy Karten), Suche und Filter in der Aktionsleiste. */
.vl-jahr[b-zas1x93ei5] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    font-variant-numeric: tabular-nums;
}

.vl-anzahl[b-zas1x93ei5] {
    font-size: 0.8125rem;
    font-weight: normal;
    color: var(--muted-foreground);
}

.vl-titelzelle[b-zas1x93ei5] {
    white-space: normal;
}

.vl-titel[b-zas1x93ei5] {
    color: inherit;
    text-decoration: none;
    font-weight: var(--font-weight-medium);
}

.vl-titel:hover[b-zas1x93ei5] {
    color: var(--primary);
    text-decoration: underline;
}

.vl-status[b-zas1x93ei5] {
    margin-left: 0.5rem;
}

.vl-ausschnitt[b-zas1x93ei5] {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.8125rem;
    font-weight: normal;
    line-height: 1.45;
    color: var(--muted-foreground);
}

.vl-treffer[b-zas1x93ei5] {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    font-weight: normal;
    color: var(--muted-foreground);
}

.vl-art[b-zas1x93ei5] {
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.vl-originale[b-zas1x93ei5] {
    color: var(--muted-foreground);
    white-space: nowrap;
}

.vl-originale span[b-zas1x93ei5] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.8125rem;
}

.vl-fehler[b-zas1x93ei5] {
    padding: 0.625rem 0.875rem;
    border-left: 3px solid var(--primary);
    background: var(--card);
}

.vl-suche[b-zas1x93ei5] {
    width: 16rem;
    min-height: 36px;
}

.vl-filter[b-zas1x93ei5] {
    width: auto;
    min-height: 36px;
}

@media (max-width: 700px) {
    .vl-jahr[b-zas1x93ei5] {
        margin: 1rem 0 0.5rem;
    }

    /* Karte: Titel mit Ausschnitt oben, Datum und Schriftführer darunter, das Original-Symbol rechts unten. */
    .vl-titelzelle[b-zas1x93ei5] {
        flex-basis: 100% !important;
    }

    .vl-datum[b-zas1x93ei5] {
        font-variant-numeric: tabular-nums;
    }

    .vl-originale[b-zas1x93ei5] {
        margin-left: auto;
    }

    .vl-suche[b-zas1x93ei5],
    .vl-filter[b-zas1x93ei5] {
        min-height: 44px;
    }

    .vl-filter[b-zas1x93ei5] {
        flex: 1 1 8rem;
    }
}
/* /Components/Pages/Versammlungen/VersammlungPlanen.razor.rz.scp.css */
/* Versammlung planen: ein Formular in einer Karte, zweispaltig wie die übrigen Formulare, am Handy einspaltig (st-form). */
.vp-leiste[b-kuwpqq7u91] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.vp-zurueck[b-kuwpqq7u91] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    color: var(--muted-foreground);
}

.vp-zurueck:hover[b-kuwpqq7u91] {
    color: var(--primary);
}

.vp-form[b-kuwpqq7u91] {
    padding: 1.25rem 1.5rem;
}

.vp-absagen[b-kuwpqq7u91] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem 1.5rem;
}

.vp-absagen p[b-kuwpqq7u91] {
    margin: 0;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.vp-absagen .btn[b-kuwpqq7u91] {
    flex-shrink: 0;
}

.vp-voll[b-kuwpqq7u91] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    justify-content: flex-end;
    min-width: 0;
    padding-bottom: 0.5rem;
    font-size: 0.9375rem;
    overflow-wrap: anywhere;
}

.vp-notiz[b-kuwpqq7u91] {
    resize: vertical;
}

.vp-hinweis[b-kuwpqq7u91] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 1rem 0 0;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.vp-leer[b-kuwpqq7u91] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem;
    color: var(--muted-foreground);
}

@media (max-width: 700px) {
    .vp-form[b-kuwpqq7u91] {
        padding: 1rem;
    }

    .vp-absagen[b-kuwpqq7u91] {
        flex-direction: column;
        align-items: stretch;
        padding: 1rem;
    }

    .vp-zurueck[b-kuwpqq7u91] {
        width: 44px;
        height: 44px;
        margin-left: -0.5rem;
    }
}
/* /Components/Pages/Wartungsseite.razor.rz.scp.css */
/* Wie die Anmeldung (Login.razor.css): Papier, Stripe, Wappen auf dem Stripe. */
.vs-wartung[b-rmf8n04jp6] {
    position: relative;
    background-color: var(--dlv-papier);
    overflow: hidden;
    gap: 0;
}

.vs-stripe[b-rmf8n04jp6] {
    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);
}

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

.vs-wartung-card[b-rmf8n04jp6] {
    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;
}

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

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

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

.vs-wartung .login-footer[b-rmf8n04jp6] {
    position: absolute;
    left: 1.5rem;
    bottom: 1rem;
    margin: 0;
    text-align: left;
    color: var(--dlv-grau);
    opacity: 1;
}
/* /Components/Shared/Card.razor.rz.scp.css */
.fc-card[b-fuf4dex6z4] {
    display: flex;
    flex-direction: column;
}

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

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

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

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

.dok-seite-fuss[b-f7iaj7yfg2] {
    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-f7iaj7yfg2] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.dok-seite-pfad[b-f7iaj7yfg2] {
    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-f7iaj7yfg2] {
    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-f7iaj7yfg2] {
        display: none;
    }

    .dok-seite[b-f7iaj7yfg2] {
        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-f7iaj7yfg2] {
        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-f7iaj7yfg2] {
        background-color: rgba(199, 33, 39, 0.5);
    }
}

.dok-ablegen-fehler[b-f7iaj7yfg2] {
    margin-top: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-left: 3px solid var(--primary);
    background: var(--card);
}

/* Andere Dateitypen als PDF (07.11.2026). */
.dok-seite-bild[b-f7iaj7yfg2] {
    height: 100%;
    overflow: auto;
    background: #6b7280;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 0.75rem;
}

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

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

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

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

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

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

    .dok-seite-kopf .btn[b-f7iaj7yfg2],
    .dok-seite-fuss .btn[b-f7iaj7yfg2] {
        min-height: 44px;
    }

    .dok-seite-pfadzeile[b-f7iaj7yfg2] {
        display: none;
    }

    .dok-seite-fuss[b-f7iaj7yfg2] {
        justify-content: space-between;
    }
}
/* /Components/Shared/JahresHinweis.razor.rz.scp.css */
/* Hinweis der Jahresprüfung unter einem Datumsfeld: gelb, nicht rot (speichern bleibt möglich). */
.jh[b-3ckj66p6f8] {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.6rem;
    padding: 0.5rem 0.75rem;
    background: #fef3c7;
    color: #92400e;
    font-size: 0.875rem;
}

.jh-text[b-3ckj66p6f8] {
    flex: 1 1 14rem;
    min-width: 0;
}

.jh-knopf[b-3ckj66p6f8] {
    flex: none;
}

@media (max-width: 700px) {
    .jh-knopf[b-3ckj66p6f8] {
        flex: 1 1 100%;
        justify-content: center;
    }
}
/* /Components/Shared/Ladegeruest.razor.rz.scp.css */
.lg[b-gdshfipl7j] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    pointer-events: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

.lg-sektion-zeilen[b-gdshfipl7j] {
    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-gdshfipl7j] {
    justify-self: end;
}
/* /Components/Shared/Leerzustand.razor.rz.scp.css */
.leer[b-q81v53dpcb] {
    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-q81v53dpcb] {
    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-q81v53dpcb] {
    margin: 0.25rem 0 0;
    font-size: 1.25rem;
}

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

.leer-bausteine[b-q81v53dpcb] {
    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-q81v53dpcb] {
    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-q81v53dpcb] {
    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-asvks2p6jl] {
    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-asvks2p6jl] {
    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-asvks2p6jl] {
    max-width: 820px;
}

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

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

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

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

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

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

.modal-footer[b-asvks2p6jl] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0.85rem 1.25rem;
    border-top: 1px solid var(--border, #e5e7eb);
}

/* Handy (unter 700 px): Dialog über den ganzen Bildschirm, Kopf und Fuß bleiben stehen, nur der Inhalt rollt. */
@media (max-width: 700px) {
    .modal-backdrop[b-asvks2p6jl] {
        padding: 0;
        align-items: stretch;
    }

    /* Rückfragen vor dem Löschen: am Handy statt des Dialogs die Leiste unter dem Knopf (Rueckfrage). */
    .modal-backdrop.modal-nur-breit[b-asvks2p6jl] {
        display: none;
    }

    .modal-panel[b-asvks2p6jl],
    .modal-wide[b-asvks2p6jl],
    .modal-xl[b-asvks2p6jl] {
        max-width: none;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
    }

    .modal-header[b-asvks2p6jl] {
        padding: 0.5rem 0.5rem 0.5rem 1rem;
    }

    .modal-close[b-asvks2p6jl] {
        min-width: 44px;
        min-height: 44px;
    }

    .modal-body[b-asvks2p6jl] {
        flex: 1;
        min-height: 0;
        padding: 1rem;
    }

    .modal-footer[b-asvks2p6jl] {
        flex-wrap: wrap;
        padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom));
    }
}
/* /Components/Shared/NamenAuswahl.razor.rz.scp.css */
.na[b-0xvyl7bo30] {
    position: relative;
    width: 100%;
}

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

.na-liste[b-0xvyl7bo30] {
    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-0xvyl7bo30] {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

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

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

.na-oben .na-liste[b-0xvyl7bo30] {
    top: auto;
    bottom: calc(100% + 2px);
}
/* /Components/Shared/PdfViewer.razor.rz.scp.css */
.pdf-viewer[b-89iyj8z0lz] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background-color: var(--background);
    border: 1px solid var(--border);
}

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

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

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

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

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

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

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

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

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

[b-89iyj8z0lz] .textLayer ::selection {
    background: rgba(199, 33, 39, 0.6);
}
/* /Components/Shared/Rueckfrage.razor.rz.scp.css */
/* Ja/Nein-Rückfrage (Rueckfrage.razor). Der Rahmen nimmt keinen Platz ein, damit die Leiste in Flex-
   Zeilen (Dialog-Fuß, Aktionsleiste, Tabellenkarte) selbst die volle Breite nehmen kann. Am Desktop ist die Leiste aus. */
.lb[b-rfr9r2k87w] {
    display: contents;
}

.lb-leiste[b-rfr9r2k87w] {
    display: none;
}

@media (max-width: 700px) {
    .lb-leiste[b-rfr9r2k87w] {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem 0.75rem;
        flex: 1 1 100%;
        box-sizing: border-box;
        width: 100%;
        margin-top: 0.5rem;
        padding: 0.625rem 0.75rem;
        border: 1px solid color-mix(in srgb, var(--destructive) 45%, var(--border));
        border-radius: 8px;
        background: color-mix(in srgb, var(--destructive) 6%, var(--card));
        color: var(--foreground);
        font-size: 0.9375rem;
        font-weight: normal;
        text-align: left;
        white-space: normal;
        animation: lb-einsliden-b-rfr9r2k87w 180ms ease-out;
    }

    .lb-leiste.lb-neutral[b-rfr9r2k87w] {
        border-color: var(--border);
        background: var(--muted);
    }

    .lb-text[b-rfr9r2k87w] {
        flex: 1 1 12rem;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .lb-knoepfe[b-rfr9r2k87w] {
        display: flex;
        gap: 0.5rem;
        margin-left: auto;
    }

    .lb-knoepfe .btn[b-rfr9r2k87w] {
        min-height: 44px;
        min-width: 44px;
        white-space: nowrap;
    }
}

@keyframes lb-einsliden-b-rfr9r2k87w {
    /* Nur Deckkraft und Verschiebung: die Leiste hat sofort ihre Höhe, so rollt der Fokus sie gleich ins Bild. */
    from {
        opacity: 0;
        transform: translateY(-0.5rem);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lb-leiste[b-rfr9r2k87w] {
        animation: none;
    }
}
/* /Components/Shared/Schnellbereich.razor.rz.scp.css */
/* Schnellbereich (Schnellbereich.razor): klappt an Ort und Stelle auf, ohne Overlay. Rahmen mit Akzent links, Felder des
   Aufrufers im eigenen Raster, darunter Hinweis, Knöpfe und Verweise. Am Handy Knöpfe gleich breit mit 44 px. */
.sb[b-wckplmmymw] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    box-sizing: border-box;
    width: 100%;
    margin-top: 0.5rem;
    padding: 0.875rem 1rem;
    border: 1px solid var(--border);
    border-left: 3px solid var(--primary);
    background: var(--card);
    animation: sb-einsliden-b-wckplmmymw 180ms ease-out;
}

.sb-felder[b-wckplmmymw] {
    min-width: 0;
}

.sb-hinweis[b-wckplmmymw] {
    min-width: 0;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.sb-fehler[b-wckplmmymw] {
    padding: 0.5rem 0.75rem;
    background: #fee2e2;
    color: #991b1b;
    font-size: 0.875rem;
}

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

.sb-verweise[b-wckplmmymw] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.25rem;
}

.sb-verweis[b-wckplmmymw],
.sb-verweise[b-wckplmmymw]  .sb-verweis {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 32px;
    padding: 0;
    border: none;
    background: none;
    color: var(--primary);
    font: inherit;
    font-size: 0.875rem;
    cursor: pointer;
}

.sb-verweis:hover[b-wckplmmymw],
.sb-verweise[b-wckplmmymw]  .sb-verweis:hover {
    text-decoration: underline;
}

@media (max-width: 700px) {
    .sb[b-wckplmmymw] {
        padding: 0.75rem;
    }

    .sb-knoepfe .btn[b-wckplmmymw] {
        flex: 1 1 0;
        min-height: 44px;
    }

    .sb-verweis[b-wckplmmymw],
    .sb-verweise[b-wckplmmymw]  .sb-verweis {
        min-height: 44px;
    }
}

@keyframes sb-einsliden-b-wckplmmymw {
    from {
        opacity: 0;
        transform: translateY(-0.5rem);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sb[b-wckplmmymw] {
        animation: none;
    }
}
/* /Components/Shared/StatCard.razor.rz.scp.css */
.stat-card[b-xbmaaurf3d] {
    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-xbmaaurf3d] {
    background: var(--secondary);
    border-color: var(--primary);
}

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

.stat-card-value[b-xbmaaurf3d] {
    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-xbmaaurf3d] {
    font-size: 0.78rem;
    color: var(--muted-foreground);
}

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

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

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

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

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

.tg-zeile .skel[b-fqrldurddn] {
    display: block;
    max-width: 100%;
}
/* /Components/Shared/Texteditor.razor.rz.scp.css */
/* Einfacher Texteditor: Kasten wie ein Eingabefeld, Leiste oben auf grauem Grund, darunter die Schreibfläche.
   Die Schreibfläche baut TipTap im Browser, deshalb ::deep für alles darin. */
.texteditor[b-zfk1a4f7h7] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--input-background);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

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

/* Leiste haftet beim Rollen oben im Inhaltsbereich (und bei offener Bildschirmtastatur unter deren Rand, iOS). */
.texteditor-leiste[b-zfk1a4f7h7] {
    position: sticky;
    top: calc(-2rem + var(--tastatur-oben, 0px));
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.75rem;
    padding: 0.25rem 0.4rem;
    border-bottom: 1px solid var(--border);
    background: var(--muted);
}

.texteditor-laedt .texteditor-leiste[b-zfk1a4f7h7] {
    pointer-events: none;
    opacity: 0.5;
}

.texteditor-gruppe[b-zfk1a4f7h7] {
    display: flex;
    gap: 0.15rem;
}

.texteditor-gruppe-rechts[b-zfk1a4f7h7] {
    margin-left: auto;
}

.texteditor-knopf[b-zfk1a4f7h7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.45rem;
    border: 1px solid transparent;
    background: transparent;
    color: var(--foreground);
    font: inherit;
    font-size: 0.9rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.texteditor-knopf:hover:not(:disabled)[b-zfk1a4f7h7] {
    background: color-mix(in srgb, var(--foreground) 9%, transparent);
}

.texteditor-knopf.aktiv[b-zfk1a4f7h7] {
    background: var(--accent);
    color: var(--accent-foreground);
    border-color: color-mix(in srgb, var(--primary) 35%, transparent);
}

.texteditor-knopf:disabled[b-zfk1a4f7h7] {
    opacity: 0.35;
    cursor: default;
}

.texteditor-knopf:focus-visible[b-zfk1a4f7h7] {
    outline: 2px solid var(--ring);
    outline-offset: 1px;
}

.texteditor-rahmen[b-zfk1a4f7h7] {
    min-width: 0;
}

.texteditor-laedt .texteditor-rahmen[b-zfk1a4f7h7] {
    min-height: 6.5rem;
}

[b-zfk1a4f7h7] .texteditor-flaeche {
    min-height: 6.5rem;
    padding: 0.5rem 0.75rem;
    outline: none;
    cursor: text;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--foreground);
    /* Grundregeln von ProseMirror (injectCSS aus). */
    position: relative;
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-wrap: anywhere;
    font-variant-ligatures: none;
}

[b-zfk1a4f7h7] .texteditor-flaeche p {
    margin: 0;
}

/* Abstand zwischen Absätzen und Listen (stärker als die Nullung oben). */
[b-zfk1a4f7h7] .texteditor-flaeche > :is(p, ul, ol) + :is(p, ul, ol) {
    margin-top: 0.6rem;
}

[b-zfk1a4f7h7] .texteditor-flaeche ul,
[b-zfk1a4f7h7] .texteditor-flaeche ol {
    margin: 0;
    padding-left: 1.4rem;
}

[b-zfk1a4f7h7] .texteditor-flaeche ul {
    list-style: disc;
}

[b-zfk1a4f7h7] .texteditor-flaeche ol {
    list-style: decimal;
}

[b-zfk1a4f7h7] .texteditor-flaeche li + li,
[b-zfk1a4f7h7] .texteditor-flaeche li > ul,
[b-zfk1a4f7h7] .texteditor-flaeche li > ol {
    margin-top: 0.15rem;
}

[b-zfk1a4f7h7] .texteditor-flaeche p.is-editor-empty:first-child::before {
    float: left;
    height: 0;
    color: var(--muted-foreground);
    content: attr(data-placeholder);
    pointer-events: none;
}

/* Handy: Tippflächen 44 px, Schrift 16 px (sonst zoomt iOS), Leiste unter dem schmaleren Rand. */
@media (max-width: 700px) {
    .texteditor-leiste[b-zfk1a4f7h7] {
        top: calc(-1rem + var(--tastatur-oben, 0px));
        gap: 0.25rem;
        padding: 0.15rem;
        justify-content: space-between;
    }

    .texteditor-gruppe-rechts[b-zfk1a4f7h7] {
        margin-left: 0;
    }

    .texteditor-knopf[b-zfk1a4f7h7] {
        min-width: 44px;
        height: 44px;
        font-size: 1rem;
    }

    [b-zfk1a4f7h7] .texteditor-flaeche {
        font-size: 16px;
        padding: 0.6rem 0.75rem;
    }
}
/* /Components/Shared/Tile.razor.rz.scp.css */
.tile[b-hjfej8aur7] {
    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-hjfej8aur7] {
    background: var(--secondary);
    border-color: var(--primary);
}

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

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

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

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

.tile-desc[b-hjfej8aur7] {
    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-ve4cansnmi] {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    background: rgba(35, 31, 32, 0.35);
}

.uw-panel[b-ve4cansnmi] {
    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-ve4cansnmi] {
    color: var(--dlv-rot);
    padding-top: 0.125rem;
}

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

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

.uw-knoepfe[b-ve4cansnmi] {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}
/* /Components/Shared/Verlauf.razor.rz.scp.css */
/* Verlauf aus dem Änderungsjournal: aufklappbar, ruhig, am Handy ohne Überlauf (lange Werte brechen um). */
.vl[b-ln44j2ya2n] {
    margin-top: 1rem;
    min-width: 0;
}

.vl-schalter[b-ln44j2ya2n] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 32px;
    padding: 0.25rem 0.5rem 0.25rem 0.25rem;
    border: 0;
    background: transparent;
    color: var(--muted-foreground);
    font: inherit;
    font-size: 0.875rem;
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

.vl-schalter:hover[b-ln44j2ya2n] { color: var(--foreground); }
.vl-schalter:focus-visible[b-ln44j2ya2n] { outline: 2px solid var(--ring); outline-offset: 2px; }

.vl-anzahl[b-ln44j2ya2n] {
    padding: 0 0.4rem;
    background: var(--muted);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
}

.vl-leer[b-ln44j2ya2n] {
    margin: 0.4rem 0 0;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.vl-liste[b-ln44j2ya2n] {
    margin: 0.4rem 0 0;
    padding: 0;
    list-style: none;
    border-left: 2px solid var(--border);
}

.vl-eintrag[b-ln44j2ya2n] {
    padding: 0.45rem 0 0.45rem 0.75rem;
    font-size: 0.875rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.vl-eintrag + .vl-eintrag[b-ln44j2ya2n] { border-top: 1px solid var(--border); }

.vl-kopf[b-ln44j2ya2n] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.2rem 0.5rem;
}

.vl-vorgang[b-ln44j2ya2n] { font-weight: var(--font-weight-medium); }
.vl-v-neu[b-ln44j2ya2n] { color: #166534; }
.vl-v-weg[b-ln44j2ya2n] { color: var(--dlv-rot-dunkel); }
.vl-v-fach[b-ln44j2ya2n] { color: #92400e; }

.vl-objekt[b-ln44j2ya2n] { color: var(--foreground); }

.vl-wer[b-ln44j2ya2n] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
    font-variant-numeric: tabular-nums;
}

.vl-grund[b-ln44j2ya2n] {
    margin-top: 0.15rem;
    font-size: 0.8125rem;
    font-style: italic;
}

.vl-felder[b-ln44j2ya2n] {
    display: grid;
    grid-template-columns: minmax(7rem, max-content) minmax(0, 1fr);
    gap: 0.15rem 0.75rem;
    margin: 0.3rem 0 0;
    font-size: 0.8125rem;
}

.vl-feld[b-ln44j2ya2n] { display: contents; }
.vl-feld dt[b-ln44j2ya2n] { color: var(--muted-foreground); }
.vl-feld dd[b-ln44j2ya2n] { margin: 0; min-width: 0; }

.vl-alt[b-ln44j2ya2n] { color: var(--muted-foreground); }
.vl-weg[b-ln44j2ya2n] { text-decoration: line-through; }
.vl-pfeil[b-ln44j2ya2n] { color: var(--muted-foreground); }
.vl-hinweis[b-ln44j2ya2n] { font-style: italic; }

.vl-lang summary[b-ln44j2ya2n] {
    cursor: pointer;
    color: var(--muted-foreground);
}

.vl-text[b-ln44j2ya2n] {
    margin-top: 0.25rem;
    padding: 0.4rem 0.5rem;
    max-height: 16rem;
    overflow: auto;
    background: var(--muted);
    white-space: pre-wrap;
}

@media (max-width: 700px) {
    .vl-schalter[b-ln44j2ya2n] { min-height: 44px; }
    /* Verweis „in Versammlung vom …“: eigene Zeile mit 44 px Tippfläche. */
    .vl-wer a[b-ln44j2ya2n] { display: flex; align-items: center; min-height: 44px; }
    .vl-lang summary[b-ln44j2ya2n] { min-height: 44px; display: flex; align-items: center; }
    /* Feldname über dem Wert statt daneben: lange Werte haben die volle Breite. */
    .vl-felder[b-ln44j2ya2n] { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .vl-feld dd[b-ln44j2ya2n] { margin-bottom: 0.3rem; }
}
/* /Components/Shared/VerschiebenHinweis.razor.rz.scp.css */
/* Datum oder Uhrzeit geändert: Hinweis „wird verschoben“ mit Grund, Umschalter auf Korrektur (Tippfehler). Gemeinsam für
   Versammlung bearbeiten, Termin bearbeiten und Verschieben im Schreibtool. */
.vh[b-gd86velq65] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-left: 3px solid var(--primary);
    border-radius: var(--radius);
    background: var(--muted);
}

.vh > label[b-gd86velq65] {
    align-self: stretch;
}

.vh-text[b-gd86velq65] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.875rem;
}

/* Das Symbol kommt aus SvgIcon (eigener Scope), deshalb ::deep. */
.vh-text[b-gd86velq65] >  svg {
    flex: none;
    margin-top: 0.15rem;
}

.vh-umschalten[b-gd86velq65] {
    padding: 0;
    border: 0;
    background: none;
    color: var(--primary);
    font: inherit;
    font-size: 0.8125rem;
    text-decoration: underline;
    cursor: pointer;
}

.vh-umschalten:hover[b-gd86velq65] {
    text-decoration-thickness: 2px;
}

@media (max-width: 700px) {
    .vh-umschalten[b-gd86velq65] {
        min-height: 44px;
        font-size: 0.9375rem;
    }
}
