/*
 * ISAV V7 - Menu latéral taille uniforme
 * Force la même largeur et la même taille visuelle du menu sur toutes les pages.
 */

:root {
    --isav-sidebar-width: 220px;
    --isav-sidebar-font-size: 14px;
    --isav-sidebar-link-height: 42px;
}

/* Conteneur menu */
body aside,
body .sidebar,
body .side,
body .sidenav,
body .app-sidebar,
body .layout-sidebar,
body .left-sidebar,
body .nav-sidebar,
body nav.sidebar {
    width: var(--isav-sidebar-width) !important;
    min-width: var(--isav-sidebar-width) !important;
    max-width: var(--isav-sidebar-width) !important;
    flex: 0 0 var(--isav-sidebar-width) !important;
    font-size: var(--isav-sidebar-font-size) !important;
    box-sizing: border-box !important;
}

/* Logo / marque */
body aside .brand,
body aside .logo,
body aside .sidebar-brand,
body aside .app-brand,
body .sidebar .brand,
body .sidebar .logo,
body .sidebar .sidebar-brand,
body .sidebar .app-brand,
body nav.sidebar .brand,
body nav.sidebar .logo {
    min-height: 48px !important;
    gap: 10px !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
}

body aside .brand img,
body aside .logo img,
body aside .sidebar-brand img,
body aside .app-brand img,
body .sidebar .brand img,
body .sidebar .logo img,
body .sidebar .sidebar-brand img,
body .sidebar .app-brand img,
body nav.sidebar .brand img,
body nav.sidebar .logo img {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
}

/* Icône carrée type 🛠️ */
body aside .brand-icon,
body aside .logo-icon,
body aside .app-icon,
body .sidebar .brand-icon,
body .sidebar .logo-icon,
body .sidebar .app-icon,
body nav.sidebar .brand-icon,
body nav.sidebar .logo-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    border-radius: 10px !important;
    font-size: 18px !important;
}

/* Liens menu */
body aside a,
body aside button,
body aside .nav-link,
body aside .menu-link,
body aside .sidebar-link,
body .sidebar a,
body .sidebar button,
body .sidebar .nav-link,
body .sidebar .menu-link,
body .sidebar .sidebar-link,
body nav.sidebar a,
body nav.sidebar button,
body nav.sidebar .nav-link,
body nav.sidebar .menu-link,
body nav.sidebar .sidebar-link {
    font-size: var(--isav-sidebar-font-size) !important;
    line-height: 1.2 !important;
    min-height: var(--isav-sidebar-link-height) !important;
    padding: 11px 14px !important;
    border-radius: 11px !important;
    gap: 10px !important;
    box-sizing: border-box !important;
}

/* Icônes dans le menu */
body aside a span:first-child,
body aside .nav-link span:first-child,
body aside .menu-link span:first-child,
body .sidebar a span:first-child,
body .sidebar .nav-link span:first-child,
body .sidebar .menu-link span:first-child,
body nav.sidebar a span:first-child,
body nav.sidebar .nav-link span:first-child,
body nav.sidebar .menu-link span:first-child {
    font-size: 16px !important;
    line-height: 1 !important;
}

/* Titres de groupes, ex: ADMINISTRATION */
body aside .section-title,
body aside .menu-title,
body aside .sidebar-title,
body aside small,
body .sidebar .section-title,
body .sidebar .menu-title,
body .sidebar .sidebar-title,
body .sidebar small,
body nav.sidebar .section-title,
body nav.sidebar .menu-title,
body nav.sidebar .sidebar-title,
body nav.sidebar small {
    font-size: 10.5px !important;
    line-height: 1.2 !important;
    letter-spacing: .08em !important;
}

/* Bloc utilisateur bas de menu */
body aside .user,
body aside .user-box,
body aside .sidebar-user,
body .sidebar .user,
body .sidebar .user-box,
body .sidebar .sidebar-user,
body nav.sidebar .user,
body nav.sidebar .user-box,
body nav.sidebar .sidebar-user {
    font-size: 12px !important;
    line-height: 1.2 !important;
}

/* Empêche les CSS de pages compactes de grossir/rétrécir le menu */
body aside *,
body .sidebar *,
body nav.sidebar * {
    box-sizing: border-box !important;
}
