aside {
    display: flex;
    flex-direction: column;
    width: 20%;
    height: 100%;
    border-right: 2px solid var(--cinza-borda);
    background-color: #fff;

    & .logo {
        display: flex;
        align-items: center;
        gap: .5rem;
        padding: 1rem;
        border-bottom: 2px solid var(--cinza-borda);

        & i {
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            background: var(--azul-degrade);
            padding: 1rem;
            color: #fff;
            border-radius: 1rem;
            height: 3rem;
            width: 3rem;
        }

        & #titulo {
            font-weight: bold;
        }
    }

    & nav {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        padding: 1rem;
        height: 100%;

        & .topo {
            display: flex;
            flex-direction: column;
            gap: .5rem;
            width: 100%;

            & a {
                display: flex;
                align-items: center;
                gap: .5rem;
                text-decoration: none;
                color: #000;
                width: 100%;
                padding: .5rem 1rem;
                border-radius: .5rem;

                &:hover {
                    background-color: #e6e6e6;
                }

                &.atual {
                    color: var(--azul);
                    background-color: var(--azul-opaco);
                }
            }
        }

        & .baixo {
            width: 100%;

            & a {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: .5rem;
                text-decoration: none;
                color: #c1121f;
                width: 100%;
                padding: .5rem 1rem;
                border-radius: .5rem;
                border: 2px solid #7800002c;

                &:hover {
                    color: #95171f;
                }
            }
        }
    }

    #overlay {
        display: none;
    }
}

/* Para celulares (largura máxima de 600px) */
@media screen and (max-width: 600px) {
    aside {
        position: fixed;
        right: -100%;
        top: 0;
        width: 80%;
        transition: .3s ease all;
        z-index: 1000;

        &.ativo {
            right: 0;
        }
    }
}