/* ============================================
   LAYOUT PRINCIPAL - SKILLTRACK
   ============================================ */

/* Estructura principal del layout */
html, body {
    height: 100%;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin: 0;
}

.main-wrapper {
    flex: 1 1 auto;
    display: flex;
    min-height: 0;
}

.main-content {
    flex: 1 1 auto;
    padding: 32px 24px;
    min-width: 0;
    width: calc(100% - 280px);
    overflow-x: auto;
}

/* Limitar estilos de no-sidebar solo cuando NO es página de autenticación */
body:not(.auth-page) .main-content.no-sidebar {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 40px 2rem !important;
}

/* Regla específica para páginas de auth - sin limitación de ancho */
.main-content.no-sidebar.auth-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Estilos específicos para páginas de registro */
body:not(.auth-page) .main-content.no-sidebar .row.justify-content-center {
    margin: 0;
    padding: 0;
    max-width: none;
}

body:not(.auth-page) .main-content.no-sidebar .col-lg-10,
body:not(.auth-page) .main-content.no-sidebar .col-xl-8,
body:not(.auth-page) .main-content.no-sidebar .col-lg-8 {
    padding: 0;
    max-width: none !important;
    flex: 0 0 100% !important;
}

body:not(.auth-page) .main-content.no-sidebar .card {
    margin: 0;
    border: none;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    width: 100%;
}

body:not(.auth-page) .main-content.no-sidebar .card-header {
    border-bottom: 1px solid rgba(0,0,0,.125);
}

body:not(.auth-page) .main-content.no-sidebar .card-body {
    padding: 1.5rem;
}

body:not(.auth-page) .main-content.no-sidebar .card-body.p-md-4 {
    padding: 1.5rem;
}

/* Responsive para páginas de registro */
@media (max-width: 1200px) {
    body:not(.auth-page) .main-content.no-sidebar {
        padding: 40px 1.5rem !important;
    }
}

@media (max-width: 768px) {
    body:not(.auth-page) .main-content.no-sidebar {
        padding: 20px 1rem !important;
    }
    
    body:not(.auth-page) .main-content.no-sidebar .card-body {
        padding: 1rem;
    }
    
    body:not(.auth-page) .main-content.no-sidebar .card-body.p-md-4 {
        padding: 1rem;
    }
}

/* Fondo transparente para páginas públicas */
.fondo-transparente {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('/img/logodigit.png') no-repeat center center;
    background-size: 40%;
    opacity: 0.05;
    z-index: -1;
}

/* Estilos específicos para páginas de verificación */
.verification-page {
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.verification-card {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
}

/* Asegurar que el contenido se centre correctamente */
.main-content .container-fluid {
    padding: 2rem 1rem;
}

/* Responsive para páginas de verificación */
@media (max-width: 768px) {
    .verification-card {
        margin: 1rem;
    }
    
    .main-content .container-fluid {
        padding: 1rem 0.5rem;
    }
}

