.x-form-react .ant-form-item {
  margin-top: 5px;
  margin-bottom: 5px;
}
.x-form-react .ant-form-item-has-error .ant-table {
  border: 1px #f5222d solid;
  border-radius: 4px;
}
.x-form-react .ant-form-item-has-warning .ant-table {
  border: 1px #faad14 solid;
  border-radius: 4px;
}
.x-form-react .ant-form-item-has-error.ant-form-item-has-feedback:after {
  content: '';
}
.x-form-react .ant-form-item-has-warning.ant-form-item-has-feedback:after {
  content: '';
}
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select .ant-select-selection,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select .ant-select-selection,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select .ant-select-selection,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select .ant-select-selection,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list {
  border-color: #d9d9d9;
}
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input:not([disabled]):hover,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input:not([disabled]):hover,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input:not([disabled]):hover,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input:not([disabled]):hover,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number:not([disabled]):hover,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number:not([disabled]):hover,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number:not([disabled]):hover,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number:not([disabled]):hover,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input:not([disabled]):hover,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input:not([disabled]):hover,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input:not([disabled]):hover,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input:not([disabled]):hover,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select:not([disabled]):hover .ant-select-selection,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select:not([disabled]):hover .ant-select-selection,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select:not([disabled]):hover .ant-select-selection,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select:not([disabled]):hover .ant-select-selection,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list:not([disabled]):hover,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list:not([disabled]):hover,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list:not([disabled]):hover,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list:not([disabled]):hover {
  border-color: #40a9ff;
}
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input:focus,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input:focus,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input:focus,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input:focus,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-focused,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-focused,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-focused,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-focused,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number:focus,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number:focus,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number:focus,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number:focus,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number-focused,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number-focused,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number-focused,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-input-number-focused,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input:focus,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input:focus,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input:focus,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input:focus,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input-focused,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input-focused,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input-focused,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-input-focused,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select:focus .ant-select-selection,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select:focus .ant-select-selection,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select:focus .ant-select-selection,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select:focus .ant-select-selection,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select-focused .ant-select-selection,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select-focused .ant-select-selection,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select-focused .ant-select-selection,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select-focused .ant-select-selection,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list:focus,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list:focus,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list:focus,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list:focus,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list-focused,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list-focused,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list-focused,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-transfer-list-focused {
  border-color: #40a9ff;
  box-shadow: none;
}
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-calendar-picker-icon::after,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-calendar-picker-icon::after,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-calendar-picker-icon::after,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-calendar-picker-icon::after,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-icon::after,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-icon::after,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-icon::after,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-time-picker-icon::after,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-picker-icon::after,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-picker-icon::after,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-picker-icon::after,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-picker-icon::after,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select-arrow,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select-arrow,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select-arrow,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-select-arrow,
.x-form-react .ant-form-item-has-error .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-cascader-picker-arrow,
.x-form-react .ant-form-item-has-warning .x-table .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-cascader-picker-arrow,
.x-form-react .ant-form-item-has-error .x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-cascader-picker-arrow,
.x-form-react .ant-form-item-has-warning.x-card .ant-form-item-control:not(.ant-form-item-has-error):not(.ant-form-item-has-warning) .ant-cascader-picker-arrow {
  color: rgba(0, 0, 0, 0.25);
}
.x-form-react .ant-form-item-control-input-content .x-card:not(:first-child) {
  margin-top: 5px;
}
.x-form-react .ant-form-item-has-error .x-card {
  border: 1px #f5222d solid;
  border-radius: 4px;
}
.x-form-react .ant-form-item-has-error .x-card.collapse .ant-card-head {
  border-bottom: 1px #f5222d solid;
}
.x-form-react .ant-form-item-has-warning .x-card {
  border: 1px #faad14 solid;
  border-radius: 4px;
}
.x-form-react .ant-form-item-has-warning .x-card.collapse .ant-card-head {
  border-bottom: 1px #faad14 solid;
}
.x-form-react .x-table-wrapper .ant-table-thead > tr > th,
.x-form-react .x-table-wrapper .ant-table-tbody > tr > td,
.x-form-react .x-table-wrapper .ant-table tfoot > tr > th,
.x-form-react .x-table-wrapper .ant-table tfoot > tr > td,
.x-form-react .x-table-wrapper .ant-table-footer {
  padding: 5px;
}
.x-form-react .x-table-wrapper .ant-table .ant-form-item {
  margin-bottom: 0;
  margin-top: 0;
}
.x-form-react .x-table-wrapper .ant-table .ant-table-placeholder {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.x-form-react .x-table-wrapper .ant-empty-normal {
  margin: 5px 0;
}
.x-form-react .x-table-wrapper .helper {
  background: #fafafa;
}
.x-form-react .x-table-wrapper .actions {
  white-space: nowrap;
}
.x-form-react .x-table-wrapper .actions .action.drag {
  cursor: grab;
}
.x-form-react .x-table-wrapper .actions .action + .action {
  margin-left: 5px;
}
.x-form-react .x-table-footer {
  display: flex;
  align-items: center;
  color: #888888;
  cursor: pointer;
}
.x-form-react .x-table-footer span {
  margin-left: 5px;
}
.x-form-react .x-card.collapse .ant-card-body {
  display: none;
}
.x-form-react .x-card .ant-card-head {
  padding: 0 12px;
  font-size: 14px;
  min-height: 40px;
}
.x-form-react .x-card .ant-card-head-wrapper {
  height: 40px;
}
.x-form-react .x-card .ant-card-extra {
  padding: 0;
}
.x-form-react .x-card .ant-card-head-title {
  padding: 4px 0;
}
.x-form-react .x-card .ant-card-body {
  padding: 5px;
}
.x-form-react .x-card .action.drag {
  cursor: grab;
}
.x-form-react .x-card .action + .action {
  margin-left: 5px;
}
.x-form-react .x-card-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.x-form-react .x-card-button {
  margin-top: 5px;
  padding: 0;
  width: 100%;
  height: 32px;
  font-size: 14px;
}
.x-form-react .x-card-empty {
  cursor: pointer;
}
.x-form-react .x-card-empty .ant-empty-image {
  height: 60px;
}
.x-form-react .x-card-add {
  display: inline-flex;
  align-items: center;
}
.x-form-react .x-card-add span {
  margin-left: 5px;
}
.x-form-react .x-checkbox-all {
  margin-right: 8px;
}
