/* /Components/Layout/ImpersonationBanner.razor.rz.scp.css */
/* Crimson rather than the warning amber test mode uses: both bars can be on at
   once, and they must not read as the same notice. This one says the session is
   not who it appears to be, which is the more serious of the two. */
.impersonation-banner[b-49zs2a6bwk] {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    padding: .5rem 1.5rem;
    background-color: #b3261e;
    color: #fff;
    font-size: .875rem;
    line-height: 1.4;
}

.impersonation-banner-text[b-49zs2a6bwk] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.impersonation-banner-actor[b-49zs2a6bwk] {
    font-size: .8125rem;
    opacity: .85;
}

/* Logical margin so the button sits at the trailing edge in both directions. */
.impersonation-banner-form[b-49zs2a6bwk] {
    margin-inline-start: auto;
}

.impersonation-banner-btn[b-49zs2a6bwk] {
    background-color: #fff;
    border: none;
    color: #b3261e;
    font-weight: 600;
    white-space: nowrap;
}

.impersonation-banner-btn:hover[b-49zs2a6bwk],
.impersonation-banner-btn:focus[b-49zs2a6bwk] {
    background-color: #f7f7fb;
    color: #8f1e18;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-59n6uwuw9z] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main[b-59n6uwuw9z] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* Brand gradient; the crimson edge is applied by the shared theme so the two
   stay in step. */
.sidebar[b-59n6uwuw9z] {
    background-image: linear-gradient(180deg, #28256c 0%, #1c1a4e 100%);
}

.top-row[b-59n6uwuw9z] {
    background-color: #fff;
    border-bottom: 1px solid #e3e3ec;
    justify-content: space-between;
    height: 3.75rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.top-row[b-59n6uwuw9z]  .top-row-title {
    font-size: .9375rem;
    font-weight: 500;
    color: #4a4b61;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.top-row[b-59n6uwuw9z]  .top-row-user {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .875rem;
    color: #74758c;
    white-space: nowrap;
}

.top-row[b-59n6uwuw9z]  a,
.top-row[b-59n6uwuw9z]  .btn-link {
    white-space: nowrap;
    /* Logical property so the gap mirrors correctly in Arabic. */
    margin-inline-start: 1.5rem;
    text-decoration: none;
}

.top-row[b-59n6uwuw9z]  a:hover,
.top-row[b-59n6uwuw9z]  .btn-link:hover {
    text-decoration: underline;
}

@media (max-width: 640.98px) {
    .top-row[b-59n6uwuw9z]  a,
    .top-row[b-59n6uwuw9z]  .btn-link {
        margin-inline-start: 0;
    }

    .top-row[b-59n6uwuw9z]  .top-row-title {
        font-size: .875rem;
    }
}

/* The handle only exists once the sidebar sits beside the content. */
.sidebar-resizer[b-59n6uwuw9z] {
    display: none;
}

@media (min-width: 641px) {
    .page[b-59n6uwuw9z] {
        flex-direction: row;
    }

    .sidebar[b-59n6uwuw9z] {
        /* Width lives in a custom property so the drag handle can change it
           and every dependent rule follows. */
        width: var(--aiu-sidebar-width, 250px);
        height: 100vh;
        position: sticky;
        top: 0;
        flex-shrink: 0;
    }

    .sidebar-resizer[b-59n6uwuw9z] {
        display: block;
        flex: 0 0 auto;
        width: 7px;
        /* Straddle the sidebar's crimson edge so the whole seam is grabbable. */
        margin-inline-start: -5px;
        height: 100vh;
        position: sticky;
        top: 0;
        z-index: 2;
        cursor: col-resize;
        background: transparent;
        touch-action: none;
    }

    .sidebar-resizer:hover[b-59n6uwuw9z],
    .sidebar-resizer:focus-visible[b-59n6uwuw9z],
    .sidebar-resizer.resizing[b-59n6uwuw9z] {
        background: rgba(202, 33, 38, .45);
        outline: none;
    }

    .top-row[b-59n6uwuw9z] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    /* Logical padding keeps the content gutter on the correct side in Arabic. */
    .top-row[b-59n6uwuw9z],
    article[b-59n6uwuw9z] {
        padding-inline-start: 2rem !important;
        padding-inline-end: 1.5rem !important;
    }
}

#blazor-error-ui[b-59n6uwuw9z] {
    color-scheme: light only;
    background: #fdf3e0;
    border-top: 2px solid #ca2126;
    color: #6b4b00;
    bottom: 0;
    box-shadow: 0 -1px 8px rgba(31, 32, 51, .15);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui[b-59n6uwuw9z]  .reload {
    color: #8c1d17;
    font-weight: 600;
    margin-inline-start: .5rem;
}

#blazor-error-ui .dismiss[b-59n6uwuw9z] {
    cursor: pointer;
    position: absolute;
    inset-inline-end: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-6oaaabi2lt] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    inset-inline-end: 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-6oaaabi2lt] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-6oaaabi2lt] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-6oaaabi2lt] {
    font-size: 1.1rem;
}

.bi[b-6oaaabi2lt] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-inline-end: 0.75rem;
    top: -1px;
    background-size: cover;
    /* A flex child would otherwise be squeezed when the label wraps. */
    flex: 0 0 auto;
}

.bi-house-door-fill-nav-menu[b-6oaaabi2lt] {
    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-6oaaabi2lt] {
    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-6oaaabi2lt] {
    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-6oaaabi2lt] {
    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-6oaaabi2lt] {
    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-6oaaabi2lt] {
    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-6oaaabi2lt] {
    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-6oaaabi2lt] {
    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");
}

/* Icons for the portal's own navigation entries. */
.bi-receipt-nav-menu[b-6oaaabi2lt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M1.92.804A.5.5 0 0 1 2.5 1l1.5.5L5.5 1l1.5.5L8.5 1l1.5.5L11.5 1l1.5.5L14.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-.658.475L13 14.5l-1.5.5-1.5-.5-1.5.5-1.5-.5-1.5.5-1.5-.5-1.342.475A.5.5 0 0 1 1 14.5v-13a.5.5 0 0 1 .92-.696zM4 4.5a.5.5 0 0 0 0 1h8a.5.5 0 0 0 0-1H4zm0 3a.5.5 0 0 0 0 1h8a.5.5 0 0 0 0-1H4zm0 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1H4z'/%3E%3C/svg%3E");
}

.bi-credit-card-nav-menu[b-6oaaabi2lt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v1h14V4a1 1 0 0 0-1-1H2zm13 4H1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7z'/%3E%3Cpath d='M2 10a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1z'/%3E%3C/svg%3E");
}

.bi-folder-nav-menu[b-6oaaabi2lt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M.54 3.87.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.826a2 2 0 0 1-1.991-1.819l-.637-7a2 2 0 0 1 .342-1.31z'/%3E%3C/svg%3E");
}

.bi-wallet2-nav-menu[b-6oaaabi2lt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M12.136.326A1.5 1.5 0 0 1 14 1.78V3h.5A1.5 1.5 0 0 1 16 4.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 13.5v-9a1.5 1.5 0 0 1 1.432-1.499zM5.562 3H13V1.78a.5.5 0 0 0-.621-.484zM1.5 4a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5z'/%3E%3C/svg%3E");
}

.bi-cash-nav-menu[b-6oaaabi2lt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4z'/%3E%3Cpath d='M0 4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4zm3-1a2 2 0 0 1-2 2v6a2 2 0 0 1 2 2h10a2 2 0 0 1 2-2V5a2 2 0 0 1-2-2H3z'/%3E%3C/svg%3E");
}

.bi-calendar2-week-nav-menu[b-6oaaabi2lt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z'/%3E%3Cpath d='M2.5 6a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zM4 9.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm3.5-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm-6 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z'/%3E%3C/svg%3E");
}

.bi-envelope-nav-menu[b-6oaaabi2lt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1zm13 2.383-4.708 2.825L15 11.105zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741M1 11.105l4.708-2.897L1 5.383z'/%3E%3C/svg%3E");
}

.bi-person-circle-nav-menu[b-6oaaabi2lt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath fill-rule='evenodd' d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z'/%3E%3C/svg%3E");
}

.bi-translate[b-6oaaabi2lt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4.545 6.714 4.11 8H3l1.862-5h1.284L8 8H6.833l-.435-1.286H4.545zm1.634-.736L5.5 3.956h-.049l-.679 2.022H6.18z'/%3E%3Cpath d='M0 2a2 2 0 0 1 2-2h7a2 2 0 0 1 2 2v3h3a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-3H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2zm7.138 9.995q.289.451.63.846c-.748.575-1.673 1.001-2.768 1.292.178.217.451.635.555.867 1.125-.359 2.08-.844 2.886-1.494.777.665 1.739 1.165 2.93 1.472.133-.254.414-.673.629-.89-1.125-.253-2.057-.694-2.82-1.284.681-.747 1.222-1.651 1.621-2.757H14V8h-3v1.047h.765c-.318.844-.74 1.546-1.272 2.13a6 6 0 0 1-.415-.492 2 2 0 0 1-.94.31z'/%3E%3C/svg%3E");
}



.nav-item[b-6oaaabi2lt] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-6oaaabi2lt] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-6oaaabi2lt] {
        padding-bottom: 1rem;
    }

    /* Min-height rather than a fixed height, so a label that wraps to a second
       line grows the row instead of spilling out of it. */
    .nav-item[b-6oaaabi2lt]  .nav-link {
        background: none;
        border: none;
        border-radius: 4px;
        min-height: 3rem;
        display: flex;
        align-items: center;
        line-height: 1.3;
        padding-block: .625rem;
        text-align: start;
        width: 100%;
    }

.nav-scrollable[b-6oaaabi2lt] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-6oaaabi2lt] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-6oaaabi2lt] {
        display: none;
    }

    .nav-scrollable[b-6oaaabi2lt] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

.bi-award-nav-menu[b-6oaaabi2lt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M9.669.864 8 0 6.331.864l-1.858.282-.842 1.68-1.337 1.32L2.6 6l-.306 1.854 1.337 1.32.842 1.68 1.858.282L8 12l1.669-.864 1.858-.282.842-1.68 1.337-1.32L13.4 6l.306-1.854-1.337-1.32-.842-1.68zm1.196 1.193.684 1.365 1.086 1.072L12.387 6l.248 1.506-1.086 1.072-.684 1.365-1.51.229L8 10.874l-1.355-.702-1.51-.229-.684-1.365-1.086-1.072L3.614 6l-.25-1.506 1.087-1.072.684-1.365 1.51-.229L8 1.126l1.356.702z'/%3E%3Cpath d='M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1z'/%3E%3C/svg%3E");
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-z3zz79atvd],
.components-reconnect-repeated-attempt-visible[b-z3zz79atvd],
.components-reconnect-failed-visible[b-z3zz79atvd],
.components-pause-visible[b-z3zz79atvd],
.components-resume-failed-visible[b-z3zz79atvd],
.components-rejoining-animation[b-z3zz79atvd] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-z3zz79atvd],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-z3zz79atvd],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-z3zz79atvd],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-z3zz79atvd],
#components-reconnect-modal.components-reconnect-retrying[b-z3zz79atvd],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-z3zz79atvd],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-z3zz79atvd],
#components-reconnect-modal.components-reconnect-failed[b-z3zz79atvd],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-z3zz79atvd] {
    display: block;
}


#components-reconnect-modal[b-z3zz79atvd] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-z3zz79atvd 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-z3zz79atvd 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-z3zz79atvd 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-z3zz79atvd]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-z3zz79atvd 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-z3zz79atvd {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-z3zz79atvd {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-z3zz79atvd {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-z3zz79atvd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-z3zz79atvd] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-z3zz79atvd] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-z3zz79atvd] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-z3zz79atvd] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-z3zz79atvd] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-z3zz79atvd] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-z3zz79atvd 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-z3zz79atvd] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-z3zz79atvd {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Admin/AdminAcademics.razor.rz.scp.css */
/* --------------------------------------------------------------------------
   Collapse controls for the academic tree.

   The structure runs four levels deep and the SIS export fills it with dozens
   of plans, so every level folds away. The caret is the only moving part; the
   rows themselves are hidden outright rather than animated, which keeps a long
   list cheap to open and close.
   -------------------------------------------------------------------------- */

.academic-caret[b-h9uv41pb3l] {
    display: inline-block;
    width: .75rem;
    font-size: .8rem;
    line-height: 1;
    color: var(--bs-secondary-color, #6c757d);
    transition: transform .15s ease-in-out;
}

.academic-caret.is-open[b-h9uv41pb3l] {
    transform: rotate(90deg);
}

/* The caret points into the text, so in Arabic it starts mirrored and opens
   the other way. */
[dir="rtl"] .academic-caret[b-h9uv41pb3l] {
    transform: rotate(180deg);
}

[dir="rtl"] .academic-caret.is-open[b-h9uv41pb3l] {
    transform: rotate(90deg);
}

/* Holds the same width as a caret so program names line up whether or not the
   program has plans to open. */
.academic-caret-spacer[b-h9uv41pb3l] {
    display: inline-block;
    width: .75rem;
}

/* Headings are clickable but are not buttons, so they need the affordances a
   button would have given them. */
.academic-heading[b-h9uv41pb3l] {
    cursor: pointer;
}

.academic-heading:focus-visible[b-h9uv41pb3l] {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: 2px;
    border-radius: .25rem;
}
/* /Components/Pages/Admin/AdminFees.razor.rz.scp.css */
/* --------------------------------------------------------------------------
   Collapse controls for the fee amounts list, which folds by faculty and then
   by academic level. Mirrors the academic tree's controls so the two screens
   behave alike.
   -------------------------------------------------------------------------- */

.fee-caret[b-2st72lh7hp] {
    display: inline-block;
    width: .75rem;
    font-size: .8rem;
    line-height: 1;
    color: var(--bs-secondary-color, #6c757d);
    transition: transform .15s ease-in-out;
}

.fee-caret.is-open[b-2st72lh7hp] {
    transform: rotate(90deg);
}

/* The caret points into the text, so in Arabic it starts mirrored and opens
   the other way. */
[dir="rtl"] .fee-caret[b-2st72lh7hp] {
    transform: rotate(180deg);
}

[dir="rtl"] .fee-caret.is-open[b-2st72lh7hp] {
    transform: rotate(90deg);
}

/* Headings are clickable but are not buttons, so they need the affordances a
   button would have given them. */
.fee-heading[b-2st72lh7hp] {
    cursor: pointer;
}

.fee-heading:focus-visible[b-2st72lh7hp] {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: 2px;
    border-radius: .25rem;
}
/* /Components/Pages/Admin/AdminTerms.razor.rz.scp.css */
/* Collapse control for a term card. Mirrors the academic tree so the two admin
   screens behave the same way. */

.term-caret[b-fq7mcb0rw2] {
    display: inline-block;
    width: .75rem;
    font-size: .8rem;
    line-height: 1;
    color: var(--bs-secondary-color, #6c757d);
    transition: transform .15s ease-in-out;
}

.term-caret.is-open[b-fq7mcb0rw2] {
    transform: rotate(90deg);
}

[dir="rtl"] .term-caret[b-fq7mcb0rw2] {
    transform: rotate(180deg);
}

[dir="rtl"] .term-caret.is-open[b-fq7mcb0rw2] {
    transform: rotate(90deg);
}

.term-heading[b-fq7mcb0rw2] {
    cursor: pointer;
}

.term-heading:focus-visible[b-fq7mcb0rw2] {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: 2px;
    border-radius: .25rem;
}
/* /Components/Pages/StudentViews/Receipt.razor.rz.scp.css */
/* The receipt is the one page students routinely put on paper, so it is sized
   for a sheet rather than for the viewport. The shared print rules in
   aiu-theme.css already hide the sidebar and the buttons; this only narrows the
   sheet and keeps the masthead with it. */

.receipt-sheet[b-5jqzhi4uix] {
    max-width: 42rem;
}

.receipt-masthead[b-5jqzhi4uix] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding-bottom: .75rem;
    margin-bottom: .5rem;
    border-bottom: 2px solid var(--aiu-line, #dee2e6);
}

.receipt-logo[b-5jqzhi4uix] {
    height: 3rem;
    width: auto;
}

.receipt-title[b-5jqzhi4uix] {
    font-weight: 650;
    color: var(--aiu-ink, #212529);
}

@media print {
    .receipt-sheet[b-5jqzhi4uix] {
        max-width: none;
        border: none !important;
    }

    /* A receipt that splits across two sheets is not one a finance office will
       accept, and it is short enough to always fit on one. */
    .receipt-sheet[b-5jqzhi4uix] {
        break-inside: avoid;
    }
}
/* /Components/Shared/CalendarMonth.razor.rz.scp.css */
.cal-month[b-0ap5nbnsns] {
    border: 1px solid var(--aiu-line);
    border-radius: var(--aiu-radius-sm);
    overflow: hidden;
    background: var(--aiu-surface);
}

.cal-row[b-0ap5nbnsns] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.cal-row + .cal-row[b-0ap5nbnsns] {
    border-top: 1px solid var(--aiu-line-soft);
}

.cal-head[b-0ap5nbnsns] {
    background: var(--aiu-surface-alt);
}

.cal-head-cell[b-0ap5nbnsns] {
    padding: .4rem .5rem;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: var(--aiu-muted);
    text-align: center;
}

.cal-cell[b-0ap5nbnsns] {
    min-height: 6.5rem;
    padding: .25rem .3rem .4rem;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    cursor: pointer;
    transition: background-color .12s ease;
}

.cal-cell + .cal-cell[b-0ap5nbnsns] {
    border-inline-start: 1px solid var(--aiu-line-soft);
}

.cal-cell:hover[b-0ap5nbnsns] {
    background: var(--aiu-surface-alt);
}

.cal-cell.is-weekend[b-0ap5nbnsns],
.cal-head-cell.is-weekend[b-0ap5nbnsns] {
    background: #fafafd;
}

.cal-cell.is-off-term[b-0ap5nbnsns] {
    background: repeating-linear-gradient(135deg, #f7f7fb, #f7f7fb 6px, #f1f1f6 6px, #f1f1f6 12px);
}

.cal-cell.is-outside .cal-day[b-0ap5nbnsns] {
    color: #b4b5c4;
}

.cal-cell.is-selected[b-0ap5nbnsns] {
    background: var(--aiu-info-bg);
    box-shadow: inset 0 0 0 2px var(--aiu-navy-light);
}

.cal-day[b-0ap5nbnsns] {
    align-self: flex-start;
    border: 0;
    background: transparent;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    font-size: .8rem;
    font-weight: 600;
    color: var(--aiu-ink);
    line-height: 1;
    padding: 0;
}

.cal-day:focus-visible[b-0ap5nbnsns] {
    outline: 2px solid var(--aiu-navy-light);
    outline-offset: 1px;
}

.cal-cell.is-today .cal-day[b-0ap5nbnsns] {
    background: var(--aiu-crimson);
    color: #fff;
}

.cal-chip[b-0ap5nbnsns] {
    display: flex;
    align-items: center;
    gap: 3px;
    width: 100%;
    border: 0;
    border-radius: 4px;
    padding: 1px 5px;
    font-size: .72rem;
    line-height: 1.35;
    text-align: start;
    min-width: 0;
}

.cal-chip-text[b-0ap5nbnsns] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cal-chip-star[b-0ap5nbnsns] {
    font-size: .62rem;
    flex: none;
}

/* A span continuing from yesterday, or on to tomorrow, runs into the cell edge
   so a week reads as one bar even though each day draws its own chip. */
.cal-chip.is-cont[b-0ap5nbnsns] {
    border-start-start-radius: 0;
    border-end-start-radius: 0;
    margin-inline-start: -.3rem;
    width: calc(100% + .3rem);
}

.cal-chip.is-start:not(.is-end)[b-0ap5nbnsns] {
    border-start-end-radius: 0;
    border-end-end-radius: 0;
    margin-inline-end: -.3rem;
    width: calc(100% + .3rem);
}

.cal-chip.is-cont:not(.is-end)[b-0ap5nbnsns] {
    margin-inline-end: -.3rem;
    width: calc(100% + .6rem);
    border-start-end-radius: 0;
    border-end-end-radius: 0;
}

.cal-chip.is-draft[b-0ap5nbnsns] {
    opacity: .6;
    outline: 1px dashed currentColor;
    outline-offset: -1px;
}

.cal-more[b-0ap5nbnsns] {
    border: 0;
    background: transparent;
    padding: 0 4px;
    font-size: .7rem;
    color: var(--aiu-muted);
    text-align: start;
}

.cal-more:hover[b-0ap5nbnsns] {
    color: var(--aiu-ink);
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .cal-cell[b-0ap5nbnsns] {
        min-height: 4.25rem;
        padding: .15rem;
    }

    .cal-head-cell[b-0ap5nbnsns] {
        padding: .3rem 0;
        font-size: .65rem;
    }

    /* On a phone a chip is a coloured bar: the day panel under the grid says
       what it is. */
    .cal-chip[b-0ap5nbnsns] {
        font-size: 0;
        height: 6px;
        padding: 0;
    }

    .cal-chip-star[b-0ap5nbnsns] {
        display: none;
    }

    .cal-more[b-0ap5nbnsns] {
        font-size: .6rem;
    }
}
