/* _content/PencaDelSani/Components/Account/Pages/Login.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   LOGIN PAGE  —  La Penca del Sani  (scoped CSS)
   ═══════════════════════════════════════════════════════════════ */

/* ── Wrapper: centra la tarjeta verticalmente ────────────────── */
.lp-page[b-bm4h4cjbc7] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - var(--mud-appbar-height, 64px) - 2rem);
    padding: 1.5rem 1rem 3rem;
}

/* ── Contenedor de la tarjeta ────────────────────────────────── */
.lp-card-wrap[b-bm4h4cjbc7] {
    width: 100%;
    max-width: 420px;
}

/* ── Tarjeta principal ───────────────────────────────────────── */
.lp-card[b-bm4h4cjbc7] {
    border-radius: 20px !important;
    overflow: hidden;
}

/* ── Cabecera con degradado azul ─────────────────────────────── */
.lp-header[b-bm4h4cjbc7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2.25rem 2rem 1.75rem;
    background: linear-gradient(155deg,
        var(--mud-palette-primary, #045097) 0%,
        #0a6bc5 100%);
}

.lp-logo[b-bm4h4cjbc7] {
    width: 84px;
    height: 84px;
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, .3);
    box-shadow: 0 6px 24px rgba(0, 0, 0, .22);
}

.lp-title[b-bm4h4cjbc7] {
    color: #ffffff !important;
}

.lp-subtitle[b-bm4h4cjbc7] {
    color: rgba(255, 255, 255, .78) !important;
}

/* ── Cuerpo de la tarjeta ────────────────────────────────────── */
.lp-body[b-bm4h4cjbc7] {
    padding: 1.75rem 2rem 2rem;
}

@media (max-width: 480px) {
    .lp-body[b-bm4h4cjbc7] { padding: 1.5rem 1.25rem 1.75rem; }
}

/* ── Botón Google ────────────────────────────────────────────── */
.lp-google-form[b-bm4h4cjbc7] { margin-bottom: 0; }

.lp-btn-google[b-bm4h4cjbc7] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 13px 20px;
    background-color: #ffffff;
    color: #3c4043;
    border: 1.5px solid #dadce0;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    cursor: pointer;
    transition: background-color .15s, border-color .15s, box-shadow .2s;
}

.lp-btn-google:hover[b-bm4h4cjbc7] {
    background-color: #f8f9fa;
    border-color: #bdc1c6;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .10);
}

.lp-btn-google:active[b-bm4h4cjbc7] { background-color: #f1f3f4; }

.lp-google-icon[b-bm4h4cjbc7] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.lp-btn-google-text[b-bm4h4cjbc7] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.2;
}

.lp-domain[b-bm4h4cjbc7] {
    font-size: 0.7rem;
    font-weight: 400;
    color: #80868b;
}

/* ── Separador con texto centrado ────────────────────────────── */
.lp-divider[b-bm4h4cjbc7] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 1.5rem 0 1.25rem;
    color: var(--mud-palette-text-secondary, #a0aec0);
    font-size: 0.75rem;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    letter-spacing: .3px;
}

.lp-divider[b-bm4h4cjbc7]::before,
.lp-divider[b-bm4h4cjbc7]::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: var(--mud-palette-divider, #e2e8f0);
}

/* ── Alerta de error ─────────────────────────────────────────── */
.lp-alert[b-bm4h4cjbc7] {
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 0.85rem;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.lp-alert-error[b-bm4h4cjbc7] {
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    color: #c62828;
}

/* ── Campos del formulario ───────────────────────────────────── */
.lp-field[b-bm4h4cjbc7] {
    margin-bottom: 1rem;
}

/* ── Campo outlined con floating label (CSS-only) ────────────── */
/*
 * Replica visual exacto de MudTextField Variant="Outlined".
 * Se usa InputText (compatible con SSR form binding) en lugar
 * de MudTextField porque UserAttributes en MudTextField aplica
 * al wrapper <div>, no al <input> subyacente, lo que rompe el
 * name binding necesario para [SupplyParameterFromForm].
 */
.lp-outlined-field[b-bm4h4cjbc7] {
    position: relative;
}

.lp-outlined-input[b-bm4h4cjbc7] {
    display: block;
    width: 100%;
    padding: 16px 14px 10px;
    font-size: 1rem;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    color: var(--mud-palette-text-primary, #2d3748);
    background-color: transparent;
    border: 1.5px solid #c4c4c4;
    border-radius: 8px;
    outline: none;
    box-sizing: border-box;
    transition: border-color .2s;
    line-height: 1.4;
}

.lp-outlined-input:hover[b-bm4h4cjbc7] { border-color: rgba(0, 0, 0, .6); }

.lp-outlined-input:focus[b-bm4h4cjbc7] {
    border-color: var(--mud-palette-primary, #045097);
    border-width: 2px;
    /* Compensar 1px de borde extra para evitar salto de layout */
    padding: 16px 13px 10px;
}

/* Floating label */
.lp-outlined-label[b-bm4h4cjbc7] {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    color: rgba(0, 0, 0, .54);
    pointer-events: none;
    background-color: #ffffff;
    padding: 0 4px;
    transition: top .15s ease, font-size .15s ease, color .15s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 28px);
}

/* Flota cuando tiene foco o valor (:placeholder-shown = truco CSS-only) */
.lp-outlined-input:focus ~ .lp-outlined-label[b-bm4h4cjbc7],
.lp-outlined-input:not(:placeholder-shown) ~ .lp-outlined-label[b-bm4h4cjbc7] {
    top: 0;
    font-size: 0.72rem;
    color: var(--mud-palette-primary, #045097);
    max-width: none;
}

/* ── Mensaje de error de validación ──────────────────────────── */
.lp-field-error[b-bm4h4cjbc7] {
    display: block;
    font-size: 0.76rem;
    color: var(--mud-palette-error, #c62828);
    margin-top: 4px;
    padding-left: 14px;
    font-family: Roboto, Helvetica, Arial, sans-serif;
}

/* ── Recordarme ──────────────────────────────────────────────── */
.lp-remember[b-bm4h4cjbc7] {
    margin: 0.25rem 0 1.25rem;
}

.lp-remember-label[b-bm4h4cjbc7] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary, #4a5568);
    font-family: Roboto, Helvetica, Arial, sans-serif;
    cursor: pointer;
    user-select: none;
}

.lp-checkbox[b-bm4h4cjbc7] {
    width: 16px;
    height: 16px;
    accent-color: var(--mud-palette-primary, #045097);
    cursor: pointer;
    flex-shrink: 0;
}

/* ── Botón principal ─────────────────────────────────────────── */
.lp-btn-primary[b-bm4h4cjbc7] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 14px;
    background-color: var(--mud-palette-primary, #045097);
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 700;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    letter-spacing: .3px;
    cursor: pointer;
    transition: background-color .2s, box-shadow .2s, transform .1s;
}

.lp-btn-primary:hover[b-bm4h4cjbc7] {
    background-color: var(--mud-palette-primary-darken, #023570);
    box-shadow: 0 5px 18px rgba(4, 80, 151, .30);
}

.lp-btn-primary:active[b-bm4h4cjbc7] { transform: scale(.98); }

/* ── Link ¿Olvidaste tu contraseña? ─────────────────────────── */
.lp-links[b-bm4h4cjbc7] {
    text-align: center;
    margin-top: 1rem;
}

.lp-link[b-bm4h4cjbc7] {
    font-size: 0.85rem;
    color: var(--mud-palette-primary, #045097);
    text-decoration: none;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    transition: color .15s;
}

.lp-link:hover[b-bm4h4cjbc7] {
    color: var(--mud-palette-primary-darken, #023570);
    text-decoration: underline;
}
/* _content/PencaDelSani/Components/Account/Pages/MagicLinkLogin.razor.rz.scp.css */
.mll-page[b-oqjroa6rm1] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - var(--mud-appbar-height, 64px) - 3rem);
    padding: 1.5rem 1rem 3rem;
}

.mll-wrap[b-oqjroa6rm1] {
    width: 100%;
    max-width: 420px;
}

.mll-card[b-oqjroa6rm1] {
    border-radius: 20px !important;
    overflow: hidden;
}

.mll-header[b-oqjroa6rm1] {
    display: flex;
    justify-content: center;
    padding: 2.5rem 2rem 1.5rem;
}

.mll-header-error[b-oqjroa6rm1] {
    background: linear-gradient(160deg, #fff5f5 0%, #ffe8e8 100%);
}

.mll-icon-wrap[b-oqjroa6rm1] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: rgba(198, 40, 40, .08);
    display: flex;
    align-items: center;
    justify-content: center;
}

.mll-body[b-oqjroa6rm1] {
    padding: 1.75rem 2rem 2.25rem;
    text-align: center;
}

.mll-back-btn[b-oqjroa6rm1] {
    display: block;
    width: 100%;
    padding: 13px;
    background-color: var(--mud-palette-primary, #045097);
    color: #ffffff;
    text-decoration: none;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 600;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    text-align: center;
    transition: background-color .2s ease, box-shadow .2s ease;
}

.mll-back-btn:hover[b-oqjroa6rm1] {
    background-color: var(--mud-palette-primary-darken, #023570);
    box-shadow: 0 6px 20px rgba(4, 80, 151, .28);
    color: #ffffff;
    text-decoration: none;
}
/* _content/PencaDelSani/Components/Account/Pages/MagicLinkSent.razor.rz.scp.css */
.mls-page[b-axz0bmgblb] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - var(--mud-appbar-height, 64px) - 3rem);
    padding: 1.5rem 1rem 3rem;
}

.mls-wrap[b-axz0bmgblb] {
    width: 100%;
    max-width: 420px;
}

.mls-card[b-axz0bmgblb] {
    border-radius: 20px !important;
    overflow: hidden;
}

.mls-header[b-axz0bmgblb] {
    display: flex;
    justify-content: center;
    padding: 2.5rem 2rem 1.5rem;
    background: linear-gradient(160deg, #f0f7ff 0%, #e8f2ff 100%);
}

.mls-icon-wrap[b-axz0bmgblb] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: rgba(4, 80, 151, .08);
    display: flex;
    align-items: center;
    justify-content: center;
}

.mls-body[b-axz0bmgblb] {
    padding: 1.75rem 2rem 2.25rem;
    text-align: center;
}

.mls-back-btn[b-axz0bmgblb] {
    display: block;
    width: 100%;
    padding: 13px;
    background-color: var(--mud-palette-primary, #045097);
    color: #ffffff;
    text-decoration: none;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 600;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    text-align: center;
    transition: background-color .2s ease, box-shadow .2s ease;
}

.mls-back-btn:hover[b-axz0bmgblb] {
    background-color: var(--mud-palette-primary-darken, #023570);
    box-shadow: 0 6px 20px rgba(4, 80, 151, .28);
    color: #ffffff;
    text-decoration: none;
}

[b-axz0bmgblb] .alert {
    border-radius: 8px !important;
    font-size: 0.875rem !important;
    font-family: Roboto, Helvetica, Arial, sans-serif !important;
    margin-bottom: 1.25rem !important;
    padding: 12px 16px !important;
    text-align: left;
}

[b-axz0bmgblb] .alert-success {
    background-color: #f0fdf4 !important;
    border-color: #bbf7d0 !important;
    color: #166534 !important;
}
/* _content/PencaDelSani/Components/Layout/MainLayout.razor.rz.scp.css */
/* MudBlazor gestiona los estilos del layout.
   Solo se mantienen overrides mínimos globales aquí. */

#blazor-error-ui[b-h3cba541y6] {
    background: #fff3cd;
    border-top: 1px solid #ffc107;
    bottom: 0;
    box-shadow: 0 -2px 6px rgba(0,0,0,.15);
    display: none;
    left: 0;
    padding: .6rem 1.25rem .7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 9999;
    font-family: Roboto, sans-serif;
    font-size: .875rem;
}

#blazor-error-ui .dismiss[b-h3cba541y6] {
    cursor: pointer;
    position: absolute;
    right: .75rem;
    top: .5rem;
    font-size: 1.1rem;
}
/* _content/PencaDelSani/Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-avs9p1ezs9] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-avs9p1ezs9] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-avs9p1ezs9] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-avs9p1ezs9] {
    font-size: 1.1rem;
}

.bi[b-avs9p1ezs9] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-avs9p1ezs9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-avs9p1ezs9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-avs9p1ezs9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-lock-nav-menu[b-avs9p1ezs9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-avs9p1ezs9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-avs9p1ezs9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-avs9p1ezs9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-avs9p1ezs9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

.nav-item[b-avs9p1ezs9] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-avs9p1ezs9] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-avs9p1ezs9] {
        padding-bottom: 1rem;
    }

    .nav-item[b-avs9p1ezs9]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-avs9p1ezs9]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-avs9p1ezs9]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-avs9p1ezs9] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-avs9p1ezs9] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-avs9p1ezs9] {
        display: none;
    }

    .nav-scrollable[b-avs9p1ezs9] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* _content/PencaDelSani/Components/Pages/Admin/AdminDashboard.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════
   AdminDashboard — estilos con scope
   ══════════════════════════════════════════════════════════ */

/* Encabezado */
.admin-header[b-0k1zidyvh3] {
    padding-bottom: 4px;
}

/* Tarjetas de estadísticas */
.admin-stat-card[b-0k1zidyvh3] {
    border-radius: 12px !important;
    overflow: hidden;
    transition: box-shadow .2s ease, transform .15s ease;
    height: 100%;
}

.admin-stat-card:hover[b-0k1zidyvh3] {
    box-shadow: 0 6px 20px rgba(0,0,0,.10) !important;
    transform: translateY(-2px);
}

/* Barra de color izquierda de cada tarjeta */
.admin-stat-card__accent[b-0k1zidyvh3] {
    height: 4px;
    width: 100%;
}

.admin-stat-card__value[b-0k1zidyvh3] {
    color: #2d3748;
    line-height: 1 !important;
}

.admin-stat-card__label[b-0k1zidyvh3] {
    color: #4a5568 !important;
    font-weight: 600 !important;
}

.admin-stat-card__caption[b-0k1zidyvh3] {
    color: #a0aec0 !important;
    font-size: .75rem !important;
    display: block;
    line-height: 1.4;
}

/* Filas de partidos en el widget de próximos partidos */
.admin-match-row[b-0k1zidyvh3] {
    border-radius: 8px !important;
    border-color: #e2e8f0 !important;
    background-color: #fafbfc;
    transition: background-color .15s;
}

.admin-match-row:hover[b-0k1zidyvh3] {
    background-color: #f0f4f8;
}

/* Banner de estado del motor de sincronización */
.admin-sync-banner[b-0k1zidyvh3] {
    border-radius: 12px !important;
}

.admin-sync-banner .mud-alert-message[b-0k1zidyvh3] {
    width: 100%;
}

/* Tabla de últimos resultados */
[b-0k1zidyvh3] .admin-results-table .mud-table-head th {
    font-size: .72rem !important;
    font-weight: 700 !important;
    color: #718096 !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 6px 10px !important;
}

[b-0k1zidyvh3] .admin-results-table .mud-table-body td {
    padding: 6px 10px !important;
}

/* Entrada de ranking Top 5 */
.admin-top-entry[b-0k1zidyvh3] {
    padding: 2px 0;
}

/* Timeline: quitar el padding extra que agrega MudBlazor */
[b-0k1zidyvh3] .mud-timeline-item-content {
    padding-top: 4px !important;
    padding-bottom: 12px !important;
}
/* _content/PencaDelSani/Components/Pages/Admin/Familias.razor.rz.scp.css */
[b-lt38zqha2z] .families-search {
    min-width: 200px;
    max-width: 280px;
}

@media (max-width: 600px) {
    [b-lt38zqha2z] .families-search {
        min-width: 100%;
        max-width: 100%;
    }
}
/* _content/PencaDelSani/Components/Pages/RegistroPadre.razor.rz.scp.css */
.rp-page[b-2xn8phyxbl] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4f6f8;
    padding: 24px 16px;
}

.rp-card-wrap[b-2xn8phyxbl] {
    width: 100%;
    max-width: 460px;
}

.rp-card[b-2xn8phyxbl] {
    border-radius: 12px !important;
    overflow: hidden;
}

.rp-header[b-2xn8phyxbl] {
    background: #045097;
    padding: 32px 40px 28px;
    text-align: center;
}

.rp-logo[b-2xn8phyxbl] {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    object-fit: contain;
}

.rp-body[b-2xn8phyxbl] {
    padding: 32px 32px 28px;
}
/* _content/PencaDelSani/Components/Shared/MatchCard.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   MatchCard — estilos con scope (::deep para llegar a MudBlazor)
   ══════════════════════════════════════════════════════════════ */

.match-card[b-fnndv05le7] {
    border-radius: 12px !important;
    overflow: hidden;
    transition: box-shadow .2s ease;
}

.match-card:hover[b-fnndv05le7] {
    box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
}

/* Header */
.match-card__header[b-fnndv05le7] {
    background-color: #f8fafc;
}

.match-card__group[b-fnndv05le7] {
    color: #718096;
    font-weight: 600;
    letter-spacing: .4px;
    text-transform: uppercase;
    font-size: .7rem !important;
}

/* Fecha */
.match-card__date[b-fnndv05le7] {
    color: #718096;
    font-size: .8rem !important;
    font-weight: 500;
    text-transform: capitalize;
    display: block;
}

/* Equipos */
.match-card__teams[b-fnndv05le7] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
}

.match-card__team[b-fnndv05le7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.match-card__team:first-child[b-fnndv05le7] {
    align-items: flex-end;
}

.match-card__team:last-child[b-fnndv05le7] {
    align-items: flex-start;
}

.match-card__team-avatar[b-fnndv05le7] {
    width: 52px !important;
    height: 52px !important;
    font-size: .85rem !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
}

.match-card__team-name[b-fnndv05le7] {
    font-size: .78rem !important;
    font-weight: 600 !important;
    color: #2d3748;
    max-width: 90px;
    line-height: 1.2;
}

/* VS / Marcador */
.match-card__vs-section[b-fnndv05le7] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
}

.match-card__vs-text[b-fnndv05le7] {
    color: #a0aec0 !important;
    font-weight: 700 !important;
    letter-spacing: 2px;
}

.match-card__score[b-fnndv05le7] {
    color: #2d3748 !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap;
}

.match-card__score-sep[b-fnndv05le7] {
    color: #a0aec0;
    margin: 0 4px;
}

/* Inputs de pronóstico */
.match-card__inputs[b-fnndv05le7] {
    padding-top: 8px;
    border-top: 1px dashed #e2e8f0;
}

[b-fnndv05le7] .match-card__score-input {
    width: 86px;
}

[b-fnndv05le7] .match-card__score-input .mud-input-root {
    text-align: center;
    font-weight: 700;
    font-size: 1.1rem;
}

.match-card__input-sep[b-fnndv05le7] {
    color: #a0aec0 !important;
    margin-top: 8px;
}

.match-card__save-row[b-fnndv05le7] {
    display: flex;
    justify-content: center;
}

/* Estado bloqueado */
.match-card__locked-text[b-fnndv05le7] {
    color: #f0a500;
    font-weight: 600;
}

/* Pronóstico guardado / resultado */
.match-card__result-section[b-fnndv05le7] {
    padding-top: 8px;
    border-top: 1px dashed #e2e8f0;
}

.match-card__prediction-label[b-fnndv05le7] {
    color: #718096;
}

.match-card__no-prediction[b-fnndv05le7] {
    color: #a0aec0 !important;
    font-style: italic;
}

/* Badge "En Juego" animado */
[b-fnndv05le7] .match-card__live-badge .mud-badge-dot {
    animation: pulse-dot-b-fnndv05le7 1.5s infinite;
}

@keyframes pulse-dot-b-fnndv05le7 {
    0%, 100% { opacity: 1;   transform: scale(1); }
    50%       { opacity: .5; transform: scale(1.4); }
}

/* ── Feedback visual post-guardado ──────────────────────────────────────── */

/* Breve destello verde en el borde de la card al guardar */
.match-card--saved[b-fnndv05le7] {
    box-shadow: 0 0 0 2px var(--mud-palette-success) !important;
    transition: box-shadow .3s ease;
}

/* Animación de entrada para el chip de "¡Pronóstico guardado!" */
@keyframes pop-in-b-fnndv05le7 {
    0%   { transform: scale(.7); opacity: 0; }
    70%  { transform: scale(1.1); }
    100% { transform: scale(1);  opacity: 1; }
}

.match-card__inputs[b-fnndv05le7] {
    animation: none;
}

/* Chip de resultado guardado con tamaño generoso */
[b-fnndv05le7] .match-card__inputs .mud-chip.mud-chip-size-large {
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    letter-spacing: 3px;
    padding: 8px 20px !important;
    animation: pop-in-b-fnndv05le7 .3s ease;
}
/* _content/PencaDelSani/Components/Shared/PwaInstallPrompt.razor.rz.scp.css */
/* Banner fijo en la parte inferior de la pantalla */
.pwa-banner[b-5rqib5v4gk] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background-color: #045097;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    padding-right: 2.75rem; /* espacio para el botón X */
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.25);
    border-top: 3px solid #f0a500;
    /* Animación de entrada */
    animation: slide-up-b-5rqib5v4gk 0.35s cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes slide-up-b-5rqib5v4gk {
    from { transform: translateY(100%); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

/* Botón cerrar posicionado en la esquina superior-derecha del banner */
.pwa-banner__close[b-5rqib5v4gk] {
    position: absolute !important;
    top: 0.35rem;
    right: 0.35rem;
    color: rgba(255, 255, 255, 0.8) !important;
    flex-shrink: 0;
}

.pwa-banner__close:hover[b-5rqib5v4gk] {
    color: #ffffff !important;
}

/* Ajuste para dispositivos muy pequeños */
@media (max-width: 380px) {
    .pwa-banner[b-5rqib5v4gk] {
        padding-bottom: 1rem;
        flex-wrap: wrap;
    }
}
