/* ============================================================
   清禾碳创 - 科技风主题（Tech Theme - 明亮版）
   统一应用于 index / login / dashboard / admin / pricing 等页面
   核心元素：明亮深蓝渐变 + 霓虹蓝青 + 网格 + 光晕 + 毛玻璃
   ============================================================ */

:root {
  /* 主色板 - 明亮科技蓝 */
  --tech-bg-deep: #1a3a6e;          /* 明亮深蓝 */
  --tech-bg-dark: #224880;          /* 中深蓝 */
  --tech-bg-panel: rgba(30,60,120,0.55);   /* 面板半透明（更亮） */
  --tech-bg-panel-solid: #2a4a7a;   /* 面板实色 */
  --tech-bg-glass: rgba(40,80,140,0.40);   /* 毛玻璃 */
  --tech-primary: #00d4ff;          /* 霓虹青 */
  --tech-primary-2: #3a8fff;        /* 明亮科技蓝 */
  --tech-accent: #00ffaa;           /* 翡翠绿 */
  --tech-accent-2: #ff5ec4;         /* 品红辅助 */
  --tech-warning: #ffb648;
  --tech-danger: #ff4d6d;

  --tech-text: #ffffff;
  --tech-text-soft: #d4e4f7;
  --tech-text-muted: #9bbee0;

  --tech-border: rgba(0,212,255,0.35);
  --tech-border-soft: rgba(150,200,255,0.20);

  --tech-grad: linear-gradient(135deg, #00d4ff 0%, #3a8fff 50%, #00ffaa 100%);
  --tech-grad-deep: linear-gradient(135deg, #1a3a6e 0%, #224880 40%, #2f5da0 100%);

  --tech-shadow-glow: 0 0 24px rgba(0,212,255,0.40);
  --tech-shadow-card: 0 8px 32px rgba(0,0,0,0.30), 0 0 0 1px var(--tech-border-soft) inset;
  --tech-shadow-hover: 0 16px 48px rgba(0,212,255,0.30), 0 0 0 1px var(--tech-primary) inset;

  --tech-radius: 12px;
  --tech-radius-lg: 18px;
}

/* ========== 全局背景：明亮深蓝渐变 + 网格 + 浮动光晕 ========== */
body {
  background-color: var(--tech-bg-deep) !important;
  background-image:
    radial-gradient(ellipse 1200px 600px at 20% 0%, rgba(100,180,255,0.25), transparent 60%),
    radial-gradient(ellipse 900px 600px at 90% 30%, rgba(0,255,170,0.12), transparent 60%),
    linear-gradient(180deg, #1a3a6e 0%, #224880 50%, #1e4070 100%) !important;
  color: var(--tech-text) !important;
  font-family: "PingFang SC","Microsoft YaHei","Segoe UI",Arial,sans-serif !important;
  position: relative;
  min-height: 100vh;
}

/* 网格底纹 */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(0,212,255,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,212,255,0.05) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000 30%, transparent 100%);
  mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000 30%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}

/* 漂浮光斑 */
body::after {
  content: "";
  position: fixed;
  top: -200px; right: -200px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(0,212,255,0.12) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  animation: floatGlow 14s ease-in-out infinite alternate;
}

@keyframes floatGlow {
  0% { transform: translate(0,0) scale(1); }
  100% { transform: translate(-120px, 80px) scale(1.15); }
}

/* 内容容器抬升到 z 层 */
.admin-container, .main-container, .app-root, main, .container {
  position: relative;
  z-index: 1;
}

/* ========== 通用文字 / 链接 ========== */
a { color: var(--tech-primary); transition: all .2s; }
a:hover { color: #5ce6ff; text-shadow: 0 0 8px rgba(0,212,255,0.6); }

h1, h2, h3, h4 {
  color: var(--tech-text) !important;
  text-shadow: 0 0 18px rgba(0,212,255,0.18);
  letter-spacing: 0.5px;
}

p, li, span { color: var(--tech-text-soft); }

/* ========== 按钮：霓虹描边 + 渐变 ========== */
.btn, .login-btn, .btn-primary, .btn-accent, .btn-ghost,
.btn-white, button.el-button, .el-button--primary {
  position: relative;
  background: var(--tech-grad) !important;
  color: #06122e !important;
  border: 0 !important;
  border-radius: var(--tech-radius) !important;
  padding: 10px 22px;
  font-weight: 700;
  letter-spacing: 0.5px;
  cursor: pointer;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0,212,255,0.35) !important;
  transition: all .25s ease;
}

.btn:hover, .login-btn:hover, .btn-primary:hover, .btn-accent:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0,212,255,0.55) !important;
  filter: brightness(1.08);
}

.btn::after, .login-btn::after {
  content: "";
  position: absolute;
  top: 0; left: -120%;
  width: 60%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.55), transparent);
  transform: skewX(-20deg);
  transition: left .6s;
}
.btn:hover::after, .login-btn:hover::after { left: 130%; }

/* 次级按钮：透明描边 */
.btn-ghost, .btn-secondary, .el-button--default {
  background: transparent !important;
  color: var(--tech-primary) !important;
  border: 1.5px solid var(--tech-primary) !important;
  box-shadow: 0 0 12px rgba(0,212,255,0.25) inset !important;
}
.btn-ghost:hover, .btn-secondary:hover, .el-button--default:hover {
  background: rgba(0,212,255,0.12) !important;
  box-shadow: 0 0 20px rgba(0,212,255,0.5) !important;
}

/* 危险按钮 */
.btn-danger, .el-button--danger {
  background: linear-gradient(135deg, #ff4d6d, #ff5ec4) !important;
  color: #fff !important;
  box-shadow: 0 4px 18px rgba(255,77,109,0.4) !important;
}

/* ========== 卡片 / 面板：毛玻璃 + 霓虹描边 ========== */
.panel, .card, .stat-card, .content-header, .module-header,
.news-block, .qe-card, .login-card, .hero-static,
.el-card, .map-panel {
  background: var(--tech-bg-panel) !important;
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border: 1px solid var(--tech-border-soft) !important;
  border-radius: var(--tech-radius-lg) !important;
  box-shadow: var(--tech-shadow-card) !important;
  color: var(--tech-text) !important;
  transition: all .3s ease;
}

.panel:hover, .card:hover, .stat-card:hover, .news-block:hover, .qe-card:hover {
  transform: translateY(-4px);
  border-color: var(--tech-primary) !important;
  box-shadow: var(--tech-shadow-hover) !important;
}

.panel-title, .content-header h1, .module-header h2, .news-block-header h3 {
  color: var(--tech-text) !important;
  border-bottom: 1px solid var(--tech-border) !important;
}

/* ========== 表单输入 ========== */
input, textarea, select, .login-form-input, .el-input__inner,
.el-textarea__inner, .el-select__inner {
  background: rgba(8,18,40,0.65) !important;
  color: var(--tech-text) !important;
  border: 1px solid var(--tech-border) !important;
  border-radius: 8px !important;
  padding: 9px 12px;
  transition: all .2s;
}
input::placeholder, textarea::placeholder { color: var(--tech-text-muted) !important; }

input:focus, textarea:focus, select:focus,
.login-form-input:focus, .el-input__inner:focus,
.el-textarea__inner:focus, .el-select__inner:focus {
  outline: none;
  border-color: var(--tech-primary) !important;
  box-shadow: 0 0 0 3px rgba(0,212,255,0.18), 0 0 18px rgba(0,212,255,0.4) !important;
}

/* Element Plus 表单 label */
.el-form-item__label, .form-label, label {
  color: var(--tech-text-soft) !important;
}

/* 下拉菜单 */
.el-select-dropdown {
  background: var(--tech-bg-panel-solid) !important;
  border: 1px solid var(--tech-border) !important;
}
.el-select-dropdown__item.hover, .el-select-dropdown__item:hover {
  background: rgba(0,212,255,0.15) !important;
  color: var(--tech-primary) !important;
}

/* ========== 表格 ========== */
table, .el-table {
  background: transparent !important;
  color: var(--tech-text) !important;
}
thead th, .el-table th {
  background: rgba(0,212,255,0.12) !important;
  color: var(--tech-primary) !important;
  border-bottom: 1px solid var(--tech-border) !important;
}
tbody td, .el-table td {
  border-bottom: 1px solid var(--tech-border-soft) !important;
  color: var(--tech-text-soft) !important;
}
tbody tr:hover, .el-table__row:hover > td {
  background: rgba(0,212,255,0.08) !important;
}

/* ========== 顶部 / 导航 ========== */
.topbar, .navbar, .header {
  background: rgba(5,11,31,0.85) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--tech-border) !important;
  color: var(--tech-text-soft) !important;
}
.navbar.scrolled { box-shadow: 0 8px 32px rgba(0,212,255,0.18) !important; }

.nav-menu a, .menu-item {
  color: var(--tech-text-soft) !important;
  transition: all .2s;
}
.nav-menu a:hover, .menu-item:hover {
  background: rgba(0,212,255,0.12) !important;
  color: var(--tech-primary) !important;
}
.nav-menu a.active {
  background: var(--tech-grad) !important;
  color: #06122e !important;
}

/* 侧边栏 */
.sidebar {
  background: rgba(8,16,38,0.85) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-right: 1px solid var(--tech-border-soft) !important;
  color: var(--tech-text-soft) !important;
}
.sidebar-header h2, .sidebar-header {
  color: var(--tech-primary) !important;
  border-bottom: 1px solid var(--tech-border) !important;
}
.menu-item.active {
  background: linear-gradient(90deg, rgba(0,212,255,0.18), transparent) !important;
  border-left-color: var(--tech-primary) !important;
  color: var(--tech-primary) !important;
  text-shadow: 0 0 8px rgba(0,212,255,0.5);
}

/* ========== 标签 / 标记 ========== */
.sec-tag, .badge, .tag, .el-tag {
  background: rgba(0,212,255,0.15) !important;
  color: var(--tech-primary) !important;
  border: 1px solid var(--tech-border) !important;
  border-radius: 999px;
  padding: 4px 14px;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* 状态徽章 */
.el-tag--success { background: rgba(0,255,170,0.15) !important; color: var(--tech-accent) !important; border-color: rgba(0,255,170,0.4) !important; }
.el-tag--warning { background: rgba(255,182,72,0.15) !important; color: var(--tech-warning) !important; }
.el-tag--danger  { background: rgba(255,77,109,0.15) !important; color: var(--tech-danger) !important; }

/* ========== Logo 标记 ========== */
.logo-mark, .login-logo, .header-title .logo, .logo {
  background: var(--tech-grad) !important;
  color: #06122e !important;
  box-shadow: 0 0 24px rgba(0,212,255,0.55) !important;
  border: 1px solid rgba(255,255,255,0.2) inset;
}
.logo-text .cn { color: var(--tech-text) !important; }
.logo-text .en { color: var(--tech-text-muted) !important; }

/* ========== 轮播 / Hero ========== */
.banner, .hero-static {
  background: var(--tech-grad-deep) !important;
  position: relative;
  overflow: hidden;
}
.banner::before, .hero-static::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 20% 50%, rgba(0,212,255,0.35), transparent 50%),
    radial-gradient(circle at 80% 30%, rgba(0,255,170,0.22), transparent 50%);
  pointer-events: none;
}
.banner-content h2, .hero-static h1 {
  color: #fff !important;
  text-shadow: 0 0 24px rgba(0,212,255,0.7) !important;
}
.hero-static h1 .hl { color: var(--tech-accent) !important; text-shadow: 0 0 16px rgba(0,255,170,0.7); }

/* ========== 数据统计卡 ========== */
.stat-card .stat-value, .stat-card h2, .stat-card .num {
  color: var(--tech-primary) !important;
  font-weight: 800;
  text-shadow: 0 0 12px rgba(0,212,255,0.4);
}
.stat-card .stat-label { color: var(--tech-text-muted) !important; }

/* ========== 模态框 ========== */
.modal-overlay, .modal-mask, .el-overlay {
  background: rgba(5,11,31,0.78) !important;
  backdrop-filter: blur(4px);
}
.modal, .el-dialog, .el-message-box {
  background: var(--tech-bg-panel-solid) !important;
  border: 1px solid var(--tech-border) !important;
  border-radius: var(--tech-radius-lg) !important;
  box-shadow: 0 20px 60px rgba(0,212,255,0.25), 0 0 0 1px var(--tech-border) inset !important;
  color: var(--tech-text) !important;
}
.modal-header, .el-dialog__header {
  border-bottom: 1px solid var(--tech-border) !important;
  color: var(--tech-text) !important;
}
.modal-header h3, .el-dialog__title { color: var(--tech-primary) !important; }

/* ========== 滚动条 ========== */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--tech-bg-dark); }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--tech-primary), var(--tech-primary-2));
  border-radius: 6px;
  border: 2px solid var(--tech-bg-dark);
}
::-webkit-scrollbar-thumb:hover { background: var(--tech-primary); box-shadow: 0 0 12px rgba(0,212,255,0.6); }

/* ========== 链接按钮 / 文本按钮 ========== */
a.btn-text, .text-btn {
  background: transparent !important;
  color: var(--tech-primary) !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none;
}
a.btn-text:hover { color: #5ce6ff !important; text-shadow: 0 0 8px rgba(0,212,255,0.7); }

/* ========== 提示框 ========== */
.el-message {
  background: rgba(10,20,48,0.95) !important;
  border: 1px solid var(--tech-border) !important;
  color: var(--tech-text) !important;
  box-shadow: 0 8px 32px rgba(0,212,255,0.3) !important;
}

/* ========== 分页器 ========== */
.el-pagination .btn-prev, .el-pagination .btn-next,
.el-pagination .el-pager li {
  background: rgba(8,18,40,0.6) !important;
  color: var(--tech-text-soft) !important;
  border: 1px solid var(--tech-border-soft) !important;
}
.el-pagination .el-pager li.active,
.el-pagination .el-pager li:hover {
  background: var(--tech-grad) !important;
  color: #06122e !important;
}

/* ========== 网格分隔线动画（用于Hero/Section装饰）========== */
.tech-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--tech-primary), transparent);
  position: relative;
  overflow: hidden;
}
.tech-divider::after {
  content: "";
  position: absolute;
  top: 0; left: -50%;
  width: 50%; height: 100%;
  background: linear-gradient(90deg, transparent, #fff, transparent);
  animation: dividerScan 3s linear infinite;
}
@keyframes dividerScan {
  0% { left: -50%; }
  100% { left: 150%; }
}

/* ========== 工具类 ========== */
.tech-glow { box-shadow: 0 0 18px rgba(0,212,255,0.5); }
.tech-glow-accent { box-shadow: 0 0 18px rgba(0,255,170,0.5); }
.tech-text-glow { text-shadow: 0 0 10px rgba(0,212,255,0.6); }
.tech-gradient-text {
  background: var(--tech-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* 加载动画：旋转环 */
.tech-spinner {
  width: 28px; height: 28px;
  border: 3px solid rgba(0,212,255,0.2);
  border-top-color: var(--tech-primary);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* 减少动画偏好 */
@media (prefers-reduced-motion: reduce) {
  body::after, .tech-divider::after { animation: none; }
  * { transition: none !important; }
}

/* ============================================================
   全局主题系统 - 支持深色/浅色/蓝色三种主题
   通过 body[data-theme="xxx"] 切换
   ============================================================ */

/* ========== 浅色主题 ========== */
body[data-theme="light"] {
  --tech-bg-deep: #f5f7fa;
  --tech-bg-dark: #e4e7ed;
  --tech-bg-panel: #ffffff;
  --tech-bg-panel-solid: #ffffff;
  --tech-bg-glass: rgba(255,255,255,0.9);
  --tech-primary: #409eff;
  --tech-primary-2: #66b1ff;
  --tech-accent: #67c23a;
  --tech-accent-2: #e6a23c;
  --tech-warning: #e6a23c;
  --tech-danger: #f56c6c;
  --tech-text: #303133;
  --tech-text-soft: #606266;
  --tech-text-muted: #909399;
  --tech-border: #dcdfe6;
  --tech-border-soft: #ebeef5;
  --tech-grad: linear-gradient(135deg, #409eff 0%, #66b1ff 50%, #67c23a 100%);
  --tech-grad-deep: linear-gradient(135deg, #e4e7ed 0%, #f5f7fa 100%);
  --tech-shadow-glow: 0 0 24px rgba(64,158,255,0.2);
  --tech-shadow-card: 0 2px 12px rgba(0,0,0,0.08);
  --tech-shadow-hover: 0 4px 16px rgba(0,0,0,0.12);
}

body[data-theme="light"] {
  background-color: #f5f7fa !important;
  background-image: none !important;
  color: #303133 !important;
}

body[data-theme="light"]::before,
body[data-theme="light"]::after {
  display: none !important;
}

body[data-theme="light"] .panel,
body[data-theme="light"] .card,
body[data-theme="light"] .stat-card,
body[data-theme="light"] .el-card,
body[data-theme="light"] .modal,
body[data-theme="light"] .el-dialog,
body[data-theme="light"] .content-area,
body[data-theme="light"] .main-content {
  background: #ffffff !important;
  border: 1px solid #e4e7ed !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
  color: #303133 !important;
}

body[data-theme="light"] input,
body[data-theme="light"] textarea,
body[data-theme="light"] select,
body[data-theme="light"] .el-input__inner,
body[data-theme="light"] .el-textarea__inner {
  background: #ffffff !important;
  color: #303133 !important;
  border: 1px solid #dcdfe6 !important;
}

body[data-theme="light"] input::placeholder,
body[data-theme="light"] textarea::placeholder {
  color: #a8abb2 !important;
}

body[data-theme="light"] thead th,
body[data-theme="light"] .el-table th {
  background: #f5f7fa !important;
  color: #606266 !important;
  border-bottom: 1px solid #ebeef5 !important;
}

body[data-theme="light"] tbody td,
body[data-theme="light"] .el-table td {
  border-bottom: 1px solid #ebeef5 !important;
  color: #606266 !important;
}

body[data-theme="light"] tbody tr:hover,
body[data-theme="light"] .el-table__row:hover > td {
  background: #f5f7fa !important;
}

body[data-theme="light"] .sidebar {
  background: #ffffff !important;
  border-right: 1px solid #e4e7ed !important;
  color: #606266 !important;
}

body[data-theme="light"] .topbar,
body[data-theme="light"] .navbar,
body[data-theme="light"] .header {
  background: #ffffff !important;
  border-bottom: 1px solid #e4e7ed !important;
  color: #303133 !important;
}

body[data-theme="light"] .nav-menu a,
body[data-theme="light"] .menu-item {
  color: #606266 !important;
}

body[data-theme="light"] .nav-menu a:hover,
body[data-theme="light"] .menu-item:hover {
  background: #ecf5ff !important;
  color: #409eff !important;
}

body[data-theme="light"] .menu-item.active {
  background: #ecf5ff !important;
  border-left-color: #409eff !important;
  color: #409eff !important;
}

body[data-theme="light"] .logo-text .cn { color: #303133 !important; }
body[data-theme="light"] .logo-text .en { color: #909399 !important; }

body[data-theme="light"] .banner,
body[data-theme="light"] .hero-static {
  background: linear-gradient(135deg, #409eff 0%, #66b1ff 100%) !important;
}

body[data-theme="light"] .modal-overlay,
body[data-theme="light"] .modal-mask,
body[data-theme="light"] .el-overlay {
  background: rgba(0,0,0,0.5) !important;
}

body[data-theme="light"] ::-webkit-scrollbar-track { background: #f5f7fa; }
body[data-theme="light"] ::-webkit-scrollbar-thumb { background: #c0c4cc; }
body[data-theme="light"] ::-webkit-scrollbar-thumb:hover { background: #909399; }

body[data-theme="light"] .el-form-item__label,
body[data-theme="light"] .form-label,
body[data-theme="light"] label {
  color: #606266 !important;
}

body[data-theme="light"] .footer,
body[data-theme="light"] footer {
  background: #f5f7fa !important;
  color: #606266 !important;
  border-top: 1px solid #e4e7ed !important;
}

body[data-theme="light"] p,
body[data-theme="light"] li,
body[data-theme="light"] span {
  color: #606266 !important;
}

body[data-theme="light"] h1,
body[data-theme="light"] h2,
body[data-theme="light"] h3,
body[data-theme="light"] h4 {
  color: #303133 !important;
  text-shadow: none !important;
}

body[data-theme="light"] a {
  color: #409eff !important;
}

body[data-theme="light"] a:hover {
  color: #66b1ff !important;
  text-shadow: none !important;
}

body[data-theme="light"] .tech-divider::after {
  background: linear-gradient(90deg, transparent, #409eff, transparent);
}


/* ========== 蓝色主题 ========== */
body[data-theme="blue"] {
  --tech-bg-deep: #1e5dbd;
  --tech-bg-dark: #3a7bd5;
  --tech-bg-panel: rgba(255,255,255,0.95);
  --tech-bg-panel-solid: #ffffff;
  --tech-bg-glass: rgba(255,255,255,0.85);
  --tech-primary: #ffcc00;
  --tech-primary-2: #ffd633;
  --tech-accent: #00d4ff;
  --tech-accent-2: #ff5ec4;
  --tech-warning: #ff8c00;
  --tech-danger: #ff4d4f;
  --tech-text: #1a3a6c;
  --tech-text-soft: #2d5aa0;
  --tech-text-muted: #5a8fd4;
  --tech-border: #a8c8f0;
  --tech-border-soft: #c0d8f5;
  --tech-grad: linear-gradient(135deg, #ffcc00 0%, #ffd633 50%, #00d4ff 100%);
  --tech-grad-deep: linear-gradient(135deg, #1e5dbd 0%, #3a7bd5 100%);
  --tech-shadow-glow: 0 0 24px rgba(255,204,0,0.3);
  --tech-shadow-card: 0 4px 16px rgba(30,93,189,0.15);
  --tech-shadow-hover: 0 6px 20px rgba(30,93,189,0.25);
}

body[data-theme="blue"] {
  background-color: #1e5dbd !important;
  background-image:
    radial-gradient(ellipse 1200px 600px at 20% 0%, rgba(255,255,255,0.2), transparent 60%),
    radial-gradient(ellipse 900px 600px at 90% 30%, rgba(0,212,255,0.15), transparent 60%),
    linear-gradient(180deg, #1e5dbd 0%, #3a7bd5 100%) !important;
  color: #ffffff !important;
}

body[data-theme="blue"] .panel,
body[data-theme="blue"] .card,
body[data-theme="blue"] .stat-card,
body[data-theme="blue"] .el-card,
body[data-theme="blue"] .modal,
body[data-theme="blue"] .el-dialog {
  background: rgba(255,255,255,0.95) !important;
  border: 1px solid #a8c8f0 !important;
  box-shadow: 0 4px 16px rgba(30,93,189,0.15) !important;
  color: #1a3a6c !important;
}

body[data-theme="blue"] input,
body[data-theme="blue"] textarea,
body[data-theme="blue"] select {
  background: #ffffff !important;
  color: #1a3a6c !important;
  border: 1px solid #a8c8f0 !important;
}

body[data-theme="blue"] input::placeholder,
body[data-theme="blue"] textarea::placeholder {
  color: #7a9ac4 !important;
}

body[data-theme="blue"] thead th,
body[data-theme="blue"] .el-table th {
  background: #d4e5ff !important;
  color: #1a3a6c !important;
  border-bottom: 1px solid #a8c8f0 !important;
}

body[data-theme="blue"] tbody td,
body[data-theme="blue"] .el-table td {
  border-bottom: 1px solid #c0d8f5 !important;
  color: #2d5aa0 !important;
}

body[data-theme="blue"] tbody tr:hover,
body[data-theme="blue"] .el-table__row:hover > td {
  background: #e6f0ff !important;
}

body[data-theme="blue"] .sidebar {
  background: #d4e5ff !important;
  border-right: 1px solid #a8c8f0 !important;
  color: #1a3a6c !important;
}

body[data-theme="blue"] .topbar,
body[data-theme="blue"] .navbar,
body[data-theme="blue"] .header {
  background: rgba(30,93,189,0.95) !important;
  border-bottom: 1px solid rgba(255,255,255,0.3) !important;
  color: #ffffff !important;
}

body[data-theme="blue"] .nav-menu a,
body[data-theme="blue"] .menu-item {
  color: rgba(255,255,255,0.85) !important;
}

body[data-theme="blue"] .nav-menu a:hover,
body[data-theme="blue"] .menu-item:hover {
  background: rgba(255,255,255,0.15) !important;
  color: #ffcc00 !important;
}

body[data-theme="blue"] .menu-item.active {
  background: rgba(255,204,0,0.2) !important;
  border-left-color: #ffcc00 !important;
  color: #ffcc00 !important;
}

body[data-theme="blue"] .logo-text .cn { color: #ffffff !important; }
body[data-theme="blue"] .logo-text .en { color: rgba(255,255,255,0.7) !important; }

body[data-theme="blue"] .banner,
body[data-theme="blue"] .hero-static {
  background: linear-gradient(135deg, #ffcc00 0%, #3a7bd5 100%) !important;
}

body[data-theme="blue"] .footer,
body[data-theme="blue"] footer {
  background: rgba(30,93,189,0.95) !important;
  color: rgba(255,255,255,0.85) !important;
  border-top: 1px solid rgba(255,255,255,0.2) !important;
}

body[data-theme="blue"] p,
body[data-theme="blue"] li {
  color: #2d5aa0 !important;
}

body[data-theme="blue"] .sidebar p,
body[data-theme="blue"] .sidebar li,
body[data-theme="blue"] .sidebar span {
  color: #1a3a6c !important;
}

body[data-theme="blue"] h1,
body[data-theme="blue"] h2,
body[data-theme="blue"] h3,
body[data-theme="blue"] h4 {
  color: #1a3a6c !important;
}

body[data-theme="blue"] .modal h3,
body[data-theme="blue"] .modal h2 {
  color: #1a3a6c !important;
}

body[data-theme="blue"] a {
  color: #ffcc00 !important;
}

body[data-theme="blue"] .el-form-item__label,
body[data-theme="blue"] .form-label,
body[data-theme="blue"] label {
  color: #1a3a6c !important;
}

body[data-theme="blue"] ::-webkit-scrollbar-track { background: #d4e5ff; }
body[data-theme="blue"] ::-webkit-scrollbar-thumb { background: #1e5dbd; }
body[data-theme="blue"] ::-webkit-scrollbar-thumb:hover { background: #ffcc00; }


/* ========== 主题切换按钮样式 ========== */
.theme-switcher {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: rgba(0,0,0,0.2);
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.15);
}

body[data-theme="light"] .theme-switcher {
  background: rgba(0,0,0,0.05);
  border-color: rgba(0,0,0,0.1);
}

body[data-theme="blue"] .theme-switcher {
  background: rgba(255,255,255,0.2);
  border-color: rgba(255,255,255,0.3);
}

.theme-switcher-label {
  font-size: 12px;
  color: rgba(255,255,255,0.8);
  margin-right: 4px;
}

body[data-theme="light"] .theme-switcher-label {
  color: #606266;
}

body[data-theme="blue"] .theme-switcher-label {
  color: rgba(255,255,255,0.9);
}

.theme-btn {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.3s;
  padding: 0;
}

.theme-btn:hover {
  transform: scale(1.15);
}

.theme-btn.active {
  border-color: #fff;
  box-shadow: 0 0 8px rgba(255,255,255,0.5);
}

.theme-btn-dark {
  background: linear-gradient(135deg, #1a3a6e 0%, #224880 100%);
}

.theme-btn-light {
  background: linear-gradient(135deg, #ffffff 0%, #f0f0f0 100%);
  border: 1px solid #ccc;
}

.theme-btn-blue {
  background: linear-gradient(135deg, #1e5dbd 0%, #3a7bd5 100%);
}

/* 侧边栏背景处理 */
body[data-theme="light"] .sidebar .menu-item,
body[data-theme="light"] .sidebar .menu-label {
  color: #606266 !important;
}

body[data-theme="light"] .sidebar .menu-item.active {
  background: #ecf5ff !important;
  color: #409eff !important;
  border-left-color: #409eff !important;
}

/* 强制文字颜色覆盖 - 防止内联样式问题 */
body[data-theme="light"] .el-table,
body[data-theme="light"] .el-table th,
body[data-theme="light"] .el-table td,
body[data-theme="light"] .el-table .cell {
  color: #606266 !important;
  background: transparent !important;
}

body[data-theme="light"] .el-table--enable-row-hover .el-table__body tr:hover > td {
  background: #f5f7fa !important;
}

/* 按钮文字颜色适配 */
body[data-theme="light"] .btn,
body[data-theme="light"] .btn-primary {
  color: #ffffff !important;
}

body[data-theme="blue"] .btn,
body[data-theme="blue"] .btn-primary {
  color: #1a3a6c !important;
}
