/* Secciones de nivel 1 del menú lateral: resaltadas y colapsables. */
.nav-sidebar > .nav-item.menu-seccion > .nav-link p {
    font-weight: 700;
    letter-spacing: .05em;
    font-size: .95rem;
}

.nav-sidebar > .nav-item.menu-seccion > .nav-link {
    margin-top: .3rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.nav-sidebar > .nav-item.menu-seccion > .nav-link > i.nav-icon {
    opacity: .95;
}

/* Subitems (nivel 2) con sangría clara. */
.nav-sidebar .nav-treeview > .nav-item > .nav-link {
    padding-left: 1.6rem;
}

/* La marca Cauxe queda SIEMPRE pegada al fondo del menú, aunque haya pocos
   ítems: la lista ocupa toda la altura y el ítem se empuja con margin-top:auto.
   Cuando el menú es más alto que la pantalla, el auto se colapsa y todo
   desplaza con normalidad. */
.main-sidebar {
    display: flex;
    flex-direction: column;
}
.main-sidebar > .sidebar {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
/* AdminLTE envuelve el menú con OverlayScrollbars (.os-padding > .os-viewport
   > .os-content). La cadena flex tiene que atravesar ese contenedor para que
   la lista ocupe todo el alto y el pie baje. Cubrimos ambos casos: con y sin
   scrollbar personalizado. */
.main-sidebar .os-content,
.main-sidebar > .sidebar > nav {
    flex: 1 1 auto;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}
.main-sidebar .os-content > nav {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.main-sidebar nav > .nav-sidebar {
    flex: 1 1 auto;
}

/* Marca Cauxe Center: pie del menú lateral y enlace superior.
   AdminLTE coloca la clase marca-cauxe sobre el <a.nav-link>, no sobre el
   <li>. Como la marca es el último ítem del menú, empujamos su <li>
   contenedor (último hijo de la lista) al fondo con margin-top:auto. */
.nav-sidebar > .nav-item:last-child {
    margin-top: auto;
}
.nav-sidebar > .nav-item > .nav-link.marca-cauxe {
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: 10px;
    margin-top: 4px;
}
/* "Cauxe Center" (con el © en la misma línea) hereda el tamaño normal del
   menú; "by Nouxsoft" va menor. */
.nav-sidebar .nav-link.marca-cauxe .marca-cauxe-nombre {
    display: block;
    color: #cfd8e0;
    line-height: 1.15;
}
.nav-sidebar .nav-link.marca-cauxe .marca-cauxe-nombre > i {
    margin-right: 4px;
    color: #8a97a5;
}
.nav-sidebar .nav-link.marca-cauxe .marca-cauxe-sub {
    display: block;
    font-size: 11.5px;
    color: #8a97a5;
    line-height: 1.1;
}
.nav-sidebar .nav-link.marca-cauxe:hover .marca-cauxe-nombre {
    color: #ffffff;
}
.nav-sidebar .nav-link.marca-cauxe:hover > i.nav-icon,
.nav-sidebar .nav-link.marca-cauxe:hover .marca-cauxe-sub {
    color: #cfd8e0;
}
.navbar-nav > .nav-item.marca-cauxe-top > .nav-link {
    font-weight: 600;
    color: #1c5f97 !important;
}

/* Panel de la empresa cliente en la parte superior del menú lateral:
   logo arriba centrado, nombre (más grande) debajo, y el slogan al pie. */
.empresa-panel {
    padding: 16px 12px 12px;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.empresa-panel .empresa-logo {
    display: block;
    height: 62px;
    max-width: 86%;
    margin: 0 auto 9px;
    object-fit: contain;
    border-radius: 10px;
    background: #ffffff;
    padding: 5px;
}
.empresa-panel .empresa-nombre {
    color: #ffffff;
    font-weight: 700;
    font-size: 17px;
    line-height: 1.2;
}
.empresa-panel .empresa-slogan {
    color: #9fb0bf;
    font-size: 11.5px;
    margin-top: 3px;
}

/* Con el menú recogido (modo íconos) solo dejamos el logo pequeño. */
.sidebar-collapse .empresa-panel {
    padding: 10px 4px;
}
.sidebar-collapse .empresa-panel .empresa-nombre,
.sidebar-collapse .empresa-panel .empresa-slogan {
    display: none;
}
.sidebar-collapse .empresa-panel .empresa-logo {
    height: 34px;
    margin-bottom: 0;
    padding: 3px;
}
