.flex-container {
  display: flex;
  width: 100%;

  .tree-area {
    flex: 0 0 200px;
    overflow: auto;
  }

  .list-area {
    flex: 1;
    overflow: auto;
    margin-left: 20px;
  }
}

.el-tree {
  span.custom-tree-node {
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

.el-form-item {
  display: flex;
  align-items: center;

  .el-form-item__label {
    display: flex;
    height: auto !important;
    line-height: 1.2em !important;
    word-wrap: break-word !important;
    word-break: normal;
    white-space: normal;

    &:empty {
      display: none;
    }

    &:has(> div[style*=left]) {
      justify-content: flex-start;
    }

    &:has(> div[style*=center]) {
      justify-content: center;
    }

    &:has(> div[style*=right]) {
      justify-content: flex-end;
    }
  }

  @media (max-width: 450px) {
    & {
      flex-direction: column;
      justify-content: inherit;
      align-items: inherit;
      gap: 5px;

      .el-form-item__label {
        width: 100% !important;
        justify-content: flex-start;
        text-align: left;
      }
    }
  }
}

.three-column-layout {
  height: calc(100vh - (var(--app-main-padding, 15px) * 2));

  .el-container {
    gap: var(--app-main-padding, 15px);

    .operation-area {
      margin-bottom: 0;
    }
  }

  .el-aside {
    padding: var(--app-main-padding, 15px);
    background-color: #FFFFFF;
    box-shadow: 0px 1px 8px 0px #00000019;
    border-radius: 6px;

    &>.el-tree {
      width: 100%;
    }

  }

  .el-main {
    padding: var(--app-main-padding, 15px);
    border-radius: 6px;
    background: #FFFFFF;
    box-shadow: 0px 1px 8px 0px #00000019;
  }
}

[overflow-wrap] {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

[flex-auto] {
  flex: 1 1 auto;
}

[table-column-placeholder] {
  color: var(--el-text-color-placeholder, #a8abb2);
}

.yx-flex-wrap {
  display: flex;
  justify-content: flex-start;

  &[vertical] {
    flex-direction: column;
  }

  &[justify='space-between'] {
    justify-content: space-between;
  }

  &[align='center'] {
    align-items: center;
  }

  &[wrap] {
    flex-wrap: wrap;
  }
}

.el-descriptions {
  &[layout='form'] {
    .el-descriptions__cell {
      display: flex;
      gap: 10px;

      .el-descriptions__label {
        margin: 0;
        max-width: 40%;
        flex: 0 0 auto;
      }

      .el-descriptions__content {
        flex: 1 1 auto;
        word-wrap: break-word;
        overflow-wrap: break-word;

        .ellipsis {
          word-wrap: break-word !important;
          overflow-wrap: break-word !important;
          width: auto !important;
          white-space: inherit !important;
        }
      }

      @media (max-width: 450px) {
        & {
          flex-direction: column;
        }

        .el-descriptions__label {
          width: 100% !important;
          max-width: 100%;
        }
      }
    }
  }
}

.yx-card-main {
  &.is-checked {
    border-color: #409eff;
    background-color: #ecf5ff;
  }

  &[header-padding] {
    &>.el-card__header {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: stretch;
      padding: 0 !important;
      overflow: hidden;
      min-height: 50px;

      @media (max-width: 450px) {
        min-height: 40px;
      }

      &>.yx-flex-wrap {
        gap: 10px;
        height: 100%;
        padding: 5px var(--el-card-padding);
      }
    }
  }

  &[body-padding] {
    &>.el-card__body {
      padding: 0 !important;
    }
  }

  .el-card__header {

    &>.yx-flex-wrap {
      flex: 1 1 auto;

      [layout-title] {
        max-width: calc(100% - 40px);

        a,
        div,
        span {
          display: block !important;
        }

        .ellipsis {
          width: auto !important;
          text-align: left !important;
        }
      }
    }
  }

  .yx-card-body {
    padding: var(--el-card-padding);
    background-color: var(--el-fill-color-blank);
  }

  @media (max-width: 450px) {
    &[header-padding] {
      &>.el-card__header {
        &>.yx-flex-wrap {
          padding: 5px 10px;
        }
      }
    }

    &>.el-card__footer {
      padding: 5px 10px;
    }

    .yx-card-body {
      padding: 10px;
    }
  }
}

[scrollable-main] {
  position: relative;

  &:has(.el-scrollbar__wrap:has(::-webkit-scrollbar-thumb:vertical)):not(:has(.el-scrollbar__wrap:has(:first-child:has(+ *))))::before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 10px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0));
    pointer-events: none;
  }

  /* 底部阴影 */
  &:has(.el-scrollbar__wrap:has(::-webkit-scrollbar-thumb:vertical)):not(:has(.el-scrollbar__wrap:has(:last-child:has(+ *))))::after {
    content: " ";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 10px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0));
    pointer-events: none;
  }
}

[loading-rotate] {
  animation: loading-rotate 2s linear infinite;
}

@keyframes loading-rotate {
  to {
    transform: rotate(360deg)
  }
}

.el-form-item {
  &[class*='el-col-'] {
    display: flex;
  }

  @media (max-width: 450px) {
    & {
      flex-direction: column;
      align-items: stretch !important;
      gap: 5px;
    }

    &>.el-form-item__label {
      width: 100% !important;
      max-width: none !important;
      justify-content: flex-start;
      text-align: left;
    }
  }
}

.isHideTable {
  opacity: 0 !important;
  z-index: -99 !important;
  width: 0px !important;
  height: 0px !important;
  overflow: hidden !important;
}

.xs-hidden-opacity-only {
  @media (max-width: 768px) {
    opacity: 0 !important;
    z-index: -99 !important;
    width: 0px !important;
    height: 0px !important;
    overflow: hidden !important;
  }
}

.yx-drawer {
  .el-drawer {
    .el-drawer__header {
      padding: var(--el-drawer-padding-primary);
      margin: 0;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: var(--el-drawer-padding-primary);
    }

    .el-drawer__body {
      &>.yx-flex-wrap {
        height: 100%;

      }

      &>.el-scrollbar {
        height: 100%;
      }
    }
  }

  &.yx-scrollbar-body {
    .el-drawer__body {
      padding: 0;

      &>.el-scrollbar {
        &>.el-scrollbar__wrap {
          &>.el-scrollbar__view {
            padding: var(--el-drawer-padding-primary);
          }
        }
      }
    }
  }
}

.el-dialog {
  @media (max-width: 768px) {
    &[layout-mobile='bottom'] {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      margin: 0;
    }
  }
}

.el-descriptions {
  .el-descriptions__content {
    position: relative;
  }
}

.el-input {
  &.el-input-group {
    &>.el-input-group__append {
      &>.group-link-btn-main {
        margin: 0 -12px;
        display: flex;
        gap: 10px;
      }
    }
  }
}

// 初始字体默认继承
.amb-iconfont,
.amb-color-iconfont {
  font-size: inherit !important;
}

.main-container {
  &>.nav-tab {
    padding: 0 !important;
  }
}