@import '_content/Blazor.Bootstrap/Blazor.Bootstrap.olwso25aue.bundle.scp.css';
@import '_content/Microsoft.AspNetCore.Components.QuickGrid/Microsoft.AspNetCore.Components.QuickGrid.boiwgh0w5b.bundle.scp.css';

/* /Components/CustomDialog/CustomDialog.razor.rz.scp.css */
.modal-overlay[b-r4nld7a1jw] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
}

.modal-dialog[b-r4nld7a1jw] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1001;
    border-radius: 5px;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);
    /* Add other styles like width, background, box-shadow */
}
/* /Components/HierarchyDiagram/HierarchyDiagramControl.razor.rz.scp.css */
.org-zoom-controls[b-auluuyakwq] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    font-size: 0.8rem;
    color: #555;
}

.org-zoom-btn[b-auluuyakwq] {
    width: 26px;
    height: 26px;
    border: 1px solid #90a4c8;
    background: white;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
    color: #1a237e;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
}

    .org-zoom-btn:hover[b-auluuyakwq] {
        background: #e8edf7;
    }

.org-chart-svg[b-auluuyakwq] {
    display: block;
    width: 100%;
    overflow: visible;
}
/* /Components/Layout/AdminLayout.razor.rz.scp.css */
.app-layout[b-dtcz4rtlxj] {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 0;
    transition: all 0.3s ease;
    overflow: hidden;
    margin: 0; /* 20260515 CL: ensure no margin offsets the sidebar from the left viewport edge */
}

/* SIDEBAR */
.sidebar[b-dtcz4rtlxj] {
    width: 150px;
    /*background-color: #1f2937;*/
    background: linear-gradient(135deg, #0f4c81, #1e88e5);
    color: white;
    display: flex;
    flex-direction: column;
    transition: width 0.3s ease;
    flex-shrink: 0;
}

.content[b-dtcz4rtlxj] {
    flex: 1;
    min-height: 0;
    overflow-y: auto; /* ✅ ONLY THIS SCROLLS */
    background: #f9fafb;
    /* 20260515 CL: flex column so .content-inner height:100% resolves to the visible flex
       track rather than scroll height — matches BudgetingLayout pattern for panel-strip pages */
    display: flex;
    flex-direction: column;
}

/* COLLAPSED STATE */
.app-layout.collapsed .sidebar[b-dtcz4rtlxj] {
    width: 40px;
    /*align-items:center;*/
}

/* HEADER */
.sidebar-header[b-dtcz4rtlxj] {
    margin-top: 10px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    /*align-items: center;*/
    padding: 10px;
}

.toggle-btn[b-dtcz4rtlxj] {
    background: none;
    border: none;
    color: white;
    font-size: 10px;
    cursor: pointer;
}

.title[b-dtcz4rtlxj] {
    margin-left: 10px;
    white-space: nowrap;
    transition: opacity 0.2s;
}

/* Hide title when collapsed */
.app-layout.collapsed .title[b-dtcz4rtlxj] {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

/* MENU */
.budget-menu[b-dtcz4rtlxj] {
    display: flex;
    flex-direction: column;
}

.app-layout.collapsed .menu[b-dtcz4rtlxj] {
    justify-content: center;
}

.budget-menu-item[b-dtcz4rtlxj] {
    color: white;
    text-decoration: none;
    padding: 12px 15px;
    white-space: nowrap;
}

    .budget-menu-item:hover[b-dtcz4rtlxj] {
        background-color: rgba(255,255,255,0.15);
        border-radius: 5px;
    }

/* 20260517 CL - disabled state for nav items with unmet prerequisites (e.g. People/Teams need a department first) */
.budget-menu-item--disabled[b-dtcz4rtlxj] {
    color: rgba(255,255,255,0.4);
    text-decoration: none;
    padding: 12px 15px;
    white-space: nowrap;
    cursor: not-allowed;
    user-select: none;
}
    .budget-menu-item--disabled:hover[b-dtcz4rtlxj] {
        background-color: transparent;
    }

.icon[b-dtcz4rtlxj] {
    width: 30px;
    text-align: center;
}

.text[b-dtcz4rtlxj] {
    margin-left: 10px;
    transition: opacity 0.2s;
}

/* Hide text when collapsed */
.app-layout.collapsed .text[b-dtcz4rtlxj] {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

/* CONTENT */
.content[b-dtcz4rtlxj] {
    flex: 1;
    background-color: #f9fafb;
    transition: all 0.3s ease;    
    position:relative;
}

.content-inner[b-dtcz4rtlxj] {
    position:relative;
    top:0px;
    bottom:0px;
    height:100%;
    margin-top:0px;
    padding: 1px;
}

/* Auto-collapse sidebar on small viewports */
@media (max-width: 991px) {
    .app-layout:not(.expanded) .sidebar[b-dtcz4rtlxj] {
        width: 40px;
    }

    .app-layout:not(.expanded) .title[b-dtcz4rtlxj] {
        opacity: 0;
        width: 0;
        overflow: hidden;
    }

    .app-layout:not(.expanded) .text[b-dtcz4rtlxj] {
        opacity: 0;
        width: 0;
        overflow: hidden;
    }
}
/* /Components/Layout/BudgetingLayout.razor.rz.scp.css */
.app-layout[b-oo8zwkx5in] {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 0;
    transition: all 0.3s ease;
    overflow: hidden;
    margin: 0; /* 20260515 CL: ensure no margin offsets the sidebar from the left viewport edge */
}

/* SIDEBAR */
.sidebar[b-oo8zwkx5in] {
    width: 150px;
    background: linear-gradient(135deg, #0f4c81, #1e88e5);
    color: white;
    display: flex;
    flex-direction: column;
    transition: width 0.3s ease;
    flex-shrink: 0;
    overflow: hidden; /* clip menu text when sidebar collapses */
}

/* 20260515 CL: added display:flex + flex-direction:column so .content-inner's height:100%
   resolves to the visible flex track rather than scroll height — fixes iOS orientation reflow */
.content[b-oo8zwkx5in] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    background: #f9fafb;
    display: flex;
    flex-direction: column;
}

/* COLLAPSED STATE */
.app-layout.collapsed .sidebar[b-oo8zwkx5in] {
    width: 40px;
    /*align-items:center;*/
}

/* HEADER */
.sidebar-header[b-oo8zwkx5in] {
    margin-top: 10px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    /*align-items: center;*/
    padding: 10px;
}

.toggle-btn[b-oo8zwkx5in] {
    background: none;
    border: none;
    color: white;
    font-size: 10px;
    cursor: pointer;
}

.title[b-oo8zwkx5in] {
    margin-left: 10px;
    white-space: nowrap;
    transition: opacity 0.2s;
}

/* Hide title when collapsed */
.app-layout.collapsed .title[b-oo8zwkx5in] {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

/* MENU */
.budget-menu[b-oo8zwkx5in] {
    display: flex;
    flex-direction: column;
}

.app-layout.collapsed .menu[b-oo8zwkx5in] {
    justify-content: center;
}

.budget-menu-item[b-oo8zwkx5in] {
    color: white;
    text-decoration: none;
    padding: 10px 12px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 4px;
}

.app-layout.collapsed .budget-menu-item[b-oo8zwkx5in] {
    justify-content: center;
    padding: 10px 0;
}

    .budget-menu-item:hover[b-oo8zwkx5in] {
        background-color: rgba(255,255,255,0.15);
        border-radius: 5px;
    }

.icon[b-oo8zwkx5in] {
    width: 30px;
    flex: 0 0 30px; /* 20260517 CL - pin icon column so long labels can't shrink it (was breaking vertical alignment after adding Purchase Orders) */
    text-align: center;
}

.text[b-oo8zwkx5in] {
    margin-left: 2px; /* 20260518 CL - reduce icon-to-label gap */
    transition: opacity 0.2s;
}

/* Hide text when collapsed */
.app-layout.collapsed .text[b-oo8zwkx5in] {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

/* CONTENT — duplicate removed 20260515 CL; canonical rule is the first .content block above */

.content-inner[b-oo8zwkx5in] {
    position:relative;
    top:0px;
    bottom:0px;
    height:100%;
    margin-top:0px;
    padding: 1px;
}

/* 20260510: Auto-collapse sidebar on small viewports */
@media (max-width: 991px) {
    .app-layout .sidebar[b-oo8zwkx5in] {
        width: 40px;
    }

    .app-layout .title[b-oo8zwkx5in] {
        opacity: 0;
        width: 0;
        overflow: hidden;
    }

    .app-layout .text[b-oo8zwkx5in] {
        opacity: 0;
        width: 0;
        overflow: hidden;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-5ybnzj1r1p] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100vh;
    padding: 0; /* 20260515 CL: defensive — prevent any implicit padding pushing sidebar away from left edge */
    margin: 0;
}

main[b-5ybnzj1r1p] {
    flex: 1;
    min-height: 0;
    padding: 0; /* 20260515 CL: no implicit padding on main */
    margin: 0;
}

/* 20260515 CL: article is the scroll container inside AdminLayout/BudgetingLayout — must have
   zero padding/margin so .app-layout (and its sidebar) sit flush against the left viewport edge */
article[b-5ybnzj1r1p] {
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
}

.sidebar[b-5ybnzj1r1p] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-5ybnzj1r1p] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-5ybnzj1r1p]  a, .top-row[b-5ybnzj1r1p]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-5ybnzj1r1p]  a:hover, .top-row[b-5ybnzj1r1p]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-5ybnzj1r1p]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

.footer[b-5ybnzj1r1p] {
    /*background: linear-gradient(135deg,#0f4c81,#1e88e5);
    color: white;*/
    text-align: center;
    padding: 5px 5px;
}

@media (max-width: 640.98px) {
    .top-row[b-5ybnzj1r1p] {
        justify-content: space-between;
    }

    .top-row[b-5ybnzj1r1p]  a, .top-row[b-5ybnzj1r1p]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .top-row[b-5ybnzj1r1p] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-5ybnzj1r1p]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }
}

#blazor-error-ui[b-5ybnzj1r1p] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    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-5ybnzj1r1p] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-5c3gd68u03] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-5c3gd68u03] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-5c3gd68u03] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-5c3gd68u03] {
    font-size: 1.1rem;
}

.bi[b-5c3gd68u03] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-5c3gd68u03] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-5c3gd68u03] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-5c3gd68u03] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-lock-nav-menu[b-5c3gd68u03] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-5c3gd68u03] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-5c3gd68u03] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-5c3gd68u03] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-5c3gd68u03] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

.nav-item[b-5c3gd68u03] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-5c3gd68u03] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-5c3gd68u03] {
        padding-bottom: 1rem;
    }

    .nav-item[b-5c3gd68u03]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-5c3gd68u03]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-5c3gd68u03]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-5c3gd68u03] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-5c3gd68u03] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-5c3gd68u03] {
        display: none;
    }

    .nav-scrollable[b-5c3gd68u03] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/TopMenu.razor.rz.scp.css */
.navbar a[b-wkcorxwl7r] {
    color: white;
    text-decoration: none;
    padding: 12px 15px;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Fixed icon width so text aligns consistently across all nav items */
.navbar a .bi[b-wkcorxwl7r],
.nav-dropdown-menu a .bi[b-wkcorxwl7r],
.nav-dropdown-toggle .bi[b-wkcorxwl7r] {
    width: 1.1em;
    display: inline-block;
    text-align: center;
    flex-shrink: 0;
}

    .navbar a:hover[b-wkcorxwl7r] {
        background-color: rgba(255,255,255,0.15);
        border-radius: 5px;
    }

.menu-right[b-wkcorxwl7r]{
    display:flex;
    flex-direction:row;
}

/* 20260512 Chris L: overlay positioning moved to app.css (global) — scoped CSS lost
   specificity battle against Bootstrap. Only non-conflicting rules remain here. */
@@media (max-width: 991.98px) {
    .navbar-collapse[b-wkcorxwl7r] {
        color: white;
    }
}

/* 20260512 Chris L: logout form must not break nav row vertical rhythm */
.menu-left form[b-wkcorxwl7r] { margin: 0; padding: 0; display: flex; align-items: center; }

/* 20260515 Chris L: CSS-only hamburger toggle.
   Checkbox is visually hidden but interactive. Label sized to Apple's 44x44 minimum and
   touch-action:manipulation kills iOS Safari's 300ms tap delay. The checkbox state drives
   menu visibility through sibling selectors - no SignalR round-trip needed to open/close. */
.nav-toggle-checkbox[b-wkcorxwl7r] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.navbar-toggler[b-wkcorxwl7r] {
    min-width: 48px;
    min-height: 48px;
    padding: 8px 10px;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0.25);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.navbar-toggler:active[b-wkcorxwl7r] {
    background-color: rgba(255, 255, 255, 0.15);
}

/* Overlay closes menu when user taps outside. Same label-for pattern as the toggler, so it
   also works without the SignalR circuit. Hidden by default, shown when checkbox is checked. */
.nav-overlay[b-wkcorxwl7r] {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999;
}

/* When checkbox is checked, show the overlay and force the menu visible. The general sibling
   combinator (~) walks forward through siblings of the checkbox in document order. */
.nav-toggle-checkbox:checked ~ .nav-overlay[b-wkcorxwl7r] {
    display: block;
}

.nav-toggle-checkbox:checked ~ header .navbar-collapse[b-wkcorxwl7r] {
    display: block !important;
}

/* 20260515 CL - iPad landscape fix: scoped .navbar-toggler { display:inline-flex } wins over
   Bootstrap's d-lg-none at ≥992px without this explicit media-query override. */
@@media (min-width: 992px) {
    label.navbar-toggler[b-wkcorxwl7r] {
        display: none !important;
    }
}

/* Policies / More dropdown controls */
.nav-dropdown[b-wkcorxwl7r] { position: relative; }

.nav-dropdown-toggle[b-wkcorxwl7r] {
    background: none;
    border: none;
    color: white;
    padding: 12px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    white-space: nowrap;
    width: 100%;
    gap: 6px;
}
.nav-dropdown-toggle:hover[b-wkcorxwl7r] { background-color: rgba(255,255,255,0.15); border-radius: 5px; }

/* All dropdown rules must be OUTSIDE @@media — Blazor scoped CSS does not reliably
   apply the scope attribute to rules inside media query blocks. */

/* Hidden by default */
.nav-dropdown-menu[b-wkcorxwl7r] {
    display: none;
    flex-direction: column;
}

/* Open: overlay content absolutely — must be a base rule for Blazor scoping to work */
.nav-dropdown--open .nav-dropdown-menu[b-wkcorxwl7r] {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    background: linear-gradient(135deg, #0f4c81, #1e88e5);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
    min-width: 200px;
    z-index: 2000;
    flex-direction: column;
}
/* /Components/Pages/Administration/BudgetCategoryControl.razor.rz.scp.css */
/* 20260518 CL - BudgetCategoryControl tree + editor layout */

/* ── Two-column layout — editor left, tree right (matches site convention) ──── */
/* 20260521 CL - swapped column order via row-reverse to match Departments/BudgetCapture */
.catctrl-layout[b-his6sojj7r] {
    display: flex;
    flex-direction: row-reverse;
    flex: 1;
    overflow: hidden;
    min-height: 0;
}

/* ── Tree panel (right) ─────────────────────────────────────────────────────── */
.catctrl-tree[b-his6sojj7r] {
    width: 320px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    border-left: 1px solid #e0e0e0;
    background: #fafafa;
    overflow: hidden;
}

/* ── Editor panel (left) ─────────────────────────────────────────────────────── */
.catctrl-editor[b-his6sojj7r] {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
    min-width: 0;
}

/* ── Tree nodes ─────────────────────────────────────────────────────────────── */
.catnode[b-his6sojj7r] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    font-size: 11pt;
    transition: background 0.1s;
    user-select: none;
}

.catnode:hover[b-his6sojj7r] {
    background: #f5f5f5;
}

.catnode--selected[b-his6sojj7r] {
    background: #e3f2fd !important;
    font-weight: 600;
}

.catnode--inactive[b-his6sojj7r] {
    opacity: 0.5;
    font-style: italic;
}

.catnode-label[b-his6sojj7r] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.catnode-badge[b-his6sojj7r] {
    font-size: 8px;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 8px;
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.catnode-badge--off[b-his6sojj7r] {
    background: #fce4ec;
    color: #c62828;
}

/* ── Collapse toggle button ──────────────────────────────────────────────────── */
.catnode-toggle[b-his6sojj7r] {
    margin-left: auto;
    flex-shrink: 0;
    background: none;
    border: none;
    padding: 0 2px;
    cursor: pointer;
    color: #9e9e9e;
    font-size: 10px;
    line-height: 1;
    display: flex;
    align-items: center;
}

.catnode-toggle:hover[b-his6sojj7r] {
    color: #1565c0;
}

/* ── Drag and drop ───────────────────────────────────────────────────────────── */
.catnode--dragging[b-his6sojj7r] {
    opacity: 0.4;
}

.catnode--dragover[b-his6sojj7r] {
    background: #e8f5e9 !important;
    outline: 2px dashed #43a047;
    outline-offset: -2px;
}

/* ── Mobile: stack vertically (tree top, editor below) ─────────────────────── */
@media (max-width: 640px) {
    .catctrl-layout[b-his6sojj7r] {
        flex-direction: column;
    }

    .catctrl-tree[b-his6sojj7r] {
        width: 100%;
        max-height: 240px;
        border-left: none;
        border-bottom: 1px solid #e0e0e0;
    }
}
/* /Components/Pages/Administration/DocumentManager.razor.rz.scp.css */
/* S3 Document Manager — full-content dark navy (matches tools/s3-browser.html) */

.dm-root[b-yui20myuz3] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #1a1a2e;
    color: #c0caf5;
    font-family: 'Segoe UI', system-ui, sans-serif;
    font-size: 13px;
    overflow: hidden;
    margin: -1px;
}

/* ── Header ── */
.dm-header[b-yui20myuz3] {
    flex-shrink: 0;
    background: #16213e;
    border-bottom: 1px solid #0f3460;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.dm-title[b-yui20myuz3] {
    color: #e0aaff;
    font-weight: 600;
    font-size: 14px;
    margin: 0;
    white-space: nowrap;
    letter-spacing: 0.4px;
}

.dm-breadcrumb[b-yui20myuz3] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.crumb-btn[b-yui20myuz3] {
    background: none;
    border: none;
    color: #e0aaff;
    font-size: 12px;
    cursor: pointer;
    padding: 2px 4px;
    border-radius: 3px;
}

.crumb-btn:hover[b-yui20myuz3] { background: #0f3460; }
.crumb-sep[b-yui20myuz3] { color: #7c83a8; font-size: 12px; }

.dm-live[b-yui20myuz3] {
    color: #7c83a8;
    font-size: 11px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 5px;
}

.dm-dot[b-yui20myuz3] { color: #a6e3a1; animation: pulse-b-yui20myuz3 1.5s infinite; }

@keyframes pulse-b-yui20myuz3 { 0%,100%{opacity:1} 50%{opacity:0.3} }

.dm-refresh[b-yui20myuz3] {
    background: #0f3460;
    border: 1px solid #e0aaff44;
    color: #e0aaff;
    border-radius: 4px;
    padding: 3px 10px;
    cursor: pointer;
    font-size: 14px;
}
.dm-refresh:hover[b-yui20myuz3]   { background: #1a3a6e; }
.dm-refresh:disabled[b-yui20myuz3] { opacity: 0.5; cursor: default; }

/* ── Body ── */
.dm-body[b-yui20myuz3] {
    flex: 1;
    display: flex;
    overflow: hidden;
    min-height: 0;
}

/* ── Folder tree ── */
.dm-tree[b-yui20myuz3] {
    width: 180px;
    flex-shrink: 0;
    background: #16213e;
    border-right: 1px solid #0f3460;
    overflow-y: auto;
    padding: 10px 0;
}

.dm-tree-label[b-yui20myuz3] {
    color: #7c83a8;
    font-size: 10px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 0 12px 8px;
}

.dm-tree-item[b-yui20myuz3] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    cursor: pointer;
    color: #c0caf5;
    border-left: 2px solid transparent;
    user-select: none;
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.dm-tree-item:hover[b-yui20myuz3] { background: #0f3460; }
.dm-tree-item.active[b-yui20myuz3] {
    color: #e0aaff;
    border-left-color: #e0aaff;
    background: #0f3460;
}

/* ── Main pane (position:relative so overlay can anchor to it) ── */
.dm-main[b-yui20myuz3] {
    flex: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding: 10px;
    gap: 10px;
}

/* ── State messages ── */
.dm-state[b-yui20myuz3]     { color: #7c83a8; padding: 40px; text-align: center; }
.dm-state--err[b-yui20myuz3] { color: #f38ba8; }

/* ── File grid ── */
.dm-grid[b-yui20myuz3] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 8px;
    align-content: start;
}

.dm-empty[b-yui20myuz3] {
    grid-column: 1 / -1;
    color: #7c83a8;
    padding: 40px;
    text-align: center;
}

/* ── Cards ── */
.dm-card[b-yui20myuz3] {
    background: #16213e;
    border: 1px solid #0f3460;
    border-radius: 6px;
    padding: 10px;
    position: relative;
    overflow: hidden;
    transition: border-color 0.15s;
}
.dm-card:hover[b-yui20myuz3]       { border-color: #e0aaff55; }
.dm-card--folder[b-yui20myuz3]     { cursor: pointer; }
.dm-card--folder:hover[b-yui20myuz3] { border-color: #e0aaff; }
.dm-card--sel[b-yui20myuz3]        { border-color: #e0aaff !important; box-shadow: 0 0 0 1px #e0aaff44; }

.dm-icon[b-yui20myuz3]  { font-size: 20px; display: block; margin-bottom: 6px; }
.dm-name[b-yui20myuz3]  {
    color: #c0caf5; font-size: 12px; word-break: break-all;
    margin-bottom: 4px; line-height: 1.3;
    overflow: hidden; display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.dm-meta[b-yui20myuz3] { color: #7c83a8; font-size: 11px; margin-bottom: 4px; }

/* ── Card hover actions ── */
.dm-actions[b-yui20myuz3] { display: none; gap: 4px; margin-top: 6px; }
.dm-card:hover .dm-actions[b-yui20myuz3] { display: flex; }

.dm-btn[b-yui20myuz3] {
    flex: 1;
    background: #0f3460;
    border: 1px solid #e0aaff44;
    color: #e0aaff;
    border-radius: 4px;
    padding: 3px 4px;
    font-size: 11px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
}
.dm-btn:hover[b-yui20myuz3]       { background: #1a3a6e; }
.dm-btn--eye[b-yui20myuz3]        { background: #0f3460; }
.dm-btn--del[b-yui20myuz3]        { background: #2d1616; border-color: #f38ba844; color: #f38ba8; }
.dm-btn--del:hover[b-yui20myuz3]  { background: #3d2020; }

/* ── Inline delete confirm ── */
.dm-confirm[b-yui20myuz3] {
    position: absolute; inset: 0;
    background: #2d1616ee;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 6px; font-size: 12px; color: #f38ba8;
    border-radius: 6px; z-index: 2;
}
.dm-confirm-btns[b-yui20myuz3] { display: flex; gap: 8px; }
.dm-btn--del-yes[b-yui20myuz3] {
    background: #2d1616; border: 1px solid #f38ba8; color: #f38ba8;
    border-radius: 4px; padding: 4px 12px; font-size: 11px; cursor: pointer;
}
.dm-btn--no[b-yui20myuz3] {
    background: #0f3460; border: 1px solid #e0aaff44; color: #e0aaff;
    border-radius: 4px; padding: 4px 12px; font-size: 11px; cursor: pointer;
}

/* ── File viewer overlay ── */
/* Sits absolute over the grid, same full-width pattern as capture-files-panel--fullwidth */
.dm-viewer[b-yui20myuz3] {
    position: absolute;
    inset: 0;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    z-index: 20;
    border-left: 1px solid #0f3460;
    animation: slideInViewer-b-yui20myuz3 0.18s ease-out;
}

@keyframes slideInViewer-b-yui20myuz3 {
    from { opacity: 0; transform: translateX(20px); }
    to   { opacity: 1; transform: translateX(0); }
}

.dm-viewer-header[b-yui20myuz3] {
    flex-shrink: 0;
    background: #16213e;
    border-bottom: 1px solid #0f3460;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.dm-viewer-icon[b-yui20myuz3] { font-size: 18px; flex-shrink: 0; }

.dm-viewer-name[b-yui20myuz3] {
    flex: 1;
    color: #e0aaff;
    font-weight: 600;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dm-viewer-meta[b-yui20myuz3] {
    color: #7c83a8;
    font-size: 11px;
    white-space: nowrap;
    flex-shrink: 0;
}

.dm-viewer-actions[b-yui20myuz3] {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.dm-viewer-actions .dm-btn[b-yui20myuz3] {
    flex: none;
    padding: 4px 10px;
    font-size: 11px;
    white-space: nowrap;
}

/* ── Viewer content area ── */
.dm-viewer-content[b-yui20myuz3] {
    flex: 1;
    overflow: auto;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
}

/* PDF fills the content area */
.dm-viewer-content[b-yui20myuz3]  .bb-pdf-viewer,
.dm-viewer-content[b-yui20myuz3]  iframe {
    flex: 1;
    height: 100%;
}

/* Image viewer: centred, zoomable */
.dm-viewer-img-wrap[b-yui20myuz3] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    overflow: auto;
}

.dm-viewer-img[b-yui20myuz3] {
    max-width: 100%;
    max-height: 100%;
    border-radius: 4px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.5);
    object-fit: contain;
}

/* Other file types: centred info card */
.dm-viewer-other[b-yui20myuz3] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    text-align: center;
}

.dm-viewer-other-name[b-yui20myuz3] {
    color: #e0aaff;
    font-weight: 600;
    font-size: 15px;
    margin-top: 12px;
    word-break: break-all;
}

.dm-viewer-other-meta[b-yui20myuz3] {
    color: #7c83a8;
    font-size: 12px;
    margin-top: 4px;
}

/* ── Activity bar ── */
.dm-activity[b-yui20myuz3] {
    flex-shrink: 0;
    background: #0f3460;
    border-top: 1px solid #e0aaff22;
    padding: 5px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #e0aaff;
    font-size: 11px;
    cursor: pointer;
    user-select: none;
}
.dm-activity:hover[b-yui20myuz3] { background: #1a3a6e; }
.dm-log-count[b-yui20myuz3] { font-weight: 600; }

.dm-log-toggle[b-yui20myuz3] {
    background: none; border: none;
    color: #7c83a8; cursor: pointer; font-size: 11px; padding: 0;
}

/* ── Activity log drawer ── */
.dm-log[b-yui20myuz3] {
    flex-shrink: 0;
    background: #16213e;
    border-top: 1px solid #0f3460;
    max-height: 160px;
    overflow-y: auto;
    padding: 8px 14px;
    font-family: 'Consolas', monospace;
    font-size: 11px;
}

.dm-log-row[b-yui20myuz3]  { display: flex; gap: 10px; margin-bottom: 3px; }
.dm-log-time[b-yui20myuz3] { color: #7c83a8; white-space: nowrap; }
.dm-log-size[b-yui20myuz3] { color: #7c83a8; margin-left: auto; white-space: nowrap; }
.dm-log-info[b-yui20myuz3] { color: #c0caf5; }
.dm-log-del[b-yui20myuz3]  { color: #fab387; }
.dm-log-err[b-yui20myuz3]  { color: #f38ba8; }
.dm-log-new[b-yui20myuz3]  { color: #a6e3a1; }

.dm-log-clear[b-yui20myuz3] {
    background: none; border: 1px solid #0f3460; color: #7c83a8;
    border-radius: 4px; padding: 3px 10px; cursor: pointer;
    font-size: 11px; margin-top: 6px;
}
.dm-log-clear:hover[b-yui20myuz3] { border-color: #e0aaff44; color: #c0caf5; }

/* ── Scrollbars ── */
.dm-root [b-yui20myuz3]::-webkit-scrollbar       { width: 6px; }
.dm-root [b-yui20myuz3]::-webkit-scrollbar-track { background: #1a1a2e; }
.dm-root [b-yui20myuz3]::-webkit-scrollbar-thumb { background: #0f3460; border-radius: 3px; }
/* /Components/Pages/Administration/PeopleControl.razor.rz.scp.css */
/* 20260515 CL - PeopleControl panel-strip scoped styles */

/* Make the layout fill the content area inside AdminLayout */
.people-layout[b-zv5bapbyme] {
    height: 100%;
}

/* Override the BudgetCapture global media-query rules: in PeopleControl both panels are
   floating overlays on all viewports (never pinned open), so no padding-right reservation. */
.people-layout .budget-form-area[b-zv5bapbyme] {
    padding-right: 14px !important;
    padding-left: 14px !important;
}

/* Prevent the global ≥700px rule from pinning the items (people) panel always-open */
.people-layout .capture-items-panel[b-zv5bapbyme] {
    width: 0 !important;
}

/* 20260519 CL - widened from 280px to 320px to accommodate role badges */
.people-layout .capture-items-panel.capture-panel--open[b-zv5bapbyme] {
    width: min(320px, calc(100vw - 44px)) !important;
}

/* Panel toolbar row (Add Person / Include Inactive / Show declined) */
.people-panel-toolbar[b-zv5bapbyme] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 8px;
    border-bottom: 1px solid #f0f0f0;
    background: #fafafa;
    flex-shrink: 0;
    gap: 6px;
    font-size: 10px;
}

/* Individual person / request row inside panels */
.people-panel-row[b-zv5bapbyme] {
    padding: 8px 10px;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    background: white;
    transition: background 0.1s;
}

    .people-panel-row:hover[b-zv5bapbyme] {
        background: #f0f7ff;
    }

    .people-panel-row--active[b-zv5bapbyme] {
        background: #e3f2fd;
    }

        .people-panel-row--active:hover[b-zv5bapbyme] {
            background: #d0ebfb;
        }

    .people-panel-row--warning[b-zv5bapbyme] {
        background: #fff8e1;
    }

        .people-panel-row--warning:hover[b-zv5bapbyme] {
            background: #fff3cd;
        }

/* 20260519 CL - role badge pill shown to the right of the person name */
.person-role-badge[b-zv5bapbyme] {
    font-size: 8px;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 8px;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: #e0e0e0;
    color: #555;
}

.person-role-badge--admin[b-zv5bapbyme]          { background: #1565c0; color: #fff; }
.person-role-badge--siteadmin[b-zv5bapbyme]      { background: #1e88e5; color: #fff; }
.person-role-badge--financeapprovals[b-zv5bapbyme] { background: #2e7d32; color: #fff; }
.person-role-badge--budgetapprover[b-zv5bapbyme] { background: #6a1b9a; color: #fff; }
.person-role-badge--budget[b-zv5bapbyme]         { background: #4527a0; color: #fff; }
/* /Components/Pages/Administration/TeamsControl.razor.rz.scp.css */
[b-6ettnhzynb] .dialog-head {
    /* 20260513 CL - standardised to site blue gradient; was darkblue/gold */
    background: linear-gradient(135deg, #0f4c81, #1e88e5);
    color: white;
}

[b-6ettnhzynb] .modal-backdrop {
    display: none;
}

[b-6ettnhzynb] .modal-dialog {
    margin-top: 200px;
    margin-left: auto;
    margin-right: auto;
    max-width: 320px;
}

/* 20260517 CL - layout: diagram left (flex), management panel right (220px) */
/* Two-column layout: diagram left, management panel right */
.personagram-body[b-6ettnhzynb] {
    display: flex;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.personagram-diagram[b-6ettnhzynb] {
    flex: 1;
    min-width: 0;
    min-height: 0;
    background: #f9fafb;
    position: relative;
}

/* 20260517 CL - narrowed from 320px to 220px; moved to right side (border-left) */
.personagram-panel[b-6ettnhzynb] {
    width: 220px;
    flex-shrink: 0;
    background: white;
    border-left: 1px solid #e8e8e8;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Mobile: stack vertically (panel below diagram) */
@media (max-width: 767px) {
    .personagram-body[b-6ettnhzynb] {
        flex-direction: column;
    }
    .personagram-panel[b-6ettnhzynb] {
        width: 100%;
        max-height: 260px;
        border-left: none;
        border-top: 1px solid #e8e8e8;
    }
    .personagram-diagram[b-6ettnhzynb] {
        flex: 1;
        min-height: 280px;
    }
}

/* Tablet landscape: slightly narrower panel */
@media (min-width: 768px) and (max-width: 991px) {
    .personagram-panel[b-6ettnhzynb] {
        width: 200px;
    }
}
/* /Components/Pages/Budgeting/BudgetGrid.razor.rz.scp.css */
/* Container */
.excel-container[b-thpclw286t] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    width: 100%;
    font-family: Segoe UI, Arial;
}

/* ================= TOOLBAR ================= */
.excel-toolbar[b-thpclw286t] {
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    /*background: linear-gradient(135deg,#0f4c81,#1e88e5);*/
    background-color: ghostwhite;
    /*color: white;*/
    /*border: 2px solid rgba(255,255,255,0.2);*/
    border: 2px solid silver;
    font-size: 12pt;
}

    .excel-toolbar button[b-thpclw286t] {
        background: rgba(255,255,255,0.15);
        border: none;
        color: white;
        padding: 6px 10px;
        border-radius: 4px;
        cursor: pointer;
    }

        .excel-toolbar button:hover[b-thpclw286t] {
            background: rgba(255,255,255,0.3);
        }

.divider[b-thpclw286t] {
    width: 1px;
    height: 20px;
    background: rgba(255,255,255,0.4);
    margin: 0 5px;
}

/* ================= GRID ================= */
.excel-grid-wrapper[b-thpclw286t] {
    flex: 1;
    overflow: hidden;
    background: #f7f9fc;
    /*border: 10px solid green;*/
    height: 100%;
    width: 100%;
    max-height: 500px;
}

/* Table */
.excel-grid[b-thpclw286t] {
    border-collapse: collapse;
    width: 100%;
    /*min-width: 900px;*/
    background: white;
    /*font-size: clamp(7pt, 1.5vw, 2rem);*/
}

    /* Headers */
    .excel-grid th[b-thpclw286t] {
        position: sticky;
        top: 0;
        background: #e8f0fe;
        font-weight: 600;
        border: 1px solid #d0d7de;
        padding: 8px;
        text-align: left;
    }

    /* Cells */
    .excel-grid td[b-thpclw286t] {
        border: 1px solid #e0e0e0;
        padding: 8px;
        /*min-width: 120px;*/
    }

    /* Row hover */
    .excel-grid tbody tr:hover[b-thpclw286t] {
        background-color: #f1f7ff;
    }

    /* Editable cell focus */
    .excel-grid td:focus[b-thpclw286t] {
        outline: 2px solid #1e88e5;
        background-color: #fff;
    }

/* Sticky first column */
.sticky-col[b-thpclw286t] {
    position: sticky;
    left: 0;
    background: #f1f5fb;
    z-index: 2;
}

/* Header sticky column override */
thead .sticky-col[b-thpclw286t] {
    z-index: 3;
    background: #dbe7fb;
}

.cell-input[b-thpclw286t] {
    width: 100%;
    border: none;
    background: transparent;
    padding: 4px;
    white-space: nowrap;
}

    /* Focus = Excel feel */
    .cell-input:focus[b-thpclw286t] {
        outline: 2px solid #1e88e5;
        background: #fff;
    }



/* Remove default input styling */
input.cell-input[b-thpclw286t] {
    box-shadow: none;
}
/* /Components/Pages/Budgeting/ExpenseCapture.razor.rz.scp.css */
.ec-root[b-yqp6alo567] {
    font-family: Segoe UI, Arial, sans-serif;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Vertically centre the form card in the available space */
.budget-form-area[b-yqp6alo567] {
    justify-content: center;
}


.ec-no-team[b-yqp6alo567] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    background: white;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
    padding: 24px 20px;
    max-width: 340px;
    margin: auto;
    text-align: center;
}

.ec-availability[b-yqp6alo567] {
    background: #e8f5e9;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 11px;
    color: #555;
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.ec-avail-label[b-yqp6alo567] {
    color: #888;
    margin-right: 3px;
}

.ec-status-badge[b-yqp6alo567] {
    font-size: 9px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.ec-status-pending[b-yqp6alo567]      { background: #fff9c4; color: #f57f17; }
.ec-status-routed[b-yqp6alo567]       { background: #e3f2fd; color: #1565c0; }
.ec-status-returnpending[b-yqp6alo567] { background: #fce4ec; color: #ad1457; }
.ec-status-complete[b-yqp6alo567]     { background: #e8f5e9; color: #2e7d32; }
.ec-status-rejected[b-yqp6alo567]     { background: #ffebee; color: #c62828; }
/* /Components/Pages/Budgeting/PurchaseOrderCapture.razor.rz.scp.css */
/* 20260517 CL - Phase 22: PO capture slide-in panel styles */

.poc-overlay[b-g7u6f3rez7] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    z-index: 400;
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
}

.poc-panel[b-g7u6f3rez7] {
    width: 420px;
    max-width: 100vw;
    background: white;
    box-shadow: -4px 0 24px rgba(0,0,0,0.18);
    padding: 20px 18px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    animation: poc-slide-in-b-g7u6f3rez7 0.22s ease-out;
}

@keyframes poc-slide-in-b-g7u6f3rez7 {
    from { transform: translateX(100%); }
    to   { transform: translateX(0); }
}

.po-status-badge[b-g7u6f3rez7] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 9pt;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.po-status-submitted[b-g7u6f3rez7]  { background: #e3f2fd; color: #1565c0; }
.po-status-approved[b-g7u6f3rez7]   { background: #e8f5e9; color: #2e7d32; }
.po-status-declined[b-g7u6f3rez7]   { background: #ffebee; color: #c62828; }
.po-status-withdrawn[b-g7u6f3rez7]  { background: #fff8e1; color: #e65100; } /* 20260518 CL */
/* /Components/Pages/Budgeting/Reports.razor.rz.scp.css */
/* ── Page root ── */
.reports-root[b-8pj9ojtm2x] {
    display: flex;
    flex: 1;
    overflow: hidden;
    position: relative;
    font-family: Segoe UI, Arial, sans-serif;
}

/* ── Left: scrollable viewport ── */
.report-viewport-area[b-8pj9ojtm2x] {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    padding: 16px;
    background: #f0f4f8;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ── Report card — print-preview style ── */
.report-card[b-8pj9ojtm2x] {
    background: white;
    border-radius: 6px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.12);
    padding: 24px 28px;
    max-width: 860px;
    width: 100%;
    margin: 0 auto;
}

/* ── Report header (logos + title) ── */
.report-header[b-8pj9ojtm2x] {
    display: flex;
    align-items: center;
    border-bottom: 2px solid #0f4c81;
    padding-bottom: 10px;
    margin-bottom: 16px;
    gap: 12px;
}
.report-header-logo[b-8pj9ojtm2x] { height: 36px; width: auto; object-fit: contain; }
.report-header-title[b-8pj9ojtm2x] { flex: 1; text-align: center; }
.report-header-title h4[b-8pj9ojtm2x] { margin: 0; color: #0f4c81; font-size: 14pt; font-weight: 700; }
.report-header-title p[b-8pj9ojtm2x]  { margin: 2px 0 0; font-size: 9pt; color: #888; }

/* ── Report meta bar ── */
.report-meta[b-8pj9ojtm2x] {
    display: flex;
    gap: 16px;
    font-size: 9pt;
    color: #888;
    margin-bottom: 14px;
    flex-wrap: wrap;
}
.report-meta strong[b-8pj9ojtm2x] { color: #333; }

/* ── Action bar ── */
.report-action-bar[b-8pj9ojtm2x] {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
    flex-wrap: wrap;
    align-items: center;
}

/* ── Tables ── */
.report-table[b-8pj9ojtm2x] {
    width: 100%;
    border-collapse: collapse;
    font-size: 10pt;
    margin-top: 8px;
}
.report-table th[b-8pj9ojtm2x] {
    background: #0f4c81;
    color: white;
    padding: 6px 10px;
    text-align: left;
    font-weight: 600;
    white-space: nowrap;
}
.report-table td[b-8pj9ojtm2x] {
    padding: 5px 10px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}
.report-table tr:hover td[b-8pj9ojtm2x] { background: #f5f9ff; }
.report-table tr.report-subtotal td[b-8pj9ojtm2x] { font-weight: 700; background: #e8f0fb; }
.report-table tr.report-drillrow td[b-8pj9ojtm2x] { background: #f0f7ff; cursor: pointer; }
.report-table tr.report-drillrow:hover td[b-8pj9ojtm2x] { background: #dceefb; }
.report-table .num[b-8pj9ojtm2x] { text-align: right; font-variant-numeric: tabular-nums; }
.report-table .status-pending[b-8pj9ojtm2x]   { color: #f57f17; font-weight: 600; }
.report-table .status-routed[b-8pj9ojtm2x]    { color: #1565c0; font-weight: 600; }
.report-table .status-complete[b-8pj9ojtm2x]  { color: #2e7d32; font-weight: 600; }
.report-table .status-rejected[b-8pj9ojtm2x]  { color: #c62828; font-weight: 600; }
.report-table .over-budget[b-8pj9ojtm2x]      { color: #c62828; font-weight: 700; }

/* ── Inkomstestaat row levels ── */
.report-table tr.inkomstestaat-cat td[b-8pj9ojtm2x] {
    font-weight: 700;
    background: #1e3a5f;
    color: white;
    font-size: 10.5pt;
}
.report-table tr.inkomstestaat-cat:hover td[b-8pj9ojtm2x] { background: #1e3a5f; }
.report-table tr.inkomstestaat-sub td[b-8pj9ojtm2x] {
    background: #d0e4f7;
    color: #0f2a4a;
}
.report-table tr.inkomstestaat-sub:hover td[b-8pj9ojtm2x] { background: #bfd6ef; }

/* ── Drill-down detail ── */
.report-detail-section[b-8pj9ojtm2x] {
    background: #f5f9ff;
    border: 1px solid #c5d8f0;
    border-radius: 6px;
    padding: 12px 16px;
    margin-top: 12px;
}
.report-detail-section h6[b-8pj9ojtm2x] { color: #0f4c81; font-weight: 700; margin: 0 0 8px; }

/* ── Placeholder ── */
.report-placeholder[b-8pj9ojtm2x] {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    color: #aaa;
    font-size: 13pt;
    min-height: 300px;
}

/* ── Right panel override: always open, no transition ── */
.report-list-panel[b-8pj9ojtm2x] {
    width: 280px;
    flex-shrink: 0;
    border-left: 1px solid #e8e8e8;
    background: white;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

/* ── Print styles ── */
@@media print {
    header[b-8pj9ojtm2x], nav[b-8pj9ojtm2x], aside[b-8pj9ojtm2x],
    .budget-title-strip[b-8pj9ojtm2x], .report-list-panel[b-8pj9ojtm2x],
    .report-action-bar[b-8pj9ojtm2x], .budget-sidebar[b-8pj9ojtm2x] { display: none !important; }
    .report-viewport-area[b-8pj9ojtm2x] {
        padding: 0 !important;
        background: white !important;
        overflow: visible !important;
    }
    .report-card[b-8pj9ojtm2x] {
        box-shadow: none !important;
        border-radius: 0 !important;
        max-width: 100% !important;
    }
    .report-table tr:hover td[b-8pj9ojtm2x] { background: transparent !important; }
}
/* /Components/Pages/ContactUs.razor.rz.scp.css */
/* 20260510: Form appears above sticky hero section */
:global(.capture-control)[b-a01hrqzxy7] {
    position: relative;
    z-index: 2;
}

.contact-container[b-a01hrqzxy7] {
    position: relative;
    padding-top: 2rem;
}

.validation-summary-wrapper[b-a01hrqzxy7] {
    position: absolute;
    top: 0;
    right: -200px;
    max-width: 400px;
    background: rgba(255, 230, 230, 0.95);
    border: 1px solid #dc3545;
    padding: 10px 15px;
    border-radius: 6px;
    z-index: 10;
}

    .validation-summary-wrapper ul[b-a01hrqzxy7] {
        margin: 0;
        padding-left: 20px;
    }
/* /Components/Pages/HowItWorks.razor.rz.scp.css */
.hiw-shell[b-juq7c7c6cu] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    font-family: Segoe UI, Arial, sans-serif;
}

.hiw-topbar[b-juq7c7c6cu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #0f4c81;
    color: white;
    padding: 8px 16px;
    font-size: 13px;
    flex-shrink: 0;
}

.hiw-back[b-juq7c7c6cu] {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    font-size: 12px;
}

.hiw-back:hover[b-juq7c7c6cu] {
    color: white;
}

.hiw-body[b-juq7c7c6cu] {
    display: flex;
    flex: 1;
    min-height: 0;
}

.hiw-sidebar[b-juq7c7c6cu] {
    width: 200px;
    min-width: 200px;
    background: linear-gradient(180deg, #0f4c81, #1565c0);
    color: white;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    align-self: stretch;
}

.hiw-step[b-juq7c7c6cu] {
    padding: 10px 14px;
    font-size: 12px;
    cursor: pointer;
    border-left: 3px solid transparent;
    opacity: 0.8;
    transition: background 0.15s;
}

.hiw-step:hover[b-juq7c7c6cu] {
    background: rgba(255,255,255,0.1);
    opacity: 1;
}

.hiw-step.active[b-juq7c7c6cu] {
    background: rgba(255,255,255,0.2);
    border-left-color: white;
    font-weight: bold;
    opacity: 1;
}

.hiw-step-num[b-juq7c7c6cu] {
    margin-right: 6px;
    opacity: 0.7;
}

.hiw-autoplay-area[b-juq7c7c6cu] {
    margin-top: auto;
    padding: 14px;
    border-top: 1px solid rgba(255,255,255,0.15);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.hiw-autoplay-btn[b-juq7c7c6cu] {
    background: rgba(255,255,255,0.15);
    border: none;
    border-radius: 20px;
    color: white;
    padding: 6px 14px;
    font-size: 11px;
    cursor: pointer;
    width: 100%;
}

.hiw-autoplay-btn:hover[b-juq7c7c6cu] {
    background: rgba(255,255,255,0.25);
}

.hiw-autoplay-hint[b-juq7c7c6cu] {
    font-size: 9px;
    opacity: 0.5;
}

.hiw-content-wrap[b-juq7c7c6cu] {
    display: flex;
    flex: 1;
    min-width: 0;
    background: #f7f9fc;
    align-items: stretch;
}

.hiw-arrow[b-juq7c7c6cu] {
    width: 36px;
    flex-shrink: 0;
    background: rgba(0,0,0,0.04);
    border: none;
    cursor: pointer;
    font-size: 22px;
    color: #555;
    transition: background 0.15s;
    padding: 0;
}

.hiw-arrow:hover:not(:disabled)[b-juq7c7c6cu] {
    background: rgba(0,0,0,0.1);
    color: #0f4c81;
}

.hiw-arrow:disabled[b-juq7c7c6cu] {
    opacity: 0.2;
    cursor: not-allowed;
}

.hiw-content[b-juq7c7c6cu] {
    flex: 1;
    padding: 24px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.hiw-heading[b-juq7c7c6cu] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
}

.hiw-title[b-juq7c7c6cu] {
    font-size: 18px;
    font-weight: bold;
    color: #0f4c81;
}

.hiw-counter[b-juq7c7c6cu] {
    font-size: 12px;
    color: #999;
}

.hiw-subtabs[b-juq7c7c6cu] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.hiw-subtab[b-juq7c7c6cu] {
    padding: 5px 14px;
    border-radius: 20px;
    border: none;
    cursor: pointer;
    font-size: 12px;
    background: #dde6f0;
    color: #555;
    transition: background 0.15s, color 0.15s;
}

.hiw-subtab.active[b-juq7c7c6cu] {
    background: #0f4c81;
    color: white;
}

.hiw-subtab:hover:not(.active)[b-juq7c7c6cu] {
    background: #c5d8ea;
}

.hiw-panel[b-juq7c7c6cu] {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    flex: 1;
}

.hiw-panel-text[b-juq7c7c6cu] {
    flex: 1;
    font-size: 14px;
    line-height: 1.7;
    color: #333;
}

.hiw-panel-text p[b-juq7c7c6cu] {
    margin: 0 0 8px;
}

.hiw-tip[b-juq7c7c6cu] {
    background: #fff3e0;
    border-left: 3px solid #ff9800;
    border-radius: 0 6px 6px 0;
    padding: 8px 12px;
    font-size: 13px;
    color: #555;
    margin-top: 12px;
}

.hiw-panel-image[b-juq7c7c6cu] {
    width: 160px;
    flex-shrink: 0;
}

.hiw-panel-image img[b-juq7c7c6cu] {
    width: 160px;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

/* 20260517 CL - Image-led layout when a panel has a real screenshot. */
.hiw-panel.has-image[b-juq7c7c6cu] {
    gap: 28px;
}

.hiw-panel.has-image .hiw-panel-text[b-juq7c7c6cu] {
    flex: 0 0 280px;
    font-size: 12.5px;
    line-height: 1.6;
    color: #666;
}

.hiw-panel.has-image .hiw-tip[b-juq7c7c6cu] {
    font-size: 11.5px;
    padding: 6px 10px;
}

.hiw-panel.has-image .hiw-panel-image[b-juq7c7c6cu] {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    align-self: stretch;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.hiw-panel.has-image .hiw-panel-image img[b-juq7c7c6cu] {
    width: 100%;
    max-width: 720px;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.18);
}

.hiw-img-placeholder[b-juq7c7c6cu] {
    width: 160px;
    min-height: 110px;
    background: #dde6f0;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #7a9ab8;
    font-size: 28px;
    gap: 6px;
    padding: 10px;
}

.hiw-img-name[b-juq7c7c6cu] {
    font-size: 10px;
    text-align: center;
    color: #7a9ab8;
}

.hiw-dots[b-juq7c7c6cu] {
    display: flex;
    gap: 6px;
    justify-content: center;
    padding-top: 12px;
    border-top: 1px solid #e0e0e0;
    flex-shrink: 0;
}

.hiw-dot[b-juq7c7c6cu] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c0c0c0;
    display: inline-block;
    transition: background 0.2s, transform 0.15s;
    cursor: pointer;
}

.hiw-dot:hover[b-juq7c7c6cu] {
    background: #1e88e5;
    transform: scale(1.4);
}

.hiw-dot.active[b-juq7c7c6cu] {
    background: #0f4c81;
    transform: scale(1.3);
}
/* /Components/Pages/PurchaseApprovals.razor.rz.scp.css */
/* 20260517 CL - Phase 22: PO status badge styles for the list page */
.po-status-badge[b-mbgr6chg7b] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 9pt;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.po-status-submitted[b-mbgr6chg7b]  { background: #e3f2fd; color: #1565c0; }
.po-status-approved[b-mbgr6chg7b]   { background: #e8f5e9; color: #2e7d32; }
.po-status-declined[b-mbgr6chg7b]   { background: #ffebee; color: #c62828; }
.po-status-withdrawn[b-mbgr6chg7b]  { background: #fff8e1; color: #e65100; } /* 20260518 CL */
/* /Components/Pages/TestD3.razor.rz.scp.css */
.node[b-xya1p6iegl] {
    width: 100px;
    height: 40px;
    background: #1e293b;
    color: white;
    border-radius: 6px;
    text-align: center;
    line-height: 40px;
    position: absolute;
}

svg[b-xya1p6iegl] {
    position: absolute;
    top: 0;
    left: 0;
}
/* /Components/Pages/TestFull.razor.rz.scp.css */
body[b-l4um881fce] {
    margin: 0;
    font-family: sans-serif;
}

#container[b-l4um881fce] {
    position: relative;
    width: 80vw;
    height: 80vh;
    background: #f0f0f0;
    overflow: hidden;
    border: 1px solid deepskyblue
}

.old-node[b-l4um881fce] {
    position: absolute;
    width: 120px;
    height: 50px;
    /*  background: #1e293b; */
    background: black;
    color: gold;
    border-radius: 6px;
    text-align: center;
    line-height: 50px;
    cursor: move;
    user-select: none;
}

.node[b-l4um881fce] {
    position: absolute;
    border-color: deepskyblue;
    background: #fff;
    border-style: solid;
    border-radius: 10px;
    padding: 8px 12px;
    min-width: 100px;
    width: fit-content;
    height: fit-content;
    /* white-space: nowrap; */
    font-size: 7pt;
    cursor: move;
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
    text-align: center;
    margin-top: 20px;
}
/* /Components/Pages/TestPlumbing.razor.rz.scp.css */
.control[b-f716xwxrtn] {
    border-color: green;
    border-radius: 10px;
    border-style: solid;
    width: 120px;
    text-align: center;
    cursor: move;
    height: fit-content;
    height: -moz-max-content;
    background-color: white;
}

#diagram .control[b-f716xwxrtn] {
    position: absolute;
}

.window[b-f716xwxrtn] {
    z-index: 30;
}

.jtk-connector[b-f716xwxrtn] {
    z-index: 4;
}

.jtk-endpoint[b-f716xwxrtn] {
    z-index: 5;
}

.jtk-overlay[b-f716xwxrtn] {
    z-index: 6;
}

.custom-menu[b-f716xwxrtn] {
    z-index: 1000;
    position: absolute;
    background-color: #c0c0c0;
    border: 1px solid black;
    padding: 2px;
}

#toolbox .control[b-f716xwxrtn] {
    margin: 10px 5px;
}
/* /Components/Shared/DocumentViewerPanel.razor.rz.scp.css */
.doc-viewer-panel[b-k63dq43v32] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    display: flex;
    flex-direction: column;
    z-index: 500;
    transform: translateY(-100%);
    transition: transform 0.35s ease;
    pointer-events: none;
}

.doc-viewer-panel--open[b-k63dq43v32] {
    transform: translateY(0);
    pointer-events: all;
}

.doc-viewer-header[b-k63dq43v32] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    flex-shrink: 0;
}

.doc-viewer-title[b-k63dq43v32] {
    font-weight: 600;
    font-size: 0.95rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 3rem);
}

.doc-viewer-close[b-k63dq43v32] {
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 0.25rem;
    color: #6c757d;
    flex-shrink: 0;
}

.doc-viewer-close:hover[b-k63dq43v32] {
    color: #212529;
}

.doc-viewer-body[b-k63dq43v32] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e9ecef;
}

.doc-viewer-frame[b-k63dq43v32] {
    width: 100%;
    height: 100%;
    border: none;
}

.doc-viewer-image[b-k63dq43v32] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
/* /Components/Shared/LoadingIndicator.razor.rz.scp.css */
.loading-indicator[b-a9lthxbjqc] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 32px 16px;
    color: #888;
}

.loading-indicator__message[b-a9lthxbjqc] {
    font-size: 13px;
    font-style: italic;
}
/* /Components/TreeViewComponent/TreeViewCMB.razor.rz.scp.css */
/* General tree styling */
.tree[b-30pqccs9be] {
    list-style: none;
    padding-left: 0;
}

    .tree > li[b-30pqccs9be] {
        margin: 0;
        padding: 0;
        position: relative;
        line-height: 1.6;
    }

        /* Toggle button styling */
        .tree > li > span.toggle[b-30pqccs9be] {
            margin-right: 0.5em;
            cursor: pointer;
            color: #007bff;
        }

            .tree > li > span.toggle:hover[b-30pqccs9be] {
                text-decoration: underline;
            }

            .tree > li > span.toggle[b-30pqccs9be]::before {
                content: "\25B6"; /* Right-pointing triangle */
            }

    /* Nested list styling */
    .tree ul[b-30pqccs9be] {
        list-style: none;
        padding-left: 1em;
        margin: 0;
    }

        .tree ul li[b-30pqccs9be] {
            margin: 0;
            padding: 0;
            position: relative;
            line-height: 1.6;
        }

            /* Nested toggle button styling */
            .tree ul li > span.toggle[b-30pqccs9be] {
                margin-right: 0.5em;
                cursor: pointer;
                color: #007bff;
            }

                .tree ul li > span.toggle:hover[b-30pqccs9be] {
                    text-decoration: underline;
                }

                .tree ul li > span.toggle[b-30pqccs9be]::before {
                    content: "\25B6"; /* Right-pointing triangle */
                }

            /* Nested list within list styling */
            .tree ul li > ul.nested[b-30pqccs9be] {
                display: none;
                padding-left: 1em;
            }

            /* Toggle button states */
            .tree ul li > span.toggle.collapsed[b-30pqccs9be]::before {
                content: "\25B8"; /* Right-pointing triangle, rotated 90 degrees */
            }

            .tree ul li > span.toggle.expanded[b-30pqccs9be]::before {
                content: "\25BE"; /* Down-pointing triangle */
            }

            /* Display nested list when expanded */
            .tree ul li.expanded > ul.nested[b-30pqccs9be] {
                display: block;
            }

            /* Text styles */
            .tree > li > span[b-30pqccs9be],
            .tree ul li > span[b-30pqccs9be] {
                font-size: 16px;
                font-weight: bold;
                color: #AD1457; /* Custom color for header nodes */
            }

            .tree ul li > ul.nested[b-30pqccs9be] {
                font-size: 14px;
                font-weight: normal;
                color: #FF3D00; /* Custom color for nested nodes */
                margin-left: 45px; /* Adjusted margin for nested nodes */
            }
