/**
 * 项目管理模块统一样式文件 - ProjectCommon.css (重构整合版)
 *
 * 📋 功能覆盖：
 * 本文件统一管理所有项目管理模块的样式，包括：
 * - ProjectPage.vue (项目管理首页)
 * - ProjectBusinessManagement.vue (项目业务管理)
 * - ProjectManagementZHQ.vue (项目中后期管理)
 * - ProjectReviewDesk.vue (项目评审台)
 * - ProjectSchoolApplication.vue (校级项目在线申报)
 * - Project_National_Provincial_archived.vue (国家/省部级项目归档)
 *
 * 🎨 设计原则：
 * - 政务风格设计，专业简洁
 * - 统一的色彩变量系统
 * - 响应式布局适配
 * - 组件复用优先
 */

/* ==================== CSS变量定义 ==================== */
:root {
  /* 主色调 - 政务蓝 */
  --project-primary: #1e40af;
  --project-primary-light: #3b82f6;
  --project-primary-lighter: #60a5fa;
  --project-primary-lightest: #dbeafe;
  
  /* 背景色系 */
  --project-bg-primary: #ffffff;
  --project-bg-secondary: #f8fafc;
  --project-bg-tertiary: #f1f5f9;
  
  /* 文字色系 */
  --project-text-primary: #1e293b;
  --project-text-secondary: #475569;
  --project-text-tertiary: #64748b;
  --project-text-light: #94a3b8;
  
  /* 边框色系 */
  --project-border-primary: #e2e8f0;
  --project-border-secondary: #cbd5e1;
  
  /* 状态色系 */
  --project-danger: #f56c6c;
  --project-success: #67c23a;
  --project-warning: #e6a23c;
  
  /* 按钮主题色系 */
  --project-view-color: #67c23a;
  --project-view-light: #85ce61;
  --project-view-lighter: #b3e19d;
  --project-view-lightest: #f0f9eb;
  
  --project-download-color: #e6a23c;
  --project-download-light: #ebb563;
  --project-download-lighter: #f3d19e;
  --project-download-lightest: #fdf6ec;
  
  /* 阴影系统 */
  --project-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --project-shadow-md: 0 2px 8px rgba(0, 0, 0, 0.1);
  --project-shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* ==================== 基础布局样式 ==================== */
.project-page {
  padding: 2rem;
  background: var(--project-bg-secondary);
  min-height: 100vh;
}

/* ==================== 评审编辑器卡片样式覆盖 ==================== */
/* 确保评审编辑器页面的卡片容器没有悬浮效果 */
.project-review-editor-page .info-card,
.project-review-editor-page .form-card,
.project-review-editor-page .review-card {
  transition: none;
}
.project-review-editor-page .info-card:hover,
.project-review-editor-page .form-card:hover,
.project-review-editor-page .review-card:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--project-border-primary);
}
.project-page-header {
  text-align: center;
  margin-bottom: 3rem;
}
.project-page-title-section {
  max-width: 800px;
  margin: 0 auto;
}
.project-page-title {
  font-size: 3rem;
  font-weight: 700;
  color: var(--project-primary);
  margin: 0 0 1rem 0;
  text-shadow: 0 2px 4px rgba(30, 64, 175, 0.1);
}
.project-page-subtitle {
  font-size: 1.2rem;
  color: var(--project-text-secondary);
  margin: 0;
  font-weight: 500;
}

/* ==================== 项目业务管理头部样式 ==================== */
.business-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 0;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--project-border-primary);
  background: var(--project-bg-primary);
}
.header-left {
  display: flex;
  align-items: center;
}
.business-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--project-text-primary);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.business-title i {
  font-size: 1.75rem;
  color: var(--project-primary);
}
.header-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* 项目业务管理容器 */
.project-business-management {
  background: var(--project-bg-primary);
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: var(--project-shadow-md);
  border: 1px solid var(--project-border-primary);
  margin-top: 1.5rem;
}

/* 业务管理主题外观，贴合入口卡片的 modern 风格 */
.project-business-management.theme-gradient {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid rgba(99,102,241,0.25);
  box-shadow: 0 6px 20px rgba(99,102,241,0.12);
  position: relative;
  overflow: hidden;
}
.project-business-management.theme-gradient::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 0%, rgba(59,130,246,0.06) 30%, rgba(16,185,129,0.06) 60%, transparent 100%);
}

/* header 采用同系视觉强调 */
.project-business-management.theme-gradient .business-header {
  background: transparent;
  border-bottom: 1px solid rgba(99,102,241,0.2);
}
.project-business-management.theme-gradient .business-title {
  color: var(--project-text-primary);
}

/* 胶囊按钮在主题容器里有更柔和的悬停 */
.project-business-management.theme-gradient .capsule-item:hover {
  border-color: #2563eb;
  background: #eff6ff;
  color: #1e40af;
}
.project-business-management.theme-gradient .capsule-item.active {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  border-color: #2563eb;
  color: #ffffff;
  box-shadow: 0 4px 10px rgba(59, 130, 246, 0.25);
}

/* ==================== 模块网格布局 ==================== */
.project-modules-top {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
}



/* ==================== 项目模块卡片新布局样式 ==================== */

/* 模块卡片基础样式 */
.project-module-card {
  display: flex;
  align-items: center;
  padding: 1.25rem;
  background: var(--project-bg-primary);
  border-radius: 0.75rem;
  border: 1px solid var(--project-border-primary);
  box-shadow: var(--project-shadow-md);
  transition: all 0.3s ease;
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
}
.project-module-card:hover {
  box-shadow: var(--project-shadow-lg);
  transform: translateY(-2px);
  border-color: var(--project-primary-lighter);
  text-decoration: none;
  color: inherit;
}

/* 现代化视觉增强：可选主题与渐变描边 */
.project-module-card::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(120deg, transparent 0%, rgba(59,130,246,0.08) 30%, rgba(16,185,129,0.08) 60%, transparent 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.project-module-card:hover::after {
  opacity: 1;
}

/* 背景柔和渐变与发光边缘（主题可覆盖） */
.project-module-card.theme-gradient {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid rgba(99,102,241,0.25);
  box-shadow: 0 4px 16px rgba(99,102,241,0.12);
}
.project-module-card.theme-gradient:hover {
  box-shadow: 0 8px 28px rgba(99,102,241,0.18);
  border-color: rgba(99,102,241,0.35);
}

/* Emerald 主题（评审台） */
.project-module-card.theme-emerald {
  border: 1px solid rgba(16,185,129,0.25);
  background: linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%);
  box-shadow: 0 4px 16px rgba(16,185,129,0.10);
}
.project-module-card.theme-emerald:hover {
  box-shadow: 0 8px 28px rgba(16,185,129,0.18);
  border-color: rgba(16,185,129,0.35);
}

/* Amber 主题（中后期管理） */
.project-module-card.theme-amber {
  border: 1px solid rgba(245,158,11,0.25);
  background: linear-gradient(180deg, #ffffff 0%, #fffbeb 100%);
  box-shadow: 0 4px 16px rgba(245,158,11,0.10);
}
.project-module-card.theme-amber:hover {
  box-shadow: 0 8px 28px rgba(245,158,11,0.18);
  border-color: rgba(245,158,11,0.35);
}

/* Indigo 主题（国家/省部级归档） */
.project-module-card.theme-indigo {
  border: 1px solid rgba(79,70,229,0.25);
  background: linear-gradient(180deg, #ffffff 0%, #eef2ff 100%);
  box-shadow: 0 4px 16px rgba(79,70,229,0.10);
}
.project-module-card.theme-indigo:hover {
  box-shadow: 0 8px 28px rgba(79,70,229,0.18);
  border-color: rgba(79,70,229,0.35);
}

/* 模块图标样式 - 与TalentCommon.css保持一致 */
.project-module-card .project-module-icon-large {
  width: 4rem;
  height: 4rem;
  background: var(--project-primary-lightest);
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: var(--project-primary);
  flex-shrink: 0;
  margin-right: 1.25rem;
}

/* 图标浮动动效与主题联动 */
.project-module-card:hover .project-module-icon-large {
  transform: translateY(-2px) scale(1.02);
  transition: transform 0.3s ease;
}
.theme-emerald .project-module-icon-large {
  background: linear-gradient(135deg, #ecfdf5, #d1fae5);
  color: #059669;
}
.theme-amber .project-module-icon-large {
  background: linear-gradient(135deg, #fffbeb, #fef3c7);
  color: #b45309;
}
.theme-indigo .project-module-icon-large {
  background: linear-gradient(135deg, #eef2ff, #e0e7ff);
  color: #4338ca;
}
.project-module-card .project-module-icon-large.analysis {
  background: linear-gradient(135deg, var(--project-primary-lightest), #e0f2fe);
  color: var(--project-primary);
}

/* 模块内容区域 */
.project-module-content {
  flex: 1;
  min-width: 0;
}
.project-module-content h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--project-text-primary);
  margin: 0 0 0.4rem 0;
  line-height: 1.3;
}
.project-module-content p {
  font-size: 0.8125rem;
  color: var(--project-text-secondary);
  margin: 0 0 0.6rem 0;
  line-height: 1.4;
}

/* 功能标签 */
.project-module-features {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.project-feature-tag {
  padding: 0.25rem 0.75rem;
  background: var(--project-bg-tertiary);
  color: var(--project-text-secondary);
  font-size: 0.75rem;
  border-radius: 1rem;
  border: 1px solid var(--project-border-primary);
  font-weight: 500;
}

/* 箭头图标 */
.project-module-arrow {
  margin-left: 1rem;
  flex-shrink: 0;
}
.project-module-arrow i {
  font-size: 1.25rem;
  color: var(--project-text-light);
  transition: all 0.3s ease;
}
.project-module-card:hover .project-module-arrow i {
  color: var(--project-primary);
  transform: translateX(4px);
}

/* 主题化箭头颜色联动 */
.project-module-card.theme-emerald:hover .project-module-arrow i { color: #059669;
}
.project-module-card.theme-amber:hover .project-module-arrow i { color: #b45309;
}
.project-module-card.theme-indigo:hover .project-module-arrow i { color: #4338ca;
}

/* 响应式设计 - 模块卡片 */
@media (max-width: 1400px) {
.project-modules-top {
    grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 1024px) {
.project-modules-top {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.project-page-header {
    padding: 1rem;
    margin-bottom: 1rem;
}
.project-page-title {
    font-size: 1.5rem;
}
.project-modules-top {
    grid-template-columns: 1fr;
    gap: 1rem;
}
.project-module-card {
    padding: 1.25rem;
}
.project-module-card .project-module-icon-large {
    width: 3rem;
    height: 3rem;
    margin-right: 1rem;
    font-size: 1.5rem;
}
.project-module-content h3 {
    font-size: 1.125rem;
}
.project-module-content p {
    font-size: 0.8125rem;
}
.project-feature-tag {
    font-size: 0.7rem;
    padding: 0.2rem 0.6rem;
}
}
.project-module-stats {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* 通用统计数字样式 - 已迁移到各自组件内部，避免样式冲突 */
/* 注释：ProjectReviewDesk页面和Project_National_Provincial_archived页面 */
/* 使用独立的卡片布局和分色方案，具体样式定义在各自组件内部 */
.stat-desc {
  font-size: 0.8rem;
  color: var(--project-text-secondary);
}

/* ==================== 旧的表格按钮样式已删除，使用统一表格按钮样式 ==================== */
/* 统一表格按钮样式定义在本文件的 "统一表格按钮样式" 部分 */

/* 表格操作按钮容器优化 */
.project-table .el-table__row .el-table_1_column_6 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.project-table .el-table__body td {
  padding: 8px 0;
}

/* 评审任务列表按钮布局优化 */
.el-table-column:last-child .el-table__cell {
  padding: 8px;
}
.el-table-column:last-child .cell {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

/* ProjectReviewDesk 表格操作列样式 */
.project-review-desk-page .el-table .el-table__fixed-right .el-table__cell {
  padding: 8px;
}
.project-review-desk-page .el-table .el-table__fixed-right .cell {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 4px;
}

/* 确保表格操作按钮正确显示 */
.project-review-desk-page .el-table__row .el-table__cell:last-child .cell {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.project-review-desk-page .el-table__row .el-table__cell:last-child {
  padding: 8px 4px;
}

/* 按钮组合布局 */
.custom-info-button {
  min-width: auto;
  padding: 0.3rem 0.6rem;
  height: 28px;
  font-size: 12px;
  margin: 2px;
  display: inline-flex;
}
.custom-info-button .button-text {
  font-size: 11px;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
}

















/* 分配评审按钮 - 橄榄绿色主题 */
.custom-assign-button {
  background: linear-gradient(145deg, #f7fee7 0%, #ecfccb 30%, #d9f99d 60%, #bef264 100%);
  border: 2px solid #365314;
  color: #365314;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.9);
  
  /* 发光边框效果 */
  box-shadow: 
    0 4px 12px rgba(54, 83, 20, 0.25),
    0 2px 6px rgba(54, 83, 20, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    inset 0 -1px 0 rgba(54, 83, 20, 0.1),
    0 0 0 1px rgba(54, 83, 20, 0.1);
}
.custom-assign-button:hover {
  background: linear-gradient(145deg, #ecfccb 0%, #d9f99d 25%, #bef264 50%, #a3e635 100%);
  border-color: #4d7c0f;
  color: #1a2e05;
  
  /* 增强悬浮效果 */
  box-shadow: 
    0 8px 25px rgba(54, 83, 20, 0.35),
    0 4px 12px rgba(54, 83, 20, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    inset 0 -1px 0 rgba(54, 83, 20, 0.15),
    0 0 25px rgba(163, 230, 53, 0.4);
}









/* 信息按钮 - 灰色主题 */
.custom-info-button {
  background: linear-gradient(135deg, #f8fafc 0%, rgba(100, 116, 139, 0.05) 100%);
  border: 1px solid #64748b;
  color: #64748b;
}
.custom-info-button:hover {
  background: linear-gradient(135deg, #f1f5f9 0%, rgba(100, 116, 139, 0.15) 100%);
  border-color: #475569;
  color: #475569;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(100, 116, 139, 0.2);
}
.custom-info-button:active {
  transform: translateY(1px);
  box-shadow: 0 1px 4px rgba(100, 116, 139, 0.3);
}
.custom-info-button::before {
  background: linear-gradient(90deg, transparent, rgba(100, 116, 139, 0.3), transparent);
}

/* 重新分派按钮 - 橙色主题 */
.custom-reassign-button {
  background: linear-gradient(135deg, var(--project-download-lightest) 0%, rgba(230, 162, 60, 0.05) 100%);
  border: 1px solid var(--project-download-color);
  color: var(--project-download-color);
}
.custom-reassign-button:hover {
  background: linear-gradient(135deg, var(--project-download-lighter) 0%, rgba(230, 162, 60, 0.15) 100%);
  border-color: var(--project-download-light);
  color: var(--project-download-light);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(230, 162, 60, 0.2);
}
.custom-reassign-button:active {
  transform: translateY(1px);
  box-shadow: 0 1px 4px rgba(230, 162, 60, 0.3);
}
.custom-reassign-button::before {
  background: linear-gradient(90deg, transparent, rgba(230, 162, 60, 0.3), transparent);
}

/* 历史按钮 - 紫色主题 */
.custom-history-button {
  background: linear-gradient(135deg, #faf5ff 0%, rgba(147, 51, 234, 0.05) 100%);
  border: 1px solid #9333ea;
  color: #9333ea;
}
.custom-history-button:hover {
  background: linear-gradient(135deg, #f3e8ff 0%, rgba(147, 51, 234, 0.15) 100%);
  border-color: #a855f7;
  color: #a855f7;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(147, 51, 234, 0.2);
}
.custom-history-button:active {
  transform: translateY(1px);
  box-shadow: 0 1px 4px rgba(147, 51, 234, 0.3);
}
.custom-history-button::before {
  background: linear-gradient(90deg, transparent, rgba(147, 51, 234, 0.3), transparent);
}

/* 开始评审按钮 - 绿色主题 */
.custom-start-review-button {
  background: linear-gradient(135deg, var(--project-view-lightest) 0%, rgba(103, 194, 58, 0.05) 100%);
  border: 1px solid var(--project-view-color);
  color: var(--project-view-color);
}
.custom-start-review-button:hover {
  background: linear-gradient(135deg, var(--project-view-lighter) 0%, rgba(103, 194, 58, 0.15) 100%);
  border-color: var(--project-view-light);
  color: var(--project-view-light);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(103, 194, 58, 0.2);
}
.custom-start-review-button:active {
  transform: translateY(1px);
  box-shadow: 0 1px 4px rgba(103, 194, 58, 0.3);
}
.custom-start-review-button::before {
  background: linear-gradient(90deg, transparent, rgba(103, 194, 58, 0.3), transparent);
}

/* 继续评审按钮 - 蓝绿色主题 */
.custom-continue-review-button {
  background: linear-gradient(135deg, #f0fdfa 0%, rgba(20, 184, 166, 0.05) 100%);
  border: 1px solid #14b8a6;
  color: #14b8a6;
}
.custom-continue-review-button:hover {
  background: linear-gradient(135deg, #ccfbf1 0%, rgba(20, 184, 166, 0.15) 100%);
  border-color: #5eead4;
  color: #0f766e;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(20, 184, 166, 0.2);
}
.custom-continue-review-button:active {
  transform: translateY(1px);
  box-shadow: 0 1px 4px rgba(20, 184, 166, 0.3);
}
.custom-continue-review-button::before {
  background: linear-gradient(90deg, transparent, rgba(20, 184, 166, 0.3), transparent);
}

/* 附件按钮 - 黄色主题 */
.custom-attachment-button {
  background: linear-gradient(135deg, #fefce8 0%, rgba(234, 179, 8, 0.05) 100%);
  border: 1px solid #eab308;
  color: #eab308;
}
.custom-attachment-button:hover {
  background: linear-gradient(135deg, #fef3c7 0%, rgba(234, 179, 8, 0.15) 100%);
  border-color: #f59e0b;
  color: #d97706;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(234, 179, 8, 0.2);
}
.custom-attachment-button:active {
  transform: translateY(1px);
  box-shadow: 0 1px 4px rgba(234, 179, 8, 0.3);
}
.custom-attachment-button::before {
  background: linear-gradient(90deg, transparent, rgba(234, 179, 8, 0.3), transparent);
}



/* 查看申报按钮 - 深蓝色主题 */
.custom-view-app-button {
  background: linear-gradient(135deg, #dbeafe 0%, rgba(37, 99, 235, 0.05) 100%);
  border: 1px solid #2563eb;
  color: #2563eb;
}
.custom-view-app-button:hover {
  background: linear-gradient(135deg, #bfdbfe 0%, rgba(37, 99, 235, 0.15) 100%);
  border-color: #1d4ed8;
  color: #1d4ed8;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.2);
}
.custom-view-app-button:active {
  transform: translateY(1px);
  box-shadow: 0 1px 4px rgba(37, 99, 235, 0.3);
}
.custom-view-app-button::before {
  background: linear-gradient(90deg, transparent, rgba(37, 99, 235, 0.3), transparent);
}

/* 继续申报按钮 - 蓝绿色主题（与评审台的继续评审按钮区分） */
.custom-continue-button {
  background: linear-gradient(135deg, #f0fdfa 0%, rgba(20, 184, 166, 0.05) 100%);
  border: 1px solid #14b8a6;
  color: #14b8a6;
}
.custom-continue-button:hover {
  background: linear-gradient(135deg, #ccfbf1 0%, rgba(20, 184, 166, 0.15) 100%);
  border-color: #5eead4;
  color: #0f766e;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(20, 184, 166, 0.2);
}
.custom-continue-button:active {
  transform: translateY(1px);
  box-shadow: 0 1px 4px rgba(20, 184, 166, 0.3);
}
.custom-continue-button::before {
  background: linear-gradient(90deg, transparent, rgba(20, 184, 166, 0.3), transparent);
}

/* ==================== 对话框按钮样式（基于TalentFilterPage重置按钮标准） ==================== */

/* 对话框按钮通用样式 - 基于TalentFilterPage重置按钮标准 */
.custom-dialog-button,
.custom-dialog-close-button,
.dialog-btn-cancel,
.dialog-btn-confirm,
.dialog-btn-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.8rem;
  background: linear-gradient(135deg, #eff6ff 0%, rgba(30, 64, 175, 0.05) 100%);
  border-radius: 0.3rem;
  color: #1e40af;
  font-size: 13px;
  font-weight: 500;
  height: 32px;
  min-width: 70px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 1px solid #1e40af;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  flex-shrink: 0;
}
.custom-dialog-button .button-content,
.custom-dialog-close-button .button-content,
.dialog-btn-cancel .button-content,
.dialog-btn-confirm .button-content,
.dialog-btn-preview .button-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  width: 100%;
  z-index: 1;
  position: relative;
}
.custom-dialog-button .button-icon,
.custom-dialog-close-button .button-icon,
.dialog-btn-cancel .button-icon,
.dialog-btn-confirm .button-icon,
.dialog-btn-preview .button-icon {
  font-size: 12px;
  flex-shrink: 0;
  line-height: 1;
}
.custom-dialog-button .button-text,
.custom-dialog-close-button .button-text,
.dialog-btn-cancel .button-text,
.dialog-btn-confirm .button-text,
.dialog-btn-preview .button-text {
  font-size: 13px;
  line-height: 1.2;
  white-space: nowrap;
}

/* 发光扫过效果 */
.custom-dialog-button::before,
.custom-dialog-close-button::before,
.dialog-btn-cancel::before,
.dialog-btn-confirm::before,
.dialog-btn-preview::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-dialog-button:hover::before,
.custom-dialog-close-button:hover::before,
.dialog-btn-cancel:hover::before,
.dialog-btn-confirm:hover::before,
.dialog-btn-preview:hover::before {
  left: 100%;
}
.custom-dialog-button:hover,
.custom-dialog-close-button:hover,
.dialog-btn-cancel:hover,
.dialog-btn-confirm:hover,
.dialog-btn-preview:hover {
  cursor: pointer;
}
.custom-dialog-button:active,
.custom-dialog-close-button:active,
.dialog-btn-cancel:active,
.dialog-btn-confirm:active,
.dialog-btn-preview:active {
  transform: translateY(1px);
}

/* 按钮样式变体 */

/* 取消按钮 - 灰色主题 */
.dialog-btn-cancel {
  background: linear-gradient(135deg, #f8fafc 0%, rgba(100, 116, 139, 0.05) 100%);
  border-color: #64748b;
  color: #64748b;
}
.dialog-btn-cancel:hover {
  background: linear-gradient(135deg, #f1f5f9 0%, rgba(100, 116, 139, 0.15) 100%);
  border-color: #475569;
  color: #475569;
}

/* 确认按钮 - 绿色主题 */
.dialog-btn-confirm {
  background: linear-gradient(135deg, #dcfce7 0%, rgba(34, 197, 94, 0.05) 100%);
  border-color: #22c55e;
  color: #22c55e;
}
.dialog-btn-confirm:hover {
  background: linear-gradient(135deg, #bbf7d0 0%, rgba(34, 197, 94, 0.15) 100%);
  border-color: #16a34a;
  color: #16a34a;
}

/* 预览按钮 - 蓝色主题 */
.dialog-btn-preview {
  background: linear-gradient(135deg, #dbeafe 0%, rgba(37, 99, 235, 0.05) 100%);
  border-color: #2563eb;
  color: #2563eb;
}
.dialog-btn-preview:hover {
  background: linear-gradient(135deg, #bfdbfe 0%, rgba(37, 99, 235, 0.15) 100%);
  border-color: #1d4ed8;
  color: #1d4ed8;
}

/* 主要按钮样式变体（保留原有） */
.custom-dialog-button.primary {
  background: linear-gradient(135deg, #dcfce7 0%, rgba(34, 197, 94, 0.05) 100%);
  border-color: #22c55e;
  color: #22c55e;
}
.custom-dialog-button.primary:hover {
  background: linear-gradient(135deg, #bbf7d0 0%, rgba(34, 197, 94, 0.15) 100%);
  border-color: #16a34a;
  color: #16a34a;
}

/* 禁用状态 */
.custom-dialog-button.disabled,
.custom-dialog-close-button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* MessageBox 对话框按钮样式覆盖 - 基于TalentFilterPage重置按钮标准 */
.application-detail-dialog .el-message-box__btns .el-button,
.el-message-box.application-detail-dialog .el-button,
.el-message-box__btns .el-button--primary,
.el-message-box__btns .el-button,
.el-message-box .el-button,
.backend-error-dialog .el-message-box__btns .el-button,
.teacher-comparison-confirm .el-message-box__btns .el-button,
.mode-switch-message .el-message-box__btns .el-button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.8rem;
  background: linear-gradient(135deg, #eff6ff 0%, rgba(30, 64, 175, 0.05) 100%) !important;
  border-radius: 0.3rem;
  color: #1e40af !important;
  font-size: 13px;
  font-weight: 500;
  height: 32px;
  min-width: 70px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 1px solid #1e40af !important;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

/* MessageBox按钮发光扫过效果 - 基于TalentFilterPage重置按钮标准 */
.application-detail-dialog .el-message-box__btns .el-button::before,
.el-message-box.application-detail-dialog .el-button::before,
.el-message-box__btns .el-button--primary::before,
.el-message-box__btns .el-button::before,
.el-message-box .el-button::before,
.backend-error-dialog .el-message-box__btns .el-button::before,
.teacher-comparison-confirm .el-message-box__btns .el-button::before,
.mode-switch-message .el-message-box__btns .el-button::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;
  z-index: 1;
}
.application-detail-dialog .el-message-box__btns .el-button:hover::before,
.el-message-box.application-detail-dialog .el-button:hover::before,
.el-message-box__btns .el-button--primary:hover::before,
.el-message-box__btns .el-button:hover::before,
.el-message-box .el-button:hover::before,
.backend-error-dialog .el-message-box__btns .el-button:hover::before,
.teacher-comparison-confirm .el-message-box__btns .el-button:hover::before,
.mode-switch-message .el-message-box__btns .el-button:hover::before {
  left: 100%;
}
.application-detail-dialog .el-message-box__btns .el-button:hover,
.el-message-box.application-detail-dialog .el-button:hover,
.el-message-box__btns .el-button--primary:hover,
.el-message-box__btns .el-button:hover,
.el-message-box .el-button:hover,
.backend-error-dialog .el-message-box__btns .el-button:hover,
.teacher-comparison-confirm .el-message-box__btns .el-button:hover,
.mode-switch-message .el-message-box__btns .el-button:hover {
  background: linear-gradient(135deg, #eff6ff 0%, rgba(30, 64, 175, 0.05) 100%) !important;
  color: #1e40af !important;
  border-color: #1e40af !important;
  transform: none;
  cursor: pointer;
}
.application-detail-dialog .el-message-box__btns .el-button:active,
.el-message-box.application-detail-dialog .el-button:active,
.el-message-box__btns .el-button--primary:active,
.el-message-box__btns .el-button:active,
.el-message-box .el-button:active,
.backend-error-dialog .el-message-box__btns .el-button:active,
.teacher-comparison-confirm .el-message-box__btns .el-button:active,
.mode-switch-message .el-message-box__btns .el-button:active {
  transform: translateY(1px);
}

/* 确保按钮文字在发光效果之上 */
.application-detail-dialog .el-message-box__btns .el-button span,
.el-message-box.application-detail-dialog .el-button span,
.el-message-box__btns .el-button--primary span,
.el-message-box__btns .el-button span,
.el-message-box .el-button span,
.backend-error-dialog .el-message-box__btns .el-button span,
.teacher-comparison-confirm .el-message-box__btns .el-button span,
.mode-switch-message .el-message-box__btns .el-button span {
  position: relative;
  z-index: 2;
}

/* 对话框底部按钮容器样式 - 优化布局 */
.dialog-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 0;
  margin-top: 1rem;
  border-top: 1px solid #f0f0f0;
  flex-wrap: wrap;
}

/* MessageBox 弹窗按钮容器优化 */
.el-message-box__btns {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 1rem 1.5rem 1.5rem 1.5rem !important;
  margin: 0 !important;
  flex-wrap: wrap !important;
}

/* 特定弹窗的按钮容器布局 */
.application-detail-dialog .el-message-box__btns,
.backend-error-dialog .el-message-box__btns,
.teacher-comparison-confirm .el-message-box__btns,
.mode-switch-message .el-message-box__btns {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 1.5rem !important;
  margin: 0 !important;
  border-top: 1px solid #f0f0f0 !important;
  background: #fafafa !important;
  flex-wrap: wrap !important;
}

/* 按钮顺序控制 - 确保取消/关闭按钮在左，确认按钮在右 */
.el-message-box__btns .el-button:first-child {
  order: 1;
  margin-right: auto;
}
.el-message-box__btns .el-button:last-child {
  order: 2;
}

/* 单个按钮时居中显示 */
.el-message-box__btns .el-button:only-child {
  order: 0;
  margin: 0 auto;
}

/* 多个按钮时的间距控制 */
.el-message-box__btns .el-button + .el-button {
  margin-left: 0 !important;
}

/* 特定类型弹窗的按钮布局微调 */
.backend-error-dialog .el-message-box__btns {
  justify-content: center !important;
}
.teacher-comparison-confirm .el-message-box__btns {
  justify-content: space-between !important;
}
.mode-switch-message .el-message-box__btns {
  justify-content: center !important;
}

/* 对话框按钮响应式设计 */
@media (max-width: 768px) {
.custom-dialog-button,
  .custom-dialog-close-button {
    padding: 0.3rem 0.6rem;
    height: 28px;
    min-width: 60px;
    font-size: 12px;
}
.custom-dialog-button .button-icon,
  .custom-dialog-close-button .button-icon {
    font-size: 11px;
}
.custom-dialog-button .button-text,
  .custom-dialog-close-button .button-text {
    font-size: 12px;
}
.application-detail-dialog .el-message-box__btns .el-button,
  .el-message-box.application-detail-dialog .el-button,
  .el-message-box__btns .el-button--primary,
  .el-message-box__btns .el-button,
  .el-message-box .el-button,
  .backend-error-dialog .el-message-box__btns .el-button,
  .teacher-comparison-confirm .el-message-box__btns .el-button,
  .mode-switch-message .el-message-box__btns .el-button {
    padding: 0.3rem 0.6rem !important;
    height: 28px !important;
    min-width: 60px !important;
    font-size: 12px !important;
}
.dialog-footer {
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.75rem 0;
}

  /* 移动端弹窗按钮容器优化 */
.el-message-box__btns {
    gap: 0.5rem !important;
    padding: 1rem !important;
    flex-direction: row !important;
    justify-content: center !important;
}
.application-detail-dialog .el-message-box__btns,
  .backend-error-dialog .el-message-box__btns,
  .teacher-comparison-confirm .el-message-box__btns,
  .mode-switch-message .el-message-box__btns {
    gap: 0.75rem !important;
    padding: 1rem !important;
    flex-direction: row !important;
    justify-content: center !important;
}

  /* 移动端按钮顺序优化 */
.el-message-box__btns .el-button:first-child {
    order: 1;
    margin-right: 0;
}
.el-message-box__btns .el-button:last-child {
    order: 2;
}
}



/* ==================== 自定义输入框样式 ==================== */

/* 自定义输入框容器 */
.custom-input-container {
  position: relative;
  display: inline-block;
  width: 200px;
}

/* 自定义输入框样式 - 继承unified-table-btn基础样式并扩展 */
.custom-input {
  width: 100% !important;
  border: 1px solid transparent !important;
  outline: none;
  padding: 0.4rem 2rem 0.4rem 0.5rem !important; /* 右侧留出清空按钮空间 */
  box-sizing: border-box;
  font-family: inherit;
  resize: none;
  text-align: left !important;
}
.custom-input::-moz-placeholder {
  color: #a0a0a0;
  font-size: 12px;
}
.custom-input::placeholder {
  color: #a0a0a0;
  font-size: 12px;
}
.custom-input:focus {
  border-color: var(--project-primary) !important;
  box-shadow: 0 0 0 1px var(--project-primary-lighter) !important;
}

/* 输入框清空按钮 */
.custom-input-clear {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  color: #c0c4cc;
  cursor: pointer;
  font-size: 14px;
  z-index: 2;
}
.custom-input-clear:hover {
  color: #909399;
}

/* ==================== 自定义日期选择器样式 ==================== */

/* 日期选择器容器 */
.custom-date-picker-container {
  position: relative;
  display: inline-block;
  width: 200px;
}

/* 日期选择器按钮 */
.custom-date-picker-btn {
  justify-content: space-between !important;
  min-width: 180px !important;
  gap: 0.5rem !important;
  width: 100% !important;
  text-align: left !important;
}
.custom-date-picker-btn .custom-date-picker-icon {
  margin-left: auto;
  font-size: 14px;
  opacity: 0.7;
}

/* 日期选择器菜单 */
.custom-date-picker-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  margin-top: 2px;
  background: #ffffff;
  border-radius: 0.3rem;
  border: 1px solid var(--project-border-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  animation: dropdown-fade-in 0.2s ease;
  min-width: 280px;
}

/* 日期选择器面板（新增样式） */
.custom-date-picker-panel {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  margin-top: 2px;
  background: #ffffff;
  border-radius: 0.3rem;
  border: 1px solid var(--project-border-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  animation: dropdown-fade-in 0.2s ease;
  min-width: 280px;
  padding: 15px;
}

/* 日期选择器输入区域 */
.date-picker-inputs {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}

/* 日期分隔符 */
.date-separator {
  flex-shrink: 0;
  font-size: 12px;
  color: var(--project-text-secondary);
  font-weight: 500;
}

/* 日期操作按钮区域样式补充 */
.date-clear-btn {
  background: #ffffff !important;
  color: var(--project-text-secondary) !important;
}
.date-clear-btn:hover {
  background: var(--project-bg-secondary) !important;
  color: var(--project-primary) !important;
}
.date-confirm-btn {
  background: var(--project-primary) !important;
  color: #ffffff !important;
  border-color: var(--project-primary) !important;
}
.date-confirm-btn:hover {
  background: var(--project-primary-light) !important;
  border-color: var(--project-primary-light) !important;
}

/* 日期选择器内容 */
.date-picker-content {
  padding: 15px;
}

/* 日期选择器行 */
.date-picker-row {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  gap: 10px;
}
.date-picker-row:last-child {
  margin-bottom: 0;
}
.date-picker-row label {
  flex-shrink: 0;
  width: 70px;
  font-size: 13px;
  color: var(--project-text-primary);
  font-weight: 500;
}

/* 日期输入框 */
.date-input {
  flex: 1;
  padding: 6px 8px;
  border: 1px solid var(--project-border-primary);
  border-radius: 0.3rem;
  font-size: 13px;
  background: #ffffff;
  color: var(--project-text-primary);
  outline: none;
  transition: border-color 0.3s ease;
}
.date-input:focus {
  border-color: var(--project-primary);
  box-shadow: 0 0 0 2px var(--project-primary-lightest);
}

/* 日期选择器操作按钮 */
.date-picker-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 15px;
  padding-top: 12px;
  border-top: 1px solid var(--project-border-primary);
}
.date-picker-btn {
  padding: 6px 12px;
  border: 1px solid var(--project-border-primary);
  border-radius: 0.3rem;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  background: #ffffff;
  color: var(--project-text-secondary);
}
.date-picker-btn:hover {
  background: var(--project-bg-secondary);
  border-color: var(--project-primary);
  color: var(--project-primary);
}
.date-picker-btn.primary {
  background: var(--project-primary);
  border-color: var(--project-primary);
  color: #ffffff;
}
.date-picker-btn.primary:hover {
  background: var(--project-primary-light);
  border-color: var(--project-primary-light);
}

/* ==================== 自定义下拉菜单样式 ==================== */

/* 自定义下拉菜单容器 */
.custom-dropdown-container {
  position: relative;
  display: inline-block;
}

/* 自定义下拉菜单触发器 - 继承unified-table-btn样式 */
.custom-dropdown-trigger {
  justify-content: space-between !important;
  min-width: 120px !important;
  gap: 0.5rem !important;
}

/* 下拉箭头动画 */
.custom-dropdown-trigger .el-icon-arrow-down {
  transition: transform 0.3s ease;
  font-size: 12px;
  flex-shrink: 0;
}
.custom-dropdown-trigger .el-icon-arrow-down.dropdown-open {
  transform: rotate(180deg);
}

/* 下拉菜单面板 */
.custom-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  margin-top: 2px;
  background: #ffffff;
  border-radius: 0.3rem;
  border: 1px solid var(--project-border-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  animation: dropdown-fade-in 0.2s ease;
}

/* 下拉菜单动画 */
@keyframes dropdown-fade-in {
from {
    opacity: 0;
    transform: translateY(-8px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/* 下拉菜单项 */
.custom-dropdown-item {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  color: var(--project-text-primary);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  border-bottom: 1px solid #f5f5f5;
}
.custom-dropdown-item:last-child {
  border-bottom: none;
}
.custom-dropdown-item:hover {
  background: var(--project-bg-secondary);
  color: var(--project-primary);
}

/* 激活状态的下拉菜单项 */
.custom-dropdown-item.active {
  background: var(--project-primary-lightest);
  color: var(--project-primary);
  font-weight: 600;
}
.custom-dropdown-item.active:hover {
  background: var(--project-primary-lighter);
}

/* 响应式设计 */
@media (max-width: 768px) {
.custom-dropdown-trigger {
    min-width: 100px !important;
    font-size: 12px !important;
}
.custom-dropdown-item {
    padding: 0.4rem 0.6rem;
    font-size: 12px;
}
}

/* ==================== 统一表格按钮样式（完全对齐TalentFilterPage标准） ==================== */

/* 统一表格按钮基础样式 - 完全参考TalentFilterPage的'教师个人档案'按钮 */
.unified-table-btn {
  /* 基础布局 - 对齐TalentCommon.css的operation-button */
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  box-sizing: border-box;
  text-decoration: none;
  
  /* 尺寸和间距 - 对齐TalentFilterPage标准 */
  font-size: 0.75rem;
  padding: 0.4rem 0.5rem;
  border-radius: 0.3rem;
  height: 2rem;
  line-height: 1.2;
  min-width: 70px;
  text-align: center;
  /* width: 100%; */ /* 移除固定宽度，允许按钮自适应 */
  
  /* 颜色和边框 - 白底黑字无边框，完全对齐TalentCommon.css */
  border: 1px solid transparent;
  background: #ffffff;
  color: var(--project-text-primary);
  font-weight: 500;
  
  /* 动画效果 - 对齐TalentCommon.css的transition */
  transition: all 0.25s ease;
  
  /* 轻微阴影显示轮廓 - 默认状态较轻 */
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* 统一表格按钮悬浮效果 - 白底黑字+轻微悬浮+阴影增强，完全对齐TalentCommon.css */
.unified-table-btn:hover {
  background: #ffffff;
  border-color: transparent;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  color: var(--project-text-primary);
  text-decoration: none;
}

/* 统一表格按钮点击效果 - 对齐TalentCommon.css的operation-button:active */
.unified-table-btn:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* 统一表格按钮加载状态 */
.unified-table-btn.btn-loading {
  opacity: 0.65;
  cursor: not-allowed;
  pointer-events: none;
}

/* 统一表格按钮图标样式 */
.unified-table-btn i {
  font-size: 13px;
  flex-shrink: 0;
  line-height: 1;
  width: 13px;
  text-align: center;
}

/* 统一表格按钮文字样式 */
.unified-table-btn span {
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}

/* 表格操作按钮容器样式 - 正常左对齐布局 */
.operation-buttons-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  flex-wrap: wrap;
  padding: 4px 0;
  min-height: 40px;
}

/* 确保操作按钮在容器中正确显示 */
.operation-buttons-container .unified-table-btn {
  flex-shrink: 0;
}

/* 响应式设计 */
@media (max-width: 768px) {
.unified-table-btn {
    font-size: 11px;
    padding: 0.3rem 0.4rem;
    height: 1.8rem;
    min-width: 60px;
}
.unified-table-btn i {
    font-size: 12px;
    width: 12px;
}
.unified-table-btn span {
    font-size: 11px;
}
}
@media (max-width: 480px) {
.unified-table-btn {
    font-size: 10px;
    padding: 0.25rem 0.3rem;
    height: 1.6rem;
    min-width: 50px;
}
.unified-table-btn span {
    font-size: 10px;
}
}

/* ==================== 项目业务管理表格样式 ==================== */
/* 表格悬浮效果已在Vue组件中通过 :show-hover="false" 禁用 */

/* ==================== 自定义表格样式 ==================== */
/* 完全对齐的自定义表格，替代el-table */
.custom-table-container {
  width: 100%;
  background: var(--project-bg-primary);
  border-radius: 0.5rem;
  border: 1px solid var(--project-border-primary);
  overflow: hidden;
  box-shadow: var(--project-shadow-sm);
}

/* ==================== 校级项目申报表格样式 ==================== */

/* 校级项目申报表格通用样式 - 基于ProjectReviewDesk标准 */
.project-tabs .custom-table-header {
  background: var(--project-bg-secondary);
  border-bottom: 2px solid var(--project-border-primary);
  font-weight: 600;
  font-size: 14px;
  color: var(--project-text-primary);
}
.project-tabs .custom-table-row {
  border-bottom: 1px solid var(--project-border-primary);
  transition: background-color 0.2s ease;
}
.project-tabs .custom-table-row:hover {
  background-color: #f8fafc;
}
.project-tabs .custom-table-row.stripe-row {
  background-color: #fafbfc;
}
.project-tabs .custom-table-row.stripe-row:hover {
  background-color: #f1f5f9;
}

/* 表格单元格通用样式 */
.project-tabs .table-cell {
  padding: 12px 8px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-right: 1px solid var(--project-border-primary);
  min-height: 60px;
  font-size: 13px;
  color: var(--project-text-primary);
  overflow: hidden;
}
.project-tabs .table-cell:last-child {
  border-right: none;
}

/* 表头单元格 */
.project-tabs .custom-table-header .table-cell {
  justify-content: center;
  font-weight: 600;
  background: var(--project-bg-secondary);
  min-height: 48px;
  border-right: 1px solid var(--project-border-primary);
}
.project-tabs .custom-table-header .table-cell:last-child {
  border-right: none;
}

/* 默认Grid布局 - 适用于所有标签页 */
.project-tabs .custom-table-header,
.project-tabs .custom-table-row {
  display: grid;
  width: 100%;
}

/* 在线申报列表布局 (8列) */
.project-tabs .el-tab-pane:nth-child(1) .custom-table-header,
.project-tabs .el-tab-pane:nth-child(1) .custom-table-row {
  grid-template-columns: 
    minmax(200px, 2fr) 
    120px 
    130px 
    100px 
    120px 
    120px 
    100px 
    280px;
}

/* 我的申报列表布局 (7列) */
.project-tabs .el-tab-pane:nth-child(2) .custom-table-header,
.project-tabs .el-tab-pane:nth-child(2) .custom-table-row {
  grid-template-columns: 
    minmax(200px, 2fr) 
    minmax(180px, 1fr) 
    120px 
    120px 
    100px 
    130px 
    280px;
}

/* 评审历史列表布局 (10列) */
.project-tabs .el-tab-pane:nth-child(3) .custom-table-header,
.project-tabs .el-tab-pane:nth-child(3) .custom-table-row {
  grid-template-columns: 
    minmax(200px, 2fr) 
    160px 
    100px 
    120px 
    120px 
    120px 
    80px 
    140px 
    120px 
    280px;
}

/* 校级项目特有样式 */
.project-description {
  font-size: 12px;
  color: var(--project-text-tertiary);
  margin-top: 4px;
  line-height: 1.4;
}
.category-code {
  color: #606266;
  font-family: monospace;
  font-size: 12px;
}
.category-name {
  font-weight: 600;
  color: var(--project-text-primary);
}
.deadline-text {
  color: #f56c6c;
  font-size: 12px;
}
.department-cell {
  text-align: center;
}

/* 校级项目列表按钮优化 */
.project-tabs .list-actions .custom-refresh-button {
  min-width: 60px;
  max-width: 80px;
  padding: 0.4rem 0.6rem;
  height: 32px;
}
.project-tabs .list-actions .custom-refresh-button .button-text {
  font-size: 12px;
  white-space: nowrap;
}
.project-tabs .list-actions .custom-refresh-button .button-icon {
  font-size: 12px;
}

/* 校级项目申报表格响应式设计 */

/* 1400px响应式设计 */
@media (max-width: 1400px) {
  /* 在线申报 */
.project-tabs .el-tab-pane[aria-labelledby="tab-online-apply"] .custom-table-header {
    grid-template-columns: 
      minmax(180px, 2fr) 
      100px 
      110px 
      90px 
      100px 
      100px 
      90px 
      250px;
}
.project-tabs .el-tab-pane[aria-labelledby="tab-online-apply"] .custom-table-row {
    grid-template-columns: 
      minmax(180px, 2fr) 
      100px 
      110px 
      90px 
      100px 
      100px 
      90px 
      250px;
}

  /* 我的申报 */
.project-tabs .el-tab-pane[aria-labelledby="tab-my-applications"] .custom-table-header {
    grid-template-columns: 
      minmax(180px, 2fr) 
      minmax(160px, 1fr) 
      100px 
      100px 
      90px 
      110px 
      250px;
}
.project-tabs .el-tab-pane[aria-labelledby="tab-my-applications"] .custom-table-row {
    grid-template-columns: 
      minmax(180px, 2fr) 
      minmax(160px, 1fr) 
      100px 
      100px 
      90px 
      110px 
      250px;
}

  /* 评审历史 */
.project-tabs .el-tab-pane[aria-labelledby="tab-review-history"] .custom-table-header {
    grid-template-columns: 
      minmax(180px, 2fr) 
      140px 
      90px 
      100px 
      100px 
      100px 
      70px 
      120px 
      100px 
      250px;
}
.project-tabs .el-tab-pane[aria-labelledby="tab-review-history"] .custom-table-row {
    grid-template-columns: 
      minmax(180px, 2fr) 
      140px 
      90px 
      100px 
      100px 
      100px 
      70px 
      120px 
      100px 
      250px;
}
}

/* 1200px响应式设计 */
@media (max-width: 1200px) {
  /* 在线申报 */
.project-tabs .el-tab-pane:nth-child(1) .custom-table-header,
  .project-tabs .el-tab-pane:nth-child(1) .custom-table-row {
    grid-template-columns: 
      minmax(160px, 2fr) 
      90px 
      100px 
      80px 
      90px 
      90px 
      80px 
      220px;
}

  /* 我的申报 */
.project-tabs .el-tab-pane:nth-child(2) .custom-table-header,
  .project-tabs .el-tab-pane:nth-child(2) .custom-table-row {
    grid-template-columns: 
      minmax(160px, 2fr) 
      minmax(140px, 1fr) 
      90px 
      90px 
      80px 
      100px 
      220px;
}

  /* 评审历史 */
.project-tabs .el-tab-pane:nth-child(3) .custom-table-header,
  .project-tabs .el-tab-pane:nth-child(3) .custom-table-row {
    grid-template-columns: 
      minmax(160px, 2fr) 
      120px 
      80px 
      90px 
      90px 
      90px 
      60px 
      100px 
      80px 
      220px;
}
.project-tabs .table-cell {
    padding: 8px 6px;
    font-size: 12px;
    min-height: 50px;
}
.project-tabs .custom-table-header .table-cell {
    min-height: 40px;
}
}

/* 768px响应式设计 */
@media (max-width: 768px) {
.project-tabs .custom-table-container {
    overflow-x: auto;
}
  
  /* 在线申报 */
.project-tabs .el-tab-pane:nth-child(1) .custom-table-header,
  .project-tabs .el-tab-pane:nth-child(1) .custom-table-row {
    min-width: 1000px;
    grid-template-columns: 
      200px 
      120px 
      130px 
      100px 
      120px 
      120px 
      100px 
      280px;
}

  /* 我的申报 */
.project-tabs .el-tab-pane:nth-child(2) .custom-table-header,
  .project-tabs .el-tab-pane:nth-child(2) .custom-table-row {
    min-width: 900px;
    grid-template-columns: 
      200px 
      180px 
      120px 
      120px 
      100px 
      130px 
      280px;
}

  /* 评审历史 */
.project-tabs .el-tab-pane:nth-child(3) .custom-table-header,
  .project-tabs .el-tab-pane:nth-child(3) .custom-table-row {
    min-width: 1200px;
    grid-template-columns: 
      200px 
      160px 
      100px 
      120px 
      120px 
      120px 
      80px 
      140px 
      120px 
      280px;
}
}

/* 表格表头 */
.custom-table-header {
  display: grid;
  grid-template-columns: 
    minmax(200px, 2fr) 
    120px 
    minmax(160px, 1fr) 
    100px 
    100px 
    100px 
    120px 
    80px 
    140px 
    100px 
    300px;
  background: var(--project-bg-secondary);
  border-bottom: 2px solid var(--project-border-primary);
  font-weight: 600;
  font-size: 14px;
  color: var(--project-text-primary);
}

/* 表格数据行 */
.custom-table-row {
  display: grid;
  grid-template-columns: 
    minmax(200px, 2fr) 
    120px 
    minmax(160px, 1fr) 
    100px 
    100px 
    100px 
    120px 
    80px 
    140px 
    100px 
    300px;
  border-bottom: 1px solid var(--project-border-primary);
  transition: background-color 0.2s ease;
}
.custom-table-row:hover {
  background-color: #f8fafc;
}
.custom-table-row.stripe-row {
  background-color: #fafbfc;
}
.custom-table-row.stripe-row:hover {
  background-color: #f1f5f9;
}

/* 表格单元格通用样式 */
.table-cell {
  padding: 12px 8px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-right: 1px solid var(--project-border-primary);
  min-height: 60px;
  font-size: 13px;
  color: var(--project-text-primary);
  overflow: hidden;
}
.table-cell:last-child {
  border-right: none;
}

/* 表头单元格 - 统一样式，确保所有列都一致 */
.custom-table-header .table-cell {
  justify-content: center;
  align-items: center;
  font-weight: 600;
  background: var(--project-bg-secondary);
  min-height: 48px;
  border-right: 1px solid var(--project-border-primary);
  display: flex;
  line-height: 1.2;
}
.custom-table-header .table-cell:last-child {
  border-right: none;
}

/* 通过更高特异性确保所有表头列使用统一样式 */
.custom-table-container .custom-table-header .table-cell.category-header,
.custom-table-container .custom-table-header .table-cell.status-header,
.custom-table-container .custom-table-header .table-cell.review-status-header,
.custom-table-container .custom-table-header .table-cell.project-name-header,
.custom-table-container .custom-table-header .table-cell.applicant-header,
.custom-table-container .custom-table-header .table-cell.funding-header,
.custom-table-container .custom-table-header .table-cell.reviewer-header,
.custom-table-container .custom-table-header .table-cell.priority-header,
.custom-table-container .custom-table-header .table-cell.time-header,
.custom-table-container .custom-table-header .table-cell.flags-header,
.custom-table-container .custom-table-header .table-cell.operations-header {
  background: var(--project-bg-secondary);
  background-color: var(--project-bg-secondary);
  background-image: none;
  color: var(--project-text-primary);
  border: none;
  border-right: 1px solid var(--project-border-primary);
  box-shadow: none;
  position: relative;
  /* 确保所有列的对齐方式完全一致 */
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
  font-weight: 600;
  min-height: 48px;
}

/* 添加强制对齐修复，专门解决项目类别表头高度问题 */
.custom-table-container .custom-table-header .table-cell.category-header {
  /* 强制垂直对齐 */
  vertical-align: baseline;
  text-align: center;
  padding-top: 12px;
  padding-bottom: 12px;
  /* 重置可能影响高度的属性 */
  margin: 0;
  box-sizing: border-box;
  /* 强制字体基线对齐 */
  font-variant: normal;
  font-stretch: normal;
  font-feature-settings: normal;
}

/* 各列特定样式 */
.project-name-cell,
.project-name-header {
  justify-content: flex-start;
  padding-left: 16px;
}
.project-name-content {
  width: 100%;
}
.project-title {
  font-weight: 600;
  color: var(--project-text-primary);
  line-height: 1.4;
  margin-bottom: 4px;
  word-break: break-word;
}
.project-code {
  font-size: 12px;
  color: var(--project-text-tertiary);
  line-height: 1.2;
}
.applicant-content {
  width: 100%;
  text-align: center;
}
.applicant-name {
  font-weight: 500;
  color: var(--project-text-primary);
  margin-bottom: 2px;
}
.applicant-zgh {
  font-size: 11px;
  color: var(--project-text-tertiary);
}
.category-cell,
.category-header,
.status-cell,
.status-header,
.review-status-cell,
.review-status-header,
.priority-cell,
.priority-header {
  justify-content: center;
  /* 确保垂直对齐完全一致 */
  align-items: center;
  vertical-align: middle;
  line-height: 1.2;
}
.funding-cell,
.funding-header {
  justify-content: center;
}
.funding-amount {
  color: #e6a23c;
  font-weight: 600;
}
.reviewer-cell,
.reviewer-header {
  justify-content: center;
  text-align: center;
}
.reviewer-assigned {
  color: #409eff;
  font-weight: 500;
}
.reviewer-unassigned {
  color: var(--project-text-tertiary);
  font-style: italic;
}
.time-cell,
.time-header {
  justify-content: center;
}
.time-content {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
}
.time-content i {
  color: var(--project-text-tertiary);
}
.flags-cell,
.flags-header {
  justify-content: center;
}
.flags-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: center;
}
.operations-cell {
  justify-content: flex-start;
}
.operations-header {
  justify-content: center;
}

/* 操作按钮容器在自定义表格中的样式 */
.custom-table-container .operation-buttons-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  flex-wrap: wrap;
  width: 100%;
  padding: 4px;
}

/* 响应式设计 */
@media (max-width: 1400px) {
.custom-table-header,
  .custom-table-row {
    grid-template-columns: 
      minmax(180px, 2fr) 
      100px 
      minmax(140px, 1fr) 
      90px 
      90px 
      90px 
      100px 
      70px 
      120px 
      90px 
      280px;
}
}
@media (max-width: 1200px) {
.custom-table-header,
  .custom-table-row {
    grid-template-columns: 
      minmax(160px, 2fr) 
      90px 
      minmax(120px, 1fr) 
      80px 
      80px 
      80px 
      90px 
      60px 
      100px 
      80px 
      240px;
}
.table-cell {
    padding: 8px 6px;
    font-size: 12px;
    min-height: 50px;
}
.custom-table-header .table-cell {
    min-height: 40px;
}
}
@media (max-width: 768px) {
.custom-table-container {
    overflow-x: auto;
}
.custom-table-header,
  .custom-table-row {
    min-width: 1000px;
    grid-template-columns: 
      200px 
      100px 
      160px 
      100px 
      100px 
      100px 
      120px 
      80px 
      140px 
      100px 
      300px;
}
}

/* ==================== 项目垂直卡片容器样式 ==================== */
.project-vertical-card {
  background: var(--project-bg-primary);
  border-radius: 0.5rem;
  border: 1px solid var(--project-border-primary);
  box-shadow: var(--project-shadow-sm);
  overflow: hidden;
}
.project-list-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.5rem 1.5rem 1rem 1.5rem;
  border-bottom: 1px solid var(--project-border-primary);
  background: var(--project-bg-secondary);
}
.project-list-title {
  flex: 1;
}
.project-list-title h3 {
  margin: 0 0 0.5rem 0;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--project-text-primary);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.project-list-info {
  margin-top: 0.25rem;
}
.project-total-count {
  font-size: 0.875rem;
  color: var(--project-text-secondary);
  line-height: 1.5;
}
.project-list-actions {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

/* 列表内容统一内边距 */
.project-vertical-card .list-content { padding: 1.5rem;
}

/* 统一：列表头部右侧刷新按钮尺寸与位置 */
.project-list-actions .unified-table-btn {
  min-width: 80px;
  height: 32px;
  padding: 0.4rem 0.6rem;
}

/* 加载中旋转动画（用于刷新图标） */
@keyframes rotating {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}
.rotating {
  animation: rotating 1s linear infinite;
}
.btn-loading {
  opacity: 0.85;
}
.project-list-content {
  padding: 0;
}

/* ==================== 列表信息样式 ==================== */

/* 列表信息文字样式 */
.list-info {
  font-size: 0.875rem;
  color: var(--project-text-secondary);
  flex: 1;
  margin-left: 1rem;
  font-weight: 400;
  line-height: 1.4;
}

/* 列表头部样式 */
.list-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--project-border-primary);
  background: var(--project-bg-secondary);
  flex-wrap: wrap;
  gap: 1rem;
}
.list-header h3 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--project-text-primary);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.list-actions {
  display: flex;
  gap: 0.5rem;
}
.list-content {
  padding: 1.5rem;
}

/* 响应式设计 */
@media (max-width: 1200px) {
.list-header {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
}
.list-info {
    margin-left: 0;
    text-align: center;
}
.list-actions {
    justify-content: center;
}
}

/* ==================== 国家/省部级项目归档页面专用样式 ==================== */

/* 自定义标签样式 */
.custom-tag {
  display: inline-block;
  padding: 2px 8px;
  font-size: 12px;
  border-radius: 3px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
}

/* 标签在窄列中的显示优化：添加最大宽度与省略号，避免遮挡其它列 */
.category-cell .custom-tag {
  max-width: 140px;
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
}
@media (max-width: 1200px) {
.category-cell .custom-tag {
    max-width: 120px;
}
}
@media (max-width: 900px) {
.category-cell .custom-tag {
    max-width: 100px;
}
}

/* 国家级标签 - 红色 */
.custom-tag.tag-national,
.custom-tag.tag-danger {
  background: #fef0f0;
  color: #f56c6c;
  border: 1px solid #fbc4c4;
}

/* 省部级标签 - 橙色 */
.custom-tag.tag-provincial,
.custom-tag.tag-warning {
  background: #fdf6ec;
  color: #e6a23c;
  border: 1px solid #f5dab1;
}

/* 市级标签 - 蓝色 */
.custom-tag.tag-municipal,
.custom-tag.tag-primary {
  background: #ecf5ff;
  color: #409eff;
  border: 1px solid #b3d8ff;
}

/* 成功状态标签 - 绿色 */
.custom-tag.tag-success {
  background: #f0f9eb;
  color: #67c23a;
  border: 1px solid #c2e7b0;
}

/* 信息状态标签 - 灰色 */
.custom-tag.tag-info {
  background: #f4f4f5;
  color: #909399;
  border: 1px solid #d3d4d6;
}

/* 尺寸修饰符 */
.custom-tag.small { font-size: 12px; padding: 2px 8px;
}
.custom-tag.mini { font-size: 11px; padding: 2px 6px;
}

/* 国家/省部级项目归档表格样式 */
.project-archived-page .custom-table-header,
.project-archived-page .custom-table-row {
  display: grid;
  grid-template-columns: 
    120px     /* 归档编号 */
    120px     /* 项目编号 */
    1fr       /* 项目名称 */
    100px     /* 项目级别 */
    120px     /* 项目负责人 */
    100px     /* 项目周期 */
    120px     /* 项目预算 */
    120px     /* 实际资金 */
    100px     /* 归档状态 */
    110px     /* 开始时间 */
    110px     /* 结束时间 */
    200px;    /* 操作 */
}

/* 响应式设计 - 国家/省部级项目归档 */
@media (max-width: 1600px) {
.project-archived-page .custom-table-header,
  .project-archived-page .custom-table-row {
    grid-template-columns: 
      110px     /* 归档编号 */
      110px     /* 项目编号 */
      1fr       /* 项目名称 */
      90px      /* 项目级别 */
      110px     /* 项目负责人 */
      90px      /* 项目周期 */
      110px     /* 项目预算 */
      110px     /* 实际资金 */
      90px      /* 归档状态 */
      100px     /* 开始时间 */
      100px     /* 结束时间 */
      180px;    /* 操作 */
}
}
@media (max-width: 1200px) {
.project-archived-page .custom-table-header,
  .project-archived-page .custom-table-row {
    grid-template-columns: 
      100px     /* 归档编号 */
      100px     /* 项目编号 */
      1fr       /* 项目名称 */
      80px      /* 项目级别 */
      100px     /* 项目负责人 */
      80px      /* 项目周期 */
      100px     /* 项目预算 */
      100px     /* 实际资金 */
      80px      /* 归档状态 */
      90px      /* 开始时间 */
      90px      /* 结束时间 */
      160px;    /* 操作 */
}
}
@media (max-width: 768px) {
.project-archived-page .custom-table-container {
    overflow-x: auto;
}
.project-archived-page .custom-table-header,
  .project-archived-page .custom-table-row {
    min-width: 1200px;
    grid-template-columns: 
      120px     /* 归档编号 */
      120px     /* 项目编号 */
      200px     /* 项目名称 */
      100px     /* 项目级别 */
      120px     /* 项目负责人 */
      100px     /* 项目周期 */
      120px     /* 项目预算 */
      120px     /* 实际资金 */
      100px     /* 归档状态 */
      110px     /* 开始时间 */
      110px     /* 结束时间 */
      200px;    /* 操作 */
}
}
.dialog-btn-cancel.disabled,
.dialog-btn-confirm.disabled,
.custom-dialog-button.disabled {
  opacity: 0.6;
  pointer-events: none;
}

/* 统一操作区图标大小与风格（轮廓型） */
.operation-buttons-container i,
.unified-table-btn i,
.dialog-btn-cancel .button-icon,
.dialog-btn-confirm .button-icon {
  font-size: 14px;
  width: 14px;
  height: 14px;
  line-height: 14px;
  opacity: 0.9;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
}

/* 列表操作按钮内的图标与文字间距统一 */
.unified-table-btn .el-icon--right {
  margin-left: 4px;
}

/* ==================== 更多操作下拉菜单专用样式 ==================== */

/* 更多操作下拉菜单触发器 */
.more-actions-dropdown .more-actions-trigger {
  position: relative;
  min-width: 80px;
  justify-content: space-between;
  padding: 6px 8px;
  border-radius: 4px;
  background: #ffffff;
  border: 1px solid #dcdfe6;
  color: #606266;
  font-size: 12px;
  transition: all 0.3s ease;
}
.more-actions-dropdown .more-actions-trigger:hover {
  background: #ecf5ff;
  border-color: #409eff;
  color: #409eff;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(64, 158, 255, 0.15);
}

/* 更多操作触发器中的图标 */
.more-actions-trigger i {
  font-size: 14px;
  line-height: 1;
  font-style: normal;
}
.more-actions-trigger .el-icon-more {
  margin-right: 4px;
}
.more-actions-trigger .el-icon-arrow-down {
  font-size: 10px;
  margin-left: 4px;
  transition: transform 0.3s ease;
}

/* 下拉菜单打开时箭头旋转 */
.more-actions-dropdown.el-dropdown.is-opened .more-actions-trigger .el-icon-arrow-down {
  transform: rotate(180deg);
}

/* 更多操作下拉菜单面板 */
.more-actions-menu {
  margin-top: 2px;
  border: 1px solid #e4e7ed;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  padding: 4px 0;
  min-width: 160px;
  background: #ffffff;
}

/* 下拉菜单项样式 */
.more-actions-menu .dropdown-action-item {
  display: flex !important;
  align-items: center !important;
  padding: 8px 12px !important;
  margin: 0 4px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #606266 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  border: none !important;
}
.more-actions-menu .dropdown-action-item:hover {
  background: #f5f7fa !important;
  color: #409eff !important;
}

/* 下拉菜单项中的图标 */
.dropdown-action-item i {
  font-size: 14px !important;
  width: 14px !important;
  height: 14px !important;
  line-height: 14px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  text-align: center !important;
  margin-right: 8px !important;
  flex-shrink: 0 !important;
  opacity: 0.8 !important;
  font-style: normal !important;
}
.dropdown-action-item:hover i {
  opacity: 1 !important;
  color: #409eff !important;
}

/* 下拉菜单项中的文字 */
.dropdown-action-item span {
  flex: 1 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: inherit !important;
}

/* 修复 Element UI 默认样式冲突 */
.more-actions-menu .el-dropdown-item {
  background: transparent !important;
  color: inherit !important;
  border: none !important;
  outline: none !important;
}
.more-actions-menu .el-dropdown-item.is-disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* ==================== 页面其他组件图标统一样式 ==================== */

/* 统计卡片中的图标样式（已迁移到各自组件内部，保持作用域独立） */

/* 筛选区域标题图标 */
.filter-header h3 i {
  font-size: 16px;
  width: 16px;
  height: 16px;
  line-height: 16px;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  margin-right: 6px;
}

/* 列表标题图标 */
.project-list-title h3 i {
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  margin-right: 6px;
}

/* 对话框标题区域图标 */
.notification-basic-section h4 i,
.notification-content-section h4 i,
.notification-recipients-section h4 i,
.notification-timing-section h4 i,
.notification-additional-section h4 i,
.notification-attachments-section h4 i,
.project-info-section h4 i {
  font-size: 16px;
  width: 16px;
  height: 16px;
  line-height: 16px;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  margin-right: 6px;
  opacity: 0.8;
}

/* 选择器选项中的图标 */
.el-select-dropdown .el-option i {
  font-size: 14px;
  width: 14px;
  height: 14px;
  line-height: 14px;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  margin-right: 6px;
}

/* 确保所有Element UI图标的通用样式 */
i[class*="el-icon"] {
  font-style: normal !important;
  font-weight: normal !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variant: normal;
  text-transform: none;
  vertical-align: baseline;
  display: inline-block;
}

/* 修复可能导致图标显示不全的CSS问题 */
.operation-buttons-container i[class*="el-icon"],
.unified-table-btn i[class*="el-icon"],
.dropdown-action-item i[class*="el-icon"],
.more-actions-trigger i[class*="el-icon"] {
  overflow: visible !important;
  min-width: 14px !important;
  text-align: center !important;
  vertical-align: middle !important;
  font-family: element-icons !important;
}

/* 确保下拉菜单图标完全显示 */
.more-actions-menu .el-dropdown-item i[class*="el-icon"] {
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  line-height: 16px !important;
  text-align: center !important;
  font-size: 14px !important;
  margin-right: 8px !important;
  flex-shrink: 0 !important;
  overflow: visible !important;
}
