.app-page {
    display: flex;
    height: 100%;

    &__sidebar {
        height: 100%;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    &__wrapper {
        flex: 1;
        display: flex;
        flex-direction: column;
        background-color: #e7ebed;
        overflow: hidden;
    }

    &__wrapper &__header {
        background-color: #fff;

        .icon-fold-expand {
            margin-right: 10px;

            [class^='g-icon']::before {
                font-size: 20px;
                cursor: pointer;
            }

            .g-icon--expand::before {
                content: var(--icon-expand);
            }

            .g-icon--fold::before {
                content: var(--icon-fold);
            }
        }
    }

    &__wrapper &__main {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    &__wrapper &__main &__navbar {
        z-index: 3;
        background-color: #fff;
        box-shadow: 0 2px 16px 0 rgba(0, 0, 0, .1);
    }

    &__wrapper &__main &__container {
        flex: 1;
        overflow-x: hidden;
        overflow-y: auto;
    }

    /* teleport 为空时隐藏元素 */
    &__wrapper &__teleport:empty {
        display: none;
    }

    /* teleport 非空时隐藏兄弟元素 */
    &__wrapper &__teleport:not(:empty)+&__container {
        display: none;
    }

    .view-enter-from,
    .view-leave-to {
        transform: translateX(20px);
        opacity: 0;
    }

    .view-enter-active,
    .view-leave-active {
        pointer-events: none;
        will-change: opacity, transform;
        transition: opacity 200ms, transform 200ms;
    }
}