/* /Components/AboutDialog.razor.rz.scp.css */
.about-modal[b-5kfg0lo8ws] {
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
    position: relative;
}

.about-close[b-5kfg0lo8ws] {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    z-index: 2;
    filter: invert(1) grayscale(1) brightness(1.6);
    opacity: 0.85;
}

/* Kopfbereich mit Logo auf schwarzem Grund (wie der Sidebar-Kopf) → weiße Logo-Variante. */
.about-hero[b-5kfg0lo8ws] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.75rem 2rem;
    background-color: var(--tri-ink);
}

.about-logo[b-5kfg0lo8ws] {
    height: 160px;   /* 76px → +75 % → 133px → +20 % */
    width: auto;
    display: block;
}

.about-body[b-5kfg0lo8ws] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
    padding: 1.6rem 2rem 1.9rem;
    text-align: center;
    background: #fff;
}

.about-version[b-5kfg0lo8ws] {
    display: inline-flex;
    align-items: center;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--tri-green);
    background: var(--tri-green-bg);
    border: 1px solid var(--tri-green-soft);
    border-radius: 999px;
    padding: 0.3rem 0.9rem;
}

.about-link[b-5kfg0lo8ws] {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--tri-green);
    text-decoration: none;
}

.about-link:hover[b-5kfg0lo8ws] {
    color: var(--tri-green-dark);
    text-decoration: underline;
}

.about-copy[b-5kfg0lo8ws] {
    font-size: 0.82rem;
    color: var(--tri-muted);
}
/* /Components/UserProfileDialog.razor.rz.scp.css */
.profile-modal[b-mdfez3kx92] {
    border-radius: 1rem;
    overflow: hidden;
    position: relative;
}

/* Schließen-Kreuz fest in der oberen rechten Ecke */
.profile-close[b-mdfez3kx92] {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 3;
}

.profile-head[b-mdfez3kx92] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 1.5rem 1.25rem;
    background: linear-gradient(180deg, #f6f8f7 0%, #ffffff 100%);
    border-bottom: 1px solid #eef0ef;
}

.profile-body[b-mdfez3kx92] {
    padding: 0.75rem 1.5rem 0.5rem;
}

.profile-section[b-mdfez3kx92] {
    padding: 1.25rem 0;
}

.profile-section + .profile-section[b-mdfez3kx92] {
    border-top: 1px solid #eef0ef;
}

.profile-section-title[b-mdfez3kx92] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    margin-bottom: 0.85rem;
}

.profile-foot[b-mdfez3kx92] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
    background: #f8f9fa;
    border-top: 1px solid #eef0ef;
}

.min-w-0[b-mdfez3kx92] {
    min-width: 0;
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* Seite: Sidebar (mit schwarzem Kopf) links, Inhalt rechts über die volle Höhe. */
.page[b-ur26oegsde] {
    display: flex;
    flex-direction: row;
    min-height: 100vh;
}

/* ---------- Sidebar (240px) mit schwarzem Kopfbereich ---------- */
.sidebar[b-ur26oegsde] {
    flex: 0 0 240px;
    width: 240px;
    height: 100vh;
    position: sticky;
    top: 0;
    align-self: flex-start;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border-right: 1px solid var(--tri-border);
}

/* Schwarzer Kopf – nur über der Sidebar (Hamburger + Logo) */
.sidebar-header[b-ur26oegsde] {
    flex: 0 0 80px;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0 0.75rem;   /* linker Abstand = .sidebar-nav, damit der Hamburger zu den Menü-Icons fluchtet */
    background-color: var(--tri-ink);
    color: #fff;
}

/* Scrollbarer Menübereich unter dem Kopf */
.sidebar-body[b-ur26oegsde] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.topbar-toggle[b-ur26oegsde] {
    background: none;
    border: none;
    color: #cfd2d6;
    font-size: 1.35rem;
    line-height: 1;
    padding: 0.25rem 0.75rem;   /* = .nav-link, damit das Icon-Kästchen zu den Menü-Icons fluchtet */
    border-radius: 6px;
    flex-shrink: 0;
}

/* Hamburger-Glyph wie ein Menü-Icon zentrieren (gleiche 1.25rem-Box wie .nav-icon). */
.topbar-toggle .bi[b-ur26oegsde] {
    display: inline-block;
    width: 1.25rem;
    text-align: center;
}

.topbar-toggle:hover[b-ur26oegsde] {
    background-color: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.topbar-brand[b-ur26oegsde] {
    display: flex;
    align-items: center;
    min-width: 0;
    color: #fff;
    text-decoration: none;
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
}

/* ---------- Inhaltsbereich: volle Höhe, beginnt ganz oben ---------- */
.content-area[b-ur26oegsde] {
    flex: 1;
    min-width: 0;
    min-height: 100vh;
    background-color: var(--tri-surface);
}

/* Schwebender Menü-Knopf nur auf schmalen Bildschirmen */
.mobile-menu-toggle[b-ur26oegsde] {
    display: none;
}

/* Collapsed (Desktop): schmale Leiste – nur Icons; Logo im Kopf ausblenden */
@media (min-width: 769px) {
    .sidebar-collapsed .sidebar[b-ur26oegsde] {
        flex-basis: 64px;
        width: 64px;
    }

    .sidebar-collapsed .sidebar-header[b-ur26oegsde] {
        justify-content: center;
        padding: 0;
    }

    .sidebar-collapsed .sidebar-header .topbar-brand[b-ur26oegsde] {
        display: none;
    }

    /* Beschriftungen/Abschnittstitel ausblenden; Icon-Wrapper (mit Zähler) bleibt sichtbar */
    .sidebar-collapsed .sidebar[b-ur26oegsde]  .nav-link span:not(.nav-badge):not(.nav-icon-wrap),
    .sidebar-collapsed .sidebar[b-ur26oegsde]  .nav-section,
    .sidebar-collapsed .sidebar[b-ur26oegsde]  .user-card-text,
    .sidebar-collapsed .sidebar[b-ur26oegsde]  .user-card-caret {
        display: none;
    }

    .sidebar-collapsed .sidebar[b-ur26oegsde]  .user-card {
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
        gap: 0;
    }

    .sidebar-collapsed .sidebar[b-ur26oegsde]  .sidebar-nav {
        padding-left: 0.4rem;
        padding-right: 0.4rem;
    }

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

/* Mobil: Sidebar als Overlay, schwebender Menü-Knopf zum Ein-/Ausblenden */
@media (max-width: 768px) {
    .sidebar[b-ur26oegsde] {
        position: fixed;
        z-index: 1020;
        margin-left: -240px;
        transition: margin-left 0.2s ease-in-out;
    }

    .page:not(.sidebar-collapsed) .sidebar[b-ur26oegsde] {
        margin-left: 0;
        box-shadow: 0 0 25px rgba(0, 0, 0, 0.25);
    }

    .mobile-menu-toggle[b-ur26oegsde] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        top: 0.6rem;
        left: 0.6rem;
        z-index: 1019;
        width: 42px;
        height: 42px;
        border: none;
        border-radius: 8px;
        background-color: var(--tri-ink);
        color: #fff;
        font-size: 1.3rem;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.sidebar-inner[b-m1wdn3vahv] {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.sidebar-nav[b-m1wdn3vahv] {
    flex: 1;
    padding: 0.5rem 0.75rem;
}

.nav-section[b-m1wdn3vahv] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--tri-faint);
    padding: 0.55rem 0.75rem 0.2rem;
}

/* Shared link look (NavLink, button, a) – gilt für Navigation UND Fußbereich */
.sidebar-inner[b-m1wdn3vahv]  .nav-link,
.sidebar-inner .nav-link[b-m1wdn3vahv] {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 0.65rem;
    padding: 0.38rem 0.75rem;
    margin-bottom: 0.05rem;
    border: none;
    background: none;
    text-align: left;
    color: var(--tri-muted-2);
    font-size: 0.92rem;
    font-weight: 400;
    border-radius: 8px;
    text-decoration: none;
    transition: background-color 0.12s ease-in-out, color 0.12s ease-in-out;
}

.sidebar-inner[b-m1wdn3vahv]  .nav-link:hover,
.sidebar-inner .nav-link:hover[b-m1wdn3vahv] {
    background-color: var(--tri-green-bg);
    color: var(--tri-green);
}

.sidebar-inner[b-m1wdn3vahv]  .nav-link.active {
    background-color: var(--tri-green-bg-active);
    color: var(--tri-green);
    font-weight: 600;
}

.nav-icon[b-m1wdn3vahv] {
    font-size: 1.05rem;
    width: 1.25rem;
    text-align: center;
}

/* Roter Zähler direkt am Glocken-Icon (oben rechts) */
.nav-icon-wrap[b-m1wdn3vahv] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.nav-badge[b-m1wdn3vahv] {
    position: absolute;
    top: -7px;
    right: -9px;
    background-color: #dc3545;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 600;
    line-height: 1.05rem;
    height: 1.05rem;
    min-width: 1.05rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    text-align: center;
}

.nav-chevron[b-m1wdn3vahv] {
    margin-left: auto;
    font-size: 0.8rem;
    transition: transform 0.18s ease-in-out;
}

.nav-group-toggle.collapsed .nav-chevron[b-m1wdn3vahv] {
    transform: rotate(-90deg);
}

.nav-group[b-m1wdn3vahv] {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.2s ease-in-out;
}

    .nav-group.show[b-m1wdn3vahv] {
        max-height: 500px;
    }

.sidebar-nav[b-m1wdn3vahv]  .nav-sub {
    padding-left: 2.6rem;
    font-size: 0.88rem;
}

/* Fußbereich: Einstellungen/Abmelden + Benutzerkarte */
.sidebar-foot[b-m1wdn3vahv] {
    margin-top: auto;
    padding: 0.5rem 0.75rem 0.75rem;
    border-top: 1px solid var(--tri-border);
}

.user-card[b-m1wdn3vahv] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    margin-top: 0.35rem;
    padding: 0.5rem 0.75rem;
    border: none;
    background: none;
    border-radius: 8px;
    text-align: left;
    cursor: pointer;
}

.user-card-role[b-m1wdn3vahv] {
    font-size: 0.6rem;
    font-weight: 600;
    padding: 0.1rem 0.35rem;
    flex-shrink: 0;
}

.user-card-caret[b-m1wdn3vahv] {
    margin-left: auto;
    color: var(--tri-faint);
    font-size: 0.95rem;
    flex-shrink: 0;
}

/* Benutzer-Menü (Popup über der Benutzerkarte) */
.user-menu-wrap[b-m1wdn3vahv] {
    position: relative;
}

.user-menu-backdrop[b-m1wdn3vahv] {
    position: fixed;
    inset: 0;
    z-index: 1040;
}

.user-menu[b-m1wdn3vahv] {
    position: absolute;
    bottom: calc(100% + 0.4rem);
    left: 0;
    right: 0;
    z-index: 1050;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.6rem;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14);
    padding: 0.35rem;
}

.user-menu-item[b-m1wdn3vahv] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    padding: 0.5rem 0.65rem;
    border: none;
    background: none;
    text-align: left;
    border-radius: 0.45rem;
    font-size: 0.9rem;
    color: #2b2f36;
}

.user-menu-item:hover[b-m1wdn3vahv] {
    background-color: #f1f3f5;
}

.user-menu-item.text-danger:hover[b-m1wdn3vahv] {
    background-color: #fdecee;
}

.user-menu-item .bi[b-m1wdn3vahv] {
    width: 1.15rem;
    text-align: center;
    color: #6b7280;
}

.user-menu-item.text-danger .bi[b-m1wdn3vahv] {
    color: inherit;
}

.user-menu-divider[b-m1wdn3vahv] {
    height: 1px;
    background: #eceef0;
    margin: 0.3rem 0.25rem;
}

.user-card:hover[b-m1wdn3vahv] {
    background-color: #f1f3f5;
}

.user-card-text[b-m1wdn3vahv] {
    min-width: 0;
    line-height: 1.15;
}

.user-card-name[b-m1wdn3vahv] {
    display: flex;
    align-items: flex-start;
    gap: 0.3rem;
}

.user-card-name-text[b-m1wdn3vahv] {
    /* Identisch zu den Menüpunkten (.nav-link): Größe, Gewicht und Farbe. */
    font-weight: 400;
    font-size: 0.92rem;
    color: var(--tri-muted-2);
    line-height: 1.2;
    /* Bis zu zwei Zeilen (z. B. Vor- und Nachname) statt Abschneiden */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.user-card-mail[b-m1wdn3vahv] {
    display: block;
    font-size: 0.72rem;
    color: #8a9099;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Footer (alt) */
.sidebar-footer[b-m1wdn3vahv] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--tri-border);
    background-color: #fbfbfc;
}

    .sidebar-footer .bi-person-circle[b-m1wdn3vahv] {
        font-size: 1.75rem;
        color: var(--tri-faint);
    }

.sidebar-footer-text small[b-m1wdn3vahv] {
    display: block;
    line-height: 1;
    font-size: 0.7rem;
}

.sidebar-footer-text .fw-semibold[b-m1wdn3vahv] {
    font-size: 0.9rem;
}
