/* HomePage 政务风格样式 - 基于 TailwindCSS 设计理念 */

/* 政务设计系统 - 权威、清爽、严谨、易读性强、无干扰 */
:root {
  /* 政务主色调 - 蓝白配色体现清正、公信、科技感 */
  --gov-primary: #1e40af;        /* 主蓝色 - 权威感 */
  --gov-primary-light: #3b82f6;  /* 浅主蓝 */
  --gov-primary-dark: #1e3a8a;   /* 深主蓝 */
  --gov-secondary: #64748b;      /* 辅助灰蓝 */

  /* 政务功能色彩 - 简约实用 */
  --gov-success: #059669;        /* 成功绿 */
  --gov-warning: #d97706;        /* 警告橙 */
  --gov-error: #dc2626;          /* 错误红 */
  --gov-info: #0284c7;           /* 信息蓝 */

  /* 政务中性色系 - 清爽简洁 */
  --gov-gray-50: #f8fafc;        /* 最浅背景 */
  --gov-gray-100: #f1f5f9;       /* 浅背景 */
  --gov-gray-200: #e2e8f0;       /* 边框色 */
  --gov-gray-300: #cbd5e1;       /* 分割线 */
  --gov-gray-400: #94a3b8;       /* 辅助文字 */
  --gov-gray-500: #64748b;       /* 次要文字 */
  --gov-gray-600: #475569;       /* 主要文字 */
  --gov-gray-700: #334155;       /* 标题文字 */
  --gov-gray-800: #1e293b;       /* 重要标题 */
  --gov-gray-900: #0f172a;       /* 最深文字 */

  /* 政务背景色 */
  --gov-bg-primary: #ffffff;     /* 主背景 */
  --gov-bg-secondary: #f8fafc;   /* 次背景 */
  --gov-bg-tertiary: #f1f5f9;    /* 三级背景 */
  --gov-bg-accent: #eff6ff;      /* 强调背景 */

  /* 政务阴影 - 轻微、统一 */
  --gov-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --gov-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --gov-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);

  /* 政务圆角 - 统一 rounded-md */
  --gov-radius: 0.5rem;          /* 8px - 统一圆角 */
  --gov-radius-lg: 0.75rem;      /* 12px - 大圆角 */

  /* 政务间距 - 紧凑有序 */
  --gov-spacing-1: 0.25rem;      /* 4px */
  --gov-spacing-2: 0.5rem;       /* 8px */
  --gov-spacing-3: 0.75rem;      /* 12px */
  --gov-spacing-4: 1rem;         /* 16px */
  --gov-spacing-6: 1.5rem;       /* 24px */
  --gov-spacing-8: 2rem;         /* 32px */
  --gov-spacing-12: 3rem;        /* 48px */

  /* 政务字体 - 思源黑体/系统字体 */
  --gov-font-family: "Source Han Sans CN", "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* 统一字体大小分类汇总 - 基于TalentSelfPage规范 */
  /* 5. 小字体 (0.75rem - 0.85rem) - 细节信息 */
  --font-size-detail: 0.75rem;        /* 功能标签、持续时间 */
  --font-size-period: 0.8125rem;      /* 时期文本、统计标签 */

  /* 4. 标准字体 (0.875rem - 0.99rem) - 辅助文本 */
  --font-size-auxiliary: 0.875rem;    /* 统计标签、模块描述、无数据提示 */
  --font-size-filter: 1rem;           /* 筛选标题、表格内容 */

  /* 3. 中等字体 (1rem - 1.4rem) - 内容文本 */
  --font-size-content: 1.1rem;        /* 折叠内容、信息网格 */
  --font-size-module: 1.125rem;       /* 科研统计标题、模块内容标题 */
  --font-size-header: 1.2rem;         /* 折叠头部 */
  --font-size-collapsible: 1.3rem;    /* 折叠标题 */

  /* 2. 大字体 (1.5rem - 1.9rem) - 主标题 */
  --font-size-teacher: 1.5rem;        /* 教师姓名、大型模块标题 */
  --font-size-icon: 1.75rem;          /* 统计图标、模块图标 */
  --font-size-page-title: 1.8rem;     /* 页面主标题 */

  /* 1. 超大字体 (≥2rem) - 统计数字 */
  --font-size-stats: 2rem;            /* 统计卡片数字 */
  --font-size-research: 2.25rem;      /* 科研统计数字 */
  --font-size-avatar: 2.5rem;         /* 头像字母 */

  /* 特殊字体样式 */
  --font-size-summary-title: 1.6rem;  /* 教师总结区域主标题 */
  --font-size-summary-content: 1.2rem; /* 内容文本 */
  --font-size-highlights-title: 1.4rem; /* 亮点标题 */
  --font-size-highlights-content: 1.1rem; /* 亮点内容 */
  --font-size-stat-value: 1.4rem;     /* 统计值 */

  /* 分析报告区域 */
  --font-size-analysis-title: 1.5rem; /* 24px转换为rem */
  --font-size-analysis-number: 1.75rem; /* 28px转换为rem */
  --font-size-analysis-label: 0.875rem; /* 14px转换为rem */
  --font-size-dist-label: 0.8125rem;  /* 13px转换为rem */
}

/* ==================== 页面头部组件 ==================== */

/* 页面头部样式 */
.home-page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3rem;
  padding: 0 1rem;
}

.home-page-title-section {
  flex: 1;
  text-align: center;
}

.home-page-title {
  font-size: 3rem;
  font-weight: 700;
  color: var(--gov-primary);
  margin: 0 0 1rem 0;
  text-shadow: 0 2px 4px rgba(30, 64, 175, 0.1);
}

.home-page-subtitle {
  font-size: 1.2rem;
  color: var(--gov-gray-600);
  margin: 0;
  font-weight: 500;
}

/* 操作按钮通用样式 */
.header-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.header-actions .el-button {
  border-radius: var(--gov-radius);
  font-weight: 500;
  transition: all 0.2s ease;
  box-shadow: var(--gov-shadow-sm);
}

.header-actions .el-button:hover {
  transform: translateY(-1px);
  box-shadow: var(--gov-shadow-md);
}

.header-actions .el-button--primary {
  background-color: var(--gov-primary);
  border-color: var(--gov-primary);
}

.header-actions .el-button--danger {
  background-color: var(--gov-error);
  border-color: var(--gov-error);
}

/* 响应式设计 */
@media (max-width: 768px) {
  .home-page-header {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  
  .home-page-title {
    font-size: 2rem;
  }
  
  .header-actions {
    justify-content: center;
  }
  
  .distribution-header {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  
  .distribution-header h3 {
    justify-content: center;
  }
}

/* 基础容器样式 - 政务风格 */
.content {
  padding: var(--gov-spacing-8);
  width: 100%;
  margin: 0;
  background-color: var(--gov-bg-secondary);
  min-height: calc(100vh - 8rem); /* 最小高度：减去导航栏(8rem)，底栏自然跟随 */
  font-family: var(--gov-font-family);
  color: var(--gov-gray-700);
  line-height: 1.6;
  box-sizing: border-box;
}



.content h2 {
  color: var(--gov-gray-800);
  margin-bottom: var(--gov-spacing-6);
  font-size: var(--font-size-page-title); /* 1.8rem - 页面主标题 */
  font-weight: 600;
  letter-spacing: -0.025em;
}

.content p {
  color: var(--gov-gray-600);
  margin-bottom: var(--gov-spacing-8);
  font-size: var(--font-size-content); /* 1.1rem - 内容文本 */
  line-height: 1.7;
}

/* 用户信息样式 - 政务简洁 */
.user-info {
  background-color: var(--gov-bg-primary);
  border: 1px solid var(--gov-gray-200);
  border-radius: var(--gov-radius-lg);
  padding: var(--gov-spacing-8);
  margin-top: var(--gov-spacing-8);
  box-shadow: var(--gov-shadow-md);
}

.user-info p {
  margin: var(--gov-spacing-3) 0;
  color: var(--gov-gray-600);
  font-size: var(--font-size-auxiliary); /* 0.875rem - 辅助文本 */
}

/* 统计卡片政务风格 - 清爽、权威、无干扰 */
.content .stats-cards {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: clamp(0.75rem, 1.5vw, 1rem);
  margin: clamp(1rem, 4vw, 2rem) 0;
  width: 100%;
  cursor: default;
  /* 确保6列布局的额外保障 */
  grid-auto-rows: minmax(auto, max-content);
  align-items: stretch;
  /* 强制单行显示，防止换行 */
  grid-template-rows: 1fr;
}

/* 确保统计卡片容器及其所有子元素都使用默认指针 */
.content .stats-cards *,
.content .stats-cards .stat-card,
.content .stats-cards .stat-card *,
.content .stats-cards .stat-content,
.content .stats-cards .stat-info,
.content .stats-cards .stat-number,
.content .stats-cards .stat-icon,
.content .stats-cards .stat-icon i {
  cursor: default;
}

/* 超宽屏幕优化 - 保持6列，增加间距 */
@media (min-width: 1600px) {
  .content .stats-cards {
    grid-template-columns: repeat(6, 1fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
    max-width: 1800px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* 大屏幕优化 - 保持6列，增加间距 */
@media (min-width: 1400px) and (max-width: 1599px) {
  .content .stats-cards {
    grid-template-columns: repeat(6, 1fr);
    gap: clamp(1rem, 2vw, 1.5rem);
  }
}

/* 普通桌面屏幕 - 保持6列，标准间距 */
@media (min-width: 1025px) and (max-width: 1399px) {
  .content .stats-cards {
    grid-template-columns: repeat(6, 1fr);
    gap: clamp(0.75rem, 1.5vw, 1rem);
  }
}

/* 中等屏幕优化 - 保持6列，调整间距和内边距 */
@media (min-width: 768px) and (max-width: 1024px) {
  .content .stats-cards {
    grid-template-columns: repeat(6, 1fr);
    gap: clamp(0.5rem, 1vw, 0.75rem);
  }
  
  .stat-card {
    padding: clamp(0.5rem, 1.5vw, 0.75rem);
    min-height: 90px;
  }
  
  .stat-info h3 {
    font-size: clamp(0.65rem, 1.2vw, 0.75rem);
  }
  
  .stat-number {
    font-size: clamp(1rem, 2vw, 1.2rem);
  }
}

/* 移动端适配 - 改为单列布局 */
@media (max-width: 767px) {
  .content .stats-cards {
    grid-template-columns: 1fr;
    gap: clamp(0.75rem, 2vw, 1rem);
  }
  
  .content .stat-card {
    padding: clamp(1rem, 3vw, 1.25rem);
    min-height: 80px;
  }
  
  .stat-info h3 {
    font-size: clamp(0.875rem, 2.5vw, 1rem);
  }
  
  .stat-number {
    font-size: clamp(1.5rem, 4vw, 2rem);
  }
  
  .stat-icon {
    width: 2rem;
    height: 2rem;
    font-size: 1.2rem;
  }
}

.stat-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  position: relative;
  overflow: hidden;
  cursor: default;
  transition: background-color 0.25s ease, border-color 0.25s ease;
  min-height: 120px;
  display: flex;
  align-items: center;
}

/* 移除卡片悬停效果 */

/* 确保卡片内所有元素都使用默认指针 */
.stat-card *,
.stat-card .stat-content,
.stat-card .stat-info,
.stat-card .stat-number,
.stat-card .stat-icon,
.stat-card .stat-icon i {
  cursor: default;
}

.stat-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.stat-info h3 {
  margin: 0 0 0.5rem 0;
  font-size: 0.8rem;
  font-weight: 500;
  color: #64748b;
  text-transform: none;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.stat-number {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0;
  color: #1e40af;
  line-height: 1.2;
}

.stat-icon {
  font-size: 1.5rem;
  opacity: 0.8;
  color: #1e40af;
  background-color: #dbeafe;
  border-radius: 0.5rem;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 统一政务蓝色主题 - 参考TalentPage.vue设计 */
.stat-card .stat-number {
  color: #1e40af;
}

.stat-card .stat-icon {
  color: #1e40af;
  background-color: #dbeafe;
}

/* 悬停效果 - 参考TalentPage.vue设计 */
.stat-card:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
}

/* 快速入口模块样式 */
.quick-access-container {
  background-color: var(--gov-bg-primary);
  border: 1px solid var(--gov-gray-200);
  border-radius: var(--gov-radius-lg);
  padding: clamp(1rem, 3vw, 2rem);
  box-shadow: var(--gov-shadow-md);
  flex: 1;
  min-width: 280px;
  margin: 0;
}

.quick-access-section {
  width: 100%;
}

.quick-access-header {
  margin-bottom: var(--gov-spacing-6);
}

.quick-access-title {
  font-size: var(--font-size-teacher); /* 1.5rem - 大型模块标题 */
  font-weight: 600;
  color: var(--gov-gray-800);
  margin: 0 0 var(--gov-spacing-2) 0;
  display: flex;
  align-items: center;
  gap: var(--gov-spacing-2);
}

.quick-access-title i {
  color: var(--gov-primary);
  font-size: var(--font-size-teacher); /* 1.5rem - 模块图标 */
}

.quick-access-subtitle {
  font-size: var(--font-size-auxiliary); /* 0.875rem - 辅助文本 */
  color: var(--gov-gray-600);
  margin: 0;
}

.quick-access-cards {
  display: flex;
  flex-direction: column;
  gap: clamp(0.5rem, 2vw, 0.75rem);
  width: 100%;
}

.quick-access-card {
  background-color: var(--gov-bg-secondary);
  border: 1px solid var(--gov-gray-200);
  border-radius: var(--gov-radius);
  padding: clamp(0.5rem, 2vw, 0.75rem);
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 2vw, 0.75rem);
  cursor: pointer;
  box-shadow: var(--gov-shadow-sm);
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  min-height: 60px;
}

.quick-access-card:hover {
  background-color: rgba(30, 64, 175, 0.08);
  border-color: var(--gov-primary);
  box-shadow: 0 4px 12px rgba(30, 64, 175, 0.15);
}

.quick-access-card:hover .quick-access-card-title {
  color: var(--gov-primary);
}

.quick-access-card:hover .quick-access-card-desc {
  color: var(--gov-primary-dark);
}

/* 保持图标样式不变 - 用户要求图标不要有变化 */

.quick-access-card:hover .quick-access-arrow i {
  color: var(--gov-primary);
}

.quick-access-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--gov-radius);
  background-color: var(--gov-bg-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.quick-access-icon i {
  font-size: 18px;
  color: var(--gov-primary);
}

.quick-access-content {
  flex: 1;
}

.quick-access-card-title {
  font-size: var(--font-size-auxiliary); /* 0.875rem - 辅助文本 */
  font-weight: 600;
  color: var(--gov-gray-800);
  margin: 0 0 var(--gov-spacing-1) 0;
  line-height: 1.3;
}

.quick-access-card-desc {
  font-size: var(--font-size-period); /* 0.8125rem - 时期文本 */
  color: var(--gov-gray-600);
  margin: 0;
  line-height: 1.3;
}

.quick-access-arrow {
  flex-shrink: 0;
}

.quick-access-arrow i {
  font-size: 16px;
  color: var(--gov-gray-400);
}

/* 快速入口响应式设计 */
@media (max-width: 1200px) {
  .todo-quick-container {
    flex-direction: column;
    gap: clamp(0.75rem, 2vw, 1.5rem);
  }

  .todo-section,
  .quick-access-container {
    flex: 1;
    min-width: unset;
  }

  .quick-access-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: clamp(0.5rem, 2vw, 0.75rem);
  }
}

@media (max-width: 768px) {
  .todo-quick-container {
    gap: clamp(0.5rem, 3vw, 1rem);
    margin: clamp(0.75rem, 3vw, 1.5rem) 0;
  }

  .todo-section,
  .quick-access-container {
    padding: clamp(0.75rem, 3vw, 1.5rem);
  }

  .todo-stats {
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
    gap: clamp(0.25rem, 2vw, 0.5rem);
    padding: clamp(0.25rem, 2vw, 0.5rem);
  }

  .todo-stat-item {
    min-height: 60px;
    padding: clamp(0.25rem, 2vw, 0.5rem);
  }

  .todo-tabs {
    gap: clamp(0.125rem, 1vw, 0.25rem);
    padding: clamp(0.125rem, 1vw, 0.25rem);
  }

  .todo-tab {
    min-width: 60px;
    padding: clamp(0.25rem, 2vw, 0.5rem) clamp(0.5rem, 2vw, 0.75rem);
  }

  .quick-access-cards {
    grid-template-columns: 1fr;
  }

  .quick-access-card {
    min-height: 50px;
  }

  .quick-access-icon {
    width: 32px;
    height: 32px;
  }

  .quick-access-icon i {
    font-size: 16px;
  }
}

/* 图表容器政务风格 - 清晰、专业 */
.chart-container {
  background-color: var(--gov-bg-primary);
  border: 1px solid var(--gov-gray-200);
  border-radius: var(--gov-radius-lg);
  padding: var(--gov-spacing-8);
  margin: var(--gov-spacing-8) 0;
  box-shadow: var(--gov-shadow-md);
}

.chart-header {
  margin-bottom: var(--gov-spacing-6);
  border-bottom: 1px solid var(--gov-gray-200);
  padding-bottom: var(--gov-spacing-4);
}

.chart-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--gov-spacing-6);
  margin-top: var(--gov-spacing-4);
  flex-wrap: wrap;
}

.main-selector {
  min-width: 200px;
}

/* 政务按钮组 - 简洁、清晰 */
.data-type-buttons {
  display: flex;
  gap: var(--gov-spacing-1);
  background-color: var(--gov-gray-100);
  padding: var(--gov-spacing-1);
  border-radius: var(--gov-radius);
  border: 1px solid var(--gov-gray-200);
}

/* 移除Element UI按钮样式覆盖，使用默认样式 */

.chart-header h3 {
  margin: 0;
  font-size: var(--font-size-teacher); /* 1.5rem - 大型模块标题 */
  font-weight: 600;
  color: var(--gov-gray-800);
  display: flex;
  align-items: center;
  gap: var(--gov-spacing-2);
}

.chart-header h3 i {
  font-size: var(--font-size-module); /* 1.125rem - 模块内容标题 */
  color: var(--gov-primary-light);
}

/* 政务标签页 - 线性、简洁 */
.chart-tabs {
  display: flex;
  gap: var(--gov-spacing-1);
  background-color: var(--gov-gray-100);
  padding: var(--gov-spacing-1);
  border-radius: var(--gov-radius);
  border: 1px solid var(--gov-gray-200);
}

.tab-item {
  padding: var(--gov-spacing-3) var(--gov-spacing-4);
  background-color: transparent;
  border-radius: var(--gov-radius);
  cursor: pointer;
  font-size: var(--font-size-auxiliary); /* 0.875rem - 辅助文本 */
  font-weight: 500;
  color: var(--gov-gray-600);

  border: none;
  white-space: nowrap;
}



.tab-item.active {
  background-color: var(--gov-primary);
  color: white;
  box-shadow: var(--gov-shadow-sm);
}

.chart-content {
  position: relative;
  width: 100%;
  min-height: 400px;
  background-color: var(--gov-gray-50);
  border-radius: var(--gov-radius);
  padding: var(--gov-spacing-4);
  margin-top: var(--gov-spacing-4);
  border: 1px solid var(--gov-gray-200);
  display: flex;
  gap: var(--gov-spacing-4);
}

.chart-main {
  flex: 2;
  min-height: 400px;
  position: relative;
}

/* 收起状态下图表占满整个容器 */
.chart-content.stats-collapsed .chart-main {
  flex: 1;
}

/* 切换按钮样式 */
.stats-toggle-btn {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: var(--gov-primary);
  color: white;
  border: none;
  border-radius: var(--gov-radius);
  padding: var(--gov-spacing-2) var(--gov-spacing-3);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: var(--gov-spacing-1);
  font-size: var(--font-size-auxiliary); /* 0.875rem - 辅助文本 */
  box-shadow: var(--gov-shadow-sm);
  transition: all 0.3s ease;
  z-index: 10;
}



.stats-toggle-btn i {
  font-size: var(--font-size-filter); /* 1rem - 筛选标题 */
}

.chart-stats {
  flex: 1;
  background-color: white;
  border-radius: var(--gov-radius);
  padding: var(--gov-spacing-4);
  border: 1px solid var(--gov-gray-200);
  max-height: 400px;
  overflow-y: auto;
  transition: all 0.3s ease;
  opacity: 1;
  transform: translateX(0);
}

/* 收起状态的动画效果 */
.chart-content.stats-collapsed .chart-stats {
  opacity: 0;
  transform: translateX(20px);
}

.stats-header {
  margin-bottom: var(--gov-spacing-3);
  padding-bottom: var(--gov-spacing-2);
  border-bottom: 1px solid var(--gov-gray-200);
}

.stats-header h4 {
  margin: 0;
  color: var(--gov-gray-800);
  font-size: var(--font-size-filter); /* 1rem - 筛选标题 */
  font-weight: 600;
}

.stats-list {
  margin-bottom: var(--gov-spacing-4);
}

.stats-item {
  display: flex;
  align-items: center;
  padding: var(--gov-spacing-2) 0;
  border-bottom: 1px solid var(--gov-gray-100);
  font-size: var(--font-size-auxiliary); /* 0.875rem - 辅助文本 */
}

.stats-item:last-child {
  border-bottom: none;
}

.stats-label {
  color: var(--gov-gray-700);
  font-weight: 500;
  min-width: 80px;
}

.stats-value {
  color: var(--gov-primary);
  font-weight: 600;
  margin-right: var(--gov-spacing-1);
}

.stats-percent {
  color: var(--gov-gray-600);
  font-size: var(--font-size-period); /* 0.8125rem - 时期文本 */
}

.chart {
  width: 100% !important;
  height: 400px !important;
  border-radius: var(--gov-radius);
  min-height: 400px;
  background-color: var(--gov-bg-primary);
}

.chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gov-spacing-4);
  margin-top: var(--gov-spacing-4);
  padding-top: var(--gov-spacing-4);
  border-top: 1px solid var(--gov-gray-200);
}

.legend-item {
  display: flex;
  align-items: center;
  gap: var(--gov-spacing-2);
  padding: var(--gov-spacing-2) var(--gov-spacing-3);
  background-color: var(--gov-gray-50);
  border-radius: var(--gov-radius);
  border: 1px solid var(--gov-gray-200);

}



.legend-color {
  width: 12px;
  height: 12px;
  border-radius: var(--gov-spacing-1);
  box-shadow: var(--gov-shadow-sm);
}

.legend-text {
  font-size: var(--font-size-auxiliary); /* 0.875rem - 辅助文本 */
  font-weight: 500;
  color: var(--gov-gray-700);
}

/* 待办事项和快速入口并排容器 */
.todo-quick-container {
  display: flex;
  gap: clamp(1rem, 3vw, 2rem);
  margin: clamp(1rem, 4vw, 2rem) 0;
  align-items: stretch;
  flex-wrap: wrap;
}

/* 待办事项政务风格 - 严谨、有序 */
.todo-section {
  background-color: var(--gov-bg-primary);
  border: 1px solid var(--gov-gray-200);
  border-radius: var(--gov-radius-lg);
  padding: clamp(1rem, 3vw, 2rem);
  box-shadow: var(--gov-shadow-md);
  flex: 2;
  min-width: 300px;
  margin: 0;
}

.section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: clamp(0.75rem, 3vw, 1.5rem);
  border-bottom: 1px solid var(--gov-gray-200);
  padding-bottom: clamp(0.5rem, 2vw, 1rem);
  flex-wrap: wrap;
  gap: clamp(0.5rem, 2vw, 0.75rem);
}



.section-header h3 {
  margin: 0;
  font-size: clamp(1.125rem, 3vw, 1.5rem);
  font-weight: 600;
  color: var(--gov-gray-800);
  display: flex;
  align-items: center;
  gap: clamp(0.25rem, 1vw, 0.5rem);
  flex: 1;
  min-width: 150px;
}

.section-header h3 i {
  font-size: var(--font-size-module); /* 1.125rem - 模块内容标题 */
  color: var(--gov-primary-light);
}



.header-actions {
  display: flex;
  gap: clamp(0.5rem, 2vw, 0.75rem);
  align-items: center;
  flex-wrap: wrap;
}

/* 确保Element UI按钮样式不被覆盖 */
.header-actions .el-button {
  margin: 0;
}

.todo-actions .el-button {
  margin: 0;
}

/* 待办事项内容区域 */
.todo-content {
  max-height: 500px;
  overflow-y: auto;
  padding-right: var(--gov-spacing-2);
}

/* 待办事项滚动条样式 */
.todo-content::-webkit-scrollbar {
  width: 6px;
}

.todo-content::-webkit-scrollbar-track {
  background-color: var(--gov-gray-100);
  border-radius: var(--gov-spacing-1);
}

.todo-content::-webkit-scrollbar-thumb {
  background-color: var(--gov-gray-300);
  border-radius: var(--gov-spacing-1);
}

.todo-content::-webkit-scrollbar-thumb:hover {
  background-color: var(--gov-primary);
}

/* 政务统计网格 - 整齐、清晰 */
.todo-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: clamp(0.5rem, 2vw, 1rem);
  margin-bottom: clamp(0.75rem, 3vw, 1.5rem);
  padding: clamp(0.5rem, 2vw, 1rem);
  background-color: var(--gov-gray-50);
  border-radius: var(--gov-radius);
  border: 1px solid var(--gov-gray-200);
}

.todo-stat-item {
  text-align: center;
  padding: clamp(0.5rem, 2vw, 0.75rem);
  background-color: var(--gov-bg-primary);
  border-radius: var(--gov-radius);
  border: 1px solid var(--gov-gray-200);
  min-height: 70px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}



.todo-stat-item .stat-number {
  font-size: var(--font-size-teacher); /* 1.5rem - 大型模块标题 */
  font-weight: 700;
  margin-bottom: var(--gov-spacing-1);
  line-height: 1.2;
  color: var(--gov-gray-800);
}

.todo-stat-item .stat-number.urgent {
  color: var(--gov-error);
}

.todo-stat-item .stat-number.pending {
  color: var(--gov-warning);
}

.todo-stat-item .stat-number.completed {
  color: var(--gov-success);
}

.todo-stat-item .stat-label {
  font-size: var(--font-size-detail); /* 0.75rem - 功能标签 */
  font-weight: 500;
  color: var(--gov-gray-500);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* 政务标签页 */
.todo-tabs {
  display: flex;
  gap: clamp(0.25rem, 1vw, 0.25rem);
  margin-bottom: clamp(0.5rem, 2vw, 1rem);
  background-color: var(--gov-gray-100);
  padding: clamp(0.25rem, 1vw, 0.25rem);
  border-radius: var(--gov-radius);
  border: 1px solid var(--gov-gray-200);
  flex-wrap: wrap;
}

.todo-tab {
  padding: clamp(0.5rem, 2vw, 0.75rem) clamp(0.75rem, 3vw, 1rem);
  background-color: transparent;
  border-radius: var(--gov-radius);
  cursor: pointer;
  font-size: var(--font-size-auxiliary);
  font-weight: 500;
  color: var(--gov-gray-600);
  border: none;
  white-space: nowrap;
  flex: 1;
  min-width: 80px;
  text-align: center;
}



.todo-tab.active {
  background-color: var(--gov-primary);
  color: white;
  box-shadow: var(--gov-shadow-sm);
}

/* .todo-items 规则已移除，由父容器控制样式 */



/* 政务待办项目 - 清晰、有序 */
.todo-item {
  display: flex;
  align-items: center;
  gap: var(--gov-spacing-4);
  padding: var(--gov-spacing-4);
  border: 1px solid var(--gov-gray-200);
  border-radius: var(--gov-radius);
  margin-bottom: var(--gov-spacing-3);

  background-color: var(--gov-bg-primary);
  position: relative;
}



.todo-item.completed {
  opacity: 0.7;
  background-color: var(--gov-gray-50);
}

.todo-item.urgent {
  border-left: 3px solid var(--gov-error);
  background-color: rgba(220, 38, 38, 0.02);
}

.todo-checkbox {
  flex-shrink: 0;
}

.todo-content-main {
  flex: 1;
}

.todo-title {
  font-size: var(--font-size-filter); /* 1rem - 筛选标题 */
  font-weight: 500;
  color: var(--gov-gray-800);
  margin-bottom: var(--gov-spacing-2);
  line-height: 1.4;
}

.todo-item.completed .todo-title {
  text-decoration: line-through;
  color: var(--gov-gray-500);
}

.todo-meta {
  display: flex;
  gap: var(--gov-spacing-3);
  align-items: center;
  font-size: var(--font-size-detail); /* 0.75rem - 功能标签 */
  flex-wrap: wrap;
}

/* 政务标签 - 简洁、清晰 */
.todo-type {
  background-color: rgba(5, 150, 105, 0.1);
  color: var(--gov-success);
  padding: var(--gov-spacing-1) var(--gov-spacing-2);
  border-radius: var(--gov-spacing-1);
  font-weight: 500;
  border: 1px solid rgba(5, 150, 105, 0.2);
  font-size: var(--font-size-detail); /* 0.75rem - 功能标签 */
}

.todo-deadline {
  color: var(--gov-gray-500);
  font-weight: 500;
}

.todo-priority {
  padding: var(--gov-spacing-1) var(--gov-spacing-2);
  border-radius: var(--gov-spacing-1);
  font-weight: 500;
  font-size: var(--font-size-detail); /* 0.75rem - 功能标签 */
}

.todo-priority.urgent {
  background-color: rgba(220, 38, 38, 0.1);
  color: var(--gov-error);
  border: 1px solid rgba(220, 38, 38, 0.2);
}

.todo-priority.important {
  background-color: rgba(217, 119, 6, 0.1);
  color: var(--gov-warning);
  border: 1px solid rgba(217, 119, 6, 0.2);
}

.todo-priority.normal {
  background-color: rgba(2, 132, 199, 0.1);
  color: var(--gov-info);
  border: 1px solid rgba(2, 132, 199, 0.2);
}

.todo-actions {
  display: flex;
  flex-direction: column;
  gap: var(--gov-spacing-2);
  align-items: flex-end;
}

/* 空状态 - 政务简洁 */
.empty-todos {
  text-align: center;
  padding: var(--gov-spacing-8);
  color: var(--gov-gray-500);
  background-color: var(--gov-gray-50);
  border-radius: var(--gov-radius);
  border: 1px dashed var(--gov-gray-300);
}

.empty-todos i {
  font-size: var(--font-size-avatar); /* 2.5rem - 头像字母 */
  margin-bottom: var(--gov-spacing-4);
  color: var(--gov-gray-400);
  background-color: var(--gov-gray-200);
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.empty-todos p {
  margin: 0;
  font-size: var(--font-size-filter); /* 1rem - 筛选标题 */
  font-weight: 500;
  color: var(--gov-gray-600);
}

/* 政务响应式设计 - 移动端适配 */
@media (max-width: 1024px) {
  .chart-controls {
    flex-direction: column;
    align-items: stretch;
    gap: var(--gov-spacing-4);
  }

  .data-type-buttons {
    justify-content: center;
  }
}

@media (max-width: 1024px) {
  .charts-grid {
    grid-template-columns: 1fr;
  }

  .charts-grid-2x2 {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }

  .charts-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }

  .mini-chart {
    height: 230px;
  }

  .mini-chart.horizontal-bar {
    height: auto;
    min-height: 160px;
    max-height: 280px;
  }

  .chart-item {
    min-height: 380px;
  }

  .chart-stats-mini {
    max-height: 160px;
  }
}

@media (max-width: 768px) {
  .content {
    padding: var(--gov-spacing-6);
  }

  /* stats-cards样式已在上方统一定义，这里不重复 */

  .chart-container,
  .todo-section {
    padding: var(--gov-spacing-6);
    margin: var(--gov-spacing-6) 0;
  }

  .chart-header h3,
  .section-header h3 {
    font-size: var(--font-size-module); /* 1.125rem - 中等屏幕模块标题 */
  }

  .section-header {
    flex-direction: column;
    align-items: stretch;
    gap: var(--gov-spacing-3);
  }

  .header-actions {
    justify-content: center;
  }

  .todo-content {
    max-height: 400px;
  }

  .todo-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gov-spacing-3);
    padding: var(--gov-spacing-3);
  }

  .todo-stat-item {
    padding: var(--gov-spacing-2);
  }

  .todo-stat-item .stat-number {
    font-size: var(--font-size-collapsible); /* 1.3rem - 中等屏幕待办统计 */
  }

  .todo-item {
    flex-direction: column;
    align-items: stretch;
    gap: var(--gov-spacing-3);
    padding: var(--gov-spacing-3);
  }

  .todo-content-main {
    order: 1;
  }

  .todo-checkbox {
    order: 2;
    align-self: flex-start;
  }

  .todo-actions {
    order: 3;
    flex-direction: row;
    justify-content: center;
    gap: var(--gov-spacing-2);
    align-items: center;
  }

  .chart-tabs,
  .data-type-buttons {
    flex-wrap: wrap;
    justify-content: center;
  }

  .chart-content {
    min-height: 350px;
    flex-direction: column;
  }

  .chart-main {
    min-height: 350px;
  }

  .chart-stats {
    max-height: 200px;
  }

  .stats-toggle-btn {
    top: 5px;
    left: 5px;
    padding: var(--gov-spacing-1) var(--gov-spacing-2);
    font-size: var(--font-size-period); /* 0.8125rem - 中等屏幕切换按钮 */
  }

  /* 在平板尺寸下，收起状态的动画调整 */
  .chart-content.stats-collapsed .chart-stats {
    transform: translateY(-20px);
  }

  .chart {
    height: clamp(320px, 45vh, 380px);
    min-height: 320px;
  }

  /* 响应式网格布局 */
  .charts-grid {
    grid-template-columns: 1fr;
  }

  /* 移动端2x2网格 - 由新的响应式规则处理 */

  /* 移动端3个容器网格改为单列 */
  .charts-grid-3 {
    grid-template-columns: 1fr;
  }

  /* 移动端取消拉长效果 */
  .chart-item-full {
    grid-column: auto;
  }

  /* 平板端图表优化 */
  .mini-chart {
    height: 220px;
  }

  .mini-chart.horizontal-bar {
    height: auto;
    min-height: 150px;
    max-height: 260px;
  }

  .chart-item {
    min-height: 350px;
  }

  /* 平板端数据文字说明区域 */
  .chart-stats-mini {
    max-height: 150px;
    min-height: 100px;
  }
}

@media (max-width: 480px) {
  .content {
    padding: var(--gov-spacing-4);
  }

  /* stats-cards样式已在上方统一定义，这里不重复 */

  .chart-container,
  .todo-section {
    padding: var(--gov-spacing-4);
    margin: var(--gov-spacing-4) 0;
  }

  .todo-stats {
    grid-template-columns: 1fr;
  }

  .todo-content {
    max-height: 300px;
  }

  .chart-content {
    min-height: 300px;
    padding: var(--gov-spacing-2);
    flex-direction: column;
  }

  .chart-main {
    min-height: 300px;
  }

  .chart-stats {
    max-height: 150px;
    padding: var(--gov-spacing-2);
  }

  .stats-item {
    font-size: var(--font-size-period); /* 0.8125rem - 小屏幕统计项 */
  }

  .stats-toggle-btn {
    top: 3px;
    left: 3px;
    padding: var(--gov-spacing-1);
    font-size: var(--font-size-detail); /* 0.75rem - 小屏幕切换按钮 */
  }

  .stats-toggle-btn span {
    display: none; /* 在小屏幕上只显示图标 */
  }

  /* 在手机尺寸下，收起状态的动画调整 */
  .chart-content.stats-collapsed .chart-stats {
    transform: translateY(-20px);
  }

  .chart {
    height: clamp(280px, 40vh, 320px);
    min-height: 280px;
  }

  /* 移动端图表优化 */
  .mini-chart {
    height: 200px;
    min-width: 280px;
  }

  .mini-chart.horizontal-bar {
    height: auto;
    min-height: 140px;
    max-height: 240px;
    min-width: 260px;
  }

  .chart-item {
    min-height: 300px;
    padding: var(--gov-spacing-4);
  }

  /* 移动端数据文字说明区域 */
  .chart-stats-mini {
    max-height: 120px;
    min-height: 80px;
  }
}

/* 政务无障碍设计 */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* 政务高对比度模式 */
@media (prefers-contrast: high) {
  .stat-card,
  .chart-container,
  .todo-section {
    border: 2px solid var(--gov-gray-700);
  }

  .todo-item {
    border: 1px solid var(--gov-gray-600);
  }

  .data-type-buttons,
  .chart-tabs,
  .todo-tabs {
    border: 2px solid var(--gov-gray-600);
  }
}

/* 政务打印样式 */
@media print {
  .content {
    background-color: white;
    color: black;
  }

  .stat-card,
  .chart-container,
  .todo-section {
    box-shadow: none;
    border: 1px solid #000;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }

  .todo-actions,
  .header-actions {
    display: none;
  }
}

/* 数据分布统计 - 平铺显示样式 */
.distribution-container {
  background-color: var(--gov-bg-primary);
  border-radius: var(--gov-radius-lg);
  padding: clamp(1.5rem, 4vw, 2rem);
  box-shadow: var(--gov-shadow-md);
  border: 1px solid var(--gov-gray-200);
  margin: clamp(1rem, 3vw, 1.5rem) 0;
  width: 100%;
  max-width: 1800px;
  margin-left: auto;
  margin-right: auto;
}

.distribution-header {
  margin-bottom: clamp(1rem, 3vw, 1.5rem);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1rem;
}

.distribution-header h3 {
  color: var(--gov-gray-800);
  font-size: var(--font-size-teacher); /* 1.5rem - 大型模块标题 */
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--gov-spacing-2);
}

.distribution-header h3 i {
  color: var(--gov-primary);
  font-size: var(--font-size-teacher); /* 1.5rem - 模块图标 */
}

.distribution-section {
  margin-bottom: clamp(1.5rem, 4vw, 2rem);
  border-radius: var(--gov-radius-lg);
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid var(--gov-gray-200);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.distribution-section:hover {
  transform: translateY(-1px);
  box-shadow: var(--gov-shadow-lg);
}

.section-header {
  margin-bottom: clamp(0.75rem, 2vw, 1rem);
  padding-bottom: clamp(0.5rem, 1.5vw, 0.75rem);
  border-bottom: 2px solid var(--gov-primary);
}

.section-header h4 {
  color: var(--gov-gray-700);
  font-size: var(--font-size-module); /* 1.125rem - 模块内容标题 */
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--gov-spacing-2);
}

.section-header h4 i {
  color: var(--gov-primary);
  font-size: var(--font-size-module); /* 1.125rem - 模块图标 */
}

/* 2个容器布局 - 每个占满一行 */
.charts-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2vw, 1.5rem);
  width: 100%;
}

/* 2x2 网格布局 - 用于在岗教师和获奖成果数据分布 (4个容器) */
.charts-grid-2x2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(0.75rem, 2vw, 1.5rem);
  width: 100%;
}

/* 大屏幕下强制2x2布局 */
@media (min-width: 1024px) {
  .charts-grid-2x2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 中等屏幕优化 */
@media (max-width: 768px) and (min-width: 481px) {
  .charts-grid-2x2 {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: clamp(0.5rem, 2vw, 1rem);
  }

  .chart-item {
    padding: clamp(0.875rem, 3vw, 1.25rem);
    min-height: clamp(320px, 45vh, 400px);
  }

  .mini-chart {
    height: clamp(200px, 30vh, 250px);
  }
}

/* 小屏幕优化 */
@media (max-width: 480px) {
  .charts-grid-2x2 {
    grid-template-columns: 1fr;
    gap: clamp(0.5rem, 3vw, 1rem);
  }

  .chart-item {
    padding: clamp(0.75rem, 3vw, 1rem);
    min-height: clamp(280px, 40vh, 350px);
  }

  .mini-chart {
    height: clamp(180px, 25vh, 220px);
    min-width: unset;
  }
}

/* 3个容器布局 - 2x1布局，第3个拉长占满一行 */
.charts-grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  width: 100%;
}

/* 大屏幕下的3容器布局 */
@media (min-width: 1024px) {
  .charts-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* 第3个容器拉长占满一行 */
  .chart-item-full {
    grid-column: 1 / -1;
  }
}

/* 中小屏幕下取消拉长效果 */
@media (max-width: 1023px) {
  .chart-item-full {
    grid-column: auto;
  }
}

.chart-item {
  background-color: var(--gov-bg-primary);
  border-radius: var(--gov-radius-lg);
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid var(--gov-gray-200);
  box-shadow: var(--gov-shadow-md);
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: clamp(350px, 50vh, 450px);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.chart-item:hover {
  transform: translateY(-1px);
  box-shadow: var(--gov-shadow-lg);
}

.chart-title {
  font-size: var(--font-size-auxiliary); /* 0.875rem - 辅助文本 */
  font-weight: 600;
  color: var(--gov-gray-700);
  margin-bottom: var(--gov-spacing-3);
  text-align: center;
  padding-bottom: var(--gov-spacing-2);
  border-bottom: 1px solid var(--gov-gray-200);
}

.mini-chart {
  height: clamp(200px, 30vh, 280px);
  width: 100%;
  margin-bottom: clamp(0.75rem, 2vw, 1rem);
  flex-shrink: 0;
  /* 确保横向条形图有足够空间显示完整标签 */
  min-width: 280px;
}

/* 横向条形图特殊样式 - 根据数据项数量调整高度 */
.mini-chart.horizontal-bar {
  height: auto;
  min-height: clamp(160px, 25vh, 200px);
  max-height: clamp(280px, 40vh, 350px);
  /* 确保横向条形图能够充分拉伸 */
  width: 100%;
}

.chart-stats-mini {
  flex: 1;
  min-height: clamp(100px, 15vh, 140px);
  max-height: clamp(160px, 25vh, 200px);
  overflow-y: auto;
  background-color: var(--gov-bg-tertiary);
  border-radius: var(--gov-radius);
  padding: clamp(0.5rem, 1.5vw, 0.75rem);
  /* 优化滚动条样式 */
  scrollbar-width: thin;
  scrollbar-color: var(--gov-primary) var(--gov-gray-100);
}

/* WebKit浏览器滚动条样式 */
.chart-stats-mini::-webkit-scrollbar {
  width: 6px;
}

.chart-stats-mini::-webkit-scrollbar-track {
  background: var(--gov-gray-100);
  border-radius: 3px;
}

.chart-stats-mini::-webkit-scrollbar-thumb {
  background: var(--gov-primary);
  border-radius: 3px;
}

.chart-stats-mini::-webkit-scrollbar-thumb:hover {
  background: var(--gov-primary-dark);
}

.stats-item-mini {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--gov-spacing-1) 0;
  border-bottom: 1px solid var(--gov-gray-200);
  font-size: var(--font-size-auxiliary); /* 0.875rem - 辅助文本 */
}

.stats-item-mini:last-child {
  border-bottom: none;
}

.stats-label-mini {
  color: var(--gov-gray-600);
  font-weight: 500;
  flex: 1;
  text-align: left;
}

.stats-value-mini {
  color: var(--gov-primary);
  font-weight: 600;
  text-align: right;
}

/* 移除数据可见性控制按钮样式覆盖，使用默认样式 */

/* 调整stats-item-mini布局以适应按钮 */
.stats-item-mini {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--gov-spacing-1) 0;
  border-bottom: 1px solid var(--gov-gray-200);
  font-size: var(--font-size-auxiliary); /* 0.875rem - 辅助文本 */
  gap: var(--gov-spacing-1);
}

.stats-item-mini .stats-label-mini {
  flex: 1;
  min-width: 0;
}

.stats-item-mini .stats-value-mini {
  flex-shrink: 0;
  margin-right: var(--gov-spacing-1);
}

.stats-item-mini .visibility-btn {
  flex-shrink: 0;
}

/* 隐藏状态的数据项样式 */
.stats-item-mini.hidden-item {
  opacity: 0.85;
  background-color: var(--gov-gray-50);
  border-left: 3px solid var(--gov-warning);
  padding-left: var(--gov-spacing-2);
}

.stats-item-mini.hidden-item .stats-label-mini {
  color: var(--gov-gray-600);
}

/* 隐藏状态的值显示样式 */
.stats-value-hidden {
  display: flex;
  align-items: center;
  gap: var(--gov-spacing-1);
  color: var(--gov-gray-600);
  font-style: italic;
  flex-shrink: 0;
  margin-right: var(--gov-spacing-1);
  background-color: var(--gov-warning-light);
  padding: 2px 6px;
  border-radius: var(--gov-radius);
  border: 1px solid var(--gov-warning);
}

.stats-value-hidden i {
  font-size: var(--font-size-detail); /* 0.75rem - 功能标签 */
  color: var(--gov-warning-dark);
}

/* 可视化图标样式 */
.stats-value-hidden .visualization-icon {
  margin-left: var(--gov-spacing-1);
  color: var(--gov-primary);
  opacity: 1;
  transition: all 0.2s ease;
  animation: pulse 2s infinite;
}

/* 移除自定义hover动画 */

/* 脉冲动画提示用户注意 */
@keyframes pulse {
  0% { opacity: 1; }
  50% { opacity: 0.7; }
  100% { opacity: 1; }
}

.stats-value-hidden .hidden-text {
  font-size: var(--font-size-detail); /* 0.75rem - 功能标签 */
  color: var(--gov-warning-dark);
  font-weight: 500;
}

/* 数据分布统计总结样式 */

/* 总结容器 */
.distribution-summary-container {
  background: var(--gov-bg-primary);
  border: 1px solid var(--gov-gray-200);
  border-radius: var(--gov-radius);
  box-shadow: var(--gov-shadow-sm);
  margin-bottom: var(--gov-spacing-6);
  overflow: hidden;
  transition: all 0.3s ease;
}

/* 移除自定义hover效果，使用默认效果 */

/* 总结头部 */
.summary-header {
  background: linear-gradient(135deg, var(--gov-bg-accent) 0%, var(--gov-bg-secondary) 100%);
  padding: var(--gov-spacing-4) var(--gov-spacing-6);
  border-bottom: 1px solid var(--gov-gray-200);
}

.summary-header h4 {
  margin: 0;
  font-size: var(--font-size-module);
  font-weight: 600;
  color: var(--gov-gray-800);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.summary-title-content {
  display: flex;
  align-items: center;
  gap: var(--gov-spacing-2);
}

.summary-header h4 i {
  color: var(--gov-primary);
  font-size: var(--font-size-module);
  line-height: 1;
  flex-shrink: 0;
}

/* 移除切换按钮样式覆盖，使用默认样式 */

.toggle-summary-btn i {
  margin-right: var(--gov-spacing-1);
}

/* 总结内容 */
.summary-content {
  padding: var(--gov-spacing-6);
}

/* 主要总结 */
.summary-main {
  margin-bottom: var(--gov-spacing-6);
}

.summary-text {
  font-size: var(--font-size-content);
  line-height: 1.7;
  color: var(--gov-gray-700);
  background: var(--gov-bg-tertiary);
  padding: var(--gov-spacing-4);
  border-radius: var(--gov-radius);
  border-left: 4px solid var(--gov-primary);
  position: relative;
  text-align: justify;
  text-justify: inter-ideograph;
}

.summary-text::before {
  content: '"';
  font-size: 2rem;
  color: var(--gov-primary);
  position: absolute;
  top: -0.5rem;
  left: var(--gov-spacing-2);
  font-family: Georgia, serif;
  opacity: 0.3;
}

/* 亮点特色区域 */
.summary-highlights {
  margin-bottom: var(--gov-spacing-6);
}

.summary-highlights h5 {
  margin: 0 0 var(--gov-spacing-4) 0;
  font-size: var(--font-size-header);
  font-weight: 600;
  color: var(--gov-gray-800);
  display: flex;
  align-items: center;
}

.summary-highlights h5 i {
  margin-right: var(--gov-spacing-2);
  color: var(--gov-warning);
}

.highlights-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--gov-spacing-6);
  padding: var(--gov-spacing-4) 0;
  width: 100%;
  box-sizing: border-box;
}

.highlights-grid::-webkit-scrollbar {
  height: 6px;
}

.highlights-grid::-webkit-scrollbar-track {
  background: var(--gov-gray-100);
  border-radius: 3px;
}

.highlights-grid::-webkit-scrollbar-thumb {
  background: var(--gov-gray-300);
  border-radius: 3px;
}

.highlights-grid::-webkit-scrollbar-thumb:hover {
  background: var(--gov-gray-400);
}

.highlight-item {
  background: var(--gov-bg-primary);
  border: 1px solid var(--gov-gray-200);
  border-radius: var(--gov-radius-lg);
  padding: var(--gov-spacing-6);
  position: relative;
  overflow: hidden;
  min-height: 140px;
  width: 100%;
  box-sizing: border-box;
  box-shadow: var(--gov-shadow-md);
  transition: all 0.3s ease;
}

.highlight-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--gov-primary), var(--gov-primary-light));
}

.highlight-item:hover {
  transform: translateY(-2px);
  box-shadow: var(--gov-shadow-lg);
  border-color: var(--gov-primary-light);
}

.highlight-title {
  font-size: var(--font-size-module);
  font-weight: 600;
  color: var(--gov-gray-800);
  margin-bottom: var(--gov-spacing-3);
  line-height: 1.4;
}

.highlight-desc {
  font-size: var(--font-size-filter);
  color: var(--gov-gray-600);
  line-height: 1.7;
  text-align: left;
}

/* 关键数据区域 */
.summary-stats {
  background: var(--gov-bg-secondary);
  border-radius: var(--gov-radius);
  padding: var(--gov-spacing-4);
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
}

.summary-stats h5 {
  margin: 0 0 var(--gov-spacing-4) 0;
  font-size: var(--font-size-header);
  font-weight: 600;
  color: var(--gov-gray-800);
  display: flex;
  align-items: center;
}

.summary-stats h5 i {
  margin-right: var(--gov-spacing-2);
  color: var(--gov-info);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--gov-spacing-3);
  align-items: start;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.stat-item {
  background: var(--gov-bg-primary);
  border: 1px solid var(--gov-gray-200);
  border-radius: var(--gov-radius);
  padding: var(--gov-spacing-3);
  text-align: center;
  min-height: 70px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
}

.stat-label {
  display: block;
  font-size: var(--font-size-auxiliary);
  color: var(--gov-gray-500);
  margin-bottom: var(--gov-spacing-2);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  word-break: keep-all;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.stat-value {
  display: block;
  font-size: var(--font-size-stat-value);
  font-weight: 700;
  color: var(--gov-primary);
  background: var(--gov-bg-accent);
  padding: var(--gov-spacing-1) var(--gov-spacing-2);
  border-radius: var(--gov-radius);
  border: 1px solid rgba(30, 64, 175, 0.2);
  min-width: 60px;
  max-width: 100%;
  text-align: center;
  line-height: 1.2;
  word-break: break-all;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-sizing: border-box;
}

/* 总结加载状态 */
.summary-loading {
  background: var(--gov-bg-secondary);
  border: 1px solid var(--gov-gray-200);
  border-radius: var(--gov-radius);
  padding: var(--gov-spacing-6);
  text-align: center;
  color: var(--gov-gray-500);
  font-size: var(--font-size-auxiliary);
  margin-bottom: var(--gov-spacing-6);
}

.summary-loading i {
  margin-right: var(--gov-spacing-2);
  color: var(--gov-primary);
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* 响应式设计 */
@media (max-width: 768px) {
  .distribution-summary-container {
    margin-bottom: var(--gov-spacing-4);
  }
  
  .summary-header {
    padding: var(--gov-spacing-3) var(--gov-spacing-4);
  }
  
  .summary-content {
    padding: var(--gov-spacing-4);
  }
  
  .highlights-grid {
    grid-template-columns: 1fr;
    gap: var(--gov-spacing-4);
    padding: var(--gov-spacing-3) 0;
  }
  
  .highlight-item {
    min-height: 120px;
    padding: var(--gov-spacing-4);
  }
  
  .highlight-title {
    font-size: var(--font-size-auxiliary);
    margin-bottom: var(--gov-spacing-2);
  }
  
  .highlight-desc {
    font-size: var(--font-size-auxiliary);
  }
  
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gov-spacing-2);
    width: 100%;
    max-width: 100%;
  }
  
  .stat-item {
    min-height: 70px;
    padding: var(--gov-spacing-3);
  }
  
  .stat-label {
    font-size: var(--font-size-period);
    margin-bottom: var(--gov-spacing-1);
  }
  
  .stat-value {
    font-size: var(--font-size-module);
  }
  
  .summary-text {
    font-size: var(--font-size-auxiliary);
    padding: var(--gov-spacing-3);
    text-align: justify;
    text-justify: inter-ideograph;
  }
}

@media (max-width: 480px) {
  .summary-header h4 {
    font-size: var(--font-size-auxiliary);
    flex-direction: column;
    align-items: flex-start;
    gap: var(--gov-spacing-2);
  }
  
  .summary-title-content {
    display: flex;
    align-items: center;
    gap: var(--gov-spacing-1);
  }
  
  .summary-header h4 i {
    font-size: var(--font-size-auxiliary);
  }
  
  .toggle-summary-btn {
    align-self: flex-end;
  }
  
  .stats-grid {
    grid-template-columns: 1fr;
    gap: var(--gov-spacing-1);
    width: 100%;
    max-width: 100%;
  }
  
  .stat-item {
    min-height: 60px;
    padding: var(--gov-spacing-2) var(--gov-spacing-3);
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }
  
  .stat-label {
    font-size: var(--font-size-detail);
    margin-bottom: 0;
    text-align: left;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
  
  .stat-value {
    font-size: var(--font-size-auxiliary);
    margin-left: var(--gov-spacing-2);
    flex-shrink: 0;
  }
}

/* AI助手相关样式 */
.ai-assistant-container {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 1000;
}

.ai-assistant-button {
  min-width: 120px;
  height: 45px;
  padding: 0 16px;
  background: linear-gradient(135deg, var(--gov-primary) 0%, var(--gov-primary-dark) 100%);
  border-radius: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(30, 64, 175, 0.4);
  transition: all 0.3s ease;
  color: white;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  white-space: nowrap;
}

.ai-assistant-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(30, 64, 175, 0.6);
  background: linear-gradient(135deg, var(--gov-primary-dark) 0%, var(--gov-primary-light) 100%);
}

.ai-assistant-button.loading {
  background: linear-gradient(135deg, var(--gov-warning) 0%, #f59e0b 100%);
  box-shadow: 0 4px 15px rgba(217, 119, 6, 0.4);
}

.ai-assistant-button.active {
  background: linear-gradient(135deg, var(--gov-primary-light) 0%, var(--gov-info) 100%);
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
}

.ai-text {
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}

/* AI总结对话框样式 */
.ai-summary-dialog .el-dialog {
  border-radius: 12px;
  overflow: hidden;
  max-height: 95vh;
  max-width: 1400px;
  margin: 0 auto;
}

.ai-summary-dialog .el-dialog__header {
  background: linear-gradient(135deg, var(--gov-primary) 0%, var(--gov-primary-dark) 100%);
  color: white;
  padding: 20px 24px;
}

.ai-summary-dialog .el-dialog__title {
  color: white;
  font-weight: 600;
  font-size: 18px;
}

.ai-summary-dialog .el-dialog__body {
  padding: 0;
  max-height: calc(95vh - 140px);
  overflow: hidden;
}

.ai-summary-dialog .el-dialog__headerbtn .el-dialog__close {
  color: white;
  font-size: 20px;
}

/* 简化的主容器 - 2层结构 */
.ai-content {
  min-height: 700px;
  max-height: calc(95vh - 140px);
  overflow-y: auto;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* AI加载状态 */
.ai-loading {
  text-align: center;
  padding: 40px 20px;
}

.ai-loading i {
  font-size: 40px;
  color: #667eea;
  margin-bottom: 20px;
}

.ai-loading p {
  font-size: 16px;
  color: #333;
  margin-bottom: 20px;
}

.loading-progress {
  margin-top: 20px;
}

/* 简化的样式 - 2层结构 */
.loading-icon {
  font-size: 40px;
  color: #667eea;
  display: block;
  text-align: center;
  margin-bottom: 16px;
  animation: spin 1s linear infinite;
}

.loading-text {
  font-size: 16px;
  color: #333;
  text-align: center;
  margin: 0;
}

.progress-text {
  font-size: 14px;
  color: #666;
  text-align: center;
  margin: 0;
  padding: 8px 16px;
  background: #f5f7fa;
  border-radius: 20px;
  display: inline-block;
}

.status-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: #f8fafc;
  border-radius: 8px;
  border-left: 4px solid #667eea;
}

.spinning-icon {
  color: #409EFF;
  animation: spin 1s linear infinite;
}

.stream-content {
  line-height: 1.8;
  min-height: 300px;
  max-height: 60vh;
  overflow-y: auto;
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
  border: 1px solid #e4e7ed;
}

/* Markdown格式支持 */
.stream-content h1, .stream-content h2, .stream-content h3,
.stream-content h4, .stream-content h5, .stream-content h6 {
  margin: 20px 0 12px 0;
  color: #333;
  font-weight: 600;
  line-height: 1.4;
}

.stream-content h1 { font-size: 24px; border-bottom: 2px solid #409EFF; padding-bottom: 8px; }
.stream-content h2 { font-size: 20px; border-bottom: 1px solid #e4e7ed; padding-bottom: 6px; }
.stream-content h3 { font-size: 18px; color: #409EFF; }
.stream-content h4 { font-size: 16px; color: #667eea; }
.stream-content h5 { font-size: 14px; }
.stream-content h6 { font-size: 13px; }

.stream-content p {
  margin: 12px 0;
  color: #444;
  line-height: 1.6;
}

.stream-content strong {
  color: #333;
  font-weight: 600;
}

.stream-content em {
  color: #666;
  font-style: italic;
}

.stream-content ul, .stream-content ol {
  margin: 12px 0;
  padding-left: 24px;
}

.stream-content li {
  margin: 6px 0;
  color: #555;
  line-height: 1.5;
}

.stream-content blockquote {
  margin: 16px 0;
  padding: 12px 16px;
  background: #f0f9ff;
  border-left: 4px solid #409EFF;
  color: #666;
}

.stream-content code {
  background: #f5f5f5;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: 'Courier New', monospace;
  font-size: 13px;
  color: #e74c3c;
}

.stream-content pre {
  background: #f8f8f8;
  padding: 12px;
  border-radius: 6px;
  overflow-x: auto;
  margin: 12px 0;
}

.stream-content pre code {
  background: none;
  padding: 0;
  color: #333;
}

.typing-cursor {
  display: inline-block;
  background-color: #409EFF;
  color: #409EFF;
  animation: blink 1s infinite;
  font-weight: bold;
  margin-left: 2px;
}

.section-title {
  margin: 20px 0 10px 0;
  color: #333;
  font-weight: 600;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.highlight-tag {
  margin: 0 8px 8px 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 12px;
}

.stat-item {
  display: flex;
  flex-direction: column;
  padding: 16px;
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  border-radius: 8px;
  border-left: 4px solid #409EFF;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.stat-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.stat-label {
  font-size: 12px;
  color: #666;
  margin-bottom: 4px;
  font-weight: 500;
}

.stat-value {
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

.error-icon {
  font-size: 40px;
  color: #F56C6C;
  display: block;
  text-align: center;
  margin-bottom: 16px;
}

.error-text {
  color: #F56C6C;
  text-align: center;
  margin: 0 0 16px 0;
}

/* AI结果显示 */
.ai-result {
  line-height: 1.8;
}

.ai-result-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  padding: 12px 16px;
  background: #f8fafc;
  border-radius: 8px;
  border-left: 4px solid #667eea;
}

.ai-result-header i {
  color: #667eea;
  font-size: 16px;
}

.ai-result-header span {
  font-size: 14px;
  color: #666;
}

/* 流式输出状态样式 */
.streaming-status {
  display: flex;
  align-items: center;
  color: #409EFF;
}

.streaming-status i {
  margin-right: 8px;
  color: #409EFF;
  animation: spin 1s linear infinite;
}

.streaming-status span {
  color: #409EFF;
  font-weight: 500;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.ai-stream-content {
  margin-bottom: 20px;
  line-height: 1.8;
  max-height: 60vh;
  overflow-y: auto;
  position: relative;
}

/* 流式输出打字机效果 */
.typing-indicator {
  display: inline-block;
  margin-left: 2px;
}

.typing-cursor {
  display: inline-block;
  background-color: #409EFF;
  color: #409EFF;
  animation: blink 1s infinite;
  font-weight: bold;
}

@keyframes blink {
  0%, 50% {
    opacity: 1;
  }
  51%, 100% {
    opacity: 0;
  }
}

/* AI分析增强加载样式 - 政务风格 */
.ai-loading.enhanced-loading {
  padding: 24px 16px;
  text-align: center;
  background: #f8f9fa;
  border-radius: 8px;
  margin: 20px 0;
}

.loading-content h4 {
  margin: 16px 0 8px 0;
  color: #303133;
  font-size: 18px;
  font-weight: 600;
}

.loading-content p {
  color: #606266;
  margin-bottom: 24px;
  line-height: 1.6;
  font-size: 14px;
}

.ai-brain-animation {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 20px;
}

.brain-icon {
  font-size: 48px;
  color: #409EFF;
  margin-bottom: 12px;
  animation: brainPulse 2s ease-in-out infinite;
}

@keyframes brainPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.1);
    opacity: 0.8;
  }
}

.thinking-dots {
  display: flex;
  gap: 6px;
  margin-top: 8px;
}

.thinking-dots .dot {
  width: 8px;
  height: 8px;
  background: #409EFF;
  border-radius: 50%;
  animation: dotPulse 1.5s ease-in-out infinite;
}

.thinking-dots .dot:nth-child(2) {
  animation-delay: 0.2s;
}

.thinking-dots .dot:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes dotPulse {
  0%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.2);
    opacity: 1;
  }
}

.ai-steps {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin: 20px 0;
}

.ai-steps .step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #909399;
  transition: all 0.3s ease;
}

.ai-steps .step.active {
  color: #409EFF;
}

.ai-steps .step i {
  font-size: 20px;
}

.ai-steps .step span {
  font-size: 12px;
  font-weight: 500;
}

.loading-progress {
  margin-top: 16px;
}

.progress-text {
  color: #909399;
  font-size: 13px;
  font-style: italic;
}

.ai-stream-content h1, .ai-stream-content h2, .ai-stream-content h3, 
.ai-stream-content h4, .ai-stream-content h5, .ai-stream-content h6 {
  margin: 20px 0 10px 0;
  color: #333;
  font-weight: 600;
}

.ai-stream-content h4 {
  font-size: 16px;
  color: #667eea;
  border-bottom: 2px solid #e2e8f0;
  padding-bottom: 8px;
}

.ai-stream-content p {
  margin-bottom: 12px;
  color: #444;
}

.ai-stream-content strong {
  color: #333;
  font-weight: 600;
}

.ai-stream-content ul, .ai-stream-content ol {
  margin: 12px 0;
  padding-left: 24px;
}

.ai-stream-content li {
  margin-bottom: 6px;
  color: #555;
}

/* AI亮点标签 */
.ai-highlights {
  margin: 20px 0;
  padding: 16px;
  background: var(--gov-gray-50);
  border-radius: 8px;
  border-left: 4px solid var(--gov-primary-light);
}

.ai-highlights h4 {
  margin: 0 0 12px 0;
  color: var(--gov-primary-light);
  font-size: 14px;
  font-weight: 600;
}

.highlights-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.highlights-tags .el-tag {
  margin: 0;
}

/* AI统计数据 */
.ai-stats {
  margin: 20px 0;
  padding: 16px;
  background: var(--gov-gray-50);
  border-radius: 8px;
  border-left: 4px solid var(--gov-success);
}

.ai-stats h4 {
  margin: 0 0 16px 0;
  color: var(--gov-success);
  font-size: 14px;
  font-weight: 600;
}

.ai-stats .stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
}

.ai-stats .stat-item {
  text-align: center;
  padding: 12px;
  background: white;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.ai-stats .stat-label {
  display: block;
  font-size: 12px;
  color: #666;
  margin-bottom: 4px;
}

.ai-stats .stat-value {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

/* AI错误状态 */
.ai-error {
  text-align: center;
  padding: 40px 20px;
  color: var(--gov-error);
}

.ai-error i {
  font-size: 40px;
  margin-bottom: 16px;
}

.ai-error p {
  margin-bottom: 20px;
  font-size: 16px;
}

/* 响应式设计 */
@media (max-width: 768px) {
  .ai-assistant-container {
    bottom: 20px;
    right: 20px;
  }
  
  .ai-assistant-button {
    min-width: 100px;
    height: 40px;
    padding: 0 12px;
  }
  
  .ai-text {
    font-size: 12px;
  }
  
  .ai-summary-dialog {
    width: 95% !important;
    margin: 0 auto;
  }
  
  .ai-content {
    max-height: calc(85vh - 120px);
    padding: 16px 20px;
  }
  
  .ai-summary-dialog .el-dialog__body {
    max-height: calc(85vh - 120px);
  }
  
  .ai-stats .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 数据分布统计容器改为网格布局 */
.distribution-section {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(0.75rem, 2vw, 1.5rem);
  width: 100%;
}

/* 大屏保持两列，避免内容偏左 */
@media (min-width: 1024px) {
  .distribution-section {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 小屏单列展示 */
@media (max-width: 768px) {
  .distribution-section {
    grid-template-columns: 1fr;
  }
}

/* 让分类标题在网格中独占一行 */
.distribution-section .section-header {
  grid-column: 1 / -1;
}

/* 第三项在大屏时拉满一行（兼容原 chart-item-full 语义）*/
@media (min-width: 1024px) {
  .distribution-section .chart-item-full {
    grid-column: 1 / -1;
  }
}

/* ==================== 快速入口现代化样式覆盖（保持现有高度与模块尺寸） ==================== */
/* 说明：以下规则仅做视觉升级与交互增强，不修改卡片/图标的固定尺寸与最小高度 */

.quick-access-container {
  position: relative;
  background: linear-gradient(180deg, var(--gov-bg-primary) 0%, #f8fafc 100%);
  box-shadow: var(--gov-shadow-md), 0 12px 32px rgba(30, 64, 175, 0.05);
  overflow: hidden; /* 允许顶部高光与卡片流光在容器内裁切 */
}

.quick-access-container::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gov-primary), var(--gov-primary-light));
  opacity: .08;
  pointer-events: none;
}

.quick-access-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--gov-spacing-2);
}

.quick-access-title {
  letter-spacing: -0.01em;
}

.quick-access-subtitle {
  margin-top: 2px;
}

.quick-access-cards {
  /* 保持原有布局与间距，由现有媒体查询控制响应式 */
}

.quick-access-card {
  /* 视觉升级：不改变 padding/min-height/尺寸；移除动效增强 */
  background: linear-gradient(180deg, var(--gov-bg-secondary) 0%, #ffffff 100%);
  border-color: rgba(203, 213, 225, 0.9);
  transition: none;
  position: relative;
}

/* 已移除卡片扫光动效 */

/* 取消扫光hover效果 */

/* 保留基础样式的hover行为，取消新增位移与阴影增强 */

/* 取消active态位移 */

.quick-access-card:focus,
.quick-access-card:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59,130,246,.15), 0 8px 22px rgba(30, 64, 175, 0.10);
  border-color: var(--gov-primary-light);
}

.quick-access-icon {
  /* 保持原有 36px 尺寸，仅替换为柔和渐变与微内阴影 */
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  box-shadow: 0 1px 2px rgba(30, 64, 175, 0.08) inset;
}

/* 移除图标hover内发光 */

.quick-access-card-title {
  font-weight: 700; /* 强化层级，不改变字号 */
  letter-spacing: .01em;
}

.quick-access-card-desc {
  opacity: .9;
  display: -webkit-box;
  -webkit-line-clamp: 1; /* 单行省略，避免高度不确定 */
  line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.quick-access-arrow i {
  transition: transform .2s ease, color .2s ease;
}

/* 保留基础箭头配色，不再位移 */

@media (prefers-reduced-motion: reduce) {
  .quick-access-card,
  .quick-access-arrow i {
    transition: none !important;
  }
  .quick-access-card::after {
    display: none;
  }
}

/* 移除通用样式依赖，采用本地 scoped 样式 */

/* 强制6列卡片布局 - 确保优先级最高 */
.stats-cards[data-v-f73e63d6] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 1fr;
  gap: clamp(0.75rem, 1.5vw, 1rem);
  margin: clamp(1rem, 4vw, 2rem) 0;
  width: 100%;
  align-items: stretch;
  /* 确保网格容器行为 */
  grid-auto-flow: row;
  grid-auto-rows: max-content;
}

/* 确保每个卡片正确参与网格 */
.stats-cards .stat-card[data-v-f73e63d6] {
  grid-column: auto;
  grid-row: 1;
  min-width: 0;
  box-sizing: border-box;
  height: auto; /* 允许内容撑开，避免被裁切 */
  min-height: 120px;
  display: flex;
  transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}

/* 统一卡片内容高度，参照“人才概览”视觉节奏 */
.stat-card[data-v-f73e63d6] { align-items: stretch;
}
.stat-card .stat-content[data-v-f73e63d6] { min-height: 96px;
}

/* 中等屏幕仍保持6列 */
@media (min-width: 768px) and (max-width: 1024px) {
.stats-cards[data-v-f73e63d6] {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(0.5rem, 1vw, 0.75rem);
}
}

/* 移动端单列 */
@media (max-width: 767px) {
.stats-cards[data-v-f73e63d6] {
    grid-template-columns: 1fr;
    gap: clamp(0.75rem, 2vw, 1rem);
}
}

/* KPI 控件 */
.kpi-controls[data-v-f73e63d6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.5rem;
}
.kpi-mode-label[data-v-f73e63d6] { color: #64748b; margin-right: 0.25rem;
}
.kpi-mode-btn[data-v-f73e63d6] {
  display: inline-block; padding: 4px 10px; border: 1px solid var(--talent-border-primary);
  border-radius: 6px; cursor: pointer; margin-right: 6px; color: #334155; background: #fff;
}
.kpi-mode-btn.active[data-v-f73e63d6] { background: var(--talent-primary-lightest); color: var(--talent-primary)
}

/* 小环形进度 */
.mini-ring-wrapper[data-v-f73e63d6] { margin-top: 6px; display: flex; align-items: center; gap: 8px;
}
.mini-ring[data-v-f73e63d6] {
  width: 26px; height: 26px; border-radius: 50%;
  background: conic-gradient(var(--talent-primary) 0deg, #e5e7eb 0deg);
  -webkit-mask: radial-gradient(#0000 60%, #000 61%);
  mask: radial-gradient(#0000 60%, #000 61%);
  border: 1px solid #eef2f7;
}
.mini-ring-label[data-v-f73e63d6] { font-size: 12px; color: #334155;
}

/* 可视化图表区 */
.visualization-section[data-v-f73e63d6] {
  display: flex;
  flex-direction: column;
  gap: clamp(0.75rem, 1.5vw, 1rem);
}
.vis-row[data-v-f73e63d6] {
  display: grid;
  grid-template-columns: 2fr 2fr;
  gap: clamp(0.75rem, 1.5vw, 1rem);
}
.vis-card[data-v-f73e63d6] {
  background: #fff;
  border: 1px solid var(--talent-border-primary);
  border-radius: 0.5rem;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  padding: 0.5rem 0.75rem 0.75rem;
}
.vis-card.full-width[data-v-f73e63d6] {
  grid-column: 1 / span 2;
}
.vis-card-header[data-v-f73e63d6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.25rem 0.25rem 0.5rem;
}
.vis-card-header h3[data-v-f73e63d6] {
  font-size: 14px;
  font-weight: 600;
  color: #334155;
}

/* 胶囊按钮组（复刻 TalentFilterStatsCharts.vue 风格） */
.capsule-group[data-v-f73e63d6] { display: inline-flex; align-items: center; gap: 8px;
}
.capsule-btn[data-v-f73e63d6] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 12px;
  font-size: 12px;
  color: #374151;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: all .2s ease;
  line-height: 1;
}
.capsule-btn[data-v-f73e63d6]:hover { border-color: #3b82f6; background: #eff6ff; color: #1e40af;
}
.capsule-btn.active[data-v-f73e63d6] {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  border-color: #2563eb;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.12);
}
.capsule-btn.active[data-v-f73e63d6]:hover { background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%); color: #1e3a8a;
}
.vis-chart-container[data-v-f73e63d6] {
  width: 100%;
  height: 260px;
}
.vis-chart-container.large[data-v-f73e63d6] {
  height: 320px;
}
@media (max-width: 767px) {
.vis-row[data-v-f73e63d6] {
    grid-template-columns: 1fr;
}
.vis-card.full-width[data-v-f73e63d6] {
    grid-column: auto;
}
}

/* 自定义操作按钮样式 */
.custom-operation-btn[data-v-f73e63d6] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  height: 32px;
  padding: 0.4rem 1rem;
  border-radius: 0.3rem;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.3s ease;
  border: 1px solid var(--talent-primary);
  background: linear-gradient(135deg, var(--talent-primary-lightest) 0%, rgba(30, 64, 175, 0.05) 100%);
  color: var(--talent-primary);
  box-sizing: border-box;
  vertical-align: middle;
  position: relative;
  overflow: hidden;
}

/* 发光扫过效果 */
.custom-operation-btn[data-v-f73e63d6]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transition: left 0.5s ease;
}
.custom-operation-btn[data-v-f73e63d6]:hover:not(.is-disabled):not(.is-loading)::before {
  left: 100%;
}
.custom-operation-btn[data-v-f73e63d6]:active {
  transform: translateY(1px);
}

/* 主要按钮样式 */
.custom-operation-btn.primary[data-v-f73e63d6] {
  background: linear-gradient(135deg, var(--talent-primary) 0%, var(--talent-primary-light) 100%);
  color: white;
  border-color: var(--talent-primary);
  box-shadow: 0 2px 8px rgba(30, 64, 175, 0.3);
}

/* 危险按钮样式 */
.custom-operation-btn.danger[data-v-f73e63d6] {
  background: linear-gradient(135deg, var(--talent-danger) 0%, #f78989 100%);
  color: white;
  border-color: var(--talent-danger);
  box-shadow: 0 2px 8px rgba(245, 108, 108, 0.3);
}

/* 小型按钮样式 */
.custom-operation-btn.small[data-v-f73e63d6] {
  height: 24px;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
}

/* 迷你按钮样式 */
.custom-operation-btn.mini[data-v-f73e63d6] {
  height: 20px;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
}

/* 文字按钮样式 */
.custom-operation-btn.text[data-v-f73e63d6] {
  background: transparent;
  border: none;
  padding: 0;
  height: auto;
}
.custom-operation-btn.text[data-v-f73e63d6]:hover {
  background: transparent;
  color: var(--talent-primary);
}

/* 统一卡片内容排版 */
.stat-card .stat-content[data-v-f73e63d6] { display: flex; align-items: flex-start; justify-content: space-between; height: 100%; padding: 12px;
}
.stat-card .stat-info[data-v-f73e63d6] { display: flex; flex-direction: column; align-items: flex-start;
}
.stat-card .stat-info h3[data-v-f73e63d6] { margin: 0; font-size: 14px; color: #334155;
}
.stat-card .stat-number[data-v-f73e63d6] { margin-top: 6px; font-size: 22px; font-weight: 700; color: #0f172a;
}
/* 占比与标签行：允许换行并最多显示两行，避免被遮挡 */
.stat-card .stat-subtext[data-v-f73e63d6] { margin-top: 2px; font-size: 12px; color: #64748b; white-space: normal; word-break: break-word; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.stat-card .stat-tags-line[data-v-f73e63d6] { margin-top: 4px; font-size: 12px; color: #475569; white-space: normal; word-break: break-word; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
/* 胶囊标签化渲染（自动换行） */
.stat-card .stat-tags-line.tags[data-v-f73e63d6] { display: flex; flex-wrap: wrap; gap: 4px 8px; -webkit-line-clamp: unset; line-clamp: unset; display: block;
}
.stat-card .stat-tags-line.tags .tag-item[data-v-f73e63d6] { display: inline-flex; align-items: center; gap: 6px; background: #f1f5f9; color: #334155; border: 1px solid #e2e8f0; border-radius: 999px; padding: 2px 8px; line-height: 1.4; margin: 2px 4px 0 0; font-weight: 500;
}
.stat-card .stat-tags-line.tags .tag-dot[data-v-f73e63d6] { width: 8px; height: 8px; border-radius: 50%; display: inline-block;
}
.stat-card .stat-tags-line.tags .tag-dot.national[data-v-f73e63d6] { background: #2563eb;
}
.stat-card .stat-tags-line.tags .tag-dot.provincial[data-v-f73e63d6] { background: #10b981;
}
.stat-card .stat-tags-line.tags .tag-dot.bureau[data-v-f73e63d6] { background: #f59e0b;
}
/* 额外颜色：用于获奖等 */
.stat-card .stat-tags-line.tags .tag-dot.warning[data-v-f73e63d6] { background: #f59e0b;
}
/* 人才库六层：地市级/校级/其他 */
.stat-card .stat-tags-line.tags .tag-dot.city[data-v-f73e63d6] { background: #7c3aed;
}
.stat-card .stat-tags-line.tags .tag-dot.campus[data-v-f73e63d6] { background: #06b6d4;
}
.stat-card .stat-tags-line.tags .tag-dot.other[data-v-f73e63d6] { background: #64748b;
}
/* 3x2 网格布局 */
.stat-card .stat-tags-line.tags.tags-grid-3x2[data-v-f73e63d6] { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); -moz-column-gap: 10px; column-gap: 10px; row-gap: 6px; align-items: start;
}
/* 图标改为右上角绝对定位，给文本让位，避免遮挡 */
.stat-card .stat-content[data-v-f73e63d6] { position: relative; justify-content: flex-start; padding: 12px 60px 14px 12px;
}
.stat-card .stat-icon[data-v-f73e63d6] { color: var(--talent-primary); opacity: .85; font-size: 22px; position: absolute; right: 12px; top: 12px;
}
/* 统一轮廓风格（含“高级职称”） */
.stat-card .stat-icon.outline i[data-v-f73e63d6] { color: transparent; -webkit-text-stroke: 1.4px var(--talent-primary); text-shadow: none;
}
.stat-card .stat-icon.outline[data-v-f73e63d6] { background-color: rgba(30,64,175,.06);
}
.stat-card[data-v-f73e63d6]:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,.06);
}
.stat-card[data-v-f73e63d6]:active { transform: translateY(0); box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

/* 过渡动画（更平滑的淡入上移与缩放） */
.kpi-enter-active[data-v-f73e63d6], .kpi-leave-active[data-v-f73e63d6] { transition: opacity .22s cubic-bezier(.22,.61,.36,1), transform .22s cubic-bezier(.22,.61,.36,1) !important; will-change: opacity, transform;
}
.kpi-enter[data-v-f73e63d6], .kpi-leave-to[data-v-f73e63d6] { opacity: 0; transform: translateY(8px) scale(.98);
}
.kpi-move[data-v-f73e63d6] { transition: transform .36s ease;
}
/* 避免列表切换时布局抖动 */
.stats-cards[data-v-f73e63d6] { position: relative;
}
.kpi-leave-active[data-v-f73e63d6] { position: absolute;
}

/* 轮播进度条 */
.kpi-progress[data-v-f73e63d6] { height: 3px; background: #eef2f7; border-radius: 2px; overflow: hidden; margin-top: 6px;
}
.kpi-progress-bar[data-v-f73e63d6] { height: 100%; background: linear-gradient(90deg, var(--talent-primary), var(--talent-primary-light)); width: 0;
}
.kpi-progress-bar.running[data-v-f73e63d6] { animation: kpi-progress-f73e63d6 var(--kpi-duration, 9000ms) linear forwards;
}
@keyframes kpi-progress-f73e63d6 {
from { width: 0%;
}
to { width: 100%;
}
}

/* 可见性按钮样式 */
.visibility-btn[data-v-f73e63d6] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--talent-primary-lightest) 0%, rgba(30, 64, 175, 0.05) 100%);
  color: var(--talent-primary);
  border: 1px solid var(--talent-primary);
  transition: all 0.3s ease;
  font-size: 0.75rem;
  position: relative;
  overflow: hidden;
}

/* 发光扫过效果 */
.visibility-btn[data-v-f73e63d6]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transition: left 0.5s ease;
}
.visibility-btn[data-v-f73e63d6]:hover::before {
  left: 100%;
}

/* 待办操作按钮容器 */
.todo-actions[data-v-f73e63d6] {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
}

/* 对话框底部按钮容器 */
.dialog-footer[data-v-f73e63d6] {
  display: flex;
  justify-content: flex-end;
  padding: 1rem;
  border-top: 1px solid var(--talent-border-primary);
  position: relative;
  /* 确保footer始终可见，不受弹窗高度限制 */
  flex-shrink: 0;
}

/* 个人档案快速入口图标样式 */
.quick-access-icon.personal-profile[data-v-f73e63d6] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.quick-access-icon.personal-profile i[data-v-f73e63d6] {
  color: white;
}

/* 按钮包装器 - 透明白底div */
.button-wrapper[data-v-f73e63d6] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  border-radius: 0.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.8);
  min-height: 48px;
  /* 确保按钮容器水平排列 */
  flex-direction: row;
  flex-wrap: nowrap;
}

/* 待办事项：胶囊按钮与容器样式（本地） */
.todo-capsule-actions[data-v-f73e63d6] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.todo-capsule-btn[data-v-f73e63d6] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 1px solid transparent;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease, transform .06s ease;
}
.todo-capsule-btn[data-v-f73e63d6]:active { transform: translateY(1px);
}
.todo-capsule-btn.primary[data-v-f73e63d6] {
  background-color: #2563eb;
  color: #fff;
  border-color: #2563eb;
  box-shadow: 0 2px 8px rgba(37, 99, 235, .25);
}
.todo-capsule-btn.primary[data-v-f73e63d6]:hover { background-color: #1d4ed8; border-color: #1d4ed8;
}
.todo-capsule-btn.ghost[data-v-f73e63d6] {
  background-color: #ffffff;
  color: #1f2937;
  border-color: #e5e7eb;
}
.todo-capsule-btn.ghost[data-v-f73e63d6]:hover { background-color: #f9fafb;
}
.todo-capsule-footer[data-v-f73e63d6] {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

/* 待办筛选胶囊组 — 更大更“拉伸”的观感 */
.todo-tabs.capsule-group[data-v-f73e63d6] {
  width: 100%;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  background: #f3f6fb; /* 柔和底色 */
  border: 1px solid #e6edf7;
  border-radius: 14px;
  padding: 14px;
}
.todo-tabs.capsule-group .capsule-btn[data-v-f73e63d6] {
  height: 44px;
  padding: 0 22px;
  font-size: 15px;
  font-weight: 600;
  border-radius: 999px;
}
.todo-tabs.capsule-group .capsule-btn.active[data-v-f73e63d6] {
  box-shadow: 0 2px 10px rgba(37, 99, 235, 0.25), 0 0 0 4px rgba(59,130,246,0.12);
}

/* 新增待办自定义弹窗（参考 TalentSelfPage 一键AI分析风格） */
.addtodo-overlay[data-v-f73e63d6] {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3000;
}
.addtodo-dialog[data-v-f73e63d6] {
  width: 560px;
  max-width: calc(100vw - 40px);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(2, 6, 23, 0.2), 0 0 0 1px rgba(99, 102, 241, 0.12) inset;
  border: 1px solid rgba(226, 232, 240, 0.9);
  overflow: visible; /* 允许下拉菜单超出对话框 */
  animation: addtodo-pop-in-f73e63d6 140ms cubic-bezier(.21,.9,.21,1.02);
}
@keyframes addtodo-pop-in-f73e63d6 {
from { transform: translateY(6px) scale(.98); opacity: 0;
}
to { transform: translateY(0) scale(1); opacity: 1;
}
}
.addtodo-header[data-v-f73e63d6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  background: linear-gradient(90deg, rgba(59,130,246,.08), rgba(99,102,241,.08));
  border-bottom: 1px solid #e2e8f0;
}
.addtodo-title[data-v-f73e63d6] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: #0f172a;
}
.addtodo-close[data-v-f73e63d6] {
  border: none;
  background: transparent;
  padding: 6px;
  border-radius: 8px;
  color: #475569;
  cursor: pointer;
}
.addtodo-close[data-v-f73e63d6]:hover { background: rgba(15,23,42,.06);
}
.addtodo-body[data-v-f73e63d6] {
  padding: 16px;
  overflow: visible; /* 确保内部浮层可外溢 */
}

/* 自定义表单基础样式 */
.addtodo-form[data-v-f73e63d6] { display: grid; gap: 12px;
}
.addtodo-form-row[data-v-f73e63d6] { display: grid; grid-template-columns: 88px 1fr; align-items: center; gap: 10px;
}
.addtodo-label[data-v-f73e63d6] { color: #334155; font-weight: 600;
}
.addtodo-input[data-v-f73e63d6], .addtodo-select[data-v-f73e63d6], .addtodo-datetime[data-v-f73e63d6] {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  outline: none;
  background: #fff;
  color: #0f172a;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.addtodo-input[data-v-f73e63d6]:focus, .addtodo-select[data-v-f73e63d6]:focus, .addtodo-datetime[data-v-f73e63d6]:focus {
  border-color: #60a5fa;
  box-shadow: 0 0 0 3px rgba(59,130,246, .15);
}
.addtodo-select[data-v-f73e63d6] { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: linear-gradient(45deg, transparent 50%, #94a3b8 50%), linear-gradient(135deg, #94a3b8 50%, transparent 50%); background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat;
}

/* 下拉菜单（参考 TalentFilterList.vue 风格，确保不被遮挡） */
.dropdown-wrapper[data-v-f73e63d6] { position: relative;
}
.dropdown-wrapper[data-v-f73e63d6] { z-index: 3200;
}
.dropdown-wrapper.dropdown-open[data-v-f73e63d6] { z-index: 3300;
}
.condition-dropdown[data-v-f73e63d6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--talent-border-primary);
  border-radius: 10px;
  background: #fff;
  color: var(--talent-text-primary);
  cursor: pointer;
  transition: all var(--talent-animation-normal) var(--talent-easing);
  font-size: 14px;
  box-sizing: border-box;
}
.condition-dropdown[data-v-f73e63d6]:hover { border-color: var(--talent-primary-lighter);
}
.condition-dropdown i[data-v-f73e63d6] { color: var(--talent-text-light); transition: transform var(--talent-animation-normal) var(--talent-easing);
}
.condition-dropdown i.dropdown-expanded[data-v-f73e63d6] { transform: rotate(180deg);
}
.dropdown-menu[data-v-f73e63d6] {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid var(--talent-border-primary);
  border-radius: 10px;
  box-shadow: var(--talent-shadow-md);
  z-index: 3100; /* 高于对话框内部任何内容，避免被页脚/标题遮挡 */
  max-height: 220px;
  overflow-y: auto;
}
.dropdown-item[data-v-f73e63d6] {
  padding: 8px 12px;
  cursor: pointer;
  transition: background-color var(--talent-animation-normal) var(--talent-easing);
  font-size: 14px;
  color: var(--talent-text-primary);
}
.dropdown-item[data-v-f73e63d6]:hover { background: var(--talent-bg-secondary);
}
.dropdown-item.selected[data-v-f73e63d6] { background: var(--talent-primary-lightest); color: var(--talent-primary); font-weight: 500;
}
.addtodo-footer[data-v-f73e63d6] {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding: 12px 16px 16px;
}

