/* ==================== 主题系统 ==================== */
/* 5 套配色 × 4 种卡片形状，通过 CSS 变量切换 */

:root {
  /* 默认翠青主题 */
  --c-primary: #0d9488;
  --c-primary-light: #2dd4bf;
  --c-primary-lighter: rgba(45,212,191,0.12);
  --c-primary-gradient: linear-gradient(135deg, #2dd4bf, #0d9488);
  --c-accent: #14b8a6;
  --c-bg: #eef2f7;
  --c-text: #0f172a;
  --c-text-secondary: #64748b;
  --c-text-muted: #94a3b8;
  --c-border: rgba(255,255,255,0.55);
  --c-card-bg: rgba(255,255,255,0.45);
  --c-card-blur: blur(24px) saturate(1.6);
  --c-shell-bg: rgba(255,255,255,0.4);
  --c-shell-blur: blur(24px) saturate(1.6);
  --c-table-hover: #f0fdfa;
  --c-focus-ring: #0d9488;
  --c-blob-1: #93c5fd; --c-blob-2: #99f6e4; --c-blob-3: #c7d2fe; --c-blob-4: #fed7aa;
  /* 卡片形状 */
  --c-radius: 18px;
  --c-radius-lg: 28px;
  --c-radius-btn: 12px;
}

/* ========== 翠青 (teal) ========== */
[data-theme="teal"] {
  --c-primary: #0d9488; --c-primary-light: #2dd4bf;
  --c-primary-lighter: rgba(45,212,191,0.12);
  --c-primary-gradient: linear-gradient(135deg, #2dd4bf, #0d9488);
  --c-accent: #14b8a6;
  --c-blob-1: #93c5fd; --c-blob-2: #99f6e4; --c-blob-3: #c7d2fe; --c-blob-4: #fed7aa;
}

/* ========== 深蓝 (blue) ========== */
[data-theme="blue"] {
  --c-primary: #1d4ed8; --c-primary-light: #60a5fa;
  --c-primary-lighter: rgba(96,165,250,0.12);
  --c-primary-gradient: linear-gradient(135deg, #60a5fa, #1d4ed8);
  --c-accent: #3b82f6;
  --c-blob-1: #93c5fd; --c-blob-2: #a5b4fc; --c-blob-3: #bfdbfe; --c-blob-4: #c7d2fe;
}

/* ========== 暮紫 (purple) ========== */
[data-theme="purple"] {
  --c-primary: #7c3aed; --c-primary-light: #a78bfa;
  --c-primary-lighter: rgba(167,139,250,0.12);
  --c-primary-gradient: linear-gradient(135deg, #a78bfa, #7c3aed);
  --c-accent: #8b5cf6;
  --c-blob-1: #c4b5fd; --c-blob-2: #a78bfa; --c-blob-3: #ddd6fe; --c-blob-4: #e9d5ff;
}

/* ========== 暖阳 (warm) ========== */
[data-theme="warm"] {
  --c-primary: #c2410c; --c-primary-light: #fb923c;
  --c-primary-lighter: rgba(251,146,60,0.12);
  --c-primary-gradient: linear-gradient(135deg, #fb923c, #c2410c);
  --c-accent: #f97316;
  --c-blob-1: #fed7aa; --c-blob-2: #fdba74; --c-blob-3: #ffedd5; --c-blob-4: #fef3c7;
}

/* ========== 暗夜 (dark) ========== */
[data-theme="dark"] {
  --c-primary: #2dd4bf; --c-primary-light: #5eead4;
  --c-primary-lighter: rgba(94,234,212,0.15);
  --c-primary-gradient: linear-gradient(135deg, #5eead4, #2dd4bf);
  --c-accent: #14b8a6;
  --c-bg: #0f172a;
  --c-text: #f1f5f9;
  --c-text-secondary: #94a3b8;
  --c-text-muted: #64748b;
  --c-border: rgba(255,255,255,0.08);
  --c-card-bg: rgba(30,41,59,0.65);
  --c-card-blur: blur(20px) saturate(1.4);
  --c-shell-bg: rgba(30,41,59,0.55);
  --c-shell-blur: blur(20px) saturate(1.4);
  --c-table-hover: rgba(51,65,85,0.4);
  --c-focus-ring: #2dd4bf;
  --c-blob-1: #1e3a5f; --c-blob-2: #134e4a; --c-blob-3: #312e81; --c-blob-4: #431407;
}

/* ========== 卡片形状变体 ========== */
/* 圆润 (rounded) - 默认 */
[data-shape="rounded"] {
  --c-radius: 18px; --c-radius-lg: 28px; --c-radius-btn: 12px;
}
/* 方正 (sharp) */
[data-shape="sharp"] {
  --c-radius: 8px; --c-radius-lg: 14px; --c-radius-btn: 8px;
}
/* 玻璃 (glass) */
[data-shape="glass"] {
  --c-radius: 22px; --c-radius-lg: 32px; --c-radius-btn: 16px;
  --c-card-bg: rgba(255,255,255,0.3);
  --c-card-blur: blur(32px) saturate(1.8);
}
/* 实体 (solid) */
[data-shape="solid"] {
  --c-radius: 12px; --c-radius-lg: 18px; --c-radius-btn: 10px;
  --c-card-bg: #fff;
  --c-card-blur: none;
  --c-shell-bg: #fff;
  --c-shell-blur: none;
}
[data-theme="dark"][data-shape="solid"] {
  --c-card-bg: #1e293b;
  --c-shell-bg: #1e293b;
}

/* ==================== 应用变量 ==================== */
body { background: var(--c-bg) !important; }

.card {
  background: var(--c-card-bg) !important;
  backdrop-filter: var(--c-card-blur) !important;
  -webkit-backdrop-filter: var(--c-card-blur) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--c-radius) !important;
}

.app-shell {
  background: var(--c-shell-bg) !important;
  backdrop-filter: var(--c-shell-blur) !important;
  -webkit-backdrop-filter: var(--c-shell-blur) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--c-radius-lg) !important;
}

.btn-main {
  background: var(--c-primary-gradient) !important;
}

.menu-item:hover { color: var(--c-primary) !important; }
.menu-item.active {
  background: var(--c-primary-lighter) !important;
  color: var(--c-primary) !important;
  border-left-color: var(--c-primary) !important;
}

.seg-btn.on, .seg-btn.on-buy {
  color: var(--c-primary) !important;
}

*:focus-visible { outline-color: var(--c-focus-ring) !important; }

.blob-blue   { background: var(--c-blob-1) !important; }
.blob-teal   { background: var(--c-blob-2) !important; }
.blob-indigo { background: var(--c-blob-3) !important; }
.blob-orange { background: var(--c-blob-4) !important; }

.data-table tbody tr:hover td { background: var(--c-table-hover); }

.fld:focus { border-color: var(--c-primary) !important; box-shadow: 0 0 0 3px var(--c-primary-lighter) !important; }

.sec-title i { color: var(--c-primary) !important; }

/* 暗夜主题特殊处理 */
[data-theme="dark"] body { color: var(--c-text); }
[data-theme="dark"] .menu-item { color: var(--c-text-secondary); }
[data-theme="dark"] .fld { background: rgba(30,41,59,0.6); border-color: rgba(255,255,255,0.1); color: #e2e8f0; }
[data-theme="dark"] .fld::placeholder { color: #64748b; }
[data-theme="dark"] .data-table th { color: #64748b; border-bottom-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .data-table td { color: #cbd5e1; border-bottom-color: rgba(255,255,255,0.04); }
[data-theme="dark"] .btn-ghost { background: rgba(30,41,59,0.6); border-color: rgba(255,255,255,0.1); color: #94a3b8; }
[data-theme="dark"] .btn-mini { background: rgba(30,41,59,0.5); border-color: rgba(255,255,255,0.08); color: #94a3b8; }
[data-theme="dark"] .badge { background: rgba(51,65,85,0.5); }
[data-theme="dark"] .seg { background: rgba(30,41,59,0.5); }
[data-theme="dark"] .seg-btn { color: #94a3b8; }
[data-theme="dark"] .seg-btn.on { background: rgba(51,65,85,0.6); }
[data-theme="dark"] .text-slate-900 { color: #f1f5f9 !important; }
[data-theme="dark"] .text-slate-800 { color: #e2e8f0 !important; }
[data-theme="dark"] .text-slate-700 { color: #cbd5e1 !important; }
[data-theme="dark"] .text-slate-600 { color: #94a3b8 !important; }
[data-theme="dark"] .text-slate-500 { color: #64748b !important; }
[data-theme="dark"] .text-slate-400 { color: #64748b !important; }
[data-theme="dark"] .bg-slate-50 { background: rgba(30,41,59,0.4) !important; }
[data-theme="dark"] .bg-white\/60 { background: rgba(30,41,59,0.5) !important; }
[data-theme="dark"] .border-slate-100 { border-color: rgba(255,255,255,0.06) !important; }
[data-theme="dark"] .divide-slate-50 > * + * { border-color: rgba(255,255,255,0.06) !important; }
[data-theme="dark"] .modal-mask { background: rgba(0,0,0,0.6) !important; }
[data-theme="dark"] .err-toast,
[data-theme="dark"] .toast-err { background: rgba(127,29,29,0.7); border-color: rgba(239,68,68,0.3); }
[data-theme="dark"] .toast-ok { background: rgba(20,83,45,0.7); border-color: rgba(34,197,94,0.3); }
