body {
    background-color: #101a2a;
    color: #e0e6ed;
}

.bg-darkblue {
    background-color: #14213d !important;
}

.sidebar {
    min-width: 220px;
    max-width: 220px;
    min-height: 100vh;
    box-shadow: 2px 0 8px rgba(0,0,0,0.1);
    transition: all 0.3s;
    position: relative;
}

.sidebar.collapsed {
    min-width: 60px;
    max-width: 60px;
    overflow-x: hidden;
}

.sidebar.collapsed .sidebar-heading,
.sidebar.collapsed .list-group-item span {
    display: none;
}

.sidebar-heading {
    font-size: 1.4rem;
    padding: 1.5rem 1rem 1rem 1.5rem;
    background: #1a2540;
    border-bottom: 1px solid #1f2a48;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    position: relative;
    height: 64px; /* altura fixa para centralizar verticalmente */
}

.sidebar.collapsed .sidebar-heading {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
}

.sidebar-title {
    transition: opacity 0.3s, width 0.3s;
    white-space: nowrap;
    overflow: hidden;
}

.sidebar.collapsed .sidebar-title {
    opacity: 0;
    width: 0;
    padding: 0;
}

.list-group-item.bg-darkblue {
    background-color: #14213d !important;
    color: #e0e6ed !important;
    border: none;
    transition: background 0.2s, color 0.2s;
}

.list-group-item.bg-darkblue:hover, .list-group-item.bg-darkblue.active {
    background-color: #1a2540 !important;
    color: #fca311 !important;
}

#wrapper {
    min-height: 100vh;
    display: flex;
}

#page-content-wrapper {
    width: 100%;
    padding: 2rem 2.5rem;
    background: #101a2a;
    min-height: 100vh;
    transition: margin-left 0.3s;
}

.sidebar-collapsed #page-content-wrapper {
    margin-left: -160px;
}

.page-content h2 {
    color: #fca311;
}

.footer {
    background: #14213d;
    color: #e0e6ed;
    border-top: 1px solid #1f2a48;
}

.btn-sidebar-toggle {
    background: transparent;
    border: none;
    color: #e0e6ed;
    z-index: 1100;
    font-size: 1.2rem;
    opacity: 0.6;
    transition: opacity 0.2s, background 0.2s;
    margin-left: auto;
    position: static;
    left: auto;
    top: auto;
    transform: none;
}

.sidebar.collapsed .btn-sidebar-toggle {
    margin-left: 0;
    /* Centraliza absolutamente o botão */
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.btn-sidebar-toggle:hover, .btn-sidebar-toggle:focus {
    opacity: 1;
    background: #1a2540;
    color: #fca311;
}
