.layout {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;

  .layout-content {
    /* New container for the flex layout */
    display: flex;
    flex: 1; /* Take remaining height */
    overflow: hidden;

    &__left {
      flex: 1 0 200px;
      display: flex;
      height: 100%;
      width: 100%;
      padding: 0 0 8px;
      flex-direction: column;
      align-self: stretch;
      box-sizing: border-box;
      user-select: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      overflow: hidden;
      border-right: 1px solid var(--divider-color);

      .the-logo {
        position: relative;
        flex: 1 0 58px;
        display: flex;
        height: 100%;
        padding: 0 20px;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        align-self: stretch;
        box-sizing: border-box;

        img,
        svg {
          width: 100%;
          height: 100%;
          pointer-events: none;
        }

        .the-newbtn {
          position: absolute;
          right: 10px;
          top: 15px;
          border-radius: 8px;
          padding: 2px 4px;
          transform: scale(0.8);
        }
      }

      .the-menu {
        flex: 1 1 80%;
        overflow-y: auto;
        margin-bottom: 0px;
        padding-top: 4px;
        scrollbar-width: none;

        &::-webkit-scrollbar {
          width: 0;
          height: 0;
        }
      }

      .the-traffic {
        flex: 0 0 60px;

        > div {
          margin: 0 auto;
          padding: 0 20px;
        }
      }
    }

    &__right {
      position: relative;
      flex: 1 1 100%;
      height: 100%;

      .the-bar {
        height: 36px;
        display: flex;
        justify-content: end;
        box-sizing: border-box;
        z-index: 2;

        .the-dragbar {
          margin-top: 5px;
          app-region: drag;
        }
      }

      .the-content {
        position: absolute;
        top: 0;
        left: 0;
        right: 1px;
        bottom: 0px;
      }
    }
  }
}

.linux,
.windows,
.unknown {
  &.layout {
    .the_titlebar {
      width: 100%;
      display: flex;
      justify-content: flex-end;
      padding: 10px;
      box-sizing: border-box;
      height: 36px;
      border-bottom: 1px solid var(--divider-color);

      &-drag-region {
        align-self: stretch;
        flex: 1 1 auto;
      }
    }

    .layout-content__left .the-logo {
      flex: 1 0 58px;
      margin-top: 10px;
      margin-left: 10px;
      padding-top: 5px;
      padding-left: 10px;
      padding-right: 20px;
      padding-bottom: 16px;
    }

    .layout-content__right .the-content {
      top: 5px;
    }
  }
}

.macos {
  &.layout {
    .the_titlebar {
      width: 100%;
      display: flex;
      justify-content: flex-start;
      padding: 10px;
      box-sizing: border-box;
      height: 36px;
      border-bottom: 1px solid var(--divider-color);

      &-drag-region {
        align-self: stretch;
        flex: 1 1 auto;
        order: 1;
      }
    }

    .layout-content__left {
      padding-top: 5px;
    }

    .layout-content__right .the-content {
      top: 5px;
    }

    .layout-content__left .the-newbtn {
      right: 9px;
      top: 2px;
    }
  }
}

.layout.layout--nav-collapsed {
  --layout-nav-collapsed-width: 72px;
  --layout-nav-item-size: 52px;
  --layout-nav-item-radius: 12px;
  --layout-nav-logo-size: 56px;

  .layout-content {
    &__left {
      flex: 0 0 var(--layout-nav-collapsed-width) !important;
      width: var(--layout-nav-collapsed-width) !important;
      min-width: var(--layout-nav-collapsed-width) !important;
      max-width: var(--layout-nav-collapsed-width) !important;
      border-right: none !important;

      .the-traffic {
        display: none !important;
      }

      > .MuiBox-root {
        display: none !important;
      }

      .the-logo {
        flex: 0 0 var(--layout-nav-logo-size) !important;
        height: var(--layout-nav-logo-size) !important;
        margin: 8px 0 4px !important;
        padding: 0 !important;
        align-items: center !important;
        justify-content: center !important;
      }

      .the-logo > div {
        width: 100% !important;
        height: 100% !important;
        align-items: center !important;
        justify-content: center !important;
      }

      .the-logo > div > svg:last-child {
        display: none !important;
      }

      .the-logo .MuiSvgIcon-root {
        margin: 0 !important;
      }

      .the-logo .the-newbtn {
        display: none !important;
      }

      .the-menu {
        width: var(--layout-nav-collapsed-width) !important;
        overflow-x: hidden;

        scrollbar-width: none;
        &::-webkit-scrollbar {
          width: 0;
          height: 0;
        }

        li:last-child {
          border-bottom: none;
        }

        .MuiListItem-root {
          max-width: 100% !important;
          padding: 0 !important;
        }

        .MuiListItemButton-root {
          justify-content: center !important;
          width: var(--layout-nav-item-size) !important;
          height: var(--layout-nav-item-size) !important;
          min-height: var(--layout-nav-item-size) !important;
          max-width: var(--layout-nav-item-size) !important;
          flex: 0 0 var(--layout-nav-item-size) !important;
          flex-grow: 0 !important;
          flex-shrink: 0 !important;
          margin: 6px auto !important;
          padding: 0 !important;
          border-radius: var(--layout-nav-item-radius) !important;
        }

        .MuiListItemIcon-root {
          min-width: auto !important;
          margin: 0 !important;
          margin-left: 0 !important;
          display: flex !important;
          align-items: center !important;
          justify-content: center !important;
        }

        .MuiListItemText-root {
          display: none !important;
        }
      }
    }
  }
}
