/* /Layout/NavMenu.razor.rz.scp.css */
/* ================================================= */
/* CONTENEDOR RAÍZ — ocupa todo el alto del drawer  */
/* ================================================= */
.navmenu-root[b-jk1vpbjvij] {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    padding: 8px 0 16px;
    box-sizing: border-box;
}

/* ================================================= */
/* HEADER DE MARCA — logo en la esquina del drawer  */
/* ================================================= */
/* ================================================= */
/* HOME LINK — fuera del bloque de menús            */
/* ================================================= */
.navmenu-root[b-jk1vpbjvij]  > .mud-nav-link {
    color: var(--app-sidebar-text) !important;
    border-radius: 8px;
    transition: background 0.15s ease, color 0.15s ease;
}

.navmenu-root[b-jk1vpbjvij]  > .mud-nav-link:hover {
    background: var(--app-sidebar-hover-bg) !important;
    color: var(--app-sidebar-hover-text) !important;
}

.navmenu-root[b-jk1vpbjvij]  > .mud-nav-link.active {
    background: var(--app-sidebar-active) !important;
    color: var(--app-sidebar-icon) !important;
}

.navmenu-root[b-jk1vpbjvij]  > .mud-nav-link .mud-icon-root {
    color: var(--app-sidebar-icon) !important;
}

/* ================================================= */
/* BLOQUE DE ÍTEMS DE MENÚ                          */
/* ================================================= */
.navmenu-items[b-jk1vpbjvij] {
    width: 100%;
    margin-top: 4px;
}

/* ================================================= */
/* ESTILOS DE LINKS Y GRUPOS — colores de tema      */
/* ================================================= */
.navmenu-items[b-jk1vpbjvij]  .mud-nav-link,
.navmenu-items[b-jk1vpbjvij]  .mud-nav-group .mud-nav-link,
.navmenu-items[b-jk1vpbjvij]  .mud-nav-group > button {
    color: var(--app-sidebar-text) !important;
    border-radius: 8px;
    transition: background 0.15s ease, color 0.15s ease;
}

/* Permite que el texto ocupe más de una línea si es largo */
.navmenu-items[b-jk1vpbjvij]  .mud-nav-link-text,
.navmenu-items[b-jk1vpbjvij]  .mud-nav-group .mud-nav-link-text {
    color: inherit !important;
    font-weight: 600;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    word-break: break-word;
    line-height: 1.35;
    flex: 1;
    min-width: 0;
}

/* Íconos — color corporativo por tema */
.navmenu-items[b-jk1vpbjvij]  .mud-nav-link .mud-icon-root,
.navmenu-items[b-jk1vpbjvij]  .mud-nav-group .mud-icon-root {
    color: var(--app-sidebar-icon) !important;
    flex-shrink: 0;
}

/* Ítem activo */
.navmenu-items[b-jk1vpbjvij]  .mud-nav-link.active {
    background: var(--app-sidebar-active) !important;
    color: var(--app-sidebar-icon) !important;
}

.navmenu-items[b-jk1vpbjvij]  .mud-nav-link.active .mud-nav-link-text {
    color: var(--app-sidebar-icon) !important;
}

/* Hover */
.navmenu-items[b-jk1vpbjvij]  .mud-nav-link:hover,
.navmenu-items[b-jk1vpbjvij]  .mud-nav-group > button:hover {
    background: var(--app-sidebar-hover-bg) !important;
    color: var(--app-sidebar-hover-text) !important;
}

/* Grupos: altura mínima del botón de cabecera */
.navmenu-items[b-jk1vpbjvij]  .mud-nav-group > button {
    min-height: 44px;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Links individuales: altura mínima y alineación con texto largo */
.navmenu-items[b-jk1vpbjvij]  .mud-nav-link {
    min-height: 44px;
    align-items: flex-start !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* ================================================= */
/* MODO MINI — oculta textos y centra íconos        */
/* ================================================= */

/* Ocultar texto de los nav links */
.navmenu-mini[b-jk1vpbjvij]  .mud-nav-link-text,
.navmenu-mini[b-jk1vpbjvij]  .mud-nav-group .mud-nav-link-text {
    display: none !important;
}

/* Centrar icono en links individuales */
.navmenu-mini[b-jk1vpbjvij]  .mud-nav-link {
    justify-content: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    align-items: center !important;
}

/* Centrar icono en nav groups (contenedores) */
.navmenu-mini[b-jk1vpbjvij]  .mud-nav-group > button {
    justify-content: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Ocultar flecha de expansión del grupo */
.navmenu-mini[b-jk1vpbjvij]  .mud-nav-group-arrow,
.navmenu-mini[b-jk1vpbjvij]  .mud-expand-panel-header .mud-icon-button {
    display: none !important;
}

/* Home link también centrado en mini */
.navmenu-mini[b-jk1vpbjvij] >  .mud-nav-link {
    justify-content: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* /Pages/Addresses/AddressCaptureModal.razor.rz.scp.css */
.address-modal-shell[b-vrmky0ishf] {
    width: min(920px, calc(100vw - 32px));
    min-width: 0;
    max-height: 82vh;
    background: var(--app-surface, #ffffff);
    border-radius: 16px;
    overflow: hidden;
}

.address-modal-header[b-vrmky0ishf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 1rem;
    color: #ffffff;
    background: #e51d35;
    border-radius: 16px 16px 0 0;
}

.address-modal-header__title[b-vrmky0ishf] {
    font-size: 1.2rem;
    font-weight: 800;
}

.address-modal-header__close[b-vrmky0ishf] {
    color: #ffffff !important;
}

.address-modal-body[b-vrmky0ishf] {
    padding: 1rem !important;
    overflow-y: auto;
}

.address-help-text[b-vrmky0ishf] {
    font-size: 0.98rem;
    color: #1f2937;
    margin-bottom: 0.3rem;
}

.address-help-note[b-vrmky0ishf] {
    font-size: 0.92rem;
    font-style: italic;
    color: #374151;
    margin-bottom: 0.2rem;
}

.address-capture-panel[b-vrmky0ishf],
.address-complement-panel[b-vrmky0ishf] {
    margin-top: 1rem;
    padding: 0.75rem 0;
}

.address-capture-intro[b-vrmky0ishf] {
    margin-bottom: 0.85rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #334155;
}

.address-capture-groups[b-vrmky0ishf] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.address-capture-group--main[b-vrmky0ishf] {
    grid-column: 1 / -1;
}

.address-capture-group[b-vrmky0ishf] {
    background: #ffffff;
    border: 1px solid #e5edf7;
    border-radius: 18px;
    padding: 0.75rem;
}

.address-capture-group__title[b-vrmky0ishf] {
    margin-bottom: 0.75rem;
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
    color: #1f2937;
}

.address-capture-group__labels[b-vrmky0ishf] {
    display: grid;
    gap: 0.45rem;
    margin-bottom: 0.55rem;
    font-size: 0.86rem;
    color: #475569;
    text-align: center;
}

.address-capture-group__controls[b-vrmky0ishf],
.address-complement-panel__row[b-vrmky0ishf] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.address-capture-group__controls--main[b-vrmky0ishf] {
    justify-content: space-between;
}

.address-capture-group__controls--secondary[b-vrmky0ishf],
.address-capture-group__controls--complement[b-vrmky0ishf] {
    justify-content: flex-start;
}

.address-capture-group--main .address-capture-group__labels[b-vrmky0ishf] {
    grid-template-columns: 220px 110px repeat(4, minmax(72px, 1fr));
}

.address-capture-group--secondary .address-capture-group__labels[b-vrmky0ishf] {
    grid-template-columns: 1fr 72px;
}

.address-capture-group--complement .address-capture-group__labels[b-vrmky0ishf] {
    grid-template-columns: 1fr 94px;
}

.address-select[b-vrmky0ishf],
.address-input[b-vrmky0ishf] {
    height: 40px;
    border-color: #d1d5db;
    border-radius: 10px;
}

.address-select-road[b-vrmky0ishf] {
    width: 220px;
}

.address-select-short[b-vrmky0ishf] {
    width: 72px;
}

.address-select-quadrant[b-vrmky0ishf] {
    width: 94px;
}

.address-input-number[b-vrmky0ishf] {
    width: 74px;
}

.address-inline-label[b-vrmky0ishf],
.address-inline-symbol[b-vrmky0ishf] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #374151;
}

.address-generated-block[b-vrmky0ishf] {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    margin-top: 1rem;
}

.address-generated-block__label[b-vrmky0ishf] {
    font-size: 0.95rem;
    font-weight: 800;
    color: #1f2937;
}

.address-generated-block__input[b-vrmky0ishf] {
    background: #f8fafc;
    font-weight: 600;
    border-radius: 10px;
}

.address-generated-block--secondary[b-vrmky0ishf] {
    margin-top: 0.85rem;
}

.address-complement-panel__title[b-vrmky0ishf] {
    font-size: 0.98rem;
    font-weight: 800;
    color: #1f2937;
}

.address-complement-panel__subtitle[b-vrmky0ishf] {
    font-size: 0.92rem;
    font-style: italic;
    color: #374151;
    margin-top: 0.25rem;
    margin-bottom: 0.75rem;
}

.address-complement-panel__input[b-vrmky0ishf] {
    width: 180px;
    height: 40px;
}

.address-complement-tags[b-vrmky0ishf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.address-complement-tag[b-vrmky0ishf] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 0.88rem;
    font-weight: 700;
}

.address-complement-tag__remove[b-vrmky0ishf] {
    border: none;
    background: transparent;
    color: #9a3412;
    cursor: pointer;
    font-weight: 800;
    line-height: 1;
}

.address-actions-secondary[b-vrmky0ishf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

.address-secondary-button[b-vrmky0ishf] {
    border-radius: 12px;
    font-weight: 700;
}

.address-geo-summary[b-vrmky0ishf] {
    margin-top: 0.85rem;
    font-size: 0.92rem;
    color: #1f2937;
}

.address-geo-summary--muted[b-vrmky0ishf] {
    color: #6b7280;
}

.address-geo-summary__separator[b-vrmky0ishf] {
    margin: 0 0.55rem;
    color: #9ca3af;
}

.address-modal-footer .mud-button-root[b-vrmky0ishf] {
    min-width: 118px;
}

.address-action-button[b-vrmky0ishf] {
    border-radius: 12px !important;
    padding-inline: 1.2rem !important;
    font-weight: 800 !important;
}

.address-manual-panel[b-vrmky0ishf] {
    margin-top: 0.5rem;
}

@media (max-width: 1100px) {
    .address-modal-shell[b-vrmky0ishf] {
        width: min(920px, calc(100vw - 24px));
        min-width: 0;
    }

    .address-capture-groups[b-vrmky0ishf] {
        grid-template-columns: 1fr;
    }

    .address-capture-group__labels[b-vrmky0ishf] {
        text-align: left;
    }

    .address-capture-group--main .address-capture-group__labels[b-vrmky0ishf],
    .address-capture-group--secondary .address-capture-group__labels[b-vrmky0ishf],
    .address-capture-group--complement .address-capture-group__labels[b-vrmky0ishf] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .address-capture-group__controls--main[b-vrmky0ishf],
    .address-capture-group__controls--secondary[b-vrmky0ishf],
    .address-capture-group__controls--complement[b-vrmky0ishf] {
        justify-content: flex-start;
    }

    .address-generated-block[b-vrmky0ishf] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .address-modal-shell[b-vrmky0ishf] {
        width: calc(100vw - 16px);
        max-height: 88vh;
        border-radius: 12px;
    }

    .address-modal-body[b-vrmky0ishf] {
        padding: 0.75rem !important;
    }

    .address-capture-group[b-vrmky0ishf] {
        padding: 0.7rem;
    }

    .address-capture-group__title[b-vrmky0ishf] {
        text-align: left;
    }

    .address-capture-group__labels[b-vrmky0ishf],
    .address-capture-group--main .address-capture-group__labels[b-vrmky0ishf],
    .address-capture-group--secondary .address-capture-group__labels[b-vrmky0ishf],
    .address-capture-group--complement .address-capture-group__labels[b-vrmky0ishf] {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .address-select-road[b-vrmky0ishf],
    .address-complement-panel__input[b-vrmky0ishf],
    .address-generated-block__input[b-vrmky0ishf] {
        width: 100%;
    }

    .address-input-number[b-vrmky0ishf],
    .address-select-short[b-vrmky0ishf],
    .address-select-quadrant[b-vrmky0ishf] {
        width: calc(50% - 0.25rem);
        min-width: 0;
    }

    .address-complement-panel__row > *[b-vrmky0ishf] {
        width: 100%;
    }

    .address-actions-secondary[b-vrmky0ishf] {
        flex-direction: column;
    }

    .address-actions-secondary :deep(.mud-button-root)[b-vrmky0ishf] {
        width: 100%;
        justify-content: center;
    }

    .address-capture-group__controls--secondary .address-inline-label[b-vrmky0ishf],
    .address-capture-group__controls--complement .address-inline-symbol[b-vrmky0ishf] {
        width: 100%;
        text-align: left;
    }

    .address-modal-footer[b-vrmky0ishf] {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .address-modal-footer .mud-button-root:first-child[b-vrmky0ishf] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .address-input-number[b-vrmky0ishf],
    .address-select-short[b-vrmky0ishf],
    .address-select-quadrant[b-vrmky0ishf] {
        width: 100%;
    }
}
/* /Pages/Auth/DataPolicyConsentDialog.razor.rz.scp.css */
.policy-dialog[b-x1pl17nr1m] {
    color: var(--mud-palette-text-primary);
}

.policy-dialog-layout[b-x1pl17nr1m] {
    display: grid;
    grid-template-rows: auto auto minmax(180px, 1fr) auto;
    gap: 1rem;
    height: min(62vh, 620px);
    min-height: 430px;
    overflow: hidden;
}

.policy-dialog-header[b-x1pl17nr1m] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--mud-palette-primary), var(--app-gradient-primary-end));
    color: var(--mud-palette-primary-text);
}

.policy-dialog-heading[b-x1pl17nr1m] {
    min-width: 0;
}

.policy-dialog-header-icon[b-x1pl17nr1m] {
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.16);
    color: inherit;
}

.policy-dialog-title[b-x1pl17nr1m],
.policy-dialog-version[b-x1pl17nr1m],
.policy-dialog-header-icon :deep(.mud-icon-root)[b-x1pl17nr1m] {
    color: inherit !important;
}

.policy-dialog-version[b-x1pl17nr1m] {
    opacity: 0.88;
}

.policy-dialog-alert[b-x1pl17nr1m] {
    margin: 0 !important;
}

.policy-dialog-document[b-x1pl17nr1m] {
    min-height: 0;
    overflow-y: auto;
    padding: 1.15rem 1.25rem;
    border: 1px solid var(--mud-palette-divider);
    border-radius: 14px;
    background: color-mix(in srgb, var(--mud-palette-background) 72%, var(--mud-palette-surface));
    color: var(--mud-palette-text-primary);
    font-size: 0.94rem;
    line-height: 1.65;
    white-space: pre-wrap;
    scrollbar-gutter: stable;
}

.policy-dialog-consent[b-x1pl17nr1m] {
    display: grid;
    gap: 0.55rem;
    flex: 0 0 auto;
}

.policy-dialog-authorization[b-x1pl17nr1m] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    max-height: 120px;
    margin: 0;
    padding: 0.75rem 0.9rem;
    overflow-y: auto;
    border-left: 4px solid var(--mud-palette-primary);
    border-radius: 10px;
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
}

.policy-dialog-checkbox[b-x1pl17nr1m] {
    font-weight: 600;
}

.policy-dialog-actions[b-x1pl17nr1m] {
    display: grid;
    gap: 0.7rem;
    width: 100%;
}

.policy-dialog-confirmation[b-x1pl17nr1m] {
    width: 100%;
    padding: 0.55rem 0.85rem;
    border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 38%, var(--mud-palette-divider));
    border-radius: 12px;
    background: color-mix(in srgb, var(--mud-palette-primary) 7%, var(--mud-palette-surface));
}

.policy-dialog-footer[b-x1pl17nr1m] {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    gap: 0.75rem;
}

@media (max-width: 600px) {
    .policy-dialog-layout[b-x1pl17nr1m] {
        height: min(54vh, 520px);
        min-height: 330px;
        gap: 0.75rem;
    }

    .policy-dialog-header[b-x1pl17nr1m] {
        gap: 0.75rem;
        padding: 0.85rem;
    }

    .policy-dialog-title[b-x1pl17nr1m] {
        font-size: 1.1rem !important;
    }

    .policy-dialog-document[b-x1pl17nr1m] {
        padding: 0.85rem;
        font-size: 0.9rem;
    }

    .policy-dialog-authorization[b-x1pl17nr1m] {
        max-height: 96px;
        padding: 0.65rem 0.75rem;
    }

    .policy-dialog-footer[b-x1pl17nr1m] {
        display: grid;
        grid-template-columns: 1fr;
    }

    .policy-dialog-confirmation[b-x1pl17nr1m] {
        padding: 0.45rem 0.65rem;
    }

    .policy-dialog-footer :deep(.mud-button-root)[b-x1pl17nr1m] {
        width: 100%;
    }

    .policy-dialog-footer :deep(.mud-button-filled-primary)[b-x1pl17nr1m] {
        order: -1;
    }
}
/* /Pages/Auth/Login.razor.rz.scp.css */
/* =======================================================
   LOGIN - compacto, aislado del dialog NoHeader
   ======================================================= */

.login-shell[b-r0anszwylw] {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border-radius: 14px;
    background:
        radial-gradient(circle at 92% 0%, rgba(124, 58, 237, 0.16), transparent 32%),
        linear-gradient(180deg, rgba(37, 99, 235, 0.06) 0%, transparent 34%),
        var(--app-surface, #ffffff);
}

.login-accent-bar[b-r0anszwylw] {
    height: 4px;
    background: linear-gradient(90deg, var(--theme-action-start, #2563eb), var(--theme-action-end, #7c3aed));
}

.login-header[b-r0anszwylw] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--app-border, rgba(15, 23, 42, 0.08));
}

.login-logo-wrap[b-r0anszwylw] {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    overflow: hidden;
    border-radius: 50%;
    background: #05070d;
    box-shadow:
        0 10px 22px rgba(37, 99, 235, 0.25),
        0 0 0 5px rgba(37, 99, 235, 0.10);
}

.login-logo-img[b-r0anszwylw] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.login-heading[b-r0anszwylw] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.login-title[b-r0anszwylw] {
    color: var(--app-text, #0f172a);
    font-size: 1.22rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.12;
}

.login-subtitle[b-r0anszwylw] {
    color: var(--app-muted, #64748b);
    font-size: 0.78rem;
    line-height: 1.25;
}

.login-body[b-r0anszwylw] {
    padding: 16px 20px 14px;
}

.login-fields[b-r0anszwylw] {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

.login-field[b-r0anszwylw] {
    display: grid;
    gap: 5px;
}

.login-field-label[b-r0anszwylw] {
    color: var(--app-muted, #94a3b8);
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1;
}

[b-r0anszwylw] .login-field-input,
[b-r0anszwylw] .login-field-input .mud-input-control {
    margin-top: 0 !important;
}

[b-r0anszwylw] .login-field-input .mud-input-root,
[b-r0anszwylw] .login-field-input .mud-input-slot {
    min-height: 40px !important;
    align-items: center !important;
    background: var(--app-field-bg, #f8fafc) !important;
}

[b-r0anszwylw] .login-field-input .mud-input-outlined-border {
    border-color: var(--app-field-border, #2d4162) !important;
    border-radius: 10px !important;
}

[b-r0anszwylw] .login-field-input .mud-input:focus-within .mud-input-outlined-border,
[b-r0anszwylw] .login-field-input.mud-input-control:focus-within .mud-input-outlined-border {
    border-color: var(--app-primary, #2563eb) !important;
}

[b-r0anszwylw] .login-field-input .mud-input > input {
    min-height: 40px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    font-size: 0.9rem !important;
    line-height: 1.25 !important;
}

[b-r0anszwylw] .login-field-input .mud-input-adornment {
    margin-top: 0 !important;
    align-self: center !important;
}

[b-r0anszwylw] .login-field-input .mud-input-adornment .mud-icon-root {
    font-size: 1.1rem !important;
}

.login-actions[b-r0anszwylw] {
    display: grid;
    gap: 8px;
}

[b-r0anszwylw] .login-btn-submit {
    height: 40px !important;
    border-radius: 11px !important;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    background: linear-gradient(90deg, var(--theme-action-start, #2563eb), var(--theme-action-end, #7c3aed)) !important;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.26) !important;
    transition: box-shadow 0.18s ease, transform 0.14s ease !important;
}

[b-r0anszwylw] .login-btn-submit:hover {
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.36) !important;
    transform: translateY(-1px);
}

[b-r0anszwylw] .login-btn-cancel {
    height: 34px !important;
    border-radius: 11px !important;
    color: var(--app-muted, #64748b) !important;
    border-color: var(--app-border, #cbd5e1) !important;
    font-weight: 700 !important;
    font-size: 0.86rem !important;
    opacity: 0.9;
    box-shadow: none !important;
}

[b-r0anszwylw] .login-btn-cancel:hover {
    opacity: 1;
    background: rgba(100, 116, 139, 0.08) !important;
}

.login-footer[b-r0anszwylw] {
    padding: 0 20px 16px;
}

.login-footer-divider[b-r0anszwylw] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 7px;
}

.login-footer-divider[b-r0anszwylw]::before,
.login-footer-divider[b-r0anszwylw]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--app-border, #e2e8f0);
}

.login-footer-label[b-r0anszwylw] {
    color: var(--app-muted, #94a3b8);
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.login-footer-links[b-r0anszwylw] {
    display: grid;
    gap: 2px;
}

.login-footer-item[b-r0anszwylw] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 26px;
    padding: 3px 4px;
    border-radius: 7px;
    transition: background 0.15s ease;
}

.login-footer-item:hover[b-r0anszwylw] {
    background: rgba(59, 130, 246, 0.08);
}

[b-r0anszwylw] .login-footer-icon {
    width: 0.88rem !important;
    height: 0.88rem !important;
    color: var(--app-muted, #94a3b8) !important;
    flex-shrink: 0;
    font-size: 0.88rem !important;
}

[b-r0anszwylw] .login-footer-item a {
    color: var(--app-muted, #94a3b8) !important;
    font-size: 0.74rem !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
}

[b-r0anszwylw] .login-footer-item a:hover,
[b-r0anszwylw] .login-footer-item a strong {
    color: var(--app-primary, #2563eb) !important;
}

[b-r0anszwylw] .login-footer-item a strong {
    font-weight: 800;
}

@media (max-width: 520px) {
    .login-shell[b-r0anszwylw] {
        width: 100%;
    }

    .login-header[b-r0anszwylw] {
        padding: 15px 16px;
    }

    .login-logo-wrap[b-r0anszwylw] {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .login-title[b-r0anszwylw] {
        font-size: 1.08rem;
    }

    .login-subtitle[b-r0anszwylw] {
        font-size: 0.72rem;
    }

    .login-body[b-r0anszwylw] {
        padding: 15px 16px 13px;
    }

    .login-footer[b-r0anszwylw] {
        padding: 0 16px 15px;
    }
}
/* /Pages/Auth/Register.razor.rz.scp.css */
.register-address-actions[b-j6qq1te13w] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.register-address-actions :deep(.mud-button-root)[b-j6qq1te13w] {
    min-height: 44px;
}

.password-requirements[b-j6qq1te13w] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem 0.75rem;
    margin-top: 0.65rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--mud-palette-divider);
    border-radius: 10px;
    background: color-mix(in srgb, var(--mud-palette-surface) 92%, transparent);
}

.password-rule[b-j6qq1te13w] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--mud-palette-text-secondary);
    font-size: 0.82rem;
}

.password-rule--valid[b-j6qq1te13w] {
    color: var(--mud-palette-success);
    font-weight: 600;
}

.policy-consent-card[b-j6qq1te13w] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--mud-palette-divider);
    border-radius: 16px;
    background: color-mix(in srgb, var(--mud-palette-surface) 94%, var(--mud-palette-primary));
    transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.policy-consent-card--accepted[b-j6qq1te13w] {
    border-color: color-mix(in srgb, var(--mud-palette-success) 55%, var(--mud-palette-divider));
    background: color-mix(in srgb, var(--mud-palette-success) 7%, var(--mud-palette-surface));
    box-shadow: 0 8px 24px color-mix(in srgb, var(--mud-palette-success) 10%, transparent);
}

.policy-consent-icon[b-j6qq1te13w] {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    color: var(--mud-palette-primary);
}

.policy-consent-card--accepted .policy-consent-icon[b-j6qq1te13w] {
    background: color-mix(in srgb, var(--mud-palette-success) 13%, transparent);
    color: var(--mud-palette-success);
}

.policy-consent-title[b-j6qq1te13w] {
    font-weight: 700 !important;
}

.policy-consent-version[b-j6qq1te13w],
.policy-consent-status[b-j6qq1te13w] {
    color: var(--mud-palette-text-secondary);
}

.policy-consent-status[b-j6qq1te13w] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.35rem;
    font-size: 0.82rem;
}

.policy-consent-card--accepted .policy-consent-status[b-j6qq1te13w] {
    color: var(--mud-palette-success);
    font-weight: 600;
}

.policy-consent-action[b-j6qq1te13w] {
    white-space: nowrap;
}

@media (max-width: 700px) {
    .password-requirements[b-j6qq1te13w] {
        grid-template-columns: 1fr;
    }
    .register-address-actions[b-j6qq1te13w] {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .register-address-actions :deep(.mud-button-root)[b-j6qq1te13w] {
        width: 100%;
        justify-content: center;
    }

    .policy-consent-card[b-j6qq1te13w] {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.75rem;
        padding: 0.9rem;
    }

    .policy-consent-icon[b-j6qq1te13w] {
        width: 46px;
        height: 46px;
        border-radius: 14px;
    }

    .policy-consent-action[b-j6qq1te13w] {
        grid-column: 1 / -1;
        width: 100%;
    }
}
/* /Pages/Auth/TenantSelectionDialog.razor.rz.scp.css */
.tenant-selector[b-r6fk7t4wyv] { padding:1.25rem; }
.tenant-selector-intro[b-r6fk7t4wyv] { display:flex; align-items:flex-start; gap:.9rem; margin-bottom:1rem; }
.tenant-selector-intro h3[b-r6fk7t4wyv] { margin:0; font-size:1.3rem; }
.tenant-selector-intro p[b-r6fk7t4wyv] { margin:.25rem 0 0; color:var(--mud-palette-text-secondary); }
.tenant-selector-list[b-r6fk7t4wyv] { display:grid; gap:.65rem; max-height:min(420px,55dvh); margin-bottom:1rem; overflow-y:auto; }
.tenant-selector-option[b-r6fk7t4wyv] { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.8rem; width:100%; padding:.85rem; border:1px solid var(--mud-palette-lines-default); border-radius:12px; color:var(--mud-palette-text-primary); background:var(--mud-palette-surface); cursor:pointer; text-align:left; transition:border-color .15s ease,background .15s ease; }
.tenant-selector-option:hover[b-r6fk7t4wyv],.tenant-selector-option:focus-visible[b-r6fk7t4wyv] { border-color:var(--mud-palette-primary); background:var(--mud-palette-action-default-hover); outline:none; }
.tenant-selector-option img[b-r6fk7t4wyv] { width:42px; height:42px; border-radius:50%; object-fit:contain; }
.tenant-selector-option strong[b-r6fk7t4wyv],.tenant-selector-option small[b-r6fk7t4wyv] { display:block; }
.tenant-selector-option small[b-r6fk7t4wyv] { margin-top:.15rem; color:var(--mud-palette-text-secondary); }
@media (max-width:600px) { .tenant-selector[b-r6fk7t4wyv]{padding:1rem}.tenant-selector-list[b-r6fk7t4wyv]{max-height:52dvh}.tenant-selector-option[b-r6fk7t4wyv]{padding:.75rem} }
/* /Pages/Festivos/AdminFestivos.razor.rz.scp.css */
.festivos-calendar-shell[b-dpyqdz6k9h] {
    margin-top: 1rem;
    padding: 1rem 0 1.5rem 0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.festivos-calendar-toolbar[b-dpyqdz6k9h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 1rem 1rem 1rem;
}

.festivos-calendar-title-block[b-dpyqdz6k9h] {
    text-align: center;
    flex: 1;
}

.festivos-calendar-year[b-dpyqdz6k9h] {
    font-weight: 800;
    margin-bottom: 2px;
}

.festivos-calendar-subtitle[b-dpyqdz6k9h] {
    color: #64748b;
}

.festivos-legend[b-dpyqdz6k9h] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 0 1rem 1rem 1rem;
}

.festivos-legend-item[b-dpyqdz6k9h] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.92rem;
    color: #475569;
}

.festivos-legend-color[b-dpyqdz6k9h] {
    width: 18px;
    height: 18px;
    border-radius: 6px;
    display: inline-block;
}

.festivos-legend-color--holiday[b-dpyqdz6k9h] {
    background: #dc2626;
}

.festivos-legend-color--today[b-dpyqdz6k9h] {
    background: #ffffff;
    border: 2px solid #334155;
}

.festivos-year-grid[b-dpyqdz6k9h] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    padding: 0 1rem;
}

.festivos-month-grid[b-dpyqdz6k9h] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: 0 1rem;
}

.festivos-month-card[b-dpyqdz6k9h] {
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.festivos-month-card--single[b-dpyqdz6k9h] {
    max-width: 780px;
    width: 100%;
    margin: 0 auto;
}

.festivos-month-header[b-dpyqdz6k9h] {
    text-align: center;
    margin-bottom: 10px;
}

.festivos-month-header .mud-typography[b-dpyqdz6k9h] {
    font-weight: 800;
    text-transform: capitalize;
}

.festivos-weekdays[b-dpyqdz6k9h],
.festivos-days[b-dpyqdz6k9h] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}

.festivos-weekdays[b-dpyqdz6k9h] {
    margin-bottom: 8px;
}

.festivos-weekday[b-dpyqdz6k9h] {
    text-align: center;
    font-weight: 700;
    color: #64748b;
    font-size: 0.95rem;
}

.festivos-day[b-dpyqdz6k9h] {
    min-height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #334155;
    font-weight: 600;
    background: transparent;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.festivos-day[title][b-dpyqdz6k9h] {
    cursor: default;
}

.festivos-day:hover[b-dpyqdz6k9h] {
    transform: translateY(-1px);
}

.festivos-day--empty[b-dpyqdz6k9h] {
    background: transparent;
}

.festivos-day--holiday[b-dpyqdz6k9h] {
    background: #dc2626;
    color: #ffffff;
    box-shadow: 0 8px 16px rgba(220, 38, 38, 0.22);
}

.festivos-day--today[b-dpyqdz6k9h] {
    border: 2px solid #334155;
    background: #ffffff;
    color: #0f172a;
}

.festivos-day--sunday[b-dpyqdz6k9h] {
    color: #dc2626;
}

@media (max-width: 1280px) {
    .festivos-year-grid[b-dpyqdz6k9h] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .festivos-year-grid[b-dpyqdz6k9h] {
        grid-template-columns: minmax(0, 1fr);
    }

    .festivos-calendar-toolbar[b-dpyqdz6k9h] {
        padding-top: 4px;
    }

    .festivos-day[b-dpyqdz6k9h] {
        min-height: 34px;
        font-size: 0.92rem;
    }
}
/* /Pages/Festivos/FestivosCalendarView.razor.rz.scp.css */
.festivos-calendar-dialog-shell[b-9visas1iiv],
.festivos-calendar-page-shell[b-9visas1iiv] {
    min-height: 320px;
}

.festivos-calendar-dialog-shell[b-9visas1iiv] {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 80px);
    height: calc(100vh - 80px);
    overflow: hidden;
}

.festivos-calendar-page-shell[b-9visas1iiv] {
    padding: 1rem;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.festivos-calendar-view-body[b-9visas1iiv] {
    padding: 0.5rem 0.25rem 0;
}

.festivos-calendar-dialog-shell .festivos-calendar-view-body[b-9visas1iiv] {
    flex: 1;
    overflow-y: auto;
    padding-right: 0.5rem;
}

.festivos-calendar-view-footer[b-9visas1iiv] {
    margin-top: 1.25rem;
}

.festivos-calendar-dialog-shell .festivos-calendar-view-footer[b-9visas1iiv] {
    margin-top: 0;
    padding-top: 1rem;
    background: #ffffff;
}

.festivos-calendar-toolbar[b-9visas1iiv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 0.25rem 1rem 0.25rem;
}

.festivos-calendar-title-block[b-9visas1iiv] {
    text-align: center;
    flex: 1;
}

.festivos-calendar-year[b-9visas1iiv] {
    font-weight: 800;
    margin-bottom: 2px;
}

.festivos-calendar-subtitle[b-9visas1iiv] {
    color: #64748b;
}

.festivos-legend[b-9visas1iiv] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 0 0.25rem 1rem 0.25rem;
}

.festivos-legend-item[b-9visas1iiv] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.92rem;
    color: #475569;
}

.festivos-legend-color[b-9visas1iiv] {
    width: 18px;
    height: 18px;
    border-radius: 6px;
    display: inline-block;
}

.festivos-legend-color--holiday[b-9visas1iiv] {
    background: #dc2626;
}

.festivos-legend-color--today[b-9visas1iiv] {
    background: #ffffff;
    border: 2px solid #334155;
}

.festivos-year-grid[b-9visas1iiv] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    padding: 0 0.25rem;
}

.festivos-month-grid[b-9visas1iiv] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: 0 0.25rem;
}

.festivos-month-card[b-9visas1iiv] {
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.festivos-month-card--single[b-9visas1iiv] {
    max-width: 920px;
    width: 100%;
    margin: 0 auto;
}

.festivos-month-header[b-9visas1iiv] {
    text-align: center;
    margin-bottom: 10px;
}

.festivos-month-header .mud-typography[b-9visas1iiv] {
    font-weight: 800;
    text-transform: capitalize;
}

.festivos-weekdays[b-9visas1iiv],
.festivos-days[b-9visas1iiv] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}

.festivos-weekdays[b-9visas1iiv] {
    margin-bottom: 8px;
}

.festivos-weekday[b-9visas1iiv] {
    text-align: center;
    font-weight: 700;
    color: #64748b;
    font-size: 0.95rem;
}

.festivos-day[b-9visas1iiv] {
    min-height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #334155;
    font-weight: 600;
    background: transparent;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.festivos-day[title][b-9visas1iiv] {
    cursor: default;
}

.festivos-day:hover[b-9visas1iiv] {
    transform: translateY(-1px);
}

.festivos-day--empty[b-9visas1iiv] {
    background: transparent;
}

.festivos-day--holiday[b-9visas1iiv] {
    background: #dc2626;
    color: #ffffff;
    box-shadow: 0 8px 16px rgba(220, 38, 38, 0.22);
}

.festivos-day--today[b-9visas1iiv] {
    border: 2px solid #334155;
    background: #ffffff;
    color: #0f172a;
}

.festivos-day--sunday[b-9visas1iiv] {
    color: #dc2626;
}

@media (max-width: 1400px) {
    .festivos-year-grid[b-9visas1iiv] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .festivos-year-grid[b-9visas1iiv] {
        grid-template-columns: minmax(0, 1fr);
    }

    .festivos-day[b-9visas1iiv] {
        min-height: 34px;
        font-size: 0.92rem;
    }
}
/* /Pages/Home.razor.rz.scp.css */
/* ══════════════════════════════════════
   VARIABLES DE DISEÑO LSOFT
══════════════════════════════════════ */
:root[b-kubkt5wbyy] {
  --ls-blue:         #2563EB;
  --ls-blue-light:   #3B82F6;
  --ls-violet:       #7C3AED;
  --ls-violet-light: #8B5CF6;
  --ls-dark:         #0F172A;
  --ls-navy:         #1E293B;
  --ls-slate:        #334155;
  --ls-gray:         #64748B;
  --ls-muted:        #94A3B8;
  --ls-border:       #E2E8F0;
  --ls-surface:      #F8FAFC;
  --ls-green:        #10B981;
  --ls-amber:        #F59E0B;

  --ls-gradient:      linear-gradient(135deg, #2563EB 0%, #7C3AED 100%);
  --ls-gradient-soft: linear-gradient(135deg,rgba(37,99,235,.09),rgba(124,58,237,.07));
  --ls-gradient-dark: linear-gradient(135deg, #0F172A 0%, #150F2B 100%);

  --ls-shadow-sm:   0 1px 4px rgba(0,0,0,.07);
  --ls-shadow-md:   0 4px 18px rgba(0,0,0,.10);
  --ls-shadow-lg:   0 20px 50px rgba(0,0,0,.14);
  --ls-shadow-blue: 0 8px 30px rgba(37,99,235,.40);
  --ls-shadow-glow: 0 0 80px rgba(37,99,235,.15);

  --ls-r-sm:  8px;
  --ls-r-md:  14px;
  --ls-r-lg:  20px;
  --ls-r-xl:  28px;
  --ls-r-pill:999px;

  --ls-ease: all .28s cubic-bezier(.4,0,.2,1);
  --ls-font: "Segoe UI", Arial, sans-serif;
}

*[b-kubkt5wbyy] { box-sizing: border-box; font-family: var(--ls-font); }

/* ══════════════════════════════════════
   HERO — SECCIÓN PRINCIPAL
══════════════════════════════════════ */
.lsoft-hero[b-kubkt5wbyy] {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  background: var(--ls-surface);
  overflow: hidden;
  padding: 110px 40px 90px;
}

/* DOT GRID */
.lsoft-hero[b-kubkt5wbyy]::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle,#CBD5E1 1px,transparent 1px);
  background-size: 24px 24px;
  opacity: .30;
  pointer-events: none;
}

/* BLOB PRINCIPAL — esquina superior derecha */
.lsoft-hero[b-kubkt5wbyy]::after {
  content: '';
  position: absolute;
  top: -200px; right: -140px;
  width: 700px; height: 700px;
  border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
  background: var(--ls-gradient-soft);
  filter: blur(80px);
  pointer-events: none;
  animation: blobFloat-b-kubkt5wbyy 14s ease-in-out infinite;
}

/* BLOB SECUNDARIO — inferior izquierda */
.lsoft-hero-blob-secondary[b-kubkt5wbyy] {
  position: absolute;
  bottom: -100px; left: -80px;
  width: 450px; height: 450px;
  border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
  background: linear-gradient(135deg,rgba(124,58,237,.07),rgba(37,99,235,.05));
  filter: blur(65px);
  pointer-events: none;
  animation: blobFloat-b-kubkt5wbyy 18s ease-in-out infinite reverse;
}

.lsoft-hero-grid[b-kubkt5wbyy] {
  position: relative; z-index: 2;
  max-width: 1240px; margin: 0 auto; width: 100%;
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  gap: 72px;
  align-items: center;
}

/* ── BADGE ── */
.lsoft-badge[b-kubkt5wbyy] {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(37,99,235,.08);
  border: 1px solid rgba(37,99,235,.22);
  border-radius: var(--ls-r-pill);
  padding: 6px 18px;
  font-size: 11px; font-weight: 700;
  letter-spacing: 2px; color: var(--ls-blue);
  text-transform: uppercase; margin-bottom: 28px;
  animation: fadeInUp-b-kubkt5wbyy .6s ease .1s both;
}

.lsoft-badge-dot[b-kubkt5wbyy] {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--ls-blue); flex-shrink: 0;
  animation: pulseDot-b-kubkt5wbyy 2.2s ease-in-out infinite;
}

/* ── TÍTULO H1 ── */
.lsoft-hero-title[b-kubkt5wbyy] {
  font-size: clamp(36px, 4.2vw, 60px);
  font-weight: 800; line-height: 1.08;
  color: var(--ls-dark); margin-bottom: 24px;
  letter-spacing: -1.5px;
  animation: fadeInUp-b-kubkt5wbyy .6s ease .2s both;
}

.lsoft-gradient-text[b-kubkt5wbyy] {
  background: var(--ls-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── SUBTÍTULO ── */
.lsoft-hero-subtitle[b-kubkt5wbyy] {
  font-size: 17px; color: var(--ls-gray);
  line-height: 1.78; max-width: 500px;
  margin-bottom: 40px;
  animation: fadeInUp-b-kubkt5wbyy .6s ease .3s both;
}

/* ── BOTONES CTA ── */
.lsoft-hero-actions[b-kubkt5wbyy] {
  display: flex; gap: 14px; flex-wrap: wrap;
  margin-bottom: 50px;
  animation: fadeInUp-b-kubkt5wbyy .6s ease .4s both;
}

.lsoft-gradient-button[b-kubkt5wbyy] {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 15px 30px; border-radius: var(--ls-r-md);
  background: var(--ls-gradient); color: white;
  font-size: 15px; font-weight: 700;
  text-decoration: none; border: none; cursor: pointer;
  box-shadow: var(--ls-shadow-blue);
  transition: var(--ls-ease); white-space: nowrap;
}
.lsoft-gradient-button:hover[b-kubkt5wbyy] {
  transform: translateY(-3px);
  box-shadow: 0 16px 44px rgba(37,99,235,.50);
  color: white; text-decoration: none;
}
.lsoft-gradient-button[disabled][b-kubkt5wbyy] {
  opacity: .6; cursor: not-allowed; transform: none !important;
}

.lsoft-outline-button[b-kubkt5wbyy] {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 15px 30px; border-radius: var(--ls-r-md);
  background: white; color: var(--ls-dark);
  font-size: 15px; font-weight: 600;
  text-decoration: none;
  border: 2px solid var(--ls-border);
  box-shadow: var(--ls-shadow-sm);
  transition: var(--ls-ease); white-space: nowrap;
}
.lsoft-outline-button:hover[b-kubkt5wbyy] {
  border-color: var(--ls-blue); color: var(--ls-blue);
  background: rgba(37,99,235,.04);
  transform: translateY(-2px);
  text-decoration: none;
}

/* ── STATS ── */
.lsoft-hero-stats[b-kubkt5wbyy] {
  display: flex; align-items: center; gap: 30px;
  animation: fadeInUp-b-kubkt5wbyy .6s ease .5s both;
}

.lsoft-stat[b-kubkt5wbyy] {
  display: flex; flex-direction: column; gap: 3px;
  position: relative;
}
.lsoft-stat:not(:last-child)[b-kubkt5wbyy]::after {
  content: '';
  position: absolute; right: -15px; top: 50%;
  transform: translateY(-50%);
  width: 1px; height: 38px; background: var(--ls-border);
}
.lsoft-stat strong[b-kubkt5wbyy] {
  font-size: 28px; font-weight: 800; line-height: 1;
  background: var(--ls-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.lsoft-stat span[b-kubkt5wbyy] {
  font-size: 12px; color: var(--ls-gray);
  font-weight: 500; max-width: 110px;
}

/* ══════════════════════════════════════
   MOCKUP VISUAL — DASHBOARD
══════════════════════════════════════ */
.lsoft-hero-visual[b-kubkt5wbyy] {
  position: relative;
  animation: fadeInUp-b-kubkt5wbyy .9s ease .35s both;
}

.lsoft-mockup-frame[b-kubkt5wbyy] {
  background: #0F172A;
  border-radius: 18px;
  overflow: hidden;
  box-shadow:
    0 50px 100px rgba(15,23,42,.42),
    0 0 0 1px rgba(255,255,255,.07),
    var(--ls-shadow-glow);
  animation: floatY-b-kubkt5wbyy 7s ease-in-out infinite;
}

/* BARRA TIPO NAVEGADOR */
.lsoft-mockup-chrome[b-kubkt5wbyy] {
  height: 44px; background: #1E293B;
  display: flex; align-items: center; gap: 8px;
  padding: 0 18px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.lsoft-chrome-dots[b-kubkt5wbyy] { display: flex; gap: 6px; align-items: center; }
.dot-red[b-kubkt5wbyy]    { width:12px;height:12px;border-radius:50%;background:#FF5F57;display:block; }
.dot-yellow[b-kubkt5wbyy] { width:12px;height:12px;border-radius:50%;background:#FFBD2E;display:block; }
.dot-green[b-kubkt5wbyy]  { width:12px;height:12px;border-radius:50%;background:#28CA41;display:block; }
.lsoft-chrome-url[b-kubkt5wbyy] {
  flex: 1; margin: 0 14px;
  background: rgba(255,255,255,.06);
  border-radius: 6px; padding: 5px 12px;
  font-size: 11px; color: #94A3B8;
  display: flex; align-items: center; gap: 6px;
  max-width: 260px;
}
.lsoft-chrome-actions[b-kubkt5wbyy] { display:flex; gap:6px; margin-left:auto; }
.lsoft-chrome-pill[b-kubkt5wbyy] {
  height:8px; width:32px; border-radius:4px;
  background:rgba(255,255,255,.10);
}
.lsoft-chrome-pill--sm[b-kubkt5wbyy] { width:20px; }

/* CUERPO DEL DASHBOARD */
.lsoft-mockup-body[b-kubkt5wbyy] {
  display: flex; height: 310px;
}

/* SIDEBAR */
.lsoft-mock-sidebar[b-kubkt5wbyy] {
  width: 120px; background: #0D1526;
  padding: 14px 10px;
  display: flex; flex-direction: column; gap: 4px;
  border-right: 1px solid rgba(255,255,255,.05);
  flex-shrink: 0;
}
.lsoft-mock-logo-row[b-kubkt5wbyy] {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 14px; padding: 0 4px;
}
.lsoft-mock-logo-icon[b-kubkt5wbyy] {
  width: 28px; height: 28px; border-radius: 7px;
  background: var(--ls-gradient);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.lsoft-mock-sep[b-kubkt5wbyy] {
  height: 1px; background: rgba(255,255,255,.06);
  margin: 6px 0 10px;
}
.lsoft-mock-nav-item[b-kubkt5wbyy] {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 10px; border-radius: 8px;
  font-size: 11px; color: rgba(255,255,255,.40);
  cursor: pointer; transition: background .2s;
}
.lsoft-mock-nav-item span[b-kubkt5wbyy] { white-space: nowrap; }
.lsoft-mock-nav-active[b-kubkt5wbyy] {
  background: rgba(37,99,235,.22);
  color: white !important;
  border: 1px solid rgba(37,99,235,.20);
}

/* ÁREA PRINCIPAL */
.lsoft-mock-main[b-kubkt5wbyy] {
  flex: 1; padding: 14px 16px;
  display: flex; flex-direction: column; gap: 10px;
  overflow: hidden;
}

/* Líneas simuladas de texto */
.lsoft-mk-line[b-kubkt5wbyy] {
  background: rgba(255,255,255,.12);
  border-radius: 3px; display: block;
}
.lsoft-mk-title[b-kubkt5wbyy] { width:80px; height:7px; }
.lsoft-mk-sub[b-kubkt5wbyy]   { width:55px; height:5px; margin-top:4px; opacity:.6; }

.lsoft-mock-header-row[b-kubkt5wbyy] {
  display: flex; justify-content: space-between;
  align-items: center;
}
.lsoft-mock-header-btn[b-kubkt5wbyy] {
  display: flex; align-items: center; gap: 6px;
  background: var(--ls-gradient);
  color: white; border-radius: 7px;
  padding: 5px 12px; font-size: 10px; font-weight: 700;
  box-shadow: 0 4px 12px rgba(37,99,235,.35);
}

/* KPI CARDS */
.lsoft-mock-kpi-row[b-kubkt5wbyy] {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 8px;
}
.lsoft-mock-kpi[b-kubkt5wbyy] {
  background: #1E293B; border-radius: 10px; padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.06);
  display: flex; flex-direction: column; gap: 4px;
}
.lsoft-kpi-top[b-kubkt5wbyy] {
  display: flex; justify-content: space-between; align-items: center;
}
.lsoft-kpi-label[b-kubkt5wbyy] {
  font-size: 9px; color: rgba(255,255,255,.45);
  font-weight: 600; text-transform: uppercase; letter-spacing: .5px;
}
.lsoft-kpi-delta[b-kubkt5wbyy] {
  font-size: 8px; font-weight: 700;
  padding: 1px 5px; border-radius: var(--ls-r-pill);
}
.lsoft-kpi-delta--up[b-kubkt5wbyy]   { background:rgba(16,185,129,.15); color:#34D399; }
.lsoft-kpi-delta--down[b-kubkt5wbyy] { background:rgba(239,68,68,.15);  color:#F87171; }
.lsoft-kpi-number[b-kubkt5wbyy] {
  font-size: 18px; font-weight: 800; color: white; line-height:1.1;
}

/* SPARKLINE */
.lsoft-kpi-spark[b-kubkt5wbyy] { width:100%; height:28px; display:block; margin-top:2px; }

/* BARRAS KPI */
.lsoft-kpi-bars[b-kubkt5wbyy] {
  display:flex; align-items:flex-end; gap:3px; height:32px; margin-top:4px;
}
.lsoft-kpi-bar[b-kubkt5wbyy] {
  flex:1; background:rgba(59,130,246,.28);
  border-radius:3px 3px 0 0; min-height:3px;
}
.lsoft-kpi-bar--hl[b-kubkt5wbyy] {
  background: var(--ls-gradient);
  box-shadow: 0 0 8px rgba(99,102,241,.5);
}

/* DONUT */
.lsoft-kpi-donut-wrap[b-kubkt5wbyy] { display:flex; justify-content:center; margin-top:2px; }
.lsoft-kpi-donut[b-kubkt5wbyy] { width:48px; height:48px; transform:rotate(-90deg); }

/* GRÁFICA DE BARRAS MENSUAL */
.lsoft-mock-chart-area[b-kubkt5wbyy] {
  background: #1E293B; border-radius: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.06);
  flex: 1;
}
.lsoft-chart-header[b-kubkt5wbyy] {
  display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;
}
.lsoft-chart-legend[b-kubkt5wbyy] { display:flex; align-items:center; gap:6px; }
.lsoft-legend-dot[b-kubkt5wbyy] {
  width:7px; height:7px; border-radius:50%;
}
.lsoft-legend-dot--blue[b-kubkt5wbyy]   { background:#3B82F6; }
.lsoft-legend-dot--violet[b-kubkt5wbyy] { background:#8B5CF6; }
.lsoft-legend-lbl[b-kubkt5wbyy] {
  font-size:9px; color:rgba(255,255,255,.40); font-weight:600;
}
.lsoft-bar-svg[b-kubkt5wbyy] { width:100%; height:60px; display:block; }
.lsoft-month-labels[b-kubkt5wbyy] {
  display:flex; justify-content:space-between;
  padding: 4px 0 0;
}
.lsoft-month-labels span[b-kubkt5wbyy] {
  font-size:8px; color:rgba(255,255,255,.30); font-weight:600;
}

/* TABLA PROYECTOS */
.lsoft-mock-table-rows[b-kubkt5wbyy] {
  background:#1E293B; border-radius:10px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.06);
  display:flex; flex-direction:column; gap:0;
}
.lsoft-mock-trow[b-kubkt5wbyy] {
  display:flex; align-items:center; gap:8px;
  padding:7px 0;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.lsoft-mock-trow:last-child[b-kubkt5wbyy] { border-bottom:none; }
.lsoft-trow-dot[b-kubkt5wbyy] { width:8px;height:8px;border-radius:50%;flex-shrink:0; }
.lsoft-trow-info[b-kubkt5wbyy] { flex:1; }
.lsoft-trow-progress[b-kubkt5wbyy] {
  width:64px; height:4px;
  background:rgba(255,255,255,.08); border-radius:var(--ls-r-pill);
  overflow:hidden; flex-shrink:0;
}
.lsoft-trow-bar[b-kubkt5wbyy] {
  height:100%; border-radius:var(--ls-r-pill);
  background: var(--ls-gradient);
}
.lsoft-trow-bar--violet[b-kubkt5wbyy] { background:linear-gradient(90deg,#8B5CF6,#A78BFA); }
.lsoft-trow-bar--green[b-kubkt5wbyy]  { background:linear-gradient(90deg,#10B981,#34D399); }
.lsoft-trow-badge[b-kubkt5wbyy] {
  font-size:8px; font-weight:700; padding:2px 7px;
  border-radius:var(--ls-r-pill); flex-shrink:0; white-space:nowrap;
}
.lsoft-trow-badge--green[b-kubkt5wbyy] { background:rgba(16,185,129,.15); color:#34D399; }
.lsoft-trow-badge--blue[b-kubkt5wbyy]  { background:rgba(59,130,246,.15);  color:#93C5FD; }

/* TARJETA FLOTANTE (inferior izquierda) */
.lsoft-floating-card[b-kubkt5wbyy] {
  position:absolute; bottom:-22px; left:-24px;
  background:white; border-radius:16px;
  padding:14px 18px;
  box-shadow: 0 20px 44px rgba(0,0,0,.15);
  display:flex; align-items:flex-start; gap:12px;
  max-width:230px; z-index:10;
  animation: slideInUp-b-kubkt5wbyy .8s ease .7s both;
}
.lsoft-floating-icon[b-kubkt5wbyy] {
  width:36px; height:36px; border-radius:10px;
  background: var(--ls-gradient);
  display:flex; align-items:center; justify-content:center;
  color:white; flex-shrink:0;
}
.lsoft-floating-card strong[b-kubkt5wbyy] {
  display:block; font-size:13px; font-weight:700; color:#0F172A;
}
.lsoft-floating-card span[b-kubkt5wbyy] {
  font-size:11px; color:#64748B; line-height:1.5;
}

/* BADGE FLOTANTE (superior derecho) */
.lsoft-floating-badge[b-kubkt5wbyy] {
  position:absolute; top:-14px; right:20px;
  background:white;
  border:1px solid var(--ls-border);
  border-radius:var(--ls-r-pill);
  padding:6px 14px;
  font-size:12px; font-weight:700; color:var(--ls-dark);
  box-shadow: var(--ls-shadow-md); z-index:10;
  display:flex; align-items:center; gap:6px;
  animation: bounceIn-b-kubkt5wbyy .6s ease 1s both;
}
.lsoft-floating-badge-dot[b-kubkt5wbyy] {
  width:8px; height:8px; border-radius:50%;
  background:var(--ls-green);
  box-shadow:0 0 6px rgba(16,185,129,.6);
  animation: pulseDot-b-kubkt5wbyy 2s ease-in-out infinite;
}

/* ══════════════════════════════════════
   SECCIONES INTERIORES — BASE
══════════════════════════════════════ */
.lsoft-section[b-kubkt5wbyy] { padding:100px 40px; position:relative; }

.lsoft-section-inner[b-kubkt5wbyy] { max-width:1240px; margin:0 auto; width:100%; }

.lsoft-section-header[b-kubkt5wbyy] {
  text-align:center; max-width:700px; margin:0 auto 64px;
}

.lsoft-section-eyebrow[b-kubkt5wbyy] {
  display:inline-block; font-size:11px; font-weight:700;
  letter-spacing:2.5px; text-transform:uppercase;
  color:var(--ls-blue); margin-bottom:14px;
}

.lsoft-section-title[b-kubkt5wbyy] {
  font-size:clamp(26px,2.8vw,42px); font-weight:800;
  color:var(--ls-dark); margin-bottom:16px;
  letter-spacing:-.5px; line-height:1.2;
}

.lsoft-section-description[b-kubkt5wbyy] {
  font-size:16px; color:var(--ls-gray); line-height:1.75;
}

/* ABOUT GRID */
.lsoft-about-grid[b-kubkt5wbyy] {
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start;
}

.lsoft-sector-list[b-kubkt5wbyy] {
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
.lsoft-sector-list li[b-kubkt5wbyy] {
  display:flex; align-items:center; gap:10px;
  padding:14px 16px;
  background:var(--ls-surface); border:1px solid var(--ls-border);
  border-radius:var(--ls-r-md);
  font-size:14px; font-weight:600; color:var(--ls-dark);
  transition:var(--ls-ease);
}
.lsoft-sector-list li[b-kubkt5wbyy]::before {
  content:'';width:8px;height:8px;border-radius:50%;
  background:var(--ls-gradient);flex-shrink:0;
}
.lsoft-sector-list li:hover[b-kubkt5wbyy] {
  border-color:rgba(37,99,235,.3); background:white;
  transform:translateY(-2px); box-shadow:var(--ls-shadow-md);
}

/* SERVICIOS GRID */
.lsoft-grid[b-kubkt5wbyy] {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;
}
.lsoft-card[b-kubkt5wbyy] {
  background:white; border:1px solid var(--ls-border);
  border-radius:var(--ls-r-lg); padding:34px 28px;
  transition:var(--ls-ease); position:relative; overflow:hidden;
}
.lsoft-card[b-kubkt5wbyy]::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:3px; background:var(--ls-gradient); opacity:0;
  transition:opacity .28s;
}
.lsoft-card:hover[b-kubkt5wbyy] {
  transform:translateY(-8px);
  box-shadow:0 24px 50px rgba(37,99,235,.12);
  border-color:rgba(37,99,235,.18);
}
.lsoft-card:hover[b-kubkt5wbyy]::before { opacity:1; }
.lsoft-card-icon[b-kubkt5wbyy] {
  width:54px;height:54px;border-radius:14px;
  background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(124,58,237,.08));
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px; color:var(--ls-blue);
}
.lsoft-card h3[b-kubkt5wbyy] { font-size:17px;font-weight:700;color:var(--ls-dark);margin-bottom:10px; }
.lsoft-card p[b-kubkt5wbyy]  { font-size:14px;color:var(--ls-gray);line-height:1.7; }

/* FINANCIACIÓN */
.lsoft-financing[b-kubkt5wbyy] {
  background:
    radial-gradient(circle at 12% 28%, rgba(37,99,235,.42) 0%, transparent 38%),
    radial-gradient(circle at 88% 18%, rgba(124,58,237,.38) 0%, transparent 42%),
    linear-gradient(135deg, #07111f 0%, #0F172A 46%, #21104d 100%) !important;
  color:#F8FAFC;
  overflow:hidden;
}
.lsoft-financing[b-kubkt5wbyy]::before {
  content:''; position:absolute; inset:0;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity:.45;
  pointer-events:none;
}
.lsoft-financing-panel[b-kubkt5wbyy] {
  position:relative;z-index:2;
  display:flex;justify-content:space-between;
  align-items:center;gap:60px;flex-wrap:wrap;
}
.lsoft-financing .lsoft-section-eyebrow[b-kubkt5wbyy] {
  color:#BFDBFE;
  background:rgba(37,99,235,.22);
  border:1px solid rgba(147,197,253,.30);
  border-radius:var(--ls-r-pill);
  padding:8px 16px;
}
.lsoft-financing .lsoft-section-title[b-kubkt5wbyy] {
  color:#FFFFFF;
  text-shadow:0 2px 24px rgba(37,99,235,.24);
}
.lsoft-financing .lsoft-section-description[b-kubkt5wbyy] {
  color:#D8E5FF;
  margin-bottom:28px;
  max-width:920px;
}
.lsoft-financing-list[b-kubkt5wbyy] { display:flex;flex-wrap:wrap;gap:10px; }
.lsoft-financing-list span[b-kubkt5wbyy] {
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(15,23,42,.62);
  border:1px solid rgba(147,197,253,.24);
  border-radius:var(--ls-r-pill);
  padding:7px 16px;font-size:13px;font-weight:600;
  color:#F8FAFC;white-space:nowrap;
  box-shadow:0 12px 28px rgba(2,6,23,.18);
}
.lsoft-financing-list span[b-kubkt5wbyy]::before { content:'✓';color:#86EFAC;font-weight:800; }
.lsoft-dark-button[b-kubkt5wbyy] {
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 34px;border-radius:var(--ls-r-md);
  background:#FFFFFF;color:#0F172A;
  font-size:15px;font-weight:700;text-decoration:none;
  border:none;cursor:pointer;
  box-shadow:0 18px 44px rgba(2,6,23,.34);
  transition:var(--ls-ease);flex-shrink:0;
}
.lsoft-dark-button:hover[b-kubkt5wbyy] {
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(0,0,0,.30);
  color:var(--ls-blue);text-decoration:none;
}

/* PROYECTOS */
.lsoft-project-grid[b-kubkt5wbyy] {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:28px;
}
.lsoft-project-card[b-kubkt5wbyy] {
  background:white;border:1px solid var(--ls-border);
  border-radius:var(--ls-r-lg);padding:32px 28px;
  transition:var(--ls-ease);display:flex;flex-direction:column;gap:12px;
}
.lsoft-project-card:hover[b-kubkt5wbyy] {
  transform:translateY(-6px);
  box-shadow:var(--ls-shadow-lg);
  border-color:rgba(37,99,235,.2);
}
.lsoft-project-card h3[b-kubkt5wbyy] { font-size:18px;font-weight:700;color:var(--ls-dark); }
.lsoft-project-link[b-kubkt5wbyy] { font-size:13px;color:var(--ls-blue);font-weight:600;text-decoration:none;word-break:break-all; }
.lsoft-project-link:hover[b-kubkt5wbyy] { text-decoration:underline; }
.lsoft-project-card p[b-kubkt5wbyy] { font-size:14px;color:var(--ls-gray);line-height:1.7;flex:1; }
.lsoft-chip-list[b-kubkt5wbyy] { display:flex;flex-wrap:wrap;gap:8px;margin-top:4px; }
.lsoft-chip-list span[b-kubkt5wbyy] {
  background:var(--ls-surface);border:1px solid var(--ls-border);
  border-radius:var(--ls-r-pill);padding:4px 12px;
  font-size:12px;font-weight:600;color:var(--ls-gray);
}

/* POR QUÉ ELEGIRNOS */
.lsoft-section-dark[b-kubkt5wbyy] {
  background:
    radial-gradient(circle at 10% 0%, rgba(37,99,235,.10) 0%, transparent 36%),
    radial-gradient(circle at 92% 18%, rgba(124,58,237,.10) 0%, transparent 38%),
    linear-gradient(180deg, #F8FAFC 0%, #EFF6FF 100%) !important;
  color:#0F172A;
  border-top:1px solid rgba(37,99,235,.12);
  border-bottom:1px solid rgba(37,99,235,.12);
}
.lsoft-section-dark .lsoft-section-eyebrow[b-kubkt5wbyy] {
  color:#1D4ED8;
  background:#DBEAFE;
  border:1px solid rgba(37,99,235,.16);
  border-radius:var(--ls-r-pill);
  padding:8px 16px;
}
.lsoft-section-dark .lsoft-section-title[b-kubkt5wbyy] {
  color:#0F172A;
}
.lsoft-section-dark .lsoft-section-description[b-kubkt5wbyy] {
  color:#475569;
}
.lsoft-reasons[b-kubkt5wbyy] {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:18px;
}
.lsoft-reason[b-kubkt5wbyy] {
  display:flex;align-items:center;gap:14px;
  padding:20px 22px;
  background:#FFFFFF;border:1px solid rgba(37,99,235,.18);
  border-radius:var(--ls-r-md);
  font-size:14px;font-weight:800;color:#0F172A;
  transition:var(--ls-ease);
  box-shadow:0 16px 36px rgba(15,23,42,.08);
}
.lsoft-reason:hover[b-kubkt5wbyy] {
  border-color:rgba(37,99,235,.38);
  background:#FFFFFF;
  transform:translateY(-4px);
  box-shadow:0 24px 52px rgba(37,99,235,.14);
}
.lsoft-reason .mud-icon-root[b-kubkt5wbyy] { color:#2563EB;flex-shrink:0;opacity:1; }

/* PROCESO / TIMELINE */
.lsoft-timeline[b-kubkt5wbyy] {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:0; position:relative;
}
.lsoft-timeline[b-kubkt5wbyy]::before {
  content:''; position:absolute;
  top:28px;left:0;right:0;
  height:2px; background:var(--ls-gradient); z-index:0;
}
.lsoft-step[b-kubkt5wbyy] { position:relative;z-index:1;padding:0 20px;text-align:center; }
.lsoft-step-number[b-kubkt5wbyy] {
  width:56px;height:56px;border-radius:50%;
  background:var(--ls-gradient);color:white;
  font-size:18px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 22px;
  box-shadow:var(--ls-shadow-blue);
}
.lsoft-step h3[b-kubkt5wbyy] { font-size:15px;font-weight:700;color:var(--ls-dark);margin-bottom:8px; }
.lsoft-step p[b-kubkt5wbyy]  { font-size:13px;color:var(--ls-gray);line-height:1.65; }

/* CONTACTO */
.lsoft-contact-grid[b-kubkt5wbyy] {
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;
}
.lsoft-contact-copy[b-kubkt5wbyy] { display:flex;flex-direction:column;gap:0; }
.lsoft-contact-methods[b-kubkt5wbyy] { display:flex;flex-direction:column;gap:12px;margin:28px 0; }
.lsoft-contact-method[b-kubkt5wbyy] {
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;
  background:var(--ls-surface);border:1px solid var(--ls-border);
  border-radius:var(--ls-r-md);text-decoration:none;
  transition:var(--ls-ease);color:var(--ls-dark);
}
.lsoft-contact-method:hover[b-kubkt5wbyy] {
  border-color:rgba(37,99,235,.3);background:white;
  box-shadow:var(--ls-shadow-sm);
  text-decoration:none;color:var(--ls-dark);
}
.lsoft-contact-method .mud-icon-root[b-kubkt5wbyy] { color:var(--ls-blue);flex-shrink:0; }
.lsoft-contact-method span[b-kubkt5wbyy] { display:flex;flex-direction:column;gap:2px; }
.lsoft-contact-method strong[b-kubkt5wbyy] { font-size:13px;font-weight:700;color:var(--ls-dark); }
.lsoft-meeting-link[b-kubkt5wbyy] { align-self:flex-start;margin-top:6px; }

.lsoft-contact-card[b-kubkt5wbyy] {
  background:white;border:1px solid var(--ls-border);
  border-radius:var(--ls-r-xl);padding:40px 36px;
  box-shadow:var(--ls-shadow-lg);
}
.lsoft-contact-card h3[b-kubkt5wbyy] { font-size:20px;font-weight:700;color:var(--ls-dark);margin-bottom:26px; }
.lsoft-contact-form[b-kubkt5wbyy] { display:flex;flex-direction:column;gap:13px; }
.lsoft-contact-form input[b-kubkt5wbyy],
.lsoft-contact-form textarea[b-kubkt5wbyy] {
  width:100%;padding:13px 17px;
  border:1.5px solid var(--ls-border);border-radius:var(--ls-r-md);
  font-size:14px;font-family:var(--ls-font);
  color:var(--ls-dark);background:var(--ls-surface);
  transition:var(--ls-ease);outline:none;
}
.lsoft-contact-form input[b-kubkt5wbyy]::placeholder,
.lsoft-contact-form textarea[b-kubkt5wbyy]::placeholder { color:var(--ls-muted); }
.lsoft-contact-form input:focus[b-kubkt5wbyy],
.lsoft-contact-form textarea:focus[b-kubkt5wbyy] {
  border-color:var(--ls-blue);background:white;
  box-shadow:0 0 0 4px rgba(37,99,235,.09);
}
.lsoft-contact-form textarea[b-kubkt5wbyy] { resize:vertical;min-height:110px; }
.lsoft-contact-actions[b-kubkt5wbyy] { display:flex;gap:12px;flex-wrap:wrap;margin-top:6px; }
.lsoft-whatsapp-button[b-kubkt5wbyy] {
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 22px;border-radius:var(--ls-r-md);
  background:#25D366;color:white;
  font-size:14px;font-weight:700;text-decoration:none;
  border:none;cursor:pointer;transition:var(--ls-ease);
}
.lsoft-whatsapp-button:hover[b-kubkt5wbyy] {
  background:#1fbc5a;transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(37,211,102,.35);
  color:white;text-decoration:none;
}

/* INFORMACIÓN DE LA APLICACIÓN */
.lsoft-application-info[b-kubkt5wbyy] {
  background:
    radial-gradient(circle at 12% 20%, rgba(37,99,235,.10), transparent 34%),
    radial-gradient(circle at 88% 70%, rgba(124,58,237,.10), transparent 34%),
    #f8fafc;
  border-top:1px solid rgba(37,99,235,.10);
}
.lsoft-application-info-grid[b-kubkt5wbyy] {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.lsoft-application-info-card[b-kubkt5wbyy] {
  min-height:180px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:26px;
  background:#fff;
  border:1px solid rgba(37,99,235,.14);
  border-radius:var(--ls-r-lg);
  box-shadow:0 16px 36px rgba(15,23,42,.07);
}
.lsoft-application-info-icon[b-kubkt5wbyy] {
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  color:#fff;
  border-radius:14px;
  background:var(--ls-gradient);
  box-shadow:var(--ls-shadow-blue);
}
.lsoft-application-info-card span[b-kubkt5wbyy] {
  margin-bottom:6px;
  color:var(--ls-gray);
  font-size:13px;
  font-weight:700;
}
.lsoft-application-info-card strong[b-kubkt5wbyy] {
  color:var(--ls-dark);
  font-size:17px;
  overflow-wrap:anywhere;
}

/* FOOTER */
.lsoft-footer[b-kubkt5wbyy] {
  background:var(--ls-dark);padding:60px 40px;
  border-top:1px solid rgba(255,255,255,.06);
}
.lsoft-footer-inner[b-kubkt5wbyy] {
  max-width:1240px;margin:0 auto;
  display:flex;justify-content:space-between;
  align-items:center;gap:40px;flex-wrap:wrap;
}
.lsoft-footer img[b-kubkt5wbyy] { height:36px;margin-bottom:12px;display:block; }
.lsoft-footer p[b-kubkt5wbyy] {
  font-size:14px;color:rgba(255,255,255,.50);
  max-width:360px;line-height:1.7;margin-bottom:8px;
}
.lsoft-footer strong[b-kubkt5wbyy] { font-size:13px;color:rgba(255,255,255,.35);font-style:italic; }
.lsoft-footer > div:last-child[b-kubkt5wbyy] { text-align:right; }
.lsoft-footer > div:last-child div[b-kubkt5wbyy] { font-size:14px;color:rgba(255,255,255,.40);margin-bottom:6px; }

/* VOLVER AL INICIO */
.lsoft-back-to-top[b-kubkt5wbyy] {
  position:fixed;
  right:28px;
  bottom:28px;
  z-index:1100;
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  color:#fff;
  background:linear-gradient(135deg,#2563EB 0%,#7C3AED 100%);
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  box-shadow:0 14px 32px rgba(37,99,235,.38);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(18px) scale(.88);
  transition:opacity .22s ease, visibility .22s ease, transform .22s ease, box-shadow .22s ease;
}
.lsoft-back-to-top.is-visible[b-kubkt5wbyy] {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.lsoft-back-to-top:hover[b-kubkt5wbyy] {
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 18px 38px rgba(37,99,235,.48);
}
.lsoft-back-to-top.is-over-dark[b-kubkt5wbyy] {
  color:#2563EB;
  background:#fff;
  border-color:rgba(255,255,255,.72);
  box-shadow:0 14px 32px rgba(15,23,42,.38),0 0 0 3px rgba(59,130,246,.18);
}
.lsoft-back-to-top.is-over-dark:hover[b-kubkt5wbyy] {
  color:#7C3AED;
  box-shadow:0 18px 38px rgba(15,23,42,.46),0 0 0 3px rgba(124,58,237,.22);
}
.lsoft-back-to-top:focus-visible[b-kubkt5wbyy] {
  outline:3px solid rgba(37,99,235,.32);
  outline-offset:4px;
}
.lsoft-back-to-top .mud-icon-root[b-kubkt5wbyy] { font-size:30px; }

/* ══════════════════════════════════════
   ANIMACIONES
══════════════════════════════════════ */
@keyframes fadeInUp-b-kubkt5wbyy {
  from { opacity:0;transform:translateY(32px); }
  to   { opacity:1;transform:translateY(0); }
}
@keyframes slideInUp-b-kubkt5wbyy {
  from { opacity:0;transform:translateY(18px); }
  to   { opacity:1;transform:translateY(0); }
}
@keyframes bounceIn-b-kubkt5wbyy {
  0%  { opacity:0;transform:scale(.5); }
  70% { transform:scale(1.10); }
  100%{ opacity:1;transform:scale(1); }
}
@keyframes floatY-b-kubkt5wbyy {
  0%,100% { transform:translateY(0); }
  50%     { transform:translateY(-14px); }
}
@keyframes blobFloat-b-kubkt5wbyy {
  0%,100% { transform:translateY(0) scale(1) rotate(0deg); }
  33%     { transform:translateY(-18px) scale(1.04) rotate(3deg); }
  66%     { transform:translateY(10px) scale(.97) rotate(-2deg); }
}
@keyframes pulseDot-b-kubkt5wbyy {
  0%,100% { opacity:1;transform:scale(1); }
  50%     { opacity:.35;transform:scale(.7); }
}

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width:1024px) {
  .lsoft-hero-grid[b-kubkt5wbyy]   { grid-template-columns:1fr;gap:56px; }
  .lsoft-about-grid[b-kubkt5wbyy]  { grid-template-columns:1fr;gap:40px; }
  .lsoft-contact-grid[b-kubkt5wbyy]{ grid-template-columns:1fr;gap:48px; }
  .lsoft-financing-panel[b-kubkt5wbyy] { flex-direction:column;gap:36px; }
  .lsoft-timeline[b-kubkt5wbyy]    { grid-template-columns:repeat(2,1fr); }
  .lsoft-application-info-grid[b-kubkt5wbyy] { grid-template-columns:repeat(2,1fr); }
  .lsoft-timeline[b-kubkt5wbyy]::before { display:none; }
}

@media (max-width:768px) {
  .lsoft-section[b-kubkt5wbyy]  { padding:72px 24px; }
  .lsoft-hero[b-kubkt5wbyy]     { padding:90px 24px 72px;min-height:auto; }
  .lsoft-hero-visual[b-kubkt5wbyy] { order:-1; }
  .lsoft-hero-stats[b-kubkt5wbyy] { gap:14px;flex-wrap:wrap; }
  .lsoft-stat:not(:last-child)[b-kubkt5wbyy]::after { display:none; }
  .lsoft-hero-actions[b-kubkt5wbyy] { flex-direction:column; }
  .lsoft-gradient-button[b-kubkt5wbyy],
  .lsoft-outline-button[b-kubkt5wbyy] { width:100%;justify-content:center; }
  .lsoft-floating-card[b-kubkt5wbyy],
  .lsoft-floating-badge[b-kubkt5wbyy] { display:none; }
  .lsoft-sector-list[b-kubkt5wbyy] { grid-template-columns:1fr; }
  .lsoft-reasons[b-kubkt5wbyy]    { grid-template-columns:1fr; }
  .lsoft-timeline[b-kubkt5wbyy]   { grid-template-columns:1fr; }
  .lsoft-application-info-grid[b-kubkt5wbyy] { grid-template-columns:1fr; }
  .lsoft-footer-inner[b-kubkt5wbyy] { flex-direction:column;text-align:center; }
  .lsoft-footer > div:last-child[b-kubkt5wbyy] { text-align:center; }
  .lsoft-contact-actions[b-kubkt5wbyy] { flex-direction:column; }
  .lsoft-whatsapp-button[b-kubkt5wbyy],
  .lsoft-gradient-button[b-kubkt5wbyy] { width:100%;justify-content:center; }
  .lsoft-mock-sidebar[b-kubkt5wbyy] { width:40px; }
  .lsoft-mock-sidebar .lsoft-mock-logo-text[b-kubkt5wbyy],
  .lsoft-mock-nav-item span[b-kubkt5wbyy] { display:none; }
  .lsoft-mock-nav-item[b-kubkt5wbyy] { justify-content:center; }
  .lsoft-back-to-top[b-kubkt5wbyy] {
    right:18px;
    bottom:18px;
    width:48px;
    height:48px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .lsoft-back-to-top[b-kubkt5wbyy] { transition:none; }
}
/* /Pages/Landing/AdminLanding.razor.rz.scp.css */
.landing-logo-editor[b-79xyh7oxmu] {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 20px;
    border: 1px solid rgba(37, 99, 235, .18);
    border-radius: 12px;
    background: #f8fafc;
}

.landing-logo-preview[b-79xyh7oxmu] {
    width: 240px;
    height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    overflow: hidden;
    border: 1px dashed rgba(37, 99, 235, .32);
    border-radius: 10px;
    background: #fff;
}

.landing-logo-preview img[b-79xyh7oxmu] {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.landing-logo-controls[b-79xyh7oxmu] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

@media (max-width: 720px) {
    .landing-logo-editor[b-79xyh7oxmu] {
        align-items: stretch;
        flex-direction: column;
    }

    .landing-logo-preview[b-79xyh7oxmu] {
        width: 100%;
    }
}
/* /Pages/Menus/AdminMenus.razor.rz.scp.css */
.menu-status-display[b-v8hws8tclp] {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 140px;
}

.menu-status-switch[b-v8hws8tclp] {
    position: relative;
    width: 56px;
    height: 30px;
    border-radius: 999px;
    flex-shrink: 0;
    box-shadow: inset 0 2px 5px rgba(15, 23, 42, 0.15);
    transition: background-color 0.2s ease;
}

.menu-status-switch[b-v8hws8tclp]::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 5px 12px rgba(15, 23, 42, 0.22);
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.menu-status-switch--active[b-v8hws8tclp] {
    background: linear-gradient(135deg, #9fd5b0 0%, #62b77d 100%);
}

.menu-status-switch--active[b-v8hws8tclp]::after {
    transform: translateX(26px);
    background: #1f8f49;
}

.menu-status-switch--inactive[b-v8hws8tclp] {
    background: linear-gradient(135deg, #d7dce2 0%, #bcc5cf 100%);
}

.menu-status-switch--inactive[b-v8hws8tclp]::after {
    background: #6b7280;
}

.menu-status-label[b-v8hws8tclp] {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
}

.menu-status-label--active[b-v8hws8tclp] {
    color: #1f2937;
}

.menu-status-label--inactive[b-v8hws8tclp] {
    color: #6b7280;
}

.admin-menus-grid[b-v8hws8tclp] {
    max-height: 60vh !important;
    max-height: 60dvh !important;
    margin-bottom: 8mm !important;
}

.admin-menus-grid[b-v8hws8tclp]  .mud-table-container {
    flex: 1 1 auto;
    min-height: 260px;
    max-height: none !important;
    overflow: auto !important;
}

.admin-menus-grid[b-v8hws8tclp]  .mud-table-pagination,
.admin-menus-grid[b-v8hws8tclp]  .mud-table-pagination-toolbar {
    position: relative;
    z-index: 2;
    display: flex !important;
    flex-shrink: 0;
    background: var(--mud-palette-surface);
}
/* /Pages/Profiles/AdminProfiles.razor.rz.scp.css */
.profiles-page[b-2g8zeupmcz] {
    --profile-border: #dfe6f3;
    --profile-muted: #68758c;
    --profile-surface: #fff;
    padding: 1rem;
    color: #15213a;
}

.profiles-header[b-2g8zeupmcz],
.profiles-toolbar[b-2g8zeupmcz],
.profile-detail-header[b-2g8zeupmcz],
.section-heading[b-2g8zeupmcz],
.profiles-save-bar[b-2g8zeupmcz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.profiles-header[b-2g8zeupmcz] {
    margin-bottom: 1rem;
}

.profiles-header h1[b-2g8zeupmcz],
.profile-detail-header h2[b-2g8zeupmcz],
.section-heading h3[b-2g8zeupmcz],
.menu-column-header h4[b-2g8zeupmcz] {
    margin: 0;
}

.profiles-header h1[b-2g8zeupmcz] {
    font-size: clamp(1.65rem, 2vw, 2.15rem);
}

.profiles-header p[b-2g8zeupmcz],
.section-heading p[b-2g8zeupmcz],
.profile-detail-identity p[b-2g8zeupmcz] {
    margin: .2rem 0 0;
    color: var(--profile-muted);
}

.profiles-eyebrow[b-2g8zeupmcz] {
    color: var(--mud-palette-primary) !important;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.profiles-toolbar[b-2g8zeupmcz] {
    padding: .65rem .85rem;
    margin-bottom: 1rem;
    border: 1px solid var(--profile-border);
    border-radius: 14px;
    background: var(--profile-surface);
}

.profiles-search[b-2g8zeupmcz] {
    width: min(420px, 100%);
}

.profiles-layout[b-2g8zeupmcz] {
    display: grid;
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.profiles-sidebar[b-2g8zeupmcz],
.profiles-content[b-2g8zeupmcz],
.menu-section[b-2g8zeupmcz],
.profile-users-section[b-2g8zeupmcz] {
    border: 1px solid var(--profile-border);
    border-radius: 16px;
    background: var(--profile-surface);
}

.profiles-sidebar[b-2g8zeupmcz] {
    position: sticky;
    top: 5rem;
    overflow: hidden;
}

.profiles-sidebar-title[b-2g8zeupmcz] {
    display: flex;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid var(--profile-border);
    font-weight: 800;
}

.profiles-count[b-2g8zeupmcz],
.users-total[b-2g8zeupmcz],
.menu-counter[b-2g8zeupmcz],
.module-count[b-2g8zeupmcz] {
    display: inline-grid;
    min-width: 1.7rem;
    height: 1.7rem;
    place-items: center;
    border-radius: 999px;
    background: #edf3ff;
    color: var(--mud-palette-primary);
    font-size: .78rem;
    font-weight: 800;
}

.profiles-list[b-2g8zeupmcz] {
    max-height: calc(100vh - 15rem);
    padding: .5rem;
    overflow: auto;
}

.profile-item[b-2g8zeupmcz] {
    width: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .8rem;
    border: 0;
    border-radius: 12px;
    color: inherit;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, transform .15s ease;
}

.profile-item:hover[b-2g8zeupmcz] {
    background: #f5f8ff;
    transform: translateX(2px);
}

.profile-item.is-selected[b-2g8zeupmcz] {
    color: #fff;
    background: linear-gradient(135deg, var(--mud-palette-primary), #7652ed);
    box-shadow: 0 8px 22px rgba(45, 104, 235, .22);
}

.profile-avatar[b-2g8zeupmcz],
.user-avatar[b-2g8zeupmcz] {
    display: inline-grid;
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 12px;
    background: #e7efff;
    color: var(--mud-palette-primary);
    font-weight: 900;
}

.profile-item.is-selected .profile-avatar[b-2g8zeupmcz] {
    color: #fff;
    background: rgba(255, 255, 255, .18);
}

.profile-item-content[b-2g8zeupmcz] {
    min-width: 0;
}

.profile-item-content strong[b-2g8zeupmcz],
.profile-item-content small[b-2g8zeupmcz] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-item-content small[b-2g8zeupmcz] {
    margin: .15rem 0 .35rem;
    color: var(--profile-muted);
}

.profile-item.is-selected small[b-2g8zeupmcz] {
    color: rgba(255, 255, 255, .78);
}

.profile-status[b-2g8zeupmcz] {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .25rem;
    padding: .15rem .5rem;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 800;
}

.profile-status.is-active[b-2g8zeupmcz] {
    color: #08784d;
    background: #dcf7eb;
}

.profile-status.is-inactive[b-2g8zeupmcz] {
    color: #a23c3c;
    background: #fde7e7;
}

.profile-item.is-selected .profile-status[b-2g8zeupmcz] {
    color: #fff;
    background: rgba(255, 255, 255, .16);
}

.profiles-content[b-2g8zeupmcz] {
    min-width: 0;
    padding: 1rem;
}

.profile-detail-header[b-2g8zeupmcz] {
    padding: .3rem .25rem 1rem;
    border-bottom: 1px solid var(--profile-border);
}

.profile-detail-identity[b-2g8zeupmcz],
.profile-detail-actions[b-2g8zeupmcz],
.profile-title-row[b-2g8zeupmcz] {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.profile-avatar--large[b-2g8zeupmcz] {
    width: 3.7rem;
    height: 3.7rem;
    border-radius: 16px;
    font-size: 1.15rem;
}

.profile-detail-identity small[b-2g8zeupmcz] {
    color: var(--profile-muted);
}

.profile-stat[b-2g8zeupmcz] {
    min-width: 80px;
    text-align: center;
}

.profile-stat strong[b-2g8zeupmcz],
.profile-stat span[b-2g8zeupmcz] {
    display: block;
}

.profile-stat strong[b-2g8zeupmcz] {
    color: var(--mud-palette-primary);
    font-size: 1.35rem;
}

.profile-stat span[b-2g8zeupmcz] {
    color: var(--profile-muted);
    font-size: .7rem;
}

.menu-section[b-2g8zeupmcz],
.profile-users-section[b-2g8zeupmcz] {
    margin-top: 1rem;
    padding: 1rem;
}

.platform-selector[b-2g8zeupmcz] {
    display: inline-flex;
    padding: .25rem;
    border: 1px solid var(--profile-border);
    border-radius: 10px;
    background: #f5f7fb;
}

.platform-button[b-2g8zeupmcz],
.module-pill[b-2g8zeupmcz],
.menu-action[b-2g8zeupmcz] {
    border: 0;
    cursor: pointer;
}

.platform-button[b-2g8zeupmcz] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .5rem .85rem;
    border-radius: 8px;
    color: var(--profile-muted);
    background: transparent;
    font-weight: 700;
}

.platform-button.is-selected[b-2g8zeupmcz] {
    color: #fff;
    background: var(--mud-palette-primary);
}

.module-pills[b-2g8zeupmcz] {
    display: flex;
    gap: .5rem;
    padding: 1rem 0;
    overflow-x: auto;
}

.module-pill[b-2g8zeupmcz] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .55rem;
    padding: .55rem .75rem;
    border: 1px solid var(--profile-border);
    border-radius: 10px;
    color: #34425c;
    background: #fff;
    font-weight: 700;
}

.module-pill.is-selected[b-2g8zeupmcz] {
    border-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary);
    background: #f0f5ff;
}

.menu-two-col[b-2g8zeupmcz] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.menu-column[b-2g8zeupmcz] {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--profile-border);
    border-radius: 12px;
}

.menu-column--assigned[b-2g8zeupmcz] {
    border-color: #b9cdfa;
}

.menu-column-header[b-2g8zeupmcz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .8rem 1rem;
    background: #f7f9fd;
}

.menu-column--assigned .menu-column-header[b-2g8zeupmcz] {
    background: #f0f5ff;
}

.menu-column-header span[b-2g8zeupmcz] {
    color: var(--profile-muted);
    font-size: .75rem;
}

.menu-list[b-2g8zeupmcz] {
    height: 300px;
    overflow-y: auto;
}

.menu-list-item[b-2g8zeupmcz] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .7rem .85rem;
    border-top: 1px solid #edf0f5;
}

.menu-list-item div[b-2g8zeupmcz],
.menu-list-item strong[b-2g8zeupmcz],
.menu-list-item small[b-2g8zeupmcz] {
    min-width: 0;
}

.menu-list-item strong[b-2g8zeupmcz],
.menu-list-item small[b-2g8zeupmcz] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.menu-list-item small[b-2g8zeupmcz] {
    color: var(--profile-muted);
}

.menu-action[b-2g8zeupmcz] {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 8px;
}

.menu-action--add[b-2g8zeupmcz] {
    color: #1168d9;
    background: #e8f2ff;
}

.menu-action--remove[b-2g8zeupmcz] {
    color: #bd3030;
    background: #fdecec;
}

.empty-list[b-2g8zeupmcz] {
    margin: 0;
    padding: 1.25rem;
    color: var(--profile-muted);
    text-align: center;
}

.profiles-save-bar[b-2g8zeupmcz] {
    margin-top: 1rem;
    padding: .8rem;
    border-radius: 12px;
    background: #f5f8ff;
}

.profiles-save-bar strong[b-2g8zeupmcz],
.profiles-save-bar span[b-2g8zeupmcz] {
    display: block;
}

.profiles-save-bar span[b-2g8zeupmcz] {
    color: var(--profile-muted);
    font-size: .8rem;
}

.profile-users-grid[b-2g8zeupmcz] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1rem;
}

.profile-user-card[b-2g8zeupmcz] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .75rem;
    border: 1px solid var(--profile-border);
    border-radius: 12px;
}

.profile-user-card strong[b-2g8zeupmcz],
.profile-user-card span[b-2g8zeupmcz] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-user-card div span[b-2g8zeupmcz] {
    color: var(--profile-muted);
    font-size: .8rem;
}

.profiles-loading[b-2g8zeupmcz] {
    display: flex;
    min-height: 220px;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    color: var(--profile-muted);
}

.profiles-loading--compact[b-2g8zeupmcz] {
    min-height: 100px;
}

@media (max-width: 1100px) {
    .profile-detail-header[b-2g8zeupmcz],
    .profile-detail-actions[b-2g8zeupmcz] {
        align-items: flex-start;
    }

    .profile-detail-header[b-2g8zeupmcz] {
        flex-direction: column;
    }
}

@media (max-width: 900px) {
    .profiles-layout[b-2g8zeupmcz] {
        grid-template-columns: 1fr;
    }

    .profiles-sidebar[b-2g8zeupmcz] {
        position: static;
    }

    .profiles-list[b-2g8zeupmcz] {
        display: flex;
        max-height: none;
        overflow-x: auto;
    }

    .profile-item[b-2g8zeupmcz] {
        min-width: 250px;
    }

    .menu-two-col[b-2g8zeupmcz],
    .profile-users-grid[b-2g8zeupmcz] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .profiles-page[b-2g8zeupmcz] {
        padding: .5rem;
    }

    .profiles-header[b-2g8zeupmcz],
    .profiles-toolbar[b-2g8zeupmcz],
    .section-heading[b-2g8zeupmcz],
    .profiles-save-bar[b-2g8zeupmcz],
    .profile-detail-actions[b-2g8zeupmcz] {
        align-items: stretch;
        flex-direction: column;
    }

    .profiles-search[b-2g8zeupmcz] {
        width: 100%;
    }

    .profile-detail-identity[b-2g8zeupmcz] {
        align-items: flex-start;
    }

    .profile-detail-actions[b-2g8zeupmcz] {
        width: 100%;
    }

    .profile-stat[b-2g8zeupmcz] {
        text-align: left;
    }

    .platform-selector[b-2g8zeupmcz] {
        width: 100%;
    }

    .platform-button[b-2g8zeupmcz] {
        flex: 1;
        justify-content: center;
    }
}
/* /Pages/Tenants/AdminTenantMenus.razor.rz.scp.css */
.tenant-menu-dialog[b-jk8451qzeu] { display:flex; width:100%; height:min(700px,calc(100vh - 210px)); height:min(700px,calc(100dvh - 210px)); max-height:calc(100vh - 210px); max-height:calc(100dvh - 210px); min-height:480px; flex-direction:column; overflow:hidden; color:#172239; }
.tenant-menu-header[b-jk8451qzeu],.tenant-menu-footer[b-jk8451qzeu],.tenant-column-header[b-jk8451qzeu] { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.tenant-menu-header[b-jk8451qzeu] { flex:0 0 auto; padding:.25rem .25rem 1rem; border-bottom:1px solid #dfe6f3; }
.tenant-menu-header h3[b-jk8451qzeu],.tenant-column-header h4[b-jk8451qzeu] { margin:0; }
.tenant-menu-header p[b-jk8451qzeu] { margin:.2rem 0 0; color:#68758c; }
.tenant-platform-selector[b-jk8451qzeu] { display:inline-flex; flex:0 0 auto; padding:.25rem; border:1px solid #dfe6f3; border-radius:10px; background:#f5f7fb; }
.tenant-platform-button[b-jk8451qzeu],.tenant-module-pill[b-jk8451qzeu],.tenant-menu-action[b-jk8451qzeu] { border:0; cursor:pointer; }
.tenant-platform-button[b-jk8451qzeu] { display:inline-flex; align-items:center; gap:.35rem; padding:.5rem .9rem; border-radius:8px; color:#68758c; background:transparent; font-weight:700; }
.tenant-platform-button.is-selected[b-jk8451qzeu] { color:#fff; background:var(--mud-palette-primary); }
.tenant-menu-body[b-jk8451qzeu] { flex:1 1 auto; min-height:0; padding:1rem .25rem; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.tenant-menu-loading[b-jk8451qzeu] { display:flex; min-height:360px; align-items:center; justify-content:center; gap:.75rem; color:#68758c; }
.tenant-module-pills[b-jk8451qzeu] { display:flex; gap:.5rem; padding-bottom:1rem; overflow-x:auto; }
.tenant-module-pill[b-jk8451qzeu] { display:inline-flex; flex:0 0 auto; align-items:center; gap:.55rem; padding:.55rem .8rem; border:1px solid #dfe6f3; border-radius:10px; color:#34425c; background:#fff; font-weight:700; }
.tenant-module-pill.is-selected[b-jk8451qzeu] { border-color:var(--mud-palette-primary); color:var(--mud-palette-primary); background:#f0f5ff; }
.tenant-module-count[b-jk8451qzeu],.tenant-column-header>strong[b-jk8451qzeu] { display:inline-grid; min-width:1.75rem; height:1.75rem; place-items:center; border-radius:999px; color:var(--mud-palette-primary); background:#e8f0ff; font-size:.78rem; }
.tenant-menu-columns[b-jk8451qzeu] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.tenant-menu-column[b-jk8451qzeu] { min-width:0; overflow:hidden; border:1px solid #dfe6f3; border-radius:12px; }
.tenant-menu-column.is-assigned[b-jk8451qzeu] { border-color:#b9cdfa; }
.tenant-column-header[b-jk8451qzeu] { padding:.8rem 1rem; background:#f7f9fd; }
.tenant-menu-column.is-assigned .tenant-column-header[b-jk8451qzeu] { background:#f0f5ff; }
.tenant-column-header span[b-jk8451qzeu] { color:#68758c; font-size:.75rem; }
.tenant-menu-list[b-jk8451qzeu] { height:min(390px,45vh); overflow-y:auto; }
.tenant-menu-list.is-empty[b-jk8451qzeu] { height:120px; }
.tenant-menu-item[b-jk8451qzeu] { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.75rem; padding:.72rem .85rem; border-top:1px solid #edf0f5; }
.tenant-menu-item div[b-jk8451qzeu],.tenant-menu-item strong[b-jk8451qzeu],.tenant-menu-item small[b-jk8451qzeu] { min-width:0; }
.tenant-menu-item strong[b-jk8451qzeu],.tenant-menu-item small[b-jk8451qzeu] { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tenant-menu-item small[b-jk8451qzeu] { color:#68758c; }
.tenant-menu-action[b-jk8451qzeu] { display:grid; width:2rem; height:2rem; place-items:center; border-radius:8px; }
.tenant-menu-action.is-add[b-jk8451qzeu] { color:#1268d7; background:#e8f2ff; }
.tenant-menu-action.is-remove[b-jk8451qzeu] { color:#bd3030; background:#fdecec; }
.tenant-empty[b-jk8451qzeu] { margin:0; padding:1.5rem; color:#68758c; text-align:center; }
.tenant-menu-footer[b-jk8451qzeu] { position:relative; z-index:2; flex:0 0 auto; padding:1rem .25rem .25rem; border-top:1px solid #dfe6f3; background:var(--mud-palette-surface); box-shadow:0 -8px 18px rgba(23,34,57,.05); }
.tenant-menu-summary[b-jk8451qzeu] { flex:1 1 auto; min-width:0; }
.tenant-menu-footer strong[b-jk8451qzeu],.tenant-menu-footer span[b-jk8451qzeu] { display:block; }
.tenant-menu-footer span[b-jk8451qzeu] { color:#68758c; font-size:.8rem; }
.tenant-menu-actions[b-jk8451qzeu] { display:flex; flex:0 0 auto; align-items:center; justify-content:flex-end; gap:.75rem; }
.tenant-menu-actions[b-jk8451qzeu]  .tenant-menu-button { min-height:42px; }
.tenant-menu-actions[b-jk8451qzeu]  .tenant-menu-save { min-width:200px; }
@media (max-width:850px) { .tenant-menu-dialog[b-jk8451qzeu]{height:calc(100vh - 150px);height:calc(100dvh - 150px);max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);min-height:0}.tenant-menu-columns[b-jk8451qzeu]{grid-template-columns:1fr}.tenant-menu-list[b-jk8451qzeu]{height:220px}.tenant-menu-list.is-empty[b-jk8451qzeu]{height:105px} }
@media (max-width:600px) { .tenant-menu-dialog[b-jk8451qzeu]{height:calc(100vh - 120px);height:calc(100dvh - 120px);max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px)}.tenant-menu-header[b-jk8451qzeu]{align-items:stretch;flex-direction:column;padding-bottom:.75rem}.tenant-menu-header h3[b-jk8451qzeu]{font-size:1.25rem}.tenant-menu-header p[b-jk8451qzeu]{font-size:.85rem}.tenant-platform-selector[b-jk8451qzeu]{width:100%}.tenant-platform-button[b-jk8451qzeu]{flex:1;justify-content:center}.tenant-menu-body[b-jk8451qzeu]{padding:.75rem 0}.tenant-module-pills[b-jk8451qzeu]{padding-bottom:.75rem}.tenant-menu-columns[b-jk8451qzeu]{gap:.75rem}.tenant-menu-list[b-jk8451qzeu]{height:180px}.tenant-menu-footer[b-jk8451qzeu]{align-items:stretch;flex-direction:column;gap:.75rem;padding:.75rem 0 calc(.25rem + env(safe-area-inset-bottom))}.tenant-menu-actions[b-jk8451qzeu]{display:grid;grid-template-columns:1fr;gap:.6rem;width:100%}.tenant-menu-actions[b-jk8451qzeu]  .tenant-menu-button,.tenant-menu-actions[b-jk8451qzeu]  .tenant-menu-save{width:100%;min-width:0;min-height:46px} }
/* /Pages/TiposCombos/ComboElementsDialog.razor.rz.scp.css */
.combo-elements-dialog .mud-tabs-panels[b-9ik0amt5k7] {
    padding-top: 1rem;
}

.combo-tree[b-9ik0amt5k7] {
    display: grid;
    gap: .5rem;
}

.combo-tree-node[b-9ik0amt5k7] {
    border-left: 2px solid rgba(37, 99, 235, .22);
    padding-left: .75rem;
}

.combo-tree-row[b-9ik0amt5k7] {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 44px;
    padding: .45rem .6rem;
    border: 1px solid rgba(100, 116, 139, .18);
    border-radius: 8px;
    background: rgba(248, 250, 252, .84);
}

.combo-tree-content[b-9ik0amt5k7] {
    flex: 1;
    min-width: 0;
}

.combo-tree-children[b-9ik0amt5k7] {
    margin-left: 1.25rem;
    margin-top: .5rem;
}
/* /Pages/Userts/AdminUser.razor.rz.scp.css */
/* Los estilos del encabezado de MudDataGrid se manejan globalmente en theme-base.css. */

.user-status-indicator[b-xnmbeosvq3] {
    display: inline-flex;
    max-width: 190px;
    align-items: center;
    gap: .45rem;
    padding: .28rem .55rem;
    border-radius: 999px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .78rem;
    font-weight: 700;
}

.user-status-dot[b-xnmbeosvq3] {
    width: .62rem;
    height: .62rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 18%, transparent);
}

.user-status-indicator.is-success[b-xnmbeosvq3] { color: #16784b; background: #e8f7ef; }
.user-status-indicator.is-warning[b-xnmbeosvq3] { color: #9a6700; background: #fff4d6; }
.user-status-indicator.is-danger[b-xnmbeosvq3] { color: #b42318; background: #fdecea; }
/* /Shared/IconPicker.razor.rz.scp.css */
.icon-picker[b-w4fxuf0lcz] {
    position: relative;
    width: 100%;
}

.icon-picker__trigger[b-w4fxuf0lcz] {
    position: relative;
    width: 100%;
    min-height: 56px;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 10px;
    padding: 14px 12px 8px;
    color: var(--app-text, #1e293b);
    background: var(--app-surface, #fff);
    border: 1px solid var(--app-border, #cbd5e1);
    border-radius: 6px;
    cursor: pointer;
    text-align: left;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.icon-picker__trigger:hover[b-w4fxuf0lcz],
.icon-picker__trigger:focus-visible[b-w4fxuf0lcz] {
    border-color: var(--app-primary, #2563eb);
    box-shadow: 0 0 0 1px var(--app-primary, #2563eb);
    outline: none;
}

.icon-picker__label[b-w4fxuf0lcz] {
    position: absolute;
    top: -10px;
    left: 11px;
    padding: 0 5px;
    color: var(--app-text-secondary, #475569);
    background: var(--app-surface, #fff);
    font-size: .82rem;
    line-height: 20px;
}

.icon-picker__selected-icon[b-w4fxuf0lcz] {
    color: var(--app-primary, #2563eb);
}

.icon-picker__selected-name[b-w4fxuf0lcz] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1rem;
}

.icon-picker__arrow[b-w4fxuf0lcz] {
    color: var(--app-text-secondary, #64748b);
}

.icon-picker--dense .icon-picker__trigger[b-w4fxuf0lcz] {
    min-height: 50px;
}

.icon-picker--text .icon-picker__trigger[b-w4fxuf0lcz] {
    border-width: 0 0 1px;
    border-radius: 0;
    box-shadow: none;
}

.icon-picker__panel[b-w4fxuf0lcz] {
    position: relative;
    z-index: 2;
    width: min(620px, calc(100vw - 32px));
    margin-top: 8px;
    padding: 14px;
    background: var(--app-surface, #fff);
    border: 1px solid var(--app-border, #e2e8f0);
    border-radius: 10px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .22);
}

.icon-picker__filters[b-w4fxuf0lcz] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 130px;
    gap: 10px;
    align-items: end;
    margin-bottom: 12px;
}

.icon-picker__family-label[b-w4fxuf0lcz] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    color: var(--app-text-secondary, #64748b);
    font-size: .72rem;
}

.icon-picker__family[b-w4fxuf0lcz] {
    width: 100%;
    height: 40px;
    padding: 0 9px;
    color: var(--app-text, #1e293b);
    background: var(--app-surface, #fff);
    border: 1px solid var(--app-border, #cbd5e1);
    border-radius: 5px;
}

.icon-picker__grid[b-w4fxuf0lcz] {
    height: 270px;
    padding: 2px 4px 8px 2px;
    overflow-y: auto;
    contain: strict;
}

.icon-picker__row[b-w4fxuf0lcz] {
    height: 56px;
    display: grid;
    grid-template-columns: repeat(6, minmax(38px, 1fr));
    gap: 6px;
    padding-bottom: 6px;
}

.icon-picker__option[b-w4fxuf0lcz] {
    height: 50px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--app-text-secondary, #475569);
    background: var(--app-surface-muted, #f8fafc);
    border: 1px solid var(--app-border, #e2e8f0);
    border-radius: 8px;
    cursor: pointer;
    transition: color .14s ease, border-color .14s ease, background .14s ease, transform .14s ease;
}

.icon-picker__option:hover[b-w4fxuf0lcz],
.icon-picker__option:focus-visible[b-w4fxuf0lcz] {
    color: var(--app-primary, #2563eb);
    background: rgba(37, 99, 235, .08);
    border-color: var(--app-primary, #2563eb);
    outline: none;
    transform: translateY(-1px);
}

.icon-picker__option--selected[b-w4fxuf0lcz] {
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    border-color: transparent;
}

.icon-picker__empty[b-w4fxuf0lcz] {
    min-height: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--app-text-secondary, #64748b);
}

.icon-picker__footer[b-w4fxuf0lcz] {
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 9px;
    color: var(--app-text-secondary, #64748b);
    border-top: 1px solid var(--app-border, #e2e8f0);
    font-size: .75rem;
}

.icon-picker__clear[b-w4fxuf0lcz] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    color: #dc2626;
    background: transparent;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
}

.icon-picker__close[b-w4fxuf0lcz] {
    margin-left: auto;
    padding: 6px 10px;
    color: var(--app-primary, #2563eb);
    background: rgba(37, 99, 235, .08);
    border: 0;
    border-radius: 6px;
    cursor: pointer;
}

.icon-picker__more[b-w4fxuf0lcz] {
    margin-left: auto;
    padding: 6px 10px;
    color: var(--app-primary, #2563eb);
    background: transparent;
    border: 1px solid var(--app-primary, #2563eb);
    border-radius: 6px;
    cursor: pointer;
}

.icon-picker__more:disabled[b-w4fxuf0lcz] {
    cursor: wait;
    opacity: .6;
}

.icon-picker__close:hover[b-w4fxuf0lcz] {
    background: rgba(37, 99, 235, .15);
}

.icon-picker__clear:hover[b-w4fxuf0lcz] {
    background: rgba(220, 38, 38, .08);
}

@media (max-width: 560px) {
    .icon-picker__panel[b-w4fxuf0lcz] {
        width: 100%;
    }

    .icon-picker__filters[b-w4fxuf0lcz] {
        grid-template-columns: 1fr;
    }

    .icon-picker__row[b-w4fxuf0lcz] {
        grid-template-columns: repeat(6, minmax(34px, 1fr));
    }
}
/* /Shared/Loading.razor.rz.scp.css */
.loading-overlay[b-a0nxsozif6] {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.loading-backdrop[b-a0nxsozif6] {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(5px);
}

.loading-card[b-a0nxsozif6] {
    position: relative;
    width: min(360px, 92vw);
    padding: 1.75rem 1.5rem;
    border-radius: var(--ls-radius-lg, 10px);
    background: var(--app-surface, #ffffff);
    text-align: center;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    animation: loading-in-b-a0nxsozif6 0.22s ease-out;
}

.loading-spinner[b-a0nxsozif6] {
    position: relative;
    width: 76px;
    height: 76px;
    margin: 0 auto 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loading-ring[b-a0nxsozif6] {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 6px solid color-mix(in srgb, var(--app-primary, #2563eb) 14%, transparent);
    border-top-color: var(--mud-palette-primary);
    animation: loading-spin-b-a0nxsozif6 0.9s linear infinite;
}

.loading-icon[b-a0nxsozif6] {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #05070d;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.22);
}

.loading-logo[b-a0nxsozif6] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.loading-title[b-a0nxsozif6] {
    margin-bottom: 0.35rem;
    color: var(--app-text, #0f172a);
    font-weight: 800;
}

.loading-text[b-a0nxsozif6],
.loading-text.mud-typography[b-a0nxsozif6] {
    max-width: 280px;
    margin: 0 auto 0.9rem;
    color: var(--app-muted, #64748b) !important;
    font-size: 0.92rem;
    line-height: 1.45;
}

.loading-dots[b-a0nxsozif6] {
    display: flex;
    justify-content: center;
    gap: 0.35rem;
    margin-bottom: 1rem;
}

    .loading-dots span[b-a0nxsozif6] {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--mud-palette-primary);
        opacity: 0.35;
        animation: loading-dot-b-a0nxsozif6 1.1s infinite ease-in-out;
    }

        .loading-dots span:nth-child(2)[b-a0nxsozif6] {
            animation-delay: 0.15s;
        }

        .loading-dots span:nth-child(3)[b-a0nxsozif6] {
            animation-delay: 0.3s;
        }

.loading-bar[b-a0nxsozif6] {
    width: 100%;
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: color-mix(in srgb, var(--app-muted, #64748b) 22%, transparent);
}

.loading-bar-fill[b-a0nxsozif6] {
    width: 45%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--theme-action-start, #2563eb), var(--theme-action-end, #7c3aed), var(--app-accent, #3b82f6));
    animation: loading-bar-b-a0nxsozif6 1.15s ease-in-out infinite;
}

@keyframes loading-in-b-a0nxsozif6 {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes loading-spin-b-a0nxsozif6 {
    to {
        transform: rotate(360deg);
    }
}

@keyframes loading-dot-b-a0nxsozif6 {
    0%, 80%, 100% {
        opacity: 0.35;
        transform: translateY(0);
    }

    40% {
        opacity: 1;
        transform: translateY(-4px);
    }
}

@keyframes loading-bar-b-a0nxsozif6 {
    0% {
        transform: translateX(-120%);
    }

    100% {
        transform: translateX(260%);
    }
}

@media (max-width: 600px) {
    .loading-card[b-a0nxsozif6] {
        width: min(330px, 92vw);
        padding: 1.5rem 1.15rem;
    }

    .loading-spinner[b-a0nxsozif6] {
        width: 68px;
        height: 68px;
    }

    .loading-icon[b-a0nxsozif6] {
        width: 48px;
        height: 48px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .loading-card[b-a0nxsozif6],
    .loading-ring[b-a0nxsozif6],
    .loading-dots span[b-a0nxsozif6],
    .loading-bar-fill[b-a0nxsozif6] {
        animation: none;
    }
}
