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

/* 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;
    overflow-y: auto; /* ✅ ONLY THIS SCROLLS */
    background: #f9fafb;
}

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

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

/* SIDEBAR */
.sidebar[b-oo8zwkx5in] {
    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-oo8zwkx5in] {
    flex: 1;
    overflow-y: auto; /* ✅ ONLY THIS SCROLLS */
    background: #f9fafb;
}

/* 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: 12px 15px;
    white-space: nowrap;
}

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

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

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

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

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

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

main[b-5ybnzj1r1p] {
    flex: 1;
    min-height: 0;
}

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

    .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;
}
/* /Components/Pages/Administration/PersonagramControl.razor.rz.scp.css */
[b-g9ci4pivyi] .dialog-head {
    /* 20260513 CL - standardised to site blue gradient; was darkblue/gold */
    background: linear-gradient(135deg, #0f4c81, #1e88e5);
    color: white;
}

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

/* 2026-05-02: Position the person selector dialog horizontally centered over the master-container.
   .modal is fixed full-viewport, so absolute pixel offsets are needed:
     - 150px (AdminLayout sidebar width)
     - 16px (capture-control padding-left)
     - (450px master-container − 320px modal) / 2 = 65px to center inside master-container
   Vertical: margin-top:200px keeps it well below the page header / dropdowns (was 60px, too high). */
[b-g9ci4pivyi] .modal-dialog {
    margin-top: 200px;
    margin-left: calc(150px + 16px + (450px - 320px) / 2);
    margin-right: auto;
    max-width: 320px;
}

/* ── Capture layout: two-panel override for this page ── */
.capture-control[b-g9ci4pivyi] {
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 16px;
    padding: 16px;
}

.capture-control .master-container[b-g9ci4pivyi] {
    /* 2026-05-02: cap at 450px to free real-estate for the diagram on the right */
    flex: 0 1 450px;
    max-width: 450px;
}

.diagram-panel[b-g9ci4pivyi] {
    flex: 2 1 420px;
    min-width: 0;
    height: clamp(220px, 42vh, 420px); /* 20260513 CL - was clamp(350px,65vh,750px); reduced so single-node doesn't dominate */
    background: white;
    padding: 10px;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.10);
    overflow: hidden; /* 2026-05-02: hidden (was auto) — flex layout below sizes children to fit, no scroll needed */
    transition: height 0.3s ease;
    /* 2026-05-02: column flex so zoom controls + diagram share panel height; diagram fills remainder via flex:1 */
    display: flex;
    flex-direction: column;
}

/* ── Zoom controls ── */
.org-zoom-controls[b-g9ci4pivyi] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    font-size: 0.8rem;
    color: #555;
}

.org-zoom-btn[b-g9ci4pivyi] {
    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-g9ci4pivyi] {
        background: #e8edf7;
    }

/* ── Org chart SVG container ── */
.org-chart-svg[b-g9ci4pivyi] {
    display: block;
    width: 100%;
    overflow: visible;
}

/* ── Responsive: stack people picker below diagram on small screens ── */
@media (max-width: 650px) {
    .capture-control[b-g9ci4pivyi] {
        flex-direction: column;
    }

    .diagram-panel[b-g9ci4pivyi] {
        flex: none;
        width: 100%;
        height: clamp(250px, 50vh, 400px);
    }

    .capture-control .master-container[b-g9ci4pivyi] {
        flex: none;
        width: 100%;
        animation: slideDown-b-g9ci4pivyi 0.35s ease;
    }
}

@keyframes slideDown-b-g9ci4pivyi {
    from {
        opacity: 0;
        transform: translateY(-16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* /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/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/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/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 */
            }
