/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-foje2z42m2] { display:flex; min-height:calc(100dvh - 68px); background:#f4f6f9; }
main[b-foje2z42m2] { flex:1; min-width:0; }
main:focus[b-foje2z42m2] { outline:none; }
.sidebar[b-foje2z42m2] { width:252px; flex-shrink:0; position:sticky; top:68px; height:calc(100dvh - 68px); overflow:auto; overscroll-behavior:contain; background:#142b43; border-right:1px solid #203a53; scrollbar-width:thin; scrollbar-color:#4b6075 transparent; }
.sidebar[hidden][b-foje2z42m2] { display:none; }
.menu-scrim[b-foje2z42m2] { display:none; }
.content[b-foje2z42m2] { min-height:calc(100dvh - 68px); padding:1.6rem 2rem 2.5rem !important; }
.layout-toggle-bar[b-foje2z42m2] { position:sticky; top:0; z-index:30; height:68px; display:flex; align-items:center; gap:1.5rem; padding:0 1.5rem; background:#fff; border-bottom:1px solid #e0e7ee; }
.menu-toggle[b-foje2z42m2] { display:inline-flex; align-items:center; gap:.6rem; min-height:40px; padding:.55rem .8rem; border:1px solid #dce4ec; border-radius:9px; color:#405771; background:#fff; font:inherit; font-size:.8rem; font-weight:600; cursor:pointer; }
.menu-toggle:hover[b-foje2z42m2] { background:#f2f6fc; border-color:#b2c6df; }
.menu-toggle:focus-visible[b-foje2z42m2] { outline:3px solid #3474df; outline-offset:3px; }
.workspace-brand[b-foje2z42m2] { display:flex; gap:.65rem; align-items:center; color:#142b43; font-size:.97rem; font-weight:750; letter-spacing:-.025em; text-decoration:none; }
.workspace-symbol[b-foje2z42m2] { display:grid; place-items:center; width:32px; height:32px; background:#e3f3ec; border-radius:10px; color:#176756; font-weight:800; font-size:1.15rem; }
.workspace-tagline[b-foje2z42m2] { display:block; color:#728197; font-size:.61rem; font-weight:500; letter-spacing:.01em; }
.workspace-account[b-foje2z42m2] { display:flex; align-items:center; gap:.5rem; margin-left:auto; padding:.5rem .8rem; color:#52667d; text-decoration:none; font-size:.79rem; font-weight:600; border-radius:9px; }
.workspace-account:hover[b-foje2z42m2] { color:#245bd6; background:#f1f5fc; }
@media(min-width:1600px) { .content[b-foje2z42m2] { padding-inline:2.6rem !important; } }
@media(max-width:767px) {
 .page[b-foje2z42m2] { display:block; }
 .sidebar[b-foje2z42m2] { width:min(86vw, 300px); height:calc(100dvh - 68px); position:fixed; top:68px; left:0; z-index:25; box-shadow:12px 0 40px #10243b33; }
 .menu-scrim:not([hidden])[b-foje2z42m2] { display:block; position:fixed; inset:68px 0 0; z-index:24; background:#10243b66; border:0; padding:0; }
 .content[b-foje2z42m2] { padding:1.1rem 1rem 2rem !important; }
 .layout-toggle-bar[b-foje2z42m2] { gap:.8rem; padding-inline:1rem; }
 .menu-toggle[b-foje2z42m2] { width:42px; justify-content:center; padding:.5rem; }
 .menu-toggle span[b-foje2z42m2] { display:none; }
 .workspace-account[b-foje2z42m2] { padding:.5rem; }
 .workspace-account span[b-foje2z42m2] { display:none; }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.sidebar-brand[b-eazb1jf1zi] { color:#fff; padding:1.65rem 1.25rem 1.4rem; }
.license-identity[b-eazb1jf1zi] { display:flex; flex-direction:column; align-items:center; gap:.4rem; padding:1rem; border:1px solid #ffffff15; border-radius:12px; background:#ffffff07; text-align:center; }
.license-identity-logo[b-eazb1jf1zi] { max-width:100%; height:54px; padding:.3rem; border-radius:8px; object-fit:contain; background:#fff; }
.license-identity-placeholder[b-eazb1jf1zi] { display:grid; place-items:center; width:42px; height:42px; background:#e4edf4; color:#29475f; font-size:.9rem; font-weight:750; border-radius:12px; }
.license-identity-name[b-eazb1jf1zi] { color:#e3eaf3; font-size:.78rem; font-weight:650; line-height:1.4; overflow-wrap:anywhere; }
.license-identity-link[b-eazb1jf1zi] { color:#b3c9df; font-size:.7rem; text-decoration:none; }
.license-identity-link:hover[b-eazb1jf1zi] { color:#fff; text-decoration:underline; }
nav[b-eazb1jf1zi] { padding-bottom:.75rem; }
nav small[b-eazb1jf1zi], nav .text-white-50[b-eazb1jf1zi] { color:#9ab0c6 !important; font-size:.61rem; letter-spacing:.13em; }
nav .nav-item[b-eazb1jf1zi] { padding-inline:.75rem !important; margin-bottom:3px; }
nav[b-eazb1jf1zi]  .nav-link { display:flex; align-items:center; gap:.7rem; min-height:42px; padding:.65rem .8rem; border-radius:8px; color:#cad8e7 !important; font-size:.82rem; line-height:1.35; text-decoration:none; border:1px solid transparent; }
nav[b-eazb1jf1zi]  .nav-link:hover { color:#fff !important; background:#ffffff09; }
nav[b-eazb1jf1zi]  .nav-link.active { color:#fff !important; background:#284964; border-color:#52789355; box-shadow:inset 3px 0 #8cdbc2; font-weight:650; }
nav[b-eazb1jf1zi]  .nav-link:focus-visible { outline:2px solid #9ad9ca; outline-offset:2px; }
nav[b-eazb1jf1zi]  .dc-nav-icon { opacity:.85; }
.logout-button[b-eazb1jf1zi] { display:flex; justify-content:center; align-items:center; gap:.5rem; width:100%; padding:.7rem; border-radius:9px; border:1px solid #ffffff26; background:#ffffff08; color:#c8d7e5; font:inherit; font-size:.79rem; cursor:pointer; }
.logout-button:hover[b-eazb1jf1zi] { color:#fff; background:#ffffff12; border-color:#ffffff55; }
/* /Components/Layout/ProfesorLayout.razor.rz.scp.css */
.page[b-epo57ra53l] {
    position: relative;
    display: flex;
    min-height: 100vh;
    background-color: #f4f7fb;
}

main[b-epo57ra53l] {
    flex: 1;
    min-width: 0;
}

.sidebar[b-epo57ra53l] {
    background: linear-gradient(180deg, #0f172a 0%, #172554 55%, #1e3a8a 100%);
    box-shadow: 4px 0 24px rgba(15, 23, 42, 0.12);
    z-index: 20;
}

.top-row[b-epo57ra53l] {
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background-color: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
    backdrop-filter: blur(10px);
}

.profesor-identidad[b-epo57ra53l] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.45rem 0.8rem 0.45rem 1rem;
    background-color: #f4f8ff;
    border: 1px solid #dbe7f6;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
    margin-right: 6vw;
}

.content[b-epo57ra53l] {
    min-height: calc(100vh - 72px);
    background-color: #f4f7fb;
}

.top-row[b-epo57ra53l]  a,
.top-row[b-epo57ra53l]  .btn-link {
    color: #334155;
    text-decoration: none;
}

.top-row[b-epo57ra53l]  a:hover,
.top-row[b-epo57ra53l]  .btn-link:hover {
    color: #2563eb;
    text-decoration: none;
}

@media (max-width: 640.98px) {
    .page[b-epo57ra53l] {
        flex-direction: column;
    }

    .sidebar[b-epo57ra53l] {
        width: 100%;
        position: relative;
    }

    .top-row[b-epo57ra53l] {
        height: 64px;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .profesor-identidad[b-epo57ra53l] {
        margin-right: 0;
    }

    .content[b-epo57ra53l] {
        min-height: calc(100vh - 64px);
        padding: 1rem !important;
    }
}

@media (min-width: 641px) {
    .page[b-epo57ra53l] {
        flex-direction: row;
    }

    .sidebar[b-epo57ra53l] {
        width: 270px;
        height: 100vh;
        position: sticky;
        top: 0;
        flex-shrink: 0;
    }

    .top-row[b-epo57ra53l] {
        position: sticky;
        top: 0;
        z-index: 10;
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    .content[b-epo57ra53l] {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
}

#blazor-error-ui[b-epo57ra53l] {
    color-scheme: light only;
    background-color: #fff7ed;
    border-top: 1px solid #fed7aa;
    bottom: 0;
    box-shadow: 0 -4px 18px rgba(15, 23, 42, 0.12);
    box-sizing: border-box;
    color: #9a3412;
    display: none;
    left: 0;
    padding: 0.9rem 3rem 0.9rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .reload[b-epo57ra53l] {
    color: #c2410c;
    font-weight: 600;
    margin-left: 0.5rem;
}

#blazor-error-ui .dismiss[b-epo57ra53l] {
    cursor: pointer;
    position: absolute;
    right: 1rem;
    top: 0.75rem;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-nwzqooxnps],
.components-reconnect-repeated-attempt-visible[b-nwzqooxnps],
.components-reconnect-failed-visible[b-nwzqooxnps],
.components-pause-visible[b-nwzqooxnps],
.components-resume-failed-visible[b-nwzqooxnps],
.components-rejoining-animation[b-nwzqooxnps] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-nwzqooxnps],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-nwzqooxnps],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-nwzqooxnps],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-nwzqooxnps],
#components-reconnect-modal.components-reconnect-retrying[b-nwzqooxnps],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-nwzqooxnps],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-nwzqooxnps],
#components-reconnect-modal.components-reconnect-failed[b-nwzqooxnps],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-nwzqooxnps] {
    display: block;
}


#components-reconnect-modal[b-nwzqooxnps] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-nwzqooxnps 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-nwzqooxnps 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-nwzqooxnps 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-nwzqooxnps]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-nwzqooxnps 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-nwzqooxnps {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-nwzqooxnps {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-nwzqooxnps {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-nwzqooxnps] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-nwzqooxnps] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-nwzqooxnps] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-nwzqooxnps] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-nwzqooxnps] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-nwzqooxnps] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-nwzqooxnps] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-nwzqooxnps 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-nwzqooxnps] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-nwzqooxnps {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Asistencias/Index.razor.rz.scp.css */
.asistencia-page-header[b-zldr274nhk] {
    display: grid;
    grid-template-columns: 420px minmax(0, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.profesor-card[b-zldr274nhk] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    min-height: 108px;
    padding: 1.25rem 1.5rem;
    background: #ffffff;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.profesor-avatar[b-zldr274nhk] {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0d6efd;
    color: #ffffff;
    font-size: 1.35rem;
    font-weight: 600;
}

.profesor-datos[b-zldr274nhk] {
    min-width: 0;
}

.profesor-nombre[b-zldr274nhk] {
    color: #111827;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.25;
}

.profesor-rol[b-zldr274nhk] {
    margin-top: 0.25rem;
    color: #6b7280;
    font-size: 0.9rem;
}

.asistencia-titulo-card[b-zldr274nhk] {
    min-height: 108px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.15rem 1.5rem;
    background: linear-gradient(135deg, #dceaff 0%, #edf4ff 100%);
    border: 2px solid #5b8def;
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.14);
}

.asistencia-eyebrow[b-zldr274nhk] {
    display: block;
    margin-bottom: 0.2rem;
    color: #0d6efd;
    font-size: 0.9rem;
    font-weight: 700;
}

.asistencia-titulo-card h1[b-zldr274nhk] {
    margin: 0;
    color: #111827;
    font-size: 1.55rem;
    font-weight: 500;
    line-height: 1.2;
}

.asistencia-titulo-card p[b-zldr274nhk] {
    margin: 0.35rem 0 0;
    color: #475569;
    font-size: 0.95rem;
}

@media (max-width: 900px) {
    .asistencia-page-header[b-zldr274nhk] {
        grid-template-columns: 1fr;
    }

    .profesor-card[b-zldr274nhk],
    .asistencia-titulo-card[b-zldr274nhk] {
        min-height: auto;
    }
}

@media (max-width: 576px) {
    .profesor-card[b-zldr274nhk],
    .asistencia-titulo-card[b-zldr274nhk] {
        padding: 1rem;
    }

    .profesor-avatar[b-zldr274nhk] {
        width: 46px;
        height: 46px;
        font-size: 1.15rem;
    }
}
/* /Components/Pages/Dashboard.razor.rz.scp.css */
.dashboard-header[b-u3yjgw73nt] {
    margin-bottom: 1.5rem;
}

.dashboard-date-card[b-u3yjgw73nt] {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    background: #ffffff;
    border: 1px solid #cfe0ff;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    color: #1e293b;
    font-weight: 600;
}

.dashboard-date-icon[b-u3yjgw73nt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #eaf2ff;
    font-size: 1.25rem;
}
.dashboard-section-title[b-u3yjgw73nt] {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.5rem;
}
.stats-grid[b-u3yjgw73nt] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 2rem;
}

    .dashboard-section-title h2[b-u3yjgw73nt] {
        margin: 0;
        font-size: 1.8rem;
        font-weight: 700;
        color: #1e293b;
    }

.dashboard-section-icon[b-u3yjgw73nt] {
    font-size: 1.8rem;
    line-height: 1;
}
.stat-card[b-u3yjgw73nt] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    text-decoration: none;
    background: #fff;
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    transition: all .25s ease;
}

    .stat-card:hover[b-u3yjgw73nt] {
        transform: translateY(-4px);
        text-decoration: none;
        box-shadow: 0 16px 36px rgba(15, 23, 42, .10);
    }

.stat-icon[b-u3yjgw73nt] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    flex-shrink: 0;
}

.stat-content[b-u3yjgw73nt] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.stat-label[b-u3yjgw73nt] {
    font-size: 1.35rem;
    font-weight: 700;
    color: #1e293b;
}

.stat-value[b-u3yjgw73nt] {
    font-size: 2rem;
    line-height: 1;
    color: #0f172a;
}

.stat-detail[b-u3yjgw73nt] {
    color: #64748b;
    font-size: .95rem;
}

.stat-arrow[b-u3yjgw73nt] {
    font-size: 1.8rem;
    color: #94a3b8;
}
.stat-card-blue[b-u3yjgw73nt] {
    background: #dbeafe;
    border-color: #bfdbfe;
}

    .stat-card-blue .stat-icon[b-u3yjgw73nt] {
        background: #bfdbfe;
    }

.stat-card-green[b-u3yjgw73nt] {
    background: #dcfce7;
    border-color: #bbf7d0;
}

    .stat-card-green .stat-icon[b-u3yjgw73nt] {
        background: #bbf7d0;
    }

.stat-card-orange[b-u3yjgw73nt] {
    background: #ffedd5;
    border-color: #fed7aa;
}

    .stat-card-orange .stat-icon[b-u3yjgw73nt] {
        background: #fed7aa;
    }

.stat-card-red[b-u3yjgw73nt] {
    background: #fee2e2;
    border-color: #fecaca;
}

    .stat-card-red .stat-icon[b-u3yjgw73nt] {
        background: #fecaca;
    }
.dashboard-grid[b-u3yjgw73nt] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.dashboard-panel[b-u3yjgw73nt] {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    padding: 1.5rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}
.panel-header[b-u3yjgw73nt] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.25rem;
}

.panel-eyebrow[b-u3yjgw73nt] {
    display: block;
    margin-bottom: .35rem;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #64748b;
}

.panel-header h2[b-u3yjgw73nt] {
    margin: 0;
    font-size: 1.9rem;
    font-weight: 700;
    color: #0f172a;
}

.panel-link[b-u3yjgw73nt] {
    text-decoration: none;
    font-weight: 600;
    color: #2563eb;
}

    .panel-link:hover[b-u3yjgw73nt] {
        text-decoration: underline;
    }
.dashboard-panel .list-group[b-u3yjgw73nt] {
    margin: 0;
}

.dashboard-panel .list-group-item[b-u3yjgw73nt] {
    border: 0;
    border-radius: 12px !important;
    margin-bottom: .75rem;
    padding: 1rem !important;
    background: #f8fafc;
    transition: background .2s ease;
}

    .dashboard-panel .list-group-item:hover[b-u3yjgw73nt] {
        background: #eef4ff;
    }
.empty-state[b-u3yjgw73nt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2rem 1rem;
    color: #64748b;
}

    .empty-state.compact[b-u3yjgw73nt] {
        min-height: 220px;
    }

.empty-state-icon[b-u3yjgw73nt] {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.empty-state h3[b-u3yjgw73nt] {
    margin: 0 0 .5rem;
    font-size: 1.25rem;
    color: #1e293b;
}

.empty-state p[b-u3yjgw73nt] {
    margin: 0;
    max-width: 320px;
}
@media (max-width: 1200px) {
    .stats-grid[b-u3yjgw73nt] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .stats-grid[b-u3yjgw73nt],
    .dashboard-grid[b-u3yjgw73nt] {
        grid-template-columns: 1fr;
    }
}
.stat-value[b-u3yjgw73nt] {
    display: block;
    margin-top: .2rem;
    margin-bottom: .15rem;
    font-size: 2.2rem;
    font-weight: 700;
    color: #0f172a;
}

.stat-detail[b-u3yjgw73nt] {
    display: block;
    font-size: .9rem;
    color: #64748b;
}

.stat-label[b-u3yjgw73nt] {
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
}
.stat-card[b-u3yjgw73nt] {
    min-height: 150px;
}

.stat-arrow[b-u3yjgw73nt] {
    margin-left: auto;
    transition: transform .2s ease;
}

.stat-card:hover .stat-arrow[b-u3yjgw73nt] {
    transform: translateX(4px);
}
.dashboard-date-card[b-u3yjgw73nt],
.stat-card[b-u3yjgw73nt],
.dashboard-panel[b-u3yjgw73nt] {
    transition: box-shadow .25s ease, transform .25s ease;
}

    .dashboard-date-card:hover[b-u3yjgw73nt],
    .dashboard-panel:hover[b-u3yjgw73nt] {
        transform: translateY(-2px);
        box-shadow: 0 16px 36px rgba(15, 23, 42, .10);
    }
/* /Components/Pages/DescargarAppMovil.razor.rz.scp.css */
.download-page[b-a23c8roacx]{max-width:1050px;margin:0 auto;padding:.5rem 0 2rem}.download-back[b-a23c8roacx]{display:inline-block;margin-bottom:2rem;text-decoration:none;color:#526880;font-size:.9rem}.download-header[b-a23c8roacx]{max-width:650px;margin-bottom:2rem}.download-eyebrow[b-a23c8roacx],.download-platform[b-a23c8roacx]{font-size:.7rem;font-weight:750;letter-spacing:.12em;color:#245bd6}.download-header h1[b-a23c8roacx]{margin:.65rem 0;font-size:clamp(2rem,5vw,3rem);font-weight:750;letter-spacing:-.05em;color:#18324e}.download-header p[b-a23c8roacx]{color:#617187;line-height:1.6}.download-options[b-a23c8roacx]{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.download-card[b-a23c8roacx]{padding:1.75rem;border:1px solid #dae3ee;border-radius:18px;background:#fff;box-shadow:0 8px 25px #18324e06}.download-card h2[b-a23c8roacx]{margin:.8rem 0;font-size:1.45rem;font-weight:700;color:#19324e}.download-card p[b-a23c8roacx],.download-card li[b-a23c8roacx]{color:#54677e;line-height:1.65;font-size:.92rem}.download-card .download-meta[b-a23c8roacx]{font-size:.77rem;margin-top:1rem;color:#6b7e92}.download-card ol[b-a23c8roacx]{padding-left:1.25rem;margin-top:1.5rem}.download-card li[b-a23c8roacx]{padding-left:.3rem;margin:.6rem 0}.download-status[b-a23c8roacx]{background:#f0f5fb;padding:.85rem 1rem;border-radius:9px}.download-card .btn[b-a23c8roacx]{margin-top:.35rem}@media(max-width:700px){.download-options[b-a23c8roacx]{grid-template-columns:1fr}.download-card[b-a23c8roacx]{padding:1.35rem}.download-header[b-a23c8roacx]{margin-bottom:1.5rem}}
/* /Components/Pages/GruposFormativos/GruposFormativos.razor.rz.scp.css */
.gf-resumen[b-d4ro7q02tm] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: 1rem;
    border: 1px solid #dbe3ef;
    border-radius: .65rem;
    background: #f8fafc;
}
.gf-resumen span[b-d4ro7q02tm] { color: #475569; font-size: .9rem; }
.gf-bloque[b-d4ro7q02tm] {
    --gf-color: #2563eb;
    --gf-fondo: #eff6ff;
    border: 1px solid #dbe3ef;
    border-left: 5px solid var(--gf-color);
    border-radius: .6rem;
    margin-bottom: .85rem;
    overflow: hidden;
}
.gf-alumnos[b-d4ro7q02tm] { --gf-color: #15803d; --gf-fondo: #f0fdf4; }
.gf-horarios[b-d4ro7q02tm] { --gf-color: #7e22ce; --gf-fondo: #faf5ff; }
.gf-fundae[b-d4ro7q02tm] { --gf-color: #b45309; --gf-fondo: #fffbeb; }
.gf-notas[b-d4ro7q02tm] { --gf-color: #475569; --gf-fondo: #f1f5f9; }
.gf-bloque summary[b-d4ro7q02tm] {
    padding: 1rem;
    cursor: pointer;
    background: var(--gf-fondo);
    color: #172033;
}
.gf-bloque summary > span:first-child[b-d4ro7q02tm] { display: inline-block; vertical-align: middle; }
.gf-bloque summary small[b-d4ro7q02tm] { display: block; margin-top: .15rem; color: #475569; font-weight: 400; }
.gf-bloque summary .badge[b-d4ro7q02tm] { float: right; margin-top: .2rem; border: 1px solid #cbd5e1; }
.gf-bloque summary:focus-visible[b-d4ro7q02tm] { outline: 3px solid #1d4ed8; outline-offset: -3px; }
.gf-contenido[b-d4ro7q02tm] { padding: 1rem; background: #fff; }
@media (max-width: 575px) {
    .gf-bloque summary .badge[b-d4ro7q02tm] { float: none; display: inline-block; margin: .5rem 0 0 1rem; }
}
/* /Components/Pages/Login.razor.rz.scp.css */
.dc-login[b-n6rrz55qmq] { min-height:100dvh; display:grid; grid-template-columns:1.08fr 1fr; }
.login-story[b-n6rrz55qmq] { min-height:100dvh; position:relative; overflow:hidden; padding:2.5rem 3.5rem 2rem; color:#fff; background:radial-gradient(ellipse at 10% 90%, #28596a55, transparent 55%), #142b43; display:flex; flex-direction:column; }
.login-story[b-n6rrz55qmq]::after { content:""; position:absolute; width:530px; height:530px; border:1px solid #ffffff09; border-radius:50%; right:-300px; top:18%; box-shadow:0 0 0 75px #ffffff03, 0 0 0 150px #ffffff02; pointer-events:none; }
.login-brand[b-n6rrz55qmq] { color:#fff; position:relative; z-index:1; }
.login-story-content[b-n6rrz55qmq] { max-width:550px; width:100%; margin:auto; padding:3.5rem 0; position:relative; z-index:1; }
.login-eyebrow[b-n6rrz55qmq] { font-size:.62rem; font-weight:650; letter-spacing:.18em; color:#bbd7df; display:flex; align-items:center; gap:.6rem; }
.login-eyebrow > span[b-n6rrz55qmq] { width:6px; height:6px; border-radius:50%; background:#9bddc5; }
.login-story h1[b-n6rrz55qmq] { color:#fff; font-size:clamp(2.9rem,4.5vw,5rem); letter-spacing:-.055em; line-height:1.08; margin:1.4rem 0 1.5rem; font-weight:650; }
.login-story h1 em[b-n6rrz55qmq] { font-family:Georgia,serif; color:#addbc8; font-weight:400; }
.login-story-content > p[b-n6rrz55qmq] { color:#bccdda; font-size:1rem; line-height:1.85; margin-bottom:2rem; }
.login-illustration[b-n6rrz55qmq] { padding:1.2rem 1.3rem; border:1px solid #ffffff24; border-radius:15px; background:#ffffff08; max-width:440px; box-shadow:0 16px 50px #00000012; }
.illustration-top[b-n6rrz55qmq] { display:flex; align-items:center; gap:.45rem; font-size:.52rem; letter-spacing:.13em; color:#b1c6d5; }
.illustration-dot[b-n6rrz55qmq] { height:5px; width:5px; border-radius:50%; background:#b2d9c5; }
.illustration-dots[b-n6rrz55qmq] { margin-left:auto; letter-spacing:.15em; }
.illustration-body[b-n6rrz55qmq] { display:flex; gap:1rem; align-items:center; padding:1.4rem 0; }
.illustration-book[b-n6rrz55qmq] { display:grid; place-items:center; width:70px; height:78px; border-radius:8px 13px 13px 8px; background:#c9e4d6; color:#20474a; box-shadow:inset 5px 0 #a6ccbb; flex-shrink:0; }
.illustration-book svg[b-n6rrz55qmq] { width:48px; height:48px; }
.illustration-body strong[b-n6rrz55qmq] { display:block; font-size:.83rem; font-weight:600; }
.illustration-body span[b-n6rrz55qmq] { display:block; color:#b5c9d8; font-size:.62rem; margin-top:.4rem; }
.illustration-progress[b-n6rrz55qmq] { height:4px; margin-top:1rem; width:90%; background:#ffffff16; border-radius:5px; overflow:hidden; }
.illustration-progress i[b-n6rrz55qmq] { display:block; width:68%; height:100%; background:#a2d8c2; }
.illustration-footer[b-n6rrz55qmq] { display:flex; gap:.5rem; border-top:1px solid #ffffff12; padding-top:.9rem; flex-wrap:wrap; }
.illustration-footer span[b-n6rrz55qmq] { padding:.3rem .45rem; border-radius:4px; font-size:.55rem; background:#ffffff09; color:#c5d6e1; }
.login-benefits[b-n6rrz55qmq] { display:flex; flex-wrap:wrap; gap:.7rem 1.25rem; margin-top:1.5rem; font-size:.68rem; color:#b8cdda; }
.login-benefits b[b-n6rrz55qmq] { color:#a5dbc4; margin-right:.3rem; }
.login-story-footer[b-n6rrz55qmq] { color:#91a9bc; font-size:.65rem; margin:0; }
.login-access[b-n6rrz55qmq] { background:#fbfcfe; display:flex; flex-direction:column; justify-content:center; align-items:center; min-width:0; padding:3rem; }
.login-form-wrap[b-n6rrz55qmq] { width:100%; max-width:385px; margin-block:auto; padding:3rem 0; }
.login-form-eyebrow[b-n6rrz55qmq] { color:#087b73; font-size:.6rem; font-weight:750; letter-spacing:.15em; }
.login-form-wrap h2[b-n6rrz55qmq] { font-size:1.9rem; font-weight:720; letter-spacing:-.05em; margin:1rem 0 .65rem; }
.login-intro[b-n6rrz55qmq] { color:#6a7a8d; font-size:.88rem; margin-bottom:2.3rem; }
.login-form-wrap .form-control[b-n6rrz55qmq] { min-height:50px; padding:.8rem .95rem; font-size:.87rem; }
.login-recovery[b-n6rrz55qmq] { display:flex; justify-content:flex-end; margin:1rem 0 1.55rem; }
.login-recovery a[b-n6rrz55qmq] { color:#405e86; font-size:.76rem; text-decoration:none; }
.login-recovery a:hover[b-n6rrz55qmq] { text-decoration:underline; }
.login-submit[b-n6rrz55qmq] { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:50px; }
.login-help[b-n6rrz55qmq] { display:flex; align-items:center; flex-direction:column; gap:.45rem; margin-top:2rem; padding-top:1.6rem; border-top:1px solid #e0e7ee; }
.login-help > span[b-n6rrz55qmq] { color:#6a7a8d; font-size:.73rem; }
.login-help a[b-n6rrz55qmq] { font-size:.78rem; font-weight:600; text-decoration:none; overflow-wrap:anywhere; }
.login-help a:hover[b-n6rrz55qmq] { text-decoration:underline; }
.login-access-footer[b-n6rrz55qmq] { margin:0; font-size:.6rem; color:#718198; text-align:center; }
.login-mobile-brand[b-n6rrz55qmq] { display:none; }
@media(min-width:1600px) { .login-story[b-n6rrz55qmq] { padding:3rem 5rem; } }
@media(max-width:1000px) { .login-story[b-n6rrz55qmq] { padding:2rem; } .login-story h1[b-n6rrz55qmq] { font-size:3.2rem; } .login-access[b-n6rrz55qmq] { padding:2rem; } }
@media(max-width:767px) { .dc-login[b-n6rrz55qmq] { display:block; } .login-story[b-n6rrz55qmq] { display:none; } .login-access[b-n6rrz55qmq] { min-height:100dvh; padding:2rem 1.5rem 1.5rem; } .login-mobile-brand[b-n6rrz55qmq] { display:flex; width:100%; max-width:385px; } .login-form-wrap[b-n6rrz55qmq] { padding:2.7rem 0; } .login-form-wrap h2[b-n6rrz55qmq] { font-size:1.85rem; } }
/* /Components/Pages/MaterialClase.razor.rz.scp.css */
.libro-curso[b-mvew4tf08s] { width:100%; height:100%; text-align:left; display:flex; flex-direction:column; gap:.35rem; padding:1rem; border:1px solid #d7c8b5; border-left:5px solid #ad895f; border-radius:.65rem; background:#fffdf7; color:#463725; transition:background .15s; }
.libro-curso span[b-mvew4tf08s],.libro-curso small[b-mvew4tf08s] { font-size:.85rem; }
.libro-curso:hover[b-mvew4tf08s] { background:#f3e8d8; }
.libro-curso.seleccionado[b-mvew4tf08s] { border-color:#80603d; background:#ece0cc; box-shadow:0 0 0 2px #80603d33; }
.libro-curso:focus-visible[b-mvew4tf08s] { outline:3px solid #2469bf; outline-offset:3px; }
/* /Components/Pages/PortalAlumno/PanelAlumno.razor.rz.scp.css */
.alumno-panel-header[b-u7j9rpyta5] {
    display: grid;
    grid-template-columns: minmax(280px, 360px) 1fr;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.alumno-card[b-u7j9rpyta5],
.panel-titulo-card[b-u7j9rpyta5] {
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.alumno-card[b-u7j9rpyta5] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    background: #ffffff;
    border: 1px solid #dbe4ef;
}

.alumno-avatar[b-u7j9rpyta5] {
    width: 58px;
    height: 58px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #2563eb;
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 700;
}

.alumno-nombre[b-u7j9rpyta5] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f172a;
}

.alumno-rol[b-u7j9rpyta5] {
    margin-top: 0.2rem;
    color: #64748b;
}

.panel-titulo-card[b-u7j9rpyta5] {
    padding: 1.25rem 1.5rem;
    background: linear-gradient(135deg, #dceaff 0%, #edf4ff 100%);
    border: 2px solid #5b8def;
}

.panel-eyebrow[b-u7j9rpyta5] {
    display: block;
    margin-bottom: 0.25rem;
    color: #2563eb;
    font-weight: 700;
}

.panel-titulo-card h1[b-u7j9rpyta5] {
    margin: 0;
    font-size: 1.8rem;
}

.panel-titulo-card p[b-u7j9rpyta5] {
    margin: 0.35rem 0 0;
    color: #475569;
}

@media (max-width: 991.98px) {
    .alumno-panel-header[b-u7j9rpyta5] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Profesores/CalendarioProfesor.razor.rz.scp.css */
.calendario-card[b-ytg0dye5t7] {
    overflow: hidden;
}

.calendario-semana-cabecera[b-ytg0dye5t7],
.calendario-grid[b-ytg0dye5t7] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.calendario-semana-cabecera[b-ytg0dye5t7] {
    background: #f8fafc;
    border-bottom: 1px solid #dbe4ef;
}

.calendario-dia-nombre[b-ytg0dye5t7] {
    padding: 0.75rem 0.5rem;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    border-right: 1px solid #e5e7eb;
}

.calendario-dia-nombre:last-child[b-ytg0dye5t7] {
    border-right: 0;
}

.calendario-dia[b-ytg0dye5t7] {
    min-height: 145px;
    padding: 0.55rem;
    background: #ffffff;
    border-right: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
}

.calendario-dia:nth-child(7n)[b-ytg0dye5t7] {
    border-right: 0;
}

.calendario-dia:hover[b-ytg0dye5t7] {
    background: #f8fbff;
}

.calendario-dia.fuera-mes[b-ytg0dye5t7] {
    background: #f8fafc;
}

.calendario-dia.fuera-mes .calendario-dia-numero[b-ytg0dye5t7] {
    color: #94a3b8;
}

.calendario-dia.hoy[b-ytg0dye5t7] {
    background: #eff6ff;
    box-shadow: inset 0 0 0 2px #3b82f6;
}

.calendario-dia-numero[b-ytg0dye5t7] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.45rem;
    color: #334155;
    font-size: 0.9rem;
    font-weight: 700;
}

.calendario-dia-numero small[b-ytg0dye5t7] {
    padding: 0.12rem 0.42rem;
    border-radius: 999px;
    background: #2563eb;
    color: white;
    font-size: 0.67rem;
}

.calendario-eventos[b-ytg0dye5t7] {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}

.calendario-evento[b-ytg0dye5t7] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.32rem 0.42rem;
    border: 0;
    border-left: 4px solid transparent;
    border-radius: 5px;
    text-align: left;
    cursor: pointer;
    overflow: hidden;
    font-size: 0.76rem;
    line-height: 1.2;
}

.calendario-evento-hora[b-ytg0dye5t7] {
    flex-shrink: 0;
    font-weight: 700;
}

.calendario-evento-titulo[b-ytg0dye5t7] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.evento-clase[b-ytg0dye5t7] {
    background: #dbeafe;
    border-left-color: #2563eb;
    color: #1e3a8a;
}

.evento-examen[b-ytg0dye5t7] {
    background: #fee2e2;
    border-left-color: #dc2626;
    color: #7f1d1d;
}

.evento-reunion[b-ytg0dye5t7] {
    background: #ede9fe;
    border-left-color: #7c3aed;
    color: #4c1d95;
}

.evento-recordatorio[b-ytg0dye5t7] {
    background: #fef3c7;
    border-left-color: #d97706;
    color: #78350f;
}

.evento-otro[b-ytg0dye5t7] {
    background: #dcfce7;
    border-left-color: #16a34a;
    color: #14532d;
}

.calendario-leyenda[b-ytg0dye5t7] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem 1.25rem;
    padding: 0.8rem 1rem;
    border-top: 1px solid #e5e7eb;
    font-size: 0.8rem;
    color: #475569;
}

.calendario-leyenda span[b-ytg0dye5t7] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.leyenda[b-ytg0dye5t7] {
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
}

.leyenda.clase[b-ytg0dye5t7] { background: #2563eb; }
.leyenda.examen[b-ytg0dye5t7] { background: #dc2626; }
.leyenda.reunion[b-ytg0dye5t7] { background: #7c3aed; }
.leyenda.recordatorio[b-ytg0dye5t7] { background: #d97706; }
.leyenda.otro[b-ytg0dye5t7] { background: #16a34a; }

@media (max-width: 767.98px) {
    .calendario-card[b-ytg0dye5t7] {
        overflow-x: auto;
    }

    .calendario-semana-cabecera[b-ytg0dye5t7],
    .calendario-grid[b-ytg0dye5t7] {
        min-width: 840px;
    }
}
/* /Components/Pages/Profesores/MensajesProfesor.razor.rz.scp.css */
.mensajes-header[b-6x6df3ilme] {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.profesor-card[b-6x6df3ilme],
.titulo-card[b-6x6df3ilme] {
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.profesor-card[b-6x6df3ilme] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    background: #fff;
    border: 1px solid #dbe4ef;
}

.profesor-avatar[b-6x6df3ilme],
.conversation-avatar[b-6x6df3ilme] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #2563eb;
    color: white;
    font-weight: 700;
}

.profesor-avatar[b-6x6df3ilme] {
    width: 54px;
    height: 54px;
    font-size: 1.2rem;
}

.profesor-nombre[b-6x6df3ilme] {
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 700;
}

.profesor-rol[b-6x6df3ilme] {
    color: #64748b;
    font-size: 0.9rem;
}

.titulo-card[b-6x6df3ilme] {
    padding: 1.15rem 1.5rem;
    background: linear-gradient(135deg, #dceaff 0%, #edf4ff 100%);
    border: 2px solid #5b8def;
}

.eyebrow[b-6x6df3ilme] {
    color: #2563eb;
    font-weight: 700;
}

.titulo-card h1[b-6x6df3ilme] {
    margin: 0.15rem 0 0;
    font-size: 1.65rem;
}

.titulo-card p[b-6x6df3ilme] {
    margin: 0.3rem 0 0;
    color: #475569;
}

.mensajeria-shell[b-6x6df3ilme] {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    min-height: 650px;
    background: #fff;
    border: 1px solid #dbe4ef;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.07);
}

.mensajeria-sidebar[b-6x6df3ilme] {
    background: #f8fafc;
    border-right: 1px solid #dbe4ef;
    overflow-y: auto;
}

.sidebar-section[b-6x6df3ilme] {
    padding: 1rem;
}

.sidebar-title[b-6x6df3ilme] {
    margin-bottom: 0.75rem;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.empty-mini[b-6x6df3ilme] {
    padding: 0.75rem;
    color: #64748b;
    font-size: 0.9rem;
}

.conversation-item[b-6x6df3ilme],
.student-item[b-6x6df3ilme] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    margin-bottom: 0.35rem;
    border: 0;
    border-radius: 10px;
    background: transparent;
    text-align: left;
}

.conversation-item:hover[b-6x6df3ilme],
.student-item:hover[b-6x6df3ilme] {
    background: #eef4ff;
}

.conversation-item.active[b-6x6df3ilme] {
    background: #dbeafe;
}

.conversation-avatar[b-6x6df3ilme] {
    width: 40px;
    height: 40px;
}

.conversation-avatar.soft[b-6x6df3ilme] {
    background: #e2e8f0;
    color: #334155;
}

.conversation-copy[b-6x6df3ilme] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.conversation-copy strong[b-6x6df3ilme],
.conversation-copy small[b-6x6df3ilme],
.conversation-copy span[b-6x6df3ilme] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conversation-copy strong[b-6x6df3ilme] {
    color: #0f172a;
}

.conversation-copy small[b-6x6df3ilme] {
    color: #475569;
}

.conversation-copy span[b-6x6df3ilme] {
    margin-top: 0.15rem;
    color: #94a3b8;
    font-size: 0.72rem;
}

.mensajeria-chat[b-6x6df3ilme] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
}

.chat-header[b-6x6df3ilme] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
}

.chat-header h2[b-6x6df3ilme] {
    margin: 0;
    font-size: 1.1rem;
}

.chat-messages[b-6x6df3ilme] {
    flex: 1;
    min-height: 420px;
    max-height: 560px;
    padding: 1rem 1.25rem;
    overflow-y: auto;
    background: #f8fafc;
}

.message-row[b-6x6df3ilme] {
    display: flex;
    margin-bottom: 0.75rem;
}

.message-row.mine[b-6x6df3ilme] {
    justify-content: flex-end;
}

.message-row.theirs[b-6x6df3ilme] {
    justify-content: flex-start;
}

.message-bubble[b-6x6df3ilme] {
    max-width: min(72%, 650px);
    padding: 0.7rem 0.85rem;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
}

.message-row.mine .message-bubble[b-6x6df3ilme] {
    background: #dbeafe;
    border-color: #bfdbfe;
}

.message-text[b-6x6df3ilme] {
    white-space: pre-wrap;
    color: #0f172a;
}

.message-meta[b-6x6df3ilme] {
    margin-top: 0.4rem;
    color: #64748b;
    font-size: 0.7rem;
    text-align: right;
}

.message-files[b-6x6df3ilme] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 0.6rem;
}

.message-files a[b-6x6df3ilme] {
    color: #2563eb;
    font-size: 0.85rem;
    text-decoration: none;
}

.message-files a:hover[b-6x6df3ilme] {
    text-decoration: underline;
}

.chat-compose[b-6x6df3ilme] {
    padding: 1rem;
    border-top: 1px solid #e5e7eb;
    background: #fff;
}

.compose-actions[b-6x6df3ilme] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: 0.75rem;
}

.chat-empty[b-6x6df3ilme] {
    min-height: 420px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    text-align: center;
    color: #64748b;
}

.chat-empty.compact[b-6x6df3ilme] {
    min-height: 280px;
}

.chat-empty h2[b-6x6df3ilme] {
    color: #1e293b;
    font-size: 1.25rem;
}

.chat-empty-icon[b-6x6df3ilme] {
    margin-bottom: 0.75rem;
    font-size: 2.5rem;
}

@media (max-width: 991.98px) {
    .mensajes-header[b-6x6df3ilme],
    .mensajeria-shell[b-6x6df3ilme] {
        grid-template-columns: 1fr;
    }

    .mensajeria-sidebar[b-6x6df3ilme] {
        max-height: 360px;
        border-right: 0;
        border-bottom: 1px solid #dbe4ef;
    }
}

@media (max-width: 575.98px) {
    .message-bubble[b-6x6df3ilme] {
        max-width: 88%;
    }

    .compose-actions[b-6x6df3ilme] {
        align-items: stretch;
        flex-direction: column;
    }
}
/* /Components/Pages/Profesores/PanelProfesor.razor.rz.scp.css */
.profesor-panel-header[b-hxsfvvh5zd] {
    display: grid;
    grid-template-columns: 420px minmax(0, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.profesor-card[b-hxsfvvh5zd] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    min-height: 108px;
    padding: 1.25rem 1.5rem;
    background: #ffffff;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.profesor-avatar[b-hxsfvvh5zd] {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0d6efd;
    color: #ffffff;
    font-size: 1.35rem;
    font-weight: 600;
}

.profesor-datos[b-hxsfvvh5zd] {
    min-width: 0;
}

.profesor-nombre[b-hxsfvvh5zd] {
    color: #111827;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.25;
}

.profesor-rol[b-hxsfvvh5zd] {
    margin-top: 0.25rem;
    color: #6b7280;
    font-size: 0.9rem;
}

.panel-titulo-card[b-hxsfvvh5zd] {
    min-height: 108px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.15rem 1.5rem;
    background: #eaf2ff;
    border: 1px solid #0d6efd;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.panel-eyebrow[b-hxsfvvh5zd] {
    display: block;
    margin-bottom: 0.2rem;
    color: #0d6efd;
    font-size: 0.9rem;
    font-weight: 700;
}

.panel-titulo-card h1[b-hxsfvvh5zd] {
    margin: 0;
    color: #111827;
    font-size: 1.55rem;
    font-weight: 500;
    line-height: 1.2;
}

.panel-titulo-card p[b-hxsfvvh5zd] {
    margin: 0.35rem 0 0;
    color: #475569;
    font-size: 0.95rem;
}

@media (max-width: 900px) {
    .profesor-panel-header[b-hxsfvvh5zd] {
        grid-template-columns: 1fr;
    }

    .profesor-card[b-hxsfvvh5zd],
    .panel-titulo-card[b-hxsfvvh5zd] {
        min-height: auto;
    }
}

@media (max-width: 576px) {
    .profesor-card[b-hxsfvvh5zd],
    .panel-titulo-card[b-hxsfvvh5zd] {
        padding: 1rem;
    }

    .profesor-avatar[b-hxsfvvh5zd] {
        width: 46px;
        height: 46px;
        font-size: 1.15rem;
    }
}
/* /Components/Shared/BarraNavegacion.razor.rz.scp.css */
.navigation-toolbar[b-xhmqpwtais] {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 46px;
    margin-bottom: 1rem;
    padding: .45rem .65rem;
    border: 1px solid #dbe4ef;
    border-radius: .75rem;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 2px 8px rgba(15, 23, 42, .05);
}

.navigation-back[b-xhmqpwtais],
.navigation-home[b-xhmqpwtais] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 34px;
    padding: .35rem .65rem;
    border-radius: .5rem;
    color: #1e3a8a;
    font-size: .9rem;
    font-weight: 650;
    text-decoration: none;
}

.navigation-back[b-xhmqpwtais] {
    border: 1px solid #bfdbfe;
    background: #eff6ff;
}

.navigation-home[b-xhmqpwtais] {
    border: 1px solid transparent;
}

.navigation-back:hover[b-xhmqpwtais],
.navigation-home:hover[b-xhmqpwtais] {
    color: #1d4ed8;
    background: #dbeafe;
}

.navigation-separator[b-xhmqpwtais] {
    width: 1px;
    height: 24px;
    background: #dbe4ef;
}

.navigation-current[b-xhmqpwtais] {
    margin-left: auto;
    color: #64748b;
    font-size: .82rem;
    text-transform: capitalize;
}

@media (max-width: 640.98px) {
    .navigation-toolbar[b-xhmqpwtais] {
        position: sticky;
        top: 0;
        z-index: 12;
        margin: -.25rem -.25rem 1rem;
        border-radius: .55rem;
    }

    .navigation-back[b-xhmqpwtais],
    .navigation-home[b-xhmqpwtais] {
        flex: 1;
        justify-content: center;
    }
}
/* /Components/Shared/DescargarApp.razor.rz.scp.css */
.app-download[b-ef97g6q5sd]{display:flex;align-items:center;gap:1.25rem;padding:1.5rem 1.75rem;margin:0 0 1.5rem;border:1px solid #ccdcef;border-radius:18px;background:linear-gradient(110deg,#edf4ff,#f1faf8);color:#19324e}
.app-download-icon[b-ef97g6q5sd]{display:grid;place-items:center;width:60px;height:72px;border-radius:16px;background:#fff;color:#245bd6;box-shadow:0 6px 20px #245bd611;flex-shrink:0}
.app-download-icon[b-ef97g6q5sd]  svg{width:30px;height:36px}
.app-download-copy[b-ef97g6q5sd]{flex:1;min-width:0}
.app-download-eyebrow[b-ef97g6q5sd]{font-size:.68rem;letter-spacing:.12em;font-weight:750;color:#245bd6}
.app-download h2[b-ef97g6q5sd]{font-size:1.35rem;font-weight:750;margin:.3rem 0;letter-spacing:-.035em}
.app-download p[b-ef97g6q5sd]{font-size:.88rem;color:#536880;margin:0}
.app-download-actions[b-ef97g6q5sd]{display:flex;flex-direction:column;align-items:stretch;gap:.65rem}
.app-download-button[b-ef97g6q5sd],.app-download-secondary[b-ef97g6q5sd]{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;text-decoration:none;font-size:.85rem;font-weight:650;border-radius:10px;padding:.8rem 1rem}
.app-download-button[b-ef97g6q5sd]{background:#245bd6;color:#fff;box-shadow:0 4px 12px #245bd625}
.app-download-button:hover[b-ef97g6q5sd]{background:#194bc0;color:#fff}
.app-download-secondary[b-ef97g6q5sd]{color:#294766;background:#ffffffb8;border:1px solid #d1deeb}
.app-download-secondary:hover[b-ef97g6q5sd]{background:#fff;color:#173e77}
.app-download a:focus-visible[b-ef97g6q5sd]{outline:3px solid #0b786e;outline-offset:4px}
@media(max-width:700px){.app-download[b-ef97g6q5sd]{flex-wrap:wrap;padding:1.25rem;gap:1rem}.app-download-icon[b-ef97g6q5sd]{width:48px;height:58px}.app-download-actions[b-ef97g6q5sd]{flex-basis:100%}.app-download h2[b-ef97g6q5sd]{font-size:1.2rem}}
/* /Components/Shared/FotoUsuarioMenu.razor.rz.scp.css */
.sidebar-profile[b-zp31zr7a8o] { border-bottom:1px solid #ffffff14; padding:1rem 0; }
.sidebar-profile a[b-zp31zr7a8o] { display:inline-block; margin-top:.2rem; font-size:.68rem; color:#b5cddd; text-decoration:none; }
.sidebar-profile a:hover[b-zp31zr7a8o] { color:#fff; text-decoration:underline; }
.sidebar-profile[b-zp31zr7a8o]  img { border:3px solid #ffffff25; }
/* /Components/Shared/VisorMaterialClase.razor.rz.scp.css */
.visor-clase[b-dtevw2i1ct]{background:#f5f0e7;border:1px solid #d8c8b1;border-radius:18px;padding:18px;box-shadow:0 12px 35px #61462b15}.encabezado-libro[b-dtevw2i1ct]{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.encabezado-libro h3[b-dtevw2i1ct]{font:600 1.35rem Georgia,serif;color:#4b3427;margin:6px 0}.sello-libro[b-dtevw2i1ct]{font-size:.68rem;letter-spacing:.17em;color:#8b6c4a}.cerrar-libro[b-dtevw2i1ct]{background:#fffaf2;border:1px solid #bba486;padding:8px 14px;color:#604530;border-radius:7px}.lector-propio[b-dtevw2i1ct]{width:100%;height:84vh;min-height:580px;border:0;border-radius:12px;background:#e9dfce}.nota-libro[b-dtevw2i1ct]{font-size:.8rem;color:#806b56;margin:12px 0 0}.nota-libro a[b-dtevw2i1ct]{color:#78522e}@media(max-width:760px){.visor-clase[b-dtevw2i1ct]{padding:8px}.lector-propio[b-dtevw2i1ct]{min-height:540px;height:85vh}.encabezado-libro[b-dtevw2i1ct]{gap:8px}.encabezado-libro h3[b-dtevw2i1ct]{font-size:1.05rem}}
