/* /Components/Common/DataGrid/BarcinoDataGrid.razor.rz.scp.css */
.barcino-data-grid-shell[b-prhlnchidf] {
    position: relative;
}

.barcino-data-grid-overlay[b-prhlnchidf] {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(242, 237, 227, 0.62);
    backdrop-filter: blur(1px);
}
/* /Components/Common/Skeleton/GridSkeleton.razor.rz.scp.css */
.grid-skeleton__header[b-nb4e0rq0dr],
.grid-skeleton__row[b-nb4e0rq0dr] {
    display: grid;
    grid-template-columns: minmax(60px, 0.7fr) minmax(180px, 2fr) minmax(120px, 1fr);
    gap: 1rem;
    align-items: center;
}

.grid-skeleton__row[b-nb4e0rq0dr] {
    padding: 0.35rem 0;
}

@media (max-width: 768px) {
    .grid-skeleton__header[b-nb4e0rq0dr],
    .grid-skeleton__row[b-nb4e0rq0dr] {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-38m2uighbe],
.components-reconnect-repeated-attempt-visible[b-38m2uighbe],
.components-reconnect-failed-visible[b-38m2uighbe],
.components-pause-visible[b-38m2uighbe],
.components-resume-failed-visible[b-38m2uighbe],
.components-rejoining-animation[b-38m2uighbe] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-38m2uighbe],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-38m2uighbe],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-38m2uighbe],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-38m2uighbe],
#components-reconnect-modal.components-reconnect-retrying[b-38m2uighbe],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-38m2uighbe],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-38m2uighbe],
#components-reconnect-modal.components-reconnect-failed[b-38m2uighbe],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-38m2uighbe] {
    display: block;
}


#components-reconnect-modal[b-38m2uighbe] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-38m2uighbe 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-38m2uighbe 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-38m2uighbe 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-38m2uighbe]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-38m2uighbe 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-38m2uighbe {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-38m2uighbe {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-38m2uighbe {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-38m2uighbe] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-38m2uighbe] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-38m2uighbe] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-38m2uighbe] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-38m2uighbe] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-38m2uighbe] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-38m2uighbe] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-38m2uighbe 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-38m2uighbe] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-38m2uighbe {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/App/Auditoria.razor.rz.scp.css */
/* ════════════════════════════════════════════════════════
   AUDITORÍA — editorial redesign (Barcino design system)
   Scoped styles. Dark variants target the ancestor .rz-material-dark.
   ════════════════════════════════════════════════════════ */

.aud-page[b-pwbzn6akiz] {
    display: flex;
    flex-direction: column;
    gap: 1.375rem;
}

/* ── Buttons ── */
.aud-export-form[b-pwbzn6akiz] { margin: 0; }

.aud-btn[b-pwbzn6akiz] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 40px;
    padding: 0 16px;
    border-radius: 6px;
    font-family: inherit;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    cursor: pointer;
    border: 1px solid transparent;
    white-space: nowrap;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.aud-btn svg[b-pwbzn6akiz] { flex-shrink: 0; }

.aud-btn-primary[b-pwbzn6akiz] {
    background: var(--bc-grana);
    color: #fff;
    border-color: var(--bc-grana);
}

.aud-btn-primary:hover[b-pwbzn6akiz] {
    background: var(--bc-grana-deep);
    border-color: var(--bc-grana-deep);
}

.aud-btn-ghost[b-pwbzn6akiz] {
    background: transparent;
    color: var(--rz-text-color);
    border-color: var(--bc-border-color, rgba(10, 14, 31, 0.15));
}

.aud-btn-ghost:hover[b-pwbzn6akiz] { background: var(--rz-base-background-color, #fff); }

.aud-icon-btn[b-pwbzn6akiz] {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: transparent;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.12));
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
}

.aud-icon-btn:hover[b-pwbzn6akiz] {
    color: var(--rz-text-color);
    background: var(--rz-base-background-color, #fff);
}

/* ── KPIs ── */
.aud-kpis[b-pwbzn6akiz] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.875rem;
}

.aud-kpi[b-pwbzn6akiz] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    padding: 1rem 1.125rem;
    box-shadow: var(--rz-card-shadow, none);
}

.aud-kpi-label[b-pwbzn6akiz] {
    font-family: "Inter", sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin-bottom: 0.625rem;
}

.aud-kpi-value[b-pwbzn6akiz] {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 500;
    font-size: 1.875rem;
    line-height: 1;
    color: var(--rz-text-color);
}

.aud-kpi-value--success[b-pwbzn6akiz] { color: var(--dp-success, #2e8047); }
.aud-kpi-value--grana[b-pwbzn6akiz]   { color: var(--bc-grana); }
.aud-kpi-value--info[b-pwbzn6akiz]    { color: var(--dp-info, #3a5fb0); }

/* ── Card shell ── */
.aud-card[b-pwbzn6akiz] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    box-shadow: var(--rz-card-shadow, none);
    overflow: hidden;
}

/* ── Filtros ── */
.aud-filters[b-pwbzn6akiz] { padding: 1.375rem; }

.aud-filters-title[b-pwbzn6akiz] {
    font-family: "Inter", sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin-bottom: 0.875rem;
}

.aud-filters-grid[b-pwbzn6akiz] {
    display: grid;
    grid-template-columns: 1fr 1fr 1.4fr auto auto;
    gap: 0.875rem;
    align-items: end;
}

.aud-field[b-pwbzn6akiz] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.aud-label[b-pwbzn6akiz] {
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

/* ── Table ── */
.aud-thead[b-pwbzn6akiz],
.aud-row[b-pwbzn6akiz] {
    display: grid;
    grid-template-columns: 110px 180px 1fr 120px 1.5fr;
    gap: 1rem;
    align-items: center;
}

.aud-thead[b-pwbzn6akiz] {
    padding: 0.8125rem 1.5rem;
    background: var(--rz-grid-header-background-color, #faf6ed);
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.aud-th[b-pwbzn6akiz] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.59rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.aud-row[b-pwbzn6akiz] {
    padding: 0.8125rem 1.5rem;
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

/* ── Date group header ── */
.aud-group-head[b-pwbzn6akiz] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0.5625rem 1.5rem;
    background: var(--rz-grid-header-background-color, #faf6ed);
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.aud-group-date[b-pwbzn6akiz] {
    font-family: "Inter", sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    white-space: nowrap;
}

.aud-group-line[b-pwbzn6akiz] {
    flex: 1;
    height: 1px;
    background: var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.aud-group-count[b-pwbzn6akiz] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    white-space: nowrap;
}

/* ── Cells ── */
.aud-time[b-pwbzn6akiz] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--rz-text-color);
}

.aud-user[b-pwbzn6akiz] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.78rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.aud-user--anon[b-pwbzn6akiz] {
    font-style: italic;
    opacity: 0.7;
}

.aud-ip[b-pwbzn6akiz] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.78rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.aud-details[b-pwbzn6akiz] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.72rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background: var(--rz-grid-header-background-color, #faf6ed);
    padding: 4px 8px;
    border-radius: 4px;
    min-width: 0;
}

.aud-details--empty[b-pwbzn6akiz] {
    background: transparent;
    padding: 0;
    opacity: 0.6;
}

/* ── Action badges ── */
.aud-badge[b-pwbzn6akiz] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    border-radius: 999px;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.aud-badge svg[b-pwbzn6akiz] { flex-shrink: 0; }

.aud-badge--success[b-pwbzn6akiz] { background: rgba(46, 128, 71, 0.1);  color: var(--dp-success, #2e8047); }
.aud-badge--info[b-pwbzn6akiz]    { background: var(--dp-nocturno-bg, rgba(58, 95, 176, 0.1)); color: var(--dp-info, #3a5fb0); }
.aud-badge--warn[b-pwbzn6akiz]    { background: var(--dp-warn-bg, rgba(168, 117, 16, 0.1)); color: var(--dp-warn, #a87510); }
.aud-badge--grana[b-pwbzn6akiz]   { background: rgba(192, 54, 77, 0.1);  color: var(--bc-grana); }
.aud-badge--soft[b-pwbzn6akiz]    { background: rgba(10, 14, 31, 0.05);  color: var(--bc-text-soft, rgba(10, 14, 31, 0.65)); }

/* ── Empty state ── */
.aud-empty[b-pwbzn6akiz] {
    padding: 2.5rem 1.5rem;
    text-align: center;
    font-size: 0.875rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

/* ── Pager ── */
.aud-pager[b-pwbzn6akiz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.875rem 1.5rem;
    background: var(--rz-grid-header-background-color, #faf6ed);
    border-top: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.aud-pager-info[b-pwbzn6akiz] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.aud-pager-controls[b-pwbzn6akiz] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.aud-pager-btn[b-pwbzn6akiz],
.aud-pager-num[b-pwbzn6akiz] {
    min-width: 28px;
    height: 28px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    background: transparent;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    line-height: 0;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.aud-pager-btn:hover:not(:disabled)[b-pwbzn6akiz],
.aud-pager-num:hover[b-pwbzn6akiz] { background: var(--rz-base-background-color, #fff); color: var(--rz-text-color); }

.aud-pager-btn:disabled[b-pwbzn6akiz] { opacity: 0.4; cursor: default; }

.aud-pager-num--active[b-pwbzn6akiz],
.aud-pager-num--active:hover[b-pwbzn6akiz] {
    background: var(--bc-grana);
    color: #fff;
    border-color: var(--bc-grana);
}

/* ════════════════════════════════════════════════════════
   DARK THEME OVERRIDES
   ════════════════════════════════════════════════════════ */
.rz-material-dark .aud-kpi[b-pwbzn6akiz],
.rz-material-dark .aud-card[b-pwbzn6akiz] {
    background: var(--bc-navy);
}

.rz-material-dark .aud-thead[b-pwbzn6akiz],
.rz-material-dark .aud-group-head[b-pwbzn6akiz],
.rz-material-dark .aud-details[b-pwbzn6akiz],
.rz-material-dark .aud-pager[b-pwbzn6akiz] {
    background: var(--bc-navy-deep);
}

.rz-material-dark .aud-details--empty[b-pwbzn6akiz] { background: transparent; }

.rz-material-dark .aud-btn-ghost[b-pwbzn6akiz],
.rz-material-dark .aud-icon-btn[b-pwbzn6akiz],
.rz-material-dark .aud-pager-btn[b-pwbzn6akiz],
.rz-material-dark .aud-pager-num[b-pwbzn6akiz] {
    border-color: rgba(243, 238, 229, 0.14);
}

.rz-material-dark .aud-btn-ghost:hover[b-pwbzn6akiz],
.rz-material-dark .aud-icon-btn:hover[b-pwbzn6akiz],
.rz-material-dark .aud-pager-btn:hover:not(:disabled)[b-pwbzn6akiz],
.rz-material-dark .aud-pager-num:hover[b-pwbzn6akiz] {
    background: var(--bc-navy-soft);
}

.rz-material-dark .aud-kpi-value--grana[b-pwbzn6akiz],
.rz-material-dark .aud-badge--grana[b-pwbzn6akiz] { color: var(--bc-grana-soft); }

.rz-material-dark .aud-badge--success[b-pwbzn6akiz] { background: rgba(90, 180, 112, 0.15); }
.rz-material-dark .aud-badge--soft[b-pwbzn6akiz]    { background: rgba(243, 238, 229, 0.08); }

/* ════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
    .aud-kpis[b-pwbzn6akiz] { grid-template-columns: repeat(2, 1fr); }

    .aud-filters-grid[b-pwbzn6akiz] {
        grid-template-columns: 1fr 1fr;
    }

    .aud-filters-grid .aud-field:nth-child(3)[b-pwbzn6akiz] { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    .aud-thead[b-pwbzn6akiz] { display: none; }

    .aud-row[b-pwbzn6akiz] {
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem 1rem;
    }

    .aud-details[b-pwbzn6akiz] { grid-column: 1 / -1; white-space: normal; }

    .aud-filters-grid[b-pwbzn6akiz] { grid-template-columns: 1fr; }
}
/* /Components/Pages/App/MiCuenta.razor.rz.scp.css */
/* ════════════════════════════════════════════════════════
   MI CUENTA — editorial redesign (Barcino design system)
   Scoped styles. Dark variants target the ancestor .rz-material-dark.
   ════════════════════════════════════════════════════════ */

.acc-page[b-27erhgls8u] {
    display: flex;
    flex-direction: column;
    gap: 1.375rem;
}

.acc-grid[b-27erhgls8u] {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 1.375rem;
    align-items: start;
}

/* ── Profile column ── */
.acc-profile[b-27erhgls8u] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    box-shadow: var(--rz-card-shadow, none);
    padding: 1.75rem 1.5rem;
    text-align: center;
    position: sticky;
    top: 1rem;
}

.acc-avatar[b-27erhgls8u] {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Fraunces", Georgia, serif;
    font-style: italic;
    font-weight: 700;
    font-size: 2.25rem;
    margin: 0 auto 1rem;
}

.acc-profile-name[b-27erhgls8u] {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.15;
    color: var(--rz-text-color);
}

.acc-profile-email[b-27erhgls8u] {
    font-size: 0.78rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin-top: 4px;
    word-break: break-all;
}

.acc-profile-badge-row[b-27erhgls8u] {
    margin-top: 0.875rem;
    display: flex;
    justify-content: center;
}

.acc-role-badge[b-27erhgls8u] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px;
    border-radius: 999px;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.65625rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    white-space: nowrap;
}

.acc-role-badge--admin[b-27erhgls8u]    { background: rgba(192, 54, 77, 0.1); color: var(--bc-grana); }
.acc-role-badge--empleado[b-27erhgls8u] { background: var(--dp-nocturno-bg, rgba(58, 95, 176, 0.1)); color: var(--dp-info, #3a5fb0); }
.acc-role-badge--usuario[b-27erhgls8u]  { background: rgba(10, 14, 31, 0.05); color: var(--bc-text-soft, rgba(10, 14, 31, 0.65)); }

.acc-profile-stats[b-27erhgls8u] {
    margin-top: 1.375rem;
    padding-top: 1.125rem;
    border-top: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.875rem;
}

.acc-stat-value[b-27erhgls8u] {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--rz-text-color);
}

.acc-stat-label[b-27erhgls8u] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.5625rem;
    letter-spacing: 0.1em;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin-top: 4px;
}

/* ── Settings column ── */
.acc-settings[b-27erhgls8u] {
    display: grid;
    gap: 1.125rem;
}

.acc-card[b-27erhgls8u] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    box-shadow: var(--rz-card-shadow, none);
    overflow: hidden;
}

.acc-card-head[b-27erhgls8u] {
    padding: 1.125rem 1.5rem;
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    display: flex;
    align-items: center;
    gap: 0.875rem;
}

.acc-card-icon[b-27erhgls8u] {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(192, 54, 77, 0.07);
    color: var(--bc-grana);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.acc-card-icon--muted[b-27erhgls8u] {
    background: rgba(10, 14, 31, 0.05);
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.acc-card-head-text[b-27erhgls8u] { flex: 1; min-width: 0; }

.acc-card-title[b-27erhgls8u] {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 500;
    font-size: 1.1875rem;
    line-height: 1.1;
    color: var(--rz-text-color);
}

.acc-card-sub[b-27erhgls8u] {
    font-size: 0.78rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin-top: 3px;
    line-height: 1.45;
}

.acc-card-body[b-27erhgls8u] { padding: 1.375rem 1.5rem; }

/* ── Fields ── */
.acc-field-grid[b-27erhgls8u] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.125rem;
}

.acc-pw-grid[b-27erhgls8u] {
    display: grid;
    gap: 1rem;
    max-width: 460px;
}

.acc-field[b-27erhgls8u] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.acc-label[b-27erhgls8u] {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.acc-input[b-27erhgls8u] {
    width: 100%;
    box-sizing: border-box;
    height: 40px;
    padding: 0 12px;
    border-radius: 6px;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.12));
    background: var(--rz-base-background-color, #fff);
    color: var(--rz-text-color);
    font-family: inherit;
    font-size: 0.84375rem;
    outline: none;
    transition: border-color 0.12s, box-shadow 0.12s;
}

.acc-input[b-27erhgls8u]::placeholder { color: var(--bc-text-soft, rgba(10, 14, 31, 0.45)); }

.acc-input:focus[b-27erhgls8u] {
    border-color: var(--bc-grana);
    box-shadow: 0 0 0 0.2rem rgba(192, 54, 77, 0.2);
}

.acc-input--readonly[b-27erhgls8u] {
    background: rgba(10, 14, 31, 0.04);
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    cursor: default;
}

.acc-input--pw[b-27erhgls8u] { padding-right: 42px; }

.acc-input-wrap[b-27erhgls8u] { position: relative; }

.acc-eye-btn[b-27erhgls8u] {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 4px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.55));
    cursor: pointer;
    line-height: 0;
}

.acc-eye-btn:hover[b-27erhgls8u] { color: var(--rz-text-color); }

/* ── Strength meter ── */
.acc-strength[b-27erhgls8u] { margin-top: 2px; }

.acc-strength-bars[b-27erhgls8u] {
    display: flex;
    gap: 5px;
    margin-bottom: 6px;
}

.acc-strength-seg[b-27erhgls8u] {
    flex: 1;
    height: 4px;
    border-radius: 999px;
    background: var(--bc-border-color, rgba(10, 14, 31, 0.12));
}

.acc-strength-seg--weak[b-27erhgls8u]   { background: var(--bc-grana); }
.acc-strength-seg--media[b-27erhgls8u]  { background: var(--dp-warn, #a87510); }
.acc-strength-seg--buena[b-27erhgls8u]  { background: var(--dp-info, #3a5fb0); }
.acc-strength-seg--fuerte[b-27erhgls8u] { background: var(--dp-success, #2e8047); }

.acc-strength-text[b-27erhgls8u] {
    font-size: 0.6875rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.acc-strength-label--weak[b-27erhgls8u]   { color: var(--bc-grana); }
.acc-strength-label--media[b-27erhgls8u]  { color: var(--dp-warn, #a87510); }
.acc-strength-label--buena[b-27erhgls8u]  { color: var(--dp-info, #3a5fb0); }
.acc-strength-label--fuerte[b-27erhgls8u] { color: var(--dp-success, #2e8047); }

/* ── Buttons ── */
.acc-card-actions[b-27erhgls8u] {
    margin-top: 1rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.625rem;
}

.acc-card-actions--start[b-27erhgls8u] { justify-content: flex-start; }

.acc-btn[b-27erhgls8u] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 40px;
    padding: 0 18px;
    border-radius: 6px;
    font-family: inherit;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    cursor: pointer;
    border: 1px solid transparent;
    white-space: nowrap;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.acc-btn svg[b-27erhgls8u] { flex-shrink: 0; }

.acc-btn-primary[b-27erhgls8u] { background: var(--bc-grana); color: #fff; border-color: var(--bc-grana); }
.acc-btn-primary:hover[b-27erhgls8u] { background: var(--bc-grana-deep); border-color: var(--bc-grana-deep); }
.acc-btn-primary:disabled[b-27erhgls8u] { opacity: 0.6; cursor: default; }

.acc-btn-ghost[b-27erhgls8u] {
    background: transparent;
    color: var(--rz-text-color);
    border-color: var(--bc-border-color, rgba(10, 14, 31, 0.15));
}

.acc-btn-ghost:hover[b-27erhgls8u] { background: var(--rz-grid-header-background-color, #faf6ed); }

/* ── Preferences ── */
.acc-pref-row[b-27erhgls8u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.875rem 0;
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.acc-pref-row:first-child[b-27erhgls8u] { padding-top: 0; }
.acc-pref-row--last[b-27erhgls8u] { border-bottom: none; padding-bottom: 0; }

.acc-pref-title[b-27erhgls8u] {
    font-size: 0.84375rem;
    font-weight: 600;
    color: var(--rz-text-color);
}

.acc-pref-sub[b-27erhgls8u] {
    font-size: 0.71875rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin-top: 2px;
}

.acc-pref-control[b-27erhgls8u] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    flex-shrink: 0;
}

.acc-lang-form[b-27erhgls8u] { margin: 0; }

.acc-select[b-27erhgls8u] {
    width: 160px;
    height: 36px;
    padding: 0 10px;
    border-radius: 6px;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.12));
    background: var(--rz-base-background-color, #fff);
    color: var(--rz-text-color);
    font-family: inherit;
    font-size: 0.8125rem;
    cursor: pointer;
    outline: none;
}

.acc-select:focus[b-27erhgls8u] {
    border-color: var(--bc-grana);
    box-shadow: 0 0 0 0.2rem rgba(192, 54, 77, 0.2);
}

.acc-soon[b-27erhgls8u] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.5));
    background: rgba(10, 14, 31, 0.05);
    padding: 3px 7px;
    border-radius: 999px;
    white-space: nowrap;
}

/* ── Toggle (visual only) ── */
.acc-toggle[b-27erhgls8u] {
    width: 38px;
    height: 22px;
    border-radius: 999px;
    background: var(--bc-border-color, rgba(10, 14, 31, 0.2));
    position: relative;
    flex-shrink: 0;
    display: inline-block;
}

.acc-toggle[b-27erhgls8u]::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    transition: left 0.15s;
}

.acc-toggle--on[b-27erhgls8u] { background: var(--bc-grana); }
.acc-toggle--on[b-27erhgls8u]::after { left: 18px; }

.acc-toggle--disabled[b-27erhgls8u] { opacity: 0.45; cursor: not-allowed; }

/* ── Privacy link card ── */
.acc-link-card[b-27erhgls8u] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 1.125rem 1.5rem;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s;
}

.acc-link-card:hover[b-27erhgls8u] {
    background: var(--rz-grid-header-background-color, #faf6ed);
    border-color: rgba(192, 54, 77, 0.3);
}

.acc-link-arrow[b-27erhgls8u] {
    color: var(--bc-grana);
    display: inline-flex;
    line-height: 0;
    flex-shrink: 0;
}

/* ════════════════════════════════════════════════════════
   DARK THEME OVERRIDES
   ════════════════════════════════════════════════════════ */
.rz-material-dark .acc-profile[b-27erhgls8u],
.rz-material-dark .acc-card[b-27erhgls8u] {
    background: var(--bc-navy);
}

.rz-material-dark .acc-input[b-27erhgls8u],
.rz-material-dark .acc-select[b-27erhgls8u] {
    background: var(--bc-navy);
    border-color: rgba(243, 238, 229, 0.14);
    color: var(--bc-cream);
}

.rz-material-dark .acc-input--readonly[b-27erhgls8u] { background: rgba(243, 238, 229, 0.05); }

.rz-material-dark .acc-card-icon[b-27erhgls8u] { background: rgba(192, 54, 77, 0.14); }
.rz-material-dark .acc-card-icon--muted[b-27erhgls8u] { background: rgba(243, 238, 229, 0.07); }

.rz-material-dark .acc-role-badge--admin[b-27erhgls8u] { color: var(--bc-grana-soft); }
.rz-material-dark .acc-role-badge--usuario[b-27erhgls8u] { background: rgba(243, 238, 229, 0.08); }

.rz-material-dark .acc-strength-seg--weak[b-27erhgls8u] { background: var(--bc-grana-soft); }
.rz-material-dark .acc-strength-label--weak[b-27erhgls8u] { color: var(--bc-grana-soft); }

.rz-material-dark .acc-soon[b-27erhgls8u] { background: rgba(243, 238, 229, 0.08); }

.rz-material-dark .acc-btn-ghost:hover[b-27erhgls8u],
.rz-material-dark .acc-link-card:hover[b-27erhgls8u] { background: var(--bc-navy-soft); }

/* ════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════ */
@media (max-width: 920px) {
    .acc-grid[b-27erhgls8u] { grid-template-columns: 1fr; }
    .acc-profile[b-27erhgls8u] { position: static; }
}

@media (max-width: 600px) {
    .acc-field-grid[b-27erhgls8u] { grid-template-columns: 1fr; }
}
/* /Components/Pages/App/Privacidad.razor.rz.scp.css */
/* ════════════════════════════════════════════════════════
   PRIVACIDAD Y DATOS — editorial redesign (Barcino)
   Scoped styles. Dark variants target the ancestor .rz-material-dark.
   ════════════════════════════════════════════════════════ */

.priv-page[b-57y8ieexyt] {
    display: flex;
    flex-direction: column;
    gap: 1.375rem;
}

.priv-content[b-57y8ieexyt] {
    max-width: 820px;
    display: grid;
    gap: 1.125rem;
}

/* ── Card base ── */
.priv-card[b-57y8ieexyt] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    box-shadow: var(--rz-card-shadow, none);
    overflow: hidden;
}

.priv-card-title[b-57y8ieexyt] {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 500;
    font-size: 1.1875rem;
    line-height: 1.1;
    color: var(--rz-text-color);
}

.priv-card-sub[b-57y8ieexyt] {
    font-size: 0.78rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin-top: 3px;
    line-height: 1.5;
}

.priv-card-icon[b-57y8ieexyt] {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(192, 54, 77, 0.07);
    color: var(--bc-grana);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* ── Rights cards ── */
.priv-rights[b-57y8ieexyt] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.875rem;
}

.priv-right[b-57y8ieexyt] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    box-shadow: var(--rz-card-shadow, none);
    padding: 0.875rem 1rem;
}

.priv-right-num[b-57y8ieexyt] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.59rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--bc-grana);
    margin-bottom: 6px;
}

.priv-right-title[b-57y8ieexyt] {
    font-size: 0.84375rem;
    font-weight: 700;
    color: var(--rz-text-color);
}

.priv-right-desc[b-57y8ieexyt] {
    font-size: 0.71875rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin-top: 3px;
    line-height: 1.4;
}

/* ── Row card (download) ── */
.priv-card--row[b-57y8ieexyt] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 1.125rem 1.5rem;
}

.priv-card--row .priv-card-head-text[b-57y8ieexyt] { flex: 1; min-width: 0; }

.priv-inline-form[b-57y8ieexyt] { margin: 0; flex-shrink: 0; }

/* ── Danger zone ── */
.priv-danger-card[b-57y8ieexyt] { border-color: rgba(192, 54, 77, 0.3); }

.priv-danger-strip[b-57y8ieexyt] {
    padding: 0.625rem 1.5rem;
    background: rgba(192, 54, 77, 0.07);
    border-bottom: 1px solid rgba(192, 54, 77, 0.2);
}

.priv-danger-eyebrow[b-57y8ieexyt] {
    font-family: "Inter", sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-grana);
}

.priv-danger-body[b-57y8ieexyt] {
    padding: 1.375rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1.125rem;
    flex-wrap: wrap;
}

.priv-danger-icon[b-57y8ieexyt] {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: rgba(192, 54, 77, 0.1);
    color: var(--bc-grana);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.priv-danger-text[b-57y8ieexyt] { flex: 1; min-width: 280px; }

/* ── Buttons ── */
.priv-btn[b-57y8ieexyt] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 40px;
    padding: 0 18px;
    border-radius: 6px;
    font-family: inherit;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    cursor: pointer;
    border: 1px solid transparent;
    white-space: nowrap;
    transition: background 0.12s, color 0.12s, border-color 0.12s, opacity 0.12s;
}

.priv-btn svg[b-57y8ieexyt] { flex-shrink: 0; }
.priv-btn--nowrap[b-57y8ieexyt] { flex-shrink: 0; }

.priv-btn-primary[b-57y8ieexyt] { background: var(--bc-grana); color: #fff; border-color: var(--bc-grana); }
.priv-btn-primary:hover:not(:disabled)[b-57y8ieexyt] { background: var(--bc-grana-deep); border-color: var(--bc-grana-deep); }
.priv-btn-primary:disabled[b-57y8ieexyt] { opacity: 0.45; cursor: default; }

.priv-btn-ghost[b-57y8ieexyt] {
    background: transparent;
    color: var(--rz-text-color);
    border-color: var(--bc-border-color, rgba(10, 14, 31, 0.15));
}

.priv-btn-ghost:hover[b-57y8ieexyt] { background: var(--rz-grid-header-background-color, #faf6ed); }

/* ── Inputs ── */
.priv-input[b-57y8ieexyt] {
    width: 100%;
    box-sizing: border-box;
    height: 40px;
    padding: 0 12px;
    border-radius: 6px;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.12));
    background: var(--rz-base-background-color, #fff);
    color: var(--rz-text-color);
    font-family: inherit;
    font-size: 0.84375rem;
    outline: none;
    transition: border-color 0.12s, box-shadow 0.12s;
}

.priv-input[b-57y8ieexyt]::placeholder { color: var(--bc-text-soft, rgba(10, 14, 31, 0.45)); }
.priv-input:focus[b-57y8ieexyt] { border-color: var(--bc-grana); box-shadow: 0 0 0 0.2rem rgba(192, 54, 77, 0.2); }
.priv-input--spaced[b-57y8ieexyt] { margin-top: 0.75rem; }

/* ── Modal ── */
.priv-modal-overlay[b-57y8ieexyt] {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: rgba(10, 14, 31, 0.55);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}

.priv-modal[b-57y8ieexyt] {
    width: 480px;
    max-width: 100%;
    background: var(--rz-base-background-color, #fff);
    border-radius: 8px;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

.priv-modal-head[b-57y8ieexyt] {
    padding: 1.5rem 1.75rem 1.25rem;
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
}

.priv-modal-icon[b-57y8ieexyt] {
    width: 44px;
    height: 44px;
    border-radius: 6px;
    background: rgba(192, 54, 77, 0.1);
    color: var(--bc-grana);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.priv-modal-head-text[b-57y8ieexyt] { flex: 1; min-width: 0; }

.priv-modal-eyebrow[b-57y8ieexyt] {
    font-family: "Inter", sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-grana);
    margin-bottom: 4px;
}

.priv-modal-title[b-57y8ieexyt] {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 500;
    font-size: 1.375rem;
    margin: 0;
    color: var(--rz-text-color);
}

.priv-modal-close[b-57y8ieexyt] {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.12));
    background: transparent;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    cursor: pointer;
    flex-shrink: 0;
    line-height: 0;
}

.priv-modal-close:hover[b-57y8ieexyt] { color: var(--rz-text-color); background: var(--rz-grid-header-background-color, #faf6ed); }

.priv-modal-body[b-57y8ieexyt] { padding: 1.375rem 1.75rem; }

.priv-modal-text[b-57y8ieexyt] {
    font-size: 0.84375rem;
    color: var(--rz-text-color);
    margin: 0 0 1rem;
    line-height: 1.55;
}

.priv-strong[b-57y8ieexyt] { color: var(--bc-grana); }

.priv-modal-note[b-57y8ieexyt] {
    font-size: 0.78rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin: 0.75rem 0 0;
    line-height: 1.5;
}

.priv-modal-error[b-57y8ieexyt] {
    font-size: 0.78rem;
    color: var(--bc-grana);
    background: rgba(192, 54, 77, 0.08);
    border: 1px solid rgba(192, 54, 77, 0.2);
    border-radius: 6px;
    padding: 0.625rem 0.75rem;
    margin-bottom: 1rem;
}

.priv-check[b-57y8ieexyt] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 0.875rem;
    cursor: pointer;
    font-size: 0.75rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    line-height: 1.5;
}

.priv-check input[b-57y8ieexyt] {
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    flex-shrink: 0;
    accent-color: var(--bc-grana);
    cursor: pointer;
}

.priv-modal-foot[b-57y8ieexyt] {
    padding: 0.875rem 1.75rem;
    border-top: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    background: var(--rz-grid-header-background-color, #faf6ed);
    display: flex;
    justify-content: flex-end;
    gap: 0.625rem;
}

/* ════════════════════════════════════════════════════════
   DARK THEME OVERRIDES
   ════════════════════════════════════════════════════════ */
.rz-material-dark .priv-card[b-57y8ieexyt],
.rz-material-dark .priv-right[b-57y8ieexyt],
.rz-material-dark .priv-modal[b-57y8ieexyt] {
    background: var(--bc-navy);
}

.rz-material-dark .priv-input[b-57y8ieexyt] {
    background: var(--bc-navy);
    border-color: rgba(243, 238, 229, 0.14);
    color: var(--bc-cream);
}

.rz-material-dark .priv-card-icon[b-57y8ieexyt] { background: rgba(192, 54, 77, 0.14); color: var(--bc-grana-soft); }
.rz-material-dark .priv-danger-card[b-57y8ieexyt] { border-color: rgba(217, 77, 99, 0.35); }
.rz-material-dark .priv-danger-strip[b-57y8ieexyt] { background: rgba(217, 77, 99, 0.12); border-bottom-color: rgba(217, 77, 99, 0.3); }
.rz-material-dark .priv-danger-eyebrow[b-57y8ieexyt],
.rz-material-dark .priv-right-num[b-57y8ieexyt],
.rz-material-dark .priv-strong[b-57y8ieexyt],
.rz-material-dark .priv-modal-eyebrow[b-57y8ieexyt] { color: var(--bc-grana-soft); }
.rz-material-dark .priv-danger-icon[b-57y8ieexyt],
.rz-material-dark .priv-modal-icon[b-57y8ieexyt] { background: rgba(217, 77, 99, 0.16); color: var(--bc-grana-soft); }

.rz-material-dark .priv-modal-foot[b-57y8ieexyt] { background: var(--bc-navy-deep); }
.rz-material-dark .priv-modal-close[b-57y8ieexyt] { border-color: rgba(243, 238, 229, 0.14); }
.rz-material-dark .priv-modal-close:hover[b-57y8ieexyt],
.rz-material-dark .priv-btn-ghost:hover[b-57y8ieexyt] { background: var(--bc-navy-soft); }

.rz-material-dark .priv-modal-error[b-57y8ieexyt] {
    color: var(--bc-grana-soft);
    background: rgba(217, 77, 99, 0.12);
    border-color: rgba(217, 77, 99, 0.3);
}

/* ════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════ */
@media (max-width: 720px) {
    .priv-rights[b-57y8ieexyt] { grid-template-columns: 1fr; }
    .priv-card--row[b-57y8ieexyt] { flex-wrap: wrap; }
    .priv-danger-body[b-57y8ieexyt] { flex-direction: column; align-items: flex-start; }
}
/* /Components/Pages/App/TestStripe.razor.rz.scp.css */
.ts-page[b-nuhjbkvtaz] {
    max-width: 720px;
}

.ts-card[b-nuhjbkvtaz] {
    margin-top: 1.25rem;
    padding: 1.5rem;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 10px;
    background: var(--rz-base-background-color);
}

.ts-warn[b-nuhjbkvtaz] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    background: rgba(192, 54, 77, 0.08);
    color: var(--bc-grana-deep, #8a1f33);
    font-size: 0.95rem;
}

.ts-list[b-nuhjbkvtaz] {
    margin: 1.25rem 0 0;
    padding-left: 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.7));
    font-size: 0.9rem;
}

.ts-list code[b-nuhjbkvtaz] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.8rem;
    background: rgba(10, 14, 31, 0.06);
    padding: 1px 5px;
    border-radius: 4px;
}

.ts-check[b-nuhjbkvtaz] {
    margin-top: 1.1rem;
    font-size: 0.85rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.7));
}

.ts-actions[b-nuhjbkvtaz] {
    margin-top: 1.5rem;
}

.ts-receipt[b-nuhjbkvtaz] {
    margin-top: 0.85rem;
    font-size: 0.8rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.6));
}
/* /Components/Pages/CalendarioDisponibilidad.razor.rz.scp.css */
/* ── Color tokens and calendar vars ─────────────────────── */
.calendar-board-frame[b-9du8m786s7] {
    --calendar-surface: color-mix(in srgb, var(--rz-base-50) 92%, transparent);
    --calendar-surface-alt: color-mix(in srgb, var(--rz-base-100) 96%, transparent);
    --calendar-empty-surface: color-mix(in srgb, var(--rz-base-100) 84%, transparent);
    --calendar-shadow: 0 2px 6px color-mix(in srgb, var(--rz-text-color) 7%, transparent);
    --calendar-frame-shadow: 0 12px 24px color-mix(in srgb, var(--rz-text-color) 12%, transparent);
    --calendar-borrador-bg: color-mix(in srgb, #f59e0b 10%, var(--rz-base-50));
    --calendar-publicada-bg: color-mix(in srgb, #16a34a 10%, var(--rz-base-50));
    --calendar-bloqueada-bg: color-mix(in srgb, #dc2626 10%, var(--rz-base-50));
    --calendar-reservada-bg: color-mix(in srgb, #2563eb 10%, var(--rz-base-50));
    --calendar-cancelada-bg: color-mix(in srgb, #6b7280 10%, var(--rz-base-50));
}

/* ── Stats row ───────────────────────────────────────────── */
.cal-stats-row[b-9du8m786s7] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.cal-stat-card[b-9du8m786s7] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--rz-base-200, rgba(10, 14, 31, 0.08));
    border-radius: 1rem;
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.cal-stat-card--week[b-9du8m786s7] {
    gap: 0.5rem;
}

.cal-stat-label[b-9du8m786s7] {
    font-family: "Inter", sans-serif;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
}

.cal-stat-value[b-9du8m786s7] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 2.25rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.02em;
}

.cal-stat-value--publicada[b-9du8m786s7] { color: #16a34a; }
.cal-stat-value--reservada[b-9du8m786s7] { color: var(--bc-grana, #c0364d); }
.cal-stat-value--bloqueada[b-9du8m786s7] { color: #dc2626; }

.cal-stat-sub[b-9du8m786s7] {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
    line-height: 1.4;
}

/* ── Week nav inside SEMANA VISIBLE card ─────────────────── */
.cal-week-nav[b-9du8m786s7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.1rem 0;
}

.cal-week-nav-btn[b-9du8m786s7] {
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    border: 1px solid var(--rz-base-300, rgba(10, 14, 31, 0.15));
    border-radius: 50%;
    background: transparent;
    color: var(--rz-text-color);
    cursor: pointer;
    font-size: 1.2rem;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, border-color 0.15s;
    padding: 0;
}

.cal-week-nav-btn:hover[b-9du8m786s7] {
    background: var(--rz-base-100, rgba(10, 14, 31, 0.05));
    border-color: var(--bc-grana, #c0364d);
}

.cal-week-range[b-9du8m786s7] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.cal-week-dates[b-9du8m786s7] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cal-week-year[b-9du8m786s7] {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--bc-grana, #c0364d);
    letter-spacing: 0.04em;
}

/* ── Filter bar ──────────────────────────────────────────── */
.cal-filter-bar[b-9du8m786s7] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr auto;
    gap: 1rem;
    align-items: end;
    padding: 1rem 1.25rem;
}

.cal-filter-field[b-9du8m786s7] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.cal-filter-nav[b-9du8m786s7] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    padding-bottom: 2px;
}

/* ── Calendar board ──────────────────────────────────────── */
.calendar-board-frame[b-9du8m786s7] {
    position: relative;
}

.calendar-scroll-controls[b-9du8m786s7] {
    position: sticky;
    top: calc(50vh - 1.25rem);
    z-index: 4;
    display: flex;
    justify-content: space-between;
    margin-bottom: -2.5rem;
    pointer-events: none;
}

.calendar-board-shell[b-9du8m786s7] {
    overflow-x: auto;
    padding-bottom: 0.5rem;
    padding-inline: 3.25rem;
    scrollbar-width: none;
}

.calendar-board-shell[b-9du8m786s7]::-webkit-scrollbar {
    display: none;
}

.calendar-board[b-9du8m786s7] {
    display: grid;
    grid-template-columns: repeat(7, minmax(200px, 1fr));
    gap: 0.875rem;
    min-width: max-content;
}

.calendar-scroll-button[b-9du8m786s7] {
    position: relative;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--rz-base-300);
    border-radius: 999px;
    background: color-mix(in srgb, var(--rz-base-50) 88%, transparent);
    color: var(--rz-text-color);
    backdrop-filter: blur(10px);
    box-shadow: var(--calendar-frame-shadow);
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
    pointer-events: auto;
}

.calendar-scroll-button:hover:not(:disabled)[b-9du8m786s7] {
    background: color-mix(in srgb, var(--rz-base-100) 94%, transparent);
    border-color: var(--rz-primary);
    transform: scale(1.04);
}

.calendar-scroll-button:disabled[b-9du8m786s7] {
    opacity: 0.28;
    cursor: default;
}

.calendar-scroll-button span[b-9du8m786s7] {
    display: inline-block;
    font-size: 1.55rem;
    line-height: 1;
    transform: translateY(-1px);
}

/* ── Day column ──────────────────────────────────────────── */
.calendar-day-column[b-9du8m786s7] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 26rem;
    border: 1px solid var(--rz-base-300);
    border-radius: 1rem;
    background: linear-gradient(180deg, var(--calendar-surface), var(--calendar-surface-alt));
    overflow: hidden;
}

.calendar-day-column--today[b-9du8m786s7] {
    border-color: var(--bc-grana, #c0364d);
    border-width: 2px;
}

.calendar-day-header[b-9du8m786s7] {
    padding: 0.875rem 1rem;
    border-bottom: 1px solid var(--rz-base-200);
}

.calendar-day-name[b-9du8m786s7] {
    font-family: "Inter", sans-serif;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--rz-text-secondary-color);
    margin-bottom: 0.2rem;
}

.calendar-day-date[b-9du8m786s7] {
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.calendar-day-date--today[b-9du8m786s7] {
    color: var(--bc-grana, #c0364d);
}

.calendar-day-today-badge[b-9du8m786s7] {
    font-family: "Inter", sans-serif;
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #fff;
    background: var(--bc-grana, #c0364d);
    padding: 0.2em 0.55em;
    border-radius: 999px;
    vertical-align: middle;
}

.calendar-day-count[b-9du8m786s7] {
    margin-top: 0.3rem;
    font-size: 0.78rem;
    color: var(--rz-text-secondary-color);
}

.calendar-day-body[b-9du8m786s7] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.875rem;
}

/* ── Empty state ─────────────────────────────────────────── */
.calendar-empty-state[b-9du8m786s7] {
    border: 1px dashed var(--rz-base-300);
    border-radius: 0.75rem;
    padding: 1rem;
    color: var(--rz-text-secondary-color);
    font-size: 0.82rem;
    background: var(--calendar-empty-surface);
    text-align: center;
}

/* ── Franja slot cards ───────────────────────────────────── */
.calendar-slot[b-9du8m786s7] {
    border-left: 3px solid transparent;
    border-radius: 0.65rem;
    padding: 0.6rem 0.75rem;
    background: var(--calendar-surface-alt);
    box-shadow: var(--calendar-shadow);
}

.calendar-slot-header[b-9du8m786s7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
}

.calendar-slot-time[b-9du8m786s7] {
    font-family: "JetBrains Mono", "Fira Mono", monospace;
    font-size: 0.78rem;
    font-weight: 700;
    flex-shrink: 0;
}

.calendar-slot-badge[b-9du8m786s7] {
    font-family: "Inter", sans-serif;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.2em 0.6em;
    border-radius: 999px;
    background: var(--rz-base-200, rgba(10, 14, 31, 0.08));
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
    flex-shrink: 0;
}

.calendar-slot-badge--f11[b-9du8m786s7] {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.calendar-slot-badge--f7[b-9du8m786s7] {
    background: rgba(192, 54, 77, 0.12);
    color: var(--bc-grana, #c0364d);
}

.calendar-slot-title[b-9du8m786s7] {
    margin-top: 0.3rem;
    font-size: 0.78rem;
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.calendar-slot-footer[b-9du8m786s7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.25rem;
    min-height: 1.75rem;
}

.calendar-slot-estado[b-9du8m786s7] {
    min-width: 0;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
    opacity: 0.75;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.calendar-slot-delete[b-9du8m786s7] {
    flex-shrink: 0;
    display: inline-flex;
}

.calendar-slot-delete .rz-button[b-9du8m786s7] {
    min-width: 1.75rem;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border-radius: 0.5rem;
}

.calendar-slot-delete .rz-button .rz-button-icon-left[b-9du8m786s7] {
    margin: 0;
    font-size: 1.05rem;
}

.calendar-slot--clickable[b-9du8m786s7] {
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.calendar-slot--clickable:hover[b-9du8m786s7] {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px color-mix(in srgb, var(--rz-text-color) 14%, transparent);
}

/* ── Estado color variants ───────────────────────────────── */
.calendar-slot--borrador[b-9du8m786s7] {
    border-left-color: #f59e0b;
    background: var(--calendar-borrador-bg);
}

.calendar-slot--publicada[b-9du8m786s7] {
    border-left-color: #16a34a;
    background: var(--calendar-publicada-bg);
}

.calendar-slot--bloqueada[b-9du8m786s7] {
    border-left-color: #dc2626;
    background: var(--calendar-bloqueada-bg);
}

.calendar-slot--reservada[b-9du8m786s7] {
    border-left-color: #2563eb;
    background: var(--calendar-reservada-bg);
}

.calendar-slot--cancelada[b-9du8m786s7] {
    border-left-color: #6b7280;
    background: var(--calendar-cancelada-bg);
}

/* ── Dark theme overrides ────────────────────────────────── */
html:has(.rz-material-dark) .cal-stat-card[b-9du8m786s7] {
    background: var(--bc-navy-soft, #1a2540);
    border-color: rgba(243, 238, 229, 0.08);
}

html:has(.rz-material-dark) .cal-week-nav-btn[b-9du8m786s7] {
    border-color: rgba(243, 238, 229, 0.15);
    color: var(--bc-cream);
}

html:has(.rz-material-dark) .cal-week-nav-btn:hover[b-9du8m786s7] {
    background: rgba(243, 238, 229, 0.06);
    border-color: var(--bc-grana);
}

html:has(.rz-material-dark) .calendar-day-column[b-9du8m786s7] {
    background: linear-gradient(180deg, var(--bc-navy-soft, #1a2540), var(--bc-navy, #0d1526));
    border-color: rgba(243, 238, 229, 0.08);
}

html:has(.rz-material-dark) .calendar-day-column--today[b-9du8m786s7] {
    border-color: var(--bc-grana, #c0364d);
}

html:has(.rz-material-dark) .calendar-day-header[b-9du8m786s7] {
    border-bottom-color: rgba(243, 238, 229, 0.08);
}

html:has(.rz-material-dark) .calendar-slot[b-9du8m786s7] {
    background: rgba(243, 238, 229, 0.04);
    box-shadow: none;
}

html:has(.rz-material-dark) .calendar-slot--borrador[b-9du8m786s7] {
    background: rgba(245, 158, 11, 0.1);
}

html:has(.rz-material-dark) .calendar-slot--publicada[b-9du8m786s7] {
    background: rgba(22, 163, 74, 0.1);
}

html:has(.rz-material-dark) .calendar-slot--bloqueada[b-9du8m786s7] {
    background: rgba(220, 38, 38, 0.1);
}

html:has(.rz-material-dark) .calendar-slot--reservada[b-9du8m786s7] {
    background: rgba(37, 99, 235, 0.1);
}

html:has(.rz-material-dark) .calendar-slot--cancelada[b-9du8m786s7] {
    background: rgba(107, 114, 128, 0.1);
}

html:has(.rz-material-dark) .calendar-slot-badge[b-9du8m786s7] {
    background: rgba(243, 238, 229, 0.1);
    color: rgba(243, 238, 229, 0.6);
}

html:has(.rz-material-dark) .calendar-slot-badge--f11[b-9du8m786s7] {
    background: rgba(22, 163, 74, 0.18);
    color: #4ade80;
}

html:has(.rz-material-dark) .calendar-slot-badge--f7[b-9du8m786s7] {
    background: rgba(192, 54, 77, 0.2);
    color: var(--bc-grana-soft, #d94d63);
}

html:has(.rz-material-dark) .calendar-empty-state[b-9du8m786s7] {
    border-color: rgba(243, 238, 229, 0.1);
    background: rgba(243, 238, 229, 0.03);
}

html:has(.rz-material-dark) .calendar-scroll-button[b-9du8m786s7] {
    background: rgba(13, 21, 38, 0.85);
    border-color: rgba(243, 238, 229, 0.15);
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1200px) {
    .cal-stats-row[b-9du8m786s7] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cal-filter-bar[b-9du8m786s7] {
        grid-template-columns: 1fr 1fr;
    }

    .cal-filter-nav[b-9du8m786s7] {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 960px) {
    .calendar-board[b-9du8m786s7] {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
}

@media (max-width: 640px) {
    .cal-stats-row[b-9du8m786s7] {
        grid-template-columns: 1fr 1fr;
    }

    .cal-filter-bar[b-9du8m786s7] {
        grid-template-columns: 1fr;
    }

    .calendar-board-shell[b-9du8m786s7] {
        padding-inline: 2.5rem;
    }

    .calendar-scroll-button[b-9du8m786s7] {
        width: 2.2rem;
        height: 2.2rem;
    }

    .calendar-board[b-9du8m786s7] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/CamposBase/CampoBaseFormDialog.razor.rz.scp.css */
/* ── Sections ─────────────────────────────────────────── */
.cb-section[b-dl7wq06lxp] {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.cb-section:first-child[b-dl7wq06lxp] {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.cb-section-header[b-dl7wq06lxp] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.cb-section-header--with-sub[b-dl7wq06lxp] {
    align-items: flex-start;
}

.cb-section-num[b-dl7wq06lxp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.625rem;
    height: 1.625rem;
    border: 1.5px solid var(--bc-grana);
    border-radius: 4px;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--bc-grana);
    flex-shrink: 0;
    margin-top: 0.05rem;
}

.cb-section-title[b-dl7wq06lxp] {
    font-family: "Inter", sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--rz-text-color);
    margin: 0;
    line-height: 1.3;
}

.cb-section-sub[b-dl7wq06lxp] {
    font-size: 0.75rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.55));
    margin: 0.25rem 0 0;
    line-height: 1.4;
}

/* ── Field labels ─────────────────────────────────────── */
.cb-col-label[b-dl7wq06lxp] {
    display: block;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.5));
    margin-bottom: 0.35rem;
}

/* ── Datos generales grid ─────────────────────────────── */
.cb-general-grid[b-dl7wq06lxp] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
    align-items: start;
}

.cb-field-mt[b-dl7wq06lxp] {
    margin-top: 0.75rem;
}

/* ── Estado badge ─────────────────────────────────────── */
.cb-estado-badge[b-dl7wq06lxp] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4rem 0.75rem;
    border-radius: 4px;
    border: 1.5px solid;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    background: none;
    transition: opacity 0.15s;
    white-space: nowrap;
    height: 100%;
    min-height: 2.375rem;
}

.cb-estado-badge:hover[b-dl7wq06lxp] {
    opacity: 0.8;
}

.cb-estado-activo[b-dl7wq06lxp] {
    border-color: rgba(46, 160, 67, 0.4);
    color: #1c6e2e;
    background-color: rgba(46, 160, 67, 0.06);
}

.cb-estado-inactivo[b-dl7wq06lxp] {
    border-color: rgba(10, 14, 31, 0.18);
    color: rgba(10, 14, 31, 0.45);
}

.cb-estado-dot[b-dl7wq06lxp] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.cb-estado-activo .cb-estado-dot[b-dl7wq06lxp] {
    background: #2da44e;
    box-shadow: 0 0 0 2px rgba(46, 160, 67, 0.2);
}

.cb-estado-inactivo .cb-estado-dot[b-dl7wq06lxp] {
    background: rgba(10, 14, 31, 0.3);
}

/* ── Unit table ───────────────────────────────────────── */
.cb-unit-table[b-dl7wq06lxp] {
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    overflow: hidden;
}

/* Shared column layout for header and data rows */
.cb-unit-thead[b-dl7wq06lxp],
.cb-unit-row[b-dl7wq06lxp] {
    display: grid;
    grid-template-columns: 1fr 74px 74px 84px;
}

.cb-unit-thead[b-dl7wq06lxp] {
    background-color: rgba(10, 14, 31, 0.03);
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    padding: 0 0.75rem;
}

.cb-th-unit[b-dl7wq06lxp],
.cb-th-num[b-dl7wq06lxp] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.5rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.45));
    padding: 0.5rem 0.25rem;
}

.cb-th-unit[b-dl7wq06lxp] {
    padding-left: 0;
}

.cb-th-num[b-dl7wq06lxp] {
    text-align: center;
}

.cb-unit-row[b-dl7wq06lxp] {
    border-top: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.06));
    padding: 0.5rem 0.75rem;
    align-items: center;
    gap: 0;
    position: relative;
}

.cb-unit-row:first-of-type[b-dl7wq06lxp] {
    border-top: none;
}

.cb-unit-row--division[b-dl7wq06lxp] {
    border-left: 2.5px solid var(--bc-grana);
}

.cb-td-unit[b-dl7wq06lxp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    padding-right: 0.5rem;
}

.cb-td-num[b-dl7wq06lxp] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    justify-content: center;
    min-width: 0;
}

.cb-td-num[b-dl7wq06lxp]  .rz-numeric {
    min-width: 0 !important;
    width: 100% !important;
}

.cb-td-num[b-dl7wq06lxp]  .rz-numeric .rz-inputtext {
    padding-left: 0.375rem !important;
    padding-right: 0.25rem !important;
    font-size: 0.8125rem !important;
    text-align: center !important;
}

.cb-unit-suffix[b-dl7wq06lxp] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.625rem;
    font-weight: 600;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.45));
    flex-shrink: 0;
}

/* ── Field icons ─────────────────────────────────────── */
.cb-field-icon[b-dl7wq06lxp] {
    width: 24px;
    height: 16px;
    border: 1.5px solid rgba(10, 14, 31, 0.22);
    border-radius: 2px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
}

.cb-field-icon--f11[b-dl7wq06lxp]::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 3px;
    right: 3px;
    height: 1px;
    background: rgba(10, 14, 31, 0.18);
    transform: translateY(-50%);
}

.cb-field-icon--div1[b-dl7wq06lxp] {
    border-color: rgba(192, 54, 77, 0.4);
}

.cb-field-icon--div1[b-dl7wq06lxp]::before {
    content: '';
    position: absolute;
    inset: 0 66% 0 0;
    background: rgba(192, 54, 77, 0.16);
    border-right: 1px dashed rgba(192, 54, 77, 0.35);
}

.cb-field-icon--div2[b-dl7wq06lxp] {
    border-color: rgba(192, 54, 77, 0.4);
}

.cb-field-icon--div2[b-dl7wq06lxp]::before {
    content: '';
    position: absolute;
    inset: 0 33% 0 33%;
    background: rgba(192, 54, 77, 0.16);
    border-left: 1px dashed rgba(192, 54, 77, 0.35);
    border-right: 1px dashed rgba(192, 54, 77, 0.35);
}

.cb-field-icon--div3[b-dl7wq06lxp] {
    border-color: rgba(192, 54, 77, 0.4);
}

.cb-field-icon--div3[b-dl7wq06lxp]::before {
    content: '';
    position: absolute;
    inset: 0 0 0 66%;
    background: rgba(192, 54, 77, 0.16);
    border-left: 1px dashed rgba(192, 54, 77, 0.35);
}

/* ── Unit label ──────────────────────────────────────── */
.cb-unit-label[b-dl7wq06lxp] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.cb-unit-name[b-dl7wq06lxp] {
    font-family: "Inter", sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--rz-text-color);
    white-space: nowrap;
}

.cb-unit-type[b-dl7wq06lxp] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.5rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.45));
}

/* ── Division toggle row ─────────────────────────────── */
.cb-division-row[b-dl7wq06lxp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.625rem 0.75rem;
    border-top: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    background-color: rgba(10, 14, 31, 0.02);
}

.cb-division-toggle-area[b-dl7wq06lxp] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.cb-division-label[b-dl7wq06lxp] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--rz-text-color);
}

.cb-subdiv-area[b-dl7wq06lxp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.cb-subdiv-label[b-dl7wq06lxp] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.45));
}

.cb-subdiv-buttons[b-dl7wq06lxp] {
    display: flex;
    gap: 0.25rem;
}

.cb-subdiv-btn[b-dl7wq06lxp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 4px;
    border: 1.5px solid var(--bc-border-color, rgba(10, 14, 31, 0.14));
    background: transparent;
    cursor: pointer;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.5));
    transition: all 0.1s;
    padding: 0;
}

.cb-subdiv-btn:hover:not(.cb-subdiv-btn--active)[b-dl7wq06lxp] {
    border-color: var(--bc-grana);
    color: var(--bc-grana);
}

.cb-subdiv-btn--active[b-dl7wq06lxp] {
    background: var(--bc-grana);
    border-color: var(--bc-grana);
    color: #ffffff;
}

/* ── Summary box ─────────────────────────────────────── */
.cb-summary[b-dl7wq06lxp] {
    margin-top: 0.75rem;
    padding: 0.625rem 0.875rem;
    border: 1.5px dashed rgba(192, 54, 77, 0.35);
    border-radius: 5px;
    background: rgba(192, 54, 77, 0.04);
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
    flex-wrap: wrap;
}

.cb-summary-count[b-dl7wq06lxp] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--bc-grana);
}

.cb-summary-desc[b-dl7wq06lxp] {
    font-size: 0.75rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.55));
}

/* ── Dark theme overrides ────────────────────────────── */
html:has(.rz-material-dark) .cb-unit-table[b-dl7wq06lxp] {
    border-color: rgba(243, 238, 229, 0.1);
}

html:has(.rz-material-dark) .cb-unit-thead[b-dl7wq06lxp] {
    background-color: rgba(243, 238, 229, 0.03);
    border-bottom-color: rgba(243, 238, 229, 0.1);
}

html:has(.rz-material-dark) .cb-unit-row[b-dl7wq06lxp] {
    border-top-color: rgba(243, 238, 229, 0.06);
}

html:has(.rz-material-dark) .cb-division-row[b-dl7wq06lxp] {
    border-top-color: rgba(243, 238, 229, 0.08);
    background-color: rgba(243, 238, 229, 0.02);
}

html:has(.rz-material-dark) .cb-field-icon[b-dl7wq06lxp] {
    border-color: rgba(243, 238, 229, 0.25);
}

html:has(.rz-material-dark) .cb-field-icon--f11[b-dl7wq06lxp]::after {
    background: rgba(243, 238, 229, 0.18);
}

html:has(.rz-material-dark) .cb-estado-activo[b-dl7wq06lxp] {
    border-color: rgba(46, 160, 67, 0.45);
    color: #5bcb7a;
    background-color: rgba(46, 160, 67, 0.08);
}

html:has(.rz-material-dark) .cb-estado-inactivo[b-dl7wq06lxp] {
    border-color: rgba(243, 238, 229, 0.18);
    color: rgba(243, 238, 229, 0.4);
}

html:has(.rz-material-dark) .cb-subdiv-btn[b-dl7wq06lxp] {
    border-color: rgba(243, 238, 229, 0.14);
    color: rgba(243, 238, 229, 0.5);
}

html:has(.rz-material-dark) .cb-summary[b-dl7wq06lxp] {
    border-color: rgba(192, 54, 77, 0.4);
    background: rgba(192, 54, 77, 0.06);
}

html:has(.rz-material-dark) .cb-section[b-dl7wq06lxp] {
    border-top-color: rgba(243, 238, 229, 0.08);
}
/* /Components/Pages/CarritoPublicoPanelDialog.razor.rz.scp.css */
/* ════════════════════════════════════════════════════════
   CESTA PANEL — scoped styles
   Fills the Radzen side-panel shell edge-to-edge.
   Dark-mode overrides use html:has(.rz-material-dark).
   ════════════════════════════════════════════════════════ */

.cesta-panel[b-9pim65f6qx] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* ── HEADER ─────────────────────────────────────────────── */

.cesta-header[b-9pim65f6qx] {
    padding: 24px 28px 20px;
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    flex-shrink: 0;
}

.cesta-header-top[b-9pim65f6qx] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 16px;
}

.cesta-eyebrow[b-9pim65f6qx] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--bc-grana);
    margin-bottom: 8px;
}

.cesta-title[b-9pim65f6qx] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.05;
    margin: 0;
    color: var(--rz-text-color, #0a0e1f);
}

.cesta-title-accent[b-9pim65f6qx] {
    font-style: italic;
    font-weight: 400;
    color: var(--bc-grana);
}

.cesta-close-btn[b-9pim65f6qx] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: transparent;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.cesta-close-btn:hover[b-9pim65f6qx] {
    border-color: rgba(10, 14, 31, 0.18);
    color: var(--rz-text-color, #0a0e1f);
    background: rgba(10, 14, 31, 0.04);
}

/* ── TIMER STRIP ────────────────────────────────────────── */

.cesta-timer-strip[b-9pim65f6qx] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 28px;
    background: rgba(168, 117, 16, 0.1);
    border-bottom: 1px solid rgba(168, 117, 16, 0.2);
    color: #a87510;
    font-size: 12.5px;
    font-weight: 600;
    flex-shrink: 0;
}

.cesta-timer-label[b-9pim65f6qx] {
    flex: 1;
}

.cesta-timer-count[b-9pim65f6qx] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #a87510;
}

.cesta-timer-strip--urgent[b-9pim65f6qx] {
    background: rgba(192, 54, 77, 0.08);
    border-bottom-color: rgba(192, 54, 77, 0.2);
    color: var(--bc-grana);
}

.cesta-timer-strip--urgent .cesta-timer-count[b-9pim65f6qx] {
    color: var(--bc-grana);
}

.cesta-timer-strip--expired[b-9pim65f6qx] {
    background: rgba(192, 54, 77, 0.08);
    border-bottom-color: rgba(192, 54, 77, 0.2);
    color: var(--bc-grana);
    font-size: 12px;
    font-weight: 500;
}

/* Expiry pill */

.cesta-expiry-pill[b-9pim65f6qx] {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 7px 13px;
    border-radius: 999px;
    background: rgba(168, 117, 16, 0.1);
    border: 1px solid rgba(168, 117, 16, 0.25);
    color: #a87510;
    font-size: 12px;
    font-weight: 600;
}

.cesta-expiry-time[b-9pim65f6qx] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #a87510;
}

.cesta-expiry-urgent[b-9pim65f6qx] {
    color: var(--bc-grana) !important;
}

.cesta-expiry-expired[b-9pim65f6qx] {
    background: rgba(192, 54, 77, 0.08);
    border-color: rgba(192, 54, 77, 0.2);
    color: var(--bc-grana);
}

/* ── BODY ───────────────────────────────────────────────── */

.cesta-body[b-9pim65f6qx] {
    flex: 1;
    overflow-y: auto;
    padding: 8px 28px;
    min-height: 0;
}

/* Error */

.cesta-error-alert[b-9pim65f6qx] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    background: rgba(192, 54, 77, 0.08);
    border: 1px solid rgba(192, 54, 77, 0.2);
    border-radius: 6px;
    color: var(--bc-grana);
    font-size: 13px;
    line-height: 1.45;
    margin-bottom: 12px;
}

/* Skeletons */

.cesta-skeleton[b-9pim65f6qx] {
    height: 80px;
    border-radius: 6px;
    background: linear-gradient(90deg, rgba(10,14,31,.04) 25%, rgba(10,14,31,.08) 50%, rgba(10,14,31,.04) 75%);
    background-size: 200% 100%;
    animation: cesta-shimmer-b-9pim65f6qx 1.5s infinite;
    margin-bottom: 12px;
}

@keyframes cesta-shimmer-b-9pim65f6qx {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Empty state */

.cesta-empty[b-9pim65f6qx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 48px 20px;
    text-align: center;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    font-size: 14px;
}

/* Items */

.cesta-items[b-9pim65f6qx] {
    display: flex;
    flex-direction: column;
}

.cesta-item[b-9pim65f6qx] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.cesta-item:last-child[b-9pim65f6qx] {
    border-bottom: none;
}

/* Mini pitch SVG */

.cesta-pitch[b-9pim65f6qx] {
    flex-shrink: 0;
    display: block;
}

.cesta-pitch-frame[b-9pim65f6qx] {
    fill: rgba(10, 14, 31, 0.03);
    stroke: rgba(10, 14, 31, 0.4);
}

.cesta-pitch-line[b-9pim65f6qx] {
    stroke: rgba(10, 14, 31, 0.4);
}

.cesta-pitch-f7-fill[b-9pim65f6qx] {
    fill: var(--bc-grana);
    fill-opacity: 0.16;
    stroke: var(--bc-grana);
}

.cesta-pitch-f7-line[b-9pim65f6qx] {
    stroke: var(--bc-grana);
}

/* Item info */

.cesta-item-info[b-9pim65f6qx] {
    flex: 1;
    min-width: 0;
}

.cesta-item-top[b-9pim65f6qx] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.cesta-badge[b-9pim65f6qx] {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 3px;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}

.cesta-badge-f11[b-9pim65f6qx] {
    background: rgba(192, 54, 77, 0.1);
    color: var(--bc-grana);
    border: 1px solid rgba(192, 54, 77, 0.28);
}

.cesta-badge-f7[b-9pim65f6qx] {
    background: rgba(10, 14, 31, 0.04);
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.cesta-item-sede[b-9pim65f6qx] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 15.5px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--rz-text-color, #0a0e1f);
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cesta-item-hora[b-9pim65f6qx] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 11px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    letter-spacing: 0.04em;
}

/* Item right (price + remove) */

.cesta-item-right[b-9pim65f6qx] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.cesta-item-price[b-9pim65f6qx] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--rz-text-color, #0a0e1f);
    line-height: 1;
}

.cesta-remove-btn[b-9pim65f6qx] {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: rgba(192, 54, 77, 0.08);
    border: 1px solid rgba(192, 54, 77, 0.2);
    color: var(--bc-grana);
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.12s, color 0.12s;
}

.cesta-remove-btn:hover[b-9pim65f6qx] {
    background: var(--bc-grana);
    color: #fff;
    border-color: var(--bc-grana);
}

/* Notice */

.cesta-notice[b-9pim65f6qx] {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    margin-top: 18px;
    padding: 13px 15px;
    background: rgba(10, 14, 31, 0.03);
    border: 1px dashed var(--bc-border-color, rgba(10, 14, 31, 0.12));
    border-radius: 6px;
    font-size: 12px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    line-height: 1.5;
}

.cesta-notice-icon[b-9pim65f6qx] {
    color: #3a5fb0;
    flex-shrink: 0;
    margin-top: 1px;
}

/* ── FOOTER ─────────────────────────────────────────────── */

.cesta-footer[b-9pim65f6qx] {
    padding: 18px 28px;
    border-top: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    background: #fbf8f1;
    flex-shrink: 0;
}

.cesta-total[b-9pim65f6qx] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 16px;
}

.cesta-total-label[b-9pim65f6qx] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--rz-text-color, #0a0e1f);
}

.cesta-total-amount[b-9pim65f6qx] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 32px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1;
    color: var(--bc-grana);
}

.cesta-actions[b-9pim65f6qx] {
    display: flex;
    gap: 12px;
}

.cesta-btn-ghost[b-9pim65f6qx] {
    flex: 0 0 auto;
    padding: 13px 20px;
    border-radius: 4px;
    background: transparent;
    border: 1px solid rgba(10, 14, 31, 0.18);
    color: var(--rz-text-color, #0a0e1f);
    font-family: "Inter", system-ui, sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.02em;
    transition: background 0.12s;
}

.cesta-btn-ghost:hover:not(:disabled)[b-9pim65f6qx] {
    background: rgba(10, 14, 31, 0.04);
}

.cesta-btn-ghost:disabled[b-9pim65f6qx] {
    opacity: 0.45;
    cursor: default;
}

.cesta-btn-primary[b-9pim65f6qx] {
    flex: 1;
    padding: 13px;
    border-radius: 4px;
    background: var(--bc-grana);
    border: none;
    color: #fff;
    font-family: "Inter", system-ui, sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.12s;
}

.cesta-btn-primary:hover:not(:disabled)[b-9pim65f6qx] {
    background: var(--bc-grana-soft);
}

.cesta-btn-primary:disabled[b-9pim65f6qx] {
    opacity: 0.55;
    cursor: default;
}

/* ════════════════════════════════════════════════════════
   DARK THEME OVERRIDES
   ════════════════════════════════════════════════════════ */

html:has(.rz-material-dark) .cesta-timer-strip[b-9pim65f6qx] {
    background: rgba(232, 169, 59, 0.12);
    border-bottom-color: rgba(232, 169, 59, 0.25);
    color: #e8a93b;
}

html:has(.rz-material-dark) .cesta-timer-count[b-9pim65f6qx] {
    color: #e8a93b;
}

html:has(.rz-material-dark) .cesta-timer-strip--urgent[b-9pim65f6qx],
html:has(.rz-material-dark) .cesta-timer-strip--expired[b-9pim65f6qx] {
    background: rgba(192, 54, 77, 0.14);
    border-bottom-color: rgba(192, 54, 77, 0.25);
    color: var(--bc-grana-soft);
}

html:has(.rz-material-dark) .cesta-timer-strip--urgent .cesta-timer-count[b-9pim65f6qx] {
    color: var(--bc-grana-soft);
}

html:has(.rz-material-dark) .cesta-close-btn[b-9pim65f6qx] {
    border-color: rgba(243, 238, 229, 0.18);
    color: rgba(243, 238, 229, 0.65);
}

html:has(.rz-material-dark) .cesta-close-btn:hover[b-9pim65f6qx] {
    border-color: rgba(243, 238, 229, 0.3);
    color: #f3eee5;
    background: rgba(243, 238, 229, 0.06);
}

html:has(.rz-material-dark) .cesta-expiry-pill[b-9pim65f6qx] {
    background: rgba(232, 169, 59, 0.15);
    border-color: rgba(232, 169, 59, 0.3);
    color: #e8a93b;
}

html:has(.rz-material-dark) .cesta-expiry-time[b-9pim65f6qx] {
    color: #e8a93b;
}

html:has(.rz-material-dark) .cesta-badge-f7[b-9pim65f6qx] {
    background: rgba(243, 238, 229, 0.08);
    color: rgba(243, 238, 229, 0.65);
    border-color: rgba(243, 238, 229, 0.1);
}

html:has(.rz-material-dark) .cesta-pitch-frame[b-9pim65f6qx] {
    fill: rgba(243, 238, 229, 0.05);
    stroke: rgba(243, 238, 229, 0.5);
}

html:has(.rz-material-dark) .cesta-pitch-line[b-9pim65f6qx] {
    stroke: rgba(243, 238, 229, 0.5);
}

html:has(.rz-material-dark) .cesta-skeleton[b-9pim65f6qx] {
    background: linear-gradient(90deg, rgba(243,238,229,.04) 25%, rgba(243,238,229,.08) 50%, rgba(243,238,229,.04) 75%);
    background-size: 200% 100%;
}

html:has(.rz-material-dark) .cesta-notice[b-9pim65f6qx] {
    background: rgba(243, 238, 229, 0.04);
    border-color: rgba(243, 238, 229, 0.12);
}

html:has(.rz-material-dark) .cesta-notice-icon[b-9pim65f6qx] {
    color: #5b8cd9;
}

html:has(.rz-material-dark) .cesta-footer[b-9pim65f6qx] {
    background: #16285a;
    border-top-color: rgba(243, 238, 229, 0.1);
}

html:has(.rz-material-dark) .cesta-btn-ghost[b-9pim65f6qx] {
    border-color: rgba(243, 238, 229, 0.2);
    color: #f3eee5;
}

html:has(.rz-material-dark) .cesta-btn-ghost:hover:not(:disabled)[b-9pim65f6qx] {
    background: rgba(243, 238, 229, 0.06);
}
/* /Components/Pages/Checkout.razor.rz.scp.css */
/* ════════════════════════════════════════════════════════
   CHECKOUT — scoped styles (Paso 1 + Paso 2)
   Dark-mode overrides use html:has(.rz-material-dark).
   ════════════════════════════════════════════════════════ */

/* ── PAGE SHELL ─────────────────────────────────────────── */

.co-page[b-ooawjiykfj] {
    max-width: 1040px;
    margin: 0 auto;
    padding: 40px 40px 56px;
}

/* ── LOADING / REDIRECT ─────────────────────────────────── */

.co-loading[b-ooawjiykfj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 80px 20px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    font-size: 15px;
}

.co-loading-spinner[b-ooawjiykfj] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 3px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-top-color: var(--bc-grana);
    animation: co-spin-b-ooawjiykfj 0.75s linear infinite;
}

@keyframes co-spin-b-ooawjiykfj {
    to { transform: rotate(360deg); }
}

/* ── BACK LINK ──────────────────────────────────────────── */

.co-back[b-ooawjiykfj] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    text-decoration: none;
    cursor: pointer;
    margin-bottom: 22px;
    transition: color 0.12s;
    background: none;
    border: none;
    padding: 0;
}

.co-back:hover[b-ooawjiykfj] {
    color: var(--rz-text-color, #0a0e1f);
}

/* ── STEPPER ────────────────────────────────────────────── */

.co-stepper[b-ooawjiykfj] {
    display: flex;
    align-items: center;
    margin-bottom: 28px;
}

.co-step[b-ooawjiykfj] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.co-step-circle[b-ooawjiykfj] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Fraunces", Georgia, serif;
    font-weight: 700;
    font-size: 14px;
    flex-shrink: 0;
    transition: background 0.2s;
}

.co-step-active[b-ooawjiykfj] {
    background: var(--bc-grana);
    color: #fff;
}

.co-step-done[b-ooawjiykfj] {
    background: #2e8047;
    color: #fff;
}

.co-step-idle[b-ooawjiykfj] {
    background: transparent;
    border: 1.5px solid var(--bc-border-color, rgba(10, 14, 31, 0.18));
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.co-step-text[b-ooawjiykfj] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.co-step-label[b-ooawjiykfj] {
    font-size: 14px;
    font-weight: 700;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    letter-spacing: 0.01em;
}

.co-step-label-active[b-ooawjiykfj] {
    color: var(--bc-grana);
}

.co-step-label-idle[b-ooawjiykfj] {
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.co-step-sub[b-ooawjiykfj] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 9.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.45));
}

.co-step-sub-idle[b-ooawjiykfj] {
    opacity: 0.55;
}

/* Connector */

.co-connector[b-ooawjiykfj] {
    flex: 1;
    height: 1.5px;
    background: var(--bc-border-color, rgba(10, 14, 31, 0.12));
    margin: 0 18px;
    position: relative;
}

.co-connector-fill[b-ooawjiykfj] {
    position: absolute;
    inset: 0;
    background: #2e8047;
    transition: width 0.3s ease;
}

/* ── TWO-COLUMN LAYOUT ──────────────────────────────────── */

.co-layout[b-ooawjiykfj] {
    display: flex;
    gap: 36px;
    align-items: flex-start;
}

.co-main[b-ooawjiykfj] {
    flex: 1;
    min-width: 0;
}

/* ── TITLE ROW ──────────────────────────────────────────── */

.co-title-row[b-ooawjiykfj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.co-title[b-ooawjiykfj] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 34px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.05;
    margin: 0;
    color: var(--rz-text-color, #0a0e1f);
}

.co-accent[b-ooawjiykfj] {
    font-style: italic;
    font-weight: 400;
    color: var(--bc-grana);
}

.co-sub[b-ooawjiykfj] {
    font-size: 14px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin: 0 0 22px;
    line-height: 1.55;
    max-width: 560px;
}

/* ── EXPIRY PILL ────────────────────────────────────────── */

.co-expiry[b-ooawjiykfj] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 13px;
    border-radius: 999px;
    background: rgba(168, 117, 16, 0.1);
    border: 1px solid rgba(168, 117, 16, 0.25);
    color: #a87510;
    font-size: 12px;
    font-weight: 600;
    flex-shrink: 0;
}

.co-expiry-time[b-ooawjiykfj] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #a87510;
}

.co-expiry-urgent[b-ooawjiykfj] {
    background: rgba(192, 54, 77, 0.08);
    border-color: rgba(192, 54, 77, 0.2);
    color: var(--bc-grana);
}

.co-expiry-urgent .co-expiry-time[b-ooawjiykfj] {
    color: var(--bc-grana);
}

/* ── ITEMS CARD (step 1) ────────────────────────────────── */

.co-items-card[b-ooawjiykfj] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 0;
}

.co-items-card-header[b-ooawjiykfj] {
    padding: 16px 24px;
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}

.co-items-card-title[b-ooawjiykfj] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--rz-text-color, #0a0e1f);
}

.co-items-card-count[b-ooawjiykfj] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.co-items-list[b-ooawjiykfj] {
    padding: 4px 24px;
}

.co-order-line[b-ooawjiykfj] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.co-order-line:last-child[b-ooawjiykfj] {
    border-bottom: none;
}

.co-order-info[b-ooawjiykfj] {
    flex: 1;
    min-width: 0;
}

.co-order-top[b-ooawjiykfj] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.co-order-sede[b-ooawjiykfj] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 15.5px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--rz-text-color, #0a0e1f);
    line-height: 1.1;
}

.co-order-hora[b-ooawjiykfj] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 11px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    letter-spacing: 0.04em;
}

.co-order-price[b-ooawjiykfj] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--rz-text-color, #0a0e1f);
    line-height: 1;
    flex-shrink: 0;
}

/* Total footer */

.co-items-card-total[b-ooawjiykfj] {
    padding: 16px 24px;
    border-top: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    background: rgba(10, 14, 31, 0.02);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.co-total-label[b-ooawjiykfj] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    color: var(--rz-text-color, #0a0e1f);
}

.co-total-label-sub[b-ooawjiykfj] {
    font-family: "Inter", sans-serif;
    font-size: 12px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    font-weight: 400;
}

.co-total-amount[b-ooawjiykfj] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 30px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1;
    color: var(--bc-grana);
}

/* Add more link */

.co-add-more[b-ooawjiykfj] {
    background: transparent;
    border: none;
    color: var(--bc-grana);
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0;
    margin-top: 18px;
    transition: color 0.12s;
}

.co-add-more:hover[b-ooawjiykfj] {
    color: var(--bc-grana-deep);
}

/* ── MINI PITCH SVG ─────────────────────────────────────── */

.co-pitch[b-ooawjiykfj] {
    flex-shrink: 0;
    display: block;
}

.co-pitch-frame[b-ooawjiykfj] {
    fill: rgba(10, 14, 31, 0.03);
    stroke: rgba(10, 14, 31, 0.4);
}

.co-pitch-line[b-ooawjiykfj] {
    stroke: rgba(10, 14, 31, 0.4);
}

.co-pitch-f7-fill[b-ooawjiykfj] {
    fill: var(--bc-grana);
    fill-opacity: 0.16;
    stroke: var(--bc-grana);
}

.co-pitch-f7-line[b-ooawjiykfj] {
    stroke: var(--bc-grana);
}

/* ── BADGES ─────────────────────────────────────────────── */

.co-badge[b-ooawjiykfj] {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 3px;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}

.co-badge-f11[b-ooawjiykfj] {
    background: rgba(192, 54, 77, 0.1);
    color: var(--bc-grana);
    border: 1px solid rgba(192, 54, 77, 0.28);
}

.co-badge-f7[b-ooawjiykfj] {
    background: rgba(10, 14, 31, 0.04);
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

/* ── STEP 2 FORM ────────────────────────────────────────── */

.co-form-card[b-ooawjiykfj] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    padding: 26px 28px;
    margin-bottom: 18px;
}

.co-form-grid[b-ooawjiykfj] {
    display: grid;
    gap: 18px;
}

.co-form-row[b-ooawjiykfj] {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 16px;
}

.co-field[b-ooawjiykfj] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.co-field-label[b-ooawjiykfj] {
    font-size: 12px;
    font-weight: 600;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.co-field-req[b-ooawjiykfj] {
    color: var(--bc-grana);
}

/* InputText renders a plain <input> that can bypass CSS isolation scope.
   Use ::deep + !important + explicit values to guarantee correct styling. */
[b-ooawjiykfj] .co-field-input {
    width: 100%;
    height: 40px;
    padding: 0 12px;
    border-radius: 4px;
    background-color: #ffffff !important;
    border: 1px solid rgba(10, 14, 31, 0.14) !important;
    color: #0a0e1f !important;
    font-family: "Inter", system-ui, sans-serif;
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.12s, box-shadow 0.12s;
    color-scheme: light;
    -webkit-appearance: none;
    appearance: none;
}

[b-ooawjiykfj] .co-field-input:focus {
    border-color: var(--bc-grana) !important;
    box-shadow: 0 0 0 3px rgba(192, 54, 77, 0.1);
}

[b-ooawjiykfj] .co-field-input::placeholder {
    color: rgba(10, 14, 31, 0.35) !important;
    opacity: 1;
}

/* Validation messages */
[b-ooawjiykfj] .validation-message {
    font-size: 11.5px;
    color: var(--bc-grana);
    margin-top: 2px;
}

/* Terms checkbox */

.co-terms-label[b-ooawjiykfj] {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    cursor: pointer;
    margin-top: 2px;
}

.co-terms-check[b-ooawjiykfj] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    border-radius: 4px;
    border: 1.5px solid rgba(10, 14, 31, 0.18);
    background: var(--rz-base-background-color, #fff);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    transition: background 0.12s, border-color 0.12s;
    cursor: pointer;
}

.co-terms-check-on[b-ooawjiykfj] {
    background: var(--bc-grana);
    border-color: var(--bc-grana);
    color: #fff;
}

.co-terms-text[b-ooawjiykfj] {
    font-size: 12.5px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    line-height: 1.5;
}

.co-terms-link[b-ooawjiykfj] {
    color: var(--bc-grana);
    font-weight: 600;
}

/* Error alert */

.co-error-alert[b-ooawjiykfj] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    background: rgba(192, 54, 77, 0.08);
    border: 1px solid rgba(192, 54, 77, 0.2);
    border-radius: 6px;
    color: var(--bc-grana);
    font-size: 13px;
    line-height: 1.45;
    margin-bottom: 16px;
}

/* Trust strip */

.co-trust[b-ooawjiykfj] {
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
}

.co-trust-item[b-ooawjiykfj] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.co-trust-item svg[b-ooawjiykfj] {
    color: #2e8047;
    flex-shrink: 0;
}

/* ── SUMMARY RAIL ───────────────────────────────────────── */

.co-rail[b-ooawjiykfj] {
    position: sticky;
    top: 24px;
    align-self: flex-start;
    width: 340px;
    flex-shrink: 0;
}

.co-rail-card[b-ooawjiykfj] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    overflow: hidden;
}

.co-rail-header[b-ooawjiykfj] {
    padding: 18px 22px;
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}

.co-rail-title[b-ooawjiykfj] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--rz-text-color, #0a0e1f);
}

.co-rail-count[b-ooawjiykfj] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.co-rail-items[b-ooawjiykfj] {
    padding: 4px 22px;
}

.co-rail-line[b-ooawjiykfj] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
}

.co-rail-line-bordered[b-ooawjiykfj] {
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.co-rail-line-info[b-ooawjiykfj] {
    flex: 1;
    min-width: 0;
}

.co-rail-sede[b-ooawjiykfj] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--rz-text-color, #0a0e1f);
    line-height: 1.2;
}

.co-rail-hora[b-ooawjiykfj] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 10.5px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    letter-spacing: 0.04em;
    display: block;
    margin-top: 3px;
}

.co-rail-price[b-ooawjiykfj] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--rz-text-color, #0a0e1f);
    line-height: 1;
    flex-shrink: 0;
}

/* Rail summary */

.co-rail-summary[b-ooawjiykfj] {
    padding: 16px 22px;
    border-top: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    background: rgba(10, 14, 31, 0.02);
}

.co-rail-row[b-ooawjiykfj] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.co-rail-row-iva[b-ooawjiykfj] {
    margin-bottom: 12px;
}

.co-rail-meta[b-ooawjiykfj] {
    font-size: 12px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.co-rail-meta-val[b-ooawjiykfj] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 12px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.co-rail-total-row[b-ooawjiykfj] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-top: 12px;
    border-top: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.co-rail-total-label[b-ooawjiykfj] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    color: var(--rz-text-color, #0a0e1f);
}

.co-rail-total-amount[b-ooawjiykfj] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 30px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1;
    color: var(--bc-grana);
}

/* Rail CTA */

.co-cta[b-ooawjiykfj] {
    width: 100%;
    margin-top: 14px;
    padding: 14px;
    background: var(--bc-grana);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-family: "Inter", system-ui, sans-serif;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.12s;
}

.co-cta:hover:not(:disabled)[b-ooawjiykfj] {
    background: var(--bc-grana-soft);
}

.co-cta:disabled[b-ooawjiykfj] {
    opacity: 0.55;
    cursor: default;
}

/* Stripe note */

.co-stripe-note[b-ooawjiykfj] {
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-size: 11.5px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.co-stripe-note svg[b-ooawjiykfj] {
    color: #2e8047;
    flex-shrink: 0;
}

/* ════════════════════════════════════════════════════════
   DARK THEME OVERRIDES
   ════════════════════════════════════════════════════════ */

html:has(.rz-material-dark) .co-step-idle[b-ooawjiykfj] {
    border-color: rgba(243, 238, 229, 0.2);
    color: rgba(243, 238, 229, 0.55);
}

html:has(.rz-material-dark) .co-step-done[b-ooawjiykfj] {
    background: #5ab470;
}

html:has(.rz-material-dark) .co-connector-fill[b-ooawjiykfj] {
    background: #5ab470;
}

html:has(.rz-material-dark) .co-expiry[b-ooawjiykfj] {
    background: rgba(232, 169, 59, 0.15);
    border-color: rgba(232, 169, 59, 0.3);
    color: #e8a93b;
}

html:has(.rz-material-dark) .co-expiry-time[b-ooawjiykfj] {
    color: #e8a93b;
}

html:has(.rz-material-dark) .co-items-card-total[b-ooawjiykfj] {
    background: #16285a;
}

html:has(.rz-material-dark) .co-pitch-frame[b-ooawjiykfj] {
    fill: rgba(243, 238, 229, 0.05);
    stroke: rgba(243, 238, 229, 0.5);
}

html:has(.rz-material-dark) .co-pitch-line[b-ooawjiykfj] {
    stroke: rgba(243, 238, 229, 0.5);
}

html:has(.rz-material-dark) .co-badge-f7[b-ooawjiykfj] {
    background: rgba(243, 238, 229, 0.08);
    color: rgba(243, 238, 229, 0.65);
    border-color: rgba(243, 238, 229, 0.1);
}

html:has(.rz-material-dark)[b-ooawjiykfj]  .co-field-input {
    background-color: #0c1834 !important;
    border-color: rgba(243, 238, 229, 0.14) !important;
    color: #f3eee5 !important;
    color-scheme: dark;
}

html:has(.rz-material-dark)[b-ooawjiykfj]  .co-field-input::placeholder {
    color: rgba(243, 238, 229, 0.3) !important;
    opacity: 1;
}

html:has(.rz-material-dark)[b-ooawjiykfj]  .co-field-input:focus {
    border-color: var(--bc-grana) !important;
    box-shadow: 0 0 0 3px rgba(192, 54, 77, 0.18);
}

html:has(.rz-material-dark) .co-terms-check[b-ooawjiykfj] {
    border-color: rgba(243, 238, 229, 0.2);
}

html:has(.rz-material-dark) .co-rail-summary[b-ooawjiykfj] {
    background: #16285a;
}

html:has(.rz-material-dark) .co-trust-item svg[b-ooawjiykfj] {
    color: #5ab470;
}

html:has(.rz-material-dark) .co-stripe-note svg[b-ooawjiykfj] {
    color: #5ab470;
}
/* /Components/Pages/Dashboard.razor.rz.scp.css */
/* ═══════════════════════════════════════
   SHARED UTILITIES
   ═══════════════════════════════════════ */
.dash-accent[b-y7momhx9vy] {
    font-style: italic;
    color: var(--bc-grana);
}

.dash-dot[b-y7momhx9vy] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.dash-dot-green[b-y7momhx9vy]  { background: #2e8047; }
.dash-dot-amber[b-y7momhx9vy]  { background: #a87510; }
.dash-dot-grana[b-y7momhx9vy]  { background: var(--bc-grana); }

.dash-link-action[b-y7momhx9vy] {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--bc-grana);
    text-decoration: none;
    white-space: nowrap;
}
.dash-link-action:hover[b-y7momhx9vy] { text-decoration: underline; }

/* ═══════════════════════════════════════
   ADMIN PANEL — HEADER
   ═══════════════════════════════════════ */
.dash-admin[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.dash-header[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.dash-date[b-y7momhx9vy] {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10,14,31,.6));
}

.dash-title[b-y7momhx9vy] {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 700;
    line-height: 1.1;
    margin: 0;
    color: var(--rz-text-color);
}

.dash-subtitle[b-y7momhx9vy] {
    font-size: 0.9375rem;
    color: var(--bc-text-soft, rgba(10,14,31,.65));
    margin: 0;
}

.dash-hl-grana[b-y7momhx9vy] { color: var(--bc-grana); font-weight: 600; }
.dash-hl-amber[b-y7momhx9vy] { color: #a87510; font-weight: 600; }

.dash-ctas[b-y7momhx9vy] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 0.25rem;
}

.dash-btn-outline[b-y7momhx9vy] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border: 1px solid var(--bc-border-color, rgba(10,14,31,.15));
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--rz-text-color);
    text-decoration: none;
    background: transparent;
    transition: background 0.15s;
}
.dash-btn-outline:hover[b-y7momhx9vy] { background: var(--bc-border-color, rgba(10,14,31,.06)); }

.dash-btn-filled[b-y7momhx9vy] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #fff;
    text-decoration: none;
    background: var(--bc-grana);
    border: none;
    transition: background 0.15s;
}
.dash-btn-filled:hover[b-y7momhx9vy] { background: var(--bc-grana-deep); }

/* ═══════════════════════════════════════
   ADMIN PANEL — STATS ROW
   ═══════════════════════════════════════ */
.dash-stats[b-y7momhx9vy] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

@media (max-width: 900px) {
    .dash-stats[b-y7momhx9vy] { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
    .dash-stats[b-y7momhx9vy] { grid-template-columns: 1fr; }
}

.dash-stat-card[b-y7momhx9vy] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10,14,31,.08));
    border-radius: 6px;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    box-shadow: var(--rz-card-shadow, 0 1px 4px rgba(10,14,31,.06));
}

.dash-stat-top[b-y7momhx9vy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.dash-stat-label[b-y7momhx9vy] {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10,14,31,.55));
}

.dash-badge[b-y7momhx9vy] {
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 20px;
    flex-shrink: 0;
}
.dash-badge-green[b-y7momhx9vy] { background: rgba(46,128,71,.12); color: #2e8047; }
.dash-badge-amber[b-y7momhx9vy] { background: rgba(168,117,16,.12); color: #a87510; }

.dash-stat-value[b-y7momhx9vy] {
    font-size: clamp(1.6rem, 3vw, 2rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--rz-text-color);
}
.dash-val-grana[b-y7momhx9vy] { color: var(--bc-grana); }
.dash-val-amber[b-y7momhx9vy]  { color: #a87510; }

.dash-stat-sub[b-y7momhx9vy] {
    font-size: 0.75rem;
    color: var(--bc-text-soft, rgba(10,14,31,.55));
}

/* ═══════════════════════════════════════
   ADMIN PANEL — BODY LAYOUT
   ═══════════════════════════════════════ */
.dash-body[b-y7momhx9vy] {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 1024px) {
    .dash-body[b-y7momhx9vy] { grid-template-columns: 1fr; }
}

.dash-main-col[b-y7momhx9vy],
.dash-side-col[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ═══════════════════════════════════════
   CARD SHELL
   ═══════════════════════════════════════ */
.dash-card[b-y7momhx9vy] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10,14,31,.08));
    border-radius: 6px;
    box-shadow: var(--rz-card-shadow, 0 1px 4px rgba(10,14,31,.06));
    overflow: hidden;
}

.rz-material-dark .dash-card[b-y7momhx9vy] {
    background: var(--bc-navy);
}

.dash-card-head[b-y7momhx9vy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--bc-border-color, rgba(10,14,31,.08));
}

.dash-card-title[b-y7momhx9vy] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--rz-text-color);
}

.dash-label-muted[b-y7momhx9vy] {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10,14,31,.45));
}

/* ═══════════════════════════════════════
   AGENDA
   ═══════════════════════════════════════ */
.dash-agenda[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
}

.dash-agenda-row[b-y7momhx9vy] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--bc-border-color, rgba(10,14,31,.06));
}
.dash-agenda-row:last-child[b-y7momhx9vy] { border-bottom: none; }

.dash-time-col[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 42px;
    flex-shrink: 0;
}
.dash-time-start[b-y7momhx9vy] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--rz-text-color);
    font-variant-numeric: tabular-nums;
}
.dash-time-end[b-y7momhx9vy] {
    font-size: 0.6875rem;
    color: var(--bc-text-soft, rgba(10,14,31,.5));
    font-variant-numeric: tabular-nums;
}

.dash-field-badge[b-y7momhx9vy] {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 3px 7px;
    border-radius: 4px;
    flex-shrink: 0;
    min-width: 36px;
    text-align: center;
}
.dash-field-f11[b-y7momhx9vy] { background: rgba(192,54,77,.15); color: var(--bc-grana); }
.dash-field-f7[b-y7momhx9vy]  { background: rgba(58,95,176,.13); color: #3a5fb0; }

.rz-material-dark .dash-field-f11[b-y7momhx9vy] { background: rgba(192,54,77,.25); color: #e86070; }
.rz-material-dark .dash-field-f7[b-y7momhx9vy]  { background: rgba(91,140,217,.2); color: #5b8cd9; }

.dash-agenda-info[b-y7momhx9vy] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.dash-agenda-sede[b-y7momhx9vy] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--rz-text-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.dash-agenda-user[b-y7momhx9vy] {
    font-size: 0.75rem;
    color: var(--bc-text-soft, rgba(10,14,31,.55));
}

.dash-status-pill[b-y7momhx9vy] {
    font-size: 0.6875rem;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 20px;
    white-space: nowrap;
    flex-shrink: 0;
}
.dash-status-ok[b-y7momhx9vy]   { background: rgba(46,128,71,.1); color: #2e8047; }
.dash-status-pend[b-y7momhx9vy] { background: rgba(168,117,16,.1); color: #a87510; }

.rz-material-dark .dash-status-ok[b-y7momhx9vy]   { background: rgba(90,180,112,.15); color: #5ab470; }
.rz-material-dark .dash-status-pend[b-y7momhx9vy] { background: rgba(232,169,59,.15); color: #e8a93b; }

/* ═══════════════════════════════════════
   ACTIVIDAD RECIENTE
   ═══════════════════════════════════════ */
.dash-actividad[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
}

.dash-act-row[b-y7momhx9vy] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--bc-border-color, rgba(10,14,31,.06));
    font-size: 0.8125rem;
}
.dash-act-row:last-child[b-y7momhx9vy] { border-bottom: none; }

.dash-act-text[b-y7momhx9vy] {
    flex: 1;
    color: var(--rz-text-color);
}
.dash-act-text strong[b-y7momhx9vy] { font-weight: 700; }

.dash-act-time[b-y7momhx9vy] {
    font-size: 0.6875rem;
    color: var(--bc-text-soft, rgba(10,14,31,.5));
    white-space: nowrap;
    flex-shrink: 0;
}

/* ═══════════════════════════════════════
   OCUPACIÓN POR SEDE
   ═══════════════════════════════════════ */
.dash-sedes-ocu[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 1.25rem;
}

.dash-sede-row[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.dash-sede-meta[b-y7momhx9vy] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.dash-sede-nm[b-y7momhx9vy] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--rz-text-color);
}

.dash-sede-pct[b-y7momhx9vy] {
    font-size: 0.6875rem;
    color: var(--bc-text-soft, rgba(10,14,31,.55));
}

.dash-track[b-y7momhx9vy] {
    height: 6px;
    background: var(--bc-border-color, rgba(10,14,31,.1));
    border-radius: 3px;
    overflow: hidden;
}

.dash-fill[b-y7momhx9vy] {
    height: 100%;
    background: var(--bc-grana);
    border-radius: 3px;
    transition: width 0.3s ease;
}

/* ═══════════════════════════════════════
   ACCESOS RÁPIDOS
   ═══════════════════════════════════════ */
.dash-quick-grid[b-y7momhx9vy] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

.dash-quick-item[b-y7momhx9vy] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.875rem 1rem;
    text-decoration: none;
    border-bottom: 1px solid var(--bc-border-color, rgba(10,14,31,.08));
    border-right: 1px solid var(--bc-border-color, rgba(10,14,31,.08));
    transition: background 0.12s;
}
.dash-quick-item:nth-child(2n)[b-y7momhx9vy] { border-right: none; }
.dash-quick-item:nth-last-child(-n+2)[b-y7momhx9vy] { border-bottom: none; }
.dash-quick-item:hover[b-y7momhx9vy] { background: var(--bc-border-color, rgba(10,14,31,.04)); }

.dash-quick-item.dash-quick-primary[b-y7momhx9vy] {
    background: var(--bc-grana);
    color: #fff;
}
.dash-quick-item.dash-quick-primary:hover[b-y7momhx9vy] { background: var(--bc-grana-deep); }

.dash-quick-ico[b-y7momhx9vy] {
    font-size: 1.25rem;
    flex-shrink: 0;
    color: inherit;
}

.dash-quick-item:not(.dash-quick-primary) .dash-quick-ico[b-y7momhx9vy] {
    color: var(--bc-text-soft, rgba(10,14,31,.5));
}

.dash-quick-nm[b-y7momhx9vy] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: inherit;
    line-height: 1.2;
}
.dash-quick-item:not(.dash-quick-primary) .dash-quick-nm[b-y7momhx9vy] {
    color: var(--rz-text-color);
}

.dash-quick-sub[b-y7momhx9vy] {
    font-size: 0.6875rem;
    color: rgba(255,255,255,.75);
    margin-top: 1px;
}
.dash-quick-item:not(.dash-quick-primary) .dash-quick-sub[b-y7momhx9vy] {
    color: var(--bc-text-soft, rgba(10,14,31,.55));
}

/* ═══════════════════════════════════════
   USER PANEL — HERO
   ═══════════════════════════════════════ */
.dash-user[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
}

.dash-hero[b-y7momhx9vy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    background: var(--bc-navy);
    color: var(--bc-cream);
    padding: 2.5rem 2rem;
    margin: -1rem -1rem 0;
    flex-wrap: wrap;
}

.rz-material-dark .dash-hero[b-y7momhx9vy] {
    background: var(--bc-navy-deep);
}

.dash-hero-content[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-width: 480px;
}

.dash-hero-overline[b-y7momhx9vy] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(243,238,229,.65);
}

.dash-hero-title[b-y7momhx9vy] {
    font-size: clamp(2rem, 5vw, 2.75rem);
    font-weight: 800;
    line-height: 1.05;
    margin: 0;
    color: var(--bc-cream);
}

.dash-hero-sub[b-y7momhx9vy] {
    font-size: 0.9375rem;
    color: rgba(243,238,229,.75);
    margin: 0;
    line-height: 1.5;
}

.dash-hero-ctas[b-y7momhx9vy] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 0.25rem;
}

.dash-hero-btn-primary[b-y7momhx9vy] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.6rem 1.25rem;
    background: var(--bc-grana);
    color: #fff;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-decoration: none;
    transition: background 0.15s;
}
.dash-hero-btn-primary:hover[b-y7momhx9vy] { background: var(--bc-grana-deep); }

.dash-hero-btn-ghost[b-y7momhx9vy] {
    display: inline-flex;
    align-items: center;
    padding: 0.6rem 1.25rem;
    border: 1px solid rgba(243,238,229,.25);
    color: var(--bc-cream);
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-decoration: none;
    transition: border-color 0.15s, background 0.15s;
}
.dash-hero-btn-ghost:hover[b-y7momhx9vy] {
    border-color: rgba(243,238,229,.5);
    background: rgba(243,238,229,.07);
}

/* ═══════════════════════════════════════
   USER PANEL — PRÓXIMA RESERVA CARD
   ═══════════════════════════════════════ */
.dash-proxima[b-y7momhx9vy] {
    background: #fff;
    color: var(--bc-ink);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    min-width: 240px;
    max-width: 300px;
    box-shadow: 0 4px 24px rgba(0,0,0,.18);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    align-self: flex-start;
}

.rz-material-dark .dash-proxima[b-y7momhx9vy] {
    background: var(--bc-navy-soft);
    color: var(--bc-cream);
    box-shadow: 0 4px 24px rgba(0,0,0,.35);
}

.dash-proxima-header[b-y7momhx9vy] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--bc-ink);
}
.rz-material-dark .dash-proxima-header[b-y7momhx9vy] { color: var(--bc-cream); }

.dash-proxima-when[b-y7momhx9vy] {
    display: flex;
    align-items: center;
    gap: 2px;
    color: #2e8047;
    font-size: 0.6875rem;
}
.rz-material-dark .dash-proxima-when[b-y7momhx9vy] { color: #5ab470; }

.dash-proxima-body[b-y7momhx9vy] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.dash-prox-date[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(192,54,77,.08);
    border: 1.5px solid rgba(192,54,77,.35);
    border-radius: 6px;
    padding: 0.4rem 0.6rem;
    min-width: 44px;
    flex-shrink: 0;
}
.rz-material-dark .dash-prox-date[b-y7momhx9vy] {
    background: rgba(192,54,77,.15);
    border-color: rgba(192,54,77,.4);
}

.dash-prox-mes[b-y7momhx9vy] {
    font-size: 0.5rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--bc-grana);
    opacity: 0.7;
    text-transform: uppercase;
}
.rz-material-dark .dash-prox-mes[b-y7momhx9vy] { color: #e86070; opacity: 0.75; }

.dash-prox-dia[b-y7momhx9vy] {
    font-size: 1.375rem;
    font-weight: 800;
    line-height: 1.1;
    color: var(--bc-grana);
}
.rz-material-dark .dash-prox-dia[b-y7momhx9vy] { color: #e86070; opacity: 1; }

.dash-prox-dow[b-y7momhx9vy] {
    font-size: 0.5rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--bc-grana);
    opacity: 0.7;
    text-transform: uppercase;
}
.rz-material-dark .dash-prox-dow[b-y7momhx9vy] { color: #e86070; opacity: 0.75; }

.dash-prox-campo-badge[b-y7momhx9vy] {
    font-size: 0.625rem;
    font-weight: 800;
    padding: 3px 7px;
    border-radius: 4px;
    background: rgba(192,54,77,.15);
    color: var(--bc-grana);
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: 2px;
}
.rz-material-dark .dash-prox-campo-badge[b-y7momhx9vy] {
    background: rgba(192,54,77,.28);
    color: #e86070;
}

.dash-prox-info[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.dash-prox-nombre[b-y7momhx9vy] {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--bc-ink);
}
.rz-material-dark .dash-prox-nombre[b-y7momhx9vy] { color: var(--bc-cream); }

.dash-prox-hora[b-y7momhx9vy] {
    font-size: 0.75rem;
    color: rgba(10,14,31,.55);
    display: flex;
    align-items: center;
    gap: 3px;
}
.rz-material-dark .dash-prox-hora[b-y7momhx9vy] { color: rgba(243,238,229,.6); }

.dash-proxima-actions[b-y7momhx9vy] {
    display: flex;
    gap: 0.5rem;
}

.dash-prox-btn[b-y7momhx9vy] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0.45rem 0.5rem;
    border: 1px solid rgba(10,14,31,.15);
    border-radius: 4px;
    font-size: 0.625rem;
    font-weight: 700;
    font-family: inherit;
    letter-spacing: 0.07em;
    color: var(--bc-ink);
    background: transparent;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.12s;
    white-space: nowrap;
}
.dash-prox-btn:hover[b-y7momhx9vy] { background: rgba(10,14,31,.05); }
.rz-material-dark .dash-prox-btn[b-y7momhx9vy] {
    border-color: rgba(243,238,229,.2);
    color: var(--bc-cream);
}
.rz-material-dark .dash-prox-btn:hover[b-y7momhx9vy] { background: rgba(243,238,229,.07); }

/* ═══════════════════════════════════════
   USER PANEL — BODY
   ═══════════════════════════════════════ */
.dash-user-body[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    padding: 2.5rem 0 1rem;
}

.dash-section-title[b-y7momhx9vy] {
    font-size: clamp(1.25rem, 3vw, 1.625rem);
    font-weight: 700;
    margin: 0 0 1.25rem;
    color: var(--rz-text-color);
}

/* Steps */
.dash-steps[b-y7momhx9vy] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

@media (max-width: 700px) {
    .dash-steps[b-y7momhx9vy] { grid-template-columns: 1fr; }
}

.dash-step[b-y7momhx9vy] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10,14,31,.08));
    border-radius: 8px;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    position: relative;
    box-shadow: var(--rz-card-shadow, 0 1px 4px rgba(10,14,31,.06));
}

.rz-material-dark .dash-step[b-y7momhx9vy] {
    background: var(--bc-navy);
}

.dash-step-ico[b-y7momhx9vy] {
    font-size: 1.375rem;
    color: rgba(192,54,77,.5);
}

.dash-step-num[b-y7momhx9vy] {
    position: absolute;
    top: 1rem;
    right: 1.25rem;
    font-size: 2rem;
    font-weight: 900;
    color: var(--bc-border-color, rgba(10,14,31,.07));
    line-height: 1;
    user-select: none;
}

.dash-step-name[b-y7momhx9vy] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--rz-text-color);
    margin-top: 0.25rem;
}

.dash-step-desc[b-y7momhx9vy] {
    font-size: 0.8125rem;
    color: var(--bc-text-soft, rgba(10,14,31,.6));
    line-height: 1.5;
}

/* Sedes section */
.dash-sedes-sec-head[b-y7momhx9vy] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}
.dash-sedes-sec-head .dash-section-title[b-y7momhx9vy] { margin-bottom: 0; }

.dash-sede-cards[b-y7momhx9vy] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

@media (max-width: 900px) {
    .dash-sede-cards[b-y7momhx9vy] { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
    .dash-sede-cards[b-y7momhx9vy] { grid-template-columns: 1fr; }
}

.dash-sede-card[b-y7momhx9vy] {
    background: var(--bc-navy);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 160px;
    padding: 1rem;
    position: relative;
    text-decoration: none;
    transition: transform 0.15s, box-shadow 0.15s;
}
.dash-sede-card:hover[b-y7momhx9vy] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,.25);
}

.rz-material-dark .dash-sede-card[b-y7momhx9vy] {
    background: var(--bc-navy-soft);
}

.dash-sede-field-bg[b-y7momhx9vy] {
    position: absolute;
    inset: 0;
    background-image:
        /* center circle */
        radial-gradient(circle, rgba(255,255,255,.12) 0%, rgba(255,255,255,.12) 18%, transparent 18.5%),
        /* halfway line */
        linear-gradient(to right, transparent calc(50% - 0.5px), rgba(255,255,255,.12) calc(50% - 0.5px), rgba(255,255,255,.12) calc(50% + 0.5px), transparent calc(50% + 0.5px));
    /* outer border */
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    pointer-events: none;
}

.dash-sede-card-top[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    position: relative;
    z-index: 1;
}

.dash-sede-card-name[b-y7momhx9vy] {
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--bc-cream);
}

.dash-sede-card-city[b-y7momhx9vy] {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(243,238,229,.55);
}

.dash-sede-card-foot[b-y7momhx9vy] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8125rem;
    color: rgba(243,238,229,.8);
    position: relative;
    z-index: 1;
}

.dash-sede-arrow[b-y7momhx9vy] {
    margin-left: auto;
    color: rgba(243,238,229,.5);
    font-size: 1rem;
    transition: transform 0.15s;
}
.dash-sede-card:hover .dash-sede-arrow[b-y7momhx9vy] { transform: translateX(3px); }

/* ═══════════════════════════════════════
   SEDE CARD — address line
   ═══════════════════════════════════════ */
.dash-sede-card-addr[b-y7momhx9vy] {
    font-size: 0.6875rem;
    color: rgba(243,238,229,.5);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ═══════════════════════════════════════
   PRÓXIMA RESERVA — empty state
   ═══════════════════════════════════════ */
.dash-proxima-empty[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.5rem;
    padding: 1.5rem 1.25rem;
}

.dash-proxima-empty-icon[b-y7momhx9vy] {
    color: rgba(10,14,31,.2);
    margin-bottom: 0.25rem;
}

.dash-proxima-empty-title[b-y7momhx9vy] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--bc-ink);
}

.dash-proxima-empty-sub[b-y7momhx9vy] {
    font-size: 0.8rem;
    color: rgba(10,14,31,.55);
}

.rz-material-dark .dash-proxima-empty-icon[b-y7momhx9vy] { color: rgba(243,238,229,.3); }
.rz-material-dark .dash-proxima-empty-title[b-y7momhx9vy] { color: var(--bc-cream); }
.rz-material-dark .dash-proxima-empty-sub[b-y7momhx9vy]  { color: rgba(243,238,229,.55); }

.dash-proxima-empty-cta[b-y7momhx9vy] {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--bc-grana);
    text-decoration: none;
    margin-top: 0.25rem;
}
.dash-proxima-empty-cta:hover[b-y7momhx9vy] { text-decoration: underline; }

/* Skeleton loading state */
.dash-proxima-skeleton[b-y7momhx9vy] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
}

/* ═══════════════════════════════════════
   SVG step icons
   ═══════════════════════════════════════ */
.dash-step-ico[b-y7momhx9vy] {
    width: 1.375rem;
    height: 1.375rem;
    color: rgba(192,54,77,.5);
    flex-shrink: 0;
}

/* ═══════════════════════════════════════
   RESPONSIVE — hero on narrow screens
   ═══════════════════════════════════════ */
@media (max-width: 768px) {
    .dash-hero[b-y7momhx9vy] {
        margin: -1rem -1rem 0;
        padding: 2rem 1.25rem;
    }
    .dash-proxima[b-y7momhx9vy] {
        max-width: 100%;
        min-width: unset;
        width: 100%;
    }
}
/* /Components/Pages/DisponibilidadPublica.razor.rz.scp.css */
/* ── Back link (anonymous visitors, no navbar) ──────────── */
.dp-back[b-jhac01bhui] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    text-decoration: none;
    cursor: pointer;
    margin-bottom: 1.25rem;
    transition: color 0.12s;
}

.dp-back:hover[b-jhac01bhui] {
    color: var(--rz-text-color);
}

/* ── Page header actions ────────────────────────────────── */
.dp-header-actions[b-jhac01bhui] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    flex-shrink: 0;
}

/* ── Calendar card ──────────────────────────────────────── */
.dp-calendar-card[b-jhac01bhui] {
    padding: 1.25rem 1.25rem 1rem;
}

/* Controls row */
.dp-controls-row[b-jhac01bhui] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.dp-month-nav-group[b-jhac01bhui] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.dp-month-label[b-jhac01bhui] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
}

.dp-month-title[b-jhac01bhui] {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 500;
    font-size: 2rem;
    letter-spacing: -0.01em;
    line-height: 1;
    min-width: 12rem;
    text-align: center;
    color: var(--rz-text-color);
}

.dp-controls-right[b-jhac01bhui] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* Sede selector — single-select chips (replaces the old dropdown) */
.dp-sede-chips[b-jhac01bhui] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

/* ── Legend ─────────────────────────────────────────────── */
.dp-legend[b-jhac01bhui] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem 1.1rem;
    margin-bottom: 1rem;
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
}

.dp-legend-item[b-jhac01bhui] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.dp-legend-spacer[b-jhac01bhui] {
    flex: 1;
}

/* Square swatch with inner dot — matches design spec */
.dp-swatch[b-jhac01bhui] {
    width: 14px;
    height: 14px;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dp-swatch-dot[b-jhac01bhui] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
}

.dp-swatch-0[b-jhac01bhui] { background: var(--dp-lvl0-bg, #fbf8f1); border: 1px solid var(--dp-lvl0-dot, rgba(10,14,31,.45)); }
.dp-swatch-1[b-jhac01bhui] { background: var(--dp-lvl1-bg, rgba(168,117,16,.10)); border: 1px solid var(--dp-lvl1-dot, #a87510); }
.dp-swatch-2[b-jhac01bhui] { background: var(--dp-lvl2-bg, rgba(46,128,71,.10)); border: 1px solid var(--dp-lvl2-dot, #3a5fb0); }
.dp-swatch-3[b-jhac01bhui] { background: var(--dp-lvl3-bg, rgba(46,128,71,.18)); border: 1px solid var(--dp-lvl3-dot, #2e8047); }

.dp-dot-0[b-jhac01bhui] { background: var(--dp-lvl0-dot, rgba(10,14,31,.45)); }
.dp-dot-1[b-jhac01bhui] { background: var(--dp-lvl1-dot, #a87510); }
.dp-dot-2[b-jhac01bhui] { background: var(--dp-lvl2-dot, #3a5fb0); }
.dp-dot-3[b-jhac01bhui] { background: var(--dp-lvl3-dot, #2e8047); }

/* "Día seleccionado" — empty grana-bordered square */
.dp-swatch-sel[b-jhac01bhui] {
    width: 14px;
    height: 14px;
    border-radius: 3px;
    display: inline-block;
    flex-shrink: 0;
    border: 1.5px solid var(--bc-grana, #c0364d);
}

.dp-legend-sel-text[b-jhac01bhui] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--bc-grana, #c0364d);
}

/* ── Calendar skeleton ──────────────────────────────────── */
.dp-skeleton-grid[b-jhac01bhui] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.4rem;
}

/* ── Weekday headers ────────────────────────────────────── */
.calendar-weekdays[b-jhac01bhui] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border-bottom: 1px solid var(--dp-cell-border, rgba(10,14,31,.08));
    padding-bottom: 10px;
    margin-bottom: 8px;
}

.calendar-weekdays span[b-jhac01bhui] {
    text-align: center;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
    padding: 0.15rem 0;
}

/* ── Calendar grid ──────────────────────────────────────── */
.calendar-grid[b-jhac01bhui] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}

/* ── Calendar day cell ──────────────────────────────────── */
.calendar-day[b-jhac01bhui] {
    position: relative;
    border: 1.5px solid var(--dp-cell-border, rgba(10,14,31,.08));
    background: var(--dp-lvl0-bg, #fbf8f1);
    border-radius: 4px;
    min-height: 88px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    transition: box-shadow 0.12s;
}

button.calendar-day[b-jhac01bhui] {
    cursor: pointer;
    width: 100%;
}

button.calendar-day:hover[b-jhac01bhui] {
    box-shadow: 0 4px 12px rgba(10, 14, 31, 0.12);
}

.calendar-day-outside[b-jhac01bhui] {
    opacity: 0.35;
    background: transparent;
    border-color: transparent;
    pointer-events: none;
}

/* Level backgrounds */
.calendar-day.level-none[b-jhac01bhui]   { background: var(--dp-lvl0-bg, #fbf8f1); }
.calendar-day.level-low[b-jhac01bhui]    { background: var(--dp-lvl1-bg, rgba(168,117,16,.10)); }
.calendar-day.level-medium[b-jhac01bhui] { background: var(--dp-lvl2-bg, rgba(46,128,71,.10)); }
.calendar-day.level-high[b-jhac01bhui]   { background: var(--dp-lvl3-bg, rgba(46,128,71,.18)); }

/* All levels share same border — only selected/today differ */
.calendar-day.level-low[b-jhac01bhui],
.calendar-day.level-medium[b-jhac01bhui],
.calendar-day.level-high[b-jhac01bhui] {
    border-color: var(--dp-cell-border, rgba(10,14,31,.08));
}

/* Selected */
.calendar-day.selected[b-jhac01bhui] {
    border-color: var(--bc-grana, #c0364d);
    box-shadow: 0 0 0 3px var(--dp-sel-ring, rgba(192,54,77,.15));
}

/* Today, not selected */
.calendar-day.is-today:not(.selected)[b-jhac01bhui] {
    border-color: var(--bc-grana-soft, #d94d63);
}

/* Cell top row: day number + availability dot */
.cal-cell-top[b-jhac01bhui] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
}

.cal-day-num[b-jhac01bhui] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.375rem;   /* ~22px */
    font-weight: 500;
    line-height: 1;
    color: var(--rz-text-color);
}

.cal-day-accent[b-jhac01bhui] {
    color: var(--bc-grana, #c0364d) !important;
}

/* Availability dot */
.cal-dot[b-jhac01bhui] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 2px;
}

.cal-dot.level-none[b-jhac01bhui]   { background: var(--dp-lvl0-dot); }
.cal-dot.level-low[b-jhac01bhui]    { background: var(--dp-lvl1-dot, #a87510); }
.cal-dot.level-medium[b-jhac01bhui] { background: var(--dp-lvl2-dot, #3a5fb0); }
.cal-dot.level-high[b-jhac01bhui]   { background: var(--dp-lvl3-dot, #2e8047); }

/* Count block */
.cal-count-block[b-jhac01bhui] {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.cal-count[b-jhac01bhui] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 1.125rem;   /* ~18px */
    font-weight: 700;
    color: var(--rz-text-color);
    line-height: 1;
}

.cal-count-dim[b-jhac01bhui] {
    color: var(--rz-text-secondary-color);
}

.cal-franjas-label[b-jhac01bhui] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.5625rem;  /* ~9px */
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
    margin-top: 3px;
}

/* Corner labels (SEL / HOY) */
.cal-corner-label[b-jhac01bhui] {
    position: absolute;
    bottom: 4px;
    right: 6px;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.5rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.cal-sel-label[b-jhac01bhui] {
    color: var(--bc-grana, #c0364d);
}

.cal-today-label[b-jhac01bhui] {
    color: var(--bc-grana-soft, #d94d63);
}

/* ── Day section ────────────────────────────────────────── */
.dp-day-section[b-jhac01bhui] {
    padding-bottom: 3rem;
}

/* Section header: date + historical */
.dp-day-header[b-jhac01bhui] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.dp-day-eyebrow[b-jhac01bhui] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--bc-grana, #c0364d);
    display: block;
    margin-bottom: 0.35rem;
}

.dp-day-title[b-jhac01bhui] {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 500;
    font-size: 1.625rem;   /* ~26px */
    letter-spacing: -0.01em;
    line-height: 1.15;
    margin: 0;
    color: var(--rz-text-color);
}

.dp-historical-stat[b-jhac01bhui] {
    text-align: right;
    flex-shrink: 0;
}

.dp-historical-label[b-jhac01bhui] {
    display: block;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
    margin-bottom: 0.2rem;
}

.dp-historical-value[b-jhac01bhui] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.75rem;
    font-weight: 500;
    color: var(--rz-text-color);
    letter-spacing: -0.01em;
    line-height: 1;
}

.dp-historical-value small[b-jhac01bhui] {
    font-family: "Inter", system-ui, sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--rz-text-secondary-color);
    margin-left: 0.2rem;
}

/* Empty state */
.dp-empty-state[b-jhac01bhui] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 3rem 1rem;
    gap: 0.4rem;
}

.dp-empty-icon[b-jhac01bhui],
.dp-empty-icon .rzi[b-jhac01bhui] {
    font-size: 2.75rem !important;
    color: var(--rz-text-secondary-color);
    opacity: 0.45;
    margin-bottom: 0.5rem;
}

.dp-empty-title[b-jhac01bhui] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.25rem;
    font-weight: 500;
    margin: 0;
    color: var(--rz-text-color);
}

.dp-empty-sub[b-jhac01bhui] {
    font-size: 0.875rem;
    color: var(--rz-text-secondary-color);
    max-width: 36rem;
    line-height: 1.6;
    margin: 0.25rem 0 1rem;
}

.dp-empty-actions[b-jhac01bhui] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: center;
}

/* ── Day card (slots view) ──────────────────────────────── */
.dp-day-card[b-jhac01bhui] {
    overflow: hidden;
    padding: 0 !important;  /* override Radzen card default padding */
}

/* Card header: stats + CTA */
.dp-day-card-header[b-jhac01bhui] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--dp-cell-border, rgba(10,14,31,.08));
}

.dp-slots-stats[b-jhac01bhui] {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
}

.dp-stat-chip[b-jhac01bhui] {
    display: flex;
    align-items: baseline;
    gap: 0.3rem;
}

/* DISPONIBLES count — design uses success color */
.dp-stat-disponibles[b-jhac01bhui] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.625rem;
    font-weight: 500;
    color: var(--dp-success, #2e8047);
    letter-spacing: -0.01em;
    line-height: 1;
}

.dp-stat-value[b-jhac01bhui] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.625rem;
    font-weight: 500;
    color: var(--rz-text-color);
    letter-spacing: -0.01em;
    line-height: 1;
}

.dp-stat-label[b-jhac01bhui] {
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color);
    font-weight: 500;
}

.dp-stat-sep[b-jhac01bhui] {
    color: var(--rz-text-secondary-color);
    font-size: 1.1rem;
    align-self: center;
}

/* ── Auth notice (anonymous visitors) ───────────────────── */
.dp-auth-notice[b-jhac01bhui] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: var(--dp-surface-alt, #fbf8f1);
    border-bottom: 1px solid var(--dp-cell-border, rgba(10,14,31,.08));
}

.dp-auth-notice-icon[b-jhac01bhui] {
    color: var(--bc-grana, #c0364d);
    font-size: 1.5rem;
    flex-shrink: 0;
}

.dp-auth-notice-text[b-jhac01bhui] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.dp-auth-notice-title[b-jhac01bhui] {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--rz-text-color);
}

.dp-auth-notice-sub[b-jhac01bhui] {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
}

.dp-auth-notice-actions[b-jhac01bhui] {
    margin-left: auto;
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}

.dp-auth-btn[b-jhac01bhui] {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid var(--dp-cell-border, rgba(10,14,31,.18));
    color: var(--rz-text-color);
    transition: background 0.1s, border-color 0.1s, color 0.1s;
}

.dp-auth-btn:hover[b-jhac01bhui] {
    border-color: var(--bc-grana, #c0364d);
    color: var(--bc-grana, #c0364d);
}

.dp-auth-btn-primary[b-jhac01bhui] {
    background: var(--bc-grana, #c0364d);
    border-color: var(--bc-grana, #c0364d);
    color: #fff;
}

.dp-auth-btn-primary:hover[b-jhac01bhui] {
    background: var(--bc-grana-deep, #8b1a2f);
    border-color: var(--bc-grana-deep, #8b1a2f);
    color: #fff;
}

@media (max-width: 640px) {
    .dp-auth-notice[b-jhac01bhui] {
        flex-wrap: wrap;
    }

    .dp-auth-notice-actions[b-jhac01bhui] {
        margin-left: 0;
        width: 100%;
    }
}

/* ── Filter bar ─────────────────────────────────────────── */
.dp-filter-bar[b-jhac01bhui] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    padding: 0.875rem 1.5rem;
    background: var(--dp-surface-alt, #fbf8f1);
    border-bottom: 1px solid var(--dp-cell-border, rgba(10,14,31,.08));
}

.dp-filter-row[b-jhac01bhui] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.dp-filter-divider[b-jhac01bhui] {
    width: 1px;
    height: 22px;
    background: var(--dp-cell-border, rgba(10,14,31,.12));
    align-self: center;
    flex-shrink: 0;
}

.dp-filter-label[b-jhac01bhui] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
    margin-right: 0.2rem;
    flex-shrink: 0;
}

.dp-filter-chip[b-jhac01bhui] {
    padding: 0.3rem 0.75rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid var(--dp-cell-border, rgba(10,14,31,.12));
    background: transparent;
    color: var(--rz-text-secondary-color);
    cursor: pointer;
    transition: border-color 0.1s, background 0.1s, color 0.1s;
    line-height: 1.45;
}

.dp-filter-chip:hover[b-jhac01bhui] {
    border-color: var(--bc-grana, #c0364d);
    color: var(--bc-grana, #c0364d);
}

/* Active UNIDAD chip — grana */
.dp-filter-chip-active[b-jhac01bhui] {
    background: var(--bc-grana, #c0364d);
    border-color: var(--bc-grana, #c0364d);
    color: #fff;
}

.dp-filter-chip-active:hover[b-jhac01bhui] {
    background: var(--bc-grana-deep, #8b1a2f);
    border-color: var(--bc-grana-deep, #8b1a2f);
    color: #fff;
}

/* ── Periods + slots ────────────────────────────────────── */
.dp-periods[b-jhac01bhui] {
    padding: 0.5rem 1.5rem 1.5rem;
}

/* Day separator — only shown in week view to group slots per day */
.dp-day-divider[b-jhac01bhui] {
    display: flex;
    align-items: center;
    margin-top: 1.75rem;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid var(--bc-grana, #c0364d);
    font-family: "Fraunces", Georgia, serif;
    font-weight: 600;
    font-size: 1.25rem;
    color: var(--rz-text-color);
}

.dp-day-divider:first-child[b-jhac01bhui] {
    margin-top: 0.5rem;
}

.dp-time-group[b-jhac01bhui] {
    margin-top: 1.125rem;
}

.dp-time-group-header[b-jhac01bhui] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0;
}

.dp-time-group-icon[b-jhac01bhui] {
    font-size: 1rem;
    line-height: 1;
    color: var(--bc-grana, #c0364d);
    flex-shrink: 0;
}

.dp-time-group-name[b-jhac01bhui] {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 500;
    font-size: 1.0625rem;   /* ~17px */
    color: var(--rz-text-color);
}

.dp-time-group-range[b-jhac01bhui] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.65rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: var(--rz-text-secondary-color);
}

/* Flex separator line in period header */
.dp-time-group-sep[b-jhac01bhui] {
    flex: 1;
    height: 1px;
    background: var(--dp-cell-border, rgba(10,14,31,.08));
}

.dp-time-group-count[b-jhac01bhui] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
    flex-shrink: 0;
}

/* ── Slot grid ──────────────────────────────────────────── */
.dp-slots-grid[b-jhac01bhui] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

/* ── Slot card ──────────────────────────────────────────── */
.dp-slot-card[b-jhac01bhui] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 6px;
    border: 1px solid var(--dp-cell-border, rgba(10,14,31,.08));
    background: var(--dp-surface, #ffffff);
    transition: border-color 0.12s;
}

.dp-slot-card:hover[b-jhac01bhui] {
    border-color: var(--bc-grana, #c0364d);
}

/* Time column */
.dp-slot-time[b-jhac01bhui] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-shrink: 0;
    min-width: 3.5rem;
}

.dp-slot-start[b-jhac01bhui] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.9375rem;   /* ~15px */
    font-weight: 700;
    color: var(--rz-text-color);
    letter-spacing: 0.01em;
    line-height: 1.2;
}

.dp-slot-end[b-jhac01bhui] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.65625rem;  /* ~10.5px */
    color: var(--rz-text-secondary-color);
    line-height: 1.2;
}

/* Vertical divider between time and meta */
.dp-slot-vdivider[b-jhac01bhui] {
    width: 1px;
    height: 36px;
    background: var(--dp-cell-border, rgba(10,14,31,.08));
    flex-shrink: 0;
}

/* Meta */
.dp-slot-info[b-jhac01bhui] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.dp-slot-badges[b-jhac01bhui] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
}

/* Unit badge */
.dp-badge-unit[b-jhac01bhui] {
    display: inline-block;
    padding: 0.175rem 0.475rem;
    border-radius: 3px;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    flex-shrink: 0;
    border: 1px solid transparent;
}

/* F11-type (primary field) — grana tint */
.dp-badge-unit-primary[b-jhac01bhui] {
    background: rgba(192, 54, 77, .10);
    color: var(--bc-grana, #c0364d);
    border-color: rgba(192, 54, 77, .25);
}

/* Subdivision (F7-A/B/C etc.) — neutral */
.dp-badge-unit-neutral[b-jhac01bhui] {
    background: var(--dp-surface-alt, #fbf8f1);
    color: var(--rz-text-secondary-color);
    border-color: var(--dp-cell-border, rgba(10,14,31,.1));
}

/* NOCTURNO + ÚLTIMA badges */
.dp-badge[b-jhac01bhui] {
    display: inline-block;
    padding: 0.175rem 0.475rem;
    border-radius: 3px;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    flex-shrink: 0;
}

.dp-badge-nocturno[b-jhac01bhui] {
    background: var(--dp-nocturno-bg, rgba(58,95,176,.10));
    color: var(--dp-nocturno-color, #3a5fb0);
}

.dp-badge-ultima[b-jhac01bhui] {
    background: var(--dp-warn-bg, rgba(168,117,16,.10));
    color: var(--dp-warn, #a87510);
}

.dp-slot-location[b-jhac01bhui] {
    font-size: 0.78125rem;   /* ~12.5px */
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Price + CTA */
.dp-slot-price-col[b-jhac01bhui] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.dp-slot-price[b-jhac01bhui] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.2;
}

.dp-slot-price-amount[b-jhac01bhui] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.1875rem;   /* ~19px */
    font-weight: 500;
    color: var(--rz-text-color);
    letter-spacing: -0.01em;
    line-height: 1;
}

.dp-slot-price-unit[b-jhac01bhui] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.5625rem;
    color: var(--rz-text-secondary-color);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-top: 2px;
}

/* ── Card footer ────────────────────────────────────────── */
.dp-day-card-footer[b-jhac01bhui] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.875rem 1.5rem;
    border-top: 1px solid var(--dp-cell-border, rgba(10,14,31,.08));
    background: var(--dp-surface-alt, #fbf8f1);
}

.dp-footer-note[b-jhac01bhui] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.6875rem;
    color: var(--rz-text-secondary-color);
    letter-spacing: 0.04em;
}

.dp-footer-nav[b-jhac01bhui] {
    display: flex;
    gap: 0.5rem;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1100px) {
    .dp-slots-grid[b-jhac01bhui] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .dp-month-title[b-jhac01bhui] {
        min-width: 8rem;
        font-size: 1.5rem;
    }

    .dp-day-header[b-jhac01bhui] {
        flex-direction: column;
        align-items: flex-start;
    }

    .dp-historical-stat[b-jhac01bhui] {
        text-align: left;
    }

    .dp-legend-spacer[b-jhac01bhui] {
        display: none;
    }

    .calendar-grid[b-jhac01bhui] {
        gap: 4px;
    }

    .calendar-day[b-jhac01bhui] {
        min-height: 68px;
        padding: 7px;
    }

    .cal-day-num[b-jhac01bhui] {
        font-size: 1.1rem;
    }

    .cal-count[b-jhac01bhui] {
        font-size: 0.9rem;
    }

    .dp-header-actions[b-jhac01bhui] {
        display: none;
    }

    .dp-slot-card[b-jhac01bhui] {
        flex-wrap: wrap;
    }

    .dp-filter-divider[b-jhac01bhui] {
        display: none;
    }

    .dp-filter-bar[b-jhac01bhui] {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 480px) {
    .cal-franjas-label[b-jhac01bhui],
    .cal-corner-label[b-jhac01bhui] {
        display: none;
    }

    .dp-slot-price-col[b-jhac01bhui] {
        flex-direction: column;
        align-items: flex-end;
        gap: 0.4rem;
    }
}

/* ══ Carrito público — FAB y panel lateral ══════════════════ */

/* Botón flotante con contador */
.cp-fab[b-jhac01bhui] {
    position: fixed;
    bottom: 1.75rem;
    right: 1.75rem;
    z-index: 900;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--rz-primary);
    color: #fff;
    border: none;
    border-radius: 3rem;
    padding: 0.75rem 1.25rem;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    transition: transform 0.15s, box-shadow 0.15s;
}

.cp-fab:hover[b-jhac01bhui] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.24);
}

.cp-fab-icon[b-jhac01bhui] { font-size: 1.1rem; }

.cp-fab-count[b-jhac01bhui] {
    background: #fff;
    color: var(--rz-primary);
    border-radius: 50%;
    width: 1.4rem;
    height: 1.4rem;
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Overlay oscuro */
.cp-overlay[b-jhac01bhui] {
    position: fixed;
    inset: 0;
    z-index: 950;
    background: rgba(0,0,0,0.4);
    animation: cp-fade-in-b-jhac01bhui 0.2s ease;
}

@keyframes cp-fade-in-b-jhac01bhui {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Panel lateral */
.cp-panel[b-jhac01bhui] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 960;
    width: min(420px, 100vw);
    background: var(--rz-panel-background-color, #fff);
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 24px rgba(0,0,0,0.14);
    animation: cp-slide-in-b-jhac01bhui 0.25s ease;
    overflow: hidden;
}

@keyframes cp-slide-in-b-jhac01bhui {
    from { transform: translateX(100%); }
    to   { transform: translateX(0); }
}

/* Cabecera del panel */
.cp-header[b-jhac01bhui] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid var(--rz-border-color, #e5e7eb);
    flex-shrink: 0;
}

.cp-header-left[b-jhac01bhui] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.cp-title[b-jhac01bhui] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--rz-text-color);
}

.cp-timer[b-jhac01bhui] {
    font-family: "JetBrains Mono", monospace;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--rz-success-color, #16a34a);
    background: rgba(22,163,74,0.08);
    border-radius: 0.4rem;
    padding: 0.2rem 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.cp-timer--warn[b-jhac01bhui] {
    color: #b45309;
    background: rgba(180,83,9,0.1);
    animation: cp-pulse-b-jhac01bhui 1s infinite;
}

.cp-timer--expired[b-jhac01bhui] {
    color: var(--rz-danger-color, #dc2626);
    background: rgba(220,38,38,0.08);
}

@keyframes cp-pulse-b-jhac01bhui {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.6; }
}

.cp-timer-icon[b-jhac01bhui] { font-style: normal; }

.cp-close[b-jhac01bhui] {
    background: none;
    border: none;
    font-size: 1.1rem;
    cursor: pointer;
    color: var(--rz-text-secondary-color);
    padding: 0.25rem;
    line-height: 1;
    border-radius: 0.25rem;
    transition: color 0.15s, background 0.15s;
}

.cp-close:hover[b-jhac01bhui] {
    color: var(--rz-text-color);
    background: var(--rz-base-300, #f3f4f6);
}

/* Cuerpo scrollable */
.cp-body[b-jhac01bhui] {
    flex: 1;
    overflow-y: auto;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Estado vacío */
.cp-empty[b-jhac01bhui] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    color: var(--rz-text-secondary-color);
    font-size: 0.95rem;
    padding: 3rem 1rem;
}

.cp-empty-icon[b-jhac01bhui] { font-size: 2.5rem; }

/* Lista de items */
.cp-items[b-jhac01bhui] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.cp-item[b-jhac01bhui] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border: 1px solid var(--rz-border-color, #e5e7eb);
    border-radius: 0.6rem;
    background: var(--rz-base-100, #fafafa);
}

.cp-item-info[b-jhac01bhui] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.cp-item-sede[b-jhac01bhui] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--rz-text-secondary-color);
}

.cp-item-unidad[b-jhac01bhui] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--rz-text-color);
}

.cp-item-hora[b-jhac01bhui] {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
}

.cp-item-right[b-jhac01bhui] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
    flex-shrink: 0;
}

.cp-item-precio[b-jhac01bhui] {
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--rz-text-color);
}

.cp-item-remove[b-jhac01bhui] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--rz-text-secondary-color);
    font-size: 0.85rem;
    padding: 0.1rem 0.25rem;
    border-radius: 0.2rem;
    line-height: 1;
    transition: color 0.15s, background 0.15s;
}

.cp-item-remove:hover[b-jhac01bhui] {
    color: var(--rz-danger-color, #dc2626);
    background: rgba(220,38,38,0.07);
}

.cp-total[b-jhac01bhui] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 700;
    font-size: 0.95rem;
    padding: 0.5rem 0.25rem 0;
    border-top: 1px solid var(--rz-border-color, #e5e7eb);
    margin-top: 0.25rem;
    color: var(--rz-text-color);
}

/* Formulario */
.cp-form-section[b-jhac01bhui] { display: flex; flex-direction: column; gap: 0.75rem; }

.cp-form-title[b-jhac01bhui] {
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--rz-text-secondary-color);
}

/* Footer con botón confirmar */
.cp-footer[b-jhac01bhui] {
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--rz-border-color, #e5e7eb);
    flex-shrink: 0;
    background: var(--rz-panel-background-color, #fff);
}

/* Estado éxito */
.cp-success[b-jhac01bhui] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem;
    text-align: center;
    gap: 0.5rem;
}

.cp-success-icon[b-jhac01bhui] {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background: var(--rz-success-color, #16a34a);
    color: #fff;
    font-size: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.cp-success-title[b-jhac01bhui] { font-size: 1.3rem; font-weight: 700; color: var(--rz-text-color); }
.cp-success-sub[b-jhac01bhui]   { font-size: 0.9rem; color: var(--rz-text-secondary-color); }

/* Botón "En tu cesta" dentro del slot card */
.dp-btn-en-cesta[b-jhac01bhui] {
    font-size: 0.78rem;
    padding: 0.3rem 0.65rem;
    border-radius: 2rem;
    background: var(--rz-success-lighter, rgba(22,163,74,0.12));
    color: var(--rz-success-color, #16a34a);
    border: 1px solid var(--rz-success-color, #16a34a);
    cursor: pointer;
    font-weight: 600;
    white-space: nowrap;
    transition: background 0.15s;
}

.dp-btn-en-cesta:hover[b-jhac01bhui] { background: rgba(22,163,74,0.2); }
/* /Components/Pages/FranjaPublicable/CambioEstadoFranjasSeleccionadasDialog.razor.rz.scp.css */
/* ── Light theme ────────────────────────────────────── */
.manual-state-summary-card[b-ebvmsuhxlj] {
    border: 1px solid #d7e6dd;
    background: #f6fbf8;
}

.manual-state-action-card[b-ebvmsuhxlj] {
    border: 1px solid #dfe4ea;
    background: #fbfcfd;
}

.manual-state-preview-card[b-ebvmsuhxlj] {
    border: 1px solid #dfe4ea;
}

.manual-state-preview-row[b-ebvmsuhxlj] {
    padding: 0.85rem 1rem;
    border-radius: 0.9rem;
    border: 1px solid transparent;
}

.manual-state-preview-row--applicable[b-ebvmsuhxlj] {
    background: #f4fbf5;
    border-color: #c8e7cf;
}

.manual-state-preview-row--omitted[b-ebvmsuhxlj] {
    background: #fff6f6;
    border-color: #efcaca;
}

/* ── Dark theme ─────────────────────────────────────── */
html:has(.rz-material-dark) .manual-state-summary-card[b-ebvmsuhxlj] {
    background-color: var(--bc-navy-soft) !important;
    border-color: rgba(46, 160, 67, 0.2) !important;
}

html:has(.rz-material-dark) .manual-state-action-card[b-ebvmsuhxlj] {
    background-color: var(--bc-navy-soft) !important;
    border-color: rgba(243, 238, 229, 0.1) !important;
}

html:has(.rz-material-dark) .manual-state-preview-card[b-ebvmsuhxlj] {
    background-color: var(--bc-navy-soft) !important;
    border-color: rgba(243, 238, 229, 0.1) !important;
}

html:has(.rz-material-dark) .manual-state-preview-row--applicable[b-ebvmsuhxlj] {
    background: rgba(46, 160, 67, 0.08) !important;
    border-color: rgba(46, 160, 67, 0.22) !important;
}

html:has(.rz-material-dark) .manual-state-preview-row--omitted[b-ebvmsuhxlj] {
    background: rgba(192, 54, 77, 0.08) !important;
    border-color: rgba(192, 54, 77, 0.22) !important;
}
/* /Components/Pages/FranjaPublicable/GestionMasivaEstadosFranjas.razor.rz.scp.css */
.bulk-publish-layout[b-716cz9hzys] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    column-gap: 1.75rem;
    row-gap: 2.5rem;
    align-items: start;
}

.bulk-publish-main[b-716cz9hzys],
.bulk-publish-side[b-716cz9hzys] {
    min-width: 0;
}

.bulk-summary-grid[b-716cz9hzys] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.bulk-summary-label[b-716cz9hzys] {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--rz-text-secondary-color);
}

.bulk-summary-value[b-716cz9hzys] {
    margin-top: 0.25rem;
    font-size: 1.25rem;
    font-weight: 700;
}

.bulk-sample-table-wrapper[b-716cz9hzys] {
    overflow-x: auto;
    border: 1px solid var(--rz-base-300);
    border-radius: 0.85rem;
}

.bulk-sample-table[b-716cz9hzys] {
    width: 100%;
    border-collapse: collapse;
    background: var(--rz-base-background-color, #fff);
}

.bulk-sample-table th[b-716cz9hzys],
.bulk-sample-table td[b-716cz9hzys] {
    padding: 0.8rem 0.9rem;
    text-align: left;
    border-bottom: 1px solid var(--rz-base-200);
    white-space: nowrap;
}

.bulk-sample-table th[b-716cz9hzys] {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--rz-text-secondary-color);
    background: var(--rz-base-100, #f8fafc);
}

html:has(.rz-material-dark) .bulk-sample-table[b-716cz9hzys] {
    background: var(--rz-base-background-color);
}

html:has(.rz-material-dark) .bulk-sample-table th[b-716cz9hzys] {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.55);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

html:has(.rz-material-dark) .bulk-sample-table td[b-716cz9hzys] {
    border-bottom-color: rgba(255, 255, 255, 0.06);
}

.bulk-sample-table tbody tr:last-child td[b-716cz9hzys] {
    border-bottom: none;
}

.bulk-sample-empty[b-716cz9hzys] {
    padding: 1rem;
    border: 1px dashed var(--rz-base-300);
    border-radius: 0.85rem;
    color: var(--rz-text-secondary-color);
    background: var(--rz-base-background-color, #fff);
}

@media (max-width: 1024px) {
    .bulk-publish-layout[b-716cz9hzys] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/FranjaPublicable/PublicacionMasivaFranjas.razor.rz.scp.css */
.bulk-publish-layout[b-rvxklp6zd0] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    column-gap: 1.75rem;
    row-gap: 2.5rem;
    align-items: start;
}

.bulk-publish-main[b-rvxklp6zd0],
.bulk-publish-side[b-rvxklp6zd0] {
    min-width: 0;
}

.weekday-grid[b-rvxklp6zd0] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.weekday-grid label[b-rvxklp6zd0] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 0.85rem;
    background: #ffffff;
    color: var(--rz-text-color);
}

html:has(.rz-material-dark) .weekday-grid label[b-rvxklp6zd0] {
    background: var(--bc-navy-soft);
    border-color: rgba(243, 238, 229, 0.1);
}

.bulk-summary-grid[b-rvxklp6zd0] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.bulk-summary-label[b-rvxklp6zd0] {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--rz-text-secondary-color);
}

.bulk-summary-value[b-rvxklp6zd0] {
    margin-top: 0.25rem;
    font-size: 1.25rem;
    font-weight: 700;
}

.bulk-rules-box[b-rvxklp6zd0] {
    padding: 1rem;
    border-radius: 0.9rem;
    background: linear-gradient(180deg, #f7fafc, #eef6ff);
    border: 1px solid #d9e7f7;
}

.bulk-rules-box--warning[b-rvxklp6zd0] {
    background: linear-gradient(180deg, #fffbf0, #fff3cd);
    border-color: #ffc107;
}

html:has(.rz-material-dark) .bulk-rules-box[b-rvxklp6zd0] {
    background: rgba(243, 238, 229, 0.05);
    border-color: rgba(243, 238, 229, 0.1);
}

html:has(.rz-material-dark) .bulk-rules-box--warning[b-rvxklp6zd0] {
    background: rgba(255, 193, 7, 0.1);
    border-color: rgba(255, 193, 7, 0.4);
}

@media (max-width: 1024px) {
    .bulk-publish-layout[b-rvxklp6zd0] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Reservas/ReservasAdmin.razor.rz.scp.css */
/* ── KPI STRIP ────────────────────────────────────────────── */
.ra-kpi-strip[b-kpcya1g38s] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.ra-kpi-card[b-kpcya1g38s] {
    background: var(--rz-base-background-color);
    border: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.1));
    border-radius: 6px;
    padding: 16px 18px;
}

.ra-kpi-eyebrow[b-kpcya1g38s] {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
    margin-bottom: 10px;
}

.ra-kpi-value[b-kpcya1g38s] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 34px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1;
    color: var(--rz-text-color);
}

.ra-kpi-value--grana[b-kpcya1g38s] { color: var(--bc-grana); }
.ra-kpi-value--warn[b-kpcya1g38s]  { color: #a87510; }
.ra-kpi-value--dim[b-kpcya1g38s]   { color: var(--rz-text-secondary-color); }

.ra-kpi-sub[b-kpcya1g38s] {
    font-size: 11px;
    color: var(--rz-text-secondary-color);
    margin-top: 8px;
}

html:has(.rz-material-dark) .ra-kpi-value--warn[b-kpcya1g38s] { color: #e8a93b; }

/* ── TOOLBAR ──────────────────────────────────────────────── */
.ra-toolbar[b-kpcya1g38s] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.08));
}

.ra-toolbar-spacer[b-kpcya1g38s] { flex: 1; }

/* Segmented tabs */
.ra-tabs[b-kpcya1g38s] {
    display: flex;
    background: var(--rz-base-200, #f5f5f5);
    padding: 4px;
    border-radius: 6px;
    border: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.1));
    gap: 2px;
}

.ra-tab[b-kpcya1g38s] {
    padding: 7px 14px;
    background: transparent;
    color: var(--rz-text-secondary-color);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    letter-spacing: 0.01em;
    transition: background 0.12s, color 0.12s;
    white-space: nowrap;
}

.ra-tab--active[b-kpcya1g38s] {
    background: var(--bc-grana);
    color: #fff;
}

.ra-tab-count[b-kpcya1g38s] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 9.5px;
    padding: 1px 6px;
    border-radius: 999px;
    background: var(--rz-base-background-color);
    color: var(--rz-text-secondary-color);
    border: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.12));
    line-height: 1.6;
}

.ra-tab--active .ra-tab-count[b-kpcya1g38s] {
    background: rgba(255,255,255,.22);
    color: #fff;
    border-color: transparent;
}

.ra-search-wrap[b-kpcya1g38s] {
    position: relative;
    min-width: 240px;
}

.ra-search-icon[b-kpcya1g38s] {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rz-text-secondary-color);
    pointer-events: none;
    display: flex;
}

/* ── HINT (past tab) ──────────────────────────────────────── */
.ra-hint[b-kpcya1g38s] {
    margin: 0 16px 10px;
    padding: 10px 16px;
    background: var(--rz-base-200, #f5f5f5);
    border: 1px dashed var(--rz-panel-border-color, rgba(0,0,0,.15));
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--rz-text-secondary-color);
    font-size: 12.5px;
}

/* ── TABLE ────────────────────────────────────────────────── */
.ra-table-head[b-kpcya1g38s] {
    display: grid;
    grid-template-columns: 280px 160px 1fr 100px 148px 128px;
    gap: 16px;
    padding: 12px 22px;
    background: var(--rz-base-100, #fafafa);
    border-bottom: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.08));
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
}

.ra-th-right[b-kpcya1g38s] { text-align: right; }

html:has(.rz-material-dark) .ra-table-head[b-kpcya1g38s] {
    background: rgba(255,255,255,.04);
}

/* Group separator */
.ra-group-sep[b-kpcya1g38s] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 22px;
    background: var(--rz-base-200, #f5f5f5);
    border-bottom: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.08));
}

html:has(.rz-material-dark) .ra-group-sep[b-kpcya1g38s] {
    background: rgba(255,255,255,.04);
}

.ra-group-label[b-kpcya1g38s] {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.ra-group-sep--today .ra-group-label[b-kpcya1g38s] { color: var(--bc-grana); }

.ra-group-dot[b-kpcya1g38s] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bc-grana);
    flex-shrink: 0;
}

.ra-group-line[b-kpcya1g38s] {
    flex: 1;
    height: 1px;
    background: var(--rz-panel-border-color, rgba(0,0,0,.08));
}

.ra-group-count[b-kpcya1g38s] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 10px;
    color: var(--rz-text-secondary-color);
    letter-spacing: 0.1em;
    white-space: nowrap;
}

/* Rows */
.ra-row[b-kpcya1g38s] {
    display: grid;
    grid-template-columns: 280px 160px 1fr 100px 148px 128px;
    align-items: center;
    gap: 16px;
    padding: 13px 22px;
    border-bottom: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.06));
    background: var(--rz-base-background-color);
    transition: background 0.1s;
}

.ra-row:hover[b-kpcya1g38s] { background: var(--rz-base-100, #fafafa); }

html:has(.rz-material-dark) .ra-row:hover[b-kpcya1g38s] { background: rgba(255,255,255,.03); }

.ra-row:last-child[b-kpcya1g38s] { border-bottom: none; }

/* Cell */
.ra-cell[b-kpcya1g38s] {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.ra-cell--col[b-kpcya1g38s] { flex-direction: column; align-items: flex-start; gap: 3px; }
.ra-cell--right[b-kpcya1g38s] { justify-content: flex-end; }

/* Campo/Unidad */
.ra-campo-info[b-kpcya1g38s] { min-width: 0; }

.ra-campo-top[b-kpcya1g38s] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ra-campo-nombre[b-kpcya1g38s] {
    font-weight: 600;
    font-size: 13.5px;
    color: var(--rz-text-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 160px;
}

.ra-unit-badge[b-kpcya1g38s] {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border-radius: 3px;
    font-family: "JetBrains Mono", monospace;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.04em;
    white-space: nowrap;
    flex-shrink: 0;
}

.ra-unit-badge--f11[b-kpcya1g38s] {
    background: rgba(192,54,77,.12);
    color: var(--bc-grana);
}

.ra-unit-badge--f7[b-kpcya1g38s] {
    background: var(--rz-base-200, #f0f0f0);
    color: var(--rz-text-secondary-color);
    border: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.1));
}

.ra-ref-code[b-kpcya1g38s] {
    font-family: "JetBrains Mono", monospace;
    font-size: 9.5px;
    color: var(--rz-text-secondary-color);
    letter-spacing: 0.06em;
}

/* Horario */
.ra-fecha[b-kpcya1g38s] {
    font-size: 13px;
    font-weight: 600;
    color: var(--rz-text-color);
}

.ra-hora[b-kpcya1g38s] {
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    color: var(--rz-text-secondary-color);
}

/* Avatar */
.ra-avatar[b-kpcya1g38s] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    flex-shrink: 0;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    font-family: "Fraunces", serif;
    font-style: italic;
}

.ra-cliente-nombre[b-kpcya1g38s] {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--rz-text-color);
    text-transform: capitalize;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ra-cliente-email[b-kpcya1g38s] {
    font-size: 11px;
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Precio */
.ra-precio[b-kpcya1g38s] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 17px;
    font-weight: 500;
    color: var(--rz-text-color);
    line-height: 1;
}

.ra-pagado-label[b-kpcya1g38s] {
    font-family: "JetBrains Mono", monospace;
    font-size: 8px;
    color: var(--rz-text-secondary-color);
    letter-spacing: 0.1em;
}

/* Status badge */
.ra-status[b-kpcya1g38s] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    font-family: "JetBrains Mono", monospace;
    white-space: nowrap;
}

.ra-status-dot[b-kpcya1g38s] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    flex-shrink: 0;
}

.ra-status--confirmada[b-kpcya1g38s] { background: rgba(46,128,71,.1); color: #2e8047; }
.ra-status--confirmada .ra-status-dot[b-kpcya1g38s] { background: #2e8047; }
.ra-status--pendiente[b-kpcya1g38s]  { background: rgba(168,117,16,.1); color: #a87510; }
.ra-status--pendiente .ra-status-dot[b-kpcya1g38s] { background: #a87510; }
.ra-status--cancelada[b-kpcya1g38s]  { background: rgba(192,54,77,.08); color: var(--bc-grana); }
.ra-status--cancelada .ra-status-dot[b-kpcya1g38s] { background: var(--bc-grana); }
.ra-status--completada[b-kpcya1g38s] {
    background: var(--rz-base-200, #f0f0f0);
    color: var(--rz-text-secondary-color);
    border: 1px solid var(--rz-panel-border-color);
}
.ra-status--completada .ra-status-dot[b-kpcya1g38s] { background: var(--rz-text-secondary-color); }

html:has(.rz-material-dark) .ra-status--confirmada[b-kpcya1g38s] { background: rgba(90,180,112,.15); color: #5ab470; }
html:has(.rz-material-dark) .ra-status--confirmada .ra-status-dot[b-kpcya1g38s] { background: #5ab470; }
html:has(.rz-material-dark) .ra-status--pendiente[b-kpcya1g38s]  { background: rgba(232,169,59,.15); color: #e8a93b; }
html:has(.rz-material-dark) .ra-status--pendiente .ra-status-dot[b-kpcya1g38s] { background: #e8a93b; }
html:has(.rz-material-dark) .ra-status--cancelada[b-kpcya1g38s]  { background: rgba(217,77,99,.15); color: #d94d63; }
html:has(.rz-material-dark) .ra-status--cancelada .ra-status-dot[b-kpcya1g38s] { background: #d94d63; }

/* Actions */
.ra-actions[b-kpcya1g38s] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.ra-icon-btn[b-kpcya1g38s] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 4px;
    cursor: pointer;
    border: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.12));
    background: var(--rz-base-background-color);
    color: var(--rz-text-secondary-color);
    transition: all 0.12s;
    flex-shrink: 0;
}

.ra-icon-btn:hover[b-kpcya1g38s] {
    color: var(--rz-text-color);
    border-color: var(--rz-text-secondary-color);
}

.ra-btn-liberar[b-kpcya1g38s] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 11px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    font-family: inherit;
    cursor: pointer;
    border-radius: 4px;
    background: transparent;
    color: var(--bc-grana);
    border: 1px solid rgba(192,54,77,.3);
    transition: all 0.12s;
    white-space: nowrap;
}

.ra-btn-liberar:hover[b-kpcya1g38s] { background: rgba(192,54,77,.07); }
.ra-btn-liberar:disabled[b-kpcya1g38s] { opacity: 0.5; cursor: not-allowed; }

.ra-finalizada-label[b-kpcya1g38s] {
    font-family: "JetBrains Mono", monospace;
    font-size: 9.5px;
    color: var(--rz-text-secondary-color);
    letter-spacing: 0.08em;
}

/* Mini pitch SVG */
.ra-minipitch[b-kpcya1g38s] {
    flex-shrink: 0;
    color: var(--rz-text-secondary-color);
    opacity: 0.7;
}

/* ── FOOTER ───────────────────────────────────────────────── */
.ra-footer[b-kpcya1g38s] {
    padding: 13px 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--rz-base-200, #f5f5f5);
}

html:has(.rz-material-dark) .ra-footer[b-kpcya1g38s] { background: rgba(255,255,255,.04); }

.ra-footer-count[b-kpcya1g38s] {
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    color: var(--rz-text-secondary-color);
    letter-spacing: 0.06em;
}

.ra-pagination[b-kpcya1g38s] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ra-pg-btn[b-kpcya1g38s] {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rz-base-background-color);
    border: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.12));
    border-radius: 4px;
    cursor: pointer;
    color: var(--rz-text-secondary-color);
    transition: all 0.12s;
    font-size: 13px;
}

.ra-pg-btn:disabled[b-kpcya1g38s] { opacity: 0.35; cursor: not-allowed; }
.ra-pg-btn:hover:not(:disabled)[b-kpcya1g38s] { color: var(--rz-text-color); border-color: var(--rz-text-secondary-color); }

.ra-pg-current[b-kpcya1g38s] {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bc-grana);
    color: #fff;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
}

/* ── MODAL ────────────────────────────────────────────────── */
.ra-modal-overlay[b-kpcya1g38s] {
    position: fixed;
    inset: 0;
    background: rgba(10, 14, 31, 0.55);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 1100;
}

.ra-modal[b-kpcya1g38s] {
    width: 520px;
    max-width: 100%;
    background: var(--rz-base-background-color);
    border-radius: 8px;
    border: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.15));
    box-shadow: 0 30px 80px rgba(0,0,0,.4);
    overflow: hidden;
}

.ra-modal-header[b-kpcya1g38s] {
    padding: 22px 26px 18px;
    border-bottom: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.1));
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.ra-modal-icon-warn[b-kpcya1g38s] {
    width: 44px;
    height: 44px;
    border-radius: 6px;
    background: rgba(200,150,30,.12);
    color: #a87510;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

html:has(.rz-material-dark) .ra-modal-icon-warn[b-kpcya1g38s] { color: #e8a93b; background: rgba(232,169,59,.15); }

.ra-modal-eyebrow[b-kpcya1g38s] {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #a87510;
    margin-bottom: 4px;
}

html:has(.rz-material-dark) .ra-modal-eyebrow[b-kpcya1g38s] { color: #e8a93b; }

.ra-modal-title[b-kpcya1g38s] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    margin: 0;
    color: var(--rz-text-color);
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.ra-modal-flex[b-kpcya1g38s] { flex: 1; min-width: 0; }

.ra-modal-body[b-kpcya1g38s] { padding: 20px 26px; }

.ra-modal-reserva-card[b-kpcya1g38s] {
    padding: 13px 15px;
    background: var(--rz-base-200, #f5f5f5);
    border-radius: 6px;
    border: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.08));
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}

html:has(.rz-material-dark) .ra-modal-reserva-card[b-kpcya1g38s] { background: rgba(255,255,255,.05); }

.ra-modal-reserva-info[b-kpcya1g38s] { flex: 1; min-width: 0; }
.ra-modal-reserva-sede[b-kpcya1g38s] { font-weight: 600; font-size: 14px; color: var(--rz-text-color); }
.ra-modal-reserva-meta[b-kpcya1g38s] { font-family: "JetBrains Mono", monospace; font-size: 11px; color: var(--rz-text-secondary-color); margin-top: 3px; }
.ra-modal-reserva-precio[b-kpcya1g38s] {
    font-family: "Fraunces", Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    color: var(--rz-text-color);
    white-space: nowrap;
}

.ra-modal-description[b-kpcya1g38s] {
    font-size: 13.5px;
    color: var(--rz-text-color);
    margin: 0 0 16px;
    line-height: 1.55;
}

.ra-modal-amount[b-kpcya1g38s] { color: var(--bc-grana); font-weight: 600; }

.ra-form-label[b-kpcya1g38s] {
    display: block;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
    margin-bottom: 6px;
}

.ra-form-label span[b-kpcya1g38s] { color: var(--bc-grana); }

.ra-select[b-kpcya1g38s] {
    width: 100%;
    height: 40px;
    padding: 0 32px 0 12px;
    border-radius: 4px;
    background: var(--rz-base-background-color);
    border: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.14));
    color: var(--rz-text-color);
    font-family: inherit;
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
    margin-bottom: 14px;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23888'><path d='M6 9l6 6 6-6z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 12px center;
}

.ra-select:focus[b-kpcya1g38s] { border-color: var(--bc-grana); }

.ra-checkbox-row[b-kpcya1g38s] {
    display: flex;
    align-items: center;
    gap: 11px;
    cursor: pointer;
    padding: 8px 0;
    font-size: 12.5px;
    color: var(--rz-text-secondary-color);
    user-select: none;
}

.ra-checkbox-row input[type="checkbox"][b-kpcya1g38s] { accent-color: var(--bc-grana); cursor: pointer; }

.ra-refund-box[b-kpcya1g38s] {
    border: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.14));
    border-radius: 10px;
    padding: 10px 14px 12px;
    margin: 4px 0 16px;
    background: var(--rz-base-200, #f5f5f5);
}

html:has(.rz-material-dark) .ra-refund-box[b-kpcya1g38s] { background: rgba(255,255,255,.04); }

.ra-refund-note[b-kpcya1g38s] {
    font-size: 13px;
    color: var(--rz-text-color);
    margin-bottom: 4px;
    line-height: 1.5;
}

.ra-refund-options[b-kpcya1g38s] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}

.ra-refund-option[b-kpcya1g38s] {
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    font-size: 13px;
    color: var(--rz-text-color);
    user-select: none;
}

.ra-refund-option input[type="radio"][b-kpcya1g38s] { accent-color: var(--bc-grana); cursor: pointer; }

.ra-refund-amount[b-kpcya1g38s] {
    margin-top: 8px;
    font-size: 13px;
    color: var(--rz-text-color);
}

.ra-refund-hint[b-kpcya1g38s] {
    margin-top: 8px;
    font-size: 11.5px;
    color: var(--rz-text-secondary-color);
    line-height: 1.45;
}

.ra-modal-footer[b-kpcya1g38s] {
    padding: 14px 26px;
    border-top: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.1));
    background: var(--rz-base-200, #f5f5f5);
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

html:has(.rz-material-dark) .ra-modal-footer[b-kpcya1g38s] { background: rgba(255,255,255,.04); }

.ra-btn-ghost[b-kpcya1g38s] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 18px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.04em;
    cursor: pointer;
    background: transparent;
    color: var(--rz-text-color);
    border: 1px solid var(--rz-panel-border-color, rgba(0,0,0,.2));
    font-family: inherit;
    transition: all 0.12s;
}

.ra-btn-ghost:hover[b-kpcya1g38s] { background: var(--rz-base-200); }

.ra-btn-danger[b-kpcya1g38s] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 9px 18px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.04em;
    cursor: pointer;
    background: var(--bc-grana);
    color: #fff;
    border: none;
    font-family: inherit;
    transition: background 0.12s;
}

.ra-btn-danger:hover:not(:disabled)[b-kpcya1g38s] { background: var(--bc-grana-deep); }
.ra-btn-danger:disabled[b-kpcya1g38s] { opacity: 0.55; cursor: not-allowed; }

/* ── EMPTY STATE ──────────────────────────────────────────── */
.ra-empty[b-kpcya1g38s] {
    padding: 48px 22px;
    text-align: center;
    color: var(--rz-text-secondary-color);
    font-size: 14px;
}

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 1100px) {
    .ra-kpi-strip[b-kpcya1g38s] { grid-template-columns: repeat(2, 1fr); }
    .ra-table-head[b-kpcya1g38s],
    .ra-row[b-kpcya1g38s] { overflow-x: auto; }
}
/* /Components/Pages/Usuarios/Usuarios.razor.rz.scp.css */
/* ════════════════════════════════════════════════════════
   USUARIOS Y ROLES — editorial redesign (Barcino design system)
   Scoped styles. Dark variants target the ancestor .rz-material-dark.
   ════════════════════════════════════════════════════════ */

.ur-page[b-hsabzjntss] {
    display: flex;
    flex-direction: column;
    gap: 1.375rem;
}

/* ── KPIs por rol ── */
.ur-kpis[b-hsabzjntss] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.875rem;
}

.ur-kpi[b-hsabzjntss] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    padding: 1rem 1.125rem;
    box-shadow: var(--rz-card-shadow, none);
}

.ur-kpi-label[b-hsabzjntss] {
    font-family: "Inter", sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin-bottom: 0.625rem;
}

.ur-kpi-value[b-hsabzjntss] {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 500;
    font-size: 2.125rem;
    line-height: 1;
    color: var(--rz-text-color);
}

.ur-kpi-value--grana[b-hsabzjntss] { color: var(--bc-grana); }
.ur-kpi-value--info[b-hsabzjntss]  { color: var(--dp-info, #3a5fb0); }
.ur-kpi-value--soft[b-hsabzjntss]  { color: var(--bc-text-soft, rgba(10, 14, 31, 0.65)); }

.ur-kpi-desc[b-hsabzjntss] {
    font-size: 0.6875rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin-top: 0.5rem;
}

/* ── Toolbar ── */
.ur-toolbar[b-hsabzjntss] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    flex-wrap: wrap;
}

.ur-toolbar-label[b-hsabzjntss] {
    font-family: "Inter", sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin-right: 0.25rem;
}

.ur-toolbar-spacer[b-hsabzjntss] { flex: 1; }

.ur-chip[b-hsabzjntss] {
    padding: 0.375rem 0.8125rem;
    border-radius: 999px;
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    background: transparent;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.12));
    transition: color 0.12s, background 0.12s, border-color 0.12s;
}

.ur-chip:hover[b-hsabzjntss] { color: var(--rz-text-color); }

.ur-chip--active[b-hsabzjntss],
.ur-chip--active:hover[b-hsabzjntss] {
    background: var(--bc-grana);
    color: #fff;
    border-color: var(--bc-grana);
}

/* ── Search ── */
.ur-search[b-hsabzjntss] {
    position: relative;
    width: 300px;
    max-width: 100%;
}

.ur-search-icon[b-hsabzjntss] {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.45));
    display: inline-flex;
    line-height: 0;
    pointer-events: none;
}

.ur-search-input[b-hsabzjntss] {
    width: 100%;
    box-sizing: border-box;
    height: 38px;
    padding: 0 12px 0 36px;
    border-radius: 6px;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.12));
    background: var(--rz-base-background-color, #fff);
    color: var(--rz-text-color);
    font-family: inherit;
    font-size: 0.8125rem;
    outline: none;
    transition: border-color 0.12s, box-shadow 0.12s;
}

.ur-search-input[b-hsabzjntss]::placeholder { color: var(--bc-text-soft, rgba(10, 14, 31, 0.45)); }

.ur-search-input:focus[b-hsabzjntss] {
    border-color: var(--bc-grana);
    box-shadow: 0 0 0 0.2rem rgba(192, 54, 77, 0.2);
}

/* ── Card / table shell ── */
.ur-card[b-hsabzjntss] {
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    box-shadow: var(--rz-card-shadow, none);
    overflow: hidden;
}

.ur-thead[b-hsabzjntss],
.ur-row[b-hsabzjntss] {
    display: grid;
    grid-template-columns: 1fr 160px 150px 300px;
    gap: 1rem;
    align-items: center;
}

.ur-thead[b-hsabzjntss] {
    padding: 0.8125rem 1.5rem;
    background: var(--rz-grid-header-background-color, #faf6ed);
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.ur-th[b-hsabzjntss] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.59rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.ur-row[b-hsabzjntss] {
    padding: 0.875rem 1.5rem;
    border-bottom: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

/* ── Usuario cell ── */
.ur-user[b-hsabzjntss] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.ur-avatar[b-hsabzjntss] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    flex-shrink: 0;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Fraunces", Georgia, serif;
    font-style: italic;
    font-weight: 700;
    font-size: 0.9375rem;
}

.ur-user-text[b-hsabzjntss] { min-width: 0; }

.ur-user-email[b-hsabzjntss] {
    font-size: 0.84375rem;
    font-weight: 600;
    color: var(--rz-text-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ur-user-name[b-hsabzjntss] {
    font-size: 0.71875rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    margin-top: 2px;
}

/* ── Role badges ── */
.ur-role-badge[b-hsabzjntss] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.65625rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    white-space: nowrap;
}

.ur-role-badge svg[b-hsabzjntss] { flex-shrink: 0; }

.ur-role-badge--admin[b-hsabzjntss] {
    background: rgba(192, 54, 77, 0.1);
    color: var(--bc-grana);
}

.ur-role-badge--empleado[b-hsabzjntss] {
    background: var(--dp-nocturno-bg, rgba(58, 95, 176, 0.1));
    color: var(--dp-info, #3a5fb0);
}

.ur-role-badge--usuario[b-hsabzjntss] {
    background: rgba(10, 14, 31, 0.05);
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

/* ── Alta cell ── */
.ur-alta[b-hsabzjntss] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.75rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

/* ── Cambiar rol cell ── */
.ur-change[b-hsabzjntss] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ur-select-wrap[b-hsabzjntss] {
    position: relative;
    flex: 1;
    min-width: 0;
}

.ur-select[b-hsabzjntss] {
    width: 100%;
    height: 38px;
    padding: 0 30px 0 12px;
    border-radius: 6px;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.12));
    background: var(--rz-base-background-color, #fff);
    color: var(--rz-text-color);
    font-family: inherit;
    font-size: 0.8125rem;
    cursor: pointer;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: border-color 0.12s, box-shadow 0.12s;
}

.ur-select:focus[b-hsabzjntss] {
    border-color: var(--bc-grana);
    box-shadow: 0 0 0 0.2rem rgba(192, 54, 77, 0.2);
}

.ur-select--changed[b-hsabzjntss] { border-color: var(--bc-grana); }

.ur-select-chevron[b-hsabzjntss] {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.45));
    display: inline-flex;
    line-height: 0;
}

.ur-save[b-hsabzjntss] {
    width: 38px;
    height: 38px;
    padding: 0;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: pointer;
    background: transparent;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.45));
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.12));
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.ur-save:disabled[b-hsabzjntss] { cursor: default; }

.ur-save--active[b-hsabzjntss] {
    background: var(--bc-grana);
    color: #fff;
    border-color: var(--bc-grana);
}

.ur-save--active:hover[b-hsabzjntss] {
    background: var(--bc-grana-deep);
    border-color: var(--bc-grana-deep);
}

.ur-spinner[b-hsabzjntss] {
    width: 15px;
    height: 15px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ur-spin-b-hsabzjntss 0.6s linear infinite;
}

@keyframes ur-spin-b-hsabzjntss {
    to { transform: rotate(360deg); }
}

/* ── Empty state ── */
.ur-empty[b-hsabzjntss] {
    padding: 2.5rem 1.5rem;
    text-align: center;
    font-size: 0.875rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

/* ── Pager ── */
.ur-pager[b-hsabzjntss] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.875rem 1.5rem;
    background: var(--rz-grid-header-background-color, #faf6ed);
    border-top: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
}

.ur-pager-info[b-hsabzjntss] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

.ur-pager-controls[b-hsabzjntss] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ur-pager-btn[b-hsabzjntss],
.ur-pager-num[b-hsabzjntss] {
    min-width: 28px;
    height: 28px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    background: transparent;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    line-height: 0;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.ur-pager-btn:hover:not(:disabled)[b-hsabzjntss],
.ur-pager-num:hover[b-hsabzjntss] { background: var(--rz-base-background-color, #fff); color: var(--rz-text-color); }

.ur-pager-btn:disabled[b-hsabzjntss] { opacity: 0.4; cursor: default; }

.ur-pager-num--active[b-hsabzjntss],
.ur-pager-num--active:hover[b-hsabzjntss] {
    background: var(--bc-grana);
    color: #fff;
    border-color: var(--bc-grana);
}

/* ── Leyenda ── */
.ur-legend[b-hsabzjntss] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.875rem;
}

.ur-legend-item[b-hsabzjntss] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--bc-border-color, rgba(10, 14, 31, 0.08));
    border-radius: 6px;
    padding: 0.875rem 1rem;
    box-shadow: var(--rz-card-shadow, none);
}

.ur-legend-desc[b-hsabzjntss] {
    font-size: 0.75rem;
    color: var(--bc-text-soft, rgba(10, 14, 31, 0.65));
}

/* ════════════════════════════════════════════════════════
   DARK THEME OVERRIDES
   ════════════════════════════════════════════════════════ */
.rz-material-dark .ur-kpi[b-hsabzjntss],
.rz-material-dark .ur-card[b-hsabzjntss],
.rz-material-dark .ur-legend-item[b-hsabzjntss] {
    background: var(--bc-navy);
}

.rz-material-dark .ur-thead[b-hsabzjntss],
.rz-material-dark .ur-pager[b-hsabzjntss] {
    background: var(--bc-navy-deep);
}

.rz-material-dark .ur-search-input[b-hsabzjntss],
.rz-material-dark .ur-select[b-hsabzjntss] {
    background: var(--bc-navy);
    border-color: rgba(243, 238, 229, 0.14);
    color: var(--bc-cream);
}

.rz-material-dark .ur-chip[b-hsabzjntss],
.rz-material-dark .ur-save[b-hsabzjntss],
.rz-material-dark .ur-pager-btn[b-hsabzjntss],
.rz-material-dark .ur-pager-num[b-hsabzjntss] {
    border-color: rgba(243, 238, 229, 0.14);
}

.rz-material-dark .ur-pager-btn:hover:not(:disabled)[b-hsabzjntss],
.rz-material-dark .ur-pager-num:hover[b-hsabzjntss] {
    background: var(--bc-navy-soft);
}

.rz-material-dark .ur-role-badge--usuario[b-hsabzjntss] {
    background: rgba(243, 238, 229, 0.08);
}

/* ════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
    .ur-kpis[b-hsabzjntss] { grid-template-columns: repeat(2, 1fr); }
    .ur-legend[b-hsabzjntss] { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .ur-thead[b-hsabzjntss] { display: none; }

    .ur-row[b-hsabzjntss] {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .ur-search[b-hsabzjntss] { width: 100%; }
}
