body {
    display: flex;
    overflow-x: hidden; /* Prevenir scroll horizontal causado pela sidebar */
}

#sidebar {
    min-width: 280px;
    max-width: 280px;
    background: #343a40; /* bg-dark */
    color: #fff;
    transition: all 0.3s;
    height: 100vh; /* Altura total da viewport */
    position: fixed; /* Fica fixa na tela */
    top: 0;
    left: 0;
    z-index: 1030; /* Acima do conteúdo normal, mas abaixo de modais bootstrap se necessário */
    overflow-y: auto; /* Scroll na sidebar se o conteúdo for maior */
}

#sidebar.collapsed {
    margin-left: -280px;
}

#content-wrapper {
    width: 100%;
    padding-left: 280px; /* Espaço para a sidebar */
    transition: all 0.3s;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

#content-wrapper.collapsed {
    padding-left: 0;
}

.main-content {
    flex-grow: 1; /* Faz o conteúdo principal ocupar o espaço disponível */
}

#sidebar-toggle-button {
    position: fixed;
    top: 10px;
    left: 10px; /* Posição inicial quando a sidebar está visível */
    z-index: 1031; /* Acima da sidebar */
    background-color: #343a40;
    color: white;
    border: none;
    padding: 0.375rem 0.75rem;
    font-size: 1.25rem;
    border-radius: 0.25rem;
}

#sidebar.collapsed + #content-wrapper #sidebar-toggle-button {
    /* Estilo do botão quando a sidebar está recolhida não é mais necessário aqui, pois ele está fora da content-wrapper */
}

/* Ajustes no navbar original para se adequar à sidebar */
#sidebar .navbar-brand {
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: 1.5rem;
    display: block; /* Para ocupar a largura e centralizar se necessário */
    text-align: center;
}

#sidebar .navbar-nav {
    flex-direction: column !important; /* Empilhar itens verticalmente */
    width: 100%;
}

#sidebar .nav-item {
    width: 100%;
}

#sidebar .nav-link {
    padding: 0.75rem 1.5rem; /* Mais padding para toque */
    color: rgba(255, 255, 255, 0.75);
}

#sidebar .nav-link:hover, #sidebar .nav-link.active {
    color: #fff;
    background-color: #495057;
}

#sidebar .dropdown-menu {
    position: static !important; /* Evitar que o dropdown flutue para fora */
    width: 100%;
    background-color: #343a40; /* Mesmo fundo da sidebar */
    border: none;
}
#sidebar .dropdown-item {
    padding-left: 2.5rem; /* Indentação para itens do dropdown */
    color: rgba(255, 255, 255, 0.75);
}
#sidebar .dropdown-item:hover {
    color: #fff;
    background-color: #495057;
}
#sidebar .navbar-toggler { /* Ocultar o toggler original do navbar */
    display: none;
}
/* User info no final da sidebar */
#sidebar .user-info-section {
    margin-top: auto; /* Empurra para o final se a sidebar tiver altura fixa e display flex */
    padding: 1rem;
    border-top: 1px solid #495057; /* Separador */
} 