/* /Components/Layout/AdminLayout.razor.rz.scp.css */
.admin-page-heading[b-wfe16gwtz3] {
    font-size: 2rem;
    font-weight: 700;
    color: #212529;
    margin: 0;
}

/* container-fluid padding is handled globally in App.razor */
/* /Components/Layout/MainLayout - Old.razor.rz.scp.css */
.page[b-gkve5fdhhw] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-gkve5fdhhw] {
    flex: 1;
}

.sidebar[b-gkve5fdhhw] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-gkve5fdhhw] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-gkve5fdhhw]  a, .top-row[b-gkve5fdhhw]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-gkve5fdhhw]  a:hover, .top-row[b-gkve5fdhhw]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-gkve5fdhhw]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-gkve5fdhhw] {
        justify-content: space-between;
    }

    .top-row[b-gkve5fdhhw]  a, .top-row[b-gkve5fdhhw]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-gkve5fdhhw] {
        flex-direction: row;
    }

    .sidebar[b-gkve5fdhhw] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-gkve5fdhhw] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-gkve5fdhhw]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-gkve5fdhhw], article[b-gkve5fdhhw] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-gkve5fdhhw] {
    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-gkve5fdhhw] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-roqqzubauv] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-roqqzubauv] {
    flex: 1;
}

.sidebar[b-roqqzubauv] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-roqqzubauv] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-roqqzubauv]  a, .top-row[b-roqqzubauv]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-roqqzubauv]  a:hover, .top-row[b-roqqzubauv]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-roqqzubauv]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-roqqzubauv] {
        justify-content: space-between;
    }

    .top-row[b-roqqzubauv]  a, .top-row[b-roqqzubauv]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-roqqzubauv] {
        flex-direction: row;
    }

    .sidebar[b-roqqzubauv] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-roqqzubauv] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-roqqzubauv]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-roqqzubauv], article[b-roqqzubauv] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-roqqzubauv] {
    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-roqqzubauv] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-3wbe1m389u] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-3wbe1m389u] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-3wbe1m389u] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-3wbe1m389u] {
    font-size: 1.1rem;
}

.bi[b-3wbe1m389u] {
    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-3wbe1m389u] {
    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-3wbe1m389u] {
    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-3wbe1m389u] {
    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-3wbe1m389u] {
    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-3wbe1m389u] {
    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-3wbe1m389u] {
    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-3wbe1m389u] {
    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-3wbe1m389u] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

.nav-item[b-3wbe1m389u] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-3wbe1m389u] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-3wbe1m389u] {
        padding-bottom: 1rem;
    }

    .nav-item[b-3wbe1m389u]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-3wbe1m389u]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: #000;
}

.nav-item[b-3wbe1m389u]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-3wbe1m389u] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-3wbe1m389u] {
    display: block;
}

@media (min-width: 1200px) {
    .navbar-toggler[b-3wbe1m389u] {
        display: none;
    }

    .nav-scrollable[b-3wbe1m389u] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Pages/Admin/CourseTabs/CourseEligibleUserGroupsTab.razor.rz.scp.css */
.member-placeholder[b-y8ti619tsl] {
    width: 100px;
    height: 22px;
}
/* /Components/Pages/Admin/CoursewareBuilder/CoursewareBuilder.razor.rz.scp.css */
[b-8rfu9iglvz] .rich-inline p { display: inline; margin: 0; padding: 0; }
[b-8rfu9iglvz] .rich-inline p + p { margin-left: 0.25rem; }
.builder-scroll-y[b-8rfu9iglvz] {
    overflow-y: auto;
}
.builder-alert-close[b-8rfu9iglvz] {
    font-size: 0.6rem;
}
/* Save status renders inside the (now light, no-background) cw-shell__header — dark colors for contrast. */
.builder-save-status[b-8rfu9iglvz] { font-size: 0.8rem; font-weight: 500; white-space: nowrap; }
.save-status-unsaved[b-8rfu9iglvz] { color: #6c757d; }
.save-status-saving[b-8rfu9iglvz]  { color: #6c757d; }
.save-status-saved[b-8rfu9iglvz]   { color: #198754; }
.save-status-failed[b-8rfu9iglvz]  { color: #dc3545; }
/* /Components/Pages/Admin/CoursewareCatalog/CoursewareCatalog.razor.rz.scp.css */
.cw-catalog[b-j4i081mrlh] {
    padding-bottom: 1.5rem;
}

.cw-catalog__bar[b-j4i081mrlh] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}

.cw-catalog__title[b-j4i081mrlh] {
    margin: 0;
    font-size: 1.4rem;
    color: #1f2d3d;
    white-space: nowrap;
}

.cw-catalog__search[b-j4i081mrlh] {
    position: relative;
    flex: 1 1 240px;
    min-width: 200px;
}

.cw-catalog__search .bi-search[b-j4i081mrlh] {
    position: absolute;
    top: 50%;
    left: 0.75rem;
    transform: translateY(-50%);
    color: #6b7480;
    pointer-events: none;
}

.cw-catalog__search .form-control[b-j4i081mrlh] {
    padding-left: 2.1rem;
}

.cw-catalog__filter[b-j4i081mrlh] {
    width: auto;
    min-width: 9.5rem;
    flex: 0 0 auto;
}

.cw-catalog__new[b-j4i081mrlh] {
    flex: 0 0 auto;
    white-space: nowrap;
}

.cw-catalog__grid[b-j4i081mrlh] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1.1rem;
}

/* Placeholder + "add" tiles rendered directly by the page. The real cards style themselves. */
.cw-card[b-j4i081mrlh] {
    border: 1px solid #e3e6ea;
    border-radius: 0.5rem;
    overflow: hidden;
    background: #fff;
    min-height: 188px;
}

.cw-card__banner[b-j4i081mrlh] {
    height: 110px;
    display: block;
}

.cw-card__body[b-j4i081mrlh] {
    padding: 0.85rem 0.9rem 1rem;
}

.cw-card--add[b-j4i081mrlh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    border: 2px dashed #c2cad3;
    background: #fafbfc;
    color: #6b7480;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.cw-card--add:hover[b-j4i081mrlh] {
    border-color: #0a6cf5;
    color: #0a6cf5;
}

.cw-card--add .bi[b-j4i081mrlh] {
    font-size: 1.6rem;
}

.cw-catalog__empty[b-j4i081mrlh] {
    text-align: center;
    padding: 3.5rem 1rem;
    color: #6b7480;
}

.cw-catalog__empty .bi[b-j4i081mrlh] {
    font-size: 2.5rem;
    display: block;
    margin-bottom: 0.75rem;
    color: #c2cad3;
}

.cw-catalog__pager[b-j4i081mrlh] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem;
}

.cw-catalog__pager-info[b-j4i081mrlh] {
    font-size: 0.85rem;
    color: #6b7480;
}
/* /Components/Pages/Catalog/AssessmentNavigator.razor.rz.scp.css */
.sa-nav-progress[b-kc1j8226vg] {
    height: 8px;
}

.sa-nav-domains[b-kc1j8226vg] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.5rem;
}

.sa-nav-domain[b-kc1j8226vg] {
    text-align: left;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.5rem;
    background: var(--bs-body-bg);
    padding: 0.5rem 0.75rem;
    cursor: pointer;
}

.sa-nav-domain-active[b-kc1j8226vg] {
    border-color: var(--bs-primary);
    background-color: rgba(13, 110, 253, 0.06);
}

.sa-nav-domain-title[b-kc1j8226vg] {
    font-size: 0.85rem;
    font-weight: 600;
}

.sa-nav-markers[b-kc1j8226vg] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem;
}

.sa-marker[b-kc1j8226vg] {
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 0.5rem;
    border-radius: 1.25rem;
    border: 2px solid var(--bs-border-color);
    background: var(--bs-body-bg);
    color: var(--bs-secondary-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}

.sa-marker-rated[b-kc1j8226vg] {
    border-color: var(--bs-success);
    color: var(--bs-success);
}

.sa-marker-current[b-kc1j8226vg] {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.3);
    color: var(--bs-primary);
}
/* /Components/Pages/Catalog/CompetencyRubric.razor.rz.scp.css */
.sa-rubric-grid[b-73s6iij6er] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.75rem;
}

@media (max-width: 991.98px) {
    .sa-rubric-grid[b-73s6iij6er] {
        grid-template-columns: 1fr;
    }
}

.sa-col[b-73s6iij6er] {
    display: flex;
    flex-direction: column;
    text-align: left;
    border: 2px solid var(--bs-border-color);
    border-radius: 0.5rem;
    background: var(--bs-body-bg);
    padding: 0;
    overflow: hidden;
    cursor: pointer;
    transition: box-shadow 0.15s ease, transform 0.05s ease;
}

.sa-col:hover[b-73s6iij6er] {
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.12);
}

.sa-col-selected[b-73s6iij6er] {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

.sa-col-header[b-73s6iij6er] {
    font-weight: 600;
    text-align: center;
    padding: 0.5rem 0.5rem;
    color: #212529;
}

.sa-col-body[b-73s6iij6er] {
    padding: 0.75rem;
    font-size: 0.85rem;
    flex: 1 1 auto;
}

.sa-col-check[b-73s6iij6er] {
    text-align: center;
    color: var(--bs-primary);
    padding-bottom: 0.5rem;
}

.sa-col-notobserved .sa-col-header[b-73s6iij6er] { background-color: #d3d6d9; }
.sa-col-failing .sa-col-header[b-73s6iij6er] { background-color: #f4b7bd; }
.sa-col-needsimprovement .sa-col-header[b-73s6iij6er] { background-color: #f2c14e; }
.sa-col-proficient .sa-col-header[b-73s6iij6er] { background-color: #a7c8a0; }
.sa-col-distinguished .sa-col-header[b-73s6iij6er] { background-color: #6a6fc0; color: #fff; }

[b-73s6iij6er] .sa-description,
[b-73s6iij6er] .sa-description * {
    overflow-wrap: break-word;
    word-break: normal;
}
/* /Components/Pages/Catalog/SelfAssessment.razor.rz.scp.css */
[b-fqmlkccw28] .sa-description,
[b-fqmlkccw28] .sa-description * {
    overflow-wrap: break-word;
    word-break: normal;
}
/* /Components/Shared/Admin/AdminDetailsPanel.razor.rz.scp.css */
[b-ybbnwze2xr] .detail-tab-btn {
    font-size: 0.875rem;
    padding: 0.35rem 0.7rem;
    min-height: 34px;
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.15s ease;
    white-space: nowrap;
}

[b-ybbnwze2xr] .detail-tab-btn:focus-visible {
    outline: 2px solid #376CA9;
    outline-offset: 2px;
    animation: focus-bulge-b-ybbnwze2xr 0.3s ease;
}

@keyframes focus-bulge-b-ybbnwze2xr {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.03); }
    100% { transform: scale(1); }
}

[b-ybbnwze2xr] .detail-tab-btn.btn-primary {
    box-shadow: 0 1px 3px rgba(42, 81, 125, 0.25);
}

[b-ybbnwze2xr] .detail-tab-btn.btn-secondary {
    background-color: #e9ecef;
    color: #495057;
    border-color: #ced4da;
}

[b-ybbnwze2xr] .detail-tab-btn.btn-secondary:hover {
    background: #e8f1fa;
    color: #2A517D;
    border-color: #2A517D;
}

/* ?? Tab menu dropdown buttons ??????????????????????????? */
[b-ybbnwze2xr] .tab-menu-dropdown {
    position: relative;
}

[b-ybbnwze2xr] .tab-menu-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1049;
}

[b-ybbnwze2xr] .tab-menu-btn {
    font-size: 0.875rem;
    padding: 0.4rem 0.85rem;
    min-height: 34px;
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.15s ease;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
}

[b-ybbnwze2xr] .tab-menu-btn:focus-visible {
    outline: 2px solid #376CA9;
    outline-offset: 2px;
}

[b-ybbnwze2xr] .tab-menu-btn.btn-primary {
    box-shadow: 0 1px 3px rgba(42, 81, 125, 0.25);
}

[b-ybbnwze2xr] .tab-menu-btn.btn-secondary {
    background-color: #e9ecef;
    color: #495057;
    border-color: #ced4da;
}

[b-ybbnwze2xr] .tab-menu-btn.btn-secondary:hover {
    background: #e8f1fa;
    color: #2A517D;
    border-color: #2A517D;
}

[b-ybbnwze2xr] .tab-menu-dropdown-menu {
    min-width: 220px;
    max-height: 400px;
    overflow-y: auto;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    padding: 0.25rem 0;
    z-index: 1050;
}

[b-ybbnwze2xr] .tab-menu-dropdown-menu .dropdown-item {
    font-size: 0.85rem;
    padding: 0.45rem 1rem;
    display: flex;
    align-items: center;
}

[b-ybbnwze2xr] .tab-menu-dropdown-menu .dropdown-item i {
    width: 1.25rem;
    text-align: center;
}

[b-ybbnwze2xr] .tab-menu-dropdown-menu .dropdown-item.active {
    background-color: #2A517D;
    color: #fff;
}

[b-ybbnwze2xr] .tab-menu-dropdown-menu .dropdown-item:not(.active):hover {
    background-color: #e8f1fa;
    color: #2A517D;
}

/* ?? Detail header ??????????????????????????????????????? */
[b-ybbnwze2xr] .admin-detail-header {
    background: #f8f9fb;
    border-bottom: 1px solid #e2e6ea;
}

/* ?? Empty state ????????????????????????????????????????? */
[b-ybbnwze2xr] .admin-empty-state {
    background-color: #e8f1fa;
    border-color: #d0e0f0;
    min-height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
}

[b-ybbnwze2xr] .admin-empty-state .card-body {
    max-width: 420px;
}

[b-ybbnwze2xr] .admin-empty-state .admin-empty-icon {
    font-size: 3.5rem !important;
    color: var(--bs-primary) !important;
    opacity: 0.5;
}

[b-ybbnwze2xr] .admin-empty-state h5 {
    color: #212529;
    font-weight: 600;
    font-size: 1.35rem;
}

/* ?? Info banner ????????????????????????????????????????? */
[b-ybbnwze2xr] .alert-info {
    background-color: #e8f4fd;
    border-color: #bee5fa;
    color: #31708f;
}

/* ?? Badge styling in header ????????????????????????????? */
[b-ybbnwze2xr] .admin-detail-header .badge.bg-info {
    font-weight: 500;
}
/* /Components/Shared/Admin/AdminListPanel.razor.rz.scp.css */
/* Panel collapse button */
.admin-list-panel.collapsed[b-umeefg0cmu]  .collapsed-btn {
    width: 36px;
    padding: 0.25rem;
}

/* Keyboard navigation focus — outline applies whether tabindex sits on the .list-group-item itself or on an inner focusable child (e.g. ClassCard's .admin-card). */
[b-umeefg0cmu] .admin-list-interactive .list-group-item:focus-visible,
[b-umeefg0cmu] .admin-list-interactive .list-group-item [tabindex="0"]:focus-visible,
[b-umeefg0cmu] .admin-list-interactive .list-group-item [role="button"]:focus-visible,
[b-umeefg0cmu] .admin-list-interactive .list-group-item [role="option"]:focus-visible {
    outline: 2px solid #376CA9;
    outline-offset: -2px;
    z-index: 1;
    animation: focus-bulge-b-umeefg0cmu 0.3s ease;
}

@keyframes focus-bulge-b-umeefg0cmu {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.03); }
    100% { transform: scale(1); }
}

/* ?? Card header ????????????????????????????????????????? */
[b-umeefg0cmu] .card-header {
    background: #f8f9fb;
    border-bottom: 1px solid #e2e6ea;
}

/* Header count badge: outlined style matching screenshots */
[b-umeefg0cmu] .card-header .badge.bg-dark {
    background-color: #fff !important;
    color: #2E537F;
    border: 1.5px solid #2E537F;
    font-weight: 600;
    font-size: 0.8rem;
}

/* Search bar button styles live in site.scss (shared with AdminListView) */

/* ?? List items ?????????????????????????????????????????? */

/* Item name: primary blue link color when not selected */
[b-umeefg0cmu] .list-group-item:not(.active) .fw-semibold {
    color: var(--bs-primary);
}

/* Active list item: left border accent */
[b-umeefg0cmu] .list-group-item.active {
    border-left: 4px solid #1a4a75;
}

/* Active list item: flip status-colored icons/text to white so they remain legible against the blue background. */
[b-umeefg0cmu] .list-group-item.active .text-muted,
[b-umeefg0cmu] .list-group-item.active .text-success,
[b-umeefg0cmu] .list-group-item.active .text-danger,
[b-umeefg0cmu] .list-group-item.active .text-warning,
[b-umeefg0cmu] .list-group-item.active .text-info,
[b-umeefg0cmu] .list-group-item.active .text-primary,
[b-umeefg0cmu] .list-group-item.active .text-secondary,
[b-umeefg0cmu] .list-group-item.active .admin-card-status-dot {
    color: #fff !important;
}

/* Subtle hover on non-active items */
[b-umeefg0cmu] .list-group-item-action:not(.active):hover {
    background-color: #f0f5fa;
}

/* Lock icon styling (for system/protected items) */
[b-umeefg0cmu] .list-group-item:not(.active) .badge.bg-info {
    background-color: transparent !important;
    color: #dc3545;
    font-size: 0.7rem;
}

/* ?? Pagination footer ??????????????????????????????????? */
[b-umeefg0cmu] .pagination .page-link {
    border-radius: 4px;
    margin: 0 1px;
}
/* /Components/Shared/Admin/AdminNavBar.razor.rz.scp.css */
.admin-nav-bar[b-aefmrf5cer] {
    background: #fff;
    border-bottom: 1px solid #dee2e6;
    border-radius: 0;
    margin: 0;
}

[b-aefmrf5cer] .admin-nav-btn {
    font-size: 0.9rem;
    font-weight: 500;
    padding: 0.5rem 0.75rem;
    min-height: 38px;
    color: #495057;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    transition: color 0.15s ease, border-color 0.15s ease;
    white-space: nowrap;
}

[b-aefmrf5cer] .admin-nav-btn:hover {
    background: transparent;
    color: #2A517D;
    border-bottom-color: #b0c4de;
}

[b-aefmrf5cer] .admin-nav-btn:focus-visible {
    outline: 2px solid #376CA9;
    outline-offset: -2px;
}

[b-aefmrf5cer] .admin-nav-btn.active {
    background: transparent;
    color: #2A517D;
    border-bottom-color: #2A517D;
    font-weight: 600;
}

[b-aefmrf5cer] .admin-nav-btn.active:hover {
    background: transparent;
    color: #1e3d5e;
    border-bottom-color: #1e3d5e;
}

[b-aefmrf5cer] .admin-nav-btn::after {
    margin-left: 0.35em;
    vertical-align: 0.15em;
}

[b-aefmrf5cer] .dropdown-menu-sm {
    min-width: 13rem;
    padding: 0.35rem 0;
    font-size: 0.875rem;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    border: 1px solid #e2e6ea;
}

[b-aefmrf5cer] .dropdown-menu-sm .dropdown-item {
    padding: 0.45rem 0.85rem;
    font-size: 0.875rem;
    border-radius: 4px;
    margin: 1px 4px;
    width: calc(100% - 8px);
}

[b-aefmrf5cer] .dropdown-menu-sm .dropdown-item:hover {
    background: #e8f1fa;
    color: #2A517D;
}

[b-aefmrf5cer] .dropdown-menu-sm .dropdown-item:focus-visible {
    outline: 2px solid #2A517D;
    outline-offset: -2px;
    background: #e8f1fa;
    color: #2A517D;
}

[b-aefmrf5cer] .dropdown-menu-sm .dropdown-item:focus-visible {
    outline: 2px solid #2A517D;
    outline-offset: -2px;
}

[b-aefmrf5cer] .dropdown-menu-sm .dropdown-item.active {
    background: #2A517D;
    color: #fff;
}
/* /Components/Shared/Admin/AdminRowList.razor.rz.scp.css */
.admin-row-clickable[b-1gzhsdcmma] {
    cursor: pointer;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.admin-row-clickable:hover[b-1gzhsdcmma] {
    border-color: var(--bs-primary);
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.admin-row-clickable:focus-visible[b-1gzhsdcmma] {
    outline: 2px solid #2A517D;
    outline-offset: 2px;
    border-color: var(--bs-primary);
}
/* /Components/Shared/Admin/Courseware/Builder/ActivityEditor.razor.rz.scp.css */
.builder-html-toggle[b-4cdo5zu0ub] {
    font-size: 0.75rem;
}
.builder-html-textarea[b-4cdo5zu0ub] {
    font-size: 0.8rem;
    white-space: pre-wrap;
}
.builder-badge-sm[b-4cdo5zu0ub] {
    font-size: 0.85rem;
}
/* /Components/Shared/Admin/Courseware/Builder/AnswerEditor.razor.rz.scp.css */
.builder-answer-icon[b-cwa3xkrqst] {
    font-size: 1.2rem;
}
/* /Components/Shared/Admin/Courseware/Builder/AnswerOptions.razor.rz.scp.css */
.builder-badge-sm[b-jlajq8wmue] {
    font-size: 0.85rem;
}
.builder-badge-xs[b-jlajq8wmue] {
    font-size: 0.75rem;
}
.builder-answer-row[b-jlajq8wmue] {
    cursor: pointer;
}
.builder-answer-marker[b-jlajq8wmue] {
    font-size: 1.3rem;
}
.builder-answer-rationale[b-jlajq8wmue] {
    font-size: 0.9rem;
}
.builder-move-btn[b-jlajq8wmue] {
    font-size: 0;
}
.builder-move-icon[b-jlajq8wmue] {
    font-size: 0.85rem;
}
/* /Components/Shared/Admin/Courseware/Builder/CompanionEditor.razor.rz.scp.css */
.form-check-label[b-d0bl0u08eq] { font-size: 0.8rem; }
/* /Components/Shared/Admin/Courseware/Builder/PublishReadinessPanel.razor.rz.scp.css */
.readiness-panel[b-go47gbo5g2] {
    max-width: 22rem;
}

.readiness-list[b-go47gbo5g2] {
    max-height: 14rem;
    overflow-y: auto;
}

.readiness-item[b-go47gbo5g2] {
    border-bottom: 1px solid var(--bs-border-color-translucent);
}

.readiness-item:last-child[b-go47gbo5g2] {
    border-bottom: 0;
}

.readiness-icon-error[b-go47gbo5g2] {
    color: var(--bs-danger);
}

.readiness-icon-warning[b-go47gbo5g2] {
    color: var(--bs-warning);
}

.readiness-jump[b-go47gbo5g2] {
    text-decoration: none;
}
/* /Components/Shared/Admin/Courseware/Builder/QuestionEditor.razor.rz.scp.css */
.builder-question-icon[b-1wbdaf81xu] {
    font-size: 1.2rem;
}
.builder-badge-sm[b-1wbdaf81xu] {
    font-size: 0.85rem;
}
.builder-order-item[b-1wbdaf81xu] {
    cursor: grab;
}
.builder-order-index[b-1wbdaf81xu] {
    min-width: 28px;
}
.builder-cloze-preview[b-1wbdaf81xu] {
    line-height: 2.6;
    font-size: 1.05rem;
}
.builder-cloze-blank[b-1wbdaf81xu] {
    min-width: 100px;
    min-height: 34px;
    vertical-align: middle;
    border-style: dashed !important;
    border-width: 2px !important;
    border-color: #adb5bd !important;
}
.builder-image-preview[b-1wbdaf81xu] {
    max-height: 180px;
}
/* /Components/Shared/Admin/Courseware/Builder/QuestionsPanel.razor.rz.scp.css */
.builder-questions-card[b-9wcbvdp2c7] {
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
}
.builder-badge-sm[b-9wcbvdp2c7] {
    font-size: 0.85rem;
}
.builder-badge-xs[b-9wcbvdp2c7] {
    font-size: 0.75rem;
}
.builder-question-row[b-9wcbvdp2c7] {
    cursor: pointer;
}
.builder-question-icon[b-9wcbvdp2c7] {
    font-size: 1.3rem;
}
.builder-question-preview[b-9wcbvdp2c7] {
    font-size: 0.9rem;
}
.builder-move-btn[b-9wcbvdp2c7] {
    font-size: 0;
}
.builder-move-icon[b-9wcbvdp2c7] {
    font-size: 0.85rem;
}
/* /Components/Shared/Admin/Courseware/Builder/RubricEditor.razor.rz.scp.css */
.rubric-total[b-rcgrkkoc7z] {
    font-size: 0.85rem;
}

.rubric-row[b-rcgrkkoc7z] {
    width: 100%;
}
/* /Components/Shared/Admin/Courseware/Catalog/CoursewareCatalogCard.razor.rz.scp.css */
.cwc[b-stcp8oggt8] {
    position: relative;
    display: flex;
    flex-direction: column;
    border: 1px solid #e3e6ea;
    border-radius: 0.5rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    cursor: pointer;
    min-height: 188px;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.cwc:hover[b-stcp8oggt8],
.cwc:focus-visible[b-stcp8oggt8] {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
    outline: none;
}

.cwc__banner[b-stcp8oggt8] {
    height: 110px;
    background-size: cover;
    background-position: center;
    flex: 0 0 auto;
}

.cwc__banner--img[b-stcp8oggt8] {
    width: 100%;
    object-fit: cover;
}

.cwc__banner--1[b-stcp8oggt8] { background: linear-gradient(135deg, #3a7bd5, #3a6073); }
.cwc__banner--2[b-stcp8oggt8] { background: linear-gradient(135deg, #11998e, #38ef7d); }
.cwc__banner--3[b-stcp8oggt8] { background: linear-gradient(135deg, #834d9b, #d04ed6); }
.cwc__banner--4[b-stcp8oggt8] { background: linear-gradient(135deg, #ee9ca7, #ffdde1); }
.cwc__banner--5[b-stcp8oggt8] { background: linear-gradient(135deg, #373b44, #4286f4); }
.cwc__banner--6[b-stcp8oggt8] { background: linear-gradient(135deg, #c79081, #dfa579); }

.cwc__badge[b-stcp8oggt8] {
    position: absolute;
    top: 0.6rem;
    left: 0.6rem;
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.18rem 0.5rem;
    border-radius: 1rem;
    background: #e5e7eb;
    color: #4b5563;
}

.cwc__badge--active[b-stcp8oggt8] { background: #d1fae5; color: #065f46; }
.cwc__badge--draft[b-stcp8oggt8] { background: #fef3c7; color: #92400e; }
.cwc__badge--archived[b-stcp8oggt8] { background: #e5e7eb; color: #4b5563; }

.cwc__menu[b-stcp8oggt8] {
    position: absolute;
    top: 0.45rem;
    right: 0.5rem;
}

.cwc__kebab[b-stcp8oggt8] {
    border: none;
    border-radius: 50%;
    width: 1.7rem;
    height: 1.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.35);
    color: #fff;
}

.cwc__kebab:hover[b-stcp8oggt8] {
    background: rgba(0, 0, 0, 0.55);
}

.cwc__body[b-stcp8oggt8] {
    padding: 0.8rem 0.9rem 1rem;
    flex: 1 1 auto;
}

.cwc__title[b-stcp8oggt8] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1f2d3d;
    line-height: 1.3;
    margin: 0 0 0.35rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cwc__meta[b-stcp8oggt8] {
    font-size: 0.78rem;
    color: #6b7480;
    margin: 0;
}

.cwc__dot[b-stcp8oggt8] {
    margin: 0 0.35rem;
}
/* /Components/Shared/Admin/Courseware/Catalog/NewCoursewareModal.razor.rz.scp.css */
.cw-modal-backdrop[b-3bs1nloy8a] {
    background-color: rgba(0, 0, 0, 0.5);
}
/* /Components/Shared/Admin/Courseware/Grading/StevieGradeSuggestionPanel.razor.rz.scp.css */
.stevie-panel[b-89m3sd07xw] {
    border: 1px solid #d7dde4;
    border-radius: 0.5rem;
    background: #f8fafc;
    padding: 0.85rem 1rem;
    margin-bottom: 1rem;
}

.stevie-panel__head[b-89m3sd07xw] {
    display: flex;
    align-items: center;
    font-weight: 600;
    color: #2A517D;
    margin-bottom: 0.6rem;
}

.stevie-panel__title[b-89m3sd07xw] {
    font-size: 0.95rem;
}

.stevie-panel__note[b-89m3sd07xw] {
    font-size: 0.9rem;
}

.stevie-panel__badge[b-89m3sd07xw] {
    font-size: 0.75rem;
}

.stevie-panel__total[b-89m3sd07xw] {
    font-size: 0.9rem;
}

.stevie-panel__conf[b-89m3sd07xw] {
    font-size: 0.8rem;
}

.stevie-crit__name[b-89m3sd07xw] {
    font-weight: 600;
    font-size: 0.9rem;
}

.stevie-crit__score[b-89m3sd07xw] {
    font-size: 0.85rem;
    white-space: nowrap;
}

.stevie-crit__rationale[b-89m3sd07xw] {
    font-size: 0.85rem;
    margin-top: 0.15rem;
}
/* /Components/Shared/Registration/EnrollmentProgressScreen.razor.rz.scp.css */
.enrollment-progress-screen[b-r8nowsgctk] {
    animation: fadeIn-b-r8nowsgctk 0.3s ease-in;
}

@keyframes fadeIn-b-r8nowsgctk {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Shared container ── */

.loader-container[b-r8nowsgctk] {
    position: relative;
    width: 72px;
    height: 72px;
    margin: 0 auto;
}

/* ════════════════════════════════════════
   Animation 0: Orbital
   ════════════════════════════════════════ */

.orbital-ring[b-r8nowsgctk] {
    position: absolute;
    inset: 0;
    border-radius: 50%;
}

.orbital-dot[b-r8nowsgctk] {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    top: -5px;
    left: calc(50% - 5px);
}

.ring-1[b-r8nowsgctk] {
    animation: orbit-b-r8nowsgctk 2.4s linear infinite;
}
.ring-1 .orbital-dot[b-r8nowsgctk] {
    background: var(--bs-primary, #0d6efd);
    box-shadow: 0 0 8px color-mix(in srgb, var(--bs-primary, #0d6efd) 50%, transparent);
}

.ring-2[b-r8nowsgctk] {
    inset: 10px;
    animation: orbit-b-r8nowsgctk 1.8s linear infinite reverse;
}
.ring-2 .orbital-dot[b-r8nowsgctk] {
    width: 8px;
    height: 8px;
    top: -4px;
    left: calc(50% - 4px);
    background: color-mix(in srgb, var(--bs-primary, #0d6efd) 70%, white);
    box-shadow: 0 0 6px color-mix(in srgb, var(--bs-primary, #0d6efd) 35%, transparent);
}

.ring-3[b-r8nowsgctk] {
    inset: 20px;
    animation: orbit-b-r8nowsgctk 1.2s linear infinite;
}
.ring-3 .orbital-dot[b-r8nowsgctk] {
    width: 6px;
    height: 6px;
    top: -3px;
    left: calc(50% - 3px);
    background: color-mix(in srgb, var(--bs-primary, #0d6efd) 45%, white);
    box-shadow: 0 0 4px color-mix(in srgb, var(--bs-primary, #0d6efd) 25%, transparent);
}

.orbital-core[b-r8nowsgctk] {
    position: absolute;
    width: 10px;
    height: 10px;
    top: calc(50% - 5px);
    left: calc(50% - 5px);
    border-radius: 50%;
    background: var(--bs-primary, #0d6efd);
    animation: pulse-b-r8nowsgctk 2s ease-in-out infinite;
}

@keyframes orbit-b-r8nowsgctk {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@keyframes pulse-b-r8nowsgctk {
    0%, 100% { opacity: 0.4; transform: scale(0.8); }
    50%      { opacity: 1;   transform: scale(1.2); }
}

/* ════════════════════════════════════════
   Animation 1: Morphing Shape
   ════════════════════════════════════════ */

.morph-shape[b-r8nowsgctk] {
    position: absolute;
    width: 40px;
    height: 40px;
    top: calc(50% - 20px);
    left: calc(50% - 20px);
    background: var(--bs-primary, #0d6efd);
    animation: morph-b-r8nowsgctk 3s ease-in-out infinite;
    box-shadow: 0 0 16px color-mix(in srgb, var(--bs-primary, #0d6efd) 40%, transparent);
}

@keyframes morph-b-r8nowsgctk {
    0%   { border-radius: 50%;  transform: rotate(0deg)   scale(1);   opacity: 0.9; }
    25%  { border-radius: 20%;  transform: rotate(90deg)  scale(1.1); opacity: 1;   }
    50%  { border-radius: 50%;  transform: rotate(180deg) scale(0.9); opacity: 0.7; }
    75%  { border-radius: 4px;  transform: rotate(270deg) scale(1.1); opacity: 1;   }
    100% { border-radius: 50%;  transform: rotate(360deg) scale(1);   opacity: 0.9; }
}

/* ════════════════════════════════════════
   Animation 2: DNA Helix
   ════════════════════════════════════════ */

.helix-strand[b-r8nowsgctk] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.helix-dot[b-r8nowsgctk] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bs-primary, #0d6efd);
    animation-duration: 1.6s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-delay: calc(var(--i) * 0.2s);
}

.helix-dot.dot-a[b-r8nowsgctk] {
    animation-name: helixA-b-r8nowsgctk;
    box-shadow: 0 0 6px color-mix(in srgb, var(--bs-primary, #0d6efd) 50%, transparent);
}

.helix-dot.dot-b[b-r8nowsgctk] {
    animation-name: helixB-b-r8nowsgctk;
    background: color-mix(in srgb, var(--bs-primary, #0d6efd) 55%, white);
    box-shadow: 0 0 6px color-mix(in srgb, var(--bs-primary, #0d6efd) 30%, transparent);
}

@keyframes helixA-b-r8nowsgctk {
    0%, 100% { transform: translateX(-14px) scale(1);   opacity: 1;   }
    50%      { transform: translateX(14px)  scale(0.6); opacity: 0.4; }
}

@keyframes helixB-b-r8nowsgctk {
    0%, 100% { transform: translateX(14px)  scale(0.6); opacity: 0.4; }
    50%      { transform: translateX(-14px) scale(1);   opacity: 1;   }
}

/* ════════════════════════════════════════
   Animation 3: Ripple
   ════════════════════════════════════════ */

.ripple-ring[b-r8nowsgctk] {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border: 2px solid var(--bs-primary, #0d6efd);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: ripple-b-r8nowsgctk 2.4s ease-out infinite;
}

.ripple-2[b-r8nowsgctk] { animation-delay: 0.8s; }
.ripple-3[b-r8nowsgctk] { animation-delay: 1.6s; }

.ripple-core[b-r8nowsgctk] {
    position: absolute;
    width: 10px;
    height: 10px;
    top: calc(50% - 5px);
    left: calc(50% - 5px);
    border-radius: 50%;
    background: var(--bs-primary, #0d6efd);
    animation: ripplePulse-b-r8nowsgctk 2.4s ease-in-out infinite;
}

@keyframes ripple-b-r8nowsgctk {
    0%   { width: 0;    height: 0;    opacity: 0.8; border-width: 3px; }
    100% { width: 72px; height: 72px; opacity: 0;   border-width: 1px; }
}

@keyframes ripplePulse-b-r8nowsgctk {
    0%, 100% { transform: scale(1);   opacity: 0.8; }
    50%      { transform: scale(1.3); opacity: 1;   }
}

/* ════════════════════════════════════════
   Animation 4: Constellation
   ════════════════════════════════════════ */

.constellation-group[b-r8nowsgctk] {
    position: absolute;
    inset: 0;
    animation: constellationSpin-b-r8nowsgctk 8s linear infinite;
}

.constellation-lines[b-r8nowsgctk] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.constellation-lines line[b-r8nowsgctk] {
    stroke: color-mix(in srgb, var(--bs-primary, #0d6efd) 30%, transparent);
    stroke-width: 1.5;
    stroke-dasharray: 4 3;
    animation: dashDrift-b-r8nowsgctk 2s linear infinite;
}

.constellation-dot[b-r8nowsgctk] {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--bs-primary, #0d6efd);
    box-shadow: 0 0 8px color-mix(in srgb, var(--bs-primary, #0d6efd) 50%, transparent);
    animation: constellationPulse-b-r8nowsgctk 2.4s ease-in-out infinite;
}

.cdot-1[b-r8nowsgctk] { top: -1px;  left: calc(50% - 5px); animation-delay: 0s;   }
.cdot-2[b-r8nowsgctk] { top: calc(50% - 5px); right: -1px; animation-delay: 0.6s; }
.cdot-3[b-r8nowsgctk] { bottom: -1px; left: calc(50% - 5px); animation-delay: 1.2s; }
.cdot-4[b-r8nowsgctk] { top: calc(50% - 5px); left: -1px;  animation-delay: 1.8s; }

@keyframes constellationSpin-b-r8nowsgctk {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@keyframes constellationPulse-b-r8nowsgctk {
    0%, 100% { transform: scale(0.7); opacity: 0.4; }
    50%      { transform: scale(1.2); opacity: 1;   }
}

@keyframes dashDrift-b-r8nowsgctk {
    from { stroke-dashoffset: 0; }
    to   { stroke-dashoffset: 14; }
}

/* ════════════════════════════════════════
   Animation 5: Pendulum (Newton's cradle bars)
   ════════════════════════════════════════ */

.pendulum[b-r8nowsgctk] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.pendulum-bar[b-r8nowsgctk] {
    width: 6px;
    height: 32px;
    border-radius: 3px;
    background: var(--bs-primary, #0d6efd);
    animation: pendulumSwing-b-r8nowsgctk 1.2s ease-in-out infinite;
    animation-delay: calc(var(--i) * 0.1s);
    transform-origin: top center;
}

@keyframes pendulumSwing-b-r8nowsgctk {
    0%, 100% { transform: scaleY(1)   rotate(0deg);   opacity: 0.5; }
    25%      { transform: scaleY(1.4) rotate(-8deg);   opacity: 1;   }
    50%      { transform: scaleY(1)   rotate(0deg);    opacity: 0.5; }
    75%      { transform: scaleY(1.4) rotate(8deg);    opacity: 1;   }
}

/* ════════════════════════════════════════
   Animation 6: 3D Wireframe Cube
   ════════════════════════════════════════ */

.cube-scene[b-r8nowsgctk] {
    position: absolute;
    inset: 0;
    perspective: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cube[b-r8nowsgctk] {
    width: 32px;
    height: 32px;
    position: relative;
    transform-style: preserve-3d;
    animation: cubeRotate-b-r8nowsgctk 4s linear infinite;
}

.cube-face[b-r8nowsgctk] {
    position: absolute;
    width: 32px;
    height: 32px;
    border: 2px solid var(--bs-primary, #0d6efd);
    border-radius: 2px;
    background: color-mix(in srgb, var(--bs-primary, #0d6efd) 8%, transparent);
    box-shadow: inset 0 0 8px color-mix(in srgb, var(--bs-primary, #0d6efd) 12%, transparent);
}

.cube-face.front[b-r8nowsgctk]  { transform: translateZ(16px); }
.cube-face.back[b-r8nowsgctk]   { transform: rotateY(180deg) translateZ(16px); }
.cube-face.left[b-r8nowsgctk]   { transform: rotateY(-90deg) translateZ(16px); }
.cube-face.right[b-r8nowsgctk]  { transform: rotateY(90deg) translateZ(16px); }
.cube-face.top[b-r8nowsgctk]    { transform: rotateX(90deg) translateZ(16px); }
.cube-face.bottom[b-r8nowsgctk] { transform: rotateX(-90deg) translateZ(16px); }

@keyframes cubeRotate-b-r8nowsgctk {
    0%   { transform: rotateX(0deg)   rotateY(0deg); }
    25%  { transform: rotateX(90deg)  rotateY(90deg); }
    50%  { transform: rotateX(180deg) rotateY(180deg); }
    75%  { transform: rotateX(270deg) rotateY(270deg); }
    100% { transform: rotateX(360deg) rotateY(360deg); }
}

/* ════════════════════════════════════════
   Animation 7: Staircase (stepping blocks)
   ════════════════════════════════════════ */

.staircase[b-r8nowsgctk] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 3px;
    padding-bottom: 12px;
}

.stair-block[b-r8nowsgctk] {
    width: 10px;
    border-radius: 2px;
    background: var(--bs-primary, #0d6efd);
    animation: stairStep-b-r8nowsgctk 2s ease-in-out infinite;
    animation-delay: calc(var(--i) * 0.15s);
    box-shadow: 0 2px 6px color-mix(in srgb, var(--bs-primary, #0d6efd) 30%, transparent);
}

@keyframes stairStep-b-r8nowsgctk {
    0%, 100% { height: 10px; opacity: 0.4; }
    20%      { height: calc(12px + var(--i) * 8px); opacity: 1; }
    40%      { height: calc(12px + var(--i) * 8px); opacity: 1; }
    60%      { height: 48px; opacity: 0.8; }
    80%      { height: 10px; opacity: 0.4; }
}

/* ════════════════════════════════════════
   Animation 8: Pinwheel (rotating blades)
   ════════════════════════════════════════ */

.pinwheel[b-r8nowsgctk] {
    position: absolute;
    inset: 0;
    animation: pinwheelSpin-b-r8nowsgctk 3s linear infinite;
}

.pinwheel-blade[b-r8nowsgctk] {
    position: absolute;
    width: 0;
    height: 0;
    top: 50%;
    left: 50%;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 28px solid var(--bs-primary, #0d6efd);
    transform-origin: center bottom;
    transform: translate(-8px, -28px) rotate(calc(var(--i) * 90deg));
    animation: bladePulse-b-r8nowsgctk 2s ease-in-out infinite;
    animation-delay: calc(var(--i) * 0.5s);
    filter: drop-shadow(0 0 4px color-mix(in srgb, var(--bs-primary, #0d6efd) 40%, transparent));
}

@keyframes pinwheelSpin-b-r8nowsgctk {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@keyframes bladePulse-b-r8nowsgctk {
    0%, 100% { opacity: 0.35; }
    50%      { opacity: 1;    }
}

/* ════════════════════════════════════════
   Animation 9: Bounce Grid (3x3 wave)
   ════════════════════════════════════════ */

.bounce-grid[b-r8nowsgctk] {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 14px;
    align-items: center;
    justify-items: center;
}

.bounce-dot[b-r8nowsgctk] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--bs-primary, #0d6efd);
    animation: bounceWave-b-r8nowsgctk 1.6s ease-in-out infinite;
    animation-delay: calc(var(--d) * 0.15s);
    box-shadow: 0 0 6px color-mix(in srgb, var(--bs-primary, #0d6efd) 40%, transparent);
}

@keyframes bounceWave-b-r8nowsgctk {
    0%, 100% { transform: scale(0.5); opacity: 0.3; }
    50%      { transform: scale(1.3); opacity: 1;   }
}
/* /Components/Shared/ToastContainer.razor.rz.scp.css */
.toast-container[b-s1ef81mrqj] {
    max-width: 380px;
}

.toast[b-s1ef81mrqj] {
    max-width: 350px;
    margin-bottom: 0.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    overflow: visible;
}

.toast-body[b-s1ef81mrqj] {
    overflow: visible;
}

.toast-slide-in[b-s1ef81mrqj] {
    animation: slideInRight-b-s1ef81mrqj 0.3s ease-out;
}

@keyframes slideInRight-b-s1ef81mrqj {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}
