/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-2t3qb2fazo] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-2t3qb2fazo] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-wxs0k35arh],
.components-reconnect-repeated-attempt-visible[b-wxs0k35arh],
.components-reconnect-failed-visible[b-wxs0k35arh],
.components-pause-visible[b-wxs0k35arh],
.components-resume-failed-visible[b-wxs0k35arh],
.components-rejoining-animation[b-wxs0k35arh] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-wxs0k35arh],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-wxs0k35arh],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-wxs0k35arh],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-wxs0k35arh],
#components-reconnect-modal.components-reconnect-retrying[b-wxs0k35arh],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-wxs0k35arh],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-wxs0k35arh],
#components-reconnect-modal.components-reconnect-failed[b-wxs0k35arh],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-wxs0k35arh] {
    display: block;
}


#components-reconnect-modal[b-wxs0k35arh] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-wxs0k35arh 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-wxs0k35arh 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-wxs0k35arh 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-wxs0k35arh]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-wxs0k35arh 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-wxs0k35arh {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-wxs0k35arh {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-wxs0k35arh {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-wxs0k35arh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-wxs0k35arh] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-wxs0k35arh] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-wxs0k35arh] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-wxs0k35arh] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-wxs0k35arh] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-wxs0k35arh] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-wxs0k35arh 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-wxs0k35arh] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-wxs0k35arh {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Shared/CategoriaModal.razor.rz.scp.css */
.modal-backdrop[b-caub1k6ep4] {
    position: fixed;
    inset: 0;
    background: rgba(31, 35, 51, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    z-index: 100;
}

.modal-card[b-caub1k6ep4] {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 1.75rem;
    width: 100%;
    max-width: 440px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(31, 35, 51, 0.2);
}

.modal-titulo[b-caub1k6ep4] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 1.25rem 0;
}

.modal-campo[b-caub1k6ep4] {
    margin-bottom: 1.25rem;
}

.modal-campo label[b-caub1k6ep4],
.modal-label[b-caub1k6ep4] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1F2333;
    margin-bottom: 0.45rem;
}

.modal-campo input[b-caub1k6ep4] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.65rem 0.85rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    font-size: 0.95rem;
    color: #1F2333;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.modal-campo input:focus[b-caub1k6ep4] {
    border-color: #7C5CFC;
    box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.15);
}

.modal-tipos[b-caub1k6ep4] {
    display: flex;
    gap: 0.5rem;
}

.modal-tipo[b-caub1k6ep4] {
    flex: 1;
    padding: 0.6rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    background: #FFFFFF;
    color: #4B5162;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.modal-tipo.seleccionado[b-caub1k6ep4] {
    border-color: #7C5CFC;
    background: #F5F3FF;
    color: #7C5CFC;
}

.modal-iconos[b-caub1k6ep4] {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 0.35rem;
}

.modal-icono[b-caub1k6ep4] {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 8px;
    background: #F8F7FC;
    color: #4B5162;
    cursor: pointer;
    padding: 0;
}

.modal-icono[b-caub1k6ep4]  svg {
    width: 17px;
    height: 17px;
}

.modal-icono:hover[b-caub1k6ep4] {
    background: #F5F3FF;
    color: #7C5CFC;
}

.modal-icono.seleccionado[b-caub1k6ep4] {
    border-color: #7C5CFC;
    background: #EDE9FE;
    color: #7C5CFC;
}

.modal-colores[b-caub1k6ep4] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.modal-color[b-caub1k6ep4] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    padding: 0;
}

.modal-color.seleccionado[b-caub1k6ep4] {
    border-color: #1F2333;
    box-shadow: 0 0 0 2px #FFFFFF inset;
}

.modal-error[b-caub1k6ep4] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.6rem 0.8rem;
    font-size: 0.85rem;
    margin: 0 0 1rem 0;
}

.modal-acciones[b-caub1k6ep4] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
}

.modal-btn-secundario[b-caub1k6ep4],
.modal-btn-primario[b-caub1k6ep4] {
    padding: 0.65rem 1.1rem;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.modal-btn-secundario[b-caub1k6ep4] {
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    color: #4B5162;
}

.modal-btn-secundario:hover[b-caub1k6ep4] {
    background: #F8F7FC;
}

.modal-btn-primario[b-caub1k6ep4] {
    background: #7C5CFC;
    border: none;
    color: #FFFFFF;
}

.modal-btn-primario:hover:not(:disabled)[b-caub1k6ep4] {
    background: #6D4FE0;
}

.modal-btn-primario:disabled[b-caub1k6ep4] {
    background: #C7BFF0;
    cursor: not-allowed;
}

@media (max-width: 400px) {
    .modal-backdrop[b-caub1k6ep4] {
        padding: 0.75rem;
    }

    .modal-card[b-caub1k6ep4] {
        padding: 1.25rem;
    }
}
/* /Components/Shared/CuentaModal.razor.rz.scp.css */
.modal-backdrop[b-3h7jvkgs04] {
    position: fixed;
    inset: 0;
    background: rgba(31, 35, 51, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    z-index: 100;
}

.modal-card[b-3h7jvkgs04] {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 1.75rem;
    width: 100%;
    max-width: 460px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(31, 35, 51, 0.2);
}

.modal-titulo[b-3h7jvkgs04] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 1.25rem 0;
}

.modal-campo[b-3h7jvkgs04] {
    margin-bottom: 1.25rem;
}

.modal-fila[b-3h7jvkgs04] {
    display: flex;
    gap: 0.75rem;
}

.modal-campo-mitad[b-3h7jvkgs04] {
    flex: 1;
    min-width: 0;
}

.modal-campo label[b-3h7jvkgs04],
.modal-label[b-3h7jvkgs04] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1F2333;
    margin-bottom: 0.45rem;
}

.modal-campo input[b-3h7jvkgs04] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.65rem 0.85rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    font-size: 0.95rem;
    color: #1F2333;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.modal-campo input:focus[b-3h7jvkgs04] {
    border-color: #7C5CFC;
    box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.15);
}

.modal-tipos[b-3h7jvkgs04] {
    display: flex;
    gap: 0.4rem;
}

.modal-tipo[b-3h7jvkgs04] {
    flex: 1;
    padding: 0.55rem 0.3rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    background: #FFFFFF;
    color: #4B5162;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.modal-tipo.seleccionado[b-3h7jvkgs04] {
    border-color: #7C5CFC;
    background: #F5F3FF;
    color: #7C5CFC;
}

.modal-iconos[b-3h7jvkgs04] {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 0.35rem;
}

.modal-icono[b-3h7jvkgs04] {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 8px;
    background: #F8F7FC;
    color: #4B5162;
    cursor: pointer;
    padding: 0;
}

.modal-icono[b-3h7jvkgs04]  svg {
    width: 17px;
    height: 17px;
}

.modal-icono:hover[b-3h7jvkgs04] {
    background: #F5F3FF;
    color: #7C5CFC;
}

.modal-icono.seleccionado[b-3h7jvkgs04] {
    border-color: #7C5CFC;
    background: #EDE9FE;
    color: #7C5CFC;
}

.modal-colores[b-3h7jvkgs04] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.modal-color[b-3h7jvkgs04] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    padding: 0;
}

.modal-color.seleccionado[b-3h7jvkgs04] {
    border-color: #1F2333;
    box-shadow: 0 0 0 2px #FFFFFF inset;
}

.modal-error[b-3h7jvkgs04] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.6rem 0.8rem;
    font-size: 0.85rem;
    margin: 0 0 1rem 0;
}

.modal-acciones[b-3h7jvkgs04] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
}

.modal-btn-secundario[b-3h7jvkgs04],
.modal-btn-primario[b-3h7jvkgs04] {
    padding: 0.65rem 1.1rem;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.modal-btn-secundario[b-3h7jvkgs04] {
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    color: #4B5162;
}

.modal-btn-secundario:hover[b-3h7jvkgs04] {
    background: #F8F7FC;
}

.modal-btn-primario[b-3h7jvkgs04] {
    background: #7C5CFC;
    border: none;
    color: #FFFFFF;
}

.modal-btn-primario:hover:not(:disabled)[b-3h7jvkgs04] {
    background: #6D4FE0;
}

.modal-btn-primario:disabled[b-3h7jvkgs04] {
    background: #C7BFF0;
    cursor: not-allowed;
}

@media (max-width: 400px) {
    .modal-backdrop[b-3h7jvkgs04] {
        padding: 0.75rem;
    }

    .modal-card[b-3h7jvkgs04] {
        padding: 1.25rem;
    }
}
/* /Components/Shared/GraficoBarras.razor.rz.scp.css */
.grafico-vacio[b-6t2pjy8o5m] {
    color: #9CA3AF;
    font-size: 0.9rem;
    text-align: center;
    padding: 3rem 1rem;
    margin: 0;
}

.grafico-leyenda[b-6t2pjy8o5m] {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 0.75rem;
}

.leyenda-item[b-6t2pjy8o5m] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: #4B5162;
}

.leyenda-punto[b-6t2pjy8o5m] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

.leyenda-punto-verde[b-6t2pjy8o5m] { background: #22C55E; }
.leyenda-punto-rojo[b-6t2pjy8o5m] { background: #EF4444; }
.leyenda-punto-morado[b-6t2pjy8o5m] { background: #7C5CFC; }

.grafico[b-6t2pjy8o5m] {
    width: 100%;
    height: auto;
}
/* /Components/Shared/GraficoDona.razor.rz.scp.css */
.dona-vacia[b-taile5alsh] {
    color: #9CA3AF;
    font-size: 0.9rem;
    text-align: center;
    padding: 3rem 1rem;
    margin: 0;
}

.dona-wrapper[b-taile5alsh] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.dona[b-taile5alsh] {
    width: 150px;
    height: 150px;
    flex-shrink: 0;
}

.dona-leyenda[b-taile5alsh] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #4B5162;
    flex: 1;
    min-width: 150px;
}

.dona-leyenda li[b-taile5alsh] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.dona-nombre[b-taile5alsh] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dona-leyenda b[b-taile5alsh] {
    color: #1F2333;
}

.dona-punto[b-taile5alsh] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}
/* /Components/Shared/GraficoEvolucion.razor.rz.scp.css */
.grafico-vacio[b-35d5ui2zwe] {
    color: #9CA3AF;
    font-size: 0.9rem;
    text-align: center;
    padding: 3rem 1rem;
    margin: 0;
}

.grafico-leyenda[b-35d5ui2zwe] {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 0.75rem;
}

.leyenda-item[b-35d5ui2zwe] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: #4B5162;
}

.leyenda-punto[b-35d5ui2zwe] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

.leyenda-punto-verde[b-35d5ui2zwe] { background: #22C55E; }
.leyenda-punto-rojo[b-35d5ui2zwe] { background: #EF4444; }

.grafico[b-35d5ui2zwe] {
    width: 100%;
    height: auto;
}
/* /Components/Shared/GraficoLinea.razor.rz.scp.css */
.grafico-vacio[b-hmxx0nr192] {
    color: #9CA3AF;
    font-size: 0.9rem;
    text-align: center;
    padding: 3rem 1rem;
    margin: 0;
}

.grafico[b-hmxx0nr192] {
    width: 100%;
    height: auto;
}
/* /Components/Shared/Icono.razor.rz.scp.css */
svg[b-4p3w5s9yks] {
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}
/* /Components/Shared/MetaAhorroModal.razor.rz.scp.css */
.modal-backdrop[b-z03oklezcy] {
    position: fixed;
    inset: 0;
    background: rgba(31, 35, 51, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    padding: 1rem;
}

.modal-card[b-z03oklezcy] {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1.75rem;
    width: 100%;
    max-width: 420px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(31, 35, 51, 0.25);
}

.modal-titulo[b-z03oklezcy] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 1.25rem 0;
}

.modal-campo[b-z03oklezcy] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-bottom: 1rem;
}

.modal-campo label[b-z03oklezcy] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #4B5162;
}

.modal-campo input[b-z03oklezcy],
.modal-campo select[b-z03oklezcy] {
    border: 1px solid #E4E1F5;
    border-radius: 10px;
    padding: 0.6rem 0.75rem;
    font-size: 0.9rem;
    font-family: inherit;
    color: #1F2333;
    background: #FFFFFF;
}

.modal-campo input:focus[b-z03oklezcy],
.modal-campo select:focus[b-z03oklezcy] {
    outline: none;
    border-color: #7C5CFC;
}

.modal-error[b-z03oklezcy] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.6rem 0.8rem;
    font-size: 0.85rem;
    margin: 0 0 1rem 0;
}

.modal-acciones[b-z03oklezcy] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    margin-top: 0.5rem;
}

.modal-btn-secundario[b-z03oklezcy] {
    background: none;
    border: 1px solid #E4E1F5;
    border-radius: 10px;
    padding: 0.55rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #4B5162;
    cursor: pointer;
}

.modal-btn-primario[b-z03oklezcy] {
    background: #7C5CFC;
    border: none;
    border-radius: 10px;
    padding: 0.55rem 1.1rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #FFFFFF;
    cursor: pointer;
}

.modal-btn-primario:disabled[b-z03oklezcy] {
    background: #D8D4F0;
    cursor: not-allowed;
}

@media (max-width: 400px) {
    .modal-backdrop[b-z03oklezcy] {
        padding: 0.75rem;
    }

    .modal-card[b-z03oklezcy] {
        padding: 1.25rem;
    }
}
/* /Components/Shared/MovimientoModal.razor.rz.scp.css */
.modal-backdrop[b-d3odf9lzfa] {
    position: fixed;
    inset: 0;
    background: rgba(31, 35, 51, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    z-index: 100;
}

.modal-card[b-d3odf9lzfa] {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 1.75rem;
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(31, 35, 51, 0.2);
}

.modal-titulo[b-d3odf9lzfa] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 1.25rem 0;
}

.modal-campo[b-d3odf9lzfa] {
    margin-bottom: 1.25rem;
}

.modal-fila[b-d3odf9lzfa] {
    display: flex;
    gap: 0.75rem;
}

.modal-campo-mitad[b-d3odf9lzfa] {
    flex: 1;
    min-width: 0;
}

.modal-campo label[b-d3odf9lzfa],
.modal-label[b-d3odf9lzfa] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1F2333;
    margin-bottom: 0.45rem;
}

.modal-opcional[b-d3odf9lzfa] {
    font-weight: 500;
    color: #9CA3AF;
}

.modal-campo input[b-d3odf9lzfa],
.modal-campo select[b-d3odf9lzfa],
.modal-campo textarea[b-d3odf9lzfa] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.65rem 0.85rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    font-size: 0.95rem;
    font-family: inherit;
    color: #1F2333;
    outline: none;
    background: #FFFFFF;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.modal-campo input:focus[b-d3odf9lzfa],
.modal-campo select:focus[b-d3odf9lzfa],
.modal-campo textarea:focus[b-d3odf9lzfa] {
    border-color: #7C5CFC;
    box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.15);
}

.modal-campo textarea[b-d3odf9lzfa] {
    resize: vertical;
}

.modal-importe[b-d3odf9lzfa] {
    position: relative;
    display: flex;
    align-items: center;
}

.modal-importe input[b-d3odf9lzfa] {
    font-size: 1.75rem;
    font-weight: 700;
    padding: 0.7rem 2.2rem 0.7rem 0.9rem;
    text-align: right;
}

.modal-importe-moneda[b-d3odf9lzfa] {
    position: absolute;
    right: 0.9rem;
    font-size: 1.3rem;
    font-weight: 700;
    color: #9CA3AF;
    pointer-events: none;
}

.modal-categorias[b-d3odf9lzfa] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
    gap: 0.4rem;
    max-height: 190px;
    overflow-y: auto;
}

.modal-categoria[b-d3odf9lzfa] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    padding: 0.5rem 0.3rem;
    border: 1px solid transparent;
    border-radius: 12px;
    background: #F8F7FC;
    cursor: pointer;
}

.modal-categoria:hover[b-d3odf9lzfa] {
    background: #F5F3FF;
}

.modal-categoria.seleccionada[b-d3odf9lzfa] {
    border-color: #7C5CFC;
    background: #EDE9FE;
}

.modal-categoria-icono[b-d3odf9lzfa] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

.modal-categoria-icono[b-d3odf9lzfa]  svg {
    width: 16px;
    height: 16px;
}

.modal-categoria-nombre[b-d3odf9lzfa] {
    font-size: 0.7rem;
    font-weight: 600;
    color: #4B5162;
    text-align: center;
    line-height: 1.2;
    word-break: break-word;
}

.modal-aviso[b-d3odf9lzfa] {
    background: #FEF3C7;
    color: #92400E;
    border-radius: 10px;
    padding: 0.6rem 0.8rem;
    font-size: 0.85rem;
    margin: 0;
}

.modal-error[b-d3odf9lzfa] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.6rem 0.8rem;
    font-size: 0.85rem;
    margin: 0 0 1rem 0;
}

.modal-acciones[b-d3odf9lzfa] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
}

.modal-btn-secundario[b-d3odf9lzfa],
.modal-btn-primario[b-d3odf9lzfa] {
    padding: 0.65rem 1.1rem;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.modal-btn-secundario[b-d3odf9lzfa] {
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    color: #4B5162;
}

.modal-btn-secundario:hover[b-d3odf9lzfa] {
    background: #F8F7FC;
}

.modal-btn-primario[b-d3odf9lzfa] {
    background: #7C5CFC;
    border: none;
    color: #FFFFFF;
}

.modal-btn-primario:hover:not(:disabled)[b-d3odf9lzfa] {
    background: #6D4FE0;
}

.modal-btn-primario:disabled[b-d3odf9lzfa] {
    background: #C7BFF0;
    cursor: not-allowed;
}

@media (max-width: 400px) {
    .modal-backdrop[b-d3odf9lzfa] {
        padding: 0.75rem;
    }

    .modal-card[b-d3odf9lzfa] {
        padding: 1.25rem;
    }
}
/* /Components/Shared/PageHeader.razor.rz.scp.css */
.page-header[b-rw7p4qiyjc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.page-header-title[b-rw7p4qiyjc] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0;
}

.page-header-actions[b-rw7p4qiyjc] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.page-header-month[b-rw7p4qiyjc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    border-radius: 10px;
    padding: 0.4rem 0.75rem;
    font-size: 0.88rem;
    color: #1F2333;
}

.page-header-month-btn[b-rw7p4qiyjc] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: none;
    border: none;
    color: #9CA3AF;
    cursor: pointer;
    padding: 0;
}

.page-header-month-btn svg[b-rw7p4qiyjc] {
    width: 16px;
    height: 16px;
}

.page-header-bell[b-rw7p4qiyjc] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    color: #4B5162;
    cursor: pointer;
}

.page-header-bell svg[b-rw7p4qiyjc] {
    width: 19px;
    height: 19px;
}

.page-header-bell-dot[b-rw7p4qiyjc] {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #EF4444;
    border: 2px solid #FFFFFF;
}

.page-header-avatar[b-rw7p4qiyjc] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #7C5CFC;
    color: #FFFFFF;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
}

.page-header-avatar:hover[b-rw7p4qiyjc] {
    background: #6D4FE0;
}

.page-header-avatar:focus-visible[b-rw7p4qiyjc] {
    outline: 2px solid #7C5CFC;
    outline-offset: 2px;
}

.page-header-usuario[b-rw7p4qiyjc] {
    position: relative;
}

.page-header-menu[b-rw7p4qiyjc] {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    min-width: 180px;
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(31, 35, 51, 0.12);
    padding: 0.35rem;
    z-index: 50;
}

.page-header-menu-item[b-rw7p4qiyjc] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    padding: 0.6rem 0.7rem;
    border: none;
    border-radius: 9px;
    background: transparent;
    color: #4B5162;
    font-size: 0.88rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.page-header-menu-item svg[b-rw7p4qiyjc] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.page-header-menu-item:hover:not(:disabled)[b-rw7p4qiyjc] {
    background: #F5F3FF;
    color: #7C5CFC;
}

.page-header-menu-item:disabled[b-rw7p4qiyjc] {
    color: #9CA3AF;
    cursor: not-allowed;
}

.page-header-notif[b-rw7p4qiyjc] {
    position: relative;
}

.page-header-notif-panel[b-rw7p4qiyjc] {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    width: min(320px, calc(100vw - 2rem));
    max-height: 380px;
    overflow-y: auto;
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(31, 35, 51, 0.12);
    padding: 0.75rem;
    z-index: 50;
}

/* En un móvil estrecho, el botón que abre este panel no está pegado al borde
   derecho de la pantalla (todavía tiene el avatar al lado) — anclar el panel a
   "right: 0" de ese botón lo empuja fuera de la pantalla por la IZQUIERDA, no por
   la derecha. Por debajo de 480px se ancla directamente al viewport en vez de al
   botón que lo abre. */
@media (max-width: 480px) {
    .page-header-notif-panel[b-rw7p4qiyjc] {
        position: fixed;
        top: 4.5rem;
        left: 1rem;
        right: 1rem;
        width: auto;
    }
}

.page-header-notif-titulo[b-rw7p4qiyjc] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0.15rem 0.15rem 0.6rem 0.15rem;
}

.page-header-notif-vacio[b-rw7p4qiyjc] {
    font-size: 0.85rem;
    color: #9CA3AF;
    margin: 0.5rem 0.15rem;
}

.page-header-notif-lista[b-rw7p4qiyjc] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.page-header-notif-item[b-rw7p4qiyjc] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem;
    border-radius: 9px;
    text-decoration: none;
    color: inherit;
}

.page-header-notif-item:hover[b-rw7p4qiyjc] {
    background: #F5F3FF;
}

.page-header-notif-icono[b-rw7p4qiyjc] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    flex-shrink: 0;
}

.page-header-notif-icono svg[b-rw7p4qiyjc] {
    width: 17px;
    height: 17px;
}

.page-header-notif-aviso .page-header-notif-icono[b-rw7p4qiyjc] {
    background: #FEF3C7;
    color: #D97706;
}

.page-header-notif-critica .page-header-notif-icono[b-rw7p4qiyjc] {
    background: #FEE2E2;
    color: #DC2626;
}

.page-header-notif-info[b-rw7p4qiyjc] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.page-header-notif-info strong[b-rw7p4qiyjc] {
    font-size: 0.85rem;
    color: #1F2333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-header-notif-info span[b-rw7p4qiyjc] {
    font-size: 0.76rem;
    color: #9CA3AF;
}
/* /Components/Shared/PantallaMovimientos.razor.rz.scp.css */
.mov-barra[b-7ette51myj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.mov-total[b-7ette51myj] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1rem 1.5rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.mov-total-label[b-7ette51myj] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #6B7280;
}

.mov-total-valor[b-7ette51myj] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #DC2626;
}

.mov-total-valor.positivo[b-7ette51myj] {
    color: #16A34A;
}

.mov-barra-acciones[b-7ette51myj] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.mov-filtro[b-7ette51myj] {
    padding: 0.6rem 0.8rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    background: #FFFFFF;
    color: #4B5162;
    font-size: 0.85rem;
    font-family: inherit;
    cursor: pointer;
    outline: none;
}

.mov-filtro:focus[b-7ette51myj] {
    border-color: #7C5CFC;
    box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.15);
}

.mov-btn-nuevo[b-7ette51myj] {
    display: inline-block;
    padding: 0.65rem 1.1rem;
    border: none;
    border-radius: 12px;
    background: #7C5CFC;
    color: #FFFFFF;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.mov-btn-nuevo:hover:not(:disabled)[b-7ette51myj] {
    background: #6D4FE0;
}

.mov-btn-nuevo:disabled[b-7ette51myj] {
    background: #C7BFF0;
    cursor: not-allowed;
}

.mov-estado[b-7ette51myj] {
    color: #6B7280;
    font-size: 0.9rem;
}

.mov-estado-error[b-7ette51myj] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
    margin: 0 0 1rem 0;
}

.mov-vacio[b-7ette51myj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    background: #FFFFFF;
    border-radius: 20px;
    padding: 3.5rem 2rem;
    text-align: center;
    box-shadow: 0 10px 40px rgba(124, 92, 252, 0.06);
}

.mov-vacio-icono[b-7ette51myj] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #F5F3FF;
    color: #7C5CFC;
    margin-bottom: 0.4rem;
}

.mov-vacio-icono[b-7ette51myj]  svg {
    width: 28px;
    height: 28px;
}

.mov-vacio-titulo[b-7ette51myj] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0;
}

.mov-vacio-texto[b-7ette51myj] {
    font-size: 0.9rem;
    color: #6B7280;
    max-width: 400px;
    margin: 0 0 0.75rem 0;
    line-height: 1.5;
}

.mov-dias[b-7ette51myj] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.mov-dia-cabecera[b-7ette51myj] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 0.5rem;
    padding: 0 0.25rem;
}

.mov-dia-fecha[b-7ette51myj] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #4B5162;
}

.mov-dia-total[b-7ette51myj] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #9CA3AF;
}

.mov-lista[b-7ette51myj] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.mov-fila[b-7ette51myj] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    background: #FFFFFF;
    border-radius: 14px;
    padding: 0.85rem 1.15rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.mov-icono[b-7ette51myj] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    flex-shrink: 0;
}

.mov-icono[b-7ette51myj]  svg {
    width: 19px;
    height: 19px;
}

.mov-info[b-7ette51myj] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.mov-info strong[b-7ette51myj] {
    font-size: 0.93rem;
    color: #1F2333;
}

.mov-info span[b-7ette51myj] {
    font-size: 0.78rem;
    color: #9CA3AF;
}

.mov-acciones[b-7ette51myj] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    opacity: 0;
    transition: opacity 0.15s;
}

.mov-fila:hover .mov-acciones[b-7ette51myj],
.mov-fila:focus-within .mov-acciones[b-7ette51myj] {
    opacity: 1;
}

.mov-confirmar[b-7ette51myj] {
    font-size: 0.75rem;
    font-weight: 700;
    color: #DC2626;
}

.mov-accion[b-7ette51myj] {
    border: 1px solid #E4E1F5;
    border-radius: 8px;
    background: #FFFFFF;
    color: #6B7280;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.3rem 0.6rem;
    cursor: pointer;
}

.mov-accion:hover[b-7ette51myj] {
    background: #F5F3FF;
    color: #7C5CFC;
    border-color: #7C5CFC;
}

.mov-accion-peligro:hover[b-7ette51myj] {
    background: #FEF2F2;
    color: #DC2626;
    border-color: #DC2626;
}

.mov-importe[b-7ette51myj] {
    font-size: 1rem;
    font-weight: 700;
    color: #DC2626;
    white-space: nowrap;
    min-width: 110px;
    text-align: right;
}

.mov-importe.positivo[b-7ette51myj] {
    color: #16A34A;
}

@media (hover: none) {
    .mov-acciones[b-7ette51myj] {
        opacity: 1;
    }
}
/* /Components/Shared/PantallaRecurrentes.razor.rz.scp.css */
.rec-barra[b-67ynak37rb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.rec-total[b-67ynak37rb] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1rem 1.5rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.rec-total-label[b-67ynak37rb] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #6B7280;
}

.rec-total-valor[b-67ynak37rb] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1F2333;
}

.rec-barra-acciones[b-67ynak37rb] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.rec-ver-inactivos[b-67ynak37rb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #6B7280;
    cursor: pointer;
}

.rec-ver-inactivos input[b-67ynak37rb] {
    width: 16px;
    height: 16px;
    accent-color: #7C5CFC;
    cursor: pointer;
}

.rec-btn-nuevo[b-67ynak37rb] {
    display: inline-block;
    padding: 0.65rem 1.1rem;
    border: none;
    border-radius: 12px;
    background: #7C5CFC;
    color: #FFFFFF;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.rec-btn-nuevo:hover:not(:disabled)[b-67ynak37rb] {
    background: #6D4FE0;
}

.rec-btn-nuevo:disabled[b-67ynak37rb] {
    background: #C7BFF0;
    cursor: not-allowed;
}

.rec-estado[b-67ynak37rb] {
    color: #6B7280;
    font-size: 0.9rem;
}

.rec-estado-error[b-67ynak37rb] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
    margin: 0 0 1rem 0;
}

/* El panel de pendientes destaca en ámbar: es lo que reclama acción. */
.rec-pendientes[b-67ynak37rb] {
    background: #FFFBEB;
    border: 1px solid #FDE68A;
    border-radius: 16px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
}

.rec-pendientes-titulo[b-67ynak37rb] {
    font-size: 1rem;
    font-weight: 700;
    color: #92400E;
    margin: 0 0 0.2rem 0;
}

.rec-pendientes-texto[b-67ynak37rb] {
    font-size: 0.85rem;
    color: #B45309;
    margin: 0 0 1rem 0;
}

.rec-pendientes-lista[b-67ynak37rb] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.rec-pendiente[b-67ynak37rb] {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: #FFFFFF;
    border-radius: 12px;
    padding: 0.75rem 1rem;
}

.rec-pendiente-importe[b-67ynak37rb] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.rec-pendiente-importe input[b-67ynak37rb] {
    width: 110px;
    box-sizing: border-box;
    padding: 0.5rem 0.6rem;
    border: 1px solid #E4E1F5;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 600;
    font-family: inherit;
    color: #1F2333;
    text-align: right;
    outline: none;
}

.rec-pendiente-importe input:focus[b-67ynak37rb] {
    border-color: #7C5CFC;
    box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.15);
}

.rec-pendiente-importe span[b-67ynak37rb] {
    font-weight: 700;
    color: #9CA3AF;
}

.rec-btn-registrar[b-67ynak37rb] {
    padding: 0.55rem 1rem;
    border: none;
    border-radius: 10px;
    background: #D97706;
    color: #FFFFFF;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.rec-btn-registrar:hover:not(:disabled)[b-67ynak37rb] {
    background: #B45309;
}

.rec-btn-registrar:disabled[b-67ynak37rb] {
    background: #FCD9A0;
    cursor: not-allowed;
}

.rec-sugerencias[b-67ynak37rb] {
    background: #FFFBEB;
    border: 1px solid #FDE68A;
    border-radius: 16px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
}

.rec-sugerencias-titulo[b-67ynak37rb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 700;
    color: #92400E;
    margin: 0 0 0.2rem 0;
}

.rec-sugerencias-icono[b-67ynak37rb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
}

.rec-sugerencias-icono[b-67ynak37rb]  svg {
    width: 18px;
    height: 18px;
}

.rec-sugerencias-texto[b-67ynak37rb] {
    font-size: 0.85rem;
    color: #B45309;
    margin: 0 0 1rem 0;
}

.rec-sugerencias-lista[b-67ynak37rb] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.rec-sugerencia[b-67ynak37rb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    background: #FFFFFF;
    border-radius: 12px;
    padding: 0.75rem 1rem;
}

.rec-sugerencia-acciones[b-67ynak37rb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.rec-btn-crear[b-67ynak37rb] {
    padding: 0.4rem 0.8rem;
    border: none;
    border-radius: 8px;
    background: #7C5CFC;
    color: #FFFFFF;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.rec-btn-crear:hover[b-67ynak37rb] {
    background: #6D4FE0;
}

.rec-vacio[b-67ynak37rb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    background: #FFFFFF;
    border-radius: 20px;
    padding: 3.5rem 2rem;
    text-align: center;
    box-shadow: 0 10px 40px rgba(124, 92, 252, 0.06);
}

.rec-vacio-icono[b-67ynak37rb] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #F5F3FF;
    color: #7C5CFC;
    margin-bottom: 0.4rem;
}

.rec-vacio-icono[b-67ynak37rb]  svg {
    width: 28px;
    height: 28px;
}

.rec-vacio-titulo[b-67ynak37rb] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0;
}

.rec-vacio-texto[b-67ynak37rb] {
    font-size: 0.9rem;
    color: #6B7280;
    max-width: 420px;
    margin: 0 0 0.75rem 0;
    line-height: 1.5;
}

.rec-lista[b-67ynak37rb] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.rec-fila[b-67ynak37rb] {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: #FFFFFF;
    border-radius: 14px;
    padding: 0.9rem 1.15rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.rec-fila.inactivo[b-67ynak37rb] {
    opacity: 0.55;
}

.rec-icono[b-67ynak37rb] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    flex-shrink: 0;
}

.rec-icono[b-67ynak37rb]  svg {
    width: 19px;
    height: 19px;
}

.rec-info[b-67ynak37rb] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.rec-info strong[b-67ynak37rb] {
    font-size: 0.93rem;
    color: #1F2333;
}

.rec-info > span[b-67ynak37rb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    color: #9CA3AF;
}

.rec-etiqueta[b-67ynak37rb] {
    background: #F3F4F6;
    color: #6B7280;
    border-radius: 999px;
    padding: 0.1rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 700;
}

.rec-proxima[b-67ynak37rb] {
    font-size: 0.8rem;
    color: #6B7280;
    white-space: nowrap;
}

.rec-proxima.vencida[b-67ynak37rb] {
    color: #D97706;
    font-weight: 700;
}

.rec-acciones[b-67ynak37rb] {
    display: flex;
    gap: 0.4rem;
    opacity: 0;
    transition: opacity 0.15s;
}

.rec-fila:hover .rec-acciones[b-67ynak37rb],
.rec-fila:focus-within .rec-acciones[b-67ynak37rb] {
    opacity: 1;
}

.rec-accion[b-67ynak37rb] {
    border: 1px solid #E4E1F5;
    border-radius: 8px;
    background: #FFFFFF;
    color: #6B7280;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.3rem 0.6rem;
    cursor: pointer;
}

.rec-accion:hover[b-67ynak37rb] {
    background: #F5F3FF;
    color: #7C5CFC;
    border-color: #7C5CFC;
}

.rec-importe[b-67ynak37rb] {
    font-size: 1rem;
    font-weight: 700;
    color: #1F2333;
    white-space: nowrap;
    min-width: 100px;
    text-align: right;
}
/* /Components/Shared/PantallaTransferencias.razor.rz.scp.css */
.tra-barra[b-rbdhneezjf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.tra-total[b-rbdhneezjf] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1rem 1.5rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.tra-total-label[b-rbdhneezjf] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #6B7280;
}

/* Neutro a propósito: una transferencia no es ni ingreso ni gasto. */
.tra-total-valor[b-rbdhneezjf] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1F2333;
}

.tra-barra-acciones[b-rbdhneezjf] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.tra-filtro[b-rbdhneezjf] {
    padding: 0.6rem 0.8rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    background: #FFFFFF;
    color: #4B5162;
    font-size: 0.85rem;
    font-family: inherit;
    cursor: pointer;
    outline: none;
}

.tra-filtro:focus[b-rbdhneezjf] {
    border-color: #7C5CFC;
    box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.15);
}

.tra-btn-nuevo[b-rbdhneezjf] {
    display: inline-block;
    padding: 0.65rem 1.1rem;
    border: none;
    border-radius: 12px;
    background: #7C5CFC;
    color: #FFFFFF;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.tra-btn-nuevo:hover:not(:disabled)[b-rbdhneezjf] {
    background: #6D4FE0;
}

.tra-btn-nuevo:disabled[b-rbdhneezjf] {
    background: #C7BFF0;
    cursor: not-allowed;
}

.tra-estado[b-rbdhneezjf] {
    color: #6B7280;
    font-size: 0.9rem;
}

.tra-estado-error[b-rbdhneezjf] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
    margin: 0 0 1rem 0;
}

.tra-vacio[b-rbdhneezjf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    background: #FFFFFF;
    border-radius: 20px;
    padding: 3.5rem 2rem;
    text-align: center;
    box-shadow: 0 10px 40px rgba(124, 92, 252, 0.06);
}

.tra-vacio-icono[b-rbdhneezjf] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #F5F3FF;
    color: #7C5CFC;
    margin-bottom: 0.4rem;
}

.tra-vacio-icono[b-rbdhneezjf]  svg {
    width: 28px;
    height: 28px;
}

.tra-vacio-titulo[b-rbdhneezjf] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0;
}

.tra-vacio-texto[b-rbdhneezjf] {
    font-size: 0.9rem;
    color: #6B7280;
    max-width: 400px;
    margin: 0 0 0.75rem 0;
    line-height: 1.5;
}

.tra-dias[b-rbdhneezjf] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.tra-dia-cabecera[b-rbdhneezjf] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 0.5rem;
    padding: 0 0.25rem;
}

.tra-dia-fecha[b-rbdhneezjf] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #4B5162;
}

.tra-dia-total[b-rbdhneezjf] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #9CA3AF;
}

.tra-lista[b-rbdhneezjf] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.tra-fila[b-rbdhneezjf] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    background: #FFFFFF;
    border-radius: 14px;
    padding: 0.85rem 1.15rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.tra-icono[b-rbdhneezjf] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #F5F3FF;
    color: #7C5CFC;
    flex-shrink: 0;
}

.tra-icono[b-rbdhneezjf]  svg {
    width: 19px;
    height: 19px;
}

.tra-info[b-rbdhneezjf] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.tra-info strong[b-rbdhneezjf] {
    font-size: 0.93rem;
    color: #1F2333;
}

.tra-flecha[b-rbdhneezjf] {
    color: #7C5CFC;
    font-weight: 700;
    margin: 0 0.15rem;
}

.tra-info > span[b-rbdhneezjf] {
    font-size: 0.78rem;
    color: #9CA3AF;
}

.tra-acciones[b-rbdhneezjf] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    opacity: 0;
    transition: opacity 0.15s;
}

.tra-fila:hover .tra-acciones[b-rbdhneezjf],
.tra-fila:focus-within .tra-acciones[b-rbdhneezjf] {
    opacity: 1;
}

.tra-confirmar[b-rbdhneezjf] {
    font-size: 0.75rem;
    font-weight: 700;
    color: #DC2626;
}

.tra-accion[b-rbdhneezjf] {
    border: 1px solid #E4E1F5;
    border-radius: 8px;
    background: #FFFFFF;
    color: #6B7280;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.3rem 0.6rem;
    cursor: pointer;
}

.tra-accion:hover[b-rbdhneezjf] {
    background: #F5F3FF;
    color: #7C5CFC;
    border-color: #7C5CFC;
}

.tra-accion-peligro:hover[b-rbdhneezjf] {
    background: #FEF2F2;
    color: #DC2626;
    border-color: #DC2626;
}

/* Neutro a propósito, igual que el total. */
.tra-importe[b-rbdhneezjf] {
    font-size: 1rem;
    font-weight: 700;
    color: #1F2333;
    white-space: nowrap;
    min-width: 110px;
    text-align: right;
}

@media (hover: none) {
    .tra-acciones[b-rbdhneezjf] {
        opacity: 1;
    }
}
/* /Components/Shared/PresupuestoModal.razor.rz.scp.css */
.modal-backdrop[b-2psvq6jmxg] {
    position: fixed;
    inset: 0;
    background: rgba(31, 35, 51, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    z-index: 100;
}

.modal-card[b-2psvq6jmxg] {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 1.75rem;
    width: 100%;
    max-width: 440px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(31, 35, 51, 0.2);
}

.modal-titulo[b-2psvq6jmxg] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 1.25rem 0;
}

.modal-campo[b-2psvq6jmxg] {
    margin-bottom: 1.25rem;
}

.modal-campo label[b-2psvq6jmxg],
.modal-label[b-2psvq6jmxg] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1F2333;
    margin-bottom: 0.45rem;
}

.modal-campo input[b-2psvq6jmxg],
.modal-campo select[b-2psvq6jmxg] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.65rem 0.85rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    font-size: 0.95rem;
    font-family: inherit;
    color: #1F2333;
    outline: none;
    background: #FFFFFF;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.modal-campo input:focus[b-2psvq6jmxg],
.modal-campo select:focus[b-2psvq6jmxg] {
    border-color: #7C5CFC;
    box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.15);
}

.modal-error[b-2psvq6jmxg] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.6rem 0.8rem;
    font-size: 0.85rem;
    margin: 0 0 1rem 0;
}

.modal-acciones[b-2psvq6jmxg] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
}

.modal-btn-secundario[b-2psvq6jmxg],
.modal-btn-primario[b-2psvq6jmxg] {
    padding: 0.65rem 1.1rem;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.modal-btn-secundario[b-2psvq6jmxg] {
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    color: #4B5162;
}

.modal-btn-secundario:hover[b-2psvq6jmxg] {
    background: #F8F7FC;
}

.modal-btn-primario[b-2psvq6jmxg] {
    background: #7C5CFC;
    border: none;
    color: #FFFFFF;
}

.modal-btn-primario:hover:not(:disabled)[b-2psvq6jmxg] {
    background: #6D4FE0;
}

.modal-btn-primario:disabled[b-2psvq6jmxg] {
    background: #C7BFF0;
    cursor: not-allowed;
}

.pres-modal-categoria-fija[b-2psvq6jmxg] {
    margin: 0;
    padding: 0.6rem 0.75rem;
    background: #F8F7FC;
    border-radius: 10px;
    color: #4B5162;
    font-size: 0.9rem;
}

@media (max-width: 400px) {
    .modal-backdrop[b-2psvq6jmxg] {
        padding: 0.75rem;
    }

    .modal-card[b-2psvq6jmxg] {
        padding: 1.25rem;
    }
}

/* /Components/Shared/ProximamentePlaceholder.razor.rz.scp.css */
.proximamente-card[b-rad70byqsn] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: #FFFFFF;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(124, 92, 252, 0.06);
    padding: 4rem 2rem;
    text-align: center;
}

.proximamente-icon[b-rad70byqsn] {
    width: 40px;
    height: 40px;
    color: #B9A6F5;
    margin-bottom: 0.5rem;
}

.proximamente-label[b-rad70byqsn] {
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #9CA3AF;
    margin: 0;
}

.proximamente-titulo[b-rad70byqsn] {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0;
}
/* /Components/Shared/RecurrenteModal.razor.rz.scp.css */
.modal-backdrop[b-0fiq2oqr7i] {
    position: fixed;
    inset: 0;
    background: rgba(31, 35, 51, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    z-index: 100;
}

.modal-card[b-0fiq2oqr7i] {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 1.75rem;
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(31, 35, 51, 0.2);
}

.modal-titulo[b-0fiq2oqr7i] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 1.25rem 0;
}

.modal-campo[b-0fiq2oqr7i] {
    margin-bottom: 1.25rem;
}

.modal-campo label[b-0fiq2oqr7i],
.modal-label[b-0fiq2oqr7i] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1F2333;
    margin-bottom: 0.45rem;
}

.modal-campo input[b-0fiq2oqr7i],
.modal-campo select[b-0fiq2oqr7i] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.65rem 0.85rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    font-size: 0.95rem;
    font-family: inherit;
    color: #1F2333;
    outline: none;
    background: #FFFFFF;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.modal-campo input:focus[b-0fiq2oqr7i],
.modal-campo select:focus[b-0fiq2oqr7i] {
    border-color: #7C5CFC;
    box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.15);
}

.modal-importe[b-0fiq2oqr7i] {
    position: relative;
    display: flex;
    align-items: center;
}

.modal-importe input[b-0fiq2oqr7i] {
    font-size: 1.75rem;
    font-weight: 700;
    padding: 0.7rem 2.2rem 0.7rem 0.9rem;
    text-align: right;
}

.modal-importe-moneda[b-0fiq2oqr7i] {
    position: absolute;
    right: 0.9rem;
    font-size: 1.3rem;
    font-weight: 700;
    color: #9CA3AF;
    pointer-events: none;
}

.modal-ayuda[b-0fiq2oqr7i] {
    font-size: 0.8rem;
    color: #6B7280;
    margin: 0.45rem 0 0 0;
    line-height: 1.4;
}

.modal-ayuda strong[b-0fiq2oqr7i] {
    color: #7C5CFC;
}

.modal-categorias[b-0fiq2oqr7i] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
    gap: 0.4rem;
    max-height: 170px;
    overflow-y: auto;
}

.modal-categoria[b-0fiq2oqr7i] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    padding: 0.5rem 0.3rem;
    border: 1px solid transparent;
    border-radius: 12px;
    background: #F8F7FC;
    cursor: pointer;
}

.modal-categoria:hover[b-0fiq2oqr7i] {
    background: #F5F3FF;
}

.modal-categoria.seleccionada[b-0fiq2oqr7i] {
    border-color: #7C5CFC;
    background: #EDE9FE;
}

.modal-categoria-icono[b-0fiq2oqr7i] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

.modal-categoria-icono[b-0fiq2oqr7i]  svg {
    width: 16px;
    height: 16px;
}

.modal-categoria-nombre[b-0fiq2oqr7i] {
    font-size: 0.7rem;
    font-weight: 600;
    color: #4B5162;
    text-align: center;
    line-height: 1.2;
    word-break: break-word;
}

.modal-periodos[b-0fiq2oqr7i] {
    display: flex;
    gap: 0.4rem;
}

.modal-periodo[b-0fiq2oqr7i] {
    flex: 1;
    padding: 0.55rem 0.3rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    background: #FFFFFF;
    color: #4B5162;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.modal-periodo.seleccionado[b-0fiq2oqr7i] {
    border-color: #7C5CFC;
    background: #F5F3FF;
    color: #7C5CFC;
}

.modal-error[b-0fiq2oqr7i] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.6rem 0.8rem;
    font-size: 0.85rem;
    margin: 0 0 1rem 0;
}

.modal-acciones[b-0fiq2oqr7i] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
}

.modal-btn-secundario[b-0fiq2oqr7i],
.modal-btn-primario[b-0fiq2oqr7i] {
    padding: 0.65rem 1.1rem;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.modal-btn-secundario[b-0fiq2oqr7i] {
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    color: #4B5162;
}

.modal-btn-secundario:hover[b-0fiq2oqr7i] {
    background: #F8F7FC;
}

.modal-btn-primario[b-0fiq2oqr7i] {
    background: #7C5CFC;
    border: none;
    color: #FFFFFF;
}

.modal-btn-primario:hover:not(:disabled)[b-0fiq2oqr7i] {
    background: #6D4FE0;
}

.modal-btn-primario:disabled[b-0fiq2oqr7i] {
    background: #C7BFF0;
    cursor: not-allowed;
}

@media (max-width: 400px) {
    .modal-backdrop[b-0fiq2oqr7i] {
        padding: 0.75rem;
    }

    .modal-card[b-0fiq2oqr7i] {
        padding: 1.25rem;
    }
}
/* /Components/Shared/TransferenciaModal.razor.rz.scp.css */
.modal-backdrop[b-fsbrt2ymtr] {
    position: fixed;
    inset: 0;
    background: rgba(31, 35, 51, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    z-index: 100;
}

.modal-card[b-fsbrt2ymtr] {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 1.75rem;
    width: 100%;
    max-width: 430px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(31, 35, 51, 0.2);
}

.modal-titulo[b-fsbrt2ymtr] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 1.25rem 0;
}

.modal-campo[b-fsbrt2ymtr] {
    margin-bottom: 1.25rem;
}

.modal-campo label[b-fsbrt2ymtr] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1F2333;
    margin-bottom: 0.45rem;
}

.modal-opcional[b-fsbrt2ymtr] {
    font-weight: 500;
    color: #9CA3AF;
}

.modal-campo input[b-fsbrt2ymtr],
.modal-campo select[b-fsbrt2ymtr] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.65rem 0.85rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    font-size: 0.95rem;
    font-family: inherit;
    color: #1F2333;
    outline: none;
    background: #FFFFFF;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.modal-campo input:focus[b-fsbrt2ymtr],
.modal-campo select:focus[b-fsbrt2ymtr] {
    border-color: #7C5CFC;
    box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.15);
}

.modal-importe[b-fsbrt2ymtr] {
    position: relative;
    display: flex;
    align-items: center;
}

.modal-importe input[b-fsbrt2ymtr] {
    font-size: 1.75rem;
    font-weight: 700;
    padding: 0.7rem 2.2rem 0.7rem 0.9rem;
    text-align: right;
}

.modal-importe-moneda[b-fsbrt2ymtr] {
    position: absolute;
    right: 0.9rem;
    font-size: 1.3rem;
    font-weight: 700;
    color: #9CA3AF;
    pointer-events: none;
}

.modal-aviso[b-fsbrt2ymtr] {
    background: #FEF3C7;
    color: #92400E;
    border-radius: 10px;
    padding: 0.6rem 0.8rem;
    font-size: 0.85rem;
    line-height: 1.4;
    margin: 0 0 1.25rem 0;
}

.modal-error[b-fsbrt2ymtr] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.6rem 0.8rem;
    font-size: 0.85rem;
    margin: 0 0 1rem 0;
}

.modal-acciones[b-fsbrt2ymtr] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
}

.modal-btn-secundario[b-fsbrt2ymtr],
.modal-btn-primario[b-fsbrt2ymtr] {
    padding: 0.65rem 1.1rem;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.modal-btn-secundario[b-fsbrt2ymtr] {
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    color: #4B5162;
}

.modal-btn-secundario:hover[b-fsbrt2ymtr] {
    background: #F8F7FC;
}

.modal-btn-primario[b-fsbrt2ymtr] {
    background: #7C5CFC;
    border: none;
    color: #FFFFFF;
}

.modal-btn-primario:hover:not(:disabled)[b-fsbrt2ymtr] {
    background: #6D4FE0;
}

.modal-btn-primario:disabled[b-fsbrt2ymtr] {
    background: #C7BFF0;
    cursor: not-allowed;
}

@media (max-width: 400px) {
    .modal-backdrop[b-fsbrt2ymtr] {
        padding: 0.75rem;
    }

    .modal-card[b-fsbrt2ymtr] {
        padding: 1.25rem;
    }
}
/* /Components/Shared/UsuarioModal.razor.rz.scp.css */
.modal-backdrop[b-hmkxx2sz0j] {
    position: fixed;
    inset: 0;
    background: rgba(31, 35, 51, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    z-index: 100;
}

.modal-card[b-hmkxx2sz0j] {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 1.75rem;
    width: 100%;
    max-width: 420px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(31, 35, 51, 0.2);
}

.modal-titulo[b-hmkxx2sz0j] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 1.25rem 0;
}

.modal-campo[b-hmkxx2sz0j] {
    margin-bottom: 1.25rem;
}

.modal-campo label[b-hmkxx2sz0j],
.modal-label[b-hmkxx2sz0j] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1F2333;
    margin-bottom: 0.45rem;
}

.modal-campo input[b-hmkxx2sz0j] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.65rem 0.85rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    font-size: 0.95rem;
    color: #1F2333;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.modal-campo input:focus[b-hmkxx2sz0j] {
    border-color: #7C5CFC;
    box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.15);
}

.modal-roles[b-hmkxx2sz0j] {
    display: flex;
    gap: 0.5rem;
}

.modal-rol[b-hmkxx2sz0j] {
    flex: 1;
    padding: 0.6rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    background: #FFFFFF;
    color: #4B5162;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
}

.modal-rol.seleccionado[b-hmkxx2sz0j] {
    border-color: #7C5CFC;
    background: #F5F3FF;
    color: #7C5CFC;
}

.modal-error[b-hmkxx2sz0j] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.6rem 0.8rem;
    font-size: 0.85rem;
    margin: 0 0 1rem 0;
}

.modal-acciones[b-hmkxx2sz0j] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
}

.modal-btn-secundario[b-hmkxx2sz0j],
.modal-btn-primario[b-hmkxx2sz0j] {
    padding: 0.65rem 1.1rem;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.modal-btn-secundario[b-hmkxx2sz0j] {
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    color: #4B5162;
}

.modal-btn-secundario:hover[b-hmkxx2sz0j] {
    background: #F8F7FC;
}

.modal-btn-primario[b-hmkxx2sz0j] {
    background: #7C5CFC;
    border: none;
    color: #FFFFFF;
}

.modal-btn-primario:hover:not(:disabled)[b-hmkxx2sz0j] {
    background: #6D4FE0;
}

.modal-btn-primario:disabled[b-hmkxx2sz0j] {
    background: #C7BFF0;
    cursor: not-allowed;
}

@media (max-width: 400px) {
    .modal-backdrop[b-hmkxx2sz0j] {
        padding: 0.75rem;
    }

    .modal-card[b-hmkxx2sz0j] {
        padding: 1.25rem;
    }
}
/* /Layout/AppShellLayout.razor.rz.scp.css */
.shell[b-8937we3rs5] {
    display: flex;
    min-height: 100vh;
    background: #F8F7FC;
}

.sidebar[b-8937we3rs5] {
    display: flex;
    flex-direction: column;
    width: 260px;
    flex-shrink: 0;
    background: #FFFFFF;
    border-right: 1px solid #EDEBFB;
    padding: 1.5rem 1rem;
}

.sidebar-brand[b-8937we3rs5] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: #1F2333;
    padding: 0 0.5rem 1.5rem 0.5rem;
}

.sidebar-brand-icon[b-8937we3rs5] {
    width: 24px;
    height: 24px;
    color: #7C5CFC;
}

.sidebar-nav[b-8937we3rs5] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
}

.sidebar-nav[b-8937we3rs5]  a.sidebar-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    color: #4B5162;
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 500;
}

.sidebar-nav[b-8937we3rs5]  a.sidebar-link:hover {
    background: #F5F3FF;
}

.sidebar-nav[b-8937we3rs5]  a.sidebar-link.active {
    background: #7C5CFC;
    color: #FFFFFF;
}

.sidebar-icon[b-8937we3rs5] {
    width: 19px;
    height: 19px;
    flex-shrink: 0;
}

.sidebar-group[b-8937we3rs5] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    margin-top: 0.1rem;
}

.sidebar-group-title[b-8937we3rs5] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.75rem;
    color: #4B5162;
    font-size: 0.92rem;
    font-weight: 500;
}

.sidebar-nav[b-8937we3rs5]  a.sidebar-sublink {
    display: block;
    padding: 0.5rem 0.75rem 0.5rem 3rem;
    border-radius: 10px;
    color: #6B7280;
    text-decoration: none;
    font-size: 0.87rem;
}

.sidebar-nav[b-8937we3rs5]  a.sidebar-sublink:hover {
    background: #F5F3FF;
}

.sidebar-nav[b-8937we3rs5]  a.sidebar-sublink.active {
    background: #F5F3FF;
    color: #7C5CFC;
    font-weight: 600;
}

.sidebar-footer[b-8937we3rs5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding-top: 1rem;
}

.sidebar-illustration[b-8937we3rs5] {
    width: 100%;
    max-width: 150px;
}

.sidebar-illustration svg[b-8937we3rs5] {
    width: 100%;
    height: auto;
}

.sidebar-theme-toggle[b-8937we3rs5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.6rem 0.75rem;
    border-radius: 12px;
    background: #F8F7FC;
    color: #4B5162;
    font-size: 0.85rem;
}

.sidebar-theme-toggle .sidebar-icon[b-8937we3rs5] {
    color: #9CA3AF;
}

.sidebar-switch[b-8937we3rs5] {
    margin-left: auto;
    position: relative;
    display: inline-block;
    width: 34px;
    height: 20px;
}

.sidebar-switch input[b-8937we3rs5] {
    opacity: 0;
    width: 0;
    height: 0;
}

.sidebar-switch-track[b-8937we3rs5] {
    position: absolute;
    inset: 0;
    background: #7C5CFC;
    border-radius: 999px;
    cursor: default;
}

.sidebar-switch-track[b-8937we3rs5]::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    left: 16px;
    top: 2px;
    background: #FFFFFF;
    border-radius: 50%;
}

.content[b-8937we3rs5] {
    flex: 1;
    padding: 2rem;
    min-width: 0;
}

/* Cajón deslizante del sidebar en móvil/tablet, resuelto solo con CSS (checkbox +
   label) y no con estado de Blazor: AppShellLayout se renderiza fuera de la "isla
   interactiva" de cada página (cada página declara su propio @rendermode, que no
   se extiende al layout que la envuelve), así que un @onclick aquí nunca tendría
   un manejador de verdad. El checkbox es focable por teclado pero se oculta
   visualmente sin quitarlo del árbol de accesibilidad. */
.shell-menu-toggle[b-8937we3rs5] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.shell-menu-toggle:focus-visible + .shell-menu-btn[b-8937we3rs5] {
    outline: 2px solid #7C5CFC;
    outline-offset: 2px;
}

.shell-menu-btn[b-8937we3rs5] {
    display: none;
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 60;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    border-radius: 10px;
    color: #4B5162;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(31, 35, 51, 0.08);
}

.shell-menu-btn svg[b-8937we3rs5] {
    width: 20px;
    height: 20px;
}

.shell-backdrop[b-8937we3rs5] {
    display: none;
}

@media (max-width: 900px) {
    .shell-menu-btn[b-8937we3rs5] {
        display: flex;
    }

    .sidebar[b-8937we3rs5] {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        z-index: 55;
        transform: translateX(-100%);
        transition: transform 0.2s ease;
        box-shadow: 0 0 40px rgba(31, 35, 51, 0.15);
    }

    .shell-menu-toggle:checked ~ .sidebar[b-8937we3rs5] {
        transform: translateX(0);
    }

    .shell-menu-toggle:checked ~ .shell-backdrop[b-8937we3rs5] {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(31, 35, 51, 0.4);
        z-index: 50;
        cursor: default;
    }

    .content[b-8937we3rs5] {
        padding: 1.25rem 1rem;
        padding-top: 4rem;
    }
}

@media (max-width: 480px) {
    .content[b-8937we3rs5] {
        padding: 1rem 0.75rem;
        padding-top: 3.75rem;
    }
}
/* /Layout/LoginLayout.razor.rz.scp.css */
.login-shell[b-ewvj3km4to] {
    display: flex;
    min-height: 100vh;
    background: #FFFFFF;
}

.login-panel-decor[b-ewvj3km4to] {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
    width: 50%;
    padding: 4rem 3rem;
    background: #F5F3FF;
}

.login-brand[b-ewvj3km4to] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2333;
}

.login-brand-icon[b-ewvj3km4to] {
    width: 28px;
    height: 28px;
    color: #7C5CFC;
}

.login-illustration[b-ewvj3km4to] {
    width: 100%;
    max-width: 340px;
}

.login-illustration svg[b-ewvj3km4to] {
    width: 100%;
    height: auto;
}

.login-tagline[b-ewvj3km4to] {
    color: #6B7280;
    font-size: 1rem;
    max-width: 320px;
    line-height: 1.5;
}

.login-panel-form[b-ewvj3km4to] {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: #FFFFFF;
}

@media (min-width: 1024px) {
    .login-panel-decor[b-ewvj3km4to] {
        display: flex;
    }

    .login-panel-form[b-ewvj3km4to] {
        width: 50%;
        flex: none;
    }
}
/* /Pages/Categorias.razor.rz.scp.css */
.cat-barra[b-cpairiudin] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.cat-tabs[b-cpairiudin] {
    display: flex;
    gap: 0.35rem;
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    padding: 0.3rem;
}

.cat-tab[b-cpairiudin] {
    padding: 0.5rem 1.1rem;
    border: none;
    border-radius: 9px;
    background: transparent;
    color: #6B7280;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.cat-tab:hover[b-cpairiudin] {
    background: #F5F3FF;
}

.cat-tab.activa[b-cpairiudin] {
    background: #7C5CFC;
    color: #FFFFFF;
}

.cat-ver-archivadas[b-cpairiudin] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #6B7280;
    cursor: pointer;
}

.cat-ver-archivadas input[b-cpairiudin] {
    width: 16px;
    height: 16px;
    accent-color: #7C5CFC;
    cursor: pointer;
}

.cat-estado[b-cpairiudin] {
    color: #6B7280;
    font-size: 0.9rem;
}

.cat-estado-error[b-cpairiudin] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
}

.cat-grid[b-cpairiudin] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 1rem;
}

.cat-card[b-cpairiudin] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1.4rem 1rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
    text-align: center;
}

.cat-card.archivada[b-cpairiudin] {
    opacity: 0.55;
}

.cat-icono[b-cpairiudin] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
}

.cat-icono[b-cpairiudin]  svg {
    width: 24px;
    height: 24px;
}

.cat-nombre[b-cpairiudin] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1F2333;
    word-break: break-word;
}

.cat-acciones[b-cpairiudin] {
    display: flex;
    gap: 0.4rem;
    opacity: 0;
    transition: opacity 0.15s;
}

.cat-card:hover .cat-acciones[b-cpairiudin],
.cat-card:focus-within .cat-acciones[b-cpairiudin] {
    opacity: 1;
}

.cat-accion[b-cpairiudin] {
    border: 1px solid #E4E1F5;
    border-radius: 8px;
    background: #FFFFFF;
    color: #6B7280;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.55rem;
    cursor: pointer;
}

.cat-accion:hover[b-cpairiudin] {
    background: #F5F3FF;
    color: #7C5CFC;
    border-color: #7C5CFC;
}

.cat-card-nueva[b-cpairiudin] {
    border: 2px dashed #D8D3F0;
    box-shadow: none;
    background: transparent;
    color: #6B7280;
    cursor: pointer;
    justify-content: center;
}

.cat-card-nueva:hover[b-cpairiudin] {
    border-color: #7C5CFC;
    background: #F8F7FC;
}

.cat-mas[b-cpairiudin] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #F5F3FF;
    color: #7C5CFC;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
}

.cat-error-accion[b-cpairiudin] {
    margin: 0 0 1rem 0;
}
/* /Pages/Configuracion.razor.rz.scp.css */
.cfg-tabs[b-x2rw0g36ew] {
    display: flex;
    gap: 0.35rem;
    background: #FFFFFF;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    padding: 0.3rem;
    margin-bottom: 1.5rem;
    width: fit-content;
    max-width: 100%;
    overflow-x: auto;
}

.cfg-tabla-scroll[b-x2rw0g36ew] {
    overflow-x: auto;
}

.cfg-tab[b-x2rw0g36ew] {
    padding: 0.5rem 1.1rem;
    border: none;
    border-radius: 9px;
    background: transparent;
    color: #6B7280;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.cfg-tab:hover[b-x2rw0g36ew] {
    background: #F5F3FF;
}

.cfg-tab.activa[b-x2rw0g36ew] {
    background: #7C5CFC;
    color: #FFFFFF;
}

.cfg-panel[b-x2rw0g36ew] {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1.75rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.cfg-panel-cabecera[b-x2rw0g36ew] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.cfg-panel-titulo[b-x2rw0g36ew] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 1.25rem 0;
}

.cfg-panel-cabecera .cfg-panel-titulo[b-x2rw0g36ew] {
    margin: 0;
}

.cfg-subtitulo[b-x2rw0g36ew] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1F2333;
    margin: 1.75rem 0 0.9rem 0;
}

.cfg-datos[b-x2rw0g36ew] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.4rem 1.5rem;
    margin: 0;
    font-size: 0.9rem;
}

.cfg-datos dt[b-x2rw0g36ew] {
    color: #6B7280;
    font-weight: 600;
}

.cfg-datos dd[b-x2rw0g36ew] {
    color: #1F2333;
    margin: 0;
}

.cfg-form[b-x2rw0g36ew] {
    max-width: 340px;
}

.cfg-campo[b-x2rw0g36ew] {
    margin-bottom: 1rem;
}

.cfg-campo label[b-x2rw0g36ew] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1F2333;
    margin-bottom: 0.4rem;
}

.cfg-campo input[b-x2rw0g36ew] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.65rem 0.85rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    font-size: 0.95rem;
    color: #1F2333;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.cfg-campo input:focus[b-x2rw0g36ew] {
    border-color: #7C5CFC;
    box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.15);
}

.cfg-btn-primario[b-x2rw0g36ew] {
    padding: 0.65rem 1.1rem;
    border: none;
    border-radius: 12px;
    background: #7C5CFC;
    color: #FFFFFF;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.cfg-btn-primario:hover:not(:disabled)[b-x2rw0g36ew] {
    background: #6D4FE0;
}

.cfg-btn-primario:disabled[b-x2rw0g36ew] {
    background: #C7BFF0;
    cursor: not-allowed;
}

.cfg-aviso[b-x2rw0g36ew] {
    border-radius: 10px;
    padding: 0.6rem 0.85rem;
    font-size: 0.85rem;
    margin: 0 0 1rem 0;
}

.cfg-aviso-error[b-x2rw0g36ew] {
    background: #FEF2F2;
    color: #DC2626;
}

.cfg-aviso-ok[b-x2rw0g36ew] {
    background: #DCFCE7;
    color: #16A34A;
}

.cfg-estado[b-x2rw0g36ew] {
    color: #6B7280;
    font-size: 0.9rem;
}

.cfg-lista[b-x2rw0g36ew] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.cfg-usuario[b-x2rw0g36ew] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    border: 1px solid #EDEBFB;
    border-radius: 12px;
    padding: 0.9rem 1.1rem;
}

.cfg-usuario.inactivo[b-x2rw0g36ew] {
    opacity: 0.6;
}

.cfg-usuario-info[b-x2rw0g36ew] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    flex: 1;
    min-width: 160px;
}

.cfg-usuario-info strong[b-x2rw0g36ew] {
    font-size: 0.95rem;
    color: #1F2333;
}

.cfg-usuario-info span[b-x2rw0g36ew] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #9CA3AF;
}

.cfg-etiqueta[b-x2rw0g36ew] {
    border-radius: 999px;
    padding: 0.1rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 700;
}

.cfg-etiqueta-inactivo[b-x2rw0g36ew] {
    background: #F3F4F6;
    color: #6B7280;
}

.cfg-etiqueta-bloqueado[b-x2rw0g36ew] {
    background: #FEE2E2;
    color: #DC2626;
}

.cfg-etiqueta-tu[b-x2rw0g36ew] {
    background: #EDE9FE;
    color: #7C5CFC;
}

.cfg-usuario-acceso[b-x2rw0g36ew] {
    font-size: 0.8rem;
    color: #9CA3AF;
    white-space: nowrap;
}

.cfg-usuario-acciones[b-x2rw0g36ew] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.cfg-accion[b-x2rw0g36ew] {
    border: 1px solid #E4E1F5;
    border-radius: 8px;
    background: #FFFFFF;
    color: #6B7280;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.3rem 0.6rem;
    cursor: pointer;
}

.cfg-accion:hover[b-x2rw0g36ew] {
    background: #F5F3FF;
    color: #7C5CFC;
    border-color: #7C5CFC;
}

.cfg-permisos[b-x2rw0g36ew] {
    margin-top: 2rem;
    border-top: 1px solid #EDEBFB;
    padding-top: 0.5rem;
}

.cfg-tabla-permisos[b-x2rw0g36ew] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.cfg-tabla-permisos th[b-x2rw0g36ew],
.cfg-tabla-permisos td[b-x2rw0g36ew] {
    text-align: left;
    padding: 0.5rem 0.6rem;
    border-bottom: 1px solid #F3F2FB;
}

.cfg-tabla-permisos th[b-x2rw0g36ew] {
    color: #6B7280;
    font-weight: 700;
}

.cfg-tabla-permisos td[b-x2rw0g36ew] {
    color: #4B5162;
}

.cfg-tabla-permisos th:not(:first-child)[b-x2rw0g36ew],
.cfg-tabla-permisos td:not(:first-child)[b-x2rw0g36ew] {
    text-align: center;
    width: 130px;
}
/* /Pages/Cuentas.razor.rz.scp.css */
.cue-barra[b-smsac7lurt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.cue-total[b-smsac7lurt] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1rem 1.5rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.cue-total-label[b-smsac7lurt] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #6B7280;
}

.cue-total-valor[b-smsac7lurt] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1F2333;
}

.cue-total-valor.negativo[b-smsac7lurt] {
    color: #DC2626;
}

.cue-barra-acciones[b-smsac7lurt] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.cue-ver-archivadas[b-smsac7lurt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #6B7280;
    cursor: pointer;
}

.cue-ver-archivadas input[b-smsac7lurt] {
    width: 16px;
    height: 16px;
    accent-color: #7C5CFC;
    cursor: pointer;
}

.cue-btn-nueva[b-smsac7lurt] {
    padding: 0.65rem 1.1rem;
    border: none;
    border-radius: 12px;
    background: #7C5CFC;
    color: #FFFFFF;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.cue-btn-nueva:hover[b-smsac7lurt] {
    background: #6D4FE0;
}

.cue-estado[b-smsac7lurt] {
    color: #6B7280;
    font-size: 0.9rem;
}

.cue-estado-error[b-smsac7lurt] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
    margin: 0 0 1rem 0;
}

.cue-vacio[b-smsac7lurt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    background: #FFFFFF;
    border-radius: 20px;
    padding: 3.5rem 2rem;
    text-align: center;
    box-shadow: 0 10px 40px rgba(124, 92, 252, 0.06);
}

.cue-vacio-icono[b-smsac7lurt] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #F5F3FF;
    color: #7C5CFC;
    margin-bottom: 0.4rem;
}

.cue-vacio-icono[b-smsac7lurt]  svg {
    width: 28px;
    height: 28px;
}

.cue-vacio-titulo[b-smsac7lurt] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0;
}

.cue-vacio-texto[b-smsac7lurt] {
    font-size: 0.9rem;
    color: #6B7280;
    max-width: 380px;
    margin: 0 0 0.75rem 0;
    line-height: 1.5;
}

.cue-lista[b-smsac7lurt] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.cue-fila[b-smsac7lurt] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1rem 1.25rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.cue-fila.archivada[b-smsac7lurt] {
    opacity: 0.55;
}

.cue-icono[b-smsac7lurt] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    flex-shrink: 0;
}

.cue-icono[b-smsac7lurt]  svg {
    width: 21px;
    height: 21px;
}

.cue-info[b-smsac7lurt] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.cue-info strong[b-smsac7lurt] {
    font-size: 0.95rem;
    color: #1F2333;
}

.cue-info span[b-smsac7lurt] {
    font-size: 0.8rem;
    color: #9CA3AF;
}

.cue-acciones[b-smsac7lurt] {
    display: flex;
    gap: 0.4rem;
    opacity: 0;
    transition: opacity 0.15s;
}

.cue-fila:hover .cue-acciones[b-smsac7lurt],
.cue-fila:focus-within .cue-acciones[b-smsac7lurt] {
    opacity: 1;
}

.cue-accion[b-smsac7lurt] {
    display: inline-flex;
    align-items: center;
    border: 1px solid #E4E1F5;
    border-radius: 8px;
    background: #FFFFFF;
    color: #6B7280;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.3rem 0.6rem;
    cursor: pointer;
    text-decoration: none;
    line-height: 1.4;
}

.cue-accion:hover[b-smsac7lurt] {
    background: #F5F3FF;
    color: #7C5CFC;
    border-color: #7C5CFC;
}

.cue-saldo[b-smsac7lurt] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1F2333;
    white-space: nowrap;
    min-width: 120px;
    text-align: right;
}

.cue-saldo.negativo[b-smsac7lurt] {
    color: #DC2626;
}

/* En pantallas táctiles no existe :hover real — las acciones de cada fila deben
   verse siempre, no solo al pasar el ratón (que en un móvil nunca ocurre). */
@media (hover: none) {
    .cue-acciones[b-smsac7lurt] {
        opacity: 1;
    }
}
/* /Pages/Dashboard.razor.rz.scp.css */
.dash-estado[b-c02szqsr9d] {
    color: #6B7280;
    font-size: 0.9rem;
}

.dash-estado-error[b-c02szqsr9d] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
}

.dash-kpis[b-c02szqsr9d] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    margin-bottom: 1.5rem;
}

.kpi-card[b-c02szqsr9d] {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1.25rem 1.4rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.kpi-card-top[b-c02szqsr9d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.kpi-card-title[b-c02szqsr9d] {
    font-size: 0.85rem;
    font-weight: 700;
}

.kpi-title-verde[b-c02szqsr9d] { color: #16A34A; }
.kpi-title-rojo[b-c02szqsr9d] { color: #DC2626; }
.kpi-title-morado[b-c02szqsr9d] { color: #7C5CFC; }
.kpi-title-naranja[b-c02szqsr9d] { color: #D97706; }

.kpi-card-badge[b-c02szqsr9d] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

.kpi-card-badge[b-c02szqsr9d]  svg {
    width: 17px;
    height: 17px;
}

.kpi-badge-verde[b-c02szqsr9d] { background: #DCFCE7; color: #16A34A; }
.kpi-badge-rojo[b-c02szqsr9d] { background: #FEE2E2; color: #DC2626; }
.kpi-badge-morado[b-c02szqsr9d] { background: #EDE9FE; color: #7C5CFC; }
.kpi-badge-naranja[b-c02szqsr9d] { background: #FEF3C7; color: #D97706; }

.kpi-card-value[b-c02szqsr9d] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2333;
    margin-bottom: 0.35rem;
}

.kpi-card-value.negativo[b-c02szqsr9d] {
    color: #DC2626;
}

.kpi-card-delta[b-c02szqsr9d] {
    font-size: 0.8rem;
    font-weight: 600;
}

.kpi-delta-verde[b-c02szqsr9d] { color: #16A34A; }
.kpi-delta-rojo[b-c02szqsr9d] { color: #DC2626; }
.kpi-delta-neutro[b-c02szqsr9d] { color: #9CA3AF; font-weight: 500; }

.dash-aviso-presupuestos[b-c02szqsr9d] {
    margin-bottom: 1.5rem;
    border: 1px solid #FEF3C7;
}

.dash-aviso-icono[b-c02szqsr9d] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-right: 0.4rem;
    vertical-align: -5px;
    color: #D97706;
}

.dash-aviso-icono[b-c02szqsr9d]  svg {
    width: 16px;
    height: 16px;
}

.dash-aviso-lista[b-c02szqsr9d] {
    list-style: none;
    margin: 0 0 0.9rem 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.dash-aviso-item[b-c02szqsr9d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.88rem;
}

.dash-aviso-nombre[b-c02szqsr9d] {
    color: #1F2333;
    font-weight: 600;
}

.dash-aviso-estado[b-c02szqsr9d] {
    font-weight: 600;
    white-space: nowrap;
}

.dash-aviso-ambar[b-c02szqsr9d] { color: #D97706; }
.dash-aviso-rojo[b-c02szqsr9d] { color: #DC2626; }

.dash-graficos[b-c02szqsr9d] {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
}

.dash-card[b-c02szqsr9d] {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.dash-card-header[b-c02szqsr9d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.dash-card-title[b-c02szqsr9d] {
    font-size: 1rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 0.9rem 0;
}

.dash-card-header .dash-card-title[b-c02szqsr9d] {
    margin: 0;
}

.dash-card-filter[b-c02szqsr9d] {
    font-size: 0.78rem;
    color: #6B7280;
    background: #F8F7FC;
    border: 1px solid #E4E1F5;
    border-radius: 8px;
    padding: 0.3rem 0.6rem;
    white-space: nowrap;
}

.dash-listas[b-c02szqsr9d] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}

.dash-lista[b-c02szqsr9d] {
    list-style: none;
    margin: 0 0 0.75rem 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.dash-lista-vacia[b-c02szqsr9d] {
    color: #9CA3AF;
    font-size: 0.85rem;
    margin: 0 0 0.9rem 0;
}

.dash-item[b-c02szqsr9d] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.dash-icono[b-c02szqsr9d] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    flex-shrink: 0;
}

.dash-icono[b-c02szqsr9d]  svg {
    width: 19px;
    height: 19px;
}

.dash-item-info[b-c02szqsr9d] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.dash-item-info strong[b-c02szqsr9d] {
    font-size: 0.9rem;
    color: #1F2333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-item-info span[b-c02szqsr9d] {
    font-size: 0.78rem;
    color: #9CA3AF;
}

.dash-importe[b-c02szqsr9d] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1F2333;
    white-space: nowrap;
}

.dash-importe.negativo[b-c02szqsr9d] { color: #DC2626; }
.dash-importe.positivo[b-c02szqsr9d] { color: #16A34A; }

.dash-card-link[b-c02szqsr9d] {
    display: inline-block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #7C5CFC;
    text-decoration: none;
}

.dash-card-link:hover[b-c02szqsr9d] {
    text-decoration: underline;
}

@media (max-width: 1100px) {
    .dash-kpis[b-c02szqsr9d] {
        grid-template-columns: repeat(2, 1fr);
    }
    .dash-graficos[b-c02szqsr9d],
    .dash-listas[b-c02szqsr9d] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/ImportarMovimientos.razor.rz.scp.css */
.imp-estado[b-w2v68ku1q7] {
    color: #6B7280;
    font-size: 0.9rem;
}

.imp-estado-error[b-w2v68ku1q7] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
}

.imp-card[b-w2v68ku1q7] {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
    max-width: 720px;
}

/* InputFile renderiza su <input> dentro de su propia lógica de componente, no como
   marcado literal de esta página: el atributo de aislamiento CSS de Blazor nunca
   llega a él, así que hace falta ::deep para que la regla lo alcance igualmente. */
.imp-input-fichero-wrapper[b-w2v68ku1q7]  input[type="file"] {
    font-size: 0.85rem;
    color: #4B5162;
}

.imp-input-fichero-wrapper[b-w2v68ku1q7]  input[type="file"]::file-selector-button {
    background: #7C5CFC;
    color: #FFFFFF;
    border: none;
    border-radius: 10px;
    padding: 0.55rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    margin-right: 0.75rem;
}

.imp-input-fichero-wrapper[b-w2v68ku1q7]  input[type="file"]::file-selector-button:hover {
    background: #6D4FE0;
}

.imp-cuenta[b-w2v68ku1q7] {
    font-size: 0.9rem;
    color: #6B7280;
    margin: 0 0 1.25rem 0;
}

.imp-instruccion[b-w2v68ku1q7] {
    font-size: 0.92rem;
    color: #4B5162;
    margin: 0 0 1rem 0;
}

.imp-tabla-scroll[b-w2v68ku1q7] {
    overflow-x: auto;
    margin-bottom: 1rem;
    border: 1px solid #E4E1F5;
    border-radius: 10px;
}

.imp-tabla-preview[b-w2v68ku1q7],
.imp-tabla-revision[b-w2v68ku1q7] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
    min-width: 480px;
}

.imp-tabla-preview th[b-w2v68ku1q7],
.imp-tabla-revision th[b-w2v68ku1q7] {
    text-align: left;
    color: #9CA3AF;
    font-weight: 600;
    font-size: 0.72rem;
    text-transform: uppercase;
    padding: 0.5rem 0.6rem;
    border-bottom: 1px solid #EDEBFB;
    white-space: nowrap;
}

.imp-tabla-preview td[b-w2v68ku1q7],
.imp-tabla-revision td[b-w2v68ku1q7] {
    padding: 0.5rem 0.6rem;
    border-bottom: 1px solid #F4F3FA;
    color: #1F2333;
}

.imp-tabla-revision[b-w2v68ku1q7] {
    margin-bottom: 1rem;
}

.imp-tabla-revision select[b-w2v68ku1q7] {
    border: 1px solid #E4E1F5;
    border-radius: 8px;
    padding: 0.3rem 0.5rem;
    font-size: 0.82rem;
    font-family: inherit;
}

.imp-tabla-revision td.positivo[b-w2v68ku1q7] { color: #16A34A; font-weight: 600; }
.imp-tabla-revision td.negativo[b-w2v68ku1q7] { color: #DC2626; font-weight: 600; }

.imp-check[b-w2v68ku1q7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #4B5162;
    margin-bottom: 1rem;
}

.imp-mapeo-fila[b-w2v68ku1q7] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.imp-mapeo-fila label[b-w2v68ku1q7],
.imp-campo-columna[b-w2v68ku1q7] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #4B5162;
    flex: 1;
    min-width: 180px;
    margin-bottom: 1rem;
}

.imp-mapeo-fila select[b-w2v68ku1q7],
.imp-campo-columna select[b-w2v68ku1q7],
.imp-campo-columna input[b-w2v68ku1q7] {
    border: 1px solid #E4E1F5;
    border-radius: 10px;
    padding: 0.55rem 0.7rem;
    font-size: 0.88rem;
    font-family: inherit;
    color: #1F2333;
}

.imp-modo-importe[b-w2v68ku1q7] {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    font-size: 0.85rem;
    color: #4B5162;
}

.imp-modo-importe label[b-w2v68ku1q7] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.imp-detalle-duplicados[b-w2v68ku1q7] {
    margin: 0.5rem 0 1rem 0;
    font-size: 0.85rem;
    color: #6B7280;
}

.imp-detalle-duplicados summary[b-w2v68ku1q7] {
    cursor: pointer;
    font-weight: 600;
}

.imp-lista-duplicados[b-w2v68ku1q7] {
    margin: 0.5rem 0 0 0;
    padding-left: 1.2rem;
}

.imp-acciones-paso[b-w2v68ku1q7] {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.imp-btn-primario[b-w2v68ku1q7] {
    background: #7C5CFC;
    color: #FFFFFF;
    border: none;
    border-radius: 10px;
    padding: 0.6rem 1.1rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.imp-btn-primario:disabled[b-w2v68ku1q7] {
    background: #D8D4F0;
    cursor: not-allowed;
}

.imp-btn-secundario[b-w2v68ku1q7] {
    background: none;
    border: 1px solid #E4E1F5;
    border-radius: 10px;
    padding: 0.6rem 1.1rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #4B5162;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.imp-resultado[b-w2v68ku1q7] {
    font-size: 1rem;
    color: #1F2333;
}
/* /Pages/Informes.razor.rz.scp.css */
.inf-estado[b-zmw5w1pr03] {
    color: #6B7280;
    font-size: 0.9rem;
}

.inf-estado-error[b-zmw5w1pr03] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
}

.inf-tabs[b-zmw5w1pr03] {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid #EDEBFB;
    overflow-x: auto;
}

.inf-tab[b-zmw5w1pr03] {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.65rem 0.9rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: #6B7280;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
}

.inf-tab.activa[b-zmw5w1pr03] {
    color: #7C5CFC;
    border-bottom-color: #7C5CFC;
}

.inf-card[b-zmw5w1pr03] {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.inf-card-title[b-zmw5w1pr03] {
    font-size: 1rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 0.9rem 0;
}

.inf-periodo[b-zmw5w1pr03] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.inf-periodo-btn[b-zmw5w1pr03] {
    background: #F8F7FC;
    border: 1px solid #E4E1F5;
    border-radius: 8px;
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #4B5162;
    cursor: pointer;
}

.inf-periodo-btn.activo[b-zmw5w1pr03] {
    background: #7C5CFC;
    border-color: #7C5CFC;
    color: #FFFFFF;
}

.inf-rango[b-zmw5w1pr03] {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    font-size: 0.8rem;
    color: #4B5162;
}

.inf-rango label[b-zmw5w1pr03] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.inf-periodo-texto[b-zmw5w1pr03] {
    font-size: 0.8rem;
    color: #9CA3AF;
    margin: 0 0 1rem 0;
}

.inf-tabla[b-zmw5w1pr03] {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1.25rem;
    font-size: 0.85rem;
}

.inf-tabla th[b-zmw5w1pr03] {
    text-align: left;
    color: #9CA3AF;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    padding: 0.5rem 0.6rem;
    border-bottom: 1px solid #EDEBFB;
}

.inf-tabla td[b-zmw5w1pr03] {
    padding: 0.55rem 0.6rem;
    border-bottom: 1px solid #F4F3FA;
    color: #1F2333;
}

.inf-punto[b-zmw5w1pr03] {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-right: 0.5rem;
}

.inf-anio-nav[b-zmw5w1pr03] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    font-weight: 700;
    color: #1F2333;
}

.inf-anio-actual[b-zmw5w1pr03] {
    min-width: 3.5rem;
    text-align: center;
}

.inf-lista-vacia[b-zmw5w1pr03] {
    color: #9CA3AF;
    font-size: 0.9rem;
}

.inf-tabla-scroll[b-zmw5w1pr03] {
    overflow-x: auto;
}

.inf-tabla-pivote th[b-zmw5w1pr03],
.inf-tabla-pivote td[b-zmw5w1pr03] {
    text-align: right;
    white-space: nowrap;
}

.inf-tabla-pivote th:first-child[b-zmw5w1pr03],
.inf-tabla-pivote td:first-child[b-zmw5w1pr03] {
    text-align: left;
    position: sticky;
    left: 0;
    background: #FFFFFF;
}

.inf-celda-cero[b-zmw5w1pr03] {
    color: #D1D5DB;
}

.inf-celda-total[b-zmw5w1pr03] {
    font-weight: 700;
}

.inf-tabla-pivote tfoot td[b-zmw5w1pr03] {
    font-weight: 700;
    border-top: 2px solid #EDEBFB;
    border-bottom: none;
}

.inf-positivo[b-zmw5w1pr03] {
    color: #16A34A;
}

.inf-negativo[b-zmw5w1pr03] {
    color: #DC2626;
}

.inf-barra-persona[b-zmw5w1pr03] {
    background: #F1EFFB;
    border-radius: 999px;
    height: 5px;
    overflow: hidden;
    margin-top: 0.3rem;
    max-width: 140px;
}

.inf-barra-persona-relleno[b-zmw5w1pr03] {
    height: 100%;
    background: #7C5CFC;
    border-radius: 999px;
}
/* /Pages/Login.razor.rz.scp.css */
.login-card[b-n5fjk7bfhv] {
    width: 100%;
    max-width: 380px;
    padding: 2.5rem;
    background: #FFFFFF;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(124, 92, 252, 0.08);
}

.login-title[b-n5fjk7bfhv] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 0.25rem 0;
}

.login-subtitle[b-n5fjk7bfhv] {
    font-size: 0.9rem;
    color: #6B7280;
    margin: 0 0 1.75rem 0;
}

.login-field[b-n5fjk7bfhv] {
    margin-bottom: 1.25rem;
}

.login-field label[b-n5fjk7bfhv] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1F2333;
    margin-bottom: 0.4rem;
}

.login-input-wrapper[b-n5fjk7bfhv] {
    position: relative;
    display: flex;
    align-items: center;
}

.login-input-icon[b-n5fjk7bfhv] {
    position: absolute;
    left: 0.9rem;
    width: 18px;
    height: 18px;
    color: #9CA3AF;
    pointer-events: none;
}

.login-input-wrapper input[b-n5fjk7bfhv] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.7rem 0.9rem 0.7rem 2.6rem;
    border: 1px solid #E4E1F5;
    border-radius: 12px;
    font-size: 0.95rem;
    color: #1F2333;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.login-input-wrapper input[b-n5fjk7bfhv]::placeholder {
    color: #9CA3AF;
}

.login-input-wrapper input:focus[b-n5fjk7bfhv] {
    border-color: #7C5CFC;
    box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.15);
}

.login-toggle-password[b-n5fjk7bfhv] {
    position: absolute;
    right: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: #9CA3AF;
}

.login-toggle-password svg[b-n5fjk7bfhv] {
    width: 18px;
    height: 18px;
}

.login-toggle-password:hover[b-n5fjk7bfhv] {
    color: #6B7280;
}

.login-field-checkbox[b-n5fjk7bfhv] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.login-field-checkbox input[type="checkbox"][b-n5fjk7bfhv] {
    width: 16px;
    height: 16px;
    accent-color: #7C5CFC;
    cursor: pointer;
}

.login-field-checkbox label[b-n5fjk7bfhv] {
    font-size: 0.85rem;
    color: #6B7280;
    cursor: pointer;
}

.login-error[b-n5fjk7bfhv] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.65rem 0.85rem;
    font-size: 0.85rem;
    margin-bottom: 1.25rem;
}

.login-error svg[b-n5fjk7bfhv] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.login-submit[b-n5fjk7bfhv] {
    width: 100%;
    padding: 0.75rem;
    background: #7C5CFC;
    color: #FFFFFF;
    border: none;
    border-radius: 12px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s;
}

.login-submit:hover:not(:disabled)[b-n5fjk7bfhv] {
    background: #6D4FE0;
}

.login-submit:disabled[b-n5fjk7bfhv] {
    background: #C7BFF0;
    cursor: not-allowed;
}

.login-toggle-password:focus-visible[b-n5fjk7bfhv] {
    outline: 2px solid #7C5CFC;
    outline-offset: 2px;
    border-radius: 6px;
}
/* /Pages/MetasAhorro.razor.rz.scp.css */
.metas-estado[b-sty1hyh427] {
    color: #6B7280;
    font-size: 0.9rem;
}

.metas-estado-error[b-sty1hyh427] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
}

.metas-barra[b-sty1hyh427] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.metas-contador[b-sty1hyh427] {
    font-size: 0.85rem;
    color: #6B7280;
}

.metas-btn-nueva[b-sty1hyh427] {
    background: #7C5CFC;
    color: #FFFFFF;
    border: none;
    border-radius: 10px;
    padding: 0.55rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.metas-btn-nueva:disabled[b-sty1hyh427] {
    background: #D8D4F0;
    cursor: not-allowed;
}

.metas-vacio[b-sty1hyh427] {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 3rem 1.5rem;
    text-align: center;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.metas-vacio-icono[b-sty1hyh427] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #EDE9FE;
    color: #7C5CFC;
    margin-bottom: 1rem;
}

.metas-vacio-icono[b-sty1hyh427]  svg {
    width: 24px;
    height: 24px;
}

.metas-vacio-titulo[b-sty1hyh427] {
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 0.4rem 0;
}

.metas-vacio-texto[b-sty1hyh427] {
    color: #6B7280;
    font-size: 0.9rem;
    max-width: 380px;
    margin: 0 auto 1.25rem auto;
}

.metas-lista[b-sty1hyh427] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.25rem;
}

.metas-tarjeta[b-sty1hyh427] {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1.25rem 1.4rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.metas-tarjeta-top[b-sty1hyh427] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}

.metas-icono[b-sty1hyh427] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    flex-shrink: 0;
}

.metas-icono[b-sty1hyh427]  svg {
    width: 19px;
    height: 19px;
}

.metas-tarjeta-info[b-sty1hyh427] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.metas-tarjeta-info strong[b-sty1hyh427] {
    font-size: 0.95rem;
    color: #1F2333;
}

.metas-tarjeta-info span[b-sty1hyh427] {
    font-size: 0.8rem;
    color: #6B7280;
}

.metas-tarjeta-acciones[b-sty1hyh427] {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}

.metas-accion[b-sty1hyh427] {
    background: none;
    border: none;
    color: #7C5CFC;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
    white-space: nowrap;
}

.metas-accion-peligro[b-sty1hyh427] {
    color: #DC2626;
}

.metas-confirmar[b-sty1hyh427] {
    font-size: 0.78rem;
    color: #6B7280;
    white-space: nowrap;
}

.metas-barra-progreso[b-sty1hyh427] {
    background: #F1EFFB;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.metas-barra-relleno[b-sty1hyh427] {
    height: 100%;
    border-radius: 999px;
    background: #7C5CFC;
}

.metas-barra-relleno.metas-conseguida[b-sty1hyh427] {
    background: #22C55E;
}

.metas-tarjeta-pie[b-sty1hyh427] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #6B7280;
}

.metas-tarjeta-pie.metas-pie-verde[b-sty1hyh427] {
    color: #16A34A;
}

.metas-tarjeta-pie.metas-pie-ambar[b-sty1hyh427] {
    color: #D97706;
}
/* /Pages/Presupuestos.razor.rz.scp.css */
.pres-estado[b-35ge8zp9sv] {
    color: #6B7280;
    font-size: 0.9rem;
}

.pres-estado-error[b-35ge8zp9sv] {
    background: #FEF2F2;
    color: #DC2626;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
}

.pres-barra[b-35ge8zp9sv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.pres-contador[b-35ge8zp9sv] {
    font-size: 0.85rem;
    color: #6B7280;
}

.pres-btn-nuevo[b-35ge8zp9sv] {
    background: #7C5CFC;
    color: #FFFFFF;
    border: none;
    border-radius: 10px;
    padding: 0.55rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.pres-btn-nuevo:disabled[b-35ge8zp9sv] {
    background: #D8D4F0;
    cursor: not-allowed;
}

.pres-vacio[b-35ge8zp9sv] {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 3rem 1.5rem;
    text-align: center;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.pres-vacio-icono[b-35ge8zp9sv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #EDE9FE;
    color: #7C5CFC;
    margin-bottom: 1rem;
}

.pres-vacio-icono[b-35ge8zp9sv]  svg {
    width: 24px;
    height: 24px;
}

.pres-vacio-titulo[b-35ge8zp9sv] {
    font-weight: 700;
    color: #1F2333;
    margin: 0 0 0.4rem 0;
}

.pres-vacio-texto[b-35ge8zp9sv] {
    color: #6B7280;
    font-size: 0.9rem;
    max-width: 380px;
    margin: 0 auto 1.25rem auto;
}

.pres-lista[b-35ge8zp9sv] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.25rem;
}

.pres-tarjeta[b-35ge8zp9sv] {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1.25rem 1.4rem;
    box-shadow: 0 6px 24px rgba(31, 35, 51, 0.04);
}

.pres-tarjeta-top[b-35ge8zp9sv] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}

.pres-icono[b-35ge8zp9sv] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    flex-shrink: 0;
}

.pres-icono[b-35ge8zp9sv]  svg {
    width: 19px;
    height: 19px;
}

.pres-tarjeta-info[b-35ge8zp9sv] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.pres-tarjeta-info strong[b-35ge8zp9sv] {
    font-size: 0.95rem;
    color: #1F2333;
}

.pres-tarjeta-info span[b-35ge8zp9sv] {
    font-size: 0.8rem;
    color: #6B7280;
}

.pres-tarjeta-acciones[b-35ge8zp9sv] {
    display: flex;
    gap: 0.5rem;
}

.pres-accion[b-35ge8zp9sv] {
    background: none;
    border: none;
    color: #7C5CFC;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
}

.pres-confirmar[b-35ge8zp9sv] {
    font-size: 0.78rem;
    font-weight: 700;
    color: #DC2626;
}

.pres-accion-peligro[b-35ge8zp9sv] {
    color: #DC2626;
}

.pres-barra-progreso[b-35ge8zp9sv] {
    background: #F1EFFB;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.pres-barra-relleno[b-35ge8zp9sv] {
    height: 100%;
    border-radius: 999px;
}

.pres-verde[b-35ge8zp9sv] { background: #22C55E; }
.pres-ambar[b-35ge8zp9sv] { background: #F59E0B; }
.pres-rojo[b-35ge8zp9sv] { background: #EF4444; }

.pres-tarjeta-pie[b-35ge8zp9sv] {
    font-size: 0.78rem;
    font-weight: 600;
}

.pres-tarjeta-pie.pres-verde[b-35ge8zp9sv],
.pres-tarjeta-pie.pres-ambar[b-35ge8zp9sv],
.pres-tarjeta-pie.pres-rojo[b-35ge8zp9sv] {
    background: none;
}

.pres-tarjeta-pie.pres-verde[b-35ge8zp9sv] { color: #16A34A; }
.pres-tarjeta-pie.pres-ambar[b-35ge8zp9sv] { color: #D97706; }
.pres-tarjeta-pie.pres-rojo[b-35ge8zp9sv] { color: #DC2626; }
