/* /Components/Account/Pages/Manage/EnableAuthenticator.razor.rz.scp.css */
.info-message[b-4ejxutmrae] {
    justify-content: start;
    margin: 0.625rem 0 0.625rem 0;
}
/* /Components/Account/Pages/Manage/ExternalLogins.razor.rz.scp.css */
.current-logins[b-4px0egjd8j] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.current-logins-item[b-4px0egjd8j] {
    display: flex;
    gap: 0.625rem;
}
/* /Components/Account/Shared/ExternalLoginPicker.razor.rz.scp.css */
.external-logins[b-xrvxydepsd] {
    display: flex;
    gap: 0.5rem;
}

@media (max-width: 500px) {
    .external-logins[b-xrvxydepsd] {
        flex-direction: column;
    }
}
/* /Components/Account/Shared/ShowRecoveryCodes.razor.rz.scp.css */
.codes[b-bnc0th42m2] {
    margin: 0.625rem 0 0.625rem 0;
}
/* /Components/Layout/Drawer.razor.rz.scp.css */
.drawer-container[b-mmtwy7bqoq] {
    height: 100%;
}

.navigation-drawer-shading[b-mmtwy7bqoq] {
    height: 100%;
    position: absolute;
    transition: ease 300ms;
    transition-property: opacity, visibility;
    visibility: visible;
    width: 100%;
    z-index: 99;
    background-color: black;
    opacity: 0.5;
}

.navigation-drawer.mobile.panel-closed .navigation-drawer-shading[b-mmtwy7bqoq] {
    opacity: 0;
    visibility: hidden;
}

[b-mmtwy7bqoq] .navigation-drawer > .dxbl-drawer-panel {
    display: flex;
}

[b-mmtwy7bqoq] .navigation-drawer.mobile > .dxbl-drawer-panel {
    display: none;
}

.navigation-drawer-shading[b-mmtwy7bqoq] {
    display: none;
}

[b-mmtwy7bqoq] .panel-open:not(.mobile) .nav-buttons-container .menu-button {
    display: none;
}

@media (max-width: 768px) {
    [b-mmtwy7bqoq] .navigation-drawer > .dxbl-drawer-panel {
        display: none;
    }

    [b-mmtwy7bqoq] .navigation-drawer.mobile > .dxbl-drawer-panel {
        display: flex;
    }

    .navigation-drawer-shading[b-mmtwy7bqoq] {
        display: block;
    }

    [b-mmtwy7bqoq] .panel-open:not(.mobile) .nav-buttons-container .menu-button {
        display: flex;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-ibvd6jy6j2] {
    height: 100%;
    min-height: 0;
}

[b-ibvd6jy6j2] .navigation-drawer {
    --dxbl-drawer-panel-body-padding-x: 0;
    --dxbl-drawer-panel-body-padding-y: 1rem;
    --dxbl-drawer-panel-footer-bg: none;
    --dxbl-drawer-panel-header-bg: none;
    --dxbl-drawer-separator-border-width: 0;
}

/* Color propio (--color-corporativo) para que no se visualice el color original de Bootstrap en el menú vertical al cambiar de /cuenta/... a otra página */
[b-ibvd6jy6j2] .navigation-drawer > .dxbl-drawer-panel {
    background-image: linear-gradient(180deg, var(--color-corporativo) 50%, var(--bs-black) 120%); 
}

.navigation-drawer-header[b-ibvd6jy6j2] {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 1.375rem 0.375rem;
    width: 100%;
}

.navigation-drawer-header .logo[b-ibvd6jy6j2] {
    height: 3rem;
    width: 9rem;
}

.navigation-drawer-footer[b-ibvd6jy6j2] {
    display: flex;
    justify-content: space-evenly;
    padding-bottom: 0.875rem;
    width: 100%;
}

.drawer-content[b-ibvd6jy6j2] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: auto;
    padding: 2rem 1.5rem 1.5rem 1.5rem;
}

.nav-buttons-container[b-ibvd6jy6j2] {
    align-items: center;
    display: flex;
    gap: 0.625rem;
    min-height: 2rem;
}

[b-ibvd6jy6j2] .nav-buttons-container > a {
    color: inherit;
}

[b-ibvd6jy6j2] .nav-buttons-container .back-button {
    padding-left: 0;
    padding-right: 0.25rem;
}

[b-ibvd6jy6j2] .nav-buttons-container .menu-button-float-end {
    margin-left: auto;
}

[b-ibvd6jy6j2] .nav-buttons-container .btn-icon-only,
[b-ibvd6jy6j2] .navigation-drawer-header .btn-icon-only {
    --dxbl-btn-padding-x: 0.5rem;
    --dxbl-btn-padding-y: 0.25rem;
}

.page-content-container[b-ibvd6jy6j2] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-height: 0;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
[b-jn6ijxr4z9] .menu {
    --dxbl-menu-bottom-left-border-radius: 0;
    --dxbl-menu-bottom-right-border-radius: 0;
    --dxbl-menu-top-left-border-radius: 0;
    --dxbl-menu-top-right-border-radius: 0;
    --dxbl-menu-item-padding-x: 1.125rem;
    --dxbl-menu-item-padding-y: 0.5rem;
    --dxbl-menu-color: var(--bs-white);
    --dxbl-menu-item-hover-color: var(--bs-white);

    background: none;
}

[b-jn6ijxr4z9] .menu.display-mobile {
    margin-bottom: 2rem;
}

[b-jn6ijxr4z9] .menu-item-active {
    background-color: rgb(from var(--bs-white) r g b / 0.10);
}

/* El formulario ocupa todo el ancho, igual que el menú */
[b-jn6ijxr4z9] form.menu {
    width: 100%;
}

/* El botón de cerrar sesión se pinta igual que un DxMenuItem, usando las mismas variables del menú */
[b-jn6ijxr4z9] .boton-cerrar-sesion {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    padding: var(--dxbl-menu-item-padding-y) var(--dxbl-menu-item-padding-x);
    color: var(--dxbl-menu-color) !important;
    background: none !important;
    border: none;
    border-radius: 0;
}

/* Mismo hover que los demás ítems del menú */
[b-jn6ijxr4z9] .boton-cerrar-sesion:hover {
    color: var(--dxbl-menu-item-hover-color) !important;
    background-color: rgb(from var(--bs-white) r g b / 0.10) !important;
}

/* Evita que icono y texto se apilen en dos filas mientras el Drawer anima su ancho */
[b-jn6ijxr4z9] .boton-cerrar-sesion {
    flex-wrap: nowrap;
    white-space: nowrap;
}


/* Evita que el icono se encoja*/
[b-jn6ijxr4z9] .boton-cerrar-sesion .icon {
    flex-shrink: 0;
}

/* Cuando el usuario está logueado (Perfil), sin margen inferior */
[b-jn6ijxr4z9] .menu.display-mobile.menu-usuario-logueado {
    margin-bottom: 0;
}
/* /Components/Pages/CobrosConciliados.razor.rz.scp.css */
/* CSS for CobrosConciliados component */
.despegable-mes[b-vtarie1jse] {
    min-width: 200px;
}
/* /Components/Pages/Conciliacion.razor.rz.scp.css */
/* CSS for Conciliacion component */

/*Botón de subir documento de liquidación*/
[b-7rawi2pjly] .boton-subir-liquidacion{
    max-width: 300px;
}


/* Tarjeta blanca que envuelve la previsualizacion del Excel */
.tarjeta-previsualizacion[b-7rawi2pjly] {
    margin-top: 10px;
    padding: 20px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background-color: #ffffff;
}

/* Fila de badges con los numeros resumen (cobros, pendientes, etc) */
.badges-resumen-previsualizacion[b-7rawi2pjly] {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin: 16px 0;
    flex-wrap: wrap;
}

/* Caja individual de cada badge */
.badge-resumen[b-7rawi2pjly] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    min-width: 140px;
    background-color: #f8f9fa;
}

/* Número dentro del badge */
.badge-resumen-numero[b-7rawi2pjly] {
    font-size: 1.5rem;
    font-weight: 600;
}

/* Texto pequeño debajo del número, explicando que es */
.badge-resumen-etiqueta[b-7rawi2pjly] {
    font-size: 0.85rem;
    text-align: center;
}

/* Botones de abajo de la tarjeta de previsualizacion */
.pie-tarjeta-previsualizacion[b-7rawi2pjly] {
    display: flex;
    gap: 8px;
    margin-top: 20px;
    justify-content: flex-start;
}

/* Fila con el selector de mes y los botones, se reparte segun el ancho disponible */
.fila-resumen[b-7rawi2pjly] {
    container-type: inline-size;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 16px;
}

/* Envuelve los badges para poder centrarlos en móvil */
.contenedor-badges[b-7rawi2pjly] {
    display: flex;
}

/* Texto del mes seleccionado */
[b-7rawi2pjly] .texto-mes-conciliacion{
    font-size: 1rem;
}

/* Agrupa lo que va pegado a la derecha (botones de acción) */
.bloque-derecho[b-7rawi2pjly] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    margin-left: auto;
}

/* Filas de la conciliación: verde = concilia, rojo = no concilia, azul = cliente no encontrado y amarillo = no encontrado en el sistema */
[b-7rawi2pjly] .fila-concilia-si {
    background-color: #d1e7dd;
}

[b-7rawi2pjly] .fila-concilia-no {
    background-color: #f8d7da;
}

[b-7rawi2pjly] .fila-concilia-sobrante {
    background-color: #fff3cd;
}

[b-7rawi2pjly] .fila-concilia-cliente-no-coincide {
    background-color: #cfe2ff;
}

/*Filas resumen cobros, pendientes y cobros regularizados - Tabla incial de la página /conciliación */
[b-7rawi2pjly] .fila-estado-cobro {
    background-color: #b29fdb8f;
}

[b-7rawi2pjly] .fila-estado-pendiente {
    background-color: #ffcc84d6;
}

[b-7rawi2pjly] .fila-estado-cobro-regularizado > td {
    background-color: #cbdaf9;
}

[b-7rawi2pjly] .fila-abono {
    background-color: #d9d9d9;
}

/* Contenedores resumen de datos - Tabla previsualización de datos /conciliación */
@container (max-width: 600px) {
    .contenedor-badges[b-7rawi2pjly] {
        width: 100%;
        justify-content: center;
    }

    .badge-resumen[b-7rawi2pjly] {
        flex: 1 1 160px;
    }
}
/* /Components/Pages/Index/Index.razor.rz.scp.css */
[b-c99u0a60pm] .index-gridlayout {
    container-type: inline-size;
    height:auto;
    max-height:100%;
    margin-top: auto;
    margin-bottom: auto;
    padding-bottom: 3rem;
}

[b-c99u0a60pm] .title {
    padding-bottom: 3rem;
    text-align: center;
}

[b-c99u0a60pm] .tiles {
    --tile-column-count: 3;

    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(var(--tile-column-count), max-content);
    justify-content: center;

    /*@container (max-width: 60.5rem) {
        --tile-column-count: 3;
    }*/
    @container (max-width: 50.125rem) {
        --tile-column-count: 2;
    }
    @container (max-width: 29.75rem) {
        --tile-column-count: 1;
    }
}

[b-c99u0a60pm] .icon {
    background-color: #ec413a;
}
/* /Components/Pages/Index/IndexTile.razor.rz.scp.css */
.tile[b-afru7mvsea] {
    border-radius: 0.75rem;
    height: 7.5rem;
    transition: box-shadow 0.2s;
    width: 14.375rem;
    border: var(--bs-border-width) solid var(--bs-border-color);
}

.tile:hover[b-afru7mvsea] {
    box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.tile[b-afru7mvsea]  > a {
    text-decoration: none;
}

[b-afru7mvsea] .tile-content {
    padding: 1rem;
}

[b-afru7mvsea] .tile-icon {
    border-radius: 0.375rem;
    height: 2.75rem;
    padding: 0.75rem;
    width: 2.75rem;
    border: var(--bs-border-width) solid var(--bs-border-color);
}

[b-afru7mvsea] .tile-title {
    align-self: center;
    color: var(--bs-body-color);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.25rem;
}

[b-afru7mvsea] .tile-description {
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1rem;
}
/* /Components/Pages/Pendientes.razor.rz.scp.css */
/* CSS for Pendientes component */

/* Quita el espacio interior de las pestañas */
[b-551l07y43y] .tabs-pendientes .dxbl-tabs-content {
    padding: 0;
}

/* Quita el redondeado de arriba del grid */
[b-551l07y43y] .grid-pegado-pestania {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

/* En pantallas pequeñas, se añade más separación debajo del bloque de filtros */
@media (max-width: 400px) {
    .bloque-filtros[b-551l07y43y] {
        margin-bottom: 1rem !important;
    }
}

/*Disminuir separación entre la descripción de la página y el botón de limpiar filtros*/
.bloque-filtros[b-551l07y43y] {
    margin-top: -.3rem !important;
}

/*Cambiar color - Botones cobrado y pendiente*/
[b-551l07y43y] .btn-cobrado,
[b-551l07y43y] .btn-pendiente {
    background-color: #ec413a !important;
    border: #ec413a !important;
}

/* Espacio debajo de la tabla, para que no quede pegada al final de la pantalla */
.contenedor-grid-pendientes[b-551l07y43y] {
    padding-bottom: 1.5rem !important;
}


/* Fila combinada de pestañas y contador: en pantalla ancha van en la misma línea
   (pestañas a la izquierda, selector a la derecha); en pantallas pequeñas se apilan y el contador pasa a quedar arriba, alineado a la derecha */
.fila-pestanias-selector[b-551l07y43y] {
    flex-wrap: nowrap !important;
}

 .fila-pestanias-selector .tabs-pendientes[b-551l07y43y] {
     flex: 1 1 auto;
     min-width: 0;
     overflow-x: auto;
 }

 .fila-pestanias-selector > span[b-551l07y43y] {
     flex: 0 0 auto;
 }


@media (max-width: 500px) {
    .fila-pestanias-selector[b-551l07y43y] {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .fila-pestanias-selector > span[b-551l07y43y] {
        order: -1;
        align-self: flex-end;
    }
}
/* /Components/Pages/Polizas.razor.rz.scp.css */
/* CSS for Polizas component */

/* Columna del icono para expandir/contraer la fila */
[b-qx7j2llmzf] .grid-polizas .dxbl-grid-indent-cell {
     width: 25px !important;
     min-width: 25px !important;
     max-width: 25px !important;
}


/* Contenedor de los Cobros dentro de la fila expandida */
.detalle-cobros[b-qx7j2llmzf] {
    overflow-y: auto;
    box-sizing: border-box;
}

/*Botón renovar póliza*/
[b-qx7j2llmzf] .btn-renovar {
    background-color: #1c222b;
    border-color: #1c222b;
    color: #fff;
}

[b-qx7j2llmzf] .btn-renovar:hover, [b-qx7j2llmzf] .btn-renovar:active {
     background-color: #1c1c1e !important;
     border-color: #1c1c1e !important;
}

/*Establezcer altura de las celdas*/
[b-qx7j2llmzf] .grid-polizas .dxbl-grid-table tbody tr[role="row"] td[role="gridcell"] {
    height: 45px;
    min-width: 120px !important;
}


/* Color personalizado para el estado "Nuevo" de Pólizas */
[b-qx7j2llmzf] .bg-poliza-nuevo {
    background-color: #b8dbe5;
    color: #476b8d;
}

/* Color personalizado para el estado "Renovado" de Pólizas */
[b-qx7j2llmzf] .bg-poliza-renovacion {
    background-color: #e6d1fa;
    color: #a15beb;
}

/* Botón "+": verde y sin fondo, borde ni sombra */
[b-qx7j2llmzf] .boton-anadir-cobro,
[b-qx7j2llmzf] .boton-anadir-cobro:hover,
[b-qx7j2llmzf] .boton-anadir-cobro:active,
[b-qx7j2llmzf] .boton-anadir-cobro:focus,
[b-qx7j2llmzf] .boton-anadir-cobro:focus-visible {
    color: #198754 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

[b-qx7j2llmzf] .boton-anadir-cobro{
    font-size: 1.15rem;
    padding: 0;
    transition: transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Oculta la flechita del DxDropDownButton para que solo se vea el "+" */
[b-qx7j2llmzf] .boton-anadir-cobro > svg.dxbl-image {
    display: none !important;
}

/* Al pasar el ratón los botones crecen un 25 %, salvo si están deshabilitados */
[b-qx7j2llmzf] .boton-anadir-cobro:hover:not(:disabled), [b-qx7j2llmzf] .boton-eliminar-cobro:hover:not(:disabled) {
    transform: scale(1.25);
}

/* Fila de color rojo para cobros que no sean normales */
[b-qx7j2llmzf] .fila-cobro-no-normal > td {
    background-color: #ffccb0d6 !important;
}
