@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body, #app {
  width: 100%;
  height: 100%;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.page-container {
  padding: 20px;
}

.page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.page-header h2 {
  font-size: 18px;
  font-weight: 600;
  color: #303133;
}

.filter-card {
  margin-bottom: 16px;
  padding: 16px;
  background: #fff;
  border-radius: 4px;
  border: 1px solid #ebeef5;
}

.table-card {
  background: #fff;
  border-radius: 4px;
  border: 1px solid #ebeef5;
  padding: 0;
}

.stat-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.filter-bar {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  padding: 12px 16px;
  background: #fff;
  border-radius: 4px;
  border: 1px solid #ebeef5;
}

.pagination-wrapper {
  display: flex;
  justify-content: flex-end;
  padding: 16px;
}

.el-table {
  --el-table-header-bg-color: #fafafa;
}

/*
 * 修复 Chromium 原生 MathML 渲染导致 KaTeX 公式重复显示的问题。
 * KaTeX 的 .katex-mathml 用 clip-path+overflow:hidden 隐藏 MathML，
 * 但 Chromium 的 <math> 元素 (display:math) 绕过父元素裁剪，以完整尺寸渲染，
 * 导致 MathML 和 KaTeX HTML 同时可见。直接 display:none 彻底隐藏。
 */
.katex .katex-mathml {
  display: none !important;
}

/* AI 生成 / 真题导入中以 $...$ / $$...$$ 包裹的公式，渲染后的容器样式 */
.katex-raw-block {
  display: block;
  margin: 0.5em 0;
  overflow-x: auto;
  overflow-y: hidden;
}

.katex-raw-inline {
  display: inline-block;
}

/* 中文着重号：每个加点 <span class="dot-ch"> 下方一个圆点（全局生效，覆盖编辑器与 v-html 渲染）

   语义 = 「一个加点标记 ⇒ 一个圆点」：
   - 单独给相邻两个字分别加点 ⇒ 各自成为独立 span（emphasis-dot.ts 用 data-dot 区分，防止合并）
     ⇒ 每个字下面各一个点 ✅
   - 一次性选中多个字再加点 ⇒ 一个 span ⇒ 一个点（居中于该 span）
   注意这与手机端 `text-emphasis`（逐字）在「多字 span」上表现不同；
   但仅当一次性选中多字时才会出现多字 span，逐字加点不会。

   ⚠️ 必须用 display: inline，不能用 inline-block。原因经实测确认：
   段落形如 <p style="text-indent: 2em">，text-indent 只对「块容器」首行生效；
   inline-block 本身是块容器，会让 2em 缩进在**加点字内部**生效，把该字顶出约 2 个字宽
   （12px 字号实测：inline 12px / inline-block 36px）⇒「加点字前面出现很大空白」。
   inline 盒不是块容器，text-indent 不生效；inline 设 position: relative 后仍可作 ::after 的包含块。

   ⚠️ ::after 是 .dot-ch 的子元素，会继承段落 text-indent: 2em；它因 position:absolute 被块级化后
   text-indent 会在圆点自己的盒子里生效、把 ● 顶偏（未处理时偏移约 1.71 字宽）
   ⇒ ::after 必须显式把可继承的排版属性归零。 */
.dot-ch {
  position: relative;
  font-style: normal !important;
  display: inline;
}

.dot-ch::after {
  content: "●";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px; /* 圆点与文字的上下间距；每 +0.5px 圆点下移 0.5px */
  text-align: center;
  font-size: 5px;
  line-height: 1;
  color: #303133;
  pointer-events: none;
  /* 切断从段落继承来的缩进/字距，否则圆点会被顶偏（见上方实测数据） */
  text-indent: 0;
  letter-spacing: normal;
  word-spacing: normal;
}.login-container[data-v-936f353d] {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.login-card[data-v-936f353d] {
  width: 400px;
  padding: 40px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}
.login-title[data-v-936f353d] {
  text-align: center;
  margin-bottom: 30px;
  font-size: 24px;
  color: #303133;
}.sidebar[data-v-2858fc8d] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.sidebar-logo[data-v-2858fc8d] {
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1019607843);
  white-space: nowrap;
  overflow: hidden;
}
.el-menu[data-v-2858fc8d] {
  border-right: none;
  flex: 1;
  overflow-y: auto;
}
.el-menu-item.is-active[data-v-2858fc8d] {
  background-color: #1890ff !important;
}.topbar[data-v-ace6fcba] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
}
.topbar-left[data-v-ace6fcba] {
  display: flex;
  align-items: center;
}
.collapse-btn[data-v-ace6fcba] {
  font-size: 20px;
  cursor: pointer;
  color: #303133;
}
.collapse-btn[data-v-ace6fcba]:hover {
  color: #409eff;
}
.topbar-right[data-v-ace6fcba] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.warnings[data-v-ace6fcba] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.warning-tag[data-v-ace6fcba] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-weight: 600;
}
.warning-icon[data-v-ace6fcba] {
  font-size: 14px;
}
@keyframes pulse-scale-ace6fcba {
0%, 100% {
    transform: scale(1);
}
50% {
    transform: scale(1.12);
}
}
.warning-tag--warning[data-v-ace6fcba] {
  animation: pulse-scale-ace6fcba 1.2s ease-in-out infinite;
}
.warning-tag--danger[data-v-ace6fcba] {
  animation: pulse-scale-ace6fcba 0.8s ease-in-out infinite;
}
.user-info[data-v-ace6fcba] {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.username[data-v-ace6fcba] {
  font-size: 14px;
  color: #303133;
}
.account-btn[data-v-ace6fcba] {
  font-size: 18px;
  color: #909399;
}
.account-btn[data-v-ace6fcba]:hover {
  color: #409eff;
}.warning-popup-content {
  font-size: 16px;
  font-weight: 600;
  color: #303133;
  line-height: 2;
  padding: 4px 0;
}
.el-message-box__message .el-message-box__container .el-message-box__status {
  font-size: 28px;
}.breadcrumb-container[data-v-2c08358b] {
  padding: 16px 20px;
  background: #fff;
  border-bottom: 1px solid #ebeef5;
}
.floating-task-progress[data-v-fae00547] {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 2000;
  width: 340px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.floating-task-progress[data-v-fae00547]:hover {
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.06);
}

/* 折叠态：容器自适应内容宽度，去掉背景/阴影/固定宽，仅靠右显示小图标 */
.floating-task-progress--collapsed[data-v-fae00547] {
  width: auto;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
}

/* 折叠为图标（小圆钮） */
.task-mini[data-v-fae00547] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  color: #409eff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.04);
  cursor: pointer;
  transition: transform 0.2s;
}
.task-mini[data-v-fae00547]:hover {
  transform: scale(1.08);
}

/* header 右侧操作区（展开箭头 + 折叠按钮） */
.header-actions[data-v-fae00547] {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* 折叠按钮 */
.task-collapse-btn[data-v-fae00547] {
  color: #909399;
  padding: 2px 4px;
}
.floating-header[data-v-fae00547] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  cursor: pointer;
  user-select: none;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}
.floating-header[data-v-fae00547]:hover {
  background: #f5f5f5;
}
.header-left[data-v-fae00547] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.header-title[data-v-fae00547] {
  font-size: 13px;
  font-weight: 600;
  color: #303133;
}
.expand-icon[data-v-fae00547] {
  transition: transform 0.2s;
  color: #909399;
}
.expand-icon.expanded[data-v-fae00547] {
  transform: rotate(180deg);
}
.floating-body[data-v-fae00547] {
  max-height: 320px;
  overflow-y: auto;
}
.task-item[data-v-fae00547] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid #f5f5f5;
}
.task-item[data-v-fae00547]:last-child {
  border-bottom: none;
}
.task-item.running[data-v-fae00547] {
  background: #fdf6ec;
}
.task-item.completed[data-v-fae00547] {
  background: #f0f9eb;
}
.task-item.failed[data-v-fae00547] {
  background: #fef0f0;
}
.task-info[data-v-fae00547] {
  flex: 1;
  min-width: 0;
}
.task-label[data-v-fae00547] {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.task-type[data-v-fae00547] {
  font-size: 13px;
  font-weight: 600;
  color: #303133;
}
.task-subject[data-v-fae00547] {
  font-size: 12px;
  color: #909399;
}
.task-step[data-v-fae00547] {
  font-size: 12px;
  color: #909399;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.task-meta[data-v-fae00547] {
  font-size: 11px;
  color: #c0c4cc;
  margin-top: 1px;
}
.task-error[data-v-fae00547] {
  font-size: 12px;
  color: #f56c6c;
  margin-top: 2px;
}
.empty-hint[data-v-fae00547] {
  padding: 24px;
  text-align: center;
  color: #c0c4cc;
  font-size: 13px;
}.app-layout[data-v-d72a4ba3] {
  height: 100vh;
}
.app-sidebar[data-v-d72a4ba3] {
  background: #001529;
  transition: width 0.3s;
  overflow: hidden;
}
.app-topbar[data-v-d72a4ba3] {
  height: 60px;
  padding: 0;
  background: #fff;
  border-bottom: 1px solid #ebeef5;
  display: flex;
  align-items: center;
}
.app-main[data-v-d72a4ba3] {
  background: #f5f7fa;
  padding: 0;
  overflow-y: auto;
}.stat-card[data-v-b122d9aa] {
  border-radius: 8px;
}
.stat-card-content[data-v-b122d9aa] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.stat-info[data-v-b122d9aa] {
  flex: 1;
}
.stat-label[data-v-b122d9aa] {
  font-size: 14px;
  color: #909399;
  margin-bottom: 8px;
}
.stat-value[data-v-b122d9aa] {
  font-size: 28px;
  font-weight: 600;
  color: #303133;
}
.stat-trend[data-v-b122d9aa] {
  font-size: 12px;
  margin-top: 4px;
}
.stat-trend.up[data-v-b122d9aa] {
  color: #67c23a;
}
.stat-trend.down[data-v-b122d9aa] {
  color: #f56c6c;
}
.stat-icon[data-v-b122d9aa] {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.stat-group[data-v-115dd99a] {
  margin-bottom: 16px;
}
.stat-group__title[data-v-115dd99a] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
  margin-bottom: 12px;
  padding-left: 8px;
  border-left: 3px solid #409eff;
  line-height: 1.2;
}
.stat-group[data-v-115dd99a] .stat-card {
  margin-bottom: 0;
}
@media (max-width: 1400px) {
.stat-group[data-v-115dd99a] .el-col {
    width: 25%;
    flex: 0 0 25%;
}
}
@media (max-width: 1100px) {
.stat-group[data-v-115dd99a] .el-col {
    width: 50%;
    flex: 0 0 50%;
}
}
.card-header[data-v-115dd99a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.card-header__filters[data-v-115dd99a] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.range-hint[data-v-115dd99a] {
  font-size: 12px;
  color: #909399;
}

/* 活跃趋势口径说明（沿用 range-hint 的弱化样式，仅控制与图表的间距） */
.active-hint[data-v-115dd99a] {
  margin: -10px 0 12px;
}
.learning-overview[data-v-115dd99a] {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 40px;
  padding: 4px 0 20px;
}
.learning-metric__value[data-v-115dd99a] {
  font-size: 26px;
  font-weight: 700;
  color: #26215c;
}
.learning-metric__value span[data-v-115dd99a] {
  font-size: 13px;
  font-weight: 400;
  color: #909399;
  margin-left: 2px;
}
.learning-metric__label[data-v-115dd99a] {
  font-size: 12px;
  color: #909399;
  margin-top: 4px;
}
.learning-subtitle[data-v-115dd99a] {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: 13px;
  font-weight: 600;
  color: #303133;
  margin: 8px 0 12px;
}
.learning-subtitle__note[data-v-115dd99a] {
  font-size: 12px;
  font-weight: 400;
  color: #909399;
}
.page-toolbar[data-v-115dd99a] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}
.page-toolbar__stat[data-v-115dd99a] {
  margin-left: auto;
  font-size: 12px;
  color: #909399;
}
.group-title[data-v-115dd99a] {
  font-size: 13px;
  font-weight: 600;
  color: #303133;
}
.group-meta[data-v-115dd99a] {
  margin-left: 12px;
  font-size: 12px;
  font-weight: 400;
  color: #909399;
}
.page-cell[data-v-115dd99a] {
  display: flex;
  flex-direction: column;
  line-height: 1.35;
}
.page-cell__title[data-v-115dd99a] {
  color: #303133;
}
.page-cell__path[data-v-115dd99a] {
  font-size: 12px;
  color: #b0b3b8;
}
.revenue-summary[data-v-115dd99a] {
  display: flex;
  justify-content: space-around;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #f0f2f5;
}
.revenue-summary .revenue-item[data-v-115dd99a] {
  text-align: center;
}
.revenue-summary .revenue-item .label[data-v-115dd99a] {
  display: block;
  font-size: 12px;
  color: #909399;
  margin-bottom: 6px;
}
.revenue-summary .revenue-item .value[data-v-115dd99a] {
  font-size: 18px;
  font-weight: 600;
  color: #303133;
}
.referral-grid[data-v-115dd99a] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  padding: 20px 0;
}
.referral-item[data-v-115dd99a] {
  text-align: center;
}
.referral-item .label[data-v-115dd99a] {
  display: block;
  font-size: 13px;
  color: #909399;
  margin-bottom: 8px;
}
.referral-item .value[data-v-115dd99a] {
  font-size: 22px;
  font-weight: 600;
  color: #303133;
}
.referral-item .value.success[data-v-115dd99a] {
  color: #67c23a;
}
.referral-item .value.warning[data-v-115dd99a] {
  color: #e6a23c;
}
.pending-list[data-v-115dd99a] {
  padding: 10px 0;
}
.pending-item[data-v-115dd99a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid #ebeef5;
  cursor: pointer;
}
.pending-item span[data-v-115dd99a] {
  font-size: 14px;
  color: #606266;
}
.pending-item[data-v-115dd99a]:last-child {
  border-bottom: none;
}
.pending-item:hover span[data-v-115dd99a] {
  color: #409eff;
}
.page-header[data-v-af04eedc] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}
.page-header .header-left h2[data-v-af04eedc] {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #303133;
}
.page-header .header-left .header-subtitle[data-v-af04eedc] {
  margin: 8px 0 0;
  font-size: 14px;
  color: #909399;
}
.stat-cards[data-v-af04eedc] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 24px;
}
.card-header[data-v-af04eedc] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.card-header .card-hint[data-v-af04eedc] {
  font-size: 12px;
  color: #909399;
}
.chart-container[data-v-af04eedc] {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 快捷入口网格 */
.entry-grid[data-v-af04eedc] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.entry-item[data-v-af04eedc] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 20px 12px;
  border-radius: 12px;
  background: #fafafa;
  cursor: pointer;
  transition: all 0.3s ease;
}
.entry-item[data-v-af04eedc]:hover {
  background: #f0f5ff;
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(64, 158, 255, 0.15);
}
.entry-item .entry-icon[data-v-af04eedc] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.entry-item span[data-v-af04eedc]:first-of-type {
  font-size: 14px;
  font-weight: 500;
  color: #303133;
}
.entry-item .entry-desc[data-v-af04eedc] {
  font-size: 12px;
  color: #c0c4cc;
}

/* 热门搜索词 */
.hot-words-card[data-v-af04eedc] {
  border-left: 4px solid #e6a23c;
}
.hot-words-display[data-v-af04eedc] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 100px;
  align-content: flex-start;
}
.hot-word-tag[data-v-af04eedc] {
  font-size: 13px;
}
.hot-words-edit .hot-words-list[data-v-af04eedc] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.hot-words-edit .hot-word-row[data-v-af04eedc] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.hot-words-edit .add-word-btn[data-v-af04eedc] {
  width: 100%;
}
.hot-words-tip[data-v-af04eedc] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #ebeef5;
  font-size: 12px;
  color: #c0c4cc;
}

/* API 信息 */
.api-card[data-v-af04eedc] {
  border-left: 4px solid #409eff;
}
.api-item[data-v-af04eedc] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #f5f5f5;
}
.api-item[data-v-af04eedc]:last-child {
  border-bottom: none;
}
.api-item code[data-v-af04eedc] {
  font-size: 12px;
  color: #6C63FF;
  background: #f0eeff;
  padding: 3px 8px;
  border-radius: 4px;
}
.api-item .api-label[data-v-af04eedc] {
  font-size: 12px;
  color: #909399;
  white-space: nowrap;
  margin-left: 12px;
}

/* API 文档弹窗 */
.api-doc h4[data-v-af04eedc] {
  margin: 16px 0 8px;
  color: #303133;
}
.api-doc h4[data-v-af04eedc]:first-child {
  margin-top: 0;
}
.api-doc pre[data-v-af04eedc] {
  background: #f5f7fa;
  padding: 12px;
  border-radius: 8px;
  font-size: 13px;
  overflow-x: auto;
  color: #6C63FF;
}
.api-doc p[data-v-af04eedc] {
  font-size: 13px;
  color: #606266;
  margin: 8px 0;
}
.api-doc ul[data-v-af04eedc] {
  padding-left: 20px;
  font-size: 13px;
  color: #606266;
}
.api-doc ul li[data-v-af04eedc] {
  margin: 4px 0;
}
.api-doc ul code[data-v-af04eedc] {
  color: #6C63FF;
  background: #f0eeff;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 12px;
}.page-header[data-v-f03f0d1c] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}
.page-header .header-left h2[data-v-f03f0d1c] {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #303133;
}
.page-header .header-left .header-subtitle[data-v-f03f0d1c] {
  margin: 8px 0 0;
  font-size: 14px;
  color: #909399;
}
.page-header .header-actions[data-v-f03f0d1c] {
  display: flex;
  gap: 8px;
}
.status-card[data-v-f03f0d1c] {
  margin-bottom: 16px;
  border-left: 4px solid #ebeef5;
}
.status-card.connected[data-v-f03f0d1c] {
  border-left-color: #67c23a;
}
.status-card.disconnected[data-v-f03f0d1c] {
  border-left-color: #f56c6c;
}
.status-card .connect-status[data-v-f03f0d1c] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 500;
}
.status-card .connect-status .status-dot[data-v-f03f0d1c] {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.status-card .connect-status .status-dot.green[data-v-f03f0d1c] {
  background: #67c23a;
}
.status-card .connect-status .status-dot.red[data-v-f03f0d1c] {
  background: #f56c6c;
}
.status-card .total-docs[data-v-f03f0d1c] {
  margin-top: 8px;
  font-size: 14px;
  color: #909399;
}
.card-header[data-v-f03f0d1c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.card-header .card-hint[data-v-f03f0d1c] {
  font-size: 12px;
  color: #909399;
}
.reindex-tip[data-v-f03f0d1c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 0;
  gap: 12px;
}
.reindex-tip p[data-v-f03f0d1c] {
  margin: 0;
  font-size: 14px;
  color: #606266;
  text-align: center;
}
.reindex-tip .tip-warn[data-v-f03f0d1c] {
  color: #e6a23c;
  font-weight: 500;
}
.reindex-label[data-v-f03f0d1c] {
  font-size: 14px;
  color: #606266;
  font-weight: 500;
}
.content-search-bar[data-v-f03f0d1c] {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}
.content-search-bar .el-input[data-v-f03f0d1c]:first-child {
  flex: 1;
}
.content-meta[data-v-f03f0d1c] {
  margin-bottom: 16px;
  font-size: 14px;
  color: #909399;
}
.content-meta strong[data-v-f03f0d1c] {
  color: #303133;
}
.content-loading[data-v-f03f0d1c] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 40px 0;
  color: #909399;
  font-size: 14px;
}
.content-results[data-v-f03f0d1c] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.content-item[data-v-f03f0d1c] {
  padding: 16px;
  border-radius: 8px;
  background: #fafafa;
  cursor: pointer;
  transition: all 0.2s;
}
.content-item[data-v-f03f0d1c]:hover {
  background: #f0f5ff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(64, 158, 255, 0.12);
}
.content-item-header[data-v-f03f0d1c] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.source-badge[data-v-f03f0d1c] {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
}
.source-badge.badge-question[data-v-f03f0d1c] {
  background: #e040fb;
}
.source-badge.badge-school[data-v-f03f0d1c] {
  background: #f56c6c;
}
.source-badge.badge-syllabus[data-v-f03f0d1c] {
  background: #909399;
}
.source-badge.badge-article[data-v-f03f0d1c] {
  background: #409eff;
}
.source-badge.badge-knowledge[data-v-f03f0d1c] {
  background: #67c23a;
}
.source-badge.badge-vocabulary[data-v-f03f0d1c] {
  background: #52c41a;
}
.content-score[data-v-f03f0d1c] {
  margin-left: auto;
  font-size: 12px;
  color: #c0c4cc;
}
.content-title[data-v-f03f0d1c] {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 600;
  color: #303133;
  line-height: 1.4;
}
.content-title[data-v-f03f0d1c] .hl {
  color: #e6a23c;
  font-style: normal;
}
.content-snippet[data-v-f03f0d1c] {
  margin: 0 0 8px;
  font-size: 13px;
  color: #606266;
  line-height: 1.6;
}
.content-snippet[data-v-f03f0d1c] .hl {
  color: #e6a23c;
  font-style: normal;
}
.content-footer[data-v-f03f0d1c] {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #c0c4cc;
}
.content-pagination[data-v-f03f0d1c] {
  display: flex;
  justify-content: center;
  padding: 16px 0 0;
}
.content-empty[data-v-f03f0d1c] {
  padding: 20px 0;
}.page-header[data-v-4fe3b91e] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}
.page-header .header-left h2[data-v-4fe3b91e] {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #303133;
}
.page-header .header-left .header-subtitle[data-v-4fe3b91e] {
  margin: 8px 0 0;
  font-size: 14px;
  color: #909399;
}
.page-header .header-actions[data-v-4fe3b91e] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.card-header[data-v-4fe3b91e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.card-header .card-hint[data-v-4fe3b91e] {
  font-size: 12px;
  color: #909399;
}
.empty-trend[data-v-4fe3b91e] {
  padding: 40px 0;
}
.empty-trend .empty-desc[data-v-4fe3b91e] {
  font-size: 14px;
  color: #909399;
  margin: 12px 0 0;
}.page-header[data-v-edee1083] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}
.page-header .header-left h2[data-v-edee1083] {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #303133;
}
.page-header .header-left .header-subtitle[data-v-edee1083] {
  margin: 8px 0 0;
  font-size: 14px;
  color: #909399;
}
.filter-card[data-v-edee1083] {
  margin-bottom: 16px;
}
.filter-bar[data-v-edee1083] {
  display: flex;
  gap: 12px;
}
.filter-bar .el-input[data-v-edee1083]:first-child {
  flex: 1;
}
.result-meta[data-v-edee1083] {
  margin-bottom: 16px;
  font-size: 14px;
  color: #909399;
}
.result-meta strong[data-v-edee1083] {
  color: #303133;
}
.loading-state[data-v-edee1083] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 60px 0;
  gap: 12px;
  color: #909399;
  font-size: 14px;
}
.content-results[data-v-edee1083] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.content-item[data-v-edee1083] {
  padding: 16px;
  border-radius: 8px;
  background: #fafafa;
  cursor: pointer;
  transition: all 0.2s;
}
.content-item[data-v-edee1083]:hover {
  background: #f0f5ff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(64, 158, 255, 0.12);
}
.content-item-header[data-v-edee1083] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.source-badge[data-v-edee1083] {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
}
.source-badge.badge-question[data-v-edee1083] {
  background: #e040fb;
}
.source-badge.badge-school[data-v-edee1083] {
  background: #f56c6c;
}
.source-badge.badge-syllabus[data-v-edee1083] {
  background: #909399;
}
.source-badge.badge-article[data-v-edee1083] {
  background: #409eff;
}
.source-badge.badge-knowledge[data-v-edee1083] {
  background: #67c23a;
}
.source-badge.badge-vocabulary[data-v-edee1083] {
  background: #52c41a;
}
.content-id[data-v-edee1083] {
  font-size: 12px;
  color: #c0c4cc;
}
.content-score[data-v-edee1083] {
  margin-left: auto;
  font-size: 12px;
  color: #c0c4cc;
}
.content-title[data-v-edee1083] {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 600;
  color: #303133;
  line-height: 1.4;
}
.content-title[data-v-edee1083] .hl {
  color: #e6a23c;
  font-style: normal;
}
.content-snippet[data-v-edee1083] {
  margin: 0 0 8px;
  font-size: 13px;
  color: #606266;
  line-height: 1.6;
}
.content-snippet[data-v-edee1083] .hl {
  color: #e6a23c;
  font-style: normal;
}
.content-footer[data-v-edee1083] {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #c0c4cc;
}
.pagination-bar[data-v-edee1083] {
  display: flex;
  justify-content: center;
  padding: 24px 0;
}
.empty-state[data-v-edee1083] {
  padding: 60px 0;
}.page-header[data-v-8cc290a8] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}
.page-header .header-left h2[data-v-8cc290a8] {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #303133;
}
.page-header .header-subtitle[data-v-8cc290a8] {
  margin: 8px 0 0;
  font-size: 14px;
  color: #909399;
}
.block-card[data-v-8cc290a8] {
  margin-bottom: 16px;
}
.card-header[data-v-8cc290a8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.card-header .card-hint[data-v-8cc290a8] {
  font-size: 12px;
  color: #909399;
}
.manual-bar[data-v-8cc290a8] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.manual-bar .bar-label[data-v-8cc290a8] {
  font-size: 14px;
  color: #606266;
}
.schedule-form[data-v-8cc290a8] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.schedule-form .form-row[data-v-8cc290a8] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.schedule-form .form-label[data-v-8cc290a8] {
  width: 110px;
  font-size: 14px;
  color: #606266;
  text-align: right;
}
.schedule-form .schedule-meta[data-v-8cc290a8] {
  font-size: 13px;
  color: #909399;
  margin-left: 8px;
}
.list-filter[data-v-8cc290a8] {
  display: flex;
  gap: 8px;
}
.list-pagination[data-v-8cc290a8] {
  display: flex;
  justify-content: center;
  padding: 16px 0 0;
}
.log-detail .err-box[data-v-8cc290a8] {
  margin: 16px 0;
  padding: 12px;
  background: #fef0f0;
  border-radius: 6px;
  color: #f56c6c;
  font-size: 13px;
  word-break: break-all;
}
.log-detail .log-title[data-v-8cc290a8] {
  margin: 16px 0 8px;
  font-size: 14px;
  font-weight: 600;
  color: #303133;
}
.log-detail .log-box[data-v-8cc290a8] {
  background: #1e1e1e;
  color: #e6e6e6;
  padding: 16px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.6;
  max-height: 60vh;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-all;
  font-family: "SFMono-Regular", Consolas, monospace;
}.page-header[data-v-43fd6d80] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}
.page-header .header-left h2[data-v-43fd6d80] {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #303133;
}
.page-header .header-left .header-subtitle[data-v-43fd6d80] {
  margin: 8px 0 0;
  font-size: 14px;
  color: #909399;
}
.page-header .header-actions[data-v-43fd6d80] {
  display: flex;
  gap: 8px;
}
.stat-cards[data-v-43fd6d80] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 1200px) {
.stat-cards[data-v-43fd6d80] {
    grid-template-columns: repeat(2, 1fr);
}
}
.card-header[data-v-43fd6d80] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.card-header .card-hint[data-v-43fd6d80] {
  font-size: 12px;
  color: #909399;
}
.chart-container[data-v-43fd6d80] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.entry-grid[data-v-43fd6d80] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 1200px) {
.entry-grid[data-v-43fd6d80] {
    grid-template-columns: repeat(2, 1fr);
}
}
.entry-item[data-v-43fd6d80] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 20px 12px;
  border-radius: 12px;
  background: #fafafa;
  cursor: pointer;
  transition: all 0.3s ease;
}
.entry-item[data-v-43fd6d80]:hover {
  background: #f0f5ff;
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(64, 158, 255, 0.15);
}
.entry-item .entry-icon[data-v-43fd6d80] {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.entry-item span[data-v-43fd6d80]:first-of-type {
  font-size: 14px;
  font-weight: 500;
  color: #303133;
}
.entry-item .entry-count[data-v-43fd6d80] {
  font-size: 12px;
  color: #909399;
}
.task-monitor-card[data-v-43fd6d80] {
  border-left: 4px solid #e6a23c;
}
.running-tasks[data-v-43fd6d80] {
  padding: 8px 0;
}
.running-task-item[data-v-43fd6d80] {
  padding: 12px 0;
  border-bottom: 1px solid #ebeef5;
}
.running-task-item[data-v-43fd6d80]:last-child {
  border-bottom: none;
}
.running-task-item .task-header[data-v-43fd6d80] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.running-task-item .task-header .task-type[data-v-43fd6d80] {
  font-size: 14px;
  font-weight: 500;
  color: #303133;
}
.running-task-item .task-progress[data-v-43fd6d80] {
  margin-bottom: 8px;
}
.running-task-item .task-info[data-v-43fd6d80] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #909399;
}
.running-task-item .task-info .task-count[data-v-43fd6d80] {
  font-weight: 500;
  color: #409eff;
}
.review-card[data-v-43fd6d80] {
  border-left: 4px solid #67c23a;
}
.pending-tasks[data-v-43fd6d80] {
  padding: 8px 0;
}
.pending-task-item[data-v-43fd6d80] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #ebeef5;
  cursor: pointer;
}
.pending-task-item[data-v-43fd6d80]:last-child {
  border-bottom: none;
}
.pending-task-item[data-v-43fd6d80]:hover {
  background: #f8f9fa;
  margin: 0 -16px;
  padding: 12px 16px;
  border-radius: 4px;
}
.pending-task-item .pending-icon[data-v-43fd6d80] {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #fdf6ec;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pending-task-item .pending-info[data-v-43fd6d80] {
  flex: 1;
}
.pending-task-item .pending-info .pending-type[data-v-43fd6d80] {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #303133;
}
.pending-task-item .pending-info .pending-time[data-v-43fd6d80] {
  display: block;
  font-size: 12px;
  color: #909399;
}
.empty-pending[data-v-43fd6d80] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 0;
  color: #909399;
}
.empty-pending p[data-v-43fd6d80] {
  margin: 8px 0 0;
  font-size: 14px;
}
.review-footer[data-v-43fd6d80] {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #ebeef5;
  text-align: right;
}
.recent-card[data-v-43fd6d80] {
  border-left: 4px solid #409eff;
}
.source-content[data-v-bfa013fb] {
  max-height: calc(100vh - 200px);
  overflow-y: auto;
  padding: 16px;
  border: 1px solid var(--el-border-color);
  border-radius: 6px;
  line-height: 1.8;
  font-size: 14px;
  color: #303133;
  white-space: pre-wrap;
  word-break: break-word;
}

.ai-category-dialog[data-v-af071513] {
  min-height: 300px;
}

/* Intro */
.dialog-intro[data-v-af071513] {
  text-align: center;
  padding: 20px 0;
}
.intro-icon[data-v-af071513] {
  font-size: 48px;
  color: var(--el-color-success);
  margin-bottom: 16px;
}
.intro-desc[data-v-af071513] {
  font-size: 16px;
  font-weight: 500;
  color: #333;
  margin-bottom: 8px;
}
.intro-note[data-v-af071513] {
  font-size: 12px;
  color: #999;
  margin-bottom: 16px;
}

/* Progress */
.dialog-progress[data-v-af071513] {
  padding: 30px 0;
}
.progress-text[data-v-af071513] {
  text-align: center;
  margin-top: 12px;
  font-size: 14px;
  color: #666;
}

/* Preview */
.dialog-preview[data-v-af071513] {
  padding: 0;
}
.preview-stats[data-v-af071513] {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  justify-content: center;
}
.compare-panels[data-v-af071513] {
  display: flex;
  gap: 16px;
  height: 420px;
}
.panel[data-v-af071513] {
  flex: 1;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.panel-header[data-v-af071513] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid var(--el-border-color-lighter);
  background: var(--el-fill-color-lighter);
  flex-shrink: 0;
}
.panel-title[data-v-af071513] {
  font-weight: 600;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.panel-header-actions[data-v-af071513] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.panel-body[data-v-af071513] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

/* Category chips */
.category-chip[data-v-af071513] {
  display: flex;
  align-items: flex-start;
  padding: 8px 12px;
  border-radius: 6px;
  margin-bottom: 6px;
  transition: all 0.2s;
  border: 1px solid transparent;
}
.left-panel .category-chip.existing[data-v-af071513] {
  background: var(--el-fill-color);
  border-color: var(--el-border-color-lighter);
}
.right-panel .category-chip.generated.is-new[data-v-af071513] {
  background: #f0f9eb;
  border-color: #e1f3d8;
}
.right-panel .category-chip.generated.is-duplicate[data-v-af071513] {
  background: #fdf6ec;
  border-color: #faecd8;
}
.right-panel .category-chip.generated.is-selected[data-v-af071513] {
  border-color: var(--el-color-primary);
  background: #ecf5ff;
}
.chip-checkbox[data-v-af071513] {
  margin-right: 8px;
  margin-top: 2px;
  flex-shrink: 0;
}
.chip-content[data-v-af071513] {
  flex: 1;
  min-width: 0;
}
.chip-top[data-v-af071513] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.chip-name[data-v-af071513] {
  font-size: 13px;
  font-weight: 500;
  color: #303133;
}
.chip-tag[data-v-af071513] {
  flex-shrink: 0;
}
.chip-desc[data-v-af071513] {
  font-size: 12px;
  color: #909399;
  margin-top: 4px;
  line-height: 1.5;
}
.chip-source[data-v-af071513] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  font-size: 12px;
  color: var(--el-color-primary);
}
.source-link[data-v-af071513] {
  color: var(--el-color-primary);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 260px;
  display: inline-block;
}
.source-link[data-v-af071513]:hover {
  text-decoration: underline;
}

/* Result */
.dialog-result[data-v-af071513] {
  padding: 20px 0;
}

.ai-major-dialog[data-v-7ec7ea2b] {
  min-height: 300px;
}

/* Intro */
.dialog-intro[data-v-7ec7ea2b] {
  text-align: center;
  padding: 20px 0;
}
.intro-icon[data-v-7ec7ea2b] {
  font-size: 48px;
  color: var(--el-color-success);
  margin-bottom: 16px;
}
.intro-desc[data-v-7ec7ea2b] {
  font-size: 16px;
  font-weight: 500;
  color: #333;
  margin-bottom: 8px;
}
.intro-note[data-v-7ec7ea2b] {
  font-size: 12px;
  color: #999;
  margin-bottom: 16px;
}

/* Progress */
.dialog-progress[data-v-7ec7ea2b] {
  padding: 30px 0;
}
.progress-text[data-v-7ec7ea2b] {
  text-align: center;
  margin-top: 12px;
  font-size: 14px;
  color: #666;
}

/* Preview */
.dialog-preview[data-v-7ec7ea2b] {
  padding: 0;
}
.preview-stats[data-v-7ec7ea2b] {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  justify-content: center;
}
.compare-panels[data-v-7ec7ea2b] {
  display: flex;
  gap: 16px;
  height: 480px;
}
.panel[data-v-7ec7ea2b] {
  flex: 1;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.panel-header[data-v-7ec7ea2b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid var(--el-border-color-lighter);
  background: var(--el-fill-color-lighter);
  flex-shrink: 0;
}
.panel-title[data-v-7ec7ea2b] {
  font-weight: 600;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.panel-header-actions[data-v-7ec7ea2b] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.panel-body[data-v-7ec7ea2b] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

/* Major rows */
.major-row[data-v-7ec7ea2b] {
  display: flex;
  align-items: flex-start;
  padding: 8px 12px;
  border-radius: 6px;
  margin-bottom: 4px;
  transition: all 0.2s;
  border: 1px solid transparent;
}
.left-panel .major-row.existing[data-v-7ec7ea2b] {
  background: var(--el-fill-color);
  border-color: var(--el-border-color-lighter);
}
.right-panel .major-row.generated.is-new[data-v-7ec7ea2b] {
  background: #f0f9eb;
  border-color: #e1f3d8;
}
.right-panel .major-row.generated.is-duplicate[data-v-7ec7ea2b] {
  background: #fdf6ec;
  border-color: #faecd8;
}
.right-panel .major-row.generated.is-selected[data-v-7ec7ea2b] {
  border-color: var(--el-color-primary);
  background: #ecf5ff;
}
.major-checkbox[data-v-7ec7ea2b] {
  margin-right: 8px;
  margin-top: 2px;
  flex-shrink: 0;
}
.major-content[data-v-7ec7ea2b] {
  flex: 1;
  min-width: 0;
}
.major-top[data-v-7ec7ea2b] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.major-name[data-v-7ec7ea2b] {
  font-size: 13px;
  font-weight: 500;
  color: #303133;
}
.major-tag[data-v-7ec7ea2b] {
  flex-shrink: 0;
}
.status-tag[data-v-7ec7ea2b] {
  flex-shrink: 0;
}
.major-info[data-v-7ec7ea2b] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
}
.major-meta[data-v-7ec7ea2b] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
  font-size: 12px;
  color: #909399;
}
.major-code[data-v-7ec7ea2b] {
  font-family: monospace;
}
.major-desc[data-v-7ec7ea2b] {
  font-size: 12px;
  color: #909399;
  margin-top: 4px;
  line-height: 1.5;
}
.major-source[data-v-7ec7ea2b] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  font-size: 12px;
  color: var(--el-color-primary);
}
.source-link[data-v-7ec7ea2b] {
  color: var(--el-color-primary);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 300px;
  display: inline-block;
}
.source-link[data-v-7ec7ea2b]:hover {
  text-decoration: underline;
}

/* Result */
.dialog-result[data-v-7ec7ea2b] {
  padding: 20px 0;
}

.category-select-area[data-v-81f1cc1b] {
  width: 100%;
}
.category-toolbar[data-v-81f1cc1b] {
  margin-bottom: 8px;
}
.category-checkboxes[data-v-81f1cc1b] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
}
.category-actions[data-v-81f1cc1b] {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.category-select-area[data-v-eb7ecfcd] {
  width: 100%;
}
.category-toolbar[data-v-eb7ecfcd] {
  margin-bottom: 8px;
}
.category-checkboxes[data-v-eb7ecfcd] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
}
.category-actions[data-v-eb7ecfcd] {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.confirm-content[data-v-41ccb02e] {
  max-height: 500px;
  overflow-y: auto;
}
.confirm-list[data-v-41ccb02e] {
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  overflow: hidden;
}
.confirm-item[data-v-41ccb02e] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--el-border-color-lighter);
}
.confirm-item[data-v-41ccb02e]:last-child {
  border-bottom: none;
}
.confirm-index[data-v-41ccb02e] {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--el-color-primary);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  flex-shrink: 0;
  margin-top: 2px;
}
.confirm-body[data-v-41ccb02e] {
  flex: 1;
  min-width: 0;
}
.confirm-row[data-v-41ccb02e] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.confirm-label[data-v-41ccb02e] {
  color: #909399;
  font-size: 13px;
}
.confirm-value[data-v-41ccb02e] {
  font-weight: 500;
  color: #303133;
}
.confirm-arrow[data-v-41ccb02e] {
  color: var(--el-color-primary);
  font-weight: bold;
  margin: 0 2px;
}
.confirm-tags[data-v-41ccb02e] {
  display: flex;
  flex-wrap: wrap;
}
.confirm-source[data-v-41ccb02e] {
  margin-top: 4px;
  font-size: 12px;
  color: #909399;
}
.confirm-source a[data-v-41ccb02e] {
  color: var(--el-color-primary);
  text-decoration: none;
}
.confirm-source a[data-v-41ccb02e]:hover {
  text-decoration: underline;
}

.image-gallery[data-v-fc5e0800] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.image-item[data-v-fc5e0800] {
  position: relative;
  width: 120px;
  height: 80px;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid #e4e7ed;
  cursor: pointer;
  transition: all 0.2s;
}
.image-item[data-v-fc5e0800]:hover {
  border-color: #409eff;
}
.image-item.is-selected[data-v-fc5e0800] {
  border-color: #67c23a;
  box-shadow: 0 0 0 2px rgba(103, 194, 58, 0.3);
}
.image-source[data-v-fc5e0800] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 10px;
  text-align: center;
  padding: 1px 0;
}
.image-check[data-v-fc5e0800] {
  position: absolute;
  top: 4px;
  right: 4px;
  background: #fff;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.image-type-tag[data-v-fc5e0800] {
  position: absolute;
  top: 4px;
  left: 4px;
  background: rgba(64, 158, 255, 0.85);
  color: #fff;
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 3px;
}
.image-actions-overlay[data-v-fc5e0800] {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  opacity: 0;
  transition: opacity 0.2s;
}
.image-item:hover .image-actions-overlay[data-v-fc5e0800] {
  opacity: 1;
}
.action-icon[data-v-fc5e0800] {
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  transition: background 0.2s;
}
.action-icon[data-v-fc5e0800]:hover {
  background: rgba(255, 255, 255, 0.4);
}
.action-delete[data-v-fc5e0800]:hover {
  background: rgba(245, 108, 108, 0.6);
}
.candidate-item[data-v-fc5e0800] {
  cursor: pointer;
}
.candidate-item.already-added[data-v-fc5e0800] {
  opacity: 0.5;
  border-color: #67c23a;
}
.image-added-badge[data-v-fc5e0800] {
  position: absolute;
  inset: 0;
  background: rgba(103, 194, 58, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.progress-content[data-v-d5d8d4b9] {
  padding: 20px 0;
}
.progress-info[data-v-d5d8d4b9] {
  margin-top: 16px;
}
.progress-info p[data-v-d5d8d4b9] {
  font-size: 14px;
  color: #606266;
  margin: 4px 0;
}
.progress-info .success-text[data-v-d5d8d4b9] {
  color: #67c23a;
  font-weight: 600;
}
.progress-info .error-text[data-v-d5d8d4b9] {
  color: #f56c6c;
}
.rich-text-editor[data-v-2ddfa64a] {
  border: 1px solid var(--el-border-color);
  border-radius: 4px;
  overflow: hidden;
}

/* 纯文本保真编辑：外层容器即边框，文本域内部去掉边框避免双线 */
.rich-text-editor .plain-text-area[data-v-2ddfa64a] {
  display: block;
}
.rich-text-editor .plain-text-area[data-v-2ddfa64a] .el-textarea__inner {
  border: none;
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
  line-height: 1.7;
  padding: 10px 12px;
}
.plain-text-hint[data-v-2ddfa64a] {
  padding: 6px 12px 8px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--el-text-color-secondary);
  background: var(--el-fill-color-light);
  border-top: 1px solid var(--el-border-color);
}
.plain-text-hint code[data-v-2ddfa64a] {
  padding: 0 3px;
  background: var(--el-fill-color-dark);
  border-radius: 3px;
}
.editor-toolbar[data-v-2ddfa64a] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 8px;
  background: var(--el-fill-color-light);
  border-bottom: 1px solid var(--el-border-color);
}
.editor-content[data-v-2ddfa64a] {
  max-height: 500px;
  overflow-y: auto;
  padding: 12px;
}
.editor-content[data-v-2ddfa64a] .tiptap {
  outline: none;
  min-height: 96px;
}
.editor-content[data-v-2ddfa64a] .tiptap p.is-editor-empty:first-child::before {
  color: var(--el-text-color-placeholder);
  content: attr(data-placeholder);
  float: left;
  height: 0;
  pointer-events: none;
}
.editor-content[data-v-2ddfa64a] .tiptap h1 {
  font-size: 1.5em;
  font-weight: bold;
  margin: 0.5em 0;
}
.editor-content[data-v-2ddfa64a] .tiptap h2 {
  font-size: 1.25em;
  font-weight: bold;
  margin: 0.5em 0;
}
.editor-content[data-v-2ddfa64a] .tiptap h3 {
  font-size: 1.1em;
  font-weight: bold;
  margin: 0.5em 0;
}
.editor-content[data-v-2ddfa64a] .tiptap ul,
.editor-content[data-v-2ddfa64a] .tiptap ol {
  padding-left: 1.5em;
  margin: 0.5em 0;
}
.editor-content[data-v-2ddfa64a] .tiptap blockquote {
  border-left: 3px solid var(--el-color-primary);
  padding-left: 1em;
  margin: 0.5em 0;
  color: var(--el-text-color-secondary);
}
.editor-content[data-v-2ddfa64a] .tiptap hr {
  border: none;
  border-top: 1px solid var(--el-border-color);
  margin: 1em 0;
}

/* Math inline node styles */
.editor-content[data-v-2ddfa64a] .math-inline-node {
  display: inline;
  cursor: pointer;
  padding: 1px 4px;
  border-radius: 3px;
  background: var(--el-fill-color-lighter);
  transition: background 0.2s;
}
.editor-content[data-v-2ddfa64a] .math-inline-node:hover {
  background: var(--el-fill-color);
}
.editor-content[data-v-2ddfa64a] .math-inline-node.editing {
  background: var(--el-fill-color-light);
}
.editor-content[data-v-2ddfa64a] .math-inline-editor {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.editor-content[data-v-2ddfa64a] .math-inline-input {
  border: 1px solid var(--el-color-primary);
  border-radius: 3px;
  padding: 2px 6px;
  font-family: 'Courier New', monospace;
  font-size: 13px;
  outline: none;
  width: 200px;
}
.editor-content[data-v-2ddfa64a] .math-inline-confirm,
.editor-content[data-v-2ddfa64a] .math-inline-cancel {
  border: none;
  background: none;
  cursor: pointer;
  font-size: 14px;
  padding: 2px 4px;
}
.editor-content[data-v-2ddfa64a] .math-inline-confirm {
  color: var(--el-color-success);
}
.editor-content[data-v-2ddfa64a] .math-inline-cancel {
  color: var(--el-color-danger);
}

/* Math block node styles */
.editor-content[data-v-2ddfa64a] .math-block-node {
  display: block;
  cursor: pointer;
  padding: 8px 12px;
  margin: 8px 0;
  border-radius: 4px;
  border: 1px dashed var(--el-border-color);
  background: var(--el-fill-color-lighter);
  transition: border-color 0.2s;
}
.editor-content[data-v-2ddfa64a] .math-block-node:hover {
  border-color: var(--el-color-primary);
}
.editor-content[data-v-2ddfa64a] .math-block-node.editing {
  border-style: solid;
  border-color: var(--el-color-primary);
}
.editor-content[data-v-2ddfa64a] .math-block-editor {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.editor-content[data-v-2ddfa64a] .math-block-input {
  border: 1px solid var(--el-border-color);
  border-radius: 4px;
  padding: 8px;
  font-family: 'Courier New', monospace;
  font-size: 13px;
  resize: vertical;
  outline: none;
}
.editor-content[data-v-2ddfa64a] .math-block-input:focus {
  border-color: var(--el-color-primary);
}
.editor-content[data-v-2ddfa64a] .math-block-error {
  color: var(--el-color-danger);
  font-size: 12px;
}
.editor-content[data-v-2ddfa64a] .math-block-preview {
  padding: 8px;
  background: white;
  border-radius: 4px;
  border: 1px solid var(--el-border-color);
}
.editor-content[data-v-2ddfa64a] .math-block-preview-label {
  font-size: 12px;
  color: var(--el-text-color-secondary);
  margin-bottom: 4px;
  display: block;
}
.editor-content[data-v-2ddfa64a] .math-block-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.editor-content[data-v-2ddfa64a] .math-block-confirm {
  padding: 4px 12px;
  background: var(--el-color-primary);
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.editor-content[data-v-2ddfa64a] .math-block-cancel {
  padding: 4px 12px;
  background: var(--el-fill-color);
  color: var(--el-text-color-regular);
  border: 1px solid var(--el-border-color);
  border-radius: 4px;
  cursor: pointer;
}
.editor-content[data-v-2ddfa64a] .math-block-rendered {
  text-align: center;
}
.editor-content[data-v-2ddfa64a] .math-placeholder {
  color: var(--el-text-color-placeholder);
  font-style: italic;
}

/* Dialog math styles */
.math-dialog-body[data-v-2ddfa64a] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.math-common-formulas[data-v-2ddfa64a] {
  margin-top: 4px;
}
.math-common-label[data-v-2ddfa64a] {
  font-size: 13px;
  color: var(--el-text-color-secondary);
  margin-bottom: 6px;
}
.math-common-list[data-v-2ddfa64a] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.math-formula-tag[data-v-2ddfa64a] {
  cursor: pointer;
  font-family: 'Courier New', monospace;
}
.math-formula-tag[data-v-2ddfa64a]:hover {
  color: var(--el-color-primary);
}
.math-preview[data-v-2ddfa64a] {
  padding: 12px;
  background: var(--el-fill-color-lighter);
  border-radius: 4px;
  border: 1px solid var(--el-border-color);
}
.math-preview-label[data-v-2ddfa64a] {
  font-size: 13px;
  color: var(--el-text-color-secondary);
  margin-bottom: 8px;
}
.math-preview-content[data-v-2ddfa64a] {
  text-align: center;
  font-size: 18px;
}
.editor-content[data-v-2ddfa64a] .tiptap img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  cursor: pointer;
}
.editor-content[data-v-2ddfa64a] .tiptap img.ProseMirror-selectednode {
  outline: 2px solid var(--el-color-primary);
}
.content-preview[data-v-f10c2fb3] {
  max-height: 600px;
  overflow-y: auto;
  padding: 20px;
  border-radius: 6px;
  line-height: 1.8;
  font-size: 14px;
  color: #303133;
  background: #fff;
}
.content-preview[data-v-f10c2fb3] h2 {
  font-size: 16px;
  font-weight: 600;
  margin: 16px 0 8px;
  color: #303133;
  border-bottom: 1px solid #ebeef5;
  padding-bottom: 6px;
}
.content-preview[data-v-f10c2fb3] h3 {
  font-size: 15px;
  font-weight: 600;
  margin: 12px 0 6px;
  color: #606266;
}
.content-preview[data-v-f10c2fb3] p {
  margin: 6px 0;
}
.content-preview[data-v-f10c2fb3] ul, .content-preview[data-v-f10c2fb3] ol {
  padding-left: 20px;
  margin: 6px 0;
}
.content-preview[data-v-f10c2fb3] li {
  margin: 3px 0;
}
.content-preview[data-v-f10c2fb3] table {
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0;
}
.content-preview[data-v-f10c2fb3] table th, .content-preview[data-v-f10c2fb3] table td {
  border: 1px solid #dcdfe6;
  padding: 8px 12px;
  text-align: left;
  font-size: 13px;
}
.content-preview[data-v-f10c2fb3] table th {
  background: #f5f7fa;
  font-weight: 600;
}
.page-container[data-v-7f790af7] {
  padding: 20px;
}
.page-header[data-v-7f790af7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.page-header h2[data-v-7f790af7] {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
}
.main-card .gen-form[data-v-7f790af7] {
  padding: 8px 12px 0;
}
.subject-type-tabs[data-v-7f790af7] .el-tabs__header {
  margin-bottom: 16px;
}
.difficulty-sliders[data-v-7f790af7] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.difficulty-sliders .slider-item[data-v-7f790af7] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.difficulty-sliders .slider-item .slider-label[data-v-7f790af7] {
  width: 50px;
  font-size: 13px;
  font-weight: 500;
}
.difficulty-sliders .slider-item .slider-label.easy[data-v-7f790af7] {
  color: #67c23a;
}
.difficulty-sliders .slider-item .slider-label.medium[data-v-7f790af7] {
  color: #e6a23c;
}
.difficulty-sliders .slider-item .slider-label.hard[data-v-7f790af7] {
  color: #f56c6c;
}
.difficulty-sliders .slider-item .slider-value[data-v-7f790af7] {
  width: 50px;
  font-size: 13px;
  color: #606266;
}
.card-header[data-v-7f790af7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.task-progress-detail[data-v-7f790af7] {
  padding: 8px;
}
.task-progress-detail .task-info[data-v-7f790af7] {
  margin-bottom: 20px;
}
.task-progress-detail .task-info h3[data-v-7f790af7] {
  margin: 0 0 8px 0;
  font-size: 18px;
  font-weight: 600;
}
.task-progress-detail .task-info .task-meta[data-v-7f790af7] {
  margin: 4px 0;
  font-size: 14px;
  color: #606266;
}
.task-progress-detail .progress-stats[data-v-7f790af7] {
  display: flex;
  gap: 24px;
  margin: 20px 0;
}
.task-progress-detail .progress-stats .stat-item[data-v-7f790af7] {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}
.task-progress-detail .progress-stats .stat-item .stat-label[data-v-7f790af7] {
  font-size: 13px;
  color: #909399;
  margin-bottom: 4px;
}
.task-progress-detail .progress-stats .stat-item .stat-value[data-v-7f790af7] {
  font-size: 24px;
  font-weight: 600;
  color: #303133;
}
.task-progress-detail .current-step[data-v-7f790af7] {
  margin-top: 16px;
  padding: 12px;
  background: #f5f7fa;
  border-radius: 8px;
}
.task-progress-detail .current-step .step-label[data-v-7f790af7] {
  font-size: 13px;
  color: #909399;
}
.task-progress-detail .current-step .step-content[data-v-7f790af7] {
  font-size: 14px;
  color: #303133;
  margin-left: 8px;
}
.db-import-section .field-mapping-grid[data-v-7f790af7] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.db-import-section .field-mapping-grid .mapping-item[data-v-7f790af7] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.db-import-section .field-mapping-grid .mapping-item .mapping-label[data-v-7f790af7] {
  font-size: 13px;
  color: #606266;
  font-weight: 500;
}
[data-v-7f790af7] .el-step__title {
  font-size: 12px !important;
}
[data-v-7f790af7] .el-step__title.is-process {
  color: #409eff;
  font-weight: 600;
}
[data-v-7f790af7] .el-step__title.is-success {
  color: #67c23a;
}
[data-v-7f790af7] .el-step__title.is-pending {
  color: #909399;
}
[data-v-7f790af7] .el-step__description {
  font-size: 11px !important;
}
.gen-form[data-v-7f790af7] .el-form-item__label {
  font-weight: 500;
}
.question-detail-body[data-v-7f790af7] {
  max-height: 70vh;
  overflow-y: auto;
  padding: 0 4px;
}
.qd-info-bar[data-v-7f790af7] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #ebeef5;
}
.qd-section[data-v-7f790af7] {
  margin-bottom: 16px;
}
.qd-section[data-v-7f790af7]:last-child {
  margin-bottom: 0;
}
.qd-section-title[data-v-7f790af7] {
  font-size: 13px;
  font-weight: 600;
  color: #606266;
  margin-bottom: 8px;
  padding-left: 8px;
  border-left: 3px solid #409eff;
}
.qd-section-body[data-v-7f790af7] {
  font-size: 14px;
  color: #303133;
  line-height: 1.8;
  padding: 10px 14px;
  background: #fafafa;
  border-radius: 6px;
  border: 1px solid #ebeef5;
  word-break: break-word;
}
.qd-math-content[data-v-7f790af7] img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}
.qd-math-content[data-v-7f790af7] .katex {
  font-size: 1.05em;
}
.qd-math-content[data-v-7f790af7] .katex-display {
  margin: 8px 0;
  overflow-x: auto;
}
.qd-options[data-v-7f790af7] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.qd-option-item[data-v-7f790af7] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 14px;
  background: #fafafa;
  border: 1px solid #ebeef5;
  border-radius: 6px;
  transition: all 0.2s;
}
.qd-option-item[data-v-7f790af7]:hover {
  border-color: #c0c4cc;
}
.qd-option-item.qd-option-correct[data-v-7f790af7] {
  background: #f0f9eb;
  border-color: #67c23a;
}
.qd-option-item.qd-option-correct .qd-option-label[data-v-7f790af7] {
  color: #67c23a;
}
.qd-option-label[data-v-7f790af7] {
  font-weight: 600;
  color: #303133;
  flex-shrink: 0;
  min-width: 20px;
}
.qd-option-content[data-v-7f790af7] {
  flex: 1;
  line-height: 1.6;
}
.qd-option-check[data-v-7f790af7] {
  color: #67c23a;
  font-size: 18px;
  flex-shrink: 0;
  margin-top: 2px;
}
.qd-analysis[data-v-7f790af7] {
  background: #fdf6ec;
  border-color: #e6a23c;
}
.qd-passage[data-v-7f790af7] {
  background: #f4f4f5;
  max-height: 300px;
  overflow-y: auto;
}
.qd-meta-row[data-v-7f790af7] {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 16px;
  padding: 10px 14px;
  background: #f5f7fa;
  border-radius: 6px;
  font-size: 13px;
  color: #606266;
}
.qd-meta-row .qd-meta-item[data-v-7f790af7] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.qd-steps[data-v-7f790af7] {
  background: #ecf5ff;
  border-color: #b3d8ff;
}
.qd-mistakes[data-v-7f790af7] {
  background: #fef0f0;
  border-color: #fbc4c4;
}
.qd-tips[data-v-7f790af7] {
  background: #f0f9eb;
  border-color: #c2e7b0;
}
.qd-knowledge[data-v-7f790af7] {
  background: #f4f4f5;
  border-color: #d3d4d6;
}

/* ============ 子题列表样式（阅读理解/完形填空） ============ */
.qd-sub-questions[data-v-7f790af7] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.qd-sub-q-item[data-v-7f790af7] {
  border: 1px solid #ebeef5;
  border-radius: 8px;
  overflow: hidden;
}
.qd-sub-q-header[data-v-7f790af7] {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 8px 14px;
  background: #f5f7fa;
  border-bottom: 1px solid #ebeef5;
}
.qd-sub-q-body[data-v-7f790af7] {
  padding: 12px 14px;
}
.qd-sub-q-content[data-v-7f790af7] {
  font-size: 14px;
  line-height: 1.8;
  color: #303133;
  margin-bottom: 10px;
}
.qd-sub-q-options[data-v-7f790af7] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.qd-sub-q-answer[data-v-7f790af7] {
  font-size: 14px;
  color: #67c23a;
  margin-bottom: 8px;
}
.qd-answer-label[data-v-7f790af7] {
  font-weight: 600;
}
.qd-sub-q-analysis[data-v-7f790af7] {
  font-size: 13px;
  color: #e6a23c;
  background: #fdf6ec;
  padding: 8px 12px;
  border-radius: 4px;
  line-height: 1.6;
}
.qd-analysis-label[data-v-7f790af7] {
  font-weight: 600;
}
.panel-card[data-v-c75c1e04] {
  height: 100%;
}
.panel-card[data-v-c75c1e04] .el-card__header {
  padding: 10px 16px;
  background: #fafafa;
  border-bottom: 1px solid #ebeef5;
}
.panel-card[data-v-c75c1e04] .el-card__body {
  padding: 12px 16px;
  max-height: calc(100vh - 380px);
  overflow-y: auto;
}
.panel-header[data-v-c75c1e04] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.prompt-toggle[data-v-c75c1e04] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  user-select: none;
  padding: 2px 0;
}
.zoom-controls[data-v-c75c1e04] {
  margin-left: 6px;
}
.prompt-toggle-left[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.prompt-toggle-right[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rotate-180[data-v-c75c1e04] {
  transform: rotate(180deg);
}
.panel-title[data-v-c75c1e04] {
  font-weight: 600;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
  color: #303133;
}
.syllabus-content[data-v-c75c1e04] {
  line-height: 1.8;
  font-size: 13px;
  color: #303133;
}
.syllabus-content[data-v-c75c1e04] h2 {
  font-size: 15px;
  font-weight: 600;
  margin: 12px 0 6px;
  border-bottom: 1px solid #ebeef5;
  padding-bottom: 4px;
}
.syllabus-content[data-v-c75c1e04] h3 {
  font-size: 14px;
  font-weight: 600;
  margin: 10px 0 4px;
  color: #606266;
}
.syllabus-content[data-v-c75c1e04] p {
  margin: 4px 0;
}
.syllabus-content[data-v-c75c1e04] ul, .syllabus-content[data-v-c75c1e04] ol {
  padding-left: 18px;
  margin: 4px 0;
}
.syllabus-content[data-v-c75c1e04] li {
  margin: 2px 0;
}
.empty-hint[data-v-c75c1e04] {
  padding: 24px;
}
.chapter-list[data-v-c75c1e04] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.chapter-item[data-v-c75c1e04] {
  border: 1px solid #ebeef5;
  border-radius: 6px;
  padding: 8px 10px;
  cursor: pointer;
  transition: all 0.2s;
}
.chapter-item[data-v-c75c1e04]:hover {
  border-color: #409eff;
  background: #f0f7ff;
}
.chapter-item.active[data-v-c75c1e04] {
  border-color: #409eff;
  background: #ecf5ff;
}
.chapter-item.dragging[data-v-c75c1e04] {
  opacity: 0.4;
  border-style: dashed;
  cursor: grabbing;
}
.chapter-item.drag-over[data-v-c75c1e04] {
  border-color: #409eff;
  border-style: dashed;
  background: #ecf5ff;
  box-shadow: 0 -2px 0 0 #409eff;
}
.chapter-drag-icon[data-v-c75c1e04] {
  color: #c0c4cc;
  font-size: 14px;
  flex-shrink: 0;
  cursor: grab;
}
.chapter-top[data-v-c75c1e04] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.chapter-left[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  min-width: 0;
}
.chapter-icon[data-v-c75c1e04] {
  color: #e6a23c;
  font-size: 16px;
  flex-shrink: 0;
}
.chapter-name[data-v-c75c1e04] {
  font-weight: 600;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.weight-tag[data-v-c75c1e04] {
  flex-shrink: 0;
  transform: scale(0.85);
}
.freq-tag[data-v-c75c1e04] {
  flex-shrink: 0;
  transform: scale(0.85);
}
.chapter-summary[data-v-c75c1e04] {
  margin-top: 4px;
  font-size: 11px;
  color: #909399;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.chapter-right[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  justify-content: space-between;
}
.chapter-actions[data-v-c75c1e04] {
  display: flex;
  gap: 2px;
}
.section-list[data-v-c75c1e04] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.section-item[data-v-c75c1e04] {
  border: 1px solid #ebeef5;
  border-radius: 6px;
  padding: 6px 8px;
  cursor: pointer;
  transition: all 0.2s;
}
.section-item[data-v-c75c1e04]:hover {
  border-color: #67c23a;
  background: #f0f9eb;
}
.section-item.active[data-v-c75c1e04] {
  border-color: #67c23a;
  background: #f0f9eb;
}
.section-item.dragging[data-v-c75c1e04] {
  opacity: 0.4;
  border-style: dashed;
  cursor: grabbing;
}
.section-item.drag-over[data-v-c75c1e04] {
  border-color: #67c23a;
  border-style: dashed;
  background: #f0f9eb;
  box-shadow: 0 -2px 0 0 #67c23a;
}
.section-drag-icon[data-v-c75c1e04] {
  color: #c0c4cc;
  font-size: 14px;
  flex-shrink: 0;
  cursor: grab;
}
.section-top[data-v-c75c1e04] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section-left[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
  min-width: 0;
}
.section-icon[data-v-c75c1e04] {
  color: #909399;
  font-size: 14px;
  flex-shrink: 0;
}
.section-name[data-v-c75c1e04] {
  font-size: 13px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.section-summary[data-v-c75c1e04] {
  margin-top: 3px;
  font-size: 11px;
  color: #909399;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.section-right[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  justify-content: space-between;
}
.section-actions[data-v-c75c1e04] {
  display: flex;
  gap: 2px;
}
.knowledge-list[data-v-c75c1e04] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.knowledge-item[data-v-c75c1e04] {
  border: 1px solid #ebeef5;
  border-radius: 6px;
  padding: 6px 8px;
  background: #fafcff;
  transition: all 0.2s;
}
.knowledge-item.expanded[data-v-c75c1e04] {
  border-color: #409eff;
  background: #fff;
  box-shadow: 0 2px 8px rgba(64, 158, 255, 0.15);
}
.kp-header[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  font-size: 13px;
}
.kp-header.dragging[data-v-c75c1e04] {
  opacity: 0.4;
}
.kp-header.drag-over[data-v-c75c1e04] {
  box-shadow: 0 -2px 0 0 #409eff;
}
.kp-drag-icon[data-v-c75c1e04] {
  color: #c0c4cc;
  font-size: 12px;
  flex-shrink: 0;
  cursor: grab;
}
.kp-expand-icon[data-v-c75c1e04] {
  color: #909399;
  font-size: 12px;
  transition: transform 0.2s;
}
.kp-icon[data-v-c75c1e04] {
  color: #f56c6c;
  font-size: 13px;
}
.kp-detail-icon[data-v-c75c1e04] {
  color: #67c23a;
  font-size: 13px;
}
.kp-name[data-v-c75c1e04] {
  font-weight: 600;
  font-size: 13px;
  color: #303133;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kp-desc[data-v-c75c1e04] {
  margin-top: 4px;
  font-size: 12px;
  color: #909399;
  line-height: 1.5;
}
.kp-detail-panel[data-v-c75c1e04] {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #ebeef5;
}
.kp-detail-actions[data-v-c75c1e04] {
  display: flex;
  gap: 6px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.kp-detail-actions .el-button[data-v-c75c1e04] {
  padding: 4px 8px !important;
}
.kp-detail-content[data-v-c75c1e04] {
  font-size: 12px;
  line-height: 1.6;
  color: #606266;
}
.detail-section[data-v-c75c1e04] {
  margin-bottom: 10px;
}
.detail-label[data-v-c75c1e04] {
  font-weight: 600;
  font-size: 12px;
  color: #303133;
  margin-bottom: 4px;
  padding-left: 6px;
  border-left: 3px solid #409eff;
}
.detail-text[data-v-c75c1e04] {
  font-size: 12px;
  line-height: 1.8;
  padding: 8px 10px;
  background: #f5f7fa;
  border-radius: 4px;
}
[data-v-c75c1e04] .text-highlight {
  background: linear-gradient(120deg, #fef3c7 0%, #fde68a 100%);
  color: #92400e;
  padding: 1px 4px;
  border-radius: 3px;
  font-weight: 600;
  border-bottom: 2px solid #f59e0b;
}
.detail-list[data-v-c75c1e04] {
  margin: 0;
  padding-left: 18px;
}
.detail-list li[data-v-c75c1e04] {
  margin: 2px 0;
  font-size: 12px;
}
.mistake-list li[data-v-c75c1e04] {
  color: #f56c6c;
}
.detail-formulas[data-v-c75c1e04] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.formula-item[data-v-c75c1e04] {
  padding: 8px 12px;
  background: #fdf6ec;
  border-radius: 4px;
  text-align: center;
  overflow-x: auto;
}
.example-item[data-v-c75c1e04] {
  margin-bottom: 8px;
  padding: 6px 8px;
  background: #f0f9eb;
  border-radius: 4px;
}
.example-item[data-v-c75c1e04]:last-child {
  margin-bottom: 0;
}
.example-title[data-v-c75c1e04] {
  font-size: 12px;
  color: #67c23a;
  margin-bottom: 4px;
}
.example-block[data-v-c75c1e04] {
  font-size: 12px;
  line-height: 1.6;
  margin: 3px 0;
  display: flex;
  gap: 6px;
  align-items: flex-start;
}
.example-content[data-v-c75c1e04] {
  flex: 1;
  min-width: 0;
  overflow-x: auto;
}
.example-tag[data-v-c75c1e04] {
  flex-shrink: 0;
  display: inline-block;
  padding: 1px 4px;
  background: #67c23a;
  color: #fff;
  border-radius: 3px;
  font-size: 11px;
  height: 18px;
  line-height: 16px;
}
.detail-empty[data-v-c75c1e04] {
  padding: 8px 0;
}
.exam-analysis[data-v-c75c1e04] {
  background: #f0f7ff;
  border-radius: 6px;
  padding: 8px 10px;
}
.exam-grid[data-v-c75c1e04] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 4px;
}
.exam-item[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
}
.exam-item.exam-item-full[data-v-c75c1e04] {
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.exam-item-label[data-v-c75c1e04] {
  color: #909399;
  font-size: 12px;
  flex-shrink: 0;
}
.exam-item-value[data-v-c75c1e04] {
  color: #303133;
  font-size: 12px;
  font-weight: 500;
}
.exam-tags[data-v-c75c1e04] {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.exam-angles[data-v-c75c1e04] {
  margin: 0;
  padding-left: 16px;
  font-size: 12px;
  color: #606266;
}
.exam-angles li[data-v-c75c1e04] {
  margin: 1px 0;
}
.study-advice[data-v-c75c1e04] {
  background: #f0f9eb !important;
  color: #67c23a !important;
  border-left: 3px solid #67c23a;
}
.article-groups-container[data-v-c75c1e04] {
  margin-bottom: 10px;
}
.article-group[data-v-c75c1e04] {
  background: linear-gradient(135deg, #fdf6ec 0%, #ecf5ff 50%, #f0f9eb 100%);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
  border: 1px solid #e4e7ed;
}
.article-group[data-v-c75c1e04]:last-child {
  margin-bottom: 0;
}
.article-group-title[data-v-c75c1e04] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
  text-align: center;
  padding: 8px 0;
  margin-bottom: 10px;
  border-bottom: 2px solid #409eff;
}
.detail-section-group[data-v-c75c1e04] {
  background: linear-gradient(135deg, #fdf6ec 0%, #ecf5ff 50%, #f0f9eb 100%);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 10px;
  border: 1px solid #e4e7ed;
}
.detail-section-group .detail-section[data-v-c75c1e04] {
  margin-bottom: 12px;
}
.detail-section-group .detail-section[data-v-c75c1e04]:last-child {
  margin-bottom: 0;
}
.original-text[data-v-c75c1e04] {
  background: #fdf6ec !important;
  color: #e6a23c !important;
  border-left: 3px solid #e6a23c;
  font-style: italic;
  white-space: pre-wrap;
  line-height: 1.8;
  padding: 12px;
}
.original-text[data-v-c75c1e04] br {
  display: block;
  content: "";
  margin-top: 4px;
}
.translation-text[data-v-c75c1e04] {
  background: #ecf5ff !important;
  color: #409eff !important;
  border-left: 3px solid #409eff;
  white-space: pre-wrap;
  line-height: 1.8;
  padding: 12px;
}
.translation-text[data-v-c75c1e04] br {
  display: block;
  content: "";
  margin-top: 4px;
}
.key-terms-list[data-v-c75c1e04] {
  padding: 8px 10px;
  background: #f0f9eb;
  border-radius: 4px;
  border-left: 3px solid #67c23a;
}
.key-term-item[data-v-c75c1e04] {
  margin-bottom: 8px;
  font-size: 12px;
  line-height: 1.6;
}
.key-term-item[data-v-c75c1e04]:last-child {
  margin-bottom: 0;
}
.term-word[data-v-c75c1e04] {
  font-weight: 600;
  color: #303133;
  margin-right: 4px;
}
.term-pronunciation[data-v-c75c1e04] {
  color: #909399;
  font-size: 11px;
  margin-right: 8px;
}
.term-meaning[data-v-c75c1e04] {
  color: #606266;
}
.term-example[data-v-c75c1e04] {
  display: block;
  color: #909399;
  font-size: 11px;
  margin-top: 2px;
  padding-left: 8px;
}
.related-tags[data-v-c75c1e04] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}
.questions-section[data-v-c75c1e04] {
  background: #fdf6ec;
  border-radius: 6px;
  padding: 10px 12px;
  border: 1px solid #faecd8;
}
.question-count-tag[data-v-c75c1e04] {
  margin-left: 6px;
  padding: 0 6px;
  font-size: 12px;
  font-weight: 400;
  color: #e6a23c;
  background: #fdf6ec;
  border: 1px solid #faecd8;
  border-radius: 10px;
}
.detail-label-row[data-v-c75c1e04] {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.detail-label-row > .detail-label[data-v-c75c1e04] {
  flex-shrink: 0;
}
.questions-list[data-v-c75c1e04] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.question-item[data-v-c75c1e04] {
  background: #fff;
  border: 1px solid #ebeef5;
  border-radius: 8px;
  padding: 12px;
}
.question-item[data-v-c75c1e04]:hover {
  border-color: #409eff;
}
.question-header[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.question-score[data-v-c75c1e04] {
  margin-left: auto;
  font-size: 12px;
  color: #e6a23c;
  font-weight: 600;
}
.question-content[data-v-c75c1e04] {
  font-size: 13px;
  color: #303133;
  line-height: 1.6;
  margin-bottom: 8px;
  font-weight: 500;
}
.question-options[data-v-c75c1e04] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 8px;
  padding-left: 8px;
}
.option-item[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #606266;
  padding: 3px 6px;
  border-radius: 4px;
  transition: background 0.2s;
}
.option-item[data-v-c75c1e04]:hover {
  background: #f5f7fa;
}
.option-item.correct[data-v-c75c1e04] {
  background: #f0f9eb;
  color: #67c23a;
  font-weight: 500;
}
.option-label[data-v-c75c1e04] {
  font-weight: 600;
  color: #303133;
  min-width: 18px;
}
.option-content[data-v-c75c1e04] {
  flex: 1;
  min-width: 0;
}
.correct-icon[data-v-c75c1e04] {
  color: #67c23a;
  margin-left: auto;
}
.question-answer[data-v-c75c1e04] {
  font-size: 12px;
  padding: 6px 8px;
  background: #ecf5ff;
  border-radius: 4px;
  margin-bottom: 8px;
}
.answer-label[data-v-c75c1e04] {
  color: #409eff;
  font-weight: 600;
}
.answer-value[data-v-c75c1e04] {
  color: #303133;
  font-weight: 500;
}
.question-solution[data-v-c75c1e04] {
  background: #fef0f0;
  border: 1px solid #fde2e2;
  border-radius: 6px;
  padding: 8px 10px;
  margin-bottom: 8px;
}
.solution-label[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  color: #f56c6c;
  margin-bottom: 6px;
}
.solution-content[data-v-c75c1e04] {
  font-size: 12px;
  line-height: 1.7;
  color: #606266;
}
.solution-content[data-v-c75c1e04] strong {
  color: #f56c6c;
  font-weight: 600;
}
.question-analysis[data-v-c75c1e04] {
  font-size: 12px;
  color: #909399;
  line-height: 1.6;
}
.analysis-label[data-v-c75c1e04] {
  font-weight: 600;
  color: #606266;
}

/* 院校弹窗选择项 */
.school-select-item[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s;
  margin-bottom: 4px;
  border: 1px solid transparent;
}
.school-select-item[data-v-c75c1e04]:hover {
  background: #f5f7fa;
  border-color: #e4e7ed;
}
.school-select-item.active[data-v-c75c1e04] {
  background: #ecf5ff;
  border-color: #409eff;
}
.school-select-item .school-name[data-v-c75c1e04] {
  font-weight: 500;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  margin-right: 12px;
}
.batch-item-list[data-v-c75c1e04] {
  border: 1px solid #ebeef5;
  border-radius: 8px;
  padding: 6px 10px;
  max-height: 300px;
  overflow-y: auto;
  background: #fafcff;
}
.batch-item-row[data-v-c75c1e04] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  border-bottom: 1px dashed #f0f2f5;
  font-size: 13px;
}
.batch-item-row[data-v-c75c1e04]:last-child {
  border-bottom: none;
}
.batch-item-row .batch-item-name[data-v-c75c1e04] {
  flex-shrink: 0;
  min-width: 90px;
  font-weight: 600;
}
.batch-item-row .batch-item-status[data-v-c75c1e04] {
  flex-shrink: 0;
  min-width: 56px;
  text-align: center;
}
.batch-item-row .batch-item-step[data-v-c75c1e04] {
  color: #909399;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.batch-item-row.st-analyzing[data-v-c75c1e04], .batch-item-row.st-generating[data-v-c75c1e04], .batch-item-row.st-validating[data-v-c75c1e04], .batch-item-row.st-saving[data-v-c75c1e04] {
  background: #ecf5ff;
  border-radius: 4px;
  margin: 2px -4px;
  padding: 5px 8px;
}
.batch-item-row.st-analyzing .batch-item-step[data-v-c75c1e04], .batch-item-row.st-generating .batch-item-step[data-v-c75c1e04], .batch-item-row.st-validating .batch-item-step[data-v-c75c1e04], .batch-item-row.st-saving .batch-item-step[data-v-c75c1e04] {
  color: #409eff;
  animation: batchStepPulse-c75c1e04 1.6s ease-in-out infinite;
}
@keyframes batchStepPulse-c75c1e04 {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0.5;
}
}
.batch-log-list[data-v-c75c1e04] {
  max-height: 160px;
  overflow-y: auto;
  background: #f5f7fa;
  border-radius: 6px;
  padding: 8px 12px;
}
.batch-log-row[data-v-c75c1e04] {
  display: flex;
  gap: 10px;
  font-size: 12px;
  line-height: 1.7;
}
.batch-log-row .batch-log-time[data-v-c75c1e04] {
  flex-shrink: 0;
  color: #b0b3b8;
  font-variant-numeric: tabular-nums;
}
.batch-log-row .batch-log-msg[data-v-c75c1e04] {
  color: #606266;
}.mp-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
.mp-toolbar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  border-bottom: 1px solid #303035;
}
.mp-toolbar__title {
  font-size: 12px;
  color: #909399;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mp-toolbar__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.mp-phone {
  flex: 1;
  min-height: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 12px 0 16px;
  overflow: auto;
}
.mp-phone__frame {
  position: relative;
  flex-shrink: 0;
  width: 375px;
  height: 100%;
  min-height: 640px;
  max-height: 780px;
  display: flex;
  flex-direction: column;
  border-radius: 34px;
  padding: 8px;
  background: #1f1f24;
  box-shadow: 0 0 0 2px #34343c, 0 12px 32px rgba(0, 0, 0, 0.45);
}
.mp-phone__screen {
  position: relative;
  flex: 1;
  min-height: 0;
  border-radius: 27px;
  overflow: hidden;
  background: #f5f7fa;
  transform: translateZ(0);
}
.mp-phone__home {
  flex-shrink: 0;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mp-phone__home::after {
  content: "";
  width: 118px;
  height: 4px;
  border-radius: 3px;
  background: #4a4a54;
}
.mp-status-bar {
  flex-shrink: 0;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 26px 0 32px;
  color: #e5e5ea;
  font-size: 12px;
  font-weight: 600;
}
.mp-status-bar__time {
  flex-shrink: 0;
  letter-spacing: 0.2px;
  font-variant-numeric: tabular-nums;
}
.mp-status-bar__icons {
  display: flex;
  align-items: center;
  gap: 5px;
}
.mp-si {
  display: inline-block;
  background: #e5e5ea;
}
.mp-si--signal {
  width: 15px;
  height: 10px;
  clip-path: polygon(0 100%, 20% 100%, 20% 70%, 40% 70%, 40% 40%, 60% 40%, 60% 15%, 80% 15%, 80% 0, 100% 0, 100% 100%);
}
.mp-si--wifi {
  width: 12px;
  height: 10px;
  clip-path: polygon(50% 100%, 0 35%, 12% 22%, 50% 62%, 88% 22%, 100% 35%);
}
.mp-si--battery {
  width: 20px;
  height: 10px;
  border-radius: 3px;
  position: relative;
  opacity: 0.95;
}
.mobile-preview {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
/**
 * 手机端刷题页（pages/practice/question）样式 · 管理端预览专用
 *
 * 由脚本从 packages/miniapp/src/pages/practice/question.vue 的 \3c style lang="scss">
 * 原样提取，仅做两处容器适配：
 *   - .question-page 的 min-height: 100vh -> 100%（预览在固定高度手机壳内滚动）
 *   - padding-top 的状态栏变量 -> 0（状态栏由手机壳 .mp-status-bar 模拟）
 * 其余规则与小程序端逐字一致，保证「预览所见 = 手机端所见」。
 * 样式统一嵌套在 .mobile-preview 下，避免污染管理端全局样式。
 */
.mobile-preview {
  --color-primary: #6C63FF;
  --status-bar-height: 44px;
}
.mobile-preview .question-page {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: #F5F7FA;
  padding-top: 0;
}
.mobile-preview .dev-bar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 16px 0;
  padding: 8px 12px;
  background: linear-gradient(135deg, #1E1B38, #2D2A6E);
  border-radius: 12px;
}
.mobile-preview .dev-bar__input-wrap {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 0 10px;
}
.mobile-preview .dev-bar__label {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  flex-shrink: 0;
}
.mobile-preview .dev-bar__input {
  flex: 1;
  height: 32px;
  font-size: 14px;
  color: #FFFFFF;
}
.mobile-preview .dev-bar__btn {
  flex-shrink: 0;
  padding: 7px 16px;
  background: linear-gradient(135deg, #FFD700, #FFA500);
  border-radius: 8px;
}
.mobile-preview .dev-bar__btn:active {
  transform: scale(0.96);
}
.mobile-preview .dev-bar__btn-text {
  font-size: 13px;
  font-weight: 600;
  color: #1E1B38;
}
.mobile-preview .practice-top {
  flex-shrink: 0;
  padding: 0 16px;
  box-sizing: border-box;
}
.mobile-preview .practice-split {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding-top: 8px;
}
.mobile-preview .passage-pane {
  flex-shrink: 0;
  height: 38vh;
  margin: 0 12px;
  background: #FFFFFF;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.mobile-preview .passage-pane__header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid #F0F2F5;
}
.mobile-preview .passage-pane__label {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
}
.mobile-preview .passage-pane__zoom-text {
  font-size: 13px;
  color: #2563EB;
}
.mobile-preview .passage-pane__scroll {
  flex: 1;
  min-height: 0;
}
.mobile-preview .passage-pane__text {
  padding: 14px 16px;
  font-size: 15px;
  line-height: 1.8;
  color: #1F2937;
  word-break: break-word;
}
.mobile-preview .passage-pane--zoomed {
  position: fixed;
  top: calc(var(--status-bar-height, 44px) + 44px);
  left: 0;
  right: 0;
  bottom: calc(70px + env(safe-area-inset-bottom, 0px));
  height: auto;
  max-height: none;
  margin: 0 12px;
  z-index: 90;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06);
}
.mobile-preview .passage-pane__close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.45);
  border-radius: 50%;
  z-index: 2;
}
.mobile-preview .passage-pane__close-text {
  color: #FFFFFF;
  font-size: 16px;
  line-height: 1;
}
.mobile-preview .question-pane {
  flex: 1;
  min-height: 0;
  margin-top: 8px;
}
.mobile-preview .question-content {
  padding: 0 16px;
  padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px));
}
.mobile-preview .topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 0 5px;
}
.mobile-preview .topbar__left {
  display: flex;
  align-items: baseline;
  gap: 2px;
}
.mobile-preview .topbar__index {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
  color: #6C63FF;
}
.mobile-preview .topbar__total {
  font-size: 13px;
  color: #9CA3AF;
}
.mobile-preview .topbar__center {
  flex: 1;
  display: flex;
  justify-content: center;
}
.mobile-preview .topbar__timer {
  display: flex;
  align-items: center;
  gap: 3px;
  background: #F0F3FF;
  padding: 3px 11px;
  border-radius: 14px;
}
.mobile-preview .topbar__timer-icon {
  font-size: 12px;
}
.mobile-preview .topbar__timer-text {
  font-size: 13px;
  color: #6C63FF;
  font-weight: 600;
  font-family: monospace;
}
.mobile-preview .topbar__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.15;
}
.mobile-preview .topbar__right-group {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mobile-preview .topbar__accuracy-text {
  font-size: 10px;
  color: #9CA3AF;
}
.mobile-preview .topbar__accuracy-value {
  font-size: 14px;
  color: #10B981;
  font-weight: 700;
}
.mobile-preview .topbar__favorite {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #F8F9FF;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mobile-preview .topbar__favorite:active {
  transform: scale(0.9);
  background: #F0F3FF;
}
.mobile-preview .topbar__favorite-icon {
  font-size: 16px;
  color: #9CA3AF;
  transition: color 0.2s;
}
.mobile-preview .topbar__favorite-icon--active {
  color: #F59E0B;
}
.mobile-preview .progress-track {
  height: 4px;
  background: #EBEEF5;
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 4px;
}
.mobile-preview .progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #6C63FF, #8B5FFF, #A78BFA);
  border-radius: 2px;
  transition: width 0.3s ease;
}
.mobile-preview .question-nav {
  margin-bottom: 8px;
}
.mobile-preview .question-nav__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.mobile-preview .question-nav__count {
  font-size: 12px;
  font-weight: 600;
  color: #6C63FF;
}
.mobile-preview .question-nav__scroll {
  white-space: nowrap;
  width: 100%;
}
.mobile-preview .question-nav__list {
  display: inline-flex;
  gap: 6px;
  padding-bottom: 4px;
}
.mobile-preview .question-nav__item {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #FFFFFF;
  border: 1px solid #EEF0F5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  color: #6B6B8A;
  flex-shrink: 0;
  transition: all 0.15s;
}
.mobile-preview .question-nav__item--todo {
  background: #FFF4DE;
  border-color: #FBBF24;
  color: #D97706;
  font-weight: 700;
}
.mobile-preview .question-nav__item--active {
  background: #6C63FF;
  border-color: #6C63FF;
  color: #FFFFFF;
}
.mobile-preview .question-nav__item--done {
  background: #F0F9F4;
  border-color: #D1F2E0;
  color: #10B981;
}
.mobile-preview .question-nav__item--right {
  background: #E9F9F1;
  border-color: #B7EDCE;
  color: #10B981;
}
.mobile-preview .question-nav__item--wrong {
  background: #FEF2F2;
  border-color: #FBCFCF;
  color: #F87171;
}
.mobile-preview .question-nav__item--locked {
  opacity: 0.45;
  color: #B0B4C0;
  background: #F5F6FA;
  border-style: dashed;
}
.mobile-preview .question-card {
  background: #FFFFFF;
  border-radius: 20px;
  padding: 20px 18px;
  margin-bottom: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);
}
.mobile-preview .question-card__tags {
  display: flex;
  gap: 6px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.mobile-preview .question-card__tag {
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 8px;
  font-weight: 500;
}
.mobile-preview .question-card__tag--source {
  color: #6B6B8A;
  background: #F3F4F6;
}
.mobile-preview .question-card__tag--freq {
  color: #EF4444;
  background: #FEF2F2;
}
.mobile-preview .question-card__title {
  font-size: 16px;
  font-weight: 500;
  color: #1A1A2E;
  line-height: 1.75;
  display: block;
  white-space: pre-wrap;
  word-break: break-word;
}
.mobile-preview .question-passage {
  background: #F8F9FF;
  border-left: 3px solid #6C63FF;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 14px;
}
.mobile-preview .question-passage__label {
  font-size: 12px;
  color: #6C63FF;
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
}
.mobile-preview .question-passage__text {
  font-size: 14px;
  color: #4A4A6A;
  line-height: 1.7;
  display: block;
  white-space: pre-wrap;
  word-break: break-word;
}
.mobile-preview .sub-question-nav {
  margin-bottom: 14px;
}
.mobile-preview .sub-question-nav__title {
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.mobile-preview .sub-question-nav__title-text {
  font-size: 14px;
  color: #4A4A6A;
  font-weight: 600;
  flex-shrink: 0;
}
.mobile-preview .sub-question-nav__tags {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex-shrink: 0;
}
.mobile-preview .sub-question-nav__scroll {
  white-space: nowrap;
}
.mobile-preview .sub-question-nav__list {
  display: inline-flex;
  gap: 8px;
  padding: 4px 0;
}
.mobile-preview .sub-question-nav__item {
  width: 32px;
  height: 32px;
  border-radius: 16px;
  background: #F3F4F6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.2s;
}
.mobile-preview .sub-question-nav__item--active {
  background: #6C63FF;
}
.mobile-preview .sub-question-nav__item--answered {
  background: #E0E4FF;
}
.mobile-preview .sub-question-nav__item--active.mobile-preview .sub-question-nav__item--answered {
  background: #6C63FF;
}
.mobile-preview .sub-question-nav__item-text {
  font-size: 13px;
  color: #6B6B8A;
  font-weight: 600;
}
.sub-question-nav__item--active .mobile-preview .sub-question-nav__item-text {
  color: #FFFFFF;
}
.sub-question-nav__item--answered:not(.sub-question-nav__item--active) .mobile-preview .sub-question-nav__item-text {
  color: #6C63FF;
}
.mobile-preview .question-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.mobile-preview .question-meta__item {
  display: flex;
  align-items: center;
  gap: 4px;
  background: #F8F9FF;
  border-radius: 8px;
  padding: 5px 10px;
}
.mobile-preview .question-meta__label {
  font-size: 11px;
  color: #9CA3AF;
}
.mobile-preview .question-meta__value {
  font-size: 12px;
  color: #4A4A6A;
  font-weight: 600;
}
.mobile-preview .question-taglist {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.mobile-preview .question-taglist__item {
  font-size: 11px;
  color: #8B5FFF;
  background: #F5F0FF;
  padding: 3px 8px;
  border-radius: 6px;
}
.mobile-preview .question-taglist__feedback {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 14px;
  padding: 6px 12px;
  border: 1px dashed #D1D5DB;
  border-radius: 10px;
  align-self: flex-start;
}
.mobile-preview .question-taglist__feedback-icon {
  font-size: 13px;
}
.mobile-preview .question-taglist__feedback-text {
  font-size: 12px;
  color: #9CA3AF;
}
.mobile-preview .question-taglist__feedback:active {
  opacity: 0.6;
  background: #F9FAFB;
}
.mobile-preview .study-material {
  margin-top: 16px;
  background: #F8F9FF;
  border-radius: 14px;
  overflow: hidden;
}
.mobile-preview .study-material__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  cursor: pointer;
}
.mobile-preview .study-material__toggle-text {
  font-size: 14px;
  color: #6C63FF;
  font-weight: 600;
}
.mobile-preview .study-material__toggle-icon {
  font-size: 12px;
  color: #6C63FF;
}
.mobile-preview .study-material__content {
  padding: 0 16px 16px;
}
.mobile-preview .study-material__section {
  margin-bottom: 14px;
  padding: 12px;
  background: #FFFFFF;
  border-radius: 10px;
}
.mobile-preview .study-material__section:last-child {
  margin-bottom: 0;
}
.mobile-preview .study-material__section--warn {
  background: #FFF7ED;
}
.mobile-preview .study-material__section--tip {
  background: #F0FDF4;
}
.mobile-preview .study-material__section-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.mobile-preview .study-material__section-icon {
  font-size: 14px;
}
.mobile-preview .study-material__section-label {
  font-size: 13px;
  color: #6C63FF;
  font-weight: 600;
}
.mobile-preview .study-material__section-label--warn {
  color: #EA580C;
}
.mobile-preview .study-material__section-label--tip {
  color: #16A34A;
}
.mobile-preview .study-material__section-text {
  font-size: 13px;
  color: #4A4A6A;
  line-height: 1.7;
  display: block;
  white-space: pre-wrap;
  word-break: break-word;
}
.mobile-preview .question-options {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mobile-preview .question-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: 14px;
  background: #F8F9FF;
  border: 2px solid transparent;
  transition: all 0.2s;
}
.mobile-preview .question-option--selected {
  border-color: #6C63FF;
  background: #F0F3FF;
}
.mobile-preview .question-option--correct {
  border-color: #10B981;
  background: #F0FFF4;
}
.mobile-preview .question-option--wrong {
  border-color: #F87171;
  background: #FFF5F5;
}
.mobile-preview .question-option--disabled {
  pointer-events: none;
}
.mobile-preview .question-option__key {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #EBEEF5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.2s;
}
.mobile-preview .question-option__key--selected {
  background: #6C63FF;
}
.mobile-preview .question-option__key--correct {
  background: #10B981;
}
.mobile-preview .question-option__key--wrong {
  background: #F87171;
}
.mobile-preview .question-option__key-text {
  font-size: 14px;
  font-weight: 700;
  color: #6B6B8A;
}
.question-option__key--selected .mobile-preview .question-option__key-text, .question-option__key--correct .mobile-preview .question-option__key-text, .question-option__key--wrong .mobile-preview .question-option__key-text {
  color: #FFFFFF;
}
.mobile-preview .question-option__text {
  flex: 1;
  font-size: 15px;
  color: #1A1A2E;
  line-height: 1.4;
}
.mobile-preview .question-option__mark {
  flex-shrink: 0;
}
.mobile-preview .question-option__mark-icon {
  font-size: 18px;
  font-weight: 700;
}
.mobile-preview .question-option__mark-icon--correct {
  color: #10B981;
}
.mobile-preview .question-option__mark-icon--wrong {
  color: #F87171;
}
.mobile-preview .question-fill {
  margin-top: 18px;
}
.mobile-preview .question-fill__input {
  width: 100%;
  height: 50px;
  background: #F8F9FF;
  border-radius: 14px;
  padding: 0 16px;
  font-size: 15px;
  color: #1A1A2E;
  border: 2px solid transparent;
  box-sizing: border-box;
}
.mobile-preview .question-fill__input--disabled {
  background: #F3F4F6;
  color: #9CA3AF;
  border-color: transparent;
}
.mobile-preview .question-fill__textarea {
  width: 100%;
  min-height: 96px;
  background: #F8F9FF;
  border-radius: 14px;
  padding: 12px 16px;
  font-size: 15px;
  color: #1A1A2E;
  line-height: 1.6;
  border: 2px solid transparent;
  box-sizing: border-box;
}
.mobile-preview .question-fill__hint {
  margin-top: 10px;
  padding: 12px 14px;
  background: #F0FFF4;
  border-radius: 12px;
  display: flex;
  gap: 6px;
  align-items: center;
}
.mobile-preview .question-fill__hint-label {
  font-size: 13px;
  color: #6B6B8A;
}
.mobile-preview .question-fill__hint-text {
  font-size: 14px;
  color: #10B981;
  font-weight: 700;
}
.mobile-preview .question-fill__hint-text--math {
  display: inline;
  vertical-align: middle;
  word-break: break-all;
}
.mobile-preview .fill-blanks {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mobile-preview .fill-blanks__row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mobile-preview .fill-blanks__label {
  width: 22px;
  font-size: 15px;
  color: #6C63FF;
  font-weight: 700;
  text-align: center;
  flex-shrink: 0;
}
.mobile-preview .fill-blanks__input {
  flex: 1;
}
.mobile-preview .fill-blanks__row--correct .fill-blanks__input {
  border-color: #10B981;
  background: #F0FFF4;
  color: #10B981;
}
.mobile-preview .fill-blanks__row--wrong .fill-blanks__input {
  border-color: #EF4444;
  background: #FEF2F2;
  color: #EF4444;
}
.mobile-preview .fill-blanks__mark {
  width: 20px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  flex-shrink: 0;
}
.mobile-preview .fill-blanks__mark--correct {
  color: #10B981;
}
.mobile-preview .fill-blanks__mark--wrong {
  color: #EF4444;
}
.mobile-preview .fill-blanks__answer {
  margin-top: 10px;
  padding: 12px 14px;
  background: #F0FFF4;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mobile-preview .fill-blanks__answer-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mobile-preview .fill-blanks__answer-label {
  font-size: 14px;
  color: #6C63FF;
  font-weight: 700;
  width: 22px;
  text-align: center;
}
.mobile-preview .confirm-btn {
  margin-top: 16px;
  height: 46px;
  border-radius: 23px;
  background: linear-gradient(135deg, #6C63FF, #8B5FFF);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(108, 99, 255, 0.25);
}
.mobile-preview .confirm-btn__text {
  font-size: 15px;
  color: #FFFFFF;
  font-weight: 600;
}
.mobile-preview .result-card {
  background: #FFFFFF;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);
}
.mobile-preview .result-card__header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 18px;
}
.mobile-preview .result-card__header--correct {
  background: linear-gradient(135deg, #F0FFF4, #DCFCE7);
}
.mobile-preview .result-card__header--wrong {
  background: linear-gradient(135deg, #FFF5F5, #FEE2E2);
}
.mobile-preview .result-card__header--neutral {
  background: linear-gradient(135deg, #F0F3FF, #E8ECFF);
}
.mobile-preview .result-card__icon-wrap {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.result-card__header--correct .mobile-preview .result-card__icon-wrap {
  background: #10B981;
}
.result-card__header--wrong .mobile-preview .result-card__icon-wrap {
  background: #F87171;
}
.result-card__header--neutral .mobile-preview .result-card__icon-wrap {
  background: #6C63FF;
}
.mobile-preview .result-card__icon {
  font-size: 16px;
  font-weight: 700;
  color: #FFFFFF;
}
.mobile-preview .result-card__status {
  font-size: 17px;
  font-weight: 700;
}
.result-card__header--correct .mobile-preview .result-card__status {
  color: #10B981;
}
.result-card__header--wrong .mobile-preview .result-card__status {
  color: #F87171;
}
.result-card__header--neutral .mobile-preview .result-card__status {
  color: #6C63FF;
}
.mobile-preview .result-card__section {
  margin-bottom: 16px;
  padding: 12px 14px;
  background: #F8F9FF;
  border-radius: 12px;
}
.mobile-preview .result-card__section--warn {
  background: #FFF7ED;
}
.mobile-preview .result-card__section--tip {
  background: #F0FDF4;
}
.mobile-preview .result-card__section-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.mobile-preview .result-card__section-icon {
  font-size: 14px;
}
.mobile-preview .result-card__section-label {
  font-size: 14px;
  color: #6C63FF;
  font-weight: 600;
}
.mobile-preview .result-card__section-label--warn {
  color: #EA580C;
}
.mobile-preview .result-card__section-label--tip {
  color: #16A34A;
}
.mobile-preview .result-card__section-text {
  font-size: 14px;
  color: #4A4A6A;
  line-height: 1.7;
  display: block;
  white-space: pre-wrap;
  word-break: break-word;
}
.mobile-preview .result-card__section--essay {
  background: #FFFDF5;
  border: 1px solid #F3E9D2;
}
.mobile-preview .result-card__section-count {
  margin-left: auto;
  font-size: 12px;
  color: #B8860B;
  background: #FBF3DC;
  border-radius: 10px;
  padding: 1px 10px;
}
.mobile-preview .result-card__section-label--essay {
  color: #B8860B;
}
.mobile-preview .result-card .essay-card {
  background: #FFFFFF;
  border: 1px solid #F0E8D5;
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 10px;
}
.mobile-preview .result-card .essay-card:last-child {
  margin-bottom: 0;
}
.mobile-preview .result-card .essay-card__header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.mobile-preview .result-card .essay-card__badge {
  font-size: 11px;
  color: #FFFFFF;
  background: #C9A227;
  border-radius: 4px;
  padding: 2px 8px;
  font-weight: 600;
}
.mobile-preview .result-card .essay-card__meta {
  font-size: 11px;
  color: #99937E;
}
.mobile-preview .result-card .essay-card__title {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #E8DFC8;
}
.mobile-preview .result-card .essay-card__title-text {
  font-size: 15px;
  font-weight: 600;
  color: #4A3F1F;
  flex: 1;
}
.mobile-preview .result-card .essay-card__author {
  font-size: 12px;
  color: #99937E;
  flex-shrink: 0;
}
.mobile-preview .result-card .essay-card__content {
  margin-bottom: 8px;
}
.mobile-preview .result-card .essay-card__content-text {
  font-size: 14px;
  color: #4A4A6A;
  line-height: 1.8;
  display: block;
  word-break: break-word;
}
.mobile-preview .result-card .essay-card__highlights {
  background: #FBF7EC;
  border-radius: 8px;
  padding: 8px 10px;
}
.mobile-preview .result-card .essay-card__highlights-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #B8860B;
  margin-bottom: 4px;
}
.mobile-preview .result-card .essay-card__highlights-text {
  font-size: 13px;
  color: #7A7257;
  line-height: 1.7;
  display: block;
  word-break: break-word;
}
.mobile-preview .result-card__body {
  padding: 16px 18px;
}
.mobile-preview .result-card__answer {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  background: #F0FFF4;
  border-radius: 12px;
  margin-bottom: 14px;
}
.mobile-preview .result-card__answer--stack {
  flex-wrap: wrap;
  align-items: flex-start;
}
.mobile-preview .result-card__answer--stack .result-card__answer-label {
  flex: 0 0 100%;
}
.mobile-preview .result-card__answer--stack .result-card__answer-text {
  flex: 1;
  min-width: 0;
}
.mobile-preview .result-card__answer-label {
  font-size: 13px;
  color: #6B6B8A;
  white-space: nowrap;
}
.mobile-preview .result-card__answer-text {
  font-size: 15px;
  color: #10B981;
  font-weight: 700;
}
.mobile-preview .result-card__analysis {
  margin-bottom: 16px;
}
.mobile-preview .result-card__analysis-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.mobile-preview .result-card__analysis-icon {
  font-size: 14px;
}
.mobile-preview .result-card__analysis-label {
  font-size: 14px;
  color: #6C63FF;
  font-weight: 600;
}
.mobile-preview .result-card__analysis-text {
  font-size: 14px;
  color: #4A4A6A;
  line-height: 1.7;
}
.mobile-preview .result-card__knowledge {
  margin-bottom: 0;
}
.mobile-preview .result-card__knowledge-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.mobile-preview .result-card__knowledge-label {
  font-size: 13px;
  color: #6B6B8A;
  font-weight: 500;
  display: block;
}
.mobile-preview .result-card__knowledge-hint {
  font-size: 11px;
  color: var(--color-primary);
  font-weight: 500;
}
.mobile-preview .result-card__knowledge-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.mobile-preview .result-card__knowledge-item {
  background: #F0F3FF;
  padding: 5px 12px;
  border-radius: 12px;
}
.mobile-preview .result-card__knowledge-item:active {
  opacity: 0.7;
  background: #E0E4FF;
}
.mobile-preview .result-card__knowledge-item-text {
  font-size: 12px;
  color: #6C63FF;
  font-weight: 500;
}
.mobile-preview .result-card__related {
  margin: 0 18px 16px;
  padding: 14px;
  background: linear-gradient(135deg, #F0F3FF, #F5F0FF);
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.mobile-preview .result-card__related-icon {
  font-size: 14px;
}
.mobile-preview .result-card__related-text {
  flex: 1;
  font-size: 14px;
  color: #6C63FF;
  font-weight: 600;
}
.mobile-preview .result-card__related-arrow {
  font-size: 16px;
  color: #6C63FF;
}
.mobile-preview .scroll-spacer {
  height: 20px;
}
.mobile-preview .bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  padding: 10px 16px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
  gap: 10px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.04);
}
.mobile-preview .bottom-bar__btn {
  flex: 1;
  height: 50px;
  border-radius: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mobile-preview .bottom-bar__btn--secondary {
  background: #F8F9FF;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.mobile-preview .bottom-bar__btn--primary {
  background: linear-gradient(135deg, #6C63FF, #8B5FFF);
  box-shadow: 0 6px 20px rgba(108, 99, 255, 0.3);
}
.mobile-preview .bottom-bar__btn--submit {
  background: linear-gradient(135deg, #10B981, #34D399);
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.3);
}
.mobile-preview .bottom-bar__feedback {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  width: 50px;
  border-radius: 25px;
  background: #F8F9FF;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  flex-shrink: 0;
}
.mobile-preview .bottom-bar__feedback-text {
  font-size: 12px;
  color: #9CA3AF;
  font-weight: 500;
}
.mobile-preview .bottom-bar__feedback:active {
  opacity: 0.6;
  background: #F0F3FF;
}
.mobile-preview .bottom-bar__actions {
  flex: 1;
  display: flex;
  gap: 10px;
}
.mobile-preview .bottom-bar__btn-text {
  font-size: 15px;
  font-weight: 600;
}
.bottom-bar__btn--secondary .mobile-preview .bottom-bar__btn-text {
  color: #1A1A2E;
}
.bottom-bar__btn--primary .mobile-preview .bottom-bar__btn-text, .bottom-bar__btn--submit .mobile-preview .bottom-bar__btn-text {
  color: #FFFFFF;
}
.mobile-preview {
  /* ===== PageNavBar（顶部导航栏）样式：从 miniapp components/PageNavBar.vue 原样提取 =====
   * 组件在小程序端为 position: fixed，预览容器 .mobile-preview 通过 transform 建立包含块，
   * 使其固定定位相对手机壳生效，行为与真机一致。 */
}
.mobile-preview .page-nav-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
@media (prefers-color-scheme: dark) {
.mobile-preview .page-nav-bar {
    background: rgba(34, 34, 46, 0.88);
}
}
.mobile-preview .page-nav-bar__divider {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 0.5px;
  background: var(--color-border, #EBEEF5);
}
@media (prefers-color-scheme: dark) {
.mobile-preview .page-nav-bar__divider {
    background: var(--color-border, #32323F);
}
}
.mobile-preview .page-nav-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 44px;
  padding: 0 16px;
}
.mobile-preview .page-nav-bar__left {
  display: flex;
  align-items: center;
  min-width: 60px;
}
.mobile-preview .page-nav-bar__back {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 0;
  min-height: 32px;
  min-width: 32px;
  justify-content: center;
}
.mobile-preview .page-nav-bar__back-arrow {
  width: 10px;
  height: 10px;
  border-left: 2px solid var(--color-text-primary, #1A1A2E);
  border-bottom: 2px solid var(--color-text-primary, #1A1A2E);
  transform: rotate(45deg);
  border-radius: 1px;
  flex-shrink: 0;
}
.mobile-preview .page-nav-bar__back-text {
  font-size: 15px;
  color: var(--color-text-primary, #1A1A2E);
  flex-shrink: 0;
}
.mobile-preview .page-nav-bar__title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 17px;
  font-weight: 600;
  color: var(--color-text-primary, #1A1A2E);
  max-width: 55%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-preview .page-nav-bar__right {
  min-width: 60px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}
.mobile-preview {
  /* ===== Web 预览适配补丁 =====
   * 小程序端由 scroll-view 组件 / 视口单位提供的能力，在浏览器中需显式声明。
   * 除以下 5 处外，其余规则与小程序端逐字一致。 */
  /* 1. 页面根：小程序页面撑满一屏，预览中改为撑满手机壳 */
}
.mobile-preview .question-page {
  height: 100%;
}
.mobile-preview {
  /* 2. 阅读材料面板：38vh（视口高）改为占分屏区 38%，避免预览里按浏览器窗口高度计算 */
}
.mobile-preview .passage-pane {
  height: auto;
  flex: 0 0 38%;
}
.mobile-preview {
  /* 3. scroll-view scroll-y -> 浏览器纵向滚动（隐藏滚动条，贴近真机观感） */
}
.mobile-preview .question-pane,
.mobile-preview .passage-pane__scroll {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.mobile-preview {
  /* 4. scroll-view scroll-x -> 浏览器横向滚动（题号导航 / 子题导航） */
}
.mobile-preview .question-nav__scroll,
.mobile-preview .sub-question-nav__scroll {
  overflow-x: auto;
}
.mobile-preview .question-pane::-webkit-scrollbar,
.mobile-preview .passage-pane__scroll::-webkit-scrollbar,
.mobile-preview .question-nav__scroll::-webkit-scrollbar,
.mobile-preview .sub-question-nav__scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
}
/* =============================
   预览弹窗样式
   ============================= */
.preview-dialog {
&[data-v-2ef6f239] {
  /* 分栏态宽度由模板设为 1440px，这里兜底防止窄屏溢出 */

  /* ===== 左右分栏：左侧现网详情 + 右侧手机端刷题页预览 ===== */

  /* ===== 顶部状态栏 ===== */

  /* ===== 元信息网格 ===== */

  /* ===== 知识点/标签区 ===== */

  /* ===== 内容卡片 ===== */

  /* ===== 内容块 ===== */

  /* 阅读材料特殊背景 */

  /* ===== 选项网格 ===== */

  /* ===== 正确答案 ===== */

  /* ===== 解析 ===== */

  /* ===== 易错点（独立区块，红色警示风格） ===== */

  /* ===== 学习辅助 ===== */

  /* ===== 子题卡片 ===== */

  /* ===== 案例文章卡片 ===== */

  /* ===== 富文本渲染通用 ===== */

  /* ===== 底部导航（上一题 / 下一题） ===== */
}
[data-v-2ef6f239] .el-dialog {
    max-width: 96vw;
}
[data-v-2ef6f239] .el-dialog__body {
    padding: 16px 20px;
    max-height: calc(90vh - 130px);
    overflow-y: auto;
}
.preview-body[data-v-2ef6f239] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
&.preview-dialog--split {
[data-v-2ef6f239] .el-dialog__body {
      padding: 0;
      /* 分栏态由两列各自滚动，外层不得再滚动，否则手机壳会被裁切 */
      max-height: none;
      overflow: hidden;
}
}
.preview-body--split[data-v-2ef6f239] {
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    height: calc(90vh - 130px);
    overflow: hidden;
}
.preview-col[data-v-2ef6f239] {
    min-width: 0;
}
.preview-col--detail[data-v-2ef6f239] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 16px 20px;
}
.preview-col--mobile[data-v-2ef6f239] {
    flex: 0 0 400px;
    width: 400px;
    border-left: 1px solid #e8edf9;
    background: #f7f8fa;
    overflow: hidden;
}
.preview-topbar {
&[data-v-2ef6f239] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: linear-gradient(135deg, #f8faff 0%, #f0f4ff 100%);
    border-radius: 10px;
    border: 1px solid #e8edf9;
}
.topbar-left[data-v-2ef6f239] {
      display: flex;
      align-items: center;
      gap: 10px;
}
.topbar-badge[data-v-2ef6f239] {
      display: inline-flex;
      align-items: center;
      padding: 3px 12px;
      border-radius: 6px;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.3px;
}
.topbar-index[data-v-2ef6f239] {
      display: inline-flex;
      align-items: center;
      padding: 3px 10px;
      border-radius: 6px;
      background: #409eff;
      color: #fff;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.3px;
}
.type-single_choice[data-v-2ef6f239] { background: #e8f5e9; color: #2e7d32;
}
.type-multiple_choice[data-v-2ef6f239] { background: #fff3e0; color: #e65100;
}
.type-judge[data-v-2ef6f239] { background: #e3f2fd; color: #1565c0;
}
.type-fill[data-v-2ef6f239] { background: #f3e5f5; color: #6a1b9a;
}
.type-short_answer[data-v-2ef6f239] { background: #e0f2f1; color: #00695c;
}
.type-essay[data-v-2ef6f239] { background: #fce4ec; color: #c62828;
}
.type-reading_comprehension[data-v-2ef6f239] { background: #e8eaf6; color: #283593;
}
.type-cloze[data-v-2ef6f239] { background: #fff8e1; color: #f57f17;
}
.type-translation[data-v-2ef6f239] { background: #e0f7fa; color: #00838f;
}
.type-writing[data-v-2ef6f239] { background: #fbe9e7; color: #bf360c;
}
.topbar-sep[data-v-2ef6f239] { color: #d0d5e0; font-size: 14px;
}
.topbar-id[data-v-2ef6f239] { color: #7a7f8f; font-size: 13px; font-weight: 500;
}
.type-edit-btn[data-v-2ef6f239] { margin-left: 4px;
}
.topbar-right[data-v-2ef6f239] {
      display: flex;
      align-items: center;
      gap: 8px;
}
.diff-tag[data-v-2ef6f239] { text-transform: uppercase; letter-spacing: 0.3px;
}
.topbar-subject[data-v-2ef6f239] { font-size: 13px; color: #303133; font-weight: 500;
}
.topbar-school[data-v-2ef6f239] { font-size: 13px; color: #606266;
}
}
.preview-meta-grid {
&[data-v-2ef6f239] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    padding: 12px 16px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #ebeef5;
}
.meta-item {
&[data-v-2ef6f239] {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 6px 8px;
      background: #f8f9fc;
      border-radius: 6px;
      font-size: 12px;
}
.meta-icon[data-v-2ef6f239] {
        color: #909399;
        display: flex;
        align-items: center;
        flex-shrink: 0;
}
.meta-label[data-v-2ef6f239] {
        color: #909399;
        font-weight: 500;
        flex-shrink: 0;
}
.meta-value[data-v-2ef6f239] {
        color: #303133;
        font-weight: 500;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
}
.diff-score[data-v-2ef6f239] {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 11px;
}
.diff-score-bar[data-v-2ef6f239] {
        width: 40px;
        height: 5px;
        background: #e8eaed;
        border-radius: 3px;
        overflow: hidden;
        display: inline-block;
}
.diff-score-fill[data-v-2ef6f239] {
        display: block;
        height: 100%;
        background: linear-gradient(90deg, #67c23a, #e6a23c, #f56c6c);
        border-radius: 3px;
        transition: width 0.3s;
}
}
}
.preview-tags-section {
&[data-v-2ef6f239] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 16px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #ebeef5;

    /* 章节知识点编辑表单 */
}
.tag-group[data-v-2ef6f239] {
      display: flex;
      align-items: flex-start;
      gap: 10px;
}
.tag-group-label[data-v-2ef6f239] {
      flex-shrink: 0;
      font-size: 12px;
      font-weight: 600;
      color: #606266;
      line-height: 24px;
      min-width: 42px;
}
.tag-list[data-v-2ef6f239] {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
}
.kp-tag[data-v-2ef6f239] {
      background: #ecf5ff;
      color: #2c6fbb;
      border-color: #d4e4ff;
      border-radius: 4px;
      font-size: 12px;
}
.kw-tag[data-v-2ef6f239] {
      background: #fef0f0;
      color: #c43e3e;
      border-color: #fde2e2;
      border-radius: 4px;
      font-size: 12px;
}
.kp-empty[data-v-2ef6f239] {
      font-size: 12px;
      color: #909399;
      line-height: 22px;
}
.kp-edit-btn[data-v-2ef6f239] {
      margin-left: 6px;
      flex-shrink: 0;
}
.chapter-kp-editor {
&[data-v-2ef6f239] {
      display: flex;
      flex-direction: column;
      gap: 10px;
      padding: 10px 12px;
      background: #f7f9fd;
      border: 1px dashed #c6d3ee;
      border-radius: 8px;
}
.editor-title[data-v-2ef6f239] {
        display: flex;
        align-items: center;
        gap: 10px;
}
.editor-hint[data-v-2ef6f239] {
        font-size: 12px;
        color: #909399;
}
.editor-row[data-v-2ef6f239] {
        display: flex;
        align-items: center;
        gap: 8px;
}
.editor-label[data-v-2ef6f239] {
        flex-shrink: 0;
        width: 52px;
        font-size: 12px;
        font-weight: 600;
        color: #606266;
}
.editor-kp-select[data-v-2ef6f239] {
        flex: 1;
        min-width: 0;
}
.editor-actions[data-v-2ef6f239] {
        display: flex;
        justify-content: flex-end;
        gap: 8px;
}
}
}
.preview-content-card {
&[data-v-2ef6f239] {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #ebeef5;
    overflow: hidden;
}
.content-card-header {
&[data-v-2ef6f239] {
      display: flex;
      align-items: center;
      gap: 7px;
      padding: 10px 16px;
      font-size: 14px;
      font-weight: 600;
      color: #303133;
      background: #fafbfc;
      border-bottom: 1px solid #ebeef5;
}
svg[data-v-2ef6f239] { color: #409eff;
}
}
.content-card-body[data-v-2ef6f239] {
      padding: 14px 16px;
}
}
.content-block {
&[data-v-2ef6f239] {
    margin-bottom: 14px;
    /* 板块标题行内的「修改」按钮右对齐（与其后 AI修复 按钮保持在同一行右侧） */
}
&[data-v-2ef6f239]:last-child { margin-bottom: 0;
}
.block-label {
&[data-v-2ef6f239] {
      display: flex;
      align-items: center;
      gap: 5px;
      font-size: 12px;
      font-weight: 600;
      color: #606266;
      margin-bottom: 6px;
      padding-left: 8px;
      border-left: 3px solid #409eff;
      line-height: 1.4;
}
svg[data-v-2ef6f239] { color: #909399;
}
}
.block-body[data-v-2ef6f239] {
      font-size: 13px;
      line-height: 1.8;
      color: #303133;
      padding: 10px 12px;
      background: #f8f9fc;
      border-radius: 8px;
}
.stem-text[data-v-2ef6f239] {
      font-size: 14px;
      font-weight: 500;
      color: #1a1a2e;
      padding: 12px 14px;
      background: #f5f7ff;
      border-radius: 8px;
      border: 1px solid #e8ecf4;
}
.block-label .blk-edit-btn[data-v-2ef6f239] { margin-left: auto;
}
.options-block .options-repair-btn[data-v-2ef6f239] { margin-left: auto;
}
.content-card-header .study-aids-repair-btn[data-v-2ef6f239] { margin-left: auto;
}
.content-card-header .quality-check-btn {
&[data-v-2ef6f239] {
      margin-left: auto;
      font-weight: 600;
      color: #409eff;
}
&[data-v-2ef6f239]:hover { color: #66b1ff;
}
}
.content-card-header .full-repair-btn {
&[data-v-2ef6f239] {
      margin-left: auto;
      font-weight: 600;
      color: #f56c6c;
}
&[data-v-2ef6f239]:hover { color: #f78989;
}
}
}
.passage-block .block-body[data-v-2ef6f239] {
    background: #fafaf5;
    border-left: 3px solid #c9b99a;
    padding: 14px 16px;
    font-size: 13.5px;
    line-height: 2;
}
.options-grid {
&[data-v-2ef6f239] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
&.mini[data-v-2ef6f239] { grid-template-columns: 1fr;
}
.option-card {
&[data-v-2ef6f239] {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 10px 12px;
      border: 1px solid #ebeef5;
      border-radius: 8px;
      background: #fff;
      transition: all 0.2s;
}
&[data-v-2ef6f239]:hover { border-color: #c0c4cc;
}
&.is-correct {
&[data-v-2ef6f239] {
        background: #f0f9eb;
        border-color: #95d475;
        box-shadow: 0 0 0 1px #95d475;
}
.option-letter[data-v-2ef6f239] { color: #67c23a; font-weight: 700;
}
}
.option-radio {
&[data-v-2ef6f239] {
        width: 16px;
        height: 16px;
        border-radius: 50%;
        border: 2px solid #d0d5dd;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        transition: all 0.2s;
}
&.checked[data-v-2ef6f239] {
          border-color: #67c23a;
          background: #67c23a;
}
.radio-dot[data-v-2ef6f239] {
          width: 5px;
          height: 5px;
          background: #fff;
          border-radius: 50%;
}
}
.option-letter[data-v-2ef6f239] {
        font-weight: 600;
        color: #606266;
        font-size: 13px;
        flex-shrink: 0;
}
.option-text[data-v-2ef6f239] {
        flex: 1;
        min-width: 0;
        font-size: 13px;
        line-height: 1.5;
        color: #303133;
}
.option-correct-check[data-v-2ef6f239] {
        color: #67c23a;
        font-size: 15px;
        flex-shrink: 0;
}
}
}
.answer-block {
.block-label[data-v-2ef6f239] { border-left-color: #e6a23c;
}
.answer-value[data-v-2ef6f239] {
      display: block;
      width: fit-content;
      max-width: 100%;
      padding: 5px 14px;
      background: #fff8e1;
      border: 1px solid #ffe58f;
      border-radius: 6px;
      color: #e65100;
      font-weight: 600;
      font-size: 13px;
      line-height: 1.6;
      overflow-wrap: break-word;
}
.answer-placeholder[data-v-2ef6f239] {
      font-size: 12.5px;
      color: #909399;
      line-height: 1.7;
      padding: 8px 12px;
      background: #fafaf5;
      border: 1px dashed #e0d9c8;
      border-radius: 6px;
}
&.mini .answer-value[data-v-2ef6f239] {
      font-size: 12px;
      padding: 3px 10px;
}
}
.analysis-block .block-label[data-v-2ef6f239] { border-left-color: #409eff;
}
.analysis-block .block-body[data-v-2ef6f239] {
    background: #f5f8ff;
    border: 1px solid #e0e8f5;
}
.mistake-block .block-body[data-v-2ef6f239] {
    background: #fef5f5;
    border: 1px solid #fbe2e2;
}
.aid-steps-label[data-v-2ef6f239] { border-left-color: #67c23a !important;
}
.aid-mistake-label[data-v-2ef6f239] { border-left-color: #f56c6c !important;
}
.aid-tip-label[data-v-2ef6f239] { border-left-color: #e6a23c !important;
}
.aid-knowledge-label[data-v-2ef6f239] { border-left-color: #909399 !important;
}
.aid-block .block-body[data-v-2ef6f239] {
    background: #fafafa;
}
.child-batch-bar[data-v-2ef6f239] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}
.child-select-cb[data-v-2ef6f239] {
    margin-right: 2px;
    flex-shrink: 0;
}
.child-card-new {
&[data-v-2ef6f239] {
    background: #fafbfc;
    border: 1px solid #ebedf0;
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 10px;
    transition: box-shadow 0.2s, border-color 0.2s, background 0.2s;

    /* 子题内容区固定高度 + 滚动条，便于查看全部板块 */

    /* 子题学习辅助（解题步骤/解题技巧/知识点说明）聚合卡片 */
}
&[data-v-2ef6f239]:hover {
      box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
&[data-v-2ef6f239]:last-child { margin-bottom: 0;
}
&.child-selected[data-v-2ef6f239] {
      border-color: #409eff;
      background: #f0f7ff;
      box-shadow: 0 0 0 1px #409eff;
}
.child-header {
&[data-v-2ef6f239] {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 10px;
      padding-bottom: 8px;
      border-bottom: 1px dashed #e8eaed;
}
.child-num[data-v-2ef6f239] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        background: #409eff;
        color: #fff;
        border-radius: 6px;
        font-size: 12px;
        font-weight: 700;
}
.child-type-tag[data-v-2ef6f239] {
        background: #f0f5ff;
        color: #2c6fbb;
        border: none;
        border-radius: 4px;
        font-size: 12px;
}
.child-status[data-v-2ef6f239] {
        margin-left: auto;
        display: flex;
        align-items: center;
        gap: 8px;
}
}
.child-body-scroll {
&[data-v-2ef6f239] {
      max-height: 340px;
      overflow-y: auto;
      padding-right: 4px;
}
&[data-v-2ef6f239]::-webkit-scrollbar { width: 6px;
}
&[data-v-2ef6f239]::-webkit-scrollbar-thumb { background: #d0d4da; border-radius: 3px;
}
&[data-v-2ef6f239]::-webkit-scrollbar-thumb:hover { background: #b6bcc6;
}
}
.child-aid-card {
&[data-v-2ef6f239] {
      margin-bottom: 10px;
      border: 1px solid #eef0f3;
      border-radius: 8px;
      padding: 6px 10px 2px;
      background: #fcfdff;
}
.aid-label {
&[data-v-2ef6f239] {
        color: #5a6b85;
        display: flex;
        align-items: center;
        gap: 4px;
}
svg[data-v-2ef6f239] { color: #67a06b;
}
}
}
.content-block {
&[data-v-2ef6f239] {
      margin-bottom: 10px;
}
&[data-v-2ef6f239]:last-child { margin-bottom: 0;
}
.block-body[data-v-2ef6f239] {
        padding: 8px 10px;
        font-size: 12.5px;
}
}
}
.articles-gen-btn[data-v-2ef6f239] { margin-left: auto;
}
.article-card-new {
&[data-v-2ef6f239] {
    background: #fafaf5;
    border: 1px solid #e8e4d9;
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 10px;
}
&[data-v-2ef6f239]:last-child { margin-bottom: 0;
}
.article-header-new {
&[data-v-2ef6f239] {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 6px;
}
.article-badge[data-v-2ef6f239] {
        display: inline-flex;
        align-items: center;
        padding: 2px 10px;
        background: #c9b99a;
        color: #fff;
        border-radius: 4px;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.5px;
}
.article-meta[data-v-2ef6f239] {
        font-size: 11px;
        color: #909399;
}
}
.article-title-bar {
&[data-v-2ef6f239] {
      margin-bottom: 10px;
      padding-bottom: 8px;
      border-bottom: 1px dashed #ddd8cc;
}
.article-title[data-v-2ef6f239] {
        font-size: 15px;
        font-weight: 600;
        color: #303133;
}
.article-author[data-v-2ef6f239] {
        font-size: 13px;
        color: #909399;
        margin-left: 6px;
}
}
.highlights-block .block-label[data-v-2ef6f239] {
      border-left-color: #c9b99a;
}
}
.rich-text {
[data-v-2ef6f239] img { max-width: 100%; height: auto; border-radius: 4px;
}
[data-v-2ef6f239] table { max-width: 100%; border-collapse: collapse; margin: 8px 0;
}
[data-v-2ef6f239] td,[data-v-2ef6f239] th { border: 1px solid #e0e0e0; padding: 6px 10px;
}
[data-v-2ef6f239] .katex { font-size: 1.05em;
}
[data-v-2ef6f239] .math-inline { display: inline;
}
[data-v-2ef6f239] .math-display { display: block; text-align: center; margin: 8px 0;
}
}
.preview-footer {
&[data-v-2ef6f239] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
&.has-nav[data-v-2ef6f239] { justify-content: space-between;
}
.preview-jump {
&[data-v-2ef6f239] {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-right: auto;
}
.jump-label[data-v-2ef6f239] {
        font-size: 13px;
        color: #606266;
        white-space: nowrap;
}
}
.preview-nav {
&[data-v-2ef6f239] {
      display: flex;
      align-items: center;
      gap: 10px;
}
.preview-nav-count[data-v-2ef6f239] {
        min-width: 52px;
        text-align: center;
        font-size: 13px;
        font-weight: 500;
        color: #606266;
}
}
}
}

/* =============================
   解析质量检查弹窗
   ============================= */
.quality-check-dialog {
[data-v-2ef6f239] .el-dialog__body {
    padding: 16px 20px;
    max-height: calc(90vh - 140px);
    overflow-y: auto;
}
.quality-check-body[data-v-2ef6f239] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.qc-summary {
&[data-v-2ef6f239] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 13.5px;
    line-height: 1.6;
}
&.qc-ok[data-v-2ef6f239] { background: #f0f9eb; border: 1px solid #d9f0cf; color: #276d36;
}
&.qc-warn[data-v-2ef6f239] { background: #fef7f0; border: 1px solid #fbe2d5; color: #9a3a00;
}
.qc-summary-icon[data-v-2ef6f239] { font-size: 16px; flex-shrink: 0; margin-top: 1px;
}
.qc-summary-text[data-v-2ef6f239] { flex: 1;
}
}
.qc-issues[data-v-2ef6f239] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.qc-issue {
&[data-v-2ef6f239] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
    background: #fff;
    border-radius: 6px;
    font-size: 13px;
    line-height: 1.6;
    border-left: 3px solid transparent;
}
&.is-error[data-v-2ef6f239] { border-left-color: #f56c6c; background: #fef5f5;
}
&.is-warning[data-v-2ef6f239] { border-left-color: #e6a23c; background: #fdf6ec;
}
.qc-issue-fields[data-v-2ef6f239] {
      flex-shrink: 0;
      font-size: 12px;
      color: #606266;
      min-width: 120px;
      line-height: 1.5;
}
.qc-issue-desc[data-v-2ef6f239] { flex: 1; overflow-wrap: break-word; color: #303133;
}
}
.qc-actions {
&[data-v-2ef6f239] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: #fef7f0;
    border: 1px solid #fbe2d5;
    border-radius: 8px;
}
.qc-tip[data-v-2ef6f239] {
      font-size: 12px;
      color: #909399;
      line-height: 1.6;
}
}
.qc-result {
&[data-v-2ef6f239] {
    border-radius: 8px;
    padding: 12px 14px;
    background: #f0f9eb;
    border: 1px solid #d9f0cf;
}
.sr-result-head[data-v-2ef6f239] {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 13.5px;
      font-weight: 600;
      color: #276d36;
}
.sr-result-icon[data-v-2ef6f239] { font-size: 15px;
}
}
}

/* =============================
   题干 / 阅读材料 AI 修复弹窗（共用 .sr-* 样式）
   ============================= */
.stem-repair-dialog,
.passage-repair-dialog {
[data-v-2ef6f239] .el-dialog__body {
    padding: 16px 20px;
    max-height: calc(90vh - 140px);
    overflow-y: auto;
}
.sr-body[data-v-2ef6f239] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 120px;
}
.sr-block {
.sr-label[data-v-2ef6f239] {
      font-size: 12px;
      font-weight: 600;
      color: #606266;
      margin-bottom: 6px;
      padding-left: 8px;
      border-left: 3px solid #409eff;
}
.sr-stem[data-v-2ef6f239] {
      font-size: 14px;
      line-height: 1.8;
      color: #1a1a2e;
      padding: 12px 14px;
      background: #f5f7ff;
      border: 1px solid #e8ecf4;
      border-radius: 8px;
      overflow-wrap: break-word;
}
}
.sr-actions {
&[data-v-2ef6f239] {
    display: flex;
    align-items: center;
    gap: 10px;
}
.sr-tip[data-v-2ef6f239] {
      font-size: 12px;
      color: #909399;
      line-height: 1.6;
}
}
.sr-result {
&[data-v-2ef6f239] {
    border-radius: 8px;
    padding: 12px 14px;
}
&.has-issues[data-v-2ef6f239] { background: #fef7f0; border: 1px solid #fbe2d5;
}
&.no-issues[data-v-2ef6f239] { background: #f0f9eb; border: 1px solid #d9f0cf;
}
&.fixed-result[data-v-2ef6f239] { background: #f5f8ff; border: 1px solid #e0e8f5;
}
.sr-result-head[data-v-2ef6f239] {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 13.5px;
      font-weight: 600;
      color: #303133;
}
.sr-result-icon[data-v-2ef6f239] { font-size: 15px;
}
.sr-issues {
&[data-v-2ef6f239] {
      margin-top: 10px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      /* 错误内容指示：原文 vs 建议修改 */
}
.sr-issue {
&[data-v-2ef6f239] {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        padding: 8px 10px;
        background: #fff;
        border-radius: 6px;
        font-size: 13px;
        line-height: 1.6;
        color: #303133;
}
&.is-error[data-v-2ef6f239] { border-left: 3px solid #f56c6c;
}
&.is-warning[data-v-2ef6f239] { border-left: 3px solid #e6a23c;
}
}
.sr-issue-body[data-v-2ef6f239] { flex: 1; min-width: 0;
}
.sr-issue-desc[data-v-2ef6f239] { overflow-wrap: break-word;
}
.sr-issue-field[data-v-2ef6f239] {
        display: inline-block;
        margin-right: 4px;
        padding: 0 5px;
        font-size: 11.5px;
        color: #606266;
        background: #f2f3f7;
        border-radius: 3px;
}
.sr-issue-loc[data-v-2ef6f239] { color: #909399;
}
.sr-issue-diff {
&[data-v-2ef6f239] {
        margin-top: 6px;
        padding: 6px 8px;
        background: #fafbfd;
        border: 1px dashed #e4e7ed;
        border-radius: 5px;
}
.sr-diff-row {
&[data-v-2ef6f239] {
          display: flex;
          align-items: flex-start;
          gap: 6px;
          font-size: 12.5px;
          line-height: 1.7;
}
& + .sr-diff-row[data-v-2ef6f239] { margin-top: 4px;
}
}
.sr-diff-tag {
&[data-v-2ef6f239] {
          flex: none;
          padding: 0 5px;
          border-radius: 3px;
          font-size: 11.5px;
          line-height: 18px;
}
&.bad[data-v-2ef6f239] { color: #f56c6c; background: #fef0f0;
}
&.good[data-v-2ef6f239] { color: #67c23a; background: #f0f9eb;
}
}
.sr-diff-text[data-v-2ef6f239] { flex: 1; min-width: 0; overflow-wrap: break-word;
}
.sr-diff-bad[data-v-2ef6f239] { color: #c45656; text-decoration: line-through; text-decoration-color: #f0a0a0;
}
.sr-diff-good[data-v-2ef6f239] { color: #529b2e;
}
}
}
.sr-summary[data-v-2ef6f239] {
      margin-top: 10px;
      font-size: 12.5px;
      color: #909399;
      line-height: 1.7;
}
}
.sr-fixed-stem,
  .sr-fixed-block {
&[data-v-2ef6f239] {
    margin-top: 12px;
}
.sr-label[data-v-2ef6f239] {
      font-size: 12px;
      font-weight: 600;
      color: #606266;
      margin-bottom: 6px;
      padding-left: 8px;
      border-left: 3px solid #67c23a;
}
.sr-stem[data-v-2ef6f239] {
      font-size: 14px;
      line-height: 1.8;
      color: #1a1a2e;
      padding: 12px 14px;
      background: #f0f9eb;
      border: 1px solid #d9f0cf;
      border-radius: 8px;
      overflow-wrap: break-word;
}
}
}

/* =============================
   板块内容手动修改弹窗
   ============================= */
.field-edit-dialog {
&[data-v-2ef6f239] {

  /* 源码模式：等宽字体便于核对 HTML */

  /* 材料整篇排版（字号 / 行间距）设置行 */

  /* 纯文本文章的排版预览（v-html 注入，节点不带 scoped 属性，样式需 :deep） */
}
[data-v-2ef6f239] .el-dialog__body {
    padding: 16px 20px;
    max-height: calc(90vh - 140px);
    overflow-y: auto;
}
.field-edit-body[data-v-2ef6f239] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.fe-hint[data-v-2ef6f239] {
    font-size: 12px;
    color: #909399;
    line-height: 1.6;
    background: #f5f7ff;
    border: 1px solid #e8ecf4;
    border-radius: 6px;
    padding: 8px 10px;
}
.fe-mode[data-v-2ef6f239] {
    align-self: flex-start;
}
.fe-typography[data-v-2ef6f239] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: #fafbfc;
    border: 1px solid #ebeef5;
    border-radius: 6px;
}
.fe-typo-label[data-v-2ef6f239] {
    font-size: 12px;
    font-weight: 600;
    color: #606266;
}
.fe-typo-select[data-v-2ef6f239] {
    width: 116px;
}
.fe-typo-tip[data-v-2ef6f239] {
    flex: 1 1 240px;
    font-size: 12px;
    line-height: 1.5;
    color: #909399;
}
.fe-source[data-v-2ef6f239] .el-textarea__inner {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
    line-height: 1.6;
}
.fe-preview[data-v-2ef6f239] {
    border: 1px solid #ebeef5;
    border-radius: 6px;
    overflow: hidden;
}
.fe-preview-title[data-v-2ef6f239] {
    padding: 6px 10px;
    font-size: 12px;
    color: #606266;
    background: #fafbfc;
    border-bottom: 1px solid #ebeef5;
}
.fe-preview-body[data-v-2ef6f239] {
    padding: 10px 12px;
    background: #fafaf5;
    font-size: 13.5px;
    line-height: 1.9;
    color: #303133;
}
.fe-preview-body[data-v-2ef6f239] .fe-para {
    text-indent: 2em;
    margin: 0 0 0.6em;
}
.fe-preview-body[data-v-2ef6f239] .fe-para:last-child {
    margin-bottom: 0;
}
.fe-preview-body[data-v-2ef6f239] .fe-blank {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    margin: 0 2px;
    vertical-align: bottom;
}
.fe-preview-body[data-v-2ef6f239] .fe-blank-num {
    font-weight: 600;
    font-size: 11px;
    line-height: 1.15;
    /* 段落 text-indent:2em 会继承到块级元素，把题号推到横线右侧，必须归零 */
    text-indent: 0;
}
.fe-preview-body[data-v-2ef6f239] .fe-blank-line {
    display: block;
    width: 2.4em;
    border-bottom: 1.5px solid #909399;
    height: 0.6em;
}
.fe-qtype[data-v-2ef6f239] {
    font-size: 12px;
    color: #909399;
}
}

/* =============================
   子题选项修改弹窗
   ============================= */
.options-edit-dialog {
[data-v-2ef6f239] .el-dialog__body {
    padding: 16px 20px;
    max-height: calc(90vh - 140px);
    overflow-y: auto;
}
.options-edit-body[data-v-2ef6f239] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.oe-hint[data-v-2ef6f239] {
    font-size: 12px;
    color: #909399;
    line-height: 1.6;
    background: #f5f7ff;
    border: 1px solid #e8ecf4;
    border-radius: 6px;
    padding: 8px 10px;
}
.oe-row {
&[data-v-2ef6f239] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px;
    background: #fafbfc;
    border: 1px solid #eef0f3;
    border-radius: 8px;
}
&.is-correct-row[data-v-2ef6f239] {
      background: #f0f9eb;
      border-color: #d9f0cf;
}
.oe-correct-cb[data-v-2ef6f239] {
      flex-shrink: 0;
      margin-top: 14px;
}
.oe-letter[data-v-2ef6f239] {
      flex-shrink: 0;
      font-weight: 700;
      color: #606266;
      font-size: 13px;
      line-height: 20px;
      margin-top: 16px;
      width: 18px;
}
.oe-editor[data-v-2ef6f239] {
      flex: 1;
      min-width: 0;
}
}
.oe-actions[data-v-2ef6f239] {
    display: flex;
    justify-content: flex-end;
}
}

.page-container[data-v-996aad1e] { padding: 16px 20px 28px;
}
.page-header[data-v-996aad1e] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px;
}
.page-header h2[data-v-996aad1e] { margin: 0; font-size: 18px;
}
.cat-tabs[data-v-996aad1e] { margin-bottom: 12px;
}
.gen-layout[data-v-996aad1e] { display: flex; gap: 14px; align-items: stretch; min-height: 60vh; overflow-x: auto; max-width: 1440px; margin: 0 auto;
}
.school-layout .col-school[data-v-996aad1e] { flex: 0 0 180px; max-width: 180px;
}
.col[data-v-996aad1e] { background: #fff; border: 1px solid #ebeef5; border-radius: 8px; padding: 12px; display: flex; flex-direction: column;
}
.col-subject[data-v-996aad1e] { flex: 0 0 200px; max-width: 200px;
}
.col-chapter[data-v-996aad1e] { flex: 0 0 260px; max-width: 260px;
}
.col-kp[data-v-996aad1e] { flex: 0 0 300px; max-width: 300px;
}
.col-questions[data-v-996aad1e] { flex: 0 0 400px; max-width: 400px;
}
.col-title[data-v-996aad1e] { font-size: 13px; font-weight: 600; color: #303133; margin-bottom: 8px; display: flex; align-items: center; justify-content: space-between;
}
.col-filter[data-v-996aad1e] { display: flex; align-items: center; margin-bottom: 8px;
}
.col-search[data-v-996aad1e] { margin-bottom: 8px;
}
.needs-complete-filter[data-v-996aad1e] { margin-left: 12px;
}
.col-scroll[data-v-996aad1e] { flex: 1; overflow-y: auto; max-height: 62vh; padding-right: 4px;
}
.list-item[data-v-996aad1e] { padding: 9px 12px; border-radius: 6px; cursor: pointer; font-size: 14px; color: #303133; margin-bottom: 4px; display: flex; align-items: center; justify-content: space-between; gap: 6px;
}
.list-item[data-v-996aad1e]:hover { background: #f5f7fa;
}
.list-item.active[data-v-996aad1e] { background: #ecf5ff; color: #409eff; font-weight: 600;
}
.tree-node[data-v-996aad1e] { margin-bottom: 2px;
}
.tree-row[data-v-996aad1e] { display: flex; align-items: center; gap: 6px; padding: 8px 10px; border-radius: 6px; cursor: pointer; font-size: 14px;
}
.tree-row[data-v-996aad1e]:hover { background: #f5f7fa;
}
.tree-row.active[data-v-996aad1e] { background: #ecf5ff; color: #409eff; font-weight: 600;
}
.tree-arrow[data-v-996aad1e] { transition: transform 0.2s; color: #909399;
}
.tree-arrow.rotated[data-v-996aad1e] { transform: rotate(90deg);
}
.chapter-row[data-v-996aad1e] { font-weight: 500;
}
.section-row[data-v-996aad1e] { padding-left: 34px; font-size: 13px; color: #606266;
}
.tree-children[data-v-996aad1e] { background: #fafafa; border-radius: 6px; margin: 2px 0 4px;
}
.tree-empty[data-v-996aad1e] { padding: 6px 34px; color: #c0c4cc; font-size: 12px;
}
.tree-name[data-v-996aad1e] { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.kp-scroll[data-v-996aad1e] { margin-bottom: 12px;
}
.kp-card[data-v-996aad1e] { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 8px; cursor: pointer; background: #fff; border: 1px solid #ebeef5; margin-bottom: 8px; transition: all 0.15s;
}
.kp-card[data-v-996aad1e]:hover { border-color: #c6e2ff; background: #f5faff;
}
.kp-card.active[data-v-996aad1e] { border-color: #409eff; background: #ecf5ff; box-shadow: 0 0 0 2px rgba(64,158,255,0.12);
}
.kp-index[data-v-996aad1e] { flex: 0 0 22px; height: 22px; line-height: 22px; text-align: center; border-radius: 50%; background: #f0f2f5; color: #909399; font-size: 12px; font-weight: 600;
}
.kp-card.active .kp-index[data-v-996aad1e] { background: #409eff; color: #fff;
}
.kp-main[data-v-996aad1e] { flex: 1; min-width: 0;
}
.kp-name[data-v-996aad1e] { font-size: 14px; color: #303133; font-weight: 500; overflow-wrap: break-word; word-break: break-word; line-height: 1.4;
}
.kp-card.active .kp-name[data-v-996aad1e] { color: #409eff;
}
.kp-sub[data-v-996aad1e] { font-size: 12px; color: #909399; margin-top: 2px; overflow-wrap: break-word; word-break: break-word; line-height: 1.4;
}
.kp-count[data-v-996aad1e] { flex: 0 0 auto; font-size: 12px; line-height: 1; color: #409eff; background: #ecf5ff; border: 1px solid #d9ecff; border-radius: 10px; padding: 3px 8px; white-space: nowrap;
}
.kp-count.zero[data-v-996aad1e] { color: #909399; background: #f4f4f5; border-color: #e9e9eb;
}
.kp-radio[data-v-996aad1e] { flex: 0 0 auto;
}
.gen-config[data-v-996aad1e] { border-top: 1px dashed #ebeef5; padding-top: 12px;
}
.config-row[data-v-996aad1e] { display: flex; align-items: center; gap: 12px; margin-bottom: 12px;
}
.config-row.column[data-v-996aad1e] { flex-direction: column; align-items: stretch; gap: 6px;
}
.config-row.column .config-label[data-v-996aad1e] { flex: none; margin-bottom: 0;
}
.config-label[data-v-996aad1e] { flex: 0 0 84px; font-size: 13px; color: #606266;
}
.config-tip[data-v-996aad1e] { font-size: 12px; color: #909399;
}
.gen-btn[data-v-996aad1e] { width: 100%; margin-top: 4px;
}
.hint[data-v-996aad1e] { font-size: 12px; color: #909399; margin-top: 6px; text-align: center;
}
.progress-wrap[data-v-996aad1e] { margin-top: 12px;
}
.progress-text[data-v-996aad1e] { margin-top: 6px; font-size: 13px; color: #606266;
}
.bank-btn[data-v-996aad1e] { width: 100%; margin-top: 12px;
}

/* 题目列 */
.loading-tip[data-v-996aad1e] { display: flex; align-items: center; gap: 6px; padding: 16px; color: #909399; font-size: 13px; justify-content: center;
}
.q-card[data-v-996aad1e] { background: #fafafa; border: 1px solid #ebeef5; border-radius: 6px; padding: 10px 12px; margin-bottom: 10px; cursor: grab;
}
.q-card[data-v-996aad1e]:active { cursor: grabbing;
}
.q-card[data-v-996aad1e]:hover { border-color: #c6e2ff;
}
.q-card.pinned[data-v-996aad1e] { border-color: #e6a23c; background: #fffbf0; box-shadow: 0 0 0 1px #e6a23c inset;
}
.q-card.q-card-selected[data-v-996aad1e] { border-color: #e6a23c; background: #fff7e6;
}
.q-select-check[data-v-996aad1e] { margin-right: 2px;
}
.q-index[data-v-996aad1e] { flex: 0 0 20px; height: 20px; line-height: 20px; text-align: center; border-radius: 50%; background: #f0f2f5; color: #909399; font-size: 12px; font-weight: 600; margin-right: 2px;
}
.q-card.pinned .q-index[data-v-996aad1e] { background: #fdf6ec; color: #e6a23c;
}
.q-batch-bar[data-v-996aad1e] { display: flex; flex-direction: column; gap: 8px; padding: 8px 4px 0; border-top: 1px solid #ebeef5; margin-top: 6px;
}
.q-batch-row[data-v-996aad1e] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.q-batch-row-solo[data-v-996aad1e] { padding-top: 2px;
}
.q-batch-count[data-v-996aad1e] { font-size: 12px; color: #909399;
}
.q-pinned-tag[data-v-996aad1e] { margin-left: auto;
}
.drop-target[data-v-996aad1e] { border-color: #409eff !important; background: #ecf5ff !important; box-shadow: 0 0 0 2px rgba(64,158,255,0.25);
}
.drag-hint[data-v-996aad1e] { font-size: 12px; color: #909399; margin-left: auto; font-weight: normal;
}
.q-head[data-v-996aad1e] { display: flex; gap: 6px; margin-bottom: 6px;
}
.q-content[data-v-996aad1e] { font-size: 13px; color: #303133; line-height: 1.5; max-height: 66px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
}
.q-foot[data-v-996aad1e] { display: flex; align-items: center; justify-content: space-between; margin-top: 6px;
}
.q-passage[data-v-996aad1e] { font-size: 12px; color: #5a5e66; line-height: 1.5; background: #f7f9fc; border-left: 3px solid #b3d8ff; border-radius: 4px; padding: 6px 8px; max-height: 54px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
}
.q-passage-tag[data-v-996aad1e] { display: inline-block; font-size: 11px; color: #409eff; background: #ecf5ff; border-radius: 3px; padding: 0 4px; margin-right: 5px;
}
.q-subcount[data-v-996aad1e] { margin-top: 5px; font-size: 12px; color: #909399;
}
.q-subcount b[data-v-996aad1e] { color: #409eff;
}
.passage-alert[data-v-996aad1e] { margin: 4px 0 10px;
}
.passage-alert-body[data-v-996aad1e] { font-size: 12px; line-height: 1.7;
}
.passage-spec-line b[data-v-996aad1e] { color: #409eff;
}
.passage-spec-line[data-v-996aad1e] .subcount-input { width: 92px; margin: 0 4px; vertical-align: middle;
}
.passage-spec-line[data-v-996aad1e] .subcount-input .el-input__inner { text-align: center;
}
.passage-spec-tip[data-v-996aad1e] { color: #909399; margin-top: 2px;
}
.q-id[data-v-996aad1e] { font-size: 12px; color: #909399;
}

/* 修改题目弹窗 */
.q-actions[data-v-996aad1e] { display: flex; align-items: center; gap: 6px;
}
.edit-dialog[data-v-996aad1e] .el-dialog__body { max-height: 68vh; overflow-y: auto; padding-top: 16px;
}
.edit-form-width[data-v-996aad1e] { width: 100%;
}
.edit-option-row[data-v-996aad1e] { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 8px;
}
.edit-option-editor[data-v-996aad1e] { flex: 1;
}
.sub-editor-header[data-v-996aad1e] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px;
}
.sub-editor-title[data-v-996aad1e] { font-size: 14px; font-weight: 600; color: #303133;
}
.child-edit-card[data-v-996aad1e] { border: 1px solid #ebeef5; border-radius: 6px; padding: 10px 12px; margin-bottom: 10px; background: #fafafa;
}
.child-edit-head[data-v-996aad1e] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; font-size: 13px; font-weight: 600; color: #606266;
}
.child-option-row[data-v-996aad1e] { display: flex; align-items: center; gap: 8px; margin-bottom: 8px;
}
.child-option-row[data-v-996aad1e] .el-input { flex: 1;
}
.child-opt-label[data-v-996aad1e] { font-weight: 600; flex: 0 0 20px; color: #606266;
}
.edit-tags[data-v-996aad1e] { display: flex; flex-wrap: wrap; gap: 6px;
}

/* 作文题卡片范文状态 */
.q-essay-tag[data-v-996aad1e] { margin-left: auto;
}

/* 修改弹窗：范文编辑板块 */
.example-articles-section[data-v-996aad1e] { width: 100%;
}
.articles-list[data-v-996aad1e] { width: 100%;
}
.article-card[data-v-996aad1e] { border: 1px solid #ebeef5; border-radius: 6px; padding: 10px 12px; margin-bottom: 10px; background: #fafafa;
}
.article-header[data-v-996aad1e] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; font-size: 13px; font-weight: 600; color: #606266;
}
.article-index[data-v-996aad1e] { color: #b58f3c;
}
.article-actions[data-v-996aad1e] { display: flex; align-items: center; gap: 8px;
}
.essay-tip[data-v-996aad1e] { margin-left: 10px; font-size: 12px; color: #909399;
}

.page-container[data-v-853cad4b] {
  padding: 20px;
}
.page-header[data-v-853cad4b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.page-header h2[data-v-853cad4b] {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
}
.cat-tabs[data-v-853cad4b] {
  margin-bottom: 12px;
}
.content-layout[data-v-853cad4b] {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.school-table-wrapper[data-v-853cad4b] {
  max-height: calc(100vh - 260px);
  overflow-y: auto;
}
.view-split-layout[data-v-853cad4b] {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.view-split-layout .view-left[data-v-853cad4b] {
  flex: 1;
  min-width: 0;
  max-height: 60vh;
  overflow-y: auto;
  padding-right: 8px;
}
.view-split-layout .view-right[data-v-853cad4b] {
  width: 420px;
  flex-shrink: 0;
  max-height: 60vh;
  overflow-y: auto;
}
.view-split-layout .view-right.edit-right-panel[data-v-853cad4b] {
  width: 520px;
}
.view-section-title[data-v-853cad4b] {
  font-size: 15px;
  font-weight: 600;
  color: #303133;
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 2px solid #409eff;
}
.view-section-subtitle[data-v-853cad4b] {
  font-size: 13px;
  font-weight: 600;
  color: #606266;
  margin-top: 12px;
  margin-bottom: 6px;
}
.view-json-block[data-v-853cad4b] {
  background: #f5f7fa;
  border-radius: 4px;
  padding: 10px;
  margin-bottom: 8px;
}
.view-json-block pre[data-v-853cad4b] {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-all;
  color: #606266;
}
.view-content-block[data-v-853cad4b] {
  font-size: 13px;
  line-height: 1.6;
  color: #303133;
  padding: 8px;
  background: #fafafa;
  border-radius: 4px;
  max-height: 300px;
  overflow-y: auto;
}
.left-panel[data-v-853cad4b] {
  width: 320px;
  flex-shrink: 0;
}
.right-panel[data-v-853cad4b] {
  flex: 1;
  min-width: 0;
}
.page-container[data-v-e4e75e62] {
  padding: 20px;
}
.page-header[data-v-e4e75e62] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.page-header h2[data-v-e4e75e62] {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
}
.page-header .header-actions[data-v-e4e75e62] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cat-tabs[data-v-e4e75e62] {
  margin-bottom: 12px;
}
.prompt-layout[data-v-e4e75e62] {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.subject-panel[data-v-e4e75e62] {
  flex: 0 0 280px;
  width: 280px;
  background: #fff;
  border: 1px solid #ebeef5;
  border-radius: 8px;
  padding: 12px;
  box-sizing: border-box;
}
.config-panel[data-v-e4e75e62] {
  flex: 1;
  min-width: 0;
}
.subject-scroll[data-v-e4e75e62] {
  max-height: calc(100vh - 220px);
  overflow-y: auto;
}
.subject-group[data-v-e4e75e62] {
  margin-bottom: 12px;
}
.subject-group__title[data-v-e4e75e62] {
  font-size: 12px;
  color: #909399;
  font-weight: 600;
  margin: 4px 0 6px;
}
.subject-item[data-v-e4e75e62] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.subject-item[data-v-e4e75e62]:hover {
  background: #f5f7fa;
}
.subject-item.is-active[data-v-e4e75e62] {
  background: #e8f3ff;
  color: #1d6fff;
  font-weight: 600;
}
.subject-item__name[data-v-e4e75e62] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.subject-item__badge[data-v-e4e75e62] {
  margin-left: 8px;
  flex: 0 0 auto;
}
.content-layout[data-v-e4e75e62] {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.left-panel[data-v-e4e75e62] {
  width: 320px;
  flex-shrink: 0;
}
.school-table-wrapper[data-v-e4e75e62] {
  max-height: calc(100vh - 260px);
  overflow-y: auto;
}
.right-panel[data-v-e4e75e62] {
  flex: 1;
  min-width: 0;
}
[data-v-e4e75e62] .is-selected-row {
  --el-table-row-hover-bg-color: #e8f3ff;
  background-color: #e8f3ff !important;
}
.page-container[data-v-a761a720] {
  padding: 20px;
}
.page-header[data-v-a761a720] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.page-header h2[data-v-a761a720] {
  margin: 0 0 4px;
  font-size: 20px;
  font-weight: 600;
}
.subtitle[data-v-a761a720] {
  margin: 0;
  font-size: 12px;
  color: #909399;
  max-width: 720px;
  line-height: 1.5;
}
.filter-card[data-v-a761a720] {
  margin-bottom: 12px;
}
.filter-card[data-v-a761a720] .el-form-item {
  margin-bottom: 0;
}
.code-text[data-v-a761a720] {
  font-family: monospace;
  background: #f5f7fa;
  padding: 1px 6px;
  border-radius: 3px;
  color: #303133;
}
.muted[data-v-a761a720] {
  color: #c0c4cc;
}
.field-editor[data-v-a761a720] {
  width: 100%;
  border: 1px dashed #dcdfe6;
  border-radius: 4px;
  padding: 10px;
}
.field-head[data-v-a761a720] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  font-size: 12px;
  color: #606266;
}
.field-row[data-v-a761a720] {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}
.field-empty[data-v-a761a720] {
  font-size: 12px;
  padding: 4px 0;
}
.page-container[data-v-6a4d6593] {
  padding: 20px;
}
.page-header[data-v-6a4d6593] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.page-header h2[data-v-6a4d6593] {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
}
.header-actions[data-v-6a4d6593] {
  display: flex;
  gap: 10px;
}
.filter-bar[data-v-6a4d6593] {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.pagination-wrap[data-v-6a4d6593] {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}
.text-muted[data-v-6a4d6593] {
  color: #999;
}
.form-help[data-v-6a4d6593] {
  font-size: 12px;
  color: #909399;
  margin-top: 2px;
}
.price-preview[data-v-6a4d6593] {
  font-size: 14px;
  color: #409EFF;
  font-weight: 600;
  padding-top: 4px;
}
.step-group[data-v-6a4d6593] {
  margin-bottom: 24px;
}
.step-group .step-group-header[data-v-6a4d6593] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.step-group .step-group-header h3[data-v-6a4d6593] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}
.test-success[data-v-6a4d6593],
.test-fail[data-v-6a4d6593] {
  margin-top: 12px;
}
.test-elapsed[data-v-6a4d6593] {
  margin-top: 8px;
  text-align: right;
  font-size: 13px;
  color: #999;
}.migration-layout[data-v-631fad55] {
  display: flex;
  gap: 16px;
  height: calc(100vh - 180px);
}
.panel[data-v-631fad55] {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.old-db-panel[data-v-631fad55] {
  width: 340px;
  min-width: 300px;
}
.question-panel[data-v-631fad55] {
  flex: 1;
  min-width: 0;
}
.new-db-panel[data-v-631fad55] {
  width: 280px;
  min-width: 240px;
}
.panel-header[data-v-631fad55] {
  padding: 14px 16px;
  border-bottom: 1px solid #f0f0f0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 14px;
  background: #fafafa;
}
.panel-header .el-tag[data-v-631fad55] {
  margin-left: auto;
}
.panel-body[data-v-631fad55] {
  padding: 16px;
  overflow-y: auto;
  flex: 1;
}
.field-group[data-v-631fad55] {
  margin-bottom: 16px;
}
.field-group label[data-v-631fad55] {
  display: block;
  font-size: 13px;
  color: #606266;
  margin-bottom: 6px;
  font-weight: 500;
}
.tree-box[data-v-631fad55] {
  border: 1px solid #ebeef5;
  border-radius: 4px;
  max-height: calc(100vh - 340px);
  overflow-y: auto;
}
.tree-box[data-v-631fad55] .el-tree-node__content {
  height: 32px;
}
.tree-node[data-v-631fad55] {
  display: flex;
  align-items: center;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.reading-material-card[data-v-631fad55] {
  margin: 0 16px 16px;
  border: 1px solid #e6a23c;
  border-radius: 8px;
  overflow: hidden;
}
.reading-material-card .rm-header[data-v-631fad55] {
  padding: 10px 14px;
  background: #fdf6ec;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 14px;
  color: #e6a23c;
  border-bottom: 1px solid #e6a23c;
}
.reading-material-card .rm-header .rm-title[data-v-631fad55] {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.reading-material-card .rm-content[data-v-631fad55] {
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.8;
  color: #303133;
  max-height: 200px;
  overflow-y: auto;
  background: #fffbe6;
  border-bottom: 1px solid #f0e6cc;
}
.reading-material-card .rm-questions[data-v-631fad55] {
  padding: 8px;
}
.question-card.nested[data-v-631fad55] {
  margin: 0 8px 8px;
  border-left: 3px solid #e6a23c;
}
.reading-material-card.selected[data-v-631fad55] {
  box-shadow: 0 0 0 2px #409eff;
  border-color: #409eff;
}
.reading-material-card.selected .rm-header[data-v-631fad55] {
  background: #ecf5ff;
  color: #409eff;
  border-bottom-color: #409eff;
}
.rm-tip[data-v-631fad55] {
  padding: 8px 14px;
  font-size: 12px;
  color: #409eff;
  background: #ecf5ff;
  border-top: 1px dashed #b3d8ff;
}
.question-list[data-v-631fad55] {
  padding: 0;
}
.question-tabs[data-v-631fad55] .el-tabs__header {
  margin: 0;
  padding: 0 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}
.question-tabs[data-v-631fad55] .el-tabs__nav-wrap::after {
  display: none;
}
.select-all-bar[data-v-631fad55] {
  padding: 10px 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}
.question-card[data-v-631fad55] {
  padding: 12px 16px;
  border-bottom: 1px solid #f5f5f5;
  cursor: pointer;
  transition: background 0.15s;
}
.question-card[data-v-631fad55]:hover {
  background: #f5f7fa;
}
.question-card.selected[data-v-631fad55] {
  background: #ecf5ff;
  border-left: 3px solid #409eff;
}
.question-card.imported[data-v-631fad55] {
  opacity: 0.6;
  cursor: not-allowed;
}
.q-header[data-v-631fad55] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.q-header .q-id[data-v-631fad55] {
  margin-left: auto;
  color: #909399;
  font-size: 12px;
}
.q-content[data-v-631fad55] {
  font-size: 14px;
  color: #303133;
  line-height: 1.6;
  margin-bottom: 6px;
  max-height: 80px;
  overflow: hidden;
  word-break: break-all;
}
.q-options[data-v-631fad55] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  color: #606266;
  margin-bottom: 4px;
}
.q-option-item[data-v-631fad55] {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.q-option-label[data-v-631fad55] {
  font-weight: 600;
  color: #303133;
  flex-shrink: 0;
}
.q-option-value[data-v-631fad55] {
  flex: 1;
  word-break: break-all;
}
.q-answer[data-v-631fad55] {
  font-size: 13px;
  color: #67c23a;
}
.pagination-bar[data-v-631fad55] {
  padding: 12px 16px;
  display: flex;
  justify-content: center;
  border-top: 1px solid #f0f0f0;
}
.empty-hint[data-v-631fad55],
.loading-box[data-v-631fad55] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 300px;
  color: #909399;
}
.empty-hint p[data-v-631fad55],
.loading-box p[data-v-631fad55] {
  margin-top: 12px;
  font-size: 14px;
}
.target-preview[data-v-631fad55] {
  margin-top: 8px;
}
.target-info[data-v-631fad55] {
  font-size: 13px;
  line-height: 2;
  color: #606266;
}
.hint-box[data-v-631fad55] {
  margin-top: 20px;
}
.import-confirm[data-v-631fad55] {
  font-size: 14px;
  line-height: 1.8;
}
.import-confirm ul[data-v-631fad55] {
  padding-left: 20px;
  margin: 8px 0;
}
.import-progress .progress-text[data-v-631fad55] {
  margin-top: 8px;
  font-size: 13px;
  color: #606266;
}
.skip-details[data-v-631fad55] {
  margin-top: 10px;
  max-height: 150px;
  overflow-y: auto;
  border: 1px solid #ebeef5;
  border-radius: 4px;
  padding: 8px 10px;
}
.skip-details .skip-title[data-v-631fad55] {
  font-size: 13px;
  font-weight: 600;
  color: #909399;
  margin-bottom: 6px;
}
.skip-details .skip-item[data-v-631fad55] {
  display: flex;
  gap: 8px;
  font-size: 12px;
  line-height: 1.8;
  color: #606266;
}
.skip-details .skip-item .skip-id[data-v-631fad55] {
  color: #909399;
  flex-shrink: 0;
}
.skip-details .skip-item .skip-reason[data-v-631fad55] {
  color: #e6a23c;
}
.header-actions[data-v-631fad55] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.text-muted[data-v-45c036f8] { color: #C0C4CC;
}
.form-tip[data-v-45c036f8] {
  margin-left: 8px;
  font-size: 12px;
  color: #909399;
}
.major-layout[data-v-45c036f8] {
  display: flex;
  gap: 16px;
  height: calc(100vh - 180px);
  min-height: 500px;
}
.category-panel[data-v-45c036f8] {
  width: 280px;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.major-panel[data-v-45c036f8] {
  flex: 1;
  background: #fff;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.panel-header[data-v-45c036f8] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--el-border-color-lighter);
  background: var(--el-fill-color-lighter);
}
.panel-title[data-v-45c036f8] {
  font-weight: 600;
  font-size: 14px;
}
.panel-actions[data-v-45c036f8] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.category-list[data-v-45c036f8] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}
.category-item[data-v-45c036f8] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-bottom: 4px;
}
.category-item[data-v-45c036f8]:hover {
  background: var(--el-fill-color-light);
}
.category-item.active[data-v-45c036f8] {
  background: var(--el-color-primary-light-9);
  color: var(--el-color-primary);
}
.category-info[data-v-45c036f8] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.category-name[data-v-45c036f8] {
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.category-actions[data-v-45c036f8] {
  display: flex;
  opacity: 0;
  transition: opacity 0.2s;
}
.category-item:hover .category-actions[data-v-45c036f8] {
  opacity: 1;
}
.major-toolbar[data-v-45c036f8] {
  display: flex;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--el-border-color-lighter);
  align-items: center;
}

.major-layout[data-v-94fd5157] {
  display: flex;
  gap: 16px;
  height: calc(100vh - 180px);
  min-height: 500px;
}
.category-panel[data-v-94fd5157] {
  width: 280px;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.major-panel[data-v-94fd5157] {
  flex: 1;
  background: #fff;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.panel-header[data-v-94fd5157] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--el-border-color-lighter);
  background: var(--el-fill-color-lighter);
}
.panel-title[data-v-94fd5157] {
  font-weight: 600;
  font-size: 14px;
}
.panel-actions[data-v-94fd5157] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.category-search[data-v-94fd5157] {
  padding: 8px;
  border-bottom: 1px solid var(--el-border-color-lighter);
}
.category-list[data-v-94fd5157] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}
.category-item[data-v-94fd5157] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-bottom: 4px;
}
.category-item[data-v-94fd5157]:hover {
  background: var(--el-fill-color-light);
}
.select-all-item[data-v-94fd5157] {
  border-bottom: 1px solid var(--el-border-color-lighter);
  margin-bottom: 8px;
  padding-bottom: 12px;
}
.category-item.active[data-v-94fd5157] {
  background: var(--el-color-primary-light-9);
  color: var(--el-color-primary);
}
.category-info[data-v-94fd5157] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.category-name[data-v-94fd5157] {
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.category-actions[data-v-94fd5157] {
  display: flex;
  opacity: 0;
  transition: opacity 0.2s;
}
.category-item:hover .category-actions[data-v-94fd5157] {
  opacity: 1;
}
.major-toolbar[data-v-94fd5157] {
  display: flex;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--el-border-color-lighter);
  align-items: center;
}


.mapping-container[data-v-422674c3] {
  display: flex;
  gap: 16px;
  height: calc(100vh - 180px);
  min-height: 500px;
}
.left-panel[data-v-422674c3] {
  width: 320px;
  flex-shrink: 0;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e4e7ed;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.right-panel[data-v-422674c3] {
  flex: 1;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e4e7ed;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.panel-header[data-v-422674c3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid #e4e7ed;
  font-weight: 500;
  background: #fafafa;
}
.search-box[data-v-422674c3] {
  padding: 12px;
  border-bottom: 1px solid #e4e7ed;
}
.major-list[data-v-422674c3] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}
.major-item[data-v-422674c3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s;
}
.major-item[data-v-422674c3]:hover {
  background: #f5f7fa;
}
.major-item.active[data-v-422674c3] {
  background: #ecf5ff;
  color: #409eff;
}
.major-name[data-v-422674c3] {
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mapping-list[data-v-422674c3] {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}
.mapping-grid[data-v-422674c3] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
  align-items: start;
}
.category-card[data-v-422674c3] {
  background: #f5f7fa;
  border-radius: 8px;
  border: 1px solid #e4e7ed;
  padding: 12px 16px;
}
.category-card[data-v-422674c3]:hover {
  border-color: #409eff;
}
.category-card-header[data-v-422674c3] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 8px;
  border-left: 3px solid #409eff;
  margin-bottom: 10px;
}
.category-card-name[data-v-422674c3] {
  flex: 1;
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
}
.category-card-body[data-v-422674c3] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.major-tag[data-v-422674c3] {
  max-width: 100%;
}
.major-tag--clickable[data-v-422674c3] {
  cursor: pointer;
}
.major-tag--clickable[data-v-422674c3]:hover {
  opacity: 0.75;
}
.empty-hint[data-v-422674c3] {
  font-size: 12px;
  color: #909399;
}

.sort-tip[data-v-bfab2c43] {
  background: #f0f9ff;
  border: 1px solid #d6e9ff;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 12px;
  color: #409eff;
  margin-bottom: 10px;
  line-height: 1.6;
}
.sort-body[data-v-bfab2c43] {
  max-height: 60vh;
  overflow-y: auto;
  padding: 2px;
}
.sort-group[data-v-bfab2c43] {
  margin-bottom: 14px;
}
.sort-group__head[data-v-bfab2c43] {
  font-size: 13px;
  font-weight: 600;
  color: #606266;
  padding: 4px 8px;
  border-left: 3px solid #409eff;
  margin-bottom: 6px;
}
.sort-row[data-v-bfab2c43] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px;
  border-bottom: 1px solid #f0f2f5;
}
.sort-row[data-v-bfab2c43]:hover {
  background: #f7f9fc;
}
.sort-row__idx[data-v-bfab2c43] {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #e8f1ff;
  color: #409eff;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sort-row__name[data-v-bfab2c43] {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  color: #303133;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sort-row__level[data-v-bfab2c43] {
  font-size: 12px;
  color: #909399;
}
.sort-row__ops[data-v-bfab2c43] {
  flex-shrink: 0;
}
.image-gallery[data-v-bfab2c43] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.image-item[data-v-bfab2c43] {
  position: relative;
  width: 120px;
  height: 80px;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid #e4e7ed;
  cursor: pointer;
  transition: all 0.2s;
}
.image-item[data-v-bfab2c43]:hover {
  border-color: #409eff;
}
.image-item.is-selected[data-v-bfab2c43] {
  border-color: #67c23a;
  box-shadow: 0 0 0 2px rgba(103, 194, 58, 0.3);
}
.image-type-tag[data-v-bfab2c43] {
  position: absolute;
  top: 4px;
  left: 4px;
  background: rgba(64, 158, 255, 0.85);
  color: #fff;
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 3px;
}
.image-source[data-v-bfab2c43] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 10px;
  text-align: center;
  padding: 1px 0;
}
.image-check-badge[data-v-bfab2c43] {
  position: absolute;
  top: 4px;
  right: 4px;
  background: #fff;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.image-hover-actions[data-v-bfab2c43] {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  opacity: 0;
  transition: opacity 0.2s;
}
.image-item:hover .image-hover-actions[data-v-bfab2c43] {
  opacity: 1;
}
.hover-action[data-v-bfab2c43] {
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  transition: background 0.2s;
}
.hover-action[data-v-bfab2c43]:hover {
  background: rgba(255, 255, 255, 0.4);
}
.hover-delete[data-v-bfab2c43]:hover {
  background: rgba(245, 108, 108, 0.6);
}
.candidate-item[data-v-bfab2c43] {
  cursor: pointer;
}
.candidate-item.already-added[data-v-bfab2c43] {
  opacity: 0.5;
  border-color: #67c23a;
}
.cover-preview[data-v-bfab2c43] {
  width: 160px;
  height: 100px;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  border: 1px solid #dcdfe6;
}
.cover-preview img[data-v-bfab2c43] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cover-overlay[data-v-bfab2c43] {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 13px;
  opacity: 0;
  transition: opacity 0.2s;
}
.cover-preview:hover .cover-overlay[data-v-bfab2c43] {
  opacity: 1;
}
.cover-upload-btn[data-v-bfab2c43] {
  width: 160px;
  height: 100px;
  border: 1px dashed #dcdfe6;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #909399;
  cursor: pointer;
  transition: border-color 0.2s;
}
.cover-upload-btn[data-v-bfab2c43]:hover {
  border-color: #409eff;
  color: #409eff;
}

.prev-edit-richtext[data-v-7d40cdca] {
  width: 100%;
}
.prev-edit-row[data-v-7d40cdca] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.prev-body[data-v-7d40cdca] {
  flex: 1;
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid var(--el-border-color);
  border-radius: 4px;
  background: var(--el-fill-color-lighter);
  cursor: pointer;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.prev-body[data-v-7d40cdca]:hover {
  border-color: var(--el-color-primary);
}
.prev-body.is-empty[data-v-7d40cdca] {
  color: var(--el-text-color-placeholder);
  font-style: italic;
}
.prev-edit-btn[data-v-7d40cdca] {
  flex-shrink: 0;
}

.prev-edit-list[data-v-721e7ba9] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.prev-edit-list__item .prev-edit-row[data-v-721e7ba9] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.prev-edit-list__item .prev-body[data-v-721e7ba9] {
  flex: 1;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid var(--el-border-color);
  border-radius: 4px;
  background: var(--el-fill-color-lighter);
  cursor: pointer;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.prev-edit-list__item .prev-body[data-v-721e7ba9]:hover {
  border-color: var(--el-color-primary);
}
.prev-edit-list__item .prev-body.is-empty[data-v-721e7ba9] {
  color: var(--el-text-color-placeholder);
  font-style: italic;
}
.prev-edit-list__item .prev-edit-btn[data-v-721e7ba9] {
  flex-shrink: 0;
}

.subject-chapter-page[data-v-8266d4fe] {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 60px);
  overflow: hidden;
  background: #f5f7fa;
}
.cat-tabs[data-v-8266d4fe] {
  margin-bottom: 16px;
  padding: 0 16px;
}
.chapter-layout[data-v-8266d4fe] {
  display: flex;
  gap: 16px;
  height: calc(100vh - 120px);
  padding: 0 16px 16px;
}
.subject-panel[data-v-8266d4fe],
.school-panel[data-v-8266d4fe] {
  width: 280px;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
}
.panel-header[data-v-8266d4fe] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-weight: 500;
  color: #303133;
  white-space: nowrap;
  overflow: hidden;
}
.panel-header .el-tag[data-v-8266d4fe] {
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.subject-scroll[data-v-8266d4fe],
.school-scroll[data-v-8266d4fe] {
  flex: 1;
  overflow-y: auto;
}
.subject-item[data-v-8266d4fe],
.school-item[data-v-8266d4fe] {
  padding: 10px 12px;
  cursor: pointer;
  border-radius: 6px;
  margin-bottom: 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s;
}
.subject-item[data-v-8266d4fe]:hover,
.school-item[data-v-8266d4fe]:hover {
  background: var(--el-color-primary-light-9);
}
.subject-item.is-active[data-v-8266d4fe],
.school-item.is-active[data-v-8266d4fe] {
  background: var(--el-color-primary-light-8);
  color: var(--el-color-primary);
  font-weight: 500;
}
.subject-item__name[data-v-8266d4fe],
.school-item__name[data-v-8266d4fe] {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.subject-item__actions[data-v-8266d4fe],
.school-item__actions[data-v-8266d4fe] {
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.2s;
}
.subject-item:hover .subject-item__actions[data-v-8266d4fe],
.subject-item:hover .school-item__actions[data-v-8266d4fe],
.school-item:hover .subject-item__actions[data-v-8266d4fe],
.school-item:hover .school-item__actions[data-v-8266d4fe] {
  opacity: 1;
}
.chapter-panel[data-v-8266d4fe] {
  flex: 1;
  background: #fff;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.panel-toolbar[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 16px;
  flex-shrink: 0;
}
.all-kp-btn[data-v-8266d4fe] {
  margin-right: auto;
}

/* 搜索结果 */
.search-results[data-v-8266d4fe] {
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  max-height: 300px;
  overflow-y: auto;
  margin-bottom: 16px;
}
.search-header[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  font-size: 13px;
  color: #909399;
  border-bottom: 1px solid #f0f0f0;
}
.search-item[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  cursor: pointer;
  transition: background 0.2s;
}
.search-item[data-v-8266d4fe]:hover {
  background: #f5f7fa;
}
.search-item-name[data-v-8266d4fe] {
  font-weight: 500;
}
.search-item-chapter[data-v-8266d4fe] {
  font-size: 12px;
  color: #909399;
}

/* 章节树 */
.chapter-tree[data-v-8266d4fe] {
  flex: 1;
  overflow-y: auto;
}
.chapter-list[data-v-8266d4fe] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.chapter-card[data-v-8266d4fe] {
  border: 1px solid #ebeef5;
  border-radius: 8px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.chapter-card[data-v-8266d4fe]:hover {
  border-color: #dcdfe6;
}
.chapter-card.expanded[data-v-8266d4fe] {
  border-color: #409eff;
  box-shadow: 0 2px 8px rgba(64, 158, 255, 0.1);
}
.chapter-header[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  gap: 8px;
}
.chapter-drag-handle[data-v-8266d4fe] {
  cursor: grab;
  color: #c0c4cc;
  padding: 4px;
}
.chapter-drag-handle[data-v-8266d4fe]:active {
  cursor: grabbing;
}
.chapter-title[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  cursor: pointer;
  min-width: 0;
}
.chapter-arrow[data-v-8266d4fe] {
  color: #c0c4cc;
  transition: transform 0.2s;
  flex-shrink: 0;
}
.chapter-arrow.rotated[data-v-8266d4fe] {
  transform: rotate(90deg);
}
.section-arrow[data-v-8266d4fe] {
  color: #c0c4cc;
  cursor: pointer;
  transition: transform 0.2s;
  flex-shrink: 0;
}
.section-arrow[data-v-8266d4fe]:hover {
  color: #409eff;
}
.section-arrow.rotated[data-v-8266d4fe] {
  transform: rotate(90deg);
}
.chapter-index[data-v-8266d4fe] {
  color: #909399;
  font-size: 13px;
  flex-shrink: 0;
}
.chapter-name[data-v-8266d4fe] {
  font-weight: 600;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chapter-meta[data-v-8266d4fe] {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}
.chapter-actions[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.chapter-summary[data-v-8266d4fe] {
  padding: 0 16px 12px 40px;
  font-size: 12px;
  color: #909399;
  line-height: 1.6;
  max-height: 4.8em;
  overflow-y: auto;
}

/* 小节容器 */
.section-container[data-v-8266d4fe] {
  padding: 0 16px 12px 40px;
  border-top: 1px solid #f0f0f0;
}
.section-group[data-v-8266d4fe] {
  border-bottom: 1px solid #fafafa;
}
.section-group[data-v-8266d4fe]:last-of-type {
  border-bottom: none;
}
.section-row[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  padding: 8px 0;
  gap: 8px;
  border-bottom: 1px solid #fafafa;
}
.section-row[data-v-8266d4fe]:last-of-type {
  border-bottom: none;
}
.section-drag-handle[data-v-8266d4fe] {
  cursor: grab;
  color: #dcdfe6;
  padding: 2px;
}
.section-drag-handle[data-v-8266d4fe]:active {
  cursor: grabbing;
}
.section-index[data-v-8266d4fe] {
  color: #c0c4cc;
  font-size: 12px;
  width: 36px;
  flex-shrink: 0;
}
.section-name[data-v-8266d4fe] {
  font-size: 13px;
  color: #606266;
  flex: 1;
}
.section-meta[data-v-8266d4fe] {
  flex-shrink: 0;
}
.section-actions[data-v-8266d4fe] {
  display: flex;
  gap: 2px;
  opacity: 0;
  transition: opacity 0.2s;
}
.section-row:hover .section-actions[data-v-8266d4fe] {
  opacity: 1;
}
.section-summary[data-v-8266d4fe] {
  padding: 0 0 8px 48px;
  font-size: 12px;
  color: #909399;
  line-height: 1.6;
  max-height: 4.8em;
  overflow-y: auto;
}
.add-section-row[data-v-8266d4fe] {
  padding: 8px 0;
}
.form-tip[data-v-8266d4fe] {
  font-size: 12px;
  color: #909399;
  margin-top: 4px;
  line-height: 1.4;
}
.no-sections[data-v-8266d4fe] {
  padding: 12px 0;
  color: #c0c4cc;
  font-size: 13px;
  text-align: center;
}
.knowledge-container[data-v-8266d4fe] {
  padding: 4px 0 8px 52px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.knowledge-item[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  width: 100%;
  padding: 4px 8px;
  background: #f5f7fa;
  border-radius: 4px;
  font-size: 12px;
  color: #606266;
  transition: all 0.2s;
}
.knowledge-item .kp-main[data-v-8266d4fe] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  flex: 1;
  min-width: 0;
  flex-wrap: wrap;
}
.knowledge-item .kp-main[data-v-8266d4fe]:hover {
  color: #409eff;
}
.knowledge-item .kp-actions[data-v-8266d4fe] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}
.knowledge-item .el-icon[data-v-8266d4fe] {
  color: #e6a23c;
  font-size: 12px;
}
.knowledge-item .kp-drag-handle[data-v-8266d4fe] {
  color: #c0c4cc;
  cursor: grab;
  flex-shrink: 0;
}
.knowledge-item .kp-drag-handle[data-v-8266d4fe]:hover {
  color: #409eff;
}
.knowledge-item .kp-drag-handle[data-v-8266d4fe]:active {
  cursor: grabbing;
}
.knowledge-item.is-kp-dragging[data-v-8266d4fe] {
  opacity: 0.4;
}
.knowledge-item.is-kp-drop-target[data-v-8266d4fe] {
  box-shadow: inset 0 0 0 1px #409eff;
  background: #ecf5ff;
}
.chapter-card.is-chapter-dragging[data-v-8266d4fe] {
  opacity: 0.4;
}
.chapter-card.is-chapter-drop-target[data-v-8266d4fe] {
  box-shadow: inset 0 0 0 1px #409eff;
  background: #ecf5ff;
}
.section-group.is-section-dragging[data-v-8266d4fe] {
  opacity: 0.4;
}
.section-group.is-section-drop-target[data-v-8266d4fe] {
  box-shadow: inset 0 0 0 1px #409eff;
  background: #ecf5ff;
}
.knowledge-name[data-v-8266d4fe] {
  color: #303133;
}
.knowledge-id[data-v-8266d4fe] {
  margin-left: 6px;
  font-size: 11px;
  color: #c0c4cc;
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  flex-shrink: 0;
}

/* 知识点属性下拉的自定义选项行（el-option 内容会渲染到 popper，scoped 属性仍生效） */
.kp-opt-label[data-v-8266d4fe] {
  display: inline-block;
}
.kp-opt-remove[data-v-8266d4fe] {
  float: right;
  margin-top: 10px;
  color: #c0c4cc;
  font-size: 12px;
}
.kp-opt-remove[data-v-8266d4fe]:hover {
  color: #f56c6c;
}

/* 编辑知识点弹窗：左右分栏 + 最大化 */
.kp-edit-dialog .el-dialog__header[data-v-8266d4fe] {
  margin-right: 0;
  padding: 16px 20px;
  border-bottom: 1px solid #ebeef5;
}
.kp-edit-dialog .el-dialog__body[data-v-8266d4fe] {
  padding: 0;
  overflow: hidden;
}
.kp-edit-dialog .el-dialog__footer[data-v-8266d4fe] {
  padding: 12px 20px;
  border-top: 1px solid #ebeef5;
}
.kp-edit-dialog__header[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.kp-edit-dialog__title[data-v-8266d4fe] {
  font-size: 16px;
  font-weight: 600;
  color: #303133;
}
.kp-edit-dialog__subtitle[data-v-8266d4fe] {
  font-size: 13px;
  color: #909399;
  max-width: 60%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kp-edit-dialog__maximize[data-v-8266d4fe] {
  margin-left: auto;
  font-size: 18px;
  color: #606266;
  padding: 4px;
}
.kp-edit-dialog__maximize[data-v-8266d4fe]:hover {
  color: #409eff;
  background: #ecf5ff;
}
.kp-edit-form[data-v-8266d4fe] {
  padding: 16px 20px 4px;
}
.kp-edit-layout[data-v-8266d4fe] {
  display: flex;
  gap: 20px;
  align-items: stretch;
  height: calc(90vh - 150px);
}
.kp-edit-col[data-v-8266d4fe] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow-y: auto;
  padding-right: 6px;
}
.kp-edit-section[data-v-8266d4fe] {
  background: #fafbfc;
  border: 1px solid #ebeef5;
  border-radius: 8px;
  padding: 14px 16px 4px;
}
.kp-edit-section__title[data-v-8266d4fe] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
  margin-bottom: 12px;
  padding-left: 8px;
  border-left: 3px solid #409eff;
  display: flex;
  align-items: center;
  gap: 8px;
}
.kp-edit-dialog.is-maximized .kp-edit-layout[data-v-8266d4fe] {
  height: calc(96vh - 150px);
}
.kp-edit-dialog.is-maximized .el-dialog__body[data-v-8266d4fe] {
  max-height: calc(96vh - 130px);
}
.kp-icon[data-v-8266d4fe] {
  flex-shrink: 0;
}
.kp-detail-dialog[data-v-8266d4fe] {
  font-size: 12px;
  line-height: 1.6;
  color: #606266;
}
.kp-detail-tags[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.detail-section[data-v-8266d4fe] {
  margin-bottom: 10px;
}
.detail-label[data-v-8266d4fe] {
  font-weight: 600;
  font-size: 12px;
  color: #303133;
  margin-bottom: 4px;
  padding-left: 6px;
  border-left: 3px solid #409eff;
  display: flex;
  align-items: center;
}
.detail-label .field-ai-fix-btn[data-v-8266d4fe] {
  margin-left: 8px;
  font-weight: 400;
}
.kp-question-pager[data-v-8266d4fe] {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.field-ai-fix-preview[data-v-8266d4fe] {
  width: 100%;
  max-height: 160px;
  overflow-y: auto;
  background: #f5f7fa;
  border: 1px solid #e4e7ed;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: 12px;
  line-height: 1.8;
  white-space: pre-wrap;
  word-break: break-word;
}
.field-ai-fix-preview pre[data-v-8266d4fe] {
  margin: 0;
  font-family: inherit;
  white-space: pre-wrap;
  word-break: break-word;
}
.detail-text[data-v-8266d4fe] {
  font-size: 12px;
  line-height: 1.8;
  padding: 8px 10px;
  background: #f5f7fa;
  border-radius: 4px;
}
.article-groups-container[data-v-8266d4fe] {
  margin-bottom: 10px;
}
.article-group[data-v-8266d4fe] {
  background: linear-gradient(135deg, #fdf6ec 0%, #ecf5ff 50%, #f0f9eb 100%);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
  border: 1px solid #e4e7ed;
}
.article-group[data-v-8266d4fe]:last-child {
  margin-bottom: 0;
}
.article-group-title[data-v-8266d4fe] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
  text-align: center;
  padding: 8px 0;
  margin-bottom: 10px;
  border-bottom: 2px solid #409eff;
}
.detail-section-group[data-v-8266d4fe] {
  background: linear-gradient(135deg, #fdf6ec 0%, #ecf5ff 50%, #f0f9eb 100%);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 10px;
  border: 1px solid #e4e7ed;
}
.detail-section-group .detail-section[data-v-8266d4fe] {
  margin-bottom: 12px;
}
.detail-section-group .detail-section[data-v-8266d4fe]:last-child {
  margin-bottom: 0;
}
.original-text[data-v-8266d4fe] {
  background: #fdf6ec !important;
  color: #e6a23c !important;
  border-left: 3px solid #e6a23c;
  font-style: italic;
  white-space: pre-wrap;
  line-height: 1.8;
  padding: 12px;
}
.translation-text[data-v-8266d4fe] {
  background: #ecf5ff !important;
  color: #409eff !important;
  border-left: 3px solid #409eff;
  white-space: pre-wrap;
  line-height: 1.8;
  padding: 12px;
}
.key-terms-editor[data-v-8266d4fe] {
  width: 100%;
}
.article-group-editor__header[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
}
.key-term-editor[data-v-8266d4fe] {
  margin-bottom: 8px;
  padding: 8px;
  background: #f5f7fa;
  border-radius: 4px;
}
.key-terms-list[data-v-8266d4fe] {
  padding: 8px 10px;
  background: #f0f9eb;
  border-radius: 4px;
  border-left: 3px solid #67c23a;
}
.key-term-item[data-v-8266d4fe] {
  margin-bottom: 8px;
  font-size: 12px;
  line-height: 1.6;
}
.key-term-item[data-v-8266d4fe]:last-child {
  margin-bottom: 0;
}
.term-word[data-v-8266d4fe] {
  font-weight: 600;
  color: #303133;
  margin-right: 4px;
}
.term-pronunciation[data-v-8266d4fe] {
  color: #909399;
  font-size: 11px;
  margin-right: 8px;
}
.term-meaning[data-v-8266d4fe] {
  color: #606266;
}
.term-example[data-v-8266d4fe] {
  display: block;
  color: #909399;
  font-size: 11px;
  margin-top: 2px;
  padding-left: 8px;
}
.detail-list[data-v-8266d4fe] {
  margin: 0;
  padding-left: 18px;
}
.detail-list li[data-v-8266d4fe] {
  margin: 2px 0;
  font-size: 12px;
}
.mistake-list li[data-v-8266d4fe] {
  color: #f56c6c;
}
.detail-formulas[data-v-8266d4fe] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.formula-item[data-v-8266d4fe] {
  padding: 4px 6px;
  background: #fdf6ec;
  border-radius: 4px;
  font-family: "Courier New", monospace;
  font-size: 12px;
  color: #e6a23c;
}
.exam-grid[data-v-8266d4fe] {
  background: #f0f7ff;
  border-radius: 6px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.exam-item[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.exam-item.exam-item-full[data-v-8266d4fe] {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.exam-item-label[data-v-8266d4fe] {
  color: #909399;
  font-size: 12px;
  flex-shrink: 0;
}
.exam-item-value[data-v-8266d4fe] {
  font-size: 12px;
  color: #303133;
}
.exam-tags[data-v-8266d4fe] {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.example-item[data-v-8266d4fe] {
  margin-bottom: 8px;
  padding: 6px 8px;
  background: #f0f9eb;
  border-radius: 4px;
}
.example-item[data-v-8266d4fe]:last-child {
  margin-bottom: 0;
}
.example-title[data-v-8266d4fe] {
  font-size: 12px;
  color: #67c23a;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.example-title .example-delete-btn[data-v-8266d4fe] {
  margin-left: auto;
  font-weight: 400;
}
.example-type-tag[data-v-8266d4fe] {
  font-size: 11px;
  color: #909399;
  background: #f4f4f5;
  border-radius: 3px;
  padding: 1px 6px;
  font-weight: normal;
}
.example-block[data-v-8266d4fe] {
  font-size: 12px;
  line-height: 1.6;
  margin: 3px 0;
  display: flex;
  gap: 6px;
  white-space: pre-wrap;
  word-break: break-word;
}
.example-tag[data-v-8266d4fe] {
  flex-shrink: 0;
  display: inline-block;
  padding: 1px 6px;
  background: #67c23a;
  color: #fff;
  border-radius: 3px;
  font-size: 11px;
}
.study-advice[data-v-8266d4fe] {
  background: #f0f9eb !important;
  color: #67c23a !important;
  border-left: 3px solid #67c23a;
}
.related-tags[data-v-8266d4fe] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
[data-v-8266d4fe] .text-highlight {
  background: linear-gradient(120deg, #fef3c7 0%, #fde68a 100%);
  color: #92400e;
  padding: 1px 4px;
  border-radius: 3px;
  font-weight: 600;
  border-bottom: 2px solid #f59e0b;
}
.questions-list[data-v-8266d4fe] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.question-item[data-v-8266d4fe] {
  padding: 10px 12px;
  background: #f9fafc;
  border: 1px solid #ebeef5;
  border-radius: 6px;
}
.question-header[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}
.question-content[data-v-8266d4fe] {
  font-size: 12px;
  color: #303133;
  line-height: 1.6;
}
.question-answer[data-v-8266d4fe] {
  margin-top: 6px;
  font-size: 12px;
  color: #67c23a;
}
.answer-label[data-v-8266d4fe] {
  font-weight: 500;
  color: #909399;
}
.question-options[data-v-8266d4fe] {
  margin-top: 6px;
}
.option-item[data-v-8266d4fe] {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 3px 0;
  font-size: 12px;
  color: #606266;
}
.option-item.correct[data-v-8266d4fe] {
  color: #67c23a;
  font-weight: 500;
}
.option-label[data-v-8266d4fe] {
  color: #909399;
  flex-shrink: 0;
}
.question-solution[data-v-8266d4fe] {
  margin-top: 8px;
  padding: 8px 10px;
  background: #f0f9ff;
  border-radius: 4px;
  font-size: 12px;
}
.solution-label[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #409eff;
  font-weight: 500;
  margin-bottom: 4px;
}
.solution-content[data-v-8266d4fe] {
  color: #303133;
  line-height: 1.6;
  white-space: pre-line;
}
.question-analysis[data-v-8266d4fe] {
  margin-top: 6px;
  font-size: 12px;
  color: #606266;
  line-height: 1.6;
}
.analysis-label[data-v-8266d4fe] {
  font-weight: 500;
  color: #909399;
}
.analysis-content[data-v-8266d4fe] {
  margin-top: 2px;
}
.question-score[data-v-8266d4fe] {
  margin-left: auto;
  font-size: 12px;
  color: #e6a23c;
  font-weight: 500;
}

/* 空状态 */
.empty-chapters[data-v-8266d4fe] {
  padding: 60px 0;
}

/* 批量预览 */
.batch-preview[data-v-8266d4fe] {
  border: 1px solid #ebeef5;
  border-radius: 6px;
  max-height: 200px;
  overflow-y: auto;
  width: 100%;
}
.batch-preview-header[data-v-8266d4fe] {
  padding: 8px 12px;
  font-size: 13px;
  color: #909399;
  border-bottom: 1px solid #f0f0f0;
  position: sticky;
  top: 0;
  background: #fff;
}
.batch-preview-item[data-v-8266d4fe] {
  padding: 6px 12px;
  font-size: 13px;
  display: flex;
  gap: 8px;
}
.batch-preview-item[data-v-8266d4fe]:hover {
  background: #f5f7fa;
}
.batch-preview-index[data-v-8266d4fe] {
  color: #909399;
  width: 24px;
  flex-shrink: 0;
}

/* 添加科目对话框 */
.existing-subject-list[data-v-8266d4fe] {
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 6px;
  max-height: 300px;
  overflow-y: auto;
}
.existing-subject-item[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  transition: background 0.2s;
}
.existing-subject-item[data-v-8266d4fe]:last-child {
  border-bottom: none;
}
.existing-subject-item[data-v-8266d4fe]:hover {
  background: var(--el-color-primary-light-9);
}
.existing-subject-item.is-selected[data-v-8266d4fe] {
  background: var(--el-color-primary-light-8);
  color: var(--el-color-primary);
}
.existing-subject-name[data-v-8266d4fe] {
  font-weight: 500;
}

/* 动画 */
.slide-enter-active[data-v-8266d4fe],
.slide-leave-active[data-v-8266d4fe] {
  transition: all 0.3s ease;
  overflow: hidden;
}
.slide-enter-from[data-v-8266d4fe],
.slide-leave-to[data-v-8266d4fe] {
  opacity: 0;
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* ===== 深度拓展结构化编辑器 ===== */
.example-editor[data-v-8266d4fe] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.example-editor__card[data-v-8266d4fe] {
  border: 1px solid var(--el-border-color);
  border-radius: 6px;
  padding: 12px;
  background: var(--el-fill-color-blank);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.example-editor__head[data-v-8266d4fe] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.example-editor__title[data-v-8266d4fe] {
  flex: 1;
}
.example-editor__type[data-v-8266d4fe] {
  width: 140px;
  flex: none;
}
.example-editor__field[data-v-8266d4fe] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.example-editor__label[data-v-8266d4fe] {
  font-size: 13px;
  color: var(--el-text-color-secondary);
}
.example-editor__option[data-v-8266d4fe] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
}
.example-editor__opt-label[data-v-8266d4fe] {
  width: 64px;
  flex: none;
}

/* ===== 章/节/知识点 小程序码弹窗 ===== */
.node-qr-dialog[data-v-8266d4fe] {
  min-height: 320px;
}
.node-qr-grid[data-v-8266d4fe] {
  display: flex;
  gap: 20px;
  justify-content: center;
}
.node-qr-panel[data-v-8266d4fe] {
  flex: 1;
  max-width: 320px;
  border: 1px solid #ebeef5;
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.node-qr-panel__title[data-v-8266d4fe] {
  font-size: 15px;
  font-weight: 700;
  color: #303133;
}
.node-qr-panel__desc[data-v-8266d4fe] {
  font-size: 12px;
  color: #909399;
  margin: 6px 0 10px;
  line-height: 1.6;
}
.node-qr-panel__body[data-v-8266d4fe] {
  width: 220px;
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.node-qr-panel__img[data-v-8266d4fe] {
  width: 220px;
  height: 220px;
}
.node-qr-panel__empty[data-v-8266d4fe] {
  font-size: 13px;
  color: #c0c4cc;
}
.node-qr-panel__footer[data-v-8266d4fe] {
  margin-top: 10px;
  min-height: 24px;
  display: flex;
  align-items: center;
}
.node-qr-panel__path[data-v-8266d4fe] {
  margin-top: 4px;
  font-size: 11px;
  color: #c0c4cc;
  word-break: break-all;
}
.node-qr-dialog__hint[data-v-8266d4fe] {
  margin-top: 14px;
  font-size: 12px;
  color: #c0c4cc;
  text-align: center;
}
.option-row[data-v-ee1a17c3] {
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
}
.option-row .el-input[data-v-ee1a17c3] {
  flex: 1;
}
.sub-questions-header[data-v-ee1a17c3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 16px 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--el-border-color-lighter);
}
.sub-questions-title[data-v-ee1a17c3] {
  font-weight: 600;
  font-size: 15px;
}
.sub-questions-empty[data-v-ee1a17c3] {
  text-align: center;
  color: var(--el-text-color-placeholder);
  padding: 24px 0;
  background: var(--el-fill-color-lighter);
  border-radius: 4px;
  margin-bottom: 12px;
}
.sub-question-card[data-v-ee1a17c3] {
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 6px;
  padding: 16px;
  margin-bottom: 12px;
  background: var(--el-fill-color-blank);
}
.sub-question-header[data-v-ee1a17c3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.sub-question-label[data-v-ee1a17c3] {
  font-weight: 600;
  color: var(--el-color-primary);
}
.sub-question-actions[data-v-ee1a17c3] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.math-dialog-body[data-v-ee1a17c3] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.math-common-formulas[data-v-ee1a17c3] {
  margin-top: 4px;
}
.math-common-label[data-v-ee1a17c3] {
  font-size: 13px;
  color: var(--el-text-color-secondary);
  margin-bottom: 6px;
}
.math-common-list[data-v-ee1a17c3] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.math-formula-tag[data-v-ee1a17c3] {
  cursor: pointer;
  font-family: 'Courier New', monospace;
}
.math-formula-tag[data-v-ee1a17c3]:hover {
  color: var(--el-color-primary);
}
.math-preview[data-v-ee1a17c3] {
  padding: 12px;
  background: var(--el-fill-color-lighter);
  border-radius: 4px;
  border: 1px solid var(--el-border-color);
}
.math-preview-label[data-v-ee1a17c3] {
  font-size: 13px;
  color: var(--el-text-color-secondary);
  margin-bottom: 8px;
}
.math-preview-content[data-v-ee1a17c3] {
  text-align: center;
  font-size: 18px;
}
.question-layout[data-v-ee1a17c3] {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.left-panel[data-v-ee1a17c3] {
  width: 260px;
  flex-shrink: 0;
  background: #fff;
  border-radius: 4px;
  border: 1px solid #ebeef5;
  overflow: hidden;
}
.left-panel-header[data-v-ee1a17c3] {
  padding: 16px;
  border-bottom: 1px solid #ebeef5;
  background: #fafafa;
}
.left-panel-header .el-radio-group[data-v-ee1a17c3] {
  display: flex;
  width: 100%;
}
.left-panel-header .el-radio-button[data-v-ee1a17c3] {
  flex: 1;
}
.left-panel-body[data-v-ee1a17c3] {
  padding: 12px;
}
.tree-search[data-v-ee1a17c3] {
  margin-bottom: 8px;
}
.subject-tree[data-v-ee1a17c3] {
  font-size: 13px;
}
.subject-tree .el-tree-node__content[data-v-ee1a17c3] {
  height: 32px;
}
.tree-node-label[data-v-ee1a17c3] {
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.left-panel-actions[data-v-ee1a17c3] {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #ebeef5;
}
.right-panel[data-v-ee1a17c3] {
  flex: 1;
  min-width: 0;
}

.passage-preview-dialog[data-v-81b2cfad] .el-dialog__body {
  padding: 16px 20px;
  max-height: calc(90vh - 140px);
  overflow-y: auto;
}
.passage-preview-dialog .pp-body[data-v-81b2cfad] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.passage-preview-dialog[data-v-81b2cfad] {
  /* ===== 顶部信息栏 ===== */
}
.passage-preview-dialog .pp-topbar[data-v-81b2cfad] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.passage-preview-dialog .pp-topbar .pp-section[data-v-81b2cfad] {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  background: #f0f5ff;
  color: #2c6fbb;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
}
.passage-preview-dialog .pp-topbar .pp-passage-name[data-v-81b2cfad] {
  font-size: 13px;
  font-weight: 600;
  color: #303133;
}
.passage-preview-dialog .pp-topbar .pp-count[data-v-81b2cfad] {
  margin-left: auto;
  font-size: 12px;
  color: #909399;
}
.passage-preview-dialog .pp-topbar .pp-edit-btn[data-v-81b2cfad] {
  flex-shrink: 0;
}
.passage-preview-dialog[data-v-81b2cfad] {
  /* ===== Section Directions ===== */
}
.passage-preview-dialog .pp-direction[data-v-81b2cfad] {
  font-size: 13px;
  line-height: 1.7;
  color: #606266;
  padding: 8px 12px;
  background: #f8f9fc;
  border-radius: 6px;
  white-space: pre-wrap;
}
.passage-preview-dialog[data-v-81b2cfad] {
  /* ===== 阅读材料 ===== */
}
.passage-preview-dialog .pp-passage-card[data-v-81b2cfad] {
  border: 1px solid #ebeef5;
  border-radius: 10px;
  overflow: hidden;
}
.passage-preview-dialog .pp-passage-card .pp-block-title[data-v-81b2cfad] {
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 600;
  color: #606266;
  background: #fafbfc;
  border-bottom: 1px solid #ebeef5;
  padding-left: 10px;
  border-left: 3px solid #c9b99a;
}
.passage-preview-dialog .pp-passage-card .pp-passage-text[data-v-81b2cfad] {
  padding: 12px 14px;
  font-size: 13.5px;
  line-height: 2;
  color: #303133;
  background: #fafaf5;
  white-space: pre-wrap;
}
.passage-preview-dialog[data-v-81b2cfad] {
  /* ===== 题目列表 ===== */
}
.passage-preview-dialog .pp-question[data-v-81b2cfad] {
  border: 1px solid #ebeef5;
  border-radius: 10px;
  padding: 12px 14px;
}
.passage-preview-dialog .pp-question .pp-q-head[data-v-81b2cfad] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.passage-preview-dialog .pp-question .pp-q-head .pp-q-num[data-v-81b2cfad] {
  font-size: 15px;
  font-weight: 700;
  color: #409eff;
  margin-right: 2px;
}
.passage-preview-dialog .pp-question .pp-q-head .pp-q-id[data-v-81b2cfad] {
  font-size: 12px;
  color: #909399;
}
.passage-preview-dialog .pp-question .pp-q-head .pp-q-score[data-v-81b2cfad] {
  margin-left: auto;
  font-size: 12px;
  color: #909399;
}
.passage-preview-dialog .pp-question .pp-q-content[data-v-81b2cfad] {
  font-size: 14px;
  line-height: 1.7;
  color: #303133;
  margin-bottom: 8px;
  white-space: pre-wrap;
}
.passage-preview-dialog .pp-question .pp-q-options[data-v-81b2cfad] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 8px;
}
.passage-preview-dialog .pp-question .pp-q-options .pp-q-option[data-v-81b2cfad] {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 13px;
  line-height: 1.6;
}
.passage-preview-dialog .pp-question .pp-q-options .pp-q-option.is-correct[data-v-81b2cfad] {
  background: #f0f9eb;
  color: #67c23a;
  font-weight: 500;
}
.passage-preview-dialog .pp-question .pp-q-options .pp-q-option .pp-opt-label[data-v-81b2cfad] {
  font-weight: 500;
  flex-shrink: 0;
  min-width: 20px;
}
.passage-preview-dialog .pp-question .pp-q-options .pp-q-option .pp-opt-content[data-v-81b2cfad] {
  flex: 1;
  min-width: 0;
}
.passage-preview-dialog .pp-question .pp-q-options .pp-q-option .pp-opt-check[data-v-81b2cfad] {
  color: #67c23a;
  flex-shrink: 0;
  font-size: 14px;
}
.passage-preview-dialog .pp-question .pp-q-answer[data-v-81b2cfad] {
  font-size: 13px;
  color: #606266;
  margin-bottom: 6px;
}
.passage-preview-dialog .pp-question .pp-q-answer .pp-answer-text[data-v-81b2cfad] {
  color: #e65100;
  font-weight: 600;
}
.passage-preview-dialog .pp-question .pp-q-analysis[data-v-81b2cfad] {
  display: flex;
  align-items: baseline;
  gap: 4px;
  background: #fdf6ec;
  border-radius: 4px;
  padding: 6px 10px;
  font-size: 13px;
  line-height: 1.7;
  color: #303133;
}
.passage-preview-dialog .pp-question .pp-q-analysis .pp-analysis-label[data-v-81b2cfad] {
  color: #e6a23c;
  font-weight: 600;
  flex-shrink: 0;
}
.passage-preview-dialog .pp-question .pp-q-analysis .pp-analysis-text[data-v-81b2cfad] {
  flex: 1;
  min-width: 0;
}
.passage-preview-dialog[data-v-81b2cfad] {
  /* ===== 富文本与完形填空占位 ===== */
}
.passage-preview-dialog .pp-passage-text[data-v-81b2cfad] img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}
.passage-preview-dialog .pp-passage-text[data-v-81b2cfad] table {
  max-width: 100%;
  border-collapse: collapse;
  margin: 8px 0;
}
.passage-preview-dialog .pp-passage-text[data-v-81b2cfad] td, .passage-preview-dialog .pp-passage-text[data-v-81b2cfad] th {
  border: 1px solid #e0e0e0;
  padding: 6px 10px;
}
.passage-preview-dialog .pp-passage-text[data-v-81b2cfad] .katex {
  font-size: 1.05em;
}
.passage-preview-dialog .pp-passage-text[data-v-81b2cfad] .passage-para {
  text-indent: 2em;
  margin: 0 0 0.6em;
}
.passage-preview-dialog .pp-passage-text[data-v-81b2cfad] .passage-para:last-child {
  margin-bottom: 0;
}
.passage-preview-dialog .pp-passage-text[data-v-81b2cfad] .cloze-blank {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  margin: 0 2px;
  vertical-align: bottom;
}
.passage-preview-dialog .pp-passage-text[data-v-81b2cfad] .cloze-num {
  font-weight: 600;
  color: #303133;
  font-size: 11px;
  line-height: 1.15;
  /* 段落 text-indent:2em 会继承到块级 .cloze-num，把题号推向横线右侧，必须归零 */
  text-indent: 0;
}
.passage-preview-dialog .pp-passage-text[data-v-81b2cfad] .cloze-blank-line {
  display: block;
  width: 2.4em;
  border-bottom: 1.5px solid #909399;
  height: 0.6em;
}
.passage-preview-dialog .pp-q-content[data-v-81b2cfad] img,
.passage-preview-dialog .pp-q-analysis .pp-analysis-text[data-v-81b2cfad] img,
.passage-preview-dialog .pp-opt-content[data-v-81b2cfad] img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}
.passage-preview-dialog .pp-q-content[data-v-81b2cfad] .katex,
.passage-preview-dialog .pp-q-analysis .pp-analysis-text[data-v-81b2cfad] .katex,
.passage-preview-dialog .pp-opt-content[data-v-81b2cfad] .katex {
  font-size: 1.05em;
}
.exam-page[data-v-7bb28f2d] {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 60px);
  overflow: hidden;
  background: #f5f7fa;
}
.cat-tabs[data-v-7bb28f2d] {
  margin-bottom: 16px;
  padding: 0 16px;
}
.exam-layout[data-v-7bb28f2d] {
  display: flex;
  gap: 16px;
  height: calc(100vh - 120px);
  padding: 0 16px 16px;
}
.subject-panel[data-v-7bb28f2d],
.school-panel[data-v-7bb28f2d] {
  width: 280px;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
}
.panel-header[data-v-7bb28f2d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-weight: 500;
  color: #303133;
  white-space: nowrap;
  overflow: hidden;
}
.panel-header .el-tag[data-v-7bb28f2d] {
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.subject-scroll[data-v-7bb28f2d],
.school-scroll[data-v-7bb28f2d] {
  flex: 1;
  overflow-y: auto;
}
.subject-item[data-v-7bb28f2d],
.school-item[data-v-7bb28f2d] {
  padding: 10px 12px;
  cursor: pointer;
  border-radius: 6px;
  margin-bottom: 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s;
}
.subject-item[data-v-7bb28f2d]:hover,
.school-item[data-v-7bb28f2d]:hover {
  background: var(--el-color-primary-light-9);
}
.subject-item.is-active[data-v-7bb28f2d],
.school-item.is-active[data-v-7bb28f2d] {
  background: var(--el-color-primary-light-8);
  color: var(--el-color-primary);
  font-weight: 500;
}
.subject-item__name[data-v-7bb28f2d],
.school-item__name[data-v-7bb28f2d] {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.paper-panel[data-v-7bb28f2d] {
  flex: 1;
  background: #fff;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.panel-toolbar[data-v-7bb28f2d] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 16px;
  flex-shrink: 0;
}
.pagination-wrap[data-v-7bb28f2d] {
  display: flex;
  justify-content: flex-end;
  padding: 16px 0 0;
}
.detail-header[data-v-7bb28f2d] {
  padding: 0 4px;
}
.detail-questions[data-v-7bb28f2d] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 试卷详情：注意事项（显示在总分/时长之后、题目之前） */
.paper-notice[data-v-7bb28f2d] {
  border: 1px solid #ebeef5;
  border-left: 3px solid #e6a23c;
  border-radius: 6px;
  padding: 12px 16px;
  background: #fdf6ec;
}
.notice-title[data-v-7bb28f2d] {
  font-weight: 700;
  font-size: 14px;
  color: #e6a23c;
  margin-bottom: 6px;
}
.notice-content[data-v-7bb28f2d] {
  font-size: 13px;
  line-height: 1.8;
  color: #606266;
  white-space: pre-wrap;
}
.question-card[data-v-7bb28f2d] {
  border: 1px solid #ebeef5;
  border-radius: 6px;
  padding: 14px 16px;
  background: #fafafa;
}
.q-header[data-v-7bb28f2d] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.q-number[data-v-7bb28f2d] {
  font-weight: 600;
  font-size: 15px;
  margin-right: 4px;
}
.q-passage[data-v-7bb28f2d] {
  background: #f5f7fa;
  border-left: 3px solid #409eff;
  padding: 10px 12px;
  margin-bottom: 10px;
  border-radius: 4px;
}
.passage-label[data-v-7bb28f2d] {
  font-size: 12px;
  color: #409eff;
  margin-bottom: 4px;
}
.passage-text[data-v-7bb28f2d] {
  font-size: 13px;
  line-height: 1.7;
  color: #303133;
  white-space: pre-wrap;
}

/* 阅读理解每篇文章前的大写居中序号（A/B/C/D） */
.passage-letter[data-v-7bb28f2d] {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 4px;
  color: #303133;
  margin: 4px 0 8px;
}

/* 阅读材料板块顶栏：材料标识 + 「查看详情」入口 */
.q-passage-bar[data-v-7bb28f2d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}
.q-passage-label[data-v-7bb28f2d] {
  font-size: 12px;
  color: #909399;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.q-content[data-v-7bb28f2d] {
  font-size: 14px;
  line-height: 1.7;
  color: #303133;
  margin-bottom: 8px;
  white-space: pre-wrap;
}
.q-options[data-v-7bb28f2d] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 8px;
}
.q-option[data-v-7bb28f2d] {
  display: flex;
  align-items: baseline;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 13px;
  line-height: 1.6;
}
.q-option.is-correct[data-v-7bb28f2d] {
  background: #f0f9eb;
  color: #67c23a;
  font-weight: 500;
}
.opt-label[data-v-7bb28f2d] {
  font-weight: 500;
  margin-right: 6px;
  min-width: 20px;
}
.opt-content[data-v-7bb28f2d] {
  flex: 1;
}

/* 中文着重号：加点字下方显示圆点（使用全局 global.scss 样式，此处不再覆盖） */
/* .dot-ch 在 global.scss 中以 text-emphasis 逐字加点实现（与手机端同口径），此处勿加局部覆盖 */
.q-analysis[data-v-7bb28f2d] {
  background: #fdf6ec;
  border-radius: 4px;
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.6;
}
.analysis-label[data-v-7bb28f2d] {
  color: #e6a23c;
  font-weight: 500;
}
.analysis-text[data-v-7bb28f2d] {
  color: #606266;
}
.section-divider[data-v-7bb28f2d] {
  margin: 8px 0 16px;
  padding: 6px 0;
  border-bottom: 2px solid #409eff;
}
.section-title-row[data-v-7bb28f2d] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.section-name[data-v-7bb28f2d] {
  font-size: 16px;
  font-weight: 700;
  color: #303133;
}
.section-marks[data-v-7bb28f2d] {
  font-size: 13px;
  color: #909399;
  font-weight: 500;
}

/* 翻译题 Section A/B 子段标题（如 Section A (15 marks)） */
.sub-section[data-v-7bb28f2d] {
  margin-bottom: 16px;
}
.sub-section-divider[data-v-7bb28f2d] {
  margin: 12px 0 8px;
}
.sub-section-name[data-v-7bb28f2d] {
  font-size: 14px;
  font-weight: 700;
  color: #303133;
}
.sub-section-marks[data-v-7bb28f2d] {
  font-size: 12px;
  color: #909399;
  margin-left: 8px;
  font-weight: 500;
}
.section-direction[data-v-7bb28f2d] {
  background: #f0f5ff;
  border-left: 3px solid #409eff;
  padding: 10px 12px;
  margin-bottom: 12px;
  border-radius: 4px;
  font-size: 13px;
  line-height: 1.7;
  color: #606266;
  white-space: normal;
  text-indent: 2em;
}

/* 组题编辑样式 */
.qe-section[data-v-7bb28f2d] {
  margin-bottom: 20px;
  border: 1px solid #ebeef5;
  border-radius: 6px;
  padding: 12px;
  background: #fafafa;
}
.qe-section-header[data-v-7bb28f2d] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.qe-section-score[data-v-7bb28f2d] {
  font-size: 13px;
  color: #909399;
  font-weight: 500;
}
.qe-question-list[data-v-7bb28f2d] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.qe-question-item[data-v-7bb28f2d] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #e4e7ed;
  border-radius: 4px;
  cursor: grab;
  transition: box-shadow 0.2s;
}
.qe-question-item.is-sub-question[data-v-7bb28f2d] {
  margin-left: 24px;
  background: #fafafa;
}
.qe-question-item[data-v-7bb28f2d]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.qe-question-item[data-v-7bb28f2d]:active {
  cursor: grabbing;
}
.qe-question-handle[data-v-7bb28f2d] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #c0c4cc;
  flex-shrink: 0;
}
.qe-question-number[data-v-7bb28f2d] {
  font-weight: 600;
  font-size: 14px;
  color: #303133;
  min-width: 30px;
}
.qe-question-info[data-v-7bb28f2d] {
  flex: 1;
  min-width: 0;
}
.qe-question-content[data-v-7bb28f2d] {
  font-size: 13px;
  color: #303133;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qe-question-options[data-v-7bb28f2d] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin-top: 6px;
  padding: 6px 8px;
  background: #f9f9f9;
  border-radius: 4px;
}
.qe-option-item[data-v-7bb28f2d] {
  display: flex;
  align-items: baseline;
  font-size: 12px;
  line-height: 1.5;
  color: #606266;
}
.qe-option-label[data-v-7bb28f2d] {
  font-weight: 500;
  margin-right: 4px;
  color: #303133;
}
.qe-option-content[data-v-7bb28f2d] {
  max-width: 300px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qe-passage-block[data-v-7bb28f2d] {
  background: #f0f5ff;
  border: 1px solid #d4e4ff;
  border-left: 3px solid #409eff;
  border-radius: 4px;
  padding: 10px 12px;
  margin-bottom: 8px;
}

/* 阅读理解编辑视图中每篇文章前的大写居中序号（A/B/C/D） */
.qe-passage-letter[data-v-7bb28f2d] {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 4px;
  color: #409eff;
  margin-bottom: 6px;
}
.qe-passage-header[data-v-7bb28f2d] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  font-size: 12px;
  color: #409eff;
  font-weight: 500;
}
.qe-passage-content[data-v-7bb28f2d] {
  font-size: 12px;
  line-height: 1.6;
  color: #606266;
  max-height: 120px;
  overflow-y: auto;
  white-space: pre-wrap;
  background: #fff;
  padding: 8px 10px;
  border-radius: 4px;
}
.qe-question-meta[data-v-7bb28f2d] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}
.qe-correct-answer[data-v-7bb28f2d] {
  font-size: 12px;
  color: #67c23a;
  font-weight: 500;
}
.qe-question-id[data-v-7bb28f2d] {
  font-size: 12px;
  color: #909399;
}
.qe-question-score[data-v-7bb28f2d] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #606266;
  flex-shrink: 0;
}
.qe-add-btn[data-v-7bb28f2d] {
  margin-top: 8px;
}

/* 题目选择器样式 */
.qp-filter[data-v-7bb28f2d] {
  display: flex;
  align-items: center;
  gap: 12px;
}
/* 完形填空文章按自然段落渲染：每段首行缩进 2em（试卷排版惯例） */
.passage-para {
  text-indent: 2em;
  margin: 0 0 0.6em;
  line-height: 1.7;
}
.passage-para:last-child {
  margin-bottom: 0;
}

/* 完形填空文章占位符渲染：题号 + 下划线空白 */
.cloze-blank {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  margin: 0 2px;
  vertical-align: bottom;
}
.cloze-num {
  font-weight: 600;
  color: #303133;
  font-size: 11px;
  line-height: 1.15;
  /* 段落 text-indent:2em 会继承到块级 .cloze-num，把题号推向横线右侧，必须归零 */
  text-indent: 0;
}
.cloze-blank-line {
  display: block;
  width: 2.4em;
  border-bottom: 1.5px solid #909399;
  height: 0.6em;
}
.word-banner[data-v-526ee3aa] {
  margin-bottom: 16px;
  padding: 8px 12px;
  background: var(--el-fill-color-light, #f5f7fa);
  border-radius: 6px;
  font-size: 14px;
  color: var(--el-text-color-regular, #606266);
}
.field-hint[data-v-526ee3aa] {
  font-size: 12px;
  color: #909399;
  line-height: 1.4;
  margin-top: 4px;
}

.word-banner[data-v-e241faee] {
  margin-bottom: 16px;
  padding: 8px 12px;
  background: var(--el-fill-color-light, #f5f7fa);
  border-radius: 6px;
  font-size: 14px;
  color: var(--el-text-color-regular, #606266);
}
.pos-line[data-v-e241faee] {
  margin-top: 6px;
  font-size: 13px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
}
.pos-empty[data-v-e241faee] {
  color: #e6a23c;
}
.mode-group[data-v-e241faee] {
  display: flex;
  gap: 8px;
}
.mode-hint[data-v-e241faee] {
  margin-top: 6px;
  font-size: 12px;
  color: #909399;
  line-height: 1.5;
}

.word-banner[data-v-d7b3df6c] {
  margin-bottom: 8px;
  padding: 8px 12px;
  background: var(--el-fill-color-light, #f5f7fa);
  border-radius: 6px;
  font-size: 14px;
  color: var(--el-text-color-regular, #606266);
}
.rule-hint[data-v-d7b3df6c] {
  margin-bottom: 14px;
  font-size: 12px;
  color: #909399;
  line-height: 1.5;
}
.loading-box[data-v-d7b3df6c] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 24px 0;
  color: #909399;
  font-size: 13px;
  justify-content: center;
}
.field-block[data-v-d7b3df6c] {
  border: 1px solid #ebeef5;
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 12px;
}
.field-title[data-v-d7b3df6c] {
  font-size: 13px;
  font-weight: 600;
  color: #303133;
  margin-bottom: 8px;
}
.row[data-v-d7b3df6c] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 6px;
}
.row-label[data-v-d7b3df6c] {
  flex: none;
  width: 48px;
  font-size: 12px;
  color: #909399;
  line-height: 24px;
}
.tags[data-v-d7b3df6c] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.tag-removed[data-v-d7b3df6c] {
  text-decoration: line-through;
}
.empty[data-v-d7b3df6c] {
  font-size: 12px;
  color: #c0c4cc;
  line-height: 24px;
}
.summary[data-v-d7b3df6c] {
  font-size: 12px;
  color: #909399;
  margin-top: 2px;
}
.notes[data-v-d7b3df6c] {
  font-size: 12px;
  color: #606266;
  line-height: 1.6;
  background: #f4f7fb;
  border: 1px solid #e4ecf7;
  border-radius: 6px;
  padding: 8px 10px;
}

.word-banner[data-v-2dac9eb1] {
  margin-bottom: 8px;
  padding: 8px 12px;
  background: var(--el-fill-color-light, #f5f7fa);
  border-radius: 6px;
  font-size: 14px;
  color: var(--el-text-color-regular, #606266);
}
.rule-hint[data-v-2dac9eb1] {
  margin-bottom: 14px;
  font-size: 12px;
  color: #909399;
  line-height: 1.5;
}
.loading-box[data-v-2dac9eb1] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 24px 0;
  color: #909399;
  font-size: 13px;
  justify-content: center;
}
.field-block[data-v-2dac9eb1] {
  border: 1px solid #ebeef5;
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 12px;
}
.field-title[data-v-2dac9eb1] {
  font-size: 13px;
  font-weight: 600;
  color: #303133;
  margin-bottom: 8px;
}
.tags[data-v-2dac9eb1] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.tag-removed[data-v-2dac9eb1] {
  text-decoration: line-through;
}
.empty[data-v-2dac9eb1] {
  font-size: 12px;
  color: #c0c4cc;
  line-height: 24px;
}
.ordered-list[data-v-2dac9eb1] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ordered-row[data-v-2dac9eb1] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.order-badge[data-v-2dac9eb1] {
  flex: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #f0f2f5;
  color: #909399;
  font-size: 12px;
  line-height: 20px;
  text-align: center;
}
.order-badge--top[data-v-2dac9eb1] {
  background: #ecf5ff;
  color: #409eff;
  font-weight: 600;
}
.phrase-text[data-v-2dac9eb1] {
  color: #303133;
  word-break: break-all;
}
.mark-tag[data-v-2dac9eb1] {
  flex: none;
}
.summary[data-v-2dac9eb1] {
  font-size: 12px;
  color: #909399;
  margin-bottom: 8px;
}
.notes[data-v-2dac9eb1] {
  font-size: 12px;
  color: #606266;
  line-height: 1.6;
  background: #f4f7fb;
  border: 1px solid #e4ecf7;
  border-radius: 6px;
  padding: 8px 10px;
}

.word-banner[data-v-324ac662] {
  margin-bottom: 8px;
  padding: 8px 12px;
  background: var(--el-fill-color-light, #f5f7fa);
  border-radius: 6px;
  font-size: 14px;
  color: var(--el-text-color-regular, #606266);
}
.rule-hint[data-v-324ac662] {
  margin-bottom: 14px;
  font-size: 12px;
  color: #909399;
  line-height: 1.5;
}
.loading-box[data-v-324ac662] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 24px 0;
  color: #909399;
  font-size: 13px;
  justify-content: center;
}
.field-block[data-v-324ac662] {
  border: 1px solid #ebeef5;
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 12px;
}
.field-title[data-v-324ac662] {
  font-size: 13px;
  font-weight: 600;
  color: #303133;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.summary[data-v-324ac662] {
  font-size: 12px;
  font-weight: 400;
  color: #909399;
}
.tags[data-v-324ac662] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.tag-removed[data-v-324ac662] {
  text-decoration: line-through;
}
.empty[data-v-324ac662] {
  font-size: 12px;
  color: #c0c4cc;
}
.empty-result[data-v-324ac662] {
  font-size: 12px;
  color: #e6a23c;
  line-height: 1.6;
}
.derived-row[data-v-324ac662] {
  padding: 6px 0;
  border-bottom: 1px dashed #f0f0f0;
}
.derived-row[data-v-324ac662]:last-child {
  border-bottom: none;
}
.derived-word[data-v-324ac662] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #303133;
}
.derived-pos-list[data-v-324ac662] {
  margin-top: 4px;
  padding-left: 12px;
}
.derived-pos-line[data-v-324ac662] {
  display: flex;
  gap: 8px;
  font-size: 12px;
  line-height: 1.7;
}
.pos-part[data-v-324ac662] {
  flex: none;
  width: 56px;
  color: #409eff;
}
.pos-explain[data-v-324ac662] {
  color: #606266;
}
.notes[data-v-324ac662] {
  font-size: 12px;
  color: #606266;
  line-height: 1.6;
  background: #f4f7fb;
  border: 1px solid #e4ecf7;
  border-radius: 6px;
  padding: 8px 10px;
}

.word-banner[data-v-25cd752a] {
  margin-bottom: 8px;
  padding: 8px 12px;
  background: var(--el-fill-color-light, #f5f7fa);
  border-radius: 6px;
  font-size: 14px;
  color: var(--el-text-color-regular, #606266);
}
.rule-hint[data-v-25cd752a] {
  margin-bottom: 14px;
  font-size: 12px;
  color: #909399;
  line-height: 1.5;
}
.loading-box[data-v-25cd752a] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 24px 0;
  color: #909399;
  font-size: 13px;
  justify-content: center;
}
.field-block[data-v-25cd752a] {
  border: 1px solid #ebeef5;
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 12px;
}
.field-title[data-v-25cd752a] {
  font-size: 13px;
  font-weight: 600;
  color: #303133;
  margin-bottom: 8px;
}
.pos-list[data-v-25cd752a] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pos-row[data-v-25cd752a] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.pos-tag-tag[data-v-25cd752a] {
  flex: none;
  width: 52px;
  justify-content: center;
}
.pos-tag[data-v-25cd752a] {
  flex: none;
  min-width: 56px;
  font-weight: 600;
  color: #303133;
}
.pos-tag--removed[data-v-25cd752a] {
  color: #f56c6c;
  text-decoration: line-through;
}
.pos-explain[data-v-25cd752a] {
  color: #606266;
  word-break: break-all;
}
.pos-explain--removed[data-v-25cd752a] {
  color: #c0c4cc;
  text-decoration: line-through;
}
.empty[data-v-25cd752a] {
  font-size: 12px;
  color: #c0c4cc;
}
.removed-hint[data-v-25cd752a] {
  font-size: 12px;
  color: #f56c6c;
  margin-bottom: 8px;
}
.kept-hint[data-v-25cd752a] {
  font-size: 12px;
  color: #67c23a;
  margin-bottom: 8px;
}
.notes[data-v-25cd752a] {
  font-size: 12px;
  color: #606266;
  line-height: 1.6;
  background: #f4f7fb;
  border: 1px solid #e4ecf7;
  border-radius: 6px;
  padding: 8px 10px;
}

.text-muted[data-v-e8a0282c] { color: #999; font-size: 12px;
}
.ai-create-tip[data-v-e8a0282c] {
  font-size: 12px;
  color: #909399;
  line-height: 1.6;
  background: #f4f7fb;
  border: 1px solid #e4ecf7;
  border-radius: 6px;
  padding: 8px 10px;
  margin-bottom: 12px;
}
.audio-task-floating[data-v-e8a0282c] {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 2000;
  width: 320px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.04);
  overflow: hidden;
}

/* 折叠态：容器自适应内容宽度，去掉背景/阴影/固定宽，仅靠右显示小图标 */
.audio-task-floating--collapsed[data-v-e8a0282c] {
  width: auto;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
}
.audio-task-header[data-v-e8a0282c] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
  font-weight: 600;
  color: #303133;
}

/* 折叠为图标（小圆钮） */
.audio-task-mini[data-v-e8a0282c] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  color: #409eff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.04);
  cursor: pointer;
  transition: transform 0.2s;
}
.audio-task-mini[data-v-e8a0282c]:hover { transform: scale(1.08);
}

/* 派生词结构化编辑 */
.derived-item[data-v-e8a0282c] {
  width: 100%;
  border: 1px dashed #e4e7ed;
  border-radius: 6px;
  padding: 8px 10px;
  margin-bottom: 8px;
}
.derived-head[data-v-e8a0282c] {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 6px;
}
.derived-pos[data-v-e8a0282c] {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 6px;
  padding-left: 12px;
}

/* 折叠按钮 */
.audio-task-collapse-btn[data-v-e8a0282c] {
  color: #909399;
  padding: 2px 4px;
}
.audio-task-body[data-v-e8a0282c] {
  padding: 12px 14px;
}
.audio-task-stats[data-v-e8a0282c] {
  font-size: 12px;
  color: #909399;
  margin-top: 6px;
}
.rotate-icon[data-v-e8a0282c] {
  animation: rotating-e8a0282c 1.2s linear infinite;
}
@keyframes rotating-e8a0282c {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}

.video-tabs[data-v-d25f95cf] {
  margin-top: -8px;
}
.video-layout[data-v-d25f95cf] {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.cat-pane[data-v-d25f95cf] {
  width: 260px;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid var(--el-border-color);
  border-radius: 8px;
  padding: 8px;
  max-height: 74vh;
  overflow-y: auto;
}
.cat-pane__head[data-v-d25f95cf] {
  font-size: 13px;
  color: var(--el-text-color-secondary);
  padding: 6px 10px 10px;
  border-bottom: 1px solid var(--el-border-color-lighter);
  margin-bottom: 6px;
}
.cat-item[data-v-d25f95cf] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.cat-item[data-v-d25f95cf]:hover {
  background: var(--el-fill-color-light);
}
.cat-item--active[data-v-d25f95cf] {
  background: var(--el-color-primary-light-9);
  outline: 1px solid var(--el-color-primary-light-5);
}
.cat-item__name[data-v-d25f95cf] {
  flex: 1;
  font-size: 14px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cat-item__ops[data-v-d25f95cf] {
  display: none;
  gap: 6px;
  color: var(--el-text-color-secondary);
}
.cat-item:hover .cat-item__ops[data-v-d25f95cf] {
  display: inline-flex;
}
.cat-item__ops .el-icon[data-v-d25f95cf]:hover {
  color: var(--el-color-primary);
}
.cat-empty[data-v-d25f95cf] {
  text-align: center;
  color: var(--el-text-color-secondary);
  padding: 24px 8px;
  font-size: 13px;
  line-height: 1.7;
}
.detail-pane[data-v-d25f95cf] {
  flex: 1;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--el-border-color);
  border-radius: 8px;
  padding: 16px;
}
.detail-head[data-v-d25f95cf] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.detail-head__title[data-v-d25f95cf] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.detail-head__title strong[data-v-d25f95cf] {
  font-size: 16px;
}
.detail-head__desc[data-v-d25f95cf] {
  font-size: 12px;
  color: var(--el-text-color-secondary);
}
.detail-head__ops[data-v-d25f95cf] {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.chapter-block[data-v-d25f95cf] {
  margin-bottom: 12px;
}
.chapter-block__tip[data-v-d25f95cf] {
  font-size: 12px;
  color: var(--el-text-color-secondary);
  margin-bottom: 6px;
}
.chapter-chips[data-v-d25f95cf] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.chapter-chips b[data-v-d25f95cf] {
  margin-left: 4px;
  font-weight: 600;
}
.list-toolbar[data-v-d25f95cf] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.list-toolbar__stat[data-v-d25f95cf] {
  margin-left: auto;
  font-size: 12px;
  color: var(--el-text-color-secondary);
}
.filter-bar[data-v-d25f95cf] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.filter-bar__spacer[data-v-d25f95cf] {
  flex: 1;
}
.pager-row[data-v-d25f95cf] {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
}
.cat-tag[data-v-d25f95cf] {
  margin: 2px 4px 2px 0;
}
.muted[data-v-d25f95cf] {
  color: var(--el-text-color-secondary);
  font-size: 13px;
}
.form-tip[data-v-d25f95cf] {
  margin-left: 10px;
  font-size: 12px;
  color: var(--el-text-color-secondary);
}
.picker-toolbar[data-v-d25f95cf] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.picker-toolbar__stat[data-v-d25f95cf] {
  margin-left: auto;
  font-size: 12px;
  color: var(--el-text-color-secondary);
}
.picker-toolbar__stat b[data-v-d25f95cf] {
  color: var(--el-color-primary);
}
.assign-tip[data-v-d25f95cf] {
  font-size: 12px;
  color: var(--el-text-color-secondary);
  line-height: 1.7;
  margin-bottom: 12px;
}
.assign-list[data-v-d25f95cf] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 360px;
  overflow-y: auto;
}
.assign-item[data-v-d25f95cf] {
  display: flex;
  align-items: center;
  height: auto;
  padding: 6px 8px;
  border-radius: 6px;
}
.assign-item[data-v-d25f95cf]:hover {
  background: var(--el-fill-color-light);
}
.assign-item__name[data-v-d25f95cf] {
  font-size: 14px;
}
.assign-item__sub[data-v-d25f95cf] {
  margin-left: 8px;
  font-size: 12px;
  color: var(--el-text-color-secondary);
}
.preview-player[data-v-d25f95cf] {
  margin-bottom: 12px;
}
.preview-placeholder[data-v-d25f95cf] {
  padding: 40px 16px;
  text-align: center;
  font-size: 13px;
  color: var(--el-text-color-secondary);
  background: var(--el-fill-color-light);
  border-radius: 6px;
  line-height: 1.8;
}
.preview-url[data-v-d25f95cf] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.preview-url code[data-v-d25f95cf] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  background: var(--el-fill-color-light);
  padding: 6px 10px;
  border-radius: 4px;
}
.cat-tabs[data-v-0413d01b] {
  margin-bottom: 16px;
}
.syllabus-layout[data-v-0413d01b] {
  display: flex;
  gap: 16px;
  height: calc(100vh - 220px);
}
.subject-panel[data-v-0413d01b],
.school-panel[data-v-0413d01b] {
  width: 280px;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
}
.panel-header[data-v-0413d01b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-weight: 500;
  color: #303133;
  white-space: nowrap;
  overflow: hidden;
}
.panel-header .el-tag[data-v-0413d01b] {
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.subject-scroll[data-v-0413d01b],
.school-scroll[data-v-0413d01b] {
  flex: 1;
  overflow-y: auto;
}
.subject-item[data-v-0413d01b],
.school-item[data-v-0413d01b] {
  padding: 10px 12px;
  cursor: pointer;
  border-radius: 6px;
  margin-bottom: 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s;
}
.subject-item[data-v-0413d01b]:hover,
.school-item[data-v-0413d01b]:hover {
  background: var(--el-color-primary-light-9);
}
.subject-item.is-active[data-v-0413d01b],
.school-item.is-active[data-v-0413d01b] {
  background: var(--el-color-primary-light-8);
  color: var(--el-color-primary);
  font-weight: 500;
}
.subject-item__name[data-v-0413d01b],
.school-item__name[data-v-0413d01b] {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.subject-item__tag[data-v-0413d01b],
.school-item__tag[data-v-0413d01b] {
  flex-shrink: 0;
}
.syllabus-panel[data-v-0413d01b] {
  flex: 1;
  background: #fff;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.filter-bar[data-v-0413d01b] {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
}
.syllabus-content-wrapper[data-v-0413d01b] {
  flex: 1;
  overflow-y: auto;
}
.syllabus-meta[data-v-0413d01b] {
  margin-bottom: 16px;
  padding: 12px;
  background: var(--el-fill-color-lighter);
  border-radius: 6px;
}
.syllabus-content-body[data-v-0413d01b] {
  padding: 16px;
  border: 1px solid var(--el-border-color);
  border-radius: 6px;
  line-height: 1.8;
  min-height: 200px;
}
.pagination-wrapper[data-v-0413d01b] {
  margin-top: 16px;
  display: flex;
  justify-content: flex-end;
}
.cover-tip[data-v-0215fe9c] {
  color: #909399;
  font-size: 12px;
  margin-top: 4px;
  line-height: 1.5;
}
.cover-tip b[data-v-0215fe9c] {
  color: #606266;
}
.cropper-wrap[data-v-0215fe9c] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cropper-stage[data-v-0215fe9c] {
  position: relative;
  width: 100%;
  max-width: 480px;
  aspect-ratio: 3 / 1;
  overflow: hidden;
  background:
    repeating-conic-gradient(#f0f0f0 0% 25%, #fafafa 0% 50%) 50% / 20px 20px;
  border: 1px solid var(--el-border-color);
  border-radius: 6px;
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.cropper-stage[data-v-0215fe9c]:active {
  cursor: grabbing;
}
.cropper-img[data-v-0215fe9c] {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  max-width: none;
}
.cropper-controls[data-v-0215fe9c] {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 480px;
  margin-top: 16px;
}
.cropper-controls__label[data-v-0215fe9c] {
  font-size: 13px;
  color: #606266;
  flex-shrink: 0;
}
.cropper-hint[data-v-0215fe9c] {
  font-size: 12px;
  color: #909399;
  margin-top: 8px;
  text-align: center;
}

.stats[data-v-8d7d87fa] {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}
.stat[data-v-8d7d87fa] {
  flex: 1;
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.stat__num[data-v-8d7d87fa] {
  font-size: 24px;
  font-weight: 700;
}
.stat__label[data-v-8d7d87fa] {
  font-size: 13px;
  color: #6B7280;
}
.user-cell[data-v-8d7d87fa] {
  display: flex;
  flex-direction: column;
}
.user-cell__name[data-v-8d7d87fa] {
  font-size: 13px;
  color: #1A1A2E;
  font-weight: 500;
}
.user-cell__phone[data-v-8d7d87fa] {
  font-size: 12px;
  color: #9CA3AF;
}
.status-tag[data-v-8d7d87fa] {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 12px;
}
.detail__row[data-v-8d7d87fa] {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
  align-items: center;
}
.detail__label[data-v-8d7d87fa] {
  width: 64px;
  flex-shrink: 0;
  font-size: 13px;
  color: #9CA3AF;
}
.detail__value[data-v-8d7d87fa] {
  font-size: 14px;
  color: #1A1A2E;
}
.detail__block[data-v-8d7d87fa] {
  margin-top: 18px;
}
.detail__block-title[data-v-8d7d87fa] {
  font-size: 13px;
  font-weight: 600;
  color: #1A1A2E;
  margin-bottom: 8px;
}
.detail__content[data-v-8d7d87fa] {
  background: #F7F8FA;
  border-radius: 8px;
  padding: 12px;
  font-size: 14px;
  color: #4A4A6A;
  line-height: 1.7;
  white-space: pre-wrap;
}
.detail__imgs[data-v-8d7d87fa] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.detail__img[data-v-8d7d87fa] {
  width: 96px;
  height: 96px;
  border-radius: 8px;
}
.detail__reply[data-v-8d7d87fa] {
  background: #F0F3FF;
  border-radius: 8px;
  padding: 12px;
  font-size: 14px;
  color: #4A4A6A;
  line-height: 1.7;
  white-space: pre-wrap;
}
.detail__reply-time[data-v-8d7d87fa] {
  margin-top: 6px;
  font-size: 12px;
  color: #B0B0C0;
}
.status-actions[data-v-8d7d87fa] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.reply-form__footer[data-v-8d7d87fa] {
  margin-top: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.member-tabs[data-v-59966191] .el-tabs__header {
  margin-bottom: 20px;
}
.table-card[data-v-59966191] {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.table-toolbar[data-v-59966191] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.toolbar-left[data-v-59966191] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.result-count[data-v-59966191] {
  font-size: 14px;
  color: #606266;
}
.result-count strong[data-v-59966191] {
  color: #409EFF;
  font-weight: 600;
}
.toolbar-right[data-v-59966191] {
  display: flex;
  gap: 8px;
}
.text-muted[data-v-59966191] { color: #C0C4CC;
}
.text-secondary[data-v-59966191] { color: #909399; font-size: 13px;
}

/* 昵称列（头像 + 昵称） */
.user-cell[data-v-59966191] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.user-name[data-v-59966191] {
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.school-icon[data-v-59966191] {
  color: #409EFF;
  margin-right: 4px;
  vertical-align: middle;
}

/* 销售身份列 */
.sales-role-cell[data-v-59966191] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}
.sales-role-info[data-v-59966191] {
  font-size: 12px;
  color: #606266;
}
.sales-role-tip[data-v-59966191] {
  font-size: 12px;
  color: #909399;
  padding: 0 20px 8px;
}

/* 分配客服老师弹窗说明 */
.service-admin-tip[data-v-59966191] {
  font-size: 12px;
  color: #909399;
  padding: 0 20px 8px;
  line-height: 1.6;
}
.count-num[data-v-59966191] {
  font-size: 18px;
  font-weight: 700;
  color: #409EFF;
}
.pagination-wrapper[data-v-59966191] {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #ebeef5;
}

/* 详情弹窗 */
.detail-dialog .detail-header[data-v-59966191] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.detail-header-info h3[data-v-59966191] {
  margin: 0 0 4px 0;
  font-size: 18px;
  color: #303133;
}
.detail-header-info p[data-v-59966191] {
  margin: 0;
  font-size: 13px;
  color: #909399;
}

/* 弹窗表单 */
.dialog-user-info[data-v-59966191] {
  text-align: center;
  margin-bottom: 20px;
}
.transfer-current[data-v-59966191] {
  margin-top: 10px;
  font-size: 13px;
  color: #606266;
}
.transfer-current .el-tag[data-v-59966191] {
  margin-left: 4px;
}
.dialog-form[data-v-59966191] {
  padding: 0 20px;
}

/* 导出区域 */
.export-block[data-v-59966191] {
  margin-top: 4px;
}
.export-tip[data-v-59966191] {
  display: block;
  font-size: 13px;
  color: #606266;
  margin-bottom: 12px;
}
.export-row[data-v-59966191] {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* 使用分析 */
.analytics[data-v-59966191] { padding: 4px 0;
}
.ana-title[data-v-59966191] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
  margin: 18px 0 10px;
}
.ana-title[data-v-59966191]:first-child { margin-top: 4px;
}
.ana-subject[data-v-59966191] { margin-top: 10px;
}
.ana-subject-title[data-v-59966191] {
  font-size: 13px;
  color: #606266;
  margin-bottom: 6px;
}
.ana-feature-grid[data-v-59966191] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.ana-feature[data-v-59966191] {
  background: #f5f7fa;
  border-radius: 6px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.af-label[data-v-59966191] { font-size: 12px; color: #909399;
}
.af-num[data-v-59966191] { font-size: 16px; font-weight: 700; color: #303133;
}
.acc-high[data-v-59966191] { color: #67c23a; font-weight: 700;
}
.acc-mid[data-v-59966191] { color: #e6a23c; font-weight: 700;
}
.acc-low[data-v-59966191] { color: #f56c6c; font-weight: 700;
}

/* 分科做题明细弹窗 */
.acc-link[data-v-59966191] { font-weight: 700;
}
.ana-subject-hint[data-v-59966191] {
  font-size: 12px;
  color: #909399;
  font-weight: 400;
  margin-left: 10px;
}
.sq-summary[data-v-59966191] {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 12px 14px;
  background: #f5f7fa;
  border-radius: 8px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.sq-stat[data-v-59966191] { display: flex; flex-direction: column; gap: 2px;
}
.sq-stat span[data-v-59966191] { font-size: 12px; color: #909399;
}
.sq-stat b[data-v-59966191] { font-size: 18px; color: #303133;
}
.sq-only-wrong[data-v-59966191] { margin-left: auto;
}
.sq-list[data-v-59966191] {
  max-height: 60vh;
  overflow-y: auto;
  padding-right: 6px;
}
.sq-card[data-v-59966191] {
  border: 1px solid #ebeef5;
  border-left: 4px solid #c0c4cc;
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 14px;
  background: #fff;
}
.sq-card.is-right[data-v-59966191] { border-left-color: #67c23a;
}
.sq-card.is-wrong[data-v-59966191] { border-left-color: #f56c6c;
}
.sq-card-head[data-v-59966191] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.sq-index[data-v-59966191] {
  font-weight: 700;
  color: #606266;
  font-size: 14px;
}
.sq-meta[data-v-59966191] {
  font-size: 12px;
  color: #909399;
}
.sq-source[data-v-59966191] { margin-left: auto;
}
.sq-stem[data-v-59966191] {
  font-size: 14px;
  color: #303133;
  line-height: 1.7;
  margin-bottom: 10px;
  word-break: break-word;
}
.sq-options[data-v-59966191] { margin-bottom: 10px;
}
.sq-option[data-v-59966191] {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 6px;
  margin-bottom: 6px;
  background: #fafafa;
  font-size: 13px;
  line-height: 1.6;
}
.sq-option.is-correct[data-v-59966191] {
  background: #f0f9eb;
  border: 1px solid #c2e7b0;
}
.sq-option.is-user[data-v-59966191]:not(.is-correct) {
  background: #fef0f0;
  border: 1px solid #fbc4c4;
}
.sq-opt-letter[data-v-59966191] { font-weight: 600; color: #606266; flex-shrink: 0;
}
.sq-opt-text[data-v-59966191] { flex: 1; color: #303133; word-break: break-word;
}
.sq-opt-flag[data-v-59966191] {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 600;
  padding-left: 6px;
}
.sq-opt-flag.correct[data-v-59966191] { color: #67c23a;
}
.sq-opt-flag.wrong[data-v-59966191] { color: #f56c6c;
}
.sq-answer-row[data-v-59966191] {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding: 10px 12px;
  background: #f5f7fa;
  border-radius: 6px;
  margin-bottom: 10px;
}
.sq-answer[data-v-59966191] { display: flex; align-items: baseline; gap: 8px;
}
.sq-answer-label[data-v-59966191] { font-size: 12px; color: #909399;
}
.sq-answer-val[data-v-59966191] { font-size: 14px; font-weight: 600; word-break: break-word;
}
.sq-answer-val.ok[data-v-59966191] { color: #67c23a;
}
.sq-answer-val.bad[data-v-59966191] { color: #f56c6c;
}
.sq-error-reason[data-v-59966191] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.sq-reason-label[data-v-59966191] { font-size: 12px; color: #909399;
}
.sq-reason-count[data-v-59966191] { font-size: 12px; color: #c0c4cc;
}
.sq-analysis[data-v-59966191] {
  font-size: 13px;
  color: #606266;
  line-height: 1.7;
  border-top: 1px dashed #ebeef5;
  padding-top: 10px;
  word-break: break-word;
}

/* 支付码弹窗 */
.pending-pay-tip[data-v-59966191] {
  margin: 10px 0 0;
  font-size: 12px;
  color: #909399;
  line-height: 1.6;
}
.pay-qr[data-v-59966191] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 0 20px 4px;
}
.pay-qr__img[data-v-59966191] {
  width: 220px;
  height: 220px;
  border: 1px solid #ebeef5;
  border-radius: 8px;
}
.pay-qr__meta[data-v-59966191] {
  font-size: 13px;
  color: #606266;
  text-align: center;
  line-height: 1.8;
}
.pay-qr__hint[data-v-59966191] {
  font-size: 12px;
  color: #909399;
  text-align: center;
  line-height: 1.6;
}

.stats-grid[data-v-19169c91] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}
.stat-card[data-v-19169c91] { text-align: center;
}
.stat-value[data-v-19169c91] { font-size: 28px; font-weight: 700;
}
.stat-label[data-v-19169c91] { font-size: 13px; color: #909399; margin-top: 4px;
}
.distribution-card[data-v-19169c91] { margin-top: 16px;
}
.card-header[data-v-19169c91] { font-weight: 600;
}
.price-text[data-v-19169c91] { color: #E6A23C; font-weight: 600;
}
.original-price[data-v-19169c91] { color: #909399; text-decoration: line-through;
}
.text-muted[data-v-19169c91] { color: #C0C4CC;
}
.form-unit[data-v-19169c91] { margin-left: 6px; color: #909399;
}
.form-tip[data-v-19169c91] { font-size: 12px; color: #C0C4CC; margin-top: 4px;
}
.nickname-link[data-v-19169c91] { cursor: pointer;
}

.logistics-traces__meta[data-v-df32120b] {
  margin-bottom: 12px;
}
.logistics-traces__alert[data-v-df32120b] {
  margin-bottom: 12px;
}
.trace-list[data-v-df32120b] {
  max-height: 380px;
  overflow-y: auto;
  padding: 4px 0;
}
.trace-item[data-v-df32120b] {
  display: flex;
  gap: 10px;
  padding: 8px 0;
  position: relative;
}
.trace-item + .trace-item[data-v-df32120b] {
  border-top: 1px dashed var(--el-border-color-lighter);
}
.trace-item__dot[data-v-df32120b] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--el-border-color);
  margin-top: 6px;
  flex-shrink: 0;
}
.trace-item--latest .trace-item__dot[data-v-df32120b] {
  background: var(--el-color-primary);
  box-shadow: 0 0 0 3px var(--el-color-primary-light-8);
}
.trace-item__body[data-v-df32120b] {
  flex: 1;
  min-width: 0;
}
.trace-item__context[data-v-df32120b] {
  font-size: 13px;
  color: var(--el-text-color-primary);
  line-height: 1.5;
  word-break: break-all;
}
.trace-item--latest .trace-item__context[data-v-df32120b] {
  color: var(--el-color-primary);
  font-weight: 600;
}
.trace-item__time[data-v-df32120b] {
  font-size: 12px;
  color: var(--el-text-color-secondary);
  margin-top: 2px;
}

.logistics-query__form[data-v-9f072267] {
  margin-bottom: 4px;
}

.header-actions[data-v-e2465548] {
  display: flex;
  gap: 8px;
}
.order-tabs[data-v-e2465548] {
  margin-bottom: 4px;
}
.order-tabs[data-v-e2465548] .el-tabs__header {
  margin-bottom: 12px;
}
.delivery-subtabs[data-v-e2465548] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.delivery-subtabs__hint[data-v-e2465548] {
  font-size: 12px;
}
.delivery-actions[data-v-e2465548] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}
.region-row[data-v-e2465548] {
  display: flex;
  gap: 8px;
  width: 100%;
}
.logistics-toolbar[data-v-e2465548] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.mb-12[data-v-e2465548] {
  margin-bottom: 12px;
}
.delivery-flags[data-v-e2465548] {
  margin-top: 2px;
}
.muted[data-v-e2465548] {
  color: #909399;
  font-size: 12px;
}
.amount[data-v-e2465548] {
  color: #f56c6c;
  font-weight: 600;
}
.sales-head[data-v-e2465548] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.sales-search[data-v-e2465548] {
  margin-left: auto;
  display: flex;
  gap: 8px;
}
.page-header[data-v-0905898d] {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.page-sub[data-v-0905898d] {
  color: #909399;
  font-size: 13px;
}
.table-toolbar[data-v-0905898d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0 12px;
}
.total-tip[data-v-0905898d] {
  color: #606266;
  font-size: 13px;
}
.total-tip b[data-v-0905898d] {
  color: #1890ff;
  font-size: 16px;
}
.detail-block[data-v-0905898d] {
  margin-top: 16px;
}.page-header__left[data-v-c67f3dca] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.page-header__left .range-hint[data-v-c67f3dca] {
  font-size: 13px;
  color: #909399;
}
.report-section[data-v-c67f3dca] {
  margin-bottom: 20px;
}
.report-section__title[data-v-c67f3dca] {
  font-size: 15px;
  font-weight: 600;
  color: #303133;
  margin-bottom: 12px;
  padding-left: 10px;
  border-left: 3px solid #409eff;
  line-height: 1.2;
}
.kv-grid[data-v-c67f3dca] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 0;
}
.kv-item[data-v-c67f3dca] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px dashed #ebeef5;
}
.kv-item[data-v-c67f3dca]:last-child {
  border-bottom: none;
}
.kv-item .label[data-v-c67f3dca] {
  font-size: 13px;
  color: #909399;
}
.kv-item .value[data-v-c67f3dca] {
  font-size: 18px;
  font-weight: 600;
  color: #303133;
}
.kv-item .value.success[data-v-c67f3dca] {
  color: #67c23a;
}
.kv-item .value.warning[data-v-c67f3dca] {
  color: #e6a23c;
}
.pending-row[data-v-c67f3dca] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #ebeef5;
  font-size: 14px;
  color: #606266;
}
.pending-row[data-v-c67f3dca]:last-child {
  border-bottom: none;
}
.summary-line[data-v-c67f3dca] {
  padding: 12px 0;
  border-bottom: 1px dashed #ebeef5;
  font-size: 14px;
  color: #606266;
}
.summary-line[data-v-c67f3dca]:last-child {
  border-bottom: none;
}.range-hint[data-v-6a4e5508] {
  color: #909399;
  font-size: 12px;
  margin-left: 8px;
}
.muted[data-v-6a4e5508] {
  color: #909399;
  font-size: 12px;
}
.pager[data-v-6a4e5508] {
  margin-top: 12px;
  justify-content: flex-end;
}
.dist-list[data-v-6a4e5508] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dist-item[data-v-6a4e5508] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.dist-item__name[data-v-6a4e5508] {
  width: 180px;
  color: #606266;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dist-item__bar[data-v-6a4e5508] {
  height: 10px;
  background: linear-gradient(90deg, #6c63ff, #8b5fff);
  border-radius: 5px;
  min-width: 2px;
}
.dist-item__count[data-v-6a4e5508] {
  color: #303133;
  font-weight: 600;
  width: 48px;
  text-align: right;
}
.path-form[data-v-6a4e5508] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.path-form__or[data-v-6a4e5508] {
  color: #909399;
  font-size: 12px;
}
.path-identity[data-v-6a4e5508] {
  margin-bottom: 12px;
}
.path-timeline[data-v-6a4e5508] {
  max-height: 460px;
  overflow-y: auto;
  padding-left: 4px;
}
.filters[data-v-4ae59e38] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.hint[data-v-4ae59e38] { color: #888; font-size: 13px; margin-left: 8px;
}
.tip[data-v-4ae59e38] { color: #999; font-size: 12px; margin-top: 12px;
}

.filters[data-v-14695967] { display: flex; align-items: center; gap: 10px;
}
.hint[data-v-14695967] { color: #888; font-size: 13px; margin-left: 8px;
}
.cell[data-v-14695967] { display: inline-block; padding: 2px 8px; border-radius: 4px; font-weight: 600;
}
.sub[data-v-14695967] { font-size: 11px; color: #999;
}

.filters[data-v-6896f070] { display: flex; align-items: center; gap: 12px;
}

.filters[data-v-9c5f44a8] { display: flex; align-items: center; gap: 12px;
}

.filters[data-v-f7fc365f] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.hint[data-v-f7fc365f] { color: #888; font-size: 13px;
}

.filters[data-v-6f99e36e] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.sub[data-v-6f99e36e] { color: #999; font-size: 12px; text-align: center;
}

.card-header[data-v-0554c48f] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card-actions[data-v-0554c48f] {
  display: flex;
  gap: 8px;
}
.settings-tip[data-v-0554c48f] {
  font-size: 13px;
  color: #909399;
  margin-bottom: 16px;
}

/* 支付配置指导弹窗样式 */
.payment-guide[data-v-0554c48f] {
  font-size: 14px;
  line-height: 1.8;
  color: #303133;
}
.payment-guide[data-v-0554c48f] .el-step__title {
  font-size: 15px;
  font-weight: 600;
}
.payment-guide[data-v-0554c48f] .el-step__description {
  font-size: 14px;
  line-height: 1.8;
}
.guide-step-content[data-v-0554c48f] {
  padding: 8px 0;
}
.guide-step-content p[data-v-0554c48f] {
  margin: 4px 0;
  line-height: 2;
}
.guide-sub-steps[data-v-0554c48f] {
  padding-left: 16px;
  border-left: 3px solid #e6a23c;
  margin: 8px 0;
  background: #fdf6ec;
  border-radius: 4px;
  padding: 8px 12px;
}
.guide-sub-steps p[data-v-0554c48f] {
  margin: 2px 0;
}
.guide-code-block[data-v-0554c48f] {
  background: #2c3e50;
  color: #ecf0f1;
  padding: 12px 16px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.5;
  overflow-x: auto;
  margin: 8px 0;
  white-space: pre-wrap;
  word-break: break-all;
}
.guide-key-example[data-v-0554c48f] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #ecf5ff;
  border: 1px solid #d9ecff;
  border-radius: 6px;
  margin: 8px 0;
}
.guide-key-example code[data-v-0554c48f] {
  font-size: 13px;
  color: #409eff;
  font-weight: 600;
  letter-spacing: 1px;
}
.guide-url-example[data-v-0554c48f] {
  padding: 10px 14px;
  background: #f0f9eb;
  border: 1px solid #e1f3d8;
  border-radius: 6px;
  margin: 8px 0;
}
.guide-url-example code[data-v-0554c48f] {
  font-size: 13px;
  color: #67c23a;
  font-weight: 600;
}

.type-bar[data-v-c1b5199e] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.type-hint[data-v-c1b5199e] {
  color: var(--el-text-color-secondary);
  font-size: 13px;
}
.editor-layout[data-v-c1b5199e] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
}
.editor-pane[data-v-c1b5199e],
.preview-pane[data-v-c1b5199e] {
  background: #fff;
  border: 1px solid var(--el-border-color);
  border-radius: 8px;
  padding: 16px;
}
.preview-title[data-v-c1b5199e] {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--el-border-color);
}
.preview-body[data-v-c1b5199e] {
  max-height: 70vh;
  overflow-y: auto;
  line-height: 1.9;
  font-size: 14px;
  color: #333;
}
.preview-body[data-v-c1b5199e] h1 { font-size: 20px; margin: 16px 0 8px;
}
.preview-body[data-v-c1b5199e] h2 { font-size: 17px; margin: 14px 0 6px;
}
.preview-body[data-v-c1b5199e] h3 { font-size: 15px; margin: 12px 0 4px;
}
.preview-body[data-v-c1b5199e] h4,
.preview-body[data-v-c1b5199e] h5,
.preview-body[data-v-c1b5199e] h6 { margin: 10px 0 4px;
}
.preview-body[data-v-c1b5199e] li { margin-left: 18px; list-style: disc;
}
.preview-body[data-v-c1b5199e] hr { border: none; border-top: 1px solid #eee; margin: 12px 0;
}
.preview-body[data-v-c1b5199e] strong { color: #111;
}
.content-input[data-v-c1b5199e] textarea {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  line-height: 1.7;
}
@media (max-width: 900px) {
.editor-layout[data-v-c1b5199e] { grid-template-columns: 1fr;
}
}

.faq-layout[data-v-5584f8fe] {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.cat-pane[data-v-5584f8fe] {
  width: 260px;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid var(--el-border-color);
  border-radius: 8px;
  padding: 8px;
  max-height: 72vh;
  overflow-y: auto;
}
.cat-item[data-v-5584f8fe] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.cat-item[data-v-5584f8fe]:hover {
  background: var(--el-fill-color-light);
}
.cat-item--active[data-v-5584f8fe] {
  background: var(--el-color-primary-light-9);
  outline: 1px solid var(--el-color-primary-light-5);
}
.cat-item__icon[data-v-5584f8fe] {
  font-size: 16px;
}
.cat-item__name[data-v-5584f8fe] {
  flex: 1;
  font-size: 14px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cat-item__count[data-v-5584f8fe] {
  font-size: 12px;
  color: var(--el-text-color-secondary);
  background: var(--el-fill-color);
  border-radius: 10px;
  padding: 0 7px;
  min-width: 20px;
  text-align: center;
}
.cat-item__ops[data-v-5584f8fe] {
  display: none;
  gap: 6px;
  color: var(--el-text-color-secondary);
}
.cat-item:hover .cat-item__ops[data-v-5584f8fe] {
  display: inline-flex;
}
.cat-item__ops .el-icon[data-v-5584f8fe]:hover {
  color: var(--el-color-primary);
}
.cat-empty[data-v-5584f8fe] {
  text-align: center;
  color: var(--el-text-color-secondary);
  padding: 24px 0;
  font-size: 13px;
}
.item-pane[data-v-5584f8fe] {
  flex: 1;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--el-border-color);
  border-radius: 8px;
  padding: 16px;
}
.item-toolbar[data-v-5584f8fe] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  gap: 12px;
}
.item-toolbar__title[data-v-5584f8fe] {
  font-size: 15px;
}
.item-toolbar__right[data-v-5584f8fe] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.answer-preview[data-v-5584f8fe] {
  color: var(--el-text-color-secondary);
  font-size: 13px;
}

.stats-grid[data-v-42bcd944] {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}
.stat-card[data-v-42bcd944] { text-align: center;
}
.stat-value[data-v-42bcd944] { font-size: 28px; font-weight: 700;
}
.stat-label[data-v-42bcd944] { font-size: 13px; color: #909399; margin-top: 4px;
}
.distribution-card[data-v-42bcd944] { margin-top: 16px;
}
.form-unit[data-v-42bcd944] { margin-left: 6px; color: #909399; font-size: 13px;
}
.form-tip[data-v-42bcd944] { font-size: 12px; color: #C0C4CC; margin-top: 4px;
}
.color-dot[data-v-42bcd944] { display: inline-block; width: 14px; height: 14px; border-radius: 50%; vertical-align: middle;
}

.stats-row[data-v-41ef6007] {
  margin-bottom: 16px;
}
.stat-card[data-v-41ef6007] {
  text-align: center;
  padding: 8px 0;
}
.stat-label[data-v-41ef6007] {
  font-size: 13px;
  color: #909399;
  margin-bottom: 8px;
}
.stat-value[data-v-41ef6007] {
  font-size: 28px;
  font-weight: 700;
  color: #303133;
}
.user-cell[data-v-41ef6007] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.user-name[data-v-41ef6007] {
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table-card[data-v-f1cf5b17] {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.table-toolbar[data-v-f1cf5b17] {
  margin-bottom: 16px;
}
.result-count[data-v-f1cf5b17] {
  font-size: 14px;
  color: #606266;
}
.result-count strong[data-v-f1cf5b17] {
  color: #409EFF;
  font-weight: 600;
}
.sales-cell[data-v-f1cf5b17] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sales-cell__name[data-v-f1cf5b17] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
}
.sales-cell__phone[data-v-f1cf5b17] {
  font-size: 12px;
  color: #909399;
}
.text-muted[data-v-f1cf5b17] { color: #C0C4CC;
}
.pagination-wrapper[data-v-f1cf5b17] {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #ebeef5;
}

/* 详情 */
.detail__row[data-v-f1cf5b17] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid #f5f5f5;
}
.detail__label[data-v-f1cf5b17] {
  width: 70px;
  font-size: 13px;
  color: #909399;
  flex-shrink: 0;
}
.detail__value[data-v-f1cf5b17] {
  font-size: 14px;
  color: #303133;
}
.detail__phone[data-v-f1cf5b17] {
  font-size: 12px;
  color: #909399;
  margin-left: 8px;
}
.detail__block[data-v-f1cf5b17] {
  margin-top: 16px;
}
.detail__block-title[data-v-f1cf5b17] {
  font-size: 13px;
  font-weight: 600;
  color: #606266;
  margin-bottom: 8px;
}
.detail__content[data-v-f1cf5b17] {
  font-size: 14px;
  color: #303133;
  line-height: 1.7;
  white-space: pre-wrap;
  word-break: break-word;
  background: #f7f8fa;
  border-radius: 6px;
  padding: 12px;
}
.detail__imgs[data-v-f1cf5b17] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.detail__img[data-v-f1cf5b17] {
  width: 100px;
  height: 100px;
  border-radius: 6px;
}
.detail__actions[data-v-f1cf5b17] {
  margin-top: 20px;
  text-align: right;
}

/* 备注区域 */
.notes-section[data-v-f1cf5b17] {
  background: #f7f8fa;
  border-radius: 6px;
  padding: 12px;
}
.notes-empty[data-v-f1cf5b17] {
  color: #909399;
  font-size: 13px;
  text-align: center;
  padding: 16px 0;
}
.notes-list[data-v-f1cf5b17] {
  max-height: 300px;
  overflow-y: auto;
  margin-bottom: 12px;
}
.note-item[data-v-f1cf5b17] {
  padding: 10px 0;
  border-bottom: 1px dashed #e4e7ed;
}
.note-item[data-v-f1cf5b17]:last-child {
  border-bottom: none;
}
.note-item__header[data-v-f1cf5b17] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.note-item__admin[data-v-f1cf5b17] {
  font-size: 13px;
  font-weight: 600;
  color: #303133;
}
.note-item__time[data-v-f1cf5b17] {
  font-size: 12px;
  color: #909399;
  flex: 1;
}
.note-item__delete[data-v-f1cf5b17] {
  font-size: 12px;
}
.note-item__content[data-v-f1cf5b17] {
  font-size: 13px;
  color: #606266;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
}
.note-input[data-v-f1cf5b17] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.note-input .el-button[data-v-f1cf5b17] {
  align-self: flex-end;
}

.page-header .page-sub[data-v-b2625c2b] {
  font-size: 13px;
  color: #909399;
  font-weight: 400;
  margin-left: 12px;
}
.table-card[data-v-b2625c2b] {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.table-toolbar[data-v-b2625c2b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.toolbar-right[data-v-b2625c2b] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.result-count[data-v-b2625c2b] {
  font-size: 14px;
  color: #606266;
}
.result-count strong[data-v-b2625c2b] {
  color: #409eff;
  font-weight: 600;
}
.sales-name[data-v-b2625c2b] {
  font-weight: 600;
  color: #303133;
}

/* 销售/代理 ID（users.id）：等宽数字便于比对，弱化颜色避免抢视觉 */
.user-id[data-v-b2625c2b] {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  color: #606266;
}
.superior-name[data-v-b2625c2b] {
  color: #303133;
}
.superior-role[data-v-b2625c2b] {
  margin-left: 6px;
  font-size: 12px;
  color: #909399;
}
.count-num[data-v-b2625c2b] {
  font-weight: 700;
  color: #6c63ff;
}
.count-num--team[data-v-b2625c2b] {
  color: #10b981;
}
.sub-line[data-v-b2625c2b] {
  font-size: 12px;
  color: #c0c4cc;
  margin-top: 2px;
}
.toolbar-hint[data-v-b2625c2b] {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #ebeef5;
  font-size: 12px;
  color: #c0c4cc;
}

/* ===== 推广二维码弹窗 ===== */
.qrcode-dialog[data-v-b2625c2b] {
  min-height: 300px;
}
.qrcode-grid[data-v-b2625c2b] {
  display: flex;
  gap: 20px;
  justify-content: center;
}
.qrcode-panel[data-v-b2625c2b] {
  flex: 1;
  max-width: 320px;
  border: 1px solid #ebeef5;
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.qrcode-panel__title[data-v-b2625c2b] {
  font-size: 15px;
  font-weight: 700;
  color: #303133;
}
.qrcode-panel__desc[data-v-b2625c2b] {
  font-size: 12px;
  color: #909399;
  margin: 6px 0 10px;
  line-height: 1.6;
}
.qrcode-panel__body[data-v-b2625c2b] {
  width: 220px;
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qrcode-panel__img[data-v-b2625c2b] {
  width: 220px;
  height: 220px;
}
.qrcode-panel__empty[data-v-b2625c2b] {
  font-size: 13px;
  color: #c0c4cc;
}
.qrcode-panel__footer[data-v-b2625c2b] {
  margin-top: 10px;
  min-height: 24px;
  display: flex;
  align-items: center;
}
.qrcode-dialog__hint[data-v-b2625c2b] {
  margin-top: 14px;
  font-size: 12px;
  color: #c0c4cc;
  text-align: center;
}

/* 层级底色：顶级 → 二级 → 三级 → 四级及以下，用不同颜色一眼区分上下级。
   el-table 的行背景实际落在 td 上（且固定列会自带背景），故统一用 !important 覆盖 td。 */
[data-v-b2625c2b] .el-table__body tr.org-row-level-0 > td.el-table__cell {
  background-color: #e8f0ff !important;
}
[data-v-b2625c2b] .el-table__body tr.org-row-level-0:hover > td.el-table__cell {
  background-color: #d6e4ff !important;
}
[data-v-b2625c2b] .el-table__body tr.org-row-level-1 > td.el-table__cell {
  background-color: #e9f9ef !important;
}
[data-v-b2625c2b] .el-table__body tr.org-row-level-1:hover > td.el-table__cell {
  background-color: #d4f0df !important;
}
[data-v-b2625c2b] .el-table__body tr.org-row-level-2 > td.el-table__cell {
  background-color: #fff6e5 !important;
}
[data-v-b2625c2b] .el-table__body tr.org-row-level-2:hover > td.el-table__cell {
  background-color: #ffe9c7 !important;
}
[data-v-b2625c2b] .el-table__body tr.org-row-level-3 > td.el-table__cell {
  background-color: #f4edff !important;
}
[data-v-b2625c2b] .el-table__body tr.org-row-level-3:hover > td.el-table__cell {
  background-color: #e7d9ff !important;
}

/* 左侧色条进一步强化层级归属 */
[data-v-b2625c2b] .el-table__body tr.org-row-level-0 > td.el-table__cell:first-child {
  box-shadow: inset 3px 0 0 #4a7cff;
}
[data-v-b2625c2b] .el-table__body tr.org-row-level-1 > td.el-table__cell:first-child {
  box-shadow: inset 3px 0 0 #2fbf71;
}
[data-v-b2625c2b] .el-table__body tr.org-row-level-2 > td.el-table__cell:first-child {
  box-shadow: inset 3px 0 0 #f0a020;
}
[data-v-b2625c2b] .el-table__body tr.org-row-level-3 > td.el-table__cell:first-child {
  box-shadow: inset 3px 0 0 #9b6bff;
}
.summary-row[data-v-95be6d63] {
  display: flex;
  gap: 14px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.summary-card[data-v-95be6d63] {
  flex: 1;
  min-width: 210px;
  border-radius: 8px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.summary-card__num[data-v-95be6d63] {
  font-size: 22px;
  font-weight: 700;
}
.summary-card__label[data-v-95be6d63] {
  font-size: 13px;
  color: #606266;
}
.summary-card__sub[data-v-95be6d63] {
  font-size: 12px;
  color: #909399;
  line-height: 1.5;
}
.table-card[data-v-95be6d63] {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.table-toolbar[data-v-95be6d63] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 16px;
}
.toolbar-hint[data-v-95be6d63] {
  font-size: 12px;
  color: #c0c4cc;
}
.hidden-hint[data-v-95be6d63] {
  font-size: 12px;
  color: #e6a23c;
}
.toolbar-right[data-v-95be6d63] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.result-count[data-v-95be6d63] {
  font-size: 14px;
  color: #606266;
}
.result-count strong[data-v-95be6d63] {
  color: #409eff;
  font-weight: 600;
}
.sales-name[data-v-95be6d63] {
  font-weight: 600;
  color: #303133;
}
.count-num[data-v-95be6d63] {
  font-weight: 700;
  color: #6c63ff;
}
.count-num--add[data-v-95be6d63] {
  color: #10b981;
}
.sub-num[data-v-95be6d63] {
  font-weight: 600;
  font-size: 13px;
}
.sub-direct[data-v-95be6d63] { color: #409eff;
}
.sub-fission[data-v-95be6d63] { color: #e6a23c;
}
.sub-admin[data-v-95be6d63] { color: #10b981;
}
.sub-agent[data-v-95be6d63] { color: #909399;
}
.amount-num[data-v-95be6d63] {
  font-weight: 700;
  color: #e6a23c;
}
.text-muted[data-v-95be6d63] {
  color: #c0c4cc;
}
.pagination-wrapper[data-v-95be6d63] {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #ebeef5;
}

/* 趋势弹窗 */
.page-header .page-sub[data-v-95be6d63] {
  font-size: 13px;
  color: #909399;
  font-weight: 400;
  margin-left: 12px;
}
.trend-range[data-v-95be6d63] {
  font-size: 13px;
  color: #909399;
  margin-bottom: 8px;
}
.trend-chart[data-v-95be6d63] {
  width: 100%;
  height: 400px;
}
.trend-legend[data-v-95be6d63] {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.tl-item[data-v-95be6d63] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #606266;
}
.tl-hint[data-v-95be6d63] {
  color: #c0c4cc;
  margin-left: auto;
}
.dot[data-v-95be6d63] {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  display: inline-block;
}
.dot--direct[data-v-95be6d63] { background: #409eff;
}
.dot--fission[data-v-95be6d63] { background: #e6a23c;
}
.dot--admin[data-v-95be6d63] { background: #10b981;
}
.dot--agent[data-v-95be6d63] { background: #c0c4cc;
}
.dot--line[data-v-95be6d63] { background: #6c63ff; border-radius: 50%;
}

/* ===== 视觉分区：列组配色（表头深 / 数据区浅，同色系）+ 隔行区分 ===== */
/* 表头：发展会员=蓝 / 区间新增=绿 / 成交单数=橙 / 销售额=紫 */
[data-v-95be6d63] .el-table__header th.grp-base.el-table__cell { background-color: #e9edf4;
}
[data-v-95be6d63] .el-table__header th.grp-member.el-table__cell { background-color: #c3d9ff;
}
[data-v-95be6d63] .el-table__header th.grp-added.el-table__cell { background-color: #bfe8d2;
}
[data-v-95be6d63] .el-table__header th.grp-order.el-table__cell { background-color: #ffdca6;
}
[data-v-95be6d63] .el-table__header th.grp-amount.el-table__cell { background-color: #dacbff;
}
[data-v-95be6d63] .el-table__header th.grp-member.el-table__cell,[data-v-95be6d63] .el-table__header th.grp-added.el-table__cell,[data-v-95be6d63] .el-table__header th.grp-order.el-table__cell,[data-v-95be6d63] .el-table__header th.grp-amount.el-table__cell {
  color: #1f2d3d;
  font-weight: 600;
}

/* 数据区：与表头同色系的淡底，便于按区域横向读数 */
[data-v-95be6d63] .el-table__body td.grp-base.el-table__cell { background-color: #ffffff;
}
[data-v-95be6d63] .el-table__body td.grp-member.el-table__cell { background-color: #eef4ff;
}
[data-v-95be6d63] .el-table__body td.grp-added.el-table__cell { background-color: #ecfaf2;
}
[data-v-95be6d63] .el-table__body td.grp-order.el-table__cell { background-color: #fff7ea;
}
[data-v-95be6d63] .el-table__body td.grp-amount.el-table__cell { background-color: #f4efff;
}

/* 隔行区分：奇数行叠一层浅灰（浮在列组底色之上，不遮文字），相邻行一眼可分 */
[data-v-95be6d63] .el-table__body tr.row-odd > td.el-table__cell {
  background-image: linear-gradient(rgba(15, 23, 42, 0.06), rgba(15, 23, 42, 0.06));
}

/* 按时间统计的列组：表头标题下补一行统计时间区间 */
.grp-hd[data-v-95be6d63] {
  line-height: 1.25;
}
.grp-hd__title[data-v-95be6d63] {
  font-weight: 600;
}
.grp-hd__range[data-v-95be6d63] {
  font-size: 11px;
  font-weight: 400;
  color: #4b5563;
  white-space: nowrap;
}

.page-sub[data-v-0407bac4] {
  margin-left: 12px;
  font-size: 13px;
  color: #909399;
  font-weight: normal;
}
.follow-tabs[data-v-0407bac4] {
  margin-bottom: 6px;
}

/* 客服工作台队列条：待联系 X/10 + 公共池剩余 + 自动补齐 */
.queue-bar[data-v-0407bac4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #f0f7ff;
  border: 1px solid #d9ecff;
  border-radius: 8px;
  padding: 10px 16px;
  margin-bottom: 12px;
}
.queue-bar__info[data-v-0407bac4] {
  font-size: 13px;
  color: #606266;
}
.queue-bar__info strong[data-v-0407bac4] {
  color: #409eff;
  font-weight: 700;
}
.queue-bar__sep[data-v-0407bac4] {
  margin: 0 8px;
  color: #c0c4cc;
}
.tab-count[data-v-0407bac4] {
  margin-left: 6px;
  color: #409EFF;
  font-size: 12px;
}
.table-card[data-v-0407bac4] {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.table-toolbar[data-v-0407bac4] {
  margin-bottom: 16px;
}
.result-count[data-v-0407bac4] {
  font-size: 14px;
  color: #606266;
}
.result-count strong[data-v-0407bac4] {
  color: #409EFF;
  font-weight: 600;
}
.user-cell[data-v-0407bac4] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.user-cell__name[data-v-0407bac4] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
}
.user-cell__phone[data-v-0407bac4] {
  font-size: 12px;
  color: #909399;
}
.tag-item[data-v-0407bac4] {
  margin-right: 4px;
}
.tag-more[data-v-0407bac4] {
  font-size: 12px;
  color: #909399;
}
.text-muted[data-v-0407bac4] { color: #C0C4CC;
}
.pagination-wrapper[data-v-0407bac4] {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #ebeef5;
}

/* 详情 */
.detail__head[data-v-0407bac4] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f5f5f5;
}
.detail__avatar[data-v-0407bac4] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #EDEBFF;
  color: #6C63FF;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.detail__avatar img[data-v-0407bac4] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.detail__info[data-v-0407bac4] {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.detail__release[data-v-0407bac4] {
  margin-left: auto;
  flex-shrink: 0;
}
.detail__name[data-v-0407bac4] {
  font-size: 16px;
  font-weight: 700;
  color: #303133;
}
.detail__phone[data-v-0407bac4] {
  font-size: 12px;
  color: #909399;
}
.detail__src-row[data-v-0407bac4] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.detail__realname[data-v-0407bac4] {
  font-size: 12px;
  color: #909399;
}
.detail__block[data-v-0407bac4] {
  margin-top: 16px;
}

/* 双列布局：抽屉加宽到 80% 后，把档案/资料/标记与使用情况/跟进动作分两列，
   尽量一屏看全，减少纵向滚动。窄屏（抽屉 < 约 1200px）退回单列。 */
.detail__cols[data-v-0407bac4] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 24px;
  align-items: start;
}
.detail__col[data-v-0407bac4] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
@media (max-width: 1280px) {
.detail__cols[data-v-0407bac4] {
    grid-template-columns: 1fr;
}
}
.detail__block-title[data-v-0407bac4] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
  margin-bottom: 10px;
}
.detail__save[data-v-0407bac4] {
  text-align: right;
  margin-top: 8px;
}
.detail__follow-row[data-v-0407bac4] {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

/* 专属老师推送行 */
.push-row[data-v-0407bac4] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.push-row__hint[data-v-0407bac4] {
  flex: 1;
  font-size: 12px;
  color: #909399;
  line-height: 1.6;
}
.detail__empty[data-v-0407bac4] {
  text-align: center;
  color: #C0C4CC;
  font-size: 13px;
  padding: 20px 0;
}
.follow-list[data-v-0407bac4] {
  max-height: 40vh;
  overflow-y: auto;
}
.follow-item[data-v-0407bac4] {
  padding: 10px 0;
  border-bottom: 1px solid #f5f5f5;
}
.follow-item__head[data-v-0407bac4] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.follow-item__type[data-v-0407bac4] {
  font-size: 11px;
  color: #6C63FF;
  background: #F0EDFF;
  padding: 2px 8px;
  border-radius: 10px;
}
.follow-item__follower[data-v-0407bac4] {
  font-size: 12px;
  color: #606266;
  font-weight: 600;
}
.follow-item__time[data-v-0407bac4] {
  margin-left: auto;
  font-size: 11px;
  color: #C0C4CC;
}
.follow-item__content[data-v-0407bac4] {
  font-size: 13px;
  color: #303133;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
}

/* 会员档案 */
.profile-desc[data-v-0407bac4] {
  background: #fff;
}
.profile-desc[data-v-0407bac4] .el-descriptions__label {
  width: 92px;
  color: #909399;
}

/* 在读学校：档案单元格内联可改（保留默认边框，让「可修改」一眼可见） */
.profile-desc__school[data-v-0407bac4] {
  width: 100%;
}

/* 使用情况 */
.usage-stats[data-v-0407bac4] {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.usage-stat[data-v-0407bac4] {
  flex: 1;
  min-width: 90px;
  background: #f7f8fa;
  border-radius: 8px;
  padding: 8px 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}
.usage-stat__value[data-v-0407bac4] {
  font-size: 17px;
  font-weight: 700;
}
.usage-stat__label[data-v-0407bac4] {
  font-size: 11px;
  color: #909399;
}
.usage-subject[data-v-0407bac4] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}
.usage-subject__label[data-v-0407bac4] {
  font-size: 12px;
  color: #606266;
  flex-shrink: 0;
}
.usage-subject__tag[data-v-0407bac4] {
  margin-right: 0;
}
.usage-subject__more[data-v-0407bac4] {
  font-size: 12px;
  color: #c0c4cc;
}
.usage-grid[data-v-0407bac4] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.usage-item[data-v-0407bac4] {
  background: #f7f8fa;
  border-radius: 6px;
  padding: 7px 10px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.usage-item__label[data-v-0407bac4] {
  font-size: 11px;
  color: #909399;
}
.usage-item__value[data-v-0407bac4] {
  font-size: 15px;
  font-weight: 700;
  color: #303133;
}

.page-sub[data-v-f689bced] {
  margin-left: 12px;
  font-size: 13px;
  color: #909399;
  font-weight: normal;
}
.summary-row[data-v-f689bced] {
  display: flex;
  gap: 14px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.summary-card[data-v-f689bced] {
  flex: 1;
  min-width: 150px;
  border-radius: 8px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.summary-card__num[data-v-f689bced] {
  font-size: 22px;
  font-weight: 700;
}
.summary-card__label[data-v-f689bced] {
  font-size: 13px;
  color: #606266;
}
.summary-card__sub[data-v-f689bced] {
  font-size: 12px;
  color: #909399;
}
.table-card[data-v-f689bced] {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.table-toolbar[data-v-f689bced] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 16px;
  gap: 12px;
}
.result-count[data-v-f689bced] {
  font-size: 14px;
  color: #606266;
}
.result-count strong[data-v-f689bced] {
  color: #409eff;
  font-weight: 600;
}
.toolbar-hint[data-v-f689bced] {
  font-size: 12px;
  color: #c0c4cc;
}
.service-cell[data-v-f689bced] {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.service-cell__name[data-v-f689bced] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
}
.service-cell__meta[data-v-f689bced] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.service-cell__account[data-v-f689bced] {
  font-size: 12px;
  color: #909399;
}
.user-cell[data-v-f689bced] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.user-cell__name[data-v-f689bced] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
}
.user-cell__phone[data-v-f689bced] {
  font-size: 12px;
  color: #909399;
}
.count-num[data-v-f689bced] {
  font-weight: 700;
  color: #6c63ff;
}
.count-num--add[data-v-f689bced] {
  color: #10b981;
}
.sub-num[data-v-f689bced] {
  font-weight: 600;
  font-size: 13px;
}
.sub-new[data-v-f689bced] { color: #909399;
}
.sub-following[data-v-f689bced] { color: #409eff;
}
.sub-converted[data-v-f689bced] { color: #67c23a;
}
.sub-lost[data-v-f689bced] { color: #f56c6c;
}
.sub-overdue[data-v-f689bced] { color: #f56c6c;
}
.rate-num[data-v-f689bced] {
  font-weight: 700;
  color: #e6a23c;
}
.text-muted[data-v-f689bced] {
  color: #c0c4cc;
}
.pagination-wrapper[data-v-f689bced] {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #ebeef5;
}

/* ===== 详情弹窗 ===== */
.detail__range[data-v-f689bced] {
  font-size: 13px;
  color: #909399;
  margin-bottom: 12px;
}
.detail__cards[data-v-f689bced] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.detail-card[data-v-f689bced] {
  flex: 1;
  min-width: 118px;
  border-radius: 8px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.detail-card__num[data-v-f689bced] {
  font-size: 20px;
  font-weight: 700;
}
.detail-card__label[data-v-f689bced] {
  font-size: 12px;
  color: #606266;
}
.detail__grid[data-v-f689bced] {
  display: flex;
  gap: 14px;
  align-items: stretch;
}
.detail__panel[data-v-f689bced] {
  background: #fff;
  border: 1px solid #ebeef5;
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 14px;
  flex: 1;
  min-width: 0;
}
.detail__panel--chart[data-v-f689bced] {
  flex: 1.6;
}
.detail__panel-title[data-v-f689bced] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
  margin-bottom: 10px;
}
.detail__panel-head[data-v-f689bced] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  gap: 12px;
  flex-wrap: wrap;
}
.member-filters[data-v-f689bced] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.dist-row[data-v-f689bced] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.dist-row__label[data-v-f689bced] {
  width: 52px;
  font-size: 12px;
  color: #606266;
  flex-shrink: 0;
}
.dist-row__bar[data-v-f689bced] {
  flex: 1;
}
.dist-row__value[data-v-f689bced] {
  width: 36px;
  text-align: right;
  font-size: 13px;
  font-weight: 600;
  color: #303133;
  flex-shrink: 0;
}
.trend-chart[data-v-f689bced] {
  width: 100%;
  height: 250px;
}
.trend-legend[data-v-f689bced] {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 6px;
  flex-wrap: wrap;
}
.tl-item[data-v-f689bced] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #606266;
}
.dot[data-v-f689bced] {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  display: inline-block;
}
.dot--added[data-v-f689bced] { background: #10b981;
}
.dot--follow[data-v-f689bced] { background: #6c63ff;
}
.dot--line[data-v-f689bced] { background: #e6a23c; border-radius: 50%;
}
.recent-list[data-v-f689bced] {
  max-height: 240px;
  overflow-y: auto;
}
.recent-item[data-v-f689bced] {
  padding: 8px 0;
  border-bottom: 1px solid #f5f5f5;
}
.recent-item__who[data-v-f689bced] {
  font-size: 13px;
  font-weight: 600;
  color: #303133;
}
.recent-item__who i[data-v-f689bced] {
  font-style: normal;
  font-weight: 400;
  color: #909399;
}
.recent-item__type[data-v-f689bced] {
  margin-left: 8px;
  font-size: 11px;
  color: #6c63ff;
  background: #f0edff;
  padding: 1px 8px;
  border-radius: 10px;
}
.recent-item__time[data-v-f689bced] {
  float: right;
  font-size: 11px;
  color: #c0c4cc;
}
.recent-item__content[data-v-f689bced] {
  margin-top: 4px;
  font-size: 13px;
  color: #303133;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
}

/* ===== 会员详情弹窗 ===== */
.member-detail .detail__head[data-v-f689bced] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f5f5f5;
}
.member-detail .detail__avatar[data-v-f689bced] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #edebff;
  color: #6c63ff;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.member-detail .detail__avatar img[data-v-f689bced] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.member-detail .detail__info[data-v-f689bced] {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.member-detail .detail__name[data-v-f689bced] {
  font-size: 16px;
  font-weight: 700;
  color: #303133;
}
.member-detail .detail__phone[data-v-f689bced] {
  font-size: 12px;
  color: #909399;
}
.member-detail .detail__src-row[data-v-f689bced] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.member-detail .detail__realname[data-v-f689bced] {
  font-size: 12px;
  color: #909399;
}
.member-detail .detail__block[data-v-f689bced] {
  margin-top: 16px;
}
.member-detail .detail__block-title[data-v-f689bced] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
  margin-bottom: 10px;
}
.member-detail .detail__empty[data-v-f689bced] {
  text-align: center;
  color: #c0c4cc;
  font-size: 13px;
  padding: 20px 0;
}
.member-detail .follow-list[data-v-f689bced] {
  max-height: 34vh;
  overflow-y: auto;
}
.member-detail .follow-item[data-v-f689bced] {
  padding: 10px 0;
  border-bottom: 1px solid #f5f5f5;
}
.member-detail .follow-item__head[data-v-f689bced] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.member-detail .follow-item__type[data-v-f689bced] {
  font-size: 11px;
  color: #6c63ff;
  background: #f0edff;
  padding: 2px 8px;
  border-radius: 10px;
}
.member-detail .follow-item__follower[data-v-f689bced] {
  font-size: 12px;
  color: #606266;
  font-weight: 600;
}
.member-detail .follow-item__time[data-v-f689bced] {
  margin-left: auto;
  font-size: 11px;
  color: #c0c4cc;
}
.member-detail .follow-item__content[data-v-f689bced] {
  font-size: 13px;
  color: #303133;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
}
.usage-stats[data-v-f689bced] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.usage-stat[data-v-f689bced] {
  flex: 1;
  min-width: 90px;
  background: #f7f8fa;
  border-radius: 8px;
  padding: 8px 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}
.usage-stat__value[data-v-f689bced] {
  font-size: 17px;
  font-weight: 700;
}
.usage-stat__label[data-v-f689bced] {
  font-size: 11px;
  color: #909399;
}

.filter-card[data-v-51dc1c81] {
  margin-bottom: 12px;
}
.sales-tip[data-v-51dc1c81] {
  margin-left: 10px;
  font-size: 12px;
  color: var(--el-text-color-secondary);
}
.pagination[data-v-51dc1c81] {
  margin-top: 12px;
  justify-content: flex-end;
}
.spec-block[data-v-51dc1c81] {
  background: var(--el-fill-color-lighter);
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 8px;
}
.spec-block__row[data-v-51dc1c81] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.spec-block__values[data-v-51dc1c81] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.spec-value-tag[data-v-51dc1c81] {
  font-size: 13px;
}
.spec-readonly-tip[data-v-51dc1c81] {
  font-size: 12px;
  color: var(--el-text-color-secondary);
}
.sku-empty[data-v-51dc1c81] {
  color: var(--el-text-color-secondary);
  font-size: 13px;
  padding: 8px 0;
}
.sku-actions[data-v-51dc1c81] {
  margin-top: 6px;
  display: flex;
  gap: 16px;
}
.sku-tip[data-v-51dc1c81] {
  margin-top: 12px;
}

.stats-row[data-v-53e7a09e] {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}
.stat-card[data-v-53e7a09e] {
  flex: 1;
}
.stat-card[data-v-53e7a09e] .el-card__body {
  padding: 14px 18px;
}
.stat-card__label[data-v-53e7a09e] {
  font-size: 13px;
  color: var(--el-text-color-secondary);
  margin-bottom: 4px;
}
.stat-card__value[data-v-53e7a09e] {
  font-size: 22px;
  font-weight: 700;
  color: #1e1b38;
}
.stat-card__value--primary[data-v-53e7a09e] {
  color: var(--el-color-primary);
}
.filter-card[data-v-53e7a09e] {
  margin-bottom: 12px;
}
.order-tabs[data-v-53e7a09e] {
  margin-bottom: 4px;
}
.order-tabs[data-v-53e7a09e] .el-tabs__header {
  margin-bottom: 12px;
}
.pagination[data-v-53e7a09e] {
  margin-top: 12px;
  justify-content: flex-end;
}
.muted[data-v-53e7a09e] {
  color: #909399;
  font-size: 12px;
}
.delivery-flags[data-v-53e7a09e] {
  margin-top: 2px;
}
.ml-8[data-v-53e7a09e] {
  margin-left: 8px;
}
.mb-12[data-v-53e7a09e] {
  margin-bottom: 12px;
}
.logistics-toolbar[data-v-53e7a09e] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.region-row[data-v-53e7a09e] {
  display: flex;
  gap: 8px;
}
.pay-amount[data-v-53e7a09e] {
  color: #ff6b35;
  font-weight: 700;
  font-size: 16px;
}
.remark-text[data-v-53e7a09e] {
  background: var(--el-fill-color-lighter);
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--el-text-color-regular);
}
.buyer-card[data-v-53e7a09e] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 8px;
  background: var(--el-fill-color-lighter);
  transition: all 0.2s;
}
.buyer-card.is-clickable[data-v-53e7a09e] {
  cursor: pointer;
}
.buyer-card.is-clickable[data-v-53e7a09e]:hover {
  border-color: var(--el-color-primary-light-5);
  background: var(--el-color-primary-light-9);
}
.buyer-avatar[data-v-53e7a09e] {
  flex: none;
  background: var(--el-color-primary-light-3);
  color: #fff;
}
.buyer-info[data-v-53e7a09e] {
  min-width: 0;
}
.buyer-name[data-v-53e7a09e] {
  font-size: 14px;
  font-weight: 600;
  color: #1e1b38;
}
.buyer-link[data-v-53e7a09e] {
  margin-left: 8px;
  font-size: 12px;
  font-weight: 400;
  color: var(--el-color-primary);
}
.buyer-meta[data-v-53e7a09e] {
  margin-top: 2px;
  font-size: 12px;
  color: #909399;
}
.buyer-dot[data-v-53e7a09e] {
  margin: 0 4px;
}

.section-tip[data-v-22930859] {
  font-size: 13px;
  color: #909399;
  margin-bottom: 16px;
}
.form-tip[data-v-22930859] {
  margin-left: 8px;
  font-size: 12px;
  color: #909399;
}

.plan-card[data-v-0cb6ac46] {
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
  border: 2px solid #ebeef5;
}
.plan-card[data-v-0cb6ac46]:hover, .plan-active[data-v-0cb6ac46] {
  border-color: #409EFF;
}
.plan-header[data-v-0cb6ac46] {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 12px;
}
.plan-price[data-v-0cb6ac46] {
  font-size: 36px;
  font-weight: 700;
  color: #303133;
  margin-bottom: 8px;
}
.price-symbol[data-v-0cb6ac46] {
  font-size: 20px;
  vertical-align: super;
}
.plan-desc[data-v-0cb6ac46] {
  font-size: 13px;
  color: #909399;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.month-label[data-v-0cb6ac46] { margin-right: 8px;
}
.save-tag[data-v-0cb6ac46] {
  color: #E6A23C;
  font-weight: 600;
}
.stat-item[data-v-0cb6ac46] { text-align: center; padding: 8px 0;
}
.stat-label[data-v-0cb6ac46] { font-size: 13px; color: #909399; margin-bottom: 8px;
}
.stat-value[data-v-0cb6ac46] { font-size: 28px; font-weight: 700;
}
.token-text[data-v-0cb6ac46] { color: #409EFF;
}
.server-date[data-v-0cb6ac46] { color: #67C23A;
}
.expired-text[data-v-0cb6ac46] { color: #F56C6C;
}
.expired-hint[data-v-0cb6ac46] { font-size: 12px; color: #F56C6C; margin-top: 4px;
}
.form-card[data-v-0cb6ac46] { margin-bottom: 16px;
}
.qr-container[data-v-0cb6ac46] { text-align: center; padding: 16px 0;
}
.qr-amount[data-v-0cb6ac46] { margin-bottom: 20px;
}
.qr-label[data-v-0cb6ac46] { font-size: 14px; color: #909399; margin-right: 12px;
}
.qr-price[data-v-0cb6ac46] { font-size: 28px; font-weight: 700; color: #E6A23C;
}
.qr-code-wrapper[data-v-0cb6ac46] {
  width: 280px; height: 280px;
  margin: 0 auto 16px;
  display: flex; align-items: center; justify-content: center;
  background: #f5f7fa; border-radius: 8px;
}
.qr-code[data-v-0cb6ac46] { width: 240px; height: 240px;
}
.qr-loading[data-v-0cb6ac46] { color: #909399;
}
.qr-tip[data-v-0cb6ac46] { font-size: 14px; color: #909399; margin-bottom: 8px;
}
.qr-status[data-v-0cb6ac46] { font-size: 13px; color: #909399;
}
.qr-success[data-v-0cb6ac46] { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 16px; font-weight: 600; color: #67C23A;
}

/* 余额拆解 / OSS流量 */
.stat-sub[data-v-0cb6ac46] { font-size: 12px; color: #909399; margin-top: 4px;
}
.breakdown-strip[data-v-0cb6ac46] { display: flex; align-items: stretch;
}
.breakdown-item[data-v-0cb6ac46] {
  flex: 1;
  text-align: center;
  padding: 4px 12px;
}
.breakdown-item + .breakdown-item[data-v-0cb6ac46] { border-left: 1px dashed #ebeef5;
}
.breakdown-value[data-v-0cb6ac46] { font-size: 22px; font-weight: 700;
}
.oss-text[data-v-0cb6ac46] { color: #E6A23C;
}
.oss-value[data-v-0cb6ac46] { font-size: 22px;
}
.oss-actions[data-v-0cb6ac46] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 16px;
}
.oss-actions-hint[data-v-0cb6ac46] { font-size: 12px; color: #909399;
}
.card-header-flex[data-v-0cb6ac46] { display: flex; align-items: center; justify-content: space-between;
}
.dist-title[data-v-0cb6ac46] { font-size: 13px; font-weight: 600; color: #606266; margin-bottom: 8px;
}
.oss-refund-amount[data-v-0cb6ac46] { color: #67C23A; font-weight: 600;
}
.settle-result[data-v-0cb6ac46] { margin-top: 12px;
}
.json-block[data-v-0cb6ac46] {
  margin: 12px 0 0;
  padding: 12px;
  max-height: 320px;
  overflow: auto;
  background: #f5f7fa;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1.6;
  color: #303133;
  white-space: pre-wrap;
  word-break: break-all;
}
.probe-empty[data-v-0cb6ac46] { font-size: 13px; color: #909399; padding: 12px 0;
}
.form-hint[data-v-0cb6ac46] { font-size: 12px; color: #909399; margin-left: 8px;
}

.toolbar[data-v-fcfb858c] {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.svc-user[data-v-fcfb858c] {
  font-size: 14px;
  font-weight: 600;
  color: #303133;
  text-align: center;
  margin-bottom: 16px;
}
.svc-tip[data-v-fcfb858c] {
  margin-left: 8px;
  font-size: 12px;
  color: #909399;
  line-height: 1.5;
}
.svc-qr-row[data-v-fcfb858c] {
  display: flex;
  gap: 14px;
  align-items: center;
}
.svc-none[data-v-fcfb858c] {
  width: 96px;
  height: 96px;
  flex-shrink: 0;
  border: 1px dashed #dcdfe6;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #c0c4cc;
  background: #fafafa;
}
.svc-upload-col[data-v-fcfb858c] {
  display: flex;
  flex-direction: column;
}
.svc-hint[data-v-fcfb858c] {
  font-size: 12px;
  color: #909399;
  line-height: 1.5;
  padding-top: 4px;
}

.permissions-tree[data-v-a0725309] {
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 4px;
  padding: 12px;
  max-height: 380px;
  overflow-y: auto;
  width: 100%;
}
.perm-summary[data-v-a0725309] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 10px;
  font-size: 13px;
  color: #909399;
}
.permission-group[data-v-a0725309] {
  margin-bottom: 12px;
}
.permission-group[data-v-a0725309]:last-child {
  margin-bottom: 0;
}
.perm-count[data-v-a0725309] {
  font-size: 12px;
  color: #c0c4cc;
}
.permission-children[data-v-a0725309] {
  margin-left: 24px;
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.perm-page[data-v-a0725309] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.perm-actions[data-v-a0725309] {
  margin-left: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 2px;
}
.perm-actions[data-v-a0725309] .el-checkbox {
  margin-right: 14px;
}
.perm-actions[data-v-a0725309] .el-checkbox__label {
  font-size: 12px;
  color: #606266;
}
