@import '_content/PM.Portal.Shared/PM.Portal.Shared.ezlpq6ldd0.bundle.scp.css';
@import '_content/PM.Projekte.Web/PM.Projekte.Web.xqudxzkpl8.bundle.scp.css';
@import '_content/PM.Stammdaten.Web/PM.Stammdaten.Web.6tnvh4hcc7.bundle.scp.css';
@import '_content/PM.Zutrittskontrolle.Web/PM.Zutrittskontrolle.Web.y2x9l90jcs.bundle.scp.css';

/* _content/PM.Portal.Web/Components/Layout/AdminLayout.razor.rz.scp.css */
/* ── Admin Layout ── */
.admin-layout[b-pqhlgjw4r2] {
    display: grid;
    grid-template-columns: 220px 1fr;
    height: calc(100vh - 48px);
    min-height: 500px;
}

.admin-sidebar[b-pqhlgjw4r2] {
    background: #222d62;
    display: flex;
    flex-direction: column;
    padding: 12px 0;
    overflow-y: auto;
}

.admin-nav-item[b-pqhlgjw4r2] {
    display: block;
    padding: 10px 20px;
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 500;
    transition: background 0.15s, color 0.15s;
    border-left: 3px solid transparent;
}

.admin-nav-item:hover[b-pqhlgjw4r2] {
    background: rgba(255,255,255,0.1);
    color: #fff;
    text-decoration: none;
}

.admin-nav-item.active[b-pqhlgjw4r2] {
    background: rgba(0,152,255,0.2);
    color: #fff;
    border-left-color: #0098ff;
    font-weight: 700;
}

.admin-nav-back[b-pqhlgjw4r2] {
    margin-top: auto;
    border-top: 1px solid rgba(255,255,255,0.15);
    font-size: 0.82rem;
}

.admin-content[b-pqhlgjw4r2] {
    overflow-y: auto;
    padding: 24px 32px;
    background: #f5f6f8;
}

@media (max-width: 768px) {
    .admin-layout[b-pqhlgjw4r2] {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
    }
    .admin-sidebar[b-pqhlgjw4r2] {
        flex-direction: row;
        padding: 0;
        overflow-x: auto;
    }
    .admin-nav-item[b-pqhlgjw4r2] {
        padding: 8px 14px;
        white-space: nowrap;
        border-left: none;
        border-bottom: 3px solid transparent;
    }
    .admin-nav-item.active[b-pqhlgjw4r2] {
        border-left-color: transparent;
        border-bottom-color: #0098ff;
    }
    .admin-nav-back[b-pqhlgjw4r2] {
        margin-top: 0;
        border-top: none;
        border-left: 1px solid rgba(255,255,255,0.15);
    }
}
/* _content/PM.Portal.Web/Components/Layout/BereichBar.razor.rz.scp.css */
/* ── Bereich Bar (top-level area selector) ── */
.bereich-bar[b-dpyz781n1n] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 1.75rem;
    background: #1a1a2e;
    flex-shrink: 0;
    min-height: 36px;
}

.bereich-tabs[b-dpyz781n1n] {
    display: flex;
    gap: 4px;
}

.bereich-tab[b-dpyz781n1n] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 14px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: rgba(255,255,255,0.6);
    font-family: 'Montserrat', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}

.bereich-tab:hover[b-dpyz781n1n] {
    color: rgba(255,255,255,0.9);
    background: rgba(255,255,255,0.1);
}

.bereich-tab--active[b-dpyz781n1n] {
    color: #fff;
    background: var(--bereich-color, #0098ff);
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.bereich-tab-icon[b-dpyz781n1n] {
    font-size: 0.85rem;
    line-height: 1;
}

.bereich-tab-label[b-dpyz781n1n] {
    line-height: 1;
}

/* ── Separator ── */
.bereich-sep[b-dpyz781n1n] {
    width: 1px;
    height: 20px;
    background: rgba(255,255,255,0.2);
    margin: 0 8px;
}

/* ── Querschnitt pills ── */
.bereich-qs[b-dpyz781n1n] {
    display: flex;
    gap: 4px;
    margin-left: auto;
}

.bereich-qs-item[b-dpyz781n1n] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 5px;
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.55);
    font-family: 'Montserrat', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.12s;
    white-space: nowrap;
}

.bereich-qs-item:hover[b-dpyz781n1n] {
    background: rgba(255,255,255,0.16);
    color: rgba(255,255,255,0.9);
    text-decoration: none;
}

.bereich-qs-icon[b-dpyz781n1n] {
    font-size: 0.78rem;
    line-height: 1;
}

@media (max-width: 768px) {
    .bereich-bar[b-dpyz781n1n] { flex-wrap: wrap; padding: 4px 0.75rem; }
    .bereich-tab-label[b-dpyz781n1n] { display: none; }
    .bereich-tab-icon[b-dpyz781n1n] { font-size: 1rem; }
    .bereich-qs[b-dpyz781n1n] { margin-left: 0; }
}
/* _content/PM.Portal.Web/Components/Layout/MainLayout.razor.rz.scp.css */
/* ── Shell wrapper (carries bereich CSS variables) ── */
.pm-shell[b-mxcsui7vik] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* ── Bereich color themes (on .pm-shell itself, NOT a descendant → no :deep()) ── */
.bereich-pm[b-mxcsui7vik]  { --bereich-color: #0098ff; --bereich-bg: #eef6ff; }
.bereich-zuk[b-mxcsui7vik] { --bereich-color: #28a745; --bereich-bg: #eefaf0; }
.bereich-prj[b-mxcsui7vik] { --bereich-color: #7c3aed; --bereich-bg: #f3eefe; }
.bereich-log[b-mxcsui7vik] { --bereich-color: #f59e0b; --bereich-bg: #fffbeb; }

/* ── Topbar ──────────────────────────────────────────────────── */
.pm-topbar[b-mxcsui7vik] {
    background: var(--bereich-color, #0098ff);
    color: white;
    padding: 0 1.75rem;
    height: 56px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    position: sticky;
    top: 0;
    z-index: 200;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    transition: background 0.25s;
}

/* ── Module Switcher ───────────────────────────────────────── */
.pm-module-switcher[b-mxcsui7vik] { position: relative; flex-shrink: 0; }
.pm-module-switcher > summary[b-mxcsui7vik] { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 7px; color: white; text-decoration: none; font-family: 'Montserrat', sans-serif; font-size: 1.0rem; font-weight: 700; letter-spacing: 0.2px; padding: 6px 12px 6px 0; border-radius: 6px; transition: background 0.12s; user-select: none; }
    .pm-module-switcher > summary[b-mxcsui7vik]::-webkit-details-marker, .pm-module-switcher > summary[b-mxcsui7vik]::marker { display: none; }
    .pm-module-switcher > summary:hover[b-mxcsui7vik], .pm-module-switcher[open] > summary[b-mxcsui7vik] { background: rgba(255, 255, 255, 0.15); padding-left: 10px; padding-right: 10px; border-radius: 8px; }
.pm-brand-logo[b-mxcsui7vik] { height: 30px; width: auto; }
.pm-brand-name[b-mxcsui7vik] { font-size: 1.0rem; font-weight: 800; letter-spacing: 0.5px; }
.pm-mod-sep[b-mxcsui7vik] { opacity: 0.5; font-weight: 400; }
.pm-mod-current[b-mxcsui7vik] { font-size: 0.88rem; font-weight: 600; opacity: 0.92; }
.pm-mod-chevron[b-mxcsui7vik] { font-size: 0.75rem; opacity: 0.7; transition: transform 0.15s; }
.pm-module-switcher[open] .pm-mod-chevron[b-mxcsui7vik] { transform: rotate(180deg); }
.pm-mod-dropdown[b-mxcsui7vik] { position: absolute; top: calc(100% + 8px); left: 0; background: #fff; border-radius: 10px; box-shadow: 0 6px 24px rgba(0,0,0,0.18); min-width: 220px; overflow: hidden; border: 1px solid #e0e0e0; z-index: 500; }
.pm-mod-header[b-mxcsui7vik] { padding: 8px 14px 6px; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #999; border-bottom: 1px solid #f0f0f0; }
.pm-mod-bereich-header[b-mxcsui7vik] { display: flex; align-items: center; gap: 8px; padding: 10px 14px 6px; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #666; border-top: 1px solid #f0f0f0; text-decoration: none; cursor: pointer; transition: background 0.1s; }
    .pm-mod-bereich-header:hover[b-mxcsui7vik] { background: #f4f8ff; color: #444; text-decoration: none; }
.pm-mod-bereich-dot[b-mxcsui7vik] { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.pm-mod-item[b-mxcsui7vik] { display: flex; align-items: center; gap: 9px; padding: 10px 16px; color: #333; text-decoration: none; font-family: 'Montserrat', sans-serif; font-size: 0.88rem; font-weight: 600; transition: background 0.1s; }
    .pm-mod-item:hover[b-mxcsui7vik] { background: #f4f8ff; color: #0098ff; text-decoration: none; }
    .pm-mod-item.pm-mod-active[b-mxcsui7vik] { background: #eef6ff; color: #0098ff; }
        .pm-mod-item.pm-mod-active[b-mxcsui7vik]::after { content: "\2713"; margin-left: auto; font-size: 0.8rem; color: #0098ff; }
    .pm-mod-item.pm-mod-admin[b-mxcsui7vik] { color: #c8a800; }
        .pm-mod-item.pm-mod-admin:hover[b-mxcsui7vik] { background: #fffbe6; color: #a08800; }
.pm-mod-icon[b-mxcsui7vik] { font-size: 1.15rem; font-family: 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif; line-height: 1; }

/* ── User Display & Logout ─────────────────────────────────── */
.pm-user-name[b-mxcsui7vik] {
    color: white;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.88rem;
    margin-right: 0.75rem;
}

.pm-logout-btn[b-mxcsui7vik] {
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.5);
    color: white;
    border-radius: 20px;
    padding: 5px 14px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

    .pm-logout-btn:hover[b-mxcsui7vik] {
        background: rgba(255, 255, 255, 0.18);
        border-color: white;
    }

/* ── Favorites Bar ────────────────────────────────────────── */
.pm-fav-bar[b-mxcsui7vik] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 1.75rem;
    background: #fffbe6;
    border-bottom: 1px solid #f0c040;
    min-height: 30px;
    overflow-x: auto;
    flex-shrink: 0;
}

.pm-fav-star[b-mxcsui7vik] {
    color: #d4a800;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.pm-fav-link[b-mxcsui7vik] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 6px;
    background: rgba(240, 192, 64, 0.15);
    border: 1px solid rgba(240, 192, 64, 0.3);
    color: #7a6200;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.76rem;
    font-weight: 600;
    white-space: nowrap;
    transition: all 0.12s;
}

    .pm-fav-link:hover[b-mxcsui7vik] {
        background: rgba(240, 192, 64, 0.3);
        border-color: #d4a800;
        color: #5a4800;
        text-decoration: none;
    }

.pm-fav-icon[b-mxcsui7vik] {
    font-size: 0.85rem;
    line-height: 1;
}

/* ── Main ──────────────────────────────────────────────────── */
.pm-main[b-mxcsui7vik] {
    flex: 1;
    min-height: calc(100vh - 56px - 34px);
    padding: 1.75rem 2rem;
    background: #f2f2f2;
}

#blazor-error-ui[b-mxcsui7vik] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-mxcsui7vik] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/PM.Portal.Web/Components/Layout/ModulBar.razor.rz.scp.css */
/* ── Module Bar (2nd level product selector) ── */
.modul-bar[b-3a6g8r8bu0] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 5px 1.75rem;
    background: var(--bereich-bg, #eef6ff);
    border-bottom: 2px solid var(--bereich-color, #0098ff);
    flex-shrink: 0;
    min-height: 34px;
    overflow-x: auto;
}

.modul-tab[b-3a6g8r8bu0] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 14px;
    border-radius: 6px;
    background: transparent;
    color: #555;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.12s;
    white-space: nowrap;
    border: 1px solid transparent;
}

.modul-tab:hover[b-3a6g8r8bu0] {
    background: rgba(0,0,0,0.04);
    color: var(--bereich-color, #0098ff);
    text-decoration: none;
}

.modul-tab--active[b-3a6g8r8bu0] {
    background: var(--bereich-color, #0098ff);
    color: #fff;
    border-color: var(--bereich-color, #0098ff);
}

.modul-tab--active:hover[b-3a6g8r8bu0] {
    color: #fff;
    background: var(--bereich-color, #0098ff);
    filter: brightness(0.92);
}

.modul-tab-icon[b-3a6g8r8bu0] {
    font-size: 0.9rem;
    line-height: 1;
}

.modul-tab-label[b-3a6g8r8bu0] {
    line-height: 1;
}

@media (max-width: 768px) {
    .modul-bar[b-3a6g8r8bu0] { padding: 4px 0.75rem; }
}
/* _content/PM.Portal.Web/Components/Layout/PortalLayout.razor.rz.scp.css */
.pm-login-main[b-alqsg58kir] {
    min-height: 100vh;
}
/* _content/PM.Portal.Web/Components/Pages/Admin/Benutzer.razor.rz.scp.css */
/* ── Zweispalten-Layout (identisch mit PM.System.Web) ── */
.bv-layout[b-vgaxzt4peq] { display: grid; grid-template-columns: 300px 1fr; height: calc(100vh - 48px - 48px); min-height: 500px; background: #fff; border: 1px solid #e0e0e0; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.07); }
.bv-list-panel[b-vgaxzt4peq] { display: flex; flex-direction: column; border-right: 1px solid #e0e0e0; background: #f8f8f8; min-height: 0; overflow: hidden; }
.bv-list-toolbar[b-vgaxzt4peq] { padding: 12px 12px 8px; border-bottom: 1px solid #e0e0e0; background: #fff; }
.bv-panel-title[b-vgaxzt4peq] { font-family: 'Montserrat', sans-serif; font-size: 0.95rem; font-weight: 700; color: #222d62; margin: 0 0 8px; }
.bv-list-scroll[b-vgaxzt4peq] { flex: 1; overflow-y: auto; min-height: 0; padding: 4px 0; }
.bv-list-empty[b-vgaxzt4peq] { padding: 16px 12px; font-size: 0.82rem; color: #999; }
.bv-list-item[b-vgaxzt4peq] { display: flex; flex-direction: column; padding: 7px 12px; cursor: pointer; border-bottom: 1px solid #efefef; transition: background 0.1s; }
.bv-list-item:hover[b-vgaxzt4peq] { background: #eef4ff; }
.bv-list-active[b-vgaxzt4peq] { background: #dceeff !important; border-left: 3px solid #0098ff; }
.bv-item-user[b-vgaxzt4peq] { font-size: 0.82rem; font-weight: 700; color: #222d62; }
.bv-item-name[b-vgaxzt4peq] { font-size: 0.75rem; color: #666; }
.bv-item-meta[b-vgaxzt4peq] { font-size: 0.68rem; color: #999; margin-top: 2px; }
.bv-list-footer[b-vgaxzt4peq] { padding: 10px 12px; border-top: 1px solid #e0e0e0; background: #fff; display: flex; align-items: center; gap: 10px; }
.bv-list-count[b-vgaxzt4peq] { font-size: 0.75rem; color: #888; margin-left: auto; }
.bv-form-panel[b-vgaxzt4peq] { display: flex; flex-direction: column; overflow: hidden; min-height: 0; }
.bv-placeholder[b-vgaxzt4peq] { display: flex; align-items: center; justify-content: center; height: 100%; color: #aaa; font-size: 0.9rem; padding: 2rem; text-align: center; }
.bv-form-scroll[b-vgaxzt4peq] { flex: 1; overflow-y: auto; min-height: 0; padding: 16px 20px; }
.bv-section[b-vgaxzt4peq] { margin-bottom: 18px; border: 1px solid #e8e8e8; border-radius: 8px; overflow: hidden; }
.bv-section-info[b-vgaxzt4peq] { background: #fafafa; }
.bv-section-head[b-vgaxzt4peq] { background: #f0f0f0; padding: 7px 14px; font-family: 'Montserrat', sans-serif; font-size: 0.78rem; font-weight: 700; color: #444; letter-spacing: 0.4px; text-transform: uppercase; display: flex; align-items: center; gap: 8px; }
.bv-section-hint[b-vgaxzt4peq] { font-weight: 400; text-transform: none; font-size: 0.72rem; color: #888; letter-spacing: 0; }
.bv-grid-2[b-vgaxzt4peq] { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px 14px; }
.bv-grid-3[b-vgaxzt4peq] { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 12px 14px; }
.bv-field[b-vgaxzt4peq] { display: flex; flex-direction: column; gap: 3px; }
.bv-label[b-vgaxzt4peq] { font-size: 0.72rem; font-weight: 600; color: #666; white-space: nowrap; }
.bv-actions[b-vgaxzt4peq] { padding: 10px 20px; border-top: 1px solid #e0e0e0; background: #fafafa; display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.bv-portal-grid[b-vgaxzt4peq] { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px 16px; }
@media (max-width: 768px) { .bv-layout[b-vgaxzt4peq] { grid-template-columns: 1fr; grid-template-rows: 280px 1fr; height: auto; } .bv-list-panel[b-vgaxzt4peq] { border-right: none; border-bottom: 1px solid #e0e0e0; } .bv-grid-2[b-vgaxzt4peq], .bv-grid-3[b-vgaxzt4peq] { grid-template-columns: 1fr; } .bv-portal-grid[b-vgaxzt4peq] { grid-template-columns: 1fr 1fr; } }
/* _content/PM.Portal.Web/Components/Pages/Admin/Index.razor.rz.scp.css */
.admin-dashboard[b-j3ahqul8rq] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
}

.admin-kpi-card[b-j3ahqul8rq] {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: 1px solid #e8e8e8;
}

.admin-kpi-value[b-j3ahqul8rq] {
    font-family: 'Montserrat', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #222d62;
    line-height: 1.2;
}

.admin-kpi-label[b-j3ahqul8rq] {
    font-size: 0.82rem;
    color: #666;
    margin-top: 4px;
}

.admin-kpi-sub[b-j3ahqul8rq] {
    font-size: 0.72rem;
    color: #999;
    margin-top: 2px;
}
/* _content/PM.Portal.Web/Components/Pages/Admin/Organigramm.razor.rz.scp.css */
/* ── Organigramm two-column layout ── */
.org-layout[b-fp40boqbco] { display: grid; grid-template-columns: 380px 1fr; height: calc(100vh - 48px - 48px); min-height: 500px; background: #fff; border: 1px solid #e0e0e0; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.07); }

/* ── Tree panel (left) ── */
.org-tree-panel[b-fp40boqbco] { display: flex; flex-direction: column; border-right: 1px solid #e0e0e0; background: #f8f8f8; min-height: 0; overflow: hidden; }
.org-tree-toolbar[b-fp40boqbco] { padding: 12px 12px 8px; border-bottom: 1px solid #e0e0e0; background: #fff; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.org-panel-title[b-fp40boqbco] { font-family: 'Montserrat', sans-serif; font-size: 0.95rem; font-weight: 700; color: #222d62; margin: 0; }
.org-tree-actions[b-fp40boqbco] { display: flex; gap: 6px; margin-left: auto; }
.org-tree-scroll[b-fp40boqbco] { flex: 1; overflow-y: auto; min-height: 0; padding: 4px 0; }
.org-tree-empty[b-fp40boqbco] { padding: 16px 12px; font-size: 0.82rem; color: #999; }
.org-tree-footer[b-fp40boqbco] { padding: 8px 12px; border-top: 1px solid #e0e0e0; background: #fff; }
.org-tree-count[b-fp40boqbco] { font-size: 0.75rem; color: #888; }

/* ── Tree nodes ── */
.org-node[b-fp40boqbco] { display: flex; align-items: center; gap: 6px; padding: 6px 8px; cursor: pointer; border-bottom: 1px solid #f0f0f0; transition: background 0.1s; font-size: 0.84rem; }
.org-node:hover[b-fp40boqbco] { background: #eef4ff; }
.org-node-selected[b-fp40boqbco] { background: #dceeff !important; border-left: 3px solid #0098ff; }

.org-expand[b-fp40boqbco] { width: 14px; text-align: center; color: #888; font-size: 0.9rem; flex-shrink: 0; }
.org-label[b-fp40boqbco] { font-weight: 600; color: #222d62; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.org-badge[b-fp40boqbco] { font-size: 0.62rem; padding: 1px 6px; border-radius: 8px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; flex-shrink: 0; }
.org-badge-gf[b-fp40boqbco] { background: #ffeeba; color: #856404; }
.org-badge-bereich[b-fp40boqbco] { background: #d4edda; color: #155724; }
.org-badge-abt[b-fp40boqbco] { background: #d1ecf1; color: #0c5460; }
.org-person[b-fp40boqbco] { font-size: 0.72rem; color: #888; margin-left: auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 140px; flex-shrink: 0; }

/* ── Form panel (right) ── */
.org-form-panel[b-fp40boqbco] { display: flex; flex-direction: column; overflow: hidden; min-height: 0; }
.org-placeholder[b-fp40boqbco] { display: flex; align-items: center; justify-content: center; height: 100%; color: #aaa; font-size: 0.9rem; padding: 2rem; text-align: center; }
.org-form-scroll[b-fp40boqbco] { flex: 1; overflow-y: auto; min-height: 0; padding: 16px 20px; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .org-layout[b-fp40boqbco] { grid-template-columns: 1fr; grid-template-rows: 300px 1fr; height: auto; }
    .org-tree-panel[b-fp40boqbco] { border-right: none; border-bottom: 1px solid #e0e0e0; }
}
/* _content/PM.Portal.Web/Components/Pages/Admin/OrganigrammBaum.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════
   Organigramm – Grafische Baumansicht
   Top-down tree chart with CSS connecting lines
   ══════════════════════════════════════════════════════════ */

/* ── Toolbar ── */
.ob-toolbar[b-0ha07i1gm1] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px 12px;
    border-bottom: 1px solid #e0e0e0;
    background: #fff;
}
.ob-title[b-0ha07i1gm1] {
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #222d62;
    margin: 0;
}
.ob-loading[b-0ha07i1gm1], .ob-empty[b-0ha07i1gm1] {
    padding: 2rem;
    color: #999;
    font-size: 0.9rem;
    text-align: center;
}

/* ── Scroll container ── */
.ob-scroll[b-0ha07i1gm1] {
    overflow: auto;
    padding: 32px 20px 40px;
    min-height: calc(100vh - 170px);
    background:
        radial-gradient(circle at 50% 0%, rgba(34,45,98,0.03) 0%, transparent 60%);
}

/* ══════════════════════════════════════════════════════════
   TREE STRUCTURE – nested <ul>/<li>
   ══════════════════════════════════════════════════════════ */

.ob-tree[b-0ha07i1gm1] {
    display: flex;
    justify-content: center;
}

.ob-tree ul[b-0ha07i1gm1] {
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
}

.ob-tree li[b-0ha07i1gm1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding: 28px 8px 0;
}

/* ── Vertical line from horizontal rail UP to card ── */
.ob-tree li[b-0ha07i1gm1]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 28px;
    background: #b0bec5;
}

/* ── Horizontal rail connecting siblings ── */
.ob-tree li[b-0ha07i1gm1]::after {
    content: '';
    position: absolute;
    top: 0;
    width: 100%;
    height: 2px;
    background: #b0bec5;
    left: 0;
}

/* First child: rail starts at center → right */
.ob-tree li:first-child[b-0ha07i1gm1]::after {
    left: 50%;
    width: 50%;
}

/* Last child: rail ends at center ← left */
.ob-tree li:last-child[b-0ha07i1gm1]::after {
    left: 0;
    width: 50%;
}

/* Only child: no horizontal rail */
.ob-tree li:only-child[b-0ha07i1gm1]::after {
    display: none;
}

/* Root level: no connectors above */
.ob-tree > ul > li[b-0ha07i1gm1]::before,
.ob-tree > ul > li[b-0ha07i1gm1]::after {
    display: none;
}

/* ── Vertical line from card DOWN to children ── */
.ob-tree li > ul[b-0ha07i1gm1]::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 50%;
    width: 2px;
    height: 28px;
    background: #b0bec5;
}

.ob-tree li > ul[b-0ha07i1gm1] {
    padding-top: 28px;
    position: relative;
}

/* ══════════════════════════════════════════════════════════
   NODE CARDS
   ══════════════════════════════════════════════════════════ */

.ob-card[b-0ha07i1gm1] {
    position: relative;
    z-index: 1;
    min-width: 180px;
    max-width: 260px;
    background: #fff;
    border: 2px solid #d0d8e0;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    transition: transform 0.15s, box-shadow 0.15s;
}

.ob-card:hover[b-0ha07i1gm1] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

/* ── Typ header bar ── */
.ob-card-typ[b-0ha07i1gm1] {
    padding: 4px 12px;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    text-align: center;
    color: #fff;
}

/* ── Color themes ── */
.ob-typ-gf[b-0ha07i1gm1] {
    border-color: #c9a227;
}
.ob-typ-gf .ob-card-typ[b-0ha07i1gm1] {
    background: linear-gradient(135deg, #d4a017, #c9a227);
}

.ob-typ-bereich[b-0ha07i1gm1] {
    border-color: #43a047;
}
.ob-typ-bereich .ob-card-typ[b-0ha07i1gm1] {
    background: linear-gradient(135deg, #43a047, #388e3c);
}

.ob-typ-abt[b-0ha07i1gm1] {
    border-color: #1976d2;
}
.ob-typ-abt .ob-card-typ[b-0ha07i1gm1] {
    background: linear-gradient(135deg, #1e88e5, #1565c0);
}

/* ── Card content ── */
.ob-card-name[b-0ha07i1gm1] {
    padding: 10px 12px 4px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    color: #222d62;
    text-align: center;
    line-height: 1.25;
}

.ob-card-abt[b-0ha07i1gm1] {
    padding: 0 12px 4px;
    font-size: 0.7rem;
    color: #888;
    text-align: center;
}

.ob-card-person[b-0ha07i1gm1],
.ob-card-stellv[b-0ha07i1gm1] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 3px 12px;
    font-size: 0.74rem;
    color: #444;
}

.ob-card-person[b-0ha07i1gm1] {
    border-top: 1px solid #f0f0f0;
    padding-top: 7px;
}

.ob-card-stellv[b-0ha07i1gm1] {
    color: #888;
    font-style: italic;
    padding-bottom: 10px;
}

.ob-card-person:last-child[b-0ha07i1gm1] {
    padding-bottom: 10px;
}

.ob-card-icon[b-0ha07i1gm1] {
    font-size: 0.55rem;
    flex-shrink: 0;
    line-height: 1;
}

.ob-typ-gf .ob-card-icon[b-0ha07i1gm1]  { color: #c9a227; }
.ob-typ-bereich .ob-card-icon[b-0ha07i1gm1] { color: #43a047; }
.ob-typ-abt .ob-card-icon[b-0ha07i1gm1] { color: #1976d2; }

/* ══════════════════════════════════════════════════════════
   PRINT STYLES
   ══════════════════════════════════════════════════════════ */

@media print {
    .ob-toolbar[b-0ha07i1gm1] { display: none !important; }

    .ob-scroll[b-0ha07i1gm1] {
        overflow: visible !important;
        padding: 0 !important;
        min-height: auto !important;
    }

    .ob-tree[b-0ha07i1gm1] {
        zoom: 0.7; /* Fit wider trees on A4 landscape */
    }

    .ob-card[b-0ha07i1gm1] {
        box-shadow: none !important;
        border-width: 1px;
        break-inside: avoid;
    }

    .ob-card:hover[b-0ha07i1gm1] {
        transform: none;
    }
}
/* _content/PM.Portal.Web/Components/Pages/Admin/Produkte.razor.rz.scp.css */
/* ── Produktportal Admin ── */
.pp-tabs[b-id8zvpevn0] {
    display: flex;
    gap: 4px;
    margin-bottom: 1.25rem;
    border-bottom: 2px solid #e0e0e0;
    padding-bottom: 8px;
}

.pp-tab[b-id8zvpevn0] {
    padding: 6px 18px;
    border: 1px solid #d0d0d0;
    border-radius: 6px 6px 0 0;
    background: #f8f8f8;
    font-size: 0.82rem;
    font-weight: 600;
    color: #555;
    cursor: pointer;
    transition: all 0.12s;
    border-bottom: none;
}

.pp-tab:hover[b-id8zvpevn0] { background: #eef4ff; }

.pp-tab--active[b-id8zvpevn0] {
    background: #0098ff;
    border-color: #0098ff;
    color: #fff;
}

.pp-section[b-id8zvpevn0] {
    margin-bottom: 1.5rem;
}

.pp-edit-form[b-id8zvpevn0] {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 1rem;
    margin-top: 0.75rem;
}

.pp-color-dot[b-id8zvpevn0] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 4px;
}

/* ── Katalog-Grid: scrollable with sticky header ── */
.pp-katalog-scroll[b-id8zvpevn0] {
    max-height: 70vh;
    overflow-y: auto;
    overflow-x: auto;
    border: 1px solid #dee2e6;
    border-radius: 6px;
}

.pp-katalog-thead th[b-id8zvpevn0] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #212529;
}

/* ── Sub-tabs within Seiten-Zuordnung II ── */
.pp-sub-tabs[b-id8zvpevn0] {
    display: flex;
    gap: 6px;
    margin-bottom: 1rem;
}

.pp-sub-tab[b-id8zvpevn0] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    border-radius: 6px;
    border: 1px solid #d0d0d0;
    background: #fff;
    font-size: 0.82rem;
    font-weight: 600;
    color: #555;
    cursor: pointer;
    transition: all 0.12s;
}

.pp-sub-tab:hover[b-id8zvpevn0] { background: #eef4ff; }

.pp-sub-tab--active[b-id8zvpevn0] {
    background: #0098ff;
    border-color: #0098ff;
    color: #fff;
}

/* ── Einstellungen grid ── */
.pp-einst-grid[b-id8zvpevn0] {
    max-height: 70vh;
    overflow-y: auto;
    overflow-x: auto;
    border: 1px solid #dee2e6;
    border-radius: 6px;
}

.pp-einst-grid thead th[b-id8zvpevn0] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #212529;
}

.pp-einst-tag[b-id8zvpevn0] {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 600;
    background: #e9ecef;
    color: #495057;
}

.pp-einst-tag--freitext[b-id8zvpevn0] { background: #d4edda; color: #155724; }
.pp-einst-tag--option[b-id8zvpevn0]   { background: #cce5ff; color: #004085; }
.pp-einst-tag--zahl[b-id8zvpevn0]     { background: #fff3cd; color: #856404; }
.pp-einst-tag--checkbox[b-id8zvpevn0]  { background: #f8d7da; color: #721c24; }

/* ── Modul-Kopfzeilen im Katalog-Grid ── */
.pp-modul-header[b-id8zvpevn0] {
    background: #e8edf3 !important;
}

.pp-modul-header td[b-id8zvpevn0] {
    border-top: 2px solid #b0bec5;
    padding-top: 8px;
}
/* _content/PM.Portal.Web/Components/Pages/ProduktHome.razor.rz.scp.css */
/* ── ProduktHome page ── */
.ph-container[b-n1bfp2a398] {
    max-width: 1400px;
    margin: 0 auto;
}

.ph-header[b-n1bfp2a398] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 1.5rem;
}

.ph-icon[b-n1bfp2a398] {
    font-size: 2.5rem;
    line-height: 1;
}

.ph-title[b-n1bfp2a398] {
    margin: 0;
    font-size: 1.5rem;
}

.ph-desc[b-n1bfp2a398] {
    margin: 2px 0 0;
    color: #666;
    font-size: 0.88rem;
}

/* ── Side-by-side columns ── */
.ph-columns[b-n1bfp2a398] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.ph-column[b-n1bfp2a398] {
    flex: 1;
    min-width: 0;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

.ph-column-header[b-n1bfp2a398] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    background: #f8f8f8;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
}

.ph-column-title[b-n1bfp2a398] {
    flex: 1;
}

.ph-section-count[b-n1bfp2a398] {
    font-size: 0.72rem;
    color: #999;
    font-weight: 600;
    background: #eee;
    padding: 2px 8px;
    border-radius: 10px;
}

/* ── Link list inside column ── */
.ph-column-body[b-n1bfp2a398] {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 6px 0;
}

.ph-link-wrapper[b-n1bfp2a398] {
    display: flex;
    align-items: stretch;
    gap: 0;
}

.ph-link[b-n1bfp2a398] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    padding: 9px 18px;
    color: #333;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    transition: all 0.12s;
    border: none;
    background: transparent;
}

.ph-link:hover[b-n1bfp2a398] {
    background: var(--bereich-bg, #eef6ff);
    color: var(--bereich-color, #0098ff);
    text-decoration: none;
}

.ph-link-icon[b-n1bfp2a398] {
    font-size: 1rem;
    line-height: 1;
    flex-shrink: 0;
}

.ph-link-label[b-n1bfp2a398] {
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Favorite toggle button ── */
.ph-fav-btn[b-n1bfp2a398] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    flex-shrink: 0;
    border: none;
    background: transparent;
    color: #ccc;
    font-family: 'Segoe UI Symbol', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.12s;
    padding: 0;
}

.ph-fav-btn:hover[b-n1bfp2a398] {
    background: #fffbe6;
    color: #d4a800;
}

.ph-fav-btn.ph-fav-active[b-n1bfp2a398] {
    color: #d4a800;
}

/* ── Mode toggle (Alle / Favoriten) ── */
.ph-mode-toggle[b-n1bfp2a398] {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.ph-mode-btn[b-n1bfp2a398] {
    padding: 6px 16px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    background: #fff;
    color: #666;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.12s;
}

.ph-mode-btn:hover[b-n1bfp2a398] {
    background: #f4f4f4;
    border-color: #ccc;
    color: #333;
}

.ph-mode-btn.active[b-n1bfp2a398] {
    background: var(--bereich-color, #0098ff);
    border-color: var(--bereich-color, #0098ff);
    color: white;
}

.ph-mode-btn.ph-mode-fav.active[b-n1bfp2a398] {
    background: #d4a800;
    border-color: #d4a800;
    color: white;
}

/* ── Empty state ── */
.ph-empty[b-n1bfp2a398] {
    text-align: center;
    padding: 3rem 1rem;
    color: #aaa;
    font-size: 0.9rem;
}

/* ── Responsive: stack columns on small screens ── */
@media (max-width: 768px) {
    .ph-columns[b-n1bfp2a398] {
        flex-direction: column;
    }
    .ph-link[b-n1bfp2a398] { padding: 8px 14px; font-size: 0.78rem; }
}
