/* 颜色工具类 */

/* 文本颜色 */
.text-primary {
  color: var(--primary-color);
}

.text-primary-light {
  color: var(--primary-color-light);
}

.text-secondary {
  color: var(--text-secondary);
}

.text-accent {
  color: var(--accent-color);
}

.text-accent-light {
  color: var(--accent-color-light);
}

.text-auxiliary {
  color: var(--auxiliary-color);
}

.text-auxiliary-light {
  color: var(--auxiliary-color-light);
}

.text-success {
  color: var(--success-color);
}

.text-warning {
  color: var(--warning-color);
}

.text-error {
  color: var(--error-color);
}

.text-light {
  color: var(--text-light);
}

.text-dark {
  color: var(--text-dark);
}

/* 背景颜色 */
.bg-primary {
  background-color: var(--primary-color);
}

.bg-primary-light {
  background-color: var(--primary-color-light);
}

.bg-secondary {
  background-color: var(--secondary-color);
}

.bg-accent {
  background-color: var(--accent-color);
}

.bg-accent-light {
  background-color: var(--accent-color-light);
}

.bg-auxiliary {
  background-color: var(--auxiliary-color);
}

.bg-auxiliary-light {
  background-color: var(--auxiliary-color-light);
}

.bg-success {
  background-color: var(--success-color);
}

.bg-warning {
  background-color: var(--warning-color);
}

.bg-error {
  background-color: var(--error-color);
}

.bg-light {
  background-color: var(--text-light);
}

.bg-dark {
  background-color: var(--text-dark);
}

.bg-card {
  background-color: var(--card-background);
}

.bg-container {
  background-color: var(--container-background);
}

/* 边框颜色 */
.border-primary {
  border-color: var(--primary-color);
}

.border-primary-light {
  border-color: var(--primary-color-light);
}

.border-secondary {
  border-color: var(--secondary-color);
}

.border-accent {
  border-color: var(--accent-color);
}

.border-accent-light {
  border-color: var(--accent-color-light);
}

.border-auxiliary {
  border-color: var(--auxiliary-color);
}

.border-auxiliary-light {
  border-color: var(--auxiliary-color-light);
}

.border-success {
  border-color: var(--success-color);
}

.border-warning {
  border-color: var(--warning-color);
}

.border-error {
  border-color: var(--error-color);
}

.border-light {
  border-color: var(--text-light);
}

.border-dark {
  border-color: var(--text-dark);
}

/* 事件类型颜色 */
.text-solar-term {
  color: var(--solar-term-color);
}

.text-gregorian {
  color: var(--gregorian-color);
}

.text-lunar {
  color: var(--lunar-color);
}

.text-international {
  color: var(--international-color);
}

.text-memorial {
  color: var(--memorial-color);
}

.text-award {
  color: var(--award-color);
}

.text-movie {
  color: var(--movie-color);
}

.text-important {
  color: var(--important-color);
}

.text-exhibition {
  color: var(--exhibition-color);
}

.text-brand {
  color: var(--brand-color);
}

.bg-solar-term {
  background-color: var(--solar-term-color);
}

.bg-gregorian {
  background-color: var(--gregorian-color);
}

.bg-lunar {
  background-color: var(--lunar-color);
}

.bg-international {
  background-color: var(--international-color);
}

.bg-memorial {
  background-color: var(--memorial-color);
}

.bg-award {
  background-color: var(--award-color);
}

.bg-movie {
  background-color: var(--movie-color);
}

.bg-important {
  background-color: var(--important-color);
}

.bg-exhibition {
  background-color: var(--exhibition-color);
}

.bg-brand {
  background-color: var(--brand-color);
}

/* 悬停效果 */
.hover-primary:hover {
  color: var(--primary-color);
}

.hover-primary-light:hover {
  color: var(--primary-color-light);
}

.hover-auxiliary:hover {
  color: var(--auxiliary-color);
}

.hover-bg-primary:hover {
  background-color: var(--primary-color);
}

.hover-bg-primary-light:hover {
  background-color: var(--primary-color-light);
}

.hover-bg-auxiliary:hover {
  background-color: var(--auxiliary-color);
}

.hover-bg-auxiliary-light:hover {
  background-color: var(--auxiliary-color-light);
}

.hover-border-primary:hover {
  border-color: var(--primary-color);
}

.hover-border-auxiliary:hover {
  border-color: var(--auxiliary-color);
}

/* 渐变背景 */
.gradient-primary {
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color-dark) 100%);
}

.gradient-accent {
  background: linear-gradient(135deg, var(--accent-color) 0%, var(--accent-color-dark) 100%);
}

.gradient-auxiliary {
  background: linear-gradient(135deg, var(--auxiliary-color) 0%, var(--success-color) 100%);
}

/* 禁用状态 */
.disabled {
  color: var(--disabled-color);
  cursor: not-allowed;
}

/* 深色模式适配 */
@media (prefers-color-scheme: dark) {
  .dark-mode {
    --primary-color: var(--primary-color-dark);
    --primary-color-light: #143a72;
    --secondary-color: var(--secondary-color-dark);
    --accent-color-light: #614700;
    --auxiliary-color-light: #143a1f;
    --text-dark: var(--text-light);
    --text-light: var(--text-dark);
    --border-color: var(--border-color-dark);
    --hover-color: var(--hover-color-dark);
    --card-background: #2d2e30;
    --container-background: #202124;
  }
}

/* 打印样式 */
@media print {
  .no-print {
    display: none !important;
  }
  
  .print-primary {
    color: #000 !important;
  }
  
  .print-bg-primary {
    background-color: #fff !important;
  }
  
  .print-border-primary {
    border-color: #000 !important;
  }
} 