/* 
 * 主题管理器 - 统一的主题CSS文件
 * 整合了所有主题相关的样式，减少HTTP请求
 * 作者：斑雁服务
 */

/* ===== 基础主题变量 ===== */
:root {
  /* 蓝色主题色 */
  --theme-color: #1976d2;
  --theme-color-light: #e3f2fd;
  --theme-color-dark: #0d47a1;
  --theme-color-hover: #1e88e5;
  --theme-color-active: #1565c0;
  
  /* 渐变色 */
  --theme-gradient: linear-gradient(135deg, var(--theme-color) 0%, var(--theme-color-hover) 100%);
  --theme-gradient-light: linear-gradient(135deg, var(--theme-color-light) 0%, #b3f5ff 100%);
  
  /* 状态色 */
  --success-color: #52c41a;
  --warning-color: #faad14;
  --error-color: #ff4d4f;
  --info-color: var(--theme-color);
  
  /* 字体和间距 */
  --font-size-base: 14px;
  --font-size-lg: 16px;
  --font-size-sm: 12px;
  --border-radius: 4px;
  --box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* ===== 主题色彩类 ===== */
.theme-primary { color: var(--theme-color) !important; }
.theme-primary-light { color: var(--theme-color-light) !important; }
.theme-primary-dark { color: var(--theme-color-dark) !important; }

.bg-theme-primary { background-color: var(--theme-color) !important; }
.bg-theme-primary-light { background-color: var(--theme-color-light) !important; }
.bg-theme-primary-dark { background-color: var(--theme-color-dark) !important; }
.bg-theme-gradient { background: var(--theme-gradient) !important; }

/* ===== 按钮样式 ===== */
.btn-theme-primary {
  background: var(--theme-gradient);
  border-color: var(--theme-color);
  color: #fff;
  padding: 8px 16px;
  border-radius: var(--border-radius);
  border: 1px solid;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.btn-theme-primary:hover {
  background-color: var(--theme-color-hover);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}

.btn-theme-primary:active {
  background-color: var(--theme-color-active);
  transform: translateY(0);
}

/* ===== 导航样式 ===== */
.navbar-theme {
  background: var(--theme-gradient);
  box-shadow: var(--box-shadow);
}

.navbar-theme .nav-link {
  color: rgba(255, 255, 255, 0.9);
  transition: color 0.3s ease;
}

.navbar-theme .nav-link:hover {
  color: #fff;
}

/* ===== 卡片样式 ===== */
.card-theme {
  border: 1px solid var(--theme-color-light);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  transition: box-shadow 0.3s ease;
}

.card-theme:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.card-theme .card-header {
  background: var(--theme-gradient-light);
  border-bottom: 1px solid var(--theme-color-light);
}

/* ===== 表单样式 ===== */
.form-control-theme {
  border-color: var(--theme-color-light);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.form-control-theme:focus {
  border-color: var(--theme-color);
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.25);
}

/* ===== 标签样式 ===== */
.badge-theme {
  background-color: var(--theme-color);
  color: #fff;
  padding: 4px 8px;
  border-radius: var(--border-radius);
  font-size: var(--font-size-sm);
}

/* ===== 进度条样式 ===== */
.progress-theme {
  background-color: var(--theme-color-light);
  border-radius: var(--border-radius);
  overflow: hidden;
}

.progress-theme .progress-bar {
  background: var(--theme-gradient);
  transition: width 0.6s ease;
}

/* ===== 链接样式 ===== */
.link-theme {
  color: var(--theme-color);
  text-decoration: none;
  transition: color 0.3s ease;
}

.link-theme:hover {
  color: var(--theme-color-hover);
  text-decoration: underline;
}

/* ===== 边框样式 ===== */
.border-theme { border-color: var(--theme-color) !important; }
.border-theme-light { border-color: var(--theme-color-light) !important; }

/* ===== 阴影样式 ===== */
.shadow-theme {
  box-shadow: 0 4px 8px rgba(23, 162, 184, 0.2);
}

/* ===== 响应式设计 ===== */
@media (max-width: 768px) {
  :root {
    --font-size-base: 13px;
    --font-size-lg: 15px;
    --font-size-sm: 11px;
  }
  
  .btn-theme-primary {
    padding: 6px 12px;
    font-size: var(--font-size-sm);
  }
}

/* ===== 动画效果 ===== */
@keyframes themeGlow {
  0% { box-shadow: 0 0 5px var(--theme-color); }
  50% { box-shadow: 0 0 20px var(--theme-color), 0 0 30px var(--theme-color); }
  100% { box-shadow: 0 0 5px var(--theme-color); }
}

.glow-theme {
  animation: themeGlow 2s infinite;
}

/* ===== 特殊效果 ===== */
.theme-glass {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--border-radius);
}

.theme-gradient-text {
  background: var(--theme-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: bold;
}

/* ===== 主题特定样式覆盖 ===== */
/* 这些样式会被动态生成的主题CSS覆盖 */
.theme-blue { --theme-color: #007bff; }
.theme-red { --theme-color: #dc3545; }
.theme-green { --theme-color: #28a745; }
.theme-purple { --theme-color: #6f42c1; }
.theme-orange { --theme-color: #fd7e14; }
.theme-gray { --theme-color: #6c757d; }
.theme-pink { --theme-color: #e83e8c; }
.theme-cyan { --theme-color: #17a2b8; }
.theme-gold { --theme-color: #ffc107; }

/* ===== 打印样式 ===== */
@media print {
  .btn-theme-primary,
  .navbar-theme,
  .shadow-theme {
    box-shadow: none !important;
    background: #fff !important;
    color: #000 !important;
  }
}