@charset "UTF-8";.avue-breadcrumb-nav[data-v-fc738a81] {
  user-select: none;
  position: relative;
  padding: 0 10px;
  margin: 0;
  box-sizing: border-box;
  height: 40px;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  margin-right: 15px;
  flex: 1;
}
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  min-width: 0;
}
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item {
  flex-shrink: 0;
}
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item .el-breadcrumb__inner {
  display: flex;
  align-items: center;
  color: var(--app-layout-toolbar-text-muted) !important;
  font-size: var(--app-font-size-sm);
  font-weight: normal !important;
  transition: color var(--app-transition-slow);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item .el-breadcrumb__inner i {
  margin-right: 4px;
  font-size: var(--app-font-size-sm);
  flex-shrink: 0;
}
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item .el-breadcrumb__inner:hover {
  color: var(--app-layout-toolbar-text) !important;
}
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item:nth-child(2) .el-breadcrumb__inner,
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item:nth-child(2) .el-breadcrumb__inner a,
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item:nth-child(2) .el-breadcrumb__inner a:hover,
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item:nth-child(2) .el-breadcrumb__inner:hover, .avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item:last-child .el-breadcrumb__inner,
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item:last-child .el-breadcrumb__inner a,
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item:last-child .el-breadcrumb__inner:hover, .avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item.is-active .el-breadcrumb__inner,
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item.is-active .el-breadcrumb__inner a,
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item.is-active .el-breadcrumb__inner a:hover,
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item.is-active .el-breadcrumb__inner:hover {
  color: var(--app-layout-toolbar-text) !important;
  font-weight: normal !important;
  cursor: pointer !important;
}
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item.is-group .el-breadcrumb__inner, .avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item.is-group .el-breadcrumb__inner:hover {
  cursor: default !important;
}
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item:last-child {
  flex: 1 1 auto;
  min-width: 0;
}
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item:last-child .el-breadcrumb__inner {
  max-width: 100%;
}
@media screen and (max-width: 768px) {
.avue-breadcrumb-nav[data-v-fc738a81] {
    padding: 0 5px;
    min-width: 100px;
}
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item .el-breadcrumb__inner {
    font-size: calc(var(--app-font-size-sm) - 1px);
}
.avue-breadcrumb-nav[data-v-fc738a81] .el-breadcrumb .el-breadcrumb__item .el-breadcrumb__inner i {
    font-size: calc(var(--app-font-size-sm) - 1px);
}
}
[data-v-fc738a81] .el-breadcrumb__separator {
  font-weight: normal;
  color: var(--app-text-placeholder);
}
.avue-logo[data-v-e453d1a3] {
  display: flex;
  align-items: center;
  justify-content: start;
  /* 固定为顶栏同高（--top-height=60px）并禁止 flex 伸缩：
     刷新时菜单数据未回来、侧栏菜单区为空，若用 height:100% 会被 flex 撑满整条侧栏，
     里面的 logo+企业名因 align-items:center 落到垂直正中。固定高度后 logo 始终钉在顶部，
     空白由下方 flex:1 的 .avue-sidebar-nav 吸收。 */
  height: var(--app-layout-toolbar-height);
  flex-shrink: 0;
  color: var(--app-brand-title-color);
}
.logo-title[data-v-e453d1a3] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
}
.logo-img[data-v-e453d1a3] {
  display: block;
  width: 26px;
  height: 28px;
  /* background-image 由统一品牌解析器以内联样式写入；无主题/登录配置品牌时回落本 token。 */
  background-image: var(--app-brand-logo);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.avue-logo_subtitle[data-v-e453d1a3] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 0;
}

._Title_41ozy_2 {
    font-size: 16px;
}
.avue-searchs[data-v-53f1ccef] {
  padding-top: 50px;
  width: 100%;
  height: 100%;
  background-color: var(--app-bg-surface);
  z-index: 1024;
}
.avue-searchs__title[data-v-53f1ccef] {
  margin-bottom: 60px;
  text-align: center;
  font-size: 42px;
  font-weight: bold;
  letter-spacing: 2px;
  text-indent: 2px;
}
.avue-searchs__form[data-v-53f1ccef] {
  margin: 0 auto 50px auto;
  width: 50%;
  text-align: center;
}
.avue-searchs__form p[data-v-53f1ccef] {
  margin-top: 20px;
}
.avue-searchs__scrollbar[data-v-53f1ccef] {
  height: 400px;
}
.avue-searchs__list[data-v-53f1ccef] {
  box-sizing: border-box;
  padding: 20px 30px;
  margin: 0 auto;
  width: 70%;
  border-radius: 4px;
  border: 1px solid var(--app-border);
  background-color: var(--app-bg-surface);
  overflow: hidden;
  color: var(--app-text-emphasis);
  transition: 0.3s;
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
}
.avue-searchs__item[data-v-53f1ccef] {
  padding: 5px 0;
  border-bottom: 1px dashed var(--app-border);
}
.avue-searchs__item-icon[data-v-53f1ccef] {
  margin-right: 5px;
  font-size: 18px;
}
.avue-searchs__item-title[data-v-53f1ccef] {
  font-size: 20px;
  font-weight: var(--app-font-weight-medium);
  color: var(--app-text-body);
}
.avue-searchs__item-path[data-v-53f1ccef] {
  line-height: 30px;
  color: var(--app-text-secondary);
}
.custom-sub-menu[data-v-2f80d5ed] .el-sub-menu__icon-arrow {
  display: none; /* 隐藏默认箭头 */
}
.custom-sub-menu .sub-menu-arrow[data-v-2f80d5ed] {
  margin-left: auto;
  font-size: var(--app-font-size-xs);
  transition: transform var(--app-transition-base);
  color: var(--app-layout-sidebar-text-muted);
}
.custom-sub-menu[data-v-2f80d5ed] {
  /* 默认指右；展开旋转 90° 指下 */
}
.custom-sub-menu.is-opened .sub-menu-arrow[data-v-2f80d5ed] {
  transform: rotate(90deg);
}

/* 一级分组标题：无图标、灰字、不可点击 */
.sidebar-group-title[data-v-2f80d5ed] {
  display: inline-block;
  padding: 0;
  font-size: var(--app-font-size-xs);
  color: var(--app-layout-sidebar-text-muted);
  font-weight: var(--app-font-weight-normal);
  letter-spacing: 0.5px;
}

/* 最近访问为空：禁用态去掉透明度与 not-allowed 光标，让它看起来就是普通条目 */
.sidebar-recent-empty[data-v-2f80d5ed],
.sidebar-recent-empty[data-v-2f80d5ed]:hover {
  cursor: default !important;
  opacity: 1 !important;
}
/* 单一滚动区容器：撑满侧栏可用高度，内部 .avue-menu(el-scrollbar) flex:1 占满并滚动
   （flex 分配在 layout.vue 全局样式里统一管）。顶部三项与动态菜单一起滚动。 */
.avue-sidebar-nav[data-v-a376252f] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* 滚动区首个区块与 logo 下分割线之间留 8px 呼吸间距，避免首项贴着分割线。
   用 :first-child 而非写死区块名：主菜单模式首项是 --top，应用上下文模式（从应用中心
   进入）首项是 --back（返回主菜单），两种模式都能覆盖，不会再漏掉 --back 的顶部间距。 */
.sidebar-region[data-v-a376252f]:first-child {
  padding-top: var(--app-spacing-xs);
}

/* 滚动区末个区块与 footer（全量菜单入口）分割线之间同样留 8px 呼吸间距。
   末项在两种模式下都是 --middle，这里用 :last-child 与上面对称。 */
.sidebar-region[data-v-a376252f]:last-child {
  padding-bottom: var(--app-spacing-xs);
}
.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;
}

.search-container[data-v-7a2de6a7] {
  height: 32px;
  display: flex;
  align-items: center;
  position: relative;
}
[data-v-7a2de6a7] .my-autocomplete {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  right: auto !important;
  transform: none !important;
  margin: 0 !important;
  width: 300px;
  max-height: 360px;
  overflow-y: auto;
  padding: var(--app-spacing-xs);
  box-sizing: border-box;
  background-color: var(--app-bg-overlay);
  border: 1px solid var(--app-border-lighter);
  border-radius: var(--app-radius-lg);
  box-shadow: var(--app-shadow-lg);
}
[data-v-7a2de6a7] .my-autocomplete li {
  padding: 0 !important;
  border-radius: var(--app-radius);
  overflow: hidden;
  transition: background-color var(--app-transition-fast);
}
[data-v-7a2de6a7] .my-autocomplete li:hover {
  background-color: transparent !important;
}
[data-v-7a2de6a7] .my-autocomplete li:hover .search-item {
  background-color: var(--app-color-primary-light-9);
}
[data-v-7a2de6a7] .my-autocomplete li > * {
  padding: var(--app-spacing-xs) var(--app-spacing-s) !important;
}
.my-autocomplete li[data-v-7a2de6a7] {
  line-height: normal !important;
}
.my-autocomplete li .non-selectable[data-v-7a2de6a7] {
  pointer-events: none;
  user-select: none;
  cursor: default;
}
.my-autocomplete li[data-v-7a2de6a7] {
  /* 去掉历史分组的悬浮效果 */
}
.my-autocomplete li[data-v-7a2de6a7]:has(.history-group):hover, .my-autocomplete li[data-v-7a2de6a7]:has(.history-group-header):hover {
  background-color: transparent !important;
  cursor: default;
}
.my-autocomplete li .search-info[data-v-7a2de6a7] {
  padding: 4px 0;
  pointer-events: none;
}
.my-autocomplete li .search-info .search-info-text[data-v-7a2de6a7] {
  font-size: 12px;
  color: var(--app-text-placeholder);
}
.my-autocomplete li .no-results[data-v-7a2de6a7] {
  padding: 32px 16px;
  text-align: center;
  pointer-events: none;
}
.my-autocomplete li .no-results .no-results-icon[data-v-7a2de6a7] {
  margin-bottom: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.my-autocomplete li .no-results .no-results-icon img[data-v-7a2de6a7] {
  width: 64px;
  height: 64px;
  opacity: 0.6;
}
.my-autocomplete li .no-results .no-results-text[data-v-7a2de6a7] {
  font-size: 14px;
  color: var(--app-text-placeholder);
  font-weight: var(--app-font-weight-normal);
}
.my-autocomplete li .history-group[data-v-7a2de6a7] {
  pointer-events: none;
}
.my-autocomplete li .history-group .group-header[data-v-7a2de6a7] {
  margin-bottom: 12px;
}
.my-autocomplete li .history-group .group-header .group-title[data-v-7a2de6a7] {
  font-size: var(--app-font-size-xs);
  color: var(--app-text-secondary);
  margin-bottom: 0;
  cursor: default;
}
.my-autocomplete li .history-group .search-tags[data-v-7a2de6a7] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  pointer-events: auto;
}
.my-autocomplete li .history-group .search-tags .el-tag[data-v-7a2de6a7] {
  cursor: pointer;
  transition: all var(--app-transition-base);
  pointer-events: auto;
}
.my-autocomplete li .history-group .search-tags .el-tag[data-v-7a2de6a7]:hover {
  opacity: 0.8;
}
.my-autocomplete li .history-group-header[data-v-7a2de6a7] {
  pointer-events: none;
}
.my-autocomplete li .history-group-header .group-title[data-v-7a2de6a7] {
  font-size: var(--app-font-size-xs);
  color: var(--app-text-secondary);
  margin-bottom: 0;
  cursor: default;
}
.my-autocomplete li .search-item[data-v-7a2de6a7] {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--app-spacing-s);
  cursor: pointer;
  transition: background-color var(--app-transition-base);
  border-radius: var(--app-radius);
}
.my-autocomplete li .icon-container[data-v-7a2de6a7] {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--app-radius);
  background-color: var(--app-bg-fill-light);
}
.my-autocomplete li .icon[data-v-7a2de6a7] {
  font-size: 18px;
}
.my-autocomplete li .content-container[data-v-7a2de6a7] {
  flex: 1;
  min-width: 0;
}
.my-autocomplete li .name[data-v-7a2de6a7] {
  font-size: var(--app-font-size-sm);
  font-weight: var(--app-font-weight-normal);
  color: var(--app-text-emphasis);
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 16px;
  line-height: 16px;
}
.my-autocomplete li .addr[data-v-7a2de6a7] {
  font-size: 12px;
  color: var(--app-text-placeholder);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 16px;
  line-height: 16px;
}
.my-autocomplete li .highlighted .name[data-v-7a2de6a7] {
  color: var(--app-color-primary);
}
.my-autocomplete li .highlighted .addr[data-v-7a2de6a7] {
  color: var(--app-color-primary-light-3);
}

/* 暗黑模式样式 */
.dark .my-autocomplete[data-v-7a2de6a7] {
  background-color: var(--app-bg-surface) !important;
  border-color: var(--app-border) !important;
  box-shadow: var(--app-shadow-lg) !important;
}
.dark .my-autocomplete li[data-v-7a2de6a7] {
  /* 暗黑模式下也去掉历史分组的悬浮效果 */
}
.dark .my-autocomplete li[data-v-7a2de6a7]:has(.history-group):hover, .dark .my-autocomplete li[data-v-7a2de6a7]:has(.history-group-header):hover {
  background-color: transparent !important;
  cursor: default;
}
.dark .my-autocomplete li .search-info .search-info-text[data-v-7a2de6a7] {
  color: var(--app-text-body);
}
.dark .my-autocomplete li .no-results .no-results-text[data-v-7a2de6a7] {
  color: var(--app-text-body) !important;
}
.dark .my-autocomplete li .history-group .group-header .group-title[data-v-7a2de6a7] {
  color: var(--app-text-body);
}
.dark .my-autocomplete li .history-group .search-tags .el-tag[data-v-7a2de6a7] {
  background-color: rgba(255, 255, 255, 0.1) !important;
  border-color: var(--app-border) !important;
  color: var(--app-text-body) !important;
}
.dark .my-autocomplete li .history-group .search-tags .el-tag[data-v-7a2de6a7]:hover {
  background-color: var(--app-bg-fill-light) !important;
  border-color: var(--app-color-primary) !important;
  color: var(--app-color-primary) !important;
}
.dark .my-autocomplete li .history-group-header .group-title[data-v-7a2de6a7] {
  color: var(--app-text-body) !important;
}
.dark .my-autocomplete li .search-item .icon-container[data-v-7a2de6a7] {
  background: var(--app-layout-container-bg) !important;
}
.dark .my-autocomplete li .search-item .name[data-v-7a2de6a7] {
  color: var(--app-text-body) !important;
}
.dark .my-autocomplete li .search-item .addr[data-v-7a2de6a7] {
  color: var(--app-text-body) !important;
}
.dark .my-autocomplete li .search-item.highlighted .name[data-v-7a2de6a7] {
  color: var(--app-color-primary) !important;
}
.dark .my-autocomplete li .search-item.highlighted .addr[data-v-7a2de6a7] {
  color: var(--app-color-primary-light-2) !important;
}
.dark .top-search[data-v-7a2de6a7] .el-input__wrapper {
  border-color: var(--app-border) !important;
}
.dark .top-search[data-v-7a2de6a7] .el-input__wrapper.is-focus {
  border-color: var(--app-color-primary) !important;
}
.ai-assistant-container {
&[data-v-d3a78ba8] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 12px;
  width: 83px;
  height: 32.8px;
  border-radius: var(--app-radius);
  cursor: pointer;
  transition: all var(--app-transition-slow);
  user-select: none;
  margin-top: 2px;

  /* 背景渐变 */
  background: linear-gradient(112deg, rgba(255, 255, 255, 0.4) 7%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(109deg, #e4e1fb 3%, #8fc1f8 107%);

  /* 悬停效果 / 面板打开时的激活态 */
}
&:hover,
  &.is-active {
&[data-v-d3a78ba8] {
    background: linear-gradient(109deg, #ccc6f9 3%, #0071fc 107%);
}
.ai-text[data-v-d3a78ba8] {
      color: var(--white-light-10) !important; /* 悬停时字体为白色（在渐变蓝紫色背景上） */
      background: none !important; /* 移除渐变背景 */
      -webkit-background-clip: unset !important;
      -webkit-text-fill-color: unset !important;
      background-clip: unset !important;
}
}
}
.ai-icon {
&[data-v-d3a78ba8] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
img[data-v-d3a78ba8] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
}
.ai-text[data-v-d3a78ba8] {
  /* 字体样式 */
  font-family: PingFang SC;
  font-size: 14px;
  font-weight: var(--app-font-weight-medium);
  line-height: 100%;
  letter-spacing: 0em;
  font-variation-settings: 'opsz' auto;

  /* 文字渐变 */
  background: linear-gradient(101deg, #0256ff 5%, #4d6bfe 98%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;

  /* 确保文字可读性 */
  white-space: nowrap;
  flex-shrink: 0;
}

/* 响应式设计 */
@media (max-width: 768px) {
.ai-assistant-container[data-v-d3a78ba8] {
    width: 75px;
    padding: 0 8px;
    gap: 4px;
}
.ai-icon[data-v-d3a78ba8] {
    width: 16px;
    height: 16px;
}
.ai-text[data-v-d3a78ba8] {
    font-size: 12px;
}
}
.code[data-v-5f2bd5f1] {
  font-size: 12px;
  display: block;
  font-family: monospace;
  white-space: pre;
  margin: 1em 0px;
}
.filter-section[data-v-5e2813b5] {
  display: flex;
  gap: 12px;
  padding: 0 4px;
  box-sizing: border-box;
  min-width: 0;
}
.filter-section .filter-item[data-v-5e2813b5] {
  flex: 1;
}
.filter-section .filter-item[data-v-5e2813b5] .el-select {
  width: 100%;
}
.sticky-filter[data-v-5e2813b5] {
  position: sticky;
  top: 0;
  z-index: 10;
}
.dark .filter-section[data-v-5e2813b5] {
  border-bottom-color: var(--app-border);
}

/* 只针对FilterSection组件内的下拉框，不影响其他组件 */
[data-v-5e2813b5] .el-select .el-popper.is-pure {
  transform: translateX(0px) translateY(-12px) !important;
}

/* 更具体的选择器，确保只影响当前组件的下拉框 */
.filter-section[data-v-5e2813b5] .el-select .el-popper.is-pure {
  transform: translateX(0px) translateY(-12px) !important;
}

/* 使用popper-class属性进行精确控制 - 提高优先级 */
.filter-select-popper.el-popper.is-pure {
  transform: translateX(0px) translateY(-12px) !important;
}

/* 更高优先级的选择器 */
.el-popper.is-pure.filter-select-popper {
  transform: translateX(0px) translateY(-12px) !important;
}

/* 最高优先级 - 使用ID选择器 */
#app .filter-select-popper.el-popper.is-pure {
  transform: translateX(0px) translateY(-12px) !important;
}
/* ==================== 消息列表样式 ==================== */
.message-list[data-v-3eae7af8] {
  height: 100%;
  overflow-y: auto;
  /* 隐藏滚动条但保持滚动功能 */
}
.message-list[data-v-3eae7af8]::-webkit-scrollbar {
  width: 0;
  background: transparent;
}
.message-list[data-v-3eae7af8]::-webkit-scrollbar-track {
  background: transparent;
}
.message-list[data-v-3eae7af8]::-webkit-scrollbar-thumb {
  background: transparent;
}
.message-list[data-v-3eae7af8] {
  /* Firefox 隐藏滚动条 */
  scrollbar-width: none;
  /* IE 隐藏滚动条 */
  -ms-overflow-style: none;
}
.message-list .message-item[data-v-3eae7af8] {
  padding: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--app-border);
  transition: all var(--app-transition-slow);
  word-wrap: break-word;
  overflow: hidden;
}
.message-list .message-item[data-v-3eae7af8]:last-child {
  margin-bottom: 0;
}
.message-list .message-item[data-v-3eae7af8] {
  /* 可点击的待办消息样式 */
}
.message-list .message-item.message-item--clickable[data-v-3eae7af8] {
  cursor: pointer;
  padding: 12px;
  margin-bottom: 12px;
}
.message-list .message-item.message-item--clickable[data-v-3eae7af8]:hover {
  background-color: var(--app-color-primary-light-9);
  border-radius: var(--app-radius);
  border-color: transparent;
}
.message-list .message-item.message-item--clickable[data-v-3eae7af8]:active {
  background-color: var(--app-color-primary-light-8);
}
.message-list .message-item[data-v-3eae7af8] {
  /* 只读消息样式（已读、全部标签页中的消息） */
}
.message-list .message-item.message-item--readonly[data-v-3eae7af8] {
  cursor: pointer;
  padding: 12px;
  margin-bottom: 12px;
}
.message-list .message-item[data-v-3eae7af8] {
  /* 只有悬浮效果的消息样式（不跳转但可点击） */
}
.message-list .message-item.message-item--hover-only[data-v-3eae7af8]:hover {
  background-color: var(--app-color-primary-light-9);
  border-radius: var(--app-radius);
  border-color: transparent;
}
.message-list .message-item.message-item--hover-only[data-v-3eae7af8]:active {
  background-color: var(--app-color-primary-light-8);
}
.message-list .message-header[data-v-3eae7af8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 24px;
  margin-bottom: 10px;
}
.message-list .message-header .message-type[data-v-3eae7af8] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.message-list .message-header .message-type .message-icon[data-v-3eae7af8] {
  position: relative;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.message-list .message-header .message-type .message-icon img[data-v-3eae7af8] {
  width: 12px;
  height: 12px;
  filter: brightness(0) invert(1);
}
.message-list .message-header .message-type .message-icon-approval[data-v-3eae7af8] {
  background-color: var(--app-msg-approval);
}
.message-list .message-header .message-type .message-icon-feedback[data-v-3eae7af8] {
  background-color: var(--app-msg-feedback);
}
.message-list .message-header .message-type .message-icon-comment[data-v-3eae7af8] {
  background-color: var(--app-msg-comment);
}
.message-list .message-header .message-type .message-icon-task[data-v-3eae7af8] {
  background-color: var(--app-msg-task);
}
.message-list .message-header .message-type .message-icon-system[data-v-3eae7af8] {
  background-color: var(--app-msg-system);
}
.message-list .message-header .message-type .unread-dot[data-v-3eae7af8] {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 8px;
  height: 8px;
  background-color: var(--app-color-danger);
  border-radius: 50%;
  border: 2px solid var(--app-bg-surface);
}
.message-list .message-header .message-type .message-type-text[data-v-3eae7af8] {
  font-size: var(--app-font-size-sm);
  color: var(--app-text-body);
}
.message-list .message-header .message-time[data-v-3eae7af8] {
  font-size: var(--app-font-size-xs);
  color: var(--app-text-placeholder);
}
.message-list .message-content[data-v-3eae7af8] {
  margin-bottom: 12px;
}
.message-list .message-content .message-title[data-v-3eae7af8] {
  font-size: var(--app-font-size-sm);
  color: var(--app-text-emphasis);
  margin: 0 0 12px 0;
  font-weight: var(--app-font-weight-medium);
  line-height: 20px;
  word-wrap: break-word;
  word-break: break-all;
  white-space: normal;
}
.message-list .message-content .message-subtitle[data-v-3eae7af8] {
  font-size: 15px;
  color: var(--app-text-emphasis);
  margin: 0 0 10px 0;
  font-weight: var(--app-font-weight-semibold);
  line-height: 22px;
  word-wrap: break-word;
  word-break: break-all;
  white-space: normal;
}
.message-list .message-content .message-body[data-v-3eae7af8] {
  font-size: 13px;
  color: var(--app-text-body);
  margin: 0;
  line-height: 24px;
  word-wrap: break-word;
  word-break: break-all;
  white-space: normal;
}
.message-list .message-content .message-body--comment[data-v-3eae7af8] {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.message-list .message-content .message-mention[data-v-3eae7af8] {
  color: var(--app-msg-comment);
}
.message-list .message-content .message-details .field-item[data-v-3eae7af8] {
  font-size: var(--app-font-size-xs);
  color: var(--app-text-body);
  margin: 4px 0;
  line-height: var(--app-line-height-base);
}
.message-list .message-content .message-details .field-item .field-label[data-v-3eae7af8] {
  color: var(--app-text-placeholder);
}
.message-list .message-content .message-details .field-item .field-value[data-v-3eae7af8] {
  margin-left: 4px;
  word-wrap: break-word;
  word-break: break-all;
  white-space: normal;
  max-width: 100%;
}
.message-list .message-actions[data-v-3eae7af8] {
  display: flex;
  gap: 12px;
  justify-content: center;
}
.message-list .message-actions .el-button[data-v-3eae7af8] {
  flex: 1;
  height: 32px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--app-font-weight-medium);
}
.message-list .message-actions .share-approve-dropdown[data-v-3eae7af8] {
  flex: 1;
}
.message-list .message-actions .share-approve-dropdown[data-v-3eae7af8] .el-button-group {
  display: flex;
  width: 100%;
}
.message-list .message-actions .share-approve-dropdown[data-v-3eae7af8] .el-button:first-child {
  flex: 1;
}
.message-list .message-actions.message-actions--single .el-button[data-v-3eae7af8] {
  width: 100%;
}

/* 加载状态样式 */
.loading-more[data-v-3eae7af8] {
  padding: 16px;
  text-align: center;
}
.no-more[data-v-3eae7af8] {
  padding: 16px;
  text-align: center;
}
.no-more span[data-v-3eae7af8] {
  font-size: 14px;
  color: var(--app-text-secondary);
}
.message-list-container[data-v-3eae7af8] {
  height: 100%;
  overflow: hidden;
}

/* 暗色主题 */
.dark .message-list .message-title[data-v-3eae7af8] {
  color: var(--app-text-body);
}
.dark .message-list .message-item[data-v-3eae7af8] {
  border-color: var(--app-border);
  /* 暗黑模式下可点击的待办消息样式 */
}
.dark .message-list .message-item.message-item--clickable[data-v-3eae7af8] {
  background-color: var(--app-bg-surface);
  border-color: var(--app-border);
}
.dark .message-list .message-item.message-item--clickable[data-v-3eae7af8]:hover {
  background-color: var(--app-bg-fill-lighter);
  border-color: transparent;
}
.dark .message-list .message-item.message-item--clickable[data-v-3eae7af8]:active {
  background-color: rgba(24, 144, 255, 0.1);
}
.dark .message-list .message-item[data-v-3eae7af8] {
  /* 暗黑模式下只有悬浮效果的消息样式 */
}
.dark .message-list .message-item.message-item--hover-only[data-v-3eae7af8]:hover {
  background-color: var(--app-bg-fill-lighter);
  border-color: transparent;
}
.dark .message-list .message-item.message-item--hover-only[data-v-3eae7af8]:active {
  background-color: rgba(24, 144, 255, 0.1);
}
.dark .message-list .message-time[data-v-3eae7af8] {
  color: var(--app-text-secondary);
}
.dark .message-list .field-label[data-v-3eae7af8] {
  color: var(--app-text-secondary);
}
.dark .message-list .field-value[data-v-3eae7af8] {
  color: var(--app-text-body);
}
.dark .message-actions[data-v-3eae7af8] {
  border-top-color: var(--app-border);
}
.dark .message-actions .el-button[data-v-3eae7af8]:not(.el-button--primary) {
  color: var(--app-text-body);
  border-color: var(--app-border);
  background-color: var(--app-bg-surface);
}
.dark .message-actions .el-button[data-v-3eae7af8]:not(.el-button--primary):hover {
  color: var(--app-color-primary);
  border-color: var(--app-color-primary);
}
.Component[data-v-20153043] {
  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-20153043]:hover {
  background: rgba(0, 0, 0, 0.05);
}
.Component[data-v-20153043]:active {
  background: var(--app-color-primary-light-5);
  color: var(--app-color-primary) !important;
}
.theme-dark .Component[data-v-20153043] {
  color: var(--white-light-10) !important;
}
.theme-dark .Component[data-v-20153043]:hover {
  background: rgba(255, 255, 255, 0.2);
  color: var(--white-light-10) !important;
}
.theme-dark .Component[data-v-20153043]:active {
  background: var(--app-color-primary-light-5);
  color: var(--app-color-primary) !important;
}
.theme-aqua .Component[data-v-20153043] {
  color: var(--white-light-10) !important;
}
.theme-aqua .Component[data-v-20153043]:hover {
  background: var(--app-color-primary-light-5);
  color: var(--white-light-10) !important;
}
.theme-aqua .Component[data-v-20153043]:active {
  background: var(--app-color-primary-light-5);
  color: var(--app-color-primary) !important;
}
.notice-badge[data-v-20153043] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  cursor: pointer;
}
.notice-icon[data-v-20153043] {
  height: 100%;
  width: 100%;
  padding: 7px;
  display: block;
}
.drawer-header[data-v-20153043] {
  height: 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.drawer-header h3[data-v-20153043] {
  margin: 0;
  font-size: 16px;
  font-weight: var(--app-font-weight-medium);
}
.drawer-header .header-actions[data-v-20153043] {
  display: flex;
  gap: 4px;
}
.drawer-header .header-actions[data-v-20153043] .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-20153043] {
  position: relative;
  padding: 0 16px;
  box-sizing: border-box;
  min-width: 0;
  flex: 1;
  min-height: 0;
}
.tabs-container[data-v-20153043] .el-badge__content.is-fixed {
  top: 19px;
}
.notice-tabs[data-v-20153043] {
  flex: 1;
  height: 100%;
  min-width: 0;
}
.notice-tabs[data-v-20153043] .el-tabs__content {
  height: calc(100% - 50px);
  overflow-y: auto;
}
.notice-tabs[data-v-20153043] .el-tabs__content::-webkit-scrollbar {
  width: 0;
  background: transparent;
}
.notice-tabs[data-v-20153043] .el-tabs__content::-webkit-scrollbar-track {
  background: transparent;
}
.notice-tabs[data-v-20153043] .el-tabs__content::-webkit-scrollbar-thumb {
  background: transparent;
}
.notice-tabs[data-v-20153043] .el-tabs__content {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.notice-tabs[data-v-20153043] .el-tabs__header {
  margin-bottom: 0;
  border-bottom: none;
  position: sticky;
  top: 0;
  z-index: 20;
}
.notice-tabs[data-v-20153043] .el-tab-pane {
  height: 100%;
  /* 不要隐藏溢出，否则会导致 sticky 失效 */
  overflow: visible;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.tabs-settings[data-v-20153043] {
  position: absolute;
  top: 8px;
  right: 24px;
  z-index: 21;
  display: flex;
  align-items: center;
}
.tabs-settings[data-v-20153043] .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-20153043] .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-20153043] .setting-btn:hover {
  background: rgba(0, 0, 0, 0.05) !important;
}
.tabs-settings[data-v-20153043] .setting-btn:hover svg {
  opacity: 0.8 !important;
}
.tabs-settings[data-v-20153043] .setting-btn:active {
  background: rgba(0, 0, 0, 0.1) !important;
}
.tabs-settings[data-v-20153043] .setting-btn:active svg {
  opacity: 0.6 !important;
}
.tabs-settings[data-v-20153043] .setting-btn:focus {
  background: transparent !important;
}
.tabs-settings[data-v-20153043] .setting-btn:focus:hover {
  background: rgba(0, 0, 0, 0.05) !important;
}
[data-v-20153043] .el-drawer {
  box-sizing: border-box;
}
[data-v-20153043] .el-tabs {
  min-width: 0;
}
[data-v-20153043] .el-tabs__content {
  overflow-x: hidden;
}
[data-v-20153043] .el-drawer__body {
  padding: 0 !important;
  display: flex;
  flex-direction: column;
}
[data-v-20153043] .el-tabs__nav-wrap {
  padding: 0 12px;
}
[data-v-20153043] .el-tab-pane {
  padding-top: 0px;
}
[data-v-20153043] .el-tabs__header {
  margin: 0;
}
[data-v-20153043] .el-drawer .el-drawer__header {
  margin: 0 !important;
  padding: 0 24px;
}
[data-v-20153043] .el-notification .el-notification__icon {
  margin: auto !important;
}

/* :deep(.transparent-modal) {
  background-color: transparent !important;
} */
[data-v-20153043] .el-tabs__nav-wrap:after {
  height: 0.5px;
}
[data-v-20153043] .message-notification {
  min-width: 330px;
  max-width: 400px;
}
[data-v-20153043] .message-notification .el-notification__content {
  margin-top: 0;
}
[data-v-20153043] .message-notification .el-notification__closeBtn {
  top: 14px;
  right: 14px;
  font-size: 16px;
}
[data-v-20153043] .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);
}
.ai-panel[data-v-cc3befd9] {
  /* 关闭态宽度归零、不占 flex 空间；打开态 360px。宽度过渡产生滑入/滑出。 */
  flex-shrink: 0;
  width: 0;
  height: 100%;
  overflow: hidden;
  background: var(--app-bg-surface);
  transition: width var(--app-transition-slow);
}
.ai-panel.is-open[data-v-cc3befd9] {
  width: 360px;
  border-left: 1px solid var(--app-border);
}
.ai-panel[data-v-cc3befd9] {
  /* 全屏：脱离 flex，覆盖整个视口 */
}
.ai-panel.is-fullscreen[data-v-cc3befd9] {
  position: fixed;
  inset: 0;
  width: 100vw;
  z-index: var(--app-z-modal);
  border-left: none;
}
.ai-panel__inner[data-v-cc3befd9] {
  /* 固定 360 宽，避免宽度过渡时内部内容被挤压重排 */
  width: 360px;
  height: 100%;
  display: flex;
  flex-direction: column;
  /* 关键：作为 host 控制条（absolute）的定位上下文。否则其包含块回退到视口，
     会逃出 .ai-panel 的 overflow:hidden 裁剪 → 面板关闭后全屏/关闭按钮仍浮在右上角。 */
  position: relative;
}
.is-fullscreen .ai-panel__inner[data-v-cc3befd9] {
  width: 100%;
}

/* host 控制条：贴右上角，浮在 SDK 头部（.header-box）之上的最右侧，
   高度与应用顶栏（--top-height）一致，纵向居中对齐 SDK 头部按钮 */
.ai-panel__chrome[data-v-cc3befd9] {
  position: absolute;
  top: 0;
  right: 0;
  height: var(--app-layout-toolbar-height);
  display: flex;
  align-items: center;
  /* 与 SDK 头部图标按钮的节奏对齐：按钮间距 4px、右缘留 12px（= .header-box 的左右内边距） */
  gap: 4px;
  padding-right: 12px;
  z-index: 2;
}

/* 与 SDK 头部图标按钮风格统一：24×24 方形、无填充、次要色图标、轻 hover 反馈 */
.ai-panel__chrome-btn[data-v-cc3befd9] {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--app-text-secondary);
  border-radius: var(--app-radius);
  cursor: pointer;
  transition: background var(--app-transition-fast), color var(--app-transition-fast);
}
.ai-panel__chrome-btn .el-icon[data-v-cc3befd9] {
  font-size: 14px;
}
.ai-panel__chrome-btn[data-v-cc3befd9]:hover {
  background: var(--app-bg-fill-light);
  color: var(--app-text-body);
}
.ai-panel__body[data-v-cc3befd9] {
  position: relative;
  flex: 1;
  min-height: 0;
}
.ai-panel__sdk[data-v-cc3befd9] {
  display: block;
  width: 100%;
  height: 100%;
}
.ai-panel__status[data-v-cc3befd9] {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--app-spacing-s);
  background: var(--app-bg-surface);
  z-index: 1;
}
.ai-panel__status--error[data-v-cc3befd9] {
  color: var(--app-color-danger);
}
.ai-panel__error-text[data-v-cc3befd9] {
  margin: 0;
  font-size: var(--app-font-size-sm);
  color: var(--app-text-secondary);
}
.ai-panel__spinner[data-v-cc3befd9] {
  width: 32px;
  height: 32px;
  border: 3px solid var(--app-bg-fill);
  border-top-color: var(--app-color-primary);
  border-radius: 50%;
  animation: ai-panel-rotate-cc3befd9 0.8s linear infinite;
}
@keyframes ai-panel-rotate-cc3befd9 {
to {
    transform: rotate(360deg);
}
}
.ai-panel-fade-enter-active[data-v-cc3befd9],
.ai-panel-fade-leave-active[data-v-cc3befd9] {
  transition: opacity var(--app-transition-base);
}
.ai-panel-fade-enter-from[data-v-cc3befd9],
.ai-panel-fade-leave-to[data-v-cc3befd9] {
  opacity: 0;
}
._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);
}/* Make clicks pass-through */
#nprogress {
  pointer-events: none;
}

#nprogress .bar {
  background: #29d;

  position: fixed;
  z-index: 1031;
  top: 0;
  left: 0;

  width: 100%;
  height: 2px;
}

/* Fancy blur effect */
#nprogress .peg {
  display: block;
  position: absolute;
  right: 0px;
  width: 100px;
  height: 100%;
  box-shadow: 0 0 10px #29d, 0 0 5px #29d;
  opacity: 1.0;

  -webkit-transform: rotate(3deg) translate(0px, -4px);
      -ms-transform: rotate(3deg) translate(0px, -4px);
          transform: rotate(3deg) translate(0px, -4px);
}

/* Remove these to get rid of the spinner */
#nprogress .spinner {
  display: block;
  position: fixed;
  z-index: 1031;
  top: 15px;
  right: 15px;
}

#nprogress .spinner-icon {
  width: 18px;
  height: 18px;
  box-sizing: border-box;

  border: solid 2px transparent;
  border-top-color: #29d;
  border-left-color: #29d;
  border-radius: 50%;

  -webkit-animation: nprogress-spinner 400ms linear infinite;
          animation: nprogress-spinner 400ms linear infinite;
}

.nprogress-custom-parent {
  overflow: hidden;
  position: relative;
}

.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
  position: absolute;
}

@-webkit-keyframes nprogress-spinner {
  0%   { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}
@keyframes nprogress-spinner {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.file-preview[data-v-8c218fbb] {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--app-bg-surface);
}
.file-preview__frame[data-v-8c218fbb] {
  width: 100%;
  height: 100%;
  border: none;
}
.file-preview__image[data-v-8c218fbb] {
  max-width: 100%;
  max-height: 100%;
}
.file-preview__media[data-v-8c218fbb] {
  max-width: 100%;
  max-height: 100%;
}
.file-preview__audio[data-v-8c218fbb] {
  width: 100%;
}
.file-preview__office[data-v-8c218fbb] {
  width: 100%;
  height: 100%;
  overflow: auto;
  align-self: stretch;
  background: var(--app-bg-elevated, #fff);
}.doc-inner[data-v-4bcacec7] {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 var(--app-spacing-l) var(--app-spacing-xl);
}
.doc-inner__title[data-v-4bcacec7] {
  margin: 0 0 var(--app-spacing-s);
  font-size: var(--app-font-size-xxl, 26px);
  font-weight: var(--app-font-weight-semibold);
  color: var(--app-text-emphasis);
}
.doc-inner__meta[data-v-4bcacec7] {
  margin-bottom: var(--app-spacing-l);
  font-size: var(--app-font-size-sm);
  color: var(--app-text-secondary);
}
.doc-inner__content[data-v-4bcacec7] {
  font-size: var(--app-font-size-md);
  line-height: 1.8;
  color: var(--app-text-body);
  word-break: break-word;
}
.doc-inner__content[data-v-4bcacec7] img {
  max-width: 100%;
}
.doc-inner__content[data-v-4bcacec7] table {
  border-collapse: collapse;
  max-width: 100%;
}
.doc-inner__content[data-v-4bcacec7] td,
.doc-inner__content[data-v-4bcacec7] th {
  border: 1px solid var(--app-border-weak);
  padding: 4px 8px;
}
.doc-inner__attach[data-v-4bcacec7] {
  margin-top: var(--app-spacing-xl);
  padding-top: var(--app-spacing-l);
  border-top: 1px solid var(--app-border-weak);
}
.doc-inner__attach-title[data-v-4bcacec7] {
  margin-bottom: var(--app-spacing-s);
  font-size: var(--app-font-size-sm);
  font-weight: var(--app-font-weight-medium);
  color: var(--app-text-emphasis);
}
.doc-inner__attach-list[data-v-4bcacec7] {
  margin: 0;
  padding: 0;
  list-style: none;
}
.doc-inner__attach-item[data-v-4bcacec7] {
  display: flex;
  align-items: center;
  gap: var(--app-spacing-s);
  padding: var(--app-spacing-s);
  border: 1px solid var(--app-border-weak);
  border-radius: var(--app-radius-m);
  margin-bottom: var(--app-spacing-xs);
  cursor: pointer;
  transition: background var(--app-transition-fast);
}
.doc-inner__attach-item[data-v-4bcacec7]:hover {
  background: var(--app-bg-fill-light);
}
.doc-inner__attach-icon[data-v-4bcacec7] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  object-fit: contain;
}
.doc-inner__attach-name[data-v-4bcacec7] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: var(--app-font-size-sm);
  color: var(--app-color-primary);
}
.doc-inner__attach-size[data-v-4bcacec7] {
  flex-shrink: 0;
  font-size: var(--app-font-size-xs);
  color: var(--app-text-secondary);
}
.doc-inner__attach-download[data-v-4bcacec7] {
  flex-shrink: 0;
  color: var(--app-color-primary);
}._Component_1m8d0_1 {
  color: inherit;
  display: flex;
  width: 100%;
}.list-pagination[data-v-e216627d] {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--app-spacing-m);
}
.list-pagination--flush[data-v-e216627d] {
  margin-top: 0;
}
.page-container[data-v-73312713] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.page-container__bg[data-v-73312713] {
  flex: 1;
  min-height: 0;
  overflow: auto;
  background: var(--app-layout-container-bg);
  padding: var(--app-spacing-s);
}
.page-container__inner[data-v-73312713] {
  width: 100%;
  margin: 0 auto;
}
.page-container__inner--wide[data-v-73312713] {
  width: var(--app-page-width);
  max-width: var(--app-page-max-wide);
}
.page-container__inner--narrow[data-v-73312713] {
  width: var(--app-page-width);
  max-width: var(--app-page-max-narrow);
}
.page-container__inner--full[data-v-73312713] {
  width: 100%;
}
.page-container[data-v-73312713] {
  /* flush 模式：去掉灰底外圈留白，内容贴边铺满（全宽详情页用）。 */
}
.page-container--flush .page-container__bg[data-v-73312713] {
  padding: 0;
}
.page-container[data-v-73312713] {
  /* fill 模式：整页不滚，内层框死高度成为 flex 列，子页用 flex:1 让表格铺满、分页钉底。 */
}
.page-container--fill .page-container__bg[data-v-73312713] {
  overflow: hidden;
}
.page-container--fill .page-container__inner[data-v-73312713] {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.su-icon[data-v-24e6614a] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  line-height: 1;
  vertical-align: middle;
  font-style: normal;
  /* 自定义 SVG 经 normalizeViewBox 去掉了固有宽高（尺寸交给 CSS），本身无固有尺寸。
     放进窄 flex 容器时（如侧栏收起态：图标被 EP 包进 .el-menu-tooltip__trigger，
     左右各 12px padding 后内容区仅 ~8px），会被 flex-shrink 压成 min-content≈0 而不可见
     （字体图标因有字符 min-content 不受影响，故只有自定义 SVG 收起时消失）。
     flex-shrink:0 保持设定尺寸，对齐 EP 给 .el-icon 的同款保护。 */
  flex-shrink: 0;
}
.su-icon__svg[data-v-24e6614a] {
  display: inline-flex;
  width: 100%;
  height: 100%;
}
.su-icon__svg[data-v-24e6614a] svg {
  width: 100%;
  height: 100%;
  display: block;
}
.su-icon--ph[data-v-24e6614a] {
  border-radius: 2px;
  background: var(--app-bg-fill);
}
