@charset "UTF-8";
.avue-tags[data-v-4042bfb9] {
  border-top: none;
  box-shadow: none;
  background-color: transparent;
  height: 40px;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1000;
  width: 100%;
  max-width: 100%;
  flex: 1;
  min-width: 150px;
}
.avue-tags__container[data-v-4042bfb9] {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  flex-wrap: nowrap;
  overflow: hidden;
}
.avue-tags__scroll[data-v-4042bfb9] {
  flex: 1;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scroll-behavior: smooth;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
}
.avue-tags__scroll[data-v-4042bfb9]::-webkit-scrollbar {
  display: none; /* Chrome, Safari and Opera */
}
.avue-tags__wrapper[data-v-4042bfb9] {
  display: flex;
  align-items: center;
  height: 100%;
  overflow: visible;
  flex-wrap: nowrap;
  width: max-content;
}
.avue-tags__arrow[data-v-4042bfb9] {
  width: 16px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  border-radius: 4px;
  transition: background-color var(--app-transition-base);
}
.avue-tags__arrow[data-v-4042bfb9]:hover {
  background-color: rgba(0, 0, 0, 0.06);
}
.avue-tag-item[data-v-4042bfb9] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 8px;
  margin-right: 11px;
  border-radius: var(--app-radius);
  cursor: pointer;
  transition: 100ms;
  background-color: transparent;
  white-space: nowrap;
  max-width: 120px;
  position: relative;
  transition: 100ms;
}
.avue-tag-item[data-v-4042bfb9]:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
.avue-tag-item:hover .tag-close[data-v-4042bfb9] {
  opacity: 1;
  visibility: visible;
}
.avue-tag-item.is-active[data-v-4042bfb9] {
  background-color: var(--app-bg-surface);
  color: var(--app-color-primary);
  border-color: var(--app-color-primary);
}
.avue-tag-item.is-active .tag-text[data-v-4042bfb9] {
  color: var(--app-color-primary);
}
.avue-tag-item.is-active .tag-close[data-v-4042bfb9] {
  opacity: 1;
  visibility: visible;
  border-radius: 50%;
}
.avue-tag-item.is-active .tag-close[data-v-4042bfb9]:hover {
  background-color: var(--app-color-primary-light-9);
}
.avue-tag-item .tag-text[data-v-4042bfb9] {
  color: var(--app-text-body);
  margin-right: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  text-align: center;
}
.avue-tag-item .tag-close[data-v-4042bfb9] {
  padding: 2px;
  border-radius: 50%;
  transition: all var(--app-transition-slow);
  flex-shrink: 0;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
}
.avue-tag-item .tag-close[data-v-4042bfb9]:hover {
  background-color: var(--app-bg-fill-light);
  color: var(--app-text-emphasis);
}
.arrow-icon[data-v-4042bfb9] {
  width: 7px;
  height: 7px;
  filter: brightness(0) saturate(100%) invert(7%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}
.arrow-icon--left[data-v-4042bfb9] {
  transform: rotate(180deg);
}
.arrow-icon--right[data-v-4042bfb9] {
  transform: rotate(0deg);
}
.avue-tags__menu[data-v-4042bfb9] {
  position: relative !important;
  top: auto;
  right: auto;
  padding: 0 0 0 8px;
}
.overflow-container[data-v-4042bfb9] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: all var(--app-transition-slow);
  margin-top: 4px;
  gap: 5px;
}
.overflow-container .overflow-count[data-v-4042bfb9] {
  color: var(--app-text-body);
  font-weight: var(--app-font-weight-medium);
  line-height: 1;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: var(--app-radius);
  transition: all var(--app-transition-base);
}
.overflow-container .overflow-count[data-v-4042bfb9]:hover {
  color: var(--app-color-primary);
  background-color: var(--app-color-primary-light-9);
  transform: translateY(-1px);
}
.overflow-container .overflow-dots[data-v-4042bfb9] {
  color: var(--app-text-body);
  font-weight: var(--app-font-weight-semibold);
  letter-spacing: 2px;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin-top: -8px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: var(--app-radius);
  transition: all var(--app-transition-base);
}
.overflow-container .overflow-dots[data-v-4042bfb9]:hover {
  color: var(--app-color-primary);
  background-color: var(--app-color-primary-light-9);
  transform: translateY(-1px);
}
.overflow-hover-list[data-v-4042bfb9] {
  position: fixed;
  min-width: 120px;
  max-width: 200px;
  padding: 8px;
  background: var(--app-bg-surface);
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  box-shadow: var(--app-shadow-lg);
  z-index: 9998;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.overflow-hover-list .overflow-hover-item[data-v-4042bfb9] {
  height: 28px;
  display: flex;
  align-items: center;
  padding: 0 8px;
  cursor: pointer;
  transition: all var(--app-transition-base);
  border-radius: var(--app-radius);
  position: relative;
}
.overflow-hover-list .overflow-hover-item[data-v-4042bfb9]:hover {
  color: var(--app-color-primary);
  background-color: var(--app-color-primary-light-9);
}
.overflow-hover-list .overflow-hover-item.is-active[data-v-4042bfb9] {
  background-color: var(--app-color-primary-light-9);
  color: var(--app-color-primary);
}
.overflow-hover-list .overflow-hover-item .overflow-hover-text[data-v-4042bfb9] {
  flex: 1;
  font-size: var(--app-font-size-xs);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: var(--app-line-height-tight);
}
.theme-dark .avue-tag-item[data-v-4042bfb9]:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.theme-dark .avue-tag-item .tag-close[data-v-4042bfb9]:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.theme-dark .arrow-icon[data-v-4042bfb9] {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}
.theme-dark .overflow-container[data-v-4042bfb9] {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}
.theme-dark .overflow-container .overflow-count[data-v-4042bfb9]:hover,
.theme-dark .overflow-container .overflow-dots[data-v-4042bfb9]:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.theme-dark .overflow-hover-list .overflow-hover-item[data-v-4042bfb9]:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.theme-dark .overflow-hover-list .overflow-hover-item.is-active[data-v-4042bfb9] {
  background-color: var(--app-color-primary);
  color: var(--white-light-10);
}
.avue-tags__contentmenu[data-v-4042bfb9],
.avue-tags__moremenu[data-v-4042bfb9] {
  position: fixed !important;
  width: 120px;
  background-color: var(--app-bg-surface) !important;
  z-index: 99999 !important;
  border-radius: var(--app-radius);
  box-shadow: var(--app-shadow-lg) !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.avue-tags__contentmenu .item[data-v-4042bfb9],
.avue-tags__moremenu .item[data-v-4042bfb9] {
  cursor: pointer;
  font-size: var(--app-font-size-sm);
  padding: 8px 12px;
  color: var(--app-text-body);
  transition: all var(--app-transition-base);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.avue-tags__contentmenu .item[data-v-4042bfb9]:first-child,
.avue-tags__moremenu .item[data-v-4042bfb9]:first-child {
  border-top-left-radius: var(--app-radius);
  border-top-right-radius: var(--app-radius);
}
.avue-tags__contentmenu .item[data-v-4042bfb9]:last-child,
.avue-tags__moremenu .item[data-v-4042bfb9]:last-child {
  border-bottom-left-radius: var(--app-radius);
  border-bottom-right-radius: var(--app-radius);
}
.avue-tags__contentmenu .item[data-v-4042bfb9]:hover,
.avue-tags__moremenu .item[data-v-4042bfb9]:hover {
  background-color: var(--app-color-primary);
  color: var(--white-light-10);
}
.avue-tags__contentmenu .item .menu-icon[data-v-4042bfb9],
.avue-tags__moremenu .item .menu-icon[data-v-4042bfb9] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  filter: brightness(0) saturate(100%) invert(39%) sepia(8%) saturate(1094%) hue-rotate(202deg) brightness(95%) contrast(89%);
}
.avue-tags__contentmenu .item .menu-text[data-v-4042bfb9],
.avue-tags__moremenu .item .menu-text[data-v-4042bfb9] {
  flex: 1;
}
.avue-tags__contentmenu .item:hover .menu-icon[data-v-4042bfb9],
.avue-tags__moremenu .item:hover .menu-icon[data-v-4042bfb9] {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}
@media (max-width: 1200px) {
.avue-tags[data-v-4042bfb9] {
    max-width: 100%;
}
}
@media (max-width: 768px) {
.avue-tags[data-v-4042bfb9] {
    max-width: 100%;
    min-width: 100px;
}
.avue-tag-item[data-v-4042bfb9] {
    max-width: 80px;
    padding: 0 6px;
}
.avue-tag-item .tag-text[data-v-4042bfb9] {
    font-size: 11px;
}
.overflow-container .overflow-count[data-v-4042bfb9] {
    font-size: 12px;
}
.overflow-container .overflow-dots[data-v-4042bfb9] {
    font-size: 14px;
}
}
/* 暗黑模式下的右键菜单：边框 + 图标 filter 是 dark 专属，其他文字 / 背景已由变量切换 */
.dark .avue-tags__contentmenu[data-v-4042bfb9],
.dark .avue-tags__moremenu[data-v-4042bfb9] {
  border: 1px solid var(--app-border) !important;
}
.dark .avue-tags__contentmenu .item[data-v-4042bfb9],
.dark .avue-tags__moremenu .item[data-v-4042bfb9] {
  color: var(--app-text-body) !important;
}
.dark .avue-tags__contentmenu .item[data-v-4042bfb9]:hover,
.dark .avue-tags__moremenu .item[data-v-4042bfb9]:hover {
  background-color: var(--app-color-primary) !important;
  color: var(--white-light-10) !important;
}
.dark .avue-tags__contentmenu .item .menu-icon[data-v-4042bfb9],
.dark .avue-tags__moremenu .item .menu-icon[data-v-4042bfb9] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  filter: brightness(0) saturate(100%) invert(66%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}
.dark .avue-tags__contentmenu .item .menu-text[data-v-4042bfb9],
.dark .avue-tags__moremenu .item .menu-text[data-v-4042bfb9] {
  flex: 1;
  color: inherit;
}
.dark .avue-tags__contentmenu .item:hover .menu-icon[data-v-4042bfb9],
.dark .avue-tags__moremenu .item:hover .menu-icon[data-v-4042bfb9] {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}
.dark .avue-tags__contentmenu .item:hover .menu-text[data-v-4042bfb9],
.dark .avue-tags__moremenu .item:hover .menu-text[data-v-4042bfb9] {
  color: var(--white-light-10) !important;
}
.dark .avue-tags__contentmenu .item i[data-v-4042bfb9],
.dark .avue-tags__moremenu .item i[data-v-4042bfb9] {
  color: var(--app-text-placeholder);
}
.dark .avue-tags__contentmenu .item i[data-v-4042bfb9]:hover,
.dark .avue-tags__moremenu .item i[data-v-4042bfb9]:hover {
  color: var(--white-light-10) !important;
}
._TagsOver_r6ub0_2 {
  line-height: 60px;
}

.Component[data-v-b8d99b42] {
  height: 32px;
  width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--app-radius);
  transition: background-color var(--app-transition-base);
}
.Component[data-v-b8d99b42]:hover {
  background: rgba(0, 0, 0, 0.05);
}
.Component[data-v-b8d99b42]:active {
  background: var(--app-color-primary-light-5);
  color: var(--app-color-primary) !important;
}
.theme-dark .Component[data-v-b8d99b42] {
  color: var(--white-light-10) !important;
}
.theme-dark .Component[data-v-b8d99b42]:hover {
  background: rgba(255, 255, 255, 0.2);
  color: var(--white-light-10) !important;
}
.theme-dark .Component[data-v-b8d99b42]:active {
  background: var(--app-color-primary-light-5);
  color: var(--app-color-primary) !important;
}
.theme-aqua .Component[data-v-b8d99b42] {
  color: var(--white-light-10) !important;
}
.theme-aqua .Component[data-v-b8d99b42]:hover {
  background: var(--app-color-primary-light-5);
  color: var(--white-light-10) !important;
}
.theme-aqua .Component[data-v-b8d99b42]:active {
  background: var(--app-color-primary-light-5);
  color: var(--app-color-primary) !important;
}
.notice-badge[data-v-b8d99b42] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  cursor: pointer;
}
.notice-icon[data-v-b8d99b42] {
  height: 100%;
  width: 100%;
  padding: 7px;
  display: block;
}
.drawer-header[data-v-b8d99b42] {
  height: 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.drawer-header h3[data-v-b8d99b42] {
  margin: 0;
  font-size: 16px;
  font-weight: var(--app-font-weight-medium);
}
.drawer-header .header-actions[data-v-b8d99b42] {
  display: flex;
  gap: 4px;
}
.drawer-header .header-actions[data-v-b8d99b42] .setting-btn {
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--app-radius) !important;
  transition: all var(--app-transition-base) !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  min-width: 32px !important;
}
.tabs-container[data-v-b8d99b42] {
  position: relative;
  padding: 0 16px;
  box-sizing: border-box;
  min-width: 0;
  flex: 1;
  min-height: 0;
}
.tabs-container[data-v-b8d99b42] .el-badge__content.is-fixed {
  top: 19px;
}
.notice-tabs[data-v-b8d99b42] {
  flex: 1;
  height: 100%;
  min-width: 0;
}
.notice-tabs[data-v-b8d99b42] .el-tabs__content {
  height: calc(100% - 50px);
  overflow-y: auto;
}
.notice-tabs[data-v-b8d99b42] .el-tabs__content::-webkit-scrollbar {
  width: 0;
  background: transparent;
}
.notice-tabs[data-v-b8d99b42] .el-tabs__content::-webkit-scrollbar-track {
  background: transparent;
}
.notice-tabs[data-v-b8d99b42] .el-tabs__content::-webkit-scrollbar-thumb {
  background: transparent;
}
.notice-tabs[data-v-b8d99b42] .el-tabs__content {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.notice-tabs[data-v-b8d99b42] .el-tabs__header {
  margin-bottom: 0;
  border-bottom: none;
  position: sticky;
  top: 0;
  z-index: 20;
}
.notice-tabs[data-v-b8d99b42] .el-tab-pane {
  height: 100%;
  /* 不要隐藏溢出，否则会导致 sticky 失效 */
  overflow: visible;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.tabs-settings[data-v-b8d99b42] {
  position: absolute;
  top: 8px;
  right: 24px;
  z-index: 21;
  display: flex;
  align-items: center;
}
.tabs-settings[data-v-b8d99b42] .setting-btn {
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--app-radius) !important;
  transition: all var(--app-transition-base) !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  min-width: 32px !important;
}
.tabs-settings[data-v-b8d99b42] .setting-btn svg {
  width: 16px !important;
  height: 16px !important;
  transition: all var(--app-transition-base) !important;
  color: var(--app-text-body) !important;
}
.tabs-settings[data-v-b8d99b42] .setting-btn:hover {
  background: rgba(0, 0, 0, 0.05) !important;
}
.tabs-settings[data-v-b8d99b42] .setting-btn:hover svg {
  opacity: 0.8 !important;
}
.tabs-settings[data-v-b8d99b42] .setting-btn:active {
  background: rgba(0, 0, 0, 0.1) !important;
}
.tabs-settings[data-v-b8d99b42] .setting-btn:active svg {
  opacity: 0.6 !important;
}
.tabs-settings[data-v-b8d99b42] .setting-btn:focus {
  background: transparent !important;
}
.tabs-settings[data-v-b8d99b42] .setting-btn:focus:hover {
  background: rgba(0, 0, 0, 0.05) !important;
}
[data-v-b8d99b42] .el-drawer {
  box-sizing: border-box;
}
[data-v-b8d99b42] .el-tabs {
  min-width: 0;
}
[data-v-b8d99b42] .el-tabs__content {
  overflow-x: hidden;
}
[data-v-b8d99b42] .el-drawer__body {
  padding: 0 !important;
  display: flex;
  flex-direction: column;
}
[data-v-b8d99b42] .el-tabs__nav-wrap {
  padding: 0 12px;
}
[data-v-b8d99b42] .el-tab-pane {
  padding-top: 0px;
}
[data-v-b8d99b42] .el-tabs__header {
  margin: 0;
}
[data-v-b8d99b42] .el-drawer .el-drawer__header {
  margin: 0 !important;
  padding: 0 24px;
}
[data-v-b8d99b42] .el-notification .el-notification__icon {
  margin: auto !important;
}

/* :deep(.transparent-modal) {
  background-color: transparent !important;
} */
[data-v-b8d99b42] .el-tabs__nav-wrap:after {
  height: 0.5px;
}
[data-v-b8d99b42] .message-notification {
  min-width: 330px;
  max-width: 400px;
}
[data-v-b8d99b42] .message-notification .el-notification__content {
  margin-top: 0;
}
[data-v-b8d99b42] .message-notification .el-notification__closeBtn {
  top: 14px;
  right: 14px;
  font-size: 16px;
}
[data-v-b8d99b42] .message-notification .el-notification__closeBtn:hover {
  color: var(--app-color-primary);
}[data-v-a36cbc03] .el-dropdown-link {
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-bar__img[data-v-a36cbc03] {
  width: 24px;
  height: 24px;
  border-radius: var(--app-radius);
  object-fit: cover;
}
.el-popper.is-pure {
  transform: translateX(-10px) !important;
}
._UserArea_mur8o_2 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 0px; /* 统一内边距 */
  height: 32px; /* 统一用户区域高度为32px */
  border-radius: var(--app-radius); /* 使用全局圆角变量 */
  transition: background-color var(--app-transition-base); /* 添加过渡效果 */
  cursor: pointer; /* 添加光标指针 */
}
._UserArea_mur8o_2:hover {
  background: rgba(0, 0, 0, 0.05); /* 悬停时的背景颜色 */
}
._UserDropdownTrigger_mur8o_16 {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  width: 100%;
  height: 100%;
  transition: all var(--app-transition-base);
  padding: 4px 8px; /* 统一内边距 */
  border-radius: var(--app-radius);
}
._UserDropdownTrigger_mur8o_16._isOpen_mur8o_27 {
  background-color: rgba(0, 0, 0, 0.08);
}
._UserDropdownTrigger_mur8o_16._isOpen_mur8o_27 ._el-icon--right_mur8o_30 {
  transform: rotate(180deg);
  transition: transform var(--app-transition-base);
}
._UserInfoArea_mur8o_35 {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
._UserName_mur8o_41 {
  font-size: var(--app-font-size-xs);
  color: var(--app-layout-toolbar-text-muted);
  line-height: var(--app-line-height-tight);
}
._RealName_mur8o_47 {
  font-size: var(--app-font-size-sm);
  color: var(--app-layout-toolbar-text);
  line-height: var(--app-line-height-tight);
}
._UserDropdownMenu_mur8o_53 {
  width: 320px !important;
  padding: 8px 16px !important;
}
.el-dropdown-menu.el-popper {
  transform: translateX(-10px) !important;
}
:deep(._el-dropdown-menu__item_mur8o_62) {
  height: 32px !important;
  min-height: 32px !important;
  line-height: 32px !important;
  padding: 8px 16px !important;
}
:deep(._UserDropdownMenu_mur8o_53 ._el-dropdown-menu__item_mur8o_62) {
  padding: 8px 16px !important;
}
:deep(._el-dropdown-menu__item_mur8o_62:not(._UserInfoItem_mur8o_73)) {
  padding: 8px 16px !important;
}
.el-dropdown-menu__item {
  padding: 8px 16px !important;
}
.theme-dynamic ._el-dropdown-menu__item_mur8o_62 {
  padding: 8px 16px !important;
}
.el-dropdown-menu__item[style*='padding'] {
  padding: 8px 16px !important;
}
:deep(._el-dropdown-menu_mur8o_58) {
  width: 300px !important;
  min-width: 300px !important;
  max-width: 300px !important;
}
._DropdownUserInfo_mur8o_95 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--app-color-primary) 5%, transparent) 0%, transparent 100%), var(--app-bg-surface);
  width: 100%;
  box-sizing: border-box;
  border-radius: var(--app-radius);
}
._UserInfoItem_mur8o_73 {
  cursor: default !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  min-height: auto !important;
  line-height: normal !important;
}
._UserInfoItem_mur8o_73:hover {
  background-color: transparent !important;
  color: inherit !important;
}
._UserInfoItem_mur8o_73:focus {
  background-color: transparent !important;
  color: inherit !important;
}
:deep(._UserInfoItem_mur8o_73) {
  cursor: default !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  min-height: auto !important;
  line-height: normal !important;
}
:deep(._UserInfoItem_mur8o_73):hover {
  background-color: transparent !important;
  color: inherit !important;
}
:deep(._UserInfoItem_mur8o_73):focus {
  background-color: transparent !important;
  color: inherit !important;
}
.theme-dynamic ._UserInfoItem_mur8o_73 {
  cursor: default !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  min-height: auto !important;
  line-height: normal !important;
}
.theme-dynamic ._UserInfoItem_mur8o_73:hover {
  background-color: transparent !important;
  color: inherit !important;
}
.theme-dynamic ._UserInfoItem_mur8o_73:focus {
  background-color: transparent !important;
  color: inherit !important;
}
._DropdownAvatar_mur8o_157 {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
}
._DropdownUserText_mur8o_165 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}
._DropdownRealName_mur8o_172 {
  font-size: 18px;
  color: var(--app-text-body);
  line-height: var(--app-line-height-tight);
}
._DropdownUserName_mur8o_178 {
  font-size: 12px;
  color: var(--app-text-body);
  line-height: var(--app-line-height-tight);
}
._RoleSection_mur8o_184 {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  width: 100%;
}
._RoleTitle_mur8o_192 {
  font-size: 14px;
  color: var(--app-text-body);
  height: 32px;
  line-height: 32px;
  display: flex;
  align-items: center;
}
._RoleContent_mur8o_201 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 12px;
  border-radius: var(--app-radius);
  cursor: pointer;
  transition: background-color var(--app-transition-base);
  width: 100%;
  height: 48px;
}
._CurrentRole_mur8o_213 {
  font-size: 14px;
  color: var(--app-text-body);
  display: inline-block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
._RoleSwitch_mur8o_223 {
  font-size: 12px;
  color: var(--app-text-secondary);
  display: flex;
  align-items: center;
  gap: 4px;
}
._RoleSwitch_mur8o_223 i {
  font-size: 12px;
}
._ArrowIcon_mur8o_234 {
  font-size: 12px;
  color: var(--app-text-secondary);
}
._RoleDropdown_mur8o_239 {
  width: 100%;
}
._RoleDropdownItem_mur8o_243 {
  width: 280px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 12px;
  position: relative;
}
._RoleDropdownItem_mur8o_243 i:first-child {
  color: var(--app-text-secondary);
  font-size: 14px;
}
._RoleDropdownItem_mur8o_243 span {
  font-size: 14px;
  color: var(--app-text-body);
}
._RoleDropdownItemActive_mur8o_260 {
  background: transparent !important;
  color: var(--app-color-primary);
}
._RoleDropdownItemActive_mur8o_260 i:first-child {
  color: var(--app-color-primary);
}
._RoleDropdownItemActive_mur8o_260 span {
  color: var(--app-color-primary);
  font-weight: var(--app-font-weight-medium);
}
._RoleDropdownItemActive_mur8o_260 ._CheckIcon_mur8o_271 {
  color: var(--app-color-primary) !important;
}
._CheckIcon_mur8o_271 {
  color: var(--app-color-primary) !important;
  font-size: 16px;
  font-weight: bold;
  margin-left: auto;
}
._DeptSection_mur8o_282 {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  width: 100%;
}
._DeptTitle_mur8o_290 {
  font-size: 14px;
  color: var(--app-text-body);
  height: 32px;
  line-height: 32px;
  display: flex;
  align-items: center;
}
._DeptContent_mur8o_299 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 12px;
  border-radius: var(--app-radius);
  cursor: pointer;
  transition: background-color var(--app-transition-base);
  width: 100%;
  height: 48px;
}
._CurrentDept_mur8o_311 {
  font-size: 14px;
  color: var(--app-text-body);
  display: inline-block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
._DeptSwitch_mur8o_321 {
  font-size: 12px;
  color: var(--app-text-secondary);
  display: flex;
  align-items: center;
  gap: 4px;
}
._DeptSwitch_mur8o_321 i {
  font-size: 12px;
}
._DeptDropdown_mur8o_332 {
  width: 100%;
}
._DeptDropdownItem_mur8o_336 {
  width: 280px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 12px;
  position: relative;
}
._DeptDropdownItem_mur8o_336 i:first-child {
  color: var(--app-text-secondary);
  font-size: 14px;
}
._DeptDropdownItem_mur8o_336 span {
  font-size: 14px;
  color: var(--app-text-secondary);
}
._DeptDropdownItemActive_mur8o_353 {
  background: transparent !important;
  color: var(--app-color-primary);
}
._DeptDropdownItemActive_mur8o_353 i:first-child {
  color: var(--app-color-primary);
}
._DeptDropdownItemActive_mur8o_353 span {
  color: var(--app-color-primary);
  font-weight: var(--app-font-weight-medium);
}
._DeptDropdownItemActive_mur8o_353 ._CheckIcon_mur8o_271 {
  color: var(--app-color-primary) !important;
}
._DeptContent_mur8o_299,
._RoleContent_mur8o_201 {
  background-color: var(--app-user-area-bg);
}
.theme-aqua ._UserArea_mur8o_2:hover {
  background: rgba(255, 255, 255, 0.2) !important;
}
.theme-aqua ._UserArea_mur8o_2 ._UserDropdownTrigger_mur8o_16._isOpen_mur8o_27 {
  background-color: rgba(255, 255, 255, 0.15) !important;
}
.theme-dark ._UserArea_mur8o_2:hover {
  background: var(--app-bg-fill-light) !important;
}
.theme-dark ._UserArea_mur8o_2 ._UserDropdownTrigger_mur8o_16._isOpen_mur8o_27 {
  background-color: rgba(255, 255, 255, 0.1) !important;
}
.dark ._DropdownUserInfo_mur8o_95 {
  background: transparent !important;
}
.dark ._RoleContent_mur8o_201 {
  background: rgba(255, 255, 255, 0.05);
}
.dark ._DeptContent_mur8o_299 {
  background: rgba(255, 255, 255, 0.05);
}
:deep(._el-dropdown-menu__item--divided_mur8o_397) {
  margin: 0px !important;
}
._RoleMenuItem_mur8o_401:hover {
  background-color: transparent !important;
  color: inherit !important;
}
._RoleMenuItem_mur8o_401:focus {
  background-color: transparent !important;
  color: inherit !important;
}
._DeptMenuItem_mur8o_410:hover {
  background-color: transparent !important;
  color: inherit !important;
}
._DeptMenuItem_mur8o_410:focus {
  background-color: transparent !important;
  color: inherit !important;
}
:deep(._RoleMenuItem_mur8o_401._el-dropdown-menu__item_mur8o_62:not(._is-disabled_mur8o_419):hover),
:deep(._RoleMenuItem_mur8o_401._el-dropdown-menu__item_mur8o_62:not(._is-disabled_mur8o_419):focus) {
  background-color: transparent !important;
  color: inherit !important;
}
:deep(._DeptMenuItem_mur8o_410._el-dropdown-menu__item_mur8o_62:not(._is-disabled_mur8o_419):hover),
:deep(._DeptMenuItem_mur8o_410._el-dropdown-menu__item_mur8o_62:not(._is-disabled_mur8o_419):focus) {
  background-color: transparent !important;
  color: inherit !important;
}
/* AvueTop 样式已移至全局主题文件 */
._TopRight_ygjxt_3 {
  display: flex;
  gap: 12px;
  align-items: center;
  height: 32px; /* 统一右边区域高度为32px */
}
._TopRightItem_ygjxt_10 {
  height: 32px;
  width: 32px;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
._TopRightItem_ygjxt_10 > svg,
._TopRightItem_ygjxt_10 > i {
  height: 100%;
  width: 100%;
}
._Center_ygjxt_25 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 32px; /* 统一中心区域高度为32px */
}
/* 侧栏展开/收起开关：toolbar 最左 */
.top-bar__collapse {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  margin-left: var(--app-spacing-s);
  margin-right: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--app-radius);
  cursor: pointer;
  color: var(--app-layout-toolbar-text);
  transition: background-color var(--app-transition-fast), color var(--app-transition-fast);
}
.top-bar__collapse:hover {
  background-color: var(--app-bg-fill-light);
  color: var(--app-color-primary);
}
.top-bar__collapse .collapse-toggle-icon {
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("/assets/images/toggle-21GOolYl.svg") no-repeat center/contain;
  mask: url("/assets/images/toggle-21GOolYl.svg") no-repeat center/contain;
  transition: transform var(--app-transition-base);
}
.top-bar__collapse .collapse-toggle-icon.is-collapsed {
  transform: scaleX(-1);
}
._Contail_uf3yr_2 {
  /* 最外层页面底色（page）：统一读 --app-bg-page（各主题在 _theme-*.scss / _dark.scss 设值）。
     原按主题硬编码的背景图（blue.png / pink.png 已 404）/渐变在此收口为单一 token。 */
  background: var(--app-bg-page);
}
._Layout_uf3yr_7 {
  /* 布局样式 */
}
._AvueMain_uf3yr_11 {
  box-sizing: border-box;
}
._AvueView_uf3yr_15 {
  background-color: var(--app-bg-surface);
  overflow: auto !important;
> * {
    height: 100%;
    background-color: transparent !important;
}
}

/* 侧栏底部「全量菜单」入口
   - 与上方导航以分界线（border-top）区分，提示用户这不是导航项
   - 整个侧栏改成 flex column 布局：logo（自适应高度） → menu（flex:1 占满剩余）
     → footer（固定 48px），避免 menu 高度 calc 与 footer 绝对定位的几何破绽，
     menu 在任何视口下都不可能在 footer 区域里漏出残影 */
/* ── classic 皮肤：全部收敛在 html.layout-classic 下，避免污染 borex 布局
   （两布局共用 sidebar/logo 组件，classic 的 logo 下边框 / nav 右边框等不应漏到 borex）── */
html.layout-classic .avue-sidebar {
  display: flex;
  flex-direction: column;
  /* 覆盖 src/styles/sidebar.scss 里 height: calc(100% - top_height) 的写法 —
     flex 布局下不再依赖 height 计算，直接靠 flex:1 占剩余空间 */
}
html.layout-classic .avue-sidebar .avue-menu {
  height: auto !important;
  flex: 1;
  min-height: 0;
}
html.layout-classic {
  /* 全宽头部布局：
     - logo 区与顶栏（.avue-top）同高同行，给 logo 补一条 border-bottom，
       和顶栏的 border-bottom 连成一条贯穿到最左侧的横向分割线。
     - 竖向分界线不放在整条侧栏上（那样会从 logo 右侧穿到顶），而是只放在
       logo 以下的菜单区 + footer 上，于是 logo 与顶栏在头部连成一片、其下才出现竖线。 */
}
html.layout-classic .avue-logo {
  /* border-box 保证这条 border-bottom 落在 60px 高度之内，
     与同样 border-box 的 .avue-top 底边精确对齐成一条直线 */
  box-sizing: border-box;
  border-bottom: 1px solid var(--app-border);
}
html.layout-classic {
  /* 竖向分界线放在整个导航列容器 + footer 上，
     放在外层 .avue-sidebar-nav 而非内部滚动区 .avue-menu，
     滚动时分界线保持贯通、右侧不会缺线 */
}
html.layout-classic .avue-sidebar-nav,
html.layout-classic .avue-sidebar-footer {
  border-right: 1px solid var(--app-border);
}
html.layout-classic {
  /* 顶部横向菜单形态已收编为独立的 topnav 布局壳（layouts/layout-topnav.vue），
     classic 恒为竖向侧栏——原 .avue-layout--horizontal 皮肤块随 setting.sidebar 轴下线一并移除。 */
}
html.layout-classic .avue-sidebar-footer {
  flex-shrink: 0;
  width: 100%;
  height: 48px;
  display: flex;
  align-items: center;
  /* 图标靠左，跟上方导航图标的左缘对齐：margin 8 + base padding 12 = 20px */
  padding-left: calc(var(--el-menu-base-level-padding, 12px) + 8px);
  box-sizing: border-box;
  cursor: pointer;
  user-select: none;
  border-top: 1px solid var(--app-border);
  color: var(--app-text-body);
  /* 底色：跟侧栏其他区域一致用 var(--app-layout-container-bg)，确保
     彻底盖住可能透出来的 menu 残影；hover 再叠加高亮 */
  background-color: var(--app-layout-container-bg);
  transition: background-color var(--app-transition-fast), color 0.15s ease;
}
html.layout-classic .avue-sidebar-footer:hover {
  background-color: var(--app-bg-fill-light);
  color: var(--app-color-primary);
}
html.layout-classic .avue-sidebar-footer .footer-icon {
  font-size: var(--app-font-size-xl);
  flex-shrink: 0;
}
html.layout-classic .avue-sidebar-footer {
  /* 折叠/展开图标：用 toggle.svg 作遮罩，颜色继承父级（默认 text-body，hover 主色） */
}
html.layout-classic .avue-sidebar-footer .footer-toggle-icon {
  width: 14px;
  height: 14px;
  background-color: currentColor;
  -webkit-mask: url("/assets/images/toggle-21GOolYl.svg") no-repeat center/contain;
  mask: url("/assets/images/toggle-21GOolYl.svg") no-repeat center/contain;
  transition: transform var(--app-transition-base);
}
html.layout-classic .avue-sidebar-footer {
  /* 收起态翻转，箭头指向相反方向 */
}
html.layout-classic .avue-sidebar-footer .footer-toggle-icon.is-collapsed {
  transform: scaleX(-1);
}
html.layout-classic {
  /* 收起态：侧栏缩窄，底部按钮去掉左侧缩进、图标居中 */
}
html.layout-classic .avue--collapse .avue-sidebar-footer {
  padding-left: 0;
  justify-content: center;
}
html.layout-classic {
  /* 深色 / aqua 主题下的覆盖统一维护在 src/styles/themes/theme.scss（.theme-dynamic 块内） */
  /* 纯内容模式（iframe 嵌入）：侧栏与顶栏已隐藏；full-height 路由不再减顶栏高度。
     右侧间距与圆角已在基础样式中移除，此处无需再覆盖。 */
}
html.layout-classic .avue--clean #avue-view.full-height {
  height: 100vh;
}
._Contail_18ooa_2 {
  /* 最外层页面底色（page backdrop）：内容区圆角软切角 / 侧栏处露出的就是它。 */
  background: var(--app-bg-page);
}
._AvueView_18ooa_6 {
  overflow: auto !important;
  /* 内容滚动区透明，继承内容区底色（背景在 .avue-main 上统一给）。 */
  background-color: transparent;
> * {
    height: 100%;
    background-color: transparent !important;
}
}

/* ── Borex 皮肤：全部收敛在 html.layout-borex 下，避免污染 classic 布局 ── */
html.layout-borex {
  /* ── 右侧内容区：铺满，不与侧栏 / 上 / 下 / 右留任何间隙 ──
     - 背景用「内容区底色」--app-layout-container-bg；
     - 仅左上 / 左下大圆角：overflow:hidden 把内容区底色在两个圆角处裁掉，露出底层
       page 底色（--app-bg-page），形成贴着侧栏的「软切角」（右侧贴屏幕边为方角）；
     - 默认主题 page 与 container 同色 → 圆角看不出；改主题让两者拉开色差后即显现。 */
}
html.layout-borex .avue-main {
  background: var(--app-layout-container-bg);
  border-top-left-radius: var(--app-layout-container-radius);
  border-bottom-left-radius: var(--app-layout-container-radius);
  overflow: hidden;
}
html.layout-borex {
  /* ── 侧栏：flex 纵向（品牌 → 菜单 flex:1），菜单区占满剩余高度 ──
     覆盖 src/styles/sidebar.scss 里 .avue-menu height: calc(100% - toolbar) 的写法，
     flex 布局下直接靠 flex:1 占剩余空间，几何无破绽。 */
}
html.layout-borex .avue-sidebar {
  display: flex;
  flex-direction: column;
}
html.layout-borex .avue-sidebar .avue-menu {
  height: auto !important;
  flex: 1;
  min-height: 0;
}
html.layout-borex {
  /* 纯内容模式（iframe 嵌入）：内容区铺满直角；full-height 路由占满视口高 */
}
html.layout-borex .avue--clean .avue-main {
  border-radius: 0;
}
html.layout-borex .avue--clean #avue-view.full-height {
  height: 100vh;
}
._Contail_chh9f_2 {
  /* 最外层页面底色（page）：统一读 --app-bg-page（各主题在 _theme-*.scss / _dark.scss 设值）。 */
  background: var(--app-bg-page);
}
._Layout_chh9f_6 {
  /* 顶部导航：纵向排布（顶栏 → 内容），覆盖 common.scss 里 .avue-layout 的默认横向 flex。 */
  flex-direction: column;
}
._Header_chh9f_10 {
  box-sizing: border-box;
}
._AvueMain_chh9f_13 {
  box-sizing: border-box;
}
._AvueView_chh9f_16 {
  background-color: var(--app-bg-surface);
  overflow: auto !important;
> * {
    height: 100%;
    background-color: transparent !important;
}
}

/* ── topnav 皮肤：全部收敛在 html.layout-topnav 下，避免污染 borex / classic ── */
html.layout-topnav {
  /* 顶部导航条：白底 + 底部分割线，logo 与横向菜单同处一行 */
}
html.layout-topnav .avue-header {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  height: var(--app-layout-toolbar-height);
  background: var(--app-bg-surface);
  border-bottom: 1px solid var(--app-layout-toolbar-border);
}
html.layout-topnav {
  /* 品牌区：固定宽度、铺满行高（覆盖 logo.vue scoped 的竖向固定高） */
}
html.layout-topnav .avue-header__logo {
  flex-shrink: 0;
  width: var(--app-layout-sidebar-width);
  height: 100%;
  border-bottom: none;
}
html.layout-topnav {
  /* 横向主菜单：占满剩余宽度，内部 sidebar 三区并成一行 */
}
html.layout-topnav .avue-header__menu.avue-sidebar-nav {
  flex: 1;
  min-width: 0;
  height: 100%;
  border-right: none;
}
html.layout-topnav .avue-header__menu.avue-sidebar-nav .avue-menu {
  height: 100%;
}
html.layout-topnav .avue-header__menu.avue-sidebar-nav {
  /* el-scrollbar 视图横排：多个 region el-menu 并列成一行；不出滚动条，
     溢出由 EP 横向菜单自带的「更多(⋯)」折叠处理 */
}
html.layout-topnav .avue-header__menu.avue-sidebar-nav .el-scrollbar__wrap {
  overflow: hidden;
}
html.layout-topnav .avue-header__menu.avue-sidebar-nav .el-scrollbar__view {
  display: flex;
  flex-direction: row;
  align-items: center;
  height: 100%;
}
html.layout-topnav .avue-header__menu.avue-sidebar-nav .sidebar-region {
  background: transparent;
}
html.layout-topnav .avue-header__menu.avue-sidebar-nav {
  /* 动态主菜单占满剩余宽度并允许收缩，使 EP 横向菜单的「更多(⋯)」溢出折叠生效
     （固定三项区按内容宽度、贴左）。小屏进一步降级（遮罩抽屉）留 P3。 */
}
html.layout-topnav .avue-header__menu.avue-sidebar-nav .sidebar-region--middle {
  flex: 1;
  min-width: 0;
}
html.layout-topnav .avue-header__menu.avue-sidebar-nav {
  /* 横向 el-menu 去掉底部 1px 边（避免与 header border 叠成双线） */
}
html.layout-topnav .avue-header__menu.avue-sidebar-nav .el-menu--horizontal {
  border-bottom: none;
}
html.layout-topnav {
  /* 内容区全宽、贴边、方角（无 borex 的悬浮圆角面板） */
}
html.layout-topnav .avue-main {
  background: var(--app-layout-container-bg);
}
html.layout-topnav {
  /* full-height 路由（内滚页）：topnav 有「顶栏 + 工具栏」两条，
     可用高度 = 视口 − 顶栏高 − 工具栏高（两者均为 toolbar-height）。 */
}
html.layout-topnav #avue-view.full-height {
  height: calc(100vh - var(--app-layout-toolbar-height) * 2);
}
html.layout-topnav {
  /* 纯内容模式（iframe 嵌入）：顶栏已隐藏，full-height 路由占满视口高。 */
}
html.layout-topnav .avue--clean #avue-view.full-height {
  height: 100vh;
}
.pref-fab[data-v-e355a562] {
  position: fixed;
  bottom: 200px;
  right: 20px;
  z-index: var(--app-z-modal);
}
.pref[data-v-e355a562] {
  display: flex;
  flex-direction: column;
  gap: var(--app-spacing-l);
  padding: var(--app-spacing-xs);
}
.pref__header[data-v-e355a562] {
  display: flex;
  flex-direction: column;
  gap: var(--app-spacing-xs);
}
.pref__title[data-v-e355a562] {
  font-size: var(--app-font-size-lg);
  color: var(--app-text-emphasis);
  line-height: var(--app-line-height-tight);
}
.pref__subtitle[data-v-e355a562] {
  font-size: var(--app-font-size-xs);
  color: var(--app-text-secondary);
  line-height: var(--app-line-height-base);
}
.pref__section[data-v-e355a562] {
  display: flex;
  flex-direction: column;
  gap: var(--app-spacing-s);
}
.pref__label[data-v-e355a562] {
  font-size: var(--app-font-size-sm);
  font-weight: var(--app-font-weight-medium);
  color: var(--app-text-body);
}
.pref__layouts[data-v-e355a562] {
  display: flex;
  gap: var(--app-spacing-s);
}
.pref__layout-card[data-v-e355a562] {
  flex: 1;
  min-width: 0;
  cursor: pointer;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  padding: 4px;
  transition: border-color var(--app-transition-base);
}
.pref__layout-card[data-v-e355a562]:hover {
  border-color: var(--app-color-primary-light-7);
}
.pref__layout-card.is-active[data-v-e355a562] {
  border-color: var(--app-color-primary);
}
.pref__layout-preview[data-v-e355a562] {
  border-radius: var(--app-radius);
  overflow: hidden;
}
.pref__layout-preview img[data-v-e355a562] {
  display: block;
  width: 100%;
  height: auto;
}
.pref__layout-name[data-v-e355a562] {
  display: block;
  text-align: center;
  margin-top: 4px;
  font-size: var(--app-font-size-xs);
  color: var(--app-text-secondary);
}
.pref__row[data-v-e355a562] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: var(--app-font-size-sm);
  color: var(--app-text-body);
}
.pref[data-v-e355a562] {
  /* 滑块行：标签在上、滑块占满一行（并排太挤） */
}
.pref__row--slider[data-v-e355a562] {
  flex-direction: column;
  align-items: stretch;
  gap: var(--app-spacing-xs);
}
.pref__row--slider[data-v-e355a562] .el-slider {
  width: 100%;
}
.pref__footer[data-v-e355a562] {
  margin-top: var(--app-spacing-s);
}