
nav {
    @apply w-48 h-screen bg-gray-800 flex flex-col justify-between shadow;
    transition: width 0.3s;

    svg {
        @apply fill-current text-gray-300 w-12 p-2;
        transition: color 0.3s;

        &:hover {
            @apply text-white;
        }
    }

    .logo {
        @apply block;

        svg {
            @apply w-40 m-2;
            transition: width 0.3s, color 0.3s;
        }
    }

    .nav-item {
        @apply flex items-center text-gray-100;
        transition: background-color 0.3s;

        span {
            @apply font-bold text-xl ml-2 overflow-hidden truncate;
            transition: width 0.3s;

            &:hover {
                @apply text-white;
            }
        }

        &:hover {
            @apply bg-gray-900;

            span,
            svg {
                @apply text-white;
            }
        }
    }

    .nav-toggle svg {
        transition: transform 0.3s;
    }
}

nav.small {
    @apply w-16;

    .logo {
        @apply w-16 p-0;

        svg {
            @apply w-16 m-0;
        }
    }

    .nav-item span {
        @apply w-0;
    }

    .nav-toggle svg {
        transform: rotate(-180deg);
    }
}

.app {
    //min-width: 100%;
    width: initial;
}
