/* @import "../node_modules/ng-zorro-antd/ng-zorro-antd.css"; */

[nz-menu] {
  font-family: Arial, 'Microsoft Yahei';
}

.ant-menu-item:hover,
.ant-menu-item-active,
.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open,
.ant-menu-submenu-active,
.ant-menu-submenu-title:hover {
  color: #fff;
  background-color: #2e6cf6 !important;
}


.ant-menu-inline .ant-menu-submenu-title {
  font-size: 13px;
  margin-top: 0px;
  margin-bottom: 0px;
}

/* select */
.ant-select-selection--single {
  height: 34px;
}

/* 模态框样式 */
.ant-modal-mask {
  background-color: rgba(0, 0, 0, 0.4);
}

.ant-modal-header {
  height: 40px;
  padding: 10px 20px;
  /**background-color: #e3e2e2; **/
  background-color: #fff;
  /**update jy**/
  /* border-bottom: none;added by wl*/
  border-bottom: 1px solid #ccc;
}

.ant-modal-title {
  font-size: 14px;
  line-height: 19px;
  font-weight: 700;
  color: #333333 !important;
  /**add jy**/
}

.ant-modal-close-x {
  width: 40px;
  height: 40px;
  line-height: 40px;
  font-size: 14px;
}

.ant-modal-body {
  padding: 10px 5px 10px;
  background-color: #ffffff !important;
  /**add jy**/
  color: #333;
  /**add jy**/
  overflow: auto;
  /*add by wl*/
}

.ant-modal-content {
  border: 1px solid #ccc !important;
}

.comparWindow table thead {
  font-size: 14px;
  /*add by wl*/
  font-weight: bold;
  background: #1c1c1c;
}

.comparWindow table tbody {
  font-size: 12px;
  /*add by wl*/
}

.comparWindow table {
  white-space: nowrap;
  /*add by wl*/
}

.comparWindow table tbody>tr:nth-child(even) {
  /*background: #f1f3f4;
  border: 1px inset #f1f3f4;*/
  background: #212123;
  /* updated by wl */
  /*  border: 1px inset #242629;/* updated by wl */
}

.comparWindow td {
  border: #686868 solid 1px !important;
  padding: 10px;
}


.ant-modal-footer {
  padding: 10px 20px;
  /*add by wl*/
  border-top: none;
  text-align: center;
  /* background-color: #242629!important;/**add jy**/
}

.ant-modal.error .ant-modal-body {
  font-size: 12px;
  padding-left: 20px;
}

/* 抽屉框样式 */
.ant-drawer-header {
  position: relative;
  padding: 15px 20px;
  border-bottom: 1px solid #ccc !important;
  border-radius: 0px 0px 0 0;
  background-color: #fff;
  color: #333333 !important;
  /**add jy**/
}

.ant-drawer-title {
  margin: 0;
  color: #333333;
  font-weight: 700;
  font-size: 14px;
  /*updated by wl*/
  line-height: 17px;
  /*updated by wl*/
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 90%;
}

.ant-drawer-title .anticon {
  overflow: visible !important;
  padding-right: 5px;
  color: #333 !important;
}

.ant-drawer-body {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 20px;
  padding-right: 20px;
  /*padding: 16px;*/
  /*updated by wl*/
  word-wrap: break-word;
  /*background-color: #242629 !important;/**add jy**/
  background-color: #FFFFFF !important;
  /**add jy**/
  color: #333333;
  /**add jy**/
  /*height: 87%; updated by wl*/
  height: calc(100% - 100px);
  /*overflow: auto;*/
  /*updated by wl*/
  /*overflow: auto;*/
  /*overflow: initial;解决权限树抽屉滚动条问题*/
  overflow-x: hidden;
}

.loading-container img {
  width: 30px;
  height: 30px;
  position: absolute;
  /* top:calc(50% - 40px);
    left:calc(50% - 40px); */
}

.ant-dropdown-menu {
  color: #333333 !important;
  /*add by wl*/
  /*opacity:0.9 !important;*/
  background-color: #ffffff !important;
  /*add by wl*/
  font-size: 12px !important;
}

.ant-dropdown-menu-item {
  color: #333333 !important;
  /*add by wl*/
  background-color: #ffffff !important;
  /*add by wl*/
  margin-top: 5px;
  margin-bottom: 5px;
  margin-left: 4px;
  margin-right: 4px;
}

/*
li.ant-dropdown-menu-item:hover {
	color: #2e6cf6 !important;
	background-color: #fff !important;
}
*/
.ant-dropdown-menu-item>a {
  color: #333333 !important;
  /*add by wl*/
  margin: 0px;
  /*add by wl*/
}

/*add by wl*/
.ant-dropdown-menu-item .ant-input {
  background-color: #ffffff !important;
  padding-left: 10px;
  padding-right: 10px;
  border: 1px solid #7c8491 !important;
}

.ant-dropdown-menu-item .ant-input:hover {
  border-color: rgb(24, 144, 254) !important;
}



.ant-dropdown-menu-item:hover {
  background-color: #2e6cf6;
  /*add by wl*/
}

.ant-pagination-item-active a {
  color: #2e6cf6 !important;
  /*add by wl*/
}

.ant-pagination-item-active {
  border-color: #2e6cf6 !important;
  /*add by wl*/
}

/*add by wl*/
.ant-pagination-next:hover,
.ant-pagination-prev:hover {
  background-color: #2e6cf6 !important;
  border-color: #2e6cf6 !important;

}

/*add by wl*/
.ant-drawer-close {
  font-size: 14px !important;
  line-height: 50px;
  height: 50px;
  width: 50px;
}

.ant-drawer-close-x:hover {
  padding: 3.5px 5px;
  /* font-size: 14px !important; */
  background-color: #e8e8e8;
  transition: background-color .1s cubic-bezier(.645, .045, .355, 1);
}

/*add by wl*/
.ant-radio-wrapper span,
.ant-checkbox-wrapper span {
  font-size: 12px;
  color: #333;
}

/*add by wl*/
.ant-radio,
.ant-checkbox {
  vertical-align: text-bottom !important;
}

/*add by wl*/
li.ant-dropdown-menu-item:hover>a {
  background-color: #2e6cf6 !important;
  color: #fff !important;
}

.ant-drawer-wrapper-body label {
  font-weight: bold;
  margin-bottom: 0px !important;
}

.ant-input-number {
  height: 34px !important;
  font-size: 12px !important;
  border-color: #474747 !important;
  background-color: #242629 !important;
  border-radius: 4px !important;
}

/*add by wl*/
.ant-pagination-next .ant-pagination-item-link,
.ant-pagination-prev .ant-pagination-item-link {
  /*background-color: #c6c6c6;*/
  background-color: #eef0f4;
  border-radius: 0px;
  border: none;
}

.ant-pagination-item {
  border: 1px solid #ccc;
  background-color: #ffffff;
}

/*add by wl*/
.ant-pagination-prev a:hover,
.ant-pagination-next a:hover {
  /*color: #FFF !important;*/
  background-color: #2e6cf6 !important;
}

/*add by wl*/
.ant-empty-small {
  color: #7c8491 !important;
  /*add by wl*/
}

.ant-select-dropdown-menu-item:has(.ant-empty-small):hover .ant-empty-description {
  color: #fff;
}

/*add by wl*/
.ant-btn:not([disabled]):hover {
  background-color: #2e6cf6 !important;
  border-color: #2e6cf6;
  color: #FFF !important;
}

.login-content .ant-btn:not([disabled]):hover {
  border-color: #FFF;
}

/*add by wl*/
.ant-select-selection__rendered input:focus {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 0px #5794f2 !important;
  /*add by wl*/
}

.home-search .input-group.m-b-20 .btn {
  color: #333333;
}

.open .dropdown-toggle.btn-inverse {
  background-color: #2e6cf6;
  color: #fff !important;
}

/*add by wl*/
.ant-select-dropdown-menu-item {
  color: #333333 !important;
  /*add by wl*/
}

.ant-select-dropdown-menu-item .anticon-eye {
  padding-right: 10px;
}

.ant-select-dropdown-menu-item .anticon-eye svg:hover {
  fill: #fff;
}

/*add by wl*/
.ant-select-dropdown-menu-item:hover {
  background-color: #2e6cf6 !important;
  /*add by wl*/
  color: #fff !important;
}

/*add by wl*/
.ant-select-dropdown-menu-item-active {
  background-color: #2e6cf6 !important;
  /*add by wl*/
}

/*add by wl*/
.drawer-footer {
  position: absolute;
  bottom: 0px;
  width: 100%;
  /*
  border-top: 1px solid rgb(232, 232, 232);
  */
  border-top: 1px solid #ccc !important;
  /*add by wl*/
  /*background-color: #171717;*/
  padding: 10px 16px;
  text-align: left;
  left: 0px;
}

/*add by wl*/
.ant-select {
  font-size: 12px !important;
  /*add by wl*/
}

.ant-select-dropdown {
  font-size: 12px !important;
  /*add by wl*/
  background-color: #fff !important;
  /*add by wl*/
}

.ant-drawer-content {
  position: relative;
  z-index: 1;
  background-color: #ffffff;
  /*#242629*/
  background-clip: padding-box;
  border: 0;
  border-left: 1px solid #2c2f34;
}

/*
.ant-drawer-body ice-adaptive-table .table-container{
	height: 90%;
}
*/
/*
.instance-details .ant-drawer-body ice-adaptive-table .table-container{
	height: 98%;
}

.log-details .ant-drawer-body ice-adaptive-table .table-container{
	height: 97%;
}
*/
.ant-drawer-body ice-adaptive-table .table-container {
  /*height: 97%;*/
  height: calc(100% - 30px);
}

ice-instance-editor ice-adaptive-table .table-container {
  /*height: 97%;*/
  height: 100% !important;
}

.ant-drawer-body nz-table+ice-adaptive-table .ant-table {
  margin-top: 0px !important;
  /*add by wl*/
}

.ant-drawer-body nz-table+ice-adaptive-table .table-container {
  height: 90%;
  /*add by wl*/
}


/*nz zorro 下拉选择*/
.ant-select-selection {
  display: block;
  /*height: auto;*/
  /*34px*/
  box-sizing: border-box;

  /*
  background-color: #2C3036;
  border: 1px solid #474747;
  */
  border-color: #ccc;
  background-color: transparent;
  color: #333333;
  border-top-width: 1.02px;
  border-radius: 0px;
  outline: 0;
  transition: all .3s cubic-bezier(.645, .045, .355, 1);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ant-select-disabled .ant-select-selection {
  /*background: #2C3036 !important;*/
  cursor: not-allowed;
  background-color: #fafafa !important;
}

.ant-select-dropdown-menu {
  max-height: 500px;
  margin-bottom: 0;
  padding-left: 0;
  overflow: auto;
  list-style: none;
  outline: 0;
  background-color: #ffffff;
  color: #7B8390;
}

/* 确认框样式 */
.ant-modal-confirm .ant-modal-body {
  padding: 0 0 20px 0;
}

.ant-modal-confirm-warning .ant-modal-confirm-body>.anticon,
.ant-modal-confirm-confirm .ant-modal-confirm-body>.anticon,
.ant-modal-confirm-success .ant-modal-confirm-body>.anticon {
  display: none;
}

.ant-modal-confirm-body>.anticon+.ant-modal-confirm-title+.ant-modal-confirm-content {
  margin-left: 0px;
  max-height: 450px;
  overflow-y: auto;
}

.ant-modal-confirm-body .ant-modal-confirm-title {
  /**color: rgba(0, 0, 0, 0.85);**/
  color: #333333;
  /**update jy**/
  font-weight: bold;
  font-size: 14px;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 40px;
  line-height: 40px;
  /*background: rgb(226, 231, 235);*/
  background: 272f3d;
  /*update jy*/
  border-radius: 0px 0px 0 0;
  padding: 0 20px;
}

.ant-modal-confirm-body .ant-modal-confirm-content {
  margin: 0;
  padding: 20px;
  font-size: 12px;
  /*color: rgba(0, 0, 0, 0.65);*/
  color: #333333;
  /*update jy*/
}

/*add by jy*/
.ant-form-item-label {
  display: inline-block;
  overflow: hidden;
  line-height: 21px;
  white-space: nowrap;
  text-align: right;
  vertical-align: middle;
  color: rgb(226, 231, 235);
  /*add jy*/
}

/*add by jy*/
.ant-form-item-label>label {
  color: #000000;
  /*add jy*/
  white-space: nowrap;
  /*added by wl*/
  padding: 2px 0 4px;
  /*added by wl*/
  font-size: 12px;
  z-index: 999;
}

.ant-modal-confirm .ant-modal-confirm-btns {
  margin: 0;
  float: none;
  text-align: center;
  margin-top: 15px;
}

/*按钮样式*/
.ant-btn {
  /*color: #333;*/
  color: #333;
  /*update wl*/
  /**background-color: #fff;**/
  background-color: #fff;
  /*update wl*/
  /*border-color: #d9dfe3;*/
  border-color: #ccc !important;
  /* update wl*/
  border-radius: 4px !important;
  margin-right: 4px;
  height: 32px;
  /* update wl*/
  line-height: 33px;
  padding: 0 10px;
  font-weight: bold;
}

.ant-btn[disabled] {
  /*color: #333;*/
  color: #7c8491;
  /*update wl*/
  /**background-color: #fff;**/
  background-color: #d9d9d9;
  /*update wl*/
  /*border-color: #d9dfe3;*/
  border-color: #2c3036;
  /* update wl*/
  border-radius: 0px;
  margin-right: 4px;
  height: 32px;
  /* update wl*/
  line-height: 33px;
  padding: 0 10px;
  font-weight: bold;
}

.ant-btn-sm {
  font-size: 12px;
}

.ant-btn:focus {
  color: #000000;
  /*update wl*/
  /*background-color: #fff;*/
  background-color: #fff;
  /*update wl*/
  /*border-color: #d9dfe3;*/
  border-color: #2c3036;
  /* update wl*/

}

.ant-btn:hover {
  background-color: #2e6cf6;
  border-color: #2e6cf6;
  color: #FFF;
  box-shadow: none;
}

.ant-btn.disabled:hover,
.ant-btn[disabled]:hover,
.ant-btn.disabled:focus,
.ant-btn[disabled]:focus,
.ant-btn.disabled:active,
.ant-btn[disabled]:active {
  text-shadow: none;
  box-shadow: none;
  background-color: #d9d9d9;
  border-color: #ccc;
  color: #7c8491;
  opacity: 0.65;
}

/*覆盖默认nz-table样式*/
.ant-table-thead {
  border-right: 1px solid white;
  border-bottom: 1px solid #333333;
}

/* added by wl 步骤栏文本样式 */
.ant-steps-item-title h6 {
  color: #333333;
  font-size: 12px;
  padding-bottom: 20px;
}

/* added by wl 步骤栏等待节点颜色 */
.ant-steps-item-wait .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot {
  /* background: rgba(255, 255, 255, 0.25);*/
  background: #999
}

.ant-steps-item {
  margin-top: 25px;
  /*added by wl*/
}

.ant-table-placeholder {
  display: none;
}


.ant-table-thead>tr>th,
.ant-table-tbody>tr>td {
  background: transparent !important;
  /* color: #2d353c;*/
  color: #333333;
  /* updated by wl */
  padding: 8px;
  border-top: none;
  border-bottom: none;
  white-space: nowrap;
  max-width: 0px;
  /*避免错行的特殊设置*/
  overflow: hidden;
  text-overflow: ellipsis;
}

.ant-table-thead>tr>th {
  background: #fff;
}

.ant-table-tbody>tr {
  /*
  background: #fff;
  border: 1px inset #fff;
  */
  background: #fff;
  /*border: 1px inset #212123;*/
  font-size: 12px;
  border-color: transparent !important;
}

.ant-table-tbody>tr:nth-child(odd) {
  /*background: #f1f3f4;
  border: 1px inset #f1f3f4;*/
  background: #f3f5fb;
  /* updated by wl  #f5f7f9 */
  border: transparent !important;
  /* updated by wl */
}

.ant-table-tbody>tr.nzTableSelected {
  background: #e0f3fb;
  border: 1px solid #e0f3fb;
}

.ant-table-tbody>tr:hover td {
  border-top: 1px solid #2e6cf6;
  border-bottom: 1px solid #2e6cf6;
}

.ant-table-tbody>tr:hover>td:first-child {
  border-left: 1px solid #2e6cf6;
}

.ant-table-tbody>tr:hover>td:last-child {
  border-right: 1px solid #2e6cf6;
}

.ant-table-thead>tr>th {
  font-size: 12px;
  font-weight: bolder;
}

.ant-table-tbody>tr {
  font-size: 12px;
}

.ant-table-tbody>tr>td:hover,
.ant-table-thead>tr,
.ant-table-thead>tr:hover,
.ant-table-thead>tr>th.ant-table-column-sort,
.ant-table-thead>tr>th.ant-table-column-sort:hover,
.ant-table-thead>tr>th.ant-table-column-has-actions.ant-table-column-has-sorters:hover {
  /* background: white; */
  /* background: #fafafa; updated by wl */
  background: #fff;
}

/*.ant-table-tbody>tr>td .ant-checkbox-checked:after,
.ant-table-thead>tr>th .ant-checkbox-checked:after {
  border: 1px solid transparent;
}*/

.ant-table-thead>tr>th .ant-table-column-sorters:hover:before {
  background: rgba(0, 0, 0, 0);
}

.ant-table-thead>tr.ant-table-row-hover:not(.ant-table-expanded-row)>td,
.ant-table-tbody>tr.ant-table-row-hover:not(.ant-table-expanded-row)>td,
.ant-table-thead>tr:hover:not(.ant-table-expanded-row)>td,
.ant-table-tbody>tr:hover:not(.ant-table-expanded-row)>td {
  background: transparent;
}

/*.ant-table-thead>tr>th .ant-checkbox-inner,
.ant-table-tbody>tr>td .ant-checkbox-inner {
  width: 18px;
  height: 18px;
  background: white;
  border: 1px solid #d9dfe3;
}*/

/*
.ant-table-tbody>tr>td .ant-checkbox-inner,
.ant-table-thead>tr>th .ant-checkbox-inner {
  top: -6px;
}
*/

/*.ant-table-thead>tr .ant-checkbox-indeterminate .ant-checkbox-inner:after {
  background-color: #2e6cf6;
}*/

/*.ant-table-tbody>tr>td .ant-checkbox-checked .ant-checkbox-inner,
.ant-table-thead>tr>th .ant-checkbox-checked .ant-checkbox-inner {
  border-color: #2e6cf6 !important;
  background-color: white;
}*/

/*.ant-table-tbody>tr>td .ant-checkbox-checked .ant-checkbox-inner:after,
.ant-table-thead>tr>th .ant-checkbox-checked .ant-checkbox-inner:after {
  border: none;
  background: #2e6cf6;
  width: 12px;
  height: 12px;
  transform: rotate(0deg) scale(1);
  position: absolute;
  left: 2px;
  top: 2px;
  transition: none;
  border-radius: 2px;
}*/
/*
.ant-table-thead>tr>th .ant-checkbox-checked .ant-checkbox-inner:after,
.ant-table-thead>tr>th .ant-checkbox-checked .ant-checkbox-inner:after {
  border: none;
  background: #2e6cf6;
  width: 12px;
  height: 12px;
  transform: rotate(0deg) scale(1);
  position: absolute;
  left: 2px;
  top: 2px;
  transition: none;
}*/

/*
.ant-table-tbody>tr>td .ant-checkbox-wrapper:hover .ant-checkbox-inner,
.ant-checkbox:hover .ant-checkbox-inner,
.ant-checkbox-input:focus+.ant-checkbox-inner {
  border-color: #d9dfe3;
}
*/

/*修改日历组件颜色为系统主色*/
.ant-calendar-today .ant-calendar-date {
  border-color: #2e6cf6;
  color: #2e6cf6;
}

.ant-calendar-date:hover {
  background: #2e6cf6;
  color: white;
}

.ant-calendar-selected-date .ant-calendar-date,
.ant-calendar-selected-start-date .ant-calendar-date,
.ant-calendar-selected-end-date .ant-calendar-date {
  background: #2e6cf6;
  color: white;
}

.ant-calendar-selected-date .ant-calendar-date:hover,
.ant-calendar-selected-start-date .ant-calendar-date:hover,
.ant-calendar-selected-end-date .ant-calendar-date:hover {
  background: #2e6cf6;
  color: white;
}

.ant-calendar-time .ant-calendar-footer-btn a {
  color: #2e6cf6;
}

.ant-calendar-time .ant-calendar-footer-btn {
  text-align: center !important;
}

.ant-calendar .ant-calendar-ok-btn,
.ant-calendar .ant-calendar-ok-btn:hover {
  background: #2e6cf6;
  border-color: #2e6cf6;
  color: white !important;
}

/*added by wl */
.ant-calendar-input-wrap {
  padding: 0px !important;
  border-bottom: 0px solid #ffffff !important;
}

/*add by wl*/
.ant-calendar-picker {
  margin-right: 1px;
  width: 278px;
}

.colSearchDisplay .ant-calendar-picker {
  /*width: 278px;*/
  width: 100% !important;
}

/*add by wl*/
.ant-calendar-picker-container input {
  padding-left: 10px;
  /*border-top-left-radius: 4px;*/
  /*border-top-right-radius: 4px;*/
  background-color: #2c3036;
  color: #333333;
}

/*add by wl*/
/*
.ant-time-picker {
	width: 168px !important;
}
*/
/*add by wl*/
.ant-time-picker-panel-input {
  max-width: 168px !important;
  padding-left: 10px !important;
}

/*add by wl*/
.ant-calendar {
  font-size: 12px !important;
  border: 0px solid #fff !important;
}

/*add by wl*/
.ant-time-picker-panel-select {
  font-size: 12px !important;
}

/*add by wl*/
.ant-time-picker-panel-input-wrap {
  padding: 0px !important;
}

/*add by wl*/
.ant-input-number-handler-wrap {
  background: #fff !important;
  border-left: 1px solid #454545 !important;
}

/*add by wl*/
.ant-input-number-handler-down {
  border-top: 1px solid #454545 !important;
}

/*add by wl*/
.ant-drawer-body .ant-form-item-label {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  padding-left: 0px !important;
  width: 100%;
}

/*add by wl*/
.ant-table-bordered .ant-table-body>table {
  border: none !important;
}

/*add by wl*/
.ant-modal-body .ant-table-body {
  overflow: auto;
  max-height: 500px;
}

/*add by wl*/
.ant-table-bordered .ant-table-thead>tr>th {
  border: none !important;
}

.ant-table-bordered .ant-table-tbody>tr>td {
  border: none !important;
  vertical-align: top !important;
}

/*add by wl*/
.ant-table-tbody .ant-btn {
  height: 34px !important;
  padding: 0px 8px !important;
  /*background-color: #2c3036 !important;*/
  background-color: transparent !important;
  /*border-color: #474747 !important;*/
  color: #2e6cf6;
}

.ant-table-tbody .ant-btn:not([disabled]):hover {
  color: #ffffff;
}

/*add by wl*/
.ant-list {
  color: #333333 !important;
  font-size: 12px !important;
}

/*add by wl*/
.ant-empty-normal {
  color: #666666 !important;
  font-size: 12px;
}

nz-table .ant-empty-normal {
  text-align: justify;
}

/*add by wl*/
.ant-dropdown-trigger.ant-btn,
.ant-dropdown-trigger.ant-btn:hover {
  color: #e3e2e2 !important;
  top: 1px;
}

/*add by wl*/
.ant-dropdown-menu .ant-dropdown-menu-item {
  padding-left: 10px !important;
  padding-right: 10px !important;
  /*padding-top: 1px !important;*/
  /*padding-bottom: 5px !important;*/
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  font-size: 12px;
  text-align: left !important;
}

/*add by wl
.ant-dropdown-menu .ant-dropdown-menu-item:hover{
	background-color: transparent !important;
}*/
/*add by wl*/
.anticon {
  color: #333333 !important;
}

.ant-select-selection {
  border-color: rgb(44, 48, 54);
}

.ant-select-selection--multiple .ant-select-selection__choice__remove>* {
  color: #777 !important;
}

.ant-table-header {
  background: #242629;
}

.ant-table-bordered.ant-table-fixed-header .ant-table-header>table {
  border: 1px solid #fff;
}

/*
.ant-pagination-disabled .ant-pagination-item-link, .ant-pagination-disabled a{
	background-color: #2c3036;
	border: none;
}
*/
/*add by wl*/
.ant-list-header {
  padding-left: 6px;
  padding-bottom: 2px
}

/*add by wl*/
.ant-select-dropdown-menu .ant-select-dropdown-menu-item-selected {
  /*color: #7B8390 !important;*/
  color: #ffffff !important;
}

/*add by wl*/
nz-form-label.ant-form-item-label {
  text-align: left;
  padding-top: 9px;
  padding-left: 50px;
}

ice-distask nz-form-label.ant-form-item-label {
  padding-left: 0px !important;
}

/*add by wl*/
nz-form-label.ant-form-item-label>label::after {
  content: none;
}

/*add by wl*/
.ant-drawer-body textarea.ant-input {
  /*min-height: 150px;*/
  background-color: #2c3036;
  color: #354052;
  /*#98e884*/
  font-weight: bold;
  font-size: 12px !important;
}

/*add by wl*/
.ant-drawer-body .ant-form-item {
  color: #333333 !important;
  margin: 0 0 8px;
  padding-top: 5px;
  /*margin-top: 8px !important;*/
}

/*add by wl*/
.ant-form-vertical .ant-form-item {
  padding-bottom: 0px !important;
}

/*add by wl*/
.ant-calendar .ant-calendar-ok-btn-disabled {
  color: rgba(0, 0, 0, 0.25);
  background-color: #f5f5f5;
  border-color: #d9dfe3;
}

/*add by wl*/
.input-group .form-control.input-white:focus {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 5px #5794f2 !important;
}

/*add by wl*/
.input-group-btn:last-child>.btn {
  margin-left: 1px;
}

.home-search .input-group .form-control:first-child {
  border-top-right-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
  /*border: 0px solid #ccd0d4;*/
  /*width: 88%;*/
  /* flex 子项：撑满剩余宽度；min-width:0 允许收缩，避免内容把输入框顶出右侧 */
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  color: #333 !important;
  background-color: #eef2f9 !important;
  /*#fafafa*/
}

.result-container .input-group .form-control:first-child {
  border-top-right-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
  /*border: 0px solid #ccd0d4;*/
  /*width: 88%;*/
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  color: #333 !important;
  background-color: #eef2f9 !important;
  /*#fafafa*/
}

.home-search .input-group-btn,
.result-container .input-group-btn {
  /*width: 12%;*/
  /* 按钮组宽度随按钮内容自适应（不再写死，避免裁切），flex 子项不伸缩，始终贴右 */
  width: auto;
  flex: 0 0 auto;
  display: inline-flex;
  justify-content: flex-end;
}

.home-search .input-group.m-b-20,
.result-container .input-group.m-b-20 {
  margin-bottom: 10px !important;
  /* flex 让输入框撑满、按钮组贴右；显式 width:100% 防止 flex 容器在首页特定父级下塌陷 */
  display: flex;
  width: 100%;
  align-items: stretch;
}

.result-container .input-group.m-b-20 .btn {
  color: #333333 !important;
}

.home-search .dropdown .btn.btn-inverse,
.result-container .dropdown .btn.btn-inverse {
  padding-top: 8px;
  padding-bottom: 8px;
  border-top-width: 1px;
  border-bottom-width: 0px;
  margin-left: 1px !important;
}

.home-search {
  margin-top: 10px;
}

.dropdown .btn.btn-inverse:hover {
  background-color: #2e6cf6;
  border-color: #2e6cf6;
  color: #fff !important;
}

.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle):hover {
  color: #fff !important;
}

.input-group-btn .btn.btn-inverse:not(.active)+.btn.btn-inverse {
  margin-left: 0px;
}


.ant-calendar-time .ant-calendar-footer .ant-calendar-today-btn {
  display: none;
}

.input-group-btn:last-child>.btn:hover {
  background-color: #2e6cf6;
  border-color: #2e6cf6;
  color: #fff !important;
}

/*
.dropdown-menu>li>a:hover{
	background: #2e6cf6;
	color:#ffffff !important;
}
*/
.dropdown-menu>li>a {
  color: #333333;
}

/* udpated by wl for mainpage-search 3 buttons */
.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
  height: 34px !important;
  color: #333333 !important;
}

.input-group-btn .btn.btn-inverse:not(.active)+.btn.btn-inverse {
  margin-left: 1px;
  height: 34px !important;
  color: #333333
    /* !important */
  ;
}

.input-group-btn:last-child>.btn {
  height: 34px !important;
  color: #333333 !important;
}

/* udpated by wl */
.ant-drawer-body .ant-table {
  margin-top: 15px;
  margin-bottom: 15px;
  /*height: calc(100vh - 100px) !important;*/
}

/* udpated by wl */
.ant-select-dropdown-menu .ant-select-dropdown-menu-item-selected {
  background-color: #2e6cf6;
}

/* udpated by wl */
.ant-modal-content .ant-modal-body nz-table.ant-table-wrapper {
  margin-top: 10px
}

/* udpated by wl */
.ant-notification-notice-with-icon .ant-notification-notice-message {
  font-weight: bold;
  margin-left: 28px !important;
}

.anticon.ant-notification-notice-icon.ant-notification-notice-icon-error.anticon-close-circle+.ant-notification-notice-message {
  margin-left: 28px;
}

.anticon.ant-notification-notice-icon.ant-notification-notice-icon-info.anticon-info-circle+.ant-notification-notice-message {
  margin-left: 28px;
}

.anticon.ant-notification-notice-icon.ant-notification-notice-icon-success.anticon-check-circle+.ant-notification-notice-message {
  margin-left: 28px;
}

.ant-notification-notice-icon-success .ant-notification-notice-message {
  font-weight: bold;
  margin-left: 28px !important;
}

/* udpated by wl */
.ant-notification-notice-with-icon .ant-notification-notice-description {
  word-break: break-word;
  margin-left: 28px;
  padding-right: 20px;
  max-height: 600px;
  overflow: auto;
}

.ant-notification-notice {
  max-height: 1000px;
}

.ant-notification-notice-with-icon {
  margin-right: -10px;
}

.ant-notification-notice-with-icon ::-webkit-scrollbar-track-piece,
::-webkit-scrollbar-track,
::-webkit-scrollbar-corner {
  background-color: transparent;
}

/*add by wl*/
.widget h4.title {
  font-size: 14px;
}

/*add by wl*/
p.location {
  font-size: 12px;
}

/*add by wl*/
p.desc {
  font-size: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*add by wl*/

.widget.widget-stats {
  margin-bottom: 15px;
  margin-right: 0px;
  background-color: #ffffff !important;
  /* 242629 */
  /*color: rgba(255,255,255,.6);*/
  height: 105px;
  overflow: initial;
  border: 1px solid #ccc;
  box-shadow: none;
  border-radius: 5px;
  /*box-shadow: 0 2px 4px 0 rgb(54 58 80 / 32%);
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);*/
}

scene-home .widget.widget-stats {
  margin-bottom: 5px;
  margin-right: 0px;
  background-color: #ffffff !important;
  /* 242629 */
  /*color: rgba(255,255,255,.6);*/
  height: 85px;
  overflow: initial;
  padding: 17px 20px !important;
}

scene-resourcessearchapp .widget.widget-stats {
  padding: 20px 20px !important;
}

scene-resourcessearchip .widget.widget-stats {
  padding: 20px 20px !important;
}

scene-resourcessearchrack .widget.widget-stats {
  padding: 20px 20px !important;
}

scene-resourcessearchapp .app-details .widget.widget-stats,
scene-resourcessearchip .app-details .widget.widget-stats,
scene-resourcessearchrack .app-details .widget.widget-stats {
  padding: 15px 20px !important;
}

.widget.widget-stats:hover,
.widget-chart:hover {
  border: 1px solid #2e6cf6;
}


/*add by wl*/
.result-container .m-b-20 {
  margin-bottom: 10px !important;
}

/*add by wl*/
.result-container .pagination {
  margin-top: 3px;
  margin-bottom: 14px;
}

/*add by wl*/
.ant-pagination-jump-next,
.ant-pagination-jump-prev,
.ant-pagination-next,
.ant-pagination-prev,
.ant-pagination-item {
  height: 24px;
  line-height: 24px;
  font-size: 12px;
  border-radius: 0px;
}

/*add by wl*/
.ant-pagination-jump-next,
.ant-pagination-jump-prev {
  /*min-width: 52px;*/
  background-color: transparent;
}

.ant-pagination-next,
.ant-pagination-prev {
  min-width: 52px;
  background-color: #eef0f4;
  border: 1px solid #ccc;
}

.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis {
  color: #7c8491;
}

.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis {
  color: #7c8491;
}

.ant-divider-horizontal.ant-divider-with-text {
  color: #333333 !important;
  font-size: 14px !important;
}

/*add by wl*/
.ant-divider-horizontal.ant-divider-with-text-left::after,
.ant-divider-horizontal.ant-divider-with-text-left::before,
.ant-divider-horizontal.ant-divider-with-text-right::after,
.ant-divider-horizontal.ant-divider-with-text-right::before,
.ant-divider-horizontal.ant-divider-with-text::after,
.ant-divider-horizontal.ant-divider-with-text::before {
  border-top: 0.5px dashed #7c8491 !important;
}

.btn.btn-inverse {
  color: #fff;
  background: #ffffff;
  border-color: #ccc !important;
  color: #333333 !important;
}

.login-v2 .login-header .animated {
  animation-duration: 1s;
}


/*
.login-v2:hover {
    transform: rotate(360deg);
    transition: transform 0.5s linear;
}
*/
/*
.login-header img:hover{
	transform: rotatey(360deg);
    transition: background 2s ease,transform 2s ease-in 1s;
    transition: transform 1s linear;
}
*/
.login-v2 input.form-control {
  background: rgba(255, 255, 255, 0.05) !important;
  border-radius: 0px;
}

.login .login-header {
  top: 20px;
}


.login-header img.logo {
  margin-left: 135px;
  /*margin-top: 10px;*/
  width: 145px !important;
  height: 80px !important;
  margin-top: -5px;
}

.brand h1 {
  font-size: 33px;
  margin-top: 11.2px;
  margin-left: 112px;
  letter-spacing: 6px;
  color: rgba(255, 255, 255, 0.85);
  /* font-weight: 200; */
  font-family: inherit;
  font-weight: bold;
}

.login .login-header .brand {
  font-size: 22px;
  padding-left: 100px;
}

.login-content .ant-btn {
  height: 46px;
  margin-bottom: 20px;
  font-size: 14px !important;
}

.login-content .login-footer {
  text-align: center;
}

.home-font a {
  padding-top: 5px;
  margin-bottom: 5px;
  padding-bottom: 5px;
}

.home-font .btn:active {
  border-color: #2e6cf6;
}

.ant-pagination {
  padding-top: 3px;
  padding-bottom: 3px;
}

.breadcrumb {
  margin-top: 6px;
}

.home-search-result-breadcrumb {
  color: #2e6cf6;
}

.result-info h4.title a {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  display: inline-block;
  width: 70%;
  color: #333;
  font-weight: bold;
}

.result-info h4.title {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  display: block;
}

/*add by  wl */
/*
ice-relation-topo>div>canvas {
    width: 1400px !important;
}
*/
ice-relation-topo canvas {
  /*width: 100% !important;*/
  height: auto !important;
  background-color: #eff2f8;
}

ice-relation-topo .btn-group-vertical>.btn.active {
  border: none;
}

/*add by  wl */
.adaptive-table .table-handler {
  background-color: transparent !important;
  margin-top: -8px;
  padding-right: 10px;
  padding-left: 10px;
}

.favourite-list .adaptive-table .table-handler {
  margin-top: 0px !important;
}

/*add by  wl */
.ant-notification-close-icon svg {
  color: #333333;
}

.anticon.ant-notification-notice-icon svg {
  font-size: 14px;
  color: #2e6cf6;
}

.anticon-info-circle svg {
  color: #2e6cf6;
}

/*add by  wl */
.ant-drawer-body .ant-table-bordered .ant-table-tbody>tr>td {
  /*max-width: 50px;*/
  max-width: 0px;
  vertical-align: top;
}

.ant-drawer-body .ant-table-tbody .ant-btn {
  padding-left: 0px !important;
  padding-right: 20px !important;
}

.ant-drawer-body .ant-table-tbody .ant-btn .anticon svg {
  margin-right: -5px;
}



/* 20191017
.ant-table-row .ant-input-number{
	height: 34px !important;
	border-color: rgb(44, 48, 54) !important;
    background-color: transparent !important;
	padding-left: 6px !important;
}
.ant-table-row input.ant-input{
	height: 34px !important;
	border-color: rgb(44, 48, 54) !important;
    background-color: transparent !important;
	padding-left: 6px !important;
}
.ant-table-row .ant-input-number:hover{
    border-color: #2e6cf6 !important;
}
.ant-table-row input.ant-input:hover{
    border-color: #2e6cf6 !important;
}
*/
.ant-input-number,
.ant-input,
textarea.ant-input,
.input-group .form-control:first-child {
  min-height: 34px !important;
  /*border-color: rgb(217,217,217) !important;*/
  border-color: #333333 !important;
  /*border-color: #ffffff30!important;*/
  background-color: transparent !important;
  /*padding-left: 6px !important;*/
}

.input-group .form-control:first-child {
  border-color: rgb(217, 217, 217) !important;
}

/* udpated by wl */
.ant-table-row .ant-input-number-input {
  padding: 0 6px !important;
}

/* udpated by wl */
.ant-select-selection:hover,
.ant-input-number:hover,
.ant-input:hover,
textarea.ant-input:hover,
.input-group .form-control:first-child:hover {
  border-color: #2e6cf6 !important;
}

/* udpated by wl */
/*
nz-modal[nztitle="预览数据"] .ant-modal-content{
	margin-left: -280px;
    margin-right: 500px;
    margin-top: 120px;
}
*/

.ant-divider-horizontal.ant-divider-with-text {
  margin-top: 15px;
  margin-right: 0px;
  margin-bottom: 2px;
  margin-left: 0px;
}

.ant-drawer-body .info-before-table .ant-table {
  margin-bottom: 0px !important;
}

.ant-drawer-body .info-before-bycycle-table .ant-table {
  margin-top: 10px !important;
  margin-bottom: 0px !important;
}

.info-before-bycycle-table:has(.info-in-favourite-config) .ant-table {
  margin-top: 0px !important;
  margin-bottom: 15px !important;
}

.ant-drawer-body .info-before-bycycle-table .ant-table-tbody>tr:nth-child(odd) {
  background-color: #f3f5fb !important;
}

.ant-drawer-body .info-before-table .info-icon-before-table {
  max-width: 22px !important;
  width: 22px;
  padding-left: 7px;
}

.ant-drawer-body .info-before-bycycle-table .info-icon-before-table {
  max-width: 22px !important;
  width: 22px;
  padding-left: 7px;
}

.ant-drawer-body .info-before-advanced-task-table .ant-table {
  margin-top: 0px !important;
  margin-bottom: 5px !important;
}

.ant-drawer-body .info-before-advanced-task-table .info-icon-before-table {
  max-width: 22px !important;
  width: 22px;
  padding-left: 7px;
}

.ant-drawer-body .info-before-advanced-task-table .ant-table-tbody>tr:nth-child(odd) {
  background-color: #f3f5fb !important;
}


.bg-black {
  background-color: #fff !important;
  /*box-shadow: 0 2px 4px 0 rgb(54 58 80 / 32%);*/
  box-shadow: 0 1px 4px 0 rgb(0 0 0 / 10%);
}

.ant-checkbox-inner {
  background-color: #fff;
  border: 1.5px solid #ccc;
}

.ant-table-footer.ng-star-inserted .ant-row-flex.ant-row-flex-top.ant-row-flex-space-between.ng-star-inserted>div:first-child {
  margin-top: 3px;
  margin-bottom: 3px;
}

i.anticon.ant-table-column-sorter-up.anticon-caret-up.on,
i.anticon.ant-table-column-sorter-down.anticon-caret-down.on {
  color: #2e6cf6 !important;
}

.ant-table-thead>tr>th .ant-table-column-sorter-up.on,
.ant-table-thead>tr>th .ant-table-column-sorter-down.on {
  color: #2e6cf6;
}

.home-char.ng-star-inserted>div {
  background: #fff;
  text-align-last: center;
}

scene-home .breadcrumb>li+li:before {
  /*color: #1c1c1c;*/
  content: none;
}

a.home-font {
  color: #1899ff;
}

a.home-font:hover {
  color: #2e6cf6;
}

h4.home-container {
  white-space: nowrap;
  text-overflow: ellipsis;
  padding-top: 15px;
  padding-bottom: 15px;
  color: #ffffff;
  font-size: 14px !important;
}

.g2-tooltip {
  text-align-last: left !important;
}

.g6-tooltip {
  /*border: 1px solid #000000;*/
  border: 1px solid #454545;
  border-radius: 0px;
  font-size: 10px;
  color: #ffffff;
  background-color: #212123;
  padding: 10px 8px;
  /*box-shadow: #000000 0px 0px 10px;*/
  opacity: 1;
  text-align: left !important;
  z-index: 100;
  max-width: 500px;
  overflow: hidden;
  text-overflow: ellipsis;
}

a[disabled] {
  color: #949494 !important;
}

.nav.nav-tabs.underline li.active a.ng-binding {
  background-color: transparent !important;
}

.ant-drawer-body ice-instance-editor .ant-form {
  overflow-x: hidden;
  /*height: 600px;*/
  height: 100%;
  margin-top: 10px;
}

.ant-drawer-body ice-instance-editor .ant-tabs-bar {
  margin-bottom: 0px !important;
  border-bottom: 0px solid rgb(227, 226, 226);
}

.ant-drawer-body ice-instance-editor ice-dynamic-form .ant-calendar-picker {
  width: 368.66px;
}

.ant-drawer-body .ant-tabs {
  height: 100%;
}

.ant-drawer-body .ant-tabs-tab {
  color: #7c8491;
}

/*
.ant-drawer-body ice-instance-editor  .adaptive-table .table-handler{
	background-color: #242629 !important;
}

.ant-drawer-body ice-adaptive-table  .adaptive-table .table-handler{
	background-color: #242629 !important;
}
*/

.ant-tabs-tab-active {
  color: #333 !important;
}

nz-header .ant-menu-item-selected {
  /*color: #2e6cf6 !important;*/
  color: #1c1c1c !important;
}

.ant-menu.ant-menu-dark .ant-menu-item-selected {
  color: #fff !important;
}

.ant-menu-dark .ant-menu-item:hover {
  color: #fff !important;
}

.widget-stats .stats-number {
  color: #333;
  font-size: 21px;
  font-weight: bold;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

scene-home .widget-stats .stats-number a {
  color: #333;
  font-weight: bold;
}

.widget-stats .stats-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  color: #333333;
}

.favourites .widget-stats .stats-number {
  margin-bottom: 6px;
  margin-top: 9px;
  text-overflow: ellipsis;

  white-space: nowrap;
  overflow: hidden;
}

.favourites .widget-stats .stats-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  width: 85%;
  margin: 2px 0 5px;
}

.ant-table-title {
  /*padding: 10px 0;*/
  padding: 10px 10px;
  background-color: #fff;
  /*top:15px;*/
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
  border-radius: 0px;
}

ice-dismain .ant-table-title {
  top: 15px;
}

ice-servicemain .ant-table-title {
  top: 15px;
}

.favourite-list nz-table.ant-table-wrapper.ant-table-empty.ng-star-inserted {
  height: 45px;
  /*added by wl*/
}

.favourites .col-md-12 {
  padding-top: 10px !important;
  padding-bottom: 13px !important;
}

.favourites .widget {
  padding: 16px 20px;
}

.favourites .widget.widget-stats {
  height: 115px !important;
}

ice-dismain .widget.widget-stats {
  height: 85px;
  margin-bottom: 5px;
  margin-top: 10px;
  padding: 17px 20px !important;
}

ice-servicemain .widget.widget-stats {
  height: 85px;
  margin-bottom: 5px;
  margin-top: 10px;
  padding: 17px 20px !important;
}

ice-discheck .widget.widget-stats {
  height: 85px;
  /*margin-bottom: 5px;*/
  margin-top: 10px;
  padding: 17px 20px !important;
}


ice-distask .table-handler input[type=text] {
  /*margin-top: 10px;*/
  border-color: #ccc !important;
  background-color: #eef2f9 !important;
}

.dismain-noButton-all,
.servicemain-noButton-orchestration,
.servicemain-noButton-dataExpress,
.disagent-noButton-all {
  margin-top: 8px;
  color: #333333;
  font-weight: bold;
  font-size: 13px;
}

.ant-drawer-content ice-resource-instance .ant-tabs .ant-tabs-top-content.ant-tabs-content-animated {
  flex-grow: inherit;
  height: calc(100% - 60px);
}

ice-instance-editor .ant-tabs .ant-tabs-top-content.ant-tabs-content-animated {
  /*height: 92%;*/
  height: calc(100% - 50px);
}

.g2-guide-html {
  width: 100px;
  height: 80px;
  vertical-align: middle;
  text-align: center;
  padding-top: 6px;

}

.g2-guide-html .title {
  font-size: 12px;
  color: #333333;
  font-weight: 300;
  line-height: 0;
  margin-top: 20px;
}

.g2-guide-html .value {
  font-size: 25px;
  color: #333333;
  font-weight: bold;
  line-height: 1;
}

.nya-bs-select.btn-group .dropdown-menu li.first-in-group .dropdown-header {
  color: #e2e2e2;
}

.topo-ci-info-1 a,
.topo-ci-info-n a {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  font-size: 22px;
}

.topo-ci-info-0 {
  text-align: center;
  float: left;
}

.topo-ci-info-1,
.topo-ci-info-n {
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 5px;
}

.topo-ci-info-1:hover,
.topo-ci-info-n:hover {
  background-color: #eef0f4;
  transition: background-color .3s cubic-bezier(.645, .045, .355, 1);
}

.topo-ci-info-n {
  border-left: .7px solid #949494;
}

.ant-modal-header,
.ant-modal-footer,
.ant-input,
.widget,
.widget-chart,
.ant-checkbox-wrapper span {
  border-radius: 0px;
  /*202211: 4px*/
}

.ant-table-fixed-header .ant-table-scroll .ant-table-header {
  overflow: hidden !important;
}

.ant-menu-inline>.ant-menu-item {
  font-size: 13px;
}

.col-md-6.service-indicator:hover {
  margin-top: -8.5px;
  padding-top: 10px;
  height: 70px;
  background-color: #eff2f8;
  transition: background-color .3s cubic-bezier(.645, .045, .355, 1);
}

.col-md-3.service-indicator:hover {
  margin-top: -12.5px;
  padding-top: 12px;
  padding-bottom: 12px;
  height: 75px;
  background-color: #eff2f8;
  transition: background-color .3s cubic-bezier(.645, .045, .355, 1);
}

.result-info .btn-row a {
  margin-right: 1px;
  padding: 2px;
}

/*
.result-info .btn-row a:hover{
	margin-right: 1px;
    padding: 2px;
	background-color: #2c3036;
    transition: background-color .3s cubic-bezier(.645,.045,.355,1);
}
*/
/*
.topo-ci-tooltip li{
	list-style: none;
}
*/

.ant-select-dropdown-menu .ant-select-dropdown-menu-item-group .ant-select-dropdown-menu-item-group-title {
  color: #333333;
  font-weight: bold;
}

.ant-drawer-wrapper-body nz-table .ant-table-fixed-header .ant-table-scroll .ant-table-header {
  margin-bottom: 0px !important;
  background-color: transparent !important;
}

.ant-modal.error .ant-modal-body {
  max-height: 500px;
}

.treeview.cmdbIndex .col-md-9 {
  width: calc(100% - 235px) !important;
}

.nya-bs-select.btn-group .dropdown-menu li.first-in-group {
  margin-top: 2.5em !important;
}

.nya-bs-select.btn-group .dropdown-menu.inner {
  max-height: 200px !important;
}

.dropdown-menu.open .bs-searchbox input.form-control {
  border-color: #929ba1 !important;
}

.result-container .dropdown .m-l-5 {
  margin-left: 50px !important;
}

.ant-table-fixed-header .ant-table-scroll .ant-table-header {
  padding-bottom: 0px;
}

/*
ice-dismain .ant-table-content::-webkit-scrollbar{
	width: 7px;
    height: 5px;
    display: initial;
}
*/
.ant-layout::-webkit-scrollbar {
  display: none;
}

.ant-drawer-body ice-instance-editor .ant-form::-webkit-scrollbar {
  display: none;
}

.ant-drawer-body ice-instance-editor ice-dynamic-form .ant-calendar-picker {
  width: -webkit-fill-available;
  margin-right: 0px;
}

/*
.ant-drawer-body ice-instance-editor .fa-stack{
	vertical-align:-15%;
}
*/
.ant-drawer-body ice-instance-editor .fa-stack-1x {
  position: absolute;
}

.ant-drawer-body ice-instance-editor .fa-stack-2x {
  position: unset;
}

/*
.ant-drawer-body ice-instance-editor ice-dynamic-form .ant-time-picker{
	width:-webkit-fill-available !important;
}
*/

.collapse-handler {
  cursor: pointer;
}

.ant-drawer-header .ant-drawer-title .collapse-handler {
  display: contents;
  margin-left: -10px;
  margin-right: 5px;
}

.ant-table-fixed-header>.ant-table-content>.ant-table-scroll>.ant-table-body {
  background: #fff !important;
}

.ant-drawer-body .ant-table-fixed-header>.ant-table-content>.ant-table-scroll>.ant-table-body {
  background: #1c1c1c;
  overflow-x: inherit;
}

.blacklist .ant-table-fixed-header>.ant-table-content>.ant-table-scroll>.ant-table-body {
  background: #1c1c1c;
  overflow-x: inherit;
}

.ant-tabs-bar {
  border-bottom: 0px solid #1c1c1c;
}

ice-resource-instance .ant-layout-sider-children {
  /*overflow-y: hidden;*/
  margin-top: 0px;
  background-color: #f5f7fb;
  overflow-x: hidden;
}

ice-resource-model .ant-layout-sider-children {
  /*overflow-y: hidden;*/
  margin-top: 0px;
  background-color: #f5f7fb;
  overflow-x: hidden;
}

ice-resource-tree nz-row {
  margin-top: 3px !important;
}

ice-resource-tree nz-row .ant-btn {
  margin-top: 3px !important;
}

/*ice-resource-instance,ice-resource-model */
ice-resource-tree nz-layout {
  height: 100%;
}

ice-resource-tree nz-layout nz-layout.ant-layout {
  height: inherit;
}

/*
ice-resource-tree nz-row .ant-btn>.anticon:hover{
	color: #2e6cf6 !important;
}
ice-resource-instance nz-row .ant-btn>.anticon:hover{
	color: #2e6cf6 !important;
}
ice-resource-model nz-row .ant-btn>.anticon:hover{
	color: #2e6cf6 !important;
}
*/

ice-resource-tree nz-row nz-col:last-child .ant-btn:hover {
  background-color: #2e6cf6 !important;
}

ice-resource-tree nz-row nz-col:last-child .ant-btn {
  margin-right: 0px;
}

ice-resource-instance nz-row nz-col:last-child .ant-btn:hover {
  background-color: #2e6cf6 !important;
}

ice-resource-model nz-row nz-col:last-child .ant-btn:hover {
  background-color: #2e6cf6 !important;
}

/*
ice-resource-tree nz-row .ant-btn:hover{
	background-color: #1c1c1c;
}
*/
nz-sider.hidetree nz-row {
  background: #ccc !important;
}

nz-sider {
  background-color: #fff !important;
}

ice-resource-instance .ant-tabs-top .ant-tabs-ink-bar-animated {
  bottom: -1px !important;
}

ice-resource-model .ant-tabs-top .ant-tabs-ink-bar-animated {
  bottom: -1px !important;
}

ice-resource-instance .ant-tabs {
  color: #7c8491;
}

ice-resource-model .ant-tabs {
  color: #7c8491;
}

ice-resource-instance .ant-tabs-nav .ant-tabs-tab {
  padding: 12px 0px;
}

ice-resource-model .ant-tabs-nav .ant-tabs-tab {
  padding: 18px 0px;
}

span.ant-tree-title {
  color: #333333 !important;
  font-size: 12px;
  font-family: arial, 'Microsoft Yahei', 'Hiragino Sans GB', sans-serif !important;
  /*float: left;*/
  /* width: 140px; */
  /* width: calc(100% - 18px); */
  word-break: keep-all;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 135px;
}

nz-sider .ant-layout-sider-children .collapse-handler {
  right: 0px;
}

.font-highlight {
  font-weight: bold;
  color: #5ac461 !important;
  /*color: #00b050 !important;*/
}

.ant-table-column-title .ant-checkbox {
  top: -0.5em;
}

.ant-table-row .ant-table-selection-column .ant-checkbox {
  top: -0.5em;
}

.ant-table-thead>tr>th .ant-table-column-sorter {
  padding-bottom: 5px;
}

.home-search .dropdown .btn.btn-inverse,
.result-container .dropdown .btn.btn-inverse {
  height: 34px;
  border-bottom-width: 1px;
}

.result-container .dropdown .btn.btn-inverse .fa {
  color: #000000 !important
}

.result-container .dropdown .btn.btn-inverse:hover .fa {
  color: #fff !important
}

/*
.ant-layout-sider{
	max-width: 200px !important;
    min-width: 200px !important;
    width: 200px !important;
}
*/
ice-resource-instance .ant-table-fixed-header>.ant-table-content>.ant-table-scroll>.ant-table-body {
  /*max-height: 83% !important;*/
  height: 58px;
}

ice-resource-model .ant-table-fixed-header>.ant-table-content>.ant-table-scroll>.ant-table-body {
  /*max-height: 83% !important;*/
  height: 58px;
}

.orderPageClass .ant-table-fixed-header>.ant-table-content>.ant-table-scroll>.ant-table-body {
  /*max-height: 83% !important;*/
  height: auto !important;
  background: none;
  overflow-x: hidden;
  max-height: calc(100vh - 300px) !important;
}

.orderCalcClass .ant-table-fixed-header>.ant-table-content>.ant-table-scroll>.ant-table-body,
.orderTableClass .ant-table-fixed-header>.ant-table-content>.ant-table-scroll>.ant-table-body {
  /*max-height: 83% !important;*/
  height: auto !important;
  background: none;
  overflow-x: hidden;
  max-height: calc(100vh - 220px) !important;
}

.orderPageClass .ant-table {
  top: -15px;
  box-shadow: 0 1px 4px 0 rgb(0 0 0 / 10%);
  border-radius: 0px;
}

.orderCalcClass .ant-table,
.orderTableClass .ant-table {
  top: -15px;
}

.orderPageClass .ant-table-fixed-header .ant-table-scroll .ant-table-header {
  margin-bottom: 0px !important;
  background-color: transparent !important;
}

.orderCalcClass .ant-table-fixed-header .ant-table-scroll .ant-table-header,
.orderTableClass .ant-table-fixed-header .ant-table-scroll .ant-table-header {
  margin-bottom: 0px !important;
  background-color: transparent !important;
}

.ant-upload-list {
  color: #ffffff !important;
}

.ant-upload-list-item-info .anticon-paper-clip {
  font-size: 12px;
}

.ant-upload-list-item-name {
  color: #2e6cf6;
  font-size: 12px;
  display: initial;
}

.ant-upload-list-item:hover .ant-upload-list-item-info {
  /*background-color: #2e6cf6;*/
}

.ant-select-selection__rendered {
  margin-right: 25px;
  line-height: 31px;
  display: flex;
}

#app-details-top .ant-select-selection__rendered {
  line-height: 34px;
}

#app-details-top .ant-select-selection--multiple {
  min-height: 34px !important;
}

.ant-upload-list-item {
  margin-top: 0px;
  margin-bottom: 10px;
  font-size: 12px;
}

#permissionDetail .modal-dialog .modal-content .modal-body {
  background-color: #1c1c1c;
  max-height: 474px;
}

.ant-transfer {
  display: flex;
}

.ant-transfer-list {
  border: 1px solid rgb(44, 48, 54);
  border-radius: 0px;
  border: none;
}

.ant-transfer-list-header {
  color: #333;
  background-color: transparent;
  ;
  border-bottom: none;
  top: -6px;
  padding: 6px 16px 6px 16px;
}

.ant-transfer-operation {
  padding-top: 145px;
}

.ant-transfer-list-content {
  border: 1px solid #ccc;
  height: 95%;
  margin: 4px;
}

.ant-transfer-list-content-item {
  padding: 2px 12px 10px 12px;
}

.ant-transfer-list-body-not-found {
  position: absolute;
  top: 51%;
  width: 99%;
  padding-top: 0;
  color: rgba(0, 0, 0, .25);
  /* text-align: center; */
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 1px solid #ccc;
  height: 80%;
  margin: 4px 4px 4px 4px;
}

.userGroup .ant-empty-small {
  margin: 70px 0;
}

.userGroup .ant-transfer-list-header input[type=checkbox]:before {
  font-size: 28px;
}

.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover {
  background-color: #2e6cf6;
}

.userGroup+.drawer-footer {
  text-align: center !important;
}

/*
.custom-report-page .widget-stats .stats-number{
    display: flex;
    max-height: 180px;
	background: repeating-linear-gradient(45deg,#2d3848, transparent 100px);
	background: repeating-linear-gradient(45deg,#2d3848, transparent 50%);
}
*/

.custom-report-page .widget-stats .stats-title {
  font-size: 14px;
  font-weight: 700;
}

.custom-report-page .widget.widget-stats {
  height: 270px;
  cursor: pointer;
}

.inspection .desc {
  font-size: 14px;
  color: #333;
  margin-top: -5px;
}

.inspection .inspection-report {
  margin-top: 10px;
}

.custom-report-page .custom-report {
  margin-top: 10px;
}

.custom-report-page .custom-report img {
  height: 180px;
  width: 100%;
}

.custom-report-config-image-upload .clearfix {
  margin-top: 0px;
}

.custom-report-config-dynamic-form .ant-row-flex-top div {
  margin-top: 0px !important;
}

.inspection .inspection-kpi-1 a,
.inspection-kpi-n a {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.ant-table .ant-table-row-indent+.ant-table-row-expand-icon {
  background: transparent;
  border: none;
  margin-right: 5px;
}

.custom-report-drilled-page .custom-report-drilled-page-table .ant-table-thead>tr:first-child>th:first-child {
  width: 20%;
}

.ant-table .ant-table-row-indent+.ant-table-row-expand-icon:hover {
  background: #e8e8e8;
  position: relative;
  padding-top: 2px;
}

.custom-report-drilled-page-table .fa-arrow-circle-up {
  color: chartreuse;
}

.custom-report-drilled-page-table .fa-arrow-circle-down {
  color: hotpink;
}


.custom-report-drilled-page-table .ant-table-bordered .ant-table-tbody>tr>td,
.custom-report-drilled-page-table .ant-table-thead>tr {
  height: 40px;
}

.custom-report-drilled-page-console .ant-select-selection--multiple .ant-select-selection__choice__remove svg {
  fill: #777;
}

.custom-report-drilled-page-console .ant-tag .anticon-close svg {
  fill: #777;
}

.ant-select-tree li span.ant-select-tree-switcher.ant-select-tree-switcher_open .ant-select-switcher-icon svg {
  fill: #333333;
}

.custom-report-drilled-page-console .ant-select {
  max-width: 20% !important;
  min-width: 150px;
}

scene-report-wehotel-inscount .custom-report-drilled-page-console .ant-select {
  min-width: 120px;
}

scene-report-wehotel-inscount .ant-calendar-picker {
  top: 2px;
}

scene-report-wehotel-inscount .ant-calendar-range-picker-input {
  top: -5px;
  position: relative;
}

.ant-calendar-range-right .ant-calendar-date-input-wrap {
  margin-left: 0px !important;
}

.ant-calendar-range .ant-calendar-input {
  padding: 4px 15px !important;
}

.ant-calendar-range-middle {
  padding: 0px 0px;
}

.custom-report-drilled-page-console .ant-select-selection {
  margin: 0 5px 0 5px;
}

/* 与深色 theme.css 对齐：报表顶部参数行 select 内部块级排布，保证下拉框与同行元素水平对齐 */
.custom-report-drilled-page-console .ant-select-selection__rendered {
  display: block !important;
}

.custom-report-drilled-page-console {
  /*background: #fff;*/
  margin-left: 0px;
  margin-right: 0px;
  margin-top: 8px;
}

.custom-report-drilled-page-console .ant-tag {
  border-radius: 2px;
  height: 24px;
  border: none;
  padding: 2px 5px 0px 10px;
  color: #000;
  margin: 0 4px 0 4px;
}

.ant-tag {
  background-color: #e8e8e8;
}

/*
.inspection .inspection-kpi-1{

}
*/
.inspection .inspection-kpi-1,
.inspection-kpi-n {
  padding-left: 0px;
  padding-right: 0px;
  text-align: center;
  padding-bottom: 3px;
  width: 33%;
  /*float: left;*/
}

.inspection .inspection-kpi-1:hover,
.inspection-kpi-n:hover {
  background-color: #f2f2f2;
  transition: background-color .3s cubic-bezier(.645, .045, .355, 1);
}

/*
.inspection .inspection-kpi-n{
	border-left: .7px solid #949494;
}
*/
.inspection .inspection-kpi-text {
  font-size: 12px;
  color: #333333;
}

.inspection .row .col-md-12:nth-child(1) {
  padding-top: 10px !important;
  padding-bottom: 0px !important;
}

.custom-report-page .row {
  padding-top: 10px !important;
}

.favourites .widget-stats .stats-title {
  width: 75%;
  margin-top: -0.5px;
}

.inspection .widget-stats .stats-title {
  width: 75%;
  margin-top: -0.5px;
  font-weight: bold;
  font-size: 14px;
}

.ant-select-selection--multiple .ant-select-search--inline .ant-select-search__field {
  margin-top: -5px;
}

.ant-layout-sider-children li.ng-star-inserted.ant-menu-item:hover {
  background-color: #2e6cf6;
}
.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open{
  color: #333;
}
.inspection-details .ant-drawer-body .ant-table-tbody .displayListImg {
  width: 30px !important;
  height: 30px !important;
}

.inspection-details .ant-drawer-body .ant-table {
  margin-top: 5px;
  margin-bottom: 5px;
}

/*ice-time-picker nz-date-picker.ant-calendar-picker.ng-untouched.ng-pristine.ng-valid{
	max-width: 60%;
}
ice-time-picker nz-time-picker.ant-time-picker{
	max-width: 40%;
}*/
.ice-time-picker {
  display: flex;
}

.ant-time-picker-input[disabled] {
  background-color: #f6f6f6 !important;
}

.ice-time-picker input[readonly] {
  opacity: 1;
  /*background-color: #f6f6f6 !important;*/
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  /* WebKit browsers */
  color: #adb0b8 !important;
  /*#656565*/
  font-weight: bold;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #adb0b8 !important;
  /*#656565*/
  font-weight: bold;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: #adb0b8 !important;
  /*#656565*/
  font-weight: bold;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  /* Internet Explorer 10+ */
  color: #adb0b8 !important;
  /*#656565*/
  font-weight: bold;
}

.home-container .pull-right {
  margin-right: 10px;
}

/*.has-error .ant-form-explain .ng-trigger-helpMotion {*/
.ant-form-explain .ng-trigger-helpMotion {
  color: #2e6cf6;
  /*color: #f5222d; */
  font-size: 12px;
  margin-top: 5px;
  padding: 0px 0px 0px 20px;
  background-image: url("assets/image/icon/info_20.svg");
  background-size: 17px;
  background-repeat: no-repeat;
}

.log-details .ant-drawer-body .ant-table-tbody>tr>td {
  white-space: pre-wrap;
  height: 50px;
}



.highlight-row>td {
  /*background-color: brown !important;*/
  font-weight: 600;
  color: red !important;
}

.highlight-row-success>td {
  /*background-color: brown !important;*/
  font-weight: 600;
  color: #43972a !important;
}

.highlight-row-ongoing>td {
  /*background-color: brown !important;*/
  font-weight: 600;
  color: #2e6cf6 !important;
}


.highlight-cell {
  /*background-color: #2e6cf6 !important;*/
  color: red !important;
}

nz-dropdown.user-management {
  padding-left: 0px !important;
}

.console-area {
  font-size: 12px;
  padding-top: 5px !important;
  /*padding-bottom:10px !important;*/
}

.change-check .console-area {
  padding-top: 17px !important;
  padding-bottom: 12px;
}

.change-check .adaptive-table .table-handler {
  /*margin-top: -18px;*/
}

.change-check .widget.widget-stats {
  height: 85px;
  /* margin-bottom: 5px;*/
  margin-top: 10px;
  padding: 17px 20px !important;
}

.change-check span.ant-calendar-picker-input.ant-input {
  height: 30px !important;
}

.change-check .ant-calendar-picker-input input {
  height: 25px !important;
  color: #fff !important;
  font-weight: 700;
}

.change-check .ant-table-title+.ant-table-content {
  /*height:620px !important;*/
  height: calc(100vh - 285px) !important;
}

.change-check .ant-tag .anticon svg {
  fill: #777;
}

.ant-calendar-picker-clear {
  background-color: #fff;
  /*color: #999;*/
  color: #333333;
}

.ant-calendar-picker-clear:hover {
  color: #333333;
}

.ant-time-picker-clear {
  background-color: #fff;
  /*color: #999;*/
  color: #333333;
}

.ant-time-picker-clear:hover {
  color: #333333;
}

.ant-calendar-range-picker-separator {
  color: #fff;
}

.change-check-table .ant-table {
  margin-top: 0px !important;
}

.ant-divider-inner-text {
  font-size: 12px;
}

.adaptive-table .ant-table-footer {
  border-top: 0px solid #ccc !important;
  border-radius: 0px;
}

.g6-minimap-container:hover {
  border-color: #2e6cf6;
}

.g6-minimap-container {
  border: 1px solid #ccc;
  background: #2c303630;
}

.ant-descriptions-item .ant-descriptions-item-label {
  color: #333333;
  font-size: 12px;
  width: 25%;
}

.ant-descriptions-item .ant-descriptions-item-content {
  width: 75%;
  color: #333333;
  font-size: 12px;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ant-descriptions-row>td {
  padding-bottom: 10px;
  width: 48%;
  display: inline-block;
}

.ant-badge-status-text {
  color: #333333;
  font-size: 12px;
}

.ant-descriptions-title {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 14px;
}

.app-tabset .ant-tabs-bar {
  margin-bottom: 0px !important;
}

p.app-result-desc {
  -webkit-line-clamp: 2 !important;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  display: inline-block;
  width: 100% !important;
}

.ant-descriptions-item .ant-descriptions-item-content {
  -webkit-box-orient: vertical;
}

.app-details .ant-descriptions-item .ant-descriptions-item-content {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
}

.app-details .ant-tabs-nav .ant-tabs-tab {
  color: #333333;
  font-size: 12px;
}

.ant-tabs {
  color: #333333;
}

.app-details .ant-tabs .ant-tabs-top-content>.ant-tabs-tabpane {
  padding-left: 5px !important;
  padding-right: 0px !important;
}

.table-option-checkbox {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.table-option-checkbox span {
  position: relative;
  bottom: 1.5px;
}

.ant-drawer-body .ant-input-number {
  width: 100%;
  border-radius: 0px;
}

.ant-drawer-body scene-resourceexplore {
  margin-top: 10px;
  display: block;
}

.list-container {
  max-height: 230px;
}

input:not(.input-lg),
.ant-dropdown-trigger.ant-btn,
.ant-select-selection {
  color: #354052 !important;
  /*color: #2e6cf6 !important;
    font-family: courier;
	font-family: Arial, 'Microsoft Yahei' !important;*/
  font-weight: bold;
}

input:not(.input-lg),
input.form-control:not(.input-lg),
.form-group input.form-control:not(.input-lg) {
  border-color: rgb(44, 48, 54) !important
    /*border-color:#ffffff30 !important*/
}

.ant-table-title input[type=text] {
  border-color: #ccc !important;
}

.form-control {
  color: #999999 !important;
}

.collection-control a,
.filter-control a,
.editable-row-operations a {
  color: #333333 !important;
  /* color: #35406499 !important;*/
}

.collection-control a:hover,
.filter-control a:hover,
.editable-row-operations a:hover {
  color: #2e6cf6 !important;
}

.dropdown-menu {
  min-width: 250px;
}

.filter-dropdown-content .row .col-md-8 {
  width: 100% !important;
}

.ant-input-disabled,
.ant-input[disabled] {
  background-color: #f6f6f6 !important;
  /*	background-color: #f1f1f1 !important;*/
  /*	background-color: #272727 !important;*/
}

.clearfix {
  margin-top: 20px;
}

.ant-upload.ant-upload-select-picture-card>.ant-upload {
  background-color: #242629;
  color: #ffffff;
}

.ant-upload-list-picture-card .ant-upload-list-item {
  background-color: #2d3035;
  border: 1px solid #999999 !important;
}

.ant-upload.ant-upload-select-picture-card {
  background-color: #1c1c1c !important;
}

.upload-list-inline .ant-upload-list-item {
  /*width:48% !important;*/
  width: 100% !important;
  border: 0px solid #ccc;
  background-color: #eef0f4;
  margin-bottom: 0px;
  margin-top: 20px;
  border-radius: 0px;
}

.upload-list-inline .ant-upload-list-item:hover {
  border: 1px solid #2e6cf6;
}

.ant-table-row .ant-calendar-picker {
  width: 100% !important;
}

.ant-table-row .ant-calendar-picker-input .ant-calendar-range-picker-input {
  height: 25px !important;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.ant-select-tree-dropdown {
  min-width: 200px !important;
  min-height: 250px !important;
}

.ant-select-tree li .ant-select-tree-node-content-wrapper:hover {
  background-color: #ffffff;
}

ul#relationTopoBottom {
  margin-bottom: 10px !important;
  user-select: none;
}

.formLabelTip-content {
  color: #2db7f5;
}

.formLabelTip-icon {
  position: inherit;
  padding-left: 6px;
  text-align: center;
  top: 1.2px !important;
  color: #2e6cf6 !important;
  font-size: 12px !important;
  cursor: pointer;
}

.console-area .ant-tag .anticon svg {
  fill: #777;
}

.preview-modal .ant-modal-body {
  padding: 0px;
}

.preview-modal .ant-modal {
  width: 800px !important;
}

ice-instance-editor .ant-table.ant-table-fixed-header.ant-table-bordered.ant-table-default {
  margin-top: 0px;
  margin-bottom: 5px;
}

ice-instance-editor ice-dynamic-form nz-form-label.ant-form-item-label {
  width: 100%;
}

ice-instance-editor .ant-table-bordered .ant-table-thead>tr>th {
  color: #7c8491;
}

.editable-cell-value-wrap {
  color: #333;
  /*font-family: courier;*/
  font-weight: 400;
  text-overflow: ellipsis;
  overflow: hidden;
  /*padding-left: 8px;*/
}

editor-table .ant-table-tbody>tr>td {
  /*height: 34px;
	height: 50px !important;*/
  height: auto !important;
  vertical-align: middle !important;
}

editor-table .ant-table-thead>tr>th {
  padding-bottom: 8px !important;
}

input[type=checkbox]:before {
  /*top: -4px;*/
  top: -1px;
}

.version-timeline .ant-timeline {
  padding-top: 25px;
  padding-left: 10px;
  color: #333;
  font-size: 12px;
}

.ant-timeline-item {
  font-size: 12px;
}

.ant-timeline-item-head {
  /*background-color: #1c1c1c;*/
  border: 3px solid transparent;
}

.version-timeline .ant-timeline-item-tail {
  border-left: 2px dashed #878787;
}

.release-tag {
  color: #333;
  font-size: 14px;
  font-weight: 700;
}

.release-date {
  color: #333;
  font-size: 14px;
  font-weight: 700;
}

.release-highlight {
  font-weight: 700;
  /*color: deeppink;*/
  color: #354052;

}

.help-highlight {
  font-weight: 700;
  /*color: deeppink;*/
  color: #e3e2e2;
  font-style: italic;
}

.user-form .ant-calendar-picker,
ice-time-picker nz-time-picker.ant-time-picker {
  width: 100%;
  margin-right: 0px;
}

.lineClass.ant-divider-horizontal.ant-divider-with-text::before,
.lineClass.ant-divider-horizontal.ant-divider-with-text::after {
  border-top: 0.5px dashed #7c8491 !important;
}

.lineClass .ant-divider-inner-text {
  color: #7c8491;
  font-style: italic;
}

.editOldInline {
  color: #2db7f5 !important;
  font-weight: 700;
  text-decoration: line-through;
}

.editNewInline {
  color: #2e6cf6 !important;
  font-weight: 700;
}

.deleteInline {
  color: deeppink;
  text-decoration: line-through;
}

.version-diff-table {
  margin-top: 20px;
  font-size: 12px;
  width: 100%;
}

.version-diff-table td {
  /* padding-bottom: 5px;*/
  padding: 8px;
}

.version-diff-table tr {
  margin-bottom: 20px !important;
}

.version-diff-table thead>tr>td {
  font-weight: 700;
  color: #333333;
  min-width: 100px;
  border: 1px solid #ccc !important;
}

.version-diff-table tbody>tr>td {
  color: #333333;
  max-width: 200px;
  vertical-align: baseline;
  border: 1px solid #ccc !important;
}

.version-diff-table tbody>tr:nth-child(odd) {
  background: #e8e8e8;
  border: 0px inset #242629 !important;
}

.version-diff-table tbody>tr {
  background: #fff;
  border: 0px inset #212123;
  font-size: 12px;
}

.version-diff-table tbody>tr,
.ant-table-thead>tr {
  transition: all .3s, height 0s;
}

/*
.ant-timeline-item-head-blue{
	border-color: #2e6cf6 !important;
}*/

/*
ice-instance-editor .ant-table-tbody>tr>td, .ant-table-thead>tr>th{
	max-width: 20%;
}
*/

.show-expression-content {
  height: 89%;
  border: 1px solid #1c1c1c;
}

.show-expression-tip tbody>tr>td>p {
  /*height: 50%;*/
  /*margin-bottom: 0em !important;*/
  background-color: #242625;
  padding: 10px;
}

.pro-auto,
.pro-placeholder {
  font-size: 12px;
  color: #7c8491;
}

.has-error .ant-input,
.has-error .ant-input:hover {
  border-color: #f5222d !important;
  border: 1px solid;
}
/*
.ant-timeline-item-content:hover {
  background-color: #eef0f4;
  transition: background-color .3s cubic-bezier(.645, .045, .355, 1);
  padding-bottom: 1px;
  padding-top: 8px;
}*/

.ant-timeline-item-content:hover .display-flag {
  display: block;
  margin-right: 10px;
}

.display-flag {
  display: none;
}

ice-bankreport .ant-tabs-top .ant-tabs-ink-bar-animated {
  bottom: -1px !important;
}

ice-bankreport .ant-tabs-nav .ant-tabs-tab {
  padding: 12px 0px;
}

ice-bankreport .ant-tabs {
  color: #7c8491;
  padding: 0 12px !important;
}

ice-bankreport .ant-layout-sider-children {
  /*overflow-y: hidden;*/
  margin-top: 0px;
  background-color: #f5f7fb;
  overflow-x: hidden;
  border-right: none !important;
}

ice-bankreport .widget.widget-stats {
  height: 90px !important;
  padding: 15px 20px !important;
}

ice-bankreport .ant-tabs-tabpane .col-md-2 {
  width: 20%;
}

ice-bankreport .adaptive-table nz-spin .ant-spin-container .ant-table .ant-table-content {
  display: block;
  height: calc(100vh - 230px);
}

ice-bankreport .ant-tabs-content {
  margin-top: 8px;
}

ice-resource-instance .adaptive-table nz-spin .ant-spin-container .ant-table .ant-table-content {
  height: calc(100% + 2px);
  /*padding-left: 12px;*/
}

ice-resource-model .adaptive-table nz-spin .ant-spin-container .ant-table .ant-table-content {
  height: calc(100% + 2px);
  /*padding-left: 12px;*/
}

.ant-form-explain,
.ant-form-extra {
  color: #2e6cf6;
  font-size: 12px;
}

.ant-form-item-required::before {
  display: inline-block;
  margin-right: 4px;
  color: #2e6cf6 !important;
  font-size: 14px !important;
  font-family: SimSun, sans-serif;
  line-height: 1;
  content: '*';
}

.has-error .ant-select-selection:hover {
  border-color: #f5222d;
  border: 1px solid !important;
}

.ant-tree-iconEle svg {
  height: 12px;
  fill: silver;
}

config-component .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active {
  background: #1c1c1c;
  border: 0px none;
  border-bottom: 0px none;
  margin: 10px 10px 0 0;
  padding: 0px 20px 0px 20px !important;
}

config-component .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab {
  background: #1c1c1c;
  border: 0px none;
  border-bottom: 0px none;
  margin: 10px 10px 0 0;
  padding: 0px 20px 0px 20px !important;
}

config-component .ant-tabs .ant-tabs-left-content {
  border-left: 0px;
}

config-component .ant-tabs .ant-tabs-left-bar {
  border-right: 0px;
  background-color: transparent !important;
  border-left: none !important;
  padding-left: 0px !important;
}

config-component .ant-tabs,
config-component .ant-tabs-nav-container {
  font-size: 12px;
  color: #7c8491;
}

config-component .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab {
  margin: 10px 2px 0 0;
  background-color: transparent !important;
}

config-component .ant-tabs .ant-tabs-left-content {
  margin-top: 12px !important;
}

config-component .ant-form-item-label>label {
  padding: 9px 0 4px;
}

config-component .ant-tabs-ink-bar {
  background-color: #1c1c1c;
}

config-component nz-tabset form textarea.ant-input {
  height: 250px;
  margin-top: 0px;
}

config-component .ant-tabs-nav .ant-tabs-tab {
  margin: 0 48px 0 0;
  padding: 12px 0px;
}

config-component .ant-tabs-vertical.ant-tabs-card .ant-tabs-card-bar.ant-tabs-left-bar .ant-tabs-tab {
  border-bottom: 0px !important;
}

config-component nz-row .ant-btn {
  /*background-color: #f5f7fb !important;*/
  background-color: #fff !important;
}

config-component .ant-btn:not([disabled]):hover {
  background-color: #2e6cf6 !important;
}

config-component .col-md-12 nz-tabset .ant-tabs-nav-container .ant-tabs-nav div {
  margin-top: 18px;
}

editor-table tr td .ant-form-item {
  margin: 0px !important;
}

editor-table .ant-table-tbody>tr:hover {
  /*border:1px solid #2e6cf6;*/
  background: #e8eef3;
}

editor-table .ant-table-tbody>tr:nth-child(odd):hover {
  /*border:1px solid #2e6cf6 !important;*/
}

editor-table nz-table .ant-table table {
  /*border-collapse:collapse;*/
}

nz-table .ant-table table {
  border-collapse: collapse;
  min-width: 99.99%;
}

editor-table .ant-table-thead {
  border-right: none;
  border-bottom: none;
}

.ant-table-thead {
  border-right: none;
  border-bottom: none;
}

config-component .ant-checkbox-wrapper {
  top: -7px;
}

config-component nz-tabset form textarea.ant-input {
  color: #354052 !important;
  font-weight: 700;
}

config-component .systemConfig textarea.ant-input {
  margin-top: 0px;
  color: #354052 !important;
  font-weight: 700;
  border-color: rgb(44, 48, 54) !important;
}

config-component .systemConfig nz-form-label.ant-form-item-label {
  padding-top: 0px;
}

config-component .systemConfig .clearfix {
  margin-top: 0px;
}

.systemConfig {
  overflow-y: scroll;
  overflow-x: hidden;
  background: #fff !important;
  padding-top: 10px !important;
  padding-left: 25px !important;
  padding-right: 20px !important;
  padding-bottom: 10px !important;
  /*box-shadow: 0 1px 4px 0 rgba(0,0,0,0.1);*/
  /*border: 1px solid #ccc;*/
}

config-component nz-sider .ant-layout-sider-children {
  overflow-y: unset;
  border-right: none !important;
}

config-component nz-sider .ant-layout-sider-children .ant-layout {
  height: inherit !important;
}

config-component .ant-table-fixed-header .ant-table-scroll .ant-table-header {
  margin-bottom: 0px !important;
  background-color: transparent !important;
}

config-component .ant-table-fixed-header>.ant-table-content>.ant-table-scroll>.ant-table-body {
  max-height: 100% !important;
}

config-component .ant-tree {
  padding: 5px 0px;
}

.ant-select-selection--multiple .ant-select-selection__choice__content {
  vertical-align: middle;
}

.ant-select-selection--multiple .ant-select-selection__choice {
  /*position: absolute;*/
  max-width: 90%;
  display: grid;
}

.ant-select-selection--multiple .ant-select-selection__rendered>ul>li,
.ant-select-selection--multiple>ul>li {
  margin-top: 5px;
}

.show-instance-details .ant-tag {
  line-height: 16px;
  background-color: #1890ff !important;
  font-size: 11px !important;
}

.card-left {
  line-height: 16px;
  padding-top: 0px;
  font-size: 11px !important;
  /*	margin-top: -20px;*/
}

scene-resourcessearch .ant-form-item-label>label {
  padding: 6px 0 0px;
}

.ant-table-filter-dropdown {
  overflow: visible;
  /* auto */
  max-height: 300px;
  border-radius: 0px !important;
  margin-left: 0px !important;
}

.ant-table-filter-dropdown-btns {
  background-color: #fff;
  border-color: #fff;
  color: #333333;
}

.ant-table-thead>tr>th .anticon-filter {
  width: 24px;
  height: 24px;
  color: #7c8491 !important;
}

.ant-table-thead>tr>th.ant-table-column-has-actions.ant-table-column-has-filters .ant-table-filter-icon.ant-table-filter-open,
.ant-table-thead>tr>th.ant-table-column-has-actions.ant-table-column-has-filters .anticon-filter.ant-table-filter-open,
.ant-table-thead>tr>th.ant-table-column-has-actions.ant-table-column-has-filters:hover .ant-table-filter-icon:hover,
.ant-table-thead>tr>th.ant-table-column-has-actions.ant-table-column-has-filters:hover .anticon-filter:hover,
.ant-table-thead>tr>th .ant-table-filter-selected.anticon-filter {
  background: none !important;
  color: #2e6cf6 !important;
}

.anticon-filter:hover {
  /*background:#2e6cf6;*/
  color: #2e6cf6 !important;
}

.ant-table-filter-dropdown {
  background: none;
}

.ant-table-thead>tr>th.ant-table-column-has-actions.ant-table-column-has-filters {
  padding-right: 4px !important;
}

.ant-table-thead>tr>th .ant-table-filter-icon,
.ant-table-thead>tr>th .anticon-filter {
  position: absolute;
  top: 0;
  right: auto;
  /* right: 0px; */
  width: 28px;
  /*height: 80%;*/
  color: #bfbfbf;
  font-size: 12px;
  text-align: center;
  cursor: pointer;
  transition: all .3s;
  /* padding-right: 40px;  add by wl*/
  padding-left: 55px;
  height: 100%;
  /* add by wl*/
}

.ant-pagination-total-text {
  line-height: 24px;
  font-size: 12px;
  padding-right: 7px;
  vertical-align: baseline;
}

.ant-slider-mark-text-active,
.ant-statistic,
.ant-steps {
  color: #bfbfbf !important;
}

.ant-steps-item-content>.ant-steps-item-title {
  color: #bfbfbf !important;
}

.ant-progress {
  margin: 0;
  padding: 0;
  color: #bfbfbf !important;
  font-size: 14px;
  display: inline-block;
}

.ant-progress-text {
  display: inline-block;
  width: 2em;
  margin-left: 8px;
  color: #333 !important;
  font-size: 1em;
  line-height: 1;
  white-space: nowrap;
  text-align: left;
  vertical-align: middle;
  word-break: normal;
}

.ant-statistic-title {
  color: #bfbfbf;
  font-size: 12px;
}

.ant-steps-item-content>.ant-steps-item-description {
  color: #bfbfbf !important;
}

.disasterRecoveryBody .ant-steps-item-finish .ant-steps-item-icon {
  background-color: transparent;
}

.disasterRecoveryBody .ant-steps-item-process .ant-steps-item-icon {
  background-color: transparent;
}

.disasterRecoveryBody .ant-steps-item-wait .ant-steps-item-icon {
  border-color: #bfbfbf;
  background-color: transparent;
}

.disasterRecoveryBody .ant-steps-item-wait .ant-steps-item-icon>.ant-steps-icon {
  color: #bfbfbf;
}

.disasterRecoveryBody .ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-description {
  max-width: fit-content;
}

.disasterRecoveryBody .ant-steps {
  width: 95%;
}

.disasterRecoveryBody .widget.widget-stats {
  background-color: #24262900 !important;
}

.disasterRecoveryBody .dr-phase-statics .ant-statistic-content {
  font-size: 16px;
}

.disasterRecoveryBody .dr-phase-statics .ant-statistic {
  padding-bottom: 20px;
}

.disasterRecoveryBody .logo {
  background-repeat: no-repeat;
  background-position: 0% center;
  background-size: 120px;
  /* margin-right: 60px; */
  width: 120px;
  height: 60px;
}

.disasterRecoveryBody {
  background-color: rgb(0 0 0);
  zoom: 0.9;
  margin-left: -15px;
  margin-right: -15px;
  margin-top: 5px;
  bottom: 15px;
  padding-left: 20px;
  padding-right: 10px;
  padding-bottom: 10px;
}

.disasterRecoveryBody .ant-steps-item-title {
  font-weight: bolder;
}

.disasterRecoveryBody .ant-tag {
  width: 70%;
}

.open>.dropdown-menu {
  color: #949494 !important;
  max-height: 70vh;
  overflow-y: scroll;
  overflow-x: hidden;
  background: #fff !important;
  opacity: 0.9;
}

.dropdown-menu .col-md-10 input:not(.input-lg) {
  border-color: #ccc !important;
}

.filter-dropdown-search .row {
  margin-bottom: 10px;
}

ice-in-instance editor-table .ant-table-pagination.ant-pagination {
  margin: 0px;
}

ice-instance-editor editor-table .ant-table-pagination.ant-pagination {
  margin: 0px;
}

.collection-config-table .ant-table-thead>tr:first-child>th:first-child {
  width: 30%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

scene-resourcessearchip .normal-size-table-ip .ant-table-title+.ant-table-content {
  height: calc(100vh - 388px) !important;
}

scene-resourcessearchip .normal-size-table-ip:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 420px) !important;
}

scene-resourcessearchip .max-size-table-ip .ant-table-title+.ant-table-content {
  height: calc(100vh - 160px) !important;
}

scene-resourcessearchip .max-size-table-ip:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 220px) !important;
}

scene-resourcessearchip #app-details-tabset:has(.normal-size-table-ip) {
  height: calc(100% - 220px) !important;
  border-radius: 5px;
}

scene-resourcessearchip #app-details-tabset:has(.max-size-table-ip) {
  height: calc(100%) !important;
}

scene-resourcessearchip .adaptive-table .table-handler {
  background-color: transparent !important;
}

scene-resourcessearchapp .normal-size-table-ip .ant-table-title+.ant-table-content {
  height: calc(100vh - 385px) !important;
}

scene-resourcessearchapp .normal-size-table-ip:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 420px) !important;
}

scene-resourcessearchapp .max-size-table-ip .ant-table-title+.ant-table-content {
  height: calc(100vh - 160px) !important;
}

scene-resourcessearchapp .max-size-table-ip:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 210px) !important;
}

scene-resourcessearchapp #app-details-tabset:has(.normal-size-table-ip) {
  height: calc(100% - 220px) !important;
}

scene-resourcessearchapp #app-details-tabset:has(.max-size-table-ip) {
  height: calc(100%) !important;
}

scene-resourcessearchapp .adaptive-table .table-handler {
  background-color: transparent !important;
}

.show-expression-tip .ant-table-empty .ant-table-body {
  overflow: hidden !important;
}

.homepage-user-tooltips {
  font-size: 12px !important;
  width: 250px !important;
}

.ant-empty-description {
  /*width:max-content;*/
}

.tableDropdownBtn li.ant-dropdown-menu-item:hover {
  height: 30px;
}

.help-message .ant-tooltip {
  min-width: 500px;
}

.help-message.ant-tooltip-open {
  color: #333 !important;
}

.ant-tooltip-inner {
  font-size: 12px;
  line-height: 1.8;
  /* padding-bottom: 10px !important; */
  min-width: 150px;
}

.help-message-title {
  padding-top: 15px;
  padding-bottom: 10px;
}

.help-message-title font {
  color: #333 !important;
}

.help-message-title .fa-commenting {
  color: #2e6cf6 !important;
}

.help-message-body {
  line-height: 2;
}

.help-message-body font {
  color: #333 !important;
}

.tableColumnsDisplay {
  padding-bottom: 10px;
  padding-left: 5px;
  background-color: #fff !important;
  opacity: 1;
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 5px 10px 10px 10px;
}

.tableColumnsDisplay .ant-checkbox-wrapper {
  margin-left: 8px;
  text-align: center;
  /*background-color: #fff !important;*/
}

.tableColumnsDisplay .ant-checkbox-wrapper span {
  color: #333 !important;
}

.ant-table-thead>tr>th .ant-table-filter-icon:hover {
  color: #2e6cf6 !important;
}

.ant-table-thead>tr>th.ant-table-column-has-actions.ant-table-column-has-sorters:hover .ant-table-filter-icon {
  background: none !important;
}

.colSearchDisplay {
  line-height: 3;
  padding: 10px 10px;
  background-color:#fff !important;
  box-shadow: 0 0 16px 0 rgb(54 58 80 / 16%);
  max-width: 500px;
}

.colSearchDisplay input:not(.input-lg),
.colSearchDisplay nz-range-picker {
  border-color: #2e6cf6;
}

.colSearchDisplay .ant-col-16:has(ice-select-tag) {
  padding-top: 1px !important;
}

.colSearchDisplay .ant-col-8 .ant-select {
  top: 1.5px;
}

button.tableColumnsDisplay-button.ant-btn.ant-dropdown-trigger.ant-btn-default {
  color: #333333 !important;
  border-color: #ccc !important;
  padding-bottom: 5px;
  font-weight: bold;
}

button.tableColumnsDisplay-button.ant-btn.ant-dropdown-trigger.ant-btn-default:hover {
  color: #ffffff !important;
}

.colSearchSelected {
  color: #2e6cf6 !important;
}

.colSearchCanceled {
  color: #333333 !important;
}

.ant-dropdown-trigger.ant-btn {
  font-weight: bold;
  border-color: #333333;
}

.displayListImg {
  width: 16px !important;
  height: 16px !important;
  margin-bottom: 3px;
}

.tableColumnsDisplay-tags {
  margin-left: 10px;
  margin-top: 10px;
  margin-bottom: 5px;
}

.tableColumnsDisplay-tags .anticon-close svg {
  fill: #fff;
}

ice-in-instance editor-table .ant-table-thead>tr>th .anticon-filter>svg {
  margin-top: -9px;
}

button.tableColumnsDisplay-button.ant-btn.ant-dropdown-trigger.ant-btn-default {
  padding-top: 4px;
}

.close-all-tags {
  background-color: #7c8491 !important;
}

.check-model-update {
  padding-left: 5px;
  /*padding-bottom: 15px;*/
}

.check-model-update-table .ant-table {
  line-height: 2.5;
}

.check-model-update-table .ant-table-content .ant-table-body {
  max-height: 400px;
}

.ant-table {
  line-height: 2.5;
}

a {
  color: #2e6cf6;
  font-weight: 400;
}

.ant-menu-item-selected {
  color: #ffffff;
  background-color: #2e6cf6;
}

.ant-menu {
  color: #333333;
}

/*
.custom-report-drilled-page-chart .ant-table{
	line-height: 2.5;
}
*/
.btn,
.btn:active,
.btn.active,
.paginate_button>a {
  border-color: #ccc !important;
}

.widget {
  color: #333333;

}

.ant-select-selection--multiple .ant-select-selection__choice {
  background-color: #f5f5f5;
  /* #e8e8e8 #f1f1f1*/
}

.favourite-list .ant-table-title {
  background: #fff;
  top: 15px;
}

.version-diff-table thead>tr>td {
  color: #333333;
}

.btn-group-vertical>.btn.active {
  color: #333333;
}

.filter-dropdown-content .row {
  display: flex;
}

.ant-timeline-item-content {
  color: #333333;
}

.ant-input-number-disabled .ant-input-number-input {
  background-color: #e8e8e8;
}

.ant-drawer-header {
  border-bottom: none;
}

.ant-table-filter-dropdown .ant-dropdown-menu {
  overflow-y: scroll;
  max-height: 350px;
}

.orderCalcClass .ant-table-title+.ant-table-content,
.orderTableClass .ant-table-title+.ant-table-content {
  /*margin-top: 13px;*/
  /*margin-left: 10px;*/
}

.orderPageClass .ant-table-content {
  /*margin-top: 13px;*/
  /*margin-left: 10px;*/
}

.orderCalcClass .ant-table-title,
.orderPageClass .ant-table-title,
.orderTableClass .ant-table-title {
  top: 15px;
  padding: 10px 10px 12px 10px;
}

.orderCalcClass,
.orderTableClass {
  padding-top: 3px;
}

.orderCalcClass .ant-col-6,
.orderTableClass .ant-col-6 {
  /*margin-top: 9px;*/
}

.validatorClass .col-lg-12,
.validatorClass .col-lg-6 {
  line-height: 40px;
}

.validatorClass-title,
.validatorClass-column {
  font-weight: 700;
}

.selfmonitor-host-srv-status .ant-table-title {
  padding: 5px 0;
  border-top: none !important;
  box-shadow: none;
}

.selfmonitor-host-srv-status .ant-table-title+.ant-table-content {
  box-shadow: none;
}

.selfmonitor-host-srv-kpi .ant-table-title+.ant-table-content {
  box-shadow: none;
  margin-top: 15px;
}

.selfmonitor-host-srv-kpi .ant-table-title {
  padding: 0px 0;
}

/*
.selfmonitor-host-srv-status .adaptive-table .ant-table-body{
  max-height: calc(100% - 60px) !important;
}
*/
.selfmonitor-host-srv-status .table-container {
  height: calc(100% - 20px) !important;
}

.selfmonitor-host-srv-kpi .table-container {
  height: calc(100% - 10px) !important;
}

.selfmonitor-host-srv-kpi .adaptive-table .ant-table-body {
  height: 410px !important;
  max-height: 100% !important;
}

.selfmonitor-host-srv-kpi .adaptive-table .table-handler {
  background-color: #fff !important;
  /*202211*/
  padding-left: 8px;
}

.selfmonitor-host-srv-kpi .table-handler input[type=text] {
  /*border: #7c8491 solid 1px !important;*/
  border-color: #ccc !important;
  background-color: #fff !important;
}

.selfmonitor-host-srv-status .displayListImg {
  width: 30px !important;
  height: 30px !important;
}

.selfmontior-history-chart .custom-report-drilled-page-chart {
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 10px !important;
}

.selfmontior-history-chart .col-md-9,
.col-md-1 {
  padding-left: 0px;
  padding-right: 0px;
}

.selfmontior-history-chart .widget.widget-stats {
  height: 190px !important;
  margin-bottom: 0px !important;
  margin-right: 5px !important;
}

.selfmontior-history-chart .widget-stats .stats-number {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  display: block;
}

.selfmonitor .pull-right {
  margin-top: 0 !important;
}

.selfmonitor-history .custom-report-drilled-page-console .ant-select {
  min-width: 250px;
}

.selfmonitor-history .custom-report-drilled-page-console .col-md-12 {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.ant-table.ant-table-bordered .ant-table-title {
  padding-right: 16px;
  padding-left: 0px;
  border: none;
}

nz-form-control:has(.root-edit-table) {
  margin-top: -70px;
}

nz-form-control:has(ice-in-instance) {
  margin-top: -30px !important;
}

nz-form-control:has(ice-out-instance) {
  margin-top: -30px !important;
}

nz-form-item:has(.root-edit-table) {
  /*margin-top: 20px !important;*/
  margin-top: 10px !important;
}

.mail-config-form nz-tabset:has(.mail-template) .ant-tabs-bar {
  margin-top: -30px !important;
  margin-bottom: 0px !important;
}

.wechat-config-form nz-tabset:has(.wechat-template) .ant-tabs-bar {
  margin-top: -50px !important;
  margin-bottom: 0px !important;
}

.ant-tabs-tabpane-active:has(.wechat-config-form) ice-dynamic-form>form {
  height: unset !important;
}

textarea {
  border-radius: 0px !important;
}

config-component nz-form-control:has(.root-edit-table) {
  margin-top: -10px !important;
}

config-component nz-form-item:has(.root-edit-table) {
  margin-top: 0px !important;
}

config-component .ant-table-title {
  background-color: transparent;
}

config-component .ant-dropdown-trigger.ant-btn {
  border-color: #333333 !important;
  /* top: -3px;*/
}

config-component .ant-dropdown-trigger.ant-btn:hover {
  /* top: -3px;*/
}

.ant-upload .ant-btn:not([disabled]):hover>i {
  color: #fff !important;
}

.info-before-table .ant-table-tbody>tr>td {
  max-width: 25px !important;
  background-color: #f3f5fa;
}
/*
.info-before-table .ant-table-content {
  border: 1px solid #ccc;
}
*/
.ant-drawer-body .ant-table-tbody .ant-dropdown-trigger.ant-btn {
  border-color: #333333 !important;
}

.ant-dropdown-menu .ant-dropdown-menu-item:hover {
  background-color: transparent;
}

.ant-drawer-body .ant-table-tbody .ant-dropdown-trigger.ant-btn:hover {
  background-color: transparent !important;
  color: #354052 !important;
  border-color: #2e6cf6 !important;
}

ice-instance-editor .ant-table-tbody>tr>td.ant-table-selection-column,
ice-instance-editor .ant-table-thead>tr>th.ant-table-selection-column {
  min-width: 50px;
  padding-right: 5px !important;
  padding-left: 5px !important;
}

resource-filter-view .ant-input-affix-wrapper {
  /* margin-top: 5px;*/
  margin-bottom: 10px;
}

resource-filter-view nz-row {
  width: 100%;
  height: 55px;
  display: flex;
  align-items: center !important;
}

resource-filter-view nz-row nz-col:last-child .ant-btn {
  background-color: #fff;
  border-color: #fff;
}

resource-filter-view nz-sider.hidetree {
  top: 10px;
  background-color: #f5f7fc !important;
}

resource-filter-view nz-row nz-col:last-child .ant-btn:hover>.anticon {
  color: #fff;
}

resource-filter-view .ant-btn:not(.ant-btn-circle):not(.ant-btn-circle-outline).ant-btn-icon-only:hover>.anticon {
  color: #fff;
}

.ant-empty-small .ant-empty-image {
  height: 28px;
}

button:has(.fa-refresh) {
  height: 33px;
}

.license-management-page .ant-form-vertical .ant-form-item {
  padding-top: 20px;
  padding-bottom: 20px;
}

.license-management-page .ant-descriptions-item .ant-descriptions-item-content {
  height: 700px;
  display: block;
  overflow: scroll;
}

.license-management-page .stats-title {
  font-weight: 700;
  font-size: 14px;
}

.license-management-page .license-info div {
  color: #333;
  font-weight: 700;
}

.license-management-page .license-info textarea {
  color: #000;
  /*color: #707070;*/
  background-color: #f6f6f6 !important;
}

.license-management-page .ant-tag-red {
  min-width: 50px;
  text-align: center;
  background-color: #fff !important;
  padding-top: 1.5px;
}

.license-management-page .ant-tag-green {
  min-width: 50px;
  text-align: center;
  background-color: #fff !important;
  padding-top: 1.5px;
}

.license-management-page .ant-tag-orange {
  min-width: 50px;
  text-align: center;
  background-color: #fff !important;
  padding-top: 1.5px;
}

.check-model-update font {
  color: #333;
  white-space: pre-wrap;
}

.hidetree nz-row button:hover>.anticon {
  color: #fff !important;
}

.collapse-app-handler:hover {
  background-color: #2e6cf690 !important;
}

.collapse-app-handler:hover>.anticon {
  color: #fff !important;
}

.ant-modal-body .ant-table-tbody>tr>td {
  max-width: fit-content;
}

.ant-table-thead>tr>th {
  max-width: 0;
}

ice-instance-editor .ant-table-bordered .ant-table-thead>tr>th {
  max-width: 0;
}

userConfig-component .ant-form-vertical .ant-form-item-label {
  padding-top: 10px !important;
  padding-left: 2px !important;
  padding-bottom: 5px !important;
}

userConfig-component .ant-checkbox {
  top: -10px;
}

userconfig-component ice-dynamic-form form {
  background: #fff;
  padding-top: 10px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  padding-bottom: 40px !important;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
}

userconfig-component ice-dynamic-form+div .col-md-12 {
  margin-top: -50px;
}

.resource-search-panel {
  margin-left: 0px !important;
  margin-right: 0px !important;
  margin-bottom: 15px !important;
  background: #fff;
  padding: 20px;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
  /*rgba(54, 58, 80, 0.32) 0px 2px 4px 0px;*/
}

.resource-search-panel nz-form-label label {
  color: #333 !important;
}

config-component .ant-table-title {
  box-shadow: none !important;
}

config-component .ant-table-bordered .ant-btn-icon-only {
  padding-top: 10px !important;
  vertical-align: middle;
}

config-component .ant-btn:hover>.anticon {
  color: #fff !important;
}

config-component .blacklist {
  overflow-y: scroll;
  overflow-x: hidden;
  background: #fff !important;
  padding-top: 0px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  padding-bottom: 0px !important;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
}

config-component .ant-layout.ant-layout-has-sider>.ant-layout {
  overflow-y: scroll;
  overflow-x: hidden;
  background: #fff !important;
  padding-top: 10px !important;
  padding-left: 25px !important;
  padding-right: 25px !important;
  padding-bottom: 10px !important;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
  /*border: 1px solid #ccc;*/
}

config-component .ant-layout.ant-layout-has-sider>.ant-layout-sider {
  overflow-y: scroll;
  overflow-x: hidden;
  background: #fff !important;
  padding-top: 10px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  padding-bottom: 10px !important;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
}

config-component .clean-data-page .ant-table-content {
  overflow-y: scroll;
  overflow-x: hidden;
  background: #fff !important;
  padding-top: 10px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  padding-bottom: 10px !important;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
}

config-component .ant-tabs-tabpane>nz-table+ice-dynamic-form>form {
  overflow-y: scroll;
  overflow-x: hidden;
  background: #fff !important;
  padding-top: 10px !important;
  padding-left: 25px !important;
  padding-right: 15px !important;
  padding-bottom: 0px !important;
  height: calc(100vh - 130px);
  border: 1px solid #ccc;
}

config-component .ant-tabs-tabpane>ice-dynamic-form+form {
  overflow-y: scroll;
  overflow-x: hidden;
  background: #fff !important;
  padding-top: 10px !important;
  padding-left: 20px !important;
  padding-right: 10px !important;
  padding-bottom: 20px !important;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
}

config-component nz-table .ant-table table {
  min-width: 100% !important;
}

config-component .ant-table-thead>tr:first-child>th:last-child {
  background-color: #fff !important;
}

config-component nz-row {
  /*background-color: #f5f7fc !important;*/
  background-color: #fff !important;
}

config-component .ant-table-empty .ant-table-body {
  overflow-x: hidden !important;
}

config-component .ant-table-empty+nz-layout>ice-dynamic-form {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding-right: 10px;
}

config-component .wechat-config-form {
  padding-right: 10px !important;
}

config-component .mail-config-form {
  padding-right: 10px !important;
}

scene-resourcessearchapp .app-tabset {
  overflow-y: scroll;
  overflow-x: hidden;
  background: #fff !important;
  /*padding-top: 5px !important;*/
  padding-left: 20px !important;
  padding-right: 0px !important;
  padding-bottom: 5px !important;
  /*margin-right: -8px;*/
  /*box-shadow: 0 1px 4px 0 rgba(0,0,0,0.1);*/
  border: 1px solid #ccc;
  border-radius: 5px;
}

scene-resourcessearchapp .ant-tabs-ink-bar,
scene-resourcessearchip .ant-tabs-ink-bar,
scene-resourcessearchrack .ant-tabs-ink-bar {
  background-color: transparent !important;
}

scene-resourcessearchapp .ant-table-title {
  box-shadow: none;
}

scene-resourcessearchapp .ant-table-title+.ant-table-content {
  box-shadow: none;
}

scene-resourcessearchip .app-tabset {
  overflow-y: scroll;
  overflow-x: hidden;
  background: #fff !important;
  /*padding-top: 5px !important;*/
  padding-left: 20px !important;
  padding-right: 0px !important;
  padding-bottom: 5px !important;
  /*margin-right: -8px;*/
  /*box-shadow: 0 1px 4px 0 rgba(0,0,0,0.1);*/
  border: 1px solid #ccc;
}

scene-resourcessearchip .ant-table-title {
  box-shadow: none;
}

scene-resourcessearchip .ant-table-title+.ant-table-content {
  box-shadow: none;
}

scene-resourceexplore .topo-chart .result-container .row:has(ice-relation-topo) {
  overflow-y: hidden;
  overflow-x: hidden;
  height: calc(100vh - 165px);
  background: #fff !important;
  margin-left: 2px !important;
  margin-right: 0px !important;
  /*padding-bottom: 5px !important;*/
  /*box-shadow: 0 1px 4px 0 rgba(0,0,0,0.1);*/
}

.workflow-chart scene-resourceexplore .topo-chart .result-container .row:has(ice-relation-topo) {
  height: unset;
  background-color: #eff2f8 !important;
  border: 1px solid #ccc;
}

.ant-pagination-disabled:hover a>.anticon,
.ant-pagination-nex:hover a>.anticon,
.ant-pagination-prev:hover a>.anticon {
  color: #fff !important;
}

.ant-pagination-disabled:hover a,
.ant-pagination-next:hover a,
.ant-pagination-prev:hover a {
  color: #fff !important;
}

.ant-pagination-disabled:hover,
.ant-pagination-next:hover,
.ant-pagination-prev:hover {
  background-color: #2e6cf6 !important;
}

.show-resource-component .ant-table-empty .ant-table-body {
  margin-top: -10px;
}

.show-resource-component .ant-tabs-nav-container {
  height: 0px;
}

.show-resource-component .ant-tabs-top-content.ant-tabs-content-animated {
  margin-top: -16px;
  height: calc(100vh - 135px) !important;
}

.ant-drawer-body:has(.show-resource-component) {
  overflow-y: hidden;
  background-color: #F5f7fc !important;
  height: calc(100% - 100px);
}

.ant-drawer-body:has(.show-resource-topo) {
  overflow-y: hidden;
  height: calc(100% - 100px);
}

ul#relationTopoBottom {
  margin-top: -10px;
}

.show-resource-topo ul#relationTopoBottom {
  margin-top: 45px;
}

.show-resource-topo scene-resourceexplore .topo-chart .result-container .row:has(ice-relation-topo) {
  height: calc(100vh - 111px);
}

.show-resource-component ice-resource-instance .ant-layout-sider-children {
  margin-top: 10px;
  overflow: hidden;
}

.show-resource-component nz-sider.hidetree {
  background-color: #f5f7fc !important;
}

.show-resource-component nz-row {
  height: 38px !important;
}

.ant-drawer-body:has(.show-resource-component) .ant-tabs {
  top: -10px !important;
}

.ice-simpleTopo-tab {
  margin-top: 20px;
  height: 100%;
}

.ice-simpleTopo-tab .topo-button-group {
  right: -5px !important;
}

scene-resourcessearchapp .topo-button-group {
  right: -5px !important;
}

scene-resourcessearchip .topo-button-group {
  right: -5px !important;
}

ice-resource-model .ant-table-thead>tr>th.ant-table-column-has-actions.ant-table-column-has-sorters {
  max-width: 0;
}

scene-selfmonitor .ant-table-thead>tr>th.ant-table-column-has-actions.ant-table-column-has-sorters {
  max-width: 0;
}

ice-relation-tree .btn-group-vertical,
ice-relation-tree .btn-group-vertical>.topo-button {
  border: 0px solid transparent;
  background-color: transparent !important;
  color: #333333;
}

/* 调整手工刷新按钮的右边距
.ant-col-6:has(.fa-refresh)  .ant-col-21{
  width:90%;
}
.ant-col-6:has(.fa-refresh)  .ant-col-3{
  width:10%;
}
*/

.ant-table-title {
  padding: 10px 3px 0px 3px;
  border-top: 1px solid #ccc;
}

ice-dismain .ant-table-title {
  padding: 10px 10px 15px 10px;
}

ice-servicemain .ant-table-title {
  padding: 10px 10px 15px 10px;
}

.favourite-list .ant-table-title {
  padding: 5px 10px 15px 10px;
}

ice-instance-editor .ant-table-title {
  border-top: 0px solid #ccc;
  padding-top: 0px;
  padding-bottom: 10px;
}

ice-instance-editor .ant-form-item-children ice-in-instance .ant-table-title {
  padding-top: 10px;
  padding-bottom: 5px;
}

ice-instance-editor .tableColumnsDisplay-tags {
  margin-top: 0px;
  margin-bottom: 0px;
}

.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper {
  opacity: 0.97;
}

/*
.login-cover-bg{
	opacity: .5;
}
.login-v2 .login-content{
	padding-top: 100px;
    padding-bottom: 20px;
	width: 400px;
	background: #00000080;
}
.login-v2{
	top: 35%;
	left: 60%;
	background: rgba(0,0,0,0);
	margin: -89px 0 0 35px;
	width: 400px;
}
.login-cover-image img{
	height: 100%;
	width: 100%;
}
*/
.login-cover-bg {
  /* opacity: .8; */
  /* 已改为通过配置动态设置 */
  margin-left: auto;
  width: 30%;
  background: radial-gradient(ellipse at center, #24255c 0, #000 75%);
}

.login-v2 .login-content {
  padding-top: 100px;
  padding-bottom: 20px;
  width: 45%;
  max-width: 400px;
}

.login-v2 {
  /*top: 35%;
	left: 68%;
	background: rgba(0,0,0,0);
	margin: -89px 0 0 35px;
	width: 400px;*/

  top: 35%;
  background: rgba(0, 0, 0, 0);
  width: 400px;
  text-align: center;
  margin-left: auto;
  width: 70%;
}

.login-cover-image img {
  height: 100%;
  width: 100%;
  /* filter: brightness(60%); */
  /* 已改为通过配置动态设置 */
}

/* assets view settings */
.assetsViewBody .view-title-area .widget.widget-stats {
  margin-top: 10px;
  margin-bottom: -5px;
  background-color: transparent !important;
  padding: 15px 0px 15px 0px;
  top: 5px;
  margin-left: -10px;
  padding-left: 10px;
}

scene-assetsview {
  zoom: 0.99;
}

.assetsViewBody .stats-subtitle {
  border-radius: 10px;
  /*background-color: #3c0694;*/
  background-color: #6338e6;
  /*background: radial-gradient(ellipse at left,#66148e 0,#410794 90%);*/
  height: 24px;
  vertical-align: middle;
  border-radius: 2px;
  display: table-cell;
  color: #d0d0d0;
  padding: 5px 10px;
}

.assetsViewBody .widget-stats .stats-title {
  font-size: 14px;
  font-weight: 700;
}

.assetsViewBody .widget.widget-stats {
  border-radius: 15px;
  /*background-color: #36406350 !important;*/
  background-color: #12151e !important;
  border: 1px solid transparent;
}

.assetsViewBody .view-body-column2-row1 {
  padding: 50px 30px 40px 30px;
  text-align: center;
}

.assetsViewBody .view-body-column2-row2 {
  padding: 10px 10px 40px 10px;
  text-align: center;
}

.assetsViewBody .view-body-column2-row1 .stats-title {
  font-size: 18px;
  font-weight: 700;
  color: rgba(255, 255, 255, .6);
  /*color: #fff;*/
}

.assetsViewBody .g2-guide-html .title {
  color: rgba(255, 255, 255, .6);
}

.assetsViewBody .g2-guide-html .value {
  color: #f1f1f1;
}

.assetsViewBody .view-body-column2-row1 .stats-number {
  font-size: 52px;
  font-weight: 700;
  color: #fff;
}

.assetsViewBody .view-body-column2-row2 .stats-title {
  font-size: 14px;
  font-weight: 700;
  color: #ffffff70;
  /*color: #fff;*/
}

.assetsViewBody .view-body-column2-row2 .stats-number {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
}

.assetsViewBody .view-body-column2 .center-top {
  background-position: right !important;
}

.assetsViewBody .collection-control a {
  color: #35406499 !important;
}

.assetsViewBody .collection-control a:hover {
  color: #2e6cf6 !important;
}

.disasterRecoveryBody .collection-control a {
  color: #35406499 !important;
}

.disasterRecoveryBody .collection-control a:hover {
  color: #2e6cf6 !important;
}

.assetsViewBody .result-info.app-result-info {
  color: #ffffff90;
  font-size: 14px;
  font-weight: 700;
}

.assetsViewBody .application-indicator .stats-title {
  font-size: 12px;
  color: #ffffff99;
}

.assetsViewBodyConfig {
  box-shadow: none !important;
  padding: 0px !important;
}

.assetsViewBody .application-indicator .stats-number {
  font-size: 24px;
  color: #ffffff;
  font-weight: 500;
}

.assetsViewBody .row>[class*=col-] {
  padding: 0 12px;
}

.assetsViewBody .view-title-area .logo {
  width: 200px !important;
}

.assetsViewBodyConfig .upload-list-inline .ant-upload-list-item {
  margin-top: 0px !important;
}

.assetsViewBody .home-char.ng-star-inserted>div {
  background: transparent;
}

.assetsViewBody {
  background: #000;
  /*
margin-left: -15px;
margin-right: -15px;*/
  margin-top: 5px;
  bottom: 15px;
  padding-left: 20px;
  padding-right: 10px;
  padding-bottom: 10px;
  height: 99.4%;
  border-radius: 10px;
  margin-bottom: 5px;
}

nz-content:has(three-component) {
  margin-left: 12px;
  margin-right: 12px;
  margin-top: 10px;
}

html {
  zoom: 1;
  /*user-select: none;*/
}

.ant-modal-body:has(.export-config-form) {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 15px;
}

.ant-modal-body:has(.export-config-form) .ant-form-vertical .ant-form-item {
  padding-bottom: 15px !important;
}

.ant-modal-body:has(.export-config-form) ice-dynamic-form nz-form-label.ant-form-item-label {
  width: 100%;
}

.help-menu {
  color: #2e6cf6;
  font-size: 16px;
  top: -5px;
  position: relative;
}

.selfmonitor-history .help-menu{
  top: 12px !important;
}
.selfmonitor-history .custom-report-drilled-page-console .col-md-12 .col-md-8 .help-menu font{
  bottom: 0px !important;
}

config-component .menu-config-tab textarea.ant-input {
  margin-top: 0px !important;
}

.ant-switch-checked {
  background-color: #2e6cf6;
}

#app-details-top ice-component-menuIcon a {
  padding-top: 3px;
}

/*内表样式优化*/
editor-table .formLabelTip-icon {
  top: 8px !important;
  padding-left: 10px !important;
}

editor-table .ant-table-column-sorter {
  padding-top: 6px !important;
}

editor-table .ant-table-thead>tr>th .ant-table-header-column {
  display: block !important;
}

editor-table .ant-table-header-column .ant-table-column-sorters {
  display: flex !important;
}

editor-table .ant-table-header-column .table-column-title {
  display: block;
  white-space: nowrap;
  max-width: 70%;
  text-overflow: ellipsis;
  overflow: hidden;
}

/*外表样式优化*/
.ant-table-thead>tr>th .ant-table-header-column {
  display: block !important;
}

.ant-table-header-column .ant-table-column-sorters {
  display: flex !important;

}

.ant-table-thead>tr>th .ant-table-column-sorter {
  padding-top: 7px !important;
}

.ant-table-thead>tr>th .ant-table-filter-icon>svg {
  margin-top: -6px;
}

.ant-table-header-column .table-column-title {
  display: block;
  white-space: nowrap;
  max-width: 70%;
  text-overflow: ellipsis;
  overflow: hidden;
}

.ant-drawer-content:has(.help-message-title) {
  opacity: 1;
}

.itsm-change-audit-checkbox .ant-checkbox {
  top: 0.5px;
  padding-left: 14px;
}

.itsm-change-audit-checkbox .ant-checkbox+span {
  color: #949494;
}

ice-component-tag {
  color: #fff;
}

ice-resource-instance-tree nz-input-group.ant-input-affix-wrapper {
  margin-top: 5px;
  width: 100%;
}

ice-resource-instance-tree .hideTree {
  margin-top: 6px;
  /*padding-left: 37px !important;
  padding-right: 0px !important;*/
}

ice-resource-instance-tree .hidetree .ant-layout-sider-children {
  overflow-y: hidden;
  background-color: #f5f7fc;
}

ice-resource-instance-tree .ant-tree {
  padding: 0;
  height: calc(100vh - 155px);
  overflow-x: hidden;
}

ice-resource-instance-tree .instance-list-notree .ant-table-title+.ant-table-content {
  height: calc(100vh - 205px) !important;
}

ice-resource-instance-tree .ant-table-title+.ant-table-content {
  height: calc(100vh - 205px) !important;
}

.ice-resource-instance-name-tab>nz-tabset:first-child>div:first-child .ant-tabs-nav-container .ant-tabs-nav-wrap {
  margin-left: 15px;
}

.ice-resource-instance-name-tab>nz-tabset:first-child>div:first-child .ant-tabs-nav-container .ant-tabs-nav-wrap .ant-tabs-nav .ant-tabs-tab {
  margin: 0 26px 0 0;
  color: #7c8491;
}

.ice-resource-instance-name-tab>nz-tabset:first-child {
  padding: 0 0px;
}

.ice-resource-instance-name-tab>nz-tabset:first-child>div:first-child .ant-tabs-nav-container .ant-tabs-nav-wrap .ant-tabs-tab-active {
  color: #333333 !important;
}

/*
.ice-resource-instance-name-tab > nz-tabset:first-child > div:first-child .ant-tabs-nav-container .ant-tabs-nav-wrap .ant-tabs-ink-bar{
  background-color: transparent !important;
}*/
ice-resource-instance-tree .ant-tabs-ink-bar {
  background-color: transparent !important;
}

ice-resource-instance-tree .ant-tabs-tab {
  color: #7c8491;
}

ice-resource-instance-tree .ant-tabs-nav .ant-tabs-tab {
  padding: 12px 6px;
}

ice-resource-instance-tree .ant-tree {
  overflow-x: scroll;
}

ice-resource-instance-tree .ant-layout-sider-children {
  overflow-x: hidden;
}

ice-resource-instance-tree .ant-tabs-bar {
  padding-left: 0px !important;
}

.hideTree button:hover>.anticon {
  color: #fff !important;
}

ice-resource-instance-tree .ant-layout-sider-children .col-md-12 {
  margin-top: 10px;
}

.has-error .ant-select-selection {
  border: 1px solid;
  border-color: #f5222d !important;
}

button.ant-btn.ant-dropdown-trigger.ant-btn-default.ant-btn-icon-only:hover .anticon {
  color: #fff !important;
}

.column-sort-editor-table .ant-table {
  margin-top: -10px !important;
}

/*
.favourites .help-menu{
  top: 0px;
}
*/
ice-logmanager .help-menu {
  top: 9px;
}

.view-manage-tip {
  margin-top: 15px;
  margin-bottom: -15px;
  margin-left: 2px;
}

.view-group-manage-tip {
  margin-top: 15px;
  margin-bottom: -15px;
  margin-left: 2px;
}

.view-manage-tip+editor-table .ant-table-column-title {
  margin-left: 10px;
}

.view-group-manage-tip+editor-table .ant-table-column-title {
  margin-left: 10px;
}

.favourites ice-component-tag {
  display: inline-block;
  font-weight: 700;
  margin-right: 10px;
}

.collection-config-form .ant-row-flex-top {
  height: 0px;
}

.ant-tabs-tabpane:has(.collection-config-form) .ant-form-horizontal .ant-form-item-control {
  line-height: inherit;
}

.collection-white-editor-table .ant-table-title {
  box-shadow: none !important;
}

.favourites .fa-list-ol {
  color: #ffffff99;
}

.favourites .fa-list-ol:hover {
  color: #2e6cf6;
}

.ant-checkbox-disabled input[type=checkbox]:before {
  /*top: -4px;*/
  top: -3px !important;
}

.ant-table-title {
  box-shadow: none !important;
}

.model-config-page .upload-list-inline .ant-upload-list-item {
  margin-top: 0px;
}

.model-config-page .clearfix {
  margin-top: 0px;
}

.ant-menu-submenu-title:hover .ant-menu-submenu-arrow::after,
.ant-menu-submenu-title:hover .ant-menu-submenu-arrow::before {
  background-image: linear-gradient(to right, #fff, #fff) !important;
}

ice-instance-editor .ant-select {
  display: grid !important;
}

ice-instance-editor .ant-select-selection--multiple {
  padding-bottom: 1.75px !important;
  min-height: 34px;
}

ice-dynamic-form .ant-select {
  /*display: grid !important;*/
  display: block !important;
}

ice-dynamic-form .ant-select-selection--multiple {
  /*padding-bottom: 1.75px !important; 1.75px导致多选下拉框在表单上高度超标，影响了表单中字段分栏时的排列位置，调整成1.5px*/
  padding-bottom: 1.5px !important;
  min-height: 34px;
  /*解决模型字段配置中勾选 只读 选项后的错位问题，可能影响实例表单布局，需要观察 */
}

.model-config-page ice-dynamic-form .ant-select-selection--multiple {
  /*发现padding-bottom: 1.5px !important;时，类型配置页面上仍然出现自动字段分栏排列位置问题，针对类型配置页面特殊处理 */
  padding-bottom: 1.67px !important;
  min-height: 34px;
}

config-component ice-dynamic-form .ant-select-selection--multiple {
  min-height: 34px;
}

ice-dynamic-form .ant-checkbox-wrapper {
  height: 34px;
}

ice-dynamic-form form textarea.ant-input {
  margin-bottom: 0px !important;
}

ice-resource-instance nz-sider {
  min-width: 230px !important;
}

resource-filter-view nz-sider {
  min-width: 230px !important;
}

ice-bankreport nz-sider {
  min-width: 230px !important;
}

ice-resource-model nz-sider {
  min-width: 300px !important;
}

.resource-dropdown {
  /*min-width: 200px;*/
  display: contents;
  /*min-height: 35px;*/
  overflow: visible;
}
.resource-dropdown ice-select-tag{
  min-width: 200px;
}

.resources-search .dropdown.pull-left {
  display: flex;
}

ice-resource-instance-tree .ant-layout-sider {
  transition: none !important;
}

.ant-calendar-picker .ant-calendar-picker-input {
  opacity: 1 !important;
}

.task-modal-ip {
  margin-top: -3px !important;
  margin-bottom: -3px !important;
}

.instance-filter-dict {
  margin-right: 4px;
  line-height: initial;
}

.instance-filter-dict .ant-select-selection--multiple .ant-select-selection__rendered {
  margin-bottom: 0px !important;
  line-height: 31px;
}

.colSearchDisplay .ant-dropdown-trigger.ant-btn {
  padding-top: 1px;
  height: 34px;
}

.colSearchDisplay .ant-calendar-picker .ant-calendar-picker-input {
  /*max-width: 230px !important;*/
  width: 100%;
}

.colSearchDisplay .ant-calendar-range-picker-input {
  padding-bottom: 10px;
  background-color: transparent !important;
}

.colSearchDisplay .ant-col-16:has(nz-input-number) {
  display: flex;
  margin-top: 5px;
  justify-content: center;
  left: 0px !important;
}

.colSearchDisplay .ant-calendar-range-picker-input:focus {
  box-shadow: none !important;
}

.colSearchDisplay .ant-btn>.anticon+span {
  margin-left: 0px;
}

.colSearchDisplay .ant-dropdown-trigger.ant-btn {
  padding-right: 30px !important;
}

.colSearchDisplay nz-select .ant-select-selection--multiple {
  margin-top: 3.5px;
  min-height: 34px;
  margin-bottom: 5px !important;
}

.colSearchDisplay .ant-select-selection--multiple .ant-select-selection__rendered {
  margin-bottom: -1px !important;
}

.colSearchDisplay .ant-select-selection__placeholder {
  margin-top: -8px !important;
}

.colSearchDisplay .ant-select-arrow .ant-select-arrow-icon {
  margin-top: 1px;
}

.colSearchDisplay .ant-select {
  display: block;
}

.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title {
  height: 45px;
  line-height: 45px;
}

.ant-row-flex {
  flex-flow: row !important;
}

.resource-model-task .instance-list-notree .ant-table-title+.ant-table-content {
  height: calc(100vh - 615px) !important;
}

scene-resourcessearchip .result-container>.row+div {
  height: calc(100vh - 200px) !important;
  overflow-y: scroll;
}

scene-resourcessearchapp .result-container>.row+div {
  height: calc(100vh - 200px) !important;
  overflow-y: scroll;
}

scene-resourcessearchrack .result-container>.row+div {
  height: calc(100vh - 200px) !important;
  overflow-y: scroll;
}

scene-resourcessearch .result-container>.row+div {
  height: calc(100vh - 200px) !important;
  overflow-y: scroll;
  overflow-x: hidden;
}

config-component .ant-table-bordered .ant-table-tbody>tr>td {
  max-width: none !important;
  border-bottom: 1px solid #ccc !important;
}

.ant-badge-count {
  min-width: 17px;
  height: 17px;
  line-height: 20px;
}

.ant-badge-count,
.ant-badge-dot {
  background: #2e6cf6;
  box-shadow: 0 0 0 0px #fff !important;
  font-weight: 700;
  margin-top: 9px;
  /*left: 6px;*/
  font-size: 12px;
  z-index: 1;
  padding-left: 3px;
  padding-right: 3px;
}

.version-timeline .ant-timeline nz-timeline-item .ant-timeline-item-content,
.job-running-timeline .ant-timeline nz-timeline-item .ant-timeline-item-content {
  padding-left: 15px;
  padding-right: 10px;
  border-radius: 10px;
}

.job-running-timeline .ant-timeline-item-content ice-component-tag {
  display: inline-block;
}

.job-running-timeline .release-date {
  color: #333;
}

/* 2024-01-17 新增细节调整，包括组件边沿线条颜色（统一调整为 #ccc */
.ant-btn:focus {
  border-color: #ccc !important;
}

.ant-btn[disabled] {
  border-color: #ccc !important;
  color: #7c8491 !important;
}

input:not(.input-lg) {
  border-color: #ccc !important;
}

.ant-select-selection {
  border-color: #ccc !important;
}

.ant-drawer-body .ant-table-tbody .ant-dropdown-trigger.ant-btn {
  border-color: #ccc !important;
  top: 0px !important;
}

textarea,
textarea.ant-input {
  border-color: #ccc !important;
}

config-component .systemConfig textarea.ant-input {
  border-color: #ccc !important;
}

.ant-drawer-body .ant-table-tbody .ant-dropdown-trigger.ant-btn {
  border-color: #ccc !important;
}

.ant-input-number {
  height: 34px !important;
  border-color: #ccc !important;
}

.ant-drawer-body .ant-input-number {
  top: 1px !important;
}

.ant-input {
  border-color: #ccc !important;
}

editor-table nz-date-picker nz-picker span input {
  border: none !important;
}

editor-table nz-date-picker {
  padding: 0px 2px !important;
}

editor-table .ant-table-tbody>tr>td {
  padding: 4px !important;
}

editor-table .ant-table-tbody>tr>td>.ant-form-item {
  padding-top: 0px !important;
}

.selfmonitor-host-srv-kpi .ant-tabs {
  height: inherit;
  display: contents;
}

.selfmonitor-host-srv-kpi .ant-tabs .ant-tabs-top-content.ant-tabs-content-animated {
  height: calc(100% - 37px);
}

.selfmonitor-host-srv-kpi .ant-tabs-nav-container {
  margin-top: -12px;
}

/*
.selfmonitor-host-srv-kpi .ant-table-thead>tr>th, .ant-table-tbody>tr>td{
  padding: 0px;
}*/
.selfmonitor-host-srv-kpi .ant-table-thead>tr>th {
  padding: 0px;
}

.ant-table-tbody>tr>td,
.ant-table-thead>tr>th {
  padding-top: 0px;
  padding-bottom: 0px;
}

.taskparams-table .ant-table-tbody>tr>td,
.taskparams-table .ant-table-thead>tr>th {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  vertical-align: middle !important;
}

.taskparams-table .ant-select-selection--multiple {
  padding-bottom: 0px !important;
}

.taskparams-table .ant-select-selection--multiple .ant-select-selection__rendered {
  margin-bottom: -3px !important;
}

ice-instance-editor .ant-select-selection--multiple .ant-select-selection__rendered {
  margin-bottom: 0px !important;
}

.taskparams-table .ant-select-selection--multiple .ant-select-selection__rendered>ul>li,
.taskparams-table .ant-select-selection--multiple>ul>li {
  margin-top: 0px !important;
}

.taskparams-table .ant-select-selection--multiple .ant-select-selection__rendered>ul>li,
.taskparams-table .ant-select-selection--multiple>ul>li {
  margin-top: 3px !important;
  margin-bottom: 2px !important;
}

.taskparams-table .ant-select {
  display: block !important;
}

.ant-table-tbody .ant-btn {
  height: 33px !important;
}

.related-ins-table .ant-table-thead>tr>th {
  height: 45px !important;
}

.related-ins-table .ant-table-tbody>tr>td {
  height: 50px;
}

/*disabled color*/
.ant-input-disabled,
.ant-input[disabled] {
  color: #aeb0b7 !important;
  /* #a8a8a8 */
}

/*disabled color*/
.ant-select-disabled .ant-select-selection {
  color: #aeb0b7 !important;
  /* #a8a8a8 */
}

/*disabled color*/
.ant-select-disabled .ant-select-selection--multiple .ant-select-selection__choice {
  color: #aeb0b7 !important;
  background: #fafafa;
  border: 0px solid #aeb0b7;
  /* #a8a8a8 */
}

.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item .ant-select-selected-icon {
  color: #fff !important;
}

.selfmonitor-host-srv-kpi .ant-table.ant-table-fixed-header.ant-table-default .ant-table-thead>tr>th,
.selfmonitor-host-srv-kpi .ant-table.ant-table-fixed-header.ant-table-default .ant-table-tbody>tr>td {
  padding: 0px !important;
}

.selfmonitor-host-srv-kpi .ant-table.ant-table-fixed-header.ant-table-default.ant-table-scroll-position-left .ant-table-thead>tr>th,
.selfmonitor-host-srv-kpi .ant-table.ant-table-fixed-header.ant-table-default.ant-table-scroll-position-left .ant-table-tbody>tr>td {
  padding: 8px !important;
}




/* 20240425 */
.ant-layout-sider-children {
  overflow-y: auto;
  border-right: 1px solid #ccc;
}

resource-filter-view nz-sider .ant-layout-sider-children {
  border-right: none !important;
}

ice-resource-instance nz-sider .ant-layout-sider-children {
  border-right: none !important;
}

ice-resource-model nz-sider .ant-layout-sider-children {
  border-right: none !important;
}

ice-resource-instance-tree nz-sider .ant-layout-sider-children {
  border-right: none !important;
}

.ant-layout {
  background-color: #f7f8fa !important;
}

nz-tabset {
  padding: 0px 0px !important;
}

ice-resource-instance-tree .ant-select-selection {
  background-color: #fff;
}

ice-resource-instance-tree .ant-input-affix-wrapper .ant-input:not(:last-child) {
  background-color: #eff2f8 !important;
}

ice-resource-instance-tree .ice-resource-instance-name-tab nz-tabset .ant-tabs-content nz-tabset .ant-tabs-bar {
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
  /*border-bottom: 1px solid #ccc;*/
  /*border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;*/
  background-color: #fff;
  padding-left: 15px !important;
  padding-right: 20px !important;
  /* new tab design */
}

ice-resource-instance .ant-tabs-bar {
  /* border-top: 1px solid #ccc;*/
  /*border-bottom: 1px solid #ccc;*/
  /*border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;*/
  /*background-color: #fff;*/
  padding-left: 20px !important;
  padding-right: 20px !important;
  padding-top: 5px !important;
  /* new tab design */
}

resource-filter-view .ant-tabs-bar {
  /* border-top: 1px solid #ccc;*/
  /* border-bottom: 1px solid #ccc;*/
  /*border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;*/
  /*background-color: #fff;*/
  padding-left: 20px !important;
  padding-right: 20px !important;
  /* new tab design */
}

ice-resource-model .ant-tabs-bar {
  /* border-top: 1px solid #ccc;*/
  /* border-bottom: 1px solid #ccc;*/
  /*border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;*/
  /*background-color: #fff;*/
  padding-left: 20px !important;
  padding-right: 20px !important;
  /* new tab design */
}

ice-resource-instance .ant-table,
resource-filter-view .ant-table,
ice-resource-model .ant-table {
  /*border: 1px solid #ccc;*/
  border-top: none;
}

.ant-table-title+.ant-table-content {
  /*border-top:1px solid #ccc;*/
  /*box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);*/
  border-radius: 0px;
}

.ant-layout-sider-light {
  background-color: #f7f8fa !important;
  padding-right: 10px;
  /*min-width: 240px !important;*/
  border-right: 1px solid #ccc;
  margin-right: 0px !important;
  /*margin-right: 15px;*/
}

.ant-layout-sider-children nz-row {
  height: 52px;
}

resource-filter-view nz-sider.hidetree nz-row {
  background-color: #f5f8fc !important;
}

.hidetree .ant-layout-sider-children {
  overflow-x: hidden;
  margin-top: -12px;
}

ice-resource-instance-tree .hidetree .ant-layout-sider-children {
  overflow-x: hidden;
  margin-top: -4px;
}

ice-resource-instance .hidetree .ant-layout-sider-children {
  overflow-x: hidden;
  margin-top: -4px;
}

ice-resource-model .hidetree .ant-layout-sider-children {
  overflow-x: hidden;
  margin-top: -4px;
}

nz-sider.hidetree nz-row {
  width: 0px !important;
}

nz-sider.hidetree nz-row button {
  margin-top: 18px !important;
}

nz-sider.hidetree {
  min-width: 30px !important;
  margin-right: 0px !important;
}

nz-sider .ant-btn {
  box-shadow: none !important;
}

.ant-btn:not(.ant-btn-circle):not(.ant-btn-circle-outline).ant-btn-icon-only {
  border: 0px solid #ccc !important;
  background-color: transparent !important;
}

.ant-btn:not(.ant-btn-circle):not(.ant-btn-circle-outline).ant-btn-icon-only:hover {
  background-color: #2e6cf6 !important;
}

nz-sider .ant-menu-submenu-open>.ant-menu-sub .ant-menu-item {
  background-color: #e9eced !important;
}

.ant-table-bordered .ant-table-tbody>tr>td {
  border: none !important;
  padding-top: 3px !important;
  vertical-align: middle !important;
  height: 45px;
  padding-left: 12px !important;
}

scene-collection .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
}

scene-collection nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

scene-report .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
}

scene-report nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 10px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

scene-inspection .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
}

scene-inspection nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

scene-inspection nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr {
  background-color: transparent !important;
}

editor-table .ant-table-bordered .ant-table-tbody>tr>td {
  background: none !important;
}

ice-resource-instance nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-top: 10px !important;
  padding-bottom: 5px !important;
  padding-left: 0px !important;
}

resource-filter-view nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-top: 10px !important;
  padding-bottom: 5px !important;
  padding-left: 5px !important;
}

ice-resource-model nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-top: 10px !important;
  padding-bottom: 5px !important;
  padding-left: 0px !important;
}

ice-resource-model tbody font {
  padding-left: 0px !important;
}

.ant-table-bordered .ant-table-tbody>tr>td .pull-right {
  padding-right: 6px !important;
}

.resource-dropdown .ant-select {
  background-color: #fff;
}

/*
.ant-table-empty .ant-table-body {
  box-shadow: 0px 1px 1px 0 rgba(0, 0, 0, 0.1);
}*/
.selfmonitor-history .custom-report-drilled-page-console .col-md-12 .col-md-8 {
  margin-top: 4px !important;
  padding: 1px 0px;
  padding-right: 10px !important;
  /*background: #f9fafc !important;*/
  /*background: #fff !important;*/
  /*border: 1px solid #ccc;*/
  /*box-shadow: 0px 1px 1px 0 rgba(0, 0, 0, 0.1);*/
}

.selfmonitor-history .custom-report-drilled-page-console .col-md-12 .col-md-8 font {
  position: relative;
  bottom: 10px;
}

.selfmonitor-history .custom-report-drilled-page-console .col-md-12 .col-md-8 nz-tag {
  position: relative;
  bottom: 10px;
}

.selfmonitor-history .custom-report-drilled-page-console .col-md-12 .col-md-8 nz-switch {
  position: relative;
  bottom: 10px;
}

.selfmonitor-history .custom-report-drilled-page-console .col-md-12 .col-md-8 a {
  position: relative;
  bottom: 10px;
}

.selfmonitor-history .custom-report-drilled-page-console .col-md-12 .col-md-8 nz-select {
  top: 3px;
}

resource-filter-view .ant-table-title {
  margin-left: 0px;
}

resource-filter-view .ant-table-title+.ant-table-content {
  margin-left: 0px;
  height: calc(100vh - 178px) !important;
}

resource-filter-view nz-table:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  margin-left: 0px;
  height: calc(100vh - 210px) !important;
}

ice-discheck .ant-table-title+.ant-table-content {
  /*height:620px !important;*/
  height: calc(100vh - 275px) !important;
}

ice-distask .ant-table-title+.ant-table-content {
  /*height:620px !important;*/
  height: calc(100vh - 180px) !important;
}

ice-distask:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 220px) !important;
}

ice-dismain .ant-table-title+.ant-table-content {
  /*height:620px !important;*/
  height: calc(100vh - 270px) !important;
}

ice-servicemain .ant-table-title+.ant-table-content {
  /*height:310px !important;*/
  height: calc(50vh - 160px) !important;
}

.button-group {
  padding-left: 8px;
  padding-right: 0px;
}

.collapse-app-handler {
  background-color: #bbc0cb99;
}

config-component nz-table:has(.config-save-button) .ant-table-tbody>tr>td {
  max-width: none !important;
  /*margin-right:-8px;*/
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  border-bottom: none !important;
}

config-component .config-save-button {
  padding-top: 10px !important;
}

config-component .config-save-button .ant-btn {
  background-color: #fff !important;
  float: right;
  color: #333;
}

.log-details .ant-drawer-body {
  height: calc(100% - 105px) !important;
}

ice-instance-editor .ant-drawer-body {
  height: calc(100% - 90px) !important;
}

.ant-drawer-body:has(ice-instance-editor) {
  height: calc(100% - 110px) !important;
}

resource-filter .ant-table-title+.ant-table-content {
  height: calc(100vh - 175px) !important;
}

audit-component .ant-table-title+.ant-table-content {
  height: calc(100vh - 180px) !important;
}

audit-component:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 220px) !important;
}

vic-cipheraccount .ant-table-title+.ant-table-content {
  height: calc(100vh - 180px) !important;
}

vic-cipheraccount:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 220px) !important;
}

ice-disagent .ant-table-title+.ant-table-content {
  height: calc(100vh - 185px) !important;
}

ice-disagent .nativeAgentShow:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 220px) !important;
}

ice-disagent .scriptOnAgentShow:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 225px) !important;
}

ice-coderepo .ant-table-title+.ant-table-content {
  height: calc(100vh - 178px) !important;
}

ice-coderepo:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 210px) !important;
}

resource-datasource .ant-table-title+.ant-table-content {
  height: calc(100vh - 175px) !important;
}

resource-datasource2 .ant-table-title+.ant-table-content {
  height: calc(100vh - 175px) !important;
}

user-component .ant-table-title+.ant-table-content {
  height: calc(100vh - 175px) !important;
}

group-component .ant-table-title+.ant-table-content {
  height: calc(100vh - 175px) !important;
}

vic-hostsummary .ant-table-title+.ant-table-content {
  height: calc(100vh - 170px) !important;
  border-bottom: 1px solid #ccc;
}

.instance-list-notree .ant-table-title+.ant-table-content {
  height: calc(100vh - 160px) !important;
}

.license-management-page .col-md-6 {
  padding: 0px 10px !important;
}

nz-content {
  margin: 5px 15px 5px 20px !important;
}

nz-tree {
  overflow: scroll !important;
  height: calc(100% - 40px);
}

#myTree {
  padding-top: 5px;
  padding-left: 3px;
  /*background-color: #fff;
  border: 1px solid #ccc;*/
  height: calc(100% - 40px);
}

ice-resource-tree nz-input-group.ant-input-affix-wrapper,
resource-filter-view nz-input-group.ant-input-affix-wrapper {
  margin-top: 5px;
  /*margin-bottom: 10px;*/
  background-color: #fff;
}

.ant-tree li {
  padding-top: 6px;
  padding-bottom: 0px;
  white-space: nowrap;
  outline: 0px;
  /*border-bottom: 1px solid #ccc !important;*/
  /* background-color: #ccc; */
}

.ant-tree-child-tree-open {
  /*background-color: #eaeced;*/
}

nz-sider.hidetree nz-row button {
  border: 1px solid #ccc !important;
}

.ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected .ant-tree-title {
  /*max-width: 135px;*/
  color: #ffffff !important;
}

.ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected {
  background-color: #2e6cf6;
}

.ant-tree li .ant-tree-node-content-wrapper:hover {
  background-color: #c8e6ff !important;
  width: fit-content;
}

.custom-report-drilled-page-chart,
.custom-report-drilled-page-table {
  padding-top: 20px;
  padding-left: 10px;
  padding-right: 15px;
}

.ant-menu {
  font-weight: 600;
}

.sub-menu-title {
  font-weight: 400 !important;
}

.ace_editor {
  border: 1px solid #ccc !important;
}

.ace_editor:hover {
  border: 1px solid #2e6cf6 !important;
}

.table-seleted-items span {
  color: #354052;
  font-weight: 700;
}

nz-sider .collapse-app-handler {
  top: 45%;
  right: 0;
  padding: 0;
  width: 15px !important;
  height: 50px;
  display: block;
  cursor: pointer;
  line-height: 34px;
  text-align: center;
  position: absolute;
  background-color: #bbc0cb99 !important;
  border-radius: 4px 0 0 4px;
  border: none;
}

nz-sider .collapse-app-handler .anticon {
  display: block;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

.ant-modal-close-x:hover {
  background-color: #e8e8e8;
  transition: background-color .1s cubic-bezier(.645, .045, .355, 1);
}

/* new tab design */
.ant-layout.ant-layout-has-sider>.ant-layout,
.ant-layout.ant-layout-has-sider>.ant-layout-content {
  position: relative;
  overflow: hidden;
}

ice-resource-model .model-form-config {
  display: block;
  padding-top: 10px;
  /*padding-left: 15px;*/
}

ice-resource-model .model-button-group {
  padding-left: 0px !important;
  padding-bottom: 5px;
}

.resource-model-task .instance-list-notree .ant-table-title+.ant-table-content {
  height: calc(100vh - 620px) !important;
}

.ant-table-tbody>tr>td,
.ant-table-thead>tr>th {
  height: 46px !important;
}

config-component ice-dynamic-form nz-form-label.ant-form-item-label {
  width: 100% !important;
}

nz-badge>span {
  margin-right: 2px;
}

/*
scene-resourcessearchrack nz-card{
  background-color: #242629 !important;
  border-color: rgb(44, 48, 54) !important
}
*/
scene-resourcessearchip .ant-card-body span {
  width: -webkit-fill-available;
  display: block;
  position: relative;
  text-align: center;
  /*bottom: 2px;*/
  color: #000;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10px;
}

scene-resourcessearchip .ant-card-small>.ant-card-body {
  padding: 0px !important;
}

scene-resourcessearchip .ip-map-body {
  margin-top: 6px;
  overflow-x: hidden;
}

scene-resourcessearchip .button-group {
  display: flex;
  justify-content: space-between;
  padding-left: 0px !important;
}

scene-resourcessearchapp .button-group {
  display: flex;
  justify-content: space-between;
  padding-left: 0px !important;
}

scene-resourcessearchrack .button-group {
  display: flex;
  justify-content: space-between;
  padding-left: 0px !important;
}

ice-resource-instance-tree .button-group {
  display: flex;
  justify-content: space-between;
  padding-left: 0px !important;
}

ice-resource-instance .button-group {
  display: flex;
  justify-content: space-between;
  padding-left: 0px !important;
}

ice-resource-model .button-group {
  display: flex;
  justify-content: space-between;
  padding-left: 0px !important;
}

scene-resourcessearchrack .ant-card-body span {
  width: -webkit-fill-available;
  display: block;
  position: relative;
  text-align: center;
  /*bottom: 2px;*/
  color: #000;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10px;
}

scene-resourcessearchrack .rack-map-title {
  background-color: #2c3036;
  position: relative;
  text-align: center;
  margin-top: 10px;
  /*margin-bottom: 5px;*/
  padding-top: 12px;
  padding-bottom: 10px;
  font-weight: 700;
  color: #7c8491;
  font-size: 12px;
}

scene-resourcessearchrack .rackCapacity {
  background-color: #fff;
  padding-left: 0px !important;
}

scene-resourcessearchrack .adaptive-table .table-handler {
  background-color: #fff !important;
}

scene-resourcessearchrack .widget.widget-stats .stats-number font {
  color: #333333 !important;
}

scene-resourcessearchrack .app-tabset {
  overflow-y: scroll;
  overflow-x: hidden;
  background: #fff !important;
  padding-top: 5px !important;
  padding-left: 20px !important;
  padding-right: 0px !important;
  padding-bottom: 5px !important;
  /*margin-right: -8px;*/
  /*box-shadow: 0 1px 4px 0 rgba(0,0,0,0.1);*/
  border: 1px solid #ccc;
  border-radius: 5px;
}

scene-resourcessearchrack .instance-list-notree .ant-table-title+.ant-table-content {
  height: calc(100vh - 178px) !important;
}

scene-resourcessearchrack .instance-list-notree:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 210px) !important;
}

scene-resourcessearchrack .ant-table-title .button-group {
  padding-left: 0px !important;
  padding-right: 3px !important;
}

ice-distask .ant-table-title .button-group,
ice-logmanager .ant-table-title .button-group,
ice-bankreport .ant-table-title .button-group,
resource-filter .ant-table-title .button-group,
user-component .ant-table-title .button-group,
group-component .ant-table-title .button-group,
resource-datasource .ant-table-title .button-group,
resource-datasource2 .ant-table-title .button-group,
ice-disagent .ant-table-title .button-group,
ice-coderepo .ant-table-title .button-group,
resource-datasource2 .ant-table-title .button-group,
ice-coderepo .ant-table-title .button-group,
ice-disagent .ant-table-title .button-group,
vic-cipheraccount .ant-table-title .button-group,
audit-component .ant-table-title .button-group,
resource-filter-view .ant-table-title .button-group {
  padding-left: 0px !important;
}

ice-distask .adaptive-table .table-handler,
ice-logmanager .adaptive-table .table-handler,
ice-bankreport .adaptive-table .table-handler,
resource-filter .adaptive-table .table-handler,
user-component .adaptive-table .table-handler,
group-component .adaptive-table .table-handler,
resource-datasource .adaptive-table .table-handler,
resource-datasource2 .adaptive-table .table-handler,
ice-disagent .adaptive-table .table-handler,
ice-coderepo .adaptive-table .table-handler,
resource-datasource2 .adaptive-table .table-handler,
ice-coderepo .adaptive-table .table-handler,
ice-disagent .adaptive-table .table-handler,
vic-cipheraccount .adaptive-table .table-handler,
audit-component .adaptive-table .table-handler,
resource-filter-view .adaptive-table .table-handler {
  margin-bottom: 5px !important;
}

nz-content:has(license-component) .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

scene-resourcessearch .ant-select-selection .ant-select-selection__rendered .ant-select-selection__placeholder,
scene-resourcessearchrack .ant-select-selection .ant-select-arrow {
  padding-top: 2px;
}

scene-resourcessearchapp .ant-select-selection .ant-select-selection__rendered .ant-select-selection__placeholder,
scene-resourcessearchrack .ant-select-selection .ant-select-arrow {
  padding-top: 2px;
}

scene-resourcessearchip .ant-select-selection .ant-select-selection__rendered .ant-select-selection__placeholder,
scene-resourcessearchrack .ant-select-selection .ant-select-arrow {
  padding-top: 2px;
}

scene-resourcessearchrack .ant-select-selection .ant-select-selection__rendered .ant-select-selection__placeholder,
scene-resourcessearchrack .ant-select-selection .ant-select-arrow {
  padding-top: 2px;
}

scene-resourcessearchrack .rack-map-body {
  background-color: #1c1c1c;
  padding-top: 5px;
  padding-left: 5px;
  padding-right: 5px;
}

scene-resourcessearchrack .rack-map-body .rack-utag nz-card .ant-card-body {
  padding-left: 5px;
  padding-right: 5px;
}

scene-resourcessearchrack .rack-map-body .rack-uspace nz-card:hover {
  background-color: #2e6cf6 !important;
}

scene-resourcessearchrack .rack-map-body .rack-uspace nz-card:hover span {
  color: #fff !important;
}

scene-resourcessearchapp .result-container .ant-form-vertical .ant-form-item,
scene-resourcessearchip .result-container .ant-form-vertical .ant-form-item,
scene-resourcessearchrack .result-container .ant-form-vertical .ant-form-item {
  padding-top: 10px;
}

.colSearchDisplay .ant-btn:not(.ant-btn-circle):not(.ant-btn-circle-outline).ant-btn-icon-only {
  top: 5px;
  padding-top: 10px;
}

.title_icon {
  margin-right: 5px;
}

scene-resourcessearchip .ip-map-title {
  background-color: #2c3036;
  position: relative;
  text-align: center;
  margin-top: 10px;
  padding-top: 12px;
  padding-bottom: 10px;
  font-weight: 700;
  color: #fff;
  font-size: 12px;
  line-height: 13px !important;
  /*margin-bottom: 10px !important;*/
}

scene-resourcessearchrack .rack-map-title {
  color: #fff !important;
}

scene-resourcessearchip .ant-card {
  border-radius: 0px !important;
}

.ice-instance-editor .ant-input-number {
  height: 34px !important;
}

.ant-drawer-body .custom-ops-button .ant-dropdown-trigger.ant-btn {
  color: #333;
  top: 0.5px !important;
  padding-right: 10px !important;
}

.ant-drawer-body .ant-dropdown-trigger.ant-btn:hover {
  color: #fff !important;
}

.ant-dropdown-menu-vertical .ant-dropdown-menu-item:hover {
  color: #fff !important;
  background-color: #2e6cf6 !important;
}

.browser-scale-tip .ant-modal-content {
  border-radius: inherit;
  border: 1px solid #393939 !important;
}

.browser-scale-tip .ant-modal-confirm-info .ant-modal-confirm-body>.anticon {
  display: none;
}

.browser-scale-tip img {
  width: 100%;
  height: auto;
  margin-bottom: 10px;
  display: block;
  scale: 1.06;
  margin-top: -8px;
  opacity: 0.82;
  filter: saturate(0.6) brightness(0.9);
  -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
}

.browser-scale-tip .current-scale-text {
  color: #2e6cf6;
  font-weight: 700;
  font-size: 14px;
}

.browser-scale-tip .recommended-scale-text {
  color: #4ead5b;
  font-weight: 700;
  font-size: 14px;
}

.browser-scale-tip .current-scale-cmd {
  /*background-color: #313131;*/
  font-size: 12px;
}

.browser-scale-tip .ant-modal {
  width: 540px !important;
}

.instance-details .ant-select-selection--multiple {
  min-height: 34px !important;
}

.ant-tabs-tabpane:has(ice-relation-tree) {
  background-color: #f5f7fc;
  border: 1px solid #ccc;
}

scene-disasterrecovery .ant-progress-circle .ant-progress-text .anticon {
  color: #fff !important;
}

nz-sider input[placeholder*="搜索"] {
  background-color: #eef2f9 !important;
}

/*add by wl*/
.ant-select-selection:hover .ant-select-selection__clear {
  opacity: 1 !important;
  /*add by wl*/
}

.ant-select-selection__clear {
  background: transparent;
}
/*
.ant-table-content:has(.info-icon-before-table) {
  border: 1px solid #ccc;
}*/

.task-define-page-select button {
  border: 1px solid #ccc !important;
}

.task-define-page-select .ant-btn:not(.ant-btn-circle):not(.ant-btn-circle-outline).ant-btn-icon-only {
  border: 1px solid #ccc !important;
}

.task-define-page-select .ant-btn:not(.ant-btn-circle):not(.ant-btn-circle-outline).ant-btn-icon-only:hover {
  color: #354052 !important;
  background-color: transparent !important;
  border: 1px solid #2e6cf6 !important;
}

.task-define-page-select .ant-btn:not(.ant-btn-circle):not(.ant-btn-circle-outline).ant-btn-icon-only:hover .anticon {
  color: #333333 !important;
}

.task-define-page-select .ant-btn:not([disabled]):hover {
  color: #354052 !important;
  background-color: transparent !important;
  border: 1px solid #2e6cf6 !important;
}

.task-define-page-select .ant-btn>.anticon+span{
  margin-left: 0px !important;
}

nz-list-item.selected {
  background-color: #2e6cf6 !important;
}

nz-list-item.ant-list-item:hover {
  background-color: #2e6cf6 !important;
  color: #fff !important;
}

.ant-select-dropdown-menu .ant-select-dropdown-menu-item-selected .anticon-eye {
  color: #fff !important;
}

.ant-select-dropdown-menu-item:hover .anticon-eye {
  color: #fff !important;
}

#swagger-ui .swagger-ui .information-container {
  background-color: #fff;
}

.ant-divider-horizontal.ant-divider-with-text[nztext*="获取数据命令"] {
  margin-bottom: 18px;
}

.ant-divider-horizontal.ant-divider-with-text[nztext*="映射规则"] {
  margin-bottom: 50px;
  z-index: 1;
}

nz-content:has(ice-servicemain) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

nz-content:has(resource-filter) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

nz-content:has(ice-distask) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

nz-content:has(ice-discheck) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

nz-content:has(vic-hostsummary) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

nz-content:has(user-component) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

nz-content:has(group-component) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

nz-content:has(resource-datasource) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

nz-content:has(resource-datasource2) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

nz-content:has(ice-disagent) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 6px !important;
  padding-bottom: 5px !important;
}

nz-content:has(ice-coderepo) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

nz-content:has(vic-cipheraccount) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

nz-content:has(audit-component) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

nz-content:has(ice-catalogue) nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 15px !important;
}

scene-selfmonitor nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 15px !important;
}

.custom-report-drilled-page-console>div.col-md-12 {
  padding: 0px 0px !important;
}

.custom-report-drilled-page-console>div.col-md-12>.col-md-8 {
  margin-top: 5px !important;
}

.custom-report-drilled-page-console ice-component-menuicon>div {
  margin-top: 4px;
}

ice-catalogue .catalogue-search input[placeholder*="开始搜索"] {
  background-color: #eef2f9 !important;
}

ice-catalogue .catalogue-search input[placeholder*="开始搜索"]:hover {
  border-color: #2e6cf6 !important;
}

ice-catalogue .catalogue-search input:not(.input-lg),
input.form-control:not(.input-lg) {
  color: #2e6cf6 !important;
  border-color: #ccc !important;
  background-color: #eff2f8 !important;
}

ice-catalogue .catalogue-search button[title*="开始搜索"] .fa.fa-search {
  color: #333;
}

ice-catalogue .catalogue-search button[title*="开始搜索"]:hover {
  background-color: #2e6cf6 !important;
}

ice-catalogue .catalogue-search button[title*="开始搜索"]:hover .fa.fa-search {
  color: #fff;
}

ice-catalogue .catalogue-level1 {
  margin-left: 0px;
  /*border-left: 5px solid #2e6cf6;
  padding-left: 10px;*/
  margin-top: -25px;
  padding-top: 5px;
}

ice-catalogue .catalogue-level1 .ant-collapse-content>.ant-collapse-content-box {
  padding: 0px 0px;
}

ice-catalogue .catalogue-level1>.ant-collapse>.ant-collapse-item>.ant-collapse-header {
  color: #333;
  font-size: 13px;
  font-weight: bold;
  border-left: 5px solid #2e6cf6;
  border-radius: 0px;
  padding: 2px 16px 2px 40px;
  margin-bottom: 20px;
}

ice-catalogue .catalogue-level1 .ant-collapse {
  border-radius: 0px !important;
  /*margin-bottom: 20px;*/
  border: none !important;
}

ice-catalogue .catalogue-level1 .ant-collapse-content {
  border-top: 0px solid #ccc !important;
}

ice-catalogue .catalogue-level1-text {
  color: #333;
  font-size: 13px;
  display: contents;
  vertical-align: middle;
}

ice-catalogue .catalogue-level2 .ant-collapse-item>.ant-collapse-header {
  margin-left: 5px;
  color: #333;
  background-color: #fff;
}

ice-catalogue .catalogue-level2 .ant-collapse-item>.ant-collapse-header:hover {
  font-weight: 700;
}

ice-catalogue .catalogue-level2 .ant-collapse {
  /*background-color: #1c1c1c;*/
  border-radius: 0px !important;
  /*margin-bottom: 20px;*/
  border: none !important;
  font-size: 12px;
}

ice-catalogue .ant-collapse>.ant-collapse-item {
  border-bottom: 0px;
}

ice-catalogue .catalogue-level2 .ant-collapse>.ant-collapse-item {
  border: 1px solid #ccc;
}

ice-catalogue .catalogue-level2 .ant-collapse-content {
  border-top: none !important;
}

ice-catalogue .catalogue-level2 .ant-collapse-content>.ant-collapse-content-box {
  padding: 5px !important;
}

ice-catalogue .catalogue-level2 .ant-collapse-content>.ant-collapse-content-box>div {
  margin-bottom: 20px !important;
}

ice-catalogue .catalogue-level3 {
  /*background-color: #202124;*/
  line-height: 1;
  border: 1px solid #ccc;
}

ice-catalogue .catalogue-level3:hover {
  border-color: #2e6cf6;
  background-color: #f2f4f8;
}

ice-catalogue .catalogue-level3:hover .ant-card-actions {
  background-color: #fff !important;
}

ice-catalogue .catalogue-level3:hover .ant-card-actions>li>span {
  color: #000000D9 !important;
  font-weight: 700;
}

ice-catalogue .catalogue-level3 .ant-card-meta-detail .ant-card-meta-title {
  font-size: 14px;
}

ice-catalogue .catalogue-level3 .ant-card-meta-detail .ant-card-meta-description {
  font-size: 12px;
  color: #7c8491 !important;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  padding-top: 5px;
}

ice-catalogue .ant-card-actions>li>span {
  color: #000000A6;
  font-size: 12px;
  line-height: 1;
  width: 100%;
}

ice-catalogue .ant-card-actions>li {
  margin: unset;
  /*padding: 10px 0;*/
}

ice-catalogue .ant-card-actions>li:hover {
  background-color: #2e6cf6;
}

ice-catalogue .ant-card-actions>li:hover span>div>i {
  color: #fff !important;
  font-weight: 900;
}

ice-catalogue .catalogue-search-history {
  font-size: 13px;
  margin-top: -10px;
  color: #333;
}

ice-catalogue .catalogue-search-history nz-tag {
  margin: 3px 3px;
  border: none;
  border-radius: 2px;
  font-size: 12px;
  /*background: #2d3039;
  color: #7c8491;*/
  padding: 3px 10px;
  border: 1px solid #ccc;
  background-color: #ffffff;
}

ice-catalogue .catalogue-search-history nz-tag:hover {
  background-color: #2e6cf6;
  border-color: #2e6cf6;
  color: #fff;
}

ice-catalogue .catalogue-level3-addAction {
  padding: 10px 0px;
}

ice-catalogue .catalogue-level3-viewAction {
  padding: 10px 0px;
}

ice-catalogue .catalogue-content {
  overflow-y: scroll;
  overflow-x: hidden;
  height: calc(100vh - 200px);
  display: block;
}

scene-report-hostsummarycount .custom-report-drilled-page-console .ant-calendar-picker {
  margin-right: 12px !important;
}

scene-report-hostsummarycount .custom-report-drilled-page-console .dropdown {
  margin-right: 0px !important;
}

scene-report-hostsummarycount .ant-calendar-picker .ant-calendar-picker-input {
  padding: 0px 0px;
}

scene-report-hostsummarycount .ant-calendar-picker .ant-calendar-picker-input .ant-calendar-range-picker-input {
  width: 42%;
  text-align: justify;
}

scene-report-hostsummarycount .ant-calendar-picker .ant-calendar-picker-input .ant-calendar-range-picker-separator {
  vertical-align: baseline;
  padding-right: 30px;
}

scene-report-hostsummarycount .stats-subtitle {
  background-color: #6338e6;
  height: 24px;
  vertical-align: middle;
  border-radius: 2px;
  display: table-cell;
  color: #e3e2e2 !important;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: 700;
}

scene-report-hostsummarycount .col-md-6:has(.help-message)>*:not(:last-child) {
  margin-right: 5px;
}

scene-report-hostsummarycount .home-char.ng-star-inserted>div {
  background-color: transparent;
}

config-component nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 20px !important;
  max-width: inherit;
}

.cihperaccount-divider+nz-table .ant-table-tbody>tr>td {
  max-width: fit-content !important;
}

/*add by  wl */
.ant-drawer-body .ant-table-tbody>tr>td,
.ant-drawer-body .ant-table-thead>tr>th {
  height: 40px;
  padding-left: 10px;
}

config-component input[placeholder*="搜索"] {
  width: 99.5%;
}

.dis-log-detail-event {
  height: calc(100vh - 160px) !important;
}

.workflow-chart {
  border-bottom: 1px solid #ccc;
  margin-bottom: 5px;
}

.workflow-chart~ice-adaptive-table .ant-table-title {
  border-top: none !important;
}

.ant-drawer-body:has(.dict-drawer-resource-instance-list) {
  height: calc(100% - 60px) !important;
  overflow-y: hidden;
}

.ant-drawer-body:has(.dict-drawer-resource-instance-list) .ant-table-title+.ant-table-content {
  height: calc(100vh - 125px) !important;
}

.ant-drawer-content:has(.dict-drawer-resource-instance-list) .ant-drawer-header {
  padding: 15px 20px;
}

.dict-drawer-resource-instance-list .adaptive-table .table-handler {
  padding-right: 15px;
}

ice-distask ice-adaptive-table div.table-container {
  height: 96.5% !important;
}

vic-hostsummary ice-adaptive-table div.table-container {
  height: 96.5% !important;
}

config-component .ant-tabs-content .ant-tabs-tabpane:has(.mail-config-form) ice-dynamic-form>form {
  height: auto !important;
}

ice-component-monaco-editor .editor-button {
  color: #e2e7eb !important;
}

ice-component-monaco-editor .anticon,
.ant-drawer-body:has(.chat-container) .anticon {
  color: #e2e7eb !important;
}

ice-component-monaco-editor .ant-select-selection,
.ai-output-panel .ant-select-selection {
  border: none !important;
}

ice-component-monaco-editor .ant-select-selection--single,
.ai-output-panel .ant-select-selection--single {
  height: 20px !important;
}

ice-component-monaco-editor .ant-select-open .ant-select-selection,
ice-component-monaco-editor .ant-select-selection:focus,
ai-output-panel .ant-select-open .ant-select-selection,
ai-output-panel .ant-select-selection:focus {
  box-shadow: none !important;
}

ice-component-monaco-editor .ant-select-selection-selected-value,
.ai-output-panel .ant-select-selection-selected-value {
  margin-top: -5px;
}

ice-component-monaco-editor .monaco-editor,
ice-component-monaco-editor .monaco-editor-background,
ice-component-monaco-editor .monaco-editor .margin {
  background-color: #282a36;
}

/* font removed: Monaco editor font must be configured via JS options, not CSS override.
   CSS override causes cursor/selection misalignment. */

ice-component-monaco-editor .monaco-editor .view-lines .mtk1 {
  color: #e6e6fa !important;
}

/*
ice-component-monaco-editor .monaco-editor .margin,ice-component-monaco-editor .monaco-editor .monaco-scrollable-element.editor-scrollable{
  top: 10px !important;
}
ngx-monaco-editor  .monaco-editor .margin,ngx-monaco-editor .monaco-editor .monaco-scrollable-element.editor-scrollable{
  top: 10px !important;
}*/
ice-component-monaco-editor .editor-container {
  height: 99.7% !important;
}

ngx-monaco-editor {
  padding: 10px 0px !important;
}

ice-component-monaco-editor div:has(ngx-monaco-editor) {
  background-color: #282a36 !important;
}

.ai-drawer-container div:has(ngx-monaco-editor) {
  background-color: #1e1e1e !important;
  border-radius: 10px;
  height: 98%;
  margin-top: 10px;
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
}

ice-component-monaco-editor .editor-container .editor-title-bar .editor-title .ant-select-selection,
ice-component-monaco-editor .editor-container .editor-title-bar .editor-title .ant-select-selection .anticon {
  color: #7c8491 !important;
  background-color: #181818 !important;
}

.ant-drawer-body:has(.ai-editor-panel) .editor-container {
  height: 100.1% !important;
}

.ant-drawer-body:has(.chat-container) {
  height: calc(100% - 50px) !important;
  overflow-y: hidden;
}

.ant-drawer-body:has(.chat-container) .chat-container {
 /* margin: 1px auto 10px auto;*/
  margin: 0px auto;
  border: 1px solid #454545;
  border-radius: 10px;
  max-width: none !important;
  background-color: #181818;
  /*padding-top: 15px;*/
}

.ant-drawer-body:has(.chat-container) .message-list {
  height: calc(100vh - 220px) !important;
  padding: 10px 20px;
  background-color: #181818;
}

.ant-drawer-body:has(.chat-container) .input-area {
  display: flex;
  position: relative;
  background: #181818 !important;
  border-top: 1px solid #454545 !important;
  padding: 15px 20px;
  min-height: 105px;
  color: #fff !important;
}

.ant-drawer-body:has(.chat-container) .input-area textarea {
  flex: 1;
  min-height: 65px;
  max-height: 200px;
  height: auto;
  resize: none;
  width: 100%;
  overflow-y: auto;
  /* 当内容超过max-height时显示滚动条 */
  box-sizing: border-box;
  line-height: 1.5;

  background-color: #24262b !important;
  border-color: #666 !important;
  border-radius: 4px !important;
}

.ant-drawer-body:has(.chat-container) .message-list .message-time {
  color: #7890ff !important;
  font-size: 12px;
  font-weight: 700;
}

.message-tokens {
  color: #7890ff;
  font-weight: 400;
}

.message.bot {
  background-color: #24262b !important;
  border: 1px solid #454545 !important;
  width: 100% !important;
  max-width: 100% !important;
  color: #fff !important;
}

.message.bot .message-content markdown h1,
.message.bot .message-content markdown h2,
.message.bot .message-content markdown h3,
.message.bot .message-content markdown h4,
.message.bot .message-content markdown h5,
.message.bot .message-content markdown h6 {
  color: #7890ff !important;
  margin-top: 10px !important;
}

.message.bot .message-content markdown h1 {
  font-size: 20px !important;
}

.message.bot .message-content markdown h2 {
  font-size: 18px !important;
}

.message.bot .message-content markdown h3 {
  font-size: 16px !important;
}

.message.bot .message-content markdown h4 {
  font-size: 14px !important;
}

.message.bot .message-content markdown h5 {
  font-size: 12px !important;
}

.message.bot .message-content markdown h6 {
  font-size: 10px !important;
}

.message.bot .message-content markdown p,
.message.bot .message-content markdown ul,
.message.bot .message-content markdown ol {
  font-size: 12px !important;
}

.message.bot .message-content markdown {
  display: block;
  overflow-x: auto;
  max-width: 100%;
  min-width: 0;
}

.message.bot .message-content markdown table {
  font-size: 12px !important;
  margin-bottom: 1em !important;
  width: 100%;
  table-layout: fixed;
  max-width: 100%;
  word-break: break-all;
}

.message.bot .message-content markdown code,
.message.bot .message-content markdown kbd,
.message.bot .message-content markdown pre,
.message.bot .message-content markdown samp {
  background-color: #1f1f1f !important;
  border-color: #454545;
}

.message.bot .message-content markdown pre,
.ant-drawer-body:has(.chat-container) .message-list .loading-indicator {
  color: #7890ff !important;
  margin: 10px 0px !important;
}

.message.bot .message-content markdown code {
  color: #ffe096 !important
}

.message.bot .message-content markdown a {
  color: #7890ff !important;
  text-decoration: underline !important;
  /* 添加下划线 */
}

.message.user {
  background-color: #24262b !important;
  color: #fff !important;
  border: 1px solid #454545 !important;
  min-width: 20%;
  width: fit-content;
}

/* 添加到您的样式文件中 */
.message-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
}

.message-copy-button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: contents !important;
  color: #cccccc !important;
  font-size: 12px;
  opacity: 0.6;
  transition: opacity 0.3s;
  padding: 0;
  margin-left: 8px;
}

.message-copy-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

.message-word-button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: contents !important;
  color: #cccccc !important;
  font-size: 12px;
  opacity: 0.6;
  transition: opacity 0.3s;
  padding: 0;
  margin-left: 8px;
}

.message-word-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

.message-pdf-button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: contents !important;
  color: #cccccc !important;
  font-size: 12px;
  opacity: 0.6;
  transition: opacity 0.3s;
  padding: 0;
  margin-left: 8px;
}

.message-pdf-button:hover {
  opacity: 1;
  color: #7890ff !important;
  color: #ff4444 !important;
}

.request-cancel-button,
.request-retry-button,
.request-resubmit-button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: contents !important;
  color: #a5a5a5 !important;
  font-size: 12px;
  opacity: 0.6;
  transition: opacity 0.3s;
  padding: 0;
  margin-left: 8px;
  margin-right: 12px;
}

.request-cancel-button i,
.request-retry-button i,
.request-resubmit-button i,
.message-word-button i,
.message-pdf-button i {
  padding-right: 10px !important;
}

.request-cancel-button:hover,
.request-retry-button:hover,
.request-resubmit-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

/* 确保代码块有足够空间 */
pre {
  position: relative;
  padding-bottom: 30px !important;
}

/* 最小必要样式 */
.ai-drawer-container {
  display: flex;
  height: 100%;
  overflow: hidden;
}

.ai-chat-panel {
  height: 100%;
  padding-top: 10px;
  padding-left: 10px;
  padding-right: 10px;
}

/* 单面板模式 - 只显示聊天 */
.ai-drawer-container.single-panel .ai-chat-panel {
  flex: 1;
  min-width: 75%;
  padding-right: 0px;
}

/* 双面板模式 - 目前的默认模式 */
.ai-drawer-container.dual-panel .ai-chat-panel {
  width: 50%;
  overflow: hidden;
  /*
  margin-top: 50px;
  height: 97.7%;*/
}
/*
.ai-drawer-container.dual-panel .ai-chat-panel .chat-container {
  margin-top: 10px;
}*/

.ai-drawer-container.triple-panel .ai-chat-panel {
  padding-left: 0px;
  padding-right: 0px;
  margin-left: 0px;
  margin-right: 0px;
  border-radius: 10px;
  width: 33.33%;
  overflow: hidden;
}
/*
.ai-drawer-container .ai-chat-panel {
  margin-top: 10px;
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
}*/

.ai-drawer-container .ai-output-panel {
  border-radius: 10px;
  height: 97.3%;
  margin-top: 10px;
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
}
/*
.ai-drawer-container.triple-panel {
  padding-top: 20px;
}*/

.ai-editor-panel {
  height: 100%;
  padding-top: 10px;
  padding-left: 20px;
  padding-right: 10px;
}

/* 双面板模式 - 目前的默认模式 */
.ai-drawer-container.dual-panel .ai-editor-panel {
  width: 50%;
  overflow: hidden;
  /*
  margin-top: 50px;*/
  padding-top: 0px;
  height: 97.3%;
}

/* 三面板模式 */
.ai-drawer-container.triple-panel .ai-editor-panel {
  width: 33.33%;
  overflow: hidden;
  height: 99%;
  padding-top: 0px;
}

.ai-drawer-container.triple-panel .ai-output-panel {
  width: 33.33%;
  height: 99%;
  margin-top: 10px;
  margin-left: 10px;
  margin-bottom: 10px;
  margin-right: 10px;
  overflow: hidden;
}

.ai-drawer-container .ai-output-panel .editor-title-bar,
.ai-drawer-container .ai-editor-panel .editor-title-bar {
  padding: 16px 12px 12px 12px !important;
}

.ai-drawer-container .ai-output-panel div:has(ngx-monaco-editor),
.ai-drawer-container .ai-editor-panel div:has(ngx-monaco-editor) {
  height: calc(100% - 43px) !important;
}

/* 确保抽屉内容无padding */
:host ::ng-deep .ai-scene-drawer-body .ant-drawer-body {
  padding: 0;
  height: 100%;
}

/* 回到底部按钮样式 */
.scroll-to-bottom-button {
  position: fixed;
  /* 改为absolute而不是fixed */
  bottom: 17px;
  /* 调整位置，留出输入框的空间 */
  right: 10px;
  /* 调整位置 */
  width: 32px;
  height: 32px;
  opacity: 0.9;
  padding: 0px !important;
  border-radius: 50%;
  background-color: #fff !important;
  color: #333 !important;
  border: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  z-index: 1000;
  /* 确保不被遮挡 */
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}

.scroll-to-bottom-button:hover {
  background-color: #4f46e5 !important;
  color: #fff !important;
  transform: scale(1.0);
}

/* 确保消息列表有相对定位作为按钮的定位父元素 */
.message-list {
  position: relative;
}

/* 代码应用按钮样式 */
.code-block-apply-button {
  height: 25px;
  width: 25px;
  bottom: 3px !important;
  display: block;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}

.code-block-apply-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

/* 代码输出按钮样式 */
.code-block-output-button {
  height: 25px;
  width: 25px;
  bottom: 3px !important;
  display: block;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}

.code-block-output-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

/* 代码块复制按钮样式 */
.code-block-copy-button {
  height: 25px;
  width: 25px;
  bottom: 3px !important;
  display: block;
  border-radius: 4px;
  right: 5px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}

.code-block-copy-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

/* 已有的代码块样式增强 */
pre {
  position: relative;
  margin-bottom: 0 !important;
  /* 减少代码块与按钮之间的间距 */
}

/* 用户输入文本样式 */
.message.user .plain-text {
  white-space: pre-wrap;
  /* 保留换行和空格 */
  word-break: break-word;
  /* 长单词自动换行 */
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 12px !important;
}

/* 差异行样式 */
.monaco-editor .diff-line-modified {
  background-color: rgba(255, 235, 59, 0.2) !important;
}

.monaco-editor .diff-line-modified-indicator {
  background-color: #FFC107 !important;
  width: 5px !important;
}

/* ===== Cursor-style Inline Diff 样式 (light theme) ===== */

/* 旧样式保留兼容 */
.monaco-editor .diff-line-deleted {
  background-color: rgba(244, 67, 54, 0.1) !important;
  text-decoration: line-through;
}
.monaco-editor .diff-line-deleted-indicator {
  background-color: #F44336 !important;
  width: 5px !important;
}
.monaco-editor .diff-line-added-indicator {
  background-color: #4CAF50 !important;
  width: 5px !important;
}
.monaco-editor .diff-line-added {
  color: #4CAF50;
  font-style: italic;
  background-color: rgba(76, 175, 80, 0.1);
  padding: 2px 0;
  margin-top: 2px;
  display: block;
}

/* Inline diff: 新增行高亮 */
.monaco-editor .inline-diff-added-line {
  background-color: rgba(0, 180, 0, 0.1) !important;
}
.monaco-editor .inline-diff-added-gutter {
  background-color: rgba(0, 180, 0, 0.35);
  width: 5px !important;
  margin-left: 3px;
}

/* Inline diff: ViewZone 删除行容器 */
.removed-lines-zone-widget {
  border-top: 1px solid rgba(220, 53, 69, 0.3);
  border-bottom: 1px solid rgba(220, 53, 69, 0.3);
  background-color: rgba(255, 0, 0, 0.06) !important;
}
.inline-diff-removed-line {
  color: rgba(180, 50, 50, 0.8);
  font-style: italic;
}
.removed-lines-zone-widget:hover {
  background-color: rgba(255, 0, 0, 0.12) !important;
}

/* Inline diff: OverlayWidget 按钮浮层 */
.diff-buttons-overlay-widget {
  display: flex;
  align-items: center;
  gap: 4px;
  background-color: rgba(240, 240, 240, 0.95);
  padding: 4px 8px;
  border-radius: 4px;
  margin-right: 4px;
  z-index: 100;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  border: 1px solid #ccc;
}
.diff-buttons-overlay-widget-hidden {
  display: none !important;
}

/* Accept / Reject 按钮 */
.diff-accept-button,
.diff-reject-button {
  width: 2rem;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 3px;
  font-size: 14px;
  cursor: pointer;
  opacity: 0.9;
  transition: opacity 0.2s, background-color 0.2s;
}
.diff-accept-button {
  background-color: #28a745;
  color: white;
}
.diff-reject-button {
  background-color: #7c8491;
  color: white;
}
.diff-accept-button:hover {
  background-color: #2fc854 !important;
  opacity: 1;
}
.diff-reject-button:hover {
  background-color: #7c8491 !important;
  opacity: 1;
}

/* 导航容器 */
.diff-nav-container {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 4px;
  border-radius: 4px;
  margin-right: 4px;
}
.diff-nav-button {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc;
  border-radius: 3px;
  background-color: #f5f5f5;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  opacity: 0.9;
  transition: all 0.2s;
}
.diff-nav-button:hover:not(:disabled) {
  opacity: 1;
  background-color: #e8e8e8;
}
.diff-nav-button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.diff-index-label {
  color: rgba(0, 0, 0, 0.7);
  font-size: 12px;
  font-family: monospace;
  min-width: 40px;
  text-align: center;
  user-select: none;
}

/* Accept All / Reject All 按钮 - 与工具栏按钮风格一致 */
.diff-accept-all-btn,
.diff-reject-all-btn {
  font-size: 12px !important;
  font-weight: bold !important;
  padding: 0px 8px !important;
  border: none !important;
  background: transparent !important;
  cursor: pointer !important;
}
.diff-accept-all-btn {
  color: #1e7e34 !important;
}
.diff-accept-all-btn:hover {
  color: #fff !important;
  background-color: #28a745 !important;
}
.diff-reject-all-btn {
  color: #454545 !important;
}
.diff-reject-all-btn:hover {
  color: #fff !important;
  background-color: #454545 !important;
}


/* 在组件样式中添加 */
:host ::ng-deep .chat-message.is-typing .message-content {
  overflow: hidden;
  position: relative;
}

:host ::ng-deep .chat-message.is-typing .message-content::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* 更强烈的渐变效果 */
  background: linear-gradient(90deg,
      rgba(24, 24, 24, 0.2) 0%,
      rgba(24, 24, 24, 0.6) 20%,
      rgba(24, 24, 24, 0.9) 40%,
      #181818 60%);
  width: 100%;
  /* 自定义动画属性 */
  animation-name: typing-sweep;
  animation-duration: var(--typing-duration, 3000ms);
  animation-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1);
  /* 更平滑的动画曲线 */
  animation-fill-mode: forwards;
}

/* 更明显的扫描效果 */
@keyframes typing-sweep {
  0% {
    width: 100%;
    left: 0;
  }

  5% {
    width: 100%;
    left: 0;
  }

  100% {
    width: 100%;
    left: 100%;
  }
}

/* 添加闪烁的光标效果增强视觉体验 */
:host ::ng-deep .chat-message.is-typing .message-content::before {
  content: '|';
  position: absolute;
  color: #7890ff;
  font-weight: bold;
  left: 0;
  top: 0;
  z-index: 10;
  animation: cursor-blink 0.8s infinite, cursor-move var(--typing-duration, 3000ms) 1;
  animation-timing-function: steps(1, end), linear;
}

@keyframes cursor-blink {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

@keyframes cursor-move {
  from {
    left: 0;
  }

  to {
    left: 100%;
  }
}

.input-container {
  display: flex;
  width: 100%;
  height: inherit;
}

/* 按钮容器样式 */
.buttons-container {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100px;
}

/* 统一按钮样式 */
.action-button {
  width: 100%;
  height: 25px;
  border-radius: 4px;
  border: none;
  color: white;
  cursor: pointer;
  font-size: 12px;
  transition: background-color 0.2s;
  background-color: #333;
  padding: 0px !important;
  border: 1px solid #666 !important;
}

.action-button:enabled:hover {
  background-color: #4f46e5;
  border: 1px solid #4f46e5 !important;
  color: #fff;
}

.action-button:disabled {
  background-color: #3c3c3c !important;
  color: #666;
  cursor: not-allowed;
}

.monaco-editor .editor-widget .find-part .monaco-inputbox>.wrapper {
  padding: 0px !important;
}

.monaco-editor .editor-widget .replace-part .monaco-inputbox>.wrapper {
  padding: 0px !important;
}

.monaco-scrollable-element>.invisible.fade,
.monaco-scrollable-element>.invisible,
.monaco-scrollable-element>.visible {
  width: 10px !important;
}

.message.bot .message-content markdown div:has(.code-block-apply-button) div:has(.monaco-editor) {
  margin-bottom: 30px !important;
}

.message.bot .message-content markdown div:has(.code-block-apply-button) {
  background-color: #1f1f1f !important;
}

markdown table thead th,
markdown table tbody td {
  border: 1px solid #454545 !important;
  padding: 5px !important;
  min-width: 20px;
  max-width: 500px;
}

#searchIpTop>.row .col-md-4>.row .col-md-6 {
  padding-left: 0px !important;
}

#searchIpTop>.row .col-md-4 {
  /*padding-right: 17px !important;*/
  padding-right: 10px !important;
}

#searchIpTop>.row .col-md-4>.row {
  height: 89px !important;
}

#searchIpTop nz-descriptions {
  height: 170px !important;
  padding-top: 15px !important;
  border: 1px solid #ccc;
  box-shadow: none !important;
  border-radius: 5px;
}

#searchAppTop>.row .col-md-4>.row .col-md-6 {
  padding-left: 0px !important;
}

#searchAppTop>.row .col-md-4 {
  /*padding-right: 17px !important;*/
  padding-right: 10px !important;
}

#searchAppTop>.row .col-md-4>.row {
  height: 89px !important;
}

#searchAppTop nz-descriptions {
  height: 170px !important;
  padding-top: 15px !important;
  border: 1px solid #ccc;
  box-shadow: none !important;
  border-radius: 5px;
}

#searchRackTop>.row .col-md-4>.row .col-md-6 {
  padding-left: 0px !important;
}

#searchRackTop>.row .col-md-4 {
  /*padding-right: 17px !important;*/
  padding-right: 10px !important;
}

#searchRackTop>.row .col-md-4>.row {
  height: 89px !important;
}

#searchRackTop nz-descriptions {
  height: 170px !important;
  padding-top: 15px !important;
  border: 1px solid #ccc;
  box-shadow: none !important;
  border-radius: 5px;
}

.ant-drawer-body:has(.ai-skb-control-panel) {
  height: calc(100% - 65px) !important;
}

.ant-drawer-content-wrapper:has(.ai-skb-control-panel) {
  opacity: 1 !important;
}

.ai-skb-drawer-container.dual-panel .ai-skb-control-panel {
  height: 100%;
  padding-top: 10px;
  padding-left: 10px;
  padding-right: 10px;
  width: 40%;
  overflow-y: auto;
}

.ai-skb-drawer-container.dual-panel .ai-skb-paragraph-panel {
  height: 100%;
  padding-top: 10px;
  padding-left: 10px;
  padding-right: 10px;
  width: 60%;
  /*overflow-y: auto;*/
}

.ai-skb-drawer-container.triple-panel .ai-skb-control-panel {
  height: 100%;
  padding-top: 10px;
  padding-left: 10px;
  padding-right: 10px;
  width: 30%;
  overflow-y: auto;
}

.ai-skb-drawer-container.triple-panel .ai-skb-doc-panel {
  height: 100%;
  padding-top: 10px;
  padding-left: 10px;
  padding-right: 10px;
  width: 30%;
  /*overflow-y: auto;*/
}

.ai-skb-drawer-container.triple-panel .ai-skb-paragraph-panel {
  height: 100%;
  padding-top: 10px;
  padding-left: 10px;
  padding-right: 10px;
  width: 40%;
  /*overflow-y: auto;*/
}

.ai-skb-paragraph-container {
  height: 100%;
}

.ai-chat-history-container {
  height: calc(100vh - 75px);
  border-radius: 10px !important;
}

.ai-skb-paragraph-panel .panel-title-bar,
.ai-skb-doc-panel .panel-title-bar,
.ai-chat-history-panel .panel-title-bar {
  position: relative;
  padding: 12px 16px 12px 20px;
  line-height: 22px;
  transition: all .3s;
  color: #333 !important;
  background-color: #fff !important;
  font-weight: 700 !important;
  border-bottom: 1px solid #ccc;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.ai-skb-paragraph-panel .panel-title-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: visible;
}

.ai-skb-paragraph-panel .panel-title-bar .panel-title-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}

.ai-skb-paragraph-panel .panel-title-bar .panel-title-tags {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
  margin-left: 8px;
}

.ai-skb-paragraph-panel .panel-title-bar .panel-title-tags nz-tag {
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  margin-right: 0;
}

.ai-chat-history-panel .panel-title-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #24262b !important;
  color: #e3e2e2 !important;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.ai-skb-paragraph-panel .ai-skb-paragraph-radio-text,
.ai-skb-doc-panel .ai-skb-paragraph-radio-text {
  color: #7c8491;
  font-weight: 400;
  padding: 5px 20px 5px 20px;
  line-height: 22px;
  position: relative;
  border-bottom: 1px solid #ccc;
}

.ai-chat-history-panel .ai-skb-paragraph-radio-text {
  color: #7c8491;
  font-weight: 400;
  padding: 5px 20px 5px 20px;
  line-height: 22px;
  position: relative;
  border-bottom: 1px solid #454545;
  background-color: #1c1c1c;
}

.ai-skb-paragraph-panel .paragraph-list {
  /*height: 100%;*/
  height: calc(100vh - 230px) !important;
  padding: 10px 20px;
  background-color: #fff;
  position: relative;
  border-bottom: 1px solid #ccc;
  overflow-y: auto;
}

.ai-skb-doc-panel .paragraph-list {
  /*height: 100%;*/
  height: calc(100vh - 156px) !important;
  padding: 20px 15px 20px 20px;
  background-color: #fff;
  position: relative;
  border-bottom: 1px solid #ccc;
  /*overflow-y: auto;*/
}

.ai-chat-history-panel .turns-list {
  height: calc(100vh - 155px) !important;
  padding: 10px 10px;
  background-color: #181818;
  position: relative;
  border-bottom: 1px solid #ccc;
  overflow-y: auto;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.ai-chat-panel .ai-chat-history-panel .turns-list {
  padding: 10px 10px;
}

.ai-skb-paragraph-panel .paragraph-list .paragraph-item {
  margin-top: 10px;
  margin-bottom: 20px;
}

.ai-chat-history-panel .turns-list .turn-item {
  margin-top: 10px;
  margin-bottom: 20px;
}

.ai-skb-paragraph-panel .paragraph-list .paragraph-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #eef2f9;
  padding: 5px 10px;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  font-size: 12px;
  font-weight: 700;
  color: #333;
  border-radius: 4px 4px 0px 0px;
}

.ai-chat-history-panel .turns-list .turn-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #24262b;
  padding: 5px 10px;
  border-top: 1px solid #454545;
  border-left: 1px solid #454545;
  border-right: 1px solid #454545;
  font-size: 12px;
  font-weight: 700;
  color: #7c8491;
  border-radius: 4px 4px 0px 0px;
}

.ai-skb-paragraph-panel .paragraph-list .paragraph-content {
  padding: 10px 20px;
  background-color: #eef2f9;
  position: relative;
  border: 1px solid #ccc;
  /*max-height: 500px;*/
  overflow-y: auto;
  color: #333;
  font-size: 12px;
}

.ai-skb-doc-panel .paragraph-list .paragraph-content {
  padding: 0px;
  background-color: #eef2f9;
  position: relative;
  border: 1px solid #ccc;
  overflow-y: hidden;
  color: #333;
  font-size: 12px;
  height: 100%;
}

.ai-chat-history-panel .turns-list .turn-content {
  padding: 10px 20px;
  background-color: #24262b;
  position: relative;
  border: 1px solid #454545;
  /*max-height: 500px;*/
  overflow-y: auto;
  color: #e3e2e2;
  font-size: 12px;
}

.ai-chat-history-panel .turns-list .turn-content .user-question {
  font-weight: 400;
  font-size: 12px;
  color: #7c8491;
}

.ai-chat-history-panel .turns-list .turn-content .ai-response {
  font-weight: 400;
  font-size: 12px;
  color: #7c8491;
}

.ai-skb-paragraph-panel .paragraph-list .paragraph-content markdown h1,
.ai-skb-paragraph-panel .paragraph-list .paragraph-content markdown h2,
.ai-skb-paragraph-panel .paragraph-list .paragraph-content markdown h3,
.ai-skb-paragraph-panel .paragraph-list .paragraph-content markdown h4,
.ai-skb-paragraph-panel .paragraph-list .paragraph-content markdown h5,
.ai-skb-paragraph-panel .paragraph-list .paragraph-content markdown h6 {
  color: #333 !important;
  font-size: 12px !important;
}

.ai-skb-paragraph-panel .paragraph-list .paragraph-content markdown pre {
  color: #333;
  background-color: unset !important;
  border: 0px !important;
}

.ai-skb-doc-panel .paragraph-list .paragraph-content markdown h1,
.ai-skb-doc-panel .paragraph-list .paragraph-content markdown h2,
.ai-skb-doc-panel .paragraph-list .paragraph-content markdown h3,
.ai-skb-doc-panel .paragraph-list .paragraph-content markdown h4,
.ai-skb-doc-panel .paragraph-list .paragraph-content markdown h5,
.ai-skb-doc-panel .paragraph-list .paragraph-content markdown h6 {
  color: #333 !important;
  font-size: 12px !important;
}

.ai-skb-doc-panel .paragraph-list .paragraph-content markdown pre {
  color: #333;
  background-color: unset !important;
  border: 0px !important;
}

.ai-skb-paragraph-panel .paragraph-list .paragraph-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #eef2f9;
  padding: 5px 10px;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  font-size: 12px;
  font-weight: 700;
  color: #7c8491;
  border-radius: 0px 0px 4px 4px;
}

.ai-chat-history-panel .turns-list .turn-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #24262b;
  padding: 5px 10px;
  border-bottom: 1px solid #454545;
  ;
  border-left: 1px solid #454545;
  ;
  border-right: 1px solid #454545;
  ;
  font-size: 12px;
  font-weight: 700;
  color: #7c8491;
  border-radius: 0px 0px 4px 4px;
}

/* 段落编辑按钮样式 */
.paragraph-edit-button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: contents !important;
  color: #7c8491 !important;
  font-size: 12px;
  opacity: 0.6;
  transition: opacity 0.3s;
  padding: 0;
  margin-left: 8px;
}

.paragraph-edit-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

.ai-skb-paragraph-panel .paragraph-list .paragraph-content.editing {
  padding: 10px !important;
}

.ai-skb-paragraph-panel .paragraph-list .paragraph-content.editing .col-md-12 {
  margin-top: 5px;
  margin-bottom: 5px;
}

.paragraph-edit-textarea.ant-input {
  font-family: monospace;
  border: 1px solid #ccc !important;
  background-color: #282a35 !important;
  color: lavender !important;
}

/* 段落编辑状态的文本框样式 */
.paragraph-edit-textarea {
  width: 100%;
  padding: 10px !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  font-family: monospace;
  resize: vertical;
  background-color: #282a35 !important;
  margin-right: 0px !important;
  color: lavender !important;
}

/* 段落编辑保存按钮样式 */
.paragraph-edit-save-button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: contents !important;
  color: #7c8491 !important;
  font-size: 12px;
  opacity: 0.6;
  transition: opacity 0.3s;
  padding: 0;
  margin-left: 8px;
}

.paragraph-edit-save-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

/* 段落编辑取消按钮样式 */
.paragraph-edit-cancel-button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: contents !important;
  color: #7c8491 !important;
  font-size: 12px;
  opacity: 0.6;
  transition: opacity 0.3s;
  padding: 0;
  margin-left: 8px;
}

.paragraph-edit-cancel-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

.paragraph-copy-button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: contents !important;
  color: #7c8491 !important;
  font-size: 12px;
  opacity: 0.6;
  transition: opacity 0.3s;
  padding: 0;
  margin-left: 8px;
}

.paragraph-copy-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

.paragraph-delete-button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: contents !important;
  color: #7c8491 !important;
  font-size: 12px;
  opacity: 0.6;
  transition: opacity 0.3s;
  padding: 0;
  margin-left: 8px;
}

/* 历史对话删除按钮样式 */
.turn-delete-button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: contents !important;
  color: #cccccc !important;
  font-size: 12px;
  opacity: 0.6;
  transition: opacity 0.3s;
  padding: 0;
  margin-left: 8px;
}

.paragraph-delete-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

/* 段落新增按钮样式（上加/下加段落） */
.paragraph-add-button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: contents !important;
  color: #7c8491 !important;
  font-size: 12px;
  opacity: 0.6;
  transition: opacity 0.3s;
  padding: 0;
  margin-left: 8px;
}

.paragraph-add-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

.turn-delete-button:hover {
  opacity: 1;
  color: #7890ff !important;
}

.paragraph-button-group {
  display: flex;
  flex-direction: row;
  gap: 10px;
}

/* 标题编辑按钮组样式 */
.doctitle-button-group {
  padding-left: 10px;
  display: flex;
  flex-direction: row;
  gap: 10px;
}

.doctitle-container {
  display: flex;
  align-items: center;
}

/* 段落删除按钮样式 */
.paragraph-button-group .paragraph-delete-button {
  font-size: 13.3px;
}

/* 历史对话删除按钮样式 */
.turn-button-group .turn-delete-button {
  font-size: 13.3px;
}

.ai-skb-paragraph-panel .paragraph-list .loading-indicator,
.ai-skb-doc-panel .paragraph-list .loading-indicator {
  color: #7890ff !important;
  margin: 10px 0px !important;
}

.ai-skb-paragraph-panel .buttons-container {
  display: flex;
  flex-direction: inherit;
  gap: 10px;
  width: 100%;
  padding: 18px 20px;
}

.ai-skb-paragraph-panel .buttons-container .action-button {
  height: 40px !important;
}

.ai-skb-paragraph-panel .buttons-container .action-button:disabled {
  background-color: #e3e2e2 !important;
  border-color: #ccc !important;
}

.ant-drawer-body:has(.ai-skb-control-container) .ai-skb-control-container,
.ant-drawer-body:has(.ai-skb-paragraph-container) .ai-skb-paragraph-container,
.ant-drawer-body:has(.ai-chat-history-container) .ai-chat-history-container {
  margin: 0px auto;
  border: 1px solid #ccc;
  border-radius: 2px;
  max-width: none !important;
}

.ai-skb-control-panel .ant-collapse {
  border: 0px solid #ccc !important;
  background-color: #fff !important;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
}

.ai-skb-control-panel .ant-collapse .ant-collapse-content-box .col-md-12 input {
  background-color: #eef2f9 !important;
}

.ai-skb-control-panel .ant-collapse .ant-collapse-content-box .col-md-12 .ant-select-selection {
  background-color: #eef2f9 !important;
}

.ai-skb-control-panel .ant-collapse .ant-collapse-content-box .ant-select-selection--multiple .ant-select-selection__rendered>ul>li,
.ai-skb-control-panel .ant-collapse .ant-collapse-content-box .ant-select-selection--multiple>ul>li {
  background-color: #fff !important;
  margin-top: 3px !important;
}

.ai-skb-control-panel nz-radio-group label {
  color: #333 !important;
  margin-bottom: 40px !important;
  width: 100%;
}

.ai-skb-control-panel nz-radio-group label span {
  color: #333;
  font-weight: 500;
  /*line-height: 40px;*/
}

.ai-skb-control-panel .ai-skb-paragraph-radio-text {
  color: #7c8491;
  font-weight: 400;
}

.ai-skb-control-panel .ai-skb-paragraph-radio-setting-text {
  padding-bottom: 10px;
}

.ai-skb-control-panel .ant-collapse-header {
  color: #333 !important;
  background-color: #fff !important;
  font-weight: 700 !important;
}

.ai-skb-control-panel .ant-collapse-content {
  color: #333 !important;
  background-color: #fff !important;
  border-top: 1px solid #ccc !important;
  padding: 5px 10px 22px 10px;
  line-height: 40px;
  font-size: 12px;
}

.ai-skb-control-panel .ant-collapse-content .ant-collapse-content-box {
  padding: 5px 30px !important;
  font-weight: 700 !important;
}

.ai-skb-control-panel .ant-collapse-content .ant-collapse-content-box .ant-table {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

.ai-skb-control-panel .ant-collapse-content .ant-collapse-content-box .ant-radio-group {
  width: 100%;
}

/*
.ai-skb-control-panel .ant-collapse-content .ant-collapse-content-box>.col-md-12>div{
  top: -30px !important;
}*/
.ai-skb-control-panel .ant-collapse>.ant-collapse-item {
  border-bottom: 1px solid #ccc !important;
}

.ai-skb-control-panel .ai-skb-paragraph-radio-setting .ant-input-number {
  width: 86% !important;
}

.ai-skb-control-panel .ai-skb-paragraph-radio-setting-switch .ant-switch-inner span {
  color: #fff !important;
}

.ai-skb-control-panel .ai-skb-paragraph-radio-setting-switch .ant-switch-checked .ant-switch-inner span {
  color: #fff !important;
}

.ai-skb-control-panel .ant-table-thead>tr {
  background-color: #eef2f9;
}

.ai-skb-control-panel .ant-table-thead>tr>th,
.ai-skb-control-panel .ant-table-tbody>tr>td {
  padding: 0px 10px;
  font-weight: 500;
  border: 1px solid #ccc;
}

.ai-skb-control-panel .ant-table-tbody>tr>td>span {
  color: #333 !important;
  font-size: 16px;
  padding-right: 7px;
}

.ai-skb-control-panel .ant-table-tbody>tr>td>span .fa.fa-arrow-circle-down:hover {
  color: #00b050 !important;
}

.ai-skb-control-panel .ant-table-tbody>tr>td>span .fa.fa-arrow-circle-right:hover {
  color: #2e6cf6 !important;
}

.ai-skb-control-panel .ant-table-tbody>tr>td>span .fa.fa-minus-circle:hover {
  color: #ff0066 !important;
}

.ai-skb-control-panel .ant-table-thead>tr>th[title="文档名称"] {
  width: 35%;
}

.ai-skb-control-panel .ant-table-thead>tr>th[title="段落"] {
  width: 10%;
}

.ai-skb-control-panel .ant-table-thead>tr>th[title="字符"] {
  width: 10%;
}

.ai-skb-control-panel .ant-table-thead>tr>th[title="更新时间"] {
  width: 20%;
}

.ai-skb-control-panel .ant-table-thead>tr>th[title="操作"] {
  width: 25%;
}

.ai-skb-control-panel .ant-pagination-simple .ant-pagination-simple-pager input {
  height: 100% !important;
}

.ai-skb-control-panel .ant-pagination-simple .ant-pagination-simple-pager {
  font-size: 12px;
  color: #7c8491;
}

.ant-modal-confirm-content div:has(br) span {
  color: #2e6cf6;
  font-weight: 700;
}

.ai-skb-doc-panel-textarea {
  border-radius: 4px !important;
  padding: 10px 15px !important;
  height: inherit;
  width: 100%;
  background-color: transparent;
  color: #333;
  font-size: 12px;
  font-family: monospace;
  border: 0px;
  resize: none;
  overflow-y: auto;
  overflow-x: hidden;
  white-space: pre-wrap;
  word-wrap: break-word;
  margin-right: 0px !important;
}

.ai-skb-doc-panel .editor-buttons .editor-button {
  color: #333;
  margin-top: 0.5px;
  font-weight: 300;
  padding: 0px 8px;
}

.ai-skb-doc-panel .editor-buttons .editor-button:hover {
  color: #fff !important;
  font-weight: 400;
  background-color: #4f46e5 !important;
}

.kb-select-error .ant-select-selection {
  border: 1.5px solid #f5222d !important;
}

.codebase-input-error .ant-select-selection {
  border: 1.5px solid #f5222d !important;
}

.codebase-input-error ngx-monaco-editor {
  border: 1.5px solid #f5222d !important;
}

/* 通用输入框错误样式 - 适用于所有 input 和 textarea */
.codebase-input-error .ant-form-item-children>input,
.codebase-input-error .ant-form-item-children>textarea {
  border: 1.5px solid #f5222d !important;
}

/* 保留原有的特定样式，确保兼容性 */
.codebase-input-error.code-released-file-name input {
  border: 1.5px solid #f5222d !important;
}

@keyframes pulseAnimation {
  0% {
    transform: scale(1);
  }

  70% {
    transform: scale(1.3);
  }

  100% {
    transform: scale(1);
  }
}

.flip-animation {
  display: inline-block;
  animation: pulseAnimation 2s ease-in-out infinite;
}

.fa-simplybuilt:hover {
  animation: pulseAnimation 2s ease-in-out;
  color: #fff !important;
}

/* 确保动画中保持渐变效果 */
.flip-animation.fa-simplybuilt {
  background: linear-gradient(180deg, #a855f7, #4f46e5);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  transition: all 0.3s ease;
}

/* 机器人消息标题样式 */
.bot-header {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  background: linear-gradient(180deg, #a855f7, #4f46e5);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.bot-name {
  font-weight: 500;
  color: #7890ff;
}

/* 消息内容样式调整 */
.message.bot {
  position: relative;
  border-left: 2.5px solid #4f46e5 !important;
  padding-left: 12px;
}

/* 机器人消息标题样式 */
.user-header {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  background: linear-gradient(180deg, #2e6cf6, #4f46e5);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.user-name {
  font-weight: 500;
  color: #7890ff;
}

/* 消息内容样式调整 */
.message.user {
  position: relative;
  border-left: 2.5px solid #2e6cf6 !important;
  padding-left: 12px;
}

.markdown-editor-title.ai-skb-paragraph-radio-text {
  font-size: 12px;
  font-weight: bold;
  color: #333;
}

.editor-title-bar .editor-button {
  font-size: 12px;
  font-weight: bold;
  color: #7c8491 !important;
}

.editor-title-bar .editor-button:hover {
  color: #fff !important;
  background-color: #454545;
}

.markdown-editor markdown {
  background-color: #282a35 !important;
  font-size: 12px;
  display: block;
  overflow-y: auto;
  height: calc(100% - 25px) !important;
  padding: 10px 15px;
  border-top: 1px solid #454545 !important;
  color: lavender !important;
}

.markdown-editor markdown h1,
.markdown-editor markdown h2,
.markdown-editor markdown h3,
.markdown-editor markdown h4,
.markdown-editor markdown h5,
.markdown-editor markdown h6 {
  color: #7890ff !important;
  margin-top: 10px !important;
}

.markdown-editor markdown h1 {
  font-size: 20px !important;
}

.markdown-editor markdown h2 {
  font-size: 18px !important;
}

.markdown-editor markdown h3 {
  font-size: 16px !important;
}

.markdown-editor markdown h4 {
  font-size: 14px !important;
}

.markdown-editor markdown h5 {
  font-size: 12px !important;
}

.markdown-editor markdown h6 {
  font-size: 10px !important;
}

.markdown-editor markdown code,
.markdown-editor markdown kbd,
.markdown-editor markdown pre,
.markdown-editor markdown samp {
  background-color: #1f1f1f !important;
  border-color: #454545;
  font-size: 12px;
}

.markdown-editor markdown pre,
.ant-drawer-body:has(.chat-container) .message-list .loading-indicator {
  color: #7890ff !important;
  margin: 10px 0px !important;
}

.markdown-editor markdown code {
  font-weight: bold;
  color: #ffe096 !important
}

.markdown-editor markdown a {
  color: #7890ff !important;
  text-decoration: underline !important;
  /* 添加下划线 */
}

.editor-title-bar .ai-skb-paragraph-radio-text {
  font-size: 12px;
  font-weight: bold;
  color: #7c8491 !important;
  width: 100%;
}

.markdown-editor-title,
.ant-drawer-body:has(.ai-editor-panel) .editor-title-bar .editor-title,
.ant-drawer-body:has(.ai-output-panel) .editor-title-bar .editor-title {
  width: auto !important;
}

ice-component-monaco-editor .editor-title-bar .editor-title {
  display: flex;
}

markdown thead>tr>th {
  background-color: #24262b !important;
  color: #7890ff !important;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  width: 0%;
}

markdown hr {
  border-top: 1px solid #7c8491 !important;
}

/* 语音按钮样式 */
.voice-button {
  display: flex;
  margin-right: 8px;
  background-color: #343941;
  color: #e3e2e2;
  align-items: center;
  justify-content: center;
}

.voice-button.recording {
  background-color: #4f46e5;
  color: #e3e2e2;
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0.6;
  }

  100% {
    opacity: 1;
  }
}

.ai-chat-history-container .panel-title-bar h4 {
  width: 100%;
}

.ai-chat-history-container .panel-title-bar button {
  height: 30px;
  width: 30px;
  border-radius: 4px;
  background-color: #fff;
  color: #000000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 20px;
  width: 20px;
  padding: 1px 6px !important;
}

.ai-chat-history-container .panel-title-bar button:hover {
  background-color: #4f46e5;
  color: #fff;
}

.ai-chat-history-panel {
  padding-top: 10px;
  padding-bottom: 6px;
  max-width: 25%;
}

ice-disagent .proxy-management.agentShow,
ice-disagent .proxy-management.scriptOnAgentShow>nz-table {
  margin-top: 5px !important;
}

.proxy-ip-address {
  color: #2e6cf6 !important;
  font-weight: 700;
}

/* 全屏模式下的垂直居中样式 */
.assetsViewBody:fullscreen {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 100vh !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 确保内容不会超出屏幕 */
.assetsViewBody:fullscreen .row {
  width: 100%;
  max-height: 100vh;
  overflow: hidden;
}

/* 全屏模式下的垂直居中样式 */
.disasterRecoveryBody:fullscreen {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 100vh !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 确保内容不会超出屏幕 */
.disasterRecoveryBody:fullscreen .row {
  width: 100%;
  max-height: 100vh;
  overflow: hidden;
}

.expand-app-handler {
  top: 80px;
  /* 与收起按钮的位置保持一致 */
  background-color: #001529;
  /* 与侧边栏背景色保持一致 */
  color: #fff;
  border-radius: 0px 4px 4px 0px !important;
  cursor: pointer;
  width: 20px;
  height: 40px;
  line-height: 40px;
  text-align: center;
}

ice-coderepo,
user-component,
group-component,
resource-datasource,
resource-datasource2,
vic-cipheraccount,
audit-component,
resource-filter {
  display: block !important;
}

nz-content:has(ice-resource-instance-notree) {
  margin: 5px 15px 5px 15px !important;
}

.home-row-2,
.home-row-3 {
  margin-top: 5px !important;
}

scene-resourcessearchip .ipCapacity {
  padding-left: 0px !important;
}

scene-resourcessearchapp scene-resourcessearch .home-search-result {
  padding-bottom: 10px !important;
}

.button-group .ant-col-6 {
  display: flex;
  justify-content: flex-end;
  margin-right: 0px;
}

.button-group .ant-col-6 .ant-row {
  width: 70% !important;
}

scene-resourcessearchip .button-group .ant-col-6,
scene-resourcessearchrack .button-group .ant-col-6,
scene-resourcessearchapp .button-group .ant-col-6 {
  margin-right: 10px;
}

/*add by  wl */
.table-handler input[type=text] {
  /*width: 350px;*/
  border-color: #ccc !important;
  background-color: #eef2f9 !important;
}

audit-component ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

ice-distask ice-adaptive-table nz-table .ant-table .ant-table-title {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
}

ice-distask ice-adaptive-table nz-table .ant-table .ant-table-content {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

config-component nz-layout {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

config-component nz-sider nz-layout {
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
}

config-component nz-sider+nz-layout {
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
}

ice-resource-instance-notree ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

vic-cipheraccount ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

ice-disagent ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

ice-coderepo ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

resource-datasource2 ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

resource-datasource ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

group-component ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

user-component ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

ice-resource-model ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

ice-resource-instance ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

resource-filter ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

vic-hostsummary ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

ice-logmanager ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

ice-bankreport ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

resource-filter-view ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
scene-collection resource-filter-view ice-adaptive-table nz-table .ant-table {
  border: none !important;
}
ice-resource-instance-list ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

scene-resourcessearchapp ice-resource-instance-list ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
}

scene-resourcessearchip ice-resource-instance-list ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
}

scene-resourcessearchrack ice-resource-instance-list ice-adaptive-table nz-table .ant-table {
  border-left: 1px solid #ccc;
}

scene-resourcessearchapp .row>[class*=col-] {
  padding: 0px 10px;
}

scene-resourcessearchip .row>[class*=col-] {
  padding: 0px 10px;
}

scene-resourcessearchrack .row>[class*=col-] {
  padding: 0px 10px;
}

scene-resourcessearch .row>[class*=col-] {
  padding: 0px 10px;
}

/*  -- updated for white theme version
scene-resourcessearchapp .application-indicator .row>[class*=col-]{
  padding: 0px 10px;
}
scene-resourcessearchip .application-indicator .row>[class*=col-]{
  padding: 0px 10px;
}
scene-resourcessearchrack .application-indicator .row>[class*=col-]{
  padding: 0px 10px;
}
*/

scene-resourcessearchapp .help-menu {
  top: 0px !important;
}

scene-resourcessearchip .help-menu {
  top: 0px !important;
}

scene-resourcessearchrack .help-menu {
  top: 0px !important;
}

scene-collection .widget.widget-stats {
  margin-bottom: 20px;
}

.inspection .widget.widget-stats {
  height: 145px;
  margin-bottom: 10px;
  margin-top: 0px;
}

.inspection .widget {
  padding: 16px 20px !important;
}

.inspection .widget-stats .stats-number {
  margin-top: 10px;
  font-size: 22px;
}

.inspection .inspection-report a.pull-right img {
  width: 60% !important;
}

.editor-title-bar+div {
  border: none !important;
}

nz-header div.logo {
  margin-right: 20px;
  float: left !important;
  /*width: 152px !important;*/
  width: 175px !important;
  height: 45px !important;
  background-position: 20% 15% !important;
  background-size: auto 55px !important;
  /*background-size: auto 50px !important;*/
  position: relative !important;
  bottom: 0px !important;
}

.kb-source-name {
  color: #7890ff !important;
  font-weight: 700;
  font-size: 14px;
}

.kb-dataset-tag {
  display: inline-block;
  background: rgba(120, 144, 255, 0.15);
  color: #7890ff !important;
  border: 1px solid rgba(120, 144, 255, 0.35);
  border-radius: 3px;
  padding: 0 6px;
  font-size: 12px;
  font-weight: 600;
  margin-right: 4px;
  vertical-align: middle;
}

.ai-chat-chart-container div canvas {
  background-color: rgb(31, 31, 31);
  border: 1px solid rgb(69, 69, 69);
  border-radius: 4px;
  padding-top: 15px;
}

markdown table {
  width: 100% !important;
}

.code-block-language-tag,
.chart-tag {
  border-radius: 4px 0px 4px !important;
}

.version-ops-details {
  margin-top: 2px;
  color: #7c8491;
  display: flex;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.version-ops-details ice-component-tag div span {
  border-radius: 0 !important;
  background: #f3f5fa !important;
  border: 1px solid #ccc !important;
  margin-right: 5px !important;
  color: #333 !important;
}

.ant-drawer-body:has(.version-diff-table) {
  overflow-x: auto !important;
}

.ai-skb-control-panel .ai-skb-paragraph-radio-text.col-md-10 {
  padding-left: 0px !important;
}

.ai-skb-control-panel .ai-skb-kb-action-button {
  text-align: end;
  color: #2e6cf6;
  font-weight: 400;
  font-size: 12px;
  padding-left: 0 !important;
  padding-right: 0 !important;
  cursor: pointer;
}

.display-kb-edit-panel .paragraph-edit-textarea {
  line-height: 1.5 !important;
}

.display-kb-edit-panel.paragraph-footer {
  height: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  font-weight: 700;
  color: #7c8491;
}

.ant-drawer-wrapper-body:has(.ai-skb-control-panel) .ant-drawer-header {
  margin-left: 10px !important;
}

.ant-drawer-wrapper-body:has(.ai-chat-panel) .ant-drawer-header {
  padding-left: 30px !important;
}

.ant-drawer-body .info-before-bycycle-table .ant-table-tbody>tr,
.ant-drawer-body .info-before-table .ant-table-tbody>tr {
  background-color: #f4f5fb !important;
  border: 1px solid #ccc !important;
}

.ant-drawer-body .info-before-bycycle-table .ant-table-tbody>tr>td,
.ant-drawer-body .info-before-table .ant-table-tbody>tr>td {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.taskparams-table .ant-table-tbody>tr {
  background-color: transparent !important;
}

scene-resourcessearchapp div#searchPanel .ant-collapse {
  height: calc(100vh - 50px);
}

.show-resource-component ice-resource-instance nz-sider {
  height: calc(100vh - 100px);
}

.task-define-page nz-dropdown button:hover {
  background-color: transparent !important;
  border: 1px solid #2e6cf6 !important;
}

.task-define-page nz-dropdown button:hover .anticon {
  color: #2e6cf6 !important;
}

.federation-sql-editor {
  top: -30px !important;
}

.federation-sql-editor nz-form-label {
  margin-top: 10px !important;
}

.federation-sql-editor nz-form-control {
  margin-top: -30px !important;
  line-height: 18px !important;
}

.federation-sql-editor .ant-form-item-children {
  top: 10px !important;
}

.federation-sql-editor ice-component-monaco-editor .editor-title-bar .editor-title {
  line-height: normal !important;
}
/*
.federation-output-fields {
  top: -22px !important;
}
*/
.federation-restful-editor1 {
  top: -10px !important;
}

.federation-restful-editor1 nz-form-control {
  margin-top: -20px !important;
  margin-bottom: 10px;
}

.federation-restful-editor1 ice-component-monaco-editor .editor-title-bar .editor-title {
  line-height: normal !important;
}

.federation-restful-editor2 {
  top: -20px !important;
}

.federation-restful-editor2 .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
}

.federation-sql-editor .editor-buttons,
.federation-restful-editor1 .editor-buttons {
  line-height: normal !important;
}

.cipheraccount-table-body .ant-table-row .ant-input-number-input {
  padding: 0 11px !important;
}

.cipheraccount-table-body nz-dropdown .ant-btn.ant-dropdown-trigger.ant-btn-default {
  background-color: #fff !important;
  padding: 0 4px !important;
  border: 1px solid #ccc !important;
}

.cipheraccount-table-body nz-dropdown .ant-btn.ant-dropdown-trigger.ant-btn-default:hover {
  background-color: #fff !important;
}

.cipheraccount-table-body nz-dropdown .ant-btn.ant-dropdown-trigger.ant-btn-default:hover .anticon {
  color: #2e6cf6 !important;
}

.cipheraccount-table-body .cipheraccount-table-body-label {
  width: 25% !important;
}

.cipheraccount-select nz-dropdown .ant-btn.ant-dropdown-trigger.ant-btn-default:hover {
  color: #354052 !important;
  background-color: transparent !important;
  border: 1px solid #2e6cf6 !important;
}

.cipheraccount-select nz-dropdown .ant-btn.ant-dropdown-trigger.ant-btn-default:hover .anticon {
  color: #2e6cf6 !important;
}

.cipheraccount-select .ant-dropdown-menu-vertical .ant-dropdown-menu-item:hover {
  color: #354052 !important;
  background-color: transparent !important;
}

.ant-drawer-content nz-form-item .ant-form-item-control {
  line-height: 1.5 !important;
}

.editor-title-bar .editor-button:disabled {
  background: transparent;
  cursor: not-allowed;
  color: #5b5b5b !important;
}

.editor-container.invalid,
ice-component-ace-editor .invalid,
ice-component-markdown .invalid {
  border: 1.5px solid red !important;
}

.dis-patter-alert-span {
  font-size: 12px !important;
  white-space: break-spaces !important;
}

.tree-resize-container {
  display: flex;
  flex-direction: row;
  height: 100%;
  position: relative;
}

.resize-bar {
  position: absolute;
  top: 0;
  width: 5px;
  height: 100%;
  background: #ccc;
  cursor: ew-resize;
  z-index: 20;
}

.right-content {
  height: 100%;
  overflow: auto;
}

#modelTree {
  width: 100%;
  height: 100%;
  /* 不要写死宽度 */
}

/* 可选：hover时加高亮 */
.resize-bar:hover {
  background: #2e6cf6;
  /*
  border-left: 1px dashed #ccc;
  border-right: 1px dashed #ccc;*/
}

.resource-instance-tree-search-row {
  display: flex;
  align-items: center;
  width: 99%;
  margin-left: 1px;
}

.resource-instance-tree-search-input {
  flex: 1 1 auto;
  min-width: 0;
  /* 防止溢出 */
  margin-right: 5px;
  /* 和按钮有间距，可根据需要调整 */
}

.hideTree {
  flex: 0 0 auto;
  /* 保持原有高度和样式 */
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

ice-resource-model .ant-tree.ant-tree-block-node li .ant-tree-node-content-wrapper,
config-component .ant-tree.ant-tree-block-node li .ant-tree-node-content-wrapper,
ice-resource-tree .ant-tree.ant-tree-block-node li .ant-tree-node-content-wrapper {
  width: auto !important;
}

.ant-notification-notice {
  max-height: 1000px;
  overflow-y: auto !important;
  z-index: 1100;
}

.model-exp-warning-before-save .ant-modal-body {
  font-size: 12px !important;
  padding-top: 15px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  color: #333 !important;
}

.model-exp-warning-before-save .ant-modal-footer {
  padding-bottom: 15px !important;
}

.open-dict-manager-link {
  display: block;
  margin-top: 8px;
  cursor: pointer;
  color: #2e6cf6;
  font-size: 11px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #f6f6f6;
  padding: 10px;
}

.expression-validation-hint {
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #f6f6f6;
  padding: 10px;
  font-size: 11px;
  color: #2e6cf6;
  cursor: default;
  white-space: pre-line;
  margin-top: 8px;
  line-height: 2 !important;
}

.expression-error-container {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.expression-error-container .ant-alert-with-description {
  background-color: #f6f6f6 !important;
  border: 1px solid #ccc !important;
  color: #2e6cf6;
}

.expression-error-container .ant-alert-with-description .ant-alert-message {
  color: #2e6cf6 !important;
  font-weight: 700 !important;
}

.expression-error-container .ant-alert-with-description .ant-alert-icon {
  color: #2e6cf6 !important;
}

/*
   禁用Mac触控板手势导航
   解决触控板滑动触发浏览器前进/后退的问题
*/
html,
body {
  /* 禁用水平滚动的手势导航 */
  overscroll-behavior-x: none;

  /* 禁用所有方向的过度滚动 */
  overscroll-behavior: none;
}

/* 针对可滚动容器也禁用手势 */
.ant-table-body,
.ant-table-scroll,
.ant-drawer-body,
.table-container,
*[style*="overflow-x"],
*[style*="overflow: auto"],
*[style*="overflow: scroll"] {
  overscroll-behavior-x: none;
}

/* 针对水平滚动条容器的特殊处理 */
.horizontal-scroll-container {
  overscroll-behavior-x: none;
  -webkit-overflow-scrolling: auto;
}

/* 表达式错误高亮样式 - 支持textarea、input、nz-select */
/* 通用输入框错误高亮样式 */
.syntax-error-input,
.syntax-error-input:focus,
.syntax-error-input:active,
/* nz-select错误高亮 */
nz-select.syntax-error-input,
nz-select.syntax-error-input:focus,
nz-select.syntax-error-input:active,
nz-select.syntax-error-input .ant-select-selector,
nz-select.syntax-error-input .ant-select-selector:focus,
nz-select.syntax-error-input .ant-select-selector:active,
/* nz-select内部组件错误高亮 */
.syntax-error-input .ant-select-selector,
.syntax-error-input .ant-select-selector:focus,
.syntax-error-input .ant-select-selector:active {
  border-color: #ff4d4f !important;
  box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2) !important;
  background: rgba(255, 77, 79, 0.05) !important;
  outline: none !important;
}

/* nz-select下拉箭头错误状态 */
nz-select.syntax-error-input .ant-select-arrow,
.syntax-error-input .ant-select-arrow {
  color: #ff4d4f !important;
}

/* nz-select选择项错误状态 */
nz-select.syntax-error-input .ant-select-selection-item,
.syntax-error-input .ant-select-selection-item {
  color: #ff4d4f !important;
}

/* nz-select占位符错误状态 */
nz-select.syntax-error-input .ant-select-selection-placeholder,
.syntax-error-input .ant-select-selection-placeholder {
  color: rgba(255, 77, 79, 0.6) !important;
}

/* 悬停状态的错误高亮 */
.syntax-error-input:hover,
nz-select.syntax-error-input:hover,
nz-select.syntax-error-input:hover .ant-select-selector,
.syntax-error-input .ant-select-selector:hover {
  border-color: #ff7875 !important;
  box-shadow: 0 0 0 2px rgba(255, 120, 117, 0.25) !important;
}

/* 确保错误样式优先级最高 */
.ant-form-item-has-error .syntax-error-input,
.ant-form-item-has-error nz-select.syntax-error-input,
.ant-form-item-has-error .syntax-error-input .ant-select-selector {
  border-color: #ff4d4f !important;
  box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2) !important;
}

/* ACE编辑器错误高亮标记样式 */
.ace-syntax-error-marker {
  position: absolute;
  border-bottom: 2px solid #ff4d4f;
  background: rgba(255, 77, 79, 0.1);
}

.pic #marker {
  letter-spacing: 0.05px;
}

.best-client-recommended {
  margin-top: 3px;
}

scene-resourcessearchapp .radial-tree-title {
  background-color: #2c3036;
  position: relative;
  text-align: center;
  margin-top: 10px;
  padding-top: 12px;
  padding-bottom: 10px;
  font-weight: 700;
  color: #fff;
  font-size: 12px;
  line-height: 13px !important;
}

scene-resourcessearchapp .radial-tree-body {
  background-color: #202122;
}

scene-resourcessearchapp .left-pane {
  overflow: initial !important;
}

scene-resourcessearchapp .split-pane-handle {
  width: 5px !important;
  background-color: #ccc !important;
  cursor: ew-resize !important;
  position: relative !important;
  transition: background-color 0.3s !important;
  flex-shrink: 0 !important;
}

scene-resourcessearchapp .split-pane-handle:hover {
  background-color: #2e6cf6 !important;
}

scene-resourcessearchapp .right-pane {
  margin-left: 5px !important;
}

scene-resourcessearchip .split-pane-handle {
  width: 5px !important;
  background-color: #ccc !important;
  cursor: ew-resize !important;
  position: relative !important;
  transition: background-color 0.3s !important;
  flex-shrink: 0 !important;
}

scene-resourcessearchip .split-pane-handle:hover {
  background-color: #2e6cf6 !important;
}

scene-resourcessearchip .left-pane {
  margin-right: 5px !important;
}

scene-resourcessearchip .right-pane {
  margin-left: 5px !important;
}

/*
 * 顶部参数行对齐改造（2026-06）：
 * 以下白色独有的 top / margin-top / padding-top 偏移补丁全部移除，
 * 改由上方 .custom-report-drilled-page-console .ant-select-selection__rendered{display:block}
 * 与深色 theme.css 统一对齐基线，使白色顶部参数行与深色一致水平对齐。
 * 移除清单：
 *   .report-filter-by-fields .ant-select-selection { top:1px; height:32px }
 *   .report-filter-by-fields-civersion { top:10px }
 *   scene-report-complexcount .col-md-9 { margin-top:10px }
 *   scene-report-commoncount .col-md-8 { margin-top:0 }
 *   scene-report-wehotel-inscount :has(ice-select-tree) { padding-top:10px }
 */

config-component .blacklist nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.ant-form-vertical .ant-form-explain {
  margin-top: 0px;
}

nz-select+.ant-form-explain {
  margin-top: 0px !important;
}

ice-select-tag+.ant-form-explain {
  margin-top: 0px !important;
}

input+.ant-form-explain {
  margin-top: 10px !important;
}

/* 菜单分隔符样式 */
.menu-divider-item {
  padding: 8px 0 !important;
  margin: 4px 0 !important;
  pointer-events: none !important;
  background: transparent !important;
}

/* 强制应用虚线样式 */
nz-sider .menu-divider-item .ant-divider,
.menu-divider-item .ant-divider {
  margin: 0 !important;
  background: transparent !important;  /* 盖掉 ng-zorro 默认 .ant-divider{background:#e8e8e8} */
}

/* 特别针对无文字的分隔符 - 添加虚线样式 */
nz-sider .menu-divider-item .ant-divider:not(:has(.ant-divider-inner-text)) {
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
  border-top: 0.5px dashed #7c8491 !important;
}

.menu-divider-item .ant-divider-inner-text {
  color: #7c8491 !important;
  font-size: 12px !important;
  padding: 0 10px !important;
}

/* 确保菜单分隔符不响应鼠标事件 */
.menu-divider-item:hover {
  background: transparent !important;
  cursor: default !important;
}

/* 二级分割线：排除 nz-submenu 展开时 ant-menu-item 的背景/颜色染色 */
nz-sider .ant-menu-submenu-open > .ant-menu-sub .menu-divider-item-sub.ant-menu-item,
nz-sider .ant-menu-submenu-open > .ant-menu-sub .menu-divider-item-sub.ant-menu-item:hover,
.menu-divider-item-sub.ant-menu-item-selected {
  background-color: transparent !important;
  color: inherit !important;
}

scene-collection .font-container {
  color: #333 !important;
}

scene-collection .favourites .fa-list-ol {
  color: #333 !important;
}

.delete-msg-tip {
  color: #2e6cf6;
  font-weight: 700;
}

.font-awesome-link {
  color: #2e6cf6 !important;
  cursor: pointer;
  display: block;
  margin-top: 8px !important;
  font-size: 11px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #f6f6f6;
  padding: 10px;
}

.font-awesome-link:hover {
  color: #40a9ff !important;
}

ice-resource-instance .ant-progress-line,
resource-filter-view .ant-progress-line,
ice-resource-instance-tree .ant-progress-line {
  width: 80% !important;
}

ice-resource-instance .ant-progress-inner,
resource-filter-view .ant-progress-inner,
ice-resource-instance-tree .ant-progress-inner
.cal-progress-content .ant-progress-inner{
  background-color: #bcc0ca !important;
}

ice-resource-instance .ant-progress-status-success .ant-progress-text i,
resource-filter-view .ant-progress-status-success .ant-progress-text i,
ice-resource-instance-tree .ant-progress-status-success .ant-progress-text i {
  color: #52c41a !important;
}

.ant-input-number-disabled .ant-input-number-input {
  color: #aeb0b7 !important;
  background-color: #f6f6f6 !important;
  border-color: #ccc !important;
}


.ins-expand-row-panel {
  background-color: #282a34 !important;
  border-top: 1px solid #4b515a !important;
  border-bottom: 1px solid #4b515a !important;
}

.ant-table-tbody>tr:nth-child(odd).ins-expand-row-panel {
  background-color: #282a34 !important;
  border-top: 1px solid #4b515a !important;
  border-bottom: 1px solid #4b515a !important;
}

.ins-expand-row-panel>td {
  padding: 10px 10px 20px 70px !important;
}

.ins-expand-row-panel>td>.ins-expand-panel-sticky {
  will-change: transform;
}

.ins-expand-tilte {
  font-size: 14px;
  color: #7890ff;
  font-weight: 500;
}

.ins-expand-summary-content {
  font-size: 11px;
  color: #e6e6fa;
  white-space: normal;
  /* word-wrap: break-word; */
  /* word-break: break-word; */
  overflow: hidden;
  text-overflow: ellipsis;
  overflow: hidden;
  display: inline-flex;
  flex-wrap: wrap;
  width: 95%;
  align-items: flex-start;
  max-height: 25em;
  /* 11px * 10行 = 110px，约等于11em */
  line-height: 2.5em;
}

.ins-expand-summary-content>a {
  color: #2e6cf6 !important;
  font-weight: 700;
  cursor: pointer;
}

.ins-expand-updatetime,
.ins-expand-updator {
  font-weight: 700;
  color: #7890ff;
}

.ins-expand-updateinfo {
  color: #e6e6fa;
  font-size: 11px;
}

.ins-data-tag,
.ins-relation-tag {
  line-height: 16px;
  padding: 3px 10px;
  border-radius: 2px;
}

.ins-null-relation-tag,
.ins-null-data-tag {
  margin: 3px 3px;
  border: 1px solid #4b4b4b;
  border-radius: 2px;
  font-size: 12px;
  background: #2d3036;
  color: #7c8491;
  font-weight: 700;
  padding: 3px 10px;
  line-height: 16px;
}

.ins-add-data-tag {
  margin: 3px 3px;
  border: 1px solid #4b4b4b;
  border-radius: 2px;
  font-size: 12px;
  /*background: #353a42;*/
  background-color: #2d3036;
  color: #7c8491;
  font-weight: 700;
  padding: 3px 10px;
  line-height: 16px;
  cursor: pointer;
}

.ins-add-data-tag:hover {
  background: #2e6cf6 !important;
  color: #fff !important;
  border: 1px solid #2e6cf6 !important;
}

.ins-expand-relation-btn .ant-btn {
  border-color: transparent !important;
  background-color: transparent !important;
  color: #2e6cf6 !important;
  font-weight: 700;
  font-size: 11px;
  padding-right: 0px !important;
}

.ins-expand-relation-btn .ant-btn[disabled] {
  border-color: transparent !important;
  background-color: transparent !important;
  color: #7c8491 !important;
  font-weight: 700;
  font-size: 11px;
  padding-right: 0px !important;
}

.ins-relation-table {
  width: auto;
  /* 确保扩展面板中的表格样式不会影响父表格 */
  table-layout: auto !important;
}

/* 使用 CSS 类控制扩展面板中关系表格的列宽，避免使用 nzWidth 影响父表格 */
.ins-expand-row-panel .ins-relation-table .ant-table-thead>tr>th.ins-relation-table-col-1,
.ins-expand-row-panel .ins-relation-table .ant-table-tbody>tr>td:nth-child(1) {
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
}

.ins-expand-row-panel .ins-relation-table .ant-table-thead>tr>th.ins-relation-table-col-2,
.ins-expand-row-panel .ins-relation-table .ant-table-tbody>tr>td:nth-child(2) {
  width: 360px !important;
  min-width: 360px !important;
  max-width: 360px !important;
}

.ins-expand-row-panel .ins-relation-table .ant-table-thead>tr>th.ins-relation-table-col-3,
.ins-expand-row-panel .ins-relation-table .ant-table-tbody>tr>td:nth-child(3) {
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
}

.ins-relation-table .ant-table-content {
  padding-left: 0px !important;
  ;
  overflow-y: auto !important;
  margin-top: 10px !important;
  border: 1px solid #454545;
}

.ins-relation-table .ant-table-thead>tr {
  background-color: #2d2f3f !important;
  border-bottom: 1px solid #454545
}

.ins-relation-table .ant-table-thead>tr>th {
  padding-left: 12px !important;
  color: #e3e2e2;
  border-radius: 0px !important;
  height: 40px !important;
  font-size: 11px;
  background-color: #2d2f3f !important;
}

.ins-relation-table .ant-table-tbody>tr {
  background: #212123 !important;
}

.ins-relation-table .ant-table-tbody>tr:nth-child(odd) {
  background: #242629 !important;
}

.ins-relation-table span>a {
  color: #2e6cf6 !important;
  font-weight: 700;
  cursor: pointer;
}

.ins-relation-table .ant-table {
  border: none !important;
}

.ins-relation-table .ant-table-thead>tr:first-child>th:nth-child(2) {
  padding-left: 16px !important;
}

.ins-relation-table .ant-table-tbody>tr>td {
  height: 40px !important;
  font-size: 11px;
  color: #bebfc0
}

.ins-relation-table .ant-table-pagination.ant-pagination,
.ins-relation-table .ant-table-pagination.ant-pagination {
  margin: 10px 0;
  display: block;
  color: #7c8491;
}

.ins-relation-table .ant-pagination-item-active,
.ins-relation-table .ant-pagination-item-active {
  background-color: transparent;
}

.ins-relation-table .ant-pagination-item,
.ins-relation-table .ant-pagination-item {
  background-color: transparent;
  border: 1px solid #2c3036;
}

.ins-relation-table .ant-pagination-item a,
.ins-relation-table .ant-pagination-item a {
  color: #7c8491;
}

.ins-relation-table .ant-pagination-simple .ant-pagination-simple-pager input,
.ins-relation-table .ant-pagination-simple .ant-pagination-simple-pager input {
  height: 100% !important;
}

.ins-relation-table .ant-pagination-simple .ant-pagination-simple-pager,
.ins-relation-table.ant-pagination-simple .ant-pagination-simple-pager {
  font-size: 12px;
}

.ins-relation-table .ant-pagination-prev,
.ins-relation-table .ant-pagination-next {
  min-width: 40px;
  border: #454545 !important;
}

.ins-relation-table .ant-pagination ul,
.ins-relation-table .ant-pagination ul {
  text-align: right;
}

.ins-relation-table .ant-table-pagination.ant-pagination .anticon {
  color: #7c8491 !important;
}

.ins-relation-table .ant-pagination-item-link:hover>.anticon,
.ins-relation-table .ant-pagination-item-link:hover>.anticon {
  color: #fff !important;
}

.ins-relation-table .ant-pagination-next .ant-pagination-item-link,
.ins-relation-table .ant-pagination-prev .ant-pagination-item-link {
  background-color: #2d3035;
}

.ins-relation-table .ant-pagination-simple .ant-pagination-simple-pager input {
  border: none;
}

.ins-relation-table .ant-pagination-simple .ant-pagination-simple-pager input:hover {
  border: 1px solid #2e6cf6 !important;
}

.ins-relation-table .ant-table-row-indent+.ant-table-row-expand-icon:hover {
  background: #4c5664;
  position: relative;
  padding-top: 2px;
}

.ins-expand-btn:not(.ant-btn-circle):not(.ant-btn-circle-outline).ant-btn-icon-only:hover {
  background-color: transparent !important;
}

/* 扩展面板关联实例标签容器样式 */
.ins-relation-tags-container,
.ins-expand-tags-content {
  width: auto;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
  align-items: flex-start;
  max-height: 11em;
  /* 限制最多10行 */
  overflow: hidden;
  line-height: 1.1em;
}

.ins-relation-tags-container nz-tag,
.ins-expand-tags-content nz-tag {
  margin: 2px;
  flex-shrink: 0;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  height: 24px;
}

.ins-relation-tags-container .ins-null-relation-tag,
.ins-expand-tags-content .ins-null-data-tag {
  margin: 2px;
  flex-shrink: 0;
}

.ins-expand-tags-content .ant-select-selection {
  border-color: #454545;
  background-color: #202124;
}

.ins-expand-tags-content .ant-btn {
  border-color: transparent !important;
  font-size: 11px;
  font-weight: 700;
  color: #2e6cf6;
}

.ins-expand-tags-content .ant-btn:hover {
  background-color: transparent !important;
  color: #2e6cf6 !important;
}

.ins-relation-loading-icon {
  margin-right: 5px;
  color: #2e6cf6;
}

/* 版本历史和数据血缘相关样式 */
.ins-version-timeline {
  display: block;
  margin-top: 5px !important;
  padding-top: 20px;
  padding-left: 20px;
  padding-right: 20px;
  border: 1px solid #454545;
  background-color: #202124;
}

.ins-version-timeline .ant-timeline-item-tail {
  border-left: 1px dashed #e3e2e2 !important;
}

.ins-version-timeline .ant-timeline-item-head {
  background-color: #282a33;
  border: 2px solid #e3e2e2;
}

.ins-version-timeline .ant-timeline-item-content {
  margin-bottom: 10px;
  position: relative;
  top: -5px;
  margin: 0 0 0 28px;
}

.ins-version-timeline .ant-timeline-item-content:hover {
  background-color: transparent !important;
  transition: unset !important;
  padding-bottom: 0px;
  padding-top: 0px;
}

.ins-version-timeline .ant-timeline-item-content p {
  margin: 0;
  line-height: 1.5;
}

.ins-version-timeline .ant-timeline-item-content p:first-child {
  font-weight: 700;
  color: #e3e2e2;
  font-size: 11px;
}

.ins-version-timeline .ant-timeline-item-content p:last-child {
  color: #bebfc0;
  font-size: 11px;
  margin-top: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: break-all;
}

.show-version-history {
  max-height: calc(100vh - 200px);
  overflow-y: auto;
}

.ins-expand-relation-btn button[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}


/* 反向关系新增loading动画样式 */
.ice-ininstance-loading {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  background: transparent;
}

.ice-ininstance-loading .pic {
  width: 300px;
  height: 100px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  color: #999;
  font-size: 20px;
  text-align: center;
  line-height: 100px;
}

.ice-ininstance-loading .loading-info {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  margin: auto;
  color: #999;
  font-size: 14px;
  text-align: center;
  line-height: 100px;
}

.ice-ininstance-loading .pic>span:first-child {
  display: block;
  width: 60px;
  height: 60px;
  position: absolute;
  top: 10px;
  left: 110px;
  border-radius: 50%;
  box-shadow: 0 3px 0 #999;
  animation: ice-ininstance-rotate 1s infinite linear;
}

@keyframes ice-ininstance-rotate {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.in-instance-editor-table .ant-table-bordered .ant-table-thead>tr>th {
  padding: 0 10px;
}


.sort-description {
  background: transparent;
  padding: 0px;
  margin-bottom: 16px;
  color: #333;
  font-size: 11px;
}

.sort-list {
  min-height: 200px;
}

.sort-item {
  font-size: 12px;
  display: flex;
  align-items: center;
  background: #e3e2e2;
  border-radius: 4px;
  padding: 5px;
  margin-bottom: 8px;
  cursor: move;
  transition: all 0.2s ease;
  /* 确保 CDK 拖拽可以正常工作 */
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}

.sort-item:hover {
  background: #f5f5f5;
  border-color: 1px solid #40a9ff;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.sort-item.dragging {
  opacity: 0.5;
  transform: rotate(2deg);
}

/* ===== Angular CDK DragDrop 样式优化 ===== */
.sort-item.cdk-drag {
  cursor: move;
}

.sort-item.cdk-drag-animating {
  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}

.sort-list.cdk-drop-list-dragging .sort-item:not(.cdk-drag-placeholder) {
  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}

.sort-item.cdk-drag-placeholder {
  opacity: 0.4;
  background-color: #d0d5e0;
  border: 1px dashed #2e6cf6;
}

.sort-item.cdk-drag-preview {
  box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),
    0 8px 10px 1px rgba(0, 0, 0, 0.14),
    0 3px 14px 2px rgba(0, 0, 0, 0.12);
  opacity: 0.8;
}

.sort-item-content {
  display: flex;
  align-items: center;
  flex: 1;
}

.sort-item-label {
  font-weight: 500;
  color: #262626;
  margin-right: 8px;
}

.drag-handle {
  cursor: move;
  font-size: 14px;
}

/* 排序链接样式 */
.sort-link {
  margin-left: 8px;
  font-size: 12px;
  color: #2e6cf6;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.2s ease;
}

.sort-link:hover {
  color: #40a9ff;
  text-decoration: underline;
}

.sort-link:active {
  color: #096dd9;
}

.filter-preview-modal .ant-modal-body {
  padding: 10px 10px 0px 10px !important;
}

.filter-preview-modal .ant-table-content {
  padding: 0px 10px !important;
}

.filter-preview-modal .fa-search {
  border-color: #ccc !important;
  background-color: #eff2f8 !important;
}

.filter-preview-modal .ant-table-bordered .ant-table-tbody>tr>td,
.filter-preview-modal .ant-table-bordered .ant-table-thead>tr>th {
  padding: 4px 12px !important;
  min-width: 100px;
  max-width: 400px;
}

.ant-select-dropdown nz-tree nz-tree-node .ant-select-tree-checkbox {
  pointer-events: none !important;
  cursor: not-allowed;
}

#filterTreeSelect .ant-select-selection__rendered {
  height: auto !important;
  min-height: 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.ins-expand-row-panel .anticon {
  color: #eae6fa !important;
}

.ant-table-tbody .ins-expand-btn {
  border-color: transparent !important;
  padding-left: 0px !important;
}

.ant-modal-body:has(.drop-box) {
  overflow-x: hidden !important;
}

.ins-expand-btn .anticon.anticon-plus-square {
  color: #333 !important;
}

.ins-expand-relation-btn .ant-btn:hover {
  background-color: transparent !important;
  color: #2e6cf6 !important;
}

scene-resourcessearch .ant-form-vertical .ant-form-item-label {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

scene-selfmonitor .ant-table-content .ant-table-tbody>tr>td>span>img {
  margin-left: -8px !important;
}

ice-instance-editor editor-table:has(.editable-row-operations) .ant-table-thead>tr>th {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

/*
.ant-drawer-body ice-instance-editor .ant-table-bordered .ant-table-tbody>tr>td{
  vertical-align: middle !important;
  padding-left:5px !important;
  padding-right:5px !important;
}*/
.ant-drawer-body ice-instance-editor .ant-table-bordered .ant-table-tbody>tr:nth-child(odd) {
  border: 1px inset #f1f3f4 !important;
}

.ant-drawer-body ice-instance-editor .ant-table-bordered .ant-table-tbody>tr:nth-child(odd):hover {
  border: 1px inset #2e6cf6 !important;
}

.ant-drawer-body ice-instance-editor editor-table:has(.editable-row-operations) .ant-table-tbody>tr>td {
  vertical-align: top !important;
  padding: 5px !important;
}

ice-instance-editor editor-table .ant-table-tbody>tr>td .editable-row-operations {
  padding-top: 2px !important;
}

.blacklist editor-table .ant-table-tbody>tr>td .editable-row-operations {
  padding-top: 8px !important;
}

ice-instance-editor editor-table .ant-table-tbody>tr>td .editable-row-operations .fa-stack {
  width: auto !important;
  height: 2.1em !important;
}

.blacklist editor-table .ant-table-tbody>tr>td .editable-row-operations .fa-stack {
  width: 1.8em !important;
  height: 2.1em !important;
}

ice-instance-editor editor-table .ant-table-tbody>tr>td .editable-row-operations .fa-stack .fa-stack-1x {
  font-size: 11px !important;
  font-weight: bolder !important;
  color: #fff !important;
}

scene-resourcessearch .result-info h4.title {
  font-size: 15px !important;
}

scene-resourcessearch .show-instance-details .result-info h4.title {
  margin-bottom: 10px !important;
  font-weight: bold;
}

nz-sider i.icon {
  margin-right: 12px !important;
}

nz-header .ant-menu-item {
  padding-left: 43px !important;
}


.ai-sider-panel {
  background: #181818;
  /*border-left: 1px solid #2c2f34;*/
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
  position: relative;
  /* 设置为 950：高于被压低的抽屉(900)，但低于顶部的下拉菜单(1000) */
  z-index: 950 !important;
}

.ai-sider-header {
  height: 50px;
  padding: 0 16px;
  border-bottom: 4px solid #2c3036;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #212124;
  flex-shrink: 0;
}

.ai-sider-header .ai-sider-title {
  font-weight: 500;
  color: #fff;
  font-size: 14px;
}


.ai-sider-header .ai-sider-close-btn {
  background: none;
  border: none;
  font-size: 16px;
  color: #999;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
}

.ai-sider-header .ai-sider-close-btn:hover {
  background: #f5f5f5;
  color: #666;
}

.ai-sider-body {
  flex: 1;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  background: #212124;
  height: calc(100% - 50px) !important;
}

.ai-sider-body .ai-chat-panel .chat-container {
  background-color: #181818;
  margin: 0 auto;
  border: 1px solid #454545;
  border-radius: 2px;
  max-width: none !important;
  overflow: initial;
}

.ai-sider-body .message-list {
  min-height: calc(100vh - 255px) !important;
  padding: 10px 20px;
  background-color: #181818 !important;
  padding: 10px !important;
  overflow-x: hidden;
}

.ai-sider-body .input-area {
  display: flex;
  position: relative;
  background: #181818 !important;
  border-top: 1px solid #454545 !important;
  padding: 10px !important;
  min-height: 135px;
  color: #fff !important;
}

.ai-sider-body .input-area textarea {
  flex: 1;
  /*max-height: 30vh;*/
  resize: none !important;
  height: auto;
  width: 100%;
  overflow-y: auto;
  box-sizing: border-box;
  line-height: 1.5;
  background-color: #24262b !important;
  /*border-color: #666 !important;*/
  border-radius: 4px !important;
  margin-right: 10px;
  padding: 12px;
  /*border: 2px solid #666;*/
}

.ai-sider-body .message {
  margin: 10px 0;
  padding: 12px;
  border-radius: 8px;
}

/* AI智能体按钮样式 - 添加到header中 */
.ai-assistant-btn {
  background: none;
  border: none;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 4px;
  transition: all 0.3s ease;
  margin-right: 15px;
}

.ai-assistant-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #2e6cf6;
}

.ai-assistant-btn.active {
  background: rgba(24, 144, 255, 0.2);
  color: #2e6cf6;
}

/* AI侧栏内容样式 - 由app.component.html的nz-sider包装 */
.ai-sider-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #212124;
  position: relative;
}

.ai-sider-content .ai-sider-header {
  height: 50px;
  padding: 0 16px;
  border-bottom: 4px solid #2c3036;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #212124;
  flex-shrink: 0;
}

.ai-sider-content .ai-sider-header .ai-sider-title {
  font-weight: 500;
  color: #fff;
  font-size: 14px;
}

.ai-sider-content .ai-sider-header .ai-sider-close-btn {
  background: none;
  border: none;
  font-size: 16px;
  color: #999;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
}

.ai-sider-content .ai-sider-header .ai-sider-close-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #2e6cf6;
}

.ai-sider-content .ai-sider-body {
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  /* 添加垂直滚动支持 */
  display: flex;
  flex-direction: column;
  background: #212124;
  height: calc(100% - 50px) !important;
  position: relative;
  /* 作为历史面板绝对定位的定位上下文 */
  /* 确保滚动行为流畅 */
  scroll-behavior: smooth;
  /* 自定义滚动条样式 */
  scrollbar-width: thin;
  /*scrollbar-color: #666 #212124;*/
}

/* 自定义侧栏内容区域滚动条样式 */
.ai-sider-content .ai-sider-body::-webkit-scrollbar {
  width: 8px;
}

.ai-sider-content .ai-sider-body::-webkit-scrollbar-track {
  background: #212124;
  border-radius: 4px;
}

.ai-sider-content .ai-sider-body::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 4px;
}

.ai-sider-content .ai-sider-body::-webkit-scrollbar-thumb:hover {
  background: #888;
}

.ai-sider-body .ai-chat-panel {
  padding-bottom: 10px;
  padding-right: 5px !important;
}

/* 确保AI侧栏在nz-sider中正确显示 */
.ai-sider-content {
  position: relative;
  height: 100%;
  overflow: hidden;
}

/* 数据传输箭头按钮样式 */
.ai-transfer-arrow {
  position: absolute;
  left: 10px;
  /* 改为正数，显示在侧栏内部 */
  top: 50%;
  transform: translateY(-50%);
  width: 25px;
  height: 60px;
  /*background: linear-gradient(135deg, rgba(24, 144, 255, 0.8), rgba(9, 109, 217, 0.8), rgba(9, 109, 217, 0.8));*/
  background: #2c303690;
  border-radius: 0px 6px 6px 0px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  font-size: 12px;
}

.ai-transfer-arrow:hover {
  background: #4e46dc;
  transform: translateY(-50%) scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.ai-transfer-arrow i {
  color: white;
  font-size: 14px;
  margin-bottom: 8px;
}

.ai-transfer-arrow .arrow-text {
  color: white;
  font-size: 12px;
  font-weight: bold;
  background: rgba(255, 255, 255, 0.2);
  padding: 2px 6px;
  border-radius: 10px;
  min-width: 20px;
  text-align: center;
}

.ai-sider-content {
  position: relative !important;
}

/* 确保箭头按钮有正确的定位上下文 */
.ai-sider-content {
  position: relative !important;
  overflow: visible !important;
}

/* 输入区域高度调整条样式 */
.input-resize-bar {
  position: absolute;
  top: -5px;
  left: 0;
  right: 0;
  height: 5px;
  background: #2c3036;
  cursor: ns-resize;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
  /* 确保在输入区域顶部边缘可见 */
  margin-top: 0;
  z-index: 10;
}


.input-resize-bar:hover {
  background: #2e6cf6;
}

/* 确保输入区域可以调整高度 */
.ai-sider-content .input-area {
  position: relative;
  min-height: 140px;
  height: auto;
  /* 改为auto，让高度自动适应内容 */
  resize: none;
  overflow: visible;
  /* 改为visible，让resize-bar可见 */
  /* margin-top: 8px;  为resize-bar留出空间 */
}

.ai-sider-content .input-area .ant-input-group {
  padding-right: 10px;
}

.ai-sider-content .input-area textarea {
  /* height: calc(100% - 60px); 减去按钮区域的高度 */
  min-height: 120px !important;
  resize: vertical;
  color: #fff;
}

/* 侧栏关闭按钮样式，与历史对话关闭按钮完全一致 */
.ai-sider-content .ai-sider-header .close-btn {
  height: 30px;
  width: 30px;
  border-radius: 4px;
  background-color: #fff;
  color: #000000;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20px;
  width: 20px;
  padding: 1px 6px !important;
  border: none;
  cursor: pointer;
  font-weight: bold;
}

.ai-sider-content .ai-sider-header .close-btn:hover {
  background-color: #4f46e5;
  color: #fff;
}

.ant-layout-sider.ai-sider-panel {
  background: #212124 !important;
  /*border-left: 1px solid #454545;*/
}

.ant-layout-sider.ai-sider-panel .ant-layout-sider-children {
  height: calc(100%);
  display: flex;
  flex-direction: column;
  overflow-y: hidden;
  /* 改为auto，允许垂直滚动 */
  /* 确保滚动行为流畅 */
  scroll-behavior: smooth;
  /* 自定义滚动条样式 */
  scrollbar-width: thin;
  /*scrollbar-color: #666 #212124;*/
}

/* 自定义侧栏滚动条样式 */
.ant-layout-sider.ai-sider-panel .ant-layout-sider-children::-webkit-scrollbar {
  width: 8px;
}

.ant-layout-sider.ai-sider-panel .ant-layout-sider-children::-webkit-scrollbar-track {
  background: #212124;
  border-radius: 4px;
}

.ant-layout-sider.ai-sider-panel .ant-layout-sider-children::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 4px;
}

.ant-layout-sider.ai-sider-panel .ant-layout-sider-children::-webkit-scrollbar-thumb:hover {
  background: #888;
}

/* 左侧菜单栏在有AI侧栏时的样式调整
.ant-layout-sider.with-ai-sider {
  border-right: 1px solid #454545;
}


.ant-layout-content.with-ai-sider {
  margin-right: 500px;
  transition: margin-right 0.3s ease;
}


@media (max-width: 1200px) {
  .ant-layout-content.with-ai-sider {
    margin-right: 400px;
  }
}

@media (max-width: 768px) {
  .ant-layout-content.with-ai-sider {
    margin-right: 300px;
  }
}
  */
.ai-sider-panel .ai-chat-history-panel,
.ai-sider-panel .ai-chat-history-container {
  margin: 10px 10px;
  border: 1px solid #454545;
  border-radius: 2px;
  max-width: none !important;
}

/* 确保侧栏中的历史对话面板正确显示 — 绝对定位覆盖在聊天内容上方 */
.ai-sider-panel .ai-chat-history-panel {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  background: #212124;
  border: 1px solid #454545;
  border-radius: 4px;
  margin: 5px;
  overflow-y: auto;
  display: block !important;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: #666 #212124;
}

/* 自定义历史对话面板滚动条样式 */
.ai-sider-panel .ai-chat-history-panel::-webkit-scrollbar {
  width: 6px;
}

.ai-sider-panel .ai-chat-history-panel::-webkit-scrollbar-track {
  background: #212124;
  border-radius: 3px;
}

.ai-sider-panel .ai-chat-history-panel::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 3px;
}

.ai-sider-panel .ai-chat-history-panel::-webkit-scrollbar-thumb:hover {
  background: #888;
}

.ai-sider-panel .ai-chat-history-container {
  background: #212124;
}

/* 确保侧栏中的历史对话面板在显示时有正确的样式 */
.ai-sider-panel .ai-chat-history-panel[style*="display: block"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* 确保侧栏中的按钮容器有正确的样式 */
.ai-sider-panel .buttons-container {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  max-height: 120px;
}

.ai-sider-panel .action-button {
  flex: 1;
  min-width: 80px;
}

/* 历史对话按钮激活状态样式 */
.ai-sider-panel .action-button.history-chat-btn.active {
  background-color: #2e6cf6 !important;
  color: #fff !important;
  border-color: #2e6cf6 !important;
}

.ai-sider-panel .action-button.history-chat-btn.active:hover {
  background-color: #40a9ff !important;
  border-color: #40a9ff !important;
}

.ai-sider-panel .loading-indicator {
  color: #7890ff !important;
  margin: 10px 0px !important;
  font-size: 13px !important;
}

.ai-sider-panel .message-time {
  color: #7890ff !important;
}

/*
.ant-layout.ant-layout-has-sider>.ant-layout-content{
  overflow-y: hidden !important;
}*/
editor-table .button-group .ant-col-6 .ant-row {
  width: 100% !important;
}

.ant-layout.ant-layout-has-sider>.ant-layout-content:has(scene-selfmonitor) {
  margin-right: 20px;
  padding-right: 10px;
  overflow-y: auto;
}

.ant-layout.ant-layout-has-sider>.ant-layout-content:has(scene-resourcessearchapp) {
  height: 100%;
}

.ant-layout.ant-layout-has-sider>.ant-layout-content:has(scene-resourcessearchip) {
  overflow-y: auto !important;
  height: 100%;
}

.ant-layout.ant-layout-has-sider>.ant-layout-content:has(scene-resourcessearchrack) {
  /*
  margin-right: 15px;
  padding-right: 10px;*/
  overflow-y: auto !important;
  height: 100%;
}

.ant-layout.ant-layout-has-sider>.ant-layout-content:has(scene-inspection) {
  overflow-y: auto;
}

ice-adaptive-table td markdown {
  font-size: 12px !important;
  background: transparent;
  color: #333;
  /*color: #7890ff !important;*/
  border-top: none;
  border-bottom: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 让所有子元素变成内联显示，压缩成一行 */
ice-adaptive-table td markdown * {
  display: inline !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: inherit !important;
  color: inherit !important;
  background: inherit !important;
  overflow: visible !important;
  text-overflow: inherit !important;
}

/* 特别处理块级元素 */
ice-adaptive-table td markdown h1,
ice-adaptive-table td markdown h2,
ice-adaptive-table td markdown h3,
ice-adaptive-table td markdown h4,
ice-adaptive-table td markdown h5,
ice-adaptive-table td markdown h6,
ice-adaptive-table td markdown p,
ice-adaptive-table td markdown div {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* 处理换行标签 */
ice-adaptive-table td markdown br {
  display: none !important;
}

scene-resourcessearchip .application-indicator .service-indicator,
scene-resourcessearchrack .application-indicator .service-indicator,
scene-resourcessearchapp .application-indicator .service-indicator {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

ice-select-tag .ant-select-selection--multiple .ant-select-selection__rendered>ul>li,
ice-select-tag .ant-select-selection--multiple>ul>li {
  opacity: 1 !important;
  transform: inherit !important;
}

resource-filter-view .ant-layout.ant-layout-has-sider>.ant-layout {
  margin-left: 10px;
}

ice-resource-instance .ant-layout.ant-layout-has-sider>.ant-layout,
ice-resource-instance-tree .ant-layout.ant-layout-has-sider>.ant-layout {
  margin-left: 15px;
}

/* 默认滚动条样式 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

/* 垂直滚动条悬停效果 */
::-webkit-scrollbar:vertical:hover {
  width: 8px;
}

/* 水平滚动条悬停效果 */
::-webkit-scrollbar:horizontal:hover {
  height: 8px;
}

/* 滚动条轨道 */
::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 4px;
}

/* 滚动条滑块 */
::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 4px;
  cursor: move;
  /* 可移动光标 */
}

/* 滚动条滑块悬停效果 */
::-webkit-scrollbar-thumb:hover {
  background: #bbc0cb;
  cursor: move;
  /* 确保悬停时也显示可移动光标 */
}

/* 滚动条角落 */
::-webkit-scrollbar-track-piece, ::-webkit-scrollbar-track, ::-webkit-scrollbar-corner {
  background: transparent !important;
}

.show-instance-details .result-info .desc markdown h1,
.show-instance-details .result-info .desc markdown h2,
.show-instance-details .result-info .desc markdown h3,
.show-instance-details .result-info .desc markdown h4,
.show-instance-details .result-info .desc markdown h5,
.show-instance-details .result-info .desc markdown h6 {
  color: #333 !important;
  font-size: 12px !important;
}

.show-instance-details .result-info .desc markdown pre {
  color: #333;
  background-color: unset !important;
  border: 0px !important;
}

.show-instance-details .result-info .desc markdown h1,
.show-instance-details .result-info .desc markdown h2,
.show-instance-details .result-info .desc markdown h3,
.show-instance-details .result-info .desc markdown h4,
.show-instance-details .result-info .desc markdown h5,
.show-instance-details .result-info .desc markdown h6 {
  color: #333 !important;
  font-size: 12px !important;
}

.show-instance-details .result-info .desc markdown pre {
  color: #333;
  background-color: unset !important;
  border: 0px !important;
}


/* ===== 列宽调整功能样式 ===== */
/* 表头相对定位，为拖拽手柄提供定位基准 */
.adaptive-table th {
  position: relative;
}

/* 列宽调整手柄 */
.column-resize-handle {
  position: absolute !important;
  top: 1.25rem;
  bottom: 0;
  right: 3px;
  width: 1.5px;
  height: calc(100% - 2.6rem);
  cursor: col-resize;
  background: #ccc;
  z-index: 0;
  transition: background-color 0.2s ease;
  border-radius: 1px;
  text-align: center;
}

/* 手柄悬停效果 */
.column-resize-handle:hover,
.column-resize-handle:active {
  background: #2e6cf6;
  opacity: 0.8;
}

/* 拖拽时的视觉反馈 */
body.column-resizing {
  user-select: none;
}

body.column-resizing .column-resize-handle {
  background: #2e6cf6;
  opacity: 0.9;
  width: 6px;
  /* 拖拽时稍微加宽 */
}

/* 拖拽过程中的虚线效果 */
.column-resize-line {
  position: fixed;
  /* top 和 height 通过 JavaScript 动态设置 */
  width: 2px;
  background: repeating-linear-gradient(to bottom,
      #2e6cf6 0px,
      #2e6cf6 8px,
      transparent 8px,
      transparent 16px);
  z-index: 9999;
  pointer-events: none;
  opacity: 0.8;
  /* 取消闪烁动画 */
  /* animation: resizeLinePulse 1s ease-in-out infinite; */
}

/* 拖拽时的表格遮罩效果 */
.column-resize-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 9998;
  cursor: col-resize;
  pointer-events: auto;
}

/* 搜索框 >> 字符高亮样式 */
.home-search .form-control.input-white.has-gt-gt-highlight,
.home-search-result .form-control.input-white.has-gt-gt-highlight {
  border: 2px solid #2e6cf6 !important;
}

.home-search .form-control.input-white.has-gt-gt-highlight:focus,
.home-search-result .form-control.input-white.has-gt-gt-highlight:focus {
  border-color: #2e6cf6 !important;
}

.ant-table-tbody>tr>td:has(.ins-expand-btn) {
  text-overflow: unset !important;
  padding-left: 2px !important;
}

.ant-table-tbody>tr>td {
  height: 55px !important;
}

ice-resource-instance .ant-tabs-nav {
  padding-top: 2px;
}

.ant-tree li ul {
  line-height: 2;
}

.orderTableClass .ant-table-content .ant-table-thead>tr>th,
.orderTableClass .ant-table-content .ant-table-tbody>tr>td {
  padding: 0px 20px !important;
}

.orderPageClass .ant-table-content .ant-table-thead>tr>th,
.orderPageClass .ant-table-content .ant-table-tbody>tr>td {
  padding: 0px 20px !important;
}

nz-sider .ant-layout-sider-children .ant-menu-root {
  margin-top: 10px !important;
}

scene-home .home-search {
  margin-top: 17px !important;
}

.iframe-page-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 15px;
  padding-left: 0px;
  font-weight: bold;
  font-size: 14px;
  color: #333 !important;
}

.iframe-page-title i {
  margin-right: 5px;
}

.iframe-page-title .title-left {
  display: flex;
  align-items: center;
}

.iframe-page-title .title-left i {
  margin-right: 5px;
}

.iframe-page-title .title-right {
  display: flex;
  align-items: center;
}

.iframe-page-title .export-report-btn {
  background-color: #fff;
  color: #333;
  border: 1px solid #ccc !important;
  height: 32px !important;
  line-height: 33px;
  border: none;
  padding: 8px 10px;
  font-size: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: background-color 0.3s ease;
}

.iframe-page-title .export-report-btn:hover {
  background-color: #2e6cf6;
  color: #fff;
}

/*
.iframe-page-title .export-report-btn:active {
  background-color: #096dd9;
}
*/
.iframe-page-title .export-report-btn i {
  font-size: 16px;
}

.iframe-page-body {
  border: 3px solid #ccc !important;
  padding: 10px 30px;
  background-color: #fff;
}

.code-released-relative-path .ant-form-explain,
.code-released-file-name .ant-form-explain {
  margin-top: 5px;
}

ice-component-monaco-editor .editor-container .editor-title-bar .editor-title .ant-select-selection {
  border: 0px !important;
}

nz-sider .collapse-app-handler i svg {
  font-size: 10px;
}

ice-adaptive-table .ant-table-th-left-sticky {
  background-color: #fff !important;
}

ice-adaptive-table .ant-table-tbody>tr:nth-child(odd) .ant-table-td-left-sticky {
  background-color: #f3f5fb !important;
}

ice-adaptive-table .ant-table-tbody>tr:nth-child(even) .ant-table-td-left-sticky {
  background-color: #fff !important;
}

.ant-table-td-left-sticky,
.ant-table-td-right-sticky,
.ant-table-th-left-sticky,
.ant-table-th-right-sticky {
  z-index: 10 !important;
}

.ant-table-scroll-position-middle .ant-table-tbody>tr>td.ant-table-td-left-sticky {
  background-color: #eff2f8 !important;
}

.ant-table-scroll-position-middle .ant-table-thead>tr>th.ant-table-th-left-sticky {
  background-color: #eff2f8 !important;
}

.save-user-column-display-settings {
  color: #333;
  border: 1px solid #ccc;
  margin-top: 3px !important;
  margin-right: 0px !important;
  width: 99%;
}

li.custom-ops-button-li:hover {
  background-color: #2e6cf6 !important;
  color: #fff !important;
}

.ant-dropdown-menu {
  border: 1px solid #ccc;
  border-radius: 6px;
}



/* ===== 字段排序功能样式 ===== */
.display-panel-content {
  display: flex;
  gap: 5px;
  max-width: 480px;
}

.field-checkbox-section {
  flex: 1;
  min-width: 300px;
  margin-right: 10px;
  max-height: 350px;
  overflow-y: auto;
}

.tableColumnsDisplay nz-checkbox-group {
  max-height: 350px;
}

.field-sort-subpanel {
  flex: 1;
  max-width: 500px;
  max-height: 350px;
  overflow-y: auto;
  padding-top: 5px;
  padding-right: 5px;
}

.field-sort-list {
  margin-right: 10px;
  overflow-y: hidden;
}

.field-sort-item {
  padding: 6px 8px;
  background-color: #eff2f8;
  margin-bottom: 2px;
  cursor: move;
  transition: all 0.2s;
  position: relative;
  /* 确保 CDK 拖拽可以正常工作 */
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}

.field-sort-item:last-child {
  border-bottom: none;
}

.field-sort-item:hover {
  background-color: #2e6cf6;
}

.field-sort-item:hover .field-sort-item-label {
  color: #fff;
}

.field-sort-item-content {
  display: flex;
  align-items: center;
  gap: 6px;
}

.field-sort-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.field-sort-empty .ant-empty-image {
  margin-bottom: 8px;
  height: 40px;
}

.field-sort-empty .ant-empty-description {
  color: #666;
  font-size: 12px;
}

.field-sort-item-label {
  font-size: 12px;
  color: #333;
  font-weight: bold;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.drag-handle {
  color: #999;
  cursor: grab;
  font-size: 12px;
}

.drag-handle:active {
  cursor: grabbing;
}

.field-sort-item.drag-over {
  border-top: 5px solid #2e6cf6;
}

.field-sort-item.drag-over::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #2e6cf6;
}

/* ===== Angular CDK DragDrop 样式优化 ===== */
.field-sort-item.cdk-drag {
  cursor: move;
}

.field-sort-item.cdk-drag-animating {
  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}

.field-sort-list.cdk-drop-list-dragging .field-sort-item:not(.cdk-drag-placeholder) {
  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}

.field-sort-item.cdk-drag-placeholder {
  opacity: 0.4;
  background-color: #d0d5e0;
  border: 1px dashed #2e6cf6;
}

.field-sort-item.cdk-drag-preview {
  box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),
    0 8px 10px 1px rgba(0, 0, 0, 0.14),
    0 3px 14px 2px rgba(0, 0, 0, 0.12);
  opacity: 0.8;
}

@media (max-width: 767px) {

  .login .login-header,
  .login-cover-bg,
  .login-content {
    width: 100% !important;
  }
}

.field-checkbox-section-empty {
  color: #2e6cf6;
  font-size: 12px;
  font-weight: bold;
  margin-top: 10px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.field-checkbox-section-empty .anticon {
  color: #2e6cf6 !important;
  font-weight: bold;
}

.ant-checkbox-group {
  display: block !important;
}

/* 权限树加载状态样式 */
.authority-loading-container {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  background-color: transparent;
}

.authority-loading-container img {
  display: none;
}

.authority-loading-container::after {
  content: '';
  width: 36px;
  height: 36px;
  border: 3px solid rgba(0,0,0,0.1);
  border-top-color: #2e6cf6;
  border-radius: 50%;
  animation: taskSpinRotate 0.7s linear infinite;
}

.ant-notification-notice-description {
  font-size: 14px;
  overflow-y: auto;
  max-height: 800px;
}

/* 滚动条轨道 */
.ant-notification-notice-description::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 4px;
}

/* 滚动条滑块 */
.ant-notification-notice-description::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 4px;
  cursor: move;
  /* 可移动光标 */
}

/* 滚动条滑块悬停效果 */
.ant-notification-notice-description::-webkit-scrollbar-thumb:hover {
  background: #bbc0cb;
  cursor: move;
  /* 确保悬停时也显示可移动光标 */
}

/* ice-datacheck */
ice-datacheck .widget.widget-stats {
  height: 85px;
  margin-top: 10px;
  padding: 17px 20px !important;
}

ice-datacheck .stats-number span {
  display: inline-block;
  width: 33%;
  text-align: left;
}

ice-datacheck .ant-table-title+.ant-table-content {
  height: calc(100vh - 328px) !important;
}

ice-datacheck .ant-table {
  border-bottom: 1px solid #ccc !important;
  border-right: 1px solid #ccc !important;
  border-left: 1px solid #ccc !important;
}

ice-datacheck .ant-tabs-top-bar {
  margin-bottom: 10px !important;
  margin-top: -8px !important;
}

ice-datacheck .datacheck-stats-number {
  color: #333;
  font-size: 22px;
}

ice-datacheck .datacheck-stats-text {
  color: #333;
  font-size: 12px;
}


nz-content:has(ice-datacheck) nz-table .ant-table-bordered .ant-table-tbody>tr>td {
  padding-left: 0px !important;
}

ice-datacheck .ant-tabs-nav-scroll {
  text-align: center !important;
}

/* 移除小手cursor，改为默认cursor */
ice-datacheck .col-md-4 a {
  cursor: default;
}

ice-datacheck ice-adaptive-table:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 360px) !important;
}

ice-datacheck .ant-tabs-nav .ant-tabs-tab {
  padding: 12px 16px !important;
}

ice-datacheck .ant-tabs-nav .ant-tabs-tab:has(.ant-badge-not-a-wrapper) {
  padding: 2px 16px !important;
}

ice-datacheck .ant-badge-not-a-wrapper .ant-badge-count {
  top: -1em !important;
  min-width: 20px !important;
  height: 20px !important;
  margin-left: 2px;
  padding: 0px 6px;
}

.field-frozen-config label span {
  color: #333;
  font-size: 12px;
  font-weight: bold;
}

.field-frozen-config label {
  margin-left: 7px;
}

.field-frozen-config label nz-input-number {
  border: 1px solid #ccc !important;
}

.sort-drawer-content .ant-empty-image {
  height: 40px !important;
}

.sort-drawer-content .ant-empty-description {
  font-size: 12px;
  color: #7c8491;
}

.sort-icon-button {
  margin-left: 8px;
  margin-bottom: 3px;
  cursor: pointer;
  color: #2e6cf6 !important;
  font-size: 12px !important;
  vertical-align: middle !important;
}

scene-asset-fg .assetsViewBody .scene-asset-fg-switch-button span a {
  color: #7c8491 !important;
}

scene-asset-fg .assetsViewBody .scene-asset-fg-switch-button a:hover {
  color: #333 !important;
}

scene-asset-fg .open>.dropdown-menu {
  margin-top: 10px !important;
  overflow-y: auto !important;
}

scene-asset-fg .open>.dropdown-menu li {
  margin-top: 5px !important;
}

scene-asset-fg .open>.dropdown-menu li a {
  color: #333 !important;
}

scene-asset-fg .assetsViewBody:fullscreen .scene-asset-fg-switch-button span ul {
  position: relative;
}

scene-asset-fg .assetsViewBody .view-title-area .widget.widget-stats {
  margin-bottom: 10px;
}

.uploading-text {
  color: #333 !important;
}

.ant-table-thead>tr>th.ant-table-column-sort {
  background: transparent !important;
}

.ant-table-thead>tr>th.ant-table-column-has-actions.ant-table-column-has-sorters:hover {
  background: transparent !important;
}

.ant-upload.ant-upload-select {
  width: 100%;
  height: 100%;
}

.ins-expand-info-block ice-adaptive-table td markdown {
  color: #bebfc2 !important;
}


/* 工作流编排区域布局 */
.resource-model-task {
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
}

/* 工作流resize-bar样式 */
.workflow-resize-bar {
  position: absolute;
  bottom: -5px;
  left: 0;
  right: 0;
  height: 5px;
  background: #ccc;
  cursor: ns-resize;
  z-index: 9;
  transition: background 0.2s ease;
}

.workflow-resize-bar:hover {
  background: #2e6cf6;
}

.sub-field-condition-row {
  width: 500px;
}

.sub-field-condition-row .ant-col-8 .ant-select {
  top: 0px !important;
}

.sub-field-condition-row ice-select-tag nz-select .ant-select-selection--multiple {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

.sub-field-condition-row .ant-btn:not(.ant-btn-circle):not(.ant-btn-circle-outline).ant-btn-icon-only {
  top: 0px !important;
  padding-top: 0px !important;
  background-color: transparent !important;
  border-color: transparent !important;
}

.sub-field-condition-row .ant-btn:not(.ant-btn-circle):not(.ant-btn-circle-outline).ant-btn-icon-only:hover i {
  color: #2e6cf6 !important;
}

editor-table input[type="password"]+.ant-input-suffix i {
  color: #333 !important;
}

ice-adaptive-table tbody>tr>td markdown a {
  color: #2e6cf6 !important;
}

/* ===== 单元格展开/收起功能（CSS + 最小JS实现，性能最优） ===== */

/* 展开/收起容器 */
ice-adaptive-table td .cell-expand-wrapper {
  position: relative;
  padding: 10px 0px;
}

/* 单元格内容容器 */
ice-adaptive-table td .cell-content {
  position: relative;
}

/* 默认折叠状态：限制行数（使用 CSS 变量动态设置，只应用于 markdown 类型字段） */
ice-adaptive-table td .cell-expand-wrapper .cell-content.cell-collapsed {
  /*margin-top: 8px;*/
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--max-lines, 5);
  line-clamp: var(--max-lines, 5);
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: calc(1.5em * var(--max-lines, 5));
  line-height: 1.5em;
  transition: max-height 0.3s ease;
  word-break: break-word;
  white-space: normal;
}

/* 展开状态：移除行数限制 */
ice-adaptive-table td .cell-expand-wrapper.cell-expanded .cell-content {
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  max-height: none;
  overflow: visible;
}

/* 更多链接样式 */
ice-adaptive-table td .cell-more-link {
  display: block;
  margin-top: 10px;
  color: #2e6cf6;
  cursor: pointer;
  font-size: 12px;
  text-decoration: none;
  user-select: none;
  line-height: 1.5em;
}

ice-adaptive-table td .cell-more-link:hover {
  text-decoration: underline;
}

/* 确保 markdown 内容在展开/收起容器中正常显示 */
ice-adaptive-table td .cell-content .markdown-table-cell markdown {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

ice-adaptive-table td .cell-content .markdown-table-cell markdown * {
  display: revert !important;
  white-space: normal !important;
  padding: revert !important;
  line-height: revert !important;
}

ice-adaptive-table td .cell-content .markdown-table-cell markdown h1,
ice-adaptive-table td .cell-content .markdown-table-cell markdown h2,
ice-adaptive-table td .cell-content .markdown-table-cell markdown h3,
ice-adaptive-table td .cell-content .markdown-table-cell markdown h4,
ice-adaptive-table td .cell-content .markdown-table-cell markdown h5,
ice-adaptive-table td .cell-content .markdown-table-cell markdown h6,
ice-adaptive-table td .cell-content .markdown-table-cell markdown p,
ice-adaptive-table td .cell-content .markdown-table-cell markdown div {
  display: block !important;
  padding: revert !important;
  line-height: revert !important;
}

ice-adaptive-table td .cell-content .markdown-table-cell markdown br {
  display: inline !important;
}

/* 照片上传相关样式 */
.ins-expand-photo-container {
  margin-bottom: 25px;
}

.ins-expand-photo-container .ant-upload-select-picture-card {
  width: 104px;
  height: 104px;
}

.ins-expand-photo-container i[nz-icon] {
  font-size: 24px;
  color: #7c8491;
}

.ins-expand-photo-container .ant-upload-text {
  margin-top: 8px;
  color: #7c8491;
}


.ins-expand-info-block .ins-expand-photo-container .clearfix {
  margin-top: 10px !important;
}

.ins-expand-info-block .ins-expand-photo-container .clearfix nz-upload .ant-upload-list-picture-card .ant-upload-list-item {
  height: auto !important;
  width: 600px !important;
  border: 1px solid #4b4b4b !important;
  margin-bottom: 10px !important;
}

.ins-expand-info-block .ins-expand-photo-container .clearfix .ant-upload.ant-upload-select-picture-card {
  border: 1px dashed #4b4b4b;
}

.ins-expand-info-block .ins-expand-photo-container .clearfix .ant-upload.ant-upload-select-picture-card>.ant-upload {
  background-color: #2d3036;
}

/* 关联图片预览和删除按钮间隔设置 */
/* 方法1: 使用 gap 设置按钮之间的间隔（推荐，需要容器是 flex 或 grid） */
.ins-expand-info-block .ins-expand-photo-container .ant-upload-list-picture-card .ant-upload-list-item-actions {
  display: flex;
  gap: 8px;
  /* 设置按钮之间的间隔，可根据需要调整 */
}

/* 方法2: 使用 margin 设置每个按钮的间隔 */
.ins-expand-info-block .ins-expand-photo-container .ant-upload-list-picture-card .ant-upload-list-item-actions>a {
  margin-right: 8px;
  /* 设置按钮之间的间隔 */
}

.ins-expand-info-block .ins-expand-photo-container .ant-upload-list-picture-card .ant-upload-list-item-actions>a:last-child {
  margin-right: 0;
  /* 最后一个按钮不需要右边距 */
}

/* 方法3: 设置按钮内部图标和文字的间隔（如果有文字） */
.ins-expand-info-block .ins-expand-photo-container .ant-upload-list-picture-card .ant-upload-list-item-actions>a>i {
  margin-right: 4px;
  /* 图标和文字之间的间隔 */
}

/* ========== 嵌套子表格样式（单元格内直接展开） ========== */
.table-cell-with-nested {
  vertical-align: middle;
  padding: 8px !important;
}

.table-cell-nested-expanded {
  vertical-align: top;
}

.table-field-nested-container {
  width: 100%;
  min-width: 200px;
  overflow-x: auto;
}

.table-field-nested-container nz-spin .ant-spin-container .ant-table .ant-table-content {
  padding-left: 0px !important;
}

.table-field-nested-container .ant-table-small {
  border: 0px solid #ccc !important;
}

.table-field-nested-container .ant-table-small>.ant-table-content .ant-table-header {
  background-color: transparent !important;
}

.table-field-nested-container .ant-table-small>.ant-table-content>.ant-table-body {
  margin: 0px !important;
  background-color: transparent !important;
}

.table-field-nested-container .ant-table-small .ant-table-tbody>tr td {
  border-bottom: 1px solid #ccc !important;
  background-color: #e6eeff;
}

.table-field-nested-container .ant-table-small {
  border-radius: 0px;
}

.table-field-nested-container .ant-table-small>.ant-table-content>.ant-table-body>table>.ant-table-thead>tr>th {
  border-top: 1px solid #ccc !important;
  border-bottom: 1px solid #ccc !important;
}

.table-field-nested-container .ant-table-small .ant-table-tbody>tr:hover td:first-child {
  border-left: none !important;
}

.table-field-nested-container .ant-table-small .ant-table-tbody>tr:hover td:last-child {
  border-right: none !important;
}

.table-field-nested-header {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  padding: 2px 0px;
  border-radius: 0px;
  transition: background-color 0.2s;
}



.table-field-expand-icon {
  font-size: 10px;
  margin-right: 8px;
  color: #2e6cf6;
  vertical-align: middle;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: 2px;
  transition: background-color 0.2s;
}

.table-field-expand-icon:hover {
  background-color: #e8e8e8;
  position: relative;
  padding: 5px;
}

.table-field-display-text {
  color: #2e6cf6;
  vertical-align: middle;
}

/* 嵌套表格直接在单元格内显示，不使用绝对定位 */
.table-field-nested-table-wrapper {
  margin-top: 8px;
  margin-bottom: 8px;
  width: 100%;
  min-width: 400px;
  max-width: 100%;
  border-radius: 0px;
  background-color: transparent;
  overflow: hidden;
}

.nested-table-container {
  padding: 0;
  background-color: transparent;
  width: 100%;
}

.nested-table-container ::ng-deep .ant-table {
  background-color: transparent;
  font-size: 12px;
  margin: 0;
}

.nested-table-container ::ng-deep .ant-table-thead>tr>th {
  padding: 8px 12px;
  font-size: 12px;
  background-color: #fafafa;
  font-weight: 500;
  border-bottom: 1px solid #e8e8e8;
}

.nested-table-container .ant-table-thead>tr>th .ant-table-header-column div {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nested-table-container ::ng-deep .ant-table-tbody>tr>td {
  padding: 8px 12px;
  font-size: 12px;
  border-bottom: 1px solid #f0f0f0;
}

.nested-table-container ::ng-deep .ant-table-tbody>tr:last-child>td {
  border-bottom: none;
}

.nested-table-empty {
  text-align: center;
  color: #999;
  padding: 20px;
}

/* 确保单元格内容不会溢出 */
.table-cell-with-nested {
  overflow: visible;
  word-wrap: break-word;
}

/* 嵌套表格滚动条样式优化 */
.nested-table-container ::ng-deep .ant-table-body {
  max-height: 300px;
  overflow-y: auto;
}

.nested-table-container ::ng-deep .ant-table-body::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

.nested-table-container ::ng-deep .ant-table-body::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 0px;
}

.nested-table-container ::ng-deep .ant-table-body::-webkit-scrollbar-thumb:hover {
  background-color: #bfbfbf;
}

/* 扩展面板中点击预览按钮后弹出的图片预览模态框大小扩展为2倍 */
.photo-preview-modal.ant-modal-wrap .ant-modal {
  width: 1040px !important;
  max-width: 90vw !important;
}

.photo-preview-modal.ant-modal-wrap .ant-modal-content {
  width: 1040px !important;
  max-width: 90vw !important;
}

.photo-preview-modal.ant-modal-wrap .ant-modal-body {
  max-height: 80vh !important;
  overflow: auto !important;
}

/* 字段复制按钮样式（放在标签区域，复用monaco组件的样式） */
.field-copy-button {
  margin-left: 8px;
  margin-bottom: 3px;
  background: transparent;
  border: none;
  color: #2e6cf6;
  padding: 0;
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  position: relative;
  z-index: 10;
}

.field-copy-button i {
  transition: color 0.3s;
  cursor: pointer;
  position: relative;
  z-index: 11;
}

.field-copy-button i:hover {
  color: #40a9ff;
  font-size: 12px;
}

.relation-filter-section .ant-row div.ant-col-12 {
  width: 50% !important;
}

.relation-path-mode-section .ant-row-flex,
.dydata-default-config-section .ant-row-flex {
  height: 0px !important;
}

.relation-path-result-section .ant-card-head {
  border-bottom: 1px solid #ccc !important;
  padding: 0 12px;
  font-size: 13px !important;
  font-weight: bold !important;
  color: #333 !important;
}

.relation-path-result-section .ant-card-extra {
  color: #333;
  font-size: 12px;
}

.relation-path-result-section .ant-card-body {
  padding: 2px 24px 12px 24px !important;
  min-height: 50px;
}

.relation-path-result-section .ant-card-body .ant-spin-container div:first-child {
  padding: 10px 0px 20px 0px !important;
}

.relation-path-result-section .relation-path-result-count {
  margin-bottom: 12px;
  font-size: 12px;
  color: #333;
}

.relation-path-result-section .relation-path-result-item {
  padding: 8px 12px;
  margin-bottom: 10px;
  background: #f4f5fa !important;
  border-left: 3px solid #7890ff;
  border-right: 1px solid #ccc;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-radius: 4px;
  font-size: 12px;
  color: #333 !important;
  word-break: break-all;
}

.relation-path-result-section .relation-path-result-item-null {
  font-size: 13px;
  padding: 20px;
  text-align: center;
  color: #7c8491;
}

.relation-path-result-section nz-card {
  background: #f4f5fa;
  border: 1px solid #ccc;
}

.photo-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  pointer-events: none;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 4px;
  width: 100%;
  height: 100%;
}

.photo-loading-overlay .ant-spin-nested-loading>div>.ant-spin {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  max-height: 600px;
  top: 0 !important;
  left: 0 !important;
}

.ant-table-footer::before {
  z-index: 20;
}

.task-loading-container {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #ffffff50 !important;
  z-index: 1000;
}

.task-loading-container img {
  display: none;
}

.task-loading-container::after {
  content: '';
  width: 36px;
  height: 36px;
  border: 3px solid rgba(0,0,0,0.1);
  border-top-color: #2e6cf6;
  border-radius: 50%;
  animation: taskSpinRotate 0.7s linear infinite;
}

@keyframes taskSpinRotate {
  to { transform: rotate(360deg); }
}

scene-home .home-row-3 .widget-chart.with-sidebar {
  box-shadow: none;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.help-message-body font {
  color: #fff !important;
}

.help-message-title font {
  color: #fff !important;
}

.ant-drawer-body:has(.help-message-body) .help-message-body font {
  color: #333 !important;
}

.ant-drawer-body:has(.help-message-title) .help-message-title font {
  color: #333 !important;
}

/* 注释掉：旧的「每个图表列加白底 + #ccc 边框 + 18px padding」规则。
   报表子模块改造为 vic-* 风格后，图卡外观由 .vic-report-chart-card 提供，
   此规则会在 col 上再叠一层白底/灰边 → 双层边框、脏留白。详见 PLAN §15.6c。 */
/*
.custom-report-drilled-page-chart>div {
  padding: 10px 18px !important;
  background-color: #fff !important;
  border: 1px solid #ccc !important;
}
*/

/* height: 370px 已移除——旧白色版本固定高度，运行时主题切换后会截断 row>12 的图表；
   高度由图表组件 row*30 动态计算，无需 CSS 限制 */
.custom-report-drilled-page-chart>div.col-md-8,
.custom-report-drilled-page-chart>div.col-md-4 {
  height: auto !important;
}

scene-selfmonitor .custom-report-drilled-page-chart>div {
  padding: 0px 0px !important;
  border: none !important;
}

scene-report-wehotel-inscount .ant-calendar-picker {
  width: 278px !important;
}

.favourite-list ice-adaptive-table .ant-table-title {
  border-left: 1px solid #ccc !important;
  border-right: 1px solid #ccc !important;
}

.favourite-list ice-adaptive-table .ant-table-content {
  border-left: 1px solid #ccc !important;
  border-right: 1px solid #ccc !important;
  border-bottom: 1px solid #ccc !important;
  height: calc(100vh - 170px) !important;
}

scene-selfmonitor .selfmonitor-history nz-table:first-of-type .ant-table-bordered .ant-table-tbody>tr>td {
  padding-top: 0px !important;
}

nz-layout nz-layout nz-content:has(scene-collection) {
  overflow-y: scroll !important;
  margin-right: 20px;
  padding-right: 20px;
}

.ant-card-actions>li:not(:last-child) {
  border-right: 1px solid #ccc !important;
}

.ant-card-actions {
  border-top: 1px solid #ccc !important;
}

.colSearchDisplay .ant-checkbox-wrapper span {
  color: #333 !important;
}

.relation-path-result-section .ant-radio-wrapper span,
.relation-path-result-section .ant-checkbox-wrapper span {
  color: #fff;
}

.catalogue-expand-collapse-button {
  background-color: #fff;
  width: 36px;
}

.catalogue-expand-collapse-button i {
  color: #333;
}

ice-catalogue .ant-divider-dashed {
  border-top: 1.5px dashed #ccc;
}

.ant-dropdown-trigger.ant-btn,
.ant-select-selection,
input:not(.input-lg) {
  font-family: inherit !important;
}

.ant-layout.ant-layout-has-sider>.ant-layout-content:has(scene-report) {
  overflow-y: auto !important;
}

.ant-tabs-nav .ant-tabs-tab-active {
  font-weight: bold !important;
}

ice-instance-editor .button-group {
  padding-left: 0px !important;
}

.show-resource-component ice-resource-instance .resize-bar {
  display: none !important;
}

.show-resource-component ice-resource-instance ice-adaptive-table nz-table .ant-table {
  margin-top: 0px !important;
  border-left: 1px solid #ccc;
}

.resource-dropdown .ant-select-selection .ant-select-selection__rendered .ant-select-selection__placeholder {
  padding-top: 0px;
}

.catalogue-search .btn.btn-inverse:hover {
  background-color: #2e6cf6;
}

.catalogue-search .btn.btn-inverse:hover i {
  color: #fff;
}

.catalogue-expand-collapse-button:hover i {
  color: #fff;
}

.catalogue-expand-collapse-button:hover {
  width: 36px;
}

.tableColumnsDisplay-title {
  font-weight: bold;
}

.app-search-tip.pull-right {
  margin-top: 1.5px;
}

.ant-drawer-content-wrapper.log-details .ant-table-title {
  border-top: none !important;
  padding-top: 5px;
}

.ant-drawer-body .ant-form-item:has(.dis-log-detail-event) {
  padding-top: 0px;
}

.taskparams-table .ant-table-tbody>tr>td:first-child {
  font-weight: bold;
}

ice-resource-model .ant-layout.ant-layout-has-sider>.ant-layout {
  margin-left: 15px !important;
}

config-component ice-dynamic-form .ant-col-12 {
  height: 90px;
}

config-component .ant-form-vertical .ant-form-item {
  padding-bottom: 20px !important;
}


.confirmed-path-section .ant-card {
  background: #f4f5fa;
}

.confirmed-path-section .ant-card-head {
  border-bottom: 1px solid #ccc !important;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: bold !important;
  padding: 0 12px;
}

.confirmed-path-section .ant-card-bordered {
  border: 1px solid #ccc !important;
}

.confirmed-path-section .ant-card-body {
  color: #333;
  font-weight: 500;
  padding: 10px 24px;
  font-size: 12px !important;
}

.relation-path-result-section .ant-card-head-title,
.confirmed-path-section .ant-card-head-title {
  padding: 10px 0px !important;
}

.relation-path-result-section .ant-card-extra,
.confirmed-path-section .ant-card-extra {
  padding: 10px 0px !important;
}

.relation-path-result-section .ant-radio-wrapper span {
  color: #333;
}

.relation-path-result-section .ant-radio-group {
  line-height: inherit;
  width: 100%;
}

.relation-path-result-section .ant-radio-group label {
  white-space: normal;
  line-height: inherit !important;
}

.relation-path-result-section .ant-radio-group label .ant-radio+span span:first-child {
  color: #333 !important;
}

.relation-path-result-section .ant-radio-group label .ant-radio+span span:first-child+span>span {
  color: #354052 !important;
}

.confirmed-path-section .ant-card-body>div>span:first-child {
  color: #333 !important;
}

.confirmed-path-section .ant-card-body>div>span:first-child+span>span {
  color: #354052 !important;
}

.code-released-full-path .ant-select-selection--multiple .ant-select-selection__choice {
  max-width: 100% !important;
}

.info-before-table+nz-table .ant-table-tbody>tr>td {
  text-overflow: inherit !important;
}

.info-before-table+nz-table .ant-table-tbody>tr>td .ant-input-number {
  width: 45px !important;
}

.info-before-table+nz-table .ant-table-tbody>tr>td ice-select .ant-dropdown-trigger.ant-btn {
  top: 0px !important;
  height: 34px !important;
}

.filter-preview-modal .ant-spin-nested-loading .ant-spin {
  background-color: #fff !important;
  border-radius: 0px;
}

/* .smart-search-panel 旧规则已移除：所有高级搜索面板已统一改用 .vic-analysis-panel + .vic-smart-search-panel 样式 */

ice-adaptive-table td .markdown-table-cell * {
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
  font-size: inherit !important;
  color: inherit !important;
  background: inherit !important;
  overflow: visible !important;
  text-overflow: inherit !important;
}

nz-sider .ant-menu-item-selected,
nz-sider .ant-menu-item-selected .sub-menu-title {
  font-weight: bold !important;
}

.ant-tree li ul {
  padding: 0 0 0 12px !important;
}

/* 动态调整抽屉位置：避开 AI 侧栏  .drawer-open:has(ice-root > nz-layout .ai-sider-panel)  */
.ant-drawer-right.ant-drawer-open .ant-drawer-content-wrapper {
  right: var(--ai-sider-offset, 0px) !important;
  width: calc((100% - var(--ai-sider-offset, 0px)) * 0.5);
  /* 核心修改：确保最大宽度不会超过剩余可见区域，解决 100% 宽度溢出左边界问题 */
  max-width: calc(100% - var(--ai-sider-offset, 0px)) !important;
  transition: right 0.2s ease-out, max-width 0.2s ease-out !important;
}

/* 同样偏移遮罩层，确保 AI 侧栏区域不被遮罩覆盖（可点击交互） */
.ant-drawer-right.ant-drawer-open .ant-drawer-mask {
  right: var(--ai-sider-offset, 0px) !important;
  transition: right 0.2s ease-out !important;
}

/* 左侧抽屉(Monaco编辑器AI功能)也需要避开 AI 侧栏  .drawer-open:has(ice-root > nz-layout .ai-sider-panel)  */
.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper {
  /* 左侧抽屉从右侧缩进,为AI侧栏留出空间 */
  left: 0px !important;
  width: calc((100% - var(--ai-sider-offset, 0px)) * 0.5);
  /* 确保最大宽度不会超过剩余可见区域 */
  max-width: calc(100% - var(--ai-sider-offset, 0px)) !important;
  transition: left 0.2s ease-out, max-width 0.2s ease-out !important;
}

/* 左侧抽屉遮罩层也需要偏移 */
.ant-drawer-left.ant-drawer-open .ant-drawer-mask {
  left: 0px !important;
  transition: left 0.2s ease-out !important;
}

/* 推送更新时的渐变背景动画：从紫色渐变回默认颜色 */
.ai-transfer-arrow.selection-updated {
  animation: push-feedback 2s cubic-bezier(0.25, 0.1, 0.25, 1);
}

@keyframes push-feedback {
  0% {
    background: #4e46dc;
    /* 初始紫色提示 */
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 0 15px rgba(78, 70, 220, 0.6);
  }

  30% {
    background: #4e46dc;
  }

  100% {
    background: #2c303690;
    /* 渐变回默认深色背景 */
    transform: translateY(-50%) scale(1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  }
}

/* 当打开右侧抽屉时，降低全局覆盖层的 z-index (默认1000)，让 AI 侧栏 (950) 能盖在抽屉上面 */
body.drawer-open .cdk-overlay-container {
  z-index: 900 !important;
}


/* Mermaid 图表容器增强 */
.mermaid-container {
  margin: 1.5rem 0;
  /*padding: 1rem;*/
  padding: 50px 5px 0px 3px;
  /*background: rgba(46, 52, 64, 0.4);*/
  background: #1f1f1f;
  /* 磨砂暗色背景 */
  /*border: 1px solid rgba(136, 192, 208, 0.3);*/
  border: 1px solid #454545;
  /* 浅蓝色半透明边框 */
  border-radius: 4px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(4px);
  position: relative;
  transition: all 0.3s ease;
}

.mermaid-container .edge-thickness-normal {
  stroke-width: 1.5px !important;
}

.mermaid-container:hover {
  border-color: rgba(136, 192, 208, 0.6);
  box-shadow: 0 6px 20px rgba(136, 192, 208, 0.15);
}

.ai-chat-chart-container:hover {
  border-color: rgba(136, 192, 208, 0.6);
  box-shadow: 0 6px 20px rgba(136, 192, 208, 0.15);
}

/* 工具栏样式优化 */
.mermaid-toolbar {
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  gap: 6px;
  z-index: 10;
  opacity: 0.6;
  transition: opacity 0.3s;
}

.mermaid-container:hover .mermaid-toolbar {
  opacity: 1;
}

.mermaid-toolbar button {
  background: rgba(59, 66, 82, 0.8);
  border: 1px solid rgba(136, 192, 208, 0.4);
  color: #a6ebff;
  font-weight: bold;
  padding: 2px 10px;
  border-radius: 6px;
  font-size: 11px;
  cursor: pointer;
  align-items: center;
  gap: 4px;
}

.mermaid-toolbar button:hover {
  background: #a6ebff;
  color: #2e3440;
}

/* 强制 SVG 显示 */
.mermaid-diagram {
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 80px;
  /* 确保有高度 */
  width: 100%;
  overflow-x: auto;
}

.mermaid-diagram svg {
  max-width: 100% !important;
  height: auto !important;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

/* 节点配色方案 (Nord 风格) */
.mermaid-diagram .node rect,
.mermaid-diagram .node circle,
.mermaid-diagram .node ellipse,
.mermaid-diagram .node polygon,
.mermaid-diagram .node path {
  fill: #181818 !important;
  /* 明亮的北极蓝 */
  stroke: #eceff4 !important;
  stroke-width: 1px !important;
}

.mermaid-diagram .nodeLabel,
.mermaid-diagram .flowchart-label {
  color: #e3e2e2 !important;
  /* 深色文字在亮色节点上 */
  fill: #181818 !important;
  font-weight: 500 !important;
}

.mermaid-diagram .flowchart-link {
  stroke: #d8dee9 !important;
  stroke-width: 1.5px !important;
}

.mermaid-diagram .marker {
  fill: #d8dee9 !important;
  stroke: #d8dee9 !important;
}

/* 错误状态样式 */
.mermaid-error-container {
  padding: 20px;
  text-align: center;
  background: rgba(191, 97, 106, 0.1);
  border: 1px solid rgba(191, 97, 106, 0.3);
  border-radius: 8px;
  color: #bf616a;
}

.mermaid-error-header {
  font-weight: bold;
  margin-bottom: 10px;
}

.mermaid-error-code {
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 12px;
  background: rgba(0, 0, 0, 0.2);
  padding: 10px;
  border-radius: 4px;
  text-align: left;
  overflow-x: auto;
}

.mermaid-error-hint {
  margin-top: 10px;
  font-size: 12px;
  opacity: 0.9;
}

.editor-title-bar {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  display: flex;
}


/* 附件预览浮层：绝对定位在 input-area 上方（input-area 已有 position:relative） */
.pending-attachments-container {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  z-index: 1050;
  padding-bottom: 4px;
}

/* 文件列表区域 */
.pending-files-section {
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  padding: 6px 10px;
  margin-bottom: 4px;
  opacity: 0.95;
}

/* 图片缩略图区域 */
.pending-images-section {
  display: flex;
  gap: 8px;
  padding: 8px;
  border-radius: 4px;
  border: 1px solid #d9d9d9;
  background: #fff;
  min-height: 0;
}

.pending-image-item {
  position: relative;
  display: inline-block;
}

.pending-image-item img {
  width: 50px;
  height: 50px;
  border-radius: 4px;
  border: 1px solid #d9d9d9;
  object-fit: cover;
  vertical-align: middle;
}

.pending-image-item .fa-times {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  /*background: #ff4d4f;*/
  color: #ccc;
  border-radius: 50%;
  cursor: pointer;
  font-size: 12px;
}

/* 侧栏用户消息中的图片 */
.message-images {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.message-images img {
  max-width: 200px;
  max-height: 200px;
  border-radius: 4px;
  border: 1px solid #d9d9d9;
  object-fit: cover;
}

.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper:has(.ai-drawer-container) {
  width: 100% !important;
}

/* 隐藏ai回复消息列表中的复选框 */
.ai-chat-panel .message-list input[type=checkbox]:before {
  display: none !important;
}

.ai-sider-panel .ai-assistant-service-sider {
  overflow-y: auto !important;
}

scene-resourcessearchrack .ant-card-body span {
  z-index: 100 !important;
}


/* ============================================
   动态表单字段错位修复样式
   解决前序字段显示格式校验提示后，后序字段栏位错位的问题
   ============================================ */

/* 为表单控件容器设置相对定位，为错误提示的绝对定位提供参考 */
ice-dynamic-form nz-form-control,
ice-instance-editor ice-dynamic-form nz-form-control {
  position: relative;
  padding-bottom: 4px;
  /* 为错误提示预留空间 */
}

/* 修复 Chrome 在不同 OS DPI 缩放下 line-height:1.5 × font-size:14px 亚像素舍入差异导致高度超过 34px 引起字段错位 */
ice-instance-editor ice-dynamic-form .ant-form-item-control:has(ice-select-tag){
  /* 原 height:34px 把控件区锁死，导致多选(iceSelect)标签超过一行时容器无法长高、
     内容溢出压到下方字段。改为 min-height，单行仍 34px 对齐(保留原 DPI 缩放修复意图)，
     标签多时自动撑高。 */
  min-height: 34px;
}
/* ice-select-tag 宿主默认 display:inline，不向父级贡献块高度，多选标签撑高时父容器
   (form-control/col/row)感知不到真实高度而溢出。改为 block 让高度正常传递撑开行。 */
ice-dynamic-form ice-select-tag {
  display: block;
}

/* 将错误提示设置为绝对定位，使其不影响文档流，避免导致后续字段错位 */
ice-dynamic-form nz-form-explain,
ice-instance-editor ice-dynamic-form nz-form-explain {
  position: absolute;
  top: 100%;
  left: 0;
  /*margin-top: 10px !important;*/
  z-index: 1;
}

/* ============================================
   ice-time-picker 日期选择器校验错误红框样式
   与其他表单组件保持一致的校验样式
   ============================================ */

/* 当 has-error 类存在时，显示红框 */
.ice-time-picker.has-error .ant-calendar-picker-input,
.ice-time-picker.has-error .ant-input,
.ice-time-picker.has-error input {
  border-color: #f5222d !important;
  border: 1px solid #f5222d !important;
}

/* 针对 ng-zorro 8.x+ 版本的选择器 */
.ice-time-picker.has-error .ant-picker-input>input {
  border-color: #f5222d !important;
}

.ice-time-picker.has-error .ant-picker {
  border-color: #f5222d !important;
}

/* ============================================
   路径算法选择器样式
   ============================================ */
.path-algorithm-select {
  width: 120px !important;
  min-width: 120px;
}

.path-algorithm-select .ant-select-selection {
  background-color: #fff !important;
  border-color: #ccc !important;
  color: #333 !important;
}

.path-algorithm-select .ant-select-selection:hover {
  border-color: #2e6cf6 !important;
}

.path-algorithm-select .ant-select-arrow {
  color: #7c8491 !important;
}

/* ============================================
   交换源和目标的图标样式
   ============================================ */
.swap-icon-container {
  position: absolute;
  left: calc(50% - 11px);
  top: calc(50% + 8px);
  transform: translateY(-50%);
  z-index: 9999;
  cursor: pointer;
  width: 22.2px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  transition: all 0.3s ease;
}

.swap-icon-container:hover {
  background-color: #2e6cf6;
  border-color: #2e6cf6;
  transform: translateY(-50%) scale(1.1);
}

.swap-icon {
  font-size: 14px;
  color: #7c8491;
  transform: rotate(90deg);
  transition: color 0.3s ease;
}

.swap-icon-container:hover .swap-icon {
  color: #fff;
}

.federation-restful-editor1 .ant-divider-horizontal.ant-divider-with-text{
  margin: 12px 0 15px;
}

.federation-restful-editor2 .ant-divider-horizontal.ant-divider-with-text{
  margin: 12px 0 15px;
}

ice-component-monaco-editor .editor-title .ant-select-selection__rendered .ant-select-selection__placeholder{
  margin-top: -15px;
}

/* ========== drawer打开时，弹出层避开 AI 侧栏(利用已有 --ai-sider-offset 变量) ========== */

/* confirm/modal 对话框：收缩可用区域，使居中位置避开 AI 侧栏 */
body.drawer-open .ant-modal-wrap {
  right: var(--ai-sider-offset, 0px) !important;
  z-index: 900 !important;
}
body.drawer-open .ant-modal-mask{
  z-index: 890 !important;
}
/* nz-select 下拉面板：限制最大宽度不超出可见区域 */
body.drawer-open .cdk-overlay-pane:has(.ant-dropdown-menu) {
  max-width: calc(100% - var(--ai-sider-offset, 0px)) !important;
}

/* notification 提示：向左偏移避开 AI 侧栏 */
body.drawer-open .ant-notification {
  right: calc(var(--ai-sider-offset, 0px) - 10px) !important;
}

.editor-botton-dropdown-menu .ant-dropdown-menu-item:hover{
  background-color: #2e6cf6 !important;
}

/* tooltip 警告图标样式（渲染在 cdk-overlay-container 全局 overlay 中） */
.tooltip-warning-icon.anticon {
  color: #faad14 !important;
  margin-right: 4px;
}

/* 发送按钮切换为取消对话状态 */
.action-button.cancel-active {
  background-color: #ff4d4f !important;
  border-color: #ff4d4f !important;
  color: #fff !important;
  cursor: pointer;
}
.action-button.cancel-active:hover {
  background-color: #ff7875 !important;
  border-color: #ff7875 !important;
}

.ant-spin-container::after{
  background-color: transparent !important;
}

/* 阻止编辑器内滚动冒泡到外层容器 */
.code-released-full-path ~ nz-form-item .monaco-editor .overflow-guard{
  overscroll-behavior: contain;
}

/* ============================================================
   AI Steps - 点线风格操作步骤展示 (Claude Code style)
   用于 AI 对话中展示 MCP tool 调用、读写操作等过程
   ============================================================ */
.ai-steps {
  padding: 4px 0 2px 0;
  margin: 6px 0;
}

.ai-step {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  position: relative;
  padding: 3px 0 10px 18px;
  min-height: 22px;
}

/* 圆点 - 默认灰色（进行中之前的状态） */
.ai-step-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #555;
  position: absolute;
  left: 2px;
  top: 7px;
  z-index: 2;
  flex-shrink: 0;
  transition: background 0.3s ease;
}

/* 竖线连接符 */
.ai-step-line {
  position: absolute;
  left: 5px;
  top: 15px;
  bottom: -3px;
  width: 2px;
  background: #383838;
}

/* 最后一个步骤不显示竖线 */
.ai-step:last-child .ai-step-line {
  display: none;
}

/* 成功状态 - 绿色圆点 */
.ai-step.done .ai-step-dot {
  background: #4ade80;
  box-shadow: 0 0 4px rgba(74, 222, 128, 0.3);
}

/* 失败状态 - 红色圆点 */
.ai-step.error .ai-step-dot {
  background: #f87171;
  box-shadow: 0 0 4px rgba(248, 113, 113, 0.3);
}

/* Loading 状态 - 旋转动画 */
.ai-step.loading .ai-step-dot {
  background: transparent;
  border: 2px solid #555;
  border-top-color: #7890ff;
  width: 10px;
  height: 10px;
  left: 1px;
  top: 6px;
  animation: ai-step-spin 0.8s linear infinite;
}

@keyframes ai-step-spin {
  to { transform: rotate(360deg); }
}

/* 操作类型徽章 */
.ai-step-badge {
  display: inline-block;
  padding: 0 6px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 600;
  line-height: 18px;
  margin-right: 6px;
  flex-shrink: 0;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}

/* Read - 绿色系 */
.ai-step-badge.read {
  background: #1a2e1a;
  color: #60a5fa;
  border: 1px solid #2a3a50;
}

/* Edit / Write - 橙色系 */
.ai-step-badge.edit {
  background: #2e221a;
  color: #fb923c;
  border: 1px solid #4a3a2a;
}

/* Tools - 蓝色系 */
.ai-step-badge.tools {
  background: #1a2230;
  color: #e3e2e2;
  border: 1px solid #2a3a50;
}

/* Job / Task - 紫色系 */
.ai-step-badge.job {
  background: #261a30;
  color: #c084fc;
  border: 1px solid #3a2a4a;
}
.ai-step-badge.delete {
  background: #2e1a1a;
  color: #f87171;
  border: 1px solid #4a2a2a;
}

/* 对象描述文字 */
.ai-step-obj {
  display: flex;
  margin-bottom: 5px;
  color: #b0b0b0;
  font-size: 12px;
  line-height: 18px;
  word-break: break-all;
  flex: 1;
  min-width: 0;
}

/* 对象中的高亮标识 */
.ai-step-obj code {
  background: transparent !important;
  color: #333 !important;
  font-size: 11px !important;
  padding: 0 !important;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}

/* 可展开详情 - 内联箭头 */
.ai-step-toggle {
  display: inline-block;
  cursor: pointer;
  margin-left: 4px;
  user-select: none;
  vertical-align: middle;
}

.ai-step-toggle::before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 5px solid #999;
  border-top: 3.5px solid transparent;
  border-bottom: 3.5px solid transparent;
  transition: transform 0.2s ease;
}
.ai-step-toggle.open::before {
  transform: rotate(90deg);
}

.ai-step-hidden {
  display: none !important;
}

/*
.ai-step-details-content {
  width: 100%;
  margin: 4px 0 4px 0;
  padding: 6px 10px;
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  max-height: 300px;
  overflow-y: auto;
}*/

.ai-step-details-content {
width: 100%;
margin: 4px 0;
padding: 6px 10px;
background: #1a1a1a;
border: 1px solid #333;
border-radius: 4px;
max-height: 300px;
overflow-y: auto;
}
.ai-step-detail-section {
  margin-bottom: 6px;
}

.ai-step-detail-section:last-child {
  margin-bottom: 0;
}

.ai-step-detail-label {
  display: block;
  font-size: 10px;
  font-weight: 600;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}
/*
.ai-step-detail-pre {
  margin: 0 !important;
  padding: 4px 6px !important;
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 3px !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  color: #333 !important;
  white-space: pre-wrap !important;
  word-break: break-all !important;
  max-height: 200px;
  overflow-y: auto;
}*/

.ai-step-detail-pre {
    margin: 0 !important;
    padding: 4px 6px !important;
    background: #111 !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 3px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    color: #ccc !important;
    white-space: pre-wrap !important;
    word-break: break-all !important;
    max-height: 200px;
    overflow-y: auto;
  }
.ai-step.loading{
  width: auto !important;
  height: auto !important;
  background: none !important;
  z-index:10;
}

/* 耗时指标 - 右对齐显示在 step 行末 */
.ai-step-metrics {
  flex-shrink: 0;
  margin-left: auto;
  padding-left: 12px;
  font-size: 11px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  color: #999;
  line-height: 18px;
  white-space: nowrap;
}

.ai-step.done .ai-step-metrics {
  color: #b0b0b0;
}

.ai-step.error .ai-step-metrics {
  color: #b85555;
}

/* 汇总行 - steps 容器底部 */
.ai-step-summary {
  padding: 2px 0 0 18px;
  font-size: 11px;
  color: #aaa;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  text-align: right;
}

/* 节点追踪 - message-time 右侧展开箭头 */
.node-trace-toggle {
  display: inline-block;
  cursor: pointer;
  margin-left: 6px;
  user-select: none;
  vertical-align: middle;
}
.node-trace-toggle::before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 5px solid #999;
  border-top: 3.5px solid transparent;
  border-bottom: 3.5px solid transparent;
  transition: transform 0.2s ease;
}
.node-trace-toggle.open::before {
  transform: rotate(90deg);
}
/* 节点追踪面板 */
.node-trace-panel {
  margin: 4px 0 2px 0;
  padding: 4px 8px;
  border-radius: 4px;
  background: rgba(0,0,0,0.03);
  font-size: 12px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.node-trace-row {
  display: flex;
  align-items: center;
  padding: 2px 0;
}
.node-trace-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 8px;
  flex-shrink: 0;
}
.node-trace-dot.ok { background: #52c41a; }
.node-trace-dot.fail { background: #f5222d; }
.node-trace-title {
  flex: 1;
  color: #555;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.node-trace-metrics {
  color: #999;
  margin-left: 12px;
  white-space: nowrap;
}

/* ========== file-table component styles (light theme) ========== */
.file-table-container {
  width: 100%;
}
ice-file-table .ant-table-small>.ant-table-title{
  border-bottom: none !important;
}
ice-file-table .file-table-upload-btn {
  display: inline-block;
}
ice-file-table .ant-table-title {
  padding: 0px 8px 8px 0px !important;
}

ice-file-table .ant-table-small>.ant-table-title{
  border-bottom: none !important;
}

ice-file-table .ant-table-title .button-group button {
  font-size: 12px;
}
ice-file-table .ant-table-title .button-group button i{
  color: #333 !important;
}
ice-file-table .ant-table-title .button-group button:hover i{
  color: #fff !important;
}
ice-file-table .button-group .ant-col-6 .ant-row{
  width: 100% !important;
}
ice-file-table .ant-table-tbody > tr > td {
  padding: 4px 8px;
  font-size: 12px;
}
ice-file-table .ant-table-thead > tr > th {
  padding: 6px 8px;
  font-size: 12px;
  background: #fafafa;
}
ice-file-table .ant-table-tbody > tr:hover > td {
  background: #e6f7ff;
}
ice-file-table .ant-table-tbody > tr.file-table-row-selected > td {
  background: #bae7ff;
}
.file-table-icon {
  margin-right: 8px;
  font-size: 13px;
  vertical-align: middle;
  color: #333;
}

.file-table-name-link {
  color: #2e6cf6;
  cursor: pointer;
  word-break: break-all;
}
.file-table-name-link:hover {
  color: #40a9ff;
  text-decoration: underline;
}
.file-table-time-cell {
  color: #999;
  font-size: 12px;
}
.file-table-action-cell a {
  color: #2e6cf6;
  font-size: 14px;
}
.file-table-action-cell a:hover {
  color: #40a9ff;
}

.file-table-action-cell a i.anticon{
  color: #333 !important;
}

.file-table-action-cell a i.anticon:hover{
  color: #2e6cf6 !important;
}

.file-table-action-cell nz-divider{
  height: 0.8em !important;
  background-color: #7c8491 !important;
}

ice-file-table .ant-table-pagination.ant-pagination {
  margin: 8px 0;
}
ice-file-table .ant-table-pagination.mini .ant-pagination-total-text {
  height: 24px;
  line-height: 24px;
}
ice-file-table .ant-table-pagination.mini .ant-pagination-item {
  font-size: 12px;
  height: 24px;
  line-height: 24px;
  border-radius: 0px;
  margin-right: 8px;
  min-width: 32px;
}
ice-file-table .ant-table-pagination.mini .ant-pagination-prev,
ice-file-table .ant-table-pagination.mini .ant-pagination-next {
  min-width: 52px;
  height: 24px;
  line-height: 24px;
  border-radius: 0px;
  margin-right: 8px;
}
ice-file-table .ant-table-pagination.mini .ant-pagination-prev .ant-pagination-item-link,
ice-file-table .ant-table-pagination.mini .ant-pagination-next .ant-pagination-item-link {
  background: transparent;
  border: none;
}
.file-table-action-th {
  background: #fafafa !important;
}

ice-file-table .ant-table-small{
  border: none !important;
}

ice-file-table .ant-table-small>.ant-table-content>.ant-table-scroll>.ant-table-header>table>.ant-table-thead>tr>th{
  border-bottom: none !important;
  color: #333;
}

ice-file-table .ant-table-small>.ant-table-content>.ant-table-scroll>.ant-table-body>table>.ant-table-tbody>tr>td{
  color: #333;
  font-weight: 400;
  padding: 0px 8px !important;
}

ice-file-table .ant-dropdown-trigger.ant-btn{
  color: #333 !important;
  font-weight: 400;
  top: -0.1px !important;
}

ice-file-table  .ant-table-fixed-header .ant-table-scroll .ant-table-header{
  margin-right: 8px !important;
}

ice-file-table .ant-pagination-options{
  display: inline-block !important;
  margin-left: 10px !important;
  vertical-align: middle !important;
}
.file-table-uploader-cell {
  color: #666;
  font-size: 12px;
}
.file-table-extra-cell {
  color: #555;
  font-size: 12px;
}
.file-table-editable-cell {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}
.file-table-edit-icon {
  margin-left: 8px;
  font-size: 11px;
  opacity: 0;
  transition: opacity 0.2s;
}
.file-table-editable-cell:hover .file-table-edit-icon {
  opacity: 0.6;
}
ice-file-table .file-table-extra-cell input.ant-input-sm {
  font-size: 12px;
  padding: 1px 4px;
}
ice-file-table .file-table-extra-cell .ant-select-sm .ant-select-selection {
  font-size: 12px;
}

ice-file-table .ant-table-small>.ant-table-content>.ant-table-scroll>.ant-table-body>table>.ant-table-tbody>tr>td.file-table-review-approved {
  background-color: #f6ffed !important;
  color: #389e0d !important;
  font-weight: 500;
}
ice-file-table .ant-table-small>.ant-table-content>.ant-table-scroll>.ant-table-body>table>.ant-table-tbody>tr>td.file-table-review-rejected {
  background-color: #fff1f0 !important;
  color: #cf1322 !important;
  font-weight: 500;
}
ice-file-table .ant-table-small>.ant-table-content>.ant-table-scroll>.ant-table-body>table>.ant-table-tbody>tr>td.file-table-review-pending {
  color: #d48806 !important;
  font-weight: 500;
}

/* 文件附件项样式（AI侧栏 - 文件预览区域） */
.pending-file-item {
  display: flex;
  align-items: center;
  font-size: 12px;
  color: #333;
  line-height: 22px;
}
.pending-file-link {
  color: #2e6cf6;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 300px;
}
.pending-file-link:hover {
  text-decoration: underline;
}
.uploading-text {
  color: #999;
  font-style: italic;
}

.pending-file-item .fa-times {
  color: #ccc !important;
}

/* 拖拽文件悬停时遮罩层 */
.ai-sider-content,
.ai-chat-panel {
  position: relative;
}
.drag-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.5), rgba(79, 70, 229, 0.45));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: bolder;
  color: #fff;
  z-index: 1060;
  pointer-events: none;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}
.drag-active > .drag-overlay {
  opacity: 1;
  visibility: visible;
}

/* AI 字段更新高亮动画 */
@keyframes ai-field-update-pulse {
  0% { box-shadow: 0 0 0 0 rgba(82, 196, 26, 0.5); }
  40% { box-shadow: 0 0 8px 2px rgba(82, 196, 26, 0.3); }
  100% { box-shadow: 0 0 0 0 rgba(82, 196, 26, 0); }
}

[data-field-key].ai-field-updated {
  animation: ai-field-update-pulse 3s ease-out;
  border-radius: 4px;
}

.file-table-review-cell .ant-select-sm .ant-select-selection--single{
  color: #333 !important;
  border-color: transparent !important;
}

.file-table-review-cell .ant-select-sm .ant-select-selection--single .ant-select-selection-selected-value{
  color: #333 !important;
}

/* 菜单项 badge 数量角标 */
nz-sider .ant-menu-item {
  display: flex !important;
  align-items: center;
  overflow: hidden;
}
nz-sider .menu-item-badge-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
}
nz-sider .menu-item-badge-wrap .menu-item-label {
  display: inline-flex;
  align-items: center;
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
}
nz-sider .menu-badge-count {
  background-color: #9966ff;
  color: #fff;
  font-size: 11px;
  line-height: 18px;
  height: 18px;
  min-width: 18px;
  padding: 0 6px;
  border-radius: 10px;
  text-align: center;
  white-space: nowrap;
  flex-shrink: 0;
}

/* 侧栏收起按钮移到外侧 */
.collapse-app-handler {
  position: fixed !important;
  right: auto !important;
  line-height: 50px;
  border-radius: 0 4px 4px 0 !important;
  z-index: 10;
}

.ant-drawer-body:has(.job-running-timeline){
  height: calc(100% - 70px) !important;
}

/* AI 思考中旋转图标 */
.loading-indicator .ai-thinking-icon {
  display: inline-flex;
  margin-right: 10px;
  margin-bottom: 5px;
  vertical-align: middle;
}
.loading-indicator .ai-thinking-icon .ant-spin {
  display: inline-flex;
}
.loading-indicator .ai-thinking-icon .ant-spin-dot {
  width: 12px;
  height: 12px;
  font-size: 16px;
}

.loading-indicator .ai-thinking-icon .ant-spin-dot .ant-spin-dot-item{
  background-color: #7890ff;
}
/*
ice-instance-editor input:not(.input-lg),
ice-instance-editor textarea.ant-input,
ice-instance-editor .ant-select-selection--multiple,
ice-instance-editor .ant-select-selection--single,
.task-define-page input:not(.input-lg),
.task-define-page textarea.ant-input,
.task-define-page .ant-select-selection--single,
.task-define-page .ant-select-selection--multiple{
  background-color: #eff2f8 !important;
  border-radius: 4px !important;
}
*/
input:not(.input-lg),
textarea.ant-input,
.ant-select-selection--multiple,
.ant-select-selection--single{
  background-color: #eff2f8 !important;
  border-radius: 4px !important;
}

ice-instance-editor .ant-select-selection--multiple .ant-select-search--inline .ant-select-search__field{
  background-color: transparent !important;
}

.ant-select-selection--multiple .ant-select-selection__choice{
  background-color: #fff !important;
  /*
  border-color: #ccc !important;
  color: #354052 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  */
}

ice-instance-editor .paragraph-edit-textarea{
  background-color: #eff2f8 !important;
  border-color: #ccc !important;
  color: #354052 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.ant-form-item-label>label{
  color: #676f83 !important;
}

.ant-select-search--inline .ant-select-search__field{
  background-color: transparent !important;
}

.ant-table-small,.ant-table-small.ant-table-bordered .ant-table-content{
  border: none !important;
}

nz-input-number input:not(.input-lg){
  height: 32px !important;
}

/* ====== 修复：冻结列 hover 时 border-top/border-bottom 间歇性丢失 ======
 * 根因：border-collapse:collapse 下共享 border 画在 table 统一层，
 * 被 sticky td (z-index:10) 的不透明背景遮盖。
 * 修复：将 ice-adaptive-table 的表格改为 border-collapse:separate，
 * 每个 td 的 border 独立绘制在自身 layer 上，不会被背景遮盖。
 * border-spacing:0 保证视觉无间隙。原有 hover border 规则继续生效。
 * ====================================================================== */

ice-adaptive-table .ant-table table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* ============================================
   nz-input-number 校验错误样式修复
   问题1：nz-input-number 校验失败时无红框
   根因：theme-white.css 中 .ant-input-number { border-color: #474747 !important }
        覆盖了 ng-zorro 自带的 .has-error .ant-input-number { border-color: #f5222d }
   问题2：实例编辑器中 nz-input-number 的校验信息定位与 nz-select 等不一致
   根因：nz-input-number 默认 display: inline-block，导致 .ant-form-item-control
        的高度计算与 display:block 的 nz-select 不同，top:100% 位置偏移
   ============================================ */
.has-error .ant-input-number,
.has-error .ant-input-number:hover {
  border-color: #f5222d !important;
  border: 1px solid #f5222d !important;
}

.has-error .ant-input-number:focus,
.has-error .ant-input-number-focused {
  border-color: #ff4d4f !important;
  box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2) !important;
}

ice-instance-editor nz-input-number+.ant-form-explain .ng-trigger-helpMotion,
ice-dynamic-form nz-input-number+.ant-form-explain .ng-trigger-helpMotion {
  margin-top: 15px !important;
}

.taskparams-table ice-component-monaco-editor .editor-title nz-select{
  margin-top: 5px !important;
}

nz-header{
  padding: 0 25px 0 0px !important;
}

nz-header .ant-scroll-number-only>p{
  margin-top: -0.5px;
  font-weight: bolder;
  font-size: 14px;
  color: #000;
}

/* Home Welcome Banner */
.home-welcome-banner {
  position: relative;
  padding: 20px 24px 20px;
  margin-bottom: 27px;
  background:
    radial-gradient(circle 55px at 62% 30%, rgba(46, 108, 246, 0.22) 0%, transparent 100%),
    radial-gradient(circle 53px at 72% 78%, rgba(60, 130, 220, 0.30) 0%, transparent 100%),
    radial-gradient(circle 50px at 82% 52%, rgba(56, 100, 210, 0.28) 0%, transparent 100%),
    radial-gradient(circle 35px at 91% 18%, rgba(80, 140, 246, 0.26) 0%, transparent 100%),
    radial-gradient(circle 70px at 100% 82%, rgba(30, 80, 180, 0.36) 0%, transparent 100%),

    linear-gradient(135deg, #f5f7ff 0%, #eaedfa 60%, #dde3f5 100%);
  border-radius: 4px;
  border: 1px solid #d0d5e8;
  overflow: hidden;
}
.home-welcome-title {
  position: relative;
  font-size: 20px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 6px;
}
.home-welcome-slogan {
  position: relative;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
}

/* Home Chart Legend */
.home-chart-legend {
  text-align: center;
  padding: 6px 0;
  margin-top: -30px;
}
.home-chart-legend-item {
  display: inline-block;
  margin: 0 12px;
  font-size: 12px;
  color: #666;
}
.home-chart-legend-icon {
  display: inline-block;
  width: 16px;
  height: 3px;
  border-radius: 1px;
  margin-right: 6px;
  vertical-align: middle;
}
/* topology组件宿主元素撑满父容器，确保iframe高度100%继承链完整 */
topology {
  display: block;
  height: 100%;
}


.catalogue-loading-container {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999;
}

.catalogue-loading-container::after {
  content: '';
  width: 36px;
  height: 36px;
  border: 3px solid rgba(0,0,0,0.1);
  border-top-color: #2e6cf6;
  border-radius: 50%;
  animation: taskSpinRotate 0.7s linear infinite;
}

.catalogue-wrapper {
  position: relative;
  height: 100%;
}

.app-topo-loading-container {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
}

.app-topo-loading-container::after {
  content: '';
  width: 36px;
  height: 36px;
  border: 3px solid rgba(0,0,0,0.1);
  border-top-color: #2e6cf6;
  border-radius: 50%;
  animation: taskSpinRotate 0.7s linear infinite;
}

/* ========== editor-table button-group 按钮样式（与 file-table 保持一致） ========== */
editor-table .ant-table-title .button-group button {
  font-size: 12px;
}
editor-table .ant-table-title .button-group button i{
  color: #333 !important;
}
editor-table .ant-table-title .button-group button:hover i{
  color: #fff !important;
}
editor-table .ant-dropdown-trigger.ant-btn{
  color: #333 !important;
  font-weight: 400;
}
.ai-step.confirm .ai-step-dot {
  background: #faad14;
  animation: ai-dot-pulse 1.5s infinite;
}
.ai-step-confirm-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 8px 0px;
}
.ai-step-confirm-hint {
  margin-left: 2px;
  flex: 1;
  font-size: 12px;
  font-weight: bold;
  color: #faad14;
}
.ai-step-confirm-btn {
  padding: 2px 4px;
  border-radius: 4px;
  border: 0px solid;
  cursor: pointer;
  font-size: 12px;
  font-weight: bold;
  transition: all 0.2s;
  outline: none;
}
.ai-step-confirm-btn.accept {
  background: transparent;
  border-color: #52c41a;
  color: #52c41a;
}
.ai-step-confirm-btn.accept:hover {
  background: rgba(82,196,26,0.1);
}
.ai-step-confirm-btn.reject {
  background: transparent;
  border-color: #ff4d4f;
  color: #ff4d4f;
}
.ai-step-confirm-btn.reject:hover {
  background: rgba(255,77,79,0.1);
}
.ai-step-confirm-btn.always {
  background: transparent;
  border-color: #2e6cf6;
  color: #2e6cf6;
}
.ai-step-confirm-btn.always:hover {
  background: rgba(24,144,255,0.1);
}

/* Welcome Banner - Custom Background Image Overlay (White Theme) */
.home-welcome-banner-has-bg {
  background-blend-mode: normal;
}
.home-welcome-banner-has-bg::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 4px;
  z-index: 0;
}
.home-welcome-banner-has-bg .home-welcome-title,
.home-welcome-banner-has-bg .home-welcome-slogan {
  position: relative;
  z-index: 1;
}

.ant-layout.ant-layout-has-sider>.ant-layout-content.has-scene-home {
  overflow-y: auto !important;
  margin-right: 5px;
  padding-right: 15px;
}

.systemConfig .upload-list-inline .ant-upload-list-item{
  margin-top: 0px !important;
}

.systemConfig .ant-row-flex div,config-component .ant-row-flex div{
  margin-top: 0px !important;
}

config-component .ant-divider-horizontal.ant-divider-with-text{
  margin-top: 0px !important;
}

/*
.home-row-1 .col-md-6 .col-md-6,.home-row-2 .col-md-6 .col-md-6{
  padding-right: 10px !important;
}
*/
.home-row-1, .home-row-2{
  margin-right: -15px
}

/* ========== 多会话 Session Selector (Dark Theme) ========== */
.ai-sider-header { position: relative; }
.session-header-actions { display: flex; align-items: center; gap: 5px; position: relative; z-index: 100; }
.session-selector {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 4px 8px 4px 8px;
  border-radius: 4px;
  max-width: calc(100% - 80px);
  overflow: hidden;
  min-width: 0;
}
.session-selector:hover { background: rgba(255,255,255,0.08); }
.session-selector .ai-sider-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.session-caret { margin-left: 6px; font-size: 11px; color: #999; flex-shrink: 0; }
/* 会话数量徽章 — 参考 ai-step-badge 风格 */
.session-count-badge {
  display: inline-block;
  padding: 0 5px;
  border-radius: 3px;
  font-size: 10px;
  line-height: 18px;
  height: 18px;
  font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
  flex-shrink: 0;
  margin-right: 4px;
  cursor: pointer;
  user-select: none;
  transition: opacity 0.15s;
}
.session-count-badge:hover { opacity: 0.8; }
.session-count-badge:active { opacity: 0.6; }
.session-count-badge.running {
  background: rgba(56, 158, 13, 0.12);
  color: #389e0d;
  border: 1px solid rgba(56, 158, 13, 0.3);
}
.session-count-badge.idle {
  background: rgba(140, 140, 140, 0.1);
  color: #666;
  border: 1px solid rgba(140, 140, 140, 0.25);
}
/* [+] 按钮与关闭按钮风格一致 */
.session-new-btn {
  height: 20px;
  width: 20px;
  border-radius: 4px;
  background-color: #fff;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1px 6px !important;
  border: none;
  cursor: pointer;
  font-weight: bold;
  font-size: 10px;
  flex-shrink: 0;
}
.session-new-btn:hover { background-color: #4f46e5; color: #fff; }
.session-new-btn:disabled { opacity: 0.4; cursor: not-allowed; }
/* 下拉面板 */
.session-dropdown-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99;
}
.session-dropdown {
  position: absolute;
  top: 50px;
  left: 5px;
  right: 5px;
  background: #212124;
  border-radius: 8px;
  border-bottom: 1px solid #454545;
  z-index: 10000;
  max-height: 400px;
  overflow-y: auto;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
/* 搜索框 */
.session-search { padding: 8px 10px 4px; }
.session-search-input {
  width: 100%;
  background: #1e1e20;
  border-radius: 4px;
  color: #ccc;
  padding: 5px 8px;
  font-size: 12px;
  outline: none;
  box-sizing: border-box;
  border: 1px solid #454545 !important;
}
.session-search-input::placeholder { color: #666; }
.session-search-input:focus { border-color: #4f46e5; }
/* 按日分组标题 */
.session-group-label {
  padding: 8px 12px 2px;
  font-size: 11px;
  color: #888;
  font-weight: 500;
}
.session-list { padding: 4px 0; }
/* 会话项 */
.session-item {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 10px 10px;
  cursor: pointer;
  border-left: 3px solid transparent;
}
.session-item:hover { background: rgba(255,255,255,0.05); }
.session-item.active { background: rgba(24,144,255,0.1); border-left-color: #2e6cf6; }
/* 状态圆点 */
.session-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1.5px solid #555;
  background: transparent;
  margin-left: 5px;
  margin-right: 10px;
  flex-shrink: 0;
}
.session-status-dot.active {
  border-color: #52c41a;
  background: #52c41a;
}
.session-item-info { flex: 1; min-width: 0; }
.session-item-info input{
  padding: 0px 10px;
  border-radius: 6px;
  background-color: #202124 !important;
}
.session-item-title {
  display: block;
  font-size: 12px;
  color: #e3e2e2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.session-item-meta { display: block; font-size: 11px; color: #777; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* inline 重命名输入框 */
.session-rename-input {
  display: block;
  width: 100%;
  background: #1e1e20;
  border: 1px solid #4f46e5;
  border-radius: 3px;
  color: #e3e2e2;
  font-size: 13px;
  padding: 1px 4px;
  outline: none;
  box-sizing: border-box;
}
/* 操作按钮组 */
.session-item-actions {
  display: flex;
  gap: 2px;
  flex-shrink: 0;
  margin-left: 4px;
}
.session-action-btn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: #666 !important;
  cursor: pointer;
  padding: 10px !important;
  margin: 0 !important;
  border-radius: 3px;
  font-size: 11px;
  line-height: 1;
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0 !important;
  min-height: 0 !important;
}
.session-action-btn:hover { color: #ccc !important; background: rgba(255,255,255,0.12) !important; }
.session-action-delete:hover { color: #ff4d4f !important; background: rgba(255,77,79,0.12) !important; }

/* 场景记忆面板 title bar 右侧操作区（开关标签 + nz-switch + 关闭按钮三合一） */
.ai-chat-history-panel .memory-panel-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}
.ai-chat-history-panel .memory-switch-label {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  font-weight: 400;
}
/* 记忆面板 title-bar 不裁剪 switch（覆盖基础规则的 overflow:hidden） */
.ai-chat-history-panel .panel-title-bar {
  overflow: visible;
}
/* 重置 panel-title-bar 对 nz-switch 样式的污染，使其与 topology 中的 switch 外观一致 */
.ai-chat-history-panel .memory-panel-actions .ant-switch {
  background-color: rgba(0, 0, 0, 0.25);
  border: 0;
  border-radius: 100px;
  min-width: 28px;
  height: 16px;
  line-height: 16px;
}
.ai-chat-history-panel .memory-panel-actions .ant-switch-checked {
  background-color: #2e6cf6 !important;
}
.ai-chat-history-panel .memory-panel-actions .ant-switch::after {
  top: 2px;
  border-radius: 50%;
  background-color: #fff;
}
.ai-chat-history-container .panel-title-bar .memory-panel-actions nz-switch button:hover{
  background-color: transparent;
}
.session-header-actions{
  display: flex;
  gap: 8px;
}

/* 场景记忆面板内容区样式 */
.memory-paragraph-list {
  padding: 10px 20px;
  overflow-y: auto;
  max-height: calc(100vh - 230px);
}
.memory-empty-tip {
  padding: 12px;
  color: #999;
  font-size: 12px;
}
.memory-item {
  margin-top: 10px;
  margin-bottom: 20px;
}
.memory-item-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #24262b;
  padding: 5px 10px;
  border-top: 1px solid #454545;
  border-left: 1px solid #454545;
  border-right: 1px solid #454545;
  border-radius: 4px 4px 0 0;
}
.memory-item-title {
  font-size: 12px;
  font-weight: 700;
  color: #7c8491;
}
.memory-item-meta {
  font-size: 11px;
  font-weight: 400;
  color: #7c8491;
}
.memory-item-content {
  padding: 10px 20px;
  background-color: #24262b;
  border: 1px solid #454545;
  overflow-y: auto;
  color: #e3e2e2;
  font-size: 12px;
}
.memory-item-content.editing {
  padding: 10px;
}
.memory-text {
  white-space: pre-wrap;
  font-size: 12px;
  margin: 0;
  color: #e3e2e2;
  background: transparent;
  font-family: inherit;
  border: none !important;
  font-size: 12px;
  font-weight: 500;
}
.memory-text.memory-empty {
  color: #999;
  font-style: italic;
}
.memory-edit-textarea {
  width: 100%;
  padding: 10px !important;
  border: 1px solid #454545 !important;
  border-radius: 4px !important;
  font-family: monospace;
  resize: vertical;
  background-color: #181818 !important;
  margin-right: 0 !important;
  color: #e6e6fa !important;
}
.memory-item-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #24262b;
  padding: 5px 10px;
  border-bottom: 1px solid #454545;
  border-left: 1px solid #454545;
  border-right: 1px solid #454545;
  border-radius: 0 0 4px 4px;
}
/* 场景记忆 / 推荐问题区块标题（含开关时用 flex 布局） */
.memory-section-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  font-weight: 700;
  color: #7c8491;
  padding: 4px 0 4px 2px;
  border-bottom: 1px solid #3a3a3a;
  margin-bottom: 6px;
}

/* 标题行内开关区域 */
.memory-switch-area {
  display: flex;
  align-items: center;
  gap: 6px;
}
.memory-switch-area .memory-switch-label {
  font-size: 12px;
  color: #7c8491;
  font-weight: 400;
  white-space: nowrap;
}
.memory-section-title .ant-switch {
  background-color: rgba(0, 0, 0, 0.25);
  border: 0;
  border-radius: 100px;
  min-width: 28px;
  height: 16px;
  line-height: 16px;
}
.memory-section-title .ant-switch-checked {
  background-color: #2e6cf6 !important;
}
.memory-section-title .ant-switch::after {
  top: 2px;
  border-radius: 50%;
  background-color: #fff;
}
.memory-section-title nz-switch button:hover {
  background-color: transparent;
}

.ai-sider-panel .ai-chat-history-panel:has(.memory-paragraph-list){
  padding-top: 0px !important;
  border:none !important;
}
.ai-chat-history-container:has(.memory-paragraph-list){
  height: calc(100vh - 130px);
}

.message.bot .message-content markdown img{
  width: 100%;
}

/* AI侧栏展开/收缩按钮 */
.ai-sider-expand-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-right: 10px;
  color: #666;
  font-size: 14px;
  flex-shrink: 0;
}

.ai-sider-expand-btn:hover {
  color: #2e6cf6;
}
/* ── 多Agent工作区样式 ── */
.multi-agent-btn {display: block;min-width: 45px;width: auto;position: relative; }
.multi-agent-btn .fa.fa-users,.multi-agent-btn .fa.fa-user{margin-right: 5px;}
.multi-agent-btn .ws-id-label { font-size: 10px; margin-right: 2px; font-family: monospace; }
.multi-agent-btn.active { color: #2e6cf6; background: rgba(24,144,255,0.12); border-radius: 3px; }
.multi-agent-btn.ws-busy { color: #52c41a; background: rgba(82,196,26,0.15); border-radius: 3px; cursor: not-allowed; }
.multi-agent-dropdown {
  padding: 0px;
  overflow-y: hidden;
}
.multi-agent-dropdown  .session-list{
  overflow-y:auto;
}
.multi-agent-dropdown .session-item input[type=checkbox]:before{
  top:-15px;
}
.multi-agent-dropdown .session-item:hover{
  background: rgba(24, 144, 255, 0.1);
}

.multi-agent-header { padding: 6px 12px; font-size: 12px; color: rgba(255,255,255,0.65); border-bottom: 1px solid rgba(255,255,255,0.08); margin-bottom: 4px; }
.multi-agent-footer { display: flex; gap: 0px; padding: 0px 12px; border-top: 1px solid rgba(255,255,255,0.08); margin-top: 4px; justify-content: flex-end; }
.ws-role-tag { display: inline-block; font-size: 10px; padding: 0 4px; border-radius: 2px; margin-left: 6px; line-height: 16px; vertical-align: middle; }
.ws-owner { background: rgba(24,144,255,0.15); color: #2e6cf6; }
.ws-worker { background: rgba(82,196,26,0.15); color: #52c41a; }
.ws-worker-dim { background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.3); }
.multi-agent-selected-count {
  font-size: 12px;
  color: rgba(255,255,255,0.45);
  flex: 1;
  top: 9px;
  position: relative;
}
.multi-agent-footer button,.multi-agent-footer button:disabled{
  height: 25px;
  margin: 5px !important;
  padding: 0px 20px !important;
  border-radius: 4px !important;
}
.multi-agent-footer button:hover{
  background-color: #4f46e5 !important;
  color: #fff;
}
.multi-agent-footer button span,.multi-agent-footer button:disabled span{
  position: relative;
  bottom: 3px;
}
.multi-agent-footer button:disabled{
  background-color: #3c3c3c !important;
  color: #666;
  border: 1px solid #666 !important;
}
/* ── Agent协作历史面板 ── */
.ws-history-item { border-bottom: 1px solid rgba(255,255,255,0.08); }
.ws-history-title { display: flex; align-items: center; padding: 8px 12px; cursor: pointer; font-size: 12px; color: #ccc; }
.ws-history-title:hover { background: rgba(255,255,255,0.05); }
.ws-history-time { margin-left: auto; color: #888; font-size: 11px; }
.ws-history-messages { padding: 0 8px 8px; }
.ws-history-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.ws-history-table th { text-align: left; padding: 4px 6px; color: #999; border-bottom: 1px solid rgba(255,255,255,0.1); white-space: nowrap; }
.ws-history-table td { padding: 4px 6px; color: #ccc; border-bottom: 1px solid rgba(255,255,255,0.05); }
.ws-history-content { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-msg-type-tag { display: inline-block; padding: 1px 6px; border-radius: 3px; font-size: 10px; background: rgba(24,144,255,0.15); color: #1890ff; }
/* ── 开场白分组折叠样式 ── */
.opening-group { margin: 4px 0; border-radius: 4px; padding-left: 16px; }
.opening-group > summary {
  cursor: pointer; font-weight: 500; font-size: 13px; padding: 6px 4px;
  list-style: none; color: #e0e0e0; user-select: none; margin-left: -16px;
}
.opening-group > summary::-webkit-details-marker { display: none; }
.opening-group > summary::before {
  content: '▶'; display: inline-block; margin-right: 6px;
  transition: transform 0.2s; font-size: 10px; color: #888;
}
.opening-group[open] > summary::before { transform: rotate(90deg); }
.opening-group > summary:hover { color: #7890ff; }
.opening-group .followup-link { padding-left: 4px; }
/* ── 侧栏收起为图标栏样式 ── */
.ant-menu-inline-collapsed {
  width: 48px !important;
}
.ant-menu-inline-collapsed > .ant-menu-item,
.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title {
  padding: 0 !important;
  width: 48px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.ant-menu-inline-collapsed > .ant-menu-item > span[title],
.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title > span[title] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  font-size: 0 !important;
}
.ant-menu-inline-collapsed > .ant-menu-item .menu-item-label {
  font-size: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ant-menu-inline-collapsed > .ant-menu-item .menu-item-label .icon,
.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title > span[title] > .icon {
  width: 18px;
  height: 16px;
  font-size: 16px !important;
  margin-right: 0 !important;
  flex-shrink: 0;
}
.ant-menu-inline-collapsed .menu-badge-count,
.ant-menu-inline-collapsed .ant-menu-submenu-arrow {
  display: none !important;
}
/* popup 子菜单：背景色（白色主题） */
.ant-menu-submenu-popup .ant-menu,
.ant-menu-submenu-popup .ant-menu-item,
.ant-menu-submenu-popup .ant-menu-submenu-title {
  background-color: #ffffff !important;
  color: #555;
}
.ant-menu-submenu-popup .ant-menu-item:hover,
.ant-menu-submenu-popup .ant-menu-item-selected {
  background-color: #f0f2f5 !important;
  color: #333;
}
/* popup 子菜单圆点（popup 不在 nz-sider 内，需独立定义） */
.ant-menu-submenu-popup i.icon.circle {
  flex-shrink: 0;
  width: 4px !important;
  height: 4px !important;
  margin-right: 10px;
  border-radius: 2px;
  display: inline-flex !important;
  vertical-align: super;
  border: 2px solid #738495;
}
.ant-menu-submenu-popup .ant-menu-item-selected i.icon.circle {
  border-color: #2e6cf6;
}

.copy-count-modal .ant-modal {
  width: 420px !important;
}

.copy-count-modal .ant-modal .ant-modal-body{
  padding: 10px 20px 10px;
}

.copy-count-modal .ant-modal .ant-modal-body .ant-input-number{
  margin-left: 20px !important;
  width: 300px !important;
}

scene-assets .view-body-area,scene-assets-xmb .view-body-area,scene-asset-fg .view-body-area{
  height: calc(100% - 85px);
  overflow-y: auto;
}

.cal-progress-content { width: 100%; color: #333; text-align: center; }
.cal-progress-count { font-style: italic; }
.cal-progress-step { margin-top: 8px; font-size: 12px; font-style: italic; }
.resume-node-link { color: #1890ff; cursor: pointer; text-decoration: underline; }
.resume-node-link:hover { color: #096dd9; }

/* confirm-modal 白色版本 —— 与 ant-modal-confirm 保持一致 */
.confirm-modal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
}

.confirm-modal-wrap {
  display: flex;
  justify-content: center;
  padding-top: 15vh;
}

.confirm-modal {
  position: relative;
  min-width: 416px;
  max-width: 500px;
  margin: 0 auto;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.confirm-modal-header {
  background-color: #fff;
  padding: 0 20px;
  border-radius: 4px 4px 0 0;
  height: 40px;
  line-height: 40px;
}

.confirm-modal-title {
  color: #333333;
  font-weight: bold;
  font-size: 14px;
  line-height: 40px;
}

.confirm-modal-body {
  padding: 20px;
  font-size: 12px;
  line-height: 1.5;
}

.confirm-modal-content {
  color: #333333;
  font-size: 12px;
}

.confirm-modal-btns {
  text-align: center;
  padding: 0 16px 16px;
  margin-top: 15px;
}

.confirm-modal-btn,
.confirm-modal-btn-primary {
  height: 32px;
  line-height: 33px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: bold;
  border-radius: 4px;
  cursor: pointer;
  border: 1px solid #ccc;
  background-color: #fff;
  color: #333;
  transition: background-color 0.2s, border-color 0.2s;
  outline: none;
  margin: 0 4px;
}

.confirm-modal-btn:hover,
.confirm-modal-btn-primary:hover,
.confirm-modal-btn:focus,
.confirm-modal-btn-primary:focus,
.confirm-modal-btn:active,
.confirm-modal-btn-primary:active {
  background-color: #2e6cf6;
  border-color: #2e6cf6;
  color: #fff;
  box-shadow: none;
}

.ant-drawer-body ice-instance-editor .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){
  color: #7c8491 !important;
}

.ant-drawer-body editor-table .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){
  color: #7c8491 !important;
}

user-component:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 210px) !important;
}

group-component:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 210px) !important;
}

resource-datasource:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 210px) !important;
}

resource-datasource2:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 210px) !important;
}

ice-disagent:has(.tableColumnsDisplay-tags > .ant-tag) .ant-table-title+.ant-table-content {
  height: calc(100vh - 210px) !important;
}

/* ===== api-doc-drawer 亮色主题样式 ===== */
.api-drawer-body {
  padding: 15px 4px;
  font-size: 13px;
}
.api-credential-card {
  background: #f0f5ff;
  border: 1px solid #d0e0ff;
  border-radius: 6px;
  padding: 12px 14px;
  margin-bottom: 16px;
}
.api-credential-card.api-credential-warn {
  background: #fffbe6;
  border-color: #ffe58f;
  color: #7a5a00;
  font-size: 12px;
  line-height: 1.6;
}
.api-credential-title {
  font-size: 12px;
  font-weight: 600;
  color: #1677ff;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.api-credential-tip {
  font-size: 11px;
  color: #389e0d;
  font-weight: normal;
  margin-left: 4px;
}
.api-credential-row {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
  font-size: 12px;
}
.api-credential-label {
  width: 80px;
  color: #8c8c8c;
  flex-shrink: 0;
}
.api-credential-value {
  flex: 1;
  color: #333;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.api-credential-skey {
  color: #aaa;
  letter-spacing: 1px;
}
.api-credential-url {
  color: #1677ff;
}
.api-copy-btn {
  cursor: pointer;
  color: #aaa;
  margin-left: 8px;
  flex-shrink: 0;
  font-size: 12px;
  transition: color 0.2s;
}
.api-copy-btn:hover {
  color: #1677ff;
}
.api-section-title {
  font-size: 13px;
  font-weight: 600;
  color: #262626;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.api-method-tag {
  display: inline-block;
  padding: 1px 7px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 700;
  font-family: monospace;
}
.api-method-get {
  background: #f6ffed;
  color: #389e0d;
  border: 1px solid #b7eb8f;
}
.api-method-post {
  background: #e6f4ff;
  color: #1677ff;
  border: 1px solid #91caff;
}
.api-method-delete {
  background: #fff1f0;
  color: #cf1322;
  border: 1px solid #ffa39e;
}
.api-url-block {
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 8px 12px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.api-url-text {
  flex: 1;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: #1677ff;
  word-break: break-all;
}
.api-url-copy {
  cursor: pointer;
  color: #aaa;
  font-size: 12px;
  flex-shrink: 0;
  white-space: nowrap;
  transition: color 0.2s;
  display: flex;
  align-items: center;
  gap: 4px;
}
.api-url-copy:hover {
  color: #1677ff;
}
.api-collapse-header {
  font-size: 12px;
  font-weight: 600;
  color: #595959;
  cursor: pointer;
  padding: 6px 0;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid #e8e8e8;
  user-select: none;
}
.api-collapse-header:hover {
  color: #262626;
}
.api-params-table {
  margin-bottom: 14px;
}
.api-params-table table {
  width: 100%;
  font-size: 12px;
  border-collapse: collapse;
}
.api-params-table th {
  background: #fafafa;
  color: #8c8c8c;
  padding: 5px 8px;
  text-align: left;
  font-weight: normal;
  border-bottom: 1px solid #e8e8e8;
}
.api-params-table td {
  padding: 5px 8px;
  color: #333;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: top;
}
.api-params-table td code {
  background: #f5f5f5;
  padding: 1px 5px;
  border-radius: 3px;
  font-family: monospace;
  color: #d46b08;
  font-size: 11px;
}
.api-required {
  background: #fff1f0;
  color: #cf1322;
  border: 1px solid #ffa39e;
  border-radius: 3px;
  padding: 1px 5px;
  font-size: 11px;
}
.api-optional {
  background: #f5f5f5;
  color: #8c8c8c;
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  padding: 1px 5px;
  font-size: 11px;
}
.api-lang-tabs {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 0;
  border-bottom: 1px solid #e8e8e8;
}
.api-lang-tab {
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 700;
  color: #8c8c8c;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: all 0.2s;
}
.api-lang-tab:hover {
  color: #333;
}
.api-lang-tab.active {
  color: #1677ff;
  border-bottom-color: #1677ff;
}
.api-copy-code-btn {
  margin-left: auto;
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 700;
  color: #8c8c8c;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: color 0.2s;
}
.api-copy-code-btn:hover {
  color: #333;
}
.api-code-block {
  background: #f6f8fa;
  border: 1px solid #e8e8e8;
  border-top: none;
  border-radius: 0 0 4px 4px;
  padding: 14px;
  margin: 0 0 14px 0;
  overflow-x: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  line-height: 1.6;
  color: #24292e;
  white-space: pre;
}
.api-response-block {
  border-top: 1px solid #e8e8e8;
  border-radius: 4px;
  color: #389e0d;
}
.api-error-table {
  margin-top: 6px;
}
.api-error-header {
  cursor: default;
  border-bottom: none;
  margin-bottom: 6px;
}
.api-error-table table {
  width: 100%;
  font-size: 12px;
  border-collapse: collapse;
}
.api-error-table td {
  padding: 4px 8px;
  color: #595959;
  border-bottom: 1px solid #f0f0f0;
}
.api-error-table td:first-child {
  width: 60px;
}
.api-error-table td code {
  background: #f5f5f5;
  padding: 1px 5px;
  border-radius: 3px;
  font-family: monospace;
  color: #d46b08;
  font-size: 11px;
}
/* api-doc-drawer Try it button & result panel (light theme) */
.api-tryit-btn {
  margin-left: 0;
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 700;
  color: #8c8c8c;
  background: transparent;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color 0.2s;
  line-height: 1;
}
.api-tryit-btn:hover:not(:disabled) {
  color: #333;
}
.api-tryit-btn:disabled {
  color: #bfbfbf;
  cursor: not-allowed;
  opacity: 0.45;
}
.api-tryit-btn.api-tryit-loading {
  color: #8c8c8c;
}
.api-tryit-panel {
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  margin-bottom: 14px;
  overflow: hidden;
}
.api-tryit-panel-header {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  background: #fafafa;
  font-size: 12px;
  color: #8c8c8c;
  user-select: none;
}
.api-tryit-panel-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  color: #8c8c8c;
}
.api-tryit-panel-actions i:hover {
  color: #333;
}
.api-tryit-success {
  color: #389e0d;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.api-tryit-error {
  color: #cf1322;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.api-tryit-result {
  border: none;
  border-radius: 0;
  margin: 0;
  max-height: 320px;
  overflow-y: auto;
  color: #389e0d;
}
.api-task-api-select {
  font-size: 13px;
  font-weight: 600;
}
.api-task-api-select .ant-select-selection {
  background: transparent;
  border: none;
  box-shadow: none;
  color: #262626 !important;
  font-size: 13px;
  font-weight: 600;
  height: 24px;
  line-height: 22px;
  padding: 0 20px 0 0;
  cursor: pointer;
}
.api-task-api-select .ant-select-selection__rendered {
  margin: 0;
  line-height: 22px;
  color: #262626 !important;
}
.api-task-api-select .ant-select-selection-selected-value {
  color: #262626 !important;
}
.api-task-api-select .ant-select-arrow {
  color: #8c8c8c;
  right: 2px;
}
.api-task-api-select:hover .ant-select-selection,
.api-task-api-select.ant-select-focused .ant-select-selection {
  border: none !important;
  box-shadow: none !important;
  color: #262626 !important;
}

.api-example-block {
  margin-bottom: 10px;
}

/* ===== 主题语义色类（Step 2b）white 取值 ===== */
.theme-text-title { color: #333333 !important; }
.theme-text-card font, font.theme-text-card, .theme-text-card { color: #333333 !important; }
.theme-bg-primary { background-color: #2e6cf6 !important; color: #fff !important; }

/* ===== 通用主题色类（Step 2c）white 值 ===== */
.tc-text-1 { color: #333333 !important; }
.tc-text-2 { color: #333333 !important; }
.tc-text-weak { color: #333 !important; }
.tc-text-sub { color: #949494 !important; }
.tc-text-link { color: #2e6cf6 !important; }
.tc-text-map { color: #333333 !important; }
.tc-bg-card { background-color: #ffffff !important; }
.tc-bg-1 { background-color: #ffffff !important; }
.tc-bg-primary { background-color: #2e6cf6 !important; color: #fff !important; }
.tc-bg-legend { background: #ffffff70 !important; }

/* ===== Step 2c：非颜色样式差异（white 专属布局微调）===== */
.home-refresh-switch { position: relative; top: -3px; }

/* user-theme-option 定位已交给 .header-toolbar flex 统一管理，不再单独定位 */

/* ===== 顶栏工具条：容器只管 Flex 框架间距/对齐；组件内部外观由各组件自己的 css 管 ===== */
.header-toolbar {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  height: 100%;
}
/* 仅中和"历史全局规则"的干扰 */
.header-toolbar nz-dropdown { float: none !important; padding-left: 0 !important; padding-right: 0 !important; bottom: 0 !important; }
.header-toolbar nz-tag .ant-tag { margin: 0 !important; }
.header-toolbar nz-badge { position: relative !important; }
/* 图标链接点击/hover 不出现下划线 */
.header-toolbar .header-icon-link,
.header-toolbar .header-icon-link:hover,
.header-toolbar .header-icon-link:focus,
.header-toolbar .header-icon-link:active { text-decoration: none !important; }
.header-toolbar .ai-assistant-service {
  margin-right: 0px !important;
  margin-left: 0px !important;
}
.header-toolbar .user-management .header-icon-link span{
  font-size: 14px !important;
  margin-left: 5px !important;
}
.header-toolbar .user-theme-option i{
  top: 2px;
  position: relative;
  font-size: 17px !important;
}
.header-toolbar .user-theme-option i.fa-desktop{
  top: 2px;
  font-size: 16px !important;
}
.header-toolbar .user-management i.fa-user{
  font-size: 17px !important;
}
.header-toolbar .header-version-tag {
  line-height: 20px !important;
  border-radius: 10px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  font-weight: 700;
  padding-left: 10px;
  padding-right: 10px;
  margin-right: 0px;
}
.header-toolbar nz-badge {
  min-width: 30px;
  position: sticky !important;
  margin-right: 6px;
}
.header-toolbar nz-badge i.fa-rocket{
  font-size: 18px !important;
}
nz-sider .ant-menu-item-selected .sub-menu-title{
  color: #2e6cf6 !important;
}
/* ===== 根治 :host-context 特异度反转：从组件 css 搬入，用宿主前缀保留作用域、去掉 [_nghost] 特异度作弊 ===== */
/* adaptive-table 的 dropdown-trigger（白主题）——原 :host-context 编译后会反超表头筛选图标定位规则 */
ice-adaptive-table .ant-dropdown-trigger {
  height: 24px;
  padding: 0 12px;
  font-size: 12px;
  line-height: 24px;
  vertical-align: top;
}


/* config 模板 textarea 主题文字色（white：深灰；来自原 -white.html 内联 #354052 !important） */
.tpl-textarea {
  color: #354052 !important;
}

/* editor-table 操作列表头背景色（白色主题） */
.editor-table-action-th { background: #ffffff !important; }

/* 大屏模块标题色（白色主题：半透明白色，区别于普通文字） */
.tc-text-dashboard-1 { color: #ffffff !important; }

/* 机柜U位行号区：白色主题下背景色和文字色与黑色主题保持一致 */
.rack-utag .tc-bg-card { background-color: #242629 !important; }
.rack-utag .tc-text-2  { color: #ffffff !important; }

.ant-menu-submenu>.ant-menu{
  background-color: transparent !important;
}

.menu-divider-item.menu-divider-item-sub{
  padding: 0px 0px 0px 30px !important;
  margin: 0px !important;
  background-color: #eaeced !important;
}

/* 报告清单卡片预览图背景渐变（白色主题） */
.report-chart-preview { background: repeating-linear-gradient(0deg, #fff, transparent 100%); }

/* 我的关注-动态分组图标内层颜色（白色主题：白色，与卡片背景一致） */
.collection-dyngroup-icon { color: #fff; }


/* 实例表单退出提示框（ice-confirm-modal）层级：去掉组件内写死的 z-index:1001 后，
   统一在此提升到 9999，确保始终高于抽屉(1000)与 AI 侧栏(950)，避免被遮挡无法点击确认。 */
.custom-modal-windows {
  z-index: 9999 !important;
}


/* ===== 安全中心 OTP 管理弹框（.otp-security-center-modal 定位器）—— 白色主题 ===== */
/* 状态行+提示行统一缩进、字体 14px；状态用半透明胶囊标签（仿 AI 侧栏透明框） */
.otp-security-center-modal .otp-sc-body {
  padding: 16px 20px;
}
.otp-security-center-modal .otp-sc-status-row {
  display: flex;
  align-items: center;
  margin-bottom: 14px;
}
/* 半透明胶囊状态标签 */
.otp-security-center-modal .otp-sc-status {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.4;
  background: rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.65);
}
.otp-security-center-modal .otp-sc-status--bound {
  background: rgba(82, 196, 26, 0.10);
  border-color: rgba(82, 196, 26, 0.40);
  color: #389e0d;
}
.otp-security-center-modal .otp-sc-status--unbound {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.55);
}
.otp-security-center-modal .otp-sc-bindtime {
  margin-left: 10px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.45);
}
/* 提示框：半透明背景 + 左色条，缩进与状态行对齐 */
.otp-security-center-modal .otp-sc-notice {
  display: flex;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: 4px;
  border-left: 3px solid transparent;
  background: rgba(0, 0, 0, 0.02);
}
.otp-security-center-modal .otp-sc-notice--active {
  border-left-color: #52c41a;
  background: rgba(82, 196, 26, 0.06);
}
.otp-security-center-modal .otp-sc-notice--inactive {
  border-left-color: #fa8c16;
  background: rgba(250, 140, 22, 0.06);
}
.otp-security-center-modal .otp-sc-notice-icon {
  margin-right: 8px;
  margin-top: 3px;
  font-size: 14px;
}
.otp-security-center-modal .otp-sc-notice--active .otp-sc-notice-icon {
  color: #52c41a;
}
.otp-security-center-modal .otp-sc-notice--inactive .otp-sc-notice-icon {
  color: #fa8c16;
}
.otp-security-center-modal .otp-sc-notice-text {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.75);
}


/* 安全中心 OTP 弹框补充：danger 警告框 + 表单标签/输入框（白色） */
.otp-security-center-modal .otp-sc-body--compact {
  padding: 12px 20px 4px;
}
.otp-security-center-modal .otp-sc-notice--danger {
  border-left-color: #ff4d4f;
  background: rgba(255, 77, 79, 0.06);
}
.otp-security-center-modal .otp-sc-notice--danger .otp-sc-notice-icon {
  color: #ff4d4f;
}
.otp-security-center-modal .otp-sc-form-label {
  margin: 12px 0 8px;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.75);
}
.otp-security-center-modal .otp-sc-input {
  width: 100%;
}
.otp-security-center-modal .otp-sc-input--otpcode {
  letter-spacing: 4px;
}


/* 安全中心 OTP 恢复码列表（user 解绑/重生成后展示，.otp-security-center-modal 作用域）—— 白色 */
.otp-security-center-modal .otp-recovery-codes-list {
  padding: 8px 4px;
}
.otp-security-center-modal .otp-recovery-code-item {
  font-family: monospace;
  font-size: 16px;
  padding: 8px 12px;
  border-radius: 4px;
  margin-bottom: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(82, 196, 26, 0.08);
  border: 1px solid rgba(82, 196, 26, 0.40);
  color: #389e0d;
}
.otp-security-center-modal .otp-recovery-code-num {
  color: rgba(0, 0, 0, 0.85);
  margin-right: 4px;
}

/* 🔵 P4/C4.2 会话超时倒计时警告弹窗（白色，风格对齐 .otp-security-center-modal）
   使用 CDK Overlay 渲染到 body，脱离业务弹框层叠上下文，配合 .custom-modal-windows 置顶 */
.session-warning-modal {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(0, 0, 0, 0.35);
}
.session-warning-modal .sw-modal-wrap {
  display: flex;
  justify-content: center;
  padding-top: 15vh;
}
.session-warning-modal .sw-modal {
  width: 440px;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.session-warning-modal .sw-modal-header {
  background-color: #fafafa;
  padding: 0 16px;
  height: 40px;
  line-height: 40px;
  border-bottom: 1px solid #e8e8e8;
  border-radius: 4px 4px 0 0;
}
.session-warning-modal .sw-modal-title {
  color: rgba(0,0,0,0.85);
  font-weight: bold;
  font-size: 14px;
}
.session-warning-modal .sw-modal-footer {
  text-align: center;
  padding: 16px;
}
.session-warning-modal .sw-btn {
  height: 32px;
  line-height: 33px;
  padding: 0 14px;
  font-size: 12px;
  border-radius: 4px;
  cursor: pointer;
  border: 1px solid #d9d9d9;
  background-color: #fff;
  color: rgba(0,0,0,0.65);
  transition: background-color 0.2s, border-color 0.2s;
  outline: none;
  margin-left: 8px;
}
.session-warning-modal .sw-btn-primary {
  background-color: #1890ff;
  border-color: #1890ff;
  color: #fff;
}
.session-warning-modal .sw-btn:hover,
.session-warning-modal .sw-btn:focus {
  background-color: #40a9ff;
  border-color: #40a9ff;
  color: #fff;
}
.session-warning-modal .sw-body {
  padding: 18px 20px 6px;
}
.session-warning-modal .sw-count-row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin-bottom: 16px;
}
.session-warning-modal .sw-count {
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  color: #1677ff;
  transition: color .3s ease;
}
.session-warning-modal .sw-count.is-urgent {
  color: #ff4d4f;
  animation: sw-blink 1s ease-in-out infinite;
}
.session-warning-modal .sw-count-unit {
  font-size: 16px;
  margin-left: 4px;
  color: #1677ff;
  transition: color .3s ease;
}
.session-warning-modal .sw-count.is-urgent + .sw-count-unit {
  color: #ff4d4f;
}
.session-warning-modal .sw-count-after {
  font-size: 14px;
  margin-left: 10px;
  color: rgba(0, 0, 0, 0.45);
}
.session-warning-modal .sw-notice {
  display: flex;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: 4px;
  border-left: 3px solid #fa8c16;
  background: rgba(250, 140, 22, 0.06);
}
.session-warning-modal .sw-notice.is-urgent {
  border-left-color: #ff4d4f;
  background: rgba(255, 77, 79, 0.06);
}
.session-warning-modal .sw-notice-icon {
  margin-right: 8px;
  margin-top: 3px;
  font-size: 14px;
  color: #fa8c16;
}
.session-warning-modal .sw-notice.is-urgent .sw-notice-icon {
  color: #ff4d4f;
}
.session-warning-modal .sw-notice-text {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.75);
}
@keyframes sw-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}

.otp-title{
  color: #333 !important;
}

.otp-code-input{
  border: 2px solid #454545 !important;
}
.otp-footer{
  color: #333 !important;
  border-color: #ffffff90 !important;
}

/* OTP「恢复码已重新生成」弹框 body 内边距特殊控制（白色） */
.otp-recovery-codes-modal .ant-modal-body {
  padding: 20px !important;
}

.result-toolbar-info > label.ant-checkbox-wrapper{
  margin-bottom: 10px !important;
}
.result-toolbar-info > label.ant-checkbox-wrapper span{
  top: 0.5px !important;
  padding-left: 0px !important;
  color: #333333 !important;
}
.result-toolbar-info .result-pagesize-wrap{
  margin-top: 1px !important;
  margin-left: 0px !important;
}
.result-toolbar-info .result-pagesize-wrap nz-dropdown{
  margin-bottom: 2.5px !important;
}
.result-toolbar-info .table-seleted-items.result-selected-count{
  margin-left: 8px !important;
}

scene-resourcessearchapp .result-toolbar-info > label.ant-checkbox-wrapper span.ant-checkbox,
scene-resourcessearchrack .result-toolbar-info > label.ant-checkbox-wrapper span.ant-checkbox,
scene-resourcessearchip .result-toolbar-info > label.ant-checkbox-wrapper span.ant-checkbox{
  padding-right: 5px !important;
}

/* 修复数据透视多选下拉框：删 tag 后下拉面板位置脱节问题。
   固定 selection 高度，使 ng-zorro CDK overlay 定位基准不随 tag 数量变化。 */
.resource-dropdown .ant-select-selection {
  height: 35px !important;
  overflow: visible !important;
}
.resource-dropdown .ant-select-selection .ant-select-selection__rendered {
  height: 33px !important;
  overflow: hidden;
  white-space: nowrap;
}
/* ── vic-analysis-panel (white theme) ── */
.vic-analysis-panel {
  border: 1px solid rgba(0,0,0,0.09) !important;
  border-radius: 6px;
  background: rgba(0,0,0,0.012);
  margin: 0 20px 15px 0px;
  overflow: hidden;
}
.vic-analysis-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-bottom: 1px solid rgba(0,0,0,0.07);
  background: rgba(0,0,0,0.022);
}
.vic-analysis-title {
  font-size: 13px;
  font-weight: 500;
  color: rgba(0,0,0,0.78);
}
.vic-analysis-count {
  font-size: 11px;
  color: #333;
}
.vic-analysis-loading {
  font-size: 12px;
  color: rgba(24,144,255,0.80);
}
.vic-analysis-header-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 4px;
}
.vic-analysis-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 3px;
  cursor: pointer;
  color: rgba(0,0,0,0.28);
  transition: background 0.15s, color 0.15s;
  font-size: 12px;
}
.vic-analysis-action-btn:hover {
  background: rgba(0,0,0,0.05);
  color: rgba(0,0,0,0.72);
}
.vic-analysis-close:hover {
  background: rgba(207,19,34,0.08);
  color: rgba(207,19,34,0.85);
}
.vic-analysis-body {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px 14px;
}
/* 高级搜索面板：复用 vic-analysis-panel 外观，body 用块级布局承载动态表单 */
.vic-smart-search-panel .vic-smart-search-body {
  padding: 14px 16px 12px;
}
/* 工具栏按钮图标 active 高亮：展开高级搜索/分析面板时图标变亮色，收起恢复默认 */
i.vic-toolbar-active {
  color: #2e6cf6 !important;
}
.vic-chart-card {
  border-radius: 4px;
  background: #ffffff80;
  border: 1px solid rgba(0,0,0,0.07);
  padding: 10px 15px;
  min-width: 0;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
}
.vic-chart-bar {
  flex: 1 1 45%;
  min-width: 340px;
}
.vic-chart-pie {
  flex: 1 1 22%;
  min-width: 190px;
}
.vic-chart-full {
  flex: 1 1 100%;
  min-width: 0;
}
/* 混合类型分布：每个类型独占一行（柱图 + 状态饼） */
.vic-type-row {
  flex: 1 1 100%;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
/* 每类型一行只有「1个柱图 + 1个饼图」，平分整行 50%/50% */
.vic-type-row > .vic-chart-bar,
.vic-type-row > .vic-chart-pie {
  flex: 1 1 0;
  min-width: 0;
}
.vic-chart-card-header {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.vic-chart-card-title {
  font-size: 12px;
  font-weight: 900;
  color: #666;
  flex: 1;
}
/* 图卡标题前统一加 fa-pie-chart 图标（#666），与标题文字间距 5px */
.vic-chart-card-title::before {
  content: "\f200";
  font-family: FontAwesome;
  font-weight: normal;
  color: #666;
  padding-right: 5px;
}
.vic-chart-download {
  font-size: 11px;
  color: rgba(0,0,0,0.18);
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 2px;
  transition: color 0.15s, background 0.15s;
  opacity: 0;
}
.vic-chart-card:hover .vic-chart-download {
  opacity: 1;
}
.vic-chart-download:hover {
  color: rgba(0,0,0,0.65);
  background: rgba(0,0,0,0.05);
}
.vic-analysis-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px;
  gap: 8px;
  color: rgba(0,0,0,0.22);
  font-size: 13px;
}
.vic-analysis-empty .fa {
  font-size: 22px;
  opacity: 0.28;
}
.vic-analysis-unavail {
  padding: 24px 16px;
  font-size: 12px;
  color: rgba(0,0,0,0.28);
  text-align: center;
}

/* vic-analysis-scope-select 分析范围小下拉 */
.vic-analysis-scope-select {
  width: 88px !important;
  font-size: 11px !important;
}
.vic-analysis-scope-select .ant-select-selection {
  height: 22px !important;
  line-height: 20px !important;
  border-radius: 3px !important;
  background: rgba(0,0,0,0.03) !important;
  border-color: rgba(0,0,0,0.18) !important;
}
.vic-analysis-scope-select .ant-select-selection__rendered {
  line-height: 20px !important;
  margin: 0 6px !important;
  font-size: 11px !important;
  color: rgba(0,0,0,0.75) !important;
}
.vic-analysis-scope-select .ant-select-selection-selected-value {
  color: rgba(0,0,0,0.75) !important;
}
.vic-analysis-scope-select .ant-select-arrow {
  right: 6px !important;
  color: rgba(0,0,0,0.38) !important;
}

/* vic-chart-empty-placeholder */
.vic-chart-empty-placeholder {
  flex: 1;
  min-height: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: rgba(0,0,0,0.25);
  font-size: 11px;
}
.vic-chart-empty-placeholder .fa-spinner {
  font-size: 16px;
  color: rgba(24,144,255,0.60);
}
.vic-chart-empty-placeholder nz-empty .ant-empty-image {
  height: 36px !important;
}
.vic-chart-empty-placeholder nz-empty .ant-empty-image svg,
.vic-chart-empty-placeholder nz-empty .ant-empty-image img {
  height: 36px !important;
  width: auto !important;
}
.vic-chart-empty-placeholder nz-empty .ant-empty-description {
  font-size: 11px !important;
  color: rgba(0,0,0,0.30) !important;
  margin-top: 4px !important;
}

scene-resourcessearchip .home-search-result,
scene-resourcessearchapp .home-search-result,
scene-resourcessearch .home-search-result,
scene-resourcessearchrack .home-search-result {
  padding-top: 17px !important;
}

/* 历史趋势不可用提示：与暂无数据一致，上下左右居中 */
.vic-chart-empty-placeholder.vic-analysis-unavail {
  padding: 16px;
  gap: 6px;
  text-align: center;
  color: rgba(0,0,0,0.30);
}
.vic-chart-empty-placeholder.vic-analysis-unavail .fa {
  font-size: 16px;
  opacity: 0.55;
}

/* 分析按钮下拉菜单（数据分布/健康分析）hover 与选中高亮。
   nz-dropdown + nz-menu 在 component 模式下菜单项渲染为 .ant-dropdown-menu-item；
   选中态由 HTML [class.ant-menu-item-selected] 绑定手动添加 */
.vic-analysis-menu .ant-dropdown-menu-item:hover {
  background: #2e6cf6 !important;
  color: #fff !important;
}
.vic-analysis-menu .ant-dropdown-menu-item.ant-menu-item-selected {
  background: #2e6cf6 !important;
  color: #fff !important;
}

/* 分析面板「维度统计」多选下拉框（white）—— 外观与 scope-select 保持一致 */
.vic-analysis-dims-select {
  min-width: 160px;
  max-width: 280px;
  margin-left: 8px;
  font-size: 11px !important;
}
.vic-analysis-dims-select .ant-select-selection {
  min-height: 22px !important;
  border-radius: 3px !important;
  background: rgba(0,0,0,0.03) !important;
  border-color: rgba(0,0,0,0.18) !important;
}
.vic-analysis-dims-select .ant-select-selection__rendered {
  line-height: 20px !important;
  margin: 0px 12px 0px 4px !important;
  font-size: 11px !important;
}
.vic-analysis-dims-select .ant-select-selection__placeholder {
  color: rgba(0,0,0,0.38) !important;
  font-size: 11px !important;
}
.vic-analysis-dims-select .ant-select-selection__choice {
  background: rgba(0,0,0,0.06) !important;
  border-color: rgba(0,0,0,0.15) !important;
  color: rgba(0,0,0,0.75) !important;
  font-size: 11px !important;
  height: 18px !important;
  line-height: 16px !important;
}
/* 多选 li 收紧上下边距（全局默认 margin-top:5px 会把容器撑到 ~28px），
   令多选容器与单选同高(22px)、choice 与单选卡同一水平线 */
.vic-analysis-dims-select .ant-select-selection--multiple .ant-select-selection__rendered>ul>li,
.vic-analysis-dims-select .ant-select-selection--multiple>ul>li {
  height: 18px !important;
  line-height: 18px !important;
  margin-top: 1px !important;
}
.vic-analysis-dims-select .ant-select-selection__choice__remove {
  color: rgba(0,0,0,0.45) !important;
}
/* 根因修复：ng-zorro 默认 .ant-select-selection--single{height:40px}，比多选容器(~22px)高很多，
   导致单选选中值整体偏低、与多选 choice 不在同一水平线。强制单选容器与多选同高(22px)。 */
.vic-analysis-dims-select .ant-select-selection--single {
  height: 22px !important;
}
.vic-analysis-dims-select .ant-select-selection--single .ant-select-selection__rendered {
  line-height: 20px !important;
}
/* 单选下拉（如「字段」统计字段）选中值：渲染成与多选 choice 卡片一致的小卡片皮，
   且与多选 choice 在同一水平线（容器同高 + margin-top:3px 对齐多选 li）。
   padding 用 !important 压过全局 .ant-select-allow-clear …{padding-right:0!important}，保证左右对称 */
.vic-analysis-dims-select .ant-select-selection--single .ant-select-selection-selected-value {
  display: inline-block;
  background: rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.15);
  color: rgba(0,0,0,0.75) !important;
  font-size: 11px !important;
  height: 18px;
  line-height: 16px;
  border-radius: 2px;
  padding: 0 6px !important;
  /* 对齐多选 choice：多选 li 已统一为 margin-top:1px，故单选卡同取 1px 落在同一水平线 */
  margin-top: 1px;
}
.vic-analysis-dims-select .ant-select-arrow,
.vic-analysis-dims-select .ant-select-clear {
  color: rgba(0,0,0,0.4) !important;
}
/* 箭头/清除图标垂直居中：ng-zorro 对「多选」用固定 top:16px（按默认 32px 容器算），
   我们容器收为 22px 后会偏低；统一改回 top:50%+margin-top:-6px，与单选(图2正确)对齐。 */
.vic-analysis-dims-select .ant-select-arrow,
.vic-analysis-dims-select .ant-select-selection__clear,
.vic-analysis-dims-select .ant-select-clear,
.vic-analysis-dims-select .ant-select-selection--multiple .ant-select-selection__clear,
.vic-analysis-dims-select .ant-select-selection--multiple .ant-select-arrow {
  top: 50% !important;
  margin-top: -6px !important;
}
/* 图卡 header 内联下拉框（字段填充率字段选择）：限宽、不被 flex 拉伸、与下载按钮间留白 */
.vic-analysis-dims-select-inline {
  flex: 0 0 auto;
  min-width: 120px;
  max-width: 200px;
  margin-right: 8px;
}
/* 字段填充率「全选」文字按钮 */
.vic-fillrate-selectall {
  flex: 0 0 auto;
  cursor: pointer;
  font-size: 11px;
  /* 风格对齐右侧下拉选中卡片（.ant-select-selection__choice）：浅灰底 + 灰边 + 深灰字 */
  color: rgba(0,0,0,0.75);
  background: rgba(0,0,0,0.06);
  padding: 0 8px;
  height: 22px;
  line-height: 22px;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 3px;
  margin-right: 6px;
  transition: background 0.15s, color 0.15s;
}
.vic-fillrate-selectall:hover {
  background: rgba(0,0,0,0.1);
  color: rgba(0,0,0,0.85);
}
.vic-chart-fillrate-card #vic-chart-fillrate {
  width: 100%;
}

/* ──────────────────────────────────────────────────────────────
   资源报告子模块样式（white）—— 复用 vic-analysis-* / vic-chart-card 风格
   （详见 PLAN §十五）。只换外观，不改图表渲染逻辑（id/栅格/iceChart 不动）
   ────────────────────────────────────────────────────────────── */
/* 整体外框：复用 .vic-analysis-panel。margin 实测取 10px 5px 10px 0（上下 10、右 5、左 0） */
.vic-report-panel {
  margin: 10px 5px 10px 0;
}
/* 图表区：仅承托面板内边距。⚠️ 必须 block（非 flex），否则内部 bootstrap .row 被当
   flex item 收缩成窄条 → 图表挤成竖条。.row/.col 栅格保持 bootstrap 原生不覆盖。 */
.vic-report-body {
  padding: 15px 15px;
  height: auto;
  overflow: visible;
}
/* 清掉 .custom-report-drilled-page-chart 自带 padding，留白统一由 body+卡片控制；两行间补 12px */
.vic-report-body .row.custom-report-drilled-page-chart {
  padding: 0;
}
.vic-report-body .row.custom-report-drilled-page-chart + .row.custom-report-drilled-page-chart {
  margin-top: 20px;
}
.vic-report-body .row.custom-report-drilled-page-chart .vic-report-chart-col.col-md-8 .vic-chart-card canvas{
  padding: 0px 20px 10px 10px;
}
/* 顶部参数栏：面板内 header 条，去独立外框/外边距，仅留底分隔线 */
.vic-report-panel .vic-report-console {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  margin: 0;
  border: none;
  border-bottom: 1px solid rgba(0,0,0,0.07);
  border-radius: 0;
  background: rgba(0,0,0,0.022);
}
.vic-report-console-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.vic-report-console-actions {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.vic-report-console .vic-report-action-link {
  font-size: 12px;
  font-weight: bold;
  color: rgba(0,0,0,0.65);
  cursor: pointer;
  transition: color 0.15s;
}
.vic-report-console .vic-report-action-link:hover {
  color: #2e6cf6;
}
.vic-report-console .vic-report-action-link .fa {
  font-size: 12px;
}
.vic-report-field-label {
  font-size: 12px;
  font-weight: bold;
  color: rgba(0,0,0,0.55);
}
.vic-report-console .vic-report-tag.ant-tag {
  height: 22px;
  line-height: 20px;
  border-radius: 3px;
  padding: 0 8px;
  font-size: 11px;
  background: rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.15);
  color: rgba(0,0,0,0.75);
  margin: 0;
}
.vic-report-console .vic-report-tag.ant-tag .anticon-close svg {
  fill: rgba(0,0,0,0.45);
}
.vic-report-console .vic-report-dropdown {
  display: inline-block;
}
.vic-report-console .vic-analysis-dims-select.ant-select,
.vic-report-console ice-select-tree.vic-analysis-dims-select {
  min-width: 130px !important;
  max-width: 220px !important;
}
/* 累计 checkbox：与同行链接/下拉水平居中对齐 */
.vic-report-console .vic-report-checkbox.ant-checkbox-wrapper {
  font-size: 12px;
  color: rgba(0,0,0,0.65);
  display: inline-flex;
  align-items: center;
  height: 22px;
  line-height: 22px;
  margin: 0;
}
.vic-report-console .vic-report-checkbox.ant-checkbox-wrapper .ant-checkbox {
  top: -6.5px;
}
/* 图块栅格列：承载 id（setComponent 读 offsetWidth）。保持 bootstrap col-md-* 原生 padding，不覆盖 */
/* height:auto + overflow:visible 保证表格树形展开时卡片随内容向下自适应撑高，不裁剪 */
.vic-report-chart-card {
  border-radius: 4px;
  background: #ffffff80;
  border: 1px solid rgba(0,0,0,0.07);
  padding: 10px 15px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  height: auto;
  overflow: visible;
}
.vic-report-chart-title {
  font-size: 12px;
  font-weight: 900;
  color: #666;
  flex: 1;
}
.vic-report-chart-title::before {
  content: "\f200";
  font-family: FontAwesome;
  font-weight: normal;
  color: #666;
  padding-right: 5px;
}
.vic-report-chart-edit {
  font-size: 14px;
  color: rgba(0,0,0,0.18);
  cursor: pointer;
  /* padding: 2px 4px; */
  border-radius: 2px;
  opacity: 0;
  transition: color 0.15s, background 0.15s, opacity 0.15s;
}
.vic-report-chart-card:hover .vic-report-chart-edit {
  opacity: 1;
}
.vic-report-chart-edit:hover {
  color: rgba(0,0,0,0.65);
  background: rgba(0,0,0,0.05);
}
.vic-report-total-text {
  color: rgba(0,0,0,0.55);
}

/* 首页 / 数据透视搜索「最近查询」标签 —— 样式与服务目录 catalogue-search-history 保持一致（白色主题） */
scene-home .catalogue-search-history,
scene-resourcesSearch .catalogue-search-history {
  font-size: 13px;
  margin-top: 10px;
  margin-bottom: 10px;
  color: #333;
}

scene-home .catalogue-search-history nz-tag,
scene-resourcesSearch .catalogue-search-history nz-tag {
  margin: 3px 3px;
  border-radius: 2px;
  font-size: 12px;
  padding: 3px 10px;
  border: 1px solid #ccc;
  background-color: #ffffff;
  cursor: pointer;
}

scene-home .catalogue-search-history nz-tag:hover,
scene-resourcesSearch .catalogue-search-history nz-tag:hover {
  background-color: #2e6cf6;
  border-color: #2e6cf6;
  color: #fff;
}

scene-home .catalogue-search-history nz-tag i[nz-icon],
scene-resourcesSearch .catalogue-search-history nz-tag i[nz-icon] {
  margin-left: 6px;
  font-size: 11px;
  color: #999;
  cursor: pointer;
}

scene-home .catalogue-search-history nz-tag:hover i.anticon-close,
scene-resourcesSearch .catalogue-search-history nz-tag:hover i.anticon-close {
  color: #fff !important;
}

scene-home .catalogue-search-history nz-tag i[nz-icon]:hover,
scene-resourcesSearch .catalogue-search-history nz-tag i[nz-icon]:hover {
  color: #ff4d4f;
}

/* 数据透视页布局与首页不同，最近查询标签紧贴搜索框下方 */
scene-resourcesSearch .catalogue-search-history.resourcesSearch-recent {
  margin-top: 10px;
  margin-bottom: 12px;
}

/* 搜索结果命中高亮：用 Chrome 文本查找(Ctrl+F)的命中黄，仅普通关键词搜索时由 hitHighlight pipe 注入 */
/* 右卡正文 + 「命中详情」浮框（浮框由 cdk overlay 挂到 body，不在 scene-resourcesSearch 下，故 .hit-detail-box 不加宿主前缀）*/
scene-resourcesSearch .result-info .hit-mark,
.hit-detail-box .hit-mark,
.vic-gov-expand-table .hit-mark,
.vic-gov-fa-table .hit-mark {
  background: #ffff00;
  color: #000;
  border-radius: 2px;
  padding: 0 1px;
}
/* 命中次数 标签，位于右卡标题右侧 */
scene-resourcesSearch .result-info .title .hit-badge {
  display: inline-block;
  font-size: 11px;
  line-height: 16px;
  padding: 0 6px;
  margin-left: 8px;
  border-radius: 8px;
  font-weight: 900;
  vertical-align: middle;
  background: rgba(45, 183, 245, 0.15);
  color: #2e6cf6;
}
/* 「命中详情」点击入口，紧跟命中次数标签 */
scene-resourcesSearch .result-info .title .hit-detail-link {
  font-size: 11px;
  font-weight: 900;
  margin-left: 6px;
  vertical-align: middle;
  color: #2e6cf6;
  cursor: pointer;
}
/* 「命中详情」浮框内容（cdk overlay，全局类选择器）*/
.hit-detail-box {
  max-width: 480px;
  max-height: 320px;
  overflow: auto;
  font-size: 12px;
}
.hit-detail-box .hit-detail-row {
  padding: 4px 0;
  line-height: 1.5;
}
.hit-detail-box .hit-detail-row + .hit-detail-row {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.hit-detail-box .hit-detail-field {
  font-weight: 600;
  margin-right: 6px;
}
.hit-detail-box .hit-detail-count {
  color: #1890ff;
  margin-right: 6px;
}
.hit-detail-box .hit-detail-value {
  margin-top: 2px;
  word-break: break-all;
  white-space: pre-wrap;
  opacity: 0.92;
}
/* 「命中详情」浮框浅色皮肤：柔和浅灰底 + 深字，降低默认纯白刺眼度 */
.hit-detail-popover .ant-popover-inner {
  background-color: #f7f8fa;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
.hit-detail-popover .ant-popover-title {
  color: #1f2329;
  border-bottom-color: rgba(0, 0, 0, 0.08);
}
.hit-detail-popover .ant-popover-inner-content {
  color: #333;
}
/* 箭头：antd 用旋转方块 + border-color 显色（仅 2 条边），需按 placement 覆盖对应边 */
.hit-detail-popover.ant-popover-placement-bottomLeft .ant-popover-arrow,
.hit-detail-popover.ant-popover-placement-bottom .ant-popover-arrow,
.hit-detail-popover.ant-popover-placement-bottomRight .ant-popover-arrow {
  border-color: #f7f8fa transparent transparent #f7f8fa;
}
.hit-detail-popover.ant-popover-placement-topLeft .ant-popover-arrow,
.hit-detail-popover.ant-popover-placement-top .ant-popover-arrow,
.hit-detail-popover.ant-popover-placement-topRight .ant-popover-arrow {
  border-color: transparent #f7f8fa #f7f8fa transparent;
}
.hit-detail-popover .hit-detail-field {
  color: #646a73;
}
.hit-detail-popover .hit-detail-value {
  color: #1f2329;
  opacity: 1;
}

/* 数据分析面板：统一主图卡片（柱图/满宽图）最小高度，避免「暂无数据」时不同卡片高矮不一。
   min-height 仅设基线，字段填充率/数据变更人等随数量自适应的图仍可撑高超过基线。小饼图(vic-chart-pie)不受影响。 */
.vic-chart-bar,
.vic-chart-full {
  min-height: 260px;
}

/* 字段填充率：必填且<100% 字段的警告条（红色感叹号 + 字段名 + 缺失数，点击复制空值实例 name 清单） */
.vic-fillrate-warnings {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed rgba(0,0,0,0.08);
  margin: 0px 45px 0px 75px;
}
.vic-fillrate-warn-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: rgba(207,19,34,0.95);
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 2px;
  transition: background 0.15s;
}
.vic-fillrate-warn-item:hover {
  background: rgba(207,19,34,0.10);
}
.vic-fillrate-warn-item .fa-exclamation-circle {
  font-size: 12px;
}
.vic-fillrate-warn-item .fa-copy {
  opacity: 0.5;
  font-size: 11px;
}
.vic-fillrate-warn-item:hover .fa-copy {
  opacity: 1;
}
.vic-fillrate-warn-text {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 必填项「必填」标记：红底小标签，区别于非必填的低填充率警告 */
.vic-fillrate-warn-tag {
  flex: 0 0 auto;
  font-size: 10px;
  line-height: 1;
  padding: 2px 4px;
  border-radius: 2px;
  background: rgba(207,19,34,0.14);
  color: rgba(207,19,34,1);
}
/* 必填红警告整行略微加重，与非必填（低填充率）警告区分 */
.vic-fillrate-warn-item.vic-fillrate-warn-required {
  font-weight: 600;
}
.result-container .dropdown .btn[disabled] .fa{
  color: #949494 !important;
}

.help-message-titile .tc-text-1{
  color: #fff !important;
}

scene-collection .widget-stats .desc .fa{
  color: #333 !important;
}
scene-collection ice-component-tag div span{
  background-color: #9966ff !important;
  border: 1px solid #9966ff !important;

}
/* ============ 数据治理报告 .vic-gov-* （亮色，仅颜色变量不同，追加在末尾） ============ */
.vic-gov-snaptime { color:rgba(0,0,0,0.45); }
.vic-gov-kpi { background:#ffffff80; border:1px solid rgba(0,0,0,0.07); box-shadow:0 1px 3px rgba(0,0,0,0.05); }
.vic-gov-kpi-label { color:rgba(0,0,0,0.55); }
.vic-gov-kpi-value { color:rgba(0,0,0,0.82); }
.vic-gov-kpi-sub   { color:rgba(0,0,0,0.40); }
.vic-gov-score { font-size:42px; font-weight:800; line-height:1; }
.vic-gov-score.is-good { color:#389e0d; }
.vic-gov-score.is-warn { color:#d48806; }
.vic-gov-score.is-bad  { color:#cf1322; }
.vic-gov-score-sub { color:rgba(0,0,0,0.4); }
.vic-gov-grade { font-size:18px; font-weight:800; margin-left:8px; }
.vic-gov-grade.is-good { color:#389e0d; }
.vic-gov-grade.is-warn { color:#d48806; }
.vic-gov-grade.is-bad  { color:#cf1322; }
.vic-gov-dim-score, .vic-gov-dim-grade { font-weight:700; }
.vic-gov-dim-score.is-good, .vic-gov-dim-grade.is-good { color:#389e0d; }
.vic-gov-dim-score.is-warn, .vic-gov-dim-grade.is-warn { color:#d48806; }
.vic-gov-dim-score.is-bad,  .vic-gov-dim-grade.is-bad  { color:#cf1322; }
.vic-gov-refresh.refreshing { color:rgba(0,0,0,0.35); }
.vic-gov-chord-note { color:rgba(0,0,0,0.45); }
.vic-gov-ind-card { margin-bottom:12px; }
.vic-gov-ind-table { width:100%; border-collapse:collapse; font-size:13px; }
.vic-gov-ind-table th { text-align:left; padding:8px 10px; color:rgba(0,0,0,0.5);
  border-bottom:1px solid rgba(0,0,0,0.08); font-weight:normal; }
.vic-gov-ind-table td { padding:8px 10px; color:rgba(0,0,0,0.8);
  border-bottom:1px solid rgba(0,0,0,0.05); }
.vic-gov-ind-table tr.vic-gov-scored td, .vic-gov-ind-table tr.vic-gov-hard td { background:rgba(37,99,235,0.06); }
.vic-gov-ind-table .col-name { width:20%; }
.vic-gov-ind-table .col-desc { width:38%; }
.vic-gov-ind-table .col-value { width:18%; }
.vic-gov-ind-table .col-tip { width:24%; }
.vic-gov-hit-detail { color:rgba(0,0,0,0.45); font-size:12px; }
.vic-gov-expand-row td { background:rgba(0,0,0,0.02); }
.vic-gov-expand-row .vic-gov-expand-head .ant-pagination-total-text{
  color:#7c8491;
}
.vic-gov-expand { padding:8px 12px; }
.vic-gov-expand-head { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.vic-gov-expand-title { font-weight:bold; color:rgba(0,0,0,0.8); }
.vic-gov-expand-list { max-height:360px; overflow:auto; }
.vic-gov-search { background:#fff; border:1px solid rgba(0,0,0,0.15);
  border-radius:4px; padding:4px 8px; color:rgba(0,0,0,0.85); width:200px; }
.vic-gov-expand-loading { padding:16px; text-align:center; color:rgba(0,0,0,0.4); }
.vic-gov-model-card { display:flex; align-items:baseline; gap:12px; padding:12px 16px;
  background:#ffffff80; box-shadow:0 1px 3px rgba(0,0,0,0.05); margin-bottom: 12px;}
.vic-gov-mc-name { font-size:18px; font-weight:700; color:rgba(0,0,0,0.85); }
.vic-gov-mc-meta { font-size:12px; color:#333;font-weight: 600; }

/* ── 模型报告 三区域块布局（2026-06-06 优化）white ──
   布局规则为纯结构（与 dark 同值），因暗/白主题表互斥（media 切换）必须各自声明一份。 */
.vic-gov-blocks { padding: 0 5px 20px 0; }
.vic-gov-block { border: 1px solid; margin: 0 5px 20px 10px;}
.vic-gov-block:last-child { margin-bottom: 0; }
.vic-gov-block .vic-report-body .row + .row { margin-top: 20px; }
vic-gov-model .vic-gov-panel .vic-report-body .vic-gov-model-card ~ .row { margin-bottom: 15px; }
vic-gov-taskmodel .vic-gov-panel .vic-report-body .vic-gov-model-card ~ .row { margin-bottom: 15px; }
.vic-gov-block .vic-gov-ind-card { margin-bottom: 20px; }
.vic-gov-block .vic-gov-indicators .col-md-12:last-child .vic-gov-ind-card { margin-bottom: 0; }
/* .vic-gov-pagetitle { margin-bottom: 12px; }*/
.vic-gov-pagetitle-actions { display:inline-flex; align-items:center; gap:16px;margin-right:10px }
.vic-gov-pagetitle-actions .vic-gov-snaptime { font-size:12px; color:rgba(0,0,0,0.45); }
.vic-gov-pagetitle-actions .vic-gov-snaptime-val { font-weight:700; color:rgba(0,0,0,0.85); }
.vic-gov-pagetitle-actions .vic-gov-refresh { font-size:13px; }

/* ── 规模统计 KPI 卡片行（white） */
.vic-gov-kpi-cards { display:flex; gap:10px; padding:0px 4px 15px; flex-wrap:nowrap; }
.vic-gov-kpi-card { flex:1; background:rgba(0,0,0,0.03); border:1px solid rgba(0,0,0,0.07);
  border-radius:6px; padding:10px 14px; min-width:0; }
.vic-gov-kpi-card-label { font-size:12px; color:rgba(0,0,0,0.5); margin-bottom:4px; font-weight: 600;}
.vic-gov-kpi-card-row { display:flex; align-items:baseline; justify-content:space-between; gap:6px; flex-wrap:nowrap; white-space:nowrap; }
.vic-gov-kpi-card-val { font-size:22px; font-weight:800; color:#333; flex-shrink:0; }
.vic-gov-kpi-card-val.vic-gov-sev-high { color:#cf1322; }
.vic-gov-kpi-card-val.vic-gov-sev-mid  { color:#d48806; }
.vic-gov-kpi-card-sub { font-size:11px; color:rgba(0,0,0,0.80); text-align:right; }

/* ── 实例量柱图区域（white） */
.vic-gov-scale-charts { display:flex; gap:12px; align-items:stretch; }
.vic-gov-scale-bar-wrap { flex:1 1 100%; min-width:0; }
.vic-gov-mini-title-row { display:flex; align-items:center; justify-content:space-between; padding:0 5px 4px 5px; }
.vic-gov-mini-title { font-size:12px; color:rgba(0,0,0,0.5); font-weight: 600;}
.vic-gov-scale-bar { width:100%; }

/* ── 评分悬浮在雷达图右上角（white） */
.vic-gov-radar-wrap { position:relative; }
.vic-gov-score-corner {
  position:absolute; top:0px; right:10px;
  display:inline-flex; align-items:baseline; gap:6px;
  padding:4px 16px;
  border-radius:4px;
  background: rgba(0, 0, 0, 0.03);
  border:1px solid rgba(0,0,0,0.08);
  backdrop-filter:blur(4px);
}
.vic-gov-score-corner .vic-gov-score { font-size:22px; font-weight:800; font-family:system-ui; line-height:1; letter-spacing:1px; }
.vic-gov-score-corner .vic-gov-grade { font-size:14px; font-weight:700; }
.vic-gov-score-corner .vic-gov-score-sub { font-size:12px; color:rgba(0,0,0,0.4); }

/* TopN 下拉 */
.vic-gov-scale-topn { font-size:12px; color:rgba(0,0,0,0.45); display:inline-flex; align-items:center; gap:6px; }

/* ── 区域块1 两列等高（white） */
.vic-gov-row1 { display:flex; flex-wrap:wrap; align-items:stretch; }
.vic-gov-row1 > [class*="col-"] { display:flex; }
.vic-gov-row1 .vic-report-chart-card { width:100%; height:100%; }

/* ── 5维概要说明条（white） */
.vic-gov-dim-legend { padding: 4px 8px 0; display:flex; flex-direction:column; gap:4px; }
.vic-gov-dim-item { display:flex; align-items:center; gap:7px; padding:4px 10px; border-radius:3px;
  border-left:3px solid transparent; background:rgba(0,0,0,0.03);
  font-size:12px; color:rgba(0,0,0,0.55); line-height:1.4; margin-bottom: 5px; }
.vic-gov-dim-icon { font-size:11px; flex-shrink:0; }
.vic-gov-dim-item b { color:rgba(0,0,0,0.80); font-weight:600; margin-right:3px; }
.vic-gov-dim-m { border-left-color:#2563EB; } .vic-gov-dim-m .vic-gov-dim-icon { color:#2563EB; }
.vic-gov-dim-a { border-left-color:#059669; } .vic-gov-dim-a .vic-gov-dim-icon { color:#059669; }
.vic-gov-dim-r { border-left-color:#D97706; } .vic-gov-dim-r .vic-gov-dim-icon { color:#D97706; }
.vic-gov-dim-k { border-left-color:#7C3AED; } .vic-gov-dim-k .vic-gov-dim-icon { color:#7C3AED; }
.vic-gov-dim-u { border-left-color:#0891B2; } .vic-gov-dim-u .vic-gov-dim-icon { color:#0891B2; }
.vic-gov-dim-c { border-left-color:#EA580C; } .vic-gov-dim-c .vic-gov-dim-icon { color:#EA580C; }

/* ── 白色主题补齐：布局/结构规则（黑色版有，白色版缺失）── */
.vic-gov-panel {border: 1px solid;margin: 20px 30px 20px 10px;}
.vic-gov-console { display:flex; align-items:center; justify-content:space-between; padding:8px 12px; }
.vic-gov-title { font-weight:bold; font-size:14px; color:rgba(0,0,0,0.85); }
.vic-gov-actions { display:flex; align-items:center; gap:12px; }
.vic-gov-kpi-row { display:flex; flex-wrap:wrap; gap:12px; padding:12px; }
.vic-gov-score-wrap { display:flex; align-items:baseline; gap:10px; padding:8px 16px; }
.vic-gov-sev-high { color:#cf1322; font-weight:bold; }
.vic-gov-sev-mid  { color:#d48806; font-weight:bold; }
.vic-gov-sev-low  { color:#389e0d; font-weight:bold; }
.vic-gov-link { color:#1677ff; font-weight:bold; cursor:pointer; }
.vic-gov-link:hover { color:#4096ff; }
.vic-gov-back { display:inline-flex; align-items:center; gap:4px; font-size:13px; font-weight:bold; color:#1677ff; cursor:pointer; margin-left:12px; }
.vic-gov-back:hover { color:#4096ff; }
.vic-gov-radar { width:100%; height:280px; }
.vic-gov-chord { width:100%; overflow-x:auto; overflow-y:hidden; }
.vic-gov-chord-topn { float:right; font-size:12px; }

.vic-gov-detail-radar-row { display:flex; flex-wrap:wrap; }
.vic-gov-detail-col { display:flex; flex-direction:column; }
.vic-gov-detail-col .vic-chart-card { flex:1; }
.vic-gov-dim-table th:last-child, .vic-gov-dim-table td:last-child { width:36px; min-width:36px; max-width:36px; padding:0; }
.vic-gov-dim-problem-cell { white-space:pre-line; font-size:12px; vertical-align:top; padding-top:8px; }
.vic-gov-dim-problem-inner { display:flex; align-items:flex-start; gap:4px; }
.vic-gov-dim-problem-text { flex:1; min-width:0; word-break:break-word; white-space:pre-line; }
.vic-gov-dim-no-problem { color:#999; }
.vic-gov-copy-icon { flex-shrink:0; cursor:pointer; opacity:0.6; font-size:12px; margin-top:1px; }
.vic-gov-copy-icon:hover { opacity:1; color:#2563EB; }
.vic-tab-badge-new {
  display: inline-block;
  margin-left: 5px;
  padding: 1px 4px;
  font-size: 10px;
  font-weight: 600;
  line-height: 14px;
  border-radius: 3px;
  background: rgba(153,102,255,0.25);
  color: rgba(153,102,255,1);
  vertical-align: middle;
  letter-spacing: 0.5px;
}

ice-resource-model .vic-gov-panel{
  margin: 20px 10px 20px 10px;
}

ice-resource-model .ant-tabs-tabpane .vic-gov-panel{
  margin: 5px 10px 20px 0px;
}
.vic-gov-detail-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 200px;
  font-size: 14px;
  color: rgba(0,0,0,0.35);
}
.vic-gov-detail-loading i { font-size: 22px; }
.vic-gov-model-name-sub { font-weight:normal; color:rgba(0,0,0,0.35); font-size:12px; }
.vic-gov-loading { display:flex; align-items:center; gap:8px; padding:24px; font-size:14px; color:rgba(0,0,0,0.35); }
.vic-gov-loading i { font-size:18px; }
.vic-gov-expand-panel { background:rgba(0,0,0,0.03); border:1px solid rgba(0,0,0,0.08); border-radius:4px; padding:12px; margin:4px 0; }
.vic-gov-expand-head { display:flex; align-items:center; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.vic-gov-expand-search { width:220px; height:28px; font-size:12px; }
.vic-gov-field-col { min-width:200px; font-size:12px; }
.vic-gov-expr-col { max-width:340px; }
.vic-gov-expr-text { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:320px; font-size:12px; font-family:monospace; color:rgba(0,0,0,0.65); cursor:pointer; }
.ml-8 { margin-left:8px; }
/* 字段分析展开表格：占满宽度，列宽均分 */
.vic-gov-fa-table { width:100%; table-layout:fixed; }
.vic-gov-fa-table th, .vic-gov-fa-table td { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vic-gov-fa-table .vic-gov-field-col { min-width:0; }
.vic-gov-fa-table .vic-gov-expr-col { max-width:none; }
.vic-gov-fa-table .vic-gov-expr-text { max-width:none; }
/* 分页器行 */
.vic-gov-fa-pager { padding:10px 0 4px; display:flex; justify-content:flex-end; }
/* 展开钻取表通用：固定布局均等列宽，overflow ellipsis */
.vic-gov-expand-table { width:100%; table-layout:fixed; }
.vic-gov-expand-table th, .vic-gov-expand-table td { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:8px 10px; }
/* 钻取表空状态（无数据/无搜索结果）居中占位 */
.vic-gov-expand-empty { padding:24px; text-align:center; font-size:13px; color:rgba(0,0,0,0.35); }
/* 行内复制图标 */
.vic-gov-copy-btn { cursor:pointer; opacity:0.45; font-size:12px; margin-left:6px; vertical-align:middle; transition:opacity 0.15s; }
.vic-gov-copy-btn:hover { opacity:1; color:#4096ff; }
/* Block 3 无快照空状态 */
.vic-gov-no-snapshot { display:flex; align-items:center; justify-content:center; gap:10px; padding:40px 24px; font-size:14px; color:rgba(0,0,0,0.35); }
.vic-gov-no-snapshot i { font-size:20px; }

/* 质量分/严重度色与暗色一致(语义色不随主题变) */

.vic-gov-tbl-copy-btn { cursor:pointer; opacity:1; font-size:12px; margin-left:8px; vertical-align:middle; transition:opacity 0.15s; flex-shrink:0; }
.vic-gov-tbl-copy-btn:hover { opacity:1; color:#2563EB; }

/* 任务模型治理：单模型名称可点（蓝色，与白色 link 一致） */
.vic-gov-mc-name.vic-gov-link { color:#1677ff !important; cursor:pointer; }
.vic-gov-mc-name.vic-gov-link:hover { color:#4096ff !important; }

/* 单模型属性/关系/参数明细：可见/隐藏 透明标签（靠字段名列右边缘，与字段名两端对齐） */
.vic-gov-name-cell { display:flex; align-items:center; gap:6px; }
.vic-gov-name-cell .vic-gov-name-text { flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }
/* 可见=绿色淡底标签，隐藏=灰色淡底标签（白色主题柔和版，ant tag 风格） */
.vic-gov-vis-tag { display:inline-block; flex:0 0 auto; margin-left:auto; padding:0 7px; font-size:11px; font-weight:600; line-height:18px; border-radius:9px; background:#f6ffed; border:1px solid #b7eb8f; color:#389e0d; }
.vic-gov-vis-tag.is-hidden { background:#f0f0f0; border-color:#d0d0d0; color:rgba(0,0,0,0.45); }

/* 正则校验明细 — 无效(红)/低效(橙)透明标签（白主题，加深保证对比度） */
.vic-gov-regex-tag { display:inline-block; flex:0 0 auto; padding:0 6px; margin-right:6px; font-size:11px; font-weight:600; line-height:18px; border-radius:3px; background:transparent; border:1px solid rgba(0,0,0,0.2); color:rgba(0,0,0,0.45); }
.vic-gov-regex-tag.is-invalid { border-color:rgba(207,19,34,0.6); color:#cf1322; }
.vic-gov-regex-tag.is-low { border-color:rgba(212,107,8,0.6); color:#d46b08; }
