/* ========================================
   ESTILOS PARA MENÚS DE CONFIGURACIÓN
   Archivo: menu-configuracion.css
   Uso: Menús laterales con efectos hover y estados activos
   Adaptado para Dark Mode con variables CSS nativas
   ======================================== */

/* Menú sticky lateral: si no cabe en la pantalla, scrollea adentro */
.sticky-menu {
    position: sticky;
    top: 60px;
    z-index: 10;
    max-height: calc(100vh - 5.5rem);
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
}

.sticky-menu::-webkit-scrollbar {
    width: 0.45rem;
}

.sticky-menu::-webkit-scrollbar-thumb {
    background-color: var(--default-border);
    border-radius: 999px;
}

/* Efectos hover para los enlaces del menú */
.main-content-left-mail .main-nav-column .nav-link.thumb {
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    border-radius: 8px !important;
    margin-bottom: 10px !important;
    padding: 15px !important;
    height: auto !important;
    background: var(--custom-white) !important;
    border: 1px solid var(--default-border) !important;
    color: var(--default-text-color) !important;
}

.main-content-left-mail .main-nav-column .nav-link.thumb:hover {
    transform: translateX(8px) !important;
    box-shadow: 0 5px 20px var(--black-2) !important;
    border-color: var(--primary-color) !important;
    background: var(--list-hover-focus-bg) !important;
}

.main-content-left-mail .main-nav-column .nav-link.thumb:hover .icon-wrapper i {
    transform: scale(1.15) !important;
    transition: transform 0.3s ease !important;
}

/* Estado activo del enlace */
.main-content-left-mail .main-nav-column .nav-link.thumb.active {
    background: var(--primary02) !important;
    color: var(--primary-color) !important;
    box-shadow: 0 5px 15px var(--primary02) !important;
    border-color: var(--primary-color) !important;
}

.main-content-left-mail .main-nav-column .nav-link.thumb.active .icon-wrapper i {
    color: var(--primary-color) !important;
}

.main-content-left-mail .main-nav-column .nav-link.thumb.active .nav-title {
    color: var(--primary-color) !important;
    font-weight: 600 !important;
}

.main-content-left-mail .main-nav-column .nav-link.thumb.active small {
    color: var(--primary-color) !important;
    opacity: 0.8;
}

/* Textos del menú */
.main-content-left-mail .nav-title {
    color: var(--default-text-color) !important;
    font-weight: 500 !important;
}

.main-content-left-mail .nav-link.thumb small {
    color: var(--text-muted) !important;
}

/* Wrapper de iconos */
.main-content-left-mail .icon-wrapper {
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    background: var(--primary01) !important;
    transition: all 0.3s ease !important;
}

.main-content-left-mail .nav-link.thumb:hover .icon-wrapper {
    background: var(--primary02) !important;
}

.main-content-left-mail .icon-wrapper i {
    font-size: 20px !important;
    transition: all 0.3s ease !important;
}

/* Botón principal de configuración */
.main-content-left-mail .btn-compose {
    transition: all 0.3s ease !important;
    font-weight: 600 !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
}

.main-content-left-mail .btn-compose:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 25px var(--primary03) !important;
}

/* Responsive: Ajustes para pantallas pequeñas */
@media (max-width: 991.98px) {
    .sticky-menu {
        position: static;
        max-height: none;
        overflow: visible;
        margin-bottom: 1rem;
    }
}

/* El encabezado y las columnas no deben empujar la página de lado */
.empresa-config-encabezado {
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 100%;
    min-width: 0;
}

.empresa-config-encabezado .left-content,
.empresa-config-encabezado .main-content-title {
    min-width: 0;
    max-width: 100%;
}

.empresa-config-pagina {
    max-width: 100%;
}

.empresa-config-pagina > [class*="col-"] {
    min-width: 0;
    max-width: 100%;
}

.empresa-sucursales-tabla {
    max-width: 100%;
    overflow-x: auto;
}

.empresa-sucursales-tabla .dataTables_wrapper {
    max-width: 100%;
}

.empresa-sucursales-tabla .dataTables_info,
.empresa-sucursales-tabla .dataTables_paginate,
.empresa-sucursales-tabla .dataTables_length,
.empresa-sucursales-tabla .dataTables_filter {
    white-space: normal;
}

.empresa-sucursales-tabla table.dataTable {
    width: 100% !important;
    margin-bottom: 0;
}

/* Agrupación menú configurar empresa (blade: empresa-config-menu) */
.empresa-config-menu .empresa-config-menu__section + .empresa-config-menu__section {
    margin-top: 0.25rem;
}

.empresa-config-menu .empresa-config-menu__group-title {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted, #6c757d);
    margin: 1.125rem 0 0.5rem;
    padding: 0 0.35rem;
    line-height: 1.3;
}

.empresa-config-menu .empresa-config-menu__section:first-child .empresa-config-menu__group-title {
    margin-top: 0;
}

.empresa-config-menu .empresa-config-menu__section .nav-link.thumb {
    margin-bottom: 0.5rem !important;
}

.empresa-config-menu .empresa-config-menu__section .nav-link.thumb:last-child {
    margin-bottom: 0.35rem !important;
}

[data-theme-mode=dark] .empresa-config-menu .empresa-config-menu__group-title {
    color: rgba(255, 255, 255, 0.55);
}

/* Checklist de activación (parcial activacion_progreso) */
.empresa-activacion-progreso__title {
    font-size: 0.8125rem;
    color: var(--default-text-color);
}

.empresa-activacion-progreso__bar {
    height: 6px;
}

.empresa-activacion-progreso__list li {
    border-bottom: 1px solid var(--default-border);
}

.empresa-activacion-progreso__list li:last-child {
    border-bottom: 0;
}

