/* /Components/Admin/AdminSidebar.razor.rz.scp.css */
/* =========================================================
   MENÚ LATERAL DEL ADMINISTRADOR
   ========================================================= */

.admin-sidebar[b-cprzh45rcr],
.admin-sidebar *[b-cprzh45rcr] {
    box-sizing: border-box;
}

.admin-sidebar[b-cprzh45rcr] {
    --admin-blue: #929df2;
    --admin-blue-dark: #5f70d3;
    --admin-blue-soft: #b8c1ff;
    width: clamp(265px, 24vw, 340px);
    height: 100dvh;
    padding: 34px 28px 25px;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-items: center;
    flex-shrink: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--admin-blue);
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}

/* =========================================================
   PERFIL
   ========================================================= */

.admin-profile[b-cprzh45rcr] {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.admin-avatar[b-cprzh45rcr] {
    width: 145px;
    height: 145px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ffffff;
    color: var(--admin-blue);
    font-size: 47px;
    font-weight: 900;
}

.admin-user-name[b-cprzh45rcr] {
    max-width: 100%;
    margin-top: 19px;
    color: #ffffff;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

/* =========================================================
   NAVEGACIÓN
   ========================================================= */

.admin-navigation[b-cprzh45rcr] {
    width: 100%;
    height: 100%;
    margin: 0;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0;
}

[b-cprzh45rcr] .admin-nav-link {
    width: 100%;
    padding: 4px 10px;
    display: block;
    border-radius: 22px;
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.10;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

    [b-cprzh45rcr] .admin-nav-link:hover {
        background: rgba(255, 255, 255, 0.18);
        transform: translateX(2px);
    }

    [b-cprzh45rcr] .admin-nav-link.active {
        background: #ffffff;
        color: var(--admin-blue-dark);
    }

/* =========================================================
   CIERRE DE SESIÓN Y LOGO
   ========================================================= */

.admin-sidebar-footer[b-cprzh45rcr] {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 16px;
}

[b-cprzh45rcr] .admin-logout {
    width: 100%;
    min-height: 44px;
    padding: 8px 14px;
    border: 0;
    border-radius: 22px;
    background: transparent;
    color: #ffffff;
    font-family: inherit;
    font-size: 20px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

    [b-cprzh45rcr] .admin-logout:hover {
        background: #ffffff;
        color: var(--admin-blue-dark);
        transform: translateY(-1px);
    }

.admin-sidebar-logo[b-cprzh45rcr] {
    width: min(100%, 250px);
    height: 250px;
    object-fit: contain;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 7px 11px rgba(0, 0, 0, 0.18);
}

/* =========================================================
   TABLET Y MÓVIL
   ========================================================= */

@media (max-width: 900px) {
    .admin-sidebar[b-cprzh45rcr] {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 50;
        width: min(330px, 84vw);
        height: 100dvh;
        padding: 28px 22px 22px;
        transform: translateX(-105%);
        box-shadow: 12px 0 25px rgba(0, 0, 0, 0.22);
        transition: transform 180ms ease;
    }

    .admin-sidebar--open[b-cprzh45rcr] {
        transform: translateX(0);
    }

    .admin-avatar[b-cprzh45rcr] {
        width: 118px;
        height: 118px;
        font-size: 39px;
    }

    .admin-user-name[b-cprzh45rcr] {
        margin-top: 15px;
        font-size: 18px;
    }

    [b-cprzh45rcr] .admin-nav-link {
        padding: 6px 10px;
        font-size: 17px;
    }

    [b-cprzh45rcr] .admin-logout {
        min-height: 40px;
        font-size: 16px;
    }

    .admin-sidebar-logo[b-cprzh45rcr] {
        width: 170px;
        height: 170px;
    }
}

@media (max-width: 420px) {
    .admin-sidebar[b-cprzh45rcr] {
        width: min(310px, 88vw);
        padding: 24px 18px 18px;
    }

    .admin-avatar[b-cprzh45rcr] {
        width: 105px;
        height: 105px;
        font-size: 35px;
    }

    .admin-user-name[b-cprzh45rcr] {
        font-size: 16px;
    }

    [b-cprzh45rcr] .admin-nav-link {
        font-size: 15px;
    }

    .admin-sidebar-logo[b-cprzh45rcr] {
        width: 150px;
        height: 150px;
    }
}

/* =========================================================
   PANTALLAS DE ESCRITORIO CON POCA ALTURA
   ========================================================= */

@media (max-height: 760px) and (min-width: 901px) {
    .admin-sidebar[b-cprzh45rcr] {
        padding-top: 22px;
        padding-bottom: 18px;
    }

    .admin-avatar[b-cprzh45rcr] {
        width: 105px;
        height: 105px;
        font-size: 36px;
    }

    .admin-user-name[b-cprzh45rcr] {
        margin-top: 12px;
        font-size: 18px;
    }

    [b-cprzh45rcr] .admin-nav-link {
        padding-top: 3px;
        padding-bottom: 3px;
        font-size: 15px;
    }

    .admin-sidebar-footer[b-cprzh45rcr] {
        gap: 10px;
    }

    [b-cprzh45rcr] .admin-logout {
        min-height: 38px;
        font-size: 16px;
    }

    .admin-sidebar-logo[b-cprzh45rcr] {
        width: 150px;
        height: 150px;
    }
}

/* =========================================================
   TELÉFONO REAL - VIEWPORT CORTO POR BARRAS DEL NAVEGADOR
   ========================================================= */

/*
 * En DevTools con 390 x 844 el menú puede verse correcto porque
 * el viewport útil es mayor. En un iPhone real, Safari/Chrome y
 * el navegador interno de WhatsApp reducen la altura disponible
 * por sus barras superior e inferior.
 */
@media (max-width: 900px) and (max-height: 760px) {
    .admin-sidebar[b-cprzh45rcr] {
        height: 100dvh;
        max-height: 100dvh;

        padding-top: max(14px, env(safe-area-inset-top));
        padding-right: 16px;
        padding-bottom: max(10px, env(safe-area-inset-bottom));
        padding-left: 16px;
    }

    .admin-avatar[b-cprzh45rcr] {
        width: 86px;
        height: 86px;
        font-size: 29px;
    }

    .admin-user-name[b-cprzh45rcr] {
        margin-top: 8px;
        font-size: 14px;
        line-height: 1.08;
    }

    .admin-navigation[b-cprzh45rcr] {
        justify-content: center;
    }

    [b-cprzh45rcr] .admin-nav-link {
        padding: 3px 8px;
        font-size: 13.5px;
        line-height: 1.05;
    }

    .admin-sidebar-footer[b-cprzh45rcr] {
        gap: 6px;
    }

    [b-cprzh45rcr] .admin-logout {
        min-height: 32px;
        padding: 4px 8px;
        font-size: 13px;
        line-height: 1.05;
    }

    .admin-sidebar-logo[b-cprzh45rcr] {
        width: 116px;
        height: 116px;
    }
}

@media (max-width: 420px) and (max-height: 680px) {
    .admin-sidebar[b-cprzh45rcr] {
        padding-top: max(10px, env(safe-area-inset-top));
        padding-right: 14px;
        padding-bottom: max(8px, env(safe-area-inset-bottom));
        padding-left: 14px;
    }

    .admin-avatar[b-cprzh45rcr] {
        width: 76px;
        height: 76px;
        font-size: 26px;
    }

    .admin-user-name[b-cprzh45rcr] {
        margin-top: 6px;
        font-size: 13px;
    }

    [b-cprzh45rcr] .admin-nav-link {
        padding-top: 2px;
        padding-bottom: 2px;
        font-size: 12.5px;
    }

    .admin-sidebar-logo[b-cprzh45rcr] {
        width: 100px;
        height: 100px;
    }
}

/* /Components/Profesor/FormularioReporteProfesor.razor.rz.scp.css */
/* =========================================================
   FORMULARIO REUTILIZABLE DE REPORTES
   ========================================================= */

.teacher-report-form[b-crh1810l74],
.teacher-report-form *[b-crh1810l74] {
    box-sizing: border-box;
}

.teacher-report-form[b-crh1810l74] {
    --gold: #c7a200;
    --gold-dark: #8b7200;
    --gold-border: #e1d99b;
    --gold-pale: #fffdf3;
    --gold-focus-shadow: rgba(199, 162, 0, 0.16);
    --gold-help-background: var(--gold-help-background);
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 22px;
    font-family: Arial, Helvetica, sans-serif;
}

.teacher-report-form--admin[b-crh1810l74] {
    --gold: #91a2ff;
    --gold-dark: #6273da;
    --gold-border: #d5d9f6;
    --gold-pale: #f7f8ff;
    --gold-focus-shadow: rgba(145, 162, 255, 0.18);
    --gold-help-background: #eef0ff;
}

.teacher-report-form--admin
.teacher-report-help[b-crh1810l74] {
    color: #5667cd;
}

.teacher-report-form-card[b-crh1810l74] {
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid var(--gold);
    border-radius: 17px;
    background: var(--gold-pale);
}

.teacher-report-form-card--paired[b-crh1810l74] {
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.teacher-report-form-heading[b-crh1810l74] {
    margin-bottom: 22px;
}

.teacher-report-form-heading--actions[b-crh1810l74] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.teacher-report-form-heading span[b-crh1810l74] {
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
}

.teacher-report-form-heading h2[b-crh1810l74] {
    margin: 6px 0 0;
    color: #111111;
    font-size: clamp(21px, 2vw, 29px);
    font-weight: 900;
    text-transform: uppercase;
}

.teacher-report-form textarea[b-crh1810l74],
.teacher-report-form input[type="text"][b-crh1810l74],
.teacher-report-form input[type="time"][b-crh1810l74],
.teacher-report-form select[b-crh1810l74] {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 2px solid var(--gold-border);
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
}

.teacher-report-form textarea[b-crh1810l74] {
    resize: vertical;
    line-height: 1.5;
}

    .teacher-report-form textarea:focus[b-crh1810l74],
    .teacher-report-form input:focus[b-crh1810l74],
    .teacher-report-form select:focus[b-crh1810l74] {
        border-color: var(--gold);
        box-shadow: 0 0 0 3px var(--gold-focus-shadow);
    }

.teacher-report-two-columns[b-crh1810l74] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 22px;
}

.teacher-report-field[b-crh1810l74] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.teacher-report-field--wide[b-crh1810l74] {
    min-width: 0;
}

.teacher-report-field--grow[b-crh1810l74] {
    flex: 1;
}

    .teacher-report-field--grow textarea[b-crh1810l74] {
        height: 100%;
        min-height: 105px;
    }

.teacher-report-field label[b-crh1810l74] {
    color: #444444;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.teacher-report-check[b-crh1810l74] {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #333333;
    font-size: 13px;
    font-weight: 800;
}

    .teacher-report-check input[b-crh1810l74] {
        width: 18px;
        height: 18px;
        accent-color: var(--gold);
    }

.teacher-report-add[b-crh1810l74],
.teacher-report-remove[b-crh1810l74] {
    min-height: 38px;
    padding: 8px 15px;
    border-radius: 19px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.teacher-report-add[b-crh1810l74] {
    border: 2px solid var(--gold);
    background: #ffffff;
    color: var(--gold-dark);
}

.teacher-report-remove[b-crh1810l74] {
    border: 2px solid #d64a4a;
    background: #ffffff;
    color: #b72d2d;
}

.teacher-report-form-empty[b-crh1810l74] {
    padding: 22px;
    border-radius: 11px;
    background: #ffffff;
    color: #666666;
    text-align: center;
}

.teacher-diaper-form-list[b-crh1810l74] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.teacher-diaper-form-item[b-crh1810l74] {
    padding: 16px;
    display: grid;
    grid-template-columns: 130px minmax(150px, 1fr) auto 150px minmax(150px, 1fr) minmax(190px, 1.2fr) auto;
    align-items: end;
    gap: 12px;
    border: 2px solid var(--gold-border);
    border-radius: 12px;
    background: #ffffff;
}

.teacher-report-help[b-crh1810l74] {
    margin-top: -6px;
    padding: 10px 12px;
    border-radius: 9px;
    background: var(--gold-help-background);
    color: var(--gold-dark);
    font-size: 12px;
    font-weight: 700;
}

.teacher-report-time-grid[b-crh1810l74] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

@media (max-width: 1300px) {
    .teacher-diaper-form-item[b-crh1810l74] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .teacher-report-field--wide[b-crh1810l74] {
        grid-column: span 2;
    }
}

@media (max-width: 900px) {
    .teacher-report-two-columns[b-crh1810l74] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .teacher-report-form-card[b-crh1810l74] {
        padding: 20px 16px;
    }

    .teacher-report-form-heading--actions[b-crh1810l74] {
        align-items: stretch;
        flex-direction: column;
    }

    .teacher-report-form input[type="time"][b-crh1810l74],
    .teacher-report-form input[type="text"][b-crh1810l74],
    .teacher-report-form select[b-crh1810l74],
    .teacher-report-form textarea[b-crh1810l74] {
        min-width: 0;
        max-width: 100%;
        font-size: 16px;
    }

    .teacher-report-add[b-crh1810l74] {
        width: 100%;
    }

    .teacher-diaper-form-item[b-crh1810l74],
    .teacher-report-time-grid[b-crh1810l74] {
        grid-template-columns: 1fr;
    }

    .teacher-report-field--wide[b-crh1810l74] {
        grid-column: auto;
    }
}


/* =========================================================
   NO APLICA - PAMPERS / DESCANSO
   ========================================================= */

.teacher-report-section-actions[b-crh1810l74] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.teacher-report-no-apply[b-crh1810l74] {
    min-height: 38px;
    padding: 8px 13px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 2px solid var(--gold-border);
    border-radius: 19px;
    background: #ffffff;
    color: var(--gold-dark);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.teacher-report-no-apply input[b-crh1810l74] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--gold);
}

.teacher-report-no-apply:has(input:checked)[b-crh1810l74] {
    border-color: var(--gold);
    background: var(--gold-help-background);
}

.teacher-report-no-apply:has(input:disabled)[b-crh1810l74] {
    cursor: not-allowed;
    opacity: 0.65;
}

.teacher-report-form-empty--no-apply[b-crh1810l74] {
    border: 2px dashed var(--gold-border);
    color: var(--gold-dark);
    font-weight: 800;
}

@media (max-width: 680px) {
    .teacher-report-section-actions[b-crh1810l74] {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .teacher-report-no-apply[b-crh1810l74],
    .teacher-report-section-actions .teacher-report-add[b-crh1810l74] {
        width: 100%;
        justify-content: center;
    }
}
/* /Components/Profesor/ProfesorSidebar.razor.rz.scp.css */
/* =========================================================
   MENÚ LATERAL DE PROFESORAS
   ========================================================= */

.teacher-sidebar[b-q0kpw67vo9],
.teacher-sidebar *[b-q0kpw67vo9] {
    box-sizing: border-box;
}

.teacher-sidebar[b-q0kpw67vo9] {
    --teacher-gold: #c7a200;
    --teacher-gold-dark: #8b7200;
    --teacher-gold-soft: #eadb91;
    width: clamp(265px, 24vw, 340px);
    height: 100dvh;
    padding: 34px 28px 25px;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-items: center;
    flex-shrink: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--teacher-gold);
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}

/* =========================================================
   PERFIL
   ========================================================= */

.teacher-profile[b-q0kpw67vo9] {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.teacher-avatar[b-q0kpw67vo9] {
    width: 145px;
    height: 145px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ffffff;
    color: var(--teacher-gold);
    font-size: 47px;
    font-weight: 900;
}

.teacher-user-name[b-q0kpw67vo9] {
    max-width: 100%;
    margin-top: 19px;
    color: #ffffff;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

/* =========================================================
   NAVEGACIÓN
   ========================================================= */

.teacher-navigation[b-q0kpw67vo9] {
    width: 100%;
    height: 100%;
    margin: 0;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0;
}

[b-q0kpw67vo9] .teacher-nav-link {
    width: 100%;
    padding: 6px 10px;
    display: block;
    border-radius: 22px;
    color: #ffffff;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

    [b-q0kpw67vo9] .teacher-nav-link:hover {
        background: rgba(255, 255, 255, 0.20);
        transform: translateX(2px);
    }

    [b-q0kpw67vo9] .teacher-nav-link.active {
        background: #ffffff;
        color: var(--teacher-gold-dark);
    }

/* =========================================================
   CIERRE DE SESIÓN Y LOGO
   ========================================================= */

.teacher-sidebar-footer[b-q0kpw67vo9] {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 16px;
}

[b-q0kpw67vo9] .teacher-logout {
    width: 100%;
    min-height: 44px;
    padding: 8px 14px;
    border: 0;
    border-radius: 22px;
    background: transparent;
    color: #ffffff;
    font-family: inherit;
    font-size: 20px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

    [b-q0kpw67vo9] .teacher-logout:hover {
        background: #ffffff;
        color: var(--teacher-gold-dark);
        transform: translateY(-1px);
    }

.teacher-sidebar-logo[b-q0kpw67vo9] {
    width: min(100%, 250px);
    height: 250px;
    object-fit: contain;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 7px 11px rgba(0, 0, 0, 0.18);
}

/* =========================================================
   TABLET Y MÓVIL
   ========================================================= */

@media (max-width: 900px) {
    .teacher-sidebar[b-q0kpw67vo9] {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 50;
        width: min(330px, 84vw);
        height: 100dvh;
        padding: 28px 22px 22px;
        transform: translateX(-105%);
        box-shadow: 12px 0 25px rgba(0, 0, 0, 0.22);
        transition: transform 180ms ease;
    }

    .teacher-sidebar--open[b-q0kpw67vo9] {
        transform: translateX(0);
    }

    .teacher-avatar[b-q0kpw67vo9] {
        width: 118px;
        height: 118px;
        font-size: 39px;
    }

    .teacher-user-name[b-q0kpw67vo9] {
        margin-top: 15px;
        font-size: 18px;
    }

    [b-q0kpw67vo9] .teacher-nav-link {
        padding: 6px 10px;
        font-size: 17px;
    }

    [b-q0kpw67vo9] .teacher-logout {
        min-height: 40px;
        font-size: 16px;
    }

    .teacher-sidebar-logo[b-q0kpw67vo9] {
        width: 170px;
        height: 170px;
    }
}

@media (max-width: 420px) {
    .teacher-sidebar[b-q0kpw67vo9] {
        width: min(310px, 88vw);
        padding: 24px 18px 18px;
    }

    .teacher-avatar[b-q0kpw67vo9] {
        width: 105px;
        height: 105px;
        font-size: 35px;
    }

    .teacher-user-name[b-q0kpw67vo9] {
        font-size: 16px;
    }

    [b-q0kpw67vo9] .teacher-nav-link {
        font-size: 15px;
    }

    .teacher-sidebar-logo[b-q0kpw67vo9] {
        width: 150px;
        height: 150px;
    }
}

/* =========================================================
   ESCRITORIO CON POCA ALTURA
   ========================================================= */

@media (max-height: 760px) and (min-width: 901px) {
    .teacher-sidebar[b-q0kpw67vo9] {
        padding-top: 22px;
        padding-bottom: 18px;
    }

    .teacher-avatar[b-q0kpw67vo9] {
        width: 105px;
        height: 105px;
        font-size: 36px;
    }

    .teacher-user-name[b-q0kpw67vo9] {
        margin-top: 12px;
        font-size: 18px;
    }

    [b-q0kpw67vo9] .teacher-nav-link {
        padding-top: 4px;
        padding-bottom: 4px;
        font-size: 16px;
    }

    .teacher-sidebar-footer[b-q0kpw67vo9] {
        gap: 10px;
    }

    [b-q0kpw67vo9] .teacher-logout {
        min-height: 38px;
        font-size: 16px;
    }

    .teacher-sidebar-logo[b-q0kpw67vo9] {
        width: 150px;
        height: 150px;
    }
}
/* /Components/Shared/AlumnoAvatar.razor.rz.scp.css */
.nido-child-avatar-icon[b-u9gzwrbk9g] {
    width: 64%;
    height: 64%;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.nido-child-avatar-icon--birthday[b-u9gzwrbk9g] {
    width: 68%;
    height: 68%;
}
/* /Layout/AdminLayout.razor.rz.scp.css */
/* =========================================================
   ESTRUCTURA GENERAL DEL PANEL ADMINISTRATIVO
   ========================================================= */

.admin-shell[b-rax4g25hyz],
.admin-main-container[b-rax4g25hyz],
.admin-main[b-rax4g25hyz],
.admin-page-host[b-rax4g25hyz],
.admin-mobile-header[b-rax4g25hyz],
.admin-sidebar-backdrop[b-rax4g25hyz] {
    box-sizing: border-box;
}

.admin-shell[b-rax4g25hyz] {
    --admin-blue: #929df2;
    --admin-blue-dark: #5f70d3;
    --admin-blue-border: #cbd1ff;
    width: 100%;
    max-width: 100vw;
    height: 100dvh;
    display: flex;
    overflow: hidden;
    background: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}

/*
 * width: 0 junto con flex: 1 obliga a esta columna
 * a utilizar únicamente el espacio restante después
 * del sidebar, sin crecer por el ancho interno de las páginas.
 */
.admin-main-container[b-rax4g25hyz] {
    width: 0;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100dvh;
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
}

.admin-mobile-header[b-rax4g25hyz] {
    display: none;
}

/*
 * No usamos width: 100% aquí. Con box-sizing content-box,
 * width: 100% más el padding podía superar el ancho disponible.
 */
.admin-main[b-rax4g25hyz] {
    width: auto;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    padding: clamp(28px, 4vw, 58px);
    overflow-x: hidden;
    overflow-y: auto;
    background: #ffffff;
}

/*
 * @Body se coloca dentro de este contenedor para que todos
 * los componentes administrativos calculen su width: 100%
 * respecto al espacio real del contenido, no respecto al viewport.
 */
.admin-page-host[b-rax4g25hyz] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

/*
 * Las páginas son componentes hijos de este layout.
 * ::deep permite limitar su elemento raíz.
 */
[b-rax4g25hyz] .admin-page-host > * {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

[b-rax4g25hyz] .admin-page-host *,
[b-rax4g25hyz] .admin-page-host *::before,
[b-rax4g25hyz] .admin-page-host *::after {
    box-sizing: border-box;
    min-width: 0;
}

.admin-sidebar-backdrop[b-rax4g25hyz] {
    display: none;
}

/* =========================================================
   TABLET Y MÓVIL
   ========================================================= */

@media (max-width: 900px) {
    .admin-shell[b-rax4g25hyz] {
        display: block;
        width: 100%;
        max-width: 100vw;
    }

    .admin-main-container[b-rax4g25hyz] {
        width: 100%;
        max-width: 100vw;
        height: 100dvh;
    }

    .admin-sidebar-backdrop[b-rax4g25hyz] {
        position: fixed;
        inset: 0;
        z-index: 40;
        display: block;
        padding: 0;
        border: 0;
        background: rgba(0, 0, 0, 0.34);
        cursor: pointer;
    }

    .admin-mobile-header[b-rax4g25hyz] {
        width: 100%;
        min-height: 62px;
        padding: 10px 18px;
        display: flex;
        align-items: center;
        gap: 14px;
        flex-shrink: 0;
        border-bottom: 2px solid var(--admin-blue-border);
        background: var(--admin-blue);
        color: #ffffff;
    }

    .admin-menu-button[b-rax4g25hyz] {
        width: 42px;
        height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        padding: 0;
        border: 0;
        border-radius: 10px;
        background: #ffffff;
        color: var(--admin-blue-dark);
        font-family: inherit;
        font-size: 24px;
        font-weight: 900;
        line-height: 1;
        cursor: pointer;
    }

    .admin-mobile-header strong[b-rax4g25hyz] {
        min-width: 0;
        font-size: 15px;
        font-weight: 800;
        overflow-wrap: anywhere;
    }

    .admin-main[b-rax4g25hyz] {
        width: auto;
        max-width: 100vw;
        padding: 24px 17px 40px;
    }
}

@media (max-width: 520px) {
    .admin-mobile-header[b-rax4g25hyz] {
        min-height: 58px;
        padding: 8px 12px;
    }

    .admin-menu-button[b-rax4g25hyz] {
        width: 40px;
        height: 40px;
    }

    .admin-mobile-header strong[b-rax4g25hyz] {
        font-size: 14px;
    }

    .admin-main[b-rax4g25hyz] {
        padding: 20px 12px 34px;
    }
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* =========================================================
   LAYOUT PÚBLICO
   ========================================================= */

.public-layout[b-c24qkalqbo],
.public-layout *[b-c24qkalqbo] {
    box-sizing: border-box;
}

.public-layout[b-c24qkalqbo] {
    width: 100%;
    min-height: 100dvh;
    margin: 0;
    overflow-x: hidden;
    background: #ffffff;
}

.public-layout__content[b-c24qkalqbo] {
    width: 100%;
    min-height: 100dvh;
    margin: 0;
    padding: 0;
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-nsfmuqsi6p] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-nsfmuqsi6p] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-nsfmuqsi6p] {
    font-size: 1.1rem;
}

.bi[b-nsfmuqsi6p] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-nsfmuqsi6p] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-nsfmuqsi6p] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-nsfmuqsi6p] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-nsfmuqsi6p] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-nsfmuqsi6p] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-nsfmuqsi6p] {
        padding-bottom: 1rem;
    }

    .nav-item[b-nsfmuqsi6p]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-nsfmuqsi6p]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-nsfmuqsi6p]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-nsfmuqsi6p] {
        display: none;
    }

    .collapse[b-nsfmuqsi6p] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .nav-scrollable[b-nsfmuqsi6p] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Layout/PadreLayout.razor.rz.scp.css */
/* =========================================================
   ESTRUCTURA GENERAL
   ========================================================= */

.parent-shell[b-dtyt54urxz],
.parent-shell *[b-dtyt54urxz] {
    box-sizing: border-box;
}

.parent-shell[b-dtyt54urxz] {
    --parent-green: #4dbd00;
    --parent-green-dark: #319000;
    --parent-green-soft: #dff3cf;
    --parent-green-pale: #f4faef;
    width: 100%;
    height: 100dvh;
    display: flex;
    overflow: hidden;
    background: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}

.parent-sidebar[b-dtyt54urxz] {
    width: clamp(265px, 24vw, 340px);
    height: 100dvh;
    padding: 34px 28px 25px;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-items: center;
    flex-shrink: 0;
    background: var(--parent-green);
    color: #ffffff;
    overflow-y: auto;
}

.parent-profile[b-dtyt54urxz] {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.parent-avatar[b-dtyt54urxz] {
    width: 145px;
    height: 145px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ffffff;
    color: var(--parent-green);
    font-size: 47px;
    font-weight: 900;
}

.parent-profile strong[b-dtyt54urxz] {
    max-width: 100%;
    margin-top: 19px;
    font-size: 23px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.parent-navigation[b-dtyt54urxz] {
    width: 100%;
    margin: 0;
    align-self: center;
    display: flex;
    align-items: center;
    flex-direction: column;
}

[b-dtyt54urxz] .parent-nav-link {
    width: 100%;
    padding: 7px 12px;
    display: block;
    border-radius: 22px;
    color: #ffffff;
    font-size: 24px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: background-color 150ms ease, transform 150ms ease;
}

    [b-dtyt54urxz] .parent-nav-link:hover {
        background: rgba(255, 255, 255, 0.16);
        transform: translateX(2px);
    }

    [b-dtyt54urxz] .parent-nav-link.active {
        background: #ffffff;
        color: var(--parent-green-dark);
    }

.parent-sidebar-footer[b-dtyt54urxz] {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 16px;
}

.parent-logout-button[b-dtyt54urxz] {
    width: 100%;
    min-height: 44px;
    padding: 8px 14px;
    border: 0;
    border-radius: 22px;
    background: transparent;
    color: #ffffff;
    font-family: inherit;
    font-size: 20px;
    font-weight: 800;
    text-align: center;
    cursor: pointer;
    transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

    .parent-logout-button:hover[b-dtyt54urxz] {
        background: #ffffff;
        color: var(--parent-green-dark);
        transform: translateY(-1px);
    }

.parent-logo[b-dtyt54urxz] {
    width: min(100%, 250px);
    height: 250px;
    object-fit: contain;
    border-radius: 50%;
    background: #ffffff;
}

.parent-main[b-dtyt54urxz] {
    min-width: 0;
    flex: 1;
    height: 100dvh;
    display: flex;
    flex-direction: column;
}

.parent-mobile-header[b-dtyt54urxz] {
    display: none;
}

.parent-content[b-dtyt54urxz] {
    width: 100%;
    min-height: 0;
    flex: 1;
    padding: clamp(28px, 4vw, 58px);
    overflow-y: auto;
    background: #ffffff;
}

.parent-sidebar-backdrop[b-dtyt54urxz] {
    display: none;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {
    .parent-sidebar[b-dtyt54urxz] {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 50;
        width: min(330px, 84vw);
        height: 100dvh;
        padding: 20px 18px 18px;
        display: flex;
        align-items: stretch;
        flex-direction: column;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        transform: translateX(-105%);
        transition: transform 180ms ease;
        box-shadow: 12px 0 25px rgba(0, 0, 0, 0.20);
        -webkit-overflow-scrolling: touch;
    }

    .parent-sidebar--open[b-dtyt54urxz] {
        transform: translateX(0);
    }

    .parent-profile[b-dtyt54urxz] {
        flex-shrink: 0;
    }

    .parent-avatar[b-dtyt54urxz] {
        width: 92px;
        height: 92px;
        font-size: 31px;
    }

    .parent-profile strong[b-dtyt54urxz] {
        margin-top: 10px;
        font-size: 17px;
    }

    .parent-navigation[b-dtyt54urxz] {
        margin: 18px 0;
        align-self: stretch;
        flex-shrink: 0;
        gap: 4px;
    }

    [b-dtyt54urxz] .parent-nav-link {
        min-height: 42px;
        padding: 8px 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        line-height: 1.15;
    }

    .parent-sidebar-footer[b-dtyt54urxz] {
        margin-top: auto;
        flex-shrink: 0;
        gap: 10px;
    }

    .parent-logout-button[b-dtyt54urxz] {
        min-height: 40px;
        padding: 7px 12px;
        font-size: 16px;
    }

    .parent-logo[b-dtyt54urxz] {
        width: 118px;
        height: 118px;
    }

    .parent-sidebar-backdrop[b-dtyt54urxz] {
        position: fixed;
        inset: 0;
        z-index: 40;
        display: block;
        border: 0;
        background: rgba(0, 0, 0, 0.32);
    }

    .parent-mobile-header[b-dtyt54urxz] {
        min-height: 62px;
        padding: 10px 18px;
        display: flex;
        align-items: center;
        gap: 14px;
        flex-shrink: 0;
        border-bottom: 2px solid #d7ebc8;
        background: var(--parent-green);
        color: #ffffff;
    }

    .parent-menu-button[b-dtyt54urxz] {
        width: 42px;
        height: 42px;
        flex-shrink: 0;
        border: 0;
        border-radius: 10px;
        background: #ffffff;
        color: var(--parent-green-dark);
        font-size: 24px;
        cursor: pointer;
    }

    .parent-mobile-header strong[b-dtyt54urxz] {
        min-width: 0;
        font-size: 15px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .parent-content[b-dtyt54urxz] {
        padding: 24px 17px 40px;
    }
}

@media (max-width: 900px) and (max-height: 700px) {
    .parent-sidebar[b-dtyt54urxz] {
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .parent-avatar[b-dtyt54urxz] {
        width: 72px;
        height: 72px;
        font-size: 25px;
    }

    .parent-profile strong[b-dtyt54urxz] {
        margin-top: 7px;
        font-size: 15px;
    }

    .parent-navigation[b-dtyt54urxz] {
        margin: 12px 0;
        gap: 2px;
    }

    [b-dtyt54urxz] .parent-nav-link {
        min-height: 36px;
        padding: 6px 9px;
        font-size: 16px;
    }

    .parent-logout-button[b-dtyt54urxz] {
        min-height: 36px;
        font-size: 14px;
    }

    .parent-logo[b-dtyt54urxz] {
        width: 86px;
        height: 86px;
    }
}

@media (max-height: 760px) and (min-width: 901px) {
    .parent-avatar[b-dtyt54urxz] {
        width: 105px;
        height: 105px;
        font-size: 36px;
    }

    .parent-profile strong[b-dtyt54urxz] {
        margin-top: 12px;
        font-size: 18px;
    }

    [b-dtyt54urxz] .parent-nav-link {
        font-size: 19px;
    }

    .parent-sidebar-footer[b-dtyt54urxz] {
        gap: 10px;
    }

    .parent-logout-button[b-dtyt54urxz] {
        min-height: 38px;
        font-size: 16px;
    }

    .parent-logo[b-dtyt54urxz] {
        width: 150px;
        height: 150px;
    }
}
/* /Layout/ProfesorLayout.razor.rz.scp.css */
/* =========================================================
   LAYOUT DEL PORTAL DE PROFESORAS
   ========================================================= */

.teacher-shell[b-a0o3k478ef],
.teacher-shell *[b-a0o3k478ef] {
    box-sizing: border-box;
}

.teacher-shell[b-a0o3k478ef] {
    --teacher-gold: #c7a200;
    --teacher-gold-dark: #8b7200;
    --teacher-gold-soft: #eadb91;
    --teacher-gold-border: #dfcb68;
    width: 100%;
    height: 100dvh;
    display: flex;
    overflow: hidden;
    background: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}

.teacher-main-container[b-a0o3k478ef] {
    min-width: 0;
    min-height: 0;
    height: 100dvh;
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #ffffff;
}

.teacher-mobile-header[b-a0o3k478ef] {
    display: none;
}

.teacher-main[b-a0o3k478ef] {
    width: 100%;
    min-width: 0;
    min-height: 0;
    flex: 1;
    padding: clamp(28px, 4vw, 58px);
    overflow-x: hidden;
    overflow-y: auto;
    background: #ffffff;
}

    .teacher-main > *[b-a0o3k478ef] {
        max-width: 100%;
    }

.teacher-sidebar-backdrop[b-a0o3k478ef] {
    display: none;
}

/* =========================================================
   TABLET Y MÓVIL
   ========================================================= */

@media (max-width: 900px) {
    .teacher-main-container[b-a0o3k478ef] {
        width: 100%;
    }

    .teacher-sidebar-backdrop[b-a0o3k478ef] {
        position: fixed;
        inset: 0;
        z-index: 40;
        display: block;
        padding: 0;
        border: 0;
        background: rgba(0, 0, 0, 0.34);
        cursor: pointer;
    }

    .teacher-mobile-header[b-a0o3k478ef] {
        width: 100%;
        min-height: 62px;
        padding: 10px 18px;
        display: flex;
        align-items: center;
        gap: 14px;
        flex-shrink: 0;
        border-bottom: 2px solid var(--teacher-gold-border);
        background: var(--teacher-gold);
        color: #ffffff;
    }

    .teacher-menu-button[b-a0o3k478ef] {
        width: 42px;
        height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        padding: 0;
        border: 0;
        border-radius: 10px;
        background: #ffffff;
        color: var(--teacher-gold-dark);
        font-family: inherit;
        font-size: 24px;
        font-weight: 900;
        line-height: 1;
        cursor: pointer;
    }

    .teacher-mobile-header strong[b-a0o3k478ef] {
        min-width: 0;
        font-size: 15px;
        font-weight: 800;
        overflow-wrap: anywhere;
    }

    .teacher-main[b-a0o3k478ef] {
        padding: 24px 17px 40px;
    }
}

@media (max-width: 520px) {
    .teacher-mobile-header[b-a0o3k478ef] {
        min-height: 58px;
        padding: 8px 12px;
    }

    .teacher-menu-button[b-a0o3k478ef] {
        width: 40px;
        height: 40px;
    }

    .teacher-mobile-header strong[b-a0o3k478ef] {
        font-size: 14px;
    }

    .teacher-main[b-a0o3k478ef] {
        padding: 20px 12px 34px;
    }
}
/* /Pages/Admin/Asistencias.razor.rz.scp.css */
/* =========================================================
   HISTÓRICO DE ASISTENCIAS - ADMINISTRADOR
   ========================================================= */

.admin-attendance-page[b-fpz6iuutoo],
.admin-attendance-page *[b-fpz6iuutoo] {
    box-sizing: border-box;
}

.admin-attendance-page[b-fpz6iuutoo] {
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.admin-attendance-header[b-fpz6iuutoo] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.admin-attendance-header span[b-fpz6iuutoo] {
    color: #6879df;
    font-size: 12px;
    font-weight: 900;
}

.admin-attendance-header h1[b-fpz6iuutoo] {
    margin: 7px 0 6px;
    color: #111111;
    font-size: clamp(34px, 4.3vw, 56px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.admin-attendance-header p[b-fpz6iuutoo] {
    margin: 0;
    color: #666666;
}

.admin-attendance-filter-button[b-fpz6iuutoo],
.admin-attendance-apply-button[b-fpz6iuutoo],
.admin-attendance-clear-button[b-fpz6iuutoo],
.admin-attendance-error button[b-fpz6iuutoo] {
    min-height: 43px;
    padding: 9px 20px;
    border-radius: 23px;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}

.admin-attendance-filter-button[b-fpz6iuutoo],
.admin-attendance-apply-button[b-fpz6iuutoo] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.admin-attendance-clear-button[b-fpz6iuutoo],
.admin-attendance-error button[b-fpz6iuutoo] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

.admin-attendance-divider[b-fpz6iuutoo] {
    width: 100%;
    height: clamp(14px, 1.5vw, 20px);
    margin-top: 16px;
    border-radius: 14px;
    background: #91a2ff;
}

.admin-attendance-filters[b-fpz6iuutoo] {
    margin-top: 17px;
    padding: 20px;
    display: grid;
    grid-template-columns:
        repeat(3, minmax(180px, 1fr));
    gap: 17px;
    border: 2px solid #d9ddff;
    border-radius: 14px;
    background: #f7f8ff;
}

.admin-attendance-filter-field[b-fpz6iuutoo] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.admin-attendance-filter-field label[b-fpz6iuutoo] {
    color: #333333;
    font-size: 12px;
    font-weight: 800;
}

.admin-attendance-filter-field select[b-fpz6iuutoo],
.admin-attendance-filter-field input[b-fpz6iuutoo] {
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
}

.admin-attendance-filter-field select:focus[b-fpz6iuutoo],
.admin-attendance-filter-field input:focus[b-fpz6iuutoo] {
    border-color: #91a2ff;
    box-shadow:
        0 0 0 3px
        rgba(145, 162, 255, 0.18);
}

.admin-attendance-check[b-fpz6iuutoo] {
    min-height: 44px;
    padding: 10px 13px;
    display: flex;
    align-items: center;
    gap: 9px;
    align-self: end;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    background: #ffffff;
    color: #333333;
    font-size: 13px;
    font-weight: 800;
}

.admin-attendance-check input[b-fpz6iuutoo] {
    width: 18px;
    height: 18px;
}

.admin-attendance-filter-actions[b-fpz6iuutoo] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    align-self: end;
}

.admin-attendance-statistics[b-fpz6iuutoo] {
    margin: 21px 0 18px;
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 13px;
}

.admin-attendance-statistics article[b-fpz6iuutoo] {
    padding: 17px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    border: 3px solid #91a2ff;
    border-radius: 13px;
    background: #f7f8ff;
}

.admin-attendance-statistics span[b-fpz6iuutoo] {
    color: #6879df;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-attendance-statistics strong[b-fpz6iuutoo] {
    color: #111111;
    font-size: 29px;
}

.admin-attendance-list[b-fpz6iuutoo] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.admin-attendance-card[b-fpz6iuutoo] {
    padding: 18px;
    display: flex;
    align-items: stretch;
    gap: 18px;
    border: 3px solid #91a2ff;
    border-radius: 15px;
    background: #f7f8ff;
}

.admin-attendance-date[b-fpz6iuutoo] {
    width: 78px;
    min-height: 92px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    flex-shrink: 0;
    border-radius: 12px;
    background: #ffffff;
    color: #6273da;
}

.admin-attendance-date strong[b-fpz6iuutoo] {
    font-size: 31px;
    line-height: 1;
}

.admin-attendance-date span[b-fpz6iuutoo] {
    margin-top: 4px;
    font-size: 12px;
    font-weight: 900;
}

.admin-attendance-date small[b-fpz6iuutoo] {
    margin-top: 2px;
    color: #666666;
}

.admin-attendance-information[b-fpz6iuutoo] {
    min-width: 0;
    flex: 1;
}

.admin-attendance-title[b-fpz6iuutoo] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.admin-attendance-title > div:first-child[b-fpz6iuutoo] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.admin-attendance-title > div:first-child strong[b-fpz6iuutoo] {
    color: #111111;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 900;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.admin-attendance-title > div:first-child span[b-fpz6iuutoo] {
    color: #666666;
    font-size: 13px;
}

.admin-attendance-badges[b-fpz6iuutoo] {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 7px;
    flex-shrink: 0;
}

.admin-attendance-status[b-fpz6iuutoo],
.admin-attendance-inactive[b-fpz6iuutoo] {
    padding: 6px 10px;
    border-radius: 15px;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-attendance-status--present[b-fpz6iuutoo] {
    background: #dff4d7;
    color: #347a20;
}

.admin-attendance-status--absent[b-fpz6iuutoo] {
    background: #ffe0e0;
    color: #a12626;
}

.admin-attendance-status--late[b-fpz6iuutoo] {
    background: #fff0ce;
    color: #96620b;
}

.admin-attendance-status--early[b-fpz6iuutoo] {
    background: #e3e9ff;
    color: #3e5ab3;
}

.admin-attendance-status--justified[b-fpz6iuutoo] {
    background: #eee4ff;
    color: #6d45aa;
}

.admin-attendance-inactive[b-fpz6iuutoo] {
    background: #eeeeee;
    color: #555555;
}

.admin-attendance-details[b-fpz6iuutoo] {
    margin-top: 17px;
    padding-top: 15px;
    display: grid;
    grid-template-columns:
        minmax(90px, 0.5fr)
        minmax(90px, 0.5fr)
        minmax(180px, 1fr)
        minmax(230px, 1.5fr);
    gap: 16px;
    border-top: 2px solid #d9ddff;
}

.admin-attendance-details > div[b-fpz6iuutoo] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.admin-attendance-details span[b-fpz6iuutoo] {
    color: #666666;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.admin-attendance-details strong[b-fpz6iuutoo] {
    color: #111111;
    line-height: 1.45;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.admin-attendance-message[b-fpz6iuutoo],
.admin-attendance-empty[b-fpz6iuutoo],
.admin-attendance-error[b-fpz6iuutoo] {
    margin-top: 20px;
    padding: 24px;
    border-radius: 13px;
    text-align: center;
}

.admin-attendance-message[b-fpz6iuutoo],
.admin-attendance-empty[b-fpz6iuutoo] {
    background: #f7f8ff;
    color: #666666;
}

.admin-attendance-error[b-fpz6iuutoo] {
    background: #fff0f0;
    color: #a61b1b;
}

.admin-attendance-error p[b-fpz6iuutoo] {
    margin: 7px 0 17px;
}

button:disabled[b-fpz6iuutoo],
select:disabled[b-fpz6iuutoo],
input:disabled[b-fpz6iuutoo] {
    cursor: not-allowed;
    opacity: 0.6;
}

@media (max-width: 1050px) {
    .admin-attendance-filters[b-fpz6iuutoo] {
        grid-template-columns:
            repeat(2, minmax(180px, 1fr));
    }

    .admin-attendance-details[b-fpz6iuutoo] {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .admin-attendance-observation[b-fpz6iuutoo] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .admin-attendance-header[b-fpz6iuutoo] {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-attendance-filter-button[b-fpz6iuutoo] {
        width: 100%;
    }

    .admin-attendance-filters[b-fpz6iuutoo],
    .admin-attendance-statistics[b-fpz6iuutoo] {
        grid-template-columns: 1fr;
    }

    .admin-attendance-filter-actions[b-fpz6iuutoo] {
        flex-direction: column;
    }

    .admin-attendance-filter-actions button[b-fpz6iuutoo] {
        width: 100%;
    }

    .admin-attendance-card[b-fpz6iuutoo] {
        align-items: flex-start;
    }

    .admin-attendance-title[b-fpz6iuutoo] {
        flex-direction: column;
    }

    .admin-attendance-badges[b-fpz6iuutoo] {
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
    }
}

@media (max-width: 540px) {
    .admin-attendance-card[b-fpz6iuutoo] {
        flex-direction: column;
    }

    .admin-attendance-date[b-fpz6iuutoo] {
        width: 100%;
        min-height: auto;
        flex-direction: row;
        gap: 7px;
    }

    .admin-attendance-details[b-fpz6iuutoo] {
        grid-template-columns: 1fr;
    }

    .admin-attendance-observation[b-fpz6iuutoo] {
        grid-column: auto;
    }
}
/* /Pages/Admin/AulaDetalle.razor.rz.scp.css */
/* =========================================================
   CONTENEDOR PRINCIPAL
   ========================================================= */

.aula-detail-page[b-j1zs1y7o05],
.aula-detail-page *[b-j1zs1y7o05] {
    box-sizing: border-box;
}

.aula-detail-page[b-j1zs1y7o05] {
    width: 100%;
    max-width: none;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.aula-detail-header[b-j1zs1y7o05] {
    width: 100%;
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}

    .aula-detail-header h1[b-j1zs1y7o05] {
        margin: 12px 0 6px;
        color: #000000;
        font-size: clamp(31px, 3vw, 46px);
        font-weight: 900;
        line-height: 1.05;
        text-transform: uppercase;
    }

    .aula-detail-header p[b-j1zs1y7o05] {
        margin: 0;
        color: #666666;
        font-size: 16px;
    }

.aula-back-button[b-j1zs1y7o05] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #6879df;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

    .aula-back-button:hover[b-j1zs1y7o05] {
        text-decoration: underline;
    }


/* =========================================================
   BOTONES
   ========================================================= */

.aula-primary-button[b-j1zs1y7o05],
.aula-secondary-button[b-j1zs1y7o05],
.aula-edit-button[b-j1zs1y7o05] {
    min-height: 42px;
    padding: 10px 22px;
    border-radius: 22px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.aula-primary-button[b-j1zs1y7o05],
.aula-edit-button[b-j1zs1y7o05] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.aula-secondary-button[b-j1zs1y7o05] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

    .aula-primary-button:hover[b-j1zs1y7o05],
    .aula-secondary-button:hover[b-j1zs1y7o05],
    .aula-edit-button:hover[b-j1zs1y7o05] {
        opacity: 0.85;
        transform: translateY(-1px);
    }

    .aula-primary-button:disabled[b-j1zs1y7o05],
    .aula-secondary-button:disabled[b-j1zs1y7o05],
    .aula-edit-button:disabled[b-j1zs1y7o05] {
        cursor: not-allowed;
        opacity: 0.55;
        transform: none;
    }


/* =========================================================
   TARJETAS
   ========================================================= */

.aula-detail-card[b-j1zs1y7o05] {
    width: 100%;
    margin-bottom: 22px;
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid #91a2ff;
    border-radius: 17px;
    background: #f7f8ff;
}

.aula-card-header[b-j1zs1y7o05] {
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

    .aula-card-header h2[b-j1zs1y7o05] {
        margin: 0;
        color: #000000;
        font-size: clamp(22px, 2vw, 29px);
        font-weight: 900;
        text-transform: uppercase;
    }


/* =========================================================
   ESTADO DEL AULA
   ========================================================= */

.aula-status[b-j1zs1y7o05] {
    padding: 7px 15px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.aula-status--active[b-j1zs1y7o05] {
    background: #dff5d3;
    color: #34721f;
}

.aula-status--inactive[b-j1zs1y7o05] {
    background: #ffe0e0;
    color: #a12626;
}


/* =========================================================
   INFORMACIÓN GENERAL
   ========================================================= */

.aula-information-grid[b-j1zs1y7o05] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 35px;
}

.aula-information-item[b-j1zs1y7o05] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.aula-information-item--full[b-j1zs1y7o05] {
    grid-column: 1 / -1;
}

.aula-information-label[b-j1zs1y7o05] {
    color: #737373;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.aula-information-item strong[b-j1zs1y7o05],
.aula-information-item p[b-j1zs1y7o05] {
    margin: 0;
    color: #111111;
    font-size: 18px;
    line-height: 1.45;
}

.aula-information-item strong[b-j1zs1y7o05] {
    font-weight: 800;
}

.aula-information-item p[b-j1zs1y7o05] {
    font-weight: 400;
}


/* =========================================================
   FORMULARIO DE EDICIÓN
   ========================================================= */

.aula-edit-form[b-j1zs1y7o05] {
    width: 100%;
}

.aula-form-grid[b-j1zs1y7o05] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 28px;
}

.aula-form-field[b-j1zs1y7o05] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.aula-form-field--full[b-j1zs1y7o05] {
    grid-column: 1 / -1;
}

.aula-form-field label[b-j1zs1y7o05],
.aula-form-label[b-j1zs1y7o05] {
    color: #222222;
    font-size: 14px;
    font-weight: 800;
}

/* Los componentes InputText, InputNumber, InputSelect e InputTextArea
   generan el elemento HTML dentro de un componente hijo. ::deep permite
   que el CSS aislado de AulaDetalle también alcance esos elementos. */
.aula-form-control[b-j1zs1y7o05],
[b-j1zs1y7o05] .aula-form-control {
    width: 100%;
    min-height: 45px;
    padding: 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
    transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .aula-form-control:hover[b-j1zs1y7o05],
    [b-j1zs1y7o05] .aula-form-control:hover {
        border-color: #b9c0f3;
    }

    .aula-form-control:focus[b-j1zs1y7o05],
    [b-j1zs1y7o05] .aula-form-control:focus {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

    .aula-form-control[b-j1zs1y7o05]::placeholder,
    [b-j1zs1y7o05] .aula-form-control::placeholder {
        color: #aaaaaa;
    }

.aula-form-textarea[b-j1zs1y7o05],
[b-j1zs1y7o05] .aula-form-textarea {
    min-height: 115px;
    resize: vertical;
    line-height: 1.45;
}

/* Validaciones visuales de Blazor */
.aula-form-control.invalid[b-j1zs1y7o05],
[b-j1zs1y7o05] .aula-form-control.invalid {
    border-color: #dc3545;
    background: #fffafa;
}

.aula-form-control.valid.modified[b-j1zs1y7o05],
[b-j1zs1y7o05] .aula-form-control.valid.modified {
    border-color: #46b565;
}

.aula-form-field--status[b-j1zs1y7o05] {
    justify-content: flex-end;
}

.aula-checkbox[b-j1zs1y7o05] {
    min-height: 45px;
    padding: 10px 13px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    background: #ffffff;
}

    .aula-checkbox input[b-j1zs1y7o05],
    [b-j1zs1y7o05] .aula-checkbox input {
        width: 18px;
        height: 18px;
        margin: 0;
        accent-color: #91a2ff;
        cursor: pointer;
    }

.aula-form-field .validation-message[b-j1zs1y7o05] {
    color: #b42318;
    font-size: 12px;
}

.aula-form-actions[b-j1zs1y7o05] {
    margin-top: 28px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}


/* =========================================================
   PROFESORA PRINCIPAL
   ========================================================= */

.aula-teacher-section[b-j1zs1y7o05] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.aula-teacher-summary[b-j1zs1y7o05] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 18px;
    flex: 1;
}

.aula-teacher-avatar[b-j1zs1y7o05],
.aula-student-avatar[b-j1zs1y7o05] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #91a2ff;
    color: #ffffff;
    font-weight: 900;
}

.aula-teacher-avatar[b-j1zs1y7o05] {
    width: 66px;
    height: 66px;
    font-size: 24px;
}

.aula-teacher-information[b-j1zs1y7o05] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

    .aula-teacher-information span[b-j1zs1y7o05] {
        color: #777777;
        font-size: 13px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .aula-teacher-information strong[b-j1zs1y7o05] {
        color: #111111;
        font-size: 19px;
        font-weight: 700;
        overflow-wrap: anywhere;
    }

.aula-pending-note[b-j1zs1y7o05] {
    margin: 16px 0 0;
    color: #888888;
    font-size: 13px;
}


/* =========================================================
   NIÑOS
   ========================================================= */

.aula-student-count[b-j1zs1y7o05] {
    padding: 7px 14px;
    border-radius: 18px;
    background: #e5e8ff;
    color: #5667cd;
    font-size: 14px;
    font-weight: 800;
}

.aula-students-list[b-j1zs1y7o05] {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.aula-student-row[b-j1zs1y7o05] {
    width: 100%;
    padding: 14px 17px;
    display: flex;
    align-items: center;
    gap: 14px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
}

.aula-student-avatar[b-j1zs1y7o05] {
    width: 45px;
    height: 45px;
    font-size: 16px;
}

.aula-student-information[b-j1zs1y7o05] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

    .aula-student-information strong[b-j1zs1y7o05] {
        color: #111111;
        font-size: 16px;
        font-weight: 800;
    }

    .aula-student-information span[b-j1zs1y7o05] {
        color: #777777;
        font-size: 13px;
    }

.aula-empty-students[b-j1zs1y7o05] {
    padding: 25px;
    border-radius: 12px;
    background: #ffffff;
    color: #666666;
    text-align: center;
}


/* =========================================================
   MENSAJES
   ========================================================= */

.aula-detail-message[b-j1zs1y7o05],
.aula-detail-error[b-j1zs1y7o05],
.aula-detail-success[b-j1zs1y7o05] {
    width: 100%;
    margin-bottom: 20px;
    padding: 20px;
    border-radius: 12px;
    text-align: center;
}

.aula-detail-message[b-j1zs1y7o05] {
    background: #f3f4ff;
    color: #444444;
}

.aula-detail-error[b-j1zs1y7o05] {
    background: #fff0f0;
    color: #a61b1b;
}

    .aula-detail-error p[b-j1zs1y7o05] {
        margin: 8px 0 0;
    }

.aula-detail-error--compact[b-j1zs1y7o05] {
    padding: 14px 18px;
}

.aula-detail-success[b-j1zs1y7o05] {
    background: #e9f8e3;
    color: #326f21;
    font-weight: 700;
}

.aula-detail-error-actions[b-j1zs1y7o05] {
    margin-top: 18px;
    display: flex;
    justify-content: center;
    gap: 12px;
}


/* =========================================================
   TABLETAS
   ========================================================= */

@media (max-width: 900px) {
    .aula-detail-header[b-j1zs1y7o05] {
        align-items: flex-start;
        flex-direction: column;
    }

    .aula-information-grid[b-j1zs1y7o05],
    .aula-form-grid[b-j1zs1y7o05] {
        grid-template-columns: 1fr;
    }

    .aula-information-item--full[b-j1zs1y7o05],
    .aula-form-field--full[b-j1zs1y7o05] {
        grid-column: auto;
    }
}


/* =========================================================
   TELÉFONOS
   ========================================================= */

@media (max-width: 768px) {
    .aula-detail-page[b-j1zs1y7o05] {
        margin-top: 0;
    }

    .aula-detail-header h1[b-j1zs1y7o05] {
        font-size: 29px;
    }

    .aula-edit-button[b-j1zs1y7o05] {
        width: 100%;
    }

    .aula-detail-card[b-j1zs1y7o05] {
        padding: 20px 17px;
    }

    .aula-card-header[b-j1zs1y7o05] {
        align-items: flex-start;
        flex-direction: column;
    }

    .aula-teacher-section[b-j1zs1y7o05] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

        .aula-teacher-section .aula-secondary-button[b-j1zs1y7o05] {
            width: 100%;
        }

    .aula-form-actions[b-j1zs1y7o05] {
        align-items: stretch;
        flex-direction: column-reverse;
    }

        .aula-form-actions button[b-j1zs1y7o05] {
            width: 100%;
        }
}


/* =========================================================
   TELÉFONOS MUY PEQUEÑOS
   ========================================================= */

@media (max-width: 480px) {
    .aula-detail-header h1[b-j1zs1y7o05] {
        font-size: 25px;
    }

    .aula-card-header h2[b-j1zs1y7o05] {
        font-size: 20px;
    }

    .aula-information-item strong[b-j1zs1y7o05],
    .aula-information-item p[b-j1zs1y7o05] {
        font-size: 16px;
    }

    .aula-student-row[b-j1zs1y7o05] {
        align-items: flex-start;
    }
}

/* =========================================================
   FORMULARIO PARA ASIGNAR O CAMBIAR LA SEÑO
   ========================================================= */

.aula-teacher-editor[b-j1zs1y7o05] {
    width: 100%;
    margin-top: 24px;
    padding-top: 22px;
    border-top: 2px solid #e0e3fa;
}

.aula-teacher-form-grid[b-j1zs1y7o05] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr);
    gap: 20px;
}

.aula-teacher-actions[b-j1zs1y7o05] {
    margin-top: 22px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.aula-teacher-loading[b-j1zs1y7o05] {
    padding: 18px;
    border-radius: 10px;
    background: #ffffff;
    color: #666666;
    text-align: center;
}

.aula-teacher-error[b-j1zs1y7o05] {
    margin-top: 16px;
    padding: 13px 16px;
    border-radius: 10px;
    background: #fff0f0;
    color: #a61b1b;
    font-size: 14px;
    font-weight: 700;
}

@media (max-width: 768px) {
    .aula-teacher-form-grid[b-j1zs1y7o05] {
        grid-template-columns: 1fr;
    }

    .aula-teacher-actions[b-j1zs1y7o05] {
        align-items: stretch;
        flex-direction: column-reverse;
    }

        .aula-teacher-actions button[b-j1zs1y7o05] {
            width: 100%;
        }
}

.aula-header-actions[b-j1zs1y7o05] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.aula-deactivate-button[b-j1zs1y7o05],
.aula-danger-button[b-j1zs1y7o05] {
    min-height: 43px;
    padding: 10px 22px;
    border: 2px solid #d64a4a;
    border-radius: 24px;
    background: #ffffff;
    color: #bd2f2f;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.aula-danger-button[b-j1zs1y7o05] {
    background: #d64a4a;
    color: #ffffff;
}

.aula-deactivation-confirmation[b-j1zs1y7o05] {
    width: 100%;
    margin-bottom: 22px;
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    border: 2px solid #e5a1a1;
    border-radius: 14px;
    background: #fff5f5;
}

    .aula-deactivation-confirmation strong[b-j1zs1y7o05] {
        color: #992020;
        font-size: 17px;
    }

    .aula-deactivation-confirmation p[b-j1zs1y7o05] {
        margin: 6px 0 0;
        color: #6d4444;
        font-size: 14px;
    }

.aula-deactivation-actions[b-j1zs1y7o05] {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .aula-header-actions[b-j1zs1y7o05],
    .aula-deactivation-confirmation[b-j1zs1y7o05],
    .aula-deactivation-actions[b-j1zs1y7o05] {
        align-items: stretch;
        flex-direction: column;
    }

        .aula-header-actions button[b-j1zs1y7o05],
        .aula-deactivation-actions button[b-j1zs1y7o05] {
            width: 100%;
        }
}

/* =========================================================
   ACCIONES DE LA SEÑO
   ========================================================= */

.aula-teacher-main-actions[b-j1zs1y7o05] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.aula-remove-teacher-button[b-j1zs1y7o05] {
    min-height: 43px;
    padding: 10px 22px;
    border: 2px solid #d64a4a;
    border-radius: 24px;
    background: #ffffff;
    color: #bd2f2f;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease;
}

    .aula-remove-teacher-button:hover[b-j1zs1y7o05] {
        opacity: 0.82;
        transform: translateY(-1px);
    }


/* =========================================================
   CONFIRMACIÓN PARA QUITAR LA SEÑO
   ========================================================= */

.aula-remove-teacher-confirmation[b-j1zs1y7o05] {
    width: 100%;
    margin-top: 22px;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border: 2px solid #e39a9a;
    border-radius: 14px;
    background: #fff6f6;
}

.aula-remove-teacher-message[b-j1zs1y7o05] {
    min-width: 0;
    flex: 1;
}

    .aula-remove-teacher-message strong[b-j1zs1y7o05] {
        color: #991d1d;
        font-size: 17px;
        font-weight: 800;
    }

    .aula-remove-teacher-message p[b-j1zs1y7o05] {
        margin: 6px 0 0;
        color: #6d4444;
        font-size: 14px;
        line-height: 1.4;
    }

.aula-remove-teacher-actions[b-j1zs1y7o05] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.aula-danger-button[b-j1zs1y7o05] {
    min-height: 43px;
    padding: 10px 22px;
    border: 2px solid #d64a4a;
    border-radius: 24px;
    background: #d64a4a;
    color: #ffffff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

    .aula-danger-button:disabled[b-j1zs1y7o05],
    .aula-remove-teacher-button:disabled[b-j1zs1y7o05] {
        cursor: not-allowed;
        opacity: 0.55;
    }


/* =========================================================
   AJUSTES RESPONSIVE DE LA SEÑO
   ========================================================= */

@media (max-width: 768px) {
    .aula-teacher-section[b-j1zs1y7o05] {
        align-items: stretch;
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .aula-teacher-summary[b-j1zs1y7o05] {
        width: 100%;
    }

    .aula-teacher-main-actions[b-j1zs1y7o05] {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

        .aula-teacher-main-actions button[b-j1zs1y7o05] {
            width: 100%;
        }

    .aula-remove-teacher-confirmation[b-j1zs1y7o05] {
        align-items: stretch;
        flex-direction: column;
    }

    .aula-remove-teacher-actions[b-j1zs1y7o05] {
        align-items: stretch;
        flex-direction: column;
    }

        .aula-remove-teacher-actions button[b-j1zs1y7o05] {
            width: 100%;
        }
}
/* /Pages/Admin/Aulas.razor.rz.scp.css */
/* =========================================================
   CONFIGURACIÓN GENERAL DE LA PÁGINA
   ========================================================= */

.aulas-page[b-ic1w7ptump],
.aulas-page *[b-ic1w7ptump] {
    box-sizing: border-box;
}

.aulas-page[b-ic1w7ptump] {
    width: 100%;
    max-width: none;
    margin: 20px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.aulas-header[b-ic1w7ptump] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

    .aulas-header h1[b-ic1w7ptump] {
        margin: 0;
        color: #000000;
        font-size: clamp(30px, 2.6vw, 40px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

.aulas-header-actions[b-ic1w7ptump] {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
}


/* =========================================================
   BOTÓN DE FILTROS
   ========================================================= */

.aulas-filter-button[b-ic1w7ptump] {
    min-width: 130px;
    height: clamp(40px, 3.5vw, 48px);
    padding: 0 24px;
    border: 0;
    border-radius: 30px;
    background: #91a2ff;
    color: #ffffff;
    font-family: inherit;
    font-size: clamp(14px, 1.2vw, 17px);
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 150ms ease, opacity 150ms ease, box-shadow 150ms ease;
}

    .aulas-filter-button:hover[b-ic1w7ptump] {
        opacity: 0.88;
        transform: translateY(-1px);
        box-shadow: 0 5px 12px rgba(91, 111, 230, 0.20);
    }

    .aulas-filter-button:focus-visible[b-ic1w7ptump] {
        outline: 3px solid rgba(74, 97, 230, 0.30);
        outline-offset: 3px;
    }


/* =========================================================
   BOTÓN DE AGREGAR AULA
   ========================================================= */

.aulas-add-button[b-ic1w7ptump] {
    width: clamp(58px, 4.5vw, 72px);
    height: clamp(40px, 3.5vw, 48px);
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 0;
    border-radius: 30px;
    background: #91a2ff;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(34px, 3vw, 43px);
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: transform 150ms ease, opacity 150ms ease, box-shadow 150ms ease;
}

    .aulas-add-button:hover[b-ic1w7ptump] {
        opacity: 0.88;
        transform: scale(1.04);
        box-shadow: 0 5px 12px rgba(91, 111, 230, 0.25);
    }

    .aulas-add-button:active[b-ic1w7ptump] {
        transform: scale(0.98);
    }

    .aulas-add-button:focus-visible[b-ic1w7ptump] {
        outline: 3px solid rgba(74, 97, 230, 0.3);
        outline-offset: 3px;
    }


/* =========================================================
   LÍNEA DIVISORA
   ========================================================= */

.aulas-divider[b-ic1w7ptump] {
    width: 100%;
    height: clamp(14px, 1.5vw, 20px);
    margin-top: 16px;
    border-radius: 14px;
    background: #91a2ff;
}


/* =========================================================
   PANEL DE FILTROS
   ========================================================= */

.aulas-filter-panel[b-ic1w7ptump] {
    width: 100%;
    margin-top: 16px;
    padding: 18px 22px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    border: 2px solid #d9ddff;
    border-radius: 13px;
    background: #f7f8ff;
}

.aulas-filter-field[b-ic1w7ptump] {
    width: min(100%, 600px);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .aulas-filter-field label[b-ic1w7ptump] {
        color: #222222;
        font-size: 14px;
        font-weight: 800;
    }

.aulas-search-wrapper[b-ic1w7ptump] {
    position: relative;
    width: 100%;
}

.aulas-search-input[b-ic1w7ptump] {
    width: 100%;
    min-height: 45px;
    padding: 10px 48px 10px 14px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

    .aulas-search-input[b-ic1w7ptump]::placeholder {
        color: #aaaaaa;
    }

    .aulas-search-input:focus[b-ic1w7ptump] {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

.aulas-clear-search[b-ic1w7ptump] {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 28px;
    height: 28px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    transform: translateY(-50%);
    background: #eef0ff;
    color: #6474d8;
    font-family: inherit;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
}

    .aulas-clear-search:hover[b-ic1w7ptump] {
        background: #e1e5ff;
    }

.aulas-result-count[b-ic1w7ptump] {
    flex-shrink: 0;
    color: #6879df;
    font-size: 14px;
    font-weight: 800;
}


/* =========================================================
   CONTENEDOR DEL LISTADO
   ========================================================= */

.aulas-list[b-ic1w7ptump] {
    width: 100%;
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}


/* =========================================================
   TARJETA INDIVIDUAL DE CADA AULA
   ========================================================= */

.aula-card[b-ic1w7ptump] {
    width: 100%;
    min-height: 92px;
    padding: 20px clamp(20px, 2.5vw, 34px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    border: 4px solid #91a2ff;
    border-radius: 14px;
    background: #d7ddff;
    transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .aula-card:hover[b-ic1w7ptump] {
        transform: translateY(-1px);
        background: #dfe3ff;
        box-shadow: 0 6px 14px rgba(87, 102, 185, 0.13);
    }


/* =========================================================
   INFORMACIÓN DEL AULA Y PROFESORA
   ========================================================= */

.aula-card-info[b-ic1w7ptump] {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 9px;
    color: #000000;
    font-size: clamp(22px, 2vw, 31px);
    line-height: 1.25;
    text-transform: uppercase;
}

.aula-card-name[b-ic1w7ptump] {
    min-width: 0;
    font-size: inherit;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.aula-separator[b-ic1w7ptump] {
    flex-shrink: 0;
    font-size: inherit;
    font-weight: 400;
}

.aula-card-teacher[b-ic1w7ptump] {
    min-width: 0;
    font-size: inherit;
    font-weight: 400;
    overflow-wrap: anywhere;
}


/* =========================================================
   BOTÓN VER
   ========================================================= */

.aula-view-button[b-ic1w7ptump] {
    width: 46px;
    height: 46px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid #6273da;
    border-radius: 50%;
    background: #ffffff;
    color: #6273da;
    cursor: pointer;
    transition:
        background-color 150ms ease,
        color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

.aula-view-button svg[b-ic1w7ptump] {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.aula-view-button:hover[b-ic1w7ptump] {
    background: #6273da;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 13px rgba(98, 115, 218, 0.24);
}

.aula-view-button:active[b-ic1w7ptump] {
    transform: translateY(0);
}

.aula-view-button:focus-visible[b-ic1w7ptump] {
    outline: 3px solid rgba(98, 115, 218, 0.28);
    outline-offset: 3px;
}


/* =========================================================
   ESTADOS DE CARGA, ERROR Y LISTADO VACÍO
   ========================================================= */

.aulas-message[b-ic1w7ptump],
.aulas-empty[b-ic1w7ptump],
.aulas-error[b-ic1w7ptump] {
    width: 100%;
    margin-top: 25px;
    padding: 25px;
    border-radius: 12px;
    font-size: 17px;
    text-align: center;
}

.aulas-message[b-ic1w7ptump],
.aulas-empty[b-ic1w7ptump] {
    background: #f3f4ff;
    color: #333333;
}

.aulas-error[b-ic1w7ptump] {
    background: #fff0f0;
    color: #a61b1b;
}

    .aulas-error button[b-ic1w7ptump] {
        margin: 15px auto 0;
        padding: 9px 20px;
        display: block;
        border: 0;
        border-radius: 7px;
        background: #91a2ff;
        color: #ffffff;
        font-weight: 700;
        cursor: pointer;
        transition: opacity 150ms ease, transform 150ms ease;
    }

        .aulas-error button:hover[b-ic1w7ptump] {
            opacity: 0.85;
        }

        .aulas-error button:active[b-ic1w7ptump] {
            transform: scale(0.98);
        }


/* =========================================================
   PANTALLAS MEDIANAS Y TABLETAS
   ========================================================= */

@media (max-width: 1000px) {
    .aulas-page[b-ic1w7ptump] {
        margin-top: 10px;
    }

    .aula-card[b-ic1w7ptump] {
        padding: 18px 22px;
    }
}

@media (max-width: 900px) {
    .aulas-filter-panel[b-ic1w7ptump] {
        align-items: stretch;
        flex-direction: column;
    }

    .aulas-filter-field[b-ic1w7ptump] {
        width: 100%;
    }
}


/* =========================================================
   TELÉFONOS Y PANTALLAS PEQUEÑAS
   ========================================================= */

@media (max-width: 768px) {
    .aulas-page[b-ic1w7ptump] {
        width: 100%;
        margin-top: 0;
    }

    .aulas-header[b-ic1w7ptump] {
        gap: 15px;
    }

        .aulas-header h1[b-ic1w7ptump] {
            font-size: 29px;
        }

    .aulas-header-actions[b-ic1w7ptump] {
        gap: 9px;
    }

    .aulas-filter-button[b-ic1w7ptump] {
        min-width: auto;
        height: 40px;
        padding: 0 15px;
        font-size: 14px;
    }

    .aulas-add-button[b-ic1w7ptump] {
        width: 56px;
        height: 40px;
        font-size: 35px;
    }

    .aulas-divider[b-ic1w7ptump] {
        height: 14px;
        margin-top: 13px;
    }

    .aulas-filter-panel[b-ic1w7ptump] {
        padding: 16px;
    }

    .aula-card[b-ic1w7ptump] {
        min-height: auto;
        padding: 18px;
        align-items: stretch;
        flex-direction: column;
        gap: 13px;
    }

    .aula-card-info[b-ic1w7ptump] {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 5px;
    }

    .aula-card-name[b-ic1w7ptump] {
        font-size: 21px;
    }

    .aula-separator[b-ic1w7ptump] {
        display: none;
    }

    .aula-card-teacher[b-ic1w7ptump] {
        font-size: 18px;
    }

        .aula-card-teacher[b-ic1w7ptump]::before {
            content: "Seño: ";
            font-weight: 900;
        }

    .aula-view-button[b-ic1w7ptump] {
        align-self: flex-end;
    }
}


/* =========================================================
   TELÉFONOS MUY PEQUEÑOS
   ========================================================= */

@media (max-width: 480px) {
    .aulas-header[b-ic1w7ptump] {
        align-items: flex-start;
    }

        .aulas-header h1[b-ic1w7ptump] {
            font-size: 25px;
        }

    .aulas-filter-button[b-ic1w7ptump] {
        padding: 0 12px;
        font-size: 12px;
    }

    .aulas-add-button[b-ic1w7ptump] {
        width: 50px;
        height: 38px;
        font-size: 32px;
    }

    .aula-card[b-ic1w7ptump] {
        padding: 16px;
        border-width: 3px;
    }

    .aula-card-name[b-ic1w7ptump] {
        font-size: 19px;
    }

    .aula-card-teacher[b-ic1w7ptump] {
        font-size: 16px;
    }
}
/* /Pages/Admin/AvisoDetalle.razor.rz.scp.css */
/* =========================================================
   GENERAL
   ========================================================= */

.notice-detail-page[b-2l61tw660q],
.notice-detail-page *[b-2l61tw660q] {
    box-sizing: border-box;
}

.notice-detail-page[b-2l61tw660q] {
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}

.notice-detail-header[b-2l61tw660q] {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.notice-back-button[b-2l61tw660q] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #6879df;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.notice-detail-header h1[b-2l61tw660q] {
    margin: 12px 0 6px;
    color: #000000;
    font-size: clamp(31px, 3vw, 46px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.notice-detail-header p[b-2l61tw660q] {
    margin: 0;
    color: #666666;
    font-size: 14px;
}

.notice-header-actions[b-2l61tw660q] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.notice-detail-card[b-2l61tw660q] {
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid #91a2ff;
    border-radius: 17px;
    background: #f7f8ff;
}

    .notice-detail-card + .notice-detail-card[b-2l61tw660q] {
        margin-top: 22px;
    }

.notice-card-heading[b-2l61tw660q] {
    margin-bottom: 27px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

    .notice-card-heading > div > span[b-2l61tw660q] {
        color: #6879df;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .notice-card-heading h2[b-2l61tw660q] {
        margin: 6px 0 0;
        color: #000000;
        font-size: clamp(22px, 2vw, 29px);
        font-weight: 900;
        text-transform: uppercase;
    }

.notice-detail-status[b-2l61tw660q] {
    width: max-content;
    max-width: 100%;
    min-height: 32px;
    padding: 7px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    align-self: flex-start;
    border-radius: 18px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    text-transform: uppercase;
}

.notice-detail-status--draft[b-2l61tw660q] {
    background: #fff3c4;
    color: #826400;
}

.notice-detail-status--published[b-2l61tw660q] {
    background: #def5ce;
    color: #31820b;
}

.notice-detail-status--cancelled[b-2l61tw660q] {
    background: #ffe0e0;
    color: #a12626;
}

.notice-information-grid[b-2l61tw660q] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 35px;
}

.notice-information-item[b-2l61tw660q] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.notice-information-item--full[b-2l61tw660q] {
    grid-column: 1 / -1;
}

.notice-information-item span[b-2l61tw660q] {
    color: #666666;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.notice-information-item strong[b-2l61tw660q] {
    color: #111111;
    font-size: 16px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.notice-form-grid[b-2l61tw660q] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 30px;
}

.notice-form-field[b-2l61tw660q] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.notice-form-field--full[b-2l61tw660q] {
    grid-column: 1 / -1;
}

.notice-form-field label[b-2l61tw660q] {
    color: #222222;
    font-size: 14px;
    font-weight: 800;
}

.notice-form-control[b-2l61tw660q],
[b-2l61tw660q] .notice-form-control {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    font-family: inherit;
    font-size: 15px;
}

    .notice-form-control:focus[b-2l61tw660q],
    [b-2l61tw660q] .notice-form-control:focus {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

.notice-form-textarea[b-2l61tw660q],
[b-2l61tw660q] .notice-form-textarea {
    min-height: 125px;
    resize: vertical;
}

.notice-edit-scope[b-2l61tw660q] {
    margin-top: 25px;
    padding-top: 25px;
    border-top: 2px solid #e0e3fa;
}

.notice-global-option[b-2l61tw660q] {
    padding: 17px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
}

    .notice-global-option input[b-2l61tw660q],
    .notice-classroom-options input[b-2l61tw660q] {
        width: 18px;
        height: 18px;
        accent-color: #91a2ff;
    }

    .notice-global-option span[b-2l61tw660q] {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .notice-global-option small[b-2l61tw660q] {
        color: #666666;
    }

.notice-classroom-options[b-2l61tw660q] {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
}

    .notice-classroom-options label[b-2l61tw660q] {
        padding: 14px;
        display: flex;
        align-items: center;
        gap: 10px;
        border: 2px solid #e0e3fa;
        border-radius: 11px;
        background: #ffffff;
    }

    .notice-classroom-options span[b-2l61tw660q] {
        display: flex;
        flex-direction: column;
        gap: 3px;
        font-weight: 700;
    }

    .notice-classroom-options small[b-2l61tw660q] {
        color: #666666;
        font-weight: 400;
    }

.notice-form-actions[b-2l61tw660q] {
    margin-top: 28px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.notice-global-summary[b-2l61tw660q] {
    padding: 19px;
    display: flex;
    align-items: center;
    gap: 15px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
}

    .notice-global-summary > span[b-2l61tw660q] {
        width: 52px;
        height: 52px;
        min-width: 52px;
        min-height: 52px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 52px;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        background: #e5e8ff;
        font-size: 24px;
        line-height: 1;
        text-align: center;
        overflow: hidden;
    }

    .notice-global-summary p[b-2l61tw660q] {
        margin: 5px 0 0;
        color: #666666;
        font-size: 13px;
    }

.notice-classroom-list[b-2l61tw660q] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.notice-classroom-item[b-2l61tw660q] {
    padding: 17px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    border: 2px solid #e0e3fa;
    border-radius: 11px;
    background: #ffffff;
}

    .notice-classroom-item span[b-2l61tw660q] {
        color: #666666;
        font-size: 12px;
    }

.notice-confirmation[b-2l61tw660q] {
    margin-bottom: 22px;
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    border: 2px solid #e5a1a1;
    border-radius: 14px;
    background: #fff5f5;
}

.notice-confirmation--publish[b-2l61tw660q] {
    border-color: #a9d894;
    background: #f4fff0;
}

.notice-confirmation strong[b-2l61tw660q] {
    color: #992020;
}

.notice-confirmation--publish strong[b-2l61tw660q] {
    color: #287c0b;
}

.notice-confirmation p[b-2l61tw660q] {
    margin: 6px 0 0;
    color: #6d4444;
    font-size: 14px;
}

.notice-confirmation-actions[b-2l61tw660q] {
    display: flex;
    gap: 12px;
}

.notice-primary-button[b-2l61tw660q],
.notice-secondary-button[b-2l61tw660q],
.notice-edit-button[b-2l61tw660q],
.notice-publish-button[b-2l61tw660q],
.notice-danger-outline-button[b-2l61tw660q],
.notice-danger-button[b-2l61tw660q] {
    min-height: 42px;
    padding: 9px 20px;
    border-radius: 22px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.notice-primary-button[b-2l61tw660q],
.notice-edit-button[b-2l61tw660q] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.notice-secondary-button[b-2l61tw660q] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

.notice-publish-button[b-2l61tw660q] {
    border: 2px solid #59a435;
    background: #59a435;
    color: #ffffff;
}

.notice-danger-outline-button[b-2l61tw660q] {
    border: 2px solid #d64a4a;
    background: #ffffff;
    color: #bd2f2f;
}

.notice-danger-button[b-2l61tw660q] {
    border: 2px solid #d64a4a;
    background: #d64a4a;
    color: #ffffff;
}

.notice-detail-message[b-2l61tw660q],
.notice-detail-error[b-2l61tw660q],
.notice-detail-success[b-2l61tw660q] {
    padding: 18px 20px;
    border-radius: 12px;
    text-align: center;
}

.notice-detail-error[b-2l61tw660q] {
    background: #fff0f0;
    color: #a61b1b;
}

.notice-detail-error--compact[b-2l61tw660q],
.notice-detail-success[b-2l61tw660q] {
    margin-bottom: 20px;
}

.notice-detail-success[b-2l61tw660q] {
    background: #effbe8;
    color: #287c0b;
    font-weight: 700;
}

@media (max-width: 900px) {
    .notice-detail-header[b-2l61tw660q],
    .notice-confirmation[b-2l61tw660q] {
        align-items: stretch;
        flex-direction: column;
    }

    .notice-card-heading[b-2l61tw660q] {
        align-items: flex-start;
        flex-direction: column;
    }

    .notice-detail-status[b-2l61tw660q] {
        align-self: flex-start;
    }

    .notice-information-grid[b-2l61tw660q],
    .notice-form-grid[b-2l61tw660q],
    .notice-classroom-list[b-2l61tw660q],
    .notice-classroom-options[b-2l61tw660q] {
        grid-template-columns: 1fr;
    }

    .notice-information-item--full[b-2l61tw660q],
    .notice-form-field--full[b-2l61tw660q] {
        grid-column: auto;
    }
}

@media (max-width: 768px) {
    .notice-header-actions[b-2l61tw660q],
    .notice-form-actions[b-2l61tw660q],
    .notice-confirmation-actions[b-2l61tw660q] {
        flex-direction: column;
    }

        .notice-header-actions button[b-2l61tw660q],
        .notice-form-actions button[b-2l61tw660q],
        .notice-confirmation-actions button[b-2l61tw660q] {
            width: 100%;
        }
}


/* =========================================================
   DOCUMENTO PDF
   ========================================================= */

.notice-download-button[b-2l61tw660q] {
    min-height: 42px;
    padding: 9px 20px;
    border: 2px solid #91a2ff;
    border-radius: 22px;
    background: #ffffff;
    color: #6273da;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

    .notice-download-button:disabled[b-2l61tw660q] {
        cursor: wait;
        opacity: 0.6;
    }

.notice-file-status[b-2l61tw660q] {
    padding: 7px 14px;
    border-radius: 18px;
    font-size: 11px;
    font-weight: 900;
}

.notice-file-status--available[b-2l61tw660q] {
    background: #def5ce;
    color: #31820b;
}

.notice-file-status--empty[b-2l61tw660q] {
    background: #eeeeee;
    color: #666666;
}

.notice-file-summary[b-2l61tw660q] {
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 16px;
    border: 2px solid #d5d9f6;
    border-radius: 12px;
    background: #ffffff;
}

.notice-file-icon[b-2l61tw660q] {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 13px;
    background: #ffe0e0;
    color: #b22f2f;
    font-size: 15px;
    font-weight: 900;
}

.notice-file-summary > div:last-child[b-2l61tw660q] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.notice-file-summary strong[b-2l61tw660q] {
    overflow-wrap: anywhere;
}

.notice-file-summary span[b-2l61tw660q] {
    color: #666666;
    font-size: 12px;
}

.notice-file-empty[b-2l61tw660q] {
    padding: 20px;
    border-radius: 12px;
    background: #ffffff;
    color: #666666;
    text-align: center;
}

.notice-file-upload-box[b-2l61tw660q] {
    margin-top: 16px;
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 2px dashed #b9c2f4;
    border-radius: 12px;
    background: #ffffff;
}

    .notice-file-upload-box p[b-2l61tw660q] {
        margin: 5px 0 0;
        color: #666666;
        font-size: 12px;
    }

.notice-file-select[b-2l61tw660q] {
    min-height: 42px;
    padding: 10px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid #91a2ff;
    border-radius: 22px;
    background: #ffffff;
    color: #6273da;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

[b-2l61tw660q] .notice-file-input {
    display: none !important;
}

.notice-file-selected[b-2l61tw660q] {
    margin-top: 15px;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 2px solid #cbd2ff;
    border-radius: 11px;
    background: #eef0ff;
}

    .notice-file-selected > div:first-child[b-2l61tw660q] {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .notice-file-selected > div:last-child[b-2l61tw660q],
    .notice-file-actions[b-2l61tw660q],
    .notice-file-confirmation > div:last-child[b-2l61tw660q] {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .notice-file-selected strong[b-2l61tw660q] {
        overflow-wrap: anywhere;
    }

    .notice-file-selected span[b-2l61tw660q] {
        color: #666666;
        font-size: 12px;
    }

.notice-file-actions[b-2l61tw660q] {
    margin-top: 16px;
    justify-content: flex-end;
}

.notice-file-confirmation[b-2l61tw660q] {
    margin-top: 16px;
    padding: 17px 19px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    border: 2px solid #e5a1a1;
    border-radius: 12px;
    background: #fff5f5;
}

    .notice-file-confirmation p[b-2l61tw660q] {
        margin: 5px 0 0;
        color: #6d4444;
        font-size: 13px;
    }

@media (max-width: 700px) {
    .notice-global-summary[b-2l61tw660q] {
        align-items: flex-start;
    }

    .notice-file-upload-box[b-2l61tw660q],
    .notice-file-selected[b-2l61tw660q],
    .notice-file-confirmation[b-2l61tw660q] {
        align-items: stretch;
        flex-direction: column;
    }

    .notice-file-select[b-2l61tw660q] {
        width: 100%;
    }

    .notice-file-selected > div:last-child[b-2l61tw660q],
    .notice-file-actions[b-2l61tw660q],
    .notice-file-confirmation > div:last-child[b-2l61tw660q] {
        width: 100%;
        flex-direction: column;
    }

        .notice-file-selected button[b-2l61tw660q],
        .notice-file-actions button[b-2l61tw660q],
        .notice-file-confirmation button[b-2l61tw660q] {
            width: 100%;
        }
}


/* =========================================================
   VISTA PREVIA PDF
   ========================================================= */

.notice-pdf-card-heading[b-2l61tw660q] {
    align-items: center;
}

.notice-pdf-heading-actions[b-2l61tw660q] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.notice-pdf-preview[b-2l61tw660q] {
    width: 100%;
    min-width: 0;
    height: clamp(520px, 68vh, 820px);
    margin-top: 18px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    border: 2px solid #d5d9f6;
    border-radius: 13px;
    background: #ffffff;
}

.notice-pdf-canvas-host[b-2l61tw660q] {
    width: 100%;
    min-height: 100%;
}

.notice-pdf-preview-message[b-2l61tw660q],
.notice-pdf-preview-error[b-2l61tw660q] {
    min-height: 260px;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.notice-pdf-preview-message[b-2l61tw660q] {
    color: #666666;
}

.notice-pdf-preview-error[b-2l61tw660q] {
    color: #a61b1b;
    background: #fff0f0;
}

@media (max-width: 700px) {
    .notice-pdf-card-heading[b-2l61tw660q] {
        align-items: stretch;
        flex-direction: column;
    }

    .notice-pdf-heading-actions[b-2l61tw660q] {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .notice-pdf-heading-actions > *[b-2l61tw660q] {
        width: 100%;
        text-align: center;
    }

    .notice-pdf-preview[b-2l61tw660q] {
        min-height: 480px;
    }

    }


/* =========================================================
   VISOR PDF INTERACTIVO
   ========================================================= */

[b-2l61tw660q] .nido-pdf-toolbar {
    position: sticky;
    top: 0;
    z-index: 5;
    min-height: 48px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
    background: #f5f5f5;
}

[b-2l61tw660q] .nido-pdf-toolbar-information {
    color: #555555;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

[b-2l61tw660q] .nido-pdf-toolbar-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

[b-2l61tw660q] .nido-pdf-toolbar-controls button {
    min-width: 36px;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #cccccc;
    border-radius: 8px;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

[b-2l61tw660q] .nido-pdf-toolbar-controls button:active {
    transform: translateY(1px);
}

[b-2l61tw660q] .nido-pdf-zoom-value {
    min-width: 48px;
    color: #444444;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

[b-2l61tw660q] .nido-pdf-pages {
    min-width: 100%;
    width: max-content;
    padding: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    background: #d8d8d8;
}

[b-2l61tw660q] .nido-pdf-page {
    width: max-content;
    max-width: none;
    flex: 0 0 auto;
    background: #ffffff;
    box-shadow:
        0 2px 8px
        rgba(0, 0, 0, 0.18);
}

[b-2l61tw660q] .nido-pdf-page canvas {
    display: block;
    max-width: none;
    background: #ffffff;
}

[b-2l61tw660q] .nido-pdf-render-loading,
[b-2l61tw660q] .nido-pdf-render-error {
    min-height: 220px;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666666;
    text-align: center;
}

[b-2l61tw660q] .nido-pdf-render-error {
    color: #a61b1b;
    background: #fff0f0;
}

@media (max-width: 600px) {
    [b-2l61tw660q] .nido-pdf-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    [b-2l61tw660q] .nido-pdf-toolbar-information {
        text-align: center;
    }

    [b-2l61tw660q] .nido-pdf-toolbar-controls {
        justify-content: center;
        flex-wrap: wrap;
    }

    [b-2l61tw660q] .nido-pdf-toolbar-controls button {
        min-height: 40px;
    }
}
/* /Pages/Admin/Avisos.razor.rz.scp.css */
/* =========================================================
   GENERAL
   ========================================================= */

.notices-page[b-3vvtghwdp0],
.notices-page *[b-3vvtghwdp0] {
    box-sizing: border-box;
}

.notices-page[b-3vvtghwdp0] {
    width: 100%;
    margin: 20px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}

.notices-header[b-3vvtghwdp0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

    .notices-header h1[b-3vvtghwdp0] {
        margin: 0;
        color: #000000;
        font-size: clamp(30px, 2.6vw, 40px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

.notices-header-actions[b-3vvtghwdp0] {
    display: flex;
    align-items: center;
    gap: 20px;
}

.notices-filter-button[b-3vvtghwdp0],
.notices-add-button[b-3vvtghwdp0] {
    height: 44px;
    border: 0;
    border-radius: 25px;
    background: #91a2ff;
    color: #ffffff;
    font-family: inherit;
    cursor: pointer;
}

.notices-filter-button[b-3vvtghwdp0] {
    min-width: 130px;
    padding: 0 24px;
    font-size: 17px;
    text-transform: uppercase;
}

.notices-add-button[b-3vvtghwdp0] {
    width: 62px;
    padding: 0;
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
}

    .notices-filter-button:hover[b-3vvtghwdp0],
    .notices-add-button:hover[b-3vvtghwdp0] {
        opacity: 0.85;
    }

.notices-divider[b-3vvtghwdp0] {
    width: 100%;
    height: clamp(14px, 1.5vw, 20px);
    margin-top: 16px;
    border-radius: 14px;
    background: #91a2ff;
}

/* =========================================================
   FILTROS
   ========================================================= */

.notices-filter-panel[b-3vvtghwdp0] {
    margin-top: 16px;
    padding: 18px 22px;
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 180px 180px auto;
    align-items: end;
    gap: 18px;
    border: 2px solid #d9ddff;
    border-radius: 13px;
    background: #f7f8ff;
}

.notices-filter-field[b-3vvtghwdp0] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .notices-filter-field label[b-3vvtghwdp0] {
        color: #222222;
        font-size: 13px;
        font-weight: 800;
    }

.notices-filter-control[b-3vvtghwdp0] {
    width: 100%;
    min-height: 44px;
    padding: 9px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    font-family: inherit;
    font-size: 14px;
}

    .notices-filter-control:focus[b-3vvtghwdp0] {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

.notices-result-count[b-3vvtghwdp0] {
    padding-bottom: 13px;
    color: #6879df;
    font-size: 13px;
    font-weight: 800;
}

/* =========================================================
   LISTADO
   ========================================================= */

.notices-list[b-3vvtghwdp0] {
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.notice-card[b-3vvtghwdp0] {
    min-height: 124px;
    padding: 16px 28px 16px 16px;
    display: flex;
    align-items: center;
    gap: 24px;
    border: 4px solid #91a2ff;
    border-radius: 14px;
    background: #d7ddff;
    transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .notice-card:hover[b-3vvtghwdp0] {
        transform: translateY(-1px);
        background: #dfe3ff;
        box-shadow: 0 6px 14px rgba(87, 102, 185, 0.13);
    }

.notice-date[b-3vvtghwdp0] {
    width: 82px;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    flex-shrink: 0;
    border-radius: 18px;
    background: #ffffff;
    color: #91a2ff;
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.14);
}

    .notice-date strong[b-3vvtghwdp0] {
        font-size: 30px;
        line-height: 1;
    }

    .notice-date span[b-3vvtghwdp0] {
        margin-top: 5px;
        font-size: 13px;
        font-weight: 900;
    }

.notice-information[b-3vvtghwdp0] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.notice-title-row[b-3vvtghwdp0] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

    .notice-title-row > strong[b-3vvtghwdp0] {
        color: #000000;
        font-size: clamp(20px, 2vw, 28px);
        font-weight: 800;
        text-transform: uppercase;
    }

.notice-status[b-3vvtghwdp0] {
    padding: 6px 11px;
    border-radius: 16px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.notice-status--draft[b-3vvtghwdp0] {
    background: #fff3c4;
    color: #826400;
}

.notice-status--published[b-3vvtghwdp0] {
    background: #def5ce;
    color: #31820b;
}

.notice-status--cancelled[b-3vvtghwdp0] {
    background: #ffe0e0;
    color: #a12626;
}

.notice-schedule[b-3vvtghwdp0] {
    color: #333333;
    font-size: 14px;
    font-weight: 700;
}

.notice-scope[b-3vvtghwdp0] {
    color: #6879df;
    font-size: 13px;
    font-weight: 800;
}

.notice-information small[b-3vvtghwdp0] {
    color: #666666;
    font-size: 12px;
}

.notice-view-button[b-3vvtghwdp0] {
    width: 46px;
    height: 46px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid #6273da;
    border-radius: 50%;
    background: #ffffff;
    color: #6273da;
    cursor: pointer;
    transition:
        background-color 150ms ease,
        color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

.notice-view-button svg[b-3vvtghwdp0] {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.notice-view-button:hover[b-3vvtghwdp0] {
    background: #6273da;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 13px rgba(98, 115, 218, 0.24);
}

.notice-view-button:active[b-3vvtghwdp0] {
    transform: translateY(0);
}

.notice-view-button:focus-visible[b-3vvtghwdp0] {
    outline: 3px solid rgba(98, 115, 218, 0.24);
    outline-offset: 3px;
}

.notices-message[b-3vvtghwdp0],
.notices-empty[b-3vvtghwdp0],
.notices-error[b-3vvtghwdp0] {
    margin-top: 24px;
    padding: 25px;
    border-radius: 12px;
    text-align: center;
}

.notices-message[b-3vvtghwdp0],
.notices-empty[b-3vvtghwdp0] {
    background: #f3f4ff;
    color: #444444;
}

.notices-error[b-3vvtghwdp0] {
    background: #fff0f0;
    color: #a61b1b;
}

    .notices-error p[b-3vvtghwdp0] {
        margin: 0;
    }

    .notices-error button[b-3vvtghwdp0] {
        margin: 15px auto 0;
        padding: 9px 20px;
        display: block;
        border: 0;
        border-radius: 8px;
        background: #91a2ff;
        color: #ffffff;
        font-weight: 800;
        cursor: pointer;
    }

@media (max-width: 1000px) {
    .notices-filter-panel[b-3vvtghwdp0] {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .notices-filter-panel[b-3vvtghwdp0] {
        grid-template-columns: 1fr;
    }

    .notice-card[b-3vvtghwdp0] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .notice-view-button[b-3vvtghwdp0] {
        width: 46px;
        margin-left: 0;
    }
}


/* =========================================================
   ACCIONES DE LA TARJETA
   ========================================================= */

.notice-card-actions[b-3vvtghwdp0] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.notice-download-button[b-3vvtghwdp0] {
    width: 43px;
    height: 43px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid #91a2ff;
    border-radius: 50%;
    background: #ffffff;
    color: #6273da;
    cursor: pointer;
    transition:
        transform 150ms ease,
        opacity 150ms ease;
}

.notice-download-button svg[b-3vvtghwdp0] {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.notice-download-button:hover:not(:disabled)[b-3vvtghwdp0] {
    transform: translateY(-2px);
}

.notice-download-button:disabled[b-3vvtghwdp0] {
    cursor: wait;
    opacity: 0.55;
}

@media (max-width: 768px) {
    .notice-card-actions[b-3vvtghwdp0] {
        width: 100%;
        justify-content: flex-end;
    }

    .notice-view-button[b-3vvtghwdp0] {
        width: 46px;
    }
}


/* =========================================================
   CALENDARIO DE ACTIVIDADES
   ========================================================= */

.notices-calendar-admin[b-3vvtghwdp0] {
    margin-top: 18px;
    padding: clamp(20px, 2.3vw, 30px);
    border: 3px solid #91a2ff;
    border-radius: 17px;
    background: #f7f8ff;
}

.notices-calendar-admin-heading[b-3vvtghwdp0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.notices-calendar-admin-heading span[b-3vvtghwdp0] {
    color: #6879df;
    font-size: 12px;
    font-weight: 900;
}

.notices-calendar-admin-heading h2[b-3vvtghwdp0] {
    margin: 6px 0;
    color: #111111;
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 900;
    text-transform: uppercase;
}

.notices-calendar-admin-heading p[b-3vvtghwdp0] {
    margin: 0;
    color: #666666;
    line-height: 1.5;
}

.notices-calendar-state[b-3vvtghwdp0] {
    padding: 7px 13px;
    flex-shrink: 0;
    border-radius: 18px;
    font-size: 11px;
    font-weight: 900;
}

.notices-calendar-state--active[b-3vvtghwdp0] {
    background: #def5ce;
    color: #31820b;
}

.notices-calendar-state--empty[b-3vvtghwdp0] {
    background: #ececec;
    color: #555555;
}

.notices-calendar-file[b-3vvtghwdp0] {
    margin-top: 20px;
    padding: 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    border: 2px solid #d9ddff;
    border-radius: 12px;
    background: #ffffff;
}

.notices-calendar-pdf-icon[b-3vvtghwdp0] {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 10px;
    background: #ffe3e3;
    color: #b82929;
    font-weight: 900;
}

.notices-calendar-file > div:last-child[b-3vvtghwdp0] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.notices-calendar-file strong[b-3vvtghwdp0] {
    overflow-wrap: anywhere;
}

.notices-calendar-file span[b-3vvtghwdp0],
.notices-calendar-file small[b-3vvtghwdp0] {
    color: #666666;
    font-size: 12px;
}

.notices-calendar-admin-actions[b-3vvtghwdp0] {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.notices-calendar-select-button[b-3vvtghwdp0],
.notices-calendar-download-button[b-3vvtghwdp0],
.notices-calendar-remove-button[b-3vvtghwdp0],
.notices-calendar-cancel-button[b-3vvtghwdp0],
.notices-calendar-confirm-remove-button[b-3vvtghwdp0] {
    min-height: 42px;
    padding: 9px 19px;
    border-radius: 22px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.notices-calendar-select-button[b-3vvtghwdp0],
.notices-calendar-download-button[b-3vvtghwdp0] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

.notices-calendar-select-button[b-3vvtghwdp0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

[b-3vvtghwdp0] .notices-calendar-file-input {
    display: none !important;
}

.notices-calendar-remove-button[b-3vvtghwdp0],
.notices-calendar-confirm-remove-button[b-3vvtghwdp0] {
    border: 2px solid #d64a4a;
    background: #ffffff;
    color: #bd2f2f;
}

.notices-calendar-confirm-remove-button[b-3vvtghwdp0] {
    background: #d64a4a;
    color: #ffffff;
}

.notices-calendar-cancel-button[b-3vvtghwdp0] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

.notices-calendar-admin-actions button:disabled[b-3vvtghwdp0],
.notices-calendar-admin-actions label:has(
    + .notices-calendar-file-input:disabled)[b-3vvtghwdp0],
.notices-calendar-confirmation button:disabled[b-3vvtghwdp0] {
    cursor: not-allowed;
    opacity: 0.58;
}

.notices-calendar-error[b-3vvtghwdp0],
.notices-calendar-success[b-3vvtghwdp0] {
    margin-top: 17px;
    padding: 13px 15px;
    border-radius: 10px;
    font-weight: 700;
}

.notices-calendar-error[b-3vvtghwdp0] {
    background: #fff0f0;
    color: #a61b1b;
}

.notices-calendar-success[b-3vvtghwdp0] {
    background: #effbe8;
    color: #287c0b;
}

.notices-calendar-confirmation[b-3vvtghwdp0] {
    margin-top: 18px;
    padding: 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 2px solid #e5a1a1;
    border-radius: 13px;
    background: #fff5f5;
}

.notices-calendar-confirmation p[b-3vvtghwdp0] {
    margin: 5px 0 0;
    color: #6d4444;
    font-size: 13px;
}

.notices-calendar-confirmation > div:last-child[b-3vvtghwdp0] {
    display: flex;
    gap: 9px;
    flex-shrink: 0;
}

@media (max-width: 760px) {
    .notices-calendar-admin-heading[b-3vvtghwdp0],
    .notices-calendar-confirmation[b-3vvtghwdp0] {
        align-items: stretch;
        flex-direction: column;
    }

    .notices-calendar-admin-actions[b-3vvtghwdp0],
    .notices-calendar-confirmation > div:last-child[b-3vvtghwdp0] {
        flex-direction: column;
    }

    .notices-calendar-admin-actions > *[b-3vvtghwdp0],
    .notices-calendar-confirmation button[b-3vvtghwdp0] {
        width: 100%;
    }
}
/* /Pages/Admin/InicioAdmin.razor.rz.scp.css */
/* =========================================================
   CONFIGURACIÓN GENERAL
   ========================================================= */

.admin-home-page[b-0jzmrks9k3],
.admin-home-page *[b-0jzmrks9k3] {
    box-sizing: border-box;
}

.admin-home-page[b-0jzmrks9k3] {
    width: 100%;
    margin: 18px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.admin-home-header[b-0jzmrks9k3] {
    width: 100%;
    margin-bottom: 25px;
}

    .admin-home-header h1[b-0jzmrks9k3] {
        margin: 0 0 8px;
        color: #000000;
        font-size: clamp(31px, 3vw, 46px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

    .admin-home-header p[b-0jzmrks9k3] {
        max-width: 790px;
        margin: 0;
        color: #666666;
        font-size: 16px;
        line-height: 1.45;
    }


/* =========================================================
   TARJETAS PRINCIPALES
   ========================================================= */

.school-period-card[b-0jzmrks9k3],
.school-period-form-card[b-0jzmrks9k3],
.school-period-empty-card[b-0jzmrks9k3] {
    width: 100%;
    padding: clamp(24px, 3vw, 38px);
    border: 3px solid #91a2ff;
    border-radius: 18px;
    background: #f7f8ff;
}

.school-period-card-header[b-0jzmrks9k3],
.school-period-form-header[b-0jzmrks9k3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.school-period-eyebrow[b-0jzmrks9k3] {
    display: block;
    margin-bottom: 8px;
    color: #6879df;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.school-period-card h2[b-0jzmrks9k3],
.school-period-form-card h2[b-0jzmrks9k3],
.school-period-empty-card h2[b-0jzmrks9k3] {
    margin: 0;
    color: #000000;
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 900;
    line-height: 1.05;
    text-transform: uppercase;
}

.school-period-status[b-0jzmrks9k3] {
    padding: 8px 16px;
    flex-shrink: 0;
    border-radius: 20px;
    background: #def5ce;
    color: #31820b;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}


/* =========================================================
   FECHAS Y RESUMEN
   ========================================================= */

.school-period-dates[b-0jzmrks9k3] {
    margin-top: 32px;
    padding: 24px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 25px;
    border: 2px solid #dce1ff;
    border-radius: 14px;
    background: #ffffff;
}

.school-period-date-item[b-0jzmrks9k3] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

    .school-period-date-item:last-child[b-0jzmrks9k3] {
        text-align: right;
    }

    .school-period-date-item span[b-0jzmrks9k3],
    .school-period-summary span[b-0jzmrks9k3] {
        color: #707070;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .school-period-date-item strong[b-0jzmrks9k3] {
        color: #111111;
        font-size: clamp(21px, 2vw, 28px);
        font-weight: 900;
    }

.school-period-date-separator[b-0jzmrks9k3] {
    color: #91a2ff;
    font-size: 30px;
    font-weight: 900;
}

.school-period-summary[b-0jzmrks9k3] {
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

    .school-period-summary > div[b-0jzmrks9k3] {
        min-width: 0;
        padding: 18px;
        display: flex;
        flex-direction: column;
        gap: 7px;
        border: 2px solid #e0e3fa;
        border-radius: 12px;
        background: #ffffff;
    }

    .school-period-summary strong[b-0jzmrks9k3] {
        color: #111111;
        font-size: 16px;
        font-weight: 800;
        overflow-wrap: anywhere;
    }

.school-period-actions[b-0jzmrks9k3] {
    margin-top: 27px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}


/* =========================================================
   ESTADO SIN PERÍODO
   ========================================================= */

.school-period-empty-card[b-0jzmrks9k3] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
}

.school-period-empty-icon[b-0jzmrks9k3] {
    width: 76px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e5e8ff;
    font-size: 33px;
}

.school-period-empty-content > span[b-0jzmrks9k3] {
    display: block;
    margin-bottom: 7px;
    color: #6879df;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.school-period-empty-content p[b-0jzmrks9k3] {
    margin: 9px 0 0;
    color: #666666;
    font-size: 14px;
    line-height: 1.45;
}


/* =========================================================
   FORMULARIO
   ========================================================= */

.school-period-form-grid[b-0jzmrks9k3] {
    margin-top: 30px;
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 24px;
}

.school-period-field[b-0jzmrks9k3] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .school-period-field label[b-0jzmrks9k3] {
        color: #222222;
        font-size: 14px;
        font-weight: 800;
    }

.school-period-control[b-0jzmrks9k3],
[b-0jzmrks9k3] .school-period-control {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
    transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .school-period-control:hover[b-0jzmrks9k3],
    [b-0jzmrks9k3] .school-period-control:hover {
        border-color: #bcc4f3;
    }

    .school-period-control:focus[b-0jzmrks9k3],
    [b-0jzmrks9k3] .school-period-control:focus {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

    .school-period-control.invalid[b-0jzmrks9k3],
    [b-0jzmrks9k3] .school-period-control.invalid {
        border-color: #dc3545;
        background: #fffafa;
    }

    .school-period-control.valid.modified[b-0jzmrks9k3],
    [b-0jzmrks9k3] .school-period-control.valid.modified {
        border-color: #46b565;
    }

.school-period-field .validation-message[b-0jzmrks9k3] {
    color: #b42318;
    font-size: 12px;
    font-weight: 600;
}

.school-period-note[b-0jzmrks9k3] {
    width: 100%;
    margin-top: 28px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
}

.school-period-note-icon[b-0jzmrks9k3] {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #e5e8ff;
    color: #5667cd;
    font-size: 22px;
    font-weight: 900;
}

.school-period-note strong[b-0jzmrks9k3] {
    color: #111111;
    font-size: 15px;
    font-weight: 800;
}

.school-period-note p[b-0jzmrks9k3] {
    margin: 5px 0 0;
    color: #666666;
    font-size: 13px;
    line-height: 1.45;
}

.school-period-form-actions[b-0jzmrks9k3] {
    margin-top: 28px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}


/* =========================================================
   PANEL DE FINALIZACIÓN
   ========================================================= */

.school-period-close-panel[b-0jzmrks9k3] {
    width: 100%;
    margin-top: 22px;
    padding: clamp(22px, 2.5vw, 32px);
    border: 3px solid #d96969;
    border-radius: 17px;
    background: #fff7f7;
}

.school-period-close-header[b-0jzmrks9k3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

    .school-period-close-header span[b-0jzmrks9k3] {
        color: #a13c3c;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .school-period-close-header h3[b-0jzmrks9k3] {
        margin: 7px 0 0;
        color: #8f2020;
        font-size: clamp(22px, 2vw, 29px);
        font-weight: 900;
        text-transform: uppercase;
    }

.school-period-close-date[b-0jzmrks9k3] {
    padding: 8px 14px;
    border-radius: 18px;
    background: #ffe0e0;
    color: #8f2020 !important;
}

.school-period-close-summary[b-0jzmrks9k3] {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}

    .school-period-close-summary > div[b-0jzmrks9k3] {
        padding: 18px;
        display: flex;
        flex-direction: column;
        gap: 7px;
        border: 2px solid #f0cccc;
        border-radius: 12px;
        background: #ffffff;
    }

    .school-period-close-summary span[b-0jzmrks9k3] {
        color: #777777;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .school-period-close-summary strong[b-0jzmrks9k3] {
        color: #8f2020;
        font-size: 25px;
        font-weight: 900;
    }

.school-period-close-warning[b-0jzmrks9k3] {
    margin-top: 20px;
    padding: 18px 20px;
    border-radius: 12px;
    background: #ffffff;
    color: #654444;
}

    .school-period-close-warning > strong[b-0jzmrks9k3] {
        color: #8f2020;
    }

    .school-period-close-warning p[b-0jzmrks9k3] {
        margin: 7px 0 0;
        font-size: 14px;
        line-height: 1.5;
    }

.school-period-close-actions[b-0jzmrks9k3] {
    margin-top: 23px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}


/* =========================================================
   HISTÓRICO
   ========================================================= */

.period-history-section[b-0jzmrks9k3] {
    width: 100%;
    margin-top: 28px;
}

.period-history-header[b-0jzmrks9k3] {
    margin-bottom: 15px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

    .period-history-header > div > span[b-0jzmrks9k3] {
        color: #6879df;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .period-history-header h2[b-0jzmrks9k3] {
        margin: 5px 0 0;
        color: #000000;
        font-size: clamp(22px, 2vw, 29px);
        font-weight: 900;
        text-transform: uppercase;
    }

.period-history-count[b-0jzmrks9k3] {
    padding: 7px 13px;
    border-radius: 18px;
    background: #e5e8ff;
    color: #5667cd;
    font-size: 13px;
    font-weight: 800;
}

.period-history-list[b-0jzmrks9k3] {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.period-history-item[b-0jzmrks9k3] {
    width: 100%;
    padding: 18px 20px;
    border: 2px solid #dce1ff;
    border-radius: 14px;
    background: #f7f8ff;
}

.period-history-main[b-0jzmrks9k3] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 20px;
}

    .period-history-main > div[b-0jzmrks9k3] {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    .period-history-main strong[b-0jzmrks9k3] {
        color: #111111;
        font-size: 19px;
        font-weight: 900;
    }

    .period-history-main span[b-0jzmrks9k3] {
        color: #666666;
        font-size: 13px;
    }

.period-history-status[b-0jzmrks9k3] {
    padding: 7px 13px;
    border-radius: 18px;
    background: #eeeeee;
    color: #555555 !important;
    font-size: 12px !important;
    font-weight: 800;
    text-transform: uppercase;
}

.period-history-button[b-0jzmrks9k3] {
    min-height: 39px;
    padding: 8px 18px;
    border: 2px solid #91a2ff;
    border-radius: 21px;
    background: #ffffff;
    color: #6273da;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

    .period-history-button:hover[b-0jzmrks9k3] {
        background: #eef0ff;
    }

    .period-history-button:disabled[b-0jzmrks9k3] {
        cursor: not-allowed;
        opacity: 0.55;
    }

.period-history-summary[b-0jzmrks9k3] {
    margin-top: 18px;
    padding-top: 18px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
    border-top: 2px solid #e0e3fa;
}

.period-history-summary-card[b-0jzmrks9k3] {
    min-width: 0;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 10px;
    background: #ffffff;
}

    .period-history-summary-card > div[b-0jzmrks9k3] {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

.period-history-summary span[b-0jzmrks9k3] {
    color: #777777;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.period-history-summary strong[b-0jzmrks9k3] {
    color: #111111;
    font-size: 21px;
    font-weight: 900;
}

.period-history-empty[b-0jzmrks9k3],
.period-history-loading[b-0jzmrks9k3],
.period-history-error[b-0jzmrks9k3] {
    width: 100%;
    padding: 20px;
    border-radius: 12px;
    text-align: center;
}

.period-history-empty[b-0jzmrks9k3],
.period-history-loading[b-0jzmrks9k3] {
    background: #f3f4ff;
    color: #555555;
}

.period-history-error[b-0jzmrks9k3] {
    margin-top: 15px;
    background: #fff0f0;
    color: #a61b1b;
}


/* =========================================================
   BOTONES
   ========================================================= */

.admin-primary-button[b-0jzmrks9k3],
.admin-secondary-button[b-0jzmrks9k3],
.admin-danger-outline-button[b-0jzmrks9k3],
.admin-danger-button[b-0jzmrks9k3] {
    min-height: 43px;
    padding: 10px 23px;
    border-radius: 23px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease;
}

.admin-primary-button[b-0jzmrks9k3] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.admin-secondary-button[b-0jzmrks9k3] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

.admin-danger-outline-button[b-0jzmrks9k3] {
    border: 2px solid #d64a4a;
    background: #ffffff;
    color: #bd2f2f;
}

.admin-danger-button[b-0jzmrks9k3] {
    border: 2px solid #d64a4a;
    background: #d64a4a;
    color: #ffffff;
}

    .admin-primary-button:hover[b-0jzmrks9k3],
    .admin-secondary-button:hover[b-0jzmrks9k3],
    .admin-danger-outline-button:hover[b-0jzmrks9k3],
    .admin-danger-button:hover[b-0jzmrks9k3] {
        opacity: 0.85;
        transform: translateY(-1px);
    }

    .admin-primary-button:disabled[b-0jzmrks9k3],
    .admin-secondary-button:disabled[b-0jzmrks9k3],
    .admin-danger-outline-button:disabled[b-0jzmrks9k3],
    .admin-danger-button:disabled[b-0jzmrks9k3] {
        cursor: not-allowed;
        opacity: 0.55;
        transform: none;
    }


/* =========================================================
   MENSAJES
   ========================================================= */

.admin-home-message[b-0jzmrks9k3],
.admin-home-error[b-0jzmrks9k3],
.admin-home-success[b-0jzmrks9k3] {
    width: 100%;
    padding: 20px;
    border-radius: 12px;
    text-align: center;
}

.admin-home-message[b-0jzmrks9k3] {
    background: #f3f4ff;
    color: #444444;
}

.admin-home-error[b-0jzmrks9k3] {
    background: #fff0f0;
    color: #a61b1b;
}

    .admin-home-error p[b-0jzmrks9k3] {
        margin: 8px 0 16px;
    }

.admin-home-error--compact[b-0jzmrks9k3],
.admin-home-success[b-0jzmrks9k3] {
    margin-bottom: 20px;
}

.admin-home-success[b-0jzmrks9k3] {
    background: #effbe8;
    color: #287c0b;
    font-weight: 700;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 950px) {
    .school-period-form-grid[b-0jzmrks9k3],
    .school-period-summary[b-0jzmrks9k3],
    .school-period-close-summary[b-0jzmrks9k3],
    .period-history-summary[b-0jzmrks9k3] {
        grid-template-columns: 1fr 1fr;
    }

    .school-period-empty-card[b-0jzmrks9k3] {
        grid-template-columns: auto 1fr;
    }

        .school-period-empty-card .admin-primary-button[b-0jzmrks9k3] {
            grid-column: 1 / -1;
            justify-self: stretch;
        }
}

@media (max-width: 768px) {
    .admin-home-page[b-0jzmrks9k3] {
        margin-top: 0;
    }

    .school-period-card-header[b-0jzmrks9k3],
    .school-period-form-header[b-0jzmrks9k3],
    .school-period-close-header[b-0jzmrks9k3],
    .period-history-header[b-0jzmrks9k3] {
        align-items: flex-start;
        flex-direction: column;
    }

    .school-period-dates[b-0jzmrks9k3],
    .school-period-form-grid[b-0jzmrks9k3],
    .school-period-summary[b-0jzmrks9k3],
    .school-period-close-summary[b-0jzmrks9k3],
    .period-history-summary[b-0jzmrks9k3] {
        grid-template-columns: 1fr;
    }

    .school-period-date-item:last-child[b-0jzmrks9k3] {
        text-align: left;
    }

    .school-period-date-separator[b-0jzmrks9k3] {
        transform: rotate(90deg);
        justify-self: center;
    }

    .school-period-actions[b-0jzmrks9k3],
    .school-period-form-actions[b-0jzmrks9k3],
    .school-period-close-actions[b-0jzmrks9k3] {
        align-items: stretch;
        flex-direction: column-reverse;
    }

        .school-period-actions button[b-0jzmrks9k3],
        .school-period-form-actions button[b-0jzmrks9k3],
        .school-period-close-actions button[b-0jzmrks9k3] {
            width: 100%;
        }

    .school-period-empty-card[b-0jzmrks9k3] {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .school-period-empty-icon[b-0jzmrks9k3] {
        justify-self: center;
    }

    .period-history-main[b-0jzmrks9k3] {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .period-history-button[b-0jzmrks9k3] {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .admin-home-header h1[b-0jzmrks9k3] {
        font-size: 28px;
    }

    .school-period-card[b-0jzmrks9k3],
    .school-period-form-card[b-0jzmrks9k3],
    .school-period-empty-card[b-0jzmrks9k3],
    .school-period-close-panel[b-0jzmrks9k3] {
        padding: 19px 16px;
        border-width: 2px;
    }

    .school-period-note[b-0jzmrks9k3] {
        align-items: flex-start;
    }
}


/* =========================================================
   OJOS Y DETALLE DEL HISTÓRICO
   ========================================================= */

.period-history-eye-button[b-0jzmrks9k3] {
    width: 39px;
    height: 39px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid #d5d9f6;
    border-radius: 50%;
    background: #ffffff;
    color: #6879df;
    cursor: pointer;
    transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

    .period-history-eye-button svg[b-0jzmrks9k3] {
        width: 21px;
        height: 21px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .period-history-eye-button:hover[b-0jzmrks9k3] {
        border-color: #91a2ff;
        background: #eef0ff;
        transform: translateY(-1px);
    }

.period-history-eye-button--active[b-0jzmrks9k3] {
    border-color: #91a2ff;
    background: #91a2ff;
    color: #ffffff;
}

.period-history-detail[b-0jzmrks9k3] {
    width: 100%;
    margin-top: 16px;
    padding: 19px;
    border: 2px solid #dce1ff;
    border-radius: 12px;
    background: #ffffff;
}

.period-history-detail-header[b-0jzmrks9k3] {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

    .period-history-detail-header > div > span[b-0jzmrks9k3] {
        color: #6879df;
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .period-history-detail-header h3[b-0jzmrks9k3] {
        margin: 4px 0 0;
        color: #111111;
        font-size: 20px;
        font-weight: 900;
        text-transform: uppercase;
    }

.period-history-detail-close[b-0jzmrks9k3] {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #eef0ff;
    color: #6273da;
    font-family: inherit;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.period-history-detail-list[b-0jzmrks9k3] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.period-history-detail-row[b-0jzmrks9k3] {
    width: 100%;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    border: 2px solid #eceefe;
    border-radius: 10px;
    background: #f9f9ff;
}

.period-history-detail-main[b-0jzmrks9k3] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

    .period-history-detail-main strong[b-0jzmrks9k3] {
        color: #111111;
        font-size: 15px;
        font-weight: 900;
        overflow-wrap: anywhere;
    }

    .period-history-detail-main span[b-0jzmrks9k3] {
        color: #666666;
        font-size: 13px;
        line-height: 1.4;
        overflow-wrap: anywhere;
    }

.period-history-detail-meta[b-0jzmrks9k3] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px 16px;
    flex-shrink: 0;
}

    .period-history-detail-meta > span[b-0jzmrks9k3] {
        color: #737373;
        font-size: 12px;
        font-weight: 700;
        white-space: nowrap;
    }

    .period-history-detail-meta strong[b-0jzmrks9k3] {
        color: #111111;
        font-weight: 900;
    }

.period-history-detail-status[b-0jzmrks9k3] {
    padding: 6px 11px;
    border-radius: 16px;
    background: #eeeeee;
    color: #555555 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
}

.period-history-detail-empty[b-0jzmrks9k3] {
    width: 100%;
    padding: 20px;
    border-radius: 10px;
    background: #f3f4ff;
    color: #555555;
    text-align: center;
}

@media (max-width: 768px) {
    .period-history-detail-row[b-0jzmrks9k3] {
        align-items: flex-start;
        flex-direction: column;
    }

    .period-history-detail-meta[b-0jzmrks9k3] {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 480px) {
    .period-history-summary-card[b-0jzmrks9k3] {
        padding: 13px;
    }

    .period-history-detail[b-0jzmrks9k3] {
        padding: 14px;
    }

    .period-history-detail-meta[b-0jzmrks9k3] {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }
}
/* /Pages/Admin/NinoDetalle.razor.rz.scp.css */
/* =========================================================
   CONFIGURACIÓN GENERAL
   ========================================================= */

.child-detail-page[b-f6x2o5l2tu],
.child-detail-page *[b-f6x2o5l2tu] {
    box-sizing: border-box;
}

.child-detail-page[b-f6x2o5l2tu] {
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.child-detail-header[b-f6x2o5l2tu] {
    width: 100%;
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.child-back-button[b-f6x2o5l2tu] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #6879df;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

    .child-back-button:hover[b-f6x2o5l2tu] {
        text-decoration: underline;
    }

.child-detail-header h1[b-f6x2o5l2tu] {
    margin: 12px 0 6px;
    color: #000000;
    font-size: clamp(31px, 3vw, 46px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.child-detail-header p[b-f6x2o5l2tu] {
    margin: 0;
    color: #666666;
    font-size: 15px;
}

.child-header-actions[b-f6x2o5l2tu] {
    display: flex;
    align-items: center;
    gap: 12px;
}


/* =========================================================
   BOTONES
   ========================================================= */

.child-edit-button[b-f6x2o5l2tu],
.child-primary-button[b-f6x2o5l2tu],
.child-secondary-button[b-f6x2o5l2tu],
.child-deactivate-button[b-f6x2o5l2tu],
.child-danger-button[b-f6x2o5l2tu],
.child-remove-classroom-button[b-f6x2o5l2tu] {
    min-height: 43px;
    padding: 10px 22px;
    border-radius: 24px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease;
}

.child-edit-button[b-f6x2o5l2tu],
.child-primary-button[b-f6x2o5l2tu] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.child-secondary-button[b-f6x2o5l2tu] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

.child-deactivate-button[b-f6x2o5l2tu],
.child-remove-classroom-button[b-f6x2o5l2tu] {
    border: 2px solid #d64a4a;
    background: #ffffff;
    color: #bd2f2f;
}

.child-danger-button[b-f6x2o5l2tu] {
    border: 2px solid #d64a4a;
    background: #d64a4a;
    color: #ffffff;
}

    .child-edit-button:hover[b-f6x2o5l2tu],
    .child-primary-button:hover[b-f6x2o5l2tu],
    .child-secondary-button:hover[b-f6x2o5l2tu],
    .child-deactivate-button:hover[b-f6x2o5l2tu],
    .child-danger-button:hover[b-f6x2o5l2tu],
    .child-remove-classroom-button:hover[b-f6x2o5l2tu] {
        opacity: 0.84;
        transform: translateY(-1px);
    }

    .child-edit-button:disabled[b-f6x2o5l2tu],
    .child-primary-button:disabled[b-f6x2o5l2tu],
    .child-secondary-button:disabled[b-f6x2o5l2tu],
    .child-deactivate-button:disabled[b-f6x2o5l2tu],
    .child-danger-button:disabled[b-f6x2o5l2tu],
    .child-remove-classroom-button:disabled[b-f6x2o5l2tu] {
        cursor: not-allowed;
        opacity: 0.55;
        transform: none;
    }


/* =========================================================
   TARJETAS
   ========================================================= */

.child-detail-card[b-f6x2o5l2tu] {
    width: 100%;
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid #91a2ff;
    border-radius: 17px;
    background: #f7f8ff;
}

    .child-detail-card + .child-detail-card[b-f6x2o5l2tu] {
        margin-top: 22px;
    }

.child-card-header[b-f6x2o5l2tu] {
    margin-bottom: 28px;
}

.child-profile-title[b-f6x2o5l2tu] {
    display: flex;
    align-items: center;
    gap: 18px;
}

.child-avatar[b-f6x2o5l2tu] {
    width: 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ffffff;
    color: #91a2ff;
    font-size: 30px;
    font-weight: 900;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.14);
}

.child-card-header h2[b-f6x2o5l2tu],
.child-section-heading h2[b-f6x2o5l2tu] {
    margin: 0;
    color: #000000;
    font-size: clamp(22px, 2vw, 29px);
    font-weight: 900;
    text-transform: uppercase;
}

.child-status[b-f6x2o5l2tu] {
    display: inline-flex;
    margin-top: 10px;
    padding: 6px 13px;
    border-radius: 18px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.child-status--active[b-f6x2o5l2tu] {
    background: #def5ce;
    color: #31820b;
}

.child-status--inactive[b-f6x2o5l2tu] {
    background: #ffe0e0;
    color: #a12626;
}


/* =========================================================
   INFORMACIÓN DEL NIÑO
   ========================================================= */

.child-information-grid[b-f6x2o5l2tu] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 35px;
}

.child-information-item[b-f6x2o5l2tu] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.child-information-item--full[b-f6x2o5l2tu] {
    grid-column: 1 / -1;
}

.child-information-item span[b-f6x2o5l2tu] {
    color: #666666;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.child-information-item strong[b-f6x2o5l2tu] {
    color: #111111;
    font-size: 17px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}


/* =========================================================
   FORMULARIOS
   ========================================================= */

.child-form-grid[b-f6x2o5l2tu],
.child-enrollment-form[b-f6x2o5l2tu] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 30px;
}

.child-form-field[b-f6x2o5l2tu] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.child-form-field--full[b-f6x2o5l2tu] {
    grid-column: 1 / -1;
}

.child-form-field label[b-f6x2o5l2tu] {
    color: #222222;
    font-size: 14px;
    font-weight: 800;
}

/*
   ::deep permite que el CSS aislado alcance los controles
   HTML generados por InputText, InputDate e InputSelect.
*/
.child-form-control[b-f6x2o5l2tu],
[b-f6x2o5l2tu] .child-form-control {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
    transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .child-form-control:hover[b-f6x2o5l2tu],
    [b-f6x2o5l2tu] .child-form-control:hover {
        border-color: #bcc4f3;
    }

    .child-form-control:focus[b-f6x2o5l2tu],
    [b-f6x2o5l2tu] .child-form-control:focus {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

    .child-form-control.invalid[b-f6x2o5l2tu],
    [b-f6x2o5l2tu] .child-form-control.invalid {
        border-color: #dc3545;
        background: #fffafa;
    }

    .child-form-control.valid.modified[b-f6x2o5l2tu],
    [b-f6x2o5l2tu] .child-form-control.valid.modified {
        border-color: #46b565;
    }

.child-form-textarea[b-f6x2o5l2tu],
[b-f6x2o5l2tu] .child-form-textarea {
    min-height: 105px;
    resize: vertical;
    line-height: 1.45;
}

.child-form-textarea--small[b-f6x2o5l2tu],
[b-f6x2o5l2tu] .child-form-textarea--small {
    min-height: 82px;
}

.child-form-field .validation-message[b-f6x2o5l2tu] {
    color: #b42318;
    font-size: 12px;
    font-weight: 600;
}

.child-form-actions[b-f6x2o5l2tu] {
    margin-top: 28px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}


/* =========================================================
   AULA Y MATRÍCULA
   ========================================================= */

.child-section-heading[b-f6x2o5l2tu] {
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

    .child-section-heading p[b-f6x2o5l2tu] {
        margin: 7px 0 0;
        color: #666666;
        font-size: 14px;
    }

.child-classroom-summary[b-f6x2o5l2tu],
.child-classroom-empty[b-f6x2o5l2tu] {
    width: 100%;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 17px;
    border: 2px solid #e0e3fa;
    border-radius: 13px;
    background: #ffffff;
}

.child-classroom-icon[b-f6x2o5l2tu] {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #e5e8ff;
    color: #6b61d8;
    font-size: 24px;
    font-weight: 900;
}

.child-classroom-information[b-f6x2o5l2tu] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

    .child-classroom-information span[b-f6x2o5l2tu] {
        color: #666666;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .child-classroom-information strong[b-f6x2o5l2tu],
    .child-classroom-empty strong[b-f6x2o5l2tu] {
        color: #111111;
        font-size: 19px;
        font-weight: 800;
    }

    .child-classroom-information small[b-f6x2o5l2tu] {
        color: #666666;
        font-size: 13px;
        line-height: 1.4;
    }

.child-classroom-empty p[b-f6x2o5l2tu] {
    margin: 5px 0 0;
    color: #666666;
    font-size: 14px;
}

.child-enrollment-form[b-f6x2o5l2tu] {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 2px solid #e0e3fa;
}

.child-classroom-warning[b-f6x2o5l2tu] {
    width: 100%;
    margin-top: 20px;
    padding: 16px 18px;
    border-radius: 11px;
    background: #fff7df;
    color: #805d00;
    font-weight: 700;
}


/* =========================================================
   CONFIRMACIONES
   ========================================================= */

.child-confirmation[b-f6x2o5l2tu],
.child-remove-confirmation[b-f6x2o5l2tu] {
    width: 100%;
    margin-bottom: 22px;
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    border: 2px solid #e5a1a1;
    border-radius: 14px;
    background: #fff5f5;
}

.child-remove-confirmation[b-f6x2o5l2tu] {
    margin-top: 22px;
    margin-bottom: 0;
}

    .child-confirmation strong[b-f6x2o5l2tu],
    .child-remove-confirmation strong[b-f6x2o5l2tu] {
        color: #992020;
        font-size: 17px;
    }

    .child-confirmation p[b-f6x2o5l2tu],
    .child-remove-confirmation p[b-f6x2o5l2tu] {
        margin: 6px 0 0;
        color: #6d4444;
        font-size: 14px;
    }

.child-confirmation-actions[b-f6x2o5l2tu],
.child-error-actions[b-f6x2o5l2tu] {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}


/* =========================================================
   MENSAJES
   ========================================================= */

.child-detail-message[b-f6x2o5l2tu],
.child-detail-error[b-f6x2o5l2tu],
.child-detail-success[b-f6x2o5l2tu] {
    width: 100%;
    padding: 18px 20px;
    border-radius: 12px;
    text-align: center;
}

.child-detail-error[b-f6x2o5l2tu] {
    background: #fff0f0;
    color: #a61b1b;
}

    .child-detail-error p[b-f6x2o5l2tu] {
        margin: 7px 0 16px;
    }

.child-detail-error--compact[b-f6x2o5l2tu],
.child-detail-success[b-f6x2o5l2tu] {
    margin-bottom: 20px;
}

.child-detail-success[b-f6x2o5l2tu] {
    background: #effbe8;
    color: #287c0b;
    font-weight: 700;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {
    .child-information-grid[b-f6x2o5l2tu],
    .child-form-grid[b-f6x2o5l2tu],
    .child-enrollment-form[b-f6x2o5l2tu] {
        grid-template-columns: 1fr;
    }

    .child-information-item--full[b-f6x2o5l2tu],
    .child-form-field--full[b-f6x2o5l2tu] {
        grid-column: auto;
    }

    .child-detail-header[b-f6x2o5l2tu],
    .child-section-heading[b-f6x2o5l2tu],
    .child-confirmation[b-f6x2o5l2tu],
    .child-remove-confirmation[b-f6x2o5l2tu] {
        align-items: stretch;
        flex-direction: column;
    }

    .child-header-actions[b-f6x2o5l2tu],
    .child-confirmation-actions[b-f6x2o5l2tu] {
        justify-content: flex-end;
    }
}

@media (max-width: 768px) {
    .child-detail-page[b-f6x2o5l2tu] {
        margin-top: 0;
    }

    .child-header-actions[b-f6x2o5l2tu],
    .child-confirmation-actions[b-f6x2o5l2tu],
    .child-form-actions[b-f6x2o5l2tu] {
        align-items: stretch;
        flex-direction: column;
    }

        .child-header-actions button[b-f6x2o5l2tu],
        .child-confirmation-actions button[b-f6x2o5l2tu],
        .child-form-actions button[b-f6x2o5l2tu],
        .child-section-heading button[b-f6x2o5l2tu] {
            width: 100%;
        }

    .child-profile-title[b-f6x2o5l2tu] {
        align-items: flex-start;
    }

    .child-avatar[b-f6x2o5l2tu] {
        width: 68px;
        height: 68px;
        font-size: 24px;
    }

    .child-classroom-summary[b-f6x2o5l2tu],
    .child-classroom-empty[b-f6x2o5l2tu] {
        align-items: flex-start;
    }
}


/* =========================================================
   PADRES Y TUTORES VINCULADOS
   ========================================================= */

.child-family-count[b-f6x2o5l2tu] {
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    flex: 0 0 38px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #e5e8ff;
    color: #6273da;
    line-height: 1;
    text-align: center;
}

.child-family-grid[b-f6x2o5l2tu] {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.child-family-member[b-f6x2o5l2tu] {
    min-width: 0;
    padding: 18px;
    border: 2px solid #d9ddff;
    border-radius: 14px;
    background: #ffffff;
}

.child-family-member-header[b-f6x2o5l2tu] {
    display: flex;
    align-items: center;
    gap: 13px;
}

.child-family-avatar[b-f6x2o5l2tu] {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #e5e8ff;
    color: #6273da;
    font-size: 18px;
    font-weight: 900;
}

.child-family-member-header > div:nth-child(2)[b-f6x2o5l2tu] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.child-family-member-header strong[b-f6x2o5l2tu] {
    color: #111111;
    overflow-wrap: anywhere;
}

.child-family-member-header span[b-f6x2o5l2tu] {
    color: #666666;
    font-size: 13px;
}

.child-family-status[b-f6x2o5l2tu] {
    padding: 5px 9px;
    flex-shrink: 0;
    border-radius: 14px;
    font-size: 10px;
    font-weight: 900;
}

.child-family-status--active[b-f6x2o5l2tu] {
    background: #def5ce;
    color: #31820b;
}

.child-family-status--inactive[b-f6x2o5l2tu] {
    background: #ffe0e0;
    color: #a12626;
}

.child-family-information[b-f6x2o5l2tu] {
    margin-top: 17px;
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.child-family-information > div[b-f6x2o5l2tu] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.child-family-information span[b-f6x2o5l2tu] {
    color: #666666;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.child-family-information strong[b-f6x2o5l2tu] {
    color: #111111;
    overflow-wrap: anywhere;
}

.child-family-empty[b-f6x2o5l2tu] {
    padding: 22px;
    border-radius: 12px;
    background: #ffffff;
    color: #666666;
    text-align: center;
}

@media (max-width: 980px) {
    .child-family-grid[b-f6x2o5l2tu] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .child-family-member-header[b-f6x2o5l2tu] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .child-family-information[b-f6x2o5l2tu] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Admin/Ninos.razor.rz.scp.css */
/* =========================================================
   CONFIGURACIÓN GENERAL
   ========================================================= */

.children-page[b-33s6ho4k4c],
.children-page *[b-33s6ho4k4c] {
    box-sizing: border-box;
}

.children-page[b-33s6ho4k4c] {
    width: 100%;
    margin: 20px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.children-header[b-33s6ho4k4c] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

    .children-header h1[b-33s6ho4k4c] {
        margin: 0;
        color: #000000;
        font-size: clamp(30px, 2.6vw, 40px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

.children-header-actions[b-33s6ho4k4c] {
    display: flex;
    align-items: center;
    gap: 20px;
}


/* =========================================================
   BOTÓN DE FILTROS
   ========================================================= */

.children-filter-button[b-33s6ho4k4c] {
    min-width: 130px;
    height: 44px;
    padding: 0 24px;
    border: 0;
    border-radius: 25px;
    background: #91a2ff;
    color: #ffffff;
    font-family: inherit;
    font-size: 17px;
    font-weight: 500;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease;
}

    .children-filter-button:hover[b-33s6ho4k4c] {
        opacity: 0.85;
        transform: translateY(-1px);
    }


/* =========================================================
   BOTÓN AGREGAR
   ========================================================= */

.children-add-button[b-33s6ho4k4c] {
    width: 62px;
    height: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 25px;
    background: #91a2ff;
    color: #ffffff;
    font-family: inherit;
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease;
}

    .children-add-button:hover[b-33s6ho4k4c] {
        opacity: 0.85;
        transform: scale(1.04);
    }


/* =========================================================
   LÍNEA DIVISORA
   ========================================================= */

.children-divider[b-33s6ho4k4c] {
    width: 100%;
    height: clamp(14px, 1.5vw, 20px);
    margin-top: 16px;
    border-radius: 14px;
    background: #91a2ff;
}


/* =========================================================
   PANEL DE FILTROS
   ========================================================= */

.children-filter-panel[b-33s6ho4k4c] {
    width: 100%;
    margin-top: 16px;
    padding: 18px 22px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    border: 2px solid #d9ddff;
    border-radius: 13px;
    background: #f7f8ff;
}

.children-filter-field[b-33s6ho4k4c] {
    width: min(100%, 600px);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.children-filter-field--classroom[b-33s6ho4k4c] {
    width: min(100%, 310px);
}

    .children-filter-field label[b-33s6ho4k4c] {
        color: #222222;
        font-size: 14px;
        font-weight: 800;
    }

.children-search-wrapper[b-33s6ho4k4c] {
    position: relative;
    width: 100%;
}

.children-search-input[b-33s6ho4k4c] {
    width: 100%;
    min-height: 45px;
    padding: 10px 45px 10px 14px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
}

    /* Oculta la X automática que agregan Chrome, Edge y Safari. */
    .children-search-input[b-33s6ho4k4c]::-webkit-search-cancel-button,
    .children-search-input[b-33s6ho4k4c]::-webkit-search-decoration {
        appearance: none;
        -webkit-appearance: none;
        display: none;
    }

    .children-search-input:focus[b-33s6ho4k4c] {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

.children-filter-select[b-33s6ho4k4c] {
    width: 100%;
    min-height: 45px;
    padding: 10px 38px 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
    cursor: pointer;
}

.children-filter-select:focus[b-33s6ho4k4c] {
    border-color: #91a2ff;
    box-shadow:
        0 0 0 3px
        rgba(145, 162, 255, 0.18);
}

.children-filter-select:disabled[b-33s6ho4k4c] {
    cursor: not-allowed;
    opacity: 0.6;
}

.children-clear-search[b-33s6ho4k4c] {
    position: absolute;
    top: 50%;
    right: 11px;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    transform: translateY(-50%);
    background: #eef0ff;
    color: #6474d8;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
}

.children-result-count[b-33s6ho4k4c] {
    flex-shrink: 0;
    color: #6879df;
    font-size: 14px;
    font-weight: 800;
}


/* =========================================================
   LISTADO
   ========================================================= */

.children-list[b-33s6ho4k4c] {
    width: 100%;
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.child-card[b-33s6ho4k4c] {
    width: 100%;
    min-height: 116px;
    padding: 14px 28px 14px 14px;
    display: flex;
    align-items: center;
    gap: 28px;
    border: 4px solid #91a2ff;
    border-radius: 14px;
    background: #d7ddff;
    transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .child-card:hover[b-33s6ho4k4c] {
        transform: translateY(-1px);
        background: #dfe3ff;
        box-shadow: 0 6px 14px rgba(87, 102, 185, 0.13);
    }


/* =========================================================
   AVATAR
   ========================================================= */

.child-avatar[b-33s6ho4k4c] {
    width: 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ffffff;
    color: #91a2ff;
    font-size: 31px;
    font-weight: 900;
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.18);
}


/* =========================================================
   INFORMACIÓN
   ========================================================= */

.child-information[b-33s6ho4k4c] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
}

    .child-information strong[b-33s6ho4k4c] {
        color: #000000;
        font-size: clamp(21px, 2vw, 29px);
        font-weight: 700;
        text-transform: uppercase;
        overflow-wrap: anywhere;
    }

.child-classroom[b-33s6ho4k4c] {
    color: #555555;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}


/* =========================================================
   BOTÓN VER
   ========================================================= */

.child-view-button[b-33s6ho4k4c] {
    width: 46px;
    height: 46px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid #6273da;
    border-radius: 50%;
    background: #ffffff;
    color: #6273da;
    cursor: pointer;
    transition:
        background-color 150ms ease,
        color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

.child-view-button svg[b-33s6ho4k4c] {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.child-view-button:hover[b-33s6ho4k4c] {
    background: #6273da;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 13px rgba(98, 115, 218, 0.24);
}

.child-view-button:active[b-33s6ho4k4c] {
    transform: translateY(0);
}

.child-view-button:focus-visible[b-33s6ho4k4c] {
    outline: 3px solid rgba(98, 115, 218, 0.28);
    outline-offset: 3px;
}


/* =========================================================
   MENSAJES
   ========================================================= */

.children-message[b-33s6ho4k4c],
.children-empty[b-33s6ho4k4c],
.children-error[b-33s6ho4k4c] {
    width: 100%;
    margin-top: 24px;
    padding: 25px;
    border-radius: 12px;
    text-align: center;
}

.children-message[b-33s6ho4k4c],
.children-empty[b-33s6ho4k4c] {
    background: #f3f4ff;
    color: #444444;
}

.children-error[b-33s6ho4k4c] {
    background: #fff0f0;
    color: #a61b1b;
}

    .children-error p[b-33s6ho4k4c] {
        margin: 0;
    }

    .children-error button[b-33s6ho4k4c] {
        margin: 15px auto 0;
        padding: 9px 20px;
        display: block;
        border: 0;
        border-radius: 8px;
        background: #91a2ff;
        color: #ffffff;
        font-weight: 800;
        cursor: pointer;
    }


/* =========================================================
   TABLETAS
   ========================================================= */

@media (max-width: 900px) {
    .children-filter-panel[b-33s6ho4k4c] {
        align-items: stretch;
        flex-direction: column;
    }

    .children-filter-field[b-33s6ho4k4c],
    .children-filter-field--classroom[b-33s6ho4k4c] {
        width: 100%;
    }
}


/* =========================================================
   TELÉFONOS
   ========================================================= */

@media (max-width: 768px) {
    .children-page[b-33s6ho4k4c] {
        margin-top: 0;
    }

    .children-header[b-33s6ho4k4c] {
        align-items: flex-start;
    }

    .children-header-actions[b-33s6ho4k4c] {
        gap: 9px;
    }

    .children-filter-button[b-33s6ho4k4c] {
        min-width: auto;
        height: 40px;
        padding: 0 15px;
        font-size: 14px;
    }

    .children-add-button[b-33s6ho4k4c] {
        width: 54px;
        height: 40px;
        font-size: 35px;
    }

    .child-card[b-33s6ho4k4c] {
        padding: 17px;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 16px;
    }

    .child-avatar[b-33s6ho4k4c] {
        width: 65px;
        height: 65px;
        font-size: 24px;
    }

    .child-information[b-33s6ho4k4c] {
        min-height: 65px;
    }

        .child-information strong[b-33s6ho4k4c] {
            font-size: 20px;
        }

    .child-view-button[b-33s6ho4k4c] {
        margin-left: auto;
    }
}


/* =========================================================
   TELÉFONOS PEQUEÑOS
   ========================================================= */

@media (max-width: 480px) {
    .children-header h1[b-33s6ho4k4c] {
        font-size: 25px;
    }

    .children-filter-button[b-33s6ho4k4c] {
        font-size: 12px;
    }

    .child-information strong[b-33s6ho4k4c] {
        font-size: 18px;
    }
}
/* /Pages/Admin/NuevaAula.razor.rz.scp.css */
/* =========================================================
   CONTENEDOR GENERAL
   ========================================================= */

.new-classroom-page[b-xmgpizyo9t],
.new-classroom-page *[b-xmgpizyo9t] {
    box-sizing: border-box;
}

.new-classroom-page[b-xmgpizyo9t] {
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.new-classroom-header[b-xmgpizyo9t] {
    width: 100%;
    margin-bottom: 25px;
}

    .new-classroom-header h1[b-xmgpizyo9t] {
        margin: 12px 0 7px;
        color: #000000;
        font-size: clamp(31px, 3vw, 46px);
        font-weight: 900;
        line-height: 1.05;
        text-transform: uppercase;
    }

    .new-classroom-header p[b-xmgpizyo9t] {
        margin: 0;
        color: #666666;
        font-size: 16px;
        line-height: 1.45;
    }

.new-classroom-back[b-xmgpizyo9t] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #6879df;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

    .new-classroom-back:hover[b-xmgpizyo9t] {
        text-decoration: underline;
    }


/* =========================================================
   TARJETA DEL FORMULARIO
   ========================================================= */

.new-classroom-card[b-xmgpizyo9t] {
    width: 100%;
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid #91a2ff;
    border-radius: 17px;
    background: #f7f8ff;
}

.new-classroom-card-header[b-xmgpizyo9t] {
    margin-bottom: 27px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

    .new-classroom-card-header h2[b-xmgpizyo9t] {
        margin: 0;
        color: #000000;
        font-size: clamp(22px, 2vw, 29px);
        font-weight: 900;
        text-transform: uppercase;
    }

.new-classroom-status[b-xmgpizyo9t] {
    padding: 7px 15px;
    border-radius: 20px;
    background: #e5e8ff;
    color: #5667cd;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}


/* =========================================================
   DISTRIBUCIÓN DEL FORMULARIO
   ========================================================= */

.new-classroom-form-grid[b-xmgpizyo9t] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 30px;
}

.new-classroom-field[b-xmgpizyo9t] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.new-classroom-field--full[b-xmgpizyo9t] {
    grid-column: 1 / -1;
}

.new-classroom-field label[b-xmgpizyo9t],
.new-classroom-label[b-xmgpizyo9t] {
    color: #222222;
    font-size: 14px;
    font-weight: 800;
}

.new-classroom-field small[b-xmgpizyo9t] {
    color: #777777;
    font-size: 12px;
    line-height: 1.35;
}


/* =========================================================
   CONTROLES
   ========================================================= */

.new-classroom-control[b-xmgpizyo9t],
[b-xmgpizyo9t] .new-classroom-control {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

    .new-classroom-control[b-xmgpizyo9t]::placeholder,
    [b-xmgpizyo9t] .new-classroom-control::placeholder {
        color: #aaaaaa;
    }

    .new-classroom-control:focus[b-xmgpizyo9t],
    [b-xmgpizyo9t] .new-classroom-control:focus {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

.new-classroom-textarea[b-xmgpizyo9t],
[b-xmgpizyo9t] .new-classroom-textarea {
    min-height: 125px;
    resize: vertical;
}


/* =========================================================
   ESTADO
   ========================================================= */

.new-classroom-status-field[b-xmgpizyo9t] {
    justify-content: flex-end;
}

.new-classroom-checkbox[b-xmgpizyo9t] {
    min-height: 46px;
    padding: 10px 13px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    background: #ffffff;
    cursor: pointer;
}

    .new-classroom-checkbox input[b-xmgpizyo9t] {
        width: 18px;
        height: 18px;
        accent-color: #91a2ff;
    }


/* =========================================================
   VALIDACIONES
   ========================================================= */

.new-classroom-field .validation-message[b-xmgpizyo9t] {
    color: #b42318;
    font-size: 12px;
    font-weight: 600;
}


/* =========================================================
   NOTA SOBRE LA SEÑO
   ========================================================= */

.new-classroom-teacher-note[b-xmgpizyo9t] {
    width: 100%;
    margin-top: 28px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
}

.new-classroom-teacher-icon[b-xmgpizyo9t] {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #e5e8ff;
    font-size: 24px;
}

.new-classroom-teacher-note strong[b-xmgpizyo9t] {
    color: #111111;
    font-size: 15px;
    font-weight: 800;
}

.new-classroom-teacher-note p[b-xmgpizyo9t] {
    margin: 5px 0 0;
    color: #666666;
    font-size: 13px;
    line-height: 1.45;
}


/* =========================================================
   BOTONES
   ========================================================= */

.new-classroom-actions[b-xmgpizyo9t] {
    margin-top: 28px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.new-classroom-primary-button[b-xmgpizyo9t],
.new-classroom-secondary-button[b-xmgpizyo9t] {
    min-height: 43px;
    padding: 10px 23px;
    border-radius: 22px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease;
}

.new-classroom-primary-button[b-xmgpizyo9t] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.new-classroom-secondary-button[b-xmgpizyo9t] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

    .new-classroom-primary-button:hover[b-xmgpizyo9t],
    .new-classroom-secondary-button:hover[b-xmgpizyo9t] {
        opacity: 0.85;
        transform: translateY(-1px);
    }

    .new-classroom-primary-button:disabled[b-xmgpizyo9t],
    .new-classroom-secondary-button:disabled[b-xmgpizyo9t] {
        cursor: not-allowed;
        opacity: 0.55;
        transform: none;
    }


/* =========================================================
   MENSAJES
   ========================================================= */

.new-classroom-message[b-xmgpizyo9t],
.new-classroom-error[b-xmgpizyo9t],
.new-classroom-empty[b-xmgpizyo9t] {
    width: 100%;
    padding: 23px;
    border-radius: 12px;
    text-align: center;
}

.new-classroom-message[b-xmgpizyo9t] {
    background: #f3f4ff;
    color: #444444;
}

.new-classroom-error[b-xmgpizyo9t] {
    margin-bottom: 20px;
    background: #fff0f0;
    color: #a61b1b;
    font-weight: 700;
}

.new-classroom-empty[b-xmgpizyo9t] {
    background: #f3f4ff;
    color: #444444;
}

    .new-classroom-empty p[b-xmgpizyo9t] {
        margin: 8px 0 18px;
    }


/* =========================================================
   TABLETAS
   ========================================================= */

@media (max-width: 900px) {
    .new-classroom-form-grid[b-xmgpizyo9t] {
        grid-template-columns: 1fr;
    }

    .new-classroom-field--full[b-xmgpizyo9t] {
        grid-column: auto;
    }
}


/* =========================================================
   TELÉFONOS
   ========================================================= */

@media (max-width: 768px) {
    .new-classroom-page[b-xmgpizyo9t] {
        margin-top: 0;
    }

    .new-classroom-header h1[b-xmgpizyo9t] {
        font-size: 29px;
    }

    .new-classroom-card[b-xmgpizyo9t] {
        padding: 20px 17px;
    }

    .new-classroom-control[b-xmgpizyo9t],
    [b-xmgpizyo9t] .new-classroom-control {
        min-width: 0;
        max-width: 100%;
        font-size: 16px;
    }

    .new-classroom-card-header[b-xmgpizyo9t] {
        align-items: flex-start;
        flex-direction: column;
    }

    .new-classroom-teacher-note[b-xmgpizyo9t] {
        align-items: flex-start;
    }

    .new-classroom-actions[b-xmgpizyo9t] {
        align-items: stretch;
        flex-direction: column-reverse;
    }

        .new-classroom-actions button[b-xmgpizyo9t] {
            width: 100%;
        }
}


/* =========================================================
   TELÉFONOS PEQUEÑOS
   ========================================================= */

@media (max-width: 480px) {
    .new-classroom-header h1[b-xmgpizyo9t] {
        font-size: 25px;
    }

    .new-classroom-card-header h2[b-xmgpizyo9t] {
        font-size: 20px;
    }

    .new-classroom-teacher-note[b-xmgpizyo9t] {
        padding: 15px;
    }
}
/* /Pages/Admin/NuevaProfesora.razor.rz.scp.css */
/* =========================================================
   CONTENEDOR GENERAL
   ========================================================= */

.new-teacher-page[b-09guev06dd],
.new-teacher-page *[b-09guev06dd] {
    box-sizing: border-box;
}

.new-teacher-page[b-09guev06dd] {
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.new-teacher-header[b-09guev06dd] {
    width: 100%;
    margin-bottom: 25px;
}

    .new-teacher-header h1[b-09guev06dd] {
        margin: 12px 0 7px;
        color: #000000;
        font-size: clamp(31px, 3vw, 46px);
        font-weight: 900;
        line-height: 1.05;
        text-transform: uppercase;
    }

    .new-teacher-header p[b-09guev06dd] {
        margin: 0;
        color: #666666;
        font-size: 16px;
        line-height: 1.45;
    }

.new-teacher-back[b-09guev06dd] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #6879df;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

    .new-teacher-back:hover[b-09guev06dd] {
        text-decoration: underline;
    }


/* =========================================================
   TARJETA
   ========================================================= */

.new-teacher-card[b-09guev06dd] {
    width: 100%;
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid #91a2ff;
    border-radius: 17px;
    background: #f7f8ff;
}

.new-teacher-card-header[b-09guev06dd] {
    margin-bottom: 27px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

    .new-teacher-card-header h2[b-09guev06dd] {
        margin: 0;
        color: #000000;
        font-size: clamp(22px, 2vw, 29px);
        font-weight: 900;
        text-transform: uppercase;
    }

.new-teacher-status[b-09guev06dd] {
    padding: 7px 15px;
    border-radius: 20px;
    background: #e5e8ff;
    color: #5667cd;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}


/* =========================================================
   DISTRIBUCIÓN DEL FORMULARIO
   ========================================================= */

.new-teacher-form-grid[b-09guev06dd] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 30px;
}

.new-teacher-field[b-09guev06dd] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/*
   Espacio vacío utilizado para que la cédula ocupe solamente
   la primera columna y las contraseñas comiencen en otra fila.
*/
.new-teacher-field-spacer[b-09guev06dd] {
    display: block;
}

.new-teacher-field label[b-09guev06dd] {
    color: #222222;
    font-size: 14px;
    font-weight: 800;
}

.new-teacher-field small[b-09guev06dd] {
    color: #777777;
    font-size: 12px;
    line-height: 1.4;
}


/* =========================================================
   CONTROLES DEL FORMULARIO
   ========================================================= */

.new-teacher-control[b-09guev06dd] {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
    transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .new-teacher-control[b-09guev06dd]::placeholder {
        color: #aaaaaa;
    }

    .new-teacher-control:hover[b-09guev06dd] {
        border-color: #bcc4f3;
    }

    .new-teacher-control:focus[b-09guev06dd] {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

    /*
   Permite distinguir los campos que Blazor determina
   como inválidos después de ejecutar la validación.
*/
    .new-teacher-control.invalid[b-09guev06dd] {
        border-color: #dc3545;
        background: #fffafa;
    }

    .new-teacher-control.valid.modified[b-09guev06dd] {
        border-color: #46b565;
    }


/* =========================================================
   VALIDACIONES
   ========================================================= */

.new-teacher-field .validation-message[b-09guev06dd] {
    margin: 0;
    color: #b42318;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}


/* =========================================================
   NOTA SOBRE LA CUENTA
   ========================================================= */

.new-teacher-account-note[b-09guev06dd] {
    width: 100%;
    margin-top: 28px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
}

.new-teacher-account-icon[b-09guev06dd] {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #e5e8ff;
    font-size: 23px;
}

.new-teacher-account-note strong[b-09guev06dd] {
    color: #111111;
    font-size: 15px;
    font-weight: 800;
}

.new-teacher-account-note p[b-09guev06dd] {
    margin: 5px 0 0;
    color: #666666;
    font-size: 13px;
    line-height: 1.45;
}


/* =========================================================
   BOTONES
   ========================================================= */

.new-teacher-actions[b-09guev06dd] {
    margin-top: 28px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.new-teacher-primary-button[b-09guev06dd],
.new-teacher-secondary-button[b-09guev06dd] {
    min-height: 43px;
    padding: 10px 23px;
    border-radius: 22px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease;
}

.new-teacher-primary-button[b-09guev06dd] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.new-teacher-secondary-button[b-09guev06dd] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

    .new-teacher-primary-button:hover[b-09guev06dd],
    .new-teacher-secondary-button:hover[b-09guev06dd] {
        opacity: 0.85;
        transform: translateY(-1px);
    }

    .new-teacher-primary-button:active[b-09guev06dd],
    .new-teacher-secondary-button:active[b-09guev06dd] {
        transform: translateY(0);
    }

    .new-teacher-primary-button:disabled[b-09guev06dd],
    .new-teacher-secondary-button:disabled[b-09guev06dd] {
        cursor: not-allowed;
        opacity: 0.55;
        transform: none;
    }

    .new-teacher-primary-button:focus-visible[b-09guev06dd],
    .new-teacher-secondary-button:focus-visible[b-09guev06dd],
    .new-teacher-back:focus-visible[b-09guev06dd] {
        outline: 3px solid rgba(98, 115, 218, 0.28);
        outline-offset: 3px;
    }


/* =========================================================
   ERROR GENERAL
   ========================================================= */

.new-teacher-error[b-09guev06dd] {
    width: 100%;
    margin-bottom: 20px;
    padding: 18px 20px;
    border-radius: 12px;
    background: #fff0f0;
    color: #a61b1b;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}


/* =========================================================
   TABLETAS
   ========================================================= */

@media (max-width: 900px) {
    .new-teacher-form-grid[b-09guev06dd] {
        grid-template-columns: 1fr;
    }

    /*
       Cuando solo existe una columna, el campo de ancho
       completo vuelve al flujo normal.
    */
    .new-teacher-field--full[b-09guev06dd] {
        grid-column: auto;
    }

    .new-teacher-field-spacer[b-09guev06dd] {
        display: none;
    }
}


/* =========================================================
   TELÉFONOS
   ========================================================= */

@media (max-width: 768px) {
    .new-teacher-page[b-09guev06dd] {
        margin-top: 0;
    }

    .new-teacher-header h1[b-09guev06dd] {
        font-size: 29px;
    }

    .new-teacher-card[b-09guev06dd] {
        padding: 20px 17px;
    }

    .new-teacher-card-header[b-09guev06dd] {
        align-items: flex-start;
        flex-direction: column;
    }

    .new-teacher-account-note[b-09guev06dd] {
        align-items: flex-start;
    }

    .new-teacher-actions[b-09guev06dd] {
        align-items: stretch;
        flex-direction: column-reverse;
    }

        .new-teacher-actions button[b-09guev06dd] {
            width: 100%;
        }
}


/* =========================================================
   TELÉFONOS PEQUEÑOS
   ========================================================= */

@media (max-width: 480px) {
    .new-teacher-header h1[b-09guev06dd] {
        font-size: 25px;
    }

    .new-teacher-header p[b-09guev06dd] {
        font-size: 14px;
    }

    .new-teacher-card-header h2[b-09guev06dd] {
        font-size: 20px;
    }

    .new-teacher-card[b-09guev06dd] {
        padding: 18px 15px;
        border-width: 2px;
    }

    .new-teacher-account-note[b-09guev06dd] {
        padding: 15px;
    }

    .new-teacher-control[b-09guev06dd] {
        min-height: 44px;
        font-size: 14px;
    }
}

/*
   Campos señuelo ubicados fuera del área visible.
   Chrome colocará aquí las credenciales almacenadas.
*/
.browser-autofill-trap[b-09guev06dd] {
    position: fixed;
    top: -10000px;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

/*
   Conserva el mismo aspecto visual mientras los campos
   están bloqueados contra el autocompletado.
*/
.new-teacher-control[readonly][b-09guev06dd] {
    cursor: text;
    background: #ffffff;
}

/* =========================================================
   MOSTRAR / OCULTAR CONTRASEÑA
   ========================================================= */

.new-teacher-password-shell[b-09guev06dd] {
    position: relative;
    width: 100%;
    min-width: 0;
}

.new-teacher-password-control[b-09guev06dd] {
    padding-right: 52px;
}

.new-teacher-password-toggle[b-09guev06dd] {
    position: absolute;
    top: 50%;
    right: 7px;
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #6879df;
    cursor: pointer;
}

.new-teacher-password-toggle:hover[b-09guev06dd],
.new-teacher-password-toggle.is-visible[b-09guev06dd] {
    background: #eef0ff;
}

.new-teacher-password-toggle svg[b-09guev06dd] {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.new-teacher-password-toggle:focus-visible[b-09guev06dd] {
    outline: 3px solid rgba(98, 115, 218, 0.22);
    outline-offset: 1px;
}

@media (max-width: 480px) {
    .new-teacher-password-control[b-09guev06dd] {
        font-size: 16px;
    }
}
/* /Pages/Admin/NuevoAviso.razor.rz.scp.css */
/* =========================================================
   GENERAL
   ========================================================= */

.new-notice-page[b-hi8m7ky4k8],
.new-notice-page *[b-hi8m7ky4k8] {
    box-sizing: border-box;
}

.new-notice-page[b-hi8m7ky4k8] {
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}

.new-notice-header[b-hi8m7ky4k8] {
    margin-bottom: 25px;
}

    .new-notice-header h1[b-hi8m7ky4k8] {
        margin: 12px 0 7px;
        color: #000000;
        font-size: clamp(31px, 3vw, 46px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

    .new-notice-header p[b-hi8m7ky4k8] {
        margin: 0;
        color: #666666;
        font-size: 15px;
    }

.new-notice-back[b-hi8m7ky4k8] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #6879df;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.new-notice-card[b-hi8m7ky4k8] {
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid #91a2ff;
    border-radius: 17px;
    background: #f7f8ff;
}

    .new-notice-card + .new-notice-card[b-hi8m7ky4k8] {
        margin-top: 22px;
    }

.new-notice-card-header[b-hi8m7ky4k8] {
    margin-bottom: 27px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

    .new-notice-card-header h2[b-hi8m7ky4k8] {
        margin: 0;
        color: #000000;
        font-size: clamp(22px, 2vw, 29px);
        font-weight: 900;
        text-transform: uppercase;
    }

    .new-notice-card-header > span[b-hi8m7ky4k8] {
        width: max-content;
        max-width: 100%;
        min-height: 32px;
        padding: 7px 15px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        border-radius: 20px;
        background: #fff3c4;
        color: #826400;
        font-size: 12px;
        font-weight: 900;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
        text-transform: uppercase;
    }

.new-notice-grid[b-hi8m7ky4k8] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 30px;
}

.new-notice-field[b-hi8m7ky4k8] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.new-notice-field--full[b-hi8m7ky4k8] {
    grid-column: 1 / -1;
}

.new-notice-field label[b-hi8m7ky4k8] {
    color: #222222;
    font-size: 14px;
    font-weight: 800;
}

.new-notice-control[b-hi8m7ky4k8],
[b-hi8m7ky4k8] .new-notice-control {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
}

    .new-notice-control:focus[b-hi8m7ky4k8],
    [b-hi8m7ky4k8] .new-notice-control:focus {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

.new-notice-textarea[b-hi8m7ky4k8],
[b-hi8m7ky4k8] .new-notice-textarea {
    min-height: 130px;
    resize: vertical;
}

.new-notice-field .validation-message[b-hi8m7ky4k8],
.new-notice-card > .validation-message[b-hi8m7ky4k8] {
    color: #b42318;
    font-size: 12px;
    font-weight: 600;
}

.new-notice-global-option > label[b-hi8m7ky4k8] {
    padding: 18px;
    display: flex;
    align-items: flex-start;
    gap: 13px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
    cursor: pointer;
}

.new-notice-global-option input[b-hi8m7ky4k8],
.new-notice-classroom-option input[b-hi8m7ky4k8] {
    width: 19px;
    height: 19px;
    accent-color: #91a2ff;
}

.new-notice-global-option span[b-hi8m7ky4k8] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.new-notice-global-option small[b-hi8m7ky4k8] {
    color: #666666;
    line-height: 1.4;
}

.new-notice-classrooms[b-hi8m7ky4k8] {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.new-notice-classroom-option[b-hi8m7ky4k8] {
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 2px solid #e0e3fa;
    border-radius: 11px;
    background: #ffffff;
    cursor: pointer;
}

    .new-notice-classroom-option span[b-hi8m7ky4k8] {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .new-notice-classroom-option small[b-hi8m7ky4k8] {
        color: #666666;
    }

.new-notice-warning[b-hi8m7ky4k8],
.new-notice-loading[b-hi8m7ky4k8] {
    margin-top: 18px;
    padding: 18px;
    border-radius: 11px;
    text-align: center;
}

.new-notice-warning[b-hi8m7ky4k8] {
    background: #fff7df;
    color: #805d00;
}

.new-notice-loading[b-hi8m7ky4k8] {
    background: #ffffff;
    color: #666666;
}

.new-notice-actions[b-hi8m7ky4k8] {
    margin-top: 28px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.new-notice-primary-button[b-hi8m7ky4k8],
.new-notice-secondary-button[b-hi8m7ky4k8] {
    min-height: 43px;
    padding: 10px 23px;
    border-radius: 22px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.new-notice-primary-button[b-hi8m7ky4k8] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.new-notice-secondary-button[b-hi8m7ky4k8] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

    .new-notice-primary-button:disabled[b-hi8m7ky4k8],
    .new-notice-secondary-button:disabled[b-hi8m7ky4k8] {
        cursor: not-allowed;
        opacity: 0.55;
    }

.new-notice-error[b-hi8m7ky4k8] {
    margin-bottom: 20px;
    padding: 18px;
    border-radius: 12px;
    background: #fff0f0;
    color: #a61b1b;
    font-weight: 700;
    text-align: center;
}

@media (max-width: 850px) {
    .new-notice-grid[b-hi8m7ky4k8],
    .new-notice-classrooms[b-hi8m7ky4k8] {
        grid-template-columns: 1fr;
    }

    .new-notice-field--full[b-hi8m7ky4k8] {
        grid-column: auto;
    }
}

@media (max-width: 768px) {
    .new-notice-card[b-hi8m7ky4k8] {
        padding: 20px 17px;
    }

    .new-notice-card-header[b-hi8m7ky4k8] {
        align-items: flex-start;
        flex-direction: column;
    }

    .new-notice-card-header > span[b-hi8m7ky4k8] {
        align-self: flex-start;
    }

    .new-notice-control[b-hi8m7ky4k8],
    [b-hi8m7ky4k8] .new-notice-control {
        font-size: 16px;
    }

    input[type="date"].new-notice-control[b-hi8m7ky4k8] {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .new-notice-actions[b-hi8m7ky4k8] {
        flex-direction: column-reverse;
    }

        .new-notice-actions button[b-hi8m7ky4k8] {
            width: 100%;
        }
}


/* =========================================================
   ARCHIVO PDF
   ========================================================= */

.new-notice-file-box[b-hi8m7ky4k8] {
    padding: 19px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    border: 2px dashed #b9c2f4;
    border-radius: 13px;
    background: #ffffff;
}

    .new-notice-file-box > div[b-hi8m7ky4k8] {
        min-width: 0;
    }

    .new-notice-file-box strong[b-hi8m7ky4k8] {
        display: block;
        color: #111111;
        font-size: 16px;
    }

    .new-notice-file-box p[b-hi8m7ky4k8] {
        margin: 6px 0 0;
        color: #666666;
        font-size: 13px;
    }

.new-notice-file-select[b-hi8m7ky4k8] {
    min-height: 42px;
    padding: 10px 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid #91a2ff;
    border-radius: 22px;
    background: #ffffff;
    color: #6273da;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

[b-hi8m7ky4k8] .new-notice-file-input {
    display: none !important;
}

.new-notice-selected-file[b-hi8m7ky4k8] {
    margin-top: 14px;
    padding: 15px 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 2px solid #d5d9f6;
    border-radius: 11px;
    background: #eef0ff;
}

    .new-notice-selected-file > div[b-hi8m7ky4k8] {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .new-notice-selected-file strong[b-hi8m7ky4k8] {
        overflow-wrap: anywhere;
    }

    .new-notice-selected-file span[b-hi8m7ky4k8] {
        color: #666666;
        font-size: 12px;
    }

    .new-notice-selected-file button[b-hi8m7ky4k8] {
        padding: 7px 14px;
        border: 2px solid #d64a4a;
        border-radius: 18px;
        background: #ffffff;
        color: #bd2f2f;
        font-weight: 800;
        cursor: pointer;
    }

.new-notice-file-error[b-hi8m7ky4k8] {
    margin-top: 14px;
    padding: 13px 15px;
    border-radius: 9px;
    background: #fff0f0;
    color: #a61b1b;
    font-size: 13px;
    font-weight: 700;
}

@media (max-width: 650px) {
    .new-notice-file-box[b-hi8m7ky4k8] {
        align-items: stretch;
        flex-direction: column;
    }

    .new-notice-file-select[b-hi8m7ky4k8] {
        width: 100%;
    }

    .new-notice-selected-file[b-hi8m7ky4k8] {
        align-items: stretch;
        flex-direction: column;
    }

        .new-notice-selected-file button[b-hi8m7ky4k8] {
            width: 100%;
        }
}

/* =========================================================
   CORRECCIÓN IOS / SAFARI - CAMPO FECHA
   ========================================================= */

.new-notice-field[b-hi8m7ky4k8] {
    min-width: 0;
}

input[type="date"].new-notice-control[b-hi8m7ky4k8] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    display: block;
    box-sizing: border-box;
}

input[type="date"].new-notice-control[b-hi8m7ky4k8]::-webkit-date-and-time-value {
    min-width: 0;
    text-align: left;
}

input[type="date"].new-notice-control[b-hi8m7ky4k8]::-webkit-datetime-edit {
    min-width: 0;
    padding: 0;
}

@media (max-width: 768px) {
    input[type="date"].new-notice-control[b-hi8m7ky4k8] {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        font-size: 16px;
    }
}
/* /Pages/Admin/NuevoNino.razor.rz.scp.css */
/* =========================================================
   CONTENEDOR GENERAL
   ========================================================= */

.new-child-page[b-29oyvp8hhd],
.new-child-page *[b-29oyvp8hhd] {
    box-sizing: border-box;
}

.new-child-page[b-29oyvp8hhd] {
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.new-child-header[b-29oyvp8hhd] {
    width: 100%;
    margin-bottom: 25px;
}

    .new-child-header h1[b-29oyvp8hhd] {
        margin: 12px 0 7px;
        color: #000000;
        font-size: clamp(31px, 3vw, 46px);
        font-weight: 900;
        line-height: 1.05;
        text-transform: uppercase;
    }

    .new-child-header p[b-29oyvp8hhd] {
        margin: 0;
        color: #666666;
        font-size: 16px;
        line-height: 1.45;
    }

.new-child-back[b-29oyvp8hhd] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #6879df;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

    .new-child-back:hover[b-29oyvp8hhd] {
        text-decoration: underline;
    }


/* =========================================================
   TARJETAS
   ========================================================= */

.new-child-card[b-29oyvp8hhd] {
    width: 100%;
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid #91a2ff;
    border-radius: 17px;
    background: #f7f8ff;
}

    .new-child-card + .new-child-card[b-29oyvp8hhd] {
        margin-top: 22px;
    }

.new-child-card-header[b-29oyvp8hhd] {
    margin-bottom: 27px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

    .new-child-card-header h2[b-29oyvp8hhd] {
        margin: 0;
        color: #000000;
        font-size: clamp(22px, 2vw, 29px);
        font-weight: 900;
        text-transform: uppercase;
    }

.new-child-status[b-29oyvp8hhd] {
    padding: 7px 15px;
    border-radius: 20px;
    background: #e5e8ff;
    color: #5667cd;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.new-child-status--optional[b-29oyvp8hhd] {
    background: #edf0ff;
}


/* =========================================================
   DISTRIBUCIÓN DEL FORMULARIO
   ========================================================= */

.new-child-form-grid[b-29oyvp8hhd] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 30px;
}

.new-child-field[b-29oyvp8hhd] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.new-child-field--full[b-29oyvp8hhd] {
    grid-column: 1 / -1;
}

.new-child-field label[b-29oyvp8hhd] {
    color: #222222;
    font-size: 14px;
    font-weight: 800;
}

.new-child-field small[b-29oyvp8hhd] {
    color: #777777;
    font-size: 12px;
    line-height: 1.4;
}


/* =========================================================
   CONTROLES
   ========================================================= */

/*
   ::deep permite que el CSS aislado alcance los elementos
   generados por InputText, InputDate, InputSelect e InputTextArea.
*/
.new-child-control[b-29oyvp8hhd],
[b-29oyvp8hhd] .new-child-control {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
    transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .new-child-control[b-29oyvp8hhd]::placeholder,
    [b-29oyvp8hhd] .new-child-control::placeholder {
        color: #aaaaaa;
    }

    .new-child-control:hover[b-29oyvp8hhd],
    [b-29oyvp8hhd] .new-child-control:hover {
        border-color: #bcc4f3;
    }

    .new-child-control:focus[b-29oyvp8hhd],
    [b-29oyvp8hhd] .new-child-control:focus {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

    .new-child-control:disabled[b-29oyvp8hhd],
    [b-29oyvp8hhd] .new-child-control:disabled {
        cursor: not-allowed;
        background: #eef0fa;
        color: #555555;
        opacity: 1;
    }

    .new-child-control.invalid[b-29oyvp8hhd],
    [b-29oyvp8hhd] .new-child-control.invalid {
        border-color: #dc3545;
        background: #fffafa;
    }

    .new-child-control.valid.modified[b-29oyvp8hhd],
    [b-29oyvp8hhd] .new-child-control.valid.modified {
        border-color: #46b565;
    }

.new-child-textarea[b-29oyvp8hhd],
[b-29oyvp8hhd] .new-child-textarea {
    min-height: 105px;
    resize: vertical;
    line-height: 1.45;
}

.new-child-textarea--small[b-29oyvp8hhd],
[b-29oyvp8hhd] .new-child-textarea--small {
    min-height: 85px;
}

.new-child-field .validation-message[b-29oyvp8hhd] {
    margin: 0;
    color: #b42318;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}


/* =========================================================
   NOTAS Y MENSAJES INTERNOS
   ========================================================= */

.new-child-enrollment-note[b-29oyvp8hhd] {
    width: 100%;
    margin-top: 28px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
}

.new-child-enrollment-icon[b-29oyvp8hhd] {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #e5e8ff;
    font-size: 23px;
}

.new-child-enrollment-note strong[b-29oyvp8hhd] {
    color: #111111;
    font-size: 15px;
    font-weight: 800;
}

.new-child-enrollment-note p[b-29oyvp8hhd] {
    margin: 5px 0 0;
    color: #666666;
    font-size: 13px;
    line-height: 1.45;
}

.new-child-created-note[b-29oyvp8hhd],
.new-child-classroom-warning[b-29oyvp8hhd],
.new-child-loading[b-29oyvp8hhd] {
    width: 100%;
    margin-top: 22px;
    padding: 16px 18px;
    border-radius: 11px;
}

.new-child-created-note[b-29oyvp8hhd] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    border: 2px solid #cbd2ff;
    background: #eef0ff;
    color: #394ba5;
}

    .new-child-created-note strong[b-29oyvp8hhd] {
        font-size: 14px;
    }

    .new-child-created-note span[b-29oyvp8hhd] {
        font-size: 13px;
        line-height: 1.4;
    }

.new-child-classroom-warning[b-29oyvp8hhd] {
    margin-top: 0;
    margin-bottom: 22px;
    background: #fff7df;
    color: #805d00;
    font-weight: 700;
}

.new-child-loading[b-29oyvp8hhd] {
    margin-top: 0;
    background: #ffffff;
    color: #666666;
    text-align: center;
}


/* =========================================================
   BOTONES
   ========================================================= */

.new-child-actions[b-29oyvp8hhd] {
    margin-top: 28px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.new-child-primary-button[b-29oyvp8hhd],
.new-child-secondary-button[b-29oyvp8hhd] {
    min-height: 43px;
    padding: 10px 23px;
    border-radius: 22px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease;
}

.new-child-primary-button[b-29oyvp8hhd] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.new-child-secondary-button[b-29oyvp8hhd] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

    .new-child-primary-button:hover[b-29oyvp8hhd],
    .new-child-secondary-button:hover[b-29oyvp8hhd] {
        opacity: 0.85;
        transform: translateY(-1px);
    }

    .new-child-primary-button:disabled[b-29oyvp8hhd],
    .new-child-secondary-button:disabled[b-29oyvp8hhd] {
        cursor: not-allowed;
        opacity: 0.55;
        transform: none;
    }

    .new-child-primary-button:focus-visible[b-29oyvp8hhd],
    .new-child-secondary-button:focus-visible[b-29oyvp8hhd],
    .new-child-back:focus-visible[b-29oyvp8hhd] {
        outline: 3px solid rgba(98, 115, 218, 0.28);
        outline-offset: 3px;
    }


/* =========================================================
   MENSAJES GENERALES
   ========================================================= */

.new-child-error[b-29oyvp8hhd],
.new-child-information-message[b-29oyvp8hhd] {
    width: 100%;
    margin-bottom: 20px;
    padding: 18px 20px;
    border-radius: 12px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

.new-child-error[b-29oyvp8hhd] {
    background: #fff0f0;
    color: #a61b1b;
}

.new-child-information-message[b-29oyvp8hhd] {
    background: #eef0ff;
    color: #394ba5;
}


/* =========================================================
   TABLETAS
   ========================================================= */

@media (max-width: 900px) {
    .new-child-form-grid[b-29oyvp8hhd] {
        grid-template-columns: 1fr;
    }

    .new-child-field--full[b-29oyvp8hhd] {
        grid-column: auto;
    }
}


/* =========================================================
   TELÉFONOS
   ========================================================= */

@media (max-width: 768px) {
    .new-child-page[b-29oyvp8hhd] {
        margin-top: 0;
    }

    .new-child-header h1[b-29oyvp8hhd] {
        font-size: 29px;
    }

    .new-child-card[b-29oyvp8hhd] {
        padding: 20px 17px;
    }

    .new-child-card-header[b-29oyvp8hhd] {
        align-items: flex-start;
        flex-direction: column;
    }

    .new-child-enrollment-note[b-29oyvp8hhd] {
        align-items: flex-start;
    }

    .new-child-actions[b-29oyvp8hhd] {
        align-items: stretch;
        flex-direction: column-reverse;
    }

        .new-child-actions button[b-29oyvp8hhd] {
            width: 100%;
        }
}


/* =========================================================
   TELÉFONOS PEQUEÑOS
   ========================================================= */

@media (max-width: 480px) {
    .new-child-header h1[b-29oyvp8hhd] {
        font-size: 25px;
    }

    .new-child-header p[b-29oyvp8hhd] {
        font-size: 14px;
    }

    .new-child-card-header h2[b-29oyvp8hhd] {
        font-size: 20px;
    }

    .new-child-card[b-29oyvp8hhd] {
        padding: 18px 15px;
        border-width: 2px;
    }

    .new-child-enrollment-note[b-29oyvp8hhd] {
        padding: 15px;
    }

    .new-child-control[b-29oyvp8hhd],
    [b-29oyvp8hhd] .new-child-control {
        min-height: 44px;
        font-size: 14px;
    }
}

/* =========================================================
   CORRECCIÓN IPHONE / SAFARI - INPUTDATE
   ========================================================= */

/*
 * InputDate es un componente Blazor y Safari iOS puede aplicar al
 * <input type="date"> un ancho intrínseco mayor que el contenedor.
 * Por eso en el iPhone real la fecha se sale de la tarjeta aunque
 * en DevTools se vea correctamente.
 */
.new-child-field[b-29oyvp8hhd],
.new-child-form-grid[b-29oyvp8hhd] {
    min-width: 0;
}

[b-29oyvp8hhd] input[type="date"].new-child-control {
    width: 100%;
    min-width: 0;
    max-width: 100%;

    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;

    display: block;
    box-sizing: border-box;
}

[b-29oyvp8hhd] input[type="date"].new-child-control::-webkit-date-and-time-value {
    min-width: 0;
    width: 100%;
    text-align: left;
}

[b-29oyvp8hhd] input[type="date"].new-child-control::-webkit-datetime-edit {
    min-width: 0;
    padding: 0;
}

@media (max-width: 768px) {
    [b-29oyvp8hhd] input[type="date"].new-child-control {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        font-size: 16px;
    }
}

/*
 * Safari hace zoom automático al enfocar inputs con fuente menor
 * de 16px. Mantener los controles en 16px evita que el formulario
 * cambie de escala en un iPhone real.
 */
@media (max-width: 480px) {
    .new-child-control[b-29oyvp8hhd],
    [b-29oyvp8hhd] .new-child-control {
        font-size: 16px;
    }
}

/* /Pages/Admin/NuevoPadre.razor.rz.scp.css */
/* =========================================================
   GENERAR ACCESO TEMPORAL
   ========================================================= */

.new-parent-page[b-40w0bswp25],
.new-parent-page *[b-40w0bswp25] {
    box-sizing: border-box;
}

.new-parent-page[b-40w0bswp25] {
    width: 100%;
    margin-top: 10px;
    font-family: Arial, Helvetica, sans-serif;
}

.new-parent-header[b-40w0bswp25] {
    margin-bottom: 25px;
}

.new-parent-header h1[b-40w0bswp25] {
    margin: 12px 0 7px;
    color: #111111;
    font-size: clamp(31px, 3vw, 46px);
    font-weight: 900;
    line-height: 1.05;
    text-transform: uppercase;
}

.new-parent-header p[b-40w0bswp25] {
    margin: 0;
    color: #666666;
}

.new-parent-back[b-40w0bswp25] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #6879df;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}

.new-parent-card[b-40w0bswp25] {
    width: 100%;
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid #91a2ff;
    border-radius: 17px;
    background: #f7f8ff;
}

.new-parent-card + .new-parent-card[b-40w0bswp25] {
    margin-top: 22px;
}

.new-parent-card-header[b-40w0bswp25] {
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.new-parent-card-header > div[b-40w0bswp25] {
    min-width: 0;
}

.new-parent-card-header span[b-40w0bswp25] {
    color: #6879df;
    font-size: 11px;
    font-weight: 900;
}

.new-parent-card-header h2[b-40w0bswp25] {
    margin: 6px 0 0;
    color: #111111;
    font-size: clamp(22px, 2vw, 29px);
    font-weight: 900;
    text-transform: uppercase;
}

.new-parent-status[b-40w0bswp25],
.new-parent-created-status[b-40w0bswp25] {
    padding: 7px 14px;
    flex-shrink: 0;
    border-radius: 18px;
    background: #e5e8ff;
    color: #5667cd;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.new-parent-status--optional[b-40w0bswp25] {
    background: #ffffff;
}

.new-parent-created-status[b-40w0bswp25] {
    background: #def5ce;
    color: #31820b;
}

.new-parent-summary-grid[b-40w0bswp25] {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.new-parent-summary-grid > div[b-40w0bswp25] {
    padding: 17px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    border: 2px solid #dfe3ff;
    border-radius: 12px;
    background: #ffffff;
}

.new-parent-summary-grid span[b-40w0bswp25],
.new-parent-credentials span[b-40w0bswp25] {
    color: #666666;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.new-parent-summary-grid strong[b-40w0bswp25] {
    color: #111111;
}

.new-parent-explanation[b-40w0bswp25],
.new-parent-warning[b-40w0bswp25],
.new-parent-next-steps[b-40w0bswp25] {
    margin-top: 18px;
    padding: 17px 19px;
    border-radius: 12px;
    line-height: 1.5;
}

.new-parent-explanation[b-40w0bswp25] {
    background: #eef0ff;
    color: #394ba5;
}

.new-parent-warning[b-40w0bswp25] {
    background: #fff7df;
    color: #805d00;
    font-weight: 800;
}

.new-parent-form-grid[b-40w0bswp25] {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 22px 28px;
}

.new-parent-field[b-40w0bswp25] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.new-parent-field--full[b-40w0bswp25] {
    grid-column: 1 / -1;
}

.new-parent-field label[b-40w0bswp25] {
    color: #222222;
    font-size: 14px;
    font-weight: 800;
}

.new-parent-control[b-40w0bswp25],
[b-40w0bswp25] .new-parent-control {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
}

.new-parent-control:focus[b-40w0bswp25],
[b-40w0bswp25] .new-parent-control:focus {
    border-color: #91a2ff;
    box-shadow:
        0 0 0 3px
        rgba(145, 162, 255, 0.18);
}

.new-parent-options[b-40w0bswp25] {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

.new-parent-check[b-40w0bswp25] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #333333;
    font-weight: 700;
}

.new-parent-check input[b-40w0bswp25] {
    width: 18px;
    height: 18px;
    accent-color: #91a2ff;
}

.validation-message[b-40w0bswp25] {
    color: #b42318;
    font-size: 12px;
    font-weight: 700;
}

.new-parent-actions[b-40w0bswp25] {
    margin-top: 25px;
    display: flex;
    justify-content: flex-end;
    gap: 11px;
}

.new-parent-primary-button[b-40w0bswp25],
.new-parent-secondary-button[b-40w0bswp25],
.new-parent-credentials button[b-40w0bswp25] {
    min-height: 43px;
    padding: 9px 21px;
    border-radius: 22px;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}

.new-parent-primary-button[b-40w0bswp25] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.new-parent-secondary-button[b-40w0bswp25],
.new-parent-credentials button[b-40w0bswp25] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

.new-parent-loading[b-40w0bswp25],
.new-parent-error[b-40w0bswp25] {
    padding: 21px;
    border-radius: 12px;
    text-align: center;
}

.new-parent-loading[b-40w0bswp25] {
    background: #ffffff;
    color: #666666;
}

.new-parent-error[b-40w0bswp25] {
    margin-bottom: 20px;
    background: #fff0f0;
    color: #a61b1b;
    font-weight: 700;
}

.new-parent-credentials[b-40w0bswp25] {
    margin-top: 20px;
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.new-parent-credentials > div[b-40w0bswp25] {
    min-width: 0;
    padding: 20px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 9px 14px;
    border: 2px solid #cbd2ff;
    border-radius: 13px;
    background: #ffffff;
}

.new-parent-credentials span[b-40w0bswp25] {
    grid-column: 1 / -1;
}

.new-parent-credentials strong[b-40w0bswp25] {
    color: #111111;
    font-family: Consolas, monospace;
    font-size: clamp(17px, 2vw, 23px);
    overflow-wrap: anywhere;
}

.new-parent-credentials button[b-40w0bswp25] {
    min-height: 36px;
    padding: 6px 13px;
}

.new-parent-copy-message[b-40w0bswp25] {
    margin-top: 13px;
    color: #287c0b;
    font-weight: 800;
    text-align: center;
}

.new-parent-next-steps[b-40w0bswp25] {
    background: #ffffff;
    color: #555555;
}

.new-parent-next-steps strong[b-40w0bswp25] {
    color: #111111;
}

.new-parent-next-steps p[b-40w0bswp25] {
    margin: 7px 0 0;
}

button:disabled[b-40w0bswp25],
select:disabled[b-40w0bswp25],
input:disabled[b-40w0bswp25] {
    cursor: not-allowed;
    opacity: 0.6;
}

@media (max-width: 800px) {
    .new-parent-summary-grid[b-40w0bswp25],
    .new-parent-form-grid[b-40w0bswp25],
    .new-parent-credentials[b-40w0bswp25] {
        grid-template-columns: 1fr;
    }

    .new-parent-field--full[b-40w0bswp25] {
        grid-column: auto;
    }
}

@media (max-width: 560px) {
    .new-parent-page[b-40w0bswp25] {
        margin-top: 0;
    }

    .new-parent-card-header[b-40w0bswp25] {
        align-items: flex-start;
        flex-direction: column;
    }

    .new-parent-actions[b-40w0bswp25] {
        flex-direction: column-reverse;
    }

    .new-parent-actions button[b-40w0bswp25] {
        width: 100%;
    }

    .new-parent-credentials > div[b-40w0bswp25] {
        grid-template-columns: 1fr;
    }

    .new-parent-credentials span[b-40w0bswp25] {
        grid-column: auto;
    }

    .new-parent-credentials button[b-40w0bswp25] {
        width: 100%;
    }
}


/* =========================================================
   VISIBILIDAD DE CONTRASEÑA TEMPORAL
   ========================================================= */

.new-parent-password-value[b-40w0bswp25] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.new-parent-password-value strong[b-40w0bswp25] {
    min-width: 0;
    flex: 1;
}

.new-parent-password-toggle[b-40w0bswp25] {
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    border: 0 !important;
    border-radius: 50%;
    background: #eef0ff !important;
    color: #6273da !important;
    cursor: pointer;
}

.new-parent-password-toggle svg[b-40w0bswp25] {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.new-parent-password-toggle:hover[b-40w0bswp25],
.new-parent-password-toggle.is-visible[b-40w0bswp25] {
    background: #dfe4ff !important;
}

@media (max-width: 560px) {
    .new-parent-password-value[b-40w0bswp25] {
        width: 100%;
    }

    .new-parent-password-toggle[b-40w0bswp25] {
        width: 38px !important;
        min-width: 38px !important;
    }
}
/* /Pages/Admin/NuevoReporte.razor.rz.scp.css */
/* =========================================================
   NUEVO REPORTE - ADMINISTRADOR
   ========================================================= */

.admin-new-report-page[b-x98ooi039e],
.admin-new-report-page *[b-x98ooi039e] {
    box-sizing: border-box;
}

.admin-new-report-page[b-x98ooi039e] {
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}

.admin-new-report-header[b-x98ooi039e] {
    margin-bottom: 24px;
}

.admin-new-report-back[b-x98ooi039e] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #6273da;
    font-weight: 800;
    cursor: pointer;
}

.admin-new-report-header > span[b-x98ooi039e] {
    margin-top: 22px;
    display: block;
    color: #6879df;
    font-size: 12px;
    font-weight: 900;
}

.admin-new-report-header h1[b-x98ooi039e] {
    margin: 7px 0 6px;
    color: #111111;
    font-size: clamp(38px, 4.8vw, 62px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.admin-new-report-header p[b-x98ooi039e] {
    margin: 0;
    color: #666666;
}

.admin-new-report-selection[b-x98ooi039e] {
    margin-bottom: 22px;
    padding: 20px;
    display: grid;
    grid-template-columns:
        minmax(220px, 1.35fr)
        minmax(160px, 0.65fr)
        minmax(220px, 1fr)
        minmax(150px, 0.55fr)
        minmax(160px, 0.65fr);
    align-items: end;
    gap: 15px;
    border: 3px solid #91a2ff;
    border-radius: 15px;
    background: #f7f8ff;
}

.admin-new-report-selection > div[b-x98ooi039e] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.admin-new-report-selection label[b-x98ooi039e],
.admin-new-report-selection-summary span[b-x98ooi039e] {
    color: #555555;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-new-report-selection select[b-x98ooi039e],
.admin-new-report-selection input[b-x98ooi039e] {
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
}

.admin-new-report-selection select:focus[b-x98ooi039e],
.admin-new-report-selection input:focus[b-x98ooi039e] {
    border-color: #91a2ff;
    box-shadow:
        0 0 0 3px
        rgba(145, 162, 255, 0.18);
}

.admin-new-report-selection-summary[b-x98ooi039e] {
    min-height: 44px;
    padding: 9px 12px;
    justify-content: center;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    background: #ffffff;
}

.admin-new-report-selection-summary strong[b-x98ooi039e] {
    color: #111111;
    overflow-wrap: anywhere;
}

.admin-new-report-actions[b-x98ooi039e] {
    margin-top: 24px;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 11px;
}

.admin-new-report-actions button[b-x98ooi039e] {
    min-height: 44px;
    padding: 10px 20px;
    border-radius: 23px;
    font-family: inherit;
    font-weight: 900;
    cursor: pointer;
}

.admin-new-report-cancel[b-x98ooi039e] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

.admin-new-report-draft[b-x98ooi039e] {
    border: 2px solid #91a2ff;
    background: #eef0ff;
    color: #5667cd;
}

.admin-new-report-publish[b-x98ooi039e] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.admin-new-report-actions button:disabled[b-x98ooi039e],
.admin-new-report-selection select:disabled[b-x98ooi039e],
.admin-new-report-selection input:disabled[b-x98ooi039e] {
    cursor: not-allowed;
    opacity: 0.58;
}

.admin-new-report-message[b-x98ooi039e],
.admin-new-report-empty[b-x98ooi039e],
.admin-new-report-error[b-x98ooi039e],
.admin-new-report-warning[b-x98ooi039e] {
    margin-bottom: 20px;
    padding: 22px;
    border-radius: 12px;
    text-align: center;
}

.admin-new-report-message[b-x98ooi039e],
.admin-new-report-empty[b-x98ooi039e] {
    background: #f3f4ff;
    color: #555555;
}

.admin-new-report-warning[b-x98ooi039e] {
    background: #fff7df;
    color: #805d00;
}

.admin-new-report-error[b-x98ooi039e] {
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 1200px) {
    .admin-new-report-selection[b-x98ooi039e] {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .admin-new-report-selection[b-x98ooi039e] {
        grid-template-columns: 1fr;
    }

    .admin-new-report-actions[b-x98ooi039e] {
        flex-direction: column-reverse;
    }

    .admin-new-report-actions button[b-x98ooi039e] {
        width: 100%;
    }
}
/* /Pages/Admin/PadreDetalle.razor.rz.scp.css */
/* =========================================================
   CONFIGURACIÓN GENERAL
   ========================================================= */

.parent-detail-page[b-62zzqppgjp],
.parent-detail-page *[b-62zzqppgjp] {
    box-sizing: border-box;
}

.parent-detail-page[b-62zzqppgjp] {
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}

.parent-detail-header[b-62zzqppgjp] {
    width: 100%;
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.parent-back-button[b-62zzqppgjp] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #6879df;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.parent-detail-header h1[b-62zzqppgjp] {
    margin: 12px 0 6px;
    color: #000000;
    font-size: clamp(31px, 3vw, 46px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.parent-detail-header p[b-62zzqppgjp],
.parent-section-heading p[b-62zzqppgjp] {
    margin: 0;
    color: #666666;
    font-size: 14px;
}

.parent-header-actions[b-62zzqppgjp] {
    display: flex;
    gap: 12px;
}

.parent-detail-card[b-62zzqppgjp] {
    width: 100%;
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid #91a2ff;
    border-radius: 17px;
    background: #f7f8ff;
}

    .parent-detail-card + .parent-detail-card[b-62zzqppgjp] {
        margin-top: 22px;
    }

.parent-profile-header[b-62zzqppgjp] {
    margin-bottom: 28px;
    display: flex;
    align-items: center;
    gap: 18px;
}

    .parent-profile-header h2[b-62zzqppgjp],
    .parent-section-heading h2[b-62zzqppgjp] {
        margin: 0;
        color: #000000;
        font-size: clamp(22px, 2vw, 29px);
        font-weight: 900;
        text-transform: uppercase;
    }

.parent-avatar[b-62zzqppgjp] {
    width: 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ffffff;
    color: #91a2ff;
    font-size: 30px;
    font-weight: 900;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.14);
}

.parent-status[b-62zzqppgjp] {
    display: inline-flex;
    margin-top: 10px;
    padding: 6px 13px;
    border-radius: 18px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.parent-status--active[b-62zzqppgjp] {
    background: #def5ce;
    color: #31820b;
}

.parent-status--inactive[b-62zzqppgjp] {
    background: #ffe0e0;
    color: #a12626;
}

.parent-information-grid[b-62zzqppgjp] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 35px;
}

    .parent-information-grid > div[b-62zzqppgjp] {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 7px;
    }

    .parent-information-grid span[b-62zzqppgjp] {
        color: #666666;
        font-size: 13px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .parent-information-grid strong[b-62zzqppgjp] {
        color: #111111;
        font-size: 17px;
        overflow-wrap: anywhere;
    }

.parent-section-heading[b-62zzqppgjp] {
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

    .parent-section-heading p[b-62zzqppgjp] {
        margin-top: 7px;
    }

.parent-form-grid[b-62zzqppgjp] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 30px;
}

.parent-form-field[b-62zzqppgjp] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.parent-form-field--full[b-62zzqppgjp] {
    grid-column: 1 / -1;
}

.parent-form-field label[b-62zzqppgjp] {
    color: #222222;
    font-size: 14px;
    font-weight: 800;
}

.parent-form-control[b-62zzqppgjp],
[b-62zzqppgjp] .parent-form-control {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
}

    .parent-form-control:focus[b-62zzqppgjp],
    [b-62zzqppgjp] .parent-form-control:focus {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

.parent-form-field .validation-message[b-62zzqppgjp] {
    color: #b42318;
    font-size: 12px;
    font-weight: 600;
}

.parent-form-actions[b-62zzqppgjp] {
    margin-top: 28px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.parent-security-summary[b-62zzqppgjp] {
    padding: 19px;
    display: flex;
    align-items: center;
    gap: 15px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
}

.parent-security-icon[b-62zzqppgjp] {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 50px;
    border-radius: 50%;
    background: #e5e8ff;
    font-size: 22px;
    line-height: 1;
}

    .parent-security-summary strong[b-62zzqppgjp] {
        color: #111111;
    }

    .parent-security-summary p[b-62zzqppgjp] {
        margin: 5px 0 0;
        color: #666666;
        font-size: 13px;
    }

.parent-children-list[b-62zzqppgjp] {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.parent-child-item[b-62zzqppgjp] {
    padding: 18px;
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 18px;
    border: 2px solid #e0e3fa;
    border-radius: 13px;
    background: #ffffff;
}

.parent-child-main[b-62zzqppgjp] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

    .parent-child-main strong[b-62zzqppgjp] {
        color: #111111;
        font-size: 17px;
    }

    .parent-child-main span[b-62zzqppgjp] {
        color: #666666;
        font-size: 13px;
    }

.parent-child-badges[b-62zzqppgjp] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

    .parent-child-badges span[b-62zzqppgjp] {
        padding: 6px 10px;
        border-radius: 15px;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
    }

.parent-child-relationship[b-62zzqppgjp] {
    background: #eef0ff;
    color: #5667cd;
}

.parent-child-primary[b-62zzqppgjp] {
    background: #def5ce;
    color: #31820b;
}

.parent-child-permission[b-62zzqppgjp] {
    background: #e7f5ff;
    color: #17649a;
}

.parent-child-no-permission[b-62zzqppgjp] {
    background: #eeeeee;
    color: #555555;
}

.parent-child-actions[b-62zzqppgjp] {
    display: flex;
    gap: 9px;
}

.parent-link-edit-button[b-62zzqppgjp],
.parent-link-remove-button[b-62zzqppgjp] {
    min-height: 36px;
    padding: 7px 14px;
    border-radius: 18px;
    background: #ffffff;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.parent-link-edit-button[b-62zzqppgjp] {
    border: 2px solid #91a2ff;
    color: #6273da;
}

.parent-link-remove-button[b-62zzqppgjp] {
    border: 2px solid #d64a4a;
    color: #bd2f2f;
}

.parent-child-edit[b-62zzqppgjp] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr auto auto auto auto;
    align-items: center;
    gap: 12px;
}

    .parent-child-edit label[b-62zzqppgjp],
    .parent-link-options label[b-62zzqppgjp] {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        color: #333333;
        font-size: 13px;
        font-weight: 700;
    }

.parent-link-options[b-62zzqppgjp] {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.parent-children-empty[b-62zzqppgjp] {
    padding: 22px;
    border-radius: 12px;
    background: #ffffff;
    color: #666666;
    text-align: center;
}

.parent-confirmation[b-62zzqppgjp] {
    margin-bottom: 22px;
    padding: 20px 22px;
    display: flex;
    justify-content: space-between;
    gap: 25px;
    border: 2px solid #e5a1a1;
    border-radius: 14px;
    background: #fff5f5;
}

    .parent-confirmation strong[b-62zzqppgjp] {
        color: #992020;
    }

    .parent-confirmation p[b-62zzqppgjp] {
        margin: 6px 0 0;
        color: #6d4444;
        font-size: 14px;
    }

.parent-confirmation-actions[b-62zzqppgjp] {
    display: flex;
    gap: 12px;
}

.parent-edit-button[b-62zzqppgjp],
.parent-primary-button[b-62zzqppgjp],
.parent-secondary-button[b-62zzqppgjp],
.parent-deactivate-button[b-62zzqppgjp],
.parent-danger-button[b-62zzqppgjp] {
    min-height: 43px;
    padding: 10px 22px;
    border-radius: 24px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease;
}

.parent-edit-button[b-62zzqppgjp],
.parent-primary-button[b-62zzqppgjp] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.parent-secondary-button[b-62zzqppgjp] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

.parent-deactivate-button[b-62zzqppgjp] {
    border: 2px solid #d64a4a;
    background: #ffffff;
    color: #bd2f2f;
}

.parent-danger-button[b-62zzqppgjp] {
    border: 2px solid #d64a4a;
    background: #d64a4a;
    color: #ffffff;
}

    .parent-edit-button:hover[b-62zzqppgjp],
    .parent-primary-button:hover[b-62zzqppgjp],
    .parent-secondary-button:hover[b-62zzqppgjp],
    .parent-deactivate-button:hover[b-62zzqppgjp],
    .parent-danger-button:hover[b-62zzqppgjp] {
        opacity: 0.84;
        transform: translateY(-1px);
    }

.parent-detail-message[b-62zzqppgjp],
.parent-detail-error[b-62zzqppgjp],
.parent-detail-success[b-62zzqppgjp] {
    width: 100%;
    padding: 18px 20px;
    border-radius: 12px;
    text-align: center;
}

.parent-detail-error[b-62zzqppgjp] {
    background: #fff0f0;
    color: #a61b1b;
}

.parent-detail-error--compact[b-62zzqppgjp],
.parent-detail-success[b-62zzqppgjp] {
    margin-bottom: 20px;
}

.parent-detail-success[b-62zzqppgjp] {
    background: #effbe8;
    color: #287c0b;
    font-weight: 700;
}

@media (max-width: 950px) {
    .parent-detail-header[b-62zzqppgjp],
    .parent-section-heading[b-62zzqppgjp],
    .parent-confirmation[b-62zzqppgjp] {
        align-items: stretch;
        flex-direction: column;
    }

    .parent-information-grid[b-62zzqppgjp],
    .parent-form-grid[b-62zzqppgjp] {
        grid-template-columns: 1fr;
    }

    .parent-child-item[b-62zzqppgjp] {
        grid-template-columns: 1fr;
    }

    .parent-child-edit[b-62zzqppgjp] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .parent-header-actions[b-62zzqppgjp],
    .parent-form-actions[b-62zzqppgjp],
    .parent-confirmation-actions[b-62zzqppgjp] {
        align-items: stretch;
        flex-direction: column;
    }

        .parent-header-actions button[b-62zzqppgjp],
        .parent-form-actions button[b-62zzqppgjp],
        .parent-confirmation-actions button[b-62zzqppgjp],
        .parent-section-heading button[b-62zzqppgjp] {
            width: 100%;
        }

    .parent-profile-header[b-62zzqppgjp],
    .parent-security-summary[b-62zzqppgjp] {
        align-items: flex-start;
    }

    .parent-avatar[b-62zzqppgjp] {
        width: 68px;
        height: 68px;
        font-size: 24px;
    }
}


/* =========================================================
   MOSTRAR / OCULTAR CONTRASEÑA
   ========================================================= */

.parent-password-shell[b-62zzqppgjp] {
    position: relative;
    width: 100%;
    min-width: 0;
}

.parent-password-control[b-62zzqppgjp],
[b-62zzqppgjp] .parent-password-control {
    padding-right: 52px;
}

.parent-password-toggle[b-62zzqppgjp] {
    position: absolute;
    top: 50%;
    right: 7px;
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #6879df;
    cursor: pointer;
}

.parent-password-toggle:hover[b-62zzqppgjp],
.parent-password-toggle.is-visible[b-62zzqppgjp] {
    background: #eef0ff;
}

.parent-password-toggle svg[b-62zzqppgjp] {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.parent-password-toggle:focus-visible[b-62zzqppgjp] {
    outline: 3px solid rgba(98, 115, 218, 0.22);
    outline-offset: 1px;
}

@media (max-width: 768px) {
    .parent-password-control[b-62zzqppgjp],
    [b-62zzqppgjp] .parent-password-control {
        font-size: 16px;
    }
}
/* /Pages/Admin/Padres.razor.rz.scp.css */
/* =========================================================
   CONFIGURACIÓN GENERAL
   ========================================================= */

.parents-page[b-39fs0luaki],
.parents-page *[b-39fs0luaki] {
    box-sizing: border-box;
}

.parents-page[b-39fs0luaki] {
    width: 100%;
    margin: 20px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}

.parents-header[b-39fs0luaki] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

    .parents-header h1[b-39fs0luaki] {
        margin: 0;
        color: #000000;
        font-size: clamp(30px, 2.6vw, 40px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

.parents-header-actions[b-39fs0luaki] {
    display: flex;
    align-items: center;
    gap: 20px;
}

.parents-filter-button[b-39fs0luaki],
.parents-add-button[b-39fs0luaki] {
    height: 44px;
    border: 0;
    border-radius: 25px;
    background: #91a2ff;
    color: #ffffff;
    font-family: inherit;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease;
}

.parents-filter-button[b-39fs0luaki] {
    min-width: 130px;
    padding: 0 24px;
    font-size: 17px;
    font-weight: 500;
    text-transform: uppercase;
}

.parents-add-button[b-39fs0luaki] {
    width: 62px;
    padding: 0;
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
}

.parents-filter-button:hover[b-39fs0luaki] {
    opacity: 0.85;
    transform: translateY(-1px);
}

.parents-add-button:hover[b-39fs0luaki] {
    opacity: 0.85;
    transform: scale(1.04);
}

.parents-divider[b-39fs0luaki] {
    width: 100%;
    height: clamp(14px, 1.5vw, 20px);
    margin-top: 16px;
    border-radius: 14px;
    background: #91a2ff;
}

.parents-filter-panel[b-39fs0luaki] {
    width: 100%;
    margin-top: 16px;
    padding: 18px 22px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    border: 2px solid #d9ddff;
    border-radius: 13px;
    background: #f7f8ff;
}

.parents-filter-field[b-39fs0luaki] {
    width: min(100%, 600px);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .parents-filter-field label[b-39fs0luaki] {
        color: #222222;
        font-size: 14px;
        font-weight: 800;
    }

.parents-search-wrapper[b-39fs0luaki] {
    position: relative;
    width: 100%;
}

.parents-search-input[b-39fs0luaki] {
    width: 100%;
    min-height: 45px;
    padding: 10px 45px 10px 14px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
}

    .parents-search-input[b-39fs0luaki]::-webkit-search-cancel-button,
    .parents-search-input[b-39fs0luaki]::-webkit-search-decoration {
        display: none;
        appearance: none;
        -webkit-appearance: none;
    }

    .parents-search-input:focus[b-39fs0luaki] {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

.parents-clear-search[b-39fs0luaki] {
    position: absolute;
    top: 50%;
    right: 11px;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    transform: translateY(-50%);
    background: #eef0ff;
    color: #6474d8;
    font-size: 21px;
    cursor: pointer;
}

.parents-result-count[b-39fs0luaki] {
    flex-shrink: 0;
    color: #6879df;
    font-size: 14px;
    font-weight: 800;
}

.parents-list[b-39fs0luaki] {
    width: 100%;
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.parent-card[b-39fs0luaki] {
    width: 100%;
    min-height: 116px;
    padding: 14px 28px 14px 14px;
    display: flex;
    align-items: center;
    gap: 28px;
    border: 4px solid #91a2ff;
    border-radius: 14px;
    background: #d7ddff;
    transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .parent-card:hover[b-39fs0luaki] {
        transform: translateY(-1px);
        background: #dfe3ff;
        box-shadow: 0 6px 14px rgba(87, 102, 185, 0.13);
    }

.parent-avatar[b-39fs0luaki] {
    width: 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ffffff;
    color: #91a2ff;
    font-size: 31px;
    font-weight: 900;
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.18);
}

.parent-information[b-39fs0luaki] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

    .parent-information strong[b-39fs0luaki] {
        color: #000000;
        font-size: clamp(21px, 2vw, 29px);
        font-weight: 700;
        text-transform: uppercase;
        overflow-wrap: anywhere;
    }

    .parent-information span[b-39fs0luaki] {
        color: #444444;
        font-size: 14px;
        font-weight: 700;
    }

    .parent-information small[b-39fs0luaki] {
        color: #6879df;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

.parent-view-button[b-39fs0luaki] {
    width: 46px;
    height: 46px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid #6273da;
    border-radius: 50%;
    background: #ffffff;
    color: #6273da;
    cursor: pointer;
    transition:
        background-color 150ms ease,
        color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

.parent-view-button svg[b-39fs0luaki] {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.parent-view-button:hover[b-39fs0luaki] {
    background: #6273da;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 13px rgba(98, 115, 218, 0.24);
}

.parent-view-button:active[b-39fs0luaki] {
    transform: translateY(0);
}

.parent-view-button:focus-visible[b-39fs0luaki] {
    outline: 3px solid rgba(98, 115, 218, 0.28);
    outline-offset: 3px;
}

.parents-message[b-39fs0luaki],
.parents-empty[b-39fs0luaki],
.parents-error[b-39fs0luaki] {
    width: 100%;
    margin-top: 24px;
    padding: 25px;
    border-radius: 12px;
    text-align: center;
}

.parents-message[b-39fs0luaki],
.parents-empty[b-39fs0luaki] {
    background: #f3f4ff;
    color: #444444;
}

.parents-error[b-39fs0luaki] {
    background: #fff0f0;
    color: #a61b1b;
}

    .parents-error p[b-39fs0luaki] {
        margin: 0;
    }

    .parents-error button[b-39fs0luaki] {
        margin: 15px auto 0;
        padding: 9px 20px;
        display: block;
        border: 0;
        border-radius: 8px;
        background: #91a2ff;
        color: #ffffff;
        font-weight: 800;
        cursor: pointer;
    }

@media (max-width: 900px) {
    .parents-filter-panel[b-39fs0luaki] {
        align-items: stretch;
        flex-direction: column;
    }

    .parents-filter-field[b-39fs0luaki] {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .parents-page[b-39fs0luaki] {
        margin-top: 0;
    }

    .parents-header[b-39fs0luaki] {
        align-items: flex-start;
    }

    .parents-header-actions[b-39fs0luaki] {
        gap: 9px;
    }

    .parents-filter-button[b-39fs0luaki] {
        min-width: auto;
        height: 40px;
        padding: 0 15px;
        font-size: 14px;
    }

    .parents-add-button[b-39fs0luaki] {
        width: 54px;
        height: 40px;
        font-size: 35px;
    }

    .parent-card[b-39fs0luaki] {
        padding: 17px;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 16px;
    }

    .parent-avatar[b-39fs0luaki] {
        width: 65px;
        height: 65px;
        font-size: 24px;
    }

    .parent-information[b-39fs0luaki] {
        min-height: 65px;
    }

        .parent-information strong[b-39fs0luaki] {
            font-size: 20px;
        }

    .parent-view-button[b-39fs0luaki] {
        margin-left: auto;
    }
}


/* =========================================================
   CUENTAS TEMPORALES
   ========================================================= */

.parent-information-title[b-39fs0luaki] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.parent-pending-badge[b-39fs0luaki] {
    width: fit-content;
    padding: 5px 9px;
    border-radius: 14px;
    background: #fff7df;
    color: #805d00 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
}

.parent-information-title > strong[b-39fs0luaki] {
    min-width: 0;
}
/* /Pages/Admin/ProfesoraDetalle.razor.rz.scp.css */
.teacher-detail-page[b-gt4rwsvgq0],
.teacher-detail-page *[b-gt4rwsvgq0] {
    box-sizing: border-box;
}

.teacher-detail-page[b-gt4rwsvgq0] {
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}

.teacher-detail-header[b-gt4rwsvgq0] {
    width: 100%;
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.teacher-back-button[b-gt4rwsvgq0] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #6879df;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.teacher-detail-header h1[b-gt4rwsvgq0] {
    margin: 12px 0 6px;
    color: #000000;
    font-size: clamp(31px, 3vw, 46px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.teacher-detail-header p[b-gt4rwsvgq0] {
    margin: 0;
    color: #666666;
    font-size: 15px;
}

.teacher-header-actions[b-gt4rwsvgq0] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.teacher-edit-button[b-gt4rwsvgq0],
.teacher-primary-button[b-gt4rwsvgq0],
.teacher-secondary-button[b-gt4rwsvgq0],
.teacher-deactivate-button[b-gt4rwsvgq0],
.teacher-danger-button[b-gt4rwsvgq0] {
    min-height: 43px;
    padding: 10px 22px;
    border-radius: 24px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.teacher-edit-button[b-gt4rwsvgq0],
.teacher-primary-button[b-gt4rwsvgq0] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.teacher-secondary-button[b-gt4rwsvgq0] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

.teacher-deactivate-button[b-gt4rwsvgq0],
.teacher-danger-button[b-gt4rwsvgq0] {
    border: 2px solid #d64a4a;
    background: #ffffff;
    color: #bd2f2f;
}

.teacher-danger-button[b-gt4rwsvgq0] {
    background: #d64a4a;
    color: #ffffff;
}

.teacher-detail-card[b-gt4rwsvgq0] {
    width: 100%;
    margin-bottom: 22px;
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid #91a2ff;
    border-radius: 17px;
    background: #f7f8ff;
}

.teacher-card-header[b-gt4rwsvgq0] {
    margin-bottom: 28px;
}

.teacher-profile-title[b-gt4rwsvgq0] {
    display: flex;
    align-items: center;
    gap: 18px;
}

.teacher-avatar[b-gt4rwsvgq0] {
    width: 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ffffff;
    color: #91a2ff;
    font-size: 30px;
    font-weight: 900;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.14);
}

.teacher-card-header h2[b-gt4rwsvgq0] {
    margin: 0 0 10px;
    font-size: clamp(22px, 2vw, 29px);
    font-weight: 900;
    text-transform: uppercase;
}

.teacher-status[b-gt4rwsvgq0] {
    display: inline-flex;
    padding: 6px 13px;
    border-radius: 18px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.teacher-status--active[b-gt4rwsvgq0] {
    background: #def5ce;
    color: #31820b;
}

.teacher-status--inactive[b-gt4rwsvgq0] {
    background: #ffe0e0;
    color: #a12626;
}

.teacher-information-grid[b-gt4rwsvgq0] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 35px;
}

.teacher-information-item[b-gt4rwsvgq0] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

    .teacher-information-item span[b-gt4rwsvgq0] {
        color: #666666;
        font-size: 13px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .teacher-information-item strong[b-gt4rwsvgq0] {
        color: #111111;
        font-size: 17px;
        overflow-wrap: anywhere;
    }

.teacher-form-grid[b-gt4rwsvgq0] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 30px;
}

.teacher-form-field[b-gt4rwsvgq0] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .teacher-form-field label[b-gt4rwsvgq0] {
        font-size: 14px;
        font-weight: 800;
    }

/*
   InputText es un componente de Blazor. El selector ::deep permite
   que el CSS aislado alcance el input HTML generado internamente.
   También cubre los campos HTML normales de teléfono y cédula.
*/
.teacher-form-control[b-gt4rwsvgq0],
[b-gt4rwsvgq0] .teacher-form-control {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
    transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .teacher-form-control:hover[b-gt4rwsvgq0],
    [b-gt4rwsvgq0] .teacher-form-control:hover {
        border-color: #b9c0f3;
    }

    .teacher-form-control:focus[b-gt4rwsvgq0],
    [b-gt4rwsvgq0] .teacher-form-control:focus {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

    .teacher-form-control[b-gt4rwsvgq0]::placeholder,
    [b-gt4rwsvgq0] .teacher-form-control::placeholder {
        color: #aaaaaa;
    }

    /* Estados de validación generados por Blazor */
    .teacher-form-control.invalid[b-gt4rwsvgq0],
    [b-gt4rwsvgq0] .teacher-form-control.invalid {
        border-color: #dc3545;
        background: #fffafa;
    }

    .teacher-form-control.valid.modified[b-gt4rwsvgq0],
    [b-gt4rwsvgq0] .teacher-form-control.valid.modified {
        border-color: #46b565;
    }

.teacher-form-field .validation-message[b-gt4rwsvgq0] {
    color: #b42318;
    font-size: 12px;
    font-weight: 600;
}

.teacher-form-actions[b-gt4rwsvgq0] {
    margin-top: 28px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.teacher-confirmation[b-gt4rwsvgq0] {
    width: 100%;
    margin-bottom: 22px;
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    border: 2px solid #e5a1a1;
    border-radius: 14px;
    background: #fff5f5;
}

    .teacher-confirmation strong[b-gt4rwsvgq0] {
        color: #992020;
        font-size: 17px;
    }

    .teacher-confirmation p[b-gt4rwsvgq0] {
        margin: 6px 0 0;
        color: #6d4444;
        font-size: 14px;
    }

.teacher-confirmation-actions[b-gt4rwsvgq0],
.teacher-error-actions[b-gt4rwsvgq0] {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

.teacher-detail-message[b-gt4rwsvgq0],
.teacher-detail-error[b-gt4rwsvgq0],
.teacher-detail-success[b-gt4rwsvgq0] {
    width: 100%;
    padding: 18px 20px;
    border-radius: 12px;
    text-align: center;
}

.teacher-detail-error[b-gt4rwsvgq0] {
    background: #fff0f0;
    color: #a61b1b;
}

.teacher-detail-error--compact[b-gt4rwsvgq0],
.teacher-detail-success[b-gt4rwsvgq0] {
    margin-bottom: 20px;
}

.teacher-detail-success[b-gt4rwsvgq0] {
    background: #effbe8;
    color: #287c0b;
    font-weight: 700;
}

@media (max-width: 900px) {
    .teacher-information-grid[b-gt4rwsvgq0],
    .teacher-form-grid[b-gt4rwsvgq0] {
        grid-template-columns: 1fr;
    }

    .teacher-detail-header[b-gt4rwsvgq0],
    .teacher-confirmation[b-gt4rwsvgq0] {
        align-items: stretch;
        flex-direction: column;
    }

    .teacher-header-actions[b-gt4rwsvgq0],
    .teacher-confirmation-actions[b-gt4rwsvgq0] {
        justify-content: flex-end;
    }
}

@media (max-width: 768px) {
    .teacher-header-actions[b-gt4rwsvgq0],
    .teacher-confirmation-actions[b-gt4rwsvgq0],
    .teacher-form-actions[b-gt4rwsvgq0] {
        align-items: stretch;
        flex-direction: column;
    }

        .teacher-header-actions button[b-gt4rwsvgq0],
        .teacher-confirmation-actions button[b-gt4rwsvgq0],
        .teacher-form-actions button[b-gt4rwsvgq0] {
            width: 100%;
        }

    .teacher-profile-title[b-gt4rwsvgq0] {
        align-items: flex-start;
    }

    .teacher-avatar[b-gt4rwsvgq0] {
        width: 68px;
        height: 68px;
        font-size: 24px;
    }
}

/* =========================================================
   SEGURIDAD Y CAMBIO DE CONTRASEÑA
   ========================================================= */

.teacher-security-card[b-gt4rwsvgq0] {
    margin-bottom: 0;
}

.teacher-security-header[b-gt4rwsvgq0] {
    width: 100%;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

    .teacher-security-header h2[b-gt4rwsvgq0] {
        margin: 0 0 7px;
        color: #000000;
        font-size: clamp(22px, 2vw, 29px);
        font-weight: 900;
        text-transform: uppercase;
    }

    .teacher-security-header p[b-gt4rwsvgq0] {
        margin: 0;
        color: #666666;
        font-size: 14px;
        line-height: 1.45;
    }

        .teacher-security-header p strong[b-gt4rwsvgq0] {
            color: #222222;
        }

.teacher-security-summary[b-gt4rwsvgq0] {
    width: 100%;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
}

.teacher-security-icon[b-gt4rwsvgq0] {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #e5e8ff;
    font-size: 22px;
}

.teacher-security-summary strong[b-gt4rwsvgq0] {
    color: #111111;
    font-size: 15px;
    font-weight: 800;
}

.teacher-security-summary p[b-gt4rwsvgq0] {
    margin: 5px 0 0;
    color: #666666;
    font-size: 13px;
    line-height: 1.45;
}

.teacher-password-grid[b-gt4rwsvgq0] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 30px;
}

.teacher-form-field small[b-gt4rwsvgq0] {
    color: #777777;
    font-size: 12px;
    line-height: 1.4;
}

.teacher-password-error[b-gt4rwsvgq0] {
    width: 100%;
    margin-top: 20px;
    padding: 14px 18px;
    border-radius: 10px;
    background: #fff0f0;
    color: #a61b1b;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
}

@media (max-width: 900px) {
    .teacher-password-grid[b-gt4rwsvgq0] {
        grid-template-columns: 1fr;
    }

    .teacher-security-header[b-gt4rwsvgq0] {
        align-items: stretch;
        flex-direction: column;
    }

        .teacher-security-header button[b-gt4rwsvgq0] {
            align-self: flex-end;
        }
}

@media (max-width: 768px) {
    .teacher-security-header button[b-gt4rwsvgq0] {
        width: 100%;
        align-self: stretch;
    }

    .teacher-security-summary[b-gt4rwsvgq0] {
        align-items: flex-start;
    }
}


/* =========================================================
   MOSTRAR / OCULTAR CONTRASEÑA
   ========================================================= */

.teacher-password-shell[b-gt4rwsvgq0] {
    position: relative;
    width: 100%;
    min-width: 0;
}

.teacher-password-control[b-gt4rwsvgq0],
[b-gt4rwsvgq0] .teacher-password-control {
    padding-right: 52px;
}

.teacher-password-toggle[b-gt4rwsvgq0] {
    position: absolute;
    top: 50%;
    right: 7px;
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #6879df;
    cursor: pointer;
}

.teacher-password-toggle:hover[b-gt4rwsvgq0],
.teacher-password-toggle.is-visible[b-gt4rwsvgq0] {
    background: #eef0ff;
}

.teacher-password-toggle svg[b-gt4rwsvgq0] {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.teacher-password-toggle:focus-visible[b-gt4rwsvgq0] {
    outline: 3px solid rgba(98, 115, 218, 0.22);
    outline-offset: 1px;
}

@media (max-width: 768px) {
    .teacher-password-control[b-gt4rwsvgq0],
    [b-gt4rwsvgq0] .teacher-password-control {
        font-size: 16px;
    }
}
/* /Pages/Admin/Profesoras.razor.rz.scp.css */
/* =========================================================
   CONFIGURACIÓN GENERAL
   ========================================================= */

.teachers-page[b-0s2id3iapg],
.teachers-page *[b-0s2id3iapg] {
    box-sizing: border-box;
}

.teachers-page[b-0s2id3iapg] {
    width: 100%;
    margin: 20px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.teachers-header[b-0s2id3iapg] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

    .teachers-header h1[b-0s2id3iapg] {
        margin: 0;
        color: #000000;
        font-size: clamp(30px, 2.6vw, 40px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

.teachers-header-actions[b-0s2id3iapg] {
    display: flex;
    align-items: center;
    gap: 20px;
}


/* =========================================================
   BOTÓN DE FILTROS
   ========================================================= */

.teachers-filter-button[b-0s2id3iapg] {
    min-width: 130px;
    height: 44px;
    padding: 0 24px;
    border: 0;
    border-radius: 25px;
    background: #91a2ff;
    color: #ffffff;
    font-family: inherit;
    font-size: 17px;
    font-weight: 500;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease;
}

    .teachers-filter-button:hover[b-0s2id3iapg] {
        opacity: 0.85;
        transform: translateY(-1px);
    }


/* =========================================================
   BOTÓN AGREGAR
   ========================================================= */

.teachers-add-button[b-0s2id3iapg] {
    width: 62px;
    height: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 25px;
    background: #91a2ff;
    color: #ffffff;
    font-family: inherit;
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: opacity 150ms ease, transform 150ms ease;
}

    .teachers-add-button:hover[b-0s2id3iapg] {
        opacity: 0.85;
        transform: scale(1.04);
    }


/* =========================================================
   LÍNEA DIVISORA
   ========================================================= */

.teachers-divider[b-0s2id3iapg] {
    width: 100%;
    height: clamp(14px, 1.5vw, 20px);
    margin-top: 16px;
    border-radius: 14px;
    background: #91a2ff;
}


/* =========================================================
   PANEL DE FILTROS
   ========================================================= */

.teachers-filter-panel[b-0s2id3iapg] {
    width: 100%;
    margin-top: 16px;
    padding: 18px 22px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    border: 2px solid #d9ddff;
    border-radius: 13px;
    background: #f7f8ff;
}

.teachers-filter-field[b-0s2id3iapg] {
    width: min(100%, 600px);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .teachers-filter-field label[b-0s2id3iapg] {
        color: #222222;
        font-size: 14px;
        font-weight: 800;
    }

.teachers-search-wrapper[b-0s2id3iapg] {
    position: relative;
    width: 100%;
}

.teachers-search-input[b-0s2id3iapg] {
    width: 100%;
    min-height: 45px;
    padding: 10px 45px 10px 14px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 15px;
}

    /* Oculta la X automática que agregan Chrome, Edge y Safari
   a los campos con type="search". */
    .teachers-search-input[b-0s2id3iapg]::-webkit-search-cancel-button,
    .teachers-search-input[b-0s2id3iapg]::-webkit-search-decoration {
        appearance: none;
        -webkit-appearance: none;
        display: none;
    }

    .teachers-search-input:focus[b-0s2id3iapg] {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

.teachers-clear-search[b-0s2id3iapg] {
    position: absolute;
    top: 50%;
    right: 11px;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    transform: translateY(-50%);
    background: #eef0ff;
    color: #6474d8;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
}

.teachers-result-count[b-0s2id3iapg] {
    flex-shrink: 0;
    color: #6879df;
    font-size: 14px;
    font-weight: 800;
}


/* =========================================================
   LISTADO
   ========================================================= */

.teachers-list[b-0s2id3iapg] {
    width: 100%;
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.teacher-card[b-0s2id3iapg] {
    width: 100%;
    min-height: 116px;
    padding: 14px 28px 14px 14px;
    display: flex;
    align-items: center;
    gap: 28px;
    border: 4px solid #91a2ff;
    border-radius: 14px;
    background: #d7ddff;
    transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .teacher-card:hover[b-0s2id3iapg] {
        transform: translateY(-1px);
        background: #dfe3ff;
        box-shadow: 0 6px 14px rgba(87, 102, 185, 0.13);
    }


/* =========================================================
   AVATAR
   ========================================================= */

.teacher-avatar[b-0s2id3iapg] {
    width: 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ffffff;
    color: #91a2ff;
    font-size: 31px;
    font-weight: 900;
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.18);
}


/* =========================================================
   INFORMACIÓN
   ========================================================= */

.teacher-information[b-0s2id3iapg] {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 13px;
}

    .teacher-information strong[b-0s2id3iapg] {
        color: #000000;
        font-size: clamp(21px, 2vw, 29px);
        font-weight: 700;
        text-transform: uppercase;
        overflow-wrap: anywhere;
    }

.teacher-status[b-0s2id3iapg] {
    padding: 6px 12px;
    border-radius: 16px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.teacher-status--inactive[b-0s2id3iapg] {
    background: #ffe0e0;
    color: #a12626;
}


/* =========================================================
   BOTÓN VER
   ========================================================= */

.teacher-view-button[b-0s2id3iapg] {
    width: 46px;
    height: 46px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid #6273da;
    border-radius: 50%;
    background: #ffffff;
    color: #6273da;
    cursor: pointer;
    transition:
        background-color 150ms ease,
        color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

.teacher-view-button svg[b-0s2id3iapg] {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.teacher-view-button:hover[b-0s2id3iapg] {
    background: #6273da;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 13px rgba(98, 115, 218, 0.24);
}

.teacher-view-button:active[b-0s2id3iapg] {
    transform: translateY(0);
}

.teacher-view-button:focus-visible[b-0s2id3iapg] {
    outline: 3px solid rgba(98, 115, 218, 0.28);
    outline-offset: 3px;
}


/* =========================================================
   MENSAJES
   ========================================================= */

.teachers-message[b-0s2id3iapg],
.teachers-empty[b-0s2id3iapg],
.teachers-error[b-0s2id3iapg] {
    width: 100%;
    margin-top: 24px;
    padding: 25px;
    border-radius: 12px;
    text-align: center;
}

.teachers-message[b-0s2id3iapg],
.teachers-empty[b-0s2id3iapg] {
    background: #f3f4ff;
    color: #444444;
}

.teachers-error[b-0s2id3iapg] {
    background: #fff0f0;
    color: #a61b1b;
}

    .teachers-error p[b-0s2id3iapg] {
        margin: 0;
    }

    .teachers-error button[b-0s2id3iapg] {
        margin: 15px auto 0;
        padding: 9px 20px;
        display: block;
        border: 0;
        border-radius: 8px;
        background: #91a2ff;
        color: #ffffff;
        font-weight: 800;
        cursor: pointer;
    }


/* =========================================================
   TABLETAS
   ========================================================= */

@media (max-width: 900px) {
    .teachers-filter-panel[b-0s2id3iapg] {
        align-items: stretch;
        flex-direction: column;
    }

    .teachers-filter-field[b-0s2id3iapg] {
        width: 100%;
    }
}


/* =========================================================
   TELÉFONOS
   ========================================================= */

@media (max-width: 768px) {
    .teachers-page[b-0s2id3iapg] {
        margin-top: 0;
    }

    .teachers-header[b-0s2id3iapg] {
        align-items: flex-start;
    }

    .teachers-header-actions[b-0s2id3iapg] {
        gap: 9px;
    }

    .teachers-filter-button[b-0s2id3iapg] {
        min-width: auto;
        height: 40px;
        padding: 0 15px;
        font-size: 14px;
    }

    .teachers-add-button[b-0s2id3iapg] {
        width: 54px;
        height: 40px;
        font-size: 35px;
    }

    .teacher-card[b-0s2id3iapg] {
        padding: 17px;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 16px;
    }

    .teacher-avatar[b-0s2id3iapg] {
        width: 65px;
        height: 65px;
        font-size: 24px;
    }

    .teacher-information[b-0s2id3iapg] {
        min-height: 65px;
    }

        .teacher-information strong[b-0s2id3iapg] {
            font-size: 20px;
        }

    .teacher-view-button[b-0s2id3iapg] {
        margin-left: auto;
    }
}


/* =========================================================
   TELÉFONOS PEQUEÑOS
   ========================================================= */

@media (max-width: 480px) {
    .teachers-header h1[b-0s2id3iapg] {
        font-size: 25px;
    }

    .teachers-filter-button[b-0s2id3iapg] {
        font-size: 12px;
    }

    .teacher-information strong[b-0s2id3iapg] {
        font-size: 18px;
    }
}
/* /Pages/Admin/ReporteDetalle.razor.rz.scp.css */
/* =========================================================
   GENERAL
   ========================================================= */

.report-detail-page[b-ub8uwurxnj],
.report-detail-page *[b-ub8uwurxnj] {
    box-sizing: border-box;
}

.report-detail-page[b-ub8uwurxnj] {
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}

.report-detail-header[b-ub8uwurxnj] {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.report-back-button[b-ub8uwurxnj] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #6879df;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.report-detail-header h1[b-ub8uwurxnj] {
    margin: 12px 0 6px;
    color: #000000;
    font-size: clamp(31px, 3vw, 46px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.report-detail-header p[b-ub8uwurxnj] {
    margin: 0;
    color: #666666;
    font-size: 14px;
}

.report-detail-card[b-ub8uwurxnj] {
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid #91a2ff;
    border-radius: 17px;
    background: #f7f8ff;
}

    .report-detail-card + .report-detail-card[b-ub8uwurxnj] {
        margin-top: 22px;
    }

/*
 * El formulario de edición está envuelto en este contenedor.
 * Así conserva la misma separación vertical que el modo consulta.
 */
.report-edit-wrapper[b-ub8uwurxnj] {
    margin-top: 22px;
}

.report-two-column[b-ub8uwurxnj] {
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 22px;
}

    /*
 * Las tarjetas de Merienda y Descanso comparten una fila.
 * Ambas se estiran a la misma altura para evitar el hueco
 * externo debajo de la tarjeta más corta.
 */
    .report-two-column .report-detail-card[b-ub8uwurxnj] {
        height: 100%;
        margin-top: 0;
        display: flex;
        flex-direction: column;
    }

    /*
 * Separa correctamente la sección que aparece después
 * del bloque de dos columnas, por ejemplo Lecturas de padres.
 */
    .report-two-column + .report-detail-card[b-ub8uwurxnj] {
        margin-top: 22px;
    }

.report-card-heading[b-ub8uwurxnj] {
    margin-bottom: 26px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

    .report-card-heading > div > span[b-ub8uwurxnj] {
        color: #6879df;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .report-card-heading h2[b-ub8uwurxnj] {
        margin: 6px 0 0;
        color: #000000;
        font-size: clamp(21px, 2vw, 28px);
        font-weight: 900;
        text-transform: uppercase;
    }

.report-detail-status[b-ub8uwurxnj],
.report-total-pill[b-ub8uwurxnj] {
    padding: 7px 14px;
    border-radius: 18px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.report-detail-status--draft[b-ub8uwurxnj] {
    background: #fff3c4;
    color: #826400;
}

.report-detail-status--published[b-ub8uwurxnj] {
    background: #def5ce;
    color: #31820b;
}

.report-detail-status--corrected[b-ub8uwurxnj],
.report-total-pill[b-ub8uwurxnj] {
    background: #e5e8ff;
    color: #5667cd;
}

.report-detail-status--cancelled[b-ub8uwurxnj] {
    background: #ffe0e0;
    color: #a12626;
}

/* =========================================================
   CONSULTA
   ========================================================= */

.report-general-grid[b-ub8uwurxnj] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 35px;
}

    .report-general-grid > div[b-ub8uwurxnj],
    .report-data-list > div[b-ub8uwurxnj] {
        display: flex;
        flex-direction: column;
        gap: 7px;
    }

    .report-general-grid span[b-ub8uwurxnj],
    .report-data-list span[b-ub8uwurxnj] {
        color: #666666;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .report-general-grid strong[b-ub8uwurxnj],
    .report-data-list strong[b-ub8uwurxnj] {
        color: #111111;
        font-size: 16px;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }

.report-observations[b-ub8uwurxnj] {
    min-height: 90px;
    padding: 18px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
    color: #333333;
    line-height: 1.55;
    white-space: pre-wrap;
}

.diaper-list[b-ub8uwurxnj],
.reading-list[b-ub8uwurxnj] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.diaper-item[b-ub8uwurxnj] {
    padding: 16px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
}

.diaper-time[b-ub8uwurxnj] {
    min-width: 68px;
    padding: 8px 10px;
    border-radius: 17px;
    background: #e5e8ff;
    color: #5667cd;
    font-size: 13px;
    font-weight: 900;
    text-align: center;
}

.diaper-item > div:last-child[b-ub8uwurxnj] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.diaper-item span[b-ub8uwurxnj],
.diaper-item small[b-ub8uwurxnj] {
    color: #666666;
    font-size: 13px;
}

.report-data-list[b-ub8uwurxnj] {
    display: grid;
    gap: 18px;
}

/*
 * En las tarjetas emparejadas, la lista utiliza toda
 * la altura disponible.
 */
.report-detail-card--paired .report-data-list[b-ub8uwurxnj] {
    flex: 1;
    display: flex;
    flex-direction: column;
}

    /*
 * El último bloque corresponde a Observaciones.
 * Se expande de forma natural en vez de dejar
 * un espacio vacío sin contenido.
 */
    .report-detail-card--paired .report-data-list > div:last-child[b-ub8uwurxnj] {
        min-height: 82px;
        margin-top: auto;
        padding: 14px;
        border: 2px solid #e0e3fa;
        border-radius: 10px;
        background: #ffffff;
    }

.reading-item[b-ub8uwurxnj] {
    padding: 17px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: start;
    gap: 12px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
}

    .reading-item > div[b-ub8uwurxnj] {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

        .reading-item > div span[b-ub8uwurxnj] {
            color: #666666;
            font-size: 12px;
        }

    .reading-item p[b-ub8uwurxnj] {
        grid-column: 1 / -1;
        margin: 0;
        color: #444444;
        line-height: 1.45;
    }

.reading-status[b-ub8uwurxnj] {
    padding: 6px 11px;
    border-radius: 15px;
    background: #eeeeee;
    color: #555555;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.reading-status--confirmed[b-ub8uwurxnj] {
    background: #def5ce;
    color: #31820b;
}

.report-section-empty[b-ub8uwurxnj] {
    padding: 20px;
    border-radius: 12px;
    background: #ffffff;
    color: #666666;
    text-align: center;
}

/* =========================================================
   EDICIÓN
   ========================================================= */

.report-form-control[b-ub8uwurxnj],
[b-ub8uwurxnj] .report-form-control {
    width: 100%;
    min-height: 45px;
    padding: 10px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 14px;
}

    .report-form-control:focus[b-ub8uwurxnj],
    [b-ub8uwurxnj] .report-form-control:focus {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

.report-form-textarea[b-ub8uwurxnj],
[b-ub8uwurxnj] .report-form-textarea {
    min-height: 125px;
    resize: vertical;
    line-height: 1.45;
}

.report-form-textarea--small[b-ub8uwurxnj],
[b-ub8uwurxnj] .report-form-textarea--small {
    min-height: 85px;
}

.report-form-field[b-ub8uwurxnj] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

    .report-form-field label[b-ub8uwurxnj] {
        color: #333333;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

.report-check-field[b-ub8uwurxnj] {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #333333;
    font-size: 13px;
    font-weight: 800;
}

    .report-check-field input[b-ub8uwurxnj] {
        width: 18px;
        height: 18px;
        accent-color: #91a2ff;
    }

.diaper-edit-list[b-ub8uwurxnj] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.diaper-edit-item[b-ub8uwurxnj] {
    padding: 17px;
    display: grid;
    grid-template-columns: 130px minmax(150px, 1fr) auto 150px minmax(150px, 1fr) minmax(180px, 1.2fr) auto;
    align-items: end;
    gap: 12px;
    border: 2px solid #e0e3fa;
    border-radius: 12px;
    background: #ffffff;
}

.diaper-observations[b-ub8uwurxnj] {
    min-width: 0;
}

.report-form-stack[b-ub8uwurxnj] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/*
 * En edición, el formulario ocupa toda la altura
 * y el campo Observaciones absorbe la diferencia
 * entre Merienda y Descanso.
 */
.report-detail-card--paired .report-form-stack[b-ub8uwurxnj] {
    flex: 1;
}

    .report-detail-card--paired
    .report-form-stack > .report-form-field:last-child[b-ub8uwurxnj] {
        flex: 1;
    }

        .report-detail-card--paired
        .report-form-stack > .report-form-field:last-child
        .report-form-textarea[b-ub8uwurxnj] {
            height: 100%;
            min-height: 112px;
        }

.report-sleep-help[b-ub8uwurxnj] {
    margin-top: -6px;
    padding: 10px 12px;
    border-radius: 9px;
    background: #eef0ff;
    color: #5667cd;
    font-size: 12px;
    font-weight: 700;
}

.report-time-grid[b-ub8uwurxnj] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.report-add-button[b-ub8uwurxnj],
.report-remove-button[b-ub8uwurxnj] {
    min-height: 38px;
    padding: 8px 16px;
    border-radius: 19px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.report-add-button[b-ub8uwurxnj] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

.report-remove-button[b-ub8uwurxnj] {
    border: 2px solid #d64a4a;
    background: #ffffff;
    color: #bd2f2f;
}

.report-edit-note[b-ub8uwurxnj] {
    margin-top: 22px;
    padding: 16px 18px;
    border: 2px solid #cbd2ff;
    border-radius: 11px;
    background: #eef0ff;
    color: #394ba5;
    font-size: 13px;
    font-weight: 700;
}

.report-form-actions[b-ub8uwurxnj] {
    margin-top: 24px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

/* =========================================================
   BOTONES Y MENSAJES
   ========================================================= */

.report-detail-header-actions[b-ub8uwurxnj] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.report-edit-button[b-ub8uwurxnj],
.report-publish-button[b-ub8uwurxnj],
.report-delete-button[b-ub8uwurxnj],
.report-delete-confirm-button[b-ub8uwurxnj],
.report-primary-button[b-ub8uwurxnj],
.report-secondary-button[b-ub8uwurxnj] {
    min-height: 43px;
    padding: 10px 22px;
    border-radius: 23px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.report-edit-button[b-ub8uwurxnj],
.report-primary-button[b-ub8uwurxnj] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.report-publish-button[b-ub8uwurxnj] {
    border: 2px solid #59a435;
    background: #59a435;
    color: #ffffff;
}

.report-secondary-button[b-ub8uwurxnj] {
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
}

.report-delete-button[b-ub8uwurxnj] {
    border: 2px solid #d64a4a;
    background: #ffffff;
    color: #bd2f2f;
}

.report-delete-confirm-button[b-ub8uwurxnj] {
    border: 2px solid #d64a4a;
    background: #d64a4a;
    color: #ffffff;
}

    .report-edit-button:disabled[b-ub8uwurxnj],
    .report-publish-button:disabled[b-ub8uwurxnj],
    .report-delete-button:disabled[b-ub8uwurxnj],
    .report-delete-confirm-button:disabled[b-ub8uwurxnj],
    .report-primary-button:disabled[b-ub8uwurxnj],
    .report-secondary-button:disabled[b-ub8uwurxnj] {
        cursor: not-allowed;
        opacity: 0.55;
    }

.report-detail-message[b-ub8uwurxnj],
.report-detail-error[b-ub8uwurxnj],
.report-detail-success[b-ub8uwurxnj] {
    padding: 18px 20px;
    border-radius: 12px;
    text-align: center;
}

.report-detail-error[b-ub8uwurxnj] {
    background: #fff0f0;
    color: #a61b1b;
}

.report-detail-error--compact[b-ub8uwurxnj],
.report-detail-success[b-ub8uwurxnj] {
    margin-bottom: 20px;
}

.report-detail-success[b-ub8uwurxnj] {
    background: #effbe8;
    color: #287c0b;
    font-weight: 700;
}

@media (max-width: 1300px) {
    .diaper-edit-item[b-ub8uwurxnj] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .diaper-observations[b-ub8uwurxnj] {
        grid-column: span 2;
    }
}

@media (max-width: 900px) {
    .report-two-column .report-detail-card[b-ub8uwurxnj] {
        height: auto;
    }

    .report-detail-card--paired
    .report-data-list > div:last-child[b-ub8uwurxnj] {
        min-height: 0;
        margin-top: 0;
    }

    .report-detail-card--paired
    .report-form-stack > .report-form-field:last-child
    .report-form-textarea[b-ub8uwurxnj] {
        height: auto;
        min-height: 100px;
    }

    .report-detail-header[b-ub8uwurxnj] {
        align-items: stretch;
        flex-direction: column;
    }

    .report-two-column[b-ub8uwurxnj],
    .report-general-grid[b-ub8uwurxnj] {
        grid-template-columns: 1fr;
    }

    .diaper-edit-item[b-ub8uwurxnj] {
        grid-template-columns: 1fr 1fr;
    }

    .diaper-observations[b-ub8uwurxnj] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 650px) {
    .diaper-edit-item[b-ub8uwurxnj],
    .report-time-grid[b-ub8uwurxnj] {
        grid-template-columns: 1fr;
    }

    .diaper-observations[b-ub8uwurxnj] {
        grid-column: auto;
    }

    .report-form-actions[b-ub8uwurxnj] {
        flex-direction: column-reverse;
    }

        .report-form-actions button[b-ub8uwurxnj],
        .report-detail-header-actions[b-ub8uwurxnj],
        .report-detail-header-actions button[b-ub8uwurxnj],
        .report-detail-header > div > button[b-ub8uwurxnj] {
            width: 100%;
        }

        .report-detail-header-actions[b-ub8uwurxnj] {
            flex-direction: column;
        }
}


.report-delete-confirmation[b-ub8uwurxnj] {
    margin-bottom: 22px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 2px solid #e5a1a1;
    border-radius: 14px;
    background: #fff5f5;
}

.report-delete-confirmation strong[b-ub8uwurxnj] {
    color: #992020;
}

.report-delete-confirmation p[b-ub8uwurxnj] {
    margin: 6px 0 0;
    color: #6d4444;
    font-size: 13px;
    line-height: 1.45;
}

.report-delete-confirmation-actions[b-ub8uwurxnj] {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

@media (max-width: 650px) {
    .report-delete-confirmation[b-ub8uwurxnj] {
        align-items: stretch;
        flex-direction: column;
    }

    .report-delete-confirmation-actions[b-ub8uwurxnj] {
        width: 100%;
        flex-direction: column;
    }

    .report-delete-confirmation-actions button[b-ub8uwurxnj] {
        width: 100%;
    }
}


/* =========================================================
   NO APLICA - PAMPERS / DESCANSO
   ========================================================= */

.report-two-column--single[b-ub8uwurxnj] {
    grid-template-columns: 1fr;
}

.report-section-actions[b-ub8uwurxnj] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.report-no-apply[b-ub8uwurxnj] {
    min-height: 38px;
    padding: 8px 13px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 2px solid #d5d9f6;
    border-radius: 19px;
    background: #ffffff;
    color: #6273da;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.report-no-apply input[b-ub8uwurxnj] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #91a2ff;
}

.report-section-empty--no-apply[b-ub8uwurxnj] {
    border: 2px dashed #d5d9f6;
    color: #5667cd;
    font-weight: 800;
}

@media (max-width: 650px) {
    .report-section-actions[b-ub8uwurxnj] {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .report-no-apply[b-ub8uwurxnj],
    .report-section-actions .report-add-button[b-ub8uwurxnj] {
        width: 100%;
        justify-content: center;
    }
}
/* /Pages/Admin/Reportes.razor.rz.scp.css */
/* =========================================================
   CONFIGURACIÓN GENERAL
   ========================================================= */

.reports-page[b-yofr16p1bd],
.reports-page *[b-yofr16p1bd] {
    box-sizing: border-box;
}

.reports-page[b-yofr16p1bd] {
    width: 100%;
    margin: 20px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}

.reports-header[b-yofr16p1bd] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

    .reports-header h1[b-yofr16p1bd] {
        margin: 0;
        color: #000000;
        font-size: clamp(30px, 2.6vw, 40px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

    .reports-header p[b-yofr16p1bd] {
        margin: 7px 0 0;
        color: #666666;
        font-size: 14px;
    }

.reports-header-actions[b-yofr16p1bd] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.reports-filter-button[b-yofr16p1bd],
.reports-new-button[b-yofr16p1bd] {
    min-height: 44px;
    padding: 9px 20px;
    border-radius: 23px;
    font-family: inherit;
    font-weight: 900;
    cursor: pointer;
}

.reports-filter-button[b-yofr16p1bd] {
    min-width: 130px;
    border: 2px solid #91a2ff;
    background: #ffffff;
    color: #6273da;
    font-size: 15px;
    text-transform: uppercase;
}

.reports-new-button[b-yofr16p1bd] {
    border: 0;
    background: #91a2ff;
    color: #ffffff;
}

.reports-filter-button:hover[b-yofr16p1bd],
.reports-new-button:hover[b-yofr16p1bd] {
    opacity: 0.85;
}

.reports-divider[b-yofr16p1bd] {
    width: 100%;
    height: clamp(14px, 1.5vw, 20px);
    margin-top: 16px;
    border-radius: 14px;
    background: #91a2ff;
}

/* =========================================================
   FILTROS
   ========================================================= */

.reports-filter-panel[b-yofr16p1bd] {
    margin-top: 16px;
    padding: 18px 22px;
    display: grid;
    grid-template-columns: repeat(4, minmax(170px, 1fr));
    gap: 17px;
    border: 2px solid #d9ddff;
    border-radius: 13px;
    background: #f7f8ff;
}

.reports-filter-field[b-yofr16p1bd] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.reports-filter-field--search[b-yofr16p1bd] {
    grid-column: span 2;
}

.reports-filter-field label[b-yofr16p1bd] {
    color: #222222;
    font-size: 13px;
    font-weight: 800;
}

.reports-filter-control[b-yofr16p1bd] {
    width: 100%;
    min-height: 44px;
    padding: 9px 13px;
    border: 2px solid #d5d9f6;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    font-family: inherit;
    font-size: 14px;
}

    .reports-filter-control:focus[b-yofr16p1bd] {
        border-color: #91a2ff;
        box-shadow: 0 0 0 3px rgba(145, 162, 255, 0.18);
    }

.reports-filter-actions[b-yofr16p1bd] {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

    .reports-filter-actions span[b-yofr16p1bd] {
        color: #6879df;
        font-size: 13px;
        font-weight: 800;
    }

    .reports-filter-actions button[b-yofr16p1bd] {
        padding: 7px 16px;
        border: 2px solid #91a2ff;
        border-radius: 19px;
        background: #ffffff;
        color: #6273da;
        font-weight: 800;
        cursor: pointer;
    }

/* =========================================================
   LISTADO
   ========================================================= */

.reports-list[b-yofr16p1bd] {
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.report-card[b-yofr16p1bd] {
    min-height: 126px;
    padding: 16px 28px 16px 16px;
    display: flex;
    align-items: center;
    gap: 24px;
    border: 4px solid #91a2ff;
    border-radius: 14px;
    background: #d7ddff;
    transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .report-card:hover[b-yofr16p1bd] {
        transform: translateY(-1px);
        background: #dfe3ff;
        box-shadow: 0 6px 14px rgba(87, 102, 185, 0.13);
    }

.report-date[b-yofr16p1bd] {
    width: 82px;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    flex-shrink: 0;
    border-radius: 18px;
    background: #ffffff;
    color: #91a2ff;
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.14);
}

    .report-date strong[b-yofr16p1bd] {
        font-size: 30px;
        line-height: 1;
    }

    .report-date span[b-yofr16p1bd] {
        margin-top: 5px;
        font-size: 13px;
        font-weight: 900;
    }

.report-information[b-yofr16p1bd] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.report-title-row[b-yofr16p1bd] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

    .report-title-row > strong[b-yofr16p1bd] {
        color: #000000;
        font-size: clamp(20px, 2vw, 28px);
        font-weight: 800;
        text-transform: uppercase;
    }

.report-status[b-yofr16p1bd] {
    padding: 6px 11px;
    border-radius: 16px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.report-status--draft[b-yofr16p1bd] {
    background: #fff3c4;
    color: #826400;
}

.report-status--published[b-yofr16p1bd] {
    background: #def5ce;
    color: #31820b;
}

.report-status--corrected[b-yofr16p1bd] {
    background: #e5e8ff;
    color: #5667cd;
}

.report-status--cancelled[b-yofr16p1bd] {
    background: #ffe0e0;
    color: #a12626;
}

.report-classroom[b-yofr16p1bd] {
    color: #333333;
    font-size: 14px;
    font-weight: 800;
}

.report-teacher[b-yofr16p1bd] {
    color: #666666;
    font-size: 13px;
}

.report-summary[b-yofr16p1bd] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

    .report-summary span[b-yofr16p1bd] {
        padding: 5px 9px;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.72);
        color: #555555;
        font-size: 11px;
        font-weight: 800;
    }

.report-view-button[b-yofr16p1bd] {
    width: 46px;
    height: 46px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid #6273da;
    border-radius: 50%;
    background: #ffffff;
    color: #6273da;
    cursor: pointer;
    transition:
        background-color 150ms ease,
        color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

.report-view-button svg[b-yofr16p1bd] {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.report-view-button:hover[b-yofr16p1bd] {
    background: #6273da;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 13px rgba(98, 115, 218, 0.24);
}

.report-view-button:active[b-yofr16p1bd] {
    transform: translateY(0);
}

.report-view-button:focus-visible[b-yofr16p1bd] {
    outline: 3px solid rgba(98, 115, 218, 0.24);
    outline-offset: 3px;
}

.reports-message[b-yofr16p1bd],
.reports-empty[b-yofr16p1bd],
.reports-error[b-yofr16p1bd] {
    margin-top: 24px;
    padding: 25px;
    border-radius: 12px;
    text-align: center;
}

.reports-message[b-yofr16p1bd],
.reports-empty[b-yofr16p1bd] {
    background: #f3f4ff;
    color: #444444;
}

.reports-error[b-yofr16p1bd] {
    background: #fff0f0;
    color: #a61b1b;
}

    .reports-error p[b-yofr16p1bd] {
        margin: 0;
    }

    .reports-error button[b-yofr16p1bd] {
        margin: 15px auto 0;
        padding: 9px 20px;
        display: block;
        border: 0;
        border-radius: 8px;
        background: #91a2ff;
        color: #ffffff;
        font-weight: 800;
        cursor: pointer;
    }

@media (max-width: 1100px) {
    .reports-filter-panel[b-yofr16p1bd] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .reports-header[b-yofr16p1bd] {
        align-items: stretch;
        flex-direction: column;
    }

    .reports-header-actions[b-yofr16p1bd] {
        width: 100%;
        flex-direction: column;
    }

    .reports-header-actions button[b-yofr16p1bd] {
        width: 100%;
    }

    .reports-filter-panel[b-yofr16p1bd] {
        grid-template-columns: 1fr;
    }

    .reports-filter-field--search[b-yofr16p1bd] {
        grid-column: auto;
    }

    .report-card[b-yofr16p1bd] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .report-view-button[b-yofr16p1bd] {
        margin-left: auto;
    }
}

/* =========================================================
   CORRECCIÓN IOS / SAFARI - FILTROS DE FECHA
   ========================================================= */

.reports-filter-field[b-yofr16p1bd] {
    min-width: 0;
}

.reports-filter-control[type="date"][b-yofr16p1bd] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    display: block;
    box-sizing: border-box;
}

.reports-filter-control[type="date"][b-yofr16p1bd]::-webkit-date-and-time-value {
    min-width: 0;
    text-align: left;
}

.reports-filter-control[type="date"][b-yofr16p1bd]::-webkit-datetime-edit {
    min-width: 0;
    padding: 0;
}

@media (max-width: 768px) {
    .reports-filter-control[type="date"][b-yofr16p1bd] {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        font-size: 16px;
    }
}
/* /Pages/Home.razor.rz.scp.css */
/* =========================================================
   PORTADA INSTITUCIONAL DE NIDO
   ========================================================= */

.nido-home[b-9098h1u6hj],
.nido-home *[b-9098h1u6hj] {
    box-sizing: border-box;
}

.nido-home[b-9098h1u6hj] {
    position: relative;
    width: 100%;
    min-height: 100dvh;
    padding: clamp(28px, 5vw, 72px);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.96),
            rgba(247, 249, 255, 0.94)
        );
    font-family: Arial, Helvetica, sans-serif;
}

.nido-home__background[b-9098h1u6hj] {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.88),
            rgba(255, 255, 255, 0.68)
        ),
        url("images/login/bg-login.png");
    background-position: center;
    background-size: cover;
    opacity: 0.48;
}

.nido-home__background[b-9098h1u6hj]::before,
.nido-home__background[b-9098h1u6hj]::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(4px);
}

.nido-home__background[b-9098h1u6hj]::before {
    top: -120px;
    right: -90px;
    width: 360px;
    height: 360px;
    background: rgba(145, 162, 255, 0.22);
}

.nido-home__background[b-9098h1u6hj]::after {
    bottom: -130px;
    left: -90px;
    width: 340px;
    height: 340px;
    background: rgba(77, 189, 0, 0.13);
}

.nido-home__content[b-9098h1u6hj] {
    position: relative;
    z-index: 1;
    width: min(1120px, 100%);
    display: grid;
    grid-template-columns:
        minmax(280px, 0.82fr)
        minmax(0, 1.45fr);
    align-items: center;
    gap: clamp(36px, 7vw, 92px);
}

.nido-home__logo-container[b-9098h1u6hj] {
    width: 100%;
    aspect-ratio: 1;
    padding: clamp(28px, 4vw, 52px);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.88);
    box-shadow:
        0 28px 70px rgba(34, 52, 110, 0.17),
        inset 0 0 0 12px rgba(255, 255, 255, 0.48);
    backdrop-filter: blur(12px);
}

.nido-home__logo[b-9098h1u6hj] {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
}

.nido-home__information[b-9098h1u6hj] {
    min-width: 0;
}

.nido-home__eyebrow[b-9098h1u6hj] {
    color: #4f5fc0;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.22em;
}

.nido-home h1[b-9098h1u6hj] {
    margin: 12px 0 18px;
    color: #111111;
    font-size: clamp(46px, 7vw, 88px);
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.nido-home__description[b-9098h1u6hj] {
    max-width: 760px;
    margin: 0;
    color: #505050;
    font-size: clamp(17px, 2vw, 23px);
    line-height: 1.55;
}

.nido-home__divider[b-9098h1u6hj] {
    width: min(100%, 620px);
    height: 5px;
    margin: 29px 0 27px;
    border-radius: 10px;
    background:
        linear-gradient(
            90deg,
            #91a2ff 0%,
            #91a2ff 34%,
            #c7a200 34%,
            #c7a200 67%,
            #4dbd00 67%,
            #4dbd00 100%
        );
}

.nido-home__features[b-9098h1u6hj] {
    display: grid;
    gap: 15px;
}

.nido-home__features article[b-9098h1u6hj] {
    padding: 15px 17px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
    gap: 15px;
    border: 1px solid rgba(113, 128, 211, 0.2);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 10px 26px rgba(42, 54, 112, 0.07);
    backdrop-filter: blur(9px);
}

.nido-home__features article > span[b-9098h1u6hj] {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #eef0ff;
    color: #6273da;
    font-size: 11px;
    font-weight: 900;
}

.nido-home__features article:nth-child(2) > span[b-9098h1u6hj] {
    background: #fff7d8;
    color: #8b7200;
}

.nido-home__features article:nth-child(3) > span[b-9098h1u6hj] {
    background: #e8f7dc;
    color: #319000;
}

.nido-home__features strong[b-9098h1u6hj] {
    color: #171717;
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
}

.nido-home__features p[b-9098h1u6hj] {
    margin: 5px 0 0;
    color: #666666;
    font-size: 14px;
    line-height: 1.45;
}

.nido-home__footer[b-9098h1u6hj] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 18px;
    z-index: 1;
    padding: 0 18px;
    color: #777777;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .nido-home[b-9098h1u6hj] {
        align-items: flex-start;
        padding-bottom: 78px;
    }

    .nido-home__content[b-9098h1u6hj] {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .nido-home__logo-container[b-9098h1u6hj] {
        width: min(330px, 78vw);
    }

    .nido-home__description[b-9098h1u6hj] {
        margin-inline: auto;
    }

    .nido-home__divider[b-9098h1u6hj] {
        margin-inline: auto;
    }

    .nido-home__features[b-9098h1u6hj] {
        text-align: left;
    }
}

@media (max-width: 520px) {
    .nido-home[b-9098h1u6hj] {
        padding: 24px 16px 72px;
    }

    .nido-home__content[b-9098h1u6hj] {
        gap: 28px;
    }

    .nido-home__logo-container[b-9098h1u6hj] {
        width: min(245px, 72vw);
        padding: 25px;
    }

    .nido-home h1[b-9098h1u6hj] {
        font-size: clamp(39px, 15vw, 58px);
    }

    .nido-home__description[b-9098h1u6hj] {
        font-size: 16px;
    }

    .nido-home__features article[b-9098h1u6hj] {
        padding: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nido-home[b-9098h1u6hj],
    .nido-home *[b-9098h1u6hj] {
        scroll-behavior: auto;
    }
}
/* /Pages/NotFound.razor.rz.scp.css */
/* =========================================================
   PÁGINA NO ENCONTRADA
   ========================================================= */

.not-found-page[b-tmd5ra4o6s],
.not-found-page *[b-tmd5ra4o6s] {
    box-sizing: border-box;
}

.not-found-page[b-tmd5ra4o6s] {
    position: relative;
    width: 100%;
    min-height: 100dvh;
    padding: 28px 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            #f7f8ff 0%,
            #ffffff 50%,
            #f4faef 100%
        );
    font-family: Arial, Helvetica, sans-serif;
}

.not-found-decoration[b-tmd5ra4o6s] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.not-found-decoration[b-tmd5ra4o6s]::before,
.not-found-decoration[b-tmd5ra4o6s]::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(3px);
}

.not-found-decoration[b-tmd5ra4o6s]::before {
    top: -120px;
    right: -100px;
    width: 360px;
    height: 360px;
    background: rgba(145, 162, 255, 0.18);
}

.not-found-decoration[b-tmd5ra4o6s]::after {
    bottom: -130px;
    left: -100px;
    width: 340px;
    height: 340px;
    background: rgba(77, 189, 0, 0.12);
}

.not-found-card[b-tmd5ra4o6s] {
    position: relative;
    z-index: 1;
    width: min(560px, 100%);
    padding: clamp(30px, 5vw, 54px);
    display: flex;
    align-items: center;
    flex-direction: column;
    border: 2px solid rgba(145, 162, 255, 0.35);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow:
        0 28px 70px rgba(51, 65, 135, 0.14);
    text-align: center;
    backdrop-filter: blur(12px);
}

.not-found-logo-container[b-tmd5ra4o6s] {
    width: 118px;
    height: 118px;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ffffff;
    box-shadow:
        0 14px 30px rgba(51, 65, 135, 0.13);
}

.not-found-logo[b-tmd5ra4o6s] {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: contain;
}

.not-found-code[b-tmd5ra4o6s] {
    margin-top: 24px;
    color: #91a2ff;
    font-size: clamp(54px, 10vw, 88px);
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -0.05em;
}

.not-found-card h1[b-tmd5ra4o6s] {
    margin: 15px 0 10px;
    color: #111111;
    font-size: clamp(27px, 4vw, 38px);
    font-weight: 900;
    text-transform: uppercase;
}

.not-found-card p[b-tmd5ra4o6s] {
    max-width: 430px;
    margin: 0;
    color: #666666;
    font-size: 16px;
    line-height: 1.55;
}

.not-found-home-link[b-tmd5ra4o6s] {
    min-height: 44px;
    margin-top: 25px;
    padding: 11px 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #91a2ff;
    border-radius: 24px;
    background: #91a2ff;
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    transition:
        opacity 150ms ease,
        transform 150ms ease,
        background-color 150ms ease;
}

.not-found-home-link:hover[b-tmd5ra4o6s] {
    background: #7f91ee;
    color: #ffffff;
    opacity: 0.95;
    transform: translateY(-1px);
}

.not-found-home-link:focus-visible[b-tmd5ra4o6s] {
    outline: 3px solid rgba(145, 162, 255, 0.35);
    outline-offset: 3px;
}

.not-found-card small[b-tmd5ra4o6s] {
    margin-top: 22px;
    color: #8a8a8a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

@media (max-width: 520px) {
    .not-found-card[b-tmd5ra4o6s] {
        padding: 30px 20px;
        border-radius: 19px;
    }

    .not-found-logo-container[b-tmd5ra4o6s] {
        width: 100px;
        height: 100px;
    }

    .not-found-card p[b-tmd5ra4o6s] {
        font-size: 15px;
    }

    .not-found-home-link[b-tmd5ra4o6s] {
        width: 100%;
    }
}
/* /Pages/Padre/AsistenciasPadre.razor.rz.scp.css */
/* =========================================================
   ASISTENCIA DE LOS HIJOS - PADRES
   ========================================================= */

.parent-attendance-page[b-yq2u46c0xa],
.parent-attendance-page *[b-yq2u46c0xa] {
    box-sizing: border-box;
}

.parent-attendance-page[b-yq2u46c0xa] {
    --green: #4dbd00;
    --green-dark: #319000;
    --green-soft: #dff3cf;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.parent-attendance-header[b-yq2u46c0xa] {
    margin-bottom: 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.parent-attendance-filter-button[b-yq2u46c0xa] {
    min-height: 43px;
    padding: 9px 20px;
    flex-shrink: 0;
    border: 0;
    border-radius: 23px;
    background: var(--green);
    color: #ffffff;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}

.parent-attendance-filter-button:hover[b-yq2u46c0xa] {
    opacity: 0.88;
}

.parent-attendance-divider[b-yq2u46c0xa] {
    width: 100%;
    height: clamp(14px, 1.5vw, 20px);
    margin-top: 16px;
    border-radius: 14px;
    background: var(--green);
}

.parent-attendance-header span[b-yq2u46c0xa] {
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
}

.parent-attendance-header h1[b-yq2u46c0xa] {
    margin: 7px 0 6px;
    color: var(--green);
    font-size: clamp(38px, 5vw, 62px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.parent-attendance-header p[b-yq2u46c0xa] {
    margin: 0;
    color: #666666;
}

.parent-attendance-filters[b-yq2u46c0xa] {
    margin-top: 17px;
    padding: 20px;
    display: grid;
    grid-template-columns:
        repeat(3, minmax(180px, 1fr));
    gap: 16px;
    border: 3px solid var(--green);
    border-radius: 16px;
    background: #fbfff9;
}

.parent-attendance-filter-field[b-yq2u46c0xa] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.parent-attendance-filter-field label[b-yq2u46c0xa] {
    color: #333333;
    font-size: 12px;
    font-weight: 800;
}

.parent-attendance-filter-field select[b-yq2u46c0xa],
.parent-attendance-filter-field input[b-yq2u46c0xa] {
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 2px solid #b7df9b;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
}

.parent-attendance-filter-field select:focus[b-yq2u46c0xa],
.parent-attendance-filter-field input:focus[b-yq2u46c0xa] {
    border-color: var(--green);
    box-shadow:
        0 0 0 3px
        rgba(77, 189, 0, 0.14);
}

.parent-attendance-filter-actions[b-yq2u46c0xa] {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.parent-attendance-apply-button[b-yq2u46c0xa],
.parent-attendance-clear-button[b-yq2u46c0xa] {
    min-height: 42px;
    padding: 9px 19px;
    border-radius: 22px;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}

.parent-attendance-apply-button[b-yq2u46c0xa] {
    border: 0;
    background: var(--green);
    color: #ffffff;
}

.parent-attendance-clear-button[b-yq2u46c0xa] {
    border: 2px solid var(--green);
    background: #ffffff;
    color: var(--green-dark);
}

.parent-attendance-statistics[b-yq2u46c0xa] {
    margin: 20px 0 17px;
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 13px;
}

.parent-attendance-statistics article[b-yq2u46c0xa] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    border: 3px solid var(--green);
    border-radius: 13px;
    background: #fbfff9;
}

.parent-attendance-statistics span[b-yq2u46c0xa] {
    color: var(--green-dark);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.parent-attendance-statistics strong[b-yq2u46c0xa] {
    color: #111111;
    font-size: 28px;
}

.parent-attendance-list[b-yq2u46c0xa] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.parent-attendance-card[b-yq2u46c0xa] {
    padding: 19px;
    border: 3px solid var(--green);
    border-radius: 15px;
    background: #fbfff9;
}

.parent-attendance-card-header[b-yq2u46c0xa] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 17px;
}

.parent-attendance-card-header > div[b-yq2u46c0xa] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.parent-attendance-card-header > div > span[b-yq2u46c0xa] {
    color: var(--green-dark);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.parent-attendance-card-header > div > strong[b-yq2u46c0xa] {
    color: #111111;
    font-size: 22px;
}

.parent-attendance-card-header small[b-yq2u46c0xa] {
    color: #666666;
    overflow-wrap: anywhere;
}

.parent-attendance-status[b-yq2u46c0xa] {
    padding: 7px 11px;
    flex-shrink: 0;
    border-radius: 16px;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.parent-attendance-status--present[b-yq2u46c0xa] {
    background: #dff4d7;
    color: #347a20;
}

.parent-attendance-status--absent[b-yq2u46c0xa] {
    background: #ffe0e0;
    color: #a12626;
}

.parent-attendance-status--late[b-yq2u46c0xa] {
    background: #fff0ce;
    color: #96620b;
}

.parent-attendance-status--early[b-yq2u46c0xa] {
    background: #e3e9ff;
    color: #3e5ab3;
}

.parent-attendance-status--justified[b-yq2u46c0xa] {
    background: #eee4ff;
    color: #6d45aa;
}

.parent-attendance-details[b-yq2u46c0xa] {
    margin-top: 16px;
    padding-top: 15px;
    display: grid;
    grid-template-columns:
        minmax(120px, 0.5fr)
        minmax(120px, 0.5fr)
        minmax(230px, 1.5fr);
    gap: 16px;
    border-top: 2px solid #cce7b8;
}

.parent-attendance-details > div[b-yq2u46c0xa] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.parent-attendance-details span[b-yq2u46c0xa] {
    color: #666666;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.parent-attendance-details strong[b-yq2u46c0xa] {
    color: #111111;
    line-height: 1.45;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.parent-attendance-message[b-yq2u46c0xa],
.parent-attendance-empty[b-yq2u46c0xa],
.parent-attendance-error[b-yq2u46c0xa] {
    margin-top: 17px;
    padding: 23px;
    border-radius: 13px;
    text-align: center;
}

.parent-attendance-message[b-yq2u46c0xa],
.parent-attendance-empty[b-yq2u46c0xa] {
    background: #f4faef;
    color: #666666;
}

.parent-attendance-error[b-yq2u46c0xa] {
    background: #fff0f0;
    color: #a61b1b;
}

button:disabled[b-yq2u46c0xa],
select:disabled[b-yq2u46c0xa],
input:disabled[b-yq2u46c0xa] {
    cursor: not-allowed;
    opacity: 0.6;
}

@media (max-width: 950px) {
    .parent-attendance-filters[b-yq2u46c0xa] {
        grid-template-columns:
            repeat(2, minmax(160px, 1fr));
    }

    .parent-attendance-details[b-yq2u46c0xa] {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .parent-attendance-observation[b-yq2u46c0xa] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 650px) {
    .parent-attendance-header[b-yq2u46c0xa] {
        align-items: stretch;
        flex-direction: column;
    }

    .parent-attendance-filter-button[b-yq2u46c0xa] {
        width: 100%;
    }

    .parent-attendance-filters[b-yq2u46c0xa],
    .parent-attendance-statistics[b-yq2u46c0xa] {
        grid-template-columns: 1fr;
    }

    .parent-attendance-filter-actions[b-yq2u46c0xa] {
        flex-direction: column;
    }

    .parent-attendance-filter-actions button[b-yq2u46c0xa] {
        width: 100%;
    }

    .parent-attendance-card-header[b-yq2u46c0xa] {
        flex-direction: column;
    }

    .parent-attendance-details[b-yq2u46c0xa] {
        grid-template-columns: 1fr;
    }

    .parent-attendance-observation[b-yq2u46c0xa] {
        grid-column: auto;
    }
}
/* /Pages/Padre/AvisoPadreDetalle.razor.rz.scp.css */
/* =========================================================
   DETALLE DE AVISO
   ========================================================= */

.parent-notice-detail-page[b-ymu1flrxpf],
.parent-notice-detail-page *[b-ymu1flrxpf] {
    box-sizing: border-box;
}

.parent-notice-detail-page[b-ymu1flrxpf] {
    --green: #4dbd00;
    --green-dark: #319000;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.parent-detail-header[b-ymu1flrxpf] {
    margin-bottom: 24px;
}

.parent-detail-header > button[b-ymu1flrxpf] {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--green-dark);
    font-weight: 800;
    cursor: pointer;
}

.parent-detail-header > span[b-ymu1flrxpf],
.parent-detail-heading > span[b-ymu1flrxpf] {
    margin-top: 22px;
    display: block;
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
}

.parent-detail-title-row[b-ymu1flrxpf] {
    margin-top: 7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.parent-detail-header h1[b-ymu1flrxpf] {
    margin: 0;
    color: var(--green);
    font-size: clamp(34px, 4.5vw, 58px);
    font-weight: 900;
    line-height: 1.08;
    text-transform: uppercase;
}

.parent-detail-download-button[b-ymu1flrxpf] {
    min-height: 44px;
    padding: 10px 22px;
    flex-shrink: 0;
    border: 0;
    border-radius: 23px;
    background: var(--green);
    color: #ffffff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.parent-detail-download-button:disabled[b-ymu1flrxpf] {
    cursor: wait;
    opacity: 0.6;
}

.parent-detail-card[b-ymu1flrxpf] {
    padding: clamp(22px, 3vw, 34px);
    border: 3px solid var(--green);
    border-radius: 18px;
    background: #f9fff6;
}

.parent-detail-card + .parent-detail-card[b-ymu1flrxpf] {
    margin-top: 22px;
}

.parent-detail-grid[b-ymu1flrxpf] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 35px;
}

.parent-detail-grid > div[b-ymu1flrxpf] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.parent-detail-grid-full[b-ymu1flrxpf] {
    grid-column: 1 / -1;
}

.parent-detail-grid span[b-ymu1flrxpf] {
    color: #666666;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.parent-detail-grid strong[b-ymu1flrxpf] {
    color: #111111;
    font-size: 16px;
    line-height: 1.45;
}

.parent-detail-heading h2[b-ymu1flrxpf] {
    margin: 6px 0 20px;
    color: #111111;
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 900;
    text-transform: uppercase;
}

.parent-detail-description[b-ymu1flrxpf] {
    min-height: 150px;
    padding: 20px;
    border: 2px solid #cce5b9;
    border-radius: 12px;
    background: #ffffff;
    color: #333333;
    line-height: 1.65;
    white-space: pre-wrap;
}

.parent-detail-message[b-ymu1flrxpf],
.parent-detail-error[b-ymu1flrxpf] {
    padding: 24px;
    border-radius: 13px;
    text-align: center;
}

.parent-detail-message[b-ymu1flrxpf] {
    background: #f4faef;
}

.parent-detail-error[b-ymu1flrxpf] {
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 700px) {
    .parent-detail-title-row[b-ymu1flrxpf] {
        align-items: stretch;
        flex-direction: column;
    }

    .parent-detail-download-button[b-ymu1flrxpf] {
        width: 100%;
    }

    .parent-detail-grid[b-ymu1flrxpf] {
        grid-template-columns: 1fr;
    }

    .parent-detail-grid-full[b-ymu1flrxpf] {
        grid-column: auto;
    }
}


/* =========================================================
   PDF DEL AVISO
   ========================================================= */

.parent-detail-pdf-card[b-ymu1flrxpf] {
    margin-top: 22px;
}

.parent-detail-pdf-heading[b-ymu1flrxpf] {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.parent-detail-pdf-actions[b-ymu1flrxpf] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.parent-detail-pdf-heading span[b-ymu1flrxpf] {
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
}

.parent-detail-pdf-heading h2[b-ymu1flrxpf] {
    margin: 6px 0 0;
    color: #111111;
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 900;
    text-transform: uppercase;
}

.parent-detail-pdf-viewer[b-ymu1flrxpf] {
    width: 100%;
    min-width: 0;
    height: clamp(520px, 68vh, 820px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    border: 2px solid #cce5b9;
    border-radius: 13px;
    background: #ffffff;
}

.parent-detail-pdf-message[b-ymu1flrxpf],
.parent-detail-pdf-empty[b-ymu1flrxpf],
.parent-detail-pdf-error[b-ymu1flrxpf] {
    min-height: 220px;
    padding: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #cce5b9;
    border-radius: 13px;
    text-align: center;
}

.parent-detail-pdf-message[b-ymu1flrxpf],
.parent-detail-pdf-empty[b-ymu1flrxpf] {
    background: #ffffff;
    color: #666666;
}

.parent-detail-pdf-error[b-ymu1flrxpf] {
    border-color: #e5a1a1;
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 700px) {
    .parent-detail-pdf-heading[b-ymu1flrxpf] {
        align-items: stretch;
        flex-direction: column;
    }

    .parent-detail-pdf-actions[b-ymu1flrxpf] {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .parent-detail-pdf-actions button[b-ymu1flrxpf] {
        width: 100%;
    }

    .parent-detail-pdf-heading
    .parent-detail-download-button[b-ymu1flrxpf] {
        width: 100%;
    }

    .parent-detail-pdf-viewer[b-ymu1flrxpf] {
        min-height: 480px;
    }

    }




/* =========================================================
   VISOR PDF INTERACTIVO
   ========================================================= */

[b-ymu1flrxpf] .nido-pdf-toolbar {
    position: sticky;
    top: 0;
    z-index: 5;
    min-height: 48px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
    background: #f5f5f5;
}

[b-ymu1flrxpf] .nido-pdf-toolbar-information {
    color: #555555;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

[b-ymu1flrxpf] .nido-pdf-toolbar-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

[b-ymu1flrxpf] .nido-pdf-toolbar-controls button {
    min-width: 36px;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #cccccc;
    border-radius: 8px;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

[b-ymu1flrxpf] .nido-pdf-toolbar-controls button:active {
    transform: translateY(1px);
}

[b-ymu1flrxpf] .nido-pdf-zoom-value {
    min-width: 48px;
    color: #444444;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

[b-ymu1flrxpf] .nido-pdf-pages {
    min-width: 100%;
    width: max-content;
    padding: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    background: #d8d8d8;
}

[b-ymu1flrxpf] .nido-pdf-page {
    width: max-content;
    max-width: none;
    flex: 0 0 auto;
    background: #ffffff;
    box-shadow:
        0 2px 8px
        rgba(0, 0, 0, 0.18);
}

[b-ymu1flrxpf] .nido-pdf-page canvas {
    display: block;
    max-width: none;
    background: #ffffff;
}

[b-ymu1flrxpf] .nido-pdf-render-loading,
[b-ymu1flrxpf] .nido-pdf-render-error {
    min-height: 220px;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666666;
    text-align: center;
}

[b-ymu1flrxpf] .nido-pdf-render-error {
    color: #a61b1b;
    background: #fff0f0;
}

@media (max-width: 600px) {
    [b-ymu1flrxpf] .nido-pdf-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    [b-ymu1flrxpf] .nido-pdf-toolbar-information {
        text-align: center;
    }

    [b-ymu1flrxpf] .nido-pdf-toolbar-controls {
        justify-content: center;
        flex-wrap: wrap;
    }

    [b-ymu1flrxpf] .nido-pdf-toolbar-controls button {
        min-height: 40px;
    }
}
/* /Pages/Padre/AvisosPadre.razor.rz.scp.css */
/* =========================================================
   GENERAL
   ========================================================= */

.parent-notices-page[b-e1fpg3jxwv],
.parent-notices-page *[b-e1fpg3jxwv] {
    box-sizing: border-box;
}

.parent-notices-page[b-e1fpg3jxwv] {
    --green: #4dbd00;
    --green-dark: #319000;
    --green-soft: #d7efc5;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.parent-notices-header[b-e1fpg3jxwv] {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
}

.parent-notices-header > div > span[b-e1fpg3jxwv] {
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
}

.parent-notices-header h1[b-e1fpg3jxwv] {
    margin: 8px 0 6px;
    color: var(--green);
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.parent-notices-header p[b-e1fpg3jxwv] {
    margin: 0;
    color: #666666;
}

.parent-filter-toggle[b-e1fpg3jxwv],
.parent-filter-apply[b-e1fpg3jxwv],
.parent-filter-clear[b-e1fpg3jxwv] {
    min-height: 42px;
    padding: 9px 20px;
    border-radius: 22px;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}

.parent-filter-toggle[b-e1fpg3jxwv],
.parent-filter-apply[b-e1fpg3jxwv] {
    border: 0;
    background: var(--green);
    color: #ffffff;
}

.parent-filter-clear[b-e1fpg3jxwv] {
    border: 2px solid var(--green);
    background: #ffffff;
    color: var(--green-dark);
}

/* =========================================================
   FILTROS
   ========================================================= */

.parent-notices-filters[b-e1fpg3jxwv] {
    margin-bottom: 20px;
    padding: 18px;
    display: grid;
    grid-template-columns:
        minmax(220px, 1.5fr)
        repeat(3, minmax(150px, 1fr))
        auto;
    align-items: end;
    gap: 14px;
    border: 2px solid #b7df9b;
    border-radius: 14px;
    background: #f5fbf1;
}

.parent-notices-filters > div:not(
    .parent-notices-filter-actions)[b-e1fpg3jxwv] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.parent-notices-filters label[b-e1fpg3jxwv] {
    color: #333333;
    font-size: 12px;
    font-weight: 800;
}

.parent-notices-filters input[b-e1fpg3jxwv],
.parent-notices-filters select[b-e1fpg3jxwv] {
    width: 100%;
    min-height: 43px;
    padding: 9px 12px;
    border: 2px solid #cce5b9;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
}

.parent-notices-filter-actions[b-e1fpg3jxwv] {
    display: flex;
    gap: 8px;
}

/* =========================================================
   LISTADO HORIZONTAL
   ========================================================= */

.parent-notices-list[b-e1fpg3jxwv] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.parent-notice-card[b-e1fpg3jxwv] {
    min-height: 118px;
    padding: 15px 24px 15px 15px;
    display: flex;
    align-items: center;
    gap: 22px;
    border: 4px solid var(--green);
    border-radius: 16px;
    background: var(--green-soft);
    transition:
        transform 150ms ease,
        box-shadow 150ms ease,
        background-color 150ms ease;
}

.parent-notice-card:hover[b-e1fpg3jxwv] {
    transform: translateY(-1px);
    background: #e1f3d4;
    box-shadow: 0 7px 15px rgba(53, 124, 7, 0.15);
}

.parent-notice-date[b-e1fpg3jxwv] {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    flex-shrink: 0;
    border-radius: 18px;
    background: #ffffff;
    color: var(--green);
    box-shadow: 0 5px 9px rgba(0, 0, 0, 0.12);
}

.parent-notice-date strong[b-e1fpg3jxwv] {
    font-size: 29px;
    line-height: 1;
}

.parent-notice-date span[b-e1fpg3jxwv] {
    margin-top: 5px;
    font-size: 12px;
    font-weight: 900;
}

.parent-notice-information[b-e1fpg3jxwv] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.parent-notice-information > strong[b-e1fpg3jxwv] {
    color: #111111;
    font-size: clamp(20px, 2vw, 27px);
    font-weight: 900;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.parent-notice-information > span[b-e1fpg3jxwv] {
    color: #3f3f3f;
    font-size: 14px;
    font-weight: 700;
}

.parent-notice-information small[b-e1fpg3jxwv] {
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 800;
}

.parent-notice-actions[b-e1fpg3jxwv] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.parent-notice-download[b-e1fpg3jxwv] {
    width: 44px;
    height: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid var(--green);
    border-radius: 50%;
    background: #ffffff;
    color: var(--green-dark);
    cursor: pointer;
    transition:
        transform 150ms ease,
        background-color 150ms ease,
        opacity 150ms ease;
}

.parent-notice-download:hover:not(:disabled)[b-e1fpg3jxwv] {
    transform: translateY(-1px);
    background: #f4faef;
}

.parent-notice-download:disabled[b-e1fpg3jxwv] {
    cursor: wait;
    opacity: 0.55;
}

.parent-notice-download svg[b-e1fpg3jxwv] {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.parent-notice-view[b-e1fpg3jxwv] {
    width: 46px;
    height: 46px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid var(--green);
    border-radius: 50%;
    background: #ffffff;
    color: var(--green-dark);
    cursor: pointer;
    transition:
        background-color 150ms ease,
        color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

.parent-notice-view svg[b-e1fpg3jxwv] {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.parent-notice-view:hover[b-e1fpg3jxwv] {
    background: var(--green);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 13px rgba(49, 144, 0, 0.24);
}

.parent-notice-view:active[b-e1fpg3jxwv] {
    transform: translateY(0);
}

.parent-notice-view:focus-visible[b-e1fpg3jxwv] {
    outline: 3px solid rgba(49, 144, 0, 0.24);
    outline-offset: 3px;
}

.parent-notices-message[b-e1fpg3jxwv],
.parent-notices-error[b-e1fpg3jxwv],
.parent-notices-empty[b-e1fpg3jxwv] {
    padding: 24px;
    border-radius: 13px;
    text-align: center;
}

.parent-notices-message[b-e1fpg3jxwv],
.parent-notices-empty[b-e1fpg3jxwv] {
    background: #f4faef;
    color: #666666;
}

.parent-notices-error[b-e1fpg3jxwv] {
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 1100px) {
    .parent-notices-filters[b-e1fpg3jxwv] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .parent-notices-filter-actions[b-e1fpg3jxwv] {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 720px) {
    .parent-notices-header[b-e1fpg3jxwv] {
        align-items: flex-start;
        flex-direction: column;
    }

    .parent-filter-toggle[b-e1fpg3jxwv] {
        width: 100%;
    }

    .parent-notices-filters[b-e1fpg3jxwv] {
        grid-template-columns: 1fr;
    }

    .parent-notices-filter-actions[b-e1fpg3jxwv] {
        grid-column: auto;
        flex-direction: column;
    }

    .parent-notice-card[b-e1fpg3jxwv] {
        align-items: flex-start;
        flex-wrap: wrap;
        padding: 15px;
    }

    .parent-notice-date[b-e1fpg3jxwv] {
        width: 64px;
        height: 64px;
    }

    .parent-notice-actions[b-e1fpg3jxwv] {
        width: 100%;
        justify-content: flex-end;
    }

    .parent-notice-view[b-e1fpg3jxwv] {
        width: 46px;
    }
}


/* =========================================================
   CALENDARIO DE ACTIVIDADES
   ========================================================= */

.parent-calendar-banner[b-e1fpg3jxwv] {
    margin-bottom: 22px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    border: 3px solid var(--green);
    border-radius: 16px;
    background: #f5fbf1;
}

.parent-calendar-banner-icon[b-e1fpg3jxwv] {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 12px;
    background: #ffffff;
    color: var(--green-dark);
    font-weight: 900;
}

.parent-calendar-banner-information[b-e1fpg3jxwv] {
    min-width: 0;
    flex: 1;
}

.parent-calendar-banner-information > span[b-e1fpg3jxwv] {
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
}

.parent-calendar-banner-information h2[b-e1fpg3jxwv] {
    margin: 4px 0;
    color: #111111;
    font-size: clamp(20px, 2vw, 27px);
    font-weight: 900;
    text-transform: uppercase;
}

.parent-calendar-banner-information p[b-e1fpg3jxwv] {
    margin: 0;
    color: #666666;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.parent-calendar-download-button[b-e1fpg3jxwv] {
    min-height: 44px;
    padding: 9px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-shrink: 0;
    border: 0;
    border-radius: 23px;
    background: var(--green);
    color: #ffffff;
    font-family: inherit;
    font-weight: 900;
    cursor: pointer;
}

.parent-calendar-download-button:disabled[b-e1fpg3jxwv] {
    cursor: wait;
    opacity: 0.6;
}

.parent-calendar-download-button svg[b-e1fpg3jxwv] {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 720px) {
    .parent-calendar-banner[b-e1fpg3jxwv] {
        align-items: stretch;
        flex-direction: column;
    }

    .parent-calendar-download-button[b-e1fpg3jxwv] {
        width: 100%;
    }
}
/* /Pages/Padre/CompletarPerfilPadre.razor.rz.scp.css */
/* =========================================================
   COMPLETAR PERFIL DEL PADRE
   ========================================================= */

.complete-parent-page[b-cj240rxn0u],
.complete-parent-page *[b-cj240rxn0u] {
    box-sizing: border-box;
}

.complete-parent-page[b-cj240rxn0u] {
    width: 100%;
    min-height: 100dvh;
    padding: clamp(22px, 5vw, 60px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4faef;
    font-family: Arial, Helvetica, sans-serif;
}

.complete-parent-card[b-cj240rxn0u] {
    width: min(100%, 920px);
    padding: clamp(24px, 4vw, 45px);
    border: 4px solid #4dbd00;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(49, 144, 0, 0.14);
}

.complete-parent-header[b-cj240rxn0u] {
    margin-bottom: 28px;
    display: flex;
    align-items: center;
    gap: 22px;
}

.complete-parent-header img[b-cj240rxn0u] {
    width: 105px;
    height: 105px;
    flex-shrink: 0;
    border-radius: 50%;
    object-fit: contain;
}

.complete-parent-header span[b-cj240rxn0u] {
    color: #4dbd00;
    font-size: 11px;
    font-weight: 900;
}

.complete-parent-header h1[b-cj240rxn0u] {
    margin: 6px 0;
    color: #4dbd00;
    font-size: clamp(31px, 4vw, 49px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.complete-parent-header p[b-cj240rxn0u] {
    margin: 0;
    color: #666666;
    line-height: 1.5;
}

.complete-parent-grid[b-cj240rxn0u] {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 21px 25px;
}

.complete-parent-field[b-cj240rxn0u] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.complete-parent-field label[b-cj240rxn0u] {
    color: #222222;
    font-size: 13px;
    font-weight: 800;
}

.complete-parent-control[b-cj240rxn0u],
[b-cj240rxn0u] .complete-parent-control {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 2px solid #b7df9b;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
}

.complete-parent-control:focus[b-cj240rxn0u],
[b-cj240rxn0u] .complete-parent-control:focus {
    border-color: #4dbd00;
    box-shadow:
        0 0 0 3px
        rgba(77, 189, 0, 0.14);
}

.validation-message[b-cj240rxn0u] {
    color: #b42318;
    font-size: 12px;
    font-weight: 700;
}

.complete-parent-password-note[b-cj240rxn0u] {
    margin-top: 20px;
    padding: 14px 16px;
    border-radius: 10px;
    background: #f4faef;
    color: #52664a;
    font-size: 13px;
    line-height: 1.45;
}

.complete-parent-submit[b-cj240rxn0u] {
    width: 100%;
    min-height: 48px;
    margin-top: 23px;
    border: 0;
    border-radius: 25px;
    background: #4dbd00;
    color: #ffffff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
}

.complete-parent-submit:disabled[b-cj240rxn0u] {
    cursor: not-allowed;
    opacity: 0.6;
}

.complete-parent-error[b-cj240rxn0u] {
    margin-bottom: 20px;
    padding: 17px;
    border-radius: 11px;
    background: #fff0f0;
    color: #a61b1b;
    font-weight: 700;
    text-align: center;
}

@media (max-width: 700px) {
    .complete-parent-header[b-cj240rxn0u] {
        align-items: flex-start;
        flex-direction: column;
    }

    .complete-parent-header img[b-cj240rxn0u] {
        width: 82px;
        height: 82px;
    }

    .complete-parent-grid[b-cj240rxn0u] {
        grid-template-columns: 1fr;
    }
}


.complete-parent-logout[b-cj240rxn0u] {
    width: 100%;
    min-height: 43px;
    margin-top: 10px;
    border: 2px solid #4dbd00;
    border-radius: 23px;
    background: #ffffff;
    color: #319000;
    font-family: inherit;
    font-weight: 900;
    cursor: pointer;
}

.complete-parent-logout:disabled[b-cj240rxn0u] {
    cursor: not-allowed;
    opacity: 0.6;
}


/* =========================================================
   MOSTRAR / OCULTAR CONTRASEÑAS
   ========================================================= */

.complete-parent-password-shell[b-cj240rxn0u] {
    position: relative;
    width: 100%;
    min-width: 0;
}

.complete-parent-password-control[b-cj240rxn0u],
[b-cj240rxn0u] .complete-parent-password-control {
    padding-right: 52px;
}

.complete-parent-password-toggle[b-cj240rxn0u] {
    position: absolute;
    top: 50%;
    right: 7px;
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #319000;
    cursor: pointer;
}

.complete-parent-password-toggle:hover[b-cj240rxn0u],
.complete-parent-password-toggle.is-visible[b-cj240rxn0u] {
    background: #effbe8;
}

.complete-parent-password-toggle svg[b-cj240rxn0u] {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.complete-parent-password-toggle:focus-visible[b-cj240rxn0u] {
    outline: 3px solid rgba(77, 189, 0, 0.18);
    outline-offset: 1px;
}

@media (max-width: 700px) {
    .complete-parent-password-control[b-cj240rxn0u],
    [b-cj240rxn0u] .complete-parent-password-control {
        font-size: 16px;
    }
}
/* /Pages/Padre/HijoPadreDetalle.razor.rz.scp.css */
/* =========================================================
   DETALLE DEL HIJO - PADRE
   ========================================================= */

.parent-child-detail-page[b-ymtjxs8gky],
.parent-child-detail-page *[b-ymtjxs8gky] {
    box-sizing: border-box;
}

.parent-child-detail-page[b-ymtjxs8gky] {
    --green: #4dbd00;
    --green-dark: #319000;
    --green-soft: #dff3cf;
    --green-pale: #fbfff9;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.parent-child-detail-header[b-ymtjxs8gky] {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.parent-child-back-button[b-ymtjxs8gky] {
    margin-bottom: 18px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--green-dark);
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}

.parent-child-detail-header span[b-ymtjxs8gky],
.parent-child-card-heading span[b-ymtjxs8gky] {
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
}

.parent-child-detail-header h1[b-ymtjxs8gky] {
    margin: 7px 0 6px;
    color: var(--green);
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.parent-child-detail-header p[b-ymtjxs8gky] {
    margin: 0;
    color: #666666;
}

.parent-child-detail-avatar[b-ymtjxs8gky] {
    width: 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--green);
    color: #ffffff;
    font-size: 29px;
    font-weight: 900;
}

.parent-child-detail-card[b-ymtjxs8gky] {
    padding: clamp(22px, 3vw, 32px);
    border: 3px solid var(--green);
    border-radius: 18px;
    background: var(--green-pale);
}

.parent-child-detail-card +
.parent-child-detail-card[b-ymtjxs8gky] {
    margin-top: 22px;
}

.parent-child-card-heading[b-ymtjxs8gky] {
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.parent-child-card-heading h2[b-ymtjxs8gky] {
    margin: 5px 0 0;
    color: #111111;
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 900;
    text-transform: uppercase;
}

.parent-child-card-heading > strong[b-ymtjxs8gky] {
    min-width: 40px;
    min-height: 40px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 22px;
    background: var(--green-soft);
    color: var(--green-dark);
}

.parent-child-information-grid[b-ymtjxs8gky],
.parent-child-relationship-grid[b-ymtjxs8gky],
.parent-child-medical-grid[b-ymtjxs8gky] {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 20px 28px;
}

.parent-child-information-grid > div[b-ymtjxs8gky],
.parent-child-relationship-grid > div[b-ymtjxs8gky],
.parent-child-medical-grid > div[b-ymtjxs8gky] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.parent-child-information-grid span[b-ymtjxs8gky],
.parent-child-relationship-grid span[b-ymtjxs8gky],
.parent-child-medical-grid span[b-ymtjxs8gky] {
    color: #666666;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.parent-child-information-grid strong[b-ymtjxs8gky],
.parent-child-relationship-grid strong[b-ymtjxs8gky],
.parent-child-medical-grid strong[b-ymtjxs8gky] {
    color: #111111;
    line-height: 1.5;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.parent-child-relationship-grid > div[b-ymtjxs8gky],
.parent-child-medical-grid > div[b-ymtjxs8gky] {
    padding: 17px;
    border: 2px solid #b7df9b;
    border-radius: 12px;
    background: #ffffff;
}

.parent-child-relationship-grid[b-ymtjxs8gky] {
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
}

.parent-child-medical-grid > div:last-child[b-ymtjxs8gky] {
    grid-column: 1 / -1;
}

.parent-child-detail-message[b-ymtjxs8gky],
.parent-child-detail-error[b-ymtjxs8gky] {
    padding: 24px;
    border-radius: 13px;
    text-align: center;
}

.parent-child-detail-message[b-ymtjxs8gky] {
    background: #f4faef;
    color: #666666;
}

.parent-child-detail-error[b-ymtjxs8gky] {
    background: #fff0f0;
    color: #a61b1b;
}

.parent-child-detail-error p[b-ymtjxs8gky] {
    margin: 8px 0 17px;
}

.parent-child-detail-error > div[b-ymtjxs8gky] {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.parent-child-detail-error button[b-ymtjxs8gky] {
    min-height: 40px;
    padding: 8px 18px;
    border: 2px solid var(--green);
    border-radius: 21px;
    background: #ffffff;
    color: var(--green-dark);
    font-weight: 800;
    cursor: pointer;
}

@media (max-width: 850px) {
    .parent-child-information-grid[b-ymtjxs8gky],
    .parent-child-relationship-grid[b-ymtjxs8gky],
    .parent-child-medical-grid[b-ymtjxs8gky] {
        grid-template-columns: 1fr;
    }

    .parent-child-medical-grid > div:last-child[b-ymtjxs8gky] {
        grid-column: auto;
    }
}

@media (max-width: 620px) {
    .parent-child-detail-header[b-ymtjxs8gky] {
        align-items: flex-start;
        flex-direction: column-reverse;
    }

    .parent-child-card-heading[b-ymtjxs8gky] {
        align-items: flex-start;
    }

    .parent-child-detail-error > div[b-ymtjxs8gky] {
        flex-direction: column;
    }
}
/* /Pages/Padre/InicioPadre.razor.rz.scp.css */
/* =========================================================
   GENERAL
   ========================================================= */

.parent-home-page[b-amvgp1esix],
.parent-home-page *[b-amvgp1esix] {
    box-sizing: border-box;
}

.parent-home-page[b-amvgp1esix] {
    --green: #4dbd00;
    --green-dark: #319000;
    --green-soft: #dff3cf;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.parent-page-header[b-amvgp1esix] {
    margin-bottom: 25px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
}

    .parent-page-header > div:first-child > span[b-amvgp1esix],
    .parent-section-heading > div > span[b-amvgp1esix] {
        color: var(--green);
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .parent-page-header h1[b-amvgp1esix] {
        margin: 8px 0 6px;
        color: var(--green);
        font-size: clamp(38px, 5vw, 62px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

    .parent-page-header p[b-amvgp1esix] {
        margin: 0;
        color: #666666;
    }

.parent-child-filter[b-amvgp1esix] {
    width: min(100%, 290px);
    display: flex;
    flex-direction: column;
    gap: 7px;
}

    .parent-child-filter label[b-amvgp1esix] {
        color: #333333;
        font-size: 13px;
        font-weight: 800;
    }

    .parent-child-filter select[b-amvgp1esix] {
        min-height: 44px;
        padding: 9px 13px;
        border: 2px solid #b7df9b;
        border-radius: 10px;
        outline: none;
        background: #ffffff;
    }

.parent-children-section[b-amvgp1esix],
.parent-home-panel[b-amvgp1esix] {
    padding: 25px;
    border: 3px solid var(--green);
    border-radius: 18px;
    background: #fbfff9;
}

.parent-section-heading[b-amvgp1esix] {
    margin-bottom: 19px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

    .parent-section-heading h2[b-amvgp1esix] {
        margin: 5px 0 0;
        color: #111111;
        font-size: clamp(22px, 2.4vw, 30px);
        font-weight: 900;
        text-transform: uppercase;
    }

    .parent-section-heading > strong[b-amvgp1esix] {
        min-width: 38px;
        min-height: 38px;
        padding: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--green-soft);
        color: var(--green-dark);
    }

    .parent-section-heading button[b-amvgp1esix] {
        padding: 7px 14px;
        border: 2px solid var(--green);
        border-radius: 18px;
        background: #ffffff;
        color: var(--green-dark);
        font-weight: 800;
        cursor: pointer;
    }

.parent-children-grid[b-amvgp1esix] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.parent-child-card[b-amvgp1esix] {
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 15px;
    border-radius: 13px;
    background: var(--green-soft);
}

.parent-child-avatar[b-amvgp1esix] {
    width: 62px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ffffff;
    color: var(--green);
    font-size: 22px;
    font-weight: 900;
}

.parent-child-information[b-amvgp1esix] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.parent-child-card strong[b-amvgp1esix] {
    color: #111111;
    font-size: 17px;
}

.parent-child-card span[b-amvgp1esix] {
    color: #3b3b3b;
    font-size: 13px;
    font-weight: 700;
}

.parent-child-card small[b-amvgp1esix] {
    color: var(--green-dark);
    font-weight: 700;
}

.parent-home-columns[b-amvgp1esix] {
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 22px;
}

.parent-summary-list[b-amvgp1esix] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.parent-summary-card[b-amvgp1esix] {
    padding: 15px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    border-radius: 12px;
    background: var(--green-soft);
}

    .parent-summary-card > .parent-summary-actions[b-amvgp1esix] {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
        flex-shrink: 0;
    }

.parent-summary-download:disabled[b-amvgp1esix] {
    cursor: wait;
    opacity: 0.55;
}

.parent-summary-download svg[b-amvgp1esix] {
    stroke-linecap: round;
    stroke-linejoin: round;
}

.parent-summary-card > div[b-amvgp1esix] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.parent-summary-card strong[b-amvgp1esix] {
    overflow-wrap: anywhere;
}

.parent-summary-card span[b-amvgp1esix] {
    color: #555555;
    font-size: 12px;
}

.parent-summary-card button[b-amvgp1esix] {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid var(--green);
    border-radius: 50%;
    background: #ffffff;
    color: var(--green-dark);
    cursor: pointer;
}

.parent-summary-card svg[b-amvgp1esix] {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.parent-empty-state[b-amvgp1esix],
.parent-page-message[b-amvgp1esix],
.parent-page-error[b-amvgp1esix] {
    padding: 22px;
    border-radius: 12px;
    text-align: center;
}

.parent-empty-state[b-amvgp1esix],
.parent-page-message[b-amvgp1esix] {
    background: #f4faef;
    color: #666666;
}

.parent-page-error[b-amvgp1esix] {
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 850px) {
    .parent-page-header[b-amvgp1esix] {
        align-items: stretch;
        flex-direction: column;
    }

    .parent-child-filter[b-amvgp1esix] {
        width: 100%;
    }

    .parent-children-grid[b-amvgp1esix],
    .parent-home-columns[b-amvgp1esix] {
        grid-template-columns: 1fr;
    }

    .parent-summary-card > .parent-summary-actions[b-amvgp1esix] {
        flex-direction: row;
        flex-shrink: 0;
    }
}


/* =========================================================
   REPORTE PENDIENTE DE LECTURA
   ========================================================= */

.parent-summary-pending[b-amvgp1esix] {
    width: fit-content;
    padding: 4px 8px;
    border-radius: 12px;
    background: #ffffff;
    color: var(--green-dark) !important;
    font-size: 10px !important;
    font-weight: 900;
    text-transform: uppercase;
}


/* =========================================================
   CALENDARIO EN ÚLTIMOS AVISOS
   ========================================================= */

.parent-calendar-summary-card[b-amvgp1esix] {
    border: 2px solid var(--green);
    background: #f4faef;
}

.parent-calendar-summary-icon[b-amvgp1esix] {
    width: 48px;
    height: 48px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    border-radius: 10px;
    background: #ffffff;
    color: var(--green-dark);
    font-size: 13px;
    font-weight: 900;
}

.parent-summary-card >
.parent-calendar-summary-information[b-amvgp1esix] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.parent-calendar-summary-information small[b-amvgp1esix] {
    color: var(--green);
    font-size: 9px;
    font-weight: 900;
}

.parent-calendar-summary-information strong[b-amvgp1esix],
.parent-calendar-summary-information span[b-amvgp1esix] {
    overflow-wrap: anywhere;
}

.parent-calendar-summary-download[b-amvgp1esix] {
    flex-shrink: 0;
}

.parent-calendar-summary-download:disabled[b-amvgp1esix] {
    cursor: wait;
    opacity: 0.55;
}

.parent-calendar-summary-download svg[b-amvgp1esix] {
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 520px) {
    .parent-calendar-summary-icon[b-amvgp1esix] {
        display: none !important;
    }
}


.parent-child-view-button[b-amvgp1esix] {
    width: 42px;
    height: 42px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid var(--green);
    border-radius: 50%;
    background: #ffffff;
    color: var(--green-dark);
    cursor: pointer;
}

.parent-child-view-button:hover[b-amvgp1esix] {
    background: #f4faef;
}

.parent-child-view-button svg[b-amvgp1esix] {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

@media (max-width: 520px) {
    .parent-child-card[b-amvgp1esix] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .parent-child-view-button[b-amvgp1esix] {
        margin-left: auto;
    }
}


/* =========================================================
   HORA DE INICIO DEL AULA
   ========================================================= */

.parent-child-information
.parent-child-start-time[b-amvgp1esix] {
    margin-top: 2px;
    color: #555555;
    font-weight: 700;
}

.parent-child-start-time strong[b-amvgp1esix] {
    color: var(--green-dark);
    font-weight: 900;
}
/* /Pages/Padre/PerfilPadre.razor.rz.scp.css */
/* =========================================================
   PERFIL DEL PADRE
   ========================================================= */

.parent-profile-page[b-8j69gvfv8t],
.parent-profile-page *[b-8j69gvfv8t] {
    box-sizing: border-box;
}

.parent-profile-page[b-8j69gvfv8t] {
    --green: #4dbd00;
    --green-dark: #319000;
    --green-soft: #dff3cf;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.parent-profile-page-header[b-8j69gvfv8t] {
    margin-bottom: 23px;
}

.parent-profile-page-header > span[b-8j69gvfv8t],
.parent-profile-card-heading span[b-8j69gvfv8t] {
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
}

.parent-profile-page-header h1[b-8j69gvfv8t] {
    margin: 7px 0 6px;
    color: var(--green);
    font-size: clamp(38px, 5vw, 62px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.parent-profile-page-header p[b-8j69gvfv8t] {
    margin: 0;
    color: #666666;
}

.parent-profile-card[b-8j69gvfv8t] {
    padding: clamp(22px, 3vw, 32px);
    border: 3px solid var(--green);
    border-radius: 18px;
    background: #fbfff9;
}

.parent-profile-card +
.parent-profile-card[b-8j69gvfv8t] {
    margin-top: 22px;
}

.parent-profile-card-heading[b-8j69gvfv8t] {
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.parent-profile-card-heading h2[b-8j69gvfv8t] {
    margin: 5px 0 0;
    color: #111111;
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 900;
    text-transform: uppercase;
}

.parent-profile-card-heading > strong[b-8j69gvfv8t] {
    padding: 7px 13px;
    border-radius: 18px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.parent-profile-grid[b-8j69gvfv8t] {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 22px 27px;
}

.parent-profile-field[b-8j69gvfv8t] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.parent-profile-field label[b-8j69gvfv8t] {
    color: #222222;
    font-size: 13px;
    font-weight: 800;
}

.parent-profile-control[b-8j69gvfv8t],
[b-8j69gvfv8t] .parent-profile-control {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 2px solid #b7df9b;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
}

.parent-profile-control:focus[b-8j69gvfv8t],
[b-8j69gvfv8t] .parent-profile-control:focus {
    border-color: var(--green);
    box-shadow:
        0 0 0 3px
        rgba(77, 189, 0, 0.14);
}

.validation-message[b-8j69gvfv8t] {
    color: #b42318;
    font-size: 12px;
    font-weight: 700;
}

.parent-profile-actions[b-8j69gvfv8t] {
    margin-top: 25px;
    display: flex;
    justify-content: flex-end;
}

.parent-profile-primary[b-8j69gvfv8t],
.parent-profile-error button[b-8j69gvfv8t] {
    min-height: 43px;
    padding: 9px 20px;
    border: 0;
    border-radius: 22px;
    background: var(--green);
    color: #ffffff;
    font-family: inherit;
    font-weight: 900;
    cursor: pointer;
}

.parent-profile-primary:disabled[b-8j69gvfv8t] {
    cursor: not-allowed;
    opacity: 0.6;
}

.parent-profile-message[b-8j69gvfv8t],
.parent-profile-error[b-8j69gvfv8t],
.parent-profile-success[b-8j69gvfv8t] {
    margin-bottom: 19px;
    padding: 20px;
    border-radius: 12px;
    text-align: center;
}

.parent-profile-message[b-8j69gvfv8t] {
    background: #f4faef;
    color: #666666;
}

.parent-profile-error[b-8j69gvfv8t] {
    background: #fff0f0;
    color: #a61b1b;
}

.parent-profile-error p[b-8j69gvfv8t] {
    margin: 0 0 14px;
}

.parent-profile-success[b-8j69gvfv8t] {
    background: #effbe8;
    color: #287c0b;
    font-weight: 800;
}

@media (max-width: 700px) {
    .parent-profile-card-heading[b-8j69gvfv8t] {
        align-items: flex-start;
        flex-direction: column;
    }

    .parent-profile-grid[b-8j69gvfv8t] {
        grid-template-columns: 1fr;
    }

    .parent-profile-actions button[b-8j69gvfv8t] {
        width: 100%;
    }
}


/* =========================================================
   MOSTRAR / OCULTAR CONTRASEÑAS
   ========================================================= */

.parent-profile-password-shell[b-8j69gvfv8t] {
    position: relative;
    width: 100%;
    min-width: 0;
}

.parent-profile-password-control[b-8j69gvfv8t],
[b-8j69gvfv8t] .parent-profile-password-control {
    padding-right: 52px;
}

.parent-profile-password-toggle[b-8j69gvfv8t] {
    position: absolute;
    top: 50%;
    right: 7px;
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--green-dark);
    cursor: pointer;
}

.parent-profile-password-toggle:hover[b-8j69gvfv8t],
.parent-profile-password-toggle.is-visible[b-8j69gvfv8t] {
    background: #effbe8;
}

.parent-profile-password-toggle svg[b-8j69gvfv8t] {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.parent-profile-password-toggle:focus-visible[b-8j69gvfv8t] {
    outline: 3px solid rgba(77, 189, 0, 0.18);
    outline-offset: 1px;
}

@media (max-width: 700px) {
    .parent-profile-password-control[b-8j69gvfv8t],
    [b-8j69gvfv8t] .parent-profile-password-control {
        font-size: 16px;
    }
}
/* /Pages/Padre/ReportePadreDetalle.razor.rz.scp.css */
/* =========================================================
   DETALLE DE REPORTE
   ========================================================= */

.parent-report-detail-page[b-pl76cy7zfm],
.parent-report-detail-page *[b-pl76cy7zfm] {
    box-sizing: border-box;
}

.parent-report-detail-page[b-pl76cy7zfm] {
    --green: #4dbd00;
    --green-dark: #319000;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.parent-report-detail-header[b-pl76cy7zfm] {
    margin-bottom: 24px;
}

    .parent-report-detail-header > button[b-pl76cy7zfm] {
        padding: 0;
        border: 0;
        background: transparent;
        color: var(--green-dark);
        font-weight: 800;
        cursor: pointer;
    }

    .parent-report-detail-header > span[b-pl76cy7zfm] {
        margin-top: 22px;
        display: block;
        color: var(--green);
        font-size: 12px;
        font-weight: 900;
    }

    .parent-report-detail-header h1[b-pl76cy7zfm] {
        margin: 7px 0 4px;
        color: var(--green);
        font-size: clamp(34px, 4.5vw, 58px);
        font-weight: 900;
        line-height: 1.08;
        text-transform: uppercase;
    }

    .parent-report-detail-header p[b-pl76cy7zfm] {
        margin: 0;
        color: #666666;
    }

.parent-report-detail-card[b-pl76cy7zfm] {
    padding: clamp(22px, 3vw, 34px);
    border: 3px solid var(--green);
    border-radius: 18px;
    background: #f9fff6;
}

    .parent-report-detail-card + .parent-report-detail-card[b-pl76cy7zfm] {
        margin-top: 22px;
    }

.parent-report-card-heading[b-pl76cy7zfm] {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

    .parent-report-card-heading > div > span[b-pl76cy7zfm] {
        color: var(--green);
        font-size: 12px;
        font-weight: 900;
    }

    .parent-report-card-heading h2[b-pl76cy7zfm] {
        margin: 6px 0 0;
        color: #111111;
        font-size: clamp(22px, 2.5vw, 30px);
        font-weight: 900;
        text-transform: uppercase;
    }

    .parent-report-card-heading > strong[b-pl76cy7zfm] {
        min-width: 38px;
        min-height: 38px;
        padding: 8px 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 20px;
        background: #dff3cf;
        color: var(--green-dark);
        font-size: 12px;
        text-transform: uppercase;
    }

.parent-report-general-grid[b-pl76cy7zfm] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 35px;
}

    .parent-report-general-grid > div[b-pl76cy7zfm],
    .parent-report-data-list > div[b-pl76cy7zfm] {
        display: flex;
        flex-direction: column;
        gap: 7px;
    }

    .parent-report-general-grid span[b-pl76cy7zfm],
    .parent-report-data-list span[b-pl76cy7zfm] {
        color: #666666;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .parent-report-general-grid strong[b-pl76cy7zfm],
    .parent-report-data-list strong[b-pl76cy7zfm] {
        color: #111111;
        font-size: 16px;
        line-height: 1.45;
    }

.parent-report-observations[b-pl76cy7zfm] {
    min-height: 100px;
    padding: 19px;
    border: 2px solid #cce5b9;
    border-radius: 12px;
    background: #ffffff;
    color: #333333;
    line-height: 1.6;
    white-space: pre-wrap;
}

.parent-diaper-list[b-pl76cy7zfm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.parent-diaper-item[b-pl76cy7zfm] {
    padding: 16px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    border: 2px solid #cce5b9;
    border-radius: 12px;
    background: #ffffff;
}

    .parent-diaper-item > div[b-pl76cy7zfm] {
        min-width: 70px;
        padding: 8px 10px;
        border-radius: 18px;
        background: #dff3cf;
        color: var(--green-dark);
        font-size: 13px;
        font-weight: 900;
        text-align: center;
    }

    .parent-diaper-item section[b-pl76cy7zfm] {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    .parent-diaper-item span[b-pl76cy7zfm],
    .parent-diaper-item small[b-pl76cy7zfm] {
        color: #666666;
        font-size: 13px;
    }

.parent-report-columns[b-pl76cy7zfm] {
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 22px;
}

    .parent-report-columns
    .parent-report-detail-card[b-pl76cy7zfm] {
        height: 100%;
        margin-top: 0;
        display: flex;
        flex-direction: column;
    }

.parent-report-data-list[b-pl76cy7zfm] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

    .parent-report-data-list > div:last-child[b-pl76cy7zfm] {
        min-height: 90px;
        margin-top: auto;
        padding: 14px;
        border: 2px solid #cce5b9;
        border-radius: 10px;
        background: #ffffff;
    }

.parent-report-empty[b-pl76cy7zfm],
.parent-report-detail-message[b-pl76cy7zfm],
.parent-report-detail-error[b-pl76cy7zfm] {
    padding: 22px;
    border-radius: 12px;
    text-align: center;
}

.parent-report-empty[b-pl76cy7zfm],
.parent-report-detail-message[b-pl76cy7zfm] {
    background: #f4faef;
    color: #666666;
}

.parent-report-detail-error[b-pl76cy7zfm] {
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 850px) {
    .parent-report-general-grid[b-pl76cy7zfm],
    .parent-report-columns[b-pl76cy7zfm] {
        grid-template-columns: 1fr;
    }

        .parent-report-columns
        .parent-report-detail-card[b-pl76cy7zfm] {
            height: auto;
        }

    .parent-report-data-list > div:last-child[b-pl76cy7zfm] {
        min-height: 0;
        margin-top: 0;
    }
}


/* =========================================================
   CONFIRMACIÓN DE LECTURA
   ========================================================= */

.parent-report-reading-card[b-pl76cy7zfm] {
    margin-top: 22px;
    margin-bottom: 8px;
}

.parent-reading-status[b-pl76cy7zfm] {
    min-width: auto !important;
    min-height: 34px !important;
    padding: 7px 12px !important;
    border-radius: 18px !important;
    font-size: 11px !important;
}

.parent-reading-status--confirmed[b-pl76cy7zfm] {
    background: #dff3cf !important;
    color: var(--green-dark) !important;
}

.parent-reading-status--pending[b-pl76cy7zfm] {
    background: #fff0bd !important;
    color: #8a6800 !important;
}

.parent-reading-confirmed[b-pl76cy7zfm] {
    padding: 20px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    border: 2px solid #b7df9b;
    border-radius: 13px;
    background: #ffffff;
}

.parent-reading-confirmed-icon[b-pl76cy7zfm] {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--green);
    color: #ffffff;
    font-size: 25px;
    font-weight: 900;
}

.parent-reading-confirmed > div:last-child[b-pl76cy7zfm] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.parent-reading-confirmed strong[b-pl76cy7zfm] {
    color: #111111;
    font-size: 18px;
}

.parent-reading-confirmed span[b-pl76cy7zfm] {
    color: #555555;
    font-size: 13px;
}

.parent-reading-confirmed p[b-pl76cy7zfm] {
    margin: 8px 0 0;
    padding: 13px 15px;
    border-radius: 9px;
    background: #f4faef;
    color: #333333;
    line-height: 1.5;
    white-space: pre-wrap;
}

.parent-reading-form[b-pl76cy7zfm] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

    .parent-reading-form > p[b-pl76cy7zfm] {
        margin: 0;
        color: #555555;
        line-height: 1.55;
    }

.parent-reading-fixed-message[b-pl76cy7zfm] {
    width: 100%;
    padding: 16px 18px;
    border: 2px solid #cce5b9;
    border-radius: 11px;
    background: #f4faef;
    color: #222222;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.55;
}

.parent-reading-confirm-button[b-pl76cy7zfm] {
    min-height: 46px;
    padding: 10px 24px;
    align-self: flex-end;
    border: 0;
    border-radius: 24px;
    background: var(--green);
    color: #ffffff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
}

    .parent-reading-confirm-button:disabled[b-pl76cy7zfm] {
        cursor: not-allowed;
        opacity: 0.65;
    }

.parent-reading-error[b-pl76cy7zfm] {
    padding: 13px 15px;
    border-radius: 9px;
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 600px) {
    .parent-reading-confirmed[b-pl76cy7zfm] {
        flex-direction: column;
    }

    .parent-reading-confirm-button[b-pl76cy7zfm] {
        width: 100%;
        align-self: stretch;
    }
}


/* Cuando Descanso está marcado como No aplica,
   Merienda utiliza todo el ancho disponible. */
.parent-report-columns--single[b-pl76cy7zfm] {
    grid-template-columns: 1fr;
}
/* /Pages/Padre/ReportesPadre.razor.rz.scp.css */
/* =========================================================
   GENERAL Y FILTROS
   ========================================================= */

.parent-reports-page[b-av3byibisj],
.parent-reports-page *[b-av3byibisj] {
    box-sizing: border-box;
}

.parent-reports-page[b-av3byibisj] {
    --green: #4dbd00;
    --green-dark: #319000;
    --green-soft: #d7efc5;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.parent-reports-header[b-av3byibisj] {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
}

.parent-reports-header > div > span[b-av3byibisj] {
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
}

.parent-reports-header h1[b-av3byibisj] {
    margin: 8px 0 6px;
    color: var(--green);
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.parent-reports-header p[b-av3byibisj] {
    margin: 0;
    color: #666666;
}

.parent-report-filter-toggle[b-av3byibisj],
.parent-report-filter-apply[b-av3byibisj],
.parent-report-filter-clear[b-av3byibisj] {
    min-height: 42px;
    padding: 9px 20px;
    border-radius: 22px;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}

.parent-report-filter-toggle[b-av3byibisj],
.parent-report-filter-apply[b-av3byibisj] {
    border: 0;
    background: var(--green);
    color: #ffffff;
}

.parent-report-filter-clear[b-av3byibisj] {
    border: 2px solid var(--green);
    background: #ffffff;
    color: var(--green-dark);
}

.parent-reports-filters[b-av3byibisj] {
    margin-bottom: 20px;
    padding: 18px;
    display: grid;
    grid-template-columns:
        minmax(220px, 1.5fr)
        repeat(3, minmax(150px, 1fr))
        auto;
    align-items: end;
    gap: 14px;
    border: 2px solid #b7df9b;
    border-radius: 14px;
    background: #f5fbf1;
}

.parent-reports-filters > div:not(
    .parent-reports-filter-actions)[b-av3byibisj] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.parent-reports-filters label[b-av3byibisj] {
    color: #333333;
    font-size: 12px;
    font-weight: 800;
}

.parent-reports-filters input[b-av3byibisj],
.parent-reports-filters select[b-av3byibisj] {
    width: 100%;
    min-height: 43px;
    padding: 9px 12px;
    border: 2px solid #cce5b9;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
}

.parent-reports-filter-actions[b-av3byibisj] {
    display: flex;
    gap: 8px;
}

/* =========================================================
   LISTADO
   ========================================================= */

.parent-reports-list[b-av3byibisj] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.parent-report-card[b-av3byibisj] {
    min-height: 118px;
    padding: 15px 24px 15px 15px;
    display: flex;
    align-items: center;
    gap: 22px;
    border: 4px solid var(--green);
    border-radius: 16px;
    background: var(--green-soft);
    transition:
        transform 150ms ease,
        box-shadow 150ms ease,
        background-color 150ms ease;
}

.parent-report-card:hover[b-av3byibisj] {
    transform: translateY(-1px);
    background: #e1f3d4;
    box-shadow: 0 7px 15px rgba(53, 124, 7, 0.15);
}

.parent-report-date[b-av3byibisj] {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    flex-shrink: 0;
    border-radius: 18px;
    background: #ffffff;
    color: var(--green);
    box-shadow: 0 5px 9px rgba(0, 0, 0, 0.12);
}

.parent-report-date strong[b-av3byibisj] {
    font-size: 29px;
    line-height: 1;
}

.parent-report-date span[b-av3byibisj] {
    margin-top: 5px;
    font-size: 12px;
    font-weight: 900;
}

.parent-report-information[b-av3byibisj] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.parent-report-information > div[b-av3byibisj] {
    display: flex;
    align-items: center;
    gap: 11px;
    flex-wrap: wrap;
}

.parent-report-information > div > strong[b-av3byibisj] {
    color: #111111;
    font-size: clamp(20px, 2vw, 27px);
    font-weight: 900;
    text-transform: uppercase;
}

.parent-report-information > div > span[b-av3byibisj] {
    padding: 5px 10px;
    border-radius: 15px;
    background: #ffffff;
    color: var(--green-dark);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.parent-report-information p[b-av3byibisj] {
    margin: 0;
    color: #3f3f3f;
    font-size: 14px;
    font-weight: 700;
}

.parent-report-information small[b-av3byibisj] {
    color: var(--green-dark);
    font-weight: 800;
}

.parent-report-view[b-av3byibisj] {
    width: 46px;
    height: 46px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid var(--green);
    border-radius: 50%;
    background: #ffffff;
    color: var(--green-dark);
    cursor: pointer;
    transition:
        background-color 150ms ease,
        color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

.parent-report-view svg[b-av3byibisj] {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.parent-report-view:hover[b-av3byibisj] {
    background: var(--green);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 13px rgba(49, 144, 0, 0.24);
}

.parent-report-view:active[b-av3byibisj] {
    transform: translateY(0);
}

.parent-report-view:focus-visible[b-av3byibisj] {
    outline: 3px solid rgba(49, 144, 0, 0.24);
    outline-offset: 3px;
}

.parent-reports-message[b-av3byibisj],
.parent-reports-error[b-av3byibisj],
.parent-reports-empty[b-av3byibisj] {
    padding: 24px;
    border-radius: 13px;
    text-align: center;
}

.parent-reports-message[b-av3byibisj],
.parent-reports-empty[b-av3byibisj] {
    background: #f4faef;
    color: #666666;
}

.parent-reports-error[b-av3byibisj] {
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 1100px) {
    .parent-reports-filters[b-av3byibisj] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .parent-reports-filter-actions[b-av3byibisj] {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 720px) {
    .parent-reports-header[b-av3byibisj] {
        align-items: flex-start;
        flex-direction: column;
    }

    .parent-report-filter-toggle[b-av3byibisj] {
        width: 100%;
    }

    .parent-reports-filters[b-av3byibisj] {
        grid-template-columns: 1fr;
    }

    .parent-reports-filter-actions[b-av3byibisj] {
        grid-column: auto;
        flex-direction: column;
    }

    .parent-report-card[b-av3byibisj] {
        align-items: flex-start;
        flex-wrap: wrap;
        padding: 15px;
    }

    .parent-report-date[b-av3byibisj] {
        width: 64px;
        height: 64px;
    }

    .parent-report-view[b-av3byibisj] {
        margin-left: auto;
    }
}
/* /Pages/Profesor/AsistenciasProfesor.razor.rz.scp.css */
/* =========================================================
   GENERAL
   ========================================================= */

.teacher-attendance-page[b-gwr7lf8h2o],
.teacher-attendance-page *[b-gwr7lf8h2o] {
    box-sizing: border-box;
}

.teacher-attendance-page[b-gwr7lf8h2o] {
    --gold: #c7a200;
    --gold-dark: #8b7200;
    --gold-soft: #f1edb0;
    --gold-pale: #fffdf4;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.teacher-attendance-header[b-gwr7lf8h2o] {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
}

    .teacher-attendance-header > div > span[b-gwr7lf8h2o] {
        color: var(--gold);
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .teacher-attendance-header h1[b-gwr7lf8h2o] {
        margin: 8px 0 6px;
        color: var(--gold);
        font-size: clamp(40px, 5vw, 64px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

    .teacher-attendance-header p[b-gwr7lf8h2o] {
        margin: 0;
        color: #666666;
    }

.attendance-mark-all-button[b-gwr7lf8h2o],
.attendance-save-button[b-gwr7lf8h2o] {
    min-height: 44px;
    padding: 10px 22px;
    border: 0;
    border-radius: 23px;
    background: var(--gold);
    color: #ffffff;
    font-family: inherit;
    font-weight: 900;
    cursor: pointer;
}

    .attendance-mark-all-button:disabled[b-gwr7lf8h2o],
    .attendance-save-button:disabled[b-gwr7lf8h2o] {
        cursor: not-allowed;
        opacity: 0.6;
    }

/* =========================================================
   CONTROLES
   ========================================================= */

.attendance-controls[b-gwr7lf8h2o] {
    margin-bottom: 20px;
    padding: 19px 21px;
    display: grid;
    grid-template-columns: minmax(230px, 1fr) minmax(190px, 0.7fr) minmax(160px, 0.6fr);
    align-items: end;
    gap: 17px;
    border: 3px solid var(--gold);
    border-radius: 16px;
    background: var(--gold-pale);
}

.attendance-control-field[b-gwr7lf8h2o] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .attendance-control-field label[b-gwr7lf8h2o],
    .attendance-control-summary span[b-gwr7lf8h2o] {
        color: #555555;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .attendance-control-field select[b-gwr7lf8h2o],
    .attendance-control-field input[b-gwr7lf8h2o] {
        width: 100%;
        min-height: 44px;
        padding: 9px 12px;
        border: 2px solid #ddd28e;
        border-radius: 9px;
        outline: none;
        background: #ffffff;
        color: #222222;
    }

        .attendance-control-field select:focus[b-gwr7lf8h2o],
        .attendance-control-field input:focus[b-gwr7lf8h2o] {
            border-color: var(--gold);
            box-shadow: 0 0 0 3px rgba(199, 162, 0, 0.17);
        }

.attendance-control-summary[b-gwr7lf8h2o] {
    min-height: 44px;
    padding: 9px 13px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    border: 2px solid #e5dda9;
    border-radius: 9px;
    background: #ffffff;
}

    .attendance-control-summary strong[b-gwr7lf8h2o] {
        color: #111111;
        font-size: 16px;
    }

/* =========================================================
   RESUMEN
   ========================================================= */

.attendance-statistics[b-gwr7lf8h2o] {
    margin-bottom: 18px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
}

    .attendance-statistics article[b-gwr7lf8h2o] {
        padding: 15px 17px;
        display: flex;
        justify-content: center;
        flex-direction: column;
        gap: 5px;
        border: 2px solid #ddd28e;
        border-radius: 11px;
        background: #ffffff;
    }

    .attendance-statistics span[b-gwr7lf8h2o] {
        color: #666666;
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .attendance-statistics strong[b-gwr7lf8h2o] {
        color: #111111;
        font-size: 24px;
        font-weight: 900;
    }

/* =========================================================
   LISTADO
   ========================================================= */

.attendance-list[b-gwr7lf8h2o] {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.attendance-student-card[b-gwr7lf8h2o] {
    padding: 18px;
    border: 3px solid var(--gold);
    border-radius: 16px;
    background: var(--gold-pale);
    transition: border-color 150ms ease, background-color 150ms ease;
}

.attendance-student-card--present[b-gwr7lf8h2o] {
    border-color: #58aa39;
    background: #f5fff1;
}

.attendance-student-card--absent[b-gwr7lf8h2o] {
    border-color: #d45d5d;
    background: #fff5f5;
}

.attendance-student-card--late[b-gwr7lf8h2o] {
    border-color: #d79a31;
    background: #fffaf0;
}

.attendance-student-card--early[b-gwr7lf8h2o] {
    border-color: #6a87d9;
    background: #f5f7ff;
}

.attendance-student-card--justified[b-gwr7lf8h2o] {
    border-color: #8a69c8;
    background: #faf6ff;
}

.attendance-student-main[b-gwr7lf8h2o] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.attendance-student-avatar[b-gwr7lf8h2o] {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ffffff;
    color: var(--gold);
    font-size: 21px;
    font-weight: 900;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.13);
}

.attendance-student-information[b-gwr7lf8h2o] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

    .attendance-student-information > div[b-gwr7lf8h2o] {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 9px;
    }

    .attendance-student-information strong[b-gwr7lf8h2o] {
        color: #111111;
        font-size: 20px;
        font-weight: 900;
        text-transform: uppercase;
        overflow-wrap: anywhere;
    }

    .attendance-student-information span[b-gwr7lf8h2o] {
        padding: 5px 9px;
        border-radius: 14px;
        background: #ffffff;
        color: var(--gold-dark);
        font-size: 10px;
        font-weight: 900;
    }

    .attendance-student-information small[b-gwr7lf8h2o] {
        color: #666666;
    }

/* =========================================================
   BOTONES DE ESTADO
   ========================================================= */

.attendance-status-options[b-gwr7lf8h2o] {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.attendance-status-button[b-gwr7lf8h2o] {
    min-height: 42px;
    padding: 8px 10px;
    border: 2px solid #d8d8d8;
    border-radius: 10px;
    background: #ffffff;
    color: #444444;
    font-family: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    transition: transform 130ms ease, background-color 130ms ease, color 130ms ease;
}

    .attendance-status-button:hover[b-gwr7lf8h2o] {
        transform: translateY(-1px);
    }

.attendance-status-button--present[b-gwr7lf8h2o] {
    border-color: #78bd61;
    color: #377e22;
}

.attendance-status-button--absent[b-gwr7lf8h2o] {
    border-color: #e08b8b;
    color: #a72d2d;
}

.attendance-status-button--late[b-gwr7lf8h2o] {
    border-color: #e0b45f;
    color: #9a670d;
}

.attendance-status-button--early[b-gwr7lf8h2o] {
    border-color: #93a8e6;
    color: #3f5db8;
}

.attendance-status-button--justified[b-gwr7lf8h2o] {
    border-color: #ae91db;
    color: #7148af;
}

.attendance-status-button--present.attendance-status-button--selected[b-gwr7lf8h2o] {
    background: #58aa39;
    color: #ffffff;
}

.attendance-status-button--absent.attendance-status-button--selected[b-gwr7lf8h2o] {
    background: #d45d5d;
    color: #ffffff;
}

.attendance-status-button--late.attendance-status-button--selected[b-gwr7lf8h2o] {
    background: #d79a31;
    color: #ffffff;
}

.attendance-status-button--early.attendance-status-button--selected[b-gwr7lf8h2o] {
    background: #6a87d9;
    color: #ffffff;
}

.attendance-status-button--justified.attendance-status-button--selected[b-gwr7lf8h2o] {
    background: #8a69c8;
    color: #ffffff;
}

/* =========================================================
   DETALLES
   ========================================================= */

.attendance-details[b-gwr7lf8h2o] {
    margin-top: 14px;
}

    .attendance-details summary[b-gwr7lf8h2o] {
        width: fit-content;
        color: var(--gold-dark);
        font-size: 12px;
        font-weight: 900;
        cursor: pointer;
    }

.attendance-details-grid[b-gwr7lf8h2o] {
    margin-top: 13px;
    padding: 14px;
    display: grid;
    grid-template-columns: minmax(150px, 0.6fr) minmax(150px, 0.6fr) minmax(260px, 1.8fr);
    gap: 13px;
    border: 2px solid #e4ddae;
    border-radius: 11px;
    background: #ffffff;
}

    .attendance-details-grid > div[b-gwr7lf8h2o] {
        display: flex;
        flex-direction: column;
        gap: 7px;
    }

    .attendance-details-grid label[b-gwr7lf8h2o] {
        color: #555555;
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .attendance-details-grid input[b-gwr7lf8h2o],
    .attendance-details-grid textarea[b-gwr7lf8h2o] {
        width: 100%;
        min-height: 40px;
        padding: 8px 10px;
        border: 2px solid #dedede;
        border-radius: 8px;
        outline: none;
        background: #ffffff;
        color: #222222;
        font-family: inherit;
    }

    .attendance-details-grid textarea[b-gwr7lf8h2o] {
        resize: vertical;
    }

        .attendance-details-grid input:focus[b-gwr7lf8h2o],
        .attendance-details-grid textarea:focus[b-gwr7lf8h2o] {
            border-color: var(--gold);
        }

.attendance-row-error[b-gwr7lf8h2o] {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #fff0f0;
    color: #a61b1b;
    font-size: 12px;
    font-weight: 700;
}

/* =========================================================
   ACCIONES Y MENSAJES
   ========================================================= */

.attendance-actions[b-gwr7lf8h2o] {
    margin-top: 20px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 3px solid var(--gold);
    border-radius: 15px;
    background: var(--gold-pale);
}

    .attendance-actions > div[b-gwr7lf8h2o] {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .attendance-actions strong[b-gwr7lf8h2o] {
        color: #111111;
    }

    .attendance-actions span[b-gwr7lf8h2o] {
        color: #666666;
        font-size: 12px;
    }

.attendance-message[b-gwr7lf8h2o],
.attendance-empty[b-gwr7lf8h2o],
.attendance-error[b-gwr7lf8h2o],
.attendance-success[b-gwr7lf8h2o] {
    margin: 16px 0;
    padding: 22px;
    border-radius: 12px;
    text-align: center;
}

.attendance-message[b-gwr7lf8h2o],
.attendance-empty[b-gwr7lf8h2o] {
    background: #fffbe7;
    color: #666666;
}

.attendance-error[b-gwr7lf8h2o] {
    background: #fff0f0;
    color: #a61b1b;
}

.attendance-success[b-gwr7lf8h2o] {
    background: #effbe8;
    color: #287c0b;
    font-weight: 800;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {
    .attendance-status-options[b-gwr7lf8h2o] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .attendance-details-grid[b-gwr7lf8h2o] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .attendance-observation-field[b-gwr7lf8h2o] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .teacher-attendance-header[b-gwr7lf8h2o] {
        align-items: stretch;
        flex-direction: column;
    }

    .attendance-mark-all-button[b-gwr7lf8h2o] {
        width: 100%;
    }

    .attendance-controls[b-gwr7lf8h2o] {
        grid-template-columns: 1fr;
    }

    .attendance-statistics[b-gwr7lf8h2o] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .attendance-status-options[b-gwr7lf8h2o] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .attendance-details-grid[b-gwr7lf8h2o] {
        grid-template-columns: 1fr;
    }

    .attendance-observation-field[b-gwr7lf8h2o] {
        grid-column: auto;
    }

    .attendance-actions[b-gwr7lf8h2o] {
        align-items: stretch;
        flex-direction: column;
    }

    .attendance-save-button[b-gwr7lf8h2o] {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .attendance-student-card[b-gwr7lf8h2o] {
        padding: 14px;
    }

    .attendance-student-main[b-gwr7lf8h2o] {
        align-items: flex-start;
    }

    .attendance-student-avatar[b-gwr7lf8h2o] {
        width: 50px;
        height: 50px;
        font-size: 18px;
    }

    .attendance-student-information strong[b-gwr7lf8h2o] {
        font-size: 17px;
    }

    .attendance-status-options[b-gwr7lf8h2o] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Profesor/AvisoProfesorDetalle.razor.rz.scp.css */
/* =========================================================
   DETALLE DE AVISO PARA PROFESORAS
   ========================================================= */

.teacher-notice-detail-page[b-8etjv81adk],
.teacher-notice-detail-page *[b-8etjv81adk] {
    box-sizing: border-box;
}

.teacher-notice-detail-page[b-8etjv81adk] {
    --gold: #c7a200;
    --gold-dark: #8b7200;

    width: 100%;

    font-family: Arial, Helvetica, sans-serif;
}

.teacher-detail-header[b-8etjv81adk] {
    margin-bottom: 24px;
}

.teacher-detail-header > button[b-8etjv81adk] {
    padding: 0;

    border: 0;

    background: transparent;
    color: var(--gold-dark);

    font-weight: 800;

    cursor: pointer;
}

.teacher-detail-header > span[b-8etjv81adk],
.teacher-detail-heading > span[b-8etjv81adk] {
    margin-top: 22px;

    display: block;

    color: var(--gold);

    font-size: 12px;
    font-weight: 900;
}

.teacher-detail-title-row[b-8etjv81adk] {
    margin-top: 7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.teacher-detail-header h1[b-8etjv81adk] {
    margin: 0;

    color: var(--gold);

    font-size: clamp(34px, 4.5vw, 58px);
    font-weight: 900;
    line-height: 1.08;

    text-transform: uppercase;
}

.teacher-detail-download-button[b-8etjv81adk] {
    min-height: 44px;
    padding: 10px 22px;
    flex-shrink: 0;
    border: 0;
    border-radius: 23px;
    background: var(--gold);
    color: #ffffff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.teacher-detail-download-button:disabled[b-8etjv81adk] {
    cursor: wait;
    opacity: 0.6;
}

.teacher-detail-card[b-8etjv81adk] {
    padding: clamp(22px, 3vw, 34px);

    border: 3px solid var(--gold);
    border-radius: 18px;

    background: #fffdf4;
}

.teacher-detail-card +
.teacher-detail-card[b-8etjv81adk] {
    margin-top: 22px;
}

.teacher-detail-grid[b-8etjv81adk] {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 25px 35px;
}

.teacher-detail-grid > div[b-8etjv81adk] {
    display: flex;
    flex-direction: column;

    gap: 7px;
}

.teacher-detail-grid-full[b-8etjv81adk] {
    grid-column: 1 / -1;
}

.teacher-detail-grid span[b-8etjv81adk] {
    color: #666666;

    font-size: 12px;
    font-weight: 800;

    text-transform: uppercase;
}

.teacher-detail-grid strong[b-8etjv81adk] {
    color: #111111;

    font-size: 16px;
    line-height: 1.45;
}

.teacher-detail-heading h2[b-8etjv81adk] {
    margin: 6px 0 20px;

    color: #111111;

    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 900;

    text-transform: uppercase;
}

.teacher-detail-description[b-8etjv81adk] {
    min-height: 150px;
    padding: 20px;

    border: 2px solid #e4dda5;
    border-radius: 12px;

    background: #ffffff;
    color: #333333;

    line-height: 1.65;
    white-space: pre-wrap;
}

.teacher-detail-message[b-8etjv81adk],
.teacher-detail-error[b-8etjv81adk] {
    padding: 24px;

    border-radius: 13px;

    text-align: center;
}

.teacher-detail-message[b-8etjv81adk] {
    background: #fffbe7;
}

.teacher-detail-error[b-8etjv81adk] {
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 700px) {
    .teacher-detail-title-row[b-8etjv81adk] {
        align-items: stretch;
        flex-direction: column;
    }

    .teacher-detail-download-button[b-8etjv81adk] {
        width: 100%;
    }

    .teacher-detail-grid[b-8etjv81adk] {
        grid-template-columns: 1fr;
    }

    .teacher-detail-grid-full[b-8etjv81adk] {
        grid-column: auto;
    }
}


/* =========================================================
   PDF DEL AVISO
   ========================================================= */

.teacher-detail-pdf-card[b-8etjv81adk] {
    margin-top: 22px;
}

.teacher-detail-pdf-heading[b-8etjv81adk] {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.teacher-detail-pdf-actions[b-8etjv81adk] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.teacher-detail-pdf-heading span[b-8etjv81adk] {
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
}

.teacher-detail-pdf-heading h2[b-8etjv81adk] {
    margin: 6px 0 0;
    color: #111111;
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 900;
    text-transform: uppercase;
}

.teacher-detail-pdf-viewer[b-8etjv81adk] {
    width: 100%;
    min-width: 0;
    height: clamp(520px, 68vh, 820px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    border: 2px solid #e4dda5;
    border-radius: 13px;
    background: #ffffff;
}

.teacher-detail-pdf-message[b-8etjv81adk],
.teacher-detail-pdf-empty[b-8etjv81adk],
.teacher-detail-pdf-error[b-8etjv81adk] {
    min-height: 220px;
    padding: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #e4dda5;
    border-radius: 13px;
    text-align: center;
}

.teacher-detail-pdf-message[b-8etjv81adk],
.teacher-detail-pdf-empty[b-8etjv81adk] {
    background: #ffffff;
    color: #666666;
}

.teacher-detail-pdf-error[b-8etjv81adk] {
    border-color: #e5a1a1;
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 700px) {
    .teacher-detail-pdf-heading[b-8etjv81adk] {
        align-items: stretch;
        flex-direction: column;
    }

    .teacher-detail-pdf-actions[b-8etjv81adk] {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .teacher-detail-pdf-actions button[b-8etjv81adk] {
        width: 100%;
    }

    .teacher-detail-pdf-heading
    .teacher-detail-download-button[b-8etjv81adk] {
        width: 100%;
    }

    .teacher-detail-pdf-viewer[b-8etjv81adk] {
        min-height: 480px;
    }

    }




/* =========================================================
   VISOR PDF INTERACTIVO
   ========================================================= */

[b-8etjv81adk] .nido-pdf-toolbar {
    position: sticky;
    top: 0;
    z-index: 5;
    min-height: 48px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
    background: #f5f5f5;
}

[b-8etjv81adk] .nido-pdf-toolbar-information {
    color: #555555;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

[b-8etjv81adk] .nido-pdf-toolbar-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

[b-8etjv81adk] .nido-pdf-toolbar-controls button {
    min-width: 36px;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #cccccc;
    border-radius: 8px;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

[b-8etjv81adk] .nido-pdf-toolbar-controls button:active {
    transform: translateY(1px);
}

[b-8etjv81adk] .nido-pdf-zoom-value {
    min-width: 48px;
    color: #444444;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

[b-8etjv81adk] .nido-pdf-pages {
    min-width: 100%;
    width: max-content;
    padding: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    background: #d8d8d8;
}

[b-8etjv81adk] .nido-pdf-page {
    width: max-content;
    max-width: none;
    flex: 0 0 auto;
    background: #ffffff;
    box-shadow:
        0 2px 8px
        rgba(0, 0, 0, 0.18);
}

[b-8etjv81adk] .nido-pdf-page canvas {
    display: block;
    max-width: none;
    background: #ffffff;
}

[b-8etjv81adk] .nido-pdf-render-loading,
[b-8etjv81adk] .nido-pdf-render-error {
    min-height: 220px;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666666;
    text-align: center;
}

[b-8etjv81adk] .nido-pdf-render-error {
    color: #a61b1b;
    background: #fff0f0;
}

@media (max-width: 600px) {
    [b-8etjv81adk] .nido-pdf-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    [b-8etjv81adk] .nido-pdf-toolbar-information {
        text-align: center;
    }

    [b-8etjv81adk] .nido-pdf-toolbar-controls {
        justify-content: center;
        flex-wrap: wrap;
    }

    [b-8etjv81adk] .nido-pdf-toolbar-controls button {
        min-height: 40px;
    }
}
/* /Pages/Profesor/AvisosProfesor.razor.rz.scp.css */
/* =========================================================
   AVISOS DE PROFESORAS
   ========================================================= */

.teacher-notices-page[b-tcmug8um16],
.teacher-notices-page *[b-tcmug8um16] {
    box-sizing: border-box;
}

.teacher-notices-page[b-tcmug8um16] {
    --gold: #c7a200;
    --gold-dark: #8b7200;
    --gold-soft: #f0ecad;

    width: 100%;

    font-family: Arial, Helvetica, sans-serif;
}

.teacher-notices-header[b-tcmug8um16] {
    margin-bottom: 24px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 22px;
}

.teacher-notices-header > div > span[b-tcmug8um16] {
    color: var(--gold);

    font-size: 12px;
    font-weight: 900;
}

.teacher-notices-header h1[b-tcmug8um16] {
    margin: 8px 0 6px;

    color: var(--gold);

    font-size: clamp(40px, 5vw, 64px);
    font-weight: 900;
    line-height: 1;

    text-transform: uppercase;
}

.teacher-notices-header p[b-tcmug8um16] {
    margin: 0;

    color: #666666;
}

.teacher-filter-toggle[b-tcmug8um16],
.teacher-filter-apply[b-tcmug8um16],
.teacher-filter-clear[b-tcmug8um16] {
    min-height: 42px;
    padding: 9px 20px;

    border-radius: 22px;

    font-family: inherit;
    font-weight: 800;

    cursor: pointer;
}

.teacher-filter-toggle[b-tcmug8um16],
.teacher-filter-apply[b-tcmug8um16] {
    border: 0;

    background: var(--gold);
    color: #ffffff;
}

.teacher-filter-clear[b-tcmug8um16] {
    border: 2px solid var(--gold);

    background: #ffffff;
    color: var(--gold-dark);
}

/* =========================================================
   FILTROS
   ========================================================= */

.teacher-notices-filters[b-tcmug8um16] {
    margin-bottom: 20px;
    padding: 18px;

    display: grid;
    grid-template-columns:
        minmax(220px, 1.5fr)
        repeat(3, minmax(150px, 1fr))
        auto;

    align-items: end;

    gap: 14px;

    border: 2px solid #dfd37a;
    border-radius: 14px;

    background: #fffdf3;
}

.teacher-notices-filters > div:not(
    .teacher-notices-filter-actions)[b-tcmug8um16] {
    display: flex;
    flex-direction: column;

    gap: 7px;
}

.teacher-notices-filters label[b-tcmug8um16] {
    color: #333333;

    font-size: 12px;
    font-weight: 800;
}

.teacher-notices-filters input[b-tcmug8um16],
.teacher-notices-filters select[b-tcmug8um16] {
    width: 100%;
    min-height: 43px;
    padding: 9px 12px;

    border: 2px solid #e5dda0;
    border-radius: 9px;

    outline: none;

    background: #ffffff;
}

.teacher-notices-filters input:focus[b-tcmug8um16],
.teacher-notices-filters select:focus[b-tcmug8um16] {
    border-color: var(--gold);

    box-shadow:
        0 0 0 3px rgba(199, 162, 0, 0.16);
}

.teacher-notices-filter-actions[b-tcmug8um16] {
    display: flex;

    gap: 8px;
}

/* =========================================================
   CONTADOR
   ========================================================= */

.teacher-notices-count[b-tcmug8um16] {
    margin-bottom: 12px;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 9px;
}

.teacher-notices-count span[b-tcmug8um16] {
    color: var(--gold-dark);

    font-size: 11px;
    font-weight: 900;

    text-transform: uppercase;
}

.teacher-notices-count strong[b-tcmug8um16] {
    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--gold-soft);
    color: var(--gold-dark);
}

/* =========================================================
   LISTADO
   ========================================================= */

.teacher-notices-list[b-tcmug8um16] {
    display: flex;
    flex-direction: column;

    gap: 16px;
}

.teacher-notice-card[b-tcmug8um16] {
    min-height: 118px;
    padding: 15px 24px 15px 15px;

    display: flex;
    align-items: center;

    gap: 22px;

    border: 4px solid var(--gold);
    border-radius: 16px;

    background: var(--gold-soft);

    transition:
        transform 150ms ease,
        box-shadow 150ms ease,
        background-color 150ms ease;
}

.teacher-notice-card:hover[b-tcmug8um16] {
    transform: translateY(-1px);

    background: #f5f0bd;

    box-shadow:
        0 7px 15px rgba(139, 114, 0, 0.15);
}

.teacher-notice-date[b-tcmug8um16] {
    width: 80px;
    height: 80px;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;

    flex-shrink: 0;

    border-radius: 18px;

    background: #ffffff;
    color: var(--gold);

    box-shadow:
        0 5px 9px rgba(0, 0, 0, 0.12);
}

.teacher-notice-date strong[b-tcmug8um16] {
    font-size: 29px;
    line-height: 1;
}

.teacher-notice-date span[b-tcmug8um16] {
    margin-top: 5px;

    font-size: 12px;
    font-weight: 900;
}

.teacher-notice-information[b-tcmug8um16] {
    min-width: 0;

    flex: 1;

    display: flex;
    flex-direction: column;

    gap: 6px;
}

.teacher-notice-information > strong[b-tcmug8um16] {
    color: #111111;

    font-size: clamp(20px, 2vw, 27px);
    font-weight: 900;

    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.teacher-notice-information > span[b-tcmug8um16] {
    color: #3f3f3f;

    font-size: 14px;
    font-weight: 700;
}

.teacher-notice-information small[b-tcmug8um16] {
    color: var(--gold-dark);

    font-size: 12px;
    font-weight: 800;
}

.teacher-notice-actions[b-tcmug8um16] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.teacher-notice-download[b-tcmug8um16] {
    width: 44px;
    height: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid var(--gold);
    border-radius: 50%;
    background: #ffffff;
    color: var(--gold-dark);
    cursor: pointer;
    transition:
        transform 150ms ease,
        background-color 150ms ease,
        opacity 150ms ease;
}

.teacher-notice-download:hover:not(:disabled)[b-tcmug8um16] {
    transform: translateY(-1px);
    background: #fffbe7;
}

.teacher-notice-download:disabled[b-tcmug8um16] {
    cursor: wait;
    opacity: 0.55;
}

.teacher-notice-download svg[b-tcmug8um16] {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.teacher-notice-view[b-tcmug8um16] {
    width: 46px;
    height: 46px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid var(--gold);
    border-radius: 50%;
    background: #ffffff;
    color: var(--gold-dark);
    cursor: pointer;
    transition:
        background-color 150ms ease,
        color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

.teacher-notice-view svg[b-tcmug8um16] {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.teacher-notice-view:hover[b-tcmug8um16] {
    background: var(--gold);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 13px rgba(139, 114, 0, 0.24);
}

.teacher-notice-view:active[b-tcmug8um16] {
    transform: translateY(0);
}

.teacher-notice-view:focus-visible[b-tcmug8um16] {
    outline: 3px solid rgba(139, 114, 0, 0.24);
    outline-offset: 3px;
}

/* =========================================================
   MENSAJES
   ========================================================= */

.teacher-notices-message[b-tcmug8um16],
.teacher-notices-error[b-tcmug8um16],
.teacher-notices-empty[b-tcmug8um16] {
    padding: 24px;

    border-radius: 13px;

    text-align: center;
}

.teacher-notices-message[b-tcmug8um16],
.teacher-notices-empty[b-tcmug8um16] {
    background: #fffbe7;
    color: #666666;
}

.teacher-notices-error[b-tcmug8um16] {
    background: #fff0f0;
    color: #a61b1b;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {
    .teacher-notices-filters[b-tcmug8um16] {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .teacher-notices-filter-actions[b-tcmug8um16] {
        grid-column: 1 / -1;

        justify-content: flex-end;
    }
}

@media (max-width: 720px) {
    .teacher-notices-header[b-tcmug8um16] {
        align-items: flex-start;
        flex-direction: column;
    }

    .teacher-filter-toggle[b-tcmug8um16] {
        width: 100%;
    }

    .teacher-notices-filters[b-tcmug8um16] {
        grid-template-columns: 1fr;
    }

    .teacher-notices-filter-actions[b-tcmug8um16] {
        grid-column: auto;
        flex-direction: column;
    }

    .teacher-notice-card[b-tcmug8um16] {
        align-items: flex-start;
        flex-wrap: wrap;

        padding: 15px;
    }

    .teacher-notice-date[b-tcmug8um16] {
        width: 64px;
        height: 64px;
    }

    .teacher-notice-actions[b-tcmug8um16] {
        width: 100%;
        justify-content: flex-end;
    }

    .teacher-notice-view[b-tcmug8um16] {
        width: 46px;
    }
}


/* =========================================================
   CALENDARIO DE ACTIVIDADES
   ========================================================= */

.teacher-calendar-banner[b-tcmug8um16] {
    margin-bottom: 22px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    border: 3px solid var(--gold);
    border-radius: 16px;
    background: #fffdf3;
}

.teacher-calendar-banner-icon[b-tcmug8um16] {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 12px;
    background: #ffffff;
    color: var(--gold-dark);
    font-weight: 900;
}

.teacher-calendar-banner-information[b-tcmug8um16] {
    min-width: 0;
    flex: 1;
}

.teacher-calendar-banner-information > span[b-tcmug8um16] {
    color: var(--gold);
    font-size: 11px;
    font-weight: 900;
}

.teacher-calendar-banner-information h2[b-tcmug8um16] {
    margin: 4px 0;
    color: #111111;
    font-size: clamp(20px, 2vw, 27px);
    font-weight: 900;
    text-transform: uppercase;
}

.teacher-calendar-banner-information p[b-tcmug8um16] {
    margin: 0;
    color: #666666;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.teacher-calendar-download-button[b-tcmug8um16] {
    min-height: 44px;
    padding: 9px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-shrink: 0;
    border: 0;
    border-radius: 23px;
    background: var(--gold);
    color: #ffffff;
    font-family: inherit;
    font-weight: 900;
    cursor: pointer;
}

.teacher-calendar-download-button:disabled[b-tcmug8um16] {
    cursor: wait;
    opacity: 0.6;
}

.teacher-calendar-download-button svg[b-tcmug8um16] {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 720px) {
    .teacher-calendar-banner[b-tcmug8um16] {
        align-items: stretch;
        flex-direction: column;
    }

    .teacher-calendar-download-button[b-tcmug8um16] {
        width: 100%;
    }
}

/* =========================================================
   CORRECCIÓN IOS / SAFARI - FILTROS DE FECHA
   ========================================================= */

/*
 * Safari iOS puede imponer un ancho intrínseco a input[type="date"].
 * El campo y su contenedor deben poder encogerse dentro del grid.
 */
.teacher-notices-filters > div:not(
    .teacher-notices-filter-actions)[b-tcmug8um16] {
    min-width: 0;
}

.teacher-notices-filters input[type="date"][b-tcmug8um16] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    display: block;
    box-sizing: border-box;
}

.teacher-notices-filters input[type="date"][b-tcmug8um16]::-webkit-date-and-time-value {
    min-width: 0;
    text-align: left;
}

.teacher-notices-filters input[type="date"][b-tcmug8um16]::-webkit-datetime-edit {
    min-width: 0;
    padding: 0;
}

@media (max-width: 720px) {
    .teacher-notices-filters input[type="date"][b-tcmug8um16] {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        font-size: 16px;
    }
}
/* /Pages/Profesor/InicioProfesor.razor.rz.scp.css */
/* =========================================================
   INICIO DEL PORTAL DE PROFESORAS
   ========================================================= */

.teacher-home-page[b-ox7a4iu6ab],
.teacher-home-page *[b-ox7a4iu6ab] {
    box-sizing: border-box;
}

.teacher-home-page[b-ox7a4iu6ab] {
    --gold: #c7a200;
    --gold-dark: #8b7200;
    --gold-soft: #f1e7b4;
    --gold-pale: #fffdf5;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.teacher-home-header[b-ox7a4iu6ab] {
    margin-bottom: 24px;
}

    .teacher-home-header > span[b-ox7a4iu6ab],
    .teacher-profile-information > span[b-ox7a4iu6ab],
    .teacher-statistics-grid article > span[b-ox7a4iu6ab],
    .teacher-section-heading > div > span[b-ox7a4iu6ab] {
        color: var(--gold);
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .teacher-home-header h1[b-ox7a4iu6ab] {
        margin: 8px 0 6px;
        color: var(--gold);
        font-size: clamp(40px, 5vw, 64px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

    .teacher-home-header p[b-ox7a4iu6ab] {
        margin: 0;
        color: #666666;
    }

        .teacher-home-header p strong[b-ox7a4iu6ab] {
            color: #222222;
        }

.teacher-profile-card[b-ox7a4iu6ab] {
    padding: clamp(22px, 3vw, 32px);
    display: flex;
    align-items: center;
    gap: 20px;
    border: 3px solid var(--gold);
    border-radius: 18px;
    background: var(--gold-pale);
}

.teacher-profile-avatar[b-ox7a4iu6ab] {
    width: 82px;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--gold);
    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
}

.teacher-profile-information[b-ox7a4iu6ab] {
    min-width: 0;
    flex: 1;
}

    .teacher-profile-information h2[b-ox7a4iu6ab] {
        margin: 6px 0 5px;
        color: #111111;
        font-size: clamp(23px, 3vw, 33px);
        font-weight: 900;
        text-transform: uppercase;
        overflow-wrap: anywhere;
    }

    .teacher-profile-information p[b-ox7a4iu6ab] {
        margin: 0;
        color: #666666;
        overflow-wrap: anywhere;
    }

.teacher-profile-status[b-ox7a4iu6ab] {
    padding: 8px 15px;
    flex-shrink: 0;
    border-radius: 18px;
    background: var(--gold-soft);
    color: var(--gold-dark);
    font-size: 12px;
    font-weight: 900;
}

.teacher-statistics-grid[b-ox7a4iu6ab] {
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

    .teacher-statistics-grid article[b-ox7a4iu6ab] {
        min-height: 130px;
        padding: 20px;
        display: flex;
        flex-direction: column;
        border: 3px solid var(--gold);
        border-radius: 15px;
        background: var(--gold-pale);
    }

    .teacher-statistics-grid strong[b-ox7a4iu6ab] {
        margin: 10px 0 5px;
        color: #111111;
        font-size: 34px;
        line-height: 1;
    }

    .teacher-statistics-grid small[b-ox7a4iu6ab] {
        margin-top: auto;
        color: #666666;
    }

.teacher-home-section[b-ox7a4iu6ab] {
    margin-top: 22px;
    padding: clamp(22px, 3vw, 30px);
    border: 3px solid var(--gold);
    border-radius: 18px;
    background: var(--gold-pale);
}

.teacher-section-heading[b-ox7a4iu6ab] {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

    .teacher-section-heading h2[b-ox7a4iu6ab] {
        margin: 5px 0 0;
        color: #111111;
        font-size: clamp(23px, 2.6vw, 31px);
        font-weight: 900;
        text-transform: uppercase;
    }

    .teacher-section-heading button[b-ox7a4iu6ab] {
        min-height: 40px;
        padding: 8px 17px;
        border: 2px solid var(--gold);
        border-radius: 20px;
        background: #ffffff;
        color: var(--gold-dark);
        font-family: inherit;
        font-weight: 800;
        cursor: pointer;
    }

.teacher-classroom-grid[b-ox7a4iu6ab] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.teacher-classroom-card[b-ox7a4iu6ab] {
    padding: 17px;
    display: flex;
    align-items: center;
    gap: 15px;
    border-radius: 13px;
    background: var(--gold-soft);
}

.teacher-classroom-icon[b-ox7a4iu6ab] {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ffffff;
    color: var(--gold);
    font-size: 23px;
    font-weight: 900;
}

.teacher-classroom-info[b-ox7a4iu6ab] {
    min-width: 0;
}

    .teacher-classroom-info > div[b-ox7a4iu6ab] {
        display: flex;
        align-items: center;
        gap: 9px;
        flex-wrap: wrap;
    }

    .teacher-classroom-info strong[b-ox7a4iu6ab] {
        font-size: 18px;
    }

    .teacher-classroom-info > div > span[b-ox7a4iu6ab] {
        padding: 4px 8px;
        border-radius: 12px;
        background: #ffffff;
        color: var(--gold-dark);
        font-size: 10px;
        font-weight: 900;
    }

    .teacher-classroom-info p[b-ox7a4iu6ab] {
        margin: 6px 0 4px;
        color: #444444;
        font-size: 13px;
    }

    .teacher-classroom-info small[b-ox7a4iu6ab] {
        color: var(--gold-dark);
        font-weight: 800;
    }

.teacher-report-summary[b-ox7a4iu6ab] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

    .teacher-report-summary > div[b-ox7a4iu6ab] {
        padding: 18px;
        display: flex;
        flex-direction: column;
        gap: 8px;
        border: 2px solid #e6d783;
        border-radius: 12px;
        background: #ffffff;
    }

    .teacher-report-summary span[b-ox7a4iu6ab] {
        color: #666666;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .teacher-report-summary strong[b-ox7a4iu6ab] {
        color: #111111;
        font-size: 28px;
    }

.teacher-home-empty[b-ox7a4iu6ab],
.teacher-home-message[b-ox7a4iu6ab],
.teacher-home-error[b-ox7a4iu6ab] {
    padding: 24px;
    border-radius: 13px;
    text-align: center;
}

.teacher-home-empty[b-ox7a4iu6ab],
.teacher-home-message[b-ox7a4iu6ab] {
    background: #fff8d9;
    color: #666666;
}

.teacher-home-error[b-ox7a4iu6ab] {
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 1050px) {
    .teacher-statistics-grid[b-ox7a4iu6ab],
    .teacher-report-summary[b-ox7a4iu6ab] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .teacher-profile-card[b-ox7a4iu6ab] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .teacher-profile-status[b-ox7a4iu6ab] {
        margin-left: 102px;
    }

    .teacher-classroom-grid[b-ox7a4iu6ab] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .teacher-statistics-grid[b-ox7a4iu6ab],
    .teacher-report-summary[b-ox7a4iu6ab] {
        grid-template-columns: 1fr;
    }

    .teacher-profile-card[b-ox7a4iu6ab] {
        flex-direction: column;
    }

    .teacher-profile-status[b-ox7a4iu6ab] {
        margin-left: 0;
    }

    .teacher-section-heading[b-ox7a4iu6ab] {
        align-items: stretch;
        flex-direction: column;
    }

        .teacher-section-heading button[b-ox7a4iu6ab] {
            width: 100%;
        }
}


/* =========================================================
   HORA DE INICIO DEL AULA
   ========================================================= */

.teacher-classroom-info
.teacher-classroom-start-time[b-ox7a4iu6ab] {
    margin-top: 0;
    color: #555555;
}

.teacher-classroom-start-time strong[b-ox7a4iu6ab] {
    color: var(--gold-dark);
    font-weight: 900;
}
/* /Pages/Profesor/NinoProfesorDetalle.razor.rz.scp.css */
/* =========================================================
   DETALLE DEL NIÑO - PROFESORA
   ========================================================= */

.teacher-child-detail-page[b-9rrqt3m6n6],
.teacher-child-detail-page *[b-9rrqt3m6n6] {
    box-sizing: border-box;
}

.teacher-child-detail-page[b-9rrqt3m6n6] {
    --gold: #c7a200;
    --gold-dark: #8b7200;
    --gold-soft: #f1e7b4;
    --gold-pale: #fffdf5;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.teacher-child-detail-header[b-9rrqt3m6n6] {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.teacher-child-back-button[b-9rrqt3m6n6] {
    margin-bottom: 18px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--gold-dark);
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}

.teacher-child-detail-header span[b-9rrqt3m6n6],
.teacher-child-card-heading span[b-9rrqt3m6n6] {
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
}

.teacher-child-detail-header h1[b-9rrqt3m6n6] {
    margin: 7px 0 6px;
    color: var(--gold);
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.teacher-child-detail-header p[b-9rrqt3m6n6] {
    margin: 0;
    color: #666666;
}

.teacher-child-detail-avatar[b-9rrqt3m6n6] {
    width: 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--gold);
    color: #ffffff;
    font-size: 29px;
    font-weight: 900;
}

.teacher-child-detail-card[b-9rrqt3m6n6] {
    padding: clamp(22px, 3vw, 32px);
    border: 3px solid var(--gold);
    border-radius: 18px;
    background: var(--gold-pale);
}

.teacher-child-detail-card +
.teacher-child-detail-card[b-9rrqt3m6n6] {
    margin-top: 22px;
}

.teacher-child-card-heading[b-9rrqt3m6n6] {
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.teacher-child-card-heading h2[b-9rrqt3m6n6] {
    margin: 5px 0 0;
    color: #111111;
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 900;
    text-transform: uppercase;
}

.teacher-child-card-heading > strong[b-9rrqt3m6n6] {
    min-width: 40px;
    min-height: 40px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 22px;
    background: var(--gold-soft);
    color: var(--gold-dark);
}

.teacher-child-information-grid[b-9rrqt3m6n6],
.teacher-child-medical-grid[b-9rrqt3m6n6] {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 22px 28px;
}

.teacher-child-information-grid > div[b-9rrqt3m6n6],
.teacher-child-medical-grid > div[b-9rrqt3m6n6] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.teacher-child-information-grid span[b-9rrqt3m6n6],
.teacher-child-medical-grid span[b-9rrqt3m6n6],
.teacher-child-family-information span[b-9rrqt3m6n6] {
    color: #666666;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.teacher-child-information-grid strong[b-9rrqt3m6n6],
.teacher-child-medical-grid strong[b-9rrqt3m6n6],
.teacher-child-family-information strong[b-9rrqt3m6n6] {
    color: #111111;
    line-height: 1.5;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.teacher-child-medical-grid > div[b-9rrqt3m6n6] {
    padding: 17px;
    border: 2px solid #e6d783;
    border-radius: 12px;
    background: #ffffff;
}

.teacher-child-medical-grid > div:last-child[b-9rrqt3m6n6] {
    grid-column: 1 / -1;
}

.teacher-child-family-grid[b-9rrqt3m6n6] {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.teacher-child-family-card[b-9rrqt3m6n6] {
    padding: 18px;
    border: 2px solid #e6d783;
    border-radius: 14px;
    background: #ffffff;
}

.teacher-child-family-header[b-9rrqt3m6n6] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.teacher-child-family-header > div[b-9rrqt3m6n6] {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--gold-soft);
    color: var(--gold-dark);
    font-weight: 900;
}

.teacher-child-family-header section[b-9rrqt3m6n6] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.teacher-child-family-header section strong[b-9rrqt3m6n6] {
    overflow-wrap: anywhere;
}

.teacher-child-family-header section span[b-9rrqt3m6n6] {
    color: #666666;
    font-size: 13px;
}

.teacher-child-family-header small[b-9rrqt3m6n6] {
    padding: 5px 8px;
    border-radius: 13px;
    background: var(--gold-soft);
    color: var(--gold-dark);
    font-size: 9px;
    font-weight: 900;
}

.teacher-child-family-information[b-9rrqt3m6n6] {
    margin-top: 16px;
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.teacher-child-family-information > div[b-9rrqt3m6n6] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.teacher-child-family-information > div:nth-child(2)[b-9rrqt3m6n6] {
    grid-column: 1 / -1;
}

.teacher-child-family-empty[b-9rrqt3m6n6],
.teacher-child-detail-message[b-9rrqt3m6n6],
.teacher-child-detail-error[b-9rrqt3m6n6] {
    padding: 24px;
    border-radius: 13px;
    text-align: center;
}

.teacher-child-family-empty[b-9rrqt3m6n6],
.teacher-child-detail-message[b-9rrqt3m6n6] {
    background: #fff8d9;
    color: #666666;
}

.teacher-child-detail-error[b-9rrqt3m6n6] {
    background: #fff0f0;
    color: #a61b1b;
}

.teacher-child-detail-error p[b-9rrqt3m6n6] {
    margin: 8px 0 17px;
}

.teacher-child-detail-error > div[b-9rrqt3m6n6] {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.teacher-child-detail-error button[b-9rrqt3m6n6] {
    min-height: 40px;
    padding: 8px 18px;
    border: 2px solid var(--gold);
    border-radius: 21px;
    background: #ffffff;
    color: var(--gold-dark);
    font-weight: 800;
    cursor: pointer;
}

@media (max-width: 850px) {
    .teacher-child-information-grid[b-9rrqt3m6n6],
    .teacher-child-medical-grid[b-9rrqt3m6n6],
    .teacher-child-family-grid[b-9rrqt3m6n6] {
        grid-template-columns: 1fr;
    }

    .teacher-child-medical-grid > div:last-child[b-9rrqt3m6n6],
    .teacher-child-family-information > div:nth-child(2)[b-9rrqt3m6n6] {
        grid-column: auto;
    }
}

@media (max-width: 620px) {
    .teacher-child-detail-header[b-9rrqt3m6n6] {
        align-items: flex-start;
        flex-direction: column-reverse;
    }

    .teacher-child-card-heading[b-9rrqt3m6n6] {
        align-items: flex-start;
    }

    .teacher-child-family-header[b-9rrqt3m6n6] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .teacher-child-family-information[b-9rrqt3m6n6] {
        grid-template-columns: 1fr;
    }

    .teacher-child-detail-error > div[b-9rrqt3m6n6] {
        flex-direction: column;
    }
}
/* /Pages/Profesor/NinosProfesor.razor.rz.scp.css */
/* =========================================================
   NIÑOS ASIGNADOS A LA PROFESORA
   ========================================================= */

.teacher-children-page[b-triob50qov],
.teacher-children-page *[b-triob50qov] {
    box-sizing: border-box;
}

.teacher-children-page[b-triob50qov] {
    --gold: #c7a200;
    --gold-dark: #8b7200;
    --gold-soft: #f1e7b4;
    --gold-pale: #fffdf5;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

.teacher-children-header[b-triob50qov] {
    margin-bottom: 23px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
}

    .teacher-children-header > div > span[b-triob50qov],
    .teacher-children-count > span[b-triob50qov] {
        color: var(--gold);
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .teacher-children-header h1[b-triob50qov] {
        margin: 8px 0 6px;
        color: var(--gold);
        font-size: clamp(40px, 5vw, 64px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

    .teacher-children-header p[b-triob50qov] {
        margin: 0;
        color: #666666;
    }

    .teacher-children-header > button[b-triob50qov] {
        min-height: 42px;
        padding: 9px 20px;
        border: 0;
        border-radius: 22px;
        background: var(--gold);
        color: #ffffff;
        font-family: inherit;
        font-weight: 800;
        cursor: pointer;
    }

.teacher-children-filters[b-triob50qov] {
    margin-bottom: 20px;
    padding: 18px;
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(190px, 1fr) auto;
    align-items: end;
    gap: 14px;
    border: 2px solid #dfcb68;
    border-radius: 14px;
    background: #fff9dc;
}

    .teacher-children-filters > div[b-triob50qov] {
        display: flex;
        flex-direction: column;
        gap: 7px;
    }

    .teacher-children-filters label[b-triob50qov] {
        color: #333333;
        font-size: 12px;
        font-weight: 800;
    }

    .teacher-children-filters input[b-triob50qov],
    .teacher-children-filters select[b-triob50qov] {
        width: 100%;
        min-height: 43px;
        padding: 9px 12px;
        border: 2px solid #e5d681;
        border-radius: 9px;
        outline: none;
        background: #ffffff;
    }

    .teacher-children-filters > button[b-triob50qov] {
        min-height: 43px;
        padding: 9px 18px;
        border: 2px solid var(--gold);
        border-radius: 22px;
        background: #ffffff;
        color: var(--gold-dark);
        font-family: inherit;
        font-weight: 800;
        cursor: pointer;
    }

.teacher-children-count[b-triob50qov] {
    margin-bottom: 13px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}

    .teacher-children-count strong[b-triob50qov] {
        min-width: 34px;
        min-height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--gold-soft);
        color: var(--gold-dark);
    }

.teacher-children-list[b-triob50qov] {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.teacher-child-card[b-triob50qov] {
    min-height: 110px;
    padding: 16px 22px;
    display: flex;
    align-items: center;
    gap: 18px;
    border: 4px solid var(--gold);
    border-radius: 16px;
    background: var(--gold-soft);
    transition: transform 150ms ease, box-shadow 150ms ease;
}

    .teacher-child-card:hover[b-triob50qov] {
        transform: translateY(-1px);
        box-shadow: 0 7px 15px rgba(137, 110, 0, 0.14);
    }

.teacher-child-avatar[b-triob50qov] {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ffffff;
    color: var(--gold);
    font-size: 25px;
    font-weight: 900;
    box-shadow: 0 5px 9px rgba(0, 0, 0, 0.11);
}

.teacher-child-information[b-triob50qov] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .teacher-child-information > strong[b-triob50qov] {
        color: #111111;
        font-size: clamp(20px, 2vw, 27px);
        font-weight: 900;
        text-transform: uppercase;
        overflow-wrap: anywhere;
    }

    .teacher-child-information > div[b-triob50qov] {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
    }

        .teacher-child-information > div > span[b-triob50qov] {
            padding: 5px 9px;
            border-radius: 14px;
            background: #ffffff;
            color: var(--gold-dark);
            font-size: 11px;
            font-weight: 900;
        }

    .teacher-child-information small[b-triob50qov] {
        color: #555555;
        font-size: 12px;
        font-weight: 700;
    }

.teacher-child-status[b-triob50qov] {
    padding: 7px 12px;
    flex-shrink: 0;
    border-radius: 15px;
    background: #ffffff;
    color: var(--gold-dark);
    font-size: 11px;
    font-weight: 900;
}

.teacher-children-message[b-triob50qov],
.teacher-children-error[b-triob50qov],
.teacher-children-empty[b-triob50qov] {
    padding: 24px;
    border-radius: 13px;
    text-align: center;
}

.teacher-children-message[b-triob50qov],
.teacher-children-empty[b-triob50qov] {
    background: #fff8d9;
    color: #666666;
}

.teacher-children-error[b-triob50qov] {
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 760px) {
    .teacher-children-header[b-triob50qov] {
        align-items: stretch;
        flex-direction: column;
    }

        .teacher-children-header > button[b-triob50qov] {
            width: 100%;
        }

    .teacher-children-filters[b-triob50qov] {
        grid-template-columns: 1fr;
    }

    .teacher-child-card[b-triob50qov] {
        align-items: flex-start;
        flex-wrap: wrap;
        padding: 15px;
    }

    .teacher-child-status[b-triob50qov] {
        margin-left: 90px;
    }
}

@media (max-width: 480px) {
    .teacher-child-card[b-triob50qov] {
        flex-direction: column;
    }

    .teacher-child-status[b-triob50qov] {
        margin-left: 0;
    }
}


/* =========================================================
   ACCIONES DEL NIÑO
   ========================================================= */

.teacher-child-actions[b-triob50qov] {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
}

.teacher-child-view-button[b-triob50qov] {
    min-height: 39px;
    padding: 8px 16px;
    border: 2px solid var(--gold);
    border-radius: 20px;
    background: #ffffff;
    color: var(--gold-dark);
    font-family: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.teacher-child-view-button:hover[b-triob50qov] {
    background: #fffbe7;
}

@media (max-width: 760px) {
    .teacher-child-actions[b-triob50qov] {
        width: 100%;
        align-items: flex-end;
        margin-left: 90px;
    }

    .teacher-child-status[b-triob50qov] {
        margin-left: 0;
    }
}

@media (max-width: 480px) {
    .teacher-child-actions[b-triob50qov] {
        width: 100%;
        align-items: stretch;
        margin-left: 0;
    }

    .teacher-child-view-button[b-triob50qov] {
        width: 100%;
    }
}
/* /Pages/Profesor/NuevoReporteProfesor.razor.rz.scp.css */
/* =========================================================
   NUEVO REPORTE DE PROFESORA
   ========================================================= */

.teacher-new-report-page[b-6ahj1g29oi],
.teacher-new-report-page *[b-6ahj1g29oi] {
    box-sizing: border-box;
}

.teacher-new-report-page[b-6ahj1g29oi] {
    --gold: #c7a200;
    --gold-dark: #8b7200;
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}

.teacher-new-report-header[b-6ahj1g29oi] {
    margin-bottom: 24px;
}

.teacher-new-report-back[b-6ahj1g29oi] {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--gold-dark);
    font-weight: 800;
    cursor: pointer;
}

.teacher-new-report-header > span[b-6ahj1g29oi] {
    margin-top: 22px;
    display: block;
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
}

.teacher-new-report-header h1[b-6ahj1g29oi] {
    margin: 7px 0 6px;
    color: var(--gold);
    font-size: clamp(38px, 4.8vw, 62px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.teacher-new-report-header p[b-6ahj1g29oi] {
    margin: 0;
    color: #666666;
}

.teacher-new-report-selection[b-6ahj1g29oi] {
    margin-bottom: 22px;
    padding: 20px;
    display: grid;
    grid-template-columns: minmax(220px, 1.3fr) minmax(180px, 0.7fr) minmax(160px, 0.6fr) minmax(160px, 0.6fr);
    align-items: end;
    gap: 15px;
    border: 3px solid var(--gold);
    border-radius: 15px;
    background: #fffdf3;
}

    .teacher-new-report-selection > div[b-6ahj1g29oi] {
        display: flex;
        flex-direction: column;
        gap: 7px;
    }

    .teacher-new-report-selection label[b-6ahj1g29oi],
    .teacher-new-report-selection-summary span[b-6ahj1g29oi] {
        color: #555555;
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .teacher-new-report-selection select[b-6ahj1g29oi],
    .teacher-new-report-selection input[b-6ahj1g29oi] {
        width: 100%;
        min-height: 44px;
        padding: 9px 12px;
        border: 2px solid #e1d99b;
        border-radius: 9px;
        background: #ffffff;
    }

.teacher-new-report-selection-summary[b-6ahj1g29oi] {
    min-height: 44px;
    padding: 9px 12px;
    justify-content: center;
    border: 2px solid #e1d99b;
    border-radius: 9px;
    background: #ffffff;
}

    .teacher-new-report-selection-summary strong[b-6ahj1g29oi] {
        color: #111111;
    }

.teacher-new-report-actions[b-6ahj1g29oi] {
    margin-top: 24px;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 11px;
}

    .teacher-new-report-actions button[b-6ahj1g29oi] {
        min-height: 44px;
        padding: 10px 20px;
        border-radius: 23px;
        font-family: inherit;
        font-weight: 900;
        cursor: pointer;
    }

.teacher-new-report-cancel[b-6ahj1g29oi] {
    border: 2px solid var(--gold);
    background: #ffffff;
    color: var(--gold-dark);
}

.teacher-new-report-draft[b-6ahj1g29oi] {
    border: 2px solid var(--gold);
    background: #fff7c9;
    color: var(--gold-dark);
}

.teacher-new-report-publish[b-6ahj1g29oi] {
    border: 0;
    background: var(--gold);
    color: #ffffff;
}

.teacher-new-report-actions button:disabled[b-6ahj1g29oi] {
    cursor: not-allowed;
    opacity: 0.58;
}

.teacher-new-report-message[b-6ahj1g29oi],
.teacher-new-report-empty[b-6ahj1g29oi],
.teacher-new-report-error[b-6ahj1g29oi] {
    margin-bottom: 20px;
    padding: 22px;
    border-radius: 12px;
    text-align: center;
}

.teacher-new-report-message[b-6ahj1g29oi],
.teacher-new-report-empty[b-6ahj1g29oi] {
    background: #fffbe7;
    color: #555555;
}

.teacher-new-report-error[b-6ahj1g29oi] {
    background: #fff0f0;
    color: #a61b1b;
}

@media (max-width: 1050px) {
    .teacher-new-report-selection[b-6ahj1g29oi] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .teacher-new-report-selection[b-6ahj1g29oi] {
        grid-template-columns: 1fr;
    }

    .teacher-new-report-actions[b-6ahj1g29oi] {
        flex-direction: column-reverse;
    }

        .teacher-new-report-actions button[b-6ahj1g29oi] {
            width: 100%;
        }
}
/* /Pages/Profesor/ReporteProfesorDetalle.razor.rz.scp.css */
/* =========================================================
   DETALLE DEL REPORTE DE PROFESORA
   ========================================================= */

.teacher-report-detail-page[b-b92fsbuvxy],
.teacher-report-detail-page *[b-b92fsbuvxy] {
    box-sizing: border-box;
}

.teacher-report-detail-page[b-b92fsbuvxy] {
    --gold: #c7a200;
    --gold-dark: #8b7200;
    --gold-pale: #fffdf3;
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}

.teacher-report-detail-header[b-b92fsbuvxy] {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.teacher-report-detail-back[b-b92fsbuvxy] {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--gold-dark);
    font-weight: 800;
    cursor: pointer;
}

.teacher-report-detail-header h1[b-b92fsbuvxy] {
    margin: 12px 0 6px;
    color: #111111;
    font-size: clamp(31px, 3vw, 46px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.teacher-report-detail-header p[b-b92fsbuvxy] {
    margin: 0;
    color: #666666;
}

.teacher-report-detail-header-actions[b-b92fsbuvxy],
.teacher-report-edit-actions[b-b92fsbuvxy] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 11px;
}

.teacher-report-detail-primary[b-b92fsbuvxy],
.teacher-report-detail-secondary[b-b92fsbuvxy],
.teacher-report-detail-danger[b-b92fsbuvxy],
.teacher-report-detail-danger-filled[b-b92fsbuvxy] {
    min-height: 43px;
    padding: 10px 21px;
    border-radius: 23px;
    font-family: inherit;
    font-weight: 900;
    cursor: pointer;
}

.teacher-report-detail-primary[b-b92fsbuvxy] {
    border: 0;
    background: var(--gold);
    color: #ffffff;
}

.teacher-report-detail-secondary[b-b92fsbuvxy] {
    border: 2px solid var(--gold);
    background: #ffffff;
    color: var(--gold-dark);
}

.teacher-report-detail-danger[b-b92fsbuvxy] {
    border: 2px solid #d64a4a;
    background: #ffffff;
    color: #bd2f2f;
}

.teacher-report-detail-danger-filled[b-b92fsbuvxy] {
    border: 2px solid #d64a4a;
    background: #d64a4a;
    color: #ffffff;
}

    .teacher-report-detail-primary:disabled[b-b92fsbuvxy],
    .teacher-report-detail-secondary:disabled[b-b92fsbuvxy],
    .teacher-report-detail-danger:disabled[b-b92fsbuvxy],
    .teacher-report-detail-danger-filled:disabled[b-b92fsbuvxy] {
        cursor: not-allowed;
        opacity: 0.58;
    }

.teacher-report-detail-card[b-b92fsbuvxy] {
    padding: clamp(22px, 2.5vw, 34px);
    border: 3px solid var(--gold);
    border-radius: 17px;
    background: var(--gold-pale);
}

/*
 * La separación vertical se aplica solamente entre
 * secciones principales del detalle.
 *
 * La regla anterior también afectaba a la segunda tarjeta
 * dentro del bloque Merienda/Descanso y desplazaba Descanso
 * 22 px hacia abajo.
 */
.teacher-report-detail-page >
.teacher-report-detail-card +
.teacher-report-detail-card[b-b92fsbuvxy],
.teacher-report-two-column-view +
.teacher-report-detail-card[b-b92fsbuvxy] {
    margin-top: 22px;
}

.teacher-report-detail-heading[b-b92fsbuvxy] {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

    .teacher-report-detail-heading > div > span[b-b92fsbuvxy] {
        color: var(--gold);
        font-size: 12px;
        font-weight: 900;
    }

    .teacher-report-detail-heading h2[b-b92fsbuvxy] {
        margin: 6px 0 0;
        color: #111111;
        font-size: clamp(21px, 2vw, 28px);
        font-weight: 900;
        text-transform: uppercase;
    }

.teacher-report-detail-status[b-b92fsbuvxy],
.teacher-report-total-pill[b-b92fsbuvxy] {
    padding: 7px 13px;
    border-radius: 18px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.teacher-report-detail-status--draft[b-b92fsbuvxy] {
    background: #fff3c4;
    color: #826400;
}

.teacher-report-detail-status--published[b-b92fsbuvxy] {
    background: #def5ce;
    color: #31820b;
}

.teacher-report-detail-status--corrected[b-b92fsbuvxy],
.teacher-report-total-pill[b-b92fsbuvxy] {
    background: #eee7b3;
    color: var(--gold-dark);
}

.teacher-report-detail-status--cancelled[b-b92fsbuvxy] {
    background: #ffe0e0;
    color: #a12626;
}

.teacher-report-general-grid[b-b92fsbuvxy] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 35px;
}

    .teacher-report-general-grid > div[b-b92fsbuvxy],
    .teacher-report-data-list > div[b-b92fsbuvxy] {
        display: flex;
        flex-direction: column;
        gap: 7px;
    }

    .teacher-report-general-grid span[b-b92fsbuvxy],
    .teacher-report-data-list span[b-b92fsbuvxy] {
        color: #666666;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .teacher-report-general-grid strong[b-b92fsbuvxy],
    .teacher-report-data-list strong[b-b92fsbuvxy] {
        color: #111111;
        font-size: 16px;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }

.teacher-report-observations[b-b92fsbuvxy] {
    min-height: 90px;
    padding: 18px;
    border: 2px solid #e4dc9f;
    border-radius: 12px;
    background: #ffffff;
    color: #333333;
    line-height: 1.55;
    white-space: pre-wrap;
}

.teacher-diaper-list[b-b92fsbuvxy],
.teacher-reading-list[b-b92fsbuvxy] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.teacher-diaper-item[b-b92fsbuvxy] {
    padding: 16px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    border: 2px solid #e4dc9f;
    border-radius: 12px;
    background: #ffffff;
}

.teacher-diaper-time[b-b92fsbuvxy] {
    min-width: 68px;
    padding: 8px 10px;
    border-radius: 17px;
    background: #f0ecad;
    color: var(--gold-dark);
    font-size: 13px;
    font-weight: 900;
    text-align: center;
}

.teacher-diaper-item > div[b-b92fsbuvxy] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.teacher-diaper-item span[b-b92fsbuvxy],
.teacher-diaper-item small[b-b92fsbuvxy] {
    color: #666666;
}

.teacher-report-two-column-view[b-b92fsbuvxy] {
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 22px;
}

    .teacher-report-two-column-view >
    .teacher-report-detail-card--paired[b-b92fsbuvxy] {
        height: 100%;
        min-height: 0;
        margin: 0;
        align-self: stretch;
        display: flex;
        flex-direction: column;
    }

.teacher-report-data-list[b-b92fsbuvxy] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

    .teacher-report-data-list > div:last-child[b-b92fsbuvxy] {
        margin-top: auto;
        padding: 14px;
        border: 2px solid #e4dc9f;
        border-radius: 10px;
        background: #ffffff;
    }

.teacher-report-section-empty[b-b92fsbuvxy] {
    padding: 20px;
    border-radius: 12px;
    background: #ffffff;
    color: #666666;
    text-align: center;
}

.teacher-reading-item[b-b92fsbuvxy] {
    padding: 17px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: start;
    gap: 12px;
    border: 2px solid #e4dc9f;
    border-radius: 12px;
    background: #ffffff;
}

    .teacher-reading-item > div[b-b92fsbuvxy] {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

        .teacher-reading-item > div span[b-b92fsbuvxy] {
            color: #666666;
            font-size: 12px;
        }

    .teacher-reading-item p[b-b92fsbuvxy] {
        grid-column: 1 / -1;
        margin: 0;
        color: #444444;
        line-height: 1.45;
    }

.teacher-reading-status[b-b92fsbuvxy] {
    padding: 6px 11px;
    border-radius: 15px;
    background: #def5ce;
    color: #31820b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.teacher-report-edit-wrapper[b-b92fsbuvxy] {
    margin-top: 22px;
}

.teacher-report-edit-actions[b-b92fsbuvxy] {
    margin-top: 24px;
}

.teacher-report-publish-confirmation[b-b92fsbuvxy] {
    margin-bottom: 22px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 3px solid var(--gold);
    border-radius: 14px;
    background: #fff8cf;
}

    .teacher-report-publish-confirmation > div:first-child[b-b92fsbuvxy] {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    .teacher-report-publish-confirmation > div:last-child[b-b92fsbuvxy] {
        display: flex;
        gap: 9px;
    }

    .teacher-report-publish-confirmation span[b-b92fsbuvxy] {
        color: #666666;
        font-size: 13px;
    }

.teacher-report-detail-message[b-b92fsbuvxy],
.teacher-report-detail-error[b-b92fsbuvxy],
.teacher-report-detail-success[b-b92fsbuvxy] {
    padding: 18px 20px;
    border-radius: 12px;
    text-align: center;
}

.teacher-report-detail-error[b-b92fsbuvxy] {
    background: #fff0f0;
    color: #a61b1b;
}

.teacher-report-detail-error--compact[b-b92fsbuvxy],
.teacher-report-detail-success[b-b92fsbuvxy] {
    margin-bottom: 20px;
}

.teacher-report-detail-success[b-b92fsbuvxy] {
    background: #effbe8;
    color: #287c0b;
    font-weight: 700;
}

.teacher-report-detail-error p[b-b92fsbuvxy] {
    margin: 0;
}

.teacher-report-detail-error button[b-b92fsbuvxy] {
    margin-top: 14px;
}

@media (max-width: 900px) {
    .teacher-report-detail-header[b-b92fsbuvxy] {
        align-items: stretch;
        flex-direction: column;
    }

    .teacher-report-two-column-view[b-b92fsbuvxy],
    .teacher-report-general-grid[b-b92fsbuvxy] {
        grid-template-columns: 1fr;
    }

    .teacher-report-data-list > div:last-child[b-b92fsbuvxy] {
        margin-top: 0;
    }

    .teacher-report-publish-confirmation[b-b92fsbuvxy] {
        align-items: stretch;
        flex-direction: column;
    }

        .teacher-report-publish-confirmation > div:last-child[b-b92fsbuvxy] {
            justify-content: flex-end;
        }
}

@media (max-width: 650px) {
    .teacher-report-detail-header-actions[b-b92fsbuvxy],
    .teacher-report-edit-actions[b-b92fsbuvxy],
    .teacher-report-publish-confirmation > div:last-child[b-b92fsbuvxy] {
        flex-direction: column;
    }

        .teacher-report-detail-header-actions button[b-b92fsbuvxy],
        .teacher-report-edit-actions button[b-b92fsbuvxy],
        .teacher-report-publish-confirmation button[b-b92fsbuvxy] {
            width: 100%;
        }
}


.teacher-report-delete-confirmation[b-b92fsbuvxy] {
    margin-bottom: 22px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 3px solid #d64a4a;
    border-radius: 14px;
    background: #fff5f5;
}

.teacher-report-delete-confirmation > div:first-child[b-b92fsbuvxy] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.teacher-report-delete-confirmation > div:last-child[b-b92fsbuvxy] {
    display: flex;
    gap: 9px;
}

.teacher-report-delete-confirmation strong[b-b92fsbuvxy] {
    color: #992020;
}

.teacher-report-delete-confirmation span[b-b92fsbuvxy] {
    color: #6d4444;
    font-size: 13px;
}

@media (max-width: 900px) {
    .teacher-report-delete-confirmation[b-b92fsbuvxy] {
        align-items: stretch;
        flex-direction: column;
    }

    .teacher-report-delete-confirmation > div:last-child[b-b92fsbuvxy] {
        justify-content: flex-end;
    }
}

@media (max-width: 650px) {
    .teacher-report-delete-confirmation > div:last-child[b-b92fsbuvxy] {
        flex-direction: column;
    }

    .teacher-report-delete-confirmation button[b-b92fsbuvxy] {
        width: 100%;
    }
}


/* Cuando Descanso está marcado como No aplica,
   Merienda utiliza todo el ancho disponible. */
.teacher-report-two-column-view--single[b-b92fsbuvxy] {
    grid-template-columns: 1fr;
}
/* /Pages/Profesor/ReportesProfesor.razor.rz.scp.css */
/* =========================================================
   LISTADO DE REPORTES DE PROFESORA
   ========================================================= */

.teacher-reports-page[b-scu4cmgka7],
.teacher-reports-page *[b-scu4cmgka7] {
    box-sizing: border-box;
}

.teacher-reports-page[b-scu4cmgka7] {
    --gold: #c7a200;
    --gold-dark: #8b7200;
    --gold-soft: #f0ecad;
    width: 100%;
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
}

.teacher-reports-header[b-scu4cmgka7] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

    .teacher-reports-header > div:first-child > span[b-scu4cmgka7] {
        color: var(--gold);
        font-size: 12px;
        font-weight: 900;
    }

    .teacher-reports-header h1[b-scu4cmgka7] {
        margin: 8px 0 6px;
        color: var(--gold);
        font-size: clamp(40px, 5vw, 64px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

    .teacher-reports-header p[b-scu4cmgka7] {
        margin: 0;
        color: #666666;
    }

.teacher-reports-header-actions[b-scu4cmgka7] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.teacher-reports-filter-button[b-scu4cmgka7],
.teacher-reports-new-button[b-scu4cmgka7] {
    min-height: 44px;
    padding: 9px 20px;
    border-radius: 23px;
    font-family: inherit;
    font-weight: 900;
    cursor: pointer;
}

.teacher-reports-filter-button[b-scu4cmgka7] {
    border: 2px solid var(--gold);
    background: #ffffff;
    color: var(--gold-dark);
}

.teacher-reports-new-button[b-scu4cmgka7] {
    border: 0;
    background: var(--gold);
    color: #ffffff;
}

.teacher-reports-filter-panel[b-scu4cmgka7] {
    margin-top: 20px;
    padding: 18px;
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 15px;
    border: 2px solid #dfd37a;
    border-radius: 14px;
    background: #fffdf3;
}

.teacher-reports-filter-field[b-scu4cmgka7] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.teacher-reports-filter-field--search[b-scu4cmgka7] {
    grid-column: span 2;
}

.teacher-reports-filter-field label[b-scu4cmgka7] {
    color: #333333;
    font-size: 12px;
    font-weight: 800;
}

.teacher-reports-filter-field input[b-scu4cmgka7],
.teacher-reports-filter-field select[b-scu4cmgka7] {
    width: 100%;
    min-height: 43px;
    padding: 9px 12px;
    border: 2px solid #e5dda0;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
}

    .teacher-reports-filter-field input:focus[b-scu4cmgka7],
    .teacher-reports-filter-field select:focus[b-scu4cmgka7] {
        border-color: var(--gold);
    }

.teacher-reports-filter-actions[b-scu4cmgka7] {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

    .teacher-reports-filter-actions span[b-scu4cmgka7] {
        color: var(--gold-dark);
        font-size: 13px;
        font-weight: 900;
    }

    .teacher-reports-filter-actions button[b-scu4cmgka7] {
        padding: 8px 17px;
        border: 2px solid var(--gold);
        border-radius: 20px;
        background: #ffffff;
        color: var(--gold-dark);
        font-weight: 800;
        cursor: pointer;
    }

.teacher-reports-list[b-scu4cmgka7] {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.teacher-report-card[b-scu4cmgka7] {
    min-height: 126px;
    padding: 16px 28px 16px 16px;
    display: flex;
    align-items: center;
    gap: 24px;
    border: 4px solid var(--gold);
    border-radius: 15px;
    background: var(--gold-soft);
    transition: transform 150ms ease, box-shadow 150ms ease;
}

    .teacher-report-card:hover[b-scu4cmgka7] {
        transform: translateY(-1px);
        box-shadow: 0 6px 14px rgba(139, 114, 0, 0.14);
    }

.teacher-report-date[b-scu4cmgka7] {
    width: 82px;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    flex-shrink: 0;
    border-radius: 18px;
    background: #ffffff;
    color: var(--gold);
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.14);
}

    .teacher-report-date strong[b-scu4cmgka7] {
        font-size: 30px;
        line-height: 1;
    }

    .teacher-report-date span[b-scu4cmgka7] {
        margin-top: 5px;
        font-size: 13px;
        font-weight: 900;
    }

.teacher-report-information[b-scu4cmgka7] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.teacher-report-title-row[b-scu4cmgka7] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
}

    .teacher-report-title-row > strong[b-scu4cmgka7] {
        color: #111111;
        font-size: clamp(20px, 2vw, 28px);
        font-weight: 900;
        text-transform: uppercase;
    }

.teacher-report-status[b-scu4cmgka7] {
    padding: 6px 11px;
    border-radius: 16px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.teacher-report-status--draft[b-scu4cmgka7] {
    background: #fff3c4;
    color: #826400;
}

.teacher-report-status--published[b-scu4cmgka7] {
    background: #def5ce;
    color: #31820b;
}

.teacher-report-status--corrected[b-scu4cmgka7] {
    background: #e3ddff;
    color: #5d4bae;
}

.teacher-report-status--cancelled[b-scu4cmgka7] {
    background: #ffe0e0;
    color: #a12626;
}

.teacher-report-classroom[b-scu4cmgka7] {
    color: #333333;
    font-size: 14px;
    font-weight: 800;
}

.teacher-report-summary[b-scu4cmgka7] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

    .teacher-report-summary span[b-scu4cmgka7] {
        padding: 5px 9px;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.72);
        color: #555555;
        font-size: 11px;
        font-weight: 800;
    }

.teacher-report-view-button[b-scu4cmgka7] {
    width: 46px;
    height: 46px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid var(--gold);
    border-radius: 50%;
    background: #ffffff;
    color: var(--gold-dark);
    cursor: pointer;
    transition:
        background-color 150ms ease,
        color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

.teacher-report-view-button svg[b-scu4cmgka7] {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.teacher-report-view-button:hover[b-scu4cmgka7] {
    background: var(--gold);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 13px rgba(139, 114, 0, 0.24);
}

.teacher-report-view-button:active[b-scu4cmgka7] {
    transform: translateY(0);
}

.teacher-report-view-button:focus-visible[b-scu4cmgka7] {
    outline: 3px solid rgba(139, 114, 0, 0.24);
    outline-offset: 3px;
}

.teacher-reports-message[b-scu4cmgka7],
.teacher-reports-empty[b-scu4cmgka7],
.teacher-reports-error[b-scu4cmgka7] {
    margin-top: 24px;
    padding: 25px;
    border-radius: 12px;
    text-align: center;
}

.teacher-reports-message[b-scu4cmgka7],
.teacher-reports-empty[b-scu4cmgka7] {
    background: #fffbe7;
    color: #555555;
}

.teacher-reports-error[b-scu4cmgka7] {
    background: #fff0f0;
    color: #a61b1b;
}

    .teacher-reports-error p[b-scu4cmgka7] {
        margin: 0;
    }

    .teacher-reports-error button[b-scu4cmgka7] {
        margin-top: 14px;
        padding: 9px 18px;
        border: 0;
        border-radius: 9px;
        background: var(--gold);
        color: #ffffff;
        font-weight: 800;
    }

@media (max-width: 1050px) {
    .teacher-reports-filter-panel[b-scu4cmgka7] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .teacher-reports-header[b-scu4cmgka7] {
        align-items: stretch;
        flex-direction: column;
    }

    .teacher-reports-header-actions[b-scu4cmgka7] {
        flex-direction: column;
    }

        .teacher-reports-header-actions button[b-scu4cmgka7] {
            width: 100%;
        }

    .teacher-reports-filter-panel[b-scu4cmgka7] {
        grid-template-columns: 1fr;
    }

    .teacher-reports-filter-field--search[b-scu4cmgka7] {
        grid-column: auto;
    }

    .teacher-report-card[b-scu4cmgka7] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .teacher-report-view-button[b-scu4cmgka7] {
        margin-left: auto;
    }
}

/* =========================================================
   CORRECCIÓN IOS / SAFARI - FILTROS DE FECHA
   ========================================================= */

.teacher-reports-filter-field[b-scu4cmgka7] {
    min-width: 0;
}

.teacher-reports-filter-field input[type="date"][b-scu4cmgka7] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    display: block;
    box-sizing: border-box;
}

.teacher-reports-filter-field input[type="date"][b-scu4cmgka7]::-webkit-date-and-time-value {
    min-width: 0;
    text-align: left;
}

.teacher-reports-filter-field input[type="date"][b-scu4cmgka7]::-webkit-datetime-edit {
    min-width: 0;
    padding: 0;
}

@media (max-width: 720px) {
    .teacher-reports-filter-field input[type="date"][b-scu4cmgka7] {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        font-size: 16px;
    }
}
