/* ============================================================
   站点主题配色系统 - 5套主题模板
   ============================================================ */

/* ---- 主题5: 通用经典版 (默认) ---- */
[data-theme="classic"] {
    --bg-body: #f5f7fa;
    --bg-card: #ffffff;
    --bg-card-header: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    --bg-sidebar: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%);
    --bg-sidebar-hover: rgba(255,255,255,0.1);
    --bg-sidebar-active: linear-gradient(90deg, #3b82f6 0%, #6366f1 100%);
    --bg-footer: #ffffff;
    --bg-table-hover: #f1f5f9;
    --bg-input: #ffffff;
    --bg-toast: #ffffff;
    --border-color: #e2e8f0;
    --border-input: #d1d5db;
    --text-primary: #1e293b;
    --text-secondary: #475569;
    --text-muted: #64748b;
    --text-sidebar: #d1d5db;
    --text-sidebar-title: #ffffff;
    --accent-primary: #3b82f6;
    --accent-success: #10b981;
    --accent-info: #06b6d4;
    --accent-warning: #f59e0b;
    --accent-danger: #ef4444;
    --btn-primary-bg: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%);
    --btn-primary-hover: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%);
    --btn-success-bg: linear-gradient(135deg, #10b981 0%, #059669 100%);
    --btn-danger-bg: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    --shadow-card: 0 2px 12px rgba(0,0,0,0.06);
    --shadow-card-hover: 0 8px 24px rgba(0,0,0,0.1);
    --shadow-sidebar: 4px 0 20px rgba(0,0,0,0.1);
    --radius-card: 16px;
    --radius-btn: 10px;
    --radius-input: 10px;
}

/* ---- 主题1: 小学童趣 ---- */
[data-theme="childlike"] {
    --bg-body: #fef6f9;
    --bg-card: #ffffff;
    --bg-card-header: linear-gradient(135deg, #fce4ec 0%, #e3f2fd 100%);
    --bg-sidebar: linear-gradient(180deg, #f8bbd0 0%, #b3e5fc 100%);
    --bg-sidebar-hover: rgba(255,255,255,0.35);
    --bg-sidebar-active: linear-gradient(90deg, #f48fb1 0%, #81d4fa 100%);
    --bg-footer: #ffffff;
    --bg-table-hover: #fce4ec;
    --bg-input: #fff5f7;
    --bg-toast: #ffffff;
    --border-color: #f8bbd0;
    --border-input: #f48fb1;
    --text-primary: #5d4037;
    --text-secondary: #6d4c41;
    --text-muted: #a1887f;
    --text-sidebar: #5d4037;
    --text-sidebar-title: #5d4037;
    --accent-primary: #f48fb1;
    --accent-success: #81c784;
    --accent-info: #4fc3f7;
    --accent-warning: #ffb74d;
    --accent-danger: #e57373;
    --btn-primary-bg: linear-gradient(135deg, #f48fb1 0%, #81d4fa 100%);
    --btn-primary-hover: linear-gradient(135deg, #ec407a 0%, #4fc3f7 100%);
    --btn-success-bg: linear-gradient(135deg, #81c784 0%, #66bb6a 100%);
    --btn-danger-bg: linear-gradient(135deg, #e57373 0%, #ef5350 100%);
    --shadow-card: 0 2px 12px rgba(244,143,177,0.15);
    --shadow-card-hover: 0 8px 24px rgba(244,143,177,0.25);
    --shadow-sidebar: 4px 0 20px rgba(244,143,177,0.2);
    --radius-card: 24px;
    --radius-btn: 16px;
    --radius-input: 16px;
}

/* ---- 主题2: 初中活力 ---- */
[data-theme="youth"] {
    --bg-body: #f0fdf4;
    --bg-card: #ffffff;
    --bg-card-header: linear-gradient(135deg, #ecfdf5 0%, #f0fdfa 100%);
    --bg-sidebar: linear-gradient(180deg, #064e3b 0%, #065f46 100%);
    --bg-sidebar-hover: rgba(167,243,208,0.15);
    --bg-sidebar-active: linear-gradient(90deg, #10b981 0%, #06b6d4 100%);
    --bg-footer: #ffffff;
    --bg-table-hover: #ecfdf5;
    --bg-input: #f0fdf4;
    --bg-toast: #ffffff;
    --border-color: #a7f3d0;
    --border-input: #6ee7b7;
    --text-primary: #064e3b;
    --text-secondary: #065f46;
    --text-muted: #6b7280;
    --text-sidebar: #a7f3d0;
    --text-sidebar-title: #ffffff;
    --accent-primary: #10b981;
    --accent-success: #059669;
    --accent-info: #06b6d4;
    --accent-warning: #f59e0b;
    --accent-danger: #ef4444;
    --btn-primary-bg: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);
    --btn-primary-hover: linear-gradient(135deg, #059669 0%, #0891b2 100%);
    --btn-success-bg: linear-gradient(135deg, #059669 0%, #047857 100%);
    --btn-danger-bg: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    --shadow-card: 0 2px 12px rgba(16,185,129,0.1);
    --shadow-card-hover: 0 8px 24px rgba(16,185,129,0.18);
    --shadow-sidebar: 4px 0 20px rgba(0,0,0,0.15);
    --radius-card: 14px;
    --radius-btn: 10px;
    --radius-input: 10px;
}

/* ---- 主题3: 高中护眼深色 ---- */
[data-theme="dark"] {
    --bg-body: #0f172a;
    --bg-card: #1e293b;
    --bg-card-header: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    --bg-sidebar: linear-gradient(180deg, #020617 0%, #0f172a 100%);
    --bg-sidebar-hover: rgba(148,163,184,0.1);
    --bg-sidebar-active: linear-gradient(90deg, #6366f1 0%, #8b5cf6 100%);
    --bg-footer: #1e293b;
    --bg-table-hover: #334155;
    --bg-input: #334155;
    --bg-toast: #1e293b;
    --border-color: #334155;
    --border-input: #475569;
    --text-primary: #f1f5f9;
    --text-secondary: #cbd5e1;
    --text-muted: #94a3b8;
    --text-sidebar: #94a3b8;
    --text-sidebar-title: #f1f5f9;
    --accent-primary: #818cf8;
    --accent-success: #34d399;
    --accent-info: #22d3ee;
    --accent-warning: #fbbf24;
    --accent-danger: #f87171;
    --btn-primary-bg: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --btn-primary-hover: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
    --btn-success-bg: linear-gradient(135deg, #10b981 0%, #059669 100%);
    --btn-danger-bg: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    --shadow-card: 0 2px 12px rgba(0,0,0,0.3);
    --shadow-card-hover: 0 8px 24px rgba(0,0,0,0.4);
    --shadow-sidebar: 4px 0 20px rgba(0,0,0,0.3);
    --radius-card: 12px;
    --radius-btn: 8px;
    --radius-input: 8px;
}

/* ---- 主题4: 家长商务 ---- */
[data-theme="business"] {
    --bg-body: #f0f4f8;
    --bg-card: #ffffff;
    --bg-card-header: linear-gradient(135deg, #f0f4f8 0%, #e2e8f0 100%);
    --bg-sidebar: linear-gradient(180deg, #1e3a5f 0%, #2c5282 100%);
    --bg-sidebar-hover: rgba(190,227,248,0.15);
    --bg-sidebar-active: linear-gradient(90deg, #3182ce 0%, #4299e1 100%);
    --bg-footer: #ffffff;
    --bg-table-hover: #f0f4f8;
    --bg-input: #f7fafc;
    --bg-toast: #ffffff;
    --border-color: #cbd5e0;
    --border-input: #a0aec0;
    --text-primary: #1a202c;
    --text-secondary: #2d3748;
    --text-muted: #718096;
    --text-sidebar: #bee3f8;
    --text-sidebar-title: #ffffff;
    --accent-primary: #3182ce;
    --accent-success: #38a169;
    --accent-info: #319795;
    --accent-warning: #d69e2e;
    --accent-danger: #e53e3e;
    --btn-primary-bg: linear-gradient(135deg, #3182ce 0%, #4299e1 100%);
    --btn-primary-hover: linear-gradient(135deg, #2b6cb0 0%, #3182ce 100%);
    --btn-success-bg: linear-gradient(135deg, #38a169 0%, #48bb78 100%);
    --btn-danger-bg: linear-gradient(135deg, #e53e3e 0%, #fc8181 100%);
    --shadow-card: 0 1px 8px rgba(0,0,0,0.08);
    --shadow-card-hover: 0 6px 20px rgba(0,0,0,0.12);
    --shadow-sidebar: 4px 0 20px rgba(0,0,0,0.12);
    --radius-card: 12px;
    --radius-btn: 8px;
    --radius-input: 8px;
}

/* ============================================================
   CSS 变量应用到全局元素
   ============================================================ */
body {
    background-color: var(--bg-body) !important;
    color: var(--text-primary);
}

.sidebar {
    background: var(--bg-sidebar) !important;
    box-shadow: var(--shadow-sidebar) !important;
}

.sidebar h4 { color: var(--text-sidebar-title) !important; }
.sidebar .list-group-item { color: var(--text-sidebar) !important; }
.sidebar .list-group-item:hover { background-color: var(--bg-sidebar-hover) !important; color: #fff !important; }
.sidebar .list-group-item.active { background: var(--bg-sidebar-active) !important; color: #fff !important; }

.card {
    background: var(--bg-card) !important;
    box-shadow: var(--shadow-card) !important;
    border-radius: var(--radius-card) !important;
}
.card:hover { box-shadow: var(--shadow-card-hover) !important; }
/* 保留 Bootstrap 背景色类不被覆盖 */
.bg-primary, .bg-success, .bg-info, .bg-warning, .bg-danger, .bg-secondary {
    background-color: initial !important;
}
.bg-primary { background: linear-gradient(135deg, #3b82f6, #6366f1) !important; }
.bg-success { background: linear-gradient(135deg, #10b981, #059669) !important; }
.bg-info { background: linear-gradient(135deg, #06b6d4, #0891b2) !important; }
.bg-warning { background: linear-gradient(135deg, #f59e0b, #d97706) !important; }
.bg-danger { background: linear-gradient(135deg, #ef4444, #dc2626) !important; }
.bg-secondary { background: linear-gradient(135deg, #64748b, #475569) !important; }

[data-theme="childlike"] .bg-primary { background: linear-gradient(135deg, #f48fb1, #81d4fa) !important; }
[data-theme="childlike"] .bg-success { background: linear-gradient(135deg, #81c784, #66bb6a) !important; }
[data-theme="childlike"] .bg-info { background: linear-gradient(135deg, #4fc3f7, #29b6f6) !important; }
[data-theme="childlike"] .bg-warning { background: linear-gradient(135deg, #ffb74d, #ffa726) !important; }

[data-theme="youth"] .bg-primary { background: linear-gradient(135deg, #10b981, #06b6d4) !important; }
[data-theme="youth"] .bg-success { background: linear-gradient(135deg, #059669, #047857) !important; }
[data-theme="youth"] .bg-info { background: linear-gradient(135deg, #06b6d4, #0891b2) !important; }
[data-theme="youth"] .bg-warning { background: linear-gradient(135deg, #f59e0b, #d97706) !important; }

[data-theme="dark"] .bg-primary { background: linear-gradient(135deg, #6366f1, #8b5cf6) !important; }
[data-theme="dark"] .bg-success { background: linear-gradient(135deg, #10b981, #059669) !important; }
[data-theme="dark"] .bg-info { background: linear-gradient(135deg, #06b6d4, #0891b2) !important; }
[data-theme="dark"] .bg-warning { background: linear-gradient(135deg, #f59e0b, #d97706) !important; }

[data-theme="business"] .bg-primary { background: linear-gradient(135deg, #3182ce, #4299e1) !important; }
[data-theme="business"] .bg-success { background: linear-gradient(135deg, #38a169, #48bb78) !important; }
[data-theme="business"] .bg-info { background: linear-gradient(135deg, #319795, #38b2ac) !important; }
[data-theme="business"] .bg-warning { background: linear-gradient(135deg, #d69e2e, #ecc94b) !important; }

.card-header {
    background: var(--bg-card-header) !important;
    border-bottom-color: var(--border-color) !important;
    border-radius: var(--radius-card) var(--radius-card) 0 0 !important;
}

.table thead th { border-bottom-color: var(--border-color) !important; color: var(--text-secondary) !important; }
.table tbody tr:hover { background-color: var(--bg-table-hover) !important; }
.table td { color: var(--text-primary); }

h2, h3, h4, h5, h6 { color: var(--text-primary) !important; }
.text-muted, .text-gray-500 { color: var(--text-muted) !important; }
.text-gray-700 { color: var(--text-secondary) !important; }
.text-gray-800 { color: var(--text-primary) !important; }

.form-control {
    background: var(--bg-input) !important;
    border-color: var(--border-input) !important;
    border-radius: var(--radius-input) !important;
    color: var(--text-primary);
}
.form-control:focus {
    border-color: var(--accent-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-primary) 15%, transparent) !important;
}

.btn { border-radius: var(--radius-btn) !important; }
.btn-primary { background: var(--btn-primary-bg) !important; }
.btn-primary:hover { background: var(--btn-primary-hover) !important; }
.btn-success { background: var(--btn-success-bg) !important; }
.btn-danger { background: var(--btn-danger-bg) !important; }
.btn-info { background: linear-gradient(135deg, var(--accent-info), color-mix(in srgb, var(--accent-info) 80%, #000)) !important; }
.btn-secondary { background: linear-gradient(135deg, #64748b, #475569) !important; }

footer, .footer { background: var(--bg-footer) !important; border-top-color: var(--border-color) !important; }
.modal-content { background: var(--bg-card); }
.modal-header { border-bottom-color: var(--border-color) !important; }

/* 深色主题特殊处理 */
[data-theme="dark"] .badge { color: #fff; }
[data-theme="dark"] .badge.bg-light { color: #1e293b !important; }
[data-theme="dark"] .form-control::placeholder { color: #94a3b8; }
[data-theme="dark"] .table td, [data-theme="dark"] .table th { border-color: #334155; color: #cbd5e1 !important; }
[data-theme="dark"] .table thead th { background: #0f172a !important; color: #94a3b8 !important; }
[data-theme="dark"] .modal-content { color: #f1f5f9; }
[data-theme="dark"] .stat-card { border-color: #334155 !important; }
[data-theme="dark"] .list-group-item { background: #1e293b; border-color: #334155; color: #cbd5e1; }
[data-theme="dark"] footer h6, [data-theme="dark"] footer h6 * { color: #f1f5f9 !important; }
[data-theme="dark"] footer p, [data-theme="dark"] footer a { color: #94a3b8 !important; }
[data-theme="dark"] footer a:hover { color: #e2e8f0 !important; }
