/**
 * 角色列表组件样式
 * 与 rbac 模块的 role-list 保持一致
 */
.index__container--fs7G0 {
  display: flex;
  flex-direction: column;
  width: 304px;
  height: 100%;
  border-right: 1px solid var(--color-border);
  background-color: var(--color-bg-primary);
  box-sizing: border-box;
  overflow: hidden;
}
.index__header--iwZLr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-base) var(--spacing-base) var(--spacing-sm);
}
.index__title--JYMOd {
  margin: 0;
  font-size: var(---font-size-lg);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-lg);
  color: var(--color-text-primary);
}
.index__totalCount--uDVab {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-lg);
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.index__searchWrapper--bQAJE {
  padding: 0 var(--spacing-base) var(--spacing-sm);
}
.index__listWrapper--TDoAH {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0 var(--spacing-base);
}
.index__listWrapper--TDoAH .index__listContent--hcJbq {
  width: calc(100% + 16px);
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
  margin-right: -16px;
}
.index__listWrapper--TDoAH.index__listWrapperNoScrollbar--Mc_6Z .index__listContent--hcJbq {
  margin-right: 0;
  width: 100%;
}
.index__listWrapper--TDoAH:hover {
  scrollbar-color: var(--color-border) transparent;
}
.index__listWrapper--TDoAH::-webkit-scrollbar {
  width: 4px;
}
.index__listWrapper--TDoAH::-webkit-scrollbar-track {
  background: transparent;
}
.index__listWrapper--TDoAH::-webkit-scrollbar-thumb {
  background-color: transparent;
  border-radius: 4px;
}
.index__listWrapper--TDoAH:hover::-webkit-scrollbar-thumb {
  background-color: var(--color-border);
}
.index__roleItem--aKPhl {
  position: relative;
  display: flex;
  gap: var(--spacing-xs);
  align-items: center;
  padding: 10px;
  border-radius: 20px;
  cursor: pointer;
  transition: background-color var(--motion-duration-mid) var(--motion-ease-in-out);
  margin-bottom: 4px;
}
.index__roleItem--aKPhl:hover {
  background-color: var(--color-fill-hover);
}
.index__roleItem--aKPhl:hover .index__roleInfo--BOTtI {
  padding-right: 32px;
}
.index__roleItem--aKPhl:hover .index__moreButton--zfnWo {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.index__roleItemSelected--otEPW {
  background-color: #eef0f3;
}
.index__roleItemSelected--otEPW:hover {
  background-color: #eef0f3;
}
/* 更多按钮样式 - 默认隐藏且不占位，hover/selected/open 时显示 */
.index__moreButton--zfnWo {
  position: absolute;
  top: 50%;
  right: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: transparent;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-50%);
  transition: opacity var(--motion-duration-mid) var(--motion-ease-in-out), visibility var(--motion-duration-mid) var(--motion-ease-in-out), background-color var(--motion-duration-mid) var(--motion-ease-in-out);
}
.index__moreButton--zfnWo:hover {
  background-color: rgba(188, 195, 208, 0.25);
}
.index__moreButtonVisible--Da8A9 {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.index__avatar--AJqZL {
  flex-shrink: 0;
}
.index__roleInfo--BOTtI {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.index__roleNameRow--IDVLG {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--spacing-xxs);
  min-width: 0;
}
.index__roleNameWrapper--HACTs {
  min-width: 0;
  overflow: hidden;
}
.index__roleName--VIKJs {
  min-width: 0;
  margin: 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-lg);
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.index__roleDescription--PKWq2 {
  margin: 0;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.index__badge--WOyNQ {
  flex-shrink: 0;
  display: block;
  max-width: 64px;
  height: 20px;
  padding: 2px var(--spacing-xxs);
  border-radius: 6px;
  box-sizing: border-box;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-sm);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.index__badgeSystem--BJZqP {
  background-color: #fbe9e7;
  color: #ba360a;
}
.index__badgeCustom--uiZya {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
}
.index__footer--Ewl4_ {
  flex-shrink: 0;
  padding: var(--spacing-base);
}
.index__addRoleButton--w3h__ {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  height: 52px !important;
  border: none;
  border-radius: 16px !important;
  padding: 10px 12px;
  cursor: pointer !important;
  transition: opacity var(--motion-duration-mid) var(--motion-ease-in-out);
}
.index__addRoleButtonText--jecsp {
  font-family: 'MTS Wide', sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  white-space: nowrap;
}
.index__emptyState--my1XB {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-xxl) var(--spacing-base);
  color: var(--color-text-secondary);
  text-align: center;
}
/* Popover 操作浮层样式 */
.index__popover--K8KnO .ant-popover-inner {
  padding: 8px;
  border-radius: 12px;
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.15);
}
.index__popoverContent--YE2gt {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 120px;
}
.index__popoverItem--mmiqj {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  cursor: pointer;
  font-family: var(--font-family-base);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-text-primary);
  transition: background-color var(--motion-duration-mid) var(--motion-ease-in-out);
}
.index__popoverItem--mmiqj:hover {
  background-color: var(--color-bg-hover);
}
.index__popoverItem--mmiqj svg {
  flex-shrink: 0;
  color: var(--color-text-secondary);
}
.index__popoverItemDanger--RnLsp {
  color: var(--color-error);
}
.index__popoverItemDanger--RnLsp svg {
  color: var(--color-error);
}
.index__popoverItemDanger--RnLsp:hover {
  background-color: rgba(255, 0, 50, 0.08);
}
/*# sourceMappingURL=/data/src/pages/admin/role/components/role-list/index.css.map */
/**
 * 权限表格组件样式
 * 基于 Figma 设计稿权限配置界面
 * @see https://www.figma.com/design/IoAA0ODacJvCPVnAl9e06Y/МWS-365--Admin?node-id=43-6777
 */
.index__container--MpoyA {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
  width: 100%;
}
/* 头部区域 */
.index__header--ufRza {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 32px;
}
/* 头部标题 */
.index__headerTitle--MehcT {
  font-family: var(--font-family-base);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-base);
  color: var(--color-text-primary);
}
/* 按钮组容器 */
.index__buttonGroup--p6ote {
  display: flex;
  align-items: center;
  gap: 12px;
}
/* 编辑按钮 */
.index__editButton--qY8Fx {
  display: flex;
  align-items: center;
  gap: 4;
  height: 32px !important;
  padding: 10px 12px;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: background-color var(--motion-duration-mid) var(--motion-ease-in-out);
  /* 禁用状态：保持黑色背景，降低不透明度 */
}
.index__editButton--qY8Fx:disabled,
.index__editButton--qY8Fx.index__ant-btn-disabled--jbGla {
  color: #000;
}
/* 取消按钮 */
.index__cancelButton--PpRHJ {
  display: flex;
  align-items: center;
  height: 32px !important;
  padding: 10px 12px;
  border-radius: 12px;
  cursor: pointer;
  transition: background-color var(--motion-duration-mid) var(--motion-ease-in-out);
}
/* 确认按钮 */
.index__confirmButton--hQpZl {
  display: flex;
  align-items: center;
  height: 32px !important;
  padding: 10px 12px;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: background-color var(--motion-duration-mid) var(--motion-ease-in-out);
}
/* 编辑图标 */
.index__editIcon--aSsdt {
  width: 16px;
  height: 16px;
}
/* 编辑按钮文字 */
.index__editButtonText--rdC3V {
  font-family: var(--font-family-base);
  font-size: 10px;
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  white-space: nowrap;
}
/* 编辑按钮样式覆盖 - 提高特异性 */
.index__editButton--qY8Fx {
  /* 当按钮被禁用时，覆盖全局 disabled 样式 */
}
.index__editButton--qY8Fx:disabled,
.index__editButton--qY8Fx.index__ant-btn-disabled--jbGla {
  cursor: pointer !important;
  /* 内部元素也保持指针样式 */
}
.index__editButton--qY8Fx:disabled .index__editButtonText--rdC3V,
.index__editButton--qY8Fx.index__ant-btn-disabled--jbGla .index__editButtonText--rdC3V,
.index__editButton--qY8Fx:disabled .index__editIcon--aSsdt,
.index__editButton--qY8Fx.index__ant-btn-disabled--jbGla .index__editIcon--aSsdt {
  cursor: pointer !important;
}
/* 权限分组网格布局 - 每行两个卡片 */
.index__groupGrid--tcRyk {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-lg);
  /* 响应式：小屏幕单列 */
}
@media (max-width: 768px) {
  .index__groupGrid--tcRyk {
    grid-template-columns: 1fr;
  }
}
/* 分组卡片 */
.index__groupCard--Aztd1 {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-xl);
  overflow: hidden;
}
/* 分组头部 */
.index__groupHeader--p7rLN {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-base);
  padding-bottom: var(--spacing-sm);
  background-color: var(--color-bg-primary);
  border-bottom: 1px solid var(--color-border);
  cursor: pointer;
  user-select: none;
  transition: background-color var(--motion-duration-mid) var(--motion-ease-in-out);
}
.index__groupHeader--p7rLN:hover {
  background-color: var(--color-bg-hover);
}
/* 分组标题区域 */
.index__groupTitle--hVQo1 {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}
/* 分组名称 */
.index__groupName--CZUpb {
  margin: 0;
  font-family: var(--font-family-base);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-lg);
  color: var(--color-text-primary);
}
/* 分组计数器 */
.index__groupCount--xfqLl {
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-text-secondary);
}
/* 展开图标 */
.index__expandIcon--Z0Ksw {
  color: var(--color-text-secondary);
  transition: transform var(--motion-duration-mid) var(--motion-ease-in-out);
}
.index__expandIconRotated--pevDm {
  transform: rotate(180deg);
}
/* 分组内容区域 */
.index__groupContent--jJRwS {
  padding: 0 var(--spacing-base) var(--spacing-base);
  background-color: var(--color-bg-primary);
}
/**
 * 权限项样式
 * 基于 Figma 设计稿 node-id=84-9070
 * @see https://www.figma.com/design/IoAA0ODacJvCPVnAl9e06Y/МWS-365--Admin?node-id=84-9070
 */
.index__permissionItem--M8Osj {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
}
/* Checkbox 容器 - 垂直居中对齐 */
.index__checkboxWrapper--tfhLX {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 10px 0;
}
/* 权限复选框 */
.index__permissionCheckbox--PANf_ {
  flex-shrink: 0;
}
/* 权限布局区域 - 包含名称和图标 */
.index__permissionLayout--bo_tC {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 4px;
  min-width: 0;
  padding: 10px 0;
}
/* 权限代码/名称 */
.index__permissionCode--jjY4k {
  margin: 0;
  font-family: var(--font-family-base);
  font-size: 17px;
  font-weight: var(--font-weight-regular);
  line-height: 24px;
  color: var(--color-text-primary);
  word-break: break-word;
}
/* 信息图标容器 */
.index__infoIconWrapper--Ep9aM {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  cursor: pointer;
}
/* 信息图标 */
.index__infoIcon--FfLL9 {
  width: 16px;
  height: 16px;
  color: var(--color-icon-secondary);
}
.index__infoIcon--FfLL9 path {
  fill: currentColor;
}
/* 全选区域 */
.index__selectAllWrapper--BFJgf {
  padding: var(--spacing-sm) var(--spacing-base);
  background-color: var(--color-bg-secondary);
  border-radius: var(--border-radius-xl);
}
/* 全选复选框 */
.index__selectAllCheckbox--IbG6r {
  font-family: var(--font-family-base);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}
/* 空状态 */
.index__emptyState--iJ1ED {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-xxl) var(--spacing-base);
  color: var(--color-text-secondary);
  text-align: center;
}
/* 只读模式提示 */
.index__readonlyHint--Fx0Mn {
  padding: var(--spacing-sm) var(--spacing-base);
  background-color: #fbe9e7;
  border-radius: var(--border-radius-xl);
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  color: #ba360a;
}
/*# sourceMappingURL=/data/src/pages/admin/role/components/permission-table/index.css.map */
.index__content--pnMxT {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  justify-content: flex-end;
  padding: var(--spacing-xl) 20px 20px;
}
.index__textWrapper--ch1Ep {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  width: 100%;
  padding: 0 16px;
  text-align: center;
  overflow: hidden;
}
.index__title--CY5GU {
  width: 100%;
  margin: 0;
  font-family: var(--font-family-base);
  font-size: 20px;
  font-weight: 500;
  line-height: 28px;
  color: var(--color-text-primary);
}
.index__description--ooLgg {
  width: 100%;
  margin: 0;
  font-family: var(--font-family-base);
  font-size: 17px;
  font-weight: 400;
  line-height: 24px;
  color: var(--color-text-secondary);
}
.index__buttons--sBEWK {
  display: flex;
  gap: 12px;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
}
.index__cancelButton--uQz2X {
  flex: 1;
  height: 52px;
  padding: 14px;
  border: none;
  border-radius: 16px;
  background-color: var(--color-control-tertiary-active);
  font-family: var(--font-family-wide);
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--color-text-primary);
}
.index__cancelButton--uQz2X:hover {
  background-color: var(--color-control-tertiary-active);
  opacity: 0.9;
  color: var(--color-text-primary);
}
.index__cancelButton--uQz2X:disabled {
  background-color: var(--color-control-tertiary-active);
  color: var(--color-text-secondary);
}
.index__confirmButton--B_jAw {
  flex: 1;
  height: 52px;
  padding: 14px;
  border: none;
  border-radius: 16px;
  background-color: var(--color-control-primary-active);
  font-family: var(--font-family-wide);
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #fff;
}
.index__confirmButton--B_jAw:hover {
  background-color: var(--color-control-primary-active);
  opacity: 0.9;
}
/*# sourceMappingURL=/data/src/pages/admin/role/components/confirm-modal/index.css.map */
/**
 * 角色详情组件样式
 * 与 rbac 模块的 role-detail 保持一致
 */
.index__container--SN1Dl {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
  min-width: 0;
}
.index__header--MFusZ {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-base) var(--spacing-base) 0 var(--spacing-base);
}
.index__roleInfo--r9HPN {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxs);
  max-width: 467px;
}
.index__roleNameRow--aOKbe {
  display: flex;
  align-items: center;
  gap: var(--spacing-xxs);
}
.index__roleName--UPZ4t {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-lg);
  color: var(--color-text-primary);
}
.index__roleName--UPZ4t .ant-btn-text {
  padding: 0;
  height: auto;
  min-width: auto;
}
.index__editIcon--xqGGd {
  cursor: pointer;
  color: var(--color-text-secondary);
  transition: color var(--motion-duration-mid) var(--motion-ease-in-out);
}
.index__editIcon--xqGGd:hover {
  color: var(--color-text-primary);
}
.index__badge--OBvrR {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 20px;
  padding: 2px var(--spacing-xxs);
  border-radius: 6px;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-sm);
  white-space: nowrap;
}
.index__badgeSystem--PR6qU {
  background-color: #fbe9e7;
  color: #ba360a;
}
.index__badgeCustom--pQM1X {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
}
.index__infoIcon--rsoDB {
  flex-shrink: 0;
  cursor: pointer;
  color: var(--color-text-secondary);
  transition: color var(--motion-duration-mid) var(--motion-ease-in-out);
}
.index__infoIcon--rsoDB:hover {
  color: var(--color-text-primary);
}
.index__totalLabel--eXq7G {
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  color: var(--color-text-secondary);
}
.index__totalNumber--EGMAN {
  margin-left: 0;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-xl);
  color: var(--color-text-primary);
}
.index__toolbar--xYoF9 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-sm) 0;
}
.index__searchInputWrapper--frDB6 {
  width: 260px;
}
.index__searchInput--nPD2f.index__searchInput--nPD2f {
  width: 100%;
}
.index__addButton--ueWGa {
  padding: 10px 12px;
  height: 32px !important;
  border-radius: 12px;
  border: none;
  background-color: var(--color-button-alternative-default);
  color: var(--color-button-alternative-text);
  font-size: 10px;
  font-weight: 700;
  line-height: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.index__tabsWrapper--I4wIS {
  padding: var(--spacing-xs) var(--spacing-base) 0;
}
.index__tabsWrapper--I4wIS .ant-tabs .ant-tabs-nav {
  margin-bottom: 0;
}
.index__tabsWrapper--I4wIS .ant-tabs .ant-tabs-tab {
  padding: 6px 2px;
  font-size: var(--font-size-base);
}
.index__tabsWrapper--I4wIS .ant-tabs .ant-tabs-tab-btn {
  text-shadow: none !important;
  font-size: var(--font-size-base);
}
.index__tabsWrapper--I4wIS .ant-tabs .ant-tabs-ink-bar {
  border-radius: 1px;
}
.index__syncTipBanner--U0ryU {
  display: inline-flex;
  align-items: center;
  margin: var(--spacing-sm) var(--spacing-base);
  padding: var(--spacing-xs) var(--spacing-sm);
  background-color: var(--color-bg-secondary);
  border-radius: 12px;
  width: fit-content;
}
.index__syncTipIcon--ro8pb {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}
.index__syncTipText--eEO1P {
  font-family: 'MTS Compact', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #1d2023;
  white-space: nowrap;
  margin: 0;
  padding: 0;
}
.index__content--U_2Uc {
  flex: 1;
  padding: 0 var(--spacing-base);
  overflow: auto;
}
.index__emptyState--sq3mn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--color-text-secondary);
}
.index__emptyContainer--mehvX {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  flex: 1;
}
/* 选中状态栏 — 勾选后在工具栏与表格之间出现 */
.index__tableBar--gENGR {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background-color: var(--color-bg-secondary);
  border-radius: 16px;
  margin-bottom: var(--spacing-xs);
}
.index__tableBarText--IxI3N {
  flex: 1;
  font-size: 17px;
  font-weight: var(--font-weight-regular);
  line-height: 24px;
  color: var(--color-text-secondary);
}
/* Username 单元格：用户名 + Badge */
.index__usernameCell--i_wJl {
  display: flex;
  align-items: center;
  gap: 4px;
}
.index__usernameContent--liZDG {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.index__usernameText--bZSCP {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.index__emailSubtext--WLOlp {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-sm);
  color: var(--color-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.index__badgeWrapper--Ijf1y {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.index__superAdminBadge--rHW3D {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 20px;
  padding: 2px 4px;
  border-radius: 6px;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-sm);
  white-space: nowrap;
  background-color: var(--color-info);
  color: var(--color-text-inverted);
}
/* 邮箱文本 */
.index__emailText--NfCNQ {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 状态单元格：圆点 + 状态文字 */
.index__statusCell--r1o5T {
  display: flex;
  align-items: center;
  gap: 6px;
}
.index__statusDot--ghLla {
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.index__statusDotActive--FX102 {
  background-color: var(--color-success);
}
.index__statusDotInactive--oD2rA {
  background-color: var(--color-text-tertiary);
}
.index__statusText--EO5SK {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-text-primary);
}
/* 部门文本 */
.index__departmentText--GzCA0 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 批量删除工具栏样式 */
.index__batchDeleteToolbar--ANOcy {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}
.index__batchDeleteToolbar--ANOcy .ant-btn {
  padding: 10px 12px !important;
}
.index__deleteIcon--aEXez {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  cursor: pointer;
  border-radius: 50%;
  transition: all var(--motion-duration-mid) var(--motion-ease-in-out);
}
.index__deleteIcon--aEXez:hover {
  color: var(--color-text-primary);
  background: rgba(188, 195, 208, 0.25);
}
.index__deleteIcon--aEXez.index__disabled--EdgBa {
  cursor: not-allowed;
}
.index__deleteIcon--aEXez.index__disabled--EdgBa:hover {
  background: transparent;
}
/**
 * 角色详情 — ant-table 覆盖样式
 * 包含表格容器、行选中/hover 圆角等 antd Table 定制
 */
/* 第一行选中时隐藏表头底部边框 */
.index__firstRowSelected--ekUMM .ant-table-thead > tr > th {
  border-bottom-color: transparent !important;
}
.index__nextSelected--qf1dz td {
  border-bottom-color: transparent !important;
}
.index__prevSelected--kICij {
  position: relative;
}
/*# sourceMappingURL=/data/src/pages/admin/role/components/role-detail/index.css.map */
/**
 * 角色编辑弹窗样式
 * 基于 Figma 设计: node-id=75-5495
 */
/* Modal 容器样式覆盖 */
.index__roleModal--Y5I5s .ant-modal-content {
  padding: 0;
  border-radius: 32px;
  overflow: hidden;
}
.index__roleModal--Y5I5s .ant-modal-header {
  display: none;
}
.index__roleModal--Y5I5s .ant-modal-body {
  padding: 0;
}
.index__roleModal--Y5I5s .ant-modal-close {
  display: none;
}
/* 自定义 Header */
.index__header--rF5B0 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 20px;
}
.index__title--gTmcR {
  flex: 1;
  padding: 4px 0;
  font-family: var(--font-family-wide);
  font-size: 20px;
  font-weight: 500;
  line-height: 24px;
  color: var(--color-text-primary);
  margin: 0;
}
.index__closeBtn--rp32J {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 4px;
  background: var(--color-control-tertiary-active);
  border: none;
  border-radius: 12px;
  cursor: pointer;
  flex-shrink: 0;
}
.index__closeBtn--rp32J:hover {
  background: var(--color-button-secondary-hover);
}
.index__closeBtn--rp32J:active {
  background: var(--color-button-secondary-active);
}
.index__closeIcon--cq7KE {
  width: 24px;
  height: 24px;
}
/* 表单区域 */
.index__formWrapper--S8jb1 {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0 20px 20px;
}
.index__form--n2zXH {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.index__formItem--PrGTo {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}
.index__label--_TQTj {
  display: flex;
  align-items: center;
  height: 20px;
  font-family: var(--font-family-base);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-text-secondary);
  overflow: hidden;
}
.index__required--NcRYA {
  color: var(--color-error);
  margin-left: 2px;
}
.index__description--PoDui {
  font-family: var(--font-family-base);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--color-text-secondary);
}
/* 表单字段底部区域（错误信息 + 计数器） */
.index__fieldFooter--eZ2dQ {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 16px;
}
/* 自定义计数器样式 */
.index__fieldCounter--exDTt {
  font-family: var(--font-family-base);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--color-text-secondary);
}
/* 计数器错误状态 */
.index__fieldCounterError--TIi0D {
  color: var(--color-error);
}
/* 字段错误信息 */
.index__fieldError--IvQv9 {
  font-family: var(--font-family-base);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--color-error);
}
.index__errorText--_p420 {
  font-family: var(--font-family-base);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--color-error);
}
/* 输入框样式覆盖 */
.index__input--enWpG {
  height: 32px;
  border-radius: 12px;
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  font-family: var(--font-family-base);
  font-size: 17px;
  line-height: 24px;
}
.index__input--enWpG::placeholder {
  color: var(--color-text-secondary);
}
.index__input--enWpG.index__inputError--MvA5a {
  border-color: var(--color-error);
}
.index__textarea--CRXO0 {
  border-radius: 12px;
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  font-family: var(--font-family-base);
  font-size: 14px;
  line-height: 20px;
  min-height: 80px;
  resize: none;
}
.index__textarea--CRXO0::placeholder {
  color: var(--color-text-secondary);
}
.index__textarea--CRXO0.index__inputError--MvA5a {
  border-color: var(--color-error);
}
/* 按钮区域 */
.index__buttons--Fv_Em {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.index__primaryBtn--hCo1R {
  width: 100%;
  height: 32px;
  border-radius: 12px;
  font-family: var(--font-family-wide);
  font-size: 10px;
  font-weight: 700;
  line-height: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.index__secondaryBtn--yUBtr {
  width: 100%;
  height: 32px;
  border-radius: 12px;
  font-family: var(--font-family-wide);
  font-size: 10px;
  font-weight: 700;
  line-height: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
/*# sourceMappingURL=/data/src/pages/admin/role/components/role-modal/index.css.map */
/**
 * MemberTreeSelector 组件样式
 *
 * 基于 Figma 设计稿（节点 2654:192690）还原，使用 antd 组件 + 样式覆盖。
 * 颜色全部使用 CSS 变量，禁止硬编码色值。
 */
.index__modal--C4uof .ant-modal-content {
  padding: 20px;
  border-radius: 32px;
}
.index__modal--C4uof .ant-modal-header {
  margin-bottom: 16px;
  padding: 0;
}
.index__modal--C4uof .ant-modal-title {
  width: 100%;
}
.index__modal--C4uof .ant-modal-body {
  padding: 0;
  display: flex;
  flex-direction: column;
}
.index__modal--C4uof .ant-modal-footer {
  margin-top: 0;
  padding: 0;
  border: none;
}
.index__modalTitleRow--VVlaA {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}
.index__modalTitleText--Iq8w9 {
  flex: 1;
  min-width: 0;
  font-family: var(--font-family-wide);
  font-size: 20px;
  font-weight: 500;
  line-height: 24px;
  color: var(--color-text-primary);
}
.index__modalCloseButton--db6HI {
  width: 32px !important;
  height: 32px !important;
  min-width: 24px;
  padding: 0;
  border: none;
  border-radius: 50%;
  color: var(--color-text-secondary);
  background-color: var(--color-fill-tertiary) !important;
  /* #F2F3F7 */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color var(--motion-duration-fast) var(--motion-ease-in-out);
}
.index__modalCloseButton--db6HI .ant-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  line-height: 1;
}
.index__modalCloseButton--db6HI:hover,
.index__modalCloseButton--db6HI:focus,
.index__modalCloseButton--db6HI:active {
  color: var(--color-text-secondary);
  background-color: var(--color-fill-tertiary) !important;
  /* #F2F3F7 */
}
.index__description--hQqdR {
  margin: 0;
  font-family: var(--font-family-base);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-text-secondary);
}
.index__content--V57fR {
  display: flex;
  height: 466px;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  overflow: hidden;
}
.index__leftPanel--SEuZU {
  flex: 1;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--color-border);
  min-width: 0;
}
.index__rightPanel--kVHGs {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.index__panelHeader--Rcqsm {
  padding: 12px;
}
.index__panelTitle--PxryX {
  margin: 0;
  font-family: var(--font-family-base);
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  color: var(--color-text-primary);
}
.index__searchWrapper--GWV7P {
  padding: 12px;
}
.index__searchWrapper--GWV7P .ant-input-affix-wrapper {
  height: 52px;
  padding: 2px 4px 2px 8px;
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  gap: 4px;
}
.index__searchWrapper--GWV7P .ant-input-affix-wrapper .ant-input {
  padding: 4px;
  font-size: 17px;
  line-height: 24px;
  background: transparent;
}
.index__searchWrapper--GWV7P .ant-input-affix-wrapper .ant-input::placeholder {
  color: var(--color-text-secondary);
}
.index__searchWrapper--GWV7P .ant-input-affix-wrapper .ant-input-prefix {
  margin-right: 4px;
  color: var(--color-text-secondary);
}
.index__searchWrapper--GWV7P .ant-input-affix-wrapper .ant-input-suffix .anticon-close-circle {
  font-size: 16px;
  color: var(--color-text-tertiary);
}
.index__tabs--mZ5qo {
  padding: 0 12px;
  margin-bottom: 12px;
}
.index__tabs--mZ5qo .ant-tabs-nav {
  margin-bottom: 0;
}
.index__tabs--mZ5qo .ant-tabs-nav::before {
  display: none;
}
.index__tabs--mZ5qo .ant-tabs-tab {
  padding: 6px 2px;
  margin: 0 16px 0 0;
  font-family: var(--font-family-base);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--color-text-primary);
}
.index__tabs--mZ5qo .ant-tabs-tab:hover {
  color: var(--color-text-primary);
}
.index__tabs--mZ5qo .ant-tabs-tab-active .ant-tabs-tab-btn {
  color: var(--color-text-primary);
}
.index__tabs--mZ5qo .ant-tabs-ink-bar {
  height: 2px;
  background: var(--color-primary);
  border-radius: 1px;
}
.index__treeWrapper--AZ_Vg {
  flex: 1;
  overflow-y: auto;
  padding: 0 12px 12px;
}
.index__loadingWrapper--Tz0OZ {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.index__emptyWrapper--IZXJ2 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.index__tree--qi7Ci .ant-tree-switcher {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 44px;
}
.index__tree--qi7Ci .ant-tree-node-content-wrapper {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  background: transparent;
}
.index__tree--qi7Ci .ant-tree-node-content-wrapper:hover {
  background: transparent;
}
.index__tree--qi7Ci .ant-tree-node-content-wrapper.ant-tree-node-selected {
  background: transparent;
}
.index__tree--qi7Ci .ant-tree-title {
  flex: 1;
}
.index__tree--qi7Ci .ant-tree-checkbox {
  margin-right: 8px;
}
.index__tree--qi7Ci .ant-tree-checkbox .ant-tree-checkbox-inner {
  width: 18px !important;
  height: 18px !important;
  border-radius: 6px !important;
  border: 1px solid var(--color-border) !important;
  background: var(--color-bg-secondary) !important;
}
.index__tree--qi7Ci .ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner,
.index__tree--qi7Ci .ant-tree-checkbox:hover .ant-tree-checkbox-inner {
  border-color: var(--color-border) !important;
  background: var(--color-bg-secondary) !important;
}
.index__tree--qi7Ci .ant-tree-checkbox-checked .ant-tree-checkbox-inner {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.index__tree--qi7Ci .ant-tree-checkbox-checked:hover .ant-tree-checkbox-inner,
.index__tree--qi7Ci .ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-checked .ant-tree-checkbox-inner {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.index__tree--qi7Ci .ant-tree-checkbox-checked .ant-tree-checkbox-inner::after {
  width: 5px !important;
  height: 9px !important;
  border-width: 0 2px 2px 0 !important;
  border-color: var(--color-icon-reverse) !important;
}
.index__tree--qi7Ci .ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.index__tree--qi7Ci .ant-tree-checkbox-indeterminate:hover .ant-tree-checkbox-inner,
.index__tree--qi7Ci .ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.index__tree--qi7Ci .ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after {
  width: 8px !important;
  height: 2px !important;
  border: none !important;
  background: var(--color-icon-reverse) !important;
  border-radius: 2px !important;
  transform: translate(-50%, -50%) !important;
}
.index__tree--qi7Ci .ant-tree-treenode {
  display: flex;
  width: max-content;
  min-width: 100%;
  padding: 0;
  align-items: flex-start;
}
.index__tree--qi7Ci .ant-tree-treenode:hover {
  background: var(--color-fill-hover);
  border-radius: 8px;
}
.index__tree--qi7Ci .ant-tree-list-holder-inner {
  min-width: 100%;
}
.index__tree--qi7Ci .ant-tree-indent {
  flex-shrink: 0;
}
.index__tree--qi7Ci .ant-tree-node-content-wrapper {
  flex-shrink: 0;
}
.index__tree--qi7Ci .ant-tree-indent-unit {
  width: 24px;
}
.index__switcherIcon--ha254 {
  width: 24px;
  height: 24px;
  color: var(--color-text-secondary);
}
.index__switcherIconDisabled--BGh5T {
  color: var(--color-text-disabled);
  cursor: not-allowed;
  pointer-events: none;
}
.index__treeNodeWrapper--iQHyv {
  display: flex;
  flex-direction: column;
  width: max-content;
  min-width: 100%;
}
.index__treeNodeTitle--HH3KL {
  display: flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  min-width: 100%;
  padding: 10px 8px;
  box-sizing: border-box;
  border-radius: 8px;
}
/**
 * 树节点图标徽章容器
 *
 * 用于将部门/群组 SVG 图标包裹在彩色圆角方形徽章中，与 Figma 设计稿保持一致。
 * 子图标通过 treeNodeIcon 以 white 色渲染。
 */
.index__treeNodeIconBadge--lyHoI {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 4px;
  border-radius: 8px;
  color: var(--color-icon-reverse);
}
/** 群组图标徽章：Tertiary text/icon color */
.index__treeNodeIconBadgeGroup--wQodb {
  background: var(--color-text-tertiary);
}
.index__treeNodeIcon--XSZc0 {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: var(--color-icon-reverse);
}
/** 部门图标（自带圆角背景的 SVG），通过 color 控制背景色 */
.index__treeNodeDeptIcon--s2PfF {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: var(--color-group-icon);
}
.index__treeNodeText--zxQVo {
  flex: 1;
  font-family: var(--font-family-base);
  font-size: 17px;
  font-weight: 400;
  line-height: 24px;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.index__userList--e77lS {
  display: flex;
  flex-direction: column;
  width: max-content;
  min-width: 100%;
  padding-left: 22px;
}
.index__userListLoading--t_Z5B {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 0;
}
.index__userItem--jcLD9 {
  display: flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  min-width: 100%;
  padding: 10px;
  cursor: pointer;
  border-radius: 8px;
  box-sizing: border-box;
}
.index__userItem--jcLD9:hover {
  background: var(--color-fill-hover);
}
.index__userItemDisabled--II4Dr {
  cursor: not-allowed;
  opacity: 0.5;
}
.index__userItemDisabled--II4Dr:hover {
  background: transparent;
}
.index__userItemDisabled--II4Dr .index__userName--BI3Pt {
  color: var(--color-text-disabled);
}
.index__userAvatar--tDN7w {
  flex-shrink: 0;
  border-radius: var(--border-radius-xs);
  border: 1px solid var(--color-button-disabled-bg);
}
.index__userName--BI3Pt {
  flex: 1;
  min-width: 0;
  font-family: var(--font-family-base);
  font-size: 17px;
  font-weight: 400;
  line-height: 24px;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.index__selectedHeader--MXHlk {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px;
  padding-right: 20px;
  border-bottom: 1px solid var(--color-border-secondary);
}
.index__selectedTitle--ndX1l {
  flex: 1;
  margin: 0;
  font-family: var(--font-family-base);
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  color: var(--color-text-primary);
}
.index__clearButton--KHCBT {
  flex-shrink: 0;
  padding: 0;
  color: var(--color-text-danger);
  border: none;
  background: transparent;
  width: 24px !important;
  height: 24px !important;
}
.index__clearButton--KHCBT:hover {
  color: var(--color-text-danger);
  opacity: 0.8;
}
.index__clearButton--KHCBT .anticon {
  font-size: 16px;
}
.index__selectedList--C7kBA {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
}
.index__selectedItem--Qlamp {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  min-height: 44px;
  border-radius: 8px;
  background: var(--color-bg-primary);
}
.index__selectedItem--Qlamp:hover .index__removeButton--twM8S {
  opacity: 1;
}
.index__selectedItemInfo--y4zV1 {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.index__selectedAvatar--jQYd8 {
  flex-shrink: 0;
  border-radius: 8px;
  border: 1px solid var(--color-button-disabled-bg);
}
.index__selectedDeptIcon--V3rlP {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-group-icon);
}
.index__selectedItemText--gBDmS {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.index__selectedItemName--pm_Ro {
  margin: 0;
  font-family: var(--font-family-base);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.index__selectedItemSubtitle--Zkeno {
  margin: 0;
  font-family: var(--font-family-base);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.index__removeButton--twM8S {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity var(--motion-duration-mid) var(--motion-ease-in-out);
  color: var(--color-text-secondary);
}
.index__removeButton--twM8S:hover {
  opacity: 1;
}
.index__footerButtons--Ly47p {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}
.index__cancelButton--_UpYB {
  height: 52px;
  min-width: 108px;
  padding: 14px;
  font-family: var(--font-family-wide);
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--color-text-primary);
  background: var(--color-bg-secondary);
  border: none;
  border-radius: 16px;
}
.index__cancelButton--_UpYB:hover {
  background: var(--color-bg-secondary);
  color: var(--color-text-primary);
  opacity: 0.9;
}
.index__confirmButton--JOYY6 {
  height: 52px;
  min-width: 108px;
  padding: 14px;
  font-family: var(--font-family-wide);
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--color-icon-reverse);
  background: var(--color-primary);
  border: none;
  border-radius: 16px;
}
.index__confirmButton--JOYY6:hover {
  background: var(--color-primary);
  color: var(--color-icon-reverse);
  opacity: 0.9;
}
.index__searchUserList--AbIdp {
  display: flex;
  flex-direction: column;
  padding: 4px 0;
}
.index__searchUserItem--Latf8 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 4px;
  cursor: pointer;
  border-radius: 8px;
  transition: background var(--motion-duration-fast) var(--motion-ease-in-out);
}
.index__searchUserItem--Latf8:hover {
  background: var(--color-fill-hover);
}
.index__searchUserInfo--wWin5 {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.index__searchUserEmail--G_eGh {
  font-family: var(--font-family-base);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/*# sourceMappingURL=/data/src/components/member-tree-selector/index.css.map */
/**
 * 创建角色弹窗样式
 *
 * 三步弹窗流程：
 * 1. 填写基础信息（名称、描述）
 * 2. 权限设置（权限分组勾选）
 * 3. 创建成功（成功提示 + 操作按钮）
 *
 * 基于 Figma 设计: node-id=2649:192258 / 2649:192430 / 2666:194465
 */
/* Modal 容器覆盖 */
.index__createRoleModal--LLSM7 .ant-modal-content {
  padding: 0;
  border-radius: 32px;
  overflow: hidden;
}
.index__createRoleModal--LLSM7 .ant-modal-header {
  display: none;
}
.index__createRoleModal--LLSM7 .ant-modal-body {
  padding: 0;
  display: flex;
  flex-direction: column;
}
.index__createRoleModal--LLSM7 .ant-modal-close {
  display: none;
}
/* Step 2 权限弹窗：固定 600×600 */
.index__permissionsModal--ogEBU .ant-modal-body {
  height: 600px;
}
/* Step 3 成功弹窗：固定 440×392 */
.index__successModal--T4rdu .ant-modal-body {
  height: 392px;
}
/* ============ Step 1 - 基础信息 ============ */
.index__step1Container--rSKRz {
  display: flex;
  flex-direction: column;
}
.index__step1Header--c65FG {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 20px;
}
.index__step1TitleRow--Zf4ed {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.index__step1Title--wC2W7 {
  flex: 1;
  padding: 4px 0;
  margin: 0;
  font-family: var(--font-family-wide);
  font-size: 20px;
  font-weight: 500;
  line-height: 24px;
  color: var(--color-text-primary);
}
.index__step1Subtitle--Li7dx {
  margin: 0;
  padding-right: 40px;
  font-family: var(--font-family-base);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-text-secondary);
}
.index__step1Form--dukOq {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0 20px 20px;
}
.index__formFields--y7vm6 {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.index__formItem--rvZmM {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}
.index__label--BSYG7 {
  display: flex;
  align-items: center;
  height: 20px;
  font-family: var(--font-family-base);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-text-secondary);
  overflow: hidden;
}
.index__required--JKGBc {
  color: var(--color-error);
  margin-left: 2px;
}
.index__input--NgsNM {
  height: 52px;
  border-radius: 16px;
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  font-family: var(--font-family-base);
  font-size: 17px;
  line-height: 24px;
}
.index__input--NgsNM::placeholder {
  color: var(--color-text-secondary);
}
.index__textarea--zLSp7 {
  border-radius: 12px;
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  font-family: var(--font-family-base);
  font-size: 14px;
  line-height: 20px;
  min-height: 80px;
  resize: none;
}
.index__textarea--zLSp7::placeholder {
  color: var(--color-text-secondary);
}
.index__fieldFooter--e1iX_ {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 16px;
}
.index__fieldCounter--fOtyZ {
  font-family: var(--font-family-base);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--color-text-secondary);
}
.index__fieldCounterError--xuJJo {
  color: var(--color-error);
}
.index__fieldError--sWAiB {
  font-family: var(--font-family-base);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--color-error);
}
/* ============ Step 2 - 权限设置 ============ */
.index__step2Container--VKR8_ {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.index__step2Header--rJ8AI {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 20px;
  flex-shrink: 0;
}
.index__step2TitleRow--qeGb0 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 8px;
}
.index__step2Title--O_4ZJ {
  flex: 1;
  padding: 4px 0;
  margin: 0;
  font-family: var(--font-family-wide);
  font-size: 20px;
  font-weight: 500;
  line-height: 24px;
  color: var(--color-text-primary);
  text-align: center;
}
.index__step2Subtitle--qGSst {
  margin: 0;
  padding: 0 40px;
  font-family: var(--font-family-base);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-text-secondary);
  text-align: center;
}
.index__step2Content--Kjof3 {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0 20px;
  min-height: 0;
  overflow: hidden;
}
.index__permissionsScroll--Lf1ja {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-bottom: 4px;
}
.index__step2Footer--_gxcX {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  align-items: center;
  padding: 20px;
  flex-shrink: 0;
}
/* ============ 权限分组卡片（弹窗内专用） ============ */
.index__permGroupCard--TSiNK {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  border: 1px solid var(--color-border);
  background-color: var(--color-bg-primary);
  overflow: hidden;
  flex-shrink: 0;
}
.index__permGroupHeader--UgVUY {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 12px;
  cursor: pointer;
}
.index__permGroupName--FEcH9 {
  flex: 1;
  font-family: var(--font-family-base);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--color-text-primary);
}
.index__permGroupCount--vxNzk {
  font-family: var(--font-family-base);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-text-secondary);
}
.index__permItem--ypnxS {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 12px;
  border-top: 1px solid var(--color-border);
  cursor: pointer;
}
.index__permItemName--rzy2T {
  font-family: var(--font-family-base);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* ============ Step 3 - 创建成功 ============ */
.index__step3Container--tOqWG {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  justify-content: flex-end;
  padding: 32px 20px 20px;
  height: 100%;
}
.index__step3Graphic--lhNh7 {
  display: flex;
  align-items: center;
  justify-content: center;
}
.index__step3Text--XBu_u {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding: 0 16px;
  text-align: center;
  overflow: hidden;
}
.index__step3Title--svHgI {
  width: 100%;
  margin: 0;
  font-family: var(--font-family-wide);
  font-size: 20px;
  font-weight: 500;
  line-height: 24px;
  color: var(--color-text-primary);
}
.index__step3Subtitle--uWA6Y {
  width: 100%;
  margin: 0;
  font-family: var(--font-family-base);
  font-size: 17px;
  font-weight: 400;
  line-height: 24px;
  color: var(--color-text-secondary);
}
/* ============ 通用按钮区域 ============ */
.index__closeBtn--mI_VK {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 4px;
  background: var(--color-control-tertiary-active);
  border: none;
  border-radius: 32px;
  cursor: pointer;
  flex-shrink: 0;
}
.index__closeBtn--mI_VK:hover {
  background: var(--color-button-secondary-hover);
}
.index__closeBtn--mI_VK:active {
  background: var(--color-button-secondary-active);
}
.index__backBtn--XP5ww {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 4px;
  background: transparent;
  border: none;
  border-radius: 32px;
  cursor: pointer;
  flex-shrink: 0;
}
.index__backBtn--XP5ww:hover {
  background: var(--color-button-secondary-hover);
}
.index__backBtn--XP5ww:active {
  background: var(--color-button-secondary-active);
}
.index__closeIcon--iCA5k {
  width: 24px;
  height: 24px;
}
.index__buttons--RVBMK {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}
.index__primaryBtn--Qbpr8 {
  width: 100%;
  height: 52px;
  padding: 14px;
  border: none;
  border-radius: 16px;
  font-family: var(--font-family-wide);
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}
.index__step2ConfirmBtn--SOAAt {
  height: 52px;
  padding: 14px 32px;
  border: none;
  border-radius: 16px;
  font-family: var(--font-family-wide);
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}
.index__secondaryBtn--Jpz9_ {
  height: 52px;
  padding: 14px;
  border: none;
  border-radius: 16px;
  background-color: var(--color-control-tertiary-active);
  font-family: var(--font-family-wide);
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--color-text-primary);
}
.index__secondaryBtn--Jpz9_:hover {
  background-color: var(--color-control-tertiary-active);
  opacity: 0.9;
  color: var(--color-text-primary);
}
.index__secondaryBtn--Jpz9_:disabled {
  background-color: var(--color-control-tertiary-active);
  color: var(--color-text-secondary);
}
.index__step3Buttons--c6tFr {
  display: flex;
  gap: 12px;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
}
.index__step3SecondaryBtn--pO8GJ {
  flex: 1;
  height: 52px;
  padding: 14px;
  border: none;
  border-radius: 16px;
  background-color: var(--color-control-tertiary-active);
  font-family: var(--font-family-wide);
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--color-text-primary);
}
.index__step3SecondaryBtn--pO8GJ:hover {
  background-color: var(--color-control-tertiary-active);
  opacity: 0.9;
  color: var(--color-text-primary);
}
.index__step3PrimaryBtn--AWETD {
  flex: 1;
  height: 52px;
  padding: 14px;
  border: none;
  border-radius: 16px;
  font-family: var(--font-family-wide);
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}
/*# sourceMappingURL=/data/src/pages/admin/role/components/create-role-modal/index.css.map */
/**
 * 角色管理主页面样式
 * 与 rbac 模块保持一致
 */
.index__container--q9nY5 {
  display: flex;
  width: 100%;
  height: 100%;
  background-color: var(--color-bg-primary);
  border-radius: var(--border-radius-base);
  overflow: hidden;
}
.index__leftPanel--BeM0Q {
  flex-shrink: 0;
  width: 302px;
  height: 100%;
  position: relative;
}
.index__rightPanel--pvwEr {
  flex: 1;
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.index__loadingState--cRcNs {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.index__errorState--omUZI {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: var(--spacing-xxl);
}
.index__retryButton--LSzpX {
  margin-top: var(--spacing-base);
}
/*# sourceMappingURL=/data/src/pages/admin/role/index.css.map */

/*# sourceMappingURL=292.8f0a387a.chunk.css.map*/