.@{prefixCls}-layout {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;

  .@{ant-prefix}-modal-body & {
    margin: -@padding-md;
    background: transparent;
  }

  &-header {
    padding: @padding-md @padding-md 0;
  }

  &-body {
    flex: 1;
    min-height: 0;
  }

  &-tabs {
    .fullTabs();

    & > .@{ant-prefix}-tabs-nav {
      margin: @padding-md @padding-md 0 @padding-md;
    }
  }

  &-tabs-wrapper &-header {
    padding-bottom: 12px;
  }

  &-content {
    display: flex;
    height: 100%;
  }

  &-left {
    position: relative;

    &:not(&-resizing) {
      transition: width 0.2s;
    }

    &-body {
      height: 100%;
      overflow-x: hidden;
    }

    &-content {
      position: relative;
      display: flex;
      flex-direction: column;
      height: 100%;
    }

    &-resizable {
      position: absolute;
      top: 0;
      right: -8px;
      box-sizing: border-box;
      width: 17px;
      height: 100%;
      padding: 0 8px;
      background-color: @border-color-split;
      background-clip: content-box;
      cursor: col-resize;
    }

    &-collapse {
      position: absolute;
      top: @padding-md;
      right: 0;
      z-index: 100;
      box-sizing: border-box;
      width: @padding-md;
      height: @input-height-base;
      font-size: 14px;
      line-height: @input-height-base;
      text-align: center;
      text-decoration: underline overline;
      background-color: #fff;
      border: 1px solid #e6e6e6;
      border-right: none;
      border-top-left-radius: 4px;
      border-bottom-left-radius: 4px;
      transform-origin: 100% 50%;
      cursor: pointer;
      transition: transform 0.3s;

      &:hover {
        color: @primary-color;
      }
    }

    &-collapsed &-collapse {
      transform: rotateY(180deg);
    }

    &-collapsed &-resizable {
      display: none;
    }
  }

  &-main {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    overflow: auto;

    .scrollBar();
  }

  &-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 44px;
    padding: 0 @padding-md;
    background: #fff;
    box-shadow: inset 0 1px 0 0 #dfdfdf;
  }

  &-spin {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.5);
  }

  &-main > & {
    flex: 1;
    min-height: 0;
    background-color: transparent;
  }

  .@{prefixCls}-section + &&-tabs-wrapper {
    margin-top: -@padding-md;
  }

  .@{prefixCls}-section + &:not(&-tabs-wrapper),
  .@{prefixCls}-section + &&-tabs-hide-tab-bar {
    margin-top: -@padding-md;
  }

  & + .@{prefixCls}-section {
    padding-top: 0;
  }
}
