/* Custom Sidebar */

/* Override global para imagens circulares - previne distorção */
.img-circle {
    object-fit: cover !important;
    object-position: center !important;
}

/* Exceção para logos e preloader - devem manter proporção original */
.brand-image,
.brand-image-xl,
.brand-image-xs,
.sidebar-footer-logo img,
.preloader img {
    object-fit: contain !important;
    object-position: center !important;
}

/* Fundo branco para o preloader */
.preloader {
    background-color: #ffffff !important;
}

/* Cor de fundo da sidebar - Azul Massa */
.sidebar-dark-primary {
    background-color: #1346ED !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link:hover {
    background-color: #0a2a8a !important;
    color: #ffffff !important;
}

/* Links da sidebar */
.sidebar-dark-primary .nav-sidebar .nav-link {
    color: #ffffff !important;
    font-size: 14px;
    line-height: 20px;
    padding: 1.1rem 1rem;
    font-weight: 400;
    display: flex;
    align-items: center;
}

.sidebar-dark-primary .nav-sidebar .nav-link p {
    font-weight: 400;
    font-size: 14px;
    margin-bottom: 0;
}

/* Ícones */
.sidebar-dark-primary .nav-sidebar .nav-link i {
    color: #ffffff !important;
    font-size: 1.5rem;
    margin-right: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Submenus */
.sidebar-dark-primary .nav-treeview > .nav-item > .nav-link {
    color: #ffffff !important;
    padding-left: 3rem;
    font-size: 14px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    display: flex;
    align-items: center;
}

.sidebar-dark-primary .nav-treeview > .nav-item > .nav-link i {
    font-size: 1.3rem;
}

.sidebar-dark-primary .nav-treeview > .nav-item > .nav-link:hover {
    background-color: #0a2a8a !important;
}

.sidebar-dark-primary .nav-treeview > .nav-item > .nav-link.active {
    background-color: #0a2a8a !important;
    color: #ffffff !important;
}

/* Seta do submenu */
.sidebar-dark-primary .nav-sidebar > .nav-item.menu-open > .nav-link i.right {
    color: #ffffff !important;
}

/* User panel */
.user-panel {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding: 2rem 1rem 1.5rem 1rem !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    margin-top: 0;
    background-color: #1346ED;
}

/* Espaço grande depois do user-panel para centralizar menus */
.user-panel + .mt-2,
.user-panel + nav > ul {
    margin-top: 4rem !important;
}

.user-panel .image {
    text-align: center;
    margin-bottom: 0.5rem;
}

.user-panel .info {
    text-align: center;
    width: 100%;
}

.user-panel .info span {
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 400;
}

/* Avatar circular */
.user-panel .image img {
    border: 3px solid #ffffff;
    width: 70px !important;
    height: 70px !important;
    margin: 0 auto;
    object-fit: cover;
    object-position: center;
}

/* Brand logo - OCULTO (logo fica só no rodapé) */
.brand-link {
    display: none !important;
}

/* Scrollbar customizada */
.sidebar-dark-primary .sidebar::-webkit-scrollbar {
    width: 6px;
}

.sidebar-dark-primary .sidebar::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
}

.sidebar-dark-primary .sidebar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
}

.sidebar-dark-primary .sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* Logo no rodapé */
.sidebar-footer-logo {
    position: fixed !important;
    bottom: 0;
    left: 0;
    width: 250px;
    background-color: #1346ED !important;
    padding: 1.5rem 0;
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 1000;
    display: block !important;
    transition: width 0.3s ease-in-out;
}

.sidebar-mini.sidebar-collapse .sidebar-footer-logo {
    width: 4.6rem;
    padding: 0.5rem 0;
}

.sidebar-footer-logo img {
    max-width: 120px !important;
    height: auto;
    display: block;
    margin: 0 auto;
    transition: all 0.3s ease-in-out;
    object-fit: contain !important;
    object-position: center !important;
}

.sidebar-mini.sidebar-collapse .sidebar-footer-logo img {
    max-width: 35px !important;
}

/* Menu com espaçamento*/
.menu-spacing {
    margin-top: 2.25rem !important;
}

/* Espaço para logo do rodapé não sobrepor menu */
.nav-sidebar {
    padding-bottom: 120px !important;
    margin-top: 3rem !important;
}

/* Responsive - ajustes mobile */
@media (max-width: 991.98px) {
    .sidebar-dark-primary {
        background-color: #1346ED !important;
    }
}

/* Animação suave ao expandir/recolher */
.sidebar {
    transition: margin-left 0.3s ease-in-out, width 0.3s ease-in-out;
}

/* Avatar quando sidebar recolhida */
.sidebar-mini.sidebar-collapse .user-panel {
    padding: 0.5rem !important;
}

.sidebar-mini.sidebar-collapse .user-panel .image img {
    width: 40px !important;
    height: 40px !important;
    border: 2px solid #ffffff;
    object-fit: cover;
    object-position: center;
}

.sidebar-mini.sidebar-collapse .user-panel .info {
    display: none;
}

/* Hover effect nos itens */
.sidebar-dark-primary .nav-sidebar .nav-link {
    transition: background-color 0.2s ease;
}

.sidebar-dark-primary .nav-sidebar .nav-link:hover {
    background-color: #0a2a8a !important;
    border-radius: 0.25rem;
}

/* Oculta submenus quando sidebar está recolhida */
.sidebar-mini.sidebar-collapse .nav-treeview {
    display: none !important;
}

/* Remove a seta do submenu quando recolhido */
.sidebar-mini.sidebar-collapse .nav-sidebar > .nav-item.has-treeview > .nav-link .right {
    display: none !important;
}

/* Mantém o item do submenu como item normal quando recolhido */
.sidebar-mini.sidebar-collapse .nav-sidebar > .nav-item.has-treeview.menu-open {
    display: block !important;
}

.sidebar-mini.sidebar-collapse .nav-sidebar > .nav-item.has-treeview.menu-open > .nav-link {
    background-color: transparent !important;
}
