/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-layout[b-cdwl5rbwyv] {
    display: flex;
    min-height: 100vh;
    background: var(--bg-page);
    position: relative;
}

.app-sidebar[b-cdwl5rbwyv] {
    width: 242px;
    flex-shrink: 0;
    z-index: 100;
}

.app-main[b-cdwl5rbwyv] {
    flex: 1;
    min-height: 100vh;
    background: var(--bg-page);
    overflow-x: hidden;
    min-width: 0;
}

.mobile-topbar[b-cdwl5rbwyv] {
    display: none;
}

.app-content[b-cdwl5rbwyv] {
    padding: var(--sp-8);
    width: 100%;
    max-width: none;
    min-width: 0;
    animation: pageReveal 0.28s var(--ease) both;
}

.sidebar-overlay[b-cdwl5rbwyv] {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 99;
    cursor: pointer;
}

@media (max-width: 1024px) {
    .app-layout[b-cdwl5rbwyv] {
        display: block;
    }

    .app-sidebar[b-cdwl5rbwyv] {
        position: fixed;
        top: 56px;
        left: 0;
        height: calc(100vh - 56px);
        transform: translateX(-100%);
        transition: transform var(--t-base);
        z-index: 200;
        width: 260px;
        max-width: calc(100vw - 56px);
        overflow: hidden;
    }

    .app-layout.sidebar-is-open .app-sidebar[b-cdwl5rbwyv],
    body.mobile-sidebar-open .app-sidebar[b-cdwl5rbwyv] {
        transform: translateX(0);
    }

    .app-layout.sidebar-is-open .sidebar-overlay[b-cdwl5rbwyv],
    body.mobile-sidebar-open .sidebar-overlay[b-cdwl5rbwyv] {
        display: block;
    }

    .app-content[b-cdwl5rbwyv] {
        padding: calc(56px + var(--sp-5)) var(--sp-5) var(--sp-5);
    }

    .mobile-topbar[b-cdwl5rbwyv] {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        display: flex;
        align-items: center;
        gap: 0.75rem;
        min-height: 56px;
        padding: 0.65rem var(--sp-5);
        border-bottom: 1px solid rgba(31, 42, 68, 0.12);
        background: rgba(248, 243, 235, 0.92);
        backdrop-filter: blur(14px);
        box-shadow: 0 8px 24px rgba(31, 42, 68, 0.08);
        z-index: 240;
    }

    .mobile-menu-button[b-cdwl5rbwyv] {
        position: relative;
        z-index: 250;
        width: 42px;
        height: 42px;
        border: 1px solid var(--border-mid);
        border-radius: var(--r-sm);
        background: var(--bg-surface);
        color: var(--text-primary);
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        box-shadow: var(--shadow-sm);
        cursor: pointer;
        touch-action: manipulation;
    }

    .mobile-menu-button span[b-cdwl5rbwyv] {
        width: 18px;
        height: 2px;
        border-radius: var(--r-full);
        background: currentColor;
    }

    .mobile-topbar-title[b-cdwl5rbwyv] {
        min-width: 0;
        color: var(--text-primary);
        font-size: var(--text-base);
        font-weight: 800;
        line-height: 1.1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .app-main[b-cdwl5rbwyv] {
        padding-top: 56px;
    }
}

@supports (height: 100dvh) {
    @media (max-width: 1024px) {
        .app-sidebar[b-cdwl5rbwyv] {
            height: calc(100dvh - 56px);
        }
    }
}

@media (max-width: 720px) {
    .app-content[b-cdwl5rbwyv] {
        padding: calc(56px + var(--sp-3)) var(--sp-3) var(--sp-3);
    }

    .mobile-topbar[b-cdwl5rbwyv] {
        padding-inline: var(--sp-3);
    }
}

#blazor-error-ui[b-cdwl5rbwyv] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-cdwl5rbwyv] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.sidebar-container[b-5vzhq02r0r] {
    height: 100vh;
    min-height: 0;
    position: sticky;
    top: 0;
    background:
        radial-gradient(circle at top left, rgba(198, 167, 94, 0.25), transparent 34%),
        radial-gradient(circle at top right, rgba(232, 220, 200, 0.08), transparent 30%),
        linear-gradient(160deg, #22304d 0%, #1f2a44 42%, #182037 100%);
    display: flex;
    flex-direction: column;
    padding: 10px;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    box-shadow: inset -1px 0 0 rgba(255,255,255,0.05), var(--shadow-sidebar);
}

.sidebar-container[b-5vzhq02r0r]::before {
    content: "";
    position: absolute;
    top: -40px;
    left: -18px;
    right: -18px;
    height: 190px;
    background:
        radial-gradient(circle at 18% 18%, rgba(198, 167, 94, 0.24), transparent 34%),
        radial-gradient(circle at 82% 20%, rgba(232, 220, 200, 0.08), transparent 30%),
        linear-gradient(160deg, rgba(31, 42, 68, 0.46), rgba(24, 32, 55, 0.16) 72%, transparent 100%);
    pointer-events: none;
    z-index: 0;
}

.sidebar-brand-link[b-5vzhq02r0r] {
    text-decoration: none;
    color: inherit;
    display: block;
    padding: 0 0 10px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    position: relative;
    z-index: 1;
}

.sidebar-brand-media[b-5vzhq02r0r] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 4px 2px 2px;
}

.sidebar-brand-image[b-5vzhq02r0r] {
    width: 46px;
    height: 46px;
    object-fit: cover;
    display: block;
    border-radius: 14px;
    border: 1px solid rgba(232,220,200,0.18);
    background: rgba(255,255,255,0.08);
    filter: drop-shadow(0 8px 14px rgba(0,0,0,0.18));
}

.sidebar-brand-title[b-5vzhq02r0r] {
    color: rgba(255,255,255,0.9);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.01em;
    user-select: none;
}

.sidebar-nav[b-5vzhq02r0r] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    position: relative;
    z-index: 1;
}

.nav-section-label[b-5vzhq02r0r] {
    margin: 12px 0 3px 10px;
    font-size: 0.57rem;
    font-weight: 700;
    font-family: var(--font-base);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(237,235,221,0.28);
    user-select: none;
}

.sidebar-nav[b-5vzhq02r0r]  .sidebar-link {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: rgba(237,235,221,0.64);
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 0.84rem;
    font-weight: 500;
    font-family: var(--font-base);
    letter-spacing: 0.01em;
    transition: background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast);
    white-space: nowrap;
    overflow: hidden;
    border: 1px solid transparent;
}

.sidebar-nav[b-5vzhq02r0r]  .sidebar-link:hover {
    background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.035));
    color: rgba(255,255,255,0.92);
    border-color: rgba(255,255,255,0.05);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.sidebar-nav[b-5vzhq02r0r]  .sidebar-link.active {
    background: linear-gradient(135deg, rgba(255,255,255,0.12), rgba(198,167,94,0.18));
    color: #ffffff;
    font-weight: 700;
    box-shadow: inset 3px 0 0 var(--clr-accent), inset 0 1px 0 rgba(255,255,255,0.06), 0 10px 20px rgba(0,0,0,0.14);
    border-radius: 0 8px 8px 0;
    padding-left: 8px;
    border-color: rgba(255,255,255,0.04);
}

.nav-icon[b-5vzhq02r0r] {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    opacity: 0.72;
    transition: opacity var(--t-fast);
}

.sidebar-nav[b-5vzhq02r0r]  .sidebar-link:hover .nav-icon,
.sidebar-nav[b-5vzhq02r0r]  .sidebar-link.active .nav-icon {
    opacity: 1;
}

.sidebar-user-shell[b-5vzhq02r0r] {
    position: relative;
    z-index: 2;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,0.07);
}

.sidebar-user-trigger[b-5vzhq02r0r] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
    color: rgba(255,255,255,0.94);
    text-align: left;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}

.sidebar-user-avatar[b-5vzhq02r0r] {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(198,167,94,0.92), rgba(173,132,52,0.92));
    color: #16223a;
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    flex-shrink: 0;
}

.sidebar-user-copy[b-5vzhq02r0r] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.sidebar-user-copy strong[b-5vzhq02r0r] {
    font-size: 0.84rem;
    line-height: 1.1;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-user-copy small[b-5vzhq02r0r] {
    font-size: 0.68rem;
    color: rgba(237,235,221,0.52);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.sidebar-user-caret[b-5vzhq02r0r] {
    width: 16px;
    height: 16px;
    opacity: 0.72;
    transition: transform var(--t-fast), opacity var(--t-fast);
}

.sidebar-user-caret.open[b-5vzhq02r0r] {
    transform: rotate(180deg);
    opacity: 1;
}

.sidebar-user-menu[b-5vzhq02r0r] {
    margin-top: 8px;
    padding: 6px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(17, 27, 47, 0.96);
    box-shadow: 0 18px 30px rgba(0,0,0,0.22);
}

.sidebar-user-action[b-5vzhq02r0r] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: rgba(255,255,255,0.88);
    text-align: left;
}

.sidebar-user-action:hover[b-5vzhq02r0r] {
    background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(198,167,94,0.18));
    color: #fff;
}

@supports (height: 100dvh) {
    .sidebar-container[b-5vzhq02r0r] {
        height: 100dvh;
    }
}

@media (max-width: 1024px) {
    .sidebar-container[b-5vzhq02r0r] {
        height: 100%;
        max-height: 100%;
        position: relative;
        top: auto;
        padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
    }

    .sidebar-nav[b-5vzhq02r0r] {
        flex: 0 0 auto;
    }

    .sidebar-user-shell[b-5vzhq02r0r] {
        margin-bottom: 0;
    }
}
/* /Components/Layout/PublicLayout.razor.rz.scp.css */
.public-shell[b-y73r35z0eb] {
    min-height: 100vh;
    padding: var(--sp-6);
    background:
        radial-gradient(circle at top left, rgba(31, 42, 68, 0.09), transparent 24%),
        radial-gradient(circle at top right, rgba(198, 167, 94, 0.12), transparent 28%),
        linear-gradient(180deg, #f4eee4 0%, #eadfcf 50%, #e4d6bf 100%);
}

@supports (min-height: 100dvh) {
    .public-shell[b-y73r35z0eb] {
        min-height: 100dvh;
    }
}

.public-content[b-y73r35z0eb] {
    max-width: 1180px;
    margin: 0 auto;
}

@media (max-width: 900px) {
    .public-shell[b-y73r35z0eb] {
        padding: var(--sp-4);
    }
}

@media (max-width: 720px) {
    .public-shell[b-y73r35z0eb] {
        padding: 0.9rem;
    }
}
/* /Components/Pages/AsistenciasAdmin.razor.rz.scp.css */
.asistencias-page[b-qxyawy63jp] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--sp-5);
}

.asistencias-feedback-success[b-qxyawy63jp] {
    animation: asistencia-save-success-b-qxyawy63jp 360ms cubic-bezier(0.23, 1, 0.32, 1);
}

.attendance-success-burst[b-qxyawy63jp] {
    display: grid;
    place-items: center;
    pointer-events: none;
    animation: attendance-success-overlay-b-qxyawy63jp 1450ms ease-out both;
}

.attendance-success-burst-inline[b-qxyawy63jp] {
    min-height: 220px;
    padding: 0.5rem 0 1rem;
    text-align: center;
}

.attendance-success-burst-inline p[b-qxyawy63jp] {
    margin: -0.25rem 0 0;
    color: #168647;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.attendance-success-mark[b-qxyawy63jp] {
    width: 170px;
    height: 170px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.94) 0%, rgba(240, 252, 244, 0.84) 42%, rgba(240, 252, 244, 0) 74%);
    filter: drop-shadow(0 24px 40px rgba(18, 130, 63, 0.18));
}

.attendance-success-mark svg[b-qxyawy63jp] {
    width: 150px;
    height: 150px;
    overflow: visible;
}

.attendance-success-ring[b-qxyawy63jp] {
    fill: #32c466;
    stroke: rgba(255, 255, 255, 0.72);
    stroke-width: 2;
    transform-origin: 60px 60px;
    animation: attendance-success-ring-b-qxyawy63jp 1450ms cubic-bezier(0.23, 1, 0.32, 1) both;
}

.attendance-success-check[b-qxyawy63jp] {
    fill: none;
    stroke: #ffffff;
    stroke-width: 8;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 72;
    stroke-dashoffset: 72;
    animation: attendance-success-check-b-qxyawy63jp 1450ms cubic-bezier(0.23, 1, 0.32, 1) both;
}

.attendance-success-spark[b-qxyawy63jp] {
    fill: none;
    stroke: #32c466;
    stroke-width: 6;
    stroke-linecap: round;
    opacity: 0;
    transform-origin: 60px 60px;
    animation: attendance-success-spark-b-qxyawy63jp 1450ms ease-out both;
}

.attendance-success-dot[b-qxyawy63jp] {
    fill: #7be4a0;
    opacity: 0;
    transform-origin: 60px 60px;
    animation: attendance-success-dot-b-qxyawy63jp 1450ms ease-out both;
}

.spark-top[b-qxyawy63jp] {
    animation-delay: 120ms;
}

.spark-right[b-qxyawy63jp] {
    animation-delay: 170ms;
}

.spark-bottom[b-qxyawy63jp] {
    animation-delay: 220ms;
}

.spark-left[b-qxyawy63jp] {
    animation-delay: 270ms;
}

.dot-one[b-qxyawy63jp] {
    animation-delay: 140ms;
}

.dot-two[b-qxyawy63jp] {
    animation-delay: 210ms;
}

.dot-three[b-qxyawy63jp] {
    animation-delay: 260ms;
}

.dot-four[b-qxyawy63jp] {
    animation-delay: 320ms;
}

.asistencias-header[b-qxyawy63jp] {
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-4);
}

.asistencias-hero-copy[b-qxyawy63jp] {
    max-width: 760px;
}

.asistencias-date-pill[b-qxyawy63jp] {
    min-width: 250px;
    min-height: 58px;
    padding: 0.9rem 1.15rem;
    border-radius: var(--r-lg);
    border: 1px solid rgba(219, 205, 183, 0.92);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 243, 235, 0.96) 100%);
    color: var(--text-primary);
    box-shadow: var(--shadow-sm);
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    font-size: var(--text-base);
    font-weight: 700;
}

.asistencias-date-pill svg[b-qxyawy63jp] {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

.asistencias-filters-panel[b-qxyawy63jp] {
    padding-block: var(--sp-5);
}

.asistencias-filters[b-qxyawy63jp] {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(340px, 1.05fr);
    gap: var(--sp-4);
    align-items: end;
}

.period-chip-group[b-qxyawy63jp] {
    display: inline-flex;
    flex-wrap: wrap;
    border-radius: var(--r-md);
    border: 1px solid var(--border-light);
    overflow: hidden;
    background: rgba(255, 255, 255, 0.45);
}

.period-chip[b-qxyawy63jp] {
    min-height: 44px;
    padding: 0 1.4rem;
    border: 0;
    border-right: 1px solid var(--border-light);
    background: transparent;
    color: var(--text-primary);
    font-size: var(--text-sm);
    font-weight: 800;
    transition: background var(--t-fast), color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}

.period-chip:last-child[b-qxyawy63jp] {
    border-right: 0;
}

.period-chip:hover:not(:disabled)[b-qxyawy63jp] {
    background: rgba(31, 42, 68, 0.05);
}

.period-chip.selected[b-qxyawy63jp] {
    background: linear-gradient(135deg, #c6a75e 0%, #a58948 100%);
    color: #fffdf7;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.asistencias-kpi-grid[b-qxyawy63jp] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--sp-4);
}

.asistencia-kpi-card[b-qxyawy63jp] {
    display: grid;
    grid-template-columns: 72px 1fr;
    align-items: center;
    gap: var(--sp-4);
    min-height: 148px;
    padding: 1.35rem 1.4rem;
    animation: asistencia-card-rise-b-qxyawy63jp 0.55s var(--ease) both;
}

.asistencia-kpi-card:nth-child(2)[b-qxyawy63jp] {
    animation-delay: 0.04s;
}

.asistencia-kpi-card:nth-child(3)[b-qxyawy63jp] {
    animation-delay: 0.08s;
}

.asistencia-kpi-card:nth-child(4)[b-qxyawy63jp] {
    animation-delay: 0.12s;
}

.asistencia-kpi-icon[b-qxyawy63jp] {
    width: 68px;
    height: 68px;
    border-radius: 999px;
    display: grid;
    place-items: center;
}

.asistencia-kpi-icon svg[b-qxyawy63jp] {
    width: 32px;
    height: 32px;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

.asistencia-kpi-icon.neutral[b-qxyawy63jp] {
    color: var(--clr-primary);
    background: linear-gradient(135deg, rgba(31, 42, 68, 0.08) 0%, rgba(31, 42, 68, 0.16) 100%);
}

.asistencia-kpi-icon.accent[b-qxyawy63jp] {
    color: var(--clr-accent-dark);
    background: linear-gradient(135deg, rgba(198, 167, 94, 0.12) 0%, rgba(198, 167, 94, 0.24) 100%);
}

.asistencia-kpi-icon.success[b-qxyawy63jp] {
    color: #335dbb;
    background: linear-gradient(135deg, rgba(64, 95, 184, 0.08) 0%, rgba(64, 95, 184, 0.18) 100%);
}

.asistencia-kpi-icon.warning[b-qxyawy63jp] {
    color: #b4871f;
    background: linear-gradient(135deg, rgba(198, 167, 94, 0.12) 0%, rgba(228, 208, 149, 0.28) 100%);
}

.asistencia-kpi-copy[b-qxyawy63jp] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.asistencia-kpi-copy span[b-qxyawy63jp] {
    color: var(--text-primary);
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.asistencia-kpi-copy strong[b-qxyawy63jp] {
    color: var(--text-primary);
    font-size: clamp(1.9rem, 2vw, 2.5rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
    animation: asistencia-number-pop-b-qxyawy63jp 0.7s ease both;
}

.asistencia-kpi-copy small[b-qxyawy63jp] {
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.asistencias-section-bar[b-qxyawy63jp] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--sp-4);
}

.asistencias-section-title[b-qxyawy63jp] {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    min-width: 0;
}

.asistencias-section-icon[b-qxyawy63jp] {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: var(--clr-primary);
    background: linear-gradient(160deg, rgba(31, 42, 68, 0.08) 0%, rgba(31, 42, 68, 0.16) 100%);
    box-shadow: inset 0 0 0 1px rgba(31, 42, 68, 0.06);
}

.asistencias-section-icon.accent[b-qxyawy63jp] {
    color: var(--clr-accent-dark);
    background: linear-gradient(160deg, rgba(198, 167, 94, 0.12) 0%, rgba(198, 167, 94, 0.22) 100%);
    box-shadow: inset 0 0 0 1px rgba(198, 167, 94, 0.14);
}

.asistencias-section-icon svg[b-qxyawy63jp] {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

.asistencias-section-meta[b-qxyawy63jp] {
    align-self: center;
    white-space: nowrap;
    padding: 0.5rem 0.85rem;
    border-radius: var(--r-full);
    border: 1px solid rgba(219, 205, 183, 0.88);
    background: rgba(255, 255, 255, 0.52);
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-weight: 700;
}

.asistencias-layout[b-qxyawy63jp] {
    grid-template-columns: minmax(320px, 360px) minmax(0, 1fr);
    align-items: start;
}

.asistencias-classes-card[b-qxyawy63jp],
.asistencias-detail-card[b-qxyawy63jp] {
    min-width: 0;
}

.asistencias-section-heading[b-qxyawy63jp] {
    margin-bottom: var(--sp-4);
}

.asistencias-class-list[b-qxyawy63jp] {
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
}

.asistencia-class-card[b-qxyawy63jp] {
    width: 100%;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(219, 205, 183, 0.88);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.52) 0%, rgba(248, 243, 235, 0.98) 100%);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--sp-4);
    text-align: left;
    transition: transform var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast), background var(--t-fast);
}

.asistencia-class-card:hover:not(:disabled)[b-qxyawy63jp] {
    transform: translateY(-2px);
    border-color: rgba(198, 167, 94, 0.52);
    box-shadow: var(--shadow-md);
}

.asistencia-class-card.selected[b-qxyawy63jp] {
    border-color: rgba(198, 167, 94, 0.62);
    background:
        radial-gradient(circle at left top, rgba(198, 167, 94, 0.16), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.68) 0%, rgba(246, 236, 219, 0.98) 100%);
}

.asistencia-class-copy[b-qxyawy63jp] {
    display: flex;
    flex-direction: column;
    gap: 0.14rem;
    min-width: 0;
}

.asistencia-class-copy strong[b-qxyawy63jp] {
    color: var(--text-primary);
    font-size: 1.1rem;
}

.asistencia-class-copy span[b-qxyawy63jp],
.asistencia-class-copy small[b-qxyawy63jp] {
    color: var(--text-secondary);
}

.asistencia-class-side[b-qxyawy63jp] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
}

.asistencia-class-badge[b-qxyawy63jp] {
    padding: 0.28rem 0.62rem;
    border-radius: var(--r-full);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.asistencia-class-badge.pending[b-qxyawy63jp] {
    color: #8e6d27;
    background: rgba(198, 167, 94, 0.14);
}

.asistencia-class-badge.completed[b-qxyawy63jp] {
    color: var(--clr-primary);
    background: rgba(31, 42, 68, 0.08);
}

.asistencia-class-action[b-qxyawy63jp] {
    min-width: 84px;
    min-height: 42px;
    padding: 0 1rem;
    border-radius: var(--r-full);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-sm);
    font-weight: 800;
    border: 1px solid transparent;
}

.asistencia-class-action.pending[b-qxyawy63jp] {
    background: linear-gradient(135deg, #c6a75e 0%, #a58948 100%);
    color: #fffdf7;
    box-shadow: 0 10px 24px rgba(198, 167, 94, 0.26);
}

.asistencia-class-action.completed[b-qxyawy63jp] {
    background: rgba(31, 42, 68, 0.08);
    color: var(--clr-primary);
    border-color: rgba(31, 42, 68, 0.16);
}

.asistencias-next-class[b-qxyawy63jp] {
    padding: var(--sp-6);
    border: 1px solid var(--border-light);
    border-radius: 18px;
    background:
        radial-gradient(circle at right top, rgba(31, 42, 68, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.56) 0%, rgba(248, 243, 235, 0.96) 100%);
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.asistencias-next-class h3[b-qxyawy63jp] {
    margin: 0.1rem 0;
    font-size: var(--text-xl);
}

.asistencias-next-class p[b-qxyawy63jp],
.asistencias-next-class small[b-qxyawy63jp] {
    color: var(--text-secondary);
}

.asistencias-next-button[b-qxyawy63jp] {
    align-self: flex-start;
    margin-top: var(--sp-3);
}

.asistencias-detail-heading[b-qxyawy63jp] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--sp-4);
}

.asistencias-detail-heading p[b-qxyawy63jp] {
    margin-top: 0.35rem;
    color: var(--text-secondary);
}

.asistencias-detail-summary[b-qxyawy63jp] {
    white-space: nowrap;
    padding: 0.78rem 0.95rem;
    border-radius: var(--r-full);
    background: rgba(31, 42, 68, 0.06);
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-weight: 700;
}

.asistencias-detail-shell[b-qxyawy63jp] {
    overflow: hidden;
}

.asistencias-detail-table[b-qxyawy63jp] {
    min-width: 540px;
}

.asistencias-detail-table thead th[b-qxyawy63jp] {
    background: linear-gradient(160deg, #1f2a44 0%, #253453 52%, #182037 100%);
    color: #fffdf8;
    border-bottom: 0;
    font-size: var(--text-xs);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.attendance-student[b-qxyawy63jp] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.attendance-toggle-group[b-qxyawy63jp] {
    display: inline-flex;
    justify-content: flex-end;
    gap: 0.8rem;
    width: 100%;
    flex-wrap: nowrap;
}

.attendance-toggle[b-qxyawy63jp] {
    min-width: 132px;
    min-height: 52px;
    padding: 0 1.35rem;
    border-radius: 14px;
    border: 1.5px solid var(--border-mid);
    background: rgba(255, 255, 255, 0.56);
    color: var(--text-secondary);
    font-size: 1rem;
    font-weight: 800;
    transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}

.attendance-toggle:hover:not(:disabled)[b-qxyawy63jp] {
    transform: translateY(-1px);
}

.attendance-toggle.yes.active[b-qxyawy63jp] {
    background: linear-gradient(135deg, #27ae60 0%, #219150 100%);
    border-color: #219150;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(39, 174, 96, 0.2);
}

.attendance-toggle.no.active[b-qxyawy63jp] {
    background: linear-gradient(135deg, #c64a3a 0%, #a73224 100%);
    border-color: #a73224;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(167, 50, 36, 0.2);
}

.asistencias-close-action[b-qxyawy63jp] {
    display: flex;
    align-items: center;
    gap: var(--sp-4);
    margin-top: var(--sp-4);
    padding-top: var(--sp-4);
    border-top: 1px solid rgba(219, 205, 183, 0.78);
}

.asistencias-close-action p[b-qxyawy63jp] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.attendance-close-button[b-qxyawy63jp] {
    min-width: 220px;
    min-height: 48px;
    border-radius: var(--r-md);
}

@keyframes asistencia-save-success-b-qxyawy63jp {
    from {
        opacity: 0;
        transform: translateY(-8px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes asistencia-card-rise-b-qxyawy63jp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes asistencia-number-pop-b-qxyawy63jp {
    from {
        opacity: 0.4;
        transform: translateY(4px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes attendance-success-overlay-b-qxyawy63jp {
    0% {
        opacity: 0;
    }

    8%,
    78% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes attendance-success-ring-b-qxyawy63jp {
    0% {
        opacity: 0;
        transform: scale(0.2);
    }

    24% {
        opacity: 1;
        transform: scale(1.08);
    }

    44% {
        transform: scale(0.96);
    }

    60%,
    78% {
        opacity: 1;
        transform: scale(1);
    }

    100% {
        opacity: 0;
        transform: scale(0.92);
    }
}

@keyframes attendance-success-check-b-qxyawy63jp {
    0%,
    16% {
        opacity: 0;
        stroke-dashoffset: 72;
    }

    28% {
        opacity: 1;
    }

    48%,
    78% {
        opacity: 1;
        stroke-dashoffset: 0;
    }

    100% {
        opacity: 0;
        stroke-dashoffset: 0;
    }
}

@keyframes attendance-success-spark-b-qxyawy63jp {
    0%,
    18% {
        opacity: 0;
        transform: scale(0.4);
    }

    34% {
        opacity: 1;
        transform: scale(1);
    }

    52% {
        opacity: 0.72;
    }

    100% {
        opacity: 0;
        transform: scale(1.15);
    }
}

@keyframes attendance-success-dot-b-qxyawy63jp {
    0%,
    22% {
        opacity: 0;
        transform: scale(0.2);
    }

    36% {
        opacity: 1;
        transform: scale(1);
    }

    58% {
        opacity: 0.8;
    }

    100% {
        opacity: 0;
        transform: scale(0.3);
    }
}

@media (prefers-reduced-motion: reduce) {
    .asistencia-kpi-card[b-qxyawy63jp],
    .asistencia-kpi-copy strong[b-qxyawy63jp],
    .attendance-success-burst[b-qxyawy63jp],
    .attendance-success-ring[b-qxyawy63jp],
    .attendance-success-check[b-qxyawy63jp],
    .attendance-success-spark[b-qxyawy63jp],
    .attendance-success-dot[b-qxyawy63jp] {
        animation: none;
    }
}

@media (max-width: 1200px) {
    .asistencias-kpi-grid[b-qxyawy63jp] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .asistencias-layout[b-qxyawy63jp] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 840px) {
    .asistencias-header[b-qxyawy63jp],
    .asistencias-section-bar[b-qxyawy63jp],
    .asistencias-detail-heading[b-qxyawy63jp],
    .asistencias-close-action[b-qxyawy63jp] {
        flex-direction: column;
        align-items: stretch;
    }

    .asistencias-filters[b-qxyawy63jp] {
        grid-template-columns: 1fr;
    }

    .period-chip-group[b-qxyawy63jp] {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .period-chip[b-qxyawy63jp] {
        border-right: 1px solid var(--border-light);
    }

    .asistencia-class-card[b-qxyawy63jp] {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .asistencia-class-side[b-qxyawy63jp] {
        width: 100%;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

@media (max-width: 640px) {
    .asistencias-kpi-grid[b-qxyawy63jp] {
        grid-template-columns: 1fr;
    }

    .attendance-toggle[b-qxyawy63jp],
    .attendance-close-button[b-qxyawy63jp] {
        width: 100%;
    }

    .attendance-toggle-group[b-qxyawy63jp] {
        flex-direction: column;
    }
}
/* /Components/Pages/AuditoriaAdmin.razor.rz.scp.css */
.auditoria-page[b-2scxbe9e9y] {
    gap: var(--sp-4);
}

.auditoria-layout[b-2scxbe9e9y] {
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
}

.auditoria-actions[b-2scxbe9e9y] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-2);
}

.auditoria-filter-card[b-2scxbe9e9y] {
    gap: var(--sp-3);
}

.auditoria-filter-help[b-2scxbe9e9y] {
    color: var(--text-secondary);
    font-size: var(--text-sm);
    line-height: 1.5;
}

.auditoria-filter-actions[b-2scxbe9e9y] {
    display: grid;
    gap: 0.8rem;
}

.auditoria-primary-action[b-2scxbe9e9y],
.auditoria-secondary-action[b-2scxbe9e9y] {
    width: 100%;
    min-height: 48px;
}

.auditoria-table-header[b-2scxbe9e9y] {
    margin-bottom: var(--sp-4);
}

.auditoria-kpis[b-2scxbe9e9y] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: var(--sp-2);
}

.auditoria-stat-card[b-2scxbe9e9y] {
    min-height: 116px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--sp-3);
    align-items: center;
    padding: var(--sp-4);
}

.auditoria-stat-card strong[b-2scxbe9e9y] {
    font-size: clamp(1.8rem, 2.8vw, 2.4rem);
}

.auditoria-stat-icon[b-2scxbe9e9y] {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(198, 167, 94, 0.18);
    color: var(--clr-accent);
    font-weight: 800;
    letter-spacing: 0.08em;
}

.auditoria-table th:nth-child(1)[b-2scxbe9e9y],
.auditoria-table td:nth-child(1)[b-2scxbe9e9y] {
    white-space: nowrap;
}

.auditoria-pagination[b-2scxbe9e9y] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-3);
    flex-wrap: wrap;
    padding-top: var(--sp-2);
}

.auditoria-pagination-controls[b-2scxbe9e9y] {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    flex-wrap: wrap;
}

.auditoria-page-size[b-2scxbe9e9y] {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.auditoria-page-size-select[b-2scxbe9e9y] {
    width: 88px;
    min-width: 88px;
}

.auditoria-page-buttons[b-2scxbe9e9y] {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.auditoria-page-button[b-2scxbe9e9y] {
    min-width: 42px;
    min-height: 42px;
    padding-inline: 0.8rem;
}

@media (max-width: 1180px) {
    .auditoria-layout[b-2scxbe9e9y] {
        grid-template-columns: 1fr;
    }

    .auditoria-filter-card[b-2scxbe9e9y] {
        position: static;
    }
}

@media (max-width: 900px) {
    .auditoria-kpis[b-2scxbe9e9y] {
        grid-template-columns: 1fr;
    }

    .auditoria-pagination[b-2scxbe9e9y] {
        flex-direction: column;
        align-items: stretch;
    }

    .auditoria-pagination-controls[b-2scxbe9e9y] {
        justify-content: space-between;
    }
}
/* /Components/Pages/ConfiguracionAdmin.razor.rz.scp.css */
.configuracion-page[b-n4exu4i0kh] {
    display: flex;
    flex-direction: column;
    gap: var(--sp-6);
}

.configuracion-feedback-success[b-n4exu4i0kh] {
    animation: configuracion-success-slide-b-n4exu4i0kh 320ms cubic-bezier(0.23, 1, 0.32, 1);
}

.configuracion-kpis[b-n4exu4i0kh] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.configuracion-kpi-card[b-n4exu4i0kh] {
    gap: 6px;
    padding: 16px 18px;
}

.configuracion-kpi-card strong[b-n4exu4i0kh] {
    font-size: var(--text-2xl);
    color: var(--text-primary);
}

.configuracion-sections[b-n4exu4i0kh] {
    display: flex;
    flex-direction: column;
    gap: var(--sp-6);
}

.configuracion-section[b-n4exu4i0kh] {
    padding: var(--sp-5);
}

.configuracion-payment-section[b-n4exu4i0kh] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 18px;
    align-items: center;
    border: 1px solid rgba(72, 91, 132, 0.22);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 252, 246, 0.98), rgba(238, 243, 255, 0.96)),
        var(--bg-card);
    box-shadow: 0 18px 42px rgba(32, 42, 68, 0.09);
}

.configuracion-payment-copy h2[b-n4exu4i0kh] {
    margin: 6px 0 8px;
    color: #263458;
    font-size: 1.55rem;
    line-height: 1.12;
}

.configuracion-payment-copy p[b-n4exu4i0kh] {
    max-width: 60ch;
    margin: 0;
    color: #5d6480;
    line-height: 1.55;
}

.configuracion-payment-status[b-n4exu4i0kh] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 160px;
    align-items: flex-end;
}

.configuracion-payment-status small[b-n4exu4i0kh] {
    max-width: 260px;
    color: #6c7286;
    font-weight: 600;
    text-align: right;
}

.configuracion-payment-pill[b-n4exu4i0kh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 800;
}

.configuracion-payment-pill.connected[b-n4exu4i0kh] {
    border-color: rgba(38, 132, 89, 0.28);
    background: rgba(226, 248, 236, 0.95);
    color: #1c714b;
}

.configuracion-payment-pill.disconnected[b-n4exu4i0kh] {
    border-color: rgba(151, 118, 65, 0.28);
    background: rgba(255, 244, 224, 0.95);
    color: #8a6530;
}

.configuracion-payment-actions[b-n4exu4i0kh] {
    display: flex;
    justify-content: flex-end;
}

.configuracion-payment-button[b-n4exu4i0kh] {
    min-width: 190px;
    min-height: 44px;
    border-radius: 12px;
    font-weight: 800;
}

.configuracion-unified-section[b-n4exu4i0kh] {
    padding: 20px;
    border: 1px solid rgba(197, 173, 136, 0.48);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(248, 241, 229, 0.96));
    box-shadow: 0 18px 44px rgba(32, 42, 68, 0.08);
}

.configuracion-section-grid[b-n4exu4i0kh] {
    display: grid;
    grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
    gap: var(--sp-5);
    align-items: start;
}

.configuracion-form-side[b-n4exu4i0kh],
.configuracion-table-side[b-n4exu4i0kh] {
    min-width: 0;
}

.configuracion-unified-copy[b-n4exu4i0kh] {
    margin-bottom: 22px;
}

.configuracion-unified-copy .eyebrow[b-n4exu4i0kh] {
    letter-spacing: 0.14em;
    color: #757575;
}

.configuracion-unified-copy h2[b-n4exu4i0kh] {
    margin: 8px 0 10px;
    font-size: clamp(2rem, 2.4vw, 3.2rem);
    font-weight: 500;
    line-height: 1.04;
    color: #263458;
}

.configuracion-unified-copy p[b-n4exu4i0kh] {
    max-width: 38ch;
    margin: 0;
    color: #5d6480;
    font-size: 1.02rem;
    line-height: 1.6;
}

.configuracion-unified-copy-right[b-n4exu4i0kh] {
    margin-bottom: 18px;
}

.configuracion-mini-kpis[b-n4exu4i0kh] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.config-checkbox-row[b-n4exu4i0kh] {
    min-height: 44px;
    padding: 10px 12px;
    border: 1.5px solid var(--border-input);
    border-radius: var(--r-sm);
    background: var(--bg-input);
}

.configuracion-training-layout[b-n4exu4i0kh] {
    display: grid;
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.configuracion-training-form-column[b-n4exu4i0kh],
.configuracion-training-table-column[b-n4exu4i0kh] {
    min-width: 0;
}

.configuracion-training-copy[b-n4exu4i0kh] {
    margin-bottom: 22px;
}

.configuracion-training-form-grid[b-n4exu4i0kh] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 14px;
}

.configuracion-training-field[b-n4exu4i0kh] {
    min-width: 0;
}

.configuracion-training-field-full[b-n4exu4i0kh] {
    grid-column: 1 / -1;
}

.configuracion-training-field .form-label[b-n4exu4i0kh] {
    margin-bottom: 8px;
    color: #6e6f74;
    font-size: 0.81rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.configuracion-training-input[b-n4exu4i0kh] {
    min-height: 46px;
    border: 1px solid #d4bb93;
    border-radius: 12px;
    background: rgba(255, 250, 242, 0.92);
    color: #2f3b62;
    box-shadow: none;
}

.configuracion-training-input:focus[b-n4exu4i0kh] {
    border-color: #2a416f;
    box-shadow: 0 0 0 0.16rem rgba(42, 65, 111, 0.12);
}

.configuracion-category-picker[b-n4exu4i0kh] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.configuracion-category-chip[b-n4exu4i0kh] {
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(160, 137, 101, 0.56);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255, 252, 246, 0.96), rgba(244, 234, 217, 0.92));
    color: #4d5875;
    font-size: 0.95rem;
    font-weight: 800;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
    transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}

.configuracion-category-chip:hover:not(:disabled)[b-n4exu4i0kh] {
    transform: translateY(-1px);
    border-color: #7786aa;
    background: linear-gradient(180deg, #fffdf8, #f6ecdc);
    box-shadow: 0 8px 18px rgba(45, 55, 86, 0.12);
}

.configuracion-category-chip.selected[b-n4exu4i0kh] {
    background: linear-gradient(180deg, #2f436d, #1e2f56);
    color: #f9fbff;
    border-color: #1e315a;
    box-shadow: 0 12px 24px rgba(38, 52, 88, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.configuracion-category-chip:disabled[b-n4exu4i0kh] {
    opacity: 0.58;
    cursor: not-allowed;
}

.configuracion-training-days[b-n4exu4i0kh] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
}

.weekday-picker[b-n4exu4i0kh] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
}

.weekday-chip[b-n4exu4i0kh] {
    min-height: 48px;
    border-radius: var(--r-sm);
    border: 1.5px solid var(--border-input);
    background: var(--bg-input);
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-weight: 700;
    transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}

.configuracion-training-day[b-n4exu4i0kh] {
    min-height: 46px;
    border-radius: 12px;
    border: 1px solid rgba(160, 137, 101, 0.56);
    background: linear-gradient(180deg, rgba(255, 252, 246, 0.96), rgba(244, 234, 217, 0.92));
    color: #4d5875;
    font-size: 0.95rem;
    font-weight: 800;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.weekday-chip:hover:not(:disabled)[b-n4exu4i0kh] {
    transform: translateY(-1px);
    border-color: var(--border-mid);
}

.configuracion-training-day:hover:not(:disabled)[b-n4exu4i0kh] {
    border-color: #7786aa;
    background: linear-gradient(180deg, #fffdf8, #f6ecdc);
    box-shadow: 0 8px 18px rgba(45, 55, 86, 0.12);
}

.weekday-chip.selected[b-n4exu4i0kh] {
    background: var(--fx-primary-surface);
    color: var(--text-on-dark);
    border-color: transparent;
    box-shadow: var(--shadow-btn);
}

.configuracion-training-day.selected[b-n4exu4i0kh] {
    background: linear-gradient(180deg, #2f436d, #1e2f56);
    color: #f9fbff;
    border-color: #1e315a;
    box-shadow: 0 12px 24px rgba(38, 52, 88, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.configuracion-training-day:disabled[b-n4exu4i0kh] {
    opacity: 0.58;
    cursor: not-allowed;
}

.configuracion-training-hint[b-n4exu4i0kh] {
    margin-top: 8px;
    color: #4f5873;
    font-size: 0.98rem;
    line-height: 1.55;
}

.configuracion-training-actions[b-n4exu4i0kh] {
    margin-top: 6px;
}

.configuracion-unified-submit[b-n4exu4i0kh],
.configuracion-training-submit[b-n4exu4i0kh] {
    min-width: 182px;
    min-height: 42px;
    border: 0;
    border-radius: 12px;
    padding-inline: 20px;
    box-shadow: 0 12px 26px rgba(34, 48, 88, 0.26);
}

.configuracion-unified-shell[b-n4exu4i0kh],
.configuracion-training-shell[b-n4exu4i0kh] {
    border-radius: 18px;
    overflow: hidden;
    background: transparent;
}

.configuracion-unified-table[b-n4exu4i0kh],
.configuracion-training-table[b-n4exu4i0kh] {
    min-width: 920px;
}

.configuracion-unified-table thead th[b-n4exu4i0kh],
.configuracion-training-table thead th[b-n4exu4i0kh] {
    padding: 14px 16px;
    border-bottom: 0;
    background: linear-gradient(90deg, #434a58 0%, #263458 100%);
    color: rgba(245, 247, 252, 0.92);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.configuracion-unified-table tbody td[b-n4exu4i0kh],
.configuracion-training-table tbody td[b-n4exu4i0kh] {
    padding: 14px 16px;
    vertical-align: middle;
    border-color: rgba(197, 173, 136, 0.38);
    background: transparent;
    color: #33415f;
}

.configuracion-unified-table tbody tr:nth-child(even) td[b-n4exu4i0kh],
.configuracion-training-table tbody tr:nth-child(even) td[b-n4exu4i0kh] {
    background: rgba(229, 208, 174, 0.16);
}

.configuracion-unified-table tbody strong[b-n4exu4i0kh],
.configuracion-training-table tbody strong[b-n4exu4i0kh] {
    color: #263458;
}

.configuracion-training-status[b-n4exu4i0kh] {
    padding: 8px 14px;
    border-radius: 999px;
    font-weight: 700;
}

.configuracion-action-button[b-n4exu4i0kh] {
    min-width: 88px;
    min-height: 34px;
    border-radius: 10px;
    border: 1px solid transparent;
    font-weight: 800;
    line-height: 1;
    transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}

.configuracion-action-button:hover:not(:disabled)[b-n4exu4i0kh],
.configuracion-action-button:focus-visible[b-n4exu4i0kh] {
    transform: translateY(-1px);
}

.configuracion-action-button.edit[b-n4exu4i0kh] {
    border-color: rgba(96, 110, 148, 0.34);
    background: rgba(242, 246, 255, 0.92);
    color: #30446c;
}

.configuracion-action-button.edit:hover:not(:disabled)[b-n4exu4i0kh],
.configuracion-action-button.edit:focus-visible[b-n4exu4i0kh] {
    border-color: #2f436d;
    background: #eef4ff;
    color: #1e315a;
    box-shadow: 0 8px 18px rgba(38, 52, 88, 0.14);
}

.configuracion-action-button.delete[b-n4exu4i0kh] {
    border-color: rgba(176, 91, 80, 0.28);
    background: rgba(255, 244, 241, 0.94);
    color: #9b3f36;
}

.configuracion-action-button.delete:hover:not(:disabled)[b-n4exu4i0kh],
.configuracion-action-button.delete:focus-visible[b-n4exu4i0kh] {
    border-color: #b85a4c;
    background: #fff0ec;
    color: #833127;
    box-shadow: 0 8px 18px rgba(132, 49, 39, 0.13);
}

@media (max-width: 1120px) {
    .configuracion-section-grid[b-n4exu4i0kh],
    .configuracion-training-layout[b-n4exu4i0kh] {
        grid-template-columns: 1fr;
    }

    .configuracion-unified-table[b-n4exu4i0kh],
    .configuracion-training-table[b-n4exu4i0kh] {
        min-width: 760px;
    }
}

@media (max-width: 720px) {
    .configuracion-payment-section[b-n4exu4i0kh] {
        grid-template-columns: 1fr;
    }

    .configuracion-payment-status[b-n4exu4i0kh],
    .configuracion-payment-status small[b-n4exu4i0kh],
    .configuracion-payment-actions[b-n4exu4i0kh] {
        align-items: stretch;
        text-align: left;
    }

    .configuracion-payment-button[b-n4exu4i0kh] {
        width: 100%;
    }

    .weekday-picker[b-n4exu4i0kh],
    .configuracion-kpis[b-n4exu4i0kh],
    .configuracion-mini-kpis[b-n4exu4i0kh] {
        grid-template-columns: 1fr;
    }

    .configuracion-training-section[b-n4exu4i0kh] {
        padding: 16px;
        border-radius: 18px;
    }

    .configuracion-unified-section[b-n4exu4i0kh] {
        padding: 16px;
        border-radius: 18px;
    }

    .configuracion-training-form-grid[b-n4exu4i0kh] {
        grid-template-columns: 1fr;
    }

    .configuracion-unified-copy h2[b-n4exu4i0kh],
    .configuracion-training-copy h2[b-n4exu4i0kh] {
        font-size: 2rem;
    }

    .configuracion-training-days[b-n4exu4i0kh] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@keyframes configuracion-success-slide-b-n4exu4i0kh {
    from {
        opacity: 0;
        transform: translateY(-8px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
/* /Components/Pages/ConvocatoriaPublica.razor.rz.scp.css */
.public-response-card[b-ixm1j5bt14] {
    display: grid;
    gap: var(--sp-4);
    max-width: 920px;
    margin: 0 auto;
}

.public-response-summary[b-ixm1j5bt14] {
    display: grid;
    gap: var(--sp-3);
    padding-bottom: var(--sp-3);
    border-bottom: 1px solid var(--border-light);
}

.public-response-summary h2[b-ixm1j5bt14] {
    margin: 0;
}

.public-response-summary p[b-ixm1j5bt14] {
    margin: 0;
    color: var(--text-secondary);
}

.public-response-meta[b-ixm1j5bt14] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-2);
}

.meta-tile[b-ixm1j5bt14] {
    padding: 1rem 1.05rem;
    border-radius: 12px;
    border: 1px solid var(--border-light);
    background: var(--bg-subtle);
    display: grid;
    gap: 4px;
}

.meta-tile span[b-ixm1j5bt14] {
    font-size: var(--text-xs);
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--text-secondary);
}

.meta-tile strong[b-ixm1j5bt14] {
    font-size: 1rem;
    color: var(--text-primary);
}

.meta-tile-primary[b-ixm1j5bt14] {
    border-color: rgba(34, 197, 94, 0.35);
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.14), rgba(34, 197, 94, 0.06));
}

.public-response-card .stack-form[b-ixm1j5bt14] {
    gap: var(--sp-3);
}

.attendance-success-card[b-ixm1j5bt14],
.attendance-summary-card[b-ixm1j5bt14] {
    border-radius: 16px;
    padding: 1rem 1.1rem;
    display: grid;
    gap: 0.5rem;
}

.attendance-success-card[b-ixm1j5bt14] {
    grid-template-columns: 3rem minmax(0, 1fr);
    align-items: center;
    border: 1px solid rgba(22, 163, 74, 0.3);
    background:
        linear-gradient(135deg, rgba(34, 197, 94, 0.18), rgba(34, 197, 94, 0.08)),
        var(--bg-surface);
    box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.08), 0 14px 32px rgba(34, 197, 94, 0.12);
    animation: attendance-pop-b-ixm1j5bt14 0.45s ease-out, attendance-glow-b-ixm1j5bt14 2.4s ease-in-out infinite alternate;
}

.attendance-success-icon[b-ixm1j5bt14] {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #22c55e, #16a34a);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.3rem;
    box-shadow: 0 8px 18px rgba(22, 163, 74, 0.28);
}

.attendance-success-title[b-ixm1j5bt14] {
    margin: 0.1rem 0 0;
    font-size: 1.15rem;
    color: var(--text-primary);
}

.attendance-summary-card[b-ixm1j5bt14] {
    border: 1px solid var(--border-light);
    background: var(--bg-subtle);
}

@keyframes attendance-pop-b-ixm1j5bt14 {
    from {
        transform: translateY(6px) scale(0.985);
        opacity: 0.65;
    }

    to {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

@keyframes attendance-glow-b-ixm1j5bt14 {
    from {
        box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.08), 0 10px 24px rgba(34, 197, 94, 0.10);
    }

    to {
        box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.14), 0 16px 34px rgba(34, 197, 94, 0.18);
    }
}

@media (max-width: 760px) {
    .public-response-meta[b-ixm1j5bt14],
    .attendance-success-card[b-ixm1j5bt14] {
        grid-template-columns: 1fr;
    }

    .attendance-success-icon[b-ixm1j5bt14] {
        width: 2.65rem;
        height: 2.65rem;
    }
}
/* /Components/Pages/CuotasAdmin.razor.rz.scp.css */
.cuotas-workspace[b-z01bcrcv84] {
    gap: var(--sp-4);
}

.cuotas-compact-header[b-z01bcrcv84] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-3);
    padding: 0 2px var(--sp-2);
    border-bottom: 1px solid rgba(31, 42, 68, 0.1);
}

.cuotas-compact-header h1[b-z01bcrcv84] {
    margin: 0;
    font-size: 1.38rem;
    line-height: 1.15;
    color: var(--text-primary);
}

.cuotas-header-actions[b-z01bcrcv84] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--sp-2);
}

.cuotas-header-actions .btn[b-z01bcrcv84] {
    min-height: 36px;
    padding: 0.45rem 0.78rem;
    font-size: var(--text-sm);
}

.mp-status-pill[b-z01bcrcv84] {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    min-height: 38px;
    padding: 0.22rem 0.28rem 0.22rem 0.72rem;
    border: 1px solid var(--border-light);
    border-radius: var(--r-sm);
    background: var(--bg-surface);
    color: var(--text-primary);
}

.mp-status-pill span[b-z01bcrcv84] {
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.mp-status-pill.connected[b-z01bcrcv84] {
    border-color: rgba(57, 142, 89, 0.34);
    background: rgba(57, 142, 89, 0.09);
}

.mp-status-pill.disconnected[b-z01bcrcv84] {
    border-color: rgba(179, 63, 45, 0.28);
    background: rgba(179, 63, 45, 0.08);
}

.mp-status-detail[b-z01bcrcv84] {
    flex: 1 1 100%;
    max-width: 560px;
    padding: 0.48rem 0.65rem;
    border: 1px solid rgba(179, 63, 45, 0.24);
    border-radius: var(--r-sm);
    background: rgba(179, 63, 45, 0.08);
    color: var(--text-secondary);
    font-size: var(--text-xs);
    line-height: 1.35;
}

.cuotas-admin-layout[b-z01bcrcv84] {
    display: grid;
    grid-template-columns: minmax(280px, 330px) minmax(0, 1fr);
    gap: var(--sp-4);
    align-items: start;
}

.cuotas-sidebar[b-z01bcrcv84],
.cuotas-main-panel[b-z01bcrcv84] {
    border-radius: var(--r-md);
}

.cuotas-sidebar[b-z01bcrcv84] {
    position: sticky;
    top: var(--sp-4);
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
    padding: var(--sp-4);
}

.cuotas-form-title h2[b-z01bcrcv84],
.table-toolbar h2[b-z01bcrcv84] {
    margin: 0;
    font-size: 1.04rem;
    line-height: 1.25;
    color: var(--text-primary);
}

.cuotas-form-stack[b-z01bcrcv84] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-3);
}

.cuotas-form-grid[b-z01bcrcv84] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-3);
}

.cuotas-form-stack label[b-z01bcrcv84],
.cuotas-toolbar-group label[b-z01bcrcv84] {
    margin-bottom: 0.32rem;
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--text-label);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.cuotas-form-stack .form-control[b-z01bcrcv84],
.cuotas-form-stack .form-select[b-z01bcrcv84],
.cuotas-toolbar-group .form-control[b-z01bcrcv84],
.cuotas-toolbar-group .form-select[b-z01bcrcv84] {
    min-height: 38px;
    padding: 0.45rem 0.68rem;
    border-radius: var(--r-sm);
    font-size: var(--text-sm);
}

.cuotas-form-stack > div[b-z01bcrcv84],
.cuotas-form-stack .autocomplete-shell[b-z01bcrcv84],
.cuotas-form-stack .form-actions[b-z01bcrcv84] {
    width: 100%;
}
.cuotas-form-stack .form-control[b-z01bcrcv84],
.cuotas-form-stack .form-select[b-z01bcrcv84] {
    width: 100%;
}
.cuota-preview[b-z01bcrcv84] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-3);
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(198, 167, 94, 0.34);
    border-radius: var(--r-sm);
    background: rgba(198, 167, 94, 0.12);
}

.cuota-preview span[b-z01bcrcv84] {
    display: block;
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--text-label);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.cuota-preview strong[b-z01bcrcv84] {
    display: block;
    margin-top: 2px;
    font-size: 1rem;
    color: var(--text-primary);
}

.cuota-preview small[b-z01bcrcv84] {
    max-width: 105px;
    color: var(--text-secondary);
    font-size: var(--text-xs);
    line-height: 1.3;
    text-align: right;
}

.cuotas-sidebar .btn-primary[b-z01bcrcv84] {
    min-height: 40px;
    margin-top: var(--sp-1);
}

.cuotas-main-panel[b-z01bcrcv84] {
    min-width: 0;
    padding: var(--sp-4);
}

.table-toolbar.filter-toolbar[b-z01bcrcv84] {
    display: grid;
    grid-template-columns: auto minmax(420px, 1fr);
    align-items: end;
    gap: var(--sp-3);
    margin-bottom: var(--sp-3);
}

.cuotas-toolbar-group[b-z01bcrcv84] {
    display: grid;
    grid-template-columns: minmax(190px, 1.25fr) minmax(150px, 0.9fr) minmax(160px, 0.9fr);
    gap: var(--sp-2);
    align-items: center;
}

.cuotas-toolbar-group > *[b-z01bcrcv84] {
    min-width: 0;
}

.cuotas-summary-row[b-z01bcrcv84] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-2);
    margin-bottom: var(--sp-3);
}

.cuota-metric[b-z01bcrcv84] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-2);
    min-width: 0;
    padding: 0.58rem 0.72rem;
    border: 1px solid rgba(31, 42, 68, 0.1);
    border-radius: var(--r-sm);
    background: rgba(248, 243, 235, 0.72);
}

.cuota-metric .hero-label[b-z01bcrcv84] {
    min-width: 0;
    color: var(--text-secondary);
    font-size: var(--text-xs);
    line-height: 1.2;
}

.cuota-metric strong[b-z01bcrcv84] {
    flex: 0 0 auto;
    color: var(--text-primary);
    font-size: 1rem;
    line-height: 1;
}

.pending-reminders-panel[b-z01bcrcv84] {
    display: grid;
    gap: var(--sp-2);
    margin-bottom: var(--sp-3);
    padding: var(--sp-3);
    border: 1px solid rgba(31, 42, 68, 0.1);
    border-radius: var(--r-sm);
    background: var(--bg-subtle);
}

.pending-reminders-header[b-z01bcrcv84] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-2);
}

.pending-reminders-header h3[b-z01bcrcv84] {
    margin: 0;
    color: var(--text-primary);
    font-size: 1rem;
}

.pending-list[b-z01bcrcv84] {
    display: grid;
    gap: 0.45rem;
    max-height: 260px;
    overflow: auto;
}

.pending-row[b-z01bcrcv84] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--sp-2);
    padding: 0.58rem 0.68rem;
    border: 1px solid var(--border-light);
    border-radius: var(--r-sm);
    background: var(--bg-surface);
}

.pending-row strong[b-z01bcrcv84],
.pending-row span[b-z01bcrcv84] {
    display: block;
}

.pending-row span[b-z01bcrcv84] {
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.reminder-modal-card[b-z01bcrcv84] {
    max-width: 680px;
}

.reminder-link-box[b-z01bcrcv84] {
    display: grid;
    gap: 0.3rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--border-light);
    border-radius: var(--r-sm);
    background: var(--bg-subtle);
}

.reminder-link-box span[b-z01bcrcv84] {
    color: var(--text-label);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.reminder-link-box a[b-z01bcrcv84] {
    overflow-wrap: anywhere;
    color: var(--clr-primary);
    font-size: var(--text-sm);
}

.reminder-message[b-z01bcrcv84] {
    min-height: 240px;
    resize: vertical;
    white-space: pre-wrap;
}

.cuotas-admin-table[b-z01bcrcv84] {
    min-width: 1080px;
}

.cuotas-admin-table th[b-z01bcrcv84],
.cuotas-admin-table td[b-z01bcrcv84] {
    padding: 0.62rem 0.72rem;
    white-space: nowrap;
    vertical-align: middle;
}

.cuotas-admin-table td:first-child[b-z01bcrcv84],
.cuotas-admin-table th:first-child[b-z01bcrcv84] {
    min-width: 220px;
    white-space: normal;
}

.cuotas-admin-table .table-actions[b-z01bcrcv84] {
    display: inline-flex;
    gap: 0.35rem;
}

.cuotas-admin-table .table-action-button[b-z01bcrcv84] {
    padding: 0.32rem 0.58rem;
    border-radius: var(--r-sm);
    font-size: var(--text-xs);
}

.table-scroll-top[b-z01bcrcv84] {
    height: 13px;
    margin-bottom: var(--sp-1);
}

.cuotas-suggestions[b-z01bcrcv84] {
    display: grid;
    gap: 0.42rem;
    max-height: 230px;
    overflow: auto;
}

.selection-item[b-z01bcrcv84] {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.16rem;
    padding: 0.66rem 0.72rem;
    border: 1px solid var(--border-light);
    border-radius: var(--r-sm);
    background: var(--bg-surface);
    transition: border-color var(--t-fast), background var(--t-fast), transform var(--t-fast);
    text-align: left;
}

.selection-item:hover[b-z01bcrcv84] {
    border-color: var(--border-mid);
    background: var(--bg-subtle);
    transform: translateY(-1px);
}

.selection-item span[b-z01bcrcv84] {
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.empty-inline-state[b-z01bcrcv84] {
    padding: 0.72rem 0.78rem;
    border: 1px dashed var(--border-mid);
    border-radius: var(--r-sm);
    color: var(--text-secondary);
    background: var(--bg-subtle);
    font-size: var(--text-sm);
}

.print-popover-wrap[b-z01bcrcv84] {
    position: relative;
}

.print-popover[b-z01bcrcv84] {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(560px, calc(100vw - 48px));
    background: var(--bg-surface);
    border: 1px solid var(--border-light);
    border-radius: var(--r-md);
    box-shadow: var(--shadow-lg);
    padding: var(--sp-4);
    display: flex;
    flex-direction: column;
    gap: var(--sp-4);
    z-index: 30;
}

.print-panel-header[b-z01bcrcv84] {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-3);
    padding-bottom: var(--sp-3);
    border-bottom: 1px solid var(--border-light);
}

.print-panel-header h3[b-z01bcrcv84] {
    margin: 0;
    font-size: var(--text-lg);
    color: var(--text-primary);
}

.print-panel-header p[b-z01bcrcv84] {
    margin: 4px 0 0;
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.print-close[b-z01bcrcv84] {
    border: none;
    background: transparent;
    color: var(--text-secondary);
    font-size: 1.35rem;
    line-height: 1;
    padding: 0;
}

.print-panel-grid[b-z01bcrcv84] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-4);
}

.print-group[b-z01bcrcv84] {
    display: flex;
    flex-direction: column;
    gap: var(--sp-2);
}

.print-group-title[b-z01bcrcv84] {
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--text-primary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.print-check[b-z01bcrcv84] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-size: var(--text-sm);
    color: var(--text-primary);
}

.print-check input[b-z01bcrcv84] {
    accent-color: var(--clr-primary);
}

.print-check.checked[b-z01bcrcv84] {
    opacity: 0.8;
}

.print-actions[b-z01bcrcv84] {
    display: flex;
    justify-content: flex-end;
    gap: var(--sp-2);
}

@media (max-width: 900px) {
    .cuotas-admin-layout[b-z01bcrcv84] {
        grid-template-columns: 1fr;
    }

    .cuotas-sidebar[b-z01bcrcv84] {
        position: static;
    }

    .table-toolbar.filter-toolbar[b-z01bcrcv84] {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

@media (max-width: 760px) {
    .cuotas-compact-header[b-z01bcrcv84] {
        align-items: stretch;
        flex-direction: column;
    }

    .cuotas-header-actions[b-z01bcrcv84] {
        justify-content: flex-start;
    }

    .cuota-preview[b-z01bcrcv84] {
        align-items: flex-start;
        flex-direction: column;
    }

    .cuota-preview small[b-z01bcrcv84] {
        max-width: none;
        text-align: left;
    }

    .cuotas-form-grid[b-z01bcrcv84],
    .cuotas-toolbar-group[b-z01bcrcv84],
    .cuotas-summary-row[b-z01bcrcv84],
    .pending-row[b-z01bcrcv84],
    .print-panel-grid[b-z01bcrcv84] {
        grid-template-columns: 1fr;
    }

    .cuotas-header-actions .btn[b-z01bcrcv84],
    .cuotas-header-actions .print-popover-wrap[b-z01bcrcv84] {
        flex: 1 1 120px;
    }

    .cuotas-header-actions .print-popover-wrap .btn[b-z01bcrcv84] {
        width: 100%;
    }

    .print-popover[b-z01bcrcv84] {
        position: fixed;
        left: var(--sp-3);
        right: var(--sp-3);
        top: auto;
        bottom: var(--sp-3);
        width: auto;
        max-height: calc(100vh - 32px);
        overflow: auto;
    }

    .print-actions[b-z01bcrcv84] {
        flex-direction: column-reverse;
    }
}
/* /Components/Pages/EstadisticasAdmin.razor.rz.scp.css */
.estadisticas-page[b-ua3m435hoq] {
    gap: var(--sp-4);
}

.alert-band[b-ua3m435hoq] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-3);
    margin-bottom: var(--sp-4);
}

.alert-band-item[b-ua3m435hoq] {
    border-radius: var(--r-lg);
    border: 1px solid var(--border-light);
    padding: var(--sp-4);
    background: var(--bg-surface);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-height: 132px;
}

.alert-band-item.danger[b-ua3m435hoq] {
    border-left: 5px solid var(--color-danger);
}

.alert-band-item.warning[b-ua3m435hoq] {
    border-left: 5px solid var(--color-warning);
}

.alert-band-item.success[b-ua3m435hoq] {
    border-left: 5px solid var(--color-success);
}

.alert-band-top[b-ua3m435hoq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-3);
    color: white ;
}

.alert-band-top strong[b-ua3m435hoq] {
    font-size: var(--text-base);
}

.alert-band-badge[b-ua3m435hoq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--r-full);
    padding: 0.32rem 0.7rem;
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.alert-band-item.danger .alert-band-badge[b-ua3m435hoq] {
    background: var(--color-danger);
}

.alert-band-item.warning .alert-band-badge[b-ua3m435hoq] {
    background: var(--color-warning);
}

.alert-band-item.success .alert-band-badge[b-ua3m435hoq] {
    background: var(--color-success);
}

.alert-band-text[b-ua3m435hoq] {
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.alert-band-value[b-ua3m435hoq] {
    margin-top: auto;
    font-size: var(--text-xl);
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: -0.03em;
}

.kpi-grid[b-ua3m435hoq] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--sp-3);
    margin-bottom: var(--sp-4);
}

.kpi-card[b-ua3m435hoq] {
    border-radius: var(--r-lg);
    border: 1px solid var(--border-light);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0));
    padding: var(--sp-5);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    min-height: 146px;
}

.kpi-card strong[b-ua3m435hoq] {
    font-size: clamp(1.9rem, 2.8vw, 3rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.kpi-subtitle[b-ua3m435hoq] {
    margin-top: auto;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.estadisticas-kpi-grid[b-ua3m435hoq] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.chart-grid[b-ua3m435hoq] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-4);
    margin-bottom: var(--sp-4);
}

.chart-card[b-ua3m435hoq] {
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
    min-height: 420px;
}

.chart-card.span-2[b-ua3m435hoq] {
    grid-column: 1 / -1;
}

.chart-frame[b-ua3m435hoq] {
    min-height: 250px;
    display: flex;
    align-items: stretch;
}

.chart-frame-large[b-ua3m435hoq] {
    min-height: 300px;
}

.chart-frame[b-ua3m435hoq]  .apexcharts-canvas {
    width: 100% !important;
}

.cash-leader[b-ua3m435hoq] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: var(--sp-4);
    border-radius: var(--r-lg);
    border: 1px solid var(--border-light);
    background: linear-gradient(135deg, rgba(31, 42, 68, 0.06), rgba(198, 167, 94, 0.14));
}

.cash-leader strong[b-ua3m435hoq] {
    font-size: var(--text-2xl);
    line-height: 1.1;
    letter-spacing: -0.04em;
}

.cash-leader p[b-ua3m435hoq] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.cash-ranking[b-ua3m435hoq] {
    display: grid;
    gap: var(--sp-3);
}

.cash-row[b-ua3m435hoq] {
    display: grid;
    gap: 0.45rem;
}

.cash-row-top[b-ua3m435hoq] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--sp-3);
}

.cash-row-top strong[b-ua3m435hoq] {
    font-size: var(--text-base);
}

.cash-row-top span[b-ua3m435hoq] {
    color: var(--text-secondary);
    font-size: var(--text-sm);
    white-space: nowrap;
}

.cash-track[b-ua3m435hoq] {
    height: 12px;
    border-radius: var(--r-full);
    background: rgba(31, 42, 68, 0.08);
    overflow: hidden;
    border: 1px solid rgba(31, 42, 68, 0.08);
}

.cash-fill[b-ua3m435hoq] {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--clr-primary) 0%, var(--clr-accent) 100%);
}

.chart-meta[b-ua3m435hoq] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-2);
}

.insights-grid[b-ua3m435hoq] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-4);
    margin-bottom: var(--sp-4);
}

.insight-card[b-ua3m435hoq] {
    border-radius: var(--r-lg);
    border: 1px solid var(--border-light);
    background: var(--bg-surface);
    padding: var(--sp-4);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
}

.insight-summary[b-ua3m435hoq] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.insight-summary strong[b-ua3m435hoq] {
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.insight-summary p[b-ua3m435hoq] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.insight-ranking[b-ua3m435hoq] {
    display: grid;
    gap: var(--sp-3);
}

.insight-row[b-ua3m435hoq] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: var(--sp-3);
    align-items: center;
    padding: 0.7rem 0;
    border-top: 1px solid var(--border-light);
}

.insight-row:first-child[b-ua3m435hoq] {
    border-top: 0;
    padding-top: 0;
}

.insight-rank[b-ua3m435hoq] {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: var(--r-md);
    border: 1px solid var(--border-light);
    background: var(--bg-subtle);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    color: var(--clr-primary);
}

.insight-main[b-ua3m435hoq] {
    min-width: 0;
}

.insight-main strong[b-ua3m435hoq] {
    display: block;
    font-size: var(--text-base);
    line-height: 1.2;
}

.insight-main span[b-ua3m435hoq] {
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.pending-pills[b-ua3m435hoq] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.insight-actions[b-ua3m435hoq] {
    margin-top: auto;
    display: flex;
    justify-content: flex-start;
}

.alumnos-sin-cuota-modal[b-ua3m435hoq] {
    width: min(720px, 100%);
}

.alumnos-sin-cuota-list[b-ua3m435hoq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--sp-3);
    max-height: min(58vh, 560px);
    overflow: auto;
    padding-right: var(--sp-1);
}

.alumno-sin-cuota-item[b-ua3m435hoq] {
    display: grid;
    gap: 0.2rem;
    padding: var(--sp-3);
    border: 1px solid var(--border-light);
    border-radius: var(--r-md);
    background: var(--bg-subtle);
}

.alumno-sin-cuota-item strong[b-ua3m435hoq] {
    color: var(--text-primary);
    font-size: var(--text-sm);
    line-height: 1.2;
}

.alumno-sin-cuota-item span[b-ua3m435hoq],
.alumno-sin-cuota-item small[b-ua3m435hoq] {
    color: var(--text-secondary);
    font-size: var(--text-xs);
    line-height: 1.25;
}

.meta-chip[b-ua3m435hoq] {
    display: inline-flex;
    align-items: center;
    border-radius: var(--r-full);
    padding: 0.38rem 0.75rem;
    background: var(--bg-subtle);
    border: 1px solid var(--border-light);
    color: var(--text-secondary);
    font-size: var(--text-xs);
    font-weight: 700;
}

.compact-empty[b-ua3m435hoq] {
    min-height: 220px;
}

.docs-table th[b-ua3m435hoq],
.docs-table td[b-ua3m435hoq] {
    white-space: nowrap;
}

.docs-table td:first-child[b-ua3m435hoq],
.docs-table th:first-child[b-ua3m435hoq] {
    white-space: normal;
}

@media (max-width: 1200px) {
    .kpi-grid[b-ua3m435hoq],
    .estadisticas-kpi-grid[b-ua3m435hoq] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .alert-band[b-ua3m435hoq] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .chart-grid[b-ua3m435hoq] {
        grid-template-columns: 1fr;
    }

    .chart-card.span-2[b-ua3m435hoq] {
        grid-column: auto;
    }

    .insights-grid[b-ua3m435hoq] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .kpi-grid[b-ua3m435hoq],
    .estadisticas-kpi-grid[b-ua3m435hoq] {
        grid-template-columns: 1fr;
    }

    .chart-card[b-ua3m435hoq] {
        min-height: auto;
    }

    .chart-frame[b-ua3m435hoq],
    .chart-frame-large[b-ua3m435hoq] {
        min-height: 220px;
    }

    .cash-row-top[b-ua3m435hoq] {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.2rem;
    }

    .insight-row[b-ua3m435hoq] {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .insight-row > .meta-chip[b-ua3m435hoq],
    .insight-row > span:last-child[b-ua3m435hoq] {
        grid-column: 2;
        justify-self: start;
    }

    .insight-actions .btn[b-ua3m435hoq] {
        width: 100%;
    }

    .alumnos-sin-cuota-list[b-ua3m435hoq] {
        grid-template-columns: 1fr;
        max-height: 54vh;
    }
}
/* /Components/Pages/GuiaRapida.razor.rz.scp.css */
.guide-page[b-a334y7fy9f] {
    gap: var(--sp-5);
}

.guide-hero[b-a334y7fy9f] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: var(--sp-4);
}

.guide-hero h1[b-a334y7fy9f] {
    margin: 0 0 0.35rem;
    font-size: var(--text-2xl);
    font-weight: 800;
    letter-spacing: -0.03em;
}

.guide-hero p[b-a334y7fy9f] {
    max-width: 720px;
    margin: 0;
    color: var(--text-secondary);
}

.guide-hero-meter[b-a334y7fy9f] {
    min-width: 170px;
    border: 1px solid var(--border-light);
    border-radius: var(--r-lg);
    background: var(--bg-surface);
    box-shadow: var(--shadow-sm);
    padding: var(--sp-4);
    display: grid;
    place-items: center;
    text-align: center;
}

.guide-hero-meter span[b-a334y7fy9f] {
    color: var(--text-primary);
    font-size: 2.3rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.04em;
}

.guide-hero-meter strong[b-a334y7fy9f] {
    color: var(--text-primary);
    font-size: var(--text-base);
}

.guide-hero-meter small[b-a334y7fy9f] {
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.guide-assistant[b-a334y7fy9f] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
    align-items: center;
    gap: var(--sp-5);
    background:
        linear-gradient(135deg, rgba(31, 42, 68, 0.07), rgba(198, 167, 94, 0.12)),
        var(--bg-surface);
}

.guide-assistant-copy h2[b-a334y7fy9f] {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-xl);
    line-height: 1.15;
}

.guide-assistant-copy p[b-a334y7fy9f] {
    margin: 0.55rem 0 0;
    color: var(--text-secondary);
}

.guide-motion[b-a334y7fy9f] {
    display: grid;
    grid-template-columns: 18px minmax(48px, 1fr) 18px minmax(48px, 1fr) 18px;
    align-items: center;
}

.motion-dot[b-a334y7fy9f] {
    width: 18px;
    height: 18px;
    border-radius: var(--r-full);
    border: 3px solid var(--clr-primary);
    background: var(--bg-surface);
    box-shadow: 0 0 0 6px rgba(31, 42, 68, 0.08);
    animation: guidePulse-b-a334y7fy9f 1.9s ease-in-out infinite;
}

.motion-dot.active[b-a334y7fy9f] {
    background: var(--clr-primary);
}

.motion-line[b-a334y7fy9f] {
    height: 3px;
    background: linear-gradient(90deg, var(--clr-primary), var(--clr-accent));
    transform-origin: left;
    animation: guideLine-b-a334y7fy9f 1.9s ease-in-out infinite;
}

.guide-workspace[b-a334y7fy9f] {
    display: grid;
    grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
    gap: var(--sp-5);
    align-items: start;
}

.guide-module-list[b-a334y7fy9f],
.guide-detail[b-a334y7fy9f] {
    min-width: 0;
}

.guide-module-list[b-a334y7fy9f] {
    position: sticky;
    top: calc(56px + var(--sp-4));
    display: grid;
    gap: var(--sp-4);
}

.guide-module-buttons[b-a334y7fy9f] {
    display: grid;
    gap: var(--sp-2);
}

.guide-module-button[b-a334y7fy9f] {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--border-light);
    border-radius: var(--r-md);
    background: var(--bg-subtle);
    color: inherit;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: var(--sp-3);
    align-items: center;
    padding: 0.8rem;
    text-align: left;
    cursor: pointer;
    transition: background var(--t-fast), border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}

.guide-module-button:hover[b-a334y7fy9f] {
    transform: translateY(-1px);
    border-color: var(--border-mid);
    background: var(--bg-surface);
}

.guide-module-button.active[b-a334y7fy9f] {
    border-color: rgba(31, 42, 68, 0.26);
    background:
        linear-gradient(135deg, rgba(31, 42, 68, 0.12), rgba(198, 167, 94, 0.16)),
        var(--bg-surface);
    box-shadow: inset 4px 0 0 var(--clr-primary), var(--shadow-sm);
}

.guide-module-icon[b-a334y7fy9f] {
    width: 42px;
    height: 42px;
    border-radius: var(--r-sm);
    background: var(--fx-primary-soft);
    color: var(--clr-primary);
    border: 1px solid rgba(31, 42, 68, 0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-xs);
    font-weight: 900;
}

.guide-module-button strong[b-a334y7fy9f] {
    display: block;
    color: var(--text-primary);
    font-size: var(--text-base);
    line-height: 1.15;
}

.guide-module-button small[b-a334y7fy9f] {
    display: block;
    margin-top: 0.2rem;
    color: var(--text-secondary);
    font-size: var(--text-xs);
    line-height: 1.25;
}

.guide-detail[b-a334y7fy9f] {
    display: grid;
    gap: var(--sp-4);
}

.guide-detail-header[b-a334y7fy9f] {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-4);
    align-items: flex-start;
}

.guide-detail-header h2[b-a334y7fy9f] {
    margin: 0.1rem 0 0.35rem;
    color: var(--text-primary);
    font-size: var(--text-2xl);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.guide-detail-header p[b-a334y7fy9f] {
    margin: 0;
    max-width: 760px;
    color: var(--text-secondary);
}

.guide-module-kicker[b-a334y7fy9f],
.guide-next-label[b-a334y7fy9f] {
    color: var(--text-label);
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.guide-status-chip[b-a334y7fy9f] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--r-full);
    padding: 0.42rem 0.82rem;
    background: #d1fae5;
    color: #065f46;
    border: 1px solid #a7f3d0;
    font-size: var(--text-xs);
    font-weight: 900;
}

.guide-demo-card[b-a334y7fy9f] {
    border: 1px solid var(--border-light);
    border-radius: var(--r-lg);
    background: var(--bg-subtle);
    overflow: hidden;
}

.demo-window-top[b-a334y7fy9f] {
    display: flex;
    gap: 6px;
    padding: 0.75rem 0.9rem;
    border-bottom: 1px solid var(--border-light);
    background: rgba(31, 42, 68, 0.08);
}

.demo-window-top span[b-a334y7fy9f] {
    width: 9px;
    height: 9px;
    border-radius: var(--r-full);
    background: var(--border-mid);
}

.demo-window-body[b-a334y7fy9f] {
    display: grid;
    gap: 0.55rem;
    padding: var(--sp-4);
}

.demo-bar[b-a334y7fy9f],
.demo-row[b-a334y7fy9f] {
    border-radius: var(--r-full);
    background: rgba(31, 42, 68, 0.12);
}

.demo-bar[b-a334y7fy9f] {
    width: 42%;
    height: 13px;
}

.demo-row[b-a334y7fy9f] {
    width: 100%;
    height: 12px;
}

.demo-row.short[b-a334y7fy9f] {
    width: 68%;
}

.demo-row.accent[b-a334y7fy9f] {
    width: 78%;
    background: linear-gradient(90deg, var(--clr-primary), var(--clr-accent));
    animation: guideShimmer-b-a334y7fy9f 2.2s ease-in-out infinite;
}

.guide-stepper[b-a334y7fy9f] {
    display: grid;
    gap: var(--sp-3);
    counter-reset: guide-step;
}

.guide-step[b-a334y7fy9f] {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: var(--sp-3);
    padding: var(--sp-4);
    border: 1px solid var(--border-light);
    border-radius: var(--r-md);
    background: var(--bg-surface);
    box-shadow: var(--shadow-sm);
    animation: guideItemIn-b-a334y7fy9f 0.32s var(--ease) both;
}

.guide-step:nth-child(2)[b-a334y7fy9f] {
    animation-delay: 0.05s;
}

.guide-step:nth-child(3)[b-a334y7fy9f] {
    animation-delay: 0.1s;
}

.guide-step-number[b-a334y7fy9f] {
    width: 38px;
    height: 38px;
    border-radius: var(--r-full);
    background: var(--fx-primary-surface);
    color: var(--text-on-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.guide-step strong[b-a334y7fy9f] {
    display: block;
    color: var(--text-primary);
    font-size: var(--text-base);
}

.guide-step p[b-a334y7fy9f] {
    margin: 0.25rem 0 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.guide-check-grid[b-a334y7fy9f] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-3);
}

.guide-check-card[b-a334y7fy9f] {
    border: 1px solid var(--border-light);
    border-radius: var(--r-md);
    background: var(--bg-subtle);
    padding: var(--sp-4);
}

.guide-check-card.warning[b-a334y7fy9f] {
    background: #f3ecdf;
    border-color: #dbc28f;
}

.guide-check-card ul[b-a334y7fy9f] {
    margin: var(--sp-2) 0 0;
    padding-left: 1.1rem;
    color: var(--text-primary);
}

.guide-check-card li[b-a334y7fy9f] {
    padding: 0.18rem 0;
}

.guide-next-action[b-a334y7fy9f] {
    display: grid;
    gap: 0.2rem;
    border-radius: var(--r-md);
    padding: var(--sp-4);
    border: 1px solid rgba(31, 42, 68, 0.14);
    background:
        linear-gradient(135deg, rgba(31, 42, 68, 0.08), rgba(198, 167, 94, 0.15)),
        var(--bg-surface);
}

.guide-next-action strong[b-a334y7fy9f] {
    color: var(--text-primary);
    font-size: var(--text-lg);
    line-height: 1.2;
}

@keyframes guidePulse-b-a334y7fy9f {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.16);
    }
}

@keyframes guideLine-b-a334y7fy9f {
    0% {
        transform: scaleX(0.24);
        opacity: 0.5;
    }
    60%, 100% {
        transform: scaleX(1);
        opacity: 1;
    }
}

@keyframes guideItemIn-b-a334y7fy9f {
    from {
        opacity: 0;
        transform: translateY(7px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes guideShimmer-b-a334y7fy9f {
    0%, 100% {
        opacity: 0.72;
    }
    50% {
        opacity: 1;
    }
}

@media (max-width: 1180px) {
    .guide-workspace[b-a334y7fy9f],
    .guide-assistant[b-a334y7fy9f] {
        grid-template-columns: 1fr;
    }

    .guide-module-list[b-a334y7fy9f] {
        position: static;
    }

    .guide-module-buttons[b-a334y7fy9f] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .guide-hero[b-a334y7fy9f],
    .guide-detail-header[b-a334y7fy9f],
    .guide-check-grid[b-a334y7fy9f] {
        grid-template-columns: 1fr;
    }

    .guide-hero[b-a334y7fy9f] {
        display: grid;
    }

    .guide-hero-meter[b-a334y7fy9f] {
        min-width: 0;
    }

    .guide-module-buttons[b-a334y7fy9f] {
        grid-template-columns: 1fr;
    }

    .guide-motion[b-a334y7fy9f] {
        grid-template-columns: 18px minmax(36px, 1fr) 18px minmax(36px, 1fr) 18px;
    }

    .guide-detail-header[b-a334y7fy9f] {
        display: grid;
    }

    .guide-status-chip[b-a334y7fy9f] {
        justify-self: start;
    }

    .guide-step[b-a334y7fy9f] {
        padding: var(--sp-3);
    }
}
/* /Components/Pages/JugadoresAdmin.razor.rz.scp.css */
.data-form-card[b-35s4eynlsb] {
    position: sticky;
    top: var(--sp-4);
    align-self: start;
    padding: var(--sp-4);
}

.data-form-card .section-heading[b-35s4eynlsb] {
    margin-bottom: var(--sp-3);
}

.jugadores-form-grid[b-35s4eynlsb] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-3) var(--sp-3);
}

.jugador-field[b-35s4eynlsb] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

.jugador-field--full[b-35s4eynlsb] {
    grid-column: 1 / -1;
}

.data-form-card .form-control[b-35s4eynlsb],
.data-form-card .form-select[b-35s4eynlsb],
.data-form-card .selection-list[b-35s4eynlsb],
.data-form-card .inline-divider[b-35s4eynlsb] {
    width: 100%;
}

.data-form-card .form-control[b-35s4eynlsb],
.data-form-card .form-select[b-35s4eynlsb] {
    min-height: 38px;
    padding: 0.45rem 0.68rem;
    font-size: var(--text-sm);
}

.data-form-card textarea.form-control[b-35s4eynlsb] {
    min-height: 84px;
}

.data-form-card .inline-divider[b-35s4eynlsb] {
    margin: 0.1rem 0 0;
}

.data-form-card .selection-list[b-35s4eynlsb] {
    max-height: 160px;
    overflow: auto;
}

.data-form-card .form-actions[b-35s4eynlsb] {
    margin-top: 0.1rem;
}

.data-form-card .btn[b-35s4eynlsb] {
    min-height: 38px;
}

@media (max-width: 900px) {
    .data-form-card[b-35s4eynlsb] {
        position: static;
    }

    .jugadores-form-grid[b-35s4eynlsb] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-scene[b-ubcobvl1uf] {
    min-height: calc(100vh - (var(--sp-6) * 2));
    display: grid;
    align-items: center;
}

.login-stage[b-ubcobvl1uf] {
    position: relative;
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(420px, 596px);
    gap: clamp(1.5rem, 3vw, 3rem);
    align-items: center;
    min-height: 760px;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border-radius: 32px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(248, 242, 233, 0.94)),
        radial-gradient(circle at top left, rgba(198, 167, 94, 0.08), transparent 30%);
    border: 1px solid rgba(212, 189, 145, 0.42);
    box-shadow:
        0 32px 70px rgba(31, 42, 68, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.72);
    overflow: hidden;
}

.login-stage[b-ubcobvl1uf]::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 10% 90%, rgba(198, 167, 94, 0.16), transparent 18%),
        radial-gradient(circle at 88% 10%, rgba(198, 167, 94, 0.1), transparent 16%);
    pointer-events: none;
}

.login-brand-panel[b-ubcobvl1uf] {
    position: relative;
    min-height: 100%;
    display: grid;
    align-items: center;
    padding: clamp(1.5rem, 3vw, 2.75rem);
    overflow: hidden;
}

.login-brand-backdrop[b-ubcobvl1uf] {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(165deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.25)),
        radial-gradient(circle at 0 0, rgba(198, 167, 94, 0.14), transparent 42%);
    clip-path: polygon(0 0, 75% 0, 56% 50%, 76% 100%, 0 100%);
    opacity: 0.95;
    z-index: 0;
}

.login-brand-backdrop[b-ubcobvl1uf]::before {
    content: "";
    position: absolute;
    top: -8%;
    left: -2%;
    width: 48%;
    height: 120%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(255, 255, 255, 0.1));
    clip-path: polygon(0 0, 55% 0, 28% 50%, 48% 100%, 0 100%);
}

.login-brand-accent[b-ubcobvl1uf] {
    position: absolute;
    inset: auto 0 0 auto;
    width: min(30vw, 220px);
    aspect-ratio: 1 / 1.15;
    background: linear-gradient(180deg, #133e78 0%, #0d2e62 100%);
    clip-path: polygon(55% 0, 100% 100%, 0 100%);
    filter: drop-shadow(0 18px 28px rgba(19, 62, 120, 0.25));
    z-index: 0;
}

.login-brand-content[b-ubcobvl1uf] {
    position: relative;
    z-index: 2;
    display: grid;
    justify-items: center;
    gap: 1.5rem;
    width: min(100%, 360px);
    margin-inline: auto;
    padding-top: clamp(1rem, 3vw, 2rem);
    text-align: center;
    animation: loginBrandReveal-b-ubcobvl1uf 0.65s ease both;
}

.login-brand-shield[b-ubcobvl1uf] {
    width: clamp(170px, 24vw, 260px);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 24px 36px rgba(17, 48, 95, 0.18);
}

.login-brand-shield img[b-ubcobvl1uf] {
    display: block;
    width: 100%;
    height: auto;
}

.login-brand-copy h2[b-ubcobvl1uf],
.login-brand-copy h3[b-ubcobvl1uf] {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: #14396a;
}

.login-brand-copy h2[b-ubcobvl1uf] {
    font-size: clamp(2.5rem, 5vw, 3.7rem);
    font-weight: 900;
    line-height: 0.95;
}

.login-brand-copy h3[b-ubcobvl1uf] {
    margin-top: 0.35rem;
    font-size: clamp(1.15rem, 2vw, 1.75rem);
    font-weight: 700;
}

.login-brand-divider[b-ubcobvl1uf] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    margin-top: 1.25rem;
    color: #c49a4c;
}

.login-brand-divider span[b-ubcobvl1uf] {
    width: clamp(64px, 8vw, 92px);
    height: 2px;
    background: linear-gradient(90deg, rgba(196, 154, 76, 0.12), rgba(196, 154, 76, 0.9), rgba(196, 154, 76, 0.12));
}

.login-brand-divider strong[b-ubcobvl1uf] {
    font-size: 1.7rem;
    line-height: 1;
    font-weight: 900;
}

.login-brand-copy p[b-ubcobvl1uf] {
    margin: 0.35rem 0 0;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: rgba(20, 57, 106, 0.8);
    font-size: 0.95rem;
}

.login-form-shell[b-ubcobvl1uf] {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
}

.login-form-card[b-ubcobvl1uf] {
    width: min(100%, 596px);
    margin: 0;
    padding: clamp(2rem, 3vw, 3rem);
    border-radius: 28px;
    border: 1px solid rgba(212, 189, 145, 0.38);
    box-shadow: 0 24px 45px rgba(31, 42, 68, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(252, 248, 241, 0.88));
    animation: loginCardReveal-b-ubcobvl1uf 0.65s ease both;
}

.login-form-summary[b-ubcobvl1uf] {
    margin-bottom: 1.75rem;
}

.login-form-summary .eyebrow[b-ubcobvl1uf] {
    display: inline-block;
    margin-bottom: 1.1rem;
    color: #c2913d;
}

.login-form-summary .eyebrow[b-ubcobvl1uf]::after {
    content: "";
    display: block;
    width: 58px;
    height: 2px;
    margin-top: 0.9rem;
    background: linear-gradient(90deg, rgba(194, 145, 61, 0.95), rgba(194, 145, 61, 0.15));
}

.login-form-summary h1[b-ubcobvl1uf] {
    margin: 0 0 0.9rem;
    font-size: clamp(2.35rem, 4vw, 4rem);
    line-height: 0.95;
    letter-spacing: -0.04em;
}

.login-form-summary p[b-ubcobvl1uf] {
    margin: 0;
    max-width: 32rem;
    font-size: 1.05rem;
}

.login-input-shell[b-ubcobvl1uf] {
    position: relative;
}

.login-input-shell.is-filled .login-input-icon[b-ubcobvl1uf],
.login-input-shell:focus-within .login-input-icon[b-ubcobvl1uf] {
    opacity: 0;
    transform: translateY(-50%) scale(0.82);
}

.login-input-icon[b-ubcobvl1uf] {
    position: absolute;
    top: 50%;
    left: 1.15rem;
    transform: translateY(-50%);
    width: 1.4rem;
    height: 1.4rem;
    color: rgba(20, 57, 106, 0.34);
    pointer-events: none;
    transition: opacity 0.16s ease, transform 0.16s ease;
}

.login-input-icon svg[b-ubcobvl1uf] {
    display: block;
    width: 100%;
    height: 100%;
}

.login-form-control[b-ubcobvl1uf] {
    min-height: 72px;
    border-radius: 16px;
    border-color: rgba(201, 175, 129, 0.8);
    background: rgba(252, 248, 241, 0.8);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.login-form-control.with-leading-icon[b-ubcobvl1uf] {
    padding-left: 3.55rem;
}

.login-form-control.with-toggle[b-ubcobvl1uf] {
    padding-right: 4.25rem;
}

.login-form-control:focus[b-ubcobvl1uf] {
    border-color: rgba(27, 72, 134, 0.45);
    box-shadow: 0 0 0 4px rgba(34, 82, 146, 0.08);
}

.login-password-toggle[b-ubcobvl1uf] {
    right: 0.75rem;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.84);
}

.login-submit[b-ubcobvl1uf] {
    min-height: 72px;
    margin-top: 0.65rem;
    border-radius: 16px;
    font-size: 1.05rem;
    font-weight: 800;
    box-shadow: 0 16px 28px rgba(17, 48, 95, 0.24);
}

@keyframes loginBrandReveal-b-ubcobvl1uf {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes loginCardReveal-b-ubcobvl1uf {
    from {
        opacity: 0;
        transform: translateX(18px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@media (max-width: 980px) {
    .login-scene[b-ubcobvl1uf] {
        min-height: auto;
    }

    .login-stage[b-ubcobvl1uf] {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .login-brand-panel[b-ubcobvl1uf] {
        min-height: 340px;
    }

    .login-brand-backdrop[b-ubcobvl1uf] {
        clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%);
    }

    .login-brand-accent[b-ubcobvl1uf] {
        width: 180px;
    }
}

@media (max-width: 720px) {
    .login-scene[b-ubcobvl1uf] {
        align-items: start;
    }

    .login-stage[b-ubcobvl1uf] {
        gap: 0.85rem;
        padding: 1rem;
        border-radius: 22px;
    }

    .login-brand-panel[b-ubcobvl1uf] {
        min-height: auto;
        padding: 0.6rem 0.4rem 0.35rem;
        overflow: visible;
    }

    .login-brand-backdrop[b-ubcobvl1uf] {
        clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%);
        opacity: 0.55;
    }

    .login-brand-accent[b-ubcobvl1uf] {
        right: -2rem;
        bottom: -1rem;
        width: 120px;
        opacity: 0.16;
        filter: none;
    }

    .login-brand-content[b-ubcobvl1uf] {
        gap: 0.75rem;
        width: 100%;
        padding-top: 0;
    }

    .login-brand-shield[b-ubcobvl1uf] {
        width: 122px;
        border-radius: 18px;
        box-shadow: 0 14px 24px rgba(17, 48, 95, 0.16);
    }

    .login-brand-copy h2[b-ubcobvl1uf] {
        font-size: 2rem;
        line-height: 1;
        letter-spacing: 0.16em;
    }

    .login-brand-copy h3[b-ubcobvl1uf] {
        margin-top: 0.2rem;
        font-size: 0.98rem;
        letter-spacing: 0.18em;
    }

    .login-brand-divider[b-ubcobvl1uf] {
        gap: 0.55rem;
        margin-top: 0.65rem;
    }

    .login-brand-divider span[b-ubcobvl1uf] {
        width: 46px;
    }

    .login-brand-divider strong[b-ubcobvl1uf] {
        font-size: 1.15rem;
    }

    .login-brand-copy p[b-ubcobvl1uf] {
        margin-top: 0.1rem;
        letter-spacing: 0.1em;
        font-size: 0.66rem;
    }

    .login-form-card[b-ubcobvl1uf] {
        padding: 1.25rem;
        border-radius: 20px;
    }

    .login-form-summary[b-ubcobvl1uf] {
        margin-bottom: 1.1rem;
    }

    .login-form-summary .eyebrow[b-ubcobvl1uf] {
        margin-bottom: 0.75rem;
    }

    .login-form-summary .eyebrow[b-ubcobvl1uf]::after {
        margin-top: 0.6rem;
    }

    .login-form-summary h1[b-ubcobvl1uf] {
        font-size: 2.35rem;
        line-height: 1;
        letter-spacing: -0.03em;
    }

    .login-form-summary p[b-ubcobvl1uf] {
        font-size: 0.98rem;
    }

    .login-form-control[b-ubcobvl1uf],
    .login-submit[b-ubcobvl1uf] {
        min-height: 58px;
    }

    .login-form-control.with-leading-icon[b-ubcobvl1uf] {
        padding-left: 3.1rem;
    }

    .login-form-control.with-toggle[b-ubcobvl1uf] {
        padding-right: 3.85rem;
    }

    .login-input-icon[b-ubcobvl1uf] {
        left: 1rem;
        width: 1.25rem;
        height: 1.25rem;
    }

    .login-password-toggle[b-ubcobvl1uf] {
        right: 0.55rem;
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }
}

@media (max-width: 380px) {
    .login-stage[b-ubcobvl1uf] {
        padding: 0.75rem;
    }

    .login-brand-shield[b-ubcobvl1uf] {
        width: 104px;
    }

    .login-brand-copy h2[b-ubcobvl1uf] {
        font-size: 1.72rem;
    }

    .login-brand-copy h3[b-ubcobvl1uf] {
        font-size: 0.84rem;
    }

    .login-form-card[b-ubcobvl1uf] {
        padding: 1rem;
    }

    .login-form-summary h1[b-ubcobvl1uf] {
        font-size: 2.05rem;
    }
}
/* /Components/Pages/SolicitudesAdmin.razor.rz.scp.css */
.solicitudes-page[b-3hfyvido3v] {
    gap: var(--sp-4);
}

.solicitudes-page .share-card[b-3hfyvido3v] {
    display: grid;
    gap: var(--sp-3);
}

.solicitudes-page .share-link-row[b-3hfyvido3v] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: var(--sp-2);
    align-items: center;
}

.solicitudes-page .share-link-row .form-control[b-3hfyvido3v] {
    min-width: 0;
}

.solicitudes-page .share-message-box[b-3hfyvido3v] {
    padding: 0.85rem 0.95rem;
}

.solicitudes-page .stats-strip[b-3hfyvido3v] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.solicitudes-page .table-summary-line[b-3hfyvido3v] {
    margin-bottom: var(--sp-3);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.solicitudes-page .table-shell[b-3hfyvido3v] {
    overflow-x: auto;
}

.solicitudes-page .table-refined th[b-3hfyvido3v],
.solicitudes-page .table-refined td[b-3hfyvido3v] {
    white-space: nowrap;
}

.solicitudes-page .table-refined td:first-child[b-3hfyvido3v] {
    white-space: normal;
    min-width: 220px;
}

.solicitudes-detail-modal[b-3hfyvido3v] {
    width: min(1240px, 100%);
    max-height: calc(100vh - 20px);
    overflow-y: auto;
    padding: var(--sp-4);
    position: relative;
}

.solicitudes-detail-modal .detail-modal-header[b-3hfyvido3v] {
    position: sticky;
    top: 0;
    z-index: 3;
    padding: 0 3.25rem 0.85rem 0;
    margin-bottom: var(--sp-3);
    background: var(--bg-surface);
    border-bottom: 1px solid var(--border-light);
}

.solicitudes-detail-close[b-3hfyvido3v] {
    position: absolute;
    top: var(--sp-3);
    right: var(--sp-3);
    width: 2.2rem;
    height: 2.2rem;
    border: 1px solid var(--border-mid);
    border-radius: 999px;
    background: var(--bg-surface);
    color: var(--text-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: var(--shadow-sm);
}

.solicitudes-detail-close:hover[b-3hfyvido3v] {
    background: var(--bg-subtle);
    color: var(--text-primary);
}

.solicitudes-detail-modal .detail-grid[b-3hfyvido3v] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-3);
}

.solicitudes-detail-modal .detail-block[b-3hfyvido3v] {
    display: grid;
    gap: var(--sp-2);
}

.solicitudes-detail-modal .detail-block dl[b-3hfyvido3v] {
    margin: 0;
    display: grid;
    gap: var(--sp-2);
}

.solicitudes-detail-modal .detail-block dl > div[b-3hfyvido3v] {
    display: grid;
    gap: 2px;
}

.solicitudes-detail-modal .detail-notes[b-3hfyvido3v] {
    margin: 0;
}

.solicitudes-detail-modal .form-grid[b-3hfyvido3v] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-2);
}

.solicitudes-detail-modal .full-span[b-3hfyvido3v] {
    grid-column: 1 / -1;
}

.solicitudes-detail-modal .detail-modal-actions[b-3hfyvido3v] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-2);
    justify-content: flex-end;
    margin-top: var(--sp-3);
    padding-top: var(--sp-3);
    border-top: 1px solid var(--border-light);
}

.solicitudes-detail-modal .detail-block[b-3hfyvido3v] {
    padding: var(--sp-3);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    background: var(--bg-subtle);
}

.solicitudes-detail-modal .detail-notes[b-3hfyvido3v] {
    line-height: 1.6;
}

@media (max-width: 1100px) {
    .solicitudes-page .share-link-row[b-3hfyvido3v] {
        grid-template-columns: 1fr;
    }

    .solicitudes-page .share-link-row .btn[b-3hfyvido3v],
    .solicitudes-page .share-link-row .form-control[b-3hfyvido3v] {
        width: 100%;
    }

    .solicitudes-page .stats-strip[b-3hfyvido3v] {
        grid-template-columns: 1fr;
    }

    .solicitudes-detail-modal[b-3hfyvido3v] {
        width: min(100%, 100%);
        max-height: calc(100vh - 16px);
    }
}

@media (max-width: 760px) {
    .solicitudes-page .table-toolbar[b-3hfyvido3v] {
        align-items: stretch;
        flex-direction: column;
        margin-bottom: var(--sp-3);
    }

    .solicitudes-page .table-toolbar .btn[b-3hfyvido3v],
    .solicitudes-page .table-toolbar .form-control[b-3hfyvido3v],
    .solicitudes-page .table-toolbar .form-select[b-3hfyvido3v] {
        width: 100%;
    }

    .solicitudes-detail-modal[b-3hfyvido3v] {
        padding-top: var(--sp-3);
        border-radius: var(--r-lg);
    }

    .solicitudes-detail-modal .detail-modal-header[b-3hfyvido3v] {
        padding-right: 3rem;
    }

    .solicitudes-detail-modal .detail-grid[b-3hfyvido3v],
    .solicitudes-detail-modal .form-grid[b-3hfyvido3v] {
        grid-template-columns: 1fr;
    }

    .solicitudes-detail-modal .detail-modal-actions[b-3hfyvido3v] {
        justify-content: stretch;
    }

    .solicitudes-detail-modal .detail-modal-actions .btn[b-3hfyvido3v] {
        width: 100%;
    }

    .solicitudes-detail-close[b-3hfyvido3v] {
        top: var(--sp-2);
        right: var(--sp-2);
    }
}
/* /Components/Pages/SolicitudInscripcion.razor.rz.scp.css */
.file-picker[b-57m9jn57ub] {
    display: grid;
    gap: 0.45rem;
}

.solicitud-docs-intro[b-57m9jn57ub] {
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    background: var(--bg-subtle);
    color: var(--text-primary);
}

.solicitud-docs-intro span[b-57m9jn57ub],
.optional-label[b-57m9jn57ub] {
    color: var(--text-muted);
    font-weight: 500;
}

.optional-label[b-57m9jn57ub] {
    margin-left: 0.25rem;
    font-size: 0.82rem;
}

.file-input-native[b-57m9jn57ub] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 1px;
    height: 1px;
}

.file-input-trigger[b-57m9jn57ub] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    border: 1.5px dashed var(--border-input);
    border-radius: var(--r-sm);
    background: var(--bg-input);
    color: var(--text-primary);
    font-size: var(--text-sm);
    font-weight: 700;
    cursor: pointer;
    transition: border-color var(--t-fast), background var(--t-fast), color var(--t-fast);
}

.file-input-trigger:hover[b-57m9jn57ub] {
    border-color: var(--border-mid);
    background: var(--bg-surface);
}
