/**
 * Created by zJiong on 2022-06-20
 */
/**
 * @todo: 使用flex实现水平垂直居中
 * @param: {[string]} @justify [center] 水平对齐方向,[false] 水平方向不设置
 * @param: {[string]} @align   [center] 垂直对齐方向,[false] 垂直方向不设置
 * @example: 
 *  .center {
 *      .box-center(justify, align);
 *  }
 */
/**
 * @todo: 使用translate实现水平垂直居中
 * @param {String} @direction [both] - 水平垂直,其它值`horizontal`和`vertical`
 * @example: 
 *  .center {
 *      .box-center();
 *  }
 */
/**
 * Created by zJiong on 2022-06-20
 */
/**
 * @todo: 控制文字行数溢出...
 * @param  {number} $lines [1] - 默认一行对于点点点结束
 * @param  {number} $substract  [0] - 默认宽度为100% - 0
 * @example: 
 *  .container {
 *      .ellipsis(3);
 *  }
 */
/**
 * @todo: 等比例设置大小
 * @param: real_width 表示实际宽度值，此时前两个参数只是用来计算宽高比
 */
/**
 * @todo: 等比例设置大小
 * @param: container_width 可选。表示容器的宽高比
 * @param: container_height 可选。表示容器的宽高比，该方法使用宽度在容器中所占的百分比来计算元素高度在容器中的百分比
 */
/**
 * @todo: 设置相对大小
 * @param: @width, @height 表示绝对宽高度（一般为设计图上该元素的像素宽高）
 * @param: @base_width 表示基础宽度（一般为设计图的像素宽）
 * @descript: 宽高会按基础宽度换算为等比例的百分比（这里的高度使用的是padding-top）
 */
.clearfix::before {
  display: table;
  content: '';
}
.clearfix::after {
  display: table;
  clear: both;
  content: '';
}
.flex-column {
  display: flex;
  flex-direction: column;
}
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.scrollbars-none {
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none;
}
.scrollbars-none::-webkit-scrollbar {
  display: none;
  /* Chrome Safari */
}
.scrollbars-has {
  -ms-overflow-style: unset;
  overflow: auto;
}
.scrollbars-has::-webkit-scrollbar {
  display: unset;
  /* Chrome Safari */
}
.border-and-box-shadow-highlight {
  border: 1px solid #1890ff;
  box-shadow: 1px 1px 4px 1px rgba(24, 144, 255, 0.2), -1px -1px 4px 1px rgba(24, 144, 255, 0.2);
}
.fillForm-detailModal {
  overflow: hidden;
}
.fillForm-detailModal .ant-row {
  border-right: 1px solid #DFDFDF;
  border-bottom: 1px solid #DFDFDF;
}
.fillForm-detailModal .form-item {
  display: flex;
  background: #fff;
  border-top: 1px solid #DFDFDF;
  border-left: 1px solid #DFDFDF;
  border-radius: 0;
  position: relative;
}
.fillForm-detailModal .item-label {
  background: #F5F7FB;
  border-right: 1px solid #DFDFDF;
  color: #666;
  width: 120px;
  text-align: right;
  padding: 7px 8px;
  font-size: 14px;
  line-height: 20px;
  flex-shrink: 0;
}
.fillForm-detailModal .item-value {
  padding: 7px 8px;
  font-size: 14px;
  line-height: 20px;
  word-break: break-all;
}
.fillForm-detailModal .link-info {
  display: flex;
  margin-top: 20px;
}
.fillForm-detailModal .link-info .qrcode,
.fillForm-detailModal .link-info .url-info {
  display: flex;
  flex-direction: column;
}
.fillForm-detailModal .link-info .qrcode .ant-btn-link,
.fillForm-detailModal .link-info .url-info .ant-btn-link {
  padding: 0;
  margin-top: auto;
  text-align: left;
}
.fillForm-detailModal .link-info .qrcode {
  width: 300px;
}
.fillForm-detailModal .link-info .url-info {
  flex: 1 1;
}
.fillForm-detailModal .modal-header-btns {
  position: absolute;
  top: 10px;
  right: 15px;
}
.fillForm-detailModal .modal-header-btns .ant-btn {
  margin-left: 5px;
}
.fillForm-detailModal .ant-modal-body {
  overflow: hidden;
  display: flex;
  min-height: 450px;
  overflow-y: auto;
}
.fillForm-detailModal .ant-modal-body .ant-tabs {
  flex: 1 1;
  width: 100%;
}
.fillForm-detailModal .ant-modal-body .ant-tabs .ant-tabs-nav-list {
  max-width: 200px;
}
.fillForm-detailModal .ant-modal-body .ant-tabs .ant-tabs-nav-list .ant-tabs-tab {
  padding: 8px;
}
.fillForm-detailModal .ant-modal-body .ant-tabs .ant-tabs-nav-list .ant-tabs-tab-btn {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fillForm-detailModal .ant-modal-body .ant-tabs .ant-tabs-content {
  height: 100%;
  overflow: auto;
}

/**
 * Created by zJiong on 2022-06-20
 */
/**
 * @todo: 使用flex实现水平垂直居中
 * @param: {[string]} @justify [center] 水平对齐方向,[false] 水平方向不设置
 * @param: {[string]} @align   [center] 垂直对齐方向,[false] 垂直方向不设置
 * @example: 
 *  .center {
 *      .box-center(justify, align);
 *  }
 */
/**
 * @todo: 使用translate实现水平垂直居中
 * @param {String} @direction [both] - 水平垂直,其它值`horizontal`和`vertical`
 * @example: 
 *  .center {
 *      .box-center();
 *  }
 */
/**
 * Created by zJiong on 2022-06-20
 */
/**
 * @todo: 控制文字行数溢出...
 * @param  {number} $lines [1] - 默认一行对于点点点结束
 * @param  {number} $substract  [0] - 默认宽度为100% - 0
 * @example: 
 *  .container {
 *      .ellipsis(3);
 *  }
 */
/**
 * @todo: 等比例设置大小
 * @param: real_width 表示实际宽度值，此时前两个参数只是用来计算宽高比
 */
/**
 * @todo: 等比例设置大小
 * @param: container_width 可选。表示容器的宽高比
 * @param: container_height 可选。表示容器的宽高比，该方法使用宽度在容器中所占的百分比来计算元素高度在容器中的百分比
 */
/**
 * @todo: 设置相对大小
 * @param: @width, @height 表示绝对宽高度（一般为设计图上该元素的像素宽高）
 * @param: @base_width 表示基础宽度（一般为设计图的像素宽）
 * @descript: 宽高会按基础宽度换算为等比例的百分比（这里的高度使用的是padding-top）
 */
.clearfix::before {
  display: table;
  content: '';
}
.clearfix::after {
  display: table;
  clear: both;
  content: '';
}
.flex-column {
  display: flex;
  flex-direction: column;
}
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.scrollbars-none {
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none;
}
.scrollbars-none::-webkit-scrollbar {
  display: none;
  /* Chrome Safari */
}
.scrollbars-has {
  -ms-overflow-style: unset;
  overflow: auto;
}
.scrollbars-has::-webkit-scrollbar {
  display: unset;
  /* Chrome Safari */
}
.border-and-box-shadow-highlight {
  border: 1px solid #1890ff;
  box-shadow: 1px 1px 4px 1px rgba(24, 144, 255, 0.2), -1px -1px 4px 1px rgba(24, 144, 255, 0.2);
}
.import-banks-modal .ant-modal-content .ant-modal-body {
  height: calc(100vh - 168px);
  padding-top: 12px;
}
.import-banks-modal.multiTab-modal .ant-modal-content .ant-modal-body {
  height: calc(100vh - 218px);
}
.import-banks-content .ant-spin-container {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.import-banks-content .ant-spin-container .import-banks-form {
  margin-bottom: 12px;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-title {
  margin-bottom: 8px;
  height: 18px;
  font-weight: 400;
  font-size: 13px;
  color: #222222;
  line-height: 18px;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-title.require::after {
  content: '*';
  margin-left: 2px;
  color: #f5222d;
  font-weight: 500;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content {
  display: flex;
  gap: 12px;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item {
  flex: 1 1;
  max-width: 50%;
  position: relative;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .form-content-item-tuijian {
  font-size: 12px;
  color: #fff;
  /* 渐变背景：左下到右上，#FF5F8A 到 #FA6F55 */
  background: linear-gradient(to top right, #FF5F8A, #FA6F55);
  position: absolute;
  top: 0;
  left: 0;
  height: 21px;
  line-height: 21px;
  z-index: 100;
  padding: 0 7px 0 9px;
  border-radius: 4px 0 4px 0;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .form-content-item-tuijian::after {
  content: '';
  position: absolute;
  top: 0;
  right: -4px;
  width: 8px;
  height: 21px;
  border-radius: 0 0 4px 0;
  /* 与主体一致的渐变末端颜色 */
  background: #FA6F55;
  transform: skewX(-15deg);
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .form-content-item-tuijian.disabled {
  background: #D1CDCC;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .form-content-item-tuijian.disabled::after {
  background: #D1CDCC;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item > div {
  width: 100%;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .import-banks-desc {
  text-align: center;
  font-size: 12px;
  color: #999999;
  position: absolute;
  left: 0;
  top: 48px;
  z-index: 200;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .import-banks-desc .import-banks-desc-span {
  background: rgba(253, 100, 101, 0.1);
  border-radius: 2px;
  height: 16px;
  line-height: 16px;
  color: #fd6364;
  padding: 0 1px;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .import-banks-desc.disabled .import-banks-desc-span {
  background: #ececec;
  color: #999999;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger {
  position: relative;
  max-height: 72px !important;
  border-radius: 4px;
  transition: all 0.5s linear;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger:before {
  content: "";
  position: absolute;
  top: -1px;
  /* 调整偏移量以匹配边框宽度 */
  left: -1px;
  right: -1px;
  bottom: -3px;
  z-index: 0;
  border-radius: 4px;
  background: linear-gradient(90deg, #6dbdfe, #ba9cf1, #fb86d3, #ffc094);
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger .ant-upload-btn {
  position: relative;
  border-radius: 4px;
  z-index: 1;
  background: #fff;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger .upload-event-container {
  height: 72px !important;
  transition: all 0.5s linear;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger .upload-event-container .clicked {
  outline-color: transparent !important;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger .upload-event-container .upload-dragger-area {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger .upload-event-container .upload-dragger-area .click-upload {
  display: block;
  height: 30px;
  width: 76px;
  line-height: 30px;
  border-radius: 4px;
  position: relative;
  border: 1px solid transparent !important;
  font-weight: 500;
  color: transparent;
  background: linear-gradient(90deg, #6dbdfe, #ba9cf1, #fb86d3, #ffc094);
  background-clip: text;
  -webkit-background-clip: text;
  -moz-background-clip: text;
  -o-background-clip: text;
  -ms-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-text-fill-color: transparent;
  -o-text-fill-color: transparent;
  -ms-text-fill-color: transparent;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger .upload-event-container .upload-dragger-area .click-upload::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  border-radius: 5px;
  background: #fff;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger .upload-event-container .upload-dragger-area .click-upload:after {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  z-index: -2;
  border-radius: 5px;
  background: linear-gradient(90deg, #6dbdfe, #ba9cf1, #fb86d3, #ffc094);
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger .upload-event-container .upload-dragger-area .copywriting-area {
  font-weight: 500;
  color: transparent;
  background: linear-gradient(90deg, #6dbdfe, #ba9cf1, #fb86d3, #ffc094);
  background-clip: text;
  -webkit-background-clip: text;
  -moz-background-clip: text;
  -o-background-clip: text;
  -ms-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-text-fill-color: transparent;
  -o-text-fill-color: transparent;
  -ms-text-fill-color: transparent;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger .right-click-menu-paste {
  height: 72px !important;
  margin-top: -72px !important;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger.ant-upload-disabled:before {
  background: #A5A5A5;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger.ant-upload-disabled .ant-upload-btn {
  background: #F9F9F9;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger.ant-upload-disabled .upload-event-container .upload-dragger-area {
  display: flex;
  align-items: center;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger.ant-upload-disabled .upload-event-container .upload-dragger-area .click-upload {
  background: #A5A5A5;
  background-clip: text;
  -webkit-background-clip: text;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger.ant-upload-disabled .upload-event-container .upload-dragger-area .click-upload::before {
  background: #F9F9F9;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger.ant-upload-disabled .upload-event-container .upload-dragger-area .click-upload:after {
  background: #A5A5A5;
}
.import-banks-content .ant-spin-container .import-banks-form .import-banks-form-content-item .upload-to-aliyun-dragger.ant-upload-disabled .upload-event-container .upload-dragger-area .copywriting-area {
  background: #A5A5A5;
  background-clip: text;
  -webkit-background-clip: text;
}
.import-banks-content .ant-spin-container .import-banks-content-table {
  flex: 1 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.import-banks-content .ant-spin-container .import-banks-content-table .import-banks-content-table-title {
  font-weight: 600;
  font-size: 14px;
  color: #222222;
  line-height: 20px;
  margin-bottom: 12px;
}
.import-banks-content .ant-spin-container .import-banks-content-table .import-banks-content-table-content {
  flex: 1 1;
  overflow: hidden;
}
.import-banks-content .ant-spin-container .import-banks-content-table .import-banks-content-table-content .smart-table-container {
  height: 100%;
}
.import-banks-content .ant-spin-container .import-banks-content-table .banks-table-title-operate {
  display: flex;
  align-items: center;
}
.import-banks-content .ant-spin-container .import-banks-content-table .banks-table-title-operate .add-operate-title {
  font-size: 10px;
  flex: 1 1;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.import-banks-content .ant-spin-container .import-banks-content-table .banks-table-operate-btn {
  display: flex;
  align-items: center;
  justify-content: center;
}
.import-banks-content .ant-spin-container .import-banks-content-table .banks-table-operate-btn .add-operate-icon {
  flex: 1 1;
  height: 100%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #666;
}
.import-banks-content .ant-spin-container .summary-message {
  display: flex;
  align-items: center;
}
.import-banks-content .ant-spin-container .summary-message .summary-tag {
  color: #FD6364;
  margin: 0 2px;
}
.import-banks-error-modal .modal-text {
  width: 100%;
}
.import-banks-error-modal .banks-error-content {
  max-height: 600px;
  overflow: auto;
}
.import-banks-error-modal .banks-error-content .banks-error-list {
  margin-top: 12px;
}
.import-banks-error-modal .banks-error-content .banks-error-list .banks-error-item {
  padding: 8px 15px;
  margin-bottom: 6px;
}

/**
 * Created by zJiong on 2022-06-20
 */
/**
 * @todo: 使用flex实现水平垂直居中
 * @param: {[string]} @justify [center] 水平对齐方向,[false] 水平方向不设置
 * @param: {[string]} @align   [center] 垂直对齐方向,[false] 垂直方向不设置
 * @example: 
 *  .center {
 *      .box-center(justify, align);
 *  }
 */
/**
 * @todo: 使用translate实现水平垂直居中
 * @param {String} @direction [both] - 水平垂直,其它值`horizontal`和`vertical`
 * @example: 
 *  .center {
 *      .box-center();
 *  }
 */
/**
 * Created by zJiong on 2022-06-20
 */
/**
 * @todo: 控制文字行数溢出...
 * @param  {number} $lines [1] - 默认一行对于点点点结束
 * @param  {number} $substract  [0] - 默认宽度为100% - 0
 * @example: 
 *  .container {
 *      .ellipsis(3);
 *  }
 */
/**
 * @todo: 等比例设置大小
 * @param: real_width 表示实际宽度值，此时前两个参数只是用来计算宽高比
 */
/**
 * @todo: 等比例设置大小
 * @param: container_width 可选。表示容器的宽高比
 * @param: container_height 可选。表示容器的宽高比，该方法使用宽度在容器中所占的百分比来计算元素高度在容器中的百分比
 */
/**
 * @todo: 设置相对大小
 * @param: @width, @height 表示绝对宽高度（一般为设计图上该元素的像素宽高）
 * @param: @base_width 表示基础宽度（一般为设计图的像素宽）
 * @descript: 宽高会按基础宽度换算为等比例的百分比（这里的高度使用的是padding-top）
 */
.clearfix::before {
  display: table;
  content: '';
}
.clearfix::after {
  display: table;
  clear: both;
  content: '';
}
.flex-column {
  display: flex;
  flex-direction: column;
}
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.scrollbars-none {
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none;
}
.scrollbars-none::-webkit-scrollbar {
  display: none;
  /* Chrome Safari */
}
.scrollbars-has {
  -ms-overflow-style: unset;
  overflow: auto;
}
.scrollbars-has::-webkit-scrollbar {
  display: unset;
  /* Chrome Safari */
}
.border-and-box-shadow-highlight {
  border: 1px solid #1890ff;
  box-shadow: 1px 1px 4px 1px rgba(24, 144, 255, 0.2), -1px -1px 4px 1px rgba(24, 144, 255, 0.2);
}
.ai-enter-modal .ant-modal .ant-modal-content .ant-modal-body {
  max-height: calc(100vh - 310px) !important;
}
.ai-enter-modal .header-text {
  font-size: 14px;
  color: rgba(34, 34, 34, 0.8);
  background: #FFF7EB;
  line-height: 20px;
  padding: 8px 15px;
  border-radius: 4px;
}
.ai-enter-modal .field-name {
  font-size: 14px;
  color: rgba(34, 34, 34, 0.8);
  margin: 12px;
  font-weight: 600;
}
.ai-enter-modal .field-name .error-info {
  color: #FEAC06;
  font-weight: 400;
}
.ai-enter-modal .field-name .error-info .icon-e6e5 {
  margin-right: 5px;
}
.ai-enter-modal .upload-to-aliyun-dragger {
  position: relative;
  max-height: 140px !important;
  border-radius: 8px;
  transition: all 0.5s linear;
}
.ai-enter-modal .upload-to-aliyun-dragger:before {
  content: "";
  position: absolute;
  top: -2px;
  /* 调整偏移量以匹配边框宽度 */
  left: -2px;
  right: -2px;
  bottom: -4px;
  z-index: 0;
  border-radius: 8px;
  background: linear-gradient(90deg, #FE8D75 0%, #FF74CE 54%, #BD7DFF 100%);
}
.ai-enter-modal .upload-to-aliyun-dragger .ant-upload-btn {
  position: relative;
  border-radius: 8px;
  z-index: 1;
  background: #fff;
}
.ai-enter-modal .upload-to-aliyun-dragger .upload-event-container {
  height: 140px !important;
  transition: all 0.5s linear;
}
.ai-enter-modal .upload-to-aliyun-dragger .upload-event-container .clicked {
  outline-color: transparent !important;
}
.ai-enter-modal .upload-to-aliyun-dragger .upload-event-container .upload-dragger-area {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}
.ai-enter-modal .upload-to-aliyun-dragger .upload-event-container .upload-dragger-area .click-upload {
  display: block;
  height: 30px;
  width: 150px;
  line-height: 30px;
  border-radius: 5px;
  border: 1px solid #D9D9D9;
  position: relative;
  margin-bottom: 2px;
  margin-right: 0;
}
.ai-enter-modal .upload-to-aliyun-dragger .upload-event-container .upload-dragger-area .click-upload:before {
  content: "";
  position: absolute;
  top: 0;
  /* 调整偏移量以匹配边框宽度 */
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  border-radius: 5px;
  background: #fff;
}
.ai-enter-modal .upload-to-aliyun-dragger .upload-event-container .upload-dragger-area .copywriting-area {
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  margin-bottom: 15px;
  color: #999999;
}
.ai-enter-modal .upload-to-aliyun-dragger .upload-event-container .upload-dragger-area .copywriting-area .right-click-title-menu-paste {
  bottom: -15px;
}
.ai-enter-modal .upload-to-aliyun-dragger .right-click-menu-paste {
  height: 140px !important;
  margin-top: -140px !important;
}
.ai-enter-modal .upload-to-aliyun-dragger:hover .upload-event-container .click-upload {
  color: rgba(34, 34, 34, 0.8) !important;
  border: 1px solid transparent !important;
}
.ai-enter-modal .upload-to-aliyun-dragger:hover .upload-event-container .click-upload:after {
  content: "";
  position: absolute;
  top: -1px;
  /* 调整偏移量以匹配边框宽度 */
  left: -1px;
  right: -1px;
  bottom: -1px;
  z-index: -2;
  border-radius: 5px;
  background: linear-gradient(90deg, #FE8D75 0%, #FF74CE 54%, #BD7DFF 100%);
}
.ai-enter-modal .upload-to-aliyun-dragger:hover .upload-event-container .copywriting-area {
  font-weight: 500;
  color: transparent;
  background: linear-gradient(135deg, #FE8D75 0%, #FF74CE 54%, #BD7DFF 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -moz-background-clip: text;
  -o-background-clip: text;
  -ms-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-text-fill-color: transparent;
  -o-text-fill-color: transparent;
  -ms-text-fill-color: transparent;
}
.ai-enter-modal .upload-to-aliyun-dragger:hover {
  background-color: transparent !important;
}
.ai-enter-modal .ant-upload-drag-container:focus-within {
  outline-color: transparent !important;
}
.ai-enter-modal .disabled-model {
  width: 100%;
  height: 140px;
  cursor: not-allowed;
  position: relative;
  border-radius: 8px;
  transition: all 0.5s linear;
  z-index: 1;
}
.ai-enter-modal .disabled-model:before {
  content: "";
  position: absolute;
  top: -2px;
  /* 调整偏移量以匹配边框宽度 */
  left: -2px;
  right: -2px;
  bottom: -2px;
  z-index: -1;
  border-radius: 8px;
  background: linear-gradient(90deg, #6dbdfe, #ba9cf1, #fb86d3, #ffc094);
}
.ai-enter-modal .disabled-model .model {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  flex-direction: column;
}
.ai-enter-modal .disabled-model .model .model-text {
  color: #FD6364;
  font-weight: 500;
  font-size: 14px;
  margin-bottom: 15px;
}
.ai-enter-modal .disabled-model .model .model-btn {
  display: block;
  height: 30px;
  width: 73px;
  line-height: 30px;
  border-radius: 5px;
  border: 1px solid #D9D9D9;
  text-align: center;
  color: #666666;
}
.ai-enter-modal .react-draggable-modal .ant-modal-footer .ant-btn[disabled],
.ai-enter-modal .react-draggable-modal .ant-modal-footer .ant-btn[disabled]:hover,
.ai-enter-modal .react-draggable-modal .ant-modal-footer .ant-btn[disabled]:focus,
.ai-enter-modal .react-draggable-modal .ant-modal-footer .ant-btn[disabled]:active {
  border-color: #f9acac;
  background: #f9acac;
}
.parsing-file {
  z-index: 3000;
  position: relative;
}
.parsing-file .parsing-mask {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3000;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.45);
}
.parsing-file .parsing-wrap {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  outline: 0;
  margin: auto;
  overflow: hidden;
  z-index: 3000;
  width: 720px;
  height: 415px;
  background: url(../../static/media/parsing-file-bg.4ccdba883214070589d3.png);
  background-size: contain;
}
.parsing-file .parsing-wrap .parsing-header {
  display: flex;
  height: 38px;
}
.parsing-file .parsing-wrap .parsing-header .error-info {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ec2021;
  width: 720px;
  font-size: 14px;
  margin-top: 18px;
  line-height: 20px;
}
.parsing-file .parsing-wrap .parsing-header .error-info .icon-e6e5 {
  color: #f66364;
  font-size: 20px;
  margin-right: 10px;
}
.parsing-file .parsing-wrap .parsing-header .close-btn {
  font-size: 16px;
  color: #181d20;
  margin: 0px 10px 0 0;
  position: absolute;
  right: 0;
  line-height: 38px;
}
.parsing-file .parsing-wrap .parsing-content {
  display: flex;
  margin: 15px 40px;
}
.parsing-file .parsing-wrap .parsing-content .content-left {
  width: 438px;
  height: 323px;
  border-radius: 22px;
  background: linear-gradient(90deg, #FE8D75 0%, #FF74CE 54%, #BD7DFF 100%);
}
.parsing-file .parsing-wrap .parsing-content .content-left .left-header {
  height: 50px;
  display: flex;
  position: relative;
}
.parsing-file .parsing-wrap .parsing-content .content-left .left-header .header-left {
  width: 60px;
  height: 50px;
  border-top-left-radius: 22px;
  background: #fff;
}
.parsing-file .parsing-wrap .parsing-content .content-left .left-header .header-left div {
  width: 60px;
  height: 50px;
  border-top-left-radius: 22px;
  border-bottom-right-radius: 22px;
  background: linear-gradient(90deg, #FE8D75, #ff878c);
}
.parsing-file .parsing-wrap .parsing-content .content-left .left-header .header-right {
  position: static;
  width: 388px;
  height: 48px;
  border-top-left-radius: 22px;
  border-top-right-radius: 22px;
  background: #fff;
  margin: 2px 2px 0 0;
}
.parsing-file .parsing-wrap .parsing-content .content-left .left-header img {
  position: absolute;
  height: 45px;
  top: 5px;
  left: 15px;
}
.parsing-file .parsing-wrap .parsing-content .content-left .left-header .robot-analying {
  position: absolute;
  top: -2px;
  left: 61px;
  font-size: 14px;
  color: #222;
  font-weight: bold;
}
.parsing-file .parsing-wrap .parsing-content .content-left .left-content {
  background: #fff;
  border-radius: 22px;
  width: 434px;
  height: 271px;
  border-top-right-radius: 0;
  margin: 0 2px;
  max-height: 271px;
  overflow: scroll;
  display: flex;
  flex-grow: 1;
  flex-direction: column-reverse;
  scroll-behavior: smooth;
}
.parsing-file .parsing-wrap .parsing-content .content-left .left-content .content-text {
  margin: 0 20px 0 20px;
  text-align: left;
  line-height: normal;
}
.parsing-file .parsing-wrap .parsing-content .content-left .left-content .content-text .markdown {
  text-align: left;
  line-height: normal;
  white-space: break-spaces;
}
.parsing-file .parsing-wrap .parsing-content .content-left .left-content .content-text .markdown code {
  white-space: break-spaces;
}
.parsing-file .parsing-wrap .parsing-content .content-left .left-content .content-placeholder {
  flex-grow: 1;
  flex-shrink: 1;
}
.parsing-file .parsing-wrap .parsing-content .content-left .left-content::-webkit-scrollbar {
  display: none;
}
.parsing-file .parsing-wrap .parsing-content .content-right {
  width: 280px;
  height: 323px;
  margin-left: 20px;
}
.parsing-file .parsing-wrap .parsing-content .content-right .icon-e630 {
  color: #c1cef8;
}
.parsing-file .parsing-wrap .parsing-content .content-right .icon-tongguo {
  background: linear-gradient(135deg, #6EB2FD, #FB6BD5, #FA975A);
  background-clip: text;
  -webkit-background-clip: text;
  -moz-background-clip: text;
  -o-background-clip: text;
  -ms-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -moz-text-fill-color: transparent;
  -o-text-fill-color: transparent;
  -ms-text-fill-color: transparent;
}
.parsing-file .parsing-wrap .parsing-content .content-right .icon-e705 {
  font-size: 16px;
  color: #E93234;
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.parsing-file .parsing-wrap .parsing-content .content-right .rotate {
  animation: rotate 1s linear infinite;
}
.parsing-file .parsing-wrap .parsing-content .content-right .rotate .icon-e735 {
  color: #c1cef8;
}
.parsing-file .parsing-wrap .parsing-content .content-right .ant-timeline {
  margin-top: 40px;
  margin-left: 35px;
}
.parsing-file .parsing-wrap .parsing-content .content-right .ant-timeline .ant-timeline-item {
  padding-bottom: 30px;
}
.parsing-file .parsing-wrap .parsing-content .content-right .ant-timeline .ant-timeline-item .ant-timeline-item-tail {
  border-left: 1px solid #c1cef8;
}
.parsing-file .parsing-wrap .parsing-content .content-right .ant-timeline .ant-timeline-item-last {
  padding-bottom: 10px;
}
.parsing-file .parsing-wrap .parsing-content .content-right .ant-timeline .success-item .ant-timeline-item-tail {
  border-left: 1px solid transparent;
  border-image: linear-gradient(180deg, #6EB2FD, #FB6BD5, #FA975A) 1;
}
.parsing-file .parsing-wrap .parsing-content .content-right .ant-timeline .ant-timeline-item-content {
  text-align: left;
  height: 30px;
}
.parsing-file .parsing-wrap .parsing-content .content-right .right-footer {
  display: flex;
  justify-content: space-around;
}
.parsing-file .parsing-wrap .parsing-content .content-right .right-footer .btn {
  width: 76px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 15px;
  opacity: 0.9;
  font-size: 12px;
  cursor: pointer;
}
.parsing-file .parsing-wrap .parsing-content .content-right .right-footer .btn-cancel {
  background: #fff;
  border: 1px solid #979797;
}
.parsing-file .parsing-wrap .parsing-content .content-right .right-footer .btn-retry {
  background: #F66364;
  color: #fff;
}
.parsing-file .parsing-wrap .parsing-content .content-right .parsing-tips {
  font-weight: 400;
  font-size: 12px;
  color: #A5B9ED;
  line-height: 17px;
  text-align: left;
}
.ai-enter-detail {
  float: left;
  height: 60px;
  display: flex;
  align-items: center;
  margin-left: 8px;
}
.ai-enter-detail .ai-enter-detail-btn {
  position: relative;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.3s ease;
  /* 添加过渡效果 */
}
.ai-enter-detail .ai-enter-detail-btn div {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  height: 30px;
  background: linear-gradient(90deg, rgba(254, 168, 141, 0.1), rgba(227, 142, 222, 0.1), rgba(109, 189, 254, 0.1));
  border-radius: 4px;
  transition: all 0.3s ease;
  /* 添加过渡效果 */
}
.ai-enter-detail .ai-enter-detail-btn span {
  color: transparent;
  background: linear-gradient(90deg, #F28407, #FA2BB3, #8341FD, #2D98F0);
  background-clip: text;
  -webkit-background-clip: text;
  -moz-background-clip: text;
  -o-background-clip: text;
  -ms-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-text-fill-color: transparent;
  -o-text-fill-color: transparent;
  -ms-text-fill-color: transparent;
}
.ai-enter-detail .ai-enter-detail-btn:before {
  content: "";
  position: absolute;
  top: 0;
  /* 调整偏移量以匹配边框宽度 */
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  border-radius: 4px;
  background: #fff;
}
.ai-enter-detail .ai-enter-detail-btn:after {
  transition: all 0.3s ease;
  /* 添加过渡效果 */
  content: "";
  position: absolute;
  top: -2px;
  /* 调整偏移量以匹配边框宽度 */
  left: -2px;
  right: -2px;
  bottom: -2px;
  z-index: -2;
  border-radius: 4px;
  background: transparent;
}
.ai-enter-detail .ai-enter-detail-btn:hover span {
  color: #111 !important;
  background: transparent;
  background-clip: initial;
  -webkit-background-clip: initial;
  -moz-background-clip: initial;
  -o-background-clip: initial;
  -ms-background-clip: initial;
  -webkit-text-fill-color: initial;
  -moz-text-fill-color: initial;
  -o-text-fill-color: initial;
  -ms-text-fill-color: initial;
}
.ai-enter-detail .ai-enter-detail-btn:hover:after {
  background: linear-gradient(90deg, #FE8D75 0%, #FF74CE 54%, #BD7DFF 100%);
}
.match-info {
  z-index: 3000;
  position: relative;
  opacity: 0;
  animation: fadeIn 0.3s ease-in-out forwards;
}
.match-info .match-info-mask {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3000;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.45);
  animation: fadeIn 0.5s ease-in-out forwards;
}
.match-info .match-info-wrap {
  position: fixed;
  top: 15%;
  right: 0;
  left: 0;
  outline: 0;
  margin: auto;
  overflow: hidden;
  z-index: 3001;
  width: 400px;
  height: 231px;
  background: url(../../static/media/parsing-file-bg.4ccdba883214070589d3.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: scale(0.8);
  animation: scaleIn 0.3s ease-out forwards;
}
.match-info .match-info-wrap .close-btn {
  font-size: 16px;
  color: #181d20;
  margin: 0px 10px 0 0;
  position: absolute;
  right: 0;
  line-height: 38px;
}
.match-info .match-info-wrap .match-info-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #333;
}
.match-info .match-info-wrap .match-info-content .loading-icon {
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  margin-bottom: 16px;
}
.match-info .match-info-wrap .match-info-content .match-text {
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 20px;
  color: #666;
  animation: textFadeIn 0.5s ease-in-out;
  width: 100%;
}
.match-info .match-info-wrap .match-info-content .match-text::after {
  content: '';
  animation: dots 1.5s infinite;
}
.match-info .match-info-wrap .match-info-content .match-actions .cancel-btn {
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 16px;
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  color: #666;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}
.match-info .match-info-wrap .match-info-content .match-actions .cancel-btn:hover {
  border-color: #1890ff;
  color: #1890ff;
}
.match-info .match-info-wrap .match-info-content .match-actions .cancel-btn:active {
  transform: translateY(1px);
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes scaleIn {
  from {
    transform: scale(0.8);
  }
  to {
    transform: scale(1);
  }
}
@keyframes textFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes dots {
  0%,
  20% {
    content: '';
  }
  40% {
    content: '.';
  }
  60% {
    content: '..';
  }
  80%,
  100% {
    content: '...';
  }
}

/**
 * Created by zJiong on 2022-06-20
 */
/**
 * @todo: 使用flex实现水平垂直居中
 * @param: {[string]} @justify [center] 水平对齐方向,[false] 水平方向不设置
 * @param: {[string]} @align   [center] 垂直对齐方向,[false] 垂直方向不设置
 * @example: 
 *  .center {
 *      .box-center(justify, align);
 *  }
 */
/**
 * @todo: 使用translate实现水平垂直居中
 * @param {String} @direction [both] - 水平垂直,其它值`horizontal`和`vertical`
 * @example: 
 *  .center {
 *      .box-center();
 *  }
 */
/**
 * Created by zJiong on 2022-06-20
 */
/**
 * @todo: 控制文字行数溢出...
 * @param  {number} $lines [1] - 默认一行对于点点点结束
 * @param  {number} $substract  [0] - 默认宽度为100% - 0
 * @example: 
 *  .container {
 *      .ellipsis(3);
 *  }
 */
/**
 * @todo: 等比例设置大小
 * @param: real_width 表示实际宽度值，此时前两个参数只是用来计算宽高比
 */
/**
 * @todo: 等比例设置大小
 * @param: container_width 可选。表示容器的宽高比
 * @param: container_height 可选。表示容器的宽高比，该方法使用宽度在容器中所占的百分比来计算元素高度在容器中的百分比
 */
/**
 * @todo: 设置相对大小
 * @param: @width, @height 表示绝对宽高度（一般为设计图上该元素的像素宽高）
 * @param: @base_width 表示基础宽度（一般为设计图的像素宽）
 * @descript: 宽高会按基础宽度换算为等比例的百分比（这里的高度使用的是padding-top）
 */
.clearfix::before {
  display: table;
  content: '';
}
.clearfix::after {
  display: table;
  clear: both;
  content: '';
}
.flex-column {
  display: flex;
  flex-direction: column;
}
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.scrollbars-none {
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none;
}
.scrollbars-none::-webkit-scrollbar {
  display: none;
  /* Chrome Safari */
}
.scrollbars-has {
  -ms-overflow-style: unset;
  overflow: auto;
}
.scrollbars-has::-webkit-scrollbar {
  display: unset;
  /* Chrome Safari */
}
.border-and-box-shadow-highlight {
  border: 1px solid #1890ff;
  box-shadow: 1px 1px 4px 1px rgba(24, 144, 255, 0.2), -1px -1px 4px 1px rgba(24, 144, 255, 0.2);
}
.header-ope .search-box .ant-btn.ant-btn-primary.ant-input-search-button,
.search-area .search-box .ant-btn.ant-btn-primary.ant-input-search-button {
  width: 32px;
  border-color: #d9d9d9;
  background: #fff;
  display: flex;
  justify-content: center;
  box-shadow: none;
}
.header-ope .search-box .icon-e61c,
.search-area .search-box .icon-e61c {
  color: #8c8c8c;
  font-size: 20px !important;
}
.icon-e6b3-hover-shaixuan-youzhi:before {
  font-family: 'heicon';
  content: '\e6b3';
}
.icon-e6b3-hover-shaixuan-youzhi:hover:before {
  font-family: 'heicon';
  content: '\e79a';
}

/**
 * Created by zJiong on 2022-06-20
 */
/**
 * @todo: 使用flex实现水平垂直居中
 * @param: {[string]} @justify [center] 水平对齐方向,[false] 水平方向不设置
 * @param: {[string]} @align   [center] 垂直对齐方向,[false] 垂直方向不设置
 * @example: 
 *  .center {
 *      .box-center(justify, align);
 *  }
 */
/**
 * @todo: 使用translate实现水平垂直居中
 * @param {String} @direction [both] - 水平垂直,其它值`horizontal`和`vertical`
 * @example: 
 *  .center {
 *      .box-center();
 *  }
 */
/**
 * Created by zJiong on 2022-06-20
 */
/**
 * @todo: 控制文字行数溢出...
 * @param  {number} $lines [1] - 默认一行对于点点点结束
 * @param  {number} $substract  [0] - 默认宽度为100% - 0
 * @example: 
 *  .container {
 *      .ellipsis(3);
 *  }
 */
/**
 * @todo: 等比例设置大小
 * @param: real_width 表示实际宽度值，此时前两个参数只是用来计算宽高比
 */
/**
 * @todo: 等比例设置大小
 * @param: container_width 可选。表示容器的宽高比
 * @param: container_height 可选。表示容器的宽高比，该方法使用宽度在容器中所占的百分比来计算元素高度在容器中的百分比
 */
/**
 * @todo: 设置相对大小
 * @param: @width, @height 表示绝对宽高度（一般为设计图上该元素的像素宽高）
 * @param: @base_width 表示基础宽度（一般为设计图的像素宽）
 * @descript: 宽高会按基础宽度换算为等比例的百分比（这里的高度使用的是padding-top）
 */
.clearfix::before {
  display: table;
  content: '';
}
.clearfix::after {
  display: table;
  clear: both;
  content: '';
}
.flex-column {
  display: flex;
  flex-direction: column;
}
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.scrollbars-none {
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none;
}
.scrollbars-none::-webkit-scrollbar {
  display: none;
  /* Chrome Safari */
}
.scrollbars-has {
  -ms-overflow-style: unset;
  overflow: auto;
}
.scrollbars-has::-webkit-scrollbar {
  display: unset;
  /* Chrome Safari */
}
.border-and-box-shadow-highlight {
  border: 1px solid #1890ff;
  box-shadow: 1px 1px 4px 1px rgba(24, 144, 255, 0.2), -1px -1px 4px 1px rgba(24, 144, 255, 0.2);
}
.biz-stage-board-wrap {
  height: 100%;
  padding-top: 20px;
  white-space: nowrap;
  overflow-x: auto;
  font-size: 0;
  background: #f8f8f8;
  position: relative;
  left: 0;
  display: flex;
}
.biz-stage-board-wrap .biz-stage-col {
  display: inline-block;
  font-size: 13px;
  width: 250px;
  height: 100%;
  position: relative;
  overflow: hidden;
  text-align: left;
  flex-shrink: 0;
}
.biz-stage-board-wrap .biz-stage-col h3 {
  font-style: italic;
}
.biz-stage-board-wrap .biz-stage-col h3 span {
  display: inline-block;
  max-width: 180px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  vertical-align: top;
}
.biz-stage-board-wrap .biz-stage-col:first-child {
  margin-left: 20px;
}
.biz-stage-board-wrap .biz-stage-col:first-child h3 {
  margin-left: 0;
}
.biz-stage-board-wrap .biz-stage-col:first-child h3::before {
  display: none;
}
.biz-stage-board-wrap .biz-stage-col:last-child h3::after {
  display: none;
}
.biz-stage-board-wrap .biz-stage-col:last-child .biz-stage-list {
  border-right: none;
}
.biz-stage-board-wrap .biz-stage-col:last-child .biz-stage-list::after {
  display: none;
}
.biz-stage-board-wrap .biz-stage-col h3 {
  font-size: 14px;
  font-family: PingFangSC-Medium;
  font-weight: bold;
  text-align: center;
  height: 32px;
  line-height: 32px;
  background: #ff3b2d;
  color: #fff;
  position: relative;
  margin: 0 10px;
  border-radius: 3px;
}
.biz-stage-board-wrap .biz-stage-col h3::before {
  content: '';
  display: inline-block;
  position: absolute;
  left: -6px;
  top: 0;
  width: 14px;
  height: 32px;
  border-radius: 3px;
  transform: skewX(165deg);
  background: #ff3b2d;
}
.biz-stage-board-wrap .biz-stage-col h3::after {
  content: '';
  display: inline-block;
  position: absolute;
  right: -6px;
  top: 0;
  width: 14px;
  height: 32px;
  border-radius: 3px;
  transform: skewX(165deg);
  background: #ff3b2d;
}
.biz-stage-board-wrap .biz-stage-col > p {
  height: 44px;
  line-height: 44px;
  text-align: center;
  font-size: 12px;
  color: #747779;
}
.biz-stage-board-wrap .biz-stage-col > p > i {
  font-size: 14px;
  color: #181d20;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list {
  position: absolute;
  top: 76px;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  border-right: 1px solid #efeff0;
  padding-bottom: 20px;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list .biz-link-btn {
  display: inline;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list:hover {
  overflow: auto;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list::-webkit-scrollbar {
  width: 4px;
  height: 1px;
  opacity: 0.5;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list::-webkit-scrollbar-track {
  background: transparent;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 2px;
  width: 4px;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > li {
  position: relative;
  border-radius: 4px;
  background-image: url(../../static/media/stage-card.818c606b961994e1f305.png);
  cursor: move;
  width: 100%;
  height: 160px;
  background-size: 100% 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
  padding: 22px 30px;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > li.no-drag {
  cursor: default;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > li:hover h4 > i {
  color: #747779;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > li:first-child {
  margin-top: -8px;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > li::before {
  content: '';
  background-image: url(../../static/media/stage-point.816ded6ba88f3d190377.png);
  position: absolute;
  left: 16px;
  top: 16px;
  display: block;
  width: 10px;
  height: 12px;
  background-size: 100% 100%;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > li .title {
  font-size: 14px;
  height: 20px;
  line-height: 20px;
  margin-bottom: 10px;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > li .title a {
  color: #181d20;
  display: inline-block;
  width: 164px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > li .title > i {
  float: right;
  cursor: pointer;
  transform: rotate(90deg);
  font-size: 16px;
  margin-right: -6px;
  color: #ccced2;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > li > div {
  font-size: 12px;
  height: 16px;
  line-height: 16px;
  margin-bottom: 8px;
  color: #747779;
  overflow: hidden;
  float: left;
  width: 100%;
  text-overflow: ellipsis;
  display: inline-block;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > li > div * {
  font-size: 12px;
  color: #747779;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > li > div textarea {
  margin-top: -2px;
  font-size: 12px;
  color: #747779;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > li .Boolean {
  display: flex;
}
.biz-stage-board-wrap .biz-stage-col .biz-stage-list > button {
  display: block;
  width: 229px;
  height: 40px;
  margin: 10px auto;
}
.biz-stage-board-wrap .biz-stage-col.unsort h3 {
  background: #cbcbd4;
}
.biz-stage-board-wrap .biz-stage-col.unsort h3::before,
.biz-stage-board-wrap .biz-stage-col.unsort h3::after {
  background: #cbcbd4;
}
.biz-stage-board-wrap .biz-stage-col.unsort .biz-stage-list > li > i {
  background: radial-gradient(circle, rgba(182, 182, 196, 0.7) 1%, #99a5b8);
  box-shadow: 0px 0px 0px 0px rgba(182, 182, 196, 0.3), 0px 0px 4px 0px #99a5b8;
}
.biz-stage-board-wrap .biz-stage-col.unsort .biz-stage-list > li > i::after {
  content: '';
  display: none;
  position: absolute;
  left: 3px;
  top: 3px;
  width: 4px;
  height: 4px;
  background: #ffffff;
  opacity: 0.6;
  border-radius: 50%;
  box-shadow: 5px 5px 20px 20px rgba(255, 255, 255, 0.2);
}
.biz-stage-board-wrap .biz-stage-col-current {
  position: fixed;
  left: -5px;
  background: #f8f8f8;
  bottom: 0;
  top: 180px;
  overflow: hidden;
  z-index: 900;
}
.biz-stage-board-wrap .biz-stage-col-current .biz-stage-list {
  overflow: scroll;
  padding-bottom: 100%;
}
.left-layout .biz-stage-board-wrap .biz-stage-col-current {
  left: 90px;
  top: 140px;
}

/**
 * Created by zJiong on 2022-06-20
 */
/**
 * @todo: 使用flex实现水平垂直居中
 * @param: {[string]} @justify [center] 水平对齐方向,[false] 水平方向不设置
 * @param: {[string]} @align   [center] 垂直对齐方向,[false] 垂直方向不设置
 * @example: 
 *  .center {
 *      .box-center(justify, align);
 *  }
 */
/**
 * @todo: 使用translate实现水平垂直居中
 * @param {String} @direction [both] - 水平垂直,其它值`horizontal`和`vertical`
 * @example: 
 *  .center {
 *      .box-center();
 *  }
 */
/**
 * Created by zJiong on 2022-06-20
 */
/**
 * @todo: 控制文字行数溢出...
 * @param  {number} $lines [1] - 默认一行对于点点点结束
 * @param  {number} $substract  [0] - 默认宽度为100% - 0
 * @example: 
 *  .container {
 *      .ellipsis(3);
 *  }
 */
/**
 * @todo: 等比例设置大小
 * @param: real_width 表示实际宽度值，此时前两个参数只是用来计算宽高比
 */
/**
 * @todo: 等比例设置大小
 * @param: container_width 可选。表示容器的宽高比
 * @param: container_height 可选。表示容器的宽高比，该方法使用宽度在容器中所占的百分比来计算元素高度在容器中的百分比
 */
/**
 * @todo: 设置相对大小
 * @param: @width, @height 表示绝对宽高度（一般为设计图上该元素的像素宽高）
 * @param: @base_width 表示基础宽度（一般为设计图的像素宽）
 * @descript: 宽高会按基础宽度换算为等比例的百分比（这里的高度使用的是padding-top）
 */
.clearfix::before {
  display: table;
  content: '';
}
.clearfix::after {
  display: table;
  clear: both;
  content: '';
}
.flex-column {
  display: flex;
  flex-direction: column;
}
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.scrollbars-none {
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none;
}
.scrollbars-none::-webkit-scrollbar {
  display: none;
  /* Chrome Safari */
}
.scrollbars-has {
  -ms-overflow-style: unset;
  overflow: auto;
}
.scrollbars-has::-webkit-scrollbar {
  display: unset;
  /* Chrome Safari */
}
.border-and-box-shadow-highlight {
  border: 1px solid #1890ff;
  box-shadow: 1px 1px 4px 1px rgba(24, 144, 255, 0.2), -1px -1px 4px 1px rgba(24, 144, 255, 0.2);
}
/* 修改ant design默认样式 */
.hecom-bi-router .ant-layout-header,
.hecom-data-syn-router .ant-layout-header {
  background: #fff;
}
.hecom-bi-router .ant-btn,
.hecom-data-syn-router .ant-btn {
  height: 30px;
  border-radius: 4px;
  font-size: 12px;
  font-family: PingFangSC-Semibold, PingFang SC;
  font-weight: 600;
}
.hecom-bi-router .ant-btn-circle,
.hecom-data-syn-router .ant-btn-circle {
  border-radius: 100000px;
}
.hecom-bi-router .ant-btn-primary-disable[disabled],
.hecom-data-syn-router .ant-btn-primary-disable[disabled] {
  background: #adb4c3;
  color: white;
  border: none;
}
.hecom-bi-router .ant-btn-primary,
.hecom-data-syn-router .ant-btn-primary {
  background-color: #fd6364;
  border-color: #fd6364;
}
.hecom-bi-router .ant-btn-primary:hover,
.hecom-data-syn-router .ant-btn-primary:hover {
  background-color: #fd6364;
  border-color: #fd6364;
}
.hecom-bi-router .ant-btn-primary:active,
.hecom-data-syn-router .ant-btn-primary:active {
  background-color: #fd6364;
  border-color: #fd6364;
}
.hecom-bi-router .ant-btn-primary:focus,
.hecom-data-syn-router .ant-btn-primary:focus {
  background-color: #fd6364;
  border-color: #fd6364;
}
.hecom-bi-router .ant-input,
.hecom-data-syn-router .ant-input {
  font-size: 12px;
  border-radius: 4px;
  border-color: #e4e4e4;
}
.hecom-bi-router .ant-input::placeholder,
.hecom-data-syn-router .ant-input::placeholder {
  color: #747779;
  font-size: 12px;
}
.hecom-bi-router .ant-radio-group .ant-radio-button-wrapper:first-child,
.hecom-data-syn-router .ant-radio-group .ant-radio-button-wrapper:first-child {
  border-start-start-radius: 4px;
  border-end-start-radius: 4px;
}
.hecom-bi-router .ant-radio-group .ant-radio-button-wrapper:last-child,
.hecom-data-syn-router .ant-radio-group .ant-radio-button-wrapper:last-child {
  border-start-end-radius: 4px;
  border-end-end-radius: 4px;
}
.hecom-bi-router .ant-select-selection-placeholder,
.hecom-data-syn-router .ant-select-selection-placeholder {
  color: #747779;
}
.hecom-bi-router .ant-select:not(.ant-select-customize-input) .ant-select-selector,
.hecom-data-syn-router .ant-select:not(.ant-select-customize-input) .ant-select-selector {
  height: 30px;
  border-radius: 4px;
  font-size: 12px;
  border-color: #e4e4e4;
}
.hecom-bi-router .ant-select-single .ant-select-selector .ant-select-selection-item,
.hecom-data-syn-router .ant-select-single .ant-select-selector .ant-select-selection-item,
.hecom-bi-router .ant-select-single .ant-select-selector .ant-select-selection-placeholder,
.hecom-data-syn-router .ant-select-single .ant-select-selector .ant-select-selection-placeholder {
  height: 28px;
  line-height: 28px;
}
.hecom-bi-router .ant-checkbox-wrapper,
.hecom-data-syn-router .ant-checkbox-wrapper {
  color: #666;
  font-size: 12px;
}
.hecom-bi-router .ant-form-item-label > label,
.hecom-data-syn-router .ant-form-item-label > label {
  font-size: 12px;
  color: #181d20;
}
.hecom-bi-router .ant-form-item-label > label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before,
.hecom-data-syn-router .ant-form-item-label > label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {
  content: ' ';
  margin-right: 9px;
  display: inline-block;
  width: 2px;
  height: 10px;
  background-color: #fc3b39;
  border-radius: 1px;
}
.hecom-bi-router .ant-table-thead > tr > th,
.hecom-data-syn-router .ant-table-thead > tr > th,
.hecom-bi-router .ant-table-tbody > tr > td,
.hecom-data-syn-router .ant-table-tbody > tr > td {
  padding-top: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e6e8ea;
}
.hecom-bi-router .ant-table-thead > tr > th,
.hecom-data-syn-router .ant-table-thead > tr > th {
  font-size: 13px;
  font-family: PingFangSC-Medium, PingFang SC;
  font-weight: 500;
  color: #676d79;
  background-color: #f0f2f5;
}
.hecom-bi-router .ant-modal,
.hecom-data-syn-router .ant-modal {
  border-radius: 4px;
}
.hecom-bi-router .ant-modal .ant-modal-footer,
.hecom-data-syn-router .ant-modal .ant-modal-footer {
  font-family: PingFangSC-Regular, PingFang SC;
  font-weight: 400;
}
.hecom-bi-router .ant-tabs,
.hecom-data-syn-router .ant-tabs {
  height: 100%;
}
.hecom-bi-router .ant-tabs .ant-tabs-content-holder,
.hecom-data-syn-router .ant-tabs .ant-tabs-content-holder {
  height: 100%;
}
.hecom-bi-router .ant-tabs .ant-tabs-content-holder .ant-tabs-content,
.hecom-data-syn-router .ant-tabs .ant-tabs-content-holder .ant-tabs-content {
  height: 100%;
}
.hecom-bi-router .ant-tabs .ant-tabs-content-holder .ant-tabs-content .ant-tabs-tabpane,
.hecom-data-syn-router .ant-tabs .ant-tabs-content-holder .ant-tabs-content .ant-tabs-tabpane {
  height: 100%;
}
.hecom-bi-router .ant-tabs-tab,
.hecom-data-syn-router .ant-tabs-tab {
  font-size: 11px;
}
.hecom-bi-router .ant-form-item-explain,
.hecom-data-syn-router .ant-form-item-explain,
.hecom-bi-router .ant-form-item-extra,
.hecom-data-syn-router .ant-form-item-extra {
  font-size: 12px;
}
.hecom-bi-router .ant-select-multiple .ant-select-selection-item,
.hecom-data-syn-router .ant-select-multiple .ant-select-selection-item {
  margin-top: 0;
}
.web-front.top-layout .hecom-bi-router .ant-layout-header {
  border-top: 1px solid #eee;
}
/* 通用flex类样式 */
/* 主轴 - 横向 */
.flex-row {
  display: flex;
}
/* 主轴 - 纵向 */
.flex-column {
  display: flex;
  flex-direction: column;
}
/* 居中 */
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 副轴 */
.a-center {
  align-items: center;
}
.a-start {
  align-items: flex-start;
}
.a-end {
  align-items: flex-end;
}
.a-stretch {
  align-items: stretch;
}
.a-baseline {
  align-items: baseline;
}
/* 主轴 */
.j-start {
  justify-content: flex-start;
}
.j-end {
  justify-content: flex-end;
}
.j-center {
  justify-content: center;
}
.j-between {
  justify-content: space-between;
}
.j-around {
  justify-content: space-around;
}
.j-evenly {
  justify-content: space-evenly;
}
/* 元素占比 */
.flex-1 {
  flex: 1 1;
}
.flex-2 {
  flex: 2 1;
}
.flex-3 {
  flex: 3 1;
}
.flex-4 {
  flex: 4 1;
}
/* 换行 */
.flex-wrap {
  flex-wrap: wrap;
}
/* 设置该子元素在父容器不够时不被积压改变大小 */
.flex-shrink {
  flex-shrink: 0;
}
/* 盒模型通用样式 */
/* 内容盒模型 */
.box-border {
  box-sizing: content-box;
}
/* IE盒模型 */
.box-border {
  box-sizing: border-box;
}
/* 宽度100% */
.w-100p {
  width: 100%;
}
/* 高度100% */
.h-100p {
  height: 100%;
}
.h-60 {
  height: 60px;
}
.h-30 {
  height: 30px;
}
/* 文字流偏向 */
.align-c {
  text-align: center;
}
.align-l {
  text-align: left;
}
.align-r {
  text-align: right;
}
/* overflow */
.over-visible {
  overflow: visible;
}
.over-hidden {
  overflow: hidden;
}
.over-auto {
  overflow: auto;
}
/* 行高 */
.lh-1 {
  line-height: 1;
}
.lh-1d5 {
  line-height: 1.5;
}
.lh-2 {
  line-height: 2;
}
/* margin - padding 常用值 */
.m-0 {
  margin: 0;
}
.p-0 {
  padding: 0;
}
.m-5 {
  margin: 5px;
}
.p-5 {
  padding: 5px;
}
.m-10 {
  margin: 10px;
}
.p-10 {
  padding: 10px;
}
.m-15 {
  margin: 15px;
}
.p-15 {
  padding: 15px;
}
.m-20 {
  margin: 20px;
}
.p-20 {
  padding: 20px;
}
.m-30 {
  margin: 30px;
}
.p-30 {
  padding: 30px;
}
/* 0 系列 */
.m-l-0 {
  margin-left: 0px;
}
.m-r-0 {
  margin-right: 0;
}
.m-t-0 {
  margin-top: 0;
}
.m-b-0 {
  margin-bottom: 0;
}
.p-l-0 {
  padding-left: 0;
}
.p-r-0 {
  padding-right: 0;
}
.p-t-0 {
  padding-top: 0;
}
.p-b-0 {
  padding-bottom: 0;
}
/* 5px 系列 */
.m-l-5 {
  margin-left: 5px;
}
.m-r-5 {
  margin-right: 5px;
}
.m-t-5 {
  margin-top: 5px;
}
.m-b-5 {
  margin-bottom: 5px;
}
.p-l-5 {
  padding-left: 5px;
}
.p-r-5 {
  padding-right: 5px;
}
.p-t-5 {
  padding-top: 5px;
}
.p-b-5 {
  padding-bottom: 5px;
}
/* 10px 系列 */
.m-l-10 {
  margin-left: 10px;
}
.m-r-10 {
  margin-right: 10px;
}
.m-t-10 {
  margin-top: 10px;
}
.m-b-10 {
  margin-bottom: 10px;
}
.p-l-10 {
  padding-left: 10px;
}
.p-r-10 {
  padding-right: 10px;
}
.p-t-10 {
  padding-top: 10px;
}
.p-b-10 {
  padding-bottom: 10px;
}
/* 15px 系列 */
.m-l-15 {
  margin-left: 15px;
}
.m-r-15 {
  margin-right: 15px;
}
.m-t-15 {
  margin-top: 15px;
}
.m-b-15 {
  margin-bottom: 15px;
}
.p-l-15 {
  padding-left: 15px;
}
.p-r-15 {
  padding-right: 15px;
}
.p-t-15 {
  padding-top: 15px;
}
.p-b-15 {
  padding-bottom: 15px;
}
/* 20px 系列 */
.m-l-20 {
  margin-left: 20px;
}
.m-r-20 {
  margin-right: 20px;
}
.m-t-20 {
  margin-top: 20px;
}
.m-b-20 {
  margin-bottom: 20px;
}
.p-l-20 {
  padding-left: 20px;
}
.p-r-20 {
  padding-right: 20px;
}
.p-t-20 {
  padding-top: 20px;
}
.p-b-20 {
  padding-bottom: 20px;
}
/* 30px系列 */
.m-l-30 {
  margin-left: 30px;
}
.m-r-30 {
  margin-right: 30px;
}
.m-t-30 {
  margin-top: 30px;
}
.m-b-30 {
  margin-bottom: 30px;
}
.p-l-30 {
  padding-left: 30px;
}
.p-r-30 {
  padding-right: 30px;
}
.p-t-30 {
  padding-top: 30px;
}
.p-b-30 {
  padding-bottom: 30px;
}
/* .... */
/* 生成函数 
function css(a){
    let arr = []
    arr.push(`.m-${a}{margin: ${a}px}`)
    arr.push(`.p-${a}{padding: ${a}px}`)
    
    arr.push(`.m-l-${a}{margin-left: ${a}px}`)
    arr.push(`.m-r-${a}{margin-right: ${a}px}`)
    arr.push(`.m-t-${a}{margin-top: ${a}px}`)
    arr.push(`.m-b-${a}{margin-bottom: ${a}px}`)

    arr.push(`.p-l-${a}{padding-left: ${a}px}`)
    arr.push(`.p-r-${a}{padding-right: ${a}px}`)
    arr.push(`.p-t-${a}{padding-top: ${a}px}`)
    arr.push(`.p-b-${a}{padding-bottom: ${a}px}`)
    
    console.log(arr.join('\n'))
} 
*/
/* 定位通用样式 */
.position-s {
  position: static;
}
.position-a {
  position: absolute;
}
.position-r {
  position: relative;
}
.position-f {
  position: fixed;
}
/* 常用值 */
.edge-0 {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.t-0 {
  top: 0;
}
.l-0 {
  left: 0;
}
.r-0 {
  right: 0;
}
.b-0 {
  bottom: 0;
}
/*通用颜色类样式*/
/* 白色 */
.color-white {
  color: white;
}
.color-bg-white {
  background-color: white;
}
/* 黑色 */
.color-black {
  color: black;
}
.color-bg-black {
  background-color: black;
}
/* 蓝色 */
.color-blue {
  color: #1890ff;
}
.color-bg-blue {
  background-color: #1890ff;
}
/* 红色 */
.color-red {
  color: #fd6364;
}
.color-bg-red {
  background-color: #fd6364;
}
.color-err {
  color: #dc3545;
}
/* 占位文字色 */
.color-placeholder {
  color: #adb4c3;
}
/* 浅灰色背景色 */
.color-bg-gray {
  background-color: #f7f7f9;
}
/* 16进制色 */
.color-2 {
  color: #222222;
}
.color-3 {
  color: hsl(0, 0%, 20%);
}
.color-9 {
  color: #999999;
}
.color-6 {
  color: #666666;
}
.color-747779 {
  color: #747779;
}
.color-181D20 {
  color: #181d20;
}
.color-676d79 {
  color: #676d79;
}
.color-b9bbbc {
  color: #b9bbbc;
}
.color-bg-blue-0d09 {
  background-color: rgba(24, 144, 255, 0.09);
}
.color-0093FF {
  color: #0093FF;
}
/* 边框类样式 */
.border-c97-r6 {
  border: 1px solid #979797;
  border-radius: 6px;
}
.border-ce6 {
  border: 1px solid #e6e8ea;
}
.border-e4-r4 {
  border: 1px solid #e4e4e4;
  border-radius: 4px;
}
.tag-border-shadow {
  border: 1px solid #c3c3c3;
  box-shadow: 0px 0px 4px rgb(0 0 0%);
  border-radius: 4px;
}
/* 去除边框 */
.border-none {
  border: none;
}
.border-left-none {
  border-left: none;
}
.border-right-none {
  border-right: none;
}
.border-top-none {
  border-top: none;
}
.border-bottom-none {
  border-bottom: none;
}
/* 圆角 */
.radius-4 {
  border-radius: 4px;
}
/*通用字号、粗细类样式*/
/* 字号 */
.fs-12 {
  font-size: 12px;
}
.fs-13 {
  font-size: 13px;
}
.fs-14 {
  font-size: 14px;
}
.fs-15 {
  font-size: 15px;
}
.fs-16 {
  font-size: 16px;
}
.fs-18 {
  font-size: 18px;
}
.fs-20 {
  font-size: 20px;
}
.fs-30 {
  font-size: 30px;
}
/* 粗细 */
.fw-pf-normal {
  font-family: PingFangSC-Regular, PingFang SC;
  font-weight: 400;
}
.fw-pf-medium {
  font-family: PingFangSC-Medium, PingFang SC;
  font-weight: 500;
}
.fw-pf-semibold {
  font-family: PingFangSC-Semibold, PingFang SC;
  font-weight: 600;
}
html {
  font-family: PingFangSC-Regular, PingFang SC;
  font-weight: 400;
}
/* 鼠标指针为小手 */
.cursor-p {
  cursor: pointer;
}
.diviver-24 {
  color: #e6e8ea;
  height: 24px;
}
.shadow-bottom {
  box-shadow: 0px 2px 6px 1px rgba(221, 221, 221, 0.26);
}
.z-index-1 {
  z-index: 1;
}
.manage-container {
  height: 100%;
}
web-front:not(.multi-tab-mode) .manage-container {
  padding: 12px 12px 0 12px;
}
.hecom-bi-router {
  padding: 0 12px;
}
.hecom-bi-router .form-content {
  padding: 90px 15%;
}
.hecom-bi-router i {
  font-family: 'web';
  font-style: normal;
}
.hecom-bi-router .global-loading {
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
  height: 100%;
  padding-top: 20%;
  z-index: 10000;
}
.hecom-bi-router .global-loading .ant-spin-spinning {
  z-index: 1;
}
.manage-container .model-list-header-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 12px 0;
  background: #fff;
}
.manage-container .model-list-header-wrapper .header-left {
  display: flex;
  align-items: center;
}
.manage-container .model-list-header-wrapper .header-title {
  margin-left: 6px;
  line-height: 17px;
}

