.custom-checkbox {
    position: relative;
}

.custom-checkbox input {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
}

.custom-checkbox label {
    position: relative;
    padding-left: 25px; /* Adjust based on your design */
    cursor: pointer;
    display: inline-block;
}

.custom-checkbox label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 20px; /* Adjust based on your design */
    height: 20px; /* Adjust based on your design */
    border: 2px solid #aaa;
    background-color: #fff;
    box-sizing: border-box;
}

.custom-checkbox input:checked + label:before {
    background-color: #4CAF50; /* Adjust based on your design */
    border-color: #4CAF50; /* Adjust based on your design */
}

.custom-checkbox input:indeterminate + label:before {
    background-color: #FFD700; /* Adjust based on your design */
    border-color: #FFD700; /* Adjust based on your design */
}

.custom-checkbox label:after {
    content: '';
    position: absolute;
    left: 6px; /* Adjust based on your design */
    top: 50%;
    width: 8px; /* Adjust based on your design */
    height: 2px; /* Adjust based on your design */
    background-color: #fff;
    transform: translateY(-50%) rotate(45deg);
    display: none;
}

.custom-checkbox input:checked + label:after {
    display: block;
}

.line-h34{
    line-height: 34px;
}
.flex{
    display: flex;
}
.flex-1{
  flex:1;
}
.items-center{
  align-items: center;
}
.cursor-pointer{
  cursor:pointer
}
.w-full{
  width:100%;
}
.p0{
  padding:0;
}
.pa-10{
    padding:10px
}
.mlr-2{
  margin:0 2px
}
.mr-5{
  margin-right:5px;
}
.mr-10{
  margin-right:10px;
}
.mb-5{
  margin-bottom:5px;
}
.mt-5{
  margin-top:5px;
}
.mb-10{
  margin-bottom:10px !important;
}

.border{
  border:1px solid #d4d4d5;
}
.table_content_body{
    overflow-y:auto;
    max-height: 600px;
    position:relative;
}

table.parent_table{
    position:absolute;
    top:0;
    background: #fff !important;
    z-index: 1;
    padding: 5px 0;
}

table.children_table{
    margin-top:-5px !important;
}

.table_content_body thead {
    height:0;
}


.base_content{
    min-height: 100px;
    max-height: 700px;
    overflow: auto;
}


.base_tree_main ul {
    list-style-type:none;
    margin:0;
    padding:0;
}
.base_tree_main > ul > li {
  margin-left:0
}
.base_tree_main li {
    margin-left:20px;
    cursor:pointer;
}
.tree_line {
  position: relative;
  display: flex;
  align-items: center;
  padding: 3px 5px;
  padding-left: 25px;
}
.tree_line.type0 input{
  margin-right: 25px !important;
}
.tree_line.type1 input{
  margin-right: 20px !important;
}
.tree_line:before{
  font: normal normal normal 16px/1 Octicons;
   content: " ";
  font-size:12px;
      line-height: 22px;
  position:absolute;
  left: 44px;
	background-size:contain !important;
	width:20px;
	height:20px;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.tree_line.type0:before{
 	content: "\f037";
      font-size: 18px;
  /* color:#4fb2ab; */
	/* background:url('../../img/group2.png'); */
}
.tree_line.type1:before{
  content: "\f001";
      font-size: 16px;
  /* color:#cb573b; */
	/* background:url('../../img/object2.png');
	background-size: 15px !important; */
}
.tree_line.active {
    background: #39b3ac;
    color: #eee;
}
.tree_exbutton {
  width: 25px;
  height: 20px;
  margin-right: 5px;
}
.tree_exbutton:hover{
  background:#eeeeee78;

}
.tree_line:hover{
  background:#ebebeb;
}
.tree_line.active:hover {
    background: #39b3ac;
    color: #eee;
}
.tree_line [type=checkbox]{
    cursor: pointer;
    width: 15px;
    height: 15px;
    margin-right:5px
}

.tree_line.noicon[data-end='false']:after {
  display: none;
}

.tree_line.sp[data-end='false']:after {
  left: -20px;
}

.tree_line[data-end='false']:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translate(0%, -50%) rotate(-135deg);
  width: 6px;
  height: 6px;
  border-left: 2px solid #333; /* 设置箭头线条的样式和颜色 */
  border-bottom: 2px solid #333;
  transition: transform 0.3s;
}

.tree_line.expanded[data-end='false']:after {
 transform: translate(0%, -50%) rotate(-45deg);
}


.overlay {
  display: flex;
  justify-content: center; /* 水平居中 */
  align-items: center; /* 垂直居中 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0); /* 半透明遮罩 */
}

.notification {
  display: none;
  padding: 5px 15px;
  background-color: #4CAF50; /* 绿色背景，可以根据需要更改颜色 */
  color: white;
  border-radius: 5px;
  position: relative;
}

.notification p {
  margin: 0;
}

.notification .close {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 20px;
  cursor: pointer;
  display: none;
}

.notification.success {
  box-sizing: border-box;
  border-radius: 4px;
  border-width: 1px;
  border-style: solid;
  border-color: #e1f3d8;
  position: fixed;
  left: 50%;
  top: 120px;
  transform: translateX(-50%);
  background-color: #e1f3d7;
  color: #67c23a;
}

.notification.error {
   box-sizing: border-box;
  border-radius: 4px;
  border-width: 1px;
  border-style: solid;
  border-color: #fde2e2;
  position: fixed;
  left: 50%;
  top: 120px;
  transform: translateX(-50%);
  background-color: #fef0f0;
  color: #f56c6c;
}



/** loading start**/
.lds-roller_parent{
  position:relative;
  overflow: hidden;
}
.lds-roller_body{
  /* background:#bdbdbd54; */
  width:100%;
  height:100%;
  position: absolute;
  left: 0;
  top: 0;
  overflow:hidden;
}
.lds-roller {
    position: relative;
    width: 80px;
    height: 80px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.lds-roller div {
  animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  transform-origin: 40px 40px;
}
.lds-roller div:after {
  content: " ";
  display: block;
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #000000;
  margin: -4px 0 0 -4px;
}
.lds-roller div:nth-child(1) {
  animation-delay: -0.036s;
}
.lds-roller div:nth-child(1):after {
  top: 63px;
  left: 63px;
}
.lds-roller div:nth-child(2) {
  animation-delay: -0.072s;
}
.lds-roller div:nth-child(2):after {
  top: 68px;
  left: 56px;
}
.lds-roller div:nth-child(3) {
  animation-delay: -0.108s;
}
.lds-roller div:nth-child(3):after {
  top: 71px;
  left: 48px;
}
.lds-roller div:nth-child(4) {
  animation-delay: -0.144s;
}
.lds-roller div:nth-child(4):after {
  top: 72px;
  left: 40px;
}
.lds-roller div:nth-child(5) {
  animation-delay: -0.18s;
}
.lds-roller div:nth-child(5):after {
  top: 71px;
  left: 32px;
}
.lds-roller div:nth-child(6) {
  animation-delay: -0.216s;
}
.lds-roller div:nth-child(6):after {
  top: 68px;
  left: 24px;
}
.lds-roller div:nth-child(7) {
  animation-delay: -0.252s;
}
.lds-roller div:nth-child(7):after {
  top: 63px;
  left: 17px;
}
.lds-roller div:nth-child(8) {
  animation-delay: -0.288s;
}
.lds-roller div:nth-child(8):after {
  top: 56px;
  left: 12px;
}
@keyframes lds-roller {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/**loading end**/
