/* /Components/CaseGraph/CaseGraphPanel.razor.rz.scp.css */
/* graphmap/app.css sizes #gm-app to 100vh for a full SharePoint page. On the home page graphmap-interop.js
   measures it instead: from where the panel starts down to the top of the fixed footer, so it fills the window
   and the pie charts only appear once the reader scrolls. The height below is just the starting point before
   that measurement runs (and the fallback if it can't).
   contain: inline-size keeps its content's width from setting the layout's min-content width
   (see the same rule on the Chronology timeline in Pages/Chronology/ChronologyList.razor.css). */
#gm-app[b-e0vzce4r37] {
    height: calc(100vh - 150px);
    min-height: 520px;
    contain: inline-size;
}
/* /Components/NeuroMap/NeuroMapPanel.razor.rz.scp.css */
/* neuromap/app.css sizes #nf-app to 100vh for a full SharePoint page; here it fills the window below the
   site's fixed header (64px) and the page padding instead.
   contain: inline-size keeps its content's width from setting the layout's min-content width
   (see the same rule on the Chronology timeline in Pages/Chronology/ChronologyList.razor.css). */
#nf-app[b-08t2wjy1c4] {
    height: calc(100vh - 150px);
    min-height: 640px;
    contain: inline-size;
}

/* Narrow screens: app.css lets the app grow and the page scroll instead of squeezing it into one window. */
@media (max-width: 960px) {
    #nf-app[b-08t2wjy1c4] {
        height: auto;
    }
}
/* /Components/WhatsNew/WhatsNewList.razor.rz.scp.css */
/* Styles extracted from `Layout/MainLayout.razor.css` that are used by `WhatsNewList.razor` */

/* Base accordion button style used by the list header */
.accordion-button[b-d2zmm0ay19] {
    background-color: #dfdddd;
}

/* Count display wrapper shown in the header next to the title and spinner */
.count-display-wrapper[b-d2zmm0ay19] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Make the Links-style list scrollable when content exceeds max height */
.rightpanel_links ul[b-d2zmm0ay19] {
    max-height: 310px;
    overflow-y: auto;
    padding-right: 8px; /* space for scrollbar */
}

/* Optional: nicer scrollbar for WebKit browsers */
.rightpanel_links ul[b-d2zmm0ay19]::-webkit-scrollbar {
    width: 8px;
}

.rightpanel_links ul[b-d2zmm0ay19]::-webkit-scrollbar-track {
    background: transparent;
}

.rightpanel_links ul[b-d2zmm0ay19]::-webkit-scrollbar-thumb {
    background-color: rgba(0,0,0,0.2);
    border-radius: 4px;
}

/* Keep spacing for status labels consistent */
.rightpanel_links ul li .text-muted[b-d2zmm0ay19],
.rightpanel_links ul li .text-danger[b-d2zmm0ay19] {
    display: inline-block;
    padding-left: 10px;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-lmay3gmvqw] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-lmay3gmvqw] {
    flex: 1;
}

.sidebar[b-lmay3gmvqw] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-lmay3gmvqw] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-lmay3gmvqw]  a, .top-row[b-lmay3gmvqw]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

        .top-row[b-lmay3gmvqw]  a:hover, .top-row[b-lmay3gmvqw]  .btn-link:hover {
            text-decoration: underline;
        }

        .top-row[b-lmay3gmvqw]  a:first-child {
            overflow: hidden;
            text-overflow: ellipsis;
        }

@media (max-width: 640.98px) {
    .top-row[b-lmay3gmvqw] {
        justify-content: space-between;
    }

        .top-row[b-lmay3gmvqw]  a, .top-row[b-lmay3gmvqw]  .btn-link {
            margin-left: 0;
        }
}

@media (min-width: 641px) {
    .page[b-lmay3gmvqw] {
        flex-direction: row;
    }

    .sidebar[b-lmay3gmvqw] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-lmay3gmvqw] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

        .top-row.auth[b-lmay3gmvqw]  a:first-child {
            flex: 1;
            text-align: right;
            width: 0;
        }

    .top-row[b-lmay3gmvqw], article[b-lmay3gmvqw] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

/* New layout enhancements */
.header-spacer[b-lmay3gmvqw] {
    flex: 1;
}

.mobile-menu-trigger[b-lmay3gmvqw] {
    display: none;
    background: rgba(255, 255, 255, .25);
    border: 1px solid rgba(255, 255, 255, .4);
    padding: 5px 10px;
    /*padding: 6px 10px;*/
    border-radius: 8px;
    cursor: pointer;
    position: relative;
}

    .mobile-menu-trigger .mm-bar[b-lmay3gmvqw] {
        display: block;
        width: 22px;
        height: 2px;
        background: #244880;
        margin: 4px 0;
        transition: all .25s;
    }

.side-nav[b-lmay3gmvqw] {
    transition: transform .3s ease, box-shadow .3s ease;
    min-width: 250px;
    max-width: 250px;
}

@media (max-width: 1024px) {
    .d-md-flex[b-lmay3gmvqw] {
        display: none !important;
    }

    .mobile-menu-trigger[b-lmay3gmvqw] {
        display: inline-block;
    }

    .layout-container[b-lmay3gmvqw] {
        position: relative;
    }

    .side-nav[b-lmay3gmvqw] {
        position: fixed;
        top: 0px;
        left: 0;
        height: 100vh;
        width: 250px;
        transform: translateX(-100%);
        z-index: 300;
        box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

        .side-nav.open[b-lmay3gmvqw] {
            transform: translateX(0);
            box-shadow: 2px 0 12px rgba(0, 0, 0, .25);
        }

    .nav-overlay[b-lmay3gmvqw] {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, .4);
        backdrop-filter: blur(1px);
        z-index: 250;
    }

    .project-title[b-lmay3gmvqw] {
        font-size: 1.25rem;
    }
}

/* Header spacing for top menu */
.main-header[b-lmay3gmvqw] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    position: relative;
    z-index: 10;
}

.project-logo[b-lmay3gmvqw] {
    max-height: 48px;
}

.header-spacer[b-lmay3gmvqw] {
    flex: 1 1 auto;
}

/* Image section: center spinner/logo consistently */
.picture[b-lmay3gmvqw] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 80px; /* ensures spinner is vertically centered within title box */
}

    .picture img[b-lmay3gmvqw] {
        max-width: 100%;
        height: auto;
        display: block;
    }

/* Title bar: center spinner only when loading */
.picture_title h3.title-loading[b-lmay3gmvqw] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    height: 35px;
}

/* Top menu styling and responsiveness */
.top-menu[b-lmay3gmvqw] {
    width: 100%;
    background: transparent;
    margin: 0;
    padding: 0.5rem 0;
}

.top-menu-list[b-lmay3gmvqw] {
    display: flex;
    gap: 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-x: auto;
}

.top-menu-item[b-lmay3gmvqw] {
    flex: 0 0 auto;
}

.top-menu-link[b-lmay3gmvqw] {
    display: block;
    /*padding: 0.75rem 1rem;*/
    padding: 0.5rem 0.75rem;
    background: #002b36;
    color: #fff;
    font-weight: 700;
    border-radius: 2px;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 4px;
}

    .top-menu-link:hover[b-lmay3gmvqw], .top-menu-link:focus[b-lmay3gmvqw] {
        background-color: #19404a;
        color: #fff;
    }

.caret[b-lmay3gmvqw] {
    margin-left: 0.25rem;
    font-size: 0.9em;
}

/* Dropdown (optional) */
.has-dropdown[b-lmay3gmvqw] {
    position: relative;
}

    .has-dropdown .dropdown[b-lmay3gmvqw] {
        display: none;
        position: absolute;
        left: 0;
        top: 100%;
        background: #fff;
        color: #333;
        min-width: 200px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        padding: 0.5rem 0;
        z-index: 1000;
    }

        .has-dropdown .dropdown li[b-lmay3gmvqw] {
            list-style: none;
        }

        .has-dropdown .dropdown a[b-lmay3gmvqw] {
            display: block;
            padding: 0.5rem 0.75rem;
            color: #333;
            text-decoration: none;
        }

    .has-dropdown:hover .dropdown[b-lmay3gmvqw] {
        display: block;
    }

.accordion-button[b-lmay3gmvqw] {
    background-color: #dfdddd;
}
    /* Modern, icon-only accordion header */
    .accordion-button.icon-only[b-lmay3gmvqw] {
        /* very light mint/teal gradient */
        background: linear-gradient(180deg, #eef9f4 0%, #e6f6f0 60%, #def3ed 100%);
        color: #245c51; /* soft contrast over light background */
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .5rem;
        padding: .6rem;
        min-height: 48px;
        border-radius: 12px;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 1px 3px rgba(0,0,0,.12);
    }

        .accordion-button.icon-only[b-lmay3gmvqw]::after {
            /* Hide default Bootstrap caret */
            display: none;
        }

        .accordion-button.icon-only .accordion-icon[b-lmay3gmvqw] {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            border-radius: 999px;
            background: radial-gradient(circle at 30% 20%, #ffffff, rgba(255,255,255,.9) 70%);
            box-shadow: 0 2px 8px rgba(0,0,0,.12), inset 0 0 0 1px rgba(0,0,0,.08);
            color: #17a773; /* green chevron */
        }

        .accordion-button.icon-only .chevron[b-lmay3gmvqw] {
            transition: transform .2s ease;
        }

        .accordion-button.icon-only:not(.collapsed) .chevron[b-lmay3gmvqw] {
            transform: rotate(180deg);
        }

        .accordion-button.icon-only:hover[b-lmay3gmvqw],
        .accordion-button.icon-only:focus[b-lmay3gmvqw],
        .accordion-button.icon-only.collapsed[b-lmay3gmvqw],
        .accordion-button.icon-only:not(.collapsed)[b-lmay3gmvqw] {
            /* keep consistent very light mint gradient on all states */
            background: linear-gradient(180deg, #eef9f4 0%, #e6f6f0 60%, #def3ed 100%);
            box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), 0 3px 8px rgba(0,0,0,.12);
        }

        /* remove default bootstrap focus ring color change */
        .accordion-button.icon-only:focus[b-lmay3gmvqw] {
            outline: none;
            box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), 0 3px 8px rgba(0,0,0,.12);
        }

        .accordion-button.icon-only:active[b-lmay3gmvqw] {
            transform: translateY(0.5px);
        }
/* Mobile tweaks */
@media (max-width: 768px) {
    .top-menu-list[b-lmay3gmvqw] {
        gap: 0.5rem;
        flex-wrap: wrap;
    }

    .top-menu-link[b-lmay3gmvqw] {
        padding: 0.5rem 0.75rem;
        font-weight: 700;
    }
}

/* Make the Links section scrollable when content exceeds max height */
.rightpanel_links ul[b-lmay3gmvqw] {
    max-height: 300px;
    overflow-y: auto;
    padding-right: 8px; /* space for scrollbar */
}

    /* Optional: nicer scrollbar for WebKit browsers */
    .rightpanel_links ul[b-lmay3gmvqw]::-webkit-scrollbar {
        width: 8px;
    }

    .rightpanel_links ul[b-lmay3gmvqw]::-webkit-scrollbar-track {
        background: transparent;
    }

    .rightpanel_links ul[b-lmay3gmvqw]::-webkit-scrollbar-thumb {
        background-color: rgba(0,0,0,0.2);
        border-radius: 4px;
    }

    .rightpanel_links ul li .text-muted[b-lmay3gmvqw],
    .rightpanel_links ul li .text-danger[b-lmay3gmvqw] {
        display: inline-block;
        padding-left: 10px;
    }

/* Add scroll utility script reference */
/* existing styles remain */

/* Home page top panel: Case Relationship Graph, above the pie charts */
.home-top-panels[b-lmay3gmvqw] {
    padding: 0 0.75rem;
    margin-bottom: 1rem;
}

.home-panel[b-lmay3gmvqw] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 1rem;
}

    .home-panel h3[b-lmay3gmvqw] {
        padding: 8px 12px;
        margin: 0;
        background: #244880;
        font-size: 16px;
        font-weight: 600;
        color: #fff;
    }

.home-panel-body[b-lmay3gmvqw] {
    padding: 12px;
    min-height: 60px;
}

@media (max-width: 768px) {
    .home-top-panels[b-lmay3gmvqw] {
        padding: 0 0.25rem;
    }

    .home-panel h3[b-lmay3gmvqw] {
        font-size: 14px;
    }
}

/* What's HOT! tag cloud */
.whats-hot-tag-cloud[b-lmay3gmvqw] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.6rem;
    line-height: 1.6;
}

.whats-hot-tag[b-lmay3gmvqw] {
    display: inline-block;
    text-decoration: none;
    font-weight: 400;
    transition: opacity 0.15s, transform 0.15s;
    white-space: nowrap;
}

    .whats-hot-tag:hover[b-lmay3gmvqw] {
        opacity: 0.75;
        transform: scale(1.08);
        text-decoration: underline;
    }

@media (max-width: 768px) {
    .whats-hot-tag-cloud[b-lmay3gmvqw] {
        gap: 0.25rem 0.4rem;
    }
}

/* What's Trending tag cloud */
.whats-trending-tag-cloud[b-lmay3gmvqw] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.6rem;
    line-height: 1.6;
}

.whats-trending-tag[b-lmay3gmvqw] {
    display: inline-block;
    text-decoration: none;
    font-weight: 400;
    transition: opacity 0.15s, transform 0.15s;
    white-space: nowrap;
}

    .whats-trending-tag:hover[b-lmay3gmvqw] {
        opacity: 0.75;
        transform: scale(1.08);
        text-decoration: underline;
    }

@media (max-width: 768px) {
    .whats-trending-tag-cloud[b-lmay3gmvqw] {
        gap: 0.25rem 0.4rem;
    }
}

/* Generic count display wrapper (reusable for any count with loading state) */
[b-lmay3gmvqw] .count-display-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-p3ovf8mzcl] {
    background-color: rgba(255, 255, 255, 0.1);
}

.nav-inner[b-p3ovf8mzcl] {
    display: flex;
    flex-direction: column;
    height: 100%;
    /* allow inner to stretch to sheet width in mobile */
    min-width: 0;
    max-width: none;
}
.section-group[b-p3ovf8mzcl] {
    margin: 0 16px
}
.nav-item[b-p3ovf8mzcl] {
    font-size: 0.9rem;
    /*padding-bottom: 0.5rem;*/
}

    .nav-item:first-of-type[b-p3ovf8mzcl] {
        margin-top: 1rem;
    }

    .nav-item:last-of-type[b-p3ovf8mzcl] {
        margin-bottom: 1rem;
    }

    .nav-item[b-p3ovf8mzcl]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

        .nav-item[b-p3ovf8mzcl]  a.active {
            background-color: rgba(255,255,255,0.37);
            color: white;
        }

        .nav-item[b-p3ovf8mzcl]  a:hover {
            background-color: rgba(255,255,255,0.1);
            color: white;
        }

/* Base icon styles retained */
.bi[b-p3ovf8mzcl] {
    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-p3ovf8mzcl] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8.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.5H6a.5.5 0 0 0 .5-.5v-3.5c0-.245.25-.5.5-.5h2c.25 0 .5.255.5.5V15a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V3.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-p3ovf8mzcl] {
    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-p3ovf8mzcl] {
    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-people-fill-nav-menu[b-p3ovf8mzcl] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M13 7c1.105 0 2-.672 2-1.5S14.105 4 13 4s-2 .672-2 1.5S11.895 7 13 7z'/%3E%3Cpath fill-rule='evenodd' d='M13 8c-1.216 0-3 .738-3 1.75V12h6v-2.25C16 8.738 14.216 8 13 8z'/%3E%3Cpath d='M3 7c1.105 0 2-.672 2-1.5S4.105 4 3 4 1 4.672 1 5.5 1.895 7 3 7z'/%3E%3Cpath fill-rule='evenodd' d='M3 8c-1.216 0-3 .738-3 1.75V12h6v-2.25C6 8.738 4.216 8 3 8z'/%3E%3Cpath d='M8 7c1.657 0 3-1.007 3-2.25S9.657 2.5 8 2.5 5 3.507 5 4.75 6.343 7 8 7z'/%3E%3Cpath fill-rule='evenodd' d='M8 8c-1.662 0-5 1.005-5 2.25V12h10v-1.75C13 9.005 9.662 8 8 8z'/%3E%3C/svg%3E");
}

.bi-file-earmark-text-fill-nav-menu[b-p3ovf8mzcl] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1z'/%3E%3Cpath d='M5.5 7a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4A.5.5 0 0 1 5.5 7zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4A.5.5 0 0 1 5.5 9zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.mobile-only[b-p3ovf8mzcl] {
    display: none;
}

.mobile-close-row[b-p3ovf8mzcl] {
    display: none;
    padding: .5rem .5rem .25rem;
}

.close-nav-btn[b-p3ovf8mzcl] {
    width: 18px;
    height: 18px;
    padding: 0px;
    border-radius: 100px;
    background: #244880;
    flex-shrink: 0;
    border: none;
    color: #fff;
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 5px;
    right: 10px;
}

    .close-nav-btn:hover[b-p3ovf8mzcl] {
        color: #ffdddd;
    }

.mobile-user-block[b-p3ovf8mzcl] {
    padding: 1rem .75rem 1.25rem;
    border-top: 1px solid rgba(255,255,255,.15);
}

.mobile-user-name[b-p3ovf8mzcl] {
    font-size: .85rem;
    font-weight: 600;
    color: #244880;
    background: #fff;
    padding: 6px 12px;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0,0,0,.25);
}

.mobile-nav-header[b-p3ovf8mzcl] {
    display: none;
    align-items: center;
    justify-content: space-between;
    padding: .85rem .85rem .65rem;
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 2;
    gap: 10px;
}

.mobile-brand[b-p3ovf8mzcl] {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .5px;
    color: #fff;
    max-width: calc(100% - 45px);
}

.mobile-nav-scroll[b-p3ovf8mzcl] {
    flex: 1 1 auto;
    overflow-y: auto;
}

/* Offcanvas behavior handled by parent layout; component just fills area */
@media (max-width: 1024px) {
    .mobile-only[b-p3ovf8mzcl] {
        display: block;
    }

    .mobile-close-row[b-p3ovf8mzcl] {
        display: flex;
    }

    .mobile-nav-header[b-p3ovf8mzcl] {
        display: flex;
    }

    /* ensure offcanvas spans full viewport height from very top */
    .side-nav[b-p3ovf8mzcl] {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        height: 100vh !important;
        width: min(85vw, 320px);
        max-width: 100vw;
        z-index: 1040; /* above page content */
        padding-bottom: env(safe-area-inset-bottom, 0);
    }

    /* Sticky logout visibility improvements */
    .mobile-nav-wrapper[b-p3ovf8mzcl] {
        display: flex;
        flex-direction: column;
        height: 100%;
        max-height: 100vh; /* occupy viewport */
        width: 100%;
    }
    
    .mobile-nav-scroll[b-p3ovf8mzcl][b-p3ovf8mzcl] {
        flex: auto;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        /* padding-bottom: 72px; */
        max-height: Calc(100vh - 160px);
        display: flex;
        flex-wrap: nowrap;
    }

    .mobile-user-block[b-p3ovf8mzcl] {
        position: sticky;
        bottom: 0;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom,0));
        z-index: 10;
        width: 100%;
    }

        .mobile-user-block .logout-btn[b-p3ovf8mzcl] {
            margin-top: 10px;
        }
}

/* Left menu groups */

.left-menu[b-p3ovf8mzcl] {
    padding: .5rem 0;
}

.section-group[b-p3ovf8mzcl] {
    margin-bottom: .75rem;
}

.group-header[b-p3ovf8mzcl] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .75rem;
    background: #5e7980; /* grey bar like screenshot */
    color: #fff;
    font-weight: 700;
    border: 0;
    border-radius: 2px;
    cursor: pointer;
    text-align: left;
}

.group-title[b-p3ovf8mzcl] {
    line-height: 1;
}

.group-caret[b-p3ovf8mzcl] {
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 10px solid #d9dde3; /* light triangle */
    transition: transform .15s ease-in-out;
}

    .group-caret.open[b-p3ovf8mzcl] {
        transform: rotate(90deg);
    }

.group-list[b-p3ovf8mzcl] {
    list-style: none;
    margin: .5rem 0 0 0;
    padding: 0 .25rem 0 .25rem;
}

.group-item[b-p3ovf8mzcl] {
    margin: .25rem 0;
    color: #5e7980;
    display: flex;
    align-items: center;
}

    .group-item:hover[b-p3ovf8mzcl] {
        color: white;
        background: rgba(255,255,255,0.1);
    }
/* Items styled like screenshot: bold, dark blue, no underline */
.nav-link[b-p3ovf8mzcl] {
    display: inline-block;
    padding: .35rem .25rem;
    color: #5e7980; /* navy-ish */
    font-weight: 700;
    text-decoration: none;
}

    .nav-link:hover[b-p3ovf8mzcl], .nav-link.active[b-p3ovf8mzcl] {
        text-decoration: underline;
    }

/* Mobile tweaks */
@media (max-width: 768px) {
    .group-header[b-p3ovf8mzcl] {
        padding: .5rem .5rem;
    }

    .nav-link[b-p3ovf8mzcl] {
        padding: .3rem .2rem;
    }
}
/* /Pages/CaseFile/CaseFilePage.razor.rz.scp.css */
.case-file-stack > *[b-0kvoxfucs3] {
    margin-bottom: 24px;
}

.case-file-stack > *:last-child[b-0kvoxfucs3] {
    margin-bottom: 0;
}

/* Shared dark-navy header bar for both Case File panels, matching the Control page panels */
[b-0kvoxfucs3] .case-file-panel-header {
    padding: 8px 12px;
    margin: 0 0 12px 0;
    background: #244880;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
}

/* The Case File tables only have two or three short columns, so they fit any width. Drop the
   shared 1000px+ minimum table width that makes the other list tables scroll sideways. */
[b-0kvoxfucs3] .case-file-table {
    min-width: 0;
    width: 100%;
}

[b-0kvoxfucs3] .case-file-table td {
    overflow-wrap: anywhere;
}

/* Date column of the document rows inside an expanded category — same width as its table header */
[b-0kvoxfucs3] .case-file-date-col {
    width: 140px;
}

@media (max-width: 1024px) {
    .page-content-spacing[b-0kvoxfucs3] {
        padding: 0 16px 40px 16px !important;
    }
}

@media (max-width: 767.98px) {
    /* Case Documents: narrower icon and date columns so the name keeps most of the width */
    [b-0kvoxfucs3] .case-file-table:not(.case-file-table-deps) th:first-child {
        width: 28px !important;
    }

    [b-0kvoxfucs3] .case-file-table:not(.case-file-table-deps) th:last-child,
    [b-0kvoxfucs3] .case-file-date-col {
        width: 100px !important;
    }

    /* Depositions and Exhibits: stays a table on a phone, like the other lists; the Modified and Modified By
       columns get narrower so the file name keeps most of the width */
    [b-0kvoxfucs3] .case-file-table-deps th:nth-child(n + 2) {
        width: 100px !important;
    }
}
/* /Pages/CaseFile/CaseFilePager.razor.rz.scp.css */
/* On a phone the numbered buttons (up to 7, plus first/previous/next/last) are wider than the
   screen — keep only the current page between the arrows. */
@media (max-width: 767.98px) {
    .pagination .page-number:not(.active)[b-ycqjr9c98m],
    .pagination .page-gap[b-ycqjr9c98m] {
        display: none;
    }
}
/* /Pages/CaseSpecs/CaseSpecsPage.razor.rz.scp.css */
/* Fit the table to the available width (cancels the shared 1100px minimum) so it never needs a
   horizontal scrollbar; long text wraps inside its cell instead. */
[b-frsp48narc] .case-specs-table {
    width: 100%;
    min-width: 0;
}

[b-frsp48narc] .case-specs-table td {
    overflow-wrap: anywhere;
    white-space: pre-line;
}

/* Only the numbers are right-aligned; every column header stays left-aligned */
[b-frsp48narc] .case-specs-table td.num {
    text-align: right;
    white-space: nowrap;
}

[b-frsp48narc] .case-specs-table th.num {
    text-align: left;
}

/* Description and Notes share about a third of the table; the other six columns split the rest, which keeps their
   headers to two lines at normal desktop widths. */
[b-frsp48narc] .case-specs-table .col-text {
    width: 16%;
}

/* Search input: constrained on wide screens, full width on phones (same as the Chronology, MOI and Dialogue pages) */
[b-frsp48narc] .action-search {
    max-width: 320px;
}

/* The sorted column's cells use the shared fancy-names-table tint (td.sorted-cell). The header is left alone on
   purpose: its background must not change when it is clicked. The striped rows paint over the tint with a box
   shadow, so it is switched off for these cells to keep the whole column tinted, not every other row. */
[b-frsp48narc] .case-specs-table td.sorted-cell {
    box-shadow: none;
}

/* The shared filter row gives its inputs a 120px minimum, which across 8 columns would force a horizontal
   scrollbar on smaller screens; let them shrink with their column instead. */
[b-frsp48narc] .case-specs-table .filters-row input {
    min-width: 0;
    width: 100%;
}

/* Let a long header name wrap onto a second line, and keep Description / Notes from collapsing to a sliver, so the 8
   columns fit a laptop screen (or a browser zoomed to 125%) without sideways scrolling. */
[b-frsp48narc] .case-specs-table thead .hdr-row th {
    white-space: normal;
}

[b-frsp48narc] .case-specs-table .col-text {
    min-width: 11rem;
}

/* Sort mark: the active arrow, or a faint up-down icon on the other columns so it is clear they can be sorted.
   It sits in its own spot just left of the funnel (top right of the header cell) instead of after the text, so a
   left- or right-aligned header keeps its text lines flush. The header gets extra right padding to make room. */
[b-frsp48narc] .case-specs-table thead .hdr-row th {
    padding-right: 2.85rem;
}

[b-frsp48narc] .case-specs-table .sort-mark {
    position: absolute;
    top: .35rem;
    right: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: .9rem;
    height: 1.25rem;
    line-height: 1.25rem;
}

[b-frsp48narc] .case-specs-table .sort-idle {
    font-size: .8em;
    opacity: .35;
}

/* The header cell is focusable so Enter / Space sorts; draw the ring only for keyboard focus, never on a mouse click */
[b-frsp48narc] .case-specs-table thead th:focus {
    outline: none;
}

[b-frsp48narc] .case-specs-table thead th:focus-visible {
    outline: 2px solid #3767B0;
    outline-offset: -2px;
}

/* More / Less button after a long Description or Notes preview */
[b-frsp48narc] .case-specs-table .more-less-btn {
    vertical-align: baseline;
    font-size: inherit;
}

@media (max-width: 1024px) {
    .page-content-spacing[b-frsp48narc] {
        padding: 0 16px 40px 16px !important;
    }
}

/* Tablets: the text columns share the width more evenly and the shorter ones can wrap */
@media (max-width: 991.98px) {
    [b-frsp48narc] .case-specs-table .col-text {
        width: 26%;
    }

    [b-frsp48narc] .case-specs-table td.num {
        white-space: normal;
    }
}

/* Phones: the table stays a table and scrolls sideways inside its box, like the other list pages. Only the search
   box changes: full width, without its side margin so it lines up with the table below. */
@media (max-width: 767.98px) {
    [b-frsp48narc] .action-search {
        max-width: 100%;
        width: 100%;
        margin-right: 0 !important;
    }
}
/* /Pages/Chronology/ChronologyList.razor.rz.scp.css */

/* Prevent horizontal page overflow from the table */
.page-content-spacing[b-2y37pkau15] {
    overflow-x: clip;
}

/* Ensure all 6 columns stay legible before horizontal scroll kicks in */
.data-table-wrapper > table[b-2y37pkau15] {
    min-width: 920px;
}

/* Timeline view (markmap2/app.css): fill the viewport below the page header instead of a full 100vh.
   contain: inline-size stops the timeline's very wide strip of periods from setting the layout's
   min-content width (MainLayout's flex <main> grows to it), which gave the whole window thousands of
   px of horizontal overflow: arrow keys / Tab then scrolled the page under the fixed side nav. */
#m2-app[b-2y37pkau15] {
    height: calc(100vh - 200px);
    min-height: 640px;
    contain: inline-size;
}

/* Search input: constrained on wide screens, full-width on mobile */
.action-search[b-2y37pkau15] {
    max-width: 320px;
}

/* ── Tablet / small desktop (portrait & landscape) ── */
@media (max-width: 1024px) {
    .page-content-spacing[b-2y37pkau15] {
        padding: 0 16px 40px 16px !important;
    }

    .data-table-wrapper[b-2y37pkau15] {
        max-width: calc(100vw - 32px);
    }
}

/* ── Landscape tablets/laptops where width > 1024 but height is short ── */
@media (max-width: 1366px) and (orientation: landscape) {
    .data-table-wrapper[b-2y37pkau15] {
        max-width: calc(100vw - 32px);
    }
}

/* ── Mobile (portrait) ── */
@media (max-width: 767px) {
    .action-bar[b-2y37pkau15] {
        flex-direction: column;
        align-items: stretch !important;
        gap: .5rem !important;
    }

    .action-search[b-2y37pkau15] {
        max-width: 100%;
        width: 100%;
    }

    .btn-cluster[b-2y37pkau15] {
        flex-wrap: wrap;
    }

    .pagination-bar[b-2y37pkau15] {
        flex-direction: column;
        align-items: flex-start !important;
    }
}
/* /Pages/Control/ControlContactsSection.razor.rz.scp.css */

/* The global .fancy-names-table styling highlights the currently-sorted column
   with a cream/yellow tint (th.sorted-col / td.sorted-cell). This panel should
   look plain/normal instead — overridden here only, so NamesList and any other
   page using .fancy-names-table keep their existing highlight. */
.fancy-names-table td.sorted-cell[b-6vl5qfsl99] {
    background: transparent !important;
    font-weight: 500;
}

.fancy-names-table th.sorted-col[b-6vl5qfsl99] {
    background: none !important;
}

/* Bootstrap's .alert-dismissible .btn-close uses a fixed padding (1.25rem 1rem)
   sized for the default alert box. This alert is shrunk with py-2/px-3/small, so
   that fixed padding no longer centers the button — vertically center it instead
   so it lines up with the single line of text regardless of box height. */
.alert-dismissible.py-2 .btn-close[b-6vl5qfsl99] {
    top: 50%;
    padding: 0.5rem 0.75rem;
    transform: translateY(-50%);
}
/* /Pages/Control/ControlManagementDiscussionSection.razor.rz.scp.css */

/* Forces the header <th> width:% hints to actually be respected instead of the
   browser sizing columns to fit content (which was pushing the table wider than
   its container and triggering an unwanted horizontal scrollbar). */
.data-table-wrapper table[b-t9ifxendea] {
    table-layout: fixed;
    width: 100%;
}

/* Overrides the global ".data-table-wrapper > table { min-width: 1100px; }" rule
   from wwwroot/css/style.css (intended for wider, many-column tables like Key
   Documents) — this panel only has 4 narrow columns and doesn't need that floor.
   Scoped to this component only, so other pages using .data-table-wrapper are
   unaffected. */
.data-table-wrapper > table[b-t9ifxendea] {
    min-width: 0;
}

.data-table-wrapper td[b-t9ifxendea],
.data-table-wrapper th[b-t9ifxendea] {
    overflow-wrap: break-word;
}

/* Search input: on its own row above the filter bar, constrained on wide screens,
   full-width on mobile — matches Dialogue/MOI list pages' search box width */
.action-search[b-t9ifxendea] {
    max-width: 320px;
}

@media (max-width: 767px) {
    .action-search[b-t9ifxendea] {
        max-width: 100%;
        width: 100%;
    }
}

@media (max-width: 767px) {
    /* Stack the search box + Reset button */
    .search-row[b-t9ifxendea] {
        flex-direction: column;
        align-items: stretch;
        gap: .5rem;
    }

    .action-bar[b-t9ifxendea] {
        flex-direction: column;
        align-items: stretch;
        gap: .5rem;
    }

    .action-bar select[b-t9ifxendea] {
        width: 100%;
    }

    .action-bar .ms-auto[b-t9ifxendea] {
        margin-left: 0 !important;
    }

    /* Table stays horizontally scrollable rather than crushing columns unreadably */
    .data-table-wrapper > table[b-t9ifxendea] {
        min-width: 900px;
    }
}
/* /Pages/Control/ControlPage.razor.rz.scp.css */

.control-grid[b-brx6beq9tf] {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 32px;
    align-items: start;
}

.control-col[b-brx6beq9tf] {
    /* Without this, a grid track won't shrink below its content's natural width
       (e.g. the Management Discussion table), so the fr ratio above gets ignored
       and the column blows out wider than intended. */
    min-width: 0;
}

.control-col > *[b-brx6beq9tf] {
    margin-bottom: 24px;
}

.control-col > *:last-child[b-brx6beq9tf] {
    margin-bottom: 0;
}

/* Shared header bar for all four Control-page panels (Management Discussion,
   Contacts, Links and Workspaces, Management Documents) */
[b-brx6beq9tf] .control-panel-header {
    padding: 8px 12px;
    margin: 0 0 12px 0;
    background: #244880;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
}

@media (max-width: 1024px) {
    .page-content-spacing[b-brx6beq9tf] {
        padding: 0 16px 40px 16px !important;
    }
}

@media (max-width: 900px) {
    .control-grid[b-brx6beq9tf] {
        grid-template-columns: 1fr;
        gap: 0;
    }
}
/* /Pages/Dialogue/DialogueList.razor.rz.scp.css */

/* Search input: on its own row above the filter bar, constrained on wide screens,
   full-width on mobile — matches MOI list page's search box width */
.action-search[b-0sz6093r8u] {
    max-width: 320px;
}

@media (max-width: 767px) {
    .action-search[b-0sz6093r8u] {
        max-width: 100%;
        width: 100%;
    }
}

/* Searchable "All Tags" combobox */
.tag-search-wrap[b-0sz6093r8u] {
    min-width: 180px;
}

.tag-search-input[b-0sz6093r8u] {
    min-width: 180px;
    width: auto;
}

.tag-dropdown-list[b-0sz6093r8u] {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1050;
    margin-top: 2px;
    min-width: 220px;
    max-height: 260px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    box-shadow: 0 4px 10px rgba(0,0,0,.12);
}

.tag-dropdown-item[b-0sz6093r8u] {
    padding: 6px 12px;
    font-size: .85rem;
    cursor: pointer;
    white-space: nowrap;
}

.tag-dropdown-item:hover[b-0sz6093r8u] {
    background: #f1f3f5;
}

.tag-dropdown-item.active[b-0sz6093r8u] {
    background: #e7f1ff;
    font-weight: 600;
}

/* Responsive tiers matching KeyDocsList's own filter-row breakpoints */
@media (max-width: 1024px) {
    .page-content-spacing[b-0sz6093r8u] {
        padding: 0 16px 40px 16px !important;
    }
}

@media (max-width: 767px) {
    /* Stack the search box + Reset button */
    .search-row[b-0sz6093r8u] {
        flex-direction: column;
        align-items: stretch;
        gap: .5rem;
    }

    /* Stack the tag combobox, filter dropdowns, and New Thread button full-width */
    .action-bar[b-0sz6093r8u] {
        flex-direction: column;
        align-items: stretch;
        gap: .5rem;
    }

    .action-bar select[b-0sz6093r8u],
    .tag-search-wrap[b-0sz6093r8u],
    .tag-search-input[b-0sz6093r8u],
    .tag-dropdown-list[b-0sz6093r8u] {
        width: 100%;
    }

    .action-bar .ms-auto[b-0sz6093r8u] {
        margin-left: 0 !important;
    }

    /* Table stays horizontally scrollable rather than crushing columns unreadably */
    .data-table-wrapper > table[b-0sz6093r8u] {
        min-width: 900px;
    }
}
/* /Pages/Dialogue/DialogueThreadDetail.razor.rz.scp.css */

/* Slightly tighter vertical padding inside each post/reply/compose card — content stays
   fully readable, just less "air" above/below it, matching the requested denser layout. */
.card .card-body[b-xbld1n0zc2] {
    padding-top: .75rem;
    padding-bottom: .75rem;
}

@media (max-width: 767px) {
    /* Header (subject + Back button) and each post/reply's meta+action row: allow
       wrapping instead of overflowing horizontally on a narrow phone screen. */
    .d-flex.justify-content-between[b-xbld1n0zc2] {
        flex-wrap: wrap;
        row-gap: .5rem;
    }

    .card .card-body[b-xbld1n0zc2] {
        padding: .6rem;
    }
}
/* /Pages/Dialogue/DialogueThreadForm.razor.rz.scp.css */

/* Narrow the field-label column so inputs get more room — scoped to this form only
   (Bootstrap's .col-sm-3/.col-sm-9 are shared globally, so overriding them directly
   here instead of editing bootstrap.css keeps every other page's forms unaffected).
   Wrapped in the same min-width:576px breakpoint Bootstrap itself uses for .col-sm-3/9,
   so below that width Bootstrap's own default (full-width stacked label+field) still
   applies instead of being forced into a 15%-wide column that would crush the label text
   on a phone screen. */
@media (min-width: 576px) {
    .row > .col-sm-3.col-form-label[b-ed2uemcgxx] {
        width: 15%;
    }

    .row > .col-sm-9.form-field-col[b-ed2uemcgxx] {
        width: 85%;
    }
}

.transfer-select[b-ed2uemcgxx] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: flex-start;
    gap: 1rem;
}

/* Native <select size="N"> elements don't reliably stretch to fill a grid track
   themselves (their own intrinsic/content-based size can win over width:100%).
   Wrapping each select in a plain div grid item sidesteps that: the div stretches
   to the track using ordinary block layout, and the select just needs width:100%
   against that div, an ordinary percentage resolution unaffected by content. */
.transfer-select .transfer-list-wrap[b-ed2uemcgxx] {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

.transfer-select .transfer-list[b-ed2uemcgxx] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 260px;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: scroll;
    font-size: .85rem;
    border: 1px solid #ced4da;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    scrollbar-width: thin;
}

.transfer-select .transfer-list[b-ed2uemcgxx]::-webkit-scrollbar {
    width: 8px;
}

.transfer-select .transfer-list[b-ed2uemcgxx]::-webkit-scrollbar-track {
    background: transparent;
}

.transfer-select .transfer-list[b-ed2uemcgxx]::-webkit-scrollbar-thumb {
    background: #ced4da;
    border-radius: 4px;
}

/* Matches KeyDocEdit's transfer-list option style exactly: wraps long tag names across
   lines instead of truncating. Safe now that the select has an explicit height:260px —
   the earlier ellipsis workaround was needed only while the box's height was still being
   computed from the native size="10" attribute (see height:260px above, which already
   overrides that entirely — KeyDocEdit proves wrapping + fixed height don't conflict). */
.transfer-select .transfer-list option[b-ed2uemcgxx] {
    padding: 2px 4px;
    margin-bottom: 2px;
    white-space: normal;
    line-height: 1.2;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.transfer-actions[b-ed2uemcgxx] {
    gap: .75rem;
    padding: .5rem .75rem;
    background: #fafafa;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    box-shadow: 0 1px 4px rgba(0,0,0,.08);
}

.transfer-actions button[b-ed2uemcgxx] {
    white-space: nowrap;
}

/* Responsive tiers matching KeyDocEdit's own transfer-list breakpoints */
@media (max-width: 991px) {
    .transfer-select[b-ed2uemcgxx] {
        gap: .5rem;
    }

    .transfer-select .transfer-list[b-ed2uemcgxx] {
        font-size: .8rem;
    }
}

@media (max-width: 767px) {
    /* Stack the two tag lists vertically instead of two cramped narrow columns */
    .transfer-select[b-ed2uemcgxx] {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        gap: .5rem;
    }

    .transfer-select .transfer-list-wrap[b-ed2uemcgxx] {
        width: 100%;
        max-width: 100%;
    }

    .transfer-select .transfer-list[b-ed2uemcgxx] {
        height: 220px; /* slightly shorter on phones, matching KeyDocEdit's mobile tier */
    }

    .transfer-actions[b-ed2uemcgxx] {
        flex-direction: row;
        gap: .5rem;
        padding: .5rem;
    }

    /* Below Bootstrap's own sm breakpoint, labels stack full-width above their field
       (Bootstrap's default col-sm-3/col-sm-9 behavior) — the 15%/85% override above is
       already scoped out of this range via its own min-width:576px wrapper. */
}
/* /Pages/DocViewer/DocViewer.razor.rz.scp.css */
.dv-loading[b-hzqbnqc9pk] {
    height: 100vh;
    background: #fff;
}

.dv-spinner[b-hzqbnqc9pk] {
    width: 3rem;
    height: 3rem;
}

.dv-image[b-hzqbnqc9pk] {
    width: 100%;
    height: 100vh;
    display: block;
    object-fit: contain;
    background: #1a1a1a;
}

.dv-frame[b-hzqbnqc9pk] {
    width: 100%;
    height: 100vh;
    border: none;
    display: block;
    background: #fff;
}

.dv-error[b-hzqbnqc9pk] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background: #fff;
    text-align: center;
    padding: 2rem;
}

.dv-error-icon[b-hzqbnqc9pk] {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: #6c757d;
}

.dv-error-message[b-hzqbnqc9pk] {
    font-size: 1.1rem;
    color: #495057;
    margin-bottom: 1.5rem;
    max-width: 420px;
}
/* /Pages/KeyDocs/ChronologyEditor.razor.rz.scp.css */
.chronology-editor-form label[b-xgk0dgezsp] {
    font-weight: 500;
}

.chrono-select[b-xgk0dgezsp] {
    font-size: 12px;
}

.chrono-header[b-xgk0dgezsp] {
    background: linear-gradient(90deg,#4f6ef7,#6aa0ff);
    color: #fff;
}

.chronology-editor-form .form-control[b-xgk0dgezsp] {
    box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
}

.chronology-editor-form textarea.form-control[b-xgk0dgezsp] {
    resize: vertical;
}

.modal-content[b-xgk0dgezsp] {
    border: 1px solid #d9e2ef;
}

/* Table and pagination styles moved to global style.css */

/* Responsive tweaks reusing shared utilities from wwwroot/css/style.css */
@media (max-width: 991px) {
    .chronology-list .pagination-bar .pagination .page-link[b-xgk0dgezsp] {
        min-width: 28px;
    }
}

@media (max-width: 767px) {
    /* Keep header items on one line on small screens */
    .chronology-list .chronology-header[b-xgk0dgezsp] {
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
        gap: .5rem;
    }
    .chronology-list .chronology-header h5[b-xgk0dgezsp] {
        font-size: 1rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-bottom: 0;
    }
    .chronology-list .chronology-header .btn[b-xgk0dgezsp] {
        flex-shrink: 0;
    }

    /* Table responsiveness: horizontal scroll */
    :host[b-xgk0dgezsp]  .data-table-wrapper > table {
        min-width: 720px;
    }

    /* Compact cells */
    .chronology-table tbody td[b-xgk0dgezsp] {
        font-size: .85rem;
        padding: .4rem .5rem;
    }
}
/* /Pages/KeyDocs/KeyDocEdit.razor.rz.scp.css */
.loading-overlay[b-vqlaohbdzc] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.75);
    z-index: 50;
}

.custom-alert[b-vqlaohbdzc] {
    box-shadow: 006px rgba(0,0,0,.15);
    border-left: 5px solid var(--bs-primary);
}

.doc-type-check .form-check-input[b-vqlaohbdzc] {
    margin-right: .35rem;
}

.lookup-editor select[b-vqlaohbdzc] {
    min-width: 200px;
    font-size: .85rem;
}

.chronology-bar[b-vqlaohbdzc] {
    background: #b9b9b9;
    padding: 12px 16px;
}

.chronology-table thead th[b-vqlaohbdzc] {
    background: #e5e5e5;
    border: 1px solid #c7c7c7;
    font-weight: 500;
    font-size: 13px;
}

.chronology-table tbody td[b-vqlaohbdzc] {
    border: 1px solid #d4d4d4;
    font-size: 13px;
    vertical-align: middle;
}

.chronology-table tfoot td[b-vqlaohbdzc] {
    border: 1px solid #d4d4d4;
}

.chronology-meta div[b-vqlaohbdzc] {
    line-height: 1.2;
}

.transfer-select[b-vqlaohbdzc] {
    gap: 1rem;
}

.transfer-list[b-vqlaohbdzc] {
    min-width: 0;
    width: 100%;
    height: 260px; /* equal height */
    overflow-y: auto; /* vertical scroll */
    font-size: .85rem;
    border: 1px solid #ced4da;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
}

/* When used in horizontal transfer-select layout, make both lists share width equally */
.transfer-select .transfer-list[b-vqlaohbdzc] {
    flex: 1 1 0;
    width: auto;
}

    .transfer-list option[b-vqlaohbdzc] {
        padding: 2px 4px;
        margin-bottom: 2px;
        white-space: normal; /* best-effort wrap support */
        line-height: 1.2;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

.transfer-actions[b-vqlaohbdzc] {
    gap: .75rem;
    padding: .5rem .75rem;
    background: #fafafa;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    box-shadow: 0 1px 4px rgba(0,0,0,.08);
}

    .transfer-actions button[b-vqlaohbdzc] {
        white-space: nowrap;
    }

.kde-wrapper[b-vqlaohbdzc] {
    padding: 24px;
    font-size: 14px;
}

.kde-page-title[b-vqlaohbdzc] {
    margin: 0 0 16px;
    font-weight: 600;
}

.kde-layout[b-vqlaohbdzc] {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

.kde-left[b-vqlaohbdzc] {
    flex: 0 0 640px;
}

.kde-form-grid[b-vqlaohbdzc] {
    display: grid;
    grid-template-columns: 160px 1fr;
    column-gap: 16px;
    row-gap: 12px;
}

    .kde-form-grid label[b-vqlaohbdzc] {
        font-weight: 500;
        align-self: start;
        padding-top: 6px;
    }

.kde-field-inline[b-vqlaohbdzc] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.kde-input[b-vqlaohbdzc], .kde-select[b-vqlaohbdzc] {
    width: 100%;
    padding: 4px 6px;
    box-sizing: border-box;
}

.kde-textarea[b-vqlaohbdzc] {
    width: 100%;
    min-height: 140px;
    resize: vertical;
    padding: 6px;
    box-sizing: border-box;
}

.kde-checkbox-stack[b-vqlaohbdzc] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 13px;
}

.kde-right[b-vqlaohbdzc] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.kde-group-title[b-vqlaohbdzc] {
    font-weight: 500;
    margin-bottom: 4px;
}

.kde-multi-row[b-vqlaohbdzc] {
    display: grid;
    grid-template-columns: 220px 90px 260px;
    column-gap: 12px;
    align-items: start;
}

.kde-buttons[b-vqlaohbdzc] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.kde-btn-small[b-vqlaohbdzc] {
    padding: 4px 10px;
    font-size: 13px;
    border: 1px solid #999;
    background: #f8f8f8;
    cursor: pointer;
}

    .kde-btn-small:disabled[b-vqlaohbdzc] {
        opacity: .5;
        cursor: default;
    }

.kde-actions[b-vqlaohbdzc] {
    display: flex;
    justify-content: flex-end;
    gap: 20px;
    padding: 24px 0 0;
}

.kde-btn[b-vqlaohbdzc] {
    border: 1px solid #999;
    background: #f8f8f8;
    padding: 8px 26px;
    cursor: pointer;
}

    .kde-btn:hover[b-vqlaohbdzc] {
        background: #ececec;
    }

.kde-primary[b-vqlaohbdzc] {
    font-weight: 600;
}

.kde-chronology[b-vqlaohbdzc] {
    margin-top: 32px;
    border: 1px solid #bbb;
}

.kde-chronology-bar[b-vqlaohbdzc] {
    background: #b9b9b9;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 24px;
}

    .kde-chronology-bar h3[b-vqlaohbdzc] {
        margin: 0;
        font-size: 18px;
        font-weight: 500;
    }

@media (max-width:1200px) {
    .kde-layout[b-vqlaohbdzc] {
        flex-direction: column;
    }

    .kde-left[b-vqlaohbdzc] {
        width: 100%;
    }

    .kde-right[b-vqlaohbdzc] {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .transfer-list[b-vqlaohbdzc] {
        min-width: 180px;
        max-width: 210px;
        font-size: .8rem;
    }
}

    /* Responsive tweaks reusing shared utilities from wwwroot/css/style.css */
    @media (max-width: 991px) {
        /* Reduce grid gaps and stack sections tighter */
        .kde-layout[b-vqlaohbdzc] {
            gap: 24px;
        }

        .kde-form-grid[b-vqlaohbdzc] {
            column-gap: 12px;
            row-gap: 10px;
            grid-template-columns: 140px 1fr;
        }

        .transfer-select[b-vqlaohbdzc] {
            gap: .5rem;
        }

        .transfer-list[b-vqlaohbdzc] {
            min-width: 360px;
            max-width: 390px;
            font-size: .8rem;
        }
    }

    @media (max-width: 767px) {
        /* Page spacing aligns with Names pages */
        .page-content-spacing[b-vqlaohbdzc] {
            padding: 0 16px 40px 16px !important;
        }

        /* Stack form rows */
        .row.align-items-start[b-vqlaohbdzc] {
            flex-direction: column;
        }

            .row.align-items-start > .col-sm-3[b-vqlaohbdzc],
            .row.align-items-start > .col-sm-9[b-vqlaohbdzc],
            .row.align-items-start > .col-lg-6[b-vqlaohbdzc] {
                width: 100%;
                max-width: 100%;
            }

        .kde-form-grid[b-vqlaohbdzc] {
            grid-template-columns: 1fr;
        }

            .kde-form-grid label[b-vqlaohbdzc] {
                padding-top: 0;
                margin-bottom: 6px;
            }

        .kde-textarea[b-vqlaohbdzc] {
            min-height: 110px;
        }

        /* Transfer selectors stack vertically */
        .transfer-select[b-vqlaohbdzc] {
            flex-direction: column;
            align-items: stretch;
            gap: .5rem;
        }

        .transfer-actions[b-vqlaohbdzc] {
            flex-direction: row;
            gap: .5rem;
            padding: .5rem;
        }

        .transfer-list[b-vqlaohbdzc] {
            min-width: 100%;
            max-width: 100%;
            width: 100%;
            height: 220px; /* slightly smaller height on phones */
        }

        .transfer-select .transfer-list[b-vqlaohbdzc] {
            flex: none; /* prevent equal-width flex behaviour on mobile */
        }

        /* Chronology table wrapper uses shared responsive width */
        :host[b-vqlaohbdzc]  .data-table-wrapper > table {
            min-width: 1000px;
        }
    }
/* /Pages/KeyDocs/KeyDocsList.razor.rz.scp.css */

/* Minor spacing/normalization inside lookup list */
.lookup-list .btn-more[b-shf9fbwkt9] {
    padding: 0;
    margin: 0 0 0 .15rem;
}

.kd-topbar[b-shf9fbwkt9] {
    font-size: .78rem;
    gap: 2rem;
}

.kd-filters .kd-filter-label[b-shf9fbwkt9] {
    font-weight: 600;
    color: #222;
    cursor: pointer;
}

.kd-action-link[b-shf9fbwkt9] {
    color: #3767B0;
    text-decoration: none;
}

    .kd-action-link[disabled][b-shf9fbwkt9] {
        opacity: .4;
        pointer-events: none;
    }

.kd-preview-toggle[b-shf9fbwkt9] {
    /*font-size: .7rem;*/
}

/*.kd-search {
    font-size: .8rem;
}*/

.kd-head-filter[b-shf9fbwkt9] {
    cursor: pointer;
    margin-right: .25rem;
}

/*.kd-table th {
    font-size: .7rem;
    font-weight: 600;
    white-space: nowrap;
}

.kd-table td {
    font-size: .72rem;
}*/

.doc-number[b-shf9fbwkt9] {
    color: #3767B0;
    text-decoration: underline;
}

    .doc-number:hover[b-shf9fbwkt9] {
        text-decoration: none;
    }

.preview-text[b-shf9fbwkt9] {
    /*font-size: .65rem;*/
    color: #6c757d;
    margin-bottom: .25rem;
}

.truncated-text[b-shf9fbwkt9], .full-text[b-shf9fbwkt9] {
    /*font-size: .7rem;*/
    line-height: 1.25;
}



/*.lookup-list {
    font-size: .65rem;
}*/

.badge[b-shf9fbwkt9] {
    /*font-size: .55rem;*/
    padding: .25rem .35rem;
    line-height: 1;
}

.doc-name-line[b-shf9fbwkt9] {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.kd-topbar > *[b-shf9fbwkt9] {
    flex-shrink: 0;
}

/* Add consistent vertical spacing between rows */
.kd-row[b-shf9fbwkt9] {
    margin-bottom: 1rem;
}

/* Increase internal gap between inline controls to avoid crowded look */
.kd-filters[b-shf9fbwkt9],
.kd-actions[b-shf9fbwkt9] {
    gap: 1rem;
}

/* Slightly increase spacing above preview toggle */
.kd-preview[b-shf9fbwkt9] {
    margin-top: .25rem;
}

/* Inline hover preview container (component-scoped) */
.doc-name-line[b-shf9fbwkt9] {
    position: relative;
}

.doc-preview-container[b-shf9fbwkt9] {
    position: fixed; /* fixed so it ignores table/page scroll */
    top: 20px;
    left: 20px;
    margin-top: 0;
    width: 640px;
    height: 480px;
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0 4px 12px rgba(0,0,0,.25);
    z-index: 1500;
    padding: 0;
    display: flex;
    flex-direction: column;
}

    .doc-preview-container iframe[b-shf9fbwkt9],
    .doc-preview-container embed[b-shf9fbwkt9],
    .doc-preview-container object[b-shf9fbwkt9] {
        width: 100%;
        height: 100%;
        border: none;
    }

/* KeyDocs table header popover fixes (component-scoped) */
.kd-table thead tr.hdr-row th[b-shf9fbwkt9] {
    position: relative; /* anchor absolute menus */
    overflow: visible; /* allow menus to overflow cell */
}

.kd-table thead tr.hdr-row th.filter-open[b-shf9fbwkt9] {
    z-index: 5000; /* lift active column and its menu above surrounding UI */
}

/* Responsive tweaks reusing shared utilities from wwwroot/css/style.css */
@media (max-width: 1024px), (max-width: 1366px) and (orientation: landscape) {
    /* Stack filter row and reduce gaps */
    .kd-row.kd-row1[b-shf9fbwkt9] {
        gap: 0.75rem;
    }
    .kd-filters[b-shf9fbwkt9] {
        gap: 0.75rem;
    }
    .kd-search input[b-shf9fbwkt9] {
        font-size: .85rem;
    }

    /* Make table wrapper use shared responsive width */
    :host[b-shf9fbwkt9]  .data-table-wrapper {
        max-width: 94vw;
    }
}

@media (max-width: 1024px), (max-width: 1366px) and (orientation: landscape) {
    /* Page spacing matches Names pages */
    :host[b-shf9fbwkt9] {
        display: block;
    }
    .page-content-spacing[b-shf9fbwkt9] {
        padding: 0 16px 40px 16px !important;
    }

    /* Filters stack vertically on mobile */
    .kd-row.kd-row1[b-shf9fbwkt9] {
        flex-direction: column;
        align-items: stretch;
    }
    .kd-filters[b-shf9fbwkt9] {
        width: 100%;
        gap: .5rem;
    }
    .kd-filter select[b-shf9fbwkt9] {
        width: 100%;
    }
    .kd-search[b-shf9fbwkt9] {
        width: 100%;
    }

    /* Actions row wrap */
    .kd-row.kd-row2[b-shf9fbwkt9] {
        flex-direction: column;
        align-items: stretch;
        gap: .5rem;
    }
    .kd-actions[b-shf9fbwkt9] {
        flex-wrap: wrap;
        gap: .75rem;
    }

    /* Reduce text sizes for dense rows */
    .truncated-text[b-shf9fbwkt9], .full-text[b-shf9fbwkt9], .preview-text[b-shf9fbwkt9] {
        font-size: .85rem;
    }

    /* Table responsiveness: horizontal scroll with shared wrapper */
    :host[b-shf9fbwkt9]  .data-table-wrapper > table {
        min-width: 1000px;
    }

    /* Pagination spacing like Names pages */
    :host[b-shf9fbwkt9]  .pagination-bar .pagination .page-link {
        min-width: 28px;
    }

    /* Inline preview container adapts to viewport */
    .doc-preview-container[b-shf9fbwkt9] {
        top: auto;
        left: auto;
        right: 12px;
        bottom: 12px;
        width: calc(100vw - 24px);
        height: 50vh;
    }
}
/* /Pages/Knowledge/AddKnowledgeItem.razor.rz.scp.css */
.form-field-col[b-ecds1krj1f] {
    max-width: 720px;
}

select.form-select[b-ecds1krj1f] {
    font-size: 0.875rem;
}

.subject-search-wrap[b-ecds1krj1f] {
    position: relative;
}

.subject-dropdown[b-ecds1krj1f] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #fff;
    border: 1px solid #ced4da;
    border-top: none;
    border-radius: 0 0 .375rem .375rem;
    max-height: 260px;
    overflow-y: auto;
    box-shadow: 0 4px 8px rgba(0,0,0,.1);
}

.subject-dropdown-item[b-ecds1krj1f] {
    padding: .45rem .75rem;
    cursor: pointer;
    font-size: .9rem;
}

    .subject-dropdown-item:hover[b-ecds1krj1f],
    .subject-dropdown-item.active[b-ecds1krj1f] {
        background-color: #e9f5ee;
        color: #198754;
    }

.subject-dropdown-empty[b-ecds1krj1f] {
    padding: .45rem .75rem;
    font-size: .85rem;
    color: #6c757d;
    font-style: italic;
}

.subject-exists-badge[b-ecds1krj1f] {
    float: right;
    font-size: .75rem;
    color: #856404;
    background-color: #fff3cd;
    border: 1px solid #ffecb5;
    border-radius: .25rem;
    padding: .1rem .4rem;
    margin-left: .5rem;
    font-style: italic;
}

/* Allow the create button to wrap its text on long labels rather than pushing Cancel off-row */
.btn-create[b-ecds1krj1f] {
    white-space: normal;
    text-align: left;
    max-width: 480px;
}

@media (max-width: 575.98px) {
    .form-field-col[b-ecds1krj1f] {
        max-width: 100%;
    }

    .d-flex.gap-2.align-items-center[b-ecds1krj1f] {
        flex-direction: column;
        align-items: stretch !important;
    }

        .d-flex.gap-2.align-items-center > .btn[b-ecds1krj1f] {
            width: 100%;
        }

    select.form-select[b-ecds1krj1f] {
        font-size: .85rem;
        padding: .45rem .65rem;
    }

    small.text-muted[b-ecds1krj1f] {
        font-size: .7rem;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .form-field-col[b-ecds1krj1f] {
        max-width: 100%;
    }
}
/* /Pages/Knowledge/AtAGlanceCategorySection.razor.rz.scp.css */
/* Filter-button host: positions the absolute btn-filter inside the Name header.
   Duplicated from KnowledgeList.razor.css — Blazor CSS isolation scopes that rule
   to KnowledgeList.razor only, so it doesn't reach this component. */
.th-filterable[b-uk0ucavp7g] {
    position: relative;
    padding-right: 1.75rem;
}
/* /Pages/Knowledge/GlossaryList.razor.rz.scp.css */
/* Glossary table column widths */
.col-term[b-5n9k126e19]    { width: 25%; }
.col-acronym[b-5n9k126e19] { width: 15%; }

.action-search[b-5n9k126e19] {
    max-width: 320px;
}
/* /Pages/Knowledge/KnowledgeCategoryPages.razor.rz.scp.css */
/* Scrollable container for the embedded category items table */
.cat-scroll[b-3gk487lq1u] {
    max-height: 320px;
    overflow-y: auto;
    overflow-x: auto;
}

/* Minimum width so columns don't collapse before horizontal scroll */
.cat-table[b-3gk487lq1u] {
    min-width: 480px;
}

/* Light blue header for the embedded table (lighter than the dark #244880 primary) */
.thead-cat[b-3gk487lq1u] {
    background: #e8eef7;
}

/* Column widths */
.col-cat-modified[b-3gk487lq1u]    { width: 110px; white-space: nowrap; position: relative; }
.col-cat-name[b-3gk487lq1u]        { position: relative; }
.col-cat-modified-by[b-3gk487lq1u] { width: 200px; position: relative; white-space: nowrap; }
/* /Pages/Knowledge/KnowledgeDetail.razor.rz.scp.css */
/* ── SharePoint rich-text content areas ── */

/* Must use ::deep because the HTML is injected via MarkupString and those elements
   do not carry Blazor's scoped attribute, so plain selectors are ignored. */

/* SharePoint wraps each paragraph in <div><span><p>…</p></span><br></div>.
   Browsers reject <p> inside <span> and split the span into two empty siblings around
   the <p>, each creating a ~22px line-box. Hiding empty spans collapses that extra space. */
.sp-html-content[b-l2guat0o3g]  span:empty {
    display: none;
}

/* The <br> immediately after a </span> adds an extra blank line — collapse only those. */
.sp-html-content[b-l2guat0o3g]  span + br {
    display: none;
}

/* Bootstrap Reboot sets p { margin-bottom: 1rem } which creates large gaps when
   SharePoint emits a separate <p> per paragraph. Tighten to normal prose spacing. */
.sp-html-content[b-l2guat0o3g]  p {
    margin-top: 0;
    margin-bottom: 0.5em;
}

/* SharePoint sometimes emits bare <br> between block elements as extra spacers. */
.sp-html-content[b-l2guat0o3g]  p + br,
.sp-html-content[b-l2guat0o3g]  div + br {
    display: none;
}
/* /Pages/Knowledge/KnowledgeList.razor.rz.scp.css */
/* Expand/collapse arrow column width */
.col-expand[b-3cigtazm9h] {
    width: 36px;
}

/* Filter-button host: positions the absolute btn-filter inside */
.th-filterable[b-3cigtazm9h] {
    position: relative;
    padding-right: 1.75rem;
}

.term-link[b-3cigtazm9h] {
    color: #244880;
    text-decoration: none;
    cursor: pointer;
}

.term-link:hover[b-3cigtazm9h] {
    color: #3767B0;
    text-decoration: underline;
}

/* Outline 'Add' button — transparent by default, site primary (#005DAA) on hover */
.btn-add-outline[b-3cigtazm9h] {
    --bs-btn-color: #005DAA;
    --bs-btn-border-color: #005DAA;
    --bs-btn-hover-bg: #005DAA;
    --bs-btn-hover-border-color: #005DAA;
    --bs-btn-hover-color: #fff;
}

/* Modal z-index stack for inline page modals */
.modal-backdrop-page[b-3cigtazm9h] {
    z-index: 1040;
}

.modal-page[b-3cigtazm9h] {
    z-index: 1050;
}

/* Consistent modal header / footer height */
.modal-page .modal-header[b-3cigtazm9h],
.modal-page .modal-footer[b-3cigtazm9h] {
    padding: 0.875rem 1rem;
    min-height: 60px;
}

/* Delete button — transparent by default, danger on hover */
.btn-delete-outline[b-3cigtazm9h] {
    --bs-btn-bg: transparent;
    --bs-btn-color: #dc3545;
    --bs-btn-border-color: #dc3545;
    --bs-btn-hover-bg: #dc3545;
    --bs-btn-hover-border-color: #dc3545;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #b02a37;
    --bs-btn-active-color: #fff;
}

/* /Pages/ManagementDiscussion/ManagementDiscussionThreadDetail.razor.rz.scp.css */
.question-badge[b-75uumwmgpd] {
    background-color: #244880;
    font-size: 0.7rem;
    padding: 0.2rem 0.5rem;
}
/* /Pages/MOINote/MoiNoteList.razor.rz.scp.css */

/* Prevent horizontal page overflow from the table */
.page-content-spacing[b-o704pnb80h] {
    overflow-x: clip;
}

/* Ensure columns stay legible before horizontal scroll kicks in */
.data-table-wrapper > table[b-o704pnb80h] {
    min-width: 700px;
}

/* Search input: constrained on wide screens, full-width on mobile */
.action-search[b-o704pnb80h] {
    max-width: 320px;
}

/* MOI Note rich-text cell — expands naturally with content */
.moi-note-content[b-o704pnb80h] {
    font-size: 0.875rem;
}


/* ── Tablet / small desktop (portrait & landscape) ── */
@media (max-width: 1024px) {
    .page-content-spacing[b-o704pnb80h] {
        padding: 0 16px 40px 16px !important;
    }

    .data-table-wrapper[b-o704pnb80h] {
        max-width: calc(100vw - 32px);
    }
}

/* ── Landscape tablets/laptops where width > 1024 but height is short ── */
@media (max-width: 1366px) and (orientation: landscape) {
    .data-table-wrapper[b-o704pnb80h] {
        max-width: calc(100vw - 32px);
    }
}

/* ── Mobile (portrait) ── */
@media (max-width: 767px) {
    .action-bar[b-o704pnb80h] {
        flex-direction: column;
        align-items: flex-start !important;
        gap: .5rem !important;
    }

    .action-search[b-o704pnb80h] {
        max-width: 100%;
        width: 100%;
    }

    .pagination-bar[b-o704pnb80h] {
        flex-direction: column;
        align-items: flex-start !important;
    }

    /* Hide less critical columns on small screens to reduce horizontal scroll */
    .col-hide-mobile[b-o704pnb80h] {
        display: none;
    }
}
/* /Pages/MOI/MoiList.razor.rz.scp.css */

/* Prevent horizontal page overflow from the table */
.page-content-spacing[b-6yum7o0a84] {
    overflow-x: clip;
}

/* Ensure 3 columns stay legible before horizontal scroll kicks in */
.data-table-wrapper > table[b-6yum7o0a84] {
    min-width: 600px;
}

/* Search input: constrained on wide screens, full-width on mobile */
.action-search[b-6yum7o0a84] {
    max-width: 320px;
}

/* ── Tablet / small desktop (portrait & landscape) ── */
@media (max-width: 1024px) {
    .page-content-spacing[b-6yum7o0a84] {
        padding: 0 16px 40px 16px !important;
    }

    .data-table-wrapper[b-6yum7o0a84] {
        max-width: calc(100vw - 32px);
    }
}

/* ── Landscape tablets/laptops where width > 1024 but height is short ── */
@media (max-width: 1366px) and (orientation: landscape) {
    .data-table-wrapper[b-6yum7o0a84] {
        max-width: calc(100vw - 32px);
    }
}

/* ── Mobile (portrait) ── */
@media (max-width: 767px) {
    .action-bar[b-6yum7o0a84] {
        flex-direction: column;
        align-items: flex-start !important;
        gap: .5rem !important;
    }

    .action-search[b-6yum7o0a84] {
        max-width: 100%;
        width: 100%;
    }

    .pagination-bar[b-6yum7o0a84] {
        flex-direction: column;
        align-items: flex-start !important;
    }
}
/* /Pages/NamesList/EditName.razor.rz.scp.css */
.multi-text[b-c89dyezql1] {
    min-height: 110px;
}

.company-option .form-check-input[b-c89dyezql1] {
    margin-top: 0;
}

.form-field-col[b-c89dyezql1] {
    max-width: 720px;
}

.page-content-spacing[b-c89dyezql1] {
    /*    padding-bottom: 40px;*/
}

.footer-spacer[b-c89dyezql1] {
    height: 60px;
}

.company-option[b-c89dyezql1] {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: .35rem;
}

.company-label[b-c89dyezql1] {
    white-space: nowrap;
    font-size: .875rem;
    color: #555;
}

.company-inline-input[b-c89dyezql1] {
    flex: 1 1 auto;
    min-width: 0;
}

/* Mobile / small device responsiveness */
@media (max-width: 575.98px) {
    h3.mb-3[b-c89dyezql1] {
        font-size: 1.15rem;
        margin-bottom: 1rem !important;
    }

    .row.mb-3 > label.col-form-label[b-c89dyezql1] {
        font-size: .8rem;
        margin-bottom: .35rem;
        padding-top: 0;
    }

    .row.mb-3[b-c89dyezql1] {
        margin-bottom: 1rem !important;
    }

    .form-field-col[b-c89dyezql1] {
        max-width: 100%;
    }

    .company-option[b-c89dyezql1] {
        flex-direction: column;
        align-items: stretch;
        gap: .4rem;
        padding: .55rem .65rem;
        background: #f8f9fa;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
    }

        .company-option + .company-option[b-c89dyezql1] {
            margin-top: .5rem;
        }

        .company-option .form-check-input[b-c89dyezql1] {
            align-self: flex-start;
        }

    .company-label[b-c89dyezql1] {
        font-size: .75rem;
        color: #333;
    }

    .company-inline-input[b-c89dyezql1] {
        width: 100%;
    }

    .multi-text[b-c89dyezql1] {
        min-height: 90px;
    }

    .d-flex.gap-2.align-items-center[b-c89dyezql1] {
        flex-direction: column;
        align-items: stretch !important;
    }

        .d-flex.gap-2.align-items-center > .btn[b-c89dyezql1] {
            width: 100%;
        }
    /* audit/action row reorder */
    .row.mt-4.align-items-start > .col-sm-9.form-field-col[b-c89dyezql1] {
        order: 1;
    }

    .row.mt-4.align-items-start > .col-sm-3[b-c89dyezql1] {
        order: 2;
        margin-top: 1rem;
    }

    .footer-spacer[b-c89dyezql1] {
        height: 30px;
    }

    #nameInput[b-c89dyezql1] {
        font-size: .9rem;
    }

    input.form-control[b-c89dyezql1], textarea.form-control[b-c89dyezql1], select.form-select[b-c89dyezql1] {
        font-size: .85rem;
        padding: .45rem .65rem;
    }

    .invalid-feedback.d-block[b-c89dyezql1], .form-text[b-c89dyezql1], small.text-muted[b-c89dyezql1] {
        font-size: .7rem;
    }

    .page-content-spacing[b-c89dyezql1] {
        padding: 0 16px 40px 16px;
    }
}

/* Medium devices (tablets) tightening */
@media (min-width:576px) and (max-width:767.98px) {
    .form-field-col[b-c89dyezql1] {
        max-width: 100%;
    }

    .company-option[b-c89dyezql1] {
        flex-wrap: wrap;
    }

    .company-label[b-c89dyezql1] {
        font-size: .8rem;
    }

    .multi-text[b-c89dyezql1] {
        min-height: 100px;
    }

    .footer-spacer[b-c89dyezql1] {
        height: 45px;
    }
}
/* /Pages/NamesList/NamesAdd.razor.rz.scp.css */
.multi-text[b-e0914kjqg5] {
    min-height: 110px;
}

.company-option .form-check-input[b-e0914kjqg5] {
    margin-top: 0;
}

.form-field-col[b-e0914kjqg5] {
    max-width: 720px;
}

.page-content-spacing[b-e0914kjqg5] {
    /*    padding-bottom: 40px;*/
}

.footer-spacer[b-e0914kjqg5] {
    height: 60px;
}

.company-option[b-e0914kjqg5] {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: .35rem;
}

.company-label[b-e0914kjqg5] {
    white-space: nowrap;
    font-size: .875rem;
    color: #555;
}

.company-inline-input[b-e0914kjqg5] {
    flex: 1 1 auto;
    min-width: 0;
}

/* Mobile / small device responsiveness */
@media (max-width: 575.98px) {
    h3.mb-3[b-e0914kjqg5] {
        font-size: 1.15rem;
        margin-bottom: 1rem !important;
    }

    .row.mb-3 > label.col-form-label[b-e0914kjqg5] {
        font-size: .8rem;
        margin-bottom: .35rem;
        padding-top: 0;
    }

    .row.mb-3[b-e0914kjqg5] {
        margin-bottom: 1rem !important;
    }

    .form-field-col[b-e0914kjqg5] {
        max-width: 100%;
    }

    .company-option[b-e0914kjqg5] {
        flex-direction: column;
        align-items: stretch;
        gap: .4rem;
        padding: .55rem .65rem;
        background: #f8f9fa;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
    }

        .company-option + .company-option[b-e0914kjqg5] {
            margin-top: .5rem;
        }

        .company-option .form-check-input[b-e0914kjqg5] {
            align-self: flex-start;
        }

    .company-label[b-e0914kjqg5] {
        font-size: .75rem;
        color: #333;
    }

    .company-inline-input[b-e0914kjqg5] {
        width: 100%;
    }

    .multi-text[b-e0914kjqg5] {
        min-height: 90px;
    }

    .d-flex.gap-2.align-items-center[b-e0914kjqg5] {
        flex-direction: column;
        align-items: stretch !important;
    }

        .d-flex.gap-2.align-items-center > .btn[b-e0914kjqg5] {
            width: 100%;
        }

    .footer-spacer[b-e0914kjqg5] {
        height: 30px;
    }

    #nameInput[b-e0914kjqg5] {
        font-size: .9rem;
    }

    input.form-control[b-e0914kjqg5], textarea.form-control[b-e0914kjqg5], select.form-select[b-e0914kjqg5] {
        font-size: .85rem;
        padding: .45rem .65rem;
    }

    .invalid-feedback.d-block[b-e0914kjqg5], .form-text[b-e0914kjqg5], small.text-muted[b-e0914kjqg5] {
        font-size: .7rem;
    }
}

/* Medium devices (tablets) tightening */
@media (min-width:576px) and (max-width:767.98px) {
    .form-field-col[b-e0914kjqg5] {
        max-width: 100%;
    }

    .company-option[b-e0914kjqg5] {
        flex-wrap: wrap;
    }

    .company-label[b-e0914kjqg5] {
        font-size: .8rem;
    }

    .multi-text[b-e0914kjqg5] {
        min-height: 100px;
    }

    .footer-spacer[b-e0914kjqg5] {
        height: 45px;
    }
}
/* /Pages/NamesList/NamesList.razor.rz.scp.css */
.action-bar[b-80knjmrvhz] {
    row-gap: .6rem;
}

.btn-cluster > *[b-80knjmrvhz] {
    flex: 0 0 auto;
}

.alpha-wrapper[b-80knjmrvhz] {
    padding: .55rem 0 1rem;
    margin: .25rem 0 1rem;
    border-bottom: 1px solid #e5e7eb;
    border-top: 1px solid #f1f3f5;
}

.alpha-bar[b-80knjmrvhz] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.alpha-letter[b-80knjmrvhz] {
    background: #fff;
    border: 1px solid #d0d7de;
    padding: 2px 7px;
    font-size: .78rem;
    border-radius: 4px;
    color: #555;
    cursor: pointer;
    transition: all .15s;
}

    .alpha-letter.active[b-80knjmrvhz], .alpha-letter:hover[b-80knjmrvhz] {
        background: #3767B0;
        color: #fff;
        border-color: #3767B0;
    }

.btn-pill[b-80knjmrvhz] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border-radius: 2rem;
    padding: .45rem .95rem;
    font-weight: 500;
}

    .btn-pill .btn-icon[b-80knjmrvhz] {
        font-size: 1rem;
    }

.custom-delete-modal .modal-content[b-80knjmrvhz] {
    border-radius: .65rem;
}

.custom-delete-modal .modal-body[b-80knjmrvhz] {
    font-size: .9rem;
}

.pagination-bar .pagination .page-link[b-80knjmrvhz] {
    min-width: 32px;
    text-align: center;
}

.pagination-bar .ellipsis[b-80knjmrvhz] {
    pointer-events: none;
}

.email-cell[b-80knjmrvhz] {
    white-space: pre-line;
}

.source-id-cell[b-80knjmrvhz] {
    white-space: normal;
    word-break: break-word;
    max-width: 260px;
}

/* Clip any overflow that escapes the table's own scrollbar at the page level.
   overflow-x: clip trims without creating a scroll container, so sticky headers
   continue to work relative to the viewport scroll. */
.page-content-spacing[b-80knjmrvhz] {
    overflow-x: clip;
}

.names-table[b-80knjmrvhz] {
    max-width: calc(100vw - var(--side-nav-width) - 24px);
}

    .names-table .sticky-header th[b-80knjmrvhz] {
        box-shadow: 0 2px 3px rgba(0,0,0,.06);
    }

@media (max-width: 992px) {
    .names-table > table[b-80knjmrvhz] {
        min-width: 1000px;
    }

    .source-id-cell[b-80knjmrvhz] {
        max-width: 200px;
    }
}

@media (max-width: 1024px) {
    .names-table[b-80knjmrvhz] {
        max-width: calc(100vw - 32px);
    }
}

/* Styles moved to global style.css: fancy-names-table, pagination-bar, list-footer, footer-spacer, names-table (now data-table-wrapper) */
/* /Pages/NoAccess.razor.rz.scp.css */
.error-page-wrapper[b-d6rp4kqkq3] {
    height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.error-page-container[b-d6rp4kqkq3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 420px;
    padding: 0 1rem;
    text-align: center;
}

.error-page-logo[b-d6rp4kqkq3] {
    max-width: 200px;
    margin-bottom: 1rem;
}

.error-page-heading[b-d6rp4kqkq3] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1a1a2e;
}

.error-page-subtext[b-d6rp4kqkq3] {
    color: #6c757d;
    font-size: 0.95rem;
}
/* /Pages/PieChart/Home.razor.rz.scp.css */
.chart-loading-overlay[b-vqfzrthi7e] {
    z-index: 2000;
    background: rgba(255, 255, 255, 0.75);
}

.chart-loading-spinner[b-vqfzrthi7e] {
    width: 3rem;
    height: 3rem;
}

.flip-x[b-vqfzrthi7e] {
    transform: scaleX(-1);
}

#date-slider[b-vqfzrthi7e] {
    flex: 1;
    min-width: 100px;
    max-width: 300px;
    margin: 0 8px;
}
/* /Pages/RootFallback.razor.rz.scp.css */
.error-page-wrapper[b-5dm733xp4t] {
    height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.error-page-container[b-5dm733xp4t] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 420px;
    padding: 0 1rem;
    text-align: center;
}

.error-page-logo[b-5dm733xp4t] {
    max-width: 200px;
    margin-bottom: 1rem;
}

.error-page-heading[b-5dm733xp4t] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1a1a2e;
}

.error-page-subtext[b-5dm733xp4t] {
    color: #6c757d;
    font-size: 0.95rem;
}
/* /Pages/Tags/TagsList.razor.rz.scp.css */

/* Prevent horizontal page overflow from the table */
.page-content-spacing[b-nsag94otxp] {
    overflow-x: clip;
}

/* ── Tablet / small desktop (portrait & landscape) ── */
@media (max-width: 1024px) {
    .page-content-spacing[b-nsag94otxp] {
        padding: 0 16px 40px 16px !important;
    }

    .data-table-wrapper[b-nsag94otxp] {
        max-width: calc(100vw - 32px);
    }
}

/* ── Landscape tablets/laptops where width > 1024 but height is short ── */
@media (max-width: 1366px) and (orientation: landscape) {
    .data-table-wrapper[b-nsag94otxp] {
        max-width: calc(100vw - 32px);
    }
}

/* ── Mobile (portrait) ── */
@media (max-width: 767px) {
    .action-bar[b-nsag94otxp] {
        flex-direction: column;
        align-items: stretch !important;
    }

    .btn-cluster[b-nsag94otxp] {
        flex-wrap: wrap;
    }

    .pagination-bar[b-nsag94otxp] {
        flex-direction: column;
        align-items: flex-start !important;
    }
}
