/* =========================================================
   Habitable · ajustes visuales del panel (AdminLTE 3)
   Cargado globalmente vía config/adminlte.php > plugins
   Sidebar en tema claro.
   ========================================================= */

:root {
    --hb-primary: #2776bb;
    --hb-primary-dark: #233371;
    --hb-accent: #f5ab00;
}

/* ---------- Sidebar (tema claro) ---------- */
.main-sidebar {
    background-color: #ffffff;
    box-shadow: 0 0 14px rgba(0, 0, 0, .08);
}

/* Marca / logo */
.main-sidebar .brand-link {
    border-bottom: 1px solid rgba(0, 0, 0, .08);
    padding-top: .95rem;
    padding-bottom: .95rem;
    letter-spacing: .3px;
    color: #2b2f36;
}

.main-sidebar .brand-link .brand-text {
    font-weight: 600;
}

/* La barra lateral trae padding horizontal propio de AdminLTE: lo anulamos
   para que la navegación no quede desplazada hacia la derecha. */
.sidebar {
    padding-left: 0;
    padding-right: 0;
}

/* Espaciado general de la navegación */
.sidebar .nav-sidebar {
    padding: .6rem .5rem 2rem;
}

.sidebar .nav-sidebar > .nav-item {
    margin-bottom: 3px;
}

/* Enlaces de primer nivel */
.sidebar .nav-sidebar .nav-link {
    display: flex;
    align-items: center;
    border-radius: 8px;
    padding: .62rem .7rem;
    font-size: 1.03rem;
    line-height: 1.3;
    color: #3b4149;
    transition: background-color .15s ease, color .15s ease;
}

.sidebar .nav-sidebar .nav-link p {
    font-size: inherit;
    margin: 0;
}

.sidebar .nav-sidebar .nav-link .nav-icon {
    width: 1.4rem;
    font-size: 1.05rem;
    margin-right: .55rem;
    text-align: center;
    color: #8a929c;
    transition: color .15s ease;
    flex-shrink: 0;
}

/* La flecha del submenú siempre pegada a la derecha */
.sidebar .nav-sidebar .nav-link > .right {
    margin-left: auto;
}

/* Hover */
.sidebar .nav-sidebar .nav-link:hover {
    background-color: #eef2f6;
    color: #1f242a;
}

.sidebar .nav-sidebar .nav-link:hover .nav-icon {
    color: var(--hb-primary);
}

/* Activo */
.sidebar .nav-sidebar .nav-link.active {
    background-color: var(--hb-primary);
    color: #fff;
    box-shadow: 0 2px 6px rgba(39, 118, 187, .35);
}

.sidebar .nav-sidebar .nav-link.active .nav-icon {
    color: #fff;
}

/* Padre con hijo activo */
.sidebar .nav-sidebar > .nav-item.menu-open > .nav-link {
    background-color: #eef2f6;
    color: #1f242a;
}

/* Submenú */
.sidebar .nav-sidebar .nav-treeview {
    padding-left: .45rem;
    margin: 3px 0 6px;
    border-left: 2px solid rgba(0, 0, 0, .09);
}

.sidebar .nav-sidebar .nav-treeview .nav-link {
    padding: .5rem .75rem;
    font-size: .95rem;
    color: #5b626b;
}

.sidebar .nav-sidebar .nav-treeview .nav-link:hover {
    background-color: #eef2f6;
    color: #1f242a;
}

.sidebar .nav-sidebar .nav-treeview .nav-link.active {
    background-color: var(--hb-primary);
    color: #fff;
    box-shadow: none;
}

/* Flecha del submenú */
.sidebar .nav-sidebar .nav-link > .right {
    opacity: .55;
}

/* ---------- Navbar superior ---------- */
.main-header.navbar {
    border-bottom: 1px solid rgba(0, 0, 0, .07);
    box-shadow: none;
}

/* ---------- Contenido ---------- */
.content-wrapper {
    background-color: #f4f6f9;
}

.content-header h1 {
    font-size: 1.5rem;
    font-weight: 600;
}

/* Tarjetas un poco más suaves */
.card {
    border: 0;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);
}

.small-box {
    border-radius: 10px;
}
