/* _content/AdminPortal/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-84g8e31gxs] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-84g8e31gxs] {
    flex: 1;
    min-width: 0;
    overflow-x: hidden;
}

article[b-84g8e31gxs] {
    min-width: 0;
}

.sidebar[b-84g8e31gxs] {
    background-color: var(--wf-ink);
}

.top-row[b-84g8e31gxs] {
    background-color: #FFFFFF;
    border-bottom: 1px solid var(--wf-border);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

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

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

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

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

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

@media (min-width: 641px) {
    .page[b-84g8e31gxs] {
        flex-direction: row;
    }

    .sidebar[b-84g8e31gxs] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-84g8e31gxs] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

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

    .top-row[b-84g8e31gxs], article[b-84g8e31gxs] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-84g8e31gxs] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-84g8e31gxs] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/AdminPortal/Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-svfi05eov9] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 1.375rem;
    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-svfi05eov9] {
    background-color: rgba(255, 255, 255, 0.5);
}

/* The brand row: the Operanic lockup in its on-dark artwork, 132px wide. The brand asks for the
   mark's own width (27px at this size) to stay clear on every side of the lockup, so the row is
   5.25rem tall and the "Admin" label sits 27px to its right. */
.top-row[b-svfi05eov9] {
    min-height: 5.25rem;
}

.navbar-brand[b-svfi05eov9] {
    display: flex;
    align-items: center;
    gap: 27px;
    margin: 0;
    padding: 0;
}

.navbar-brand-logo[b-svfi05eov9] {
    display: block;
    width: 132px;
    height: auto;
}

.navbar-brand-label[b-svfi05eov9] {
    color: #8F88A0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
}

.bi[b-svfi05eov9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    font-size: 1rem;
    margin-right: 0.75rem;
    vertical-align: middle;
}

.bi-house-door-fill-nav-menu[b-svfi05eov9] {
    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-svfi05eov9] {
    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-svfi05eov9] {
    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");
}

/* Collapsible group header. Not a link - none of the four groups has a landing page. */
.nav-group[b-svfi05eov9] {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.85rem 1rem 0.4rem;
    background: none;
    border: none;
    color: #8F88A0;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: left;
    cursor: pointer;
}

.nav-group:hover[b-svfi05eov9] {
    color: var(--wf-purple-soft);
}

.nav-group-label[b-svfi05eov9] {
    flex: 1 1 auto;
}

/* Marks a collapsed group that holds the current page, so the active highlight is never
   simply invisible when someone closes the group they are standing in. */
.nav-group-dot[b-svfi05eov9] {
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    margin-right: 0.5rem;
    border-radius: 50%;
    background-color: var(--wf-purple-light);
}

.nav-group .nav-group-chevron[b-svfi05eov9] {
    width: auto;
    margin-right: 0;
    font-size: 0.7rem;
    transition: transform 0.15s ease-in-out;
}

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

/* Indent the links under their group header so the grouping reads at a glance. */
.nav-group-items[b-svfi05eov9] {
    padding-bottom: 0.25rem;
    padding-left: 0.75rem;
}

.nav-group-items[hidden][b-svfi05eov9] {
    display: none;
}

.nav-item[b-svfi05eov9] {
    font-size: 0.9rem;
    padding-bottom: 0.25rem;
}

    .nav-item[b-svfi05eov9]  .nav-link {
        color: #D9D4E3;
        background: none;
        border: none;
        border-radius: var(--bs-border-radius);
        /* min-height, not height: a label too long for the 250px sidebar wraps onto a second
           line inside the link instead of overflowing into the next one. */
        min-height: 3rem;
        display: flex;
        align-items: center;
        line-height: 1.25;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        width: 100%;
    }

    .nav-item[b-svfi05eov9]  .nav-link .bi {
        flex: 0 0 auto;
    }

    /* Keeps wrapped lines aligned with the first line of text rather than under the icon. */
    .nav-item[b-svfi05eov9]  .nav-link-label {
        flex: 1 1 auto;
        min-width: 0;
        overflow-wrap: anywhere;
    }

.nav-item[b-svfi05eov9]  a.active {
    background-color: var(--wf-purple);
    color: #FFFFFF;
}

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

/* The generic hover above outranks a.active; the active item keeps the brand's hover state. */
.nav-item[b-svfi05eov9]  a.active:hover {
    background-color: var(--wf-purple-hover);
    color: #FFFFFF;
}

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

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

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

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

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 5.25rem);
        overflow-y: auto;
    }
}
/* _content/AdminPortal/Components/Pages/Login.razor.rz.scp.css */
/* The login card header: the all-white Operanic lockup, the artwork made for the brand purple
   that bg-primary paints, 144px wide. The brand asks for the mark's own width (29px at this
   size) to stay clear on every side of the lockup, so the header pads 30px and the "Admin"
   label sits 30px below it. The card's shadow needs the container's pb-5 under it: the layout's
   main element clips overflow (MainLayout.razor.css, main { overflow-x: hidden }). */
.login-brand[b-19shfnucei] {
    padding: 30px 1rem;
}

.login-brand img[b-19shfnucei] {
    display: block;
    width: 144px;
    height: auto;
    margin: 0 auto 30px;
}

.login-brand small[b-19shfnucei] {
    display: block;
    color: var(--wf-purple-bg);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
}
