.orgx-lab .orgx-dialog {
  width: 745px;
  height: 566px;
  border-radius: 8px;
  background: #edf0f4;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .08);
  font-family: "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-dialog > header {
  height: 56px;
  padding: 16px 24px;
  border-bottom: 1px solid #ebebeb;
  background: #fff;
}

.orgx-lab .orgx-dialog > header strong {
  color: #222;
  font: 700 16px/24px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-dialog > header .orgx-close,
.orgx-lab .orgx-history-close {
  width: 22px;
  height: 22px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 4px;
  background: transparent;
}

.orgx-lab .orgx-dialog > header .orgx-close:hover,
.orgx-lab .orgx-history-close:hover {
  background: rgba(0, 0, 0, .04);
}

.orgx-lab .orgx-dialog > header .orgx-close .orgx-icon,
.orgx-lab .orgx-history-close .orgx-icon {
  width: 22px !important;
  height: 22px !important;
}

.orgx-lab .orgx-dialog > main {
  left: 4px;
  right: 4px;
  top: 60px;
  height: 454px;
  grid-template-columns: 483px 250px;
  gap: 4px;
}

.orgx-lab .orgx-left,
.orgx-lab .orgx-right {
  border: 1px solid #ebebeb;
  border-radius: 4px;
  background: #fff;
}

.orgx-lab .orgx-search-row {
  height: 52px;
  padding: 8px;
  gap: 8px;
  border-bottom: 1px solid #ebebeb;
}

.orgx-lab .orgx-search {
  height: 32px;
  width: 467px;
  min-width: 467px;
  padding: 5px 12px;
  gap: 8px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  color: #999;
  font: 400 14px/22px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-search-row:has(.orgx-type) .orgx-search {
  width: 335px;
  min-width: 335px;
}

.orgx-lab .orgx-search .orgx-icon {
  width: 16px !important;
  height: 16px !important;
}

.orgx-lab .orgx-type {
  width: 124px;
  height: 32px;
  padding: 5px 8px;
  gap: 4px;
  flex: 0 0 124px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  color: #666;
  background: #fff;
  font: 400 14px/22px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-type .orgx-icon:first-child {
  width: 16px !important;
  height: 16px !important;
}

.orgx-lab .orgx-type .down {
  width: 12px !important;
  height: 12px !important;
  margin-left: auto;
  transform: rotate(90deg);
}

.orgx-lab .orgx-summary {
  height: 48px;
  padding: 12px 8px;
  border-bottom: 1px solid #ebebeb;
  color: #999;
  font: 400 14px/22px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-summary b {
  color: #333;
  font-weight: 400;
}

.orgx-lab .orgx-summary button {
  padding: 0;
  color: #e44144;
  font: 400 14px/22px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-tree,
.orgx-lab .orgx-search-results {
  left: 4px;
  right: 4px;
  top: 52px;
  padding-top: 4px;
  overflow: hidden;
}

.orgx-lab .orgx-row,
.orgx-lab .orgx-result-row {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  height: 30px;
  padding: 4px 4px 4px calc(4px + var(--orgx-level, 0) * 24px);
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 4px;
  color: #666;
  font: 400 14px/22px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-row.active,
.orgx-lab .orgx-result-row.active {
  color: #333;
  background: rgba(0, 0, 0, .04);
}

.orgx-lab .orgx-row-entity {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.orgx-lab .orgx-row-entity > span:not(.orgx-avatar) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.orgx-lab .orgx-row-entity small,
.orgx-lab .orgx-selected-row small,
.orgx-lab .orgx-popover-row small {
  flex: 0 0 auto;
  color: #999;
  font: 400 12px/18px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-row .orgx-icon,
.orgx-lab .orgx-result-row .orgx-icon,
.orgx-lab .orgx-selected-row > .orgx-icon,
.orgx-lab .orgx-popover-row > .orgx-icon,
.orgx-lab .orgx-filter-row .orgx-row-entity > .orgx-icon {
  width: 22px !important;
  height: 22px !important;
}

.orgx-lab .orgx-avatar {
  position: relative;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  flex: 0 0 22px;
  overflow: hidden;
  border-radius: 50%;
}

.orgx-lab .orgx-avatar img {
  position: absolute;
  inset: 0;
  width: 22px;
  height: 22px;
  object-fit: cover;
}

.orgx-lab .orgx-avatar em {
  position: relative;
  z-index: 1;
  max-width: 20px;
  overflow: hidden;
  color: #fff;
  font: normal 400 8px/12px "Source Han Sans CN", "思源黑体 CN", sans-serif;
  white-space: nowrap;
}

.orgx-lab .orgx-check {
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  color: #fff;
  background: #fff;
  cursor: pointer;
  font: 400 11px/14px Arial, sans-serif;
}

.orgx-lab .orgx-check.checked {
  border-color: #2990ff;
  background: #2990ff;
}

.orgx-lab .orgx-check.disabled {
  border-color: #b6d9ff;
  background: #b6d9ff;
  cursor: default;
}

.orgx-lab .orgx-row-actions {
  position: relative;
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.orgx-lab .orgx-row-action {
  position: relative;
  width: 22px;
  height: 22px;
  padding: 0;
  display: grid;
  place-items: center;
  flex: 0 0 22px;
  border: 0;
  border-radius: 4px;
  background: transparent;
}

.orgx-lab .orgx-row-action:hover {
  background: rgba(0, 0, 0, .04);
}

.orgx-lab .orgx-row-action .orgx-icon {
  width: 12px !important;
  height: 12px !important;
}

.orgx-lab .orgx-row-action .orgx-chevron {
  filter: brightness(.66);
  transition: transform .16s ease;
}

.orgx-lab .orgx-row-action .orgx-chevron-down { transform: rotate(90deg); }
.orgx-lab .orgx-row-action .orgx-chevron-up { transform: rotate(-90deg); }

.orgx-lab .orgx-row-action::after {
  content: attr(data-tooltip);
  position: absolute;
  z-index: 12;
  right: 0;
  bottom: 27px;
  padding: 4px 8px;
  border-radius: 4px;
  color: #fff;
  background: #333;
  font: 400 14px/22px "Source Han Sans CN", "思源黑体 CN", sans-serif;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transform: translateY(2px);
  transition: opacity .12s ease, transform .12s ease;
}

.orgx-lab .orgx-row-action:hover::after {
  opacity: 1;
  transform: translateY(0);
}

.orgx-lab .orgx-action-divider {
  width: 1px;
  height: 14px;
  flex: 0 0 1px;
  background: #d9d9d9;
}

.orgx-lab .orgx-line,
.orgx-lab .orgx-row[class*="level-"]::before {
  position: absolute;
  z-index: 0;
  background: #ebebeb;
  pointer-events: none;
}

.orgx-lab .orgx-line {
  top: 49px;
  width: 1px;
}

.orgx-lab .orgx-line.l1 { left: 35px; height: 330px; }
.orgx-lab .orgx-line.l2 { left: 59px; top: 109px; height: 240px; }
.orgx-lab .orgx-line.l3 { left: 83px; top: 169px; height: 150px; }
.orgx-lab .orgx-line.l4 { left: 107px; top: 199px; height: 60px; }

.orgx-lab .orgx-row[class*="level-"]::before {
  content: "";
  top: 15px;
  height: 1px;
}

.orgx-lab .orgx-row.level-0::before { display: none; }
.orgx-lab .orgx-row.level-1::before { left: 12px; width: 8px; }
.orgx-lab .orgx-row.level-2::before { left: 36px; width: 8px; }
.orgx-lab .orgx-row.level-3::before { left: 60px; width: 8px; }
.orgx-lab .orgx-row.level-4::before { left: 84px; width: 8px; }

.orgx-lab .orgx-tree.with-all {
  padding-top: 4px;
}

.orgx-lab .orgx-tree.with-all .orgx-all-row {
  margin-bottom: 8px;
}

.orgx-lab .orgx-tree.with-all .orgx-all-row::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  border-bottom: 1px dashed #ebebeb;
}

.orgx-lab .orgx-tree.flat .orgx-row {
  padding-left: 4px;
}

.orgx-lab .orgx-tree.flat .orgx-line,
.orgx-lab .orgx-tree.flat .orgx-row::before {
  display: none;
}

.orgx-lab .orgx-history-view {
  margin-left: auto;
  padding: 0;
  border: 0;
  color: #2990ff;
  background: transparent;
  font: 400 14px/22px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-history-popover {
  position: absolute;
  z-index: 20;
  left: 180px;
  top: 82px;
  width: 298px;
  height: 256px;
  overflow: hidden;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .08);
}

.orgx-lab .orgx-history-popover.hidden {
  display: none;
}

.orgx-lab .orgx-history-popover > header {
  box-sizing: border-box;
  height: 48px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #ebebeb;
}

.orgx-lab .orgx-history-popover > header strong {
  color: #333;
  font: 700 16px/24px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-history-popover > div {
  padding: 4px;
  display: grid;
  gap: 4px;
}

.orgx-lab .orgx-popover-row {
  box-sizing: border-box;
  width: 290px;
  height: 30px;
  padding: 4px 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 4px;
  color: #666;
  font: 400 14px/22px "Source Han Sans CN", "思源黑体 CN", sans-serif;
  white-space: nowrap;
}

.orgx-lab .orgx-popover-row.active {
  color: #333;
  background: rgba(0, 0, 0, .04);
}

.orgx-lab .orgx-popover-scroll {
  position: absolute;
  top: 58px;
  right: 4px;
  width: 4px;
  height: 67px;
  border-radius: 2px;
  background: rgba(0, 0, 0, .3);
}

.orgx-lab .orgx-search-results {
  position: absolute;
  bottom: auto;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.orgx-lab .orgx-result-row {
  padding-left: 4px;
}

.orgx-lab .orgx-result-row mark {
  color: #f0aa32;
  background: transparent;
}

.orgx-lab .orgx-selected-list {
  padding: 4px 8px;
  display: grid;
  gap: 4px;
}

.orgx-lab .orgx-selected-row {
  box-sizing: border-box;
  width: 234px;
  height: 30px;
  padding: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
  border-radius: 4px;
  color: #666;
  font: 400 14px/22px "Source Han Sans CN", "思源黑体 CN", sans-serif;
  white-space: nowrap;
}

.orgx-lab .orgx-selected-row:has(.orgx-remove) {
  color: #333;
  background: rgba(0, 0, 0, .04);
}

.orgx-lab .orgx-selected-row > span:not(.orgx-avatar) {
  overflow: hidden;
  text-overflow: ellipsis;
}

.orgx-lab .orgx-remove {
  width: 16px;
  height: 16px;
  margin-left: auto;
  padding: 2px;
  display: grid;
  place-items: center;
  flex: 0 0 16px;
  border: 0;
  border-radius: 50%;
  background: #bfbfbf;
}

.orgx-lab .orgx-remove .orgx-icon {
  width: 12px !important;
  height: 12px !important;
  filter: brightness(0) invert(1);
}

.orgx-lab .orgx-empty-state,
.orgx-lab .orgx-search-empty {
  height: 398px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  color: #999;
  font: 400 16px/24px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-empty-state {
  box-sizing: border-box;
  padding-top: 104px;
  justify-content: flex-start;
}

.orgx-lab .orgx-empty-state img,
.orgx-lab .orgx-search-empty img {
  width: 120px;
  height: 120px;
  object-fit: contain;
}

.orgx-lab .orgx-search-empty {
  position: absolute;
  left: 0;
  right: 0;
  top: 132px;
  bottom: auto;
  height: 184px;
  justify-content: flex-start;
}

.orgx-lab .orgx-search-empty img {
  width: 160px;
  height: 160px;
}

.orgx-lab .orgx-dialog > footer {
  height: 48px;
  padding: 8px 24px;
  gap: 16px;
  border-top: 1px solid #ebebeb;
  background: #fff;
}

.orgx-lab .orgx-dialog > footer button {
  width: 60px;
  height: 32px;
  border-radius: 4px;
  font: 400 14px/22px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-dialog > footer button:last-child:disabled {
  border-color: #b6d9ff;
  color: #fff;
  background: #b6d9ff;
  cursor: default;
}

.orgx-lab .orgx-filter {
  position: relative;
  box-sizing: border-box;
  width: 274px;
  height: 300px;
  overflow: hidden;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .08);
  font-family: "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-child-switch {
  position: absolute;
  left: 8px;
  top: 8px;
  height: 22px;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 0;
  color: #333;
  background: transparent;
  font: 400 14px/22px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-child-switch > i {
  box-sizing: border-box;
  width: 32px;
  height: 16px;
  padding: 2px;
  display: block;
  border-radius: 100px;
  background: #bfbfbf;
}

.orgx-lab .orgx-child-switch > i > b {
  width: 12px;
  height: 12px;
  display: block;
  border-radius: 50%;
  background: #fff;
  transition: transform .16s ease;
}

.orgx-lab .orgx-child-switch.on > i { background: #2990ff; }
.orgx-lab .orgx-child-switch.on > i > b { transform: translateX(16px); }

.orgx-lab .orgx-filter-divider {
  position: absolute;
  left: 8px;
  right: 8px;
  top: 38px;
  border-bottom: 1px dashed #ebebeb;
}

.orgx-lab .orgx-filter-tree {
  position: absolute;
  left: 4px;
  right: 4px;
  top: 46px;
  bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.orgx-lab .orgx-filter-row {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 266px;
  height: 30px;
  padding: 4px 4px 4px calc(4px + var(--orgx-level) * 24px);
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 30px;
  border-radius: 4px;
  color: #666;
  font: 400 14px/22px "Source Han Sans CN", "思源黑体 CN", sans-serif;
}

.orgx-lab .orgx-filter-row.active,
.orgx-lab .orgx-filter-row:hover {
  color: #333;
  background: rgba(0, 0, 0, .04);
}

.orgx-lab .orgx-filter-row .orgx-row-actions {
  margin-left: auto;
}

.orgx-lab .orgx-filter-line {
  position: absolute;
  z-index: 0;
  width: 1px;
  background: #ebebeb;
}

.orgx-lab .orgx-filter-line.line-1 { left: 39px; top: 49px; height: 205px; }
.orgx-lab .orgx-filter-line.line-2 { left: 63px; top: 117px; height: 120px; }

.orgx-lab .orgx-filter-scroll {
  position: absolute;
  top: 4px;
  right: 0;
  width: 4px;
  height: 67px;
  border-radius: 2px;
  background: rgba(0, 0, 0, .3);
}

.orgx-lab .orgx-card-preview:has(.orgx-filter) { min-height: 340px; }
.orgx-lab .orgx-live:has(.orgx-filter) { min-height: 360px; }

@media (max-width: 980px) {
  .orgx-lab .orgx-filter { transform: none; }
}
