:root {
    --azul-financiero: #0d2b45;
    --azul-claro: #123a5e;
    --dorado: #c9a24b;
    --verde-ok: #1e7e4d;
    --rojo-mora: #b8433a;
}

body {
    background-color: #f4f6f9;
    font-family: 'Segoe UI', system-ui, sans-serif;
}

.sidebar {
    width: 260px;
    min-height: 100vh;
    background: linear-gradient(180deg, var(--azul-financiero), var(--azul-claro));
}

.sidebar .nav-link {
    border-radius: 8px;
    margin-bottom: 4px;
    opacity: 0.85;
    border-left: 3px solid transparent;
}

.sidebar .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.12);
    opacity: 1;
}

.sidebar .nav-link.active {
    background-color: var(--dorado);
    border-left: 3px solid #fff;
    color: #12233a !important;
    font-weight: 600;
    opacity: 1;
}

.sidebar .nav-link.active i {
    color: #12233a !important;
}

.contenido {
    max-width: 100%;
}

.card-kpi {
    border: none;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}

.card-kpi .kpi-valor {
    font-size: 1.8rem;
    font-weight: 700;
}

.badge-mora { background-color: var(--rojo-mora); }
.badge-vigente { background-color: var(--verde-ok); }
.badge-cancelado { background-color: #6c757d; }
.badge-incobrable { background-color: #343a40; }

.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--azul-financiero), var(--azul-claro));
}

.login-card {
    width: 380px;
    border-radius: 16px;
    border: none;
    box-shadow: 0 10px 40px rgba(0,0,0,0.25);
}

table.table-cuotas td, table.table-cuotas th {
    vertical-align: middle;
}

/* Tarjetas grandes de acceso rapido en el dashboard (inspiradas en ACREDIT) */
.tile-acceso {
    border-radius: 10px;
    padding: 16px;
    color: #fff;
    min-height: 110px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.tile-acceso:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.22);
}
.tile-acceso i {
    font-size: 1.8rem;
    opacity: 0.9;
}
.tile-titulo {
    font-weight: 800;
    font-size: 1.05rem;
    margin-top: 6px;
    letter-spacing: 0.3px;
}
.tile-subtitulo {
    font-size: 0.78rem;
    opacity: 0.9;
}
.tile-clientes { background: linear-gradient(135deg, #2e7d32, #66bb6a); }
.tile-credito { background: linear-gradient(135deg, #6a3fb5, #9c7fe0); }
.tile-desembolso { background: linear-gradient(135deg, #1565c0, #42a5f5); }
.tile-pagos { background: linear-gradient(135deg, #e65100, #ffa726); }
