/* /Components/Common/BrandLogo.razor.rz.scp.css */
.brand-logo-link[b-1066facrmf] {
    display: inline-flex;
    flex-shrink: 0;
    cursor: pointer;
    line-height: 0;
}

.brand-logo[b-1066facrmf] {
    display: block;
    width: auto;
    object-fit: contain;
}

.brand-logo--sm[b-1066facrmf] {
    height: 24px;
}

.brand-logo--md[b-1066facrmf] {
    height: 32px;
}

.brand-logo--lg[b-1066facrmf] {
    height: 40px;
}

.brand-logo--xl[b-1066facrmf] {
    height: 48px;
}

@media (max-width: 960px) {
    .brand-logo--md[b-1066facrmf] {
        height: 28px;
    }

    .brand-logo--xl[b-1066facrmf] {
        height: 40px;
    }
}
/* /Components/Common/Errors/BlazorErrorUI.razor.rz.scp.css */
#blazor-error-ui[b-ybuxni0s9o]
{
    display: none;
    background-color: transparent;
    box-shadow: none;
    padding: 30px;
}
/* /Components/Common/FileUploads/FileUploadSection.razor.rz.scp.css */
.file-upload-section[b-a5f6c5bnys] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 6rem;
    border: 1px dashed var(--admin-outline);
    border-radius: var(--public-radius-md, 0.75rem);
    background: var(--admin-surface-alt);
    padding: 1rem;
}

.file-upload-section-dragging[b-a5f6c5bnys] {
    border-color: var(--admin-primary);
    background: color-mix(in srgb, var(--admin-primary) 8%, var(--admin-surface-lowest));
}

.file-upload-input[b-a5f6c5bnys] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.file-upload-content[b-a5f6c5bnys] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
    pointer-events: none;
}

.file-upload-icon[b-a5f6c5bnys] {
    color: var(--admin-primary);
}

.file-upload-hint[b-a5f6c5bnys] {
    margin: 0;
    font-size: var(--admin-text-base, 0.875rem);
    color: var(--admin-text-secondary);
}

.file-upload-selected[b-a5f6c5bnys] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.file-upload-selected-name[b-a5f6c5bnys] {
    font-size: var(--admin-text-base, 0.875rem);
    color: var(--admin-on-surface);
}
/* /Components/Features/Account/Pages/Login.razor.rz.scp.css */
.auth-page[b-23rqhjzzbj]
{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--public-background);
    color: var(--public-on-surface);
    font-family: var(--public-font-family);
}

.auth-hero[b-23rqhjzzbj]
{
    display: none;
    position: relative;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: var(--public-stack-lg);
    background: var(--public-primary);
}

.auth-hero-overlay[b-23rqhjzzbj]
{
    position: absolute;
    inset: 0;
    background-image: url("https://lh3.googleusercontent.com/aida-public/AB6AXuDWooRq2ftk-5Kcpxw9xmawo6D8nHwd_4wq3EBjb0lpmWm4KSqtmZkYoHcQ6Ncqo0Hz4otrDkHFnJ-SP_e3YWzq7R3hAr8ALKiK3Rwe5C6gkwZ64Rwrcd6BX2utRFegZTWAiK22pdMm84qjuqw981YmroT0YR0OECXdT-pVfCMAK2oPn_3hOZkQnKrO6UkR8piKIPeUSkrBMV4D7k_8XG_wyrphh6zUWH654Fy1knX6biGcPhKpQpaE6gs7_IDKpyDGLeF7geGf3WF7");
    background-size: cover;
    background-position: center;
    opacity: 0.4;
    mix-blend-mode: overlay;
}

.auth-hero-gradient[b-23rqhjzzbj]
{
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, var(--public-primary), color-mix(in srgb, var(--public-primary) 80%, transparent), transparent);
}

.auth-hero-brand[b-23rqhjzzbj],
.auth-hero-copy[b-23rqhjzzbj]
{
    position: relative;
    z-index: 1;
}

.auth-hero-brand[b-23rqhjzzbj]
{
    display: flex;
    align-items: center;
}

[b-23rqhjzzbj] .auth-hero-brand-logo
{
    height: 56px !important;
}

.auth-hero-copy[b-23rqhjzzbj]
{
    margin-top: auto;
    padding-bottom: var(--public-stack-lg);
}

.auth-hero-copy h1[b-23rqhjzzbj]
{
    margin: 0 0 var(--public-stack-md);
    color: var(--public-on-primary);
    font-size: var(--public-headline-xl);
    font-weight: 700;
    line-height: 1.2;
}

.auth-hero-copy p[b-23rqhjzzbj]
{
    margin: 0;
    max-width: 28rem;
    color: var(--public-on-primary-container);
    font-size: var(--public-body-md);
    line-height: 1.6;
}

.auth-panel[b-23rqhjzzbj]
{
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    padding: var(--public-stack-lg);
}

.auth-panel-inner[b-23rqhjzzbj]
{
    width: 100%;
    max-width: 420px;
}

.auth-mobile-brand[b-23rqhjzzbj]
{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--public-stack-lg);
}

.auth-tabs[b-23rqhjzzbj]
{
    display: flex;
    gap: 0;
    margin-bottom: var(--public-stack-lg);
    padding: 4px;
    border-radius: var(--public-radius);
    background: var(--public-surface-variant);
}

.auth-tab[b-23rqhjzzbj]
{
    flex: 1;
    padding: 8px 12px;
    border: 0;
    border-radius: var(--public-radius-sm);
    background: transparent;
    color: var(--public-on-surface-variant);
    font-family: inherit;
    font-size: var(--public-label-md);
    font-weight: 500;
    line-height: 1.4;
    cursor: pointer;
    transition: color var(--public-transition), background-color var(--public-transition), transform 100ms ease;
}

.auth-tab:hover[b-23rqhjzzbj]
{
    color: var(--public-primary-interactive);
}

.auth-tab:active[b-23rqhjzzbj]
{
    transform: scale(0.98);
}

.auth-tab-active[b-23rqhjzzbj]
{
    background: var(--public-background);
    color: var(--public-primary-interactive);
    font-weight: 700;
    box-shadow: var(--public-shadow-sm);
}

.auth-header[b-23rqhjzzbj]
{
    margin-bottom: var(--public-stack-lg);
}

.auth-header h2[b-23rqhjzzbj]
{
    margin: 0 0 var(--public-stack-sm);
    color: var(--public-on-surface);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.25;
}

.auth-header p[b-23rqhjzzbj]
{
    margin: 0;
    color: var(--public-on-surface-variant);
    font-size: var(--public-body-md);
    line-height: 1.6;
}

.auth-error[b-23rqhjzzbj]
{
    margin-bottom: var(--public-stack-md);
    padding: 12px 14px;
    border: 1px solid var(--public-error-container);
    border-radius: var(--public-radius);
    background: var(--public-error-container);
    color: var(--public-on-error-container);
    font-size: var(--public-label-md);
    line-height: 1.4;
}

.auth-form[b-23rqhjzzbj]
{
    display: flex;
    flex-direction: column;
    gap: var(--public-stack-md);
}

.auth-field label[b-23rqhjzzbj]
{
    display: block;
    margin-bottom: 6px;
    color: var(--public-on-surface-variant);
    font-size: var(--public-label-sm);
    font-weight: 500;
    line-height: 1.2;
}

.auth-label-row[b-23rqhjzzbj]
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.auth-label-row label[b-23rqhjzzbj]
{
    margin-bottom: 0;
}

.auth-forgot[b-23rqhjzzbj]
{
    color: var(--public-primary-interactive);
    font-size: var(--public-label-sm);
    font-weight: 500;
    line-height: 1.2;
    cursor: default;
    opacity: 0.7;
}

.auth-input-wrap[b-23rqhjzzbj]
{
    position: relative;
}

.auth-input-icon[b-23rqhjzzbj]
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 12px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    color: var(--public-outline);
    pointer-events: none;
}

.auth-input-icon[b-23rqhjzzbj]  .mud-icon-root
{
    font-size: 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
}

.auth-input[b-23rqhjzzbj]
{
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px 10px 40px;
    border: 1px solid var(--public-outline-variant);
    border-radius: var(--public-radius-md);
    background: var(--public-background);
    color: var(--public-on-surface);
    font-family: inherit;
    font-size: var(--public-body-md);
    line-height: 1.5;
    outline: none;
    transition: border-color var(--public-transition), box-shadow var(--public-transition);
}

.auth-input-password[b-23rqhjzzbj]
{
    padding-right: 44px;
}

.auth-input[b-23rqhjzzbj]::placeholder
{
    color: var(--public-outline);
}

.auth-input:focus[b-23rqhjzzbj]
{
    border-color: var(--public-primary-interactive);
    box-shadow: 0 0 0 1px var(--public-primary-interactive);
}

.auth-visibility[b-23rqhjzzbj]
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: inline-flex;
    align-items: center;
    padding-right: 12px;
    border: 0;
    background: transparent;
    color: var(--public-outline);
    cursor: pointer;
}

.auth-visibility:hover[b-23rqhjzzbj]
{
    color: var(--public-on-surface-variant);
}

.auth-field-error[b-23rqhjzzbj],
.auth-field[b-23rqhjzzbj]  .validation-message
{
    display: block;
    margin-top: 6px;
    color: var(--public-error);
    font-size: var(--public-label-sm);
}

.auth-submit[b-23rqhjzzbj]
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--public-stack-sm);
    width: 100%;
    margin-top: var(--public-stack-sm);
    padding: 12px 16px;
    border: 0;
    border-radius: var(--public-radius-md);
    background: var(--public-primary-interactive);
    color: var(--public-on-primary);
    font-family: inherit;
    font-size: var(--public-label-md);
    font-weight: 500;
    line-height: 1.4;
    cursor: pointer;
    transition: background-color var(--public-transition), transform 100ms ease;
}

.auth-submit:hover:not(:disabled)[b-23rqhjzzbj]
{
    background: var(--public-primary-deep);
}

.auth-submit:active:not(:disabled)[b-23rqhjzzbj]
{
    transform: scale(0.98);
}

.auth-submit:disabled[b-23rqhjzzbj]
{
    opacity: 0.65;
    cursor: not-allowed;
}

.auth-divider[b-23rqhjzzbj]
{
    display: flex;
    align-items: center;
    margin: var(--public-stack-lg) 0;
    color: var(--public-outline);
    font-size: var(--public-label-sm);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.auth-divider[b-23rqhjzzbj]::before,
.auth-divider[b-23rqhjzzbj]::after
{
    content: "";
    flex: 1;
    border-top: 1px solid var(--public-outline-variant);
}

.auth-divider span[b-23rqhjzzbj]
{
    margin: 0 var(--public-stack-md);
}

.auth-social[b-23rqhjzzbj]
{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--public-stack-md);
}

.auth-social-button[b-23rqhjzzbj]
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--public-stack-sm);
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--public-outline-variant);
    border-radius: var(--public-radius-md);
    background: var(--public-background);
    color: var(--public-on-surface);
    font-family: inherit;
    font-size: var(--public-label-md);
    font-weight: 500;
    line-height: 1.4;
    cursor: not-allowed;
    opacity: 0.55;
}

.auth-social-icon[b-23rqhjzzbj]
{
    width: 20px;
    height: 20px;
}

.auth-social-linkedin[b-23rqhjzzbj]
{
    fill: #0a66c2;
}

@media (min-width: 768px)
{
    .auth-page[b-23rqhjzzbj]
    {
        flex-direction: row;
    }

    .auth-hero[b-23rqhjzzbj]
    {
        display: flex;
        width: 50%;
    }

    .auth-panel[b-23rqhjzzbj]
    {
        width: 50%;
        padding: var(--public-stack-lg);
    }

    .auth-mobile-brand[b-23rqhjzzbj]
    {
        display: none;
    }
}

@media (min-width: 1024px)
{
    .auth-hero[b-23rqhjzzbj]
    {
        width: 41.6667%;
        padding: 48px;
    }

    .auth-panel[b-23rqhjzzbj]
    {
        width: 58.3333%;
        padding: 48px;
    }
}
/* /Components/Features/Bootcamps/Components/BootcampFormFields.razor.rz.scp.css */
.bootcamp-form-stack[b-mzzd2lktin] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bootcamp-form-card[b-mzzd2lktin] {
    background: var(--admin-surface-lowest);
    border: 1px solid var(--admin-outline);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 4px 20px -2px rgba(53, 37, 205, 0.05);
}

.bootcamp-form-field[b-mzzd2lktin] {
    margin-bottom: 16px;
}

.bootcamp-form-field:last-child[b-mzzd2lktin] {
    margin-bottom: 0;
}

.bootcamp-form-field-row[b-mzzd2lktin] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 600px) {
    .bootcamp-form-field-row[b-mzzd2lktin] {
        grid-template-columns: 1fr 1fr;
    }
}

.bootcamp-form-label[b-mzzd2lktin] {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--admin-on-surface);
}

.bootcamp-form-existing-file[b-mzzd2lktin] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: var(--admin-on-surface-variant);
}
/* /Components/Features/Home/Pages/Index.razor.rz.scp.css */
/*
 * Vioren Academy — Homepage styles.
 * Consumes --public-* tokens from public-theme.css.
 */

.home-page[b-ow1aldpn0i] {
    box-sizing: border-box;
    width: 100%;
    background: var(--public-background);
    color: var(--public-text-primary);
    font-family: var(--public-font-family);
}

.home-page *[b-ow1aldpn0i],
.home-page *[b-ow1aldpn0i]::before,
.home-page *[b-ow1aldpn0i]::after {
    box-sizing: border-box;
}

/* ── Layout shell ───────────────────────────────────────── */

.home-page__container[b-ow1aldpn0i] {
    width: 100%;
    max-width: var(--public-container-max);
    margin-inline: auto;
    padding-inline: var(--public-gutter-page);
}

/* ── Hero ─────────────────────────────────────────────── */

.hero-section[b-ow1aldpn0i] {
    position: relative;
    overflow: hidden;
    padding-block: 4rem 6rem;
    background: radial-gradient(circle at top right, color-mix(in srgb, var(--public-primary-interactive) 5%, transparent), transparent);
}

.hero-grid[b-ow1aldpn0i] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;
}

@media (min-width: 1024px) {
    .hero-grid[b-ow1aldpn0i] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.hero-headline[b-ow1aldpn0i] {
    margin: 0 0 1.5rem;
    font-size: clamp(var(--public-headline-xl-mobile), 5vw, 3.75rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--public-text-primary);
}

.hero-headline-accent[b-ow1aldpn0i] {
    color: var(--public-primary-interactive);
}

.hero-description[b-ow1aldpn0i] {
    margin: 0 0 2.5rem;
    max-width: 32rem;
    font-size: 1.125rem;
    line-height: 1.75;
    color: var(--public-text-secondary);
}

.hero-actions[b-ow1aldpn0i] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.hero-media[b-ow1aldpn0i] {
    width: 100%;
}

.hero-media-button[b-ow1aldpn0i] {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: var(--public-radius-xl);
    overflow: hidden;
    background: transparent;
    cursor: pointer;
    box-shadow: var(--public-shadow-hero);
}

.hero-media-button:focus-visible[b-ow1aldpn0i] {
    outline: 2px solid var(--public-primary-interactive);
    outline-offset: 3px;
}

.hero-poster[b-ow1aldpn0i] {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    vertical-align: middle;
}

.hero-play-overlay[b-ow1aldpn0i] {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 5rem;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--public-radius-full);
    background: var(--public-surface);
    color: var(--public-primary-interactive);
    box-shadow: var(--public-shadow-hero);
    pointer-events: none;
    transition: transform var(--public-transition);
}

.hero-media-button:hover .hero-play-overlay[b-ow1aldpn0i] {
    transform: scale(1.1);
}

/* Mud hero buttons */
.home-page[b-ow1aldpn0i]  .hero-cta-primary.mud-button-root,
.home-page[b-ow1aldpn0i]  .hero-cta-secondary.mud-button-root {
    margin: 0;
    min-height: 3.5rem;
    padding: 1rem 2rem;
    border-radius: var(--public-radius-md);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: none;
}

.home-page[b-ow1aldpn0i]  .hero-cta-primary.mud-button-root {
    background-color: var(--public-secondary-container) !important;
    color: var(--public-on-secondary-container) !important;
    box-shadow: var(--public-shadow-cta) !important;
}

.home-page[b-ow1aldpn0i]  .hero-cta-primary.mud-button-root:hover {
    transform: scale(1.03);
}

.home-page[b-ow1aldpn0i]  .hero-cta-secondary.mud-button-root {
    border: 1px solid var(--public-outline-variant) !important;
    background-color: var(--public-surface) !important;
    color: var(--public-primary-interactive) !important;
}

.home-page[b-ow1aldpn0i]  .hero-cta-secondary.mud-button-root:hover {
    background-color: var(--public-surface-alt) !important;
}

/* Video modal */
.hero-video-overlay[b-ow1aldpn0i] {
    z-index: 1400;
}

.hero-video-dialog[b-ow1aldpn0i] {
    position: fixed;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    z-index: 1500;
    width: min(90vw, 56rem);
    border-radius: var(--public-radius-md);
    overflow: hidden;
    background: #000000;
}

.hero-video-close[b-ow1aldpn0i] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 1;
    color: var(--public-on-primary);
}

.hero-video-player[b-ow1aldpn0i] {
    display: block;
    width: 100%;
    max-height: 80vh;
}

/* ── Popular categories ───────────────────────────────── */

.categories-section[b-ow1aldpn0i] {
    padding-block: 6rem;
    background: var(--public-background);
}

.categories-panel[b-ow1aldpn0i] {
    border: 1px solid var(--public-outline-variant);
    border-radius: 2.5rem;
    padding: 4rem 3rem;
    background: var(--public-surface);
    box-shadow: var(--public-shadow-sm);
}

.categories-header[b-ow1aldpn0i] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 3rem;
    flex-wrap: wrap;
}

.categories-header__text[b-ow1aldpn0i] {
    min-width: 0;
}

.categories-title[b-ow1aldpn0i] {
    margin: 0 0 0.5rem;
    font-size: 1.875rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--public-text-primary);
}

.categories-subtitle[b-ow1aldpn0i] {
    margin: 0;
    font-size: var(--public-body-md);
    line-height: 1.5;
    color: var(--public-text-secondary);
}

.home-page[b-ow1aldpn0i]  .categories-view-all {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    font-size: var(--public-text-sm);
    font-weight: 700;
    color: var(--public-primary-interactive);
    text-decoration: none;
    white-space: nowrap;
}

.home-page[b-ow1aldpn0i]  .categories-view-all:hover {
    text-decoration: underline;
}

.categories-empty[b-ow1aldpn0i] {
    margin: 0;
    padding-block: 2rem;
    text-align: center;
    color: var(--public-text-secondary);
}

.categories-grid[b-ow1aldpn0i] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .categories-grid[b-ow1aldpn0i] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .categories-grid[b-ow1aldpn0i] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.home-page[b-ow1aldpn0i]  .category-card-link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.category-card[b-ow1aldpn0i] {
    height: 100%;
    padding: 2rem;
    border: 1px solid var(--public-outline-variant);
    border-radius: var(--public-radius-xl);
    background: var(--public-surface);
    transition: box-shadow var(--public-transition), transform var(--public-transition);
}

.category-card:hover[b-ow1aldpn0i] {
    box-shadow: var(--public-shadow-card-hover);
    transform: translateY(-2px);
}

.category-icon-wrap[b-ow1aldpn0i] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1.5rem;
    border-radius: var(--public-radius-md);
    background: var(--public-primary-fixed);
    color: var(--public-primary-interactive);
}

.category-title[b-ow1aldpn0i] {
    margin: 0 0 0.25rem;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--public-text-primary);
}

.category-count[b-ow1aldpn0i] {
    margin: 0 0 1.5rem;
    font-size: var(--public-text-sm);
    line-height: 1.5;
    color: var(--public-text-secondary);
}

.category-progress[b-ow1aldpn0i] {
    position: relative;
    height: 4px;
    border-radius: var(--public-radius-sm);
    background: var(--public-outline-variant);
    overflow: hidden;
}

.category-progress__fill[b-ow1aldpn0i] {
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    height: 100%;
    background: var(--public-primary-interactive);
    transition: width var(--public-transition);
}

/* ── Join CTA ─────────────────────────────────────────── */

.join-cta-section[b-ow1aldpn0i] {
    padding-block: 5rem;
    padding-inline: 0;
    background:
        radial-gradient(ellipse 50% 80% at 0% 0%, color-mix(in srgb, var(--public-primary-interactive) 18%, transparent), transparent 70%),
        radial-gradient(ellipse 50% 80% at 100% 100%, color-mix(in srgb, var(--public-primary-deep) 22%, transparent), transparent 70%),
        var(--public-cta-band);
}

.join-cta-container[b-ow1aldpn0i] {
    padding-inline: var(--public-gutter-page);
}

.join-cta-content[b-ow1aldpn0i] {
    max-width: 42rem;
    margin-inline: auto;
    text-align: center;
    color: var(--public-on-cta-band);
}

.join-cta-headline[b-ow1aldpn0i] {
    margin: 0 0 1.5rem;
    font-size: clamp(var(--public-headline-xl-mobile), 4vw, var(--public-headline-xl));
    font-weight: 800;
    line-height: 1.15;
    color: var(--public-on-cta-band);
}

.join-cta-description[b-ow1aldpn0i] {
    margin: 0 0 2.5rem;
    max-width: 42rem;
    margin-inline: auto;
    font-size: 1.125rem;
    line-height: 1.75;
    color: color-mix(in srgb, var(--public-on-cta-band) 88%, transparent);
}

.home-page[b-ow1aldpn0i]  .join-cta-button.mud-button-root {
    margin: 0;
    min-height: 3.5rem;
    padding: 1.25rem 3rem;
    border-radius: var(--public-radius-lg);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
    text-transform: none;
    background-color: var(--public-secondary-container) !important;
    color: var(--public-on-secondary-container) !important;
    box-shadow: var(--public-shadow-cta) !important;
}

.home-page[b-ow1aldpn0i]  .join-cta-button.mud-button-root:hover {
    transform: scale(1.03);
    box-shadow: 0 20px 25px -5px color-mix(in srgb, var(--public-secondary-container) 30%, transparent) !important;
}

/* ── Responsive ───────────────────────────────────────── */

@media (max-width: 767px) {
    .hero-section[b-ow1aldpn0i] {
        padding-block: 3rem 4rem;
    }

    .categories-section[b-ow1aldpn0i] {
        padding-block: 4rem;
    }

    .categories-panel[b-ow1aldpn0i] {
        padding: 2rem 1.5rem;
        border-radius: var(--public-radius-xl);
    }

    .categories-header[b-ow1aldpn0i] {
        margin-bottom: 2rem;
    }

    .join-cta-section[b-ow1aldpn0i] {
        padding-block: 3.5rem;
    }

    .home-page[b-ow1aldpn0i]  .hero-cta-primary.mud-button-root,
    .home-page[b-ow1aldpn0i]  .hero-cta-secondary.mud-button-root,
    .home-page[b-ow1aldpn0i]  .join-cta-button.mud-button-root {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-media-button:hover .hero-play-overlay[b-ow1aldpn0i],
    .category-card:hover[b-ow1aldpn0i],
    .home-page[b-ow1aldpn0i]  .hero-cta-primary.mud-button-root:hover,
    .home-page[b-ow1aldpn0i]  .join-cta-button.mud-button-root:hover {
        transform: none;
    }
}
/* /Components/Features/LearningTopics/Components/ClassFormFields.razor.rz.scp.css */
.class-form-stack[b-78pbpxyejh] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.topic-form-card[b-78pbpxyejh] {
    background: var(--admin-surface-lowest);
    border: 1px solid var(--admin-outline);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 4px 20px -2px rgba(53, 37, 205, 0.05);
}

.topic-form-field[b-78pbpxyejh] {
    margin-bottom: 16px;
}

.topic-form-field:last-child[b-78pbpxyejh] {
    margin-bottom: 0;
}

.topic-form-field-row[b-78pbpxyejh] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 600px) {
    .topic-form-field-row[b-78pbpxyejh] {
        grid-template-columns: 1fr 1fr;
    }
}

.topic-form-label[b-78pbpxyejh] {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--admin-on-surface);
}

.topic-form-existing-file[b-78pbpxyejh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: var(--admin-on-surface-variant);
}
/* /Components/Features/LearningTopics/Components/LearningTopicFormFields.razor.rz.scp.css */
.topic-form-grid[b-u7yl3zjjxi] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 960px) {
    .topic-form-grid[b-u7yl3zjjxi] {
        grid-template-columns: 2fr 1fr;
    }
}

.topic-form-main[b-u7yl3zjjxi],
.topic-form-side[b-u7yl3zjjxi] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.topic-form-card[b-u7yl3zjjxi] {
    background: var(--admin-surface-lowest);
    border: 1px solid var(--admin-outline);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 4px 20px -2px rgba(53, 37, 205, 0.05);
}

.topic-form-card-title[b-u7yl3zjjxi] {
    margin: 0 0 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--admin-on-surface);
}

.topic-form-field[b-u7yl3zjjxi] {
    margin-bottom: 16px;
}

.topic-form-field:last-child[b-u7yl3zjjxi] {
    margin-bottom: 0;
}

.topic-form-field-row[b-u7yl3zjjxi] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 600px) {
    .topic-form-field-row[b-u7yl3zjjxi] {
        grid-template-columns: 1fr 1fr;
    }
}

.topic-form-label[b-u7yl3zjjxi] {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--admin-on-surface);
}

.topic-form-existing-file[b-u7yl3zjjxi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: var(--admin-on-surface-variant);
}

.topic-benefit-item[b-u7yl3zjjxi] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--admin-outline);
    border-radius: 8px;
    margin-bottom: 12px;
    cursor: pointer;
}

.topic-benefit-item:last-child[b-u7yl3zjjxi] {
    margin-bottom: 0;
}

.topic-benefit-text[b-u7yl3zjjxi] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.topic-benefit-title[b-u7yl3zjjxi] {
    font-size: 14px;
    font-weight: 500;
    color: var(--admin-on-surface);
}

.topic-benefit-hint[b-u7yl3zjjxi] {
    font-size: 12px;
    color: var(--admin-on-surface-variant);
}

.topic-tips-card[b-u7yl3zjjxi] {
    background: rgba(53, 37, 205, 0.05);
    border: 1px solid rgba(53, 37, 205, 0.2);
    border-radius: 12px;
    padding: 24px;
}

.topic-tips-header[b-u7yl3zjjxi] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--admin-primary);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
}

.topic-tips-card p[b-u7yl3zjjxi] {
    margin: 0;
    color: var(--admin-on-surface-variant);
    font-size: 14px;
}
/* /Components/Features/Legal/Components/LegalPageHeader.razor.rz.scp.css */
.legal-breadcrumb[b-0t71m6ncle] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: var(--public-stack-md);
    font-size: 0.875rem;
    color: var(--public-text-secondary);
}

.legal-breadcrumb__link[b-0t71m6ncle] {
    color: var(--public-text-secondary);
}

.legal-breadcrumb__link:hover[b-0t71m6ncle] {
    color: var(--public-primary-interactive);
}

.legal-breadcrumb__current[b-0t71m6ncle] {
    color: var(--public-primary-interactive);
    font-weight: 700;
}

[b-0t71m6ncle] .legal-page-header__title {
    font-weight: 700;
    margin-bottom: 8px;
    color: var(--public-text-primary);
}

.legal-meta[b-0t71m6ncle] {
    color: var(--public-text-secondary);
    font-size: 0.875rem;
    margin-bottom: 24px;
}
/* /Components/Features/Legal/Pages/FaqPage.razor.rz.scp.css */
.legal-page[b-vuk2a3h3gd] {
    padding-block: var(--public-stack-lg);
    font-family: var(--public-font-family);
}

.legal-faq-search[b-vuk2a3h3gd] {
    display: flex;
    flex-direction: column;
    gap: var(--public-stack-sm);
    margin-bottom: var(--public-stack-lg);
}

@media (min-width: 768px) {
    .legal-faq-search[b-vuk2a3h3gd] {
        flex-direction: row;
    }

    [b-vuk2a3h3gd] .legal-faq-search__input {
        flex-grow: 1;
    }
}

[b-vuk2a3h3gd] .legal-faq-question {
    font-weight: 600;
    color: var(--public-text-primary);
}

[b-vuk2a3h3gd] .legal-faq-answer {
    color: var(--public-text-secondary);
    line-height: 1.6;
}
/* /Components/Features/Legal/Pages/PrivacyPage.razor.rz.scp.css */
.legal-page[b-gpzxaa3qvk] {
    padding-block: var(--public-stack-lg);
    font-family: var(--public-font-family);
}

[b-gpzxaa3qvk] .legal-section-card {
    border: 1px solid var(--public-outline-variant);
    border-radius: 8px;
    padding: 24px;
    background: var(--public-surface-container-lowest, #fff);
    margin-bottom: 16px;
}

[b-gpzxaa3qvk] .legal-section-body {
    margin-top: 12px;
    color: var(--public-text-secondary);
    line-height: 1.6;
    white-space: pre-line;
}
/* /Components/Features/Legal/Pages/TermsPage.razor.rz.scp.css */
.legal-page[b-dqt09ity79] {
    padding-block: var(--public-stack-lg);
    font-family: var(--public-font-family);
}

[b-dqt09ity79] .legal-section-card {
    border: 1px solid var(--public-outline-variant);
    border-radius: 8px;
    padding: 24px;
    background: var(--public-surface-container-lowest, #fff);
    margin-bottom: 16px;
}

[b-dqt09ity79] .legal-section-body {
    margin-top: 12px;
    color: var(--public-text-secondary);
    line-height: 1.6;
    white-space: pre-line;
}
/* /Components/Features/Modules/Components/ModuleFormFields.razor.rz.scp.css */
.module-form-fields[b-h57lskecsz] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.module-form-field[b-h57lskecsz] {
    width: 100%;
}

.module-form-upload-label[b-h57lskecsz] {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--admin-text, #101828);
}

.module-form-existing-file[b-h57lskecsz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.5rem;
    font-size: 0.875rem;
    color: var(--admin-text-muted, #667085);
}
/* /Components/Features/PublicCatalog/Components/BootcampClassCard.razor.rz.scp.css */
.bootcamp-card[b-4gull7wegw] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--public-surface-container-lowest);
    border: 1px solid color-mix(in srgb, var(--public-outline-variant) 30%, transparent);
    border-radius: var(--public-radius-md);
    overflow: hidden;
    box-shadow: var(--public-shadow-sm);
    transition: box-shadow var(--public-transition);
}

.bootcamp-card:hover[b-4gull7wegw] {
    box-shadow: 0 4px 16px rgba(79, 70, 229, 0.1);
}

.bootcamp-card__thumb-wrap[b-4gull7wegw] {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--public-surface-container-high);
    overflow: hidden;
}

.bootcamp-card__thumb[b-4gull7wegw] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bootcamp-card__thumb--placeholder[b-4gull7wegw] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--public-text-secondary);
}

.bootcamp-card__batch[b-4gull7wegw] {
    position: absolute;
    top: var(--public-stack-sm);
    left: var(--public-stack-sm);
    display: flex;
    align-items: center;
    gap: 4px;
    background: var(--public-secondary-container);
    color: var(--public-on-secondary-container);
    padding: 4px 10px;
    border-radius: 999px;
    font-size: var(--public-text-xs);
    font-weight: 700;
    box-shadow: var(--public-shadow-sm);
}

.bootcamp-card__body[b-4gull7wegw] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: var(--public-stack-md);
    gap: var(--public-stack-sm);
}

.bootcamp-card__chips[b-4gull7wegw] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--public-stack-sm);
}

.bootcamp-card__chip[b-4gull7wegw] {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: var(--public-radius-sm);
    font-size: var(--public-text-xs);
    font-weight: 500;
    background: var(--public-surface-variant);
    color: var(--public-on-surface-variant);
}

.bootcamp-card__chip--category[b-4gull7wegw] {
    background: var(--public-primary-fixed);
    color: var(--public-on-primary-fixed);
}

[b-4gull7wegw] .bootcamp-card__title {
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.4;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--public-text-primary);
    margin-bottom: var(--public-stack-sm);
}

.bootcamp-card__pricing[b-4gull7wegw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: var(--public-stack-sm);
    border-top: 1px solid color-mix(in srgb, var(--public-outline-variant) 20%, transparent);
}

.bootcamp-card__pricing-col[b-4gull7wegw] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

[b-4gull7wegw] .bootcamp-card__list-price {
    text-decoration: line-through;
    color: var(--public-outline);
    font-size: var(--public-text-xs);
    line-height: 1.2;
}

.bootcamp-card__list-price--placeholder[b-4gull7wegw] {
    visibility: hidden;
}

[b-4gull7wegw] .bootcamp-card__sale-price {
    font-weight: 700;
    color: var(--public-primary-interactive);
    font-size: 1.125rem;
    line-height: 1.2;
}

.bootcamp-card__cta[b-4gull7wegw] {
    margin-top: var(--public-stack-sm);
}
/* /Components/Features/PublicCatalog/Components/ClassMediaPreview.razor.rz.scp.css */
.class-media-preview__frame[b-s3ctfnp5ph] {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: var(--public-surface-container);
    aspect-ratio: 16 / 9;
}

.class-media-preview__image[b-s3ctfnp5ph] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.class-media-preview__play[b-s3ctfnp5ph] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
    cursor: pointer;
}

.class-media-preview__label[b-s3ctfnp5ph] {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 4px 12px;
    border-radius: 6px;
    font-size: 0.875rem;
}

.class-media-preview__placeholder[b-s3ctfnp5ph] {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    background: var(--public-surface-container);
    color: var(--public-text-secondary);
}

.class-media-preview__overlay[b-s3ctfnp5ph] {
    z-index: 1400;
}

.class-media-preview__dialog[b-s3ctfnp5ph] {
    position: fixed;
    inset: 0;
    z-index: 1500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.class-media-preview__close[b-s3ctfnp5ph] {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 1;
    color: #fff;
}

.class-media-preview__video[b-s3ctfnp5ph] {
    max-width: 100%;
    max-height: 80vh;
    border-radius: 8px;
}
/* /Components/Features/PublicCatalog/Components/ClassPurchaseCard.razor.rz.scp.css */
.class-purchase-card[b-3q894fezzx] {
    position: sticky;
    top: 6rem;
    background: var(--public-surface-container-lowest);
    border: 1px solid var(--public-outline-variant);
    border-radius: 12px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.class-purchase-card__list-price[b-3q894fezzx] {
    text-decoration: line-through;
    color: var(--public-text-secondary);
    font-size: 0.875rem;
}

.class-purchase-card__sale-row[b-3q894fezzx] {
    display: flex;
    align-items: center;
    gap: 8px;
}

[b-3q894fezzx] .class-purchase-card__sale-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--public-primary-interactive);
}

.class-purchase-card__discount[b-3q894fezzx] {
    background: var(--public-primary-fixed);
    color: var(--public-on-primary-fixed);
    padding: 2px 8px;
    border-radius: var(--public-radius-sm);
    font-size: var(--public-text-xs);
    font-weight: 700;
}

[b-3q894fezzx] .class-purchase-card__buy {
    background: var(--public-secondary-container) !important;
    color: var(--public-on-secondary-container) !important;
}

[b-3q894fezzx] .class-purchase-card__facilities-title {
    font-weight: 700;
    margin-top: 8px;
    color: var(--public-text-primary);
}

.class-purchase-card__benefit[b-3q894fezzx] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.875rem;
    color: var(--public-text-secondary);
}
/* /Components/Features/PublicCatalog/Components/CurriculumAccordion.razor.rz.scp.css */
[b-kom7srfwfk] .curriculum-accordion__title {
    font-weight: 700;
    margin-bottom: 16px;
    color: var(--public-text-primary);
}

.curriculum-accordion__panel-header[b-kom7srfwfk] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.curriculum-accordion__badge[b-kom7srfwfk] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #ede9fe;
    color: var(--public-primary-deep);
    font-weight: 700;
    font-size: 0.875rem;
}

[b-kom7srfwfk] .curriculum-accordion__module-title {
    font-weight: 600;
    color: var(--public-text-primary);
}

[b-kom7srfwfk] .curriculum-accordion__module-subtitle {
    font-size: 0.75rem;
    color: var(--public-text-secondary);
}

[b-kom7srfwfk] .curriculum-accordion__module-body {
    color: var(--public-text-secondary);
    white-space: pre-line;
}

.curriculum-accordion__syllabus-fallback[b-kom7srfwfk] {
    white-space: pre-line;
    color: var(--public-text-secondary);
}
/* /Components/Features/PublicCatalog/Components/ELearningClassCard.razor.rz.scp.css */
.elearning-card[b-5sntgvixai] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--public-surface-container-lowest);
    border: 1px solid color-mix(in srgb, var(--public-outline-variant) 30%, transparent);
    border-radius: var(--public-radius-md);
    overflow: hidden;
    box-shadow: var(--public-shadow-sm);
    transition: box-shadow var(--public-transition);
}

.elearning-card:hover[b-5sntgvixai] {
    box-shadow: 0 4px 16px rgba(79, 70, 229, 0.1);
}

.elearning-card__thumb-wrap[b-5sntgvixai] {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--public-surface-container-high);
    overflow: hidden;
}

.elearning-card__thumb[b-5sntgvixai] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.elearning-card__thumb--placeholder[b-5sntgvixai] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--public-text-secondary);
}

.elearning-card__badge-discount[b-5sntgvixai] {
    position: absolute;
    top: var(--public-stack-sm);
    right: var(--public-stack-sm);
    display: flex;
    align-items: center;
    gap: 4px;
    background: var(--public-primary-interactive);
    color: var(--public-on-primary);
    padding: 4px 10px;
    border-radius: var(--public-radius-sm);
    font-size: var(--public-text-xs);
    font-weight: 700;
    box-shadow: var(--public-shadow-sm);
}

.elearning-card__body[b-5sntgvixai] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: var(--public-stack-md);
    gap: var(--public-stack-sm);
}

.elearning-card__chips[b-5sntgvixai] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--public-stack-sm);
}

.elearning-card__chip[b-5sntgvixai] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    border-radius: var(--public-radius-sm);
    font-size: var(--public-text-xs);
    font-weight: 500;
    background: var(--public-surface-variant);
    color: var(--public-on-surface-variant);
}

.elearning-card__chip--category[b-5sntgvixai] {
    background: var(--public-primary-fixed);
    color: var(--public-on-primary-fixed);
}

[b-5sntgvixai] .elearning-card__title {
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.4;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--public-text-primary);
    margin-bottom: var(--public-stack-sm);
}

.elearning-card__footer[b-5sntgvixai] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--public-stack-sm);
    margin-top: auto;
    padding-top: var(--public-stack-sm);
    border-top: 1px solid color-mix(in srgb, var(--public-outline-variant) 20%, transparent);
}

[b-5sntgvixai] .elearning-card__price {
    font-weight: 700;
    color: var(--public-primary-interactive);
    font-size: var(--public-text-sm);
}

[b-5sntgvixai] .elearning-card__access {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: var(--public-text-xs);
    color: var(--public-text-secondary);
    white-space: nowrap;
}

.elearning-card__cta[b-5sntgvixai] {
    margin-top: var(--public-stack-sm);
}
/* /Components/Features/PublicCatalog/Components/ELearningTopicCard.razor.rz.scp.css */
.elearning-card[b-ley1u3v69r] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--public-surface-container-lowest);
    border: 1px solid color-mix(in srgb, var(--public-outline-variant) 30%, transparent);
    border-radius: var(--public-radius-md);
    overflow: hidden;
    box-shadow: var(--public-shadow-sm);
    transition: box-shadow var(--public-transition);
}

.elearning-card:hover[b-ley1u3v69r] {
    box-shadow: 0 4px 16px rgba(79, 70, 229, 0.1);
}

.elearning-card__thumb-wrap[b-ley1u3v69r] {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--public-surface-container-high);
    overflow: hidden;
}

.elearning-card__thumb[b-ley1u3v69r] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.elearning-card__thumb--placeholder[b-ley1u3v69r] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--public-text-secondary);
}

.elearning-card__badge-discount[b-ley1u3v69r] {
    position: absolute;
    top: var(--public-stack-sm);
    right: var(--public-stack-sm);
    display: flex;
    align-items: center;
    gap: 4px;
    background: var(--public-primary);
    color: var(--public-on-primary);
    padding: 4px 10px;
    border-radius: var(--public-radius-sm);
    font-size: var(--public-text-xs);
    font-weight: 700;
    box-shadow: var(--public-shadow-sm);
}

.elearning-card__body[b-ley1u3v69r] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: var(--public-stack-md);
    gap: var(--public-stack-sm);
}

.elearning-card__chips[b-ley1u3v69r] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--public-stack-sm);
}

.elearning-card__chip[b-ley1u3v69r] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    border-radius: var(--public-radius-sm);
    font-size: var(--public-text-xs);
    font-weight: 500;
    background: var(--public-surface-variant);
    color: var(--public-on-surface-variant);
}

.elearning-card__chip--category[b-ley1u3v69r] {
    background: var(--public-primary-fixed);
    color: var(--public-on-primary-fixed);
}

[b-ley1u3v69r] .elearning-card__title {
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.4;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--public-text-primary);
    margin-bottom: var(--public-stack-sm);
}

.elearning-card__footer[b-ley1u3v69r] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--public-stack-sm);
    margin-top: auto;
    padding-top: var(--public-stack-sm);
    border-top: 1px solid color-mix(in srgb, var(--public-outline-variant) 20%, transparent);
}

[b-ley1u3v69r] .elearning-card__price {
    font-weight: 700;
    color: var(--public-primary);
    font-size: var(--public-text-sm);
}

[b-ley1u3v69r] .elearning-card__access {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: var(--public-text-xs);
    color: var(--public-text-secondary);
    white-space: nowrap;
}

.elearning-card__cta[b-ley1u3v69r] {
    margin-top: var(--public-stack-sm);
}
/* /Components/Features/PublicCatalog/Pages/ELearningTopicDetailPage.razor.rz.scp.css */
.catalog-page[b-nu7ud22oa2] {
    padding-block: var(--public-stack-lg);
    font-family: var(--public-font-family);
}

[b-nu7ud22oa2] .catalog-page__container {
    padding-inline: 16px;
}

.catalog-page__header[b-nu7ud22oa2] {
    margin-bottom: var(--public-stack-lg);
    display: flex;
    flex-direction: column;
    gap: var(--public-stack-md);
}

.catalog-breadcrumb[b-nu7ud22oa2] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    color: var(--public-text-secondary);
}

.catalog-breadcrumb__link[b-nu7ud22oa2] {
    color: var(--public-text-secondary);
}

.catalog-breadcrumb__link:hover[b-nu7ud22oa2] {
    color: var(--public-primary-interactive);
}

.catalog-breadcrumb__current[b-nu7ud22oa2] {
    color: var(--public-primary-interactive);
    font-weight: 700;
}

[b-nu7ud22oa2] .catalog-page__title {
    font-weight: 700;
    color: var(--public-text-primary);
}

.catalog-page__empty[b-nu7ud22oa2] {
    text-align: center;
    padding: 48px 16px;
    color: var(--public-text-secondary);
}

.topic-detail__description[b-nu7ud22oa2] {
    color: var(--public-text-secondary);
    white-space: pre-line;
    max-width: 48rem;
}

.topic-detail__content[b-nu7ud22oa2] {
    padding-bottom: var(--public-stack-lg);
}
/* /Components/Features/PublicCatalog/Pages/PublicClassDetailPage.razor.rz.scp.css */
.class-detail-page[b-bu1jbh5uco] {
    padding-block: var(--public-stack-lg);
    font-family: var(--public-font-family);
}

[b-bu1jbh5uco] .class-detail-page__container {
    padding-inline: 16px;
}

.class-detail-breadcrumb[b-bu1jbh5uco] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: var(--public-stack-md);
    font-size: 0.875rem;
    color: var(--public-text-secondary);
}

.class-detail-breadcrumb__link[b-bu1jbh5uco] {
    color: var(--public-text-secondary);
}

.class-detail-breadcrumb__link:hover[b-bu1jbh5uco] {
    color: var(--public-primary-interactive);
}

.class-detail-breadcrumb__current[b-bu1jbh5uco] {
    color: var(--public-primary-interactive);
    font-weight: 700;
}

.class-detail-header[b-bu1jbh5uco] {
    margin-bottom: var(--public-stack-lg);
}

.class-detail-badge[b-bu1jbh5uco] {
    display: inline-block;
    background: var(--public-primary-fixed);
    color: var(--public-on-primary-fixed);
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    margin-bottom: 12px;
}

[b-bu1jbh5uco] .class-detail-title {
    font-weight: 700;
    color: var(--public-text-primary);
    margin-bottom: 8px;
}

[b-bu1jbh5uco] .class-detail-mentor {
    color: var(--public-text-secondary);
    font-size: 0.9375rem;
}

.class-detail-section[b-bu1jbh5uco] {
    margin-top: var(--public-stack-lg);
}

[b-bu1jbh5uco] .class-detail-section__title {
    font-weight: 700;
    margin-bottom: 12px;
    color: var(--public-text-primary);
}

[b-bu1jbh5uco] .class-detail-description {
    color: var(--public-text-secondary);
    white-space: pre-line;
    line-height: 1.6;
}
/* /Components/Features/Users/Components/CreateUserDialog.razor.rz.scp.css */
.section-label[b-i7mtb7dcfu] {
    color: var(--admin-text-secondary) !important;
    letter-spacing: 0.08em !important;
    display: block;
    margin-bottom: 12px;
}

.create-user-subtitle[b-i7mtb7dcfu] {
    color: var(--admin-text-secondary) !important;
}
/* /Components/Features/Users/Components/EditUserDialog.razor.rz.scp.css */
.section-label[b-rk7dntzfq6] {
    color: #6b7280 !important;
    letter-spacing: 0.08em !important;
    display: block;
    margin-bottom: 12px;
}

.edit-user-subtitle[b-rk7dntzfq6] {
    color: #6b7280 !important;
}
/* /Components/Layouts/Components/AdminAccountMenu.razor.rz.scp.css */
.admin-header-actions[b-y2thjksw9t] {
    display: flex;
    align-items: center;
    gap: 4px;
}

[b-y2thjksw9t] .admin-header-icon-btn {
    color: var(--admin-on-surface-variant) !important;
}

[b-y2thjksw9t] .admin-header-icon-btn:hover {
    color: var(--admin-on-surface) !important;
    background: var(--admin-surface-container) !important;
}

.admin-header-divider[b-y2thjksw9t] {
    width: 1px;
    height: 24px;
    background: var(--admin-outline);
    margin: 0 8px;
}

.admin-profile-trigger[b-y2thjksw9t] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 12px 4px 4px;
    border-radius: 999px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background-color var(--admin-transition), border-color var(--admin-transition);
}

.admin-profile-trigger:focus-visible[b-y2thjksw9t] {
    outline: 2px solid var(--admin-primary);
    outline-offset: 2px;
}

.admin-profile-trigger:hover[b-y2thjksw9t] {
    background: var(--admin-surface-container);
    border-color: var(--admin-outline);
}

[b-y2thjksw9t] .admin-profile-avatar {
    background: var(--admin-primary-container) !important;
    color: var(--admin-on-primary-container) !important;
}

.admin-profile-name[b-y2thjksw9t] {
    color: var(--admin-on-surface);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}

[b-y2thjksw9t] .admin-profile-caret {
    color: var(--admin-on-surface-variant) !important;
}
/* /Components/Layouts/Components/StudentAccountMenu.razor.rz.scp.css */
.student-header-actions[b-zy6yi625o9] {
    display: flex;
    align-items: center;
    gap: 4px;
}

[b-zy6yi625o9] .student-header-icon-btn {
    color: var(--public-on-surface-variant) !important;
}

[b-zy6yi625o9] .student-header-icon-btn:hover {
    color: var(--public-on-surface) !important;
    background: var(--public-surface-container) !important;
}

.student-header-divider[b-zy6yi625o9] {
    width: 1px;
    height: 24px;
    background: var(--public-outline-variant);
    margin: 0 8px;
}

.student-profile-trigger[b-zy6yi625o9] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 12px 4px 4px;
    border-radius: 999px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.student-profile-trigger:focus-visible[b-zy6yi625o9] {
    outline: 2px solid var(--public-primary);
    outline-offset: 2px;
}

.student-profile-trigger:hover[b-zy6yi625o9] {
    background: var(--public-surface-container);
    border-color: var(--public-outline-variant);
}

[b-zy6yi625o9] .student-profile-avatar {
    background: var(--public-primary-fixed) !important;
    color: var(--public-on-primary-fixed) !important;
}

.student-profile-name[b-zy6yi625o9] {
    color: var(--public-on-surface);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}

[b-zy6yi625o9] .student-profile-caret {
    color: var(--public-on-surface-variant) !important;
}
/* /Components/Layouts/LayoutAdmin.razor.rz.scp.css */
[b-c28784ryao] .admin-appbar.mud-appbar {
    background: var(--admin-surface) !important;
    color: var(--admin-on-surface) !important;
    border-bottom: 1px solid var(--admin-outline);
    box-shadow: 0 1px 2px rgba(27, 27, 36, 0.04);
}

.admin-appbar-app-name[b-c28784ryao] {
    color: var(--admin-on-surface);
    font-weight: 600;
}

[b-c28784ryao] .admin-drawer-logo {
    height: var(--mud-appbar-height);
}

[b-c28784ryao] .icon-button-toggle-drawer {
    border-color: var(--mud-palette-lines-default);
    background-color: var(--mud-palette-drawer-background);
}

[b-c28784ryao] .icon-button-toggle-drawer:hover {
    background-color: var(--mud-palette-background-gray);
}

[b-c28784ryao] .admin-drawer {
    padding: 0 10px;
    border-right: 1px solid var(--mud-palette-lines-default);
    background: var(--admin-surface-low) !important;
}
/* /Components/Layouts/LayoutAuth.razor.rz.scp.css */
.auth-layout[b-s2vkfgbb9j]
{
    min-height: 100vh;
}
/* /Components/Layouts/LayoutStudent.razor.rz.scp.css */
[b-ordipmsppa] .student-appbar.mud-appbar {
    background: var(--public-background) !important;
    color: var(--public-on-surface) !important;
    border-bottom: 1px solid var(--public-outline-variant);
    box-shadow: 0 1px 2px rgba(27, 27, 36, 0.04);
}

.student-appbar-app-name[b-ordipmsppa] {
    color: var(--public-on-surface);
    font-weight: 600;
}

[b-ordipmsppa] .student-drawer-logo {
    height: var(--mud-appbar-height);
}

[b-ordipmsppa] .icon-button-toggle-drawer {
    border-color: var(--mud-palette-lines-default);
    background-color: var(--mud-palette-drawer-background);
}

[b-ordipmsppa] .icon-button-toggle-drawer:hover {
    background-color: var(--mud-palette-background-gray);
}

[b-ordipmsppa] .student-drawer {
    padding: 0 10px;
    border-right: 1px solid var(--mud-palette-lines-default);
    background: var(--public-surface-container-low) !important;
}

[b-ordipmsppa] .student-drawer .mud-drawer-content {
    display: flex;
    flex-direction: column;
}

.student-drawer-footer[b-ordipmsppa] {
    margin-top: auto;
}
/* /Components/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-l5vogwr7b3],
.components-reconnect-repeated-attempt-visible[b-l5vogwr7b3],
.components-reconnect-failed-visible[b-l5vogwr7b3],
.components-pause-visible[b-l5vogwr7b3],
.components-resume-failed-visible[b-l5vogwr7b3],
.components-rejoining-animation[b-l5vogwr7b3]
{
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-l5vogwr7b3],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-l5vogwr7b3],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-l5vogwr7b3],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-l5vogwr7b3],
#components-reconnect-modal.components-reconnect-retrying[b-l5vogwr7b3],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-l5vogwr7b3],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-l5vogwr7b3],
#components-reconnect-modal.components-reconnect-failed[b-l5vogwr7b3],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-l5vogwr7b3]
{
    display: block;
}


#components-reconnect-modal[b-l5vogwr7b3]
{
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    outline: none;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition-property: display;
    transition-duration: 0.5s;
    transition-behavior: allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-l5vogwr7b3 0.5s both;

    &[open]
    {
        animation: components-reconnect-modal-slideUp-b-l5vogwr7b3 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-l5vogwr7b3 0.5s ease-in-out 0.3s;
        animation-fill-mode: both;
    }
}

    #components-reconnect-modal[b-l5vogwr7b3]::backdrop
    {
        background-color: rgba(0, 0, 0, 0.4);
        animation: components-reconnect-modal-fadeInOpacity-b-l5vogwr7b3 0.5s ease-in-out;
        opacity: 1;
    }

@keyframes components-reconnect-modal-slideUp-b-l5vogwr7b3
{
    0%
    {
        transform: translateY(30px) scale(0.95);
    }

    100%
    {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-l5vogwr7b3
{
    0%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-l5vogwr7b3
{
    0%
    {
        opacity: 1;
    }

    100%
    {
        opacity: 0;
    }
}

.components-reconnect-container[b-l5vogwr7b3]
{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    border: none !important;
}

#components-reconnect-modal p[b-l5vogwr7b3]
{
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-l5vogwr7b3]
{
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-l5vogwr7b3]
    {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-l5vogwr7b3]
    {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-l5vogwr7b3]
{
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-l5vogwr7b3]
    {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-l5vogwr7b3 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-l5vogwr7b3]
        {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-l5vogwr7b3
{
    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;
    }
}
