        /* ==========================================
        LOGIN RAT
        ========================================== */

        .login-rat-bg {
            min-height: 100vh;
            background-image: url("../img/home_rat.jpeg");
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            position: relative;
        }

        .login-rat-overlay {
            position: absolute;
            inset: 0;
            background: rgba(5, 15, 35, 0.35);
        }


        .rat-login-logo{
            max-width:110px;
            height:auto;
        }

        .rat-login-footer{
            margin-top:45px;
            display:flex;
            justify-content:flex-end;
            align-items:center;
            gap:10px;
        }

        .rat-login-powered-text{
            font-size:.85rem;
            color:#6c757d;
            white-space:nowrap;
        }

        .rat-login-powered{
            width:110px;
            height:auto;
            opacity:.9;
            transition:.2s;
        }

        .rat-login-powered:hover{
            opacity:1;
        }

    /* RAT - Logo menú */

        .rat-logo {
            height: 30px !important;
            max-height: 30px !important;
            width: auto !important;
            max-width: 140px !important;
            object-fit: contain !important;
        }

        .rat-logo-dark,
            .footer-logo-dark {
                display: none;
            }

        .rat-logo-light,
            .footer-logo-light {
                display: inline-block;
            }

    /* Ocultar botón Reset del Customizer */
        .template-customizer-reset-btn {
            display: none !important;
        }

    /* =====================================================
   RAT - Footer
   ===================================================== */

        .footer-logo {
            height: 10px;
            max-height: 10px;
            width: auto;
            object-fit: contain;
            vertical-align: middle;
        }

        .footer-logo-dark {
            display: none;
        }

        .footer-logo-light {
            display: inline-block;
        }

        html.dark-style .footer-logo-light {
            display: none;
        }

        html.dark-style .footer-logo-dark {
            display: inline-block;
        }

        html.light-style .footer-logo-light {
            display: inline-block;
        }

        html.light-style .footer-logo-dark {
            display: none;
        }
        /* =====================================================
        RAT - Login powered logo
        ===================================================== */

        .rat-login-powered-light {
            display: inline-block !important;
        }

        .rat-login-powered-dark {
            display: none !important;
        }

        html.dark-style .rat-login-powered-light,
        html[data-style="dark"] .rat-login-powered-light,
        body.dark-style .rat-login-powered-light {
            display: none !important;
        }

        html.dark-style .rat-login-powered-dark,
        html[data-style="dark"] .rat-login-powered-dark,
        body.dark-style .rat-login-powered-dark {
            display: inline-block !important;
        }
/* =====================================================
   RAT - Contenedor de formularios
   ===================================================== */

.rat-form {
    position: relative;
    margin-top: 1.75rem;
    padding: 1.25rem 1rem 1.25rem;

    border: 1px solid var(--bs-border-color);
    border-radius: 0.375rem;
}

.rat-form-title {
    position: absolute;
    top: 0;
    left: 1rem;
    z-index: 2;

    transform: translateY(-50%);

    padding: 0 .65rem;
    background: var(--bs-body-bg);

    font-size: .75rem;
    font-weight: 600;
    color: var(--bs-secondary-color);
    text-transform: uppercase;
    letter-spacing: .04em;
    line-height: 1;
}

.rat-form > .card {
    position: relative;
    z-index: 0;
    margin: 0;
}

.rat-form > .card > .rat-form-body.card-body {
    padding: 1rem 1rem 1rem;
}

.rat-form.rat-form-compact {
    padding-top: 0 !important;
    padding-left: .75rem !important;
    padding-right: .75rem !important;
    padding-bottom: .75rem !important;
}

.rat-form.rat-form-compact .rat-container-compact {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
}

.rat-form.rat-form-compact .row {
    margin-top: 0 !important;
}

/* =====================================================
   RAT - Páginas de error dentro del layout autenticado
   ===================================================== */

.rat-error-wrapper {
    min-height: calc(100vh - 220px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rat-error-wrapper img {
    max-width: 500px;
    width: 100%;
}

/* =====================================================
   RAT - Tablas adaptativas
   ===================================================== */

.rat-table-responsive-font thead tr:first-child th {
    text-align: center;
    vertical-align: middle;
}

@media (max-width: 1366px) {
    .rat-table-responsive-font {
        font-size: 0.8125rem;
    }

    .rat-table-responsive-font th,
    .rat-table-responsive-font td {
        font-size: 0.8125rem;
    }

    .rat-table-responsive-font .form-control,
    .rat-table-responsive-font .form-select,
    .rat-table-responsive-font .badge,
    .rat-table-responsive-font .btn {
        font-size: 0.75rem;
    }
}

@media (max-width: 1200px) {
    .rat-table-responsive-font {
        font-size: 0.75rem;
    }

    .rat-table-responsive-font th,
    .rat-table-responsive-font td {
        font-size: 0.60rem;
    }

    .rat-table-responsive-font .form-control,
    .rat-table-responsive-font .form-select,
    .rat-table-responsive-font .badge,
    .rat-table-responsive-font .btn {
        font-size: 0.6875rem;
    }
}

/* Menú lateral: altura uniforme y máximo 2 líneas */
#layout-menu .menu-item > .menu-link {
    height: 44px !important;
    min-height: 44px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    white-space: normal !important;
    align-items: center;
}

/* Texto del menú */
#layout-menu .menu-item > .menu-link > div {
    flex: 1 1 auto;
    min-width: 0;

    font-size: 0.875rem;
    line-height: 1.05rem;

    white-space: normal !important;
    text-overflow: clip !important;

    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    overflow: hidden !important;
}

/* Iconos y flechas mantienen su tamaño */
#layout-menu .menu-item > .menu-link > .menu-icon {
    flex-shrink: 0;
}
