/* 字体：圆润日系 + 等宽数字（必须在所有规则之前）*/
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Zen+Maru+Gothic:wght@500;700&display=swap');

/* ==========================================================
   猫娘API 主题 · sub2api 粉紫换肤 v2.0
   ── V1：纯色 teal -> 粉紫
   ── V2：在 V1 基础上加入清新气质与极简二次元元素
        （圆体字体 / 渐变背景 / 卡片毛玻璃 / 输入框聚焦 /
          表格渐变 hover / 顶栏半透明 / 按钮光晕弹起 /
          重要数字渐变 / 粉紫滚动条 / 右下角猫爪水印）
   ========================================================== */

/* ── 背景 bg-primary-* ── */
.bg-primary-50,
.hover\:bg-primary-50:hover,
.focus\:bg-primary-50:focus,
.active\:bg-primary-50:active,
.dark .dark\:bg-primary-50,
.group:hover .group-hover\:bg-primary-50 {
  background-color: #FFF0F7 !important;
}
.bg-primary-100,
.hover\:bg-primary-100:hover,
.focus\:bg-primary-100:focus,
.active\:bg-primary-100:active,
.dark .dark\:bg-primary-100,
.group:hover .group-hover\:bg-primary-100 {
  background-color: #FFDCEB !important;
}
.bg-primary-200,
.hover\:bg-primary-200:hover,
.focus\:bg-primary-200:focus,
.active\:bg-primary-200:active,
.dark .dark\:bg-primary-200,
.group:hover .group-hover\:bg-primary-200 {
  background-color: #FFB9D8 !important;
}
.bg-primary-300,
.hover\:bg-primary-300:hover,
.focus\:bg-primary-300:focus,
.active\:bg-primary-300:active,
.dark .dark\:bg-primary-300,
.group:hover .group-hover\:bg-primary-300 {
  background-color: #FF8AC1 !important;
}
.bg-primary-400,
.hover\:bg-primary-400:hover,
.focus\:bg-primary-400:focus,
.active\:bg-primary-400:active,
.dark .dark\:bg-primary-400,
.group:hover .group-hover\:bg-primary-400 {
  background-color: #FF5DAB !important;
}
.bg-primary-500,
.hover\:bg-primary-500:hover,
.focus\:bg-primary-500:focus,
.active\:bg-primary-500:active,
.dark .dark\:bg-primary-500,
.group:hover .group-hover\:bg-primary-500 {
  background-color: #FF4D9D !important;
}
.bg-primary-600,
.hover\:bg-primary-600:hover,
.focus\:bg-primary-600:focus,
.active\:bg-primary-600:active,
.dark .dark\:bg-primary-600,
.group:hover .group-hover\:bg-primary-600 {
  background-color: #E83385 !important;
}
.bg-primary-700,
.hover\:bg-primary-700:hover,
.focus\:bg-primary-700:focus,
.active\:bg-primary-700:active,
.dark .dark\:bg-primary-700,
.group:hover .group-hover\:bg-primary-700 {
  background-color: #C41E6B !important;
}
.bg-primary-800,
.hover\:bg-primary-800:hover,
.focus\:bg-primary-800:focus,
.active\:bg-primary-800:active,
.dark .dark\:bg-primary-800,
.group:hover .group-hover\:bg-primary-800 {
  background-color: #A11C58 !important;
}
.bg-primary-900,
.hover\:bg-primary-900:hover,
.focus\:bg-primary-900:focus,
.active\:bg-primary-900:active,
.dark .dark\:bg-primary-900,
.group:hover .group-hover\:bg-primary-900 {
  background-color: #881C4E !important;
}
.bg-primary-950,
.hover\:bg-primary-950:hover,
.focus\:bg-primary-950:focus,
.active\:bg-primary-950:active,
.dark .dark\:bg-primary-950,
.group:hover .group-hover\:bg-primary-950 {
  background-color: #4B0A2B !important;
}

/* ── 文字 text-primary-* ── */
.text-primary-50,
.hover\:text-primary-50:hover,
.focus\:text-primary-50:focus,
.active\:text-primary-50:active,
.dark .dark\:text-primary-50,
.group:hover .group-hover\:text-primary-50 {
  color: #FFF0F7 !important;
}
.text-primary-100,
.hover\:text-primary-100:hover,
.focus\:text-primary-100:focus,
.active\:text-primary-100:active,
.dark .dark\:text-primary-100,
.group:hover .group-hover\:text-primary-100 {
  color: #FFDCEB !important;
}
.text-primary-200,
.hover\:text-primary-200:hover,
.focus\:text-primary-200:focus,
.active\:text-primary-200:active,
.dark .dark\:text-primary-200,
.group:hover .group-hover\:text-primary-200 {
  color: #FFB9D8 !important;
}
.text-primary-300,
.hover\:text-primary-300:hover,
.focus\:text-primary-300:focus,
.active\:text-primary-300:active,
.dark .dark\:text-primary-300,
.group:hover .group-hover\:text-primary-300 {
  color: #FF8AC1 !important;
}
.text-primary-400,
.hover\:text-primary-400:hover,
.focus\:text-primary-400:focus,
.active\:text-primary-400:active,
.dark .dark\:text-primary-400,
.group:hover .group-hover\:text-primary-400 {
  color: #FF5DAB !important;
}
.text-primary-500,
.hover\:text-primary-500:hover,
.focus\:text-primary-500:focus,
.active\:text-primary-500:active,
.dark .dark\:text-primary-500,
.group:hover .group-hover\:text-primary-500 {
  color: #FF4D9D !important;
}
.text-primary-600,
.hover\:text-primary-600:hover,
.focus\:text-primary-600:focus,
.active\:text-primary-600:active,
.dark .dark\:text-primary-600,
.group:hover .group-hover\:text-primary-600 {
  color: #E83385 !important;
}
.text-primary-700,
.hover\:text-primary-700:hover,
.focus\:text-primary-700:focus,
.active\:text-primary-700:active,
.dark .dark\:text-primary-700,
.group:hover .group-hover\:text-primary-700 {
  color: #C41E6B !important;
}
.text-primary-800,
.hover\:text-primary-800:hover,
.focus\:text-primary-800:focus,
.active\:text-primary-800:active,
.dark .dark\:text-primary-800,
.group:hover .group-hover\:text-primary-800 {
  color: #A11C58 !important;
}
.text-primary-900,
.hover\:text-primary-900:hover,
.focus\:text-primary-900:focus,
.active\:text-primary-900:active,
.dark .dark\:text-primary-900,
.group:hover .group-hover\:text-primary-900 {
  color: #881C4E !important;
}
.text-primary-950,
.hover\:text-primary-950:hover,
.focus\:text-primary-950:focus,
.active\:text-primary-950:active,
.dark .dark\:text-primary-950,
.group:hover .group-hover\:text-primary-950 {
  color: #4B0A2B !important;
}

/* ── 边框 border-primary-* ── */
.border-primary-50,
.hover\:border-primary-50:hover,
.dark .dark\:border-primary-50,
.group:hover .group-hover\:border-primary-50 {
  border-color: #FFF0F7 !important;
}
.border-primary-100,
.hover\:border-primary-100:hover,
.dark .dark\:border-primary-100,
.group:hover .group-hover\:border-primary-100 {
  border-color: #FFDCEB !important;
}
.border-primary-200,
.hover\:border-primary-200:hover,
.dark .dark\:border-primary-200,
.group:hover .group-hover\:border-primary-200 {
  border-color: #FFB9D8 !important;
}
.border-primary-300,
.hover\:border-primary-300:hover,
.dark .dark\:border-primary-300,
.group:hover .group-hover\:border-primary-300 {
  border-color: #FF8AC1 !important;
}
.border-primary-400,
.hover\:border-primary-400:hover,
.dark .dark\:border-primary-400,
.group:hover .group-hover\:border-primary-400 {
  border-color: #FF5DAB !important;
}
.border-primary-500,
.hover\:border-primary-500:hover,
.dark .dark\:border-primary-500,
.group:hover .group-hover\:border-primary-500 {
  border-color: #FF4D9D !important;
}
.border-primary-600,
.hover\:border-primary-600:hover,
.dark .dark\:border-primary-600,
.group:hover .group-hover\:border-primary-600 {
  border-color: #E83385 !important;
}
.border-primary-700,
.hover\:border-primary-700:hover,
.dark .dark\:border-primary-700,
.group:hover .group-hover\:border-primary-700 {
  border-color: #C41E6B !important;
}
.border-primary-800,
.hover\:border-primary-800:hover,
.dark .dark\:border-primary-800,
.group:hover .group-hover\:border-primary-800 {
  border-color: #A11C58 !important;
}
.border-primary-900,
.hover\:border-primary-900:hover,
.dark .dark\:border-primary-900,
.group:hover .group-hover\:border-primary-900 {
  border-color: #881C4E !important;
}
.border-primary-950,
.hover\:border-primary-950:hover,
.dark .dark\:border-primary-950,
.group:hover .group-hover\:border-primary-950 {
  border-color: #4B0A2B !important;
}

/* ── 焦点环 ring-primary-* ── */
.ring-primary-50,
.focus\:ring-primary-50:focus,
.focus-visible\:ring-primary-50:focus-visible,
.dark .dark\:ring-primary-50 {
  --tw-ring-color: #FFF0F7 !important;
}
.ring-primary-100,
.focus\:ring-primary-100:focus,
.focus-visible\:ring-primary-100:focus-visible,
.dark .dark\:ring-primary-100 {
  --tw-ring-color: #FFDCEB !important;
}
.ring-primary-200,
.focus\:ring-primary-200:focus,
.focus-visible\:ring-primary-200:focus-visible,
.dark .dark\:ring-primary-200 {
  --tw-ring-color: #FFB9D8 !important;
}
.ring-primary-300,
.focus\:ring-primary-300:focus,
.focus-visible\:ring-primary-300:focus-visible,
.dark .dark\:ring-primary-300 {
  --tw-ring-color: #FF8AC1 !important;
}
.ring-primary-400,
.focus\:ring-primary-400:focus,
.focus-visible\:ring-primary-400:focus-visible,
.dark .dark\:ring-primary-400 {
  --tw-ring-color: #FF5DAB !important;
}
.ring-primary-500,
.focus\:ring-primary-500:focus,
.focus-visible\:ring-primary-500:focus-visible,
.dark .dark\:ring-primary-500 {
  --tw-ring-color: #FF4D9D !important;
}
.ring-primary-600,
.focus\:ring-primary-600:focus,
.focus-visible\:ring-primary-600:focus-visible,
.dark .dark\:ring-primary-600 {
  --tw-ring-color: #E83385 !important;
}
.ring-primary-700,
.focus\:ring-primary-700:focus,
.focus-visible\:ring-primary-700:focus-visible,
.dark .dark\:ring-primary-700 {
  --tw-ring-color: #C41E6B !important;
}
.ring-primary-800,
.focus\:ring-primary-800:focus,
.focus-visible\:ring-primary-800:focus-visible,
.dark .dark\:ring-primary-800 {
  --tw-ring-color: #A11C58 !important;
}
.ring-primary-900,
.focus\:ring-primary-900:focus,
.focus-visible\:ring-primary-900:focus-visible,
.dark .dark\:ring-primary-900 {
  --tw-ring-color: #881C4E !important;
}
.ring-primary-950,
.focus\:ring-primary-950:focus,
.focus-visible\:ring-primary-950:focus-visible,
.dark .dark\:ring-primary-950 {
  --tw-ring-color: #4B0A2B !important;
}

/* ── 表格分隔线 divide-primary-* ── */
.divide-x-primary-50 > * + * {
  border-x-color: #FFF0F7 !important;
}
.divide-y-primary-50 > * + * {
  border-y-color: #FFF0F7 !important;
}
.divide-x-primary-100 > * + * {
  border-x-color: #FFDCEB !important;
}
.divide-y-primary-100 > * + * {
  border-y-color: #FFDCEB !important;
}
.divide-x-primary-200 > * + * {
  border-x-color: #FFB9D8 !important;
}
.divide-y-primary-200 > * + * {
  border-y-color: #FFB9D8 !important;
}
.divide-x-primary-300 > * + * {
  border-x-color: #FF8AC1 !important;
}
.divide-y-primary-300 > * + * {
  border-y-color: #FF8AC1 !important;
}
.divide-x-primary-400 > * + * {
  border-x-color: #FF5DAB !important;
}
.divide-y-primary-400 > * + * {
  border-y-color: #FF5DAB !important;
}
.divide-x-primary-500 > * + * {
  border-x-color: #FF4D9D !important;
}
.divide-y-primary-500 > * + * {
  border-y-color: #FF4D9D !important;
}
.divide-x-primary-600 > * + * {
  border-x-color: #E83385 !important;
}
.divide-y-primary-600 > * + * {
  border-y-color: #E83385 !important;
}
.divide-x-primary-700 > * + * {
  border-x-color: #C41E6B !important;
}
.divide-y-primary-700 > * + * {
  border-y-color: #C41E6B !important;
}
.divide-x-primary-800 > * + * {
  border-x-color: #A11C58 !important;
}
.divide-y-primary-800 > * + * {
  border-y-color: #A11C58 !important;
}
.divide-x-primary-900 > * + * {
  border-x-color: #881C4E !important;
}
.divide-y-primary-900 > * + * {
  border-y-color: #881C4E !important;
}
.divide-x-primary-950 > * + * {
  border-x-color: #4B0A2B !important;
}
.divide-y-primary-950 > * + * {
  border-y-color: #4B0A2B !important;
}

/* ── 渐变 from/to/via-primary-* ── */
.from-primary-50,
.hover\:from-primary-50:hover,
.dark .dark\:from-primary-50 {
  --tw-gradient-from: #FFF0F7 var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(255, 240, 247, 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-primary-50,
.hover\:to-primary-50:hover,
.dark .dark\:to-primary-50 {
  --tw-gradient-to: #FFF0F7 var(--tw-gradient-to-position) !important;
}
.from-primary-100,
.hover\:from-primary-100:hover,
.dark .dark\:from-primary-100 {
  --tw-gradient-from: #FFDCEB var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(255, 220, 235, 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-primary-100,
.hover\:to-primary-100:hover,
.dark .dark\:to-primary-100 {
  --tw-gradient-to: #FFDCEB var(--tw-gradient-to-position) !important;
}
.from-primary-200,
.hover\:from-primary-200:hover,
.dark .dark\:from-primary-200 {
  --tw-gradient-from: #FFB9D8 var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(255, 185, 216, 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-primary-200,
.hover\:to-primary-200:hover,
.dark .dark\:to-primary-200 {
  --tw-gradient-to: #FFB9D8 var(--tw-gradient-to-position) !important;
}
.from-primary-300,
.hover\:from-primary-300:hover,
.dark .dark\:from-primary-300 {
  --tw-gradient-from: #FF8AC1 var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(255, 138, 193, 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-primary-300,
.hover\:to-primary-300:hover,
.dark .dark\:to-primary-300 {
  --tw-gradient-to: #FF8AC1 var(--tw-gradient-to-position) !important;
}
.from-primary-400,
.hover\:from-primary-400:hover,
.dark .dark\:from-primary-400 {
  --tw-gradient-from: #FF5DAB var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(255, 93, 171, 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-primary-400,
.hover\:to-primary-400:hover,
.dark .dark\:to-primary-400 {
  --tw-gradient-to: #FF5DAB var(--tw-gradient-to-position) !important;
}
.from-primary-500,
.hover\:from-primary-500:hover,
.dark .dark\:from-primary-500 {
  --tw-gradient-from: #FF4D9D var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(255, 77, 157, 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-primary-500,
.hover\:to-primary-500:hover,
.dark .dark\:to-primary-500 {
  --tw-gradient-to: #FF4D9D var(--tw-gradient-to-position) !important;
}
.from-primary-600,
.hover\:from-primary-600:hover,
.dark .dark\:from-primary-600 {
  --tw-gradient-from: #E83385 var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(232, 51, 133, 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-primary-600,
.hover\:to-primary-600:hover,
.dark .dark\:to-primary-600 {
  --tw-gradient-to: #E83385 var(--tw-gradient-to-position) !important;
}
.from-primary-700,
.hover\:from-primary-700:hover,
.dark .dark\:from-primary-700 {
  --tw-gradient-from: #C41E6B var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(196, 30, 107, 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-primary-700,
.hover\:to-primary-700:hover,
.dark .dark\:to-primary-700 {
  --tw-gradient-to: #C41E6B var(--tw-gradient-to-position) !important;
}
.from-primary-800,
.hover\:from-primary-800:hover,
.dark .dark\:from-primary-800 {
  --tw-gradient-from: #A11C58 var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(161, 28, 88, 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-primary-800,
.hover\:to-primary-800:hover,
.dark .dark\:to-primary-800 {
  --tw-gradient-to: #A11C58 var(--tw-gradient-to-position) !important;
}
.from-primary-900,
.hover\:from-primary-900:hover,
.dark .dark\:from-primary-900 {
  --tw-gradient-from: #881C4E var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(136, 28, 78, 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-primary-900,
.hover\:to-primary-900:hover,
.dark .dark\:to-primary-900 {
  --tw-gradient-to: #881C4E var(--tw-gradient-to-position) !important;
}
.from-primary-950,
.hover\:from-primary-950:hover,
.dark .dark\:from-primary-950 {
  --tw-gradient-from: #4B0A2B var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(75, 10, 43, 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-primary-950,
.hover\:to-primary-950:hover,
.dark .dark\:to-primary-950 {
  --tw-gradient-to: #4B0A2B var(--tw-gradient-to-position) !important;
}

/* ── 组件：主按钮 .btn-primary（粉紫渐变，呼应宣传页CTA）── */
.btn-primary {
  background-image: linear-gradient(135deg, #FF4D9D 0%, #9333EA 100%) !important;
}
.btn-primary:hover, .btn-primary:focus {
  background-image: linear-gradient(135deg, #E83385 0%, #7E22CE 100%) !important;
}

/* ── 组件：渐变文字 .text-gradient ── */
.text-gradient {
  background-image: linear-gradient(135deg, #FF4D9D 0%, #9333EA 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* ── 主渐变背景 bg-gradient-primary ── */
.bg-gradient-primary {
  background-image: linear-gradient(135deg, #FF4D9D 0%, #9333EA 100%) !important;
}

/* ── mesh 网格背景（青色光斑 -> 粉紫光斑）── */
.bg-mesh-gradient {
  background-image:
    radial-gradient(at 40% 20%, rgba(255, 77, 157, 0.12) 0px, transparent 50%),
    radial-gradient(at 80% 0%, rgba(147, 51, 234, 0.10) 0px, transparent 50%),
    radial-gradient(at 0% 50%, rgba(255, 77, 157, 0.08) 0px, transparent 50%) !important;
}

/* ── 光晕阴影 shadow-glow（青 -> 粉）── */
.shadow-glow, .shadow-glow-sm {
  box-shadow: 0 0 20px rgba(255, 77, 157, 0.25) !important;
}
.shadow-glow-lg {
  box-shadow: 0 0 40px rgba(255, 77, 157, 0.35) !important;
}

/* ── glow 动画（同名覆盖）── */
@keyframes glow {
  0% { box-shadow: 0 0 20px rgba(255, 77, 157, 0.25); }
  100% { box-shadow: 0 0 30px rgba(255, 77, 157, 0.4); }
}

/* ── 脉冲点动画里若引用 primary 色阶的兜底 ── */
@keyframes pulse {
  50% { opacity: .5; }
}

/* ── 文本选中高亮（粉）── */
::selection {
  background: rgba(255, 77, 157, 0.25) !important;
}

/* ── 顶部细节：favicon 之外的强调色统一 ── */
::-webkit-calendar-picker-indicator { filter: none; }

/* ===== 猫娘API 主题 END ===== */

/* ═══════════════════════════════════════════════════════════
   V2 升级 · 清新 + 二次元微元素
   （在 V1 色系基础上叠加，所有功能不受影响）
   ═══════════════════════════════════════════════════════════ */

/* 1) 字体：圆润日系（气质升级的核心）*/
html, body {
  font-family: 'Zen Kaku Gothic New', 'PingFang SC', 'Microsoft YaHei', system-ui, -apple-system, sans-serif !important;
}
h1, h2, h3, h4, .font-bold, .font-semibold {
  font-family: 'Zen Maru Gothic', 'Zen Kaku Gothic New', 'PingFang SC', sans-serif !important;
  letter-spacing: 0.01em !important;
}

/* 2) 全局清新背景（粉紫渐变 + 极淡光斑，不再是灰白死板感）*/
html, body {
  background-color: #FAF6FC !important;
  background-image:
    radial-gradient(ellipse 900px 700px at 15% -10%, rgba(255, 215, 240, 0.55) 0%, transparent 55%),
    radial-gradient(ellipse 800px 600px at 100% 110%, rgba(220, 200, 255, 0.4) 0%, transparent 55%),
    radial-gradient(ellipse 700px 500px at 50% 50%, rgba(255, 235, 248, 0.3) 0%, transparent 70%) !important;
  background-attachment: fixed !important;
}
.dark html, .dark body {
  background-color: #15090F !important;
  background-image:
    radial-gradient(ellipse at 15% -10%, rgba(255, 77, 157, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 100% 110%, rgba(147, 51, 234, 0.10) 0%, transparent 60%) !important;
}

/* 3) 卡片：圆角加大 + 轻毛玻璃 + 柔阴影（清新感）*/
.card, .card-glass, .stat-card, [class*="shadow-card"] {
  border-radius: 14px !important;
  border: 1px solid rgba(255, 105, 180, 0.08) !important;
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  box-shadow: 0 1px 2px rgba(255, 105, 180, 0.04), 0 6px 20px rgba(147, 51, 234, 0.05) !important;
  transition: all 0.25s ease !important;
}
.card:hover, .stat-card:hover, [class*="shadow-card"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 28px rgba(255, 105, 180, 0.12), 0 2px 6px rgba(147, 51, 234, 0.06) !important;
}
.dark .card, .dark .stat-card, .dark [class*="shadow-card"] {
  background: rgba(30, 20, 35, 0.7) !important;
  border-color: rgba(255, 105, 180, 0.12) !important;
}

/* 4) 输入框：聚焦粉光晕 */
input, textarea, select, .input {
  border-radius: 10px !important;
  transition: all 0.2s ease !important;
}
input:focus, textarea:focus, select:focus, .input:focus {
  border-color: #FF4D9D !important;
  box-shadow: 0 0 0 3px rgba(255, 77, 157, 0.12) !important;
}

/* 5) 表格：粉色渐变 hover + 表头柔化 */
table thead {
  background: linear-gradient(180deg, rgba(255, 240, 248, 0.6) 0%, transparent 100%) !important;
}
table thead th {
  font-weight: 600 !important;
  color: #A11C58 !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}
table tbody tr {
  transition: all 0.2s ease !important;
}
table tbody tr:hover {
  background: linear-gradient(90deg, rgba(255, 240, 248, 0.5) 0%, rgba(245, 235, 255, 0.3) 100%) !important;
}
.dark table thead th { color: #FFB9D8 !important; }

/* 6) 顶栏 + 侧边栏：半透明毛玻璃（通透感）*/
header, aside,
nav.bg-white, aside.bg-white, header.bg-white,
[class*="bg-white"][class*="border-b"],
[class*="bg-white"][class*="border-r"] {
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-color: rgba(255, 105, 180, 0.08) !important;
}
.dark header, .dark aside,
.dark nav.bg-white, .dark aside.bg-white, .dark header.bg-white,
.dark [class*="bg-white"][class*="border-b"],
.dark [class*="bg-white"][class*="border-r"] {
  background: rgba(20, 10, 18, 0.7) !important;
  border-color: rgba(255, 105, 180, 0.12) !important;
}

/* 7) 主按钮：光晕 + 悬停弹起 + 按下回弹（活力感）*/
.btn-primary, button.btn-primary {
  position: relative !important;
  box-shadow: 0 4px 14px rgba(255, 77, 157, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  transition: all 0.2s ease !important;
}
.btn-primary:hover, button.btn-primary:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 22px rgba(255, 77, 157, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
}
.btn-primary:active, button.btn-primary:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(255, 77, 157, 0.3) !important;
}

/* 8) 重要数字渐变（让 ¥62.50 / 99.98% 更有质感，但 .text-primary-* 已生效时不再覆盖）*/
.text-2xl, .text-3xl, .text-4xl {
  background: linear-gradient(135deg, #C41E6B 0%, #9333EA 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-feature-settings: "tnum" !important; /* 等宽数字 */
}

/* 9) 滚动条：粉紫渐变细条 */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #FFB9D8 0%, #D8B9FF 100%);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #FF4D9D 0%, #9333EA 100%);
}
* {
  scrollbar-color: #FFB9D8 transparent;
  scrollbar-width: thin;
}

/* 10) 极简二次元装饰：右下角猫爪水印（最克制的二次元元素）*/
body::after {
  content: '';
  position: fixed;
  right: 28px;
  bottom: 28px;
  width: 60px;
  height: 60px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%23FF4D9D'><ellipse cx='32' cy='44' rx='14' ry='12'/><ellipse cx='14' cy='24' rx='6' ry='8'/><ellipse cx='50' cy='24' rx='6' ry='8'/><ellipse cx='22' cy='11' rx='5' ry='7'/><ellipse cx='42' cy='11' rx='5' ry='7'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.10;
  pointer-events: none;
  z-index: 1;
  transform: rotate(-12deg);
}

/* 11) 全局过渡：让 hover 更自然 */
button, a, [role="button"] {
  transition: all 0.2s ease !important;
}

/* 12) 链接：粉色系（与整体协调）*/
a { color: #C41E6B; }
a:hover { color: #9333EA; }
.dark a { color: #FF8AC1; }

/* 13) 文字选中：粉色高亮（V1 已设置，这里增强）*/
::selection {
  background: rgba(255, 77, 157, 0.22) !important;
  color: #4B0A2B !important;
}
.dark ::selection { color: #FFE4F1 !important; }

/* ═══════════════════════════════════════════════════════════
   V2 END
   ═══════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════
   V3 升级 · 暗色冷色调（极光系：青蓝 + 薄荷绿 + 星点）
   触发条件：sub2api 自带的「月亮」按钮切换到 .dark 类
   设计目标：与浅色（粉紫暖色）形成完全不同的冷色气质，
            让不喜欢粉调的用户也有清爽选择。
   ═══════════════════════════════════════════════════════════ */

/* 1) 暗色全局背景：深蓝黑 + 极光光斑 */
.dark, .dark html, .dark body {
  background-color: #0A0E1A !important;
  background-image:
    radial-gradient(ellipse 900px 700px at 15% -10%, rgba(34, 211, 238, 0.10) 0%, transparent 55%),
    radial-gradient(ellipse 800px 600px at 100% 110%, rgba(74, 222, 128, 0.07) 0%, transparent 55%),
    radial-gradient(ellipse 700px 500px at 50% 50%, rgba(99, 102, 241, 0.06) 0%, transparent 70%) !important;
  color: #E2E8F0 !important;
}

/* 2) 暗色 primary 色阶覆盖：粉 → 青蓝/薄荷 */
.dark .bg-primary-50  { background-color: rgba(34, 211, 238, 0.10) !important; }
.dark .bg-primary-100 { background-color: rgba(34, 211, 238, 0.18) !important; }
.dark .bg-primary-200 { background-color: rgba(34, 211, 238, 0.30) !important; }
.dark .bg-primary-300 { background-color: rgba(34, 211, 238, 0.50) !important; }
.dark .bg-primary-400 { background-color: #67E8F9 !important; color: #0A0E1A !important; }
.dark .bg-primary-500 { background-color: #22D3EE !important; color: #0A0E1A !important; }
.dark .bg-primary-600 { background-color: #06B6D4 !important; color: #0A0E1A !important; }
.dark .bg-primary-700 { background-color: #0891B2 !important; }
.dark .bg-primary-800 { background-color: #155E75 !important; }
.dark .bg-primary-900 { background-color: #164E63 !important; }
.dark .bg-primary-950 { background-color: #0E2F3F !important; }

.dark .text-primary-100 { color: #A5F3FC !important; }
.dark .text-primary-200 { color: #A5F3FC !important; }
.dark .text-primary-300 { color: #67E8F9 !important; }
.dark .text-primary-400 { color: #67E8F9 !important; }
.dark .text-primary-500 { color: #22D3EE !important; }
.dark .text-primary-600 { color: #06B6D4 !important; }
.dark .text-primary-700 { color: #0891B2 !important; }
.dark .text-primary-800 { color: #155E75 !important; }
.dark .text-primary-900 { color: #94A3B8 !important; }
.dark .text-primary-950 { color: #64748B !important; }

.dark .border-primary-400 { border-color: #67E8F9 !important; }
.dark .border-primary-500 { border-color: #22D3EE !important; }
.dark .border-primary-600 { border-color: #06B6D4 !important; }

.dark [class*="ring-primary"] { --tw-ring-color: #22D3EE !important; }

.dark .from-primary-500 {
  --tw-gradient-from: #22D3EE !important;
  --tw-gradient-to: rgba(34, 211, 238, 0) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.dark .from-primary-600 {
  --tw-gradient-from: #06B6D4 !important;
  --tw-gradient-to: rgba(6, 182, 212, 0) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.dark .to-primary-500 { --tw-gradient-to: #22D3EE !important; }
.dark .to-primary-600 { --tw-gradient-to: #06B6D4 !important; }

/* 3) 暗色按钮渐变：薄荷 + 青蓝 */
.dark .btn-primary, .dark button.btn-primary {
  background-image: linear-gradient(135deg, #4ADE80 0%, #22D3EE 100%) !important;
  color: #0A0E1A !important;
  box-shadow: 0 4px 14px rgba(34, 211, 238, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}
.dark .btn-primary:hover, .dark button.btn-primary:hover {
  background-image: linear-gradient(135deg, #22D3EE 0%, #06B6D4 100%) !important;
  box-shadow: 0 6px 22px rgba(34, 211, 238, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}

/* 4) 暗色 .text-gradient */
.dark .text-gradient {
  background-image: linear-gradient(135deg, #4ADE80 0%, #22D3EE 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* 5) 暗色 .bg-gradient-primary */
.dark .bg-gradient-primary {
  background-image: linear-gradient(135deg, #4ADE80 0%, #22D3EE 100%) !important;
}

/* 6) 暗色 .bg-mesh-gradient（极光光斑）*/
.dark .bg-mesh-gradient {
  background-image:
    radial-gradient(at 40% 20%, rgba(34, 211, 238, 0.18) 0px, transparent 50%),
    radial-gradient(at 80% 0%, rgba(74, 222, 128, 0.12) 0px, transparent 50%),
    radial-gradient(at 0% 50%, rgba(99, 102, 241, 0.12) 0px, transparent 50%) !important;
}

/* 7) 暗色卡片 / 顶栏 / 侧边栏：深蓝半透明（覆盖 V2 的紫粉暗色）*/
.dark .card, .dark .card-glass, .dark .stat-card, .dark [class*="shadow-card"] {
  background: rgba(15, 25, 45, 0.65) !important;
  border-color: rgba(34, 211, 238, 0.18) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 6px 20px rgba(34, 211, 238, 0.04) !important;
}
.dark .card:hover, .dark .stat-card:hover, .dark [class*="shadow-card"]:hover {
  box-shadow: 0 6px 28px rgba(34, 211, 238, 0.18), 0 2px 6px rgba(0, 0, 0, 0.4) !important;
  border-color: rgba(34, 211, 238, 0.32) !important;
}

.dark header, .dark aside,
.dark nav.bg-white, .dark aside.bg-white, .dark header.bg-white,
.dark [class*="bg-white"][class*="border-b"],
.dark [class*="bg-white"][class*="border-r"] {
  background: rgba(12, 20, 35, 0.75) !important;
  border-color: rgba(34, 211, 238, 0.18) !important;
}

/* 8) 暗色表格 */
.dark table thead {
  background: linear-gradient(180deg, rgba(34, 211, 238, 0.05) 0%, transparent 100%) !important;
}
.dark table thead th {
  color: #67E8F9 !important;
}
.dark table tbody tr:hover {
  background: linear-gradient(90deg, rgba(34, 211, 238, 0.06) 0%, rgba(74, 222, 128, 0.04) 100%) !important;
}

/* 9) 暗色数字渐变 */
.dark .text-2xl, .dark .text-3xl, .dark .text-4xl {
  background: linear-gradient(135deg, #4ADE80 0%, #22D3EE 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* 10) 暗色输入框聚焦 */
.dark input:focus, .dark textarea:focus, .dark select:focus, .dark .input:focus {
  border-color: #22D3EE !important;
  box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.22) !important;
}

/* 11) 暗色滚动条 */
.dark ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #155E75 0%, #1E40AF 100%);
}
.dark ::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #22D3EE 0%, #4ADE80 100%);
}
.dark * {
  scrollbar-color: #155E75 transparent;
}

/* 12) 暗色链接 */
.dark a { color: #67E8F9 !important; }
.dark a:hover { color: #4ADE80 !important; }

/* 13) 暗色文字选中 */
.dark ::selection {
  background: rgba(34, 211, 238, 0.3) !important;
  color: #E0F7FA !important;
}

/* 14) 暗色状态指示器 */
.dark [class*="bg-primary"][class*="rounded-full"] {
  background-color: #4ADE80 !important;
  box-shadow: 0 0 8px rgba(74, 222, 128, 0.6) !important;
}

/* 15) 暗色弱化文字（sub2api 用 text-gray-500/600/700）*/
.dark .text-gray-500, .dark .text-gray-600, .dark .text-gray-700 {
  color: #94A3B8 !important;
}
.dark .text-gray-400, .dark .text-gray-300 {
  color: #64748B !important;
}

/* 16) 暗色猫爪水印 → 换极光小星点（右上角，更克制）*/
.dark body::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><circle cx='20' cy='18' r='1' fill='%2367E8F9'/><circle cx='40' cy='12' r='1.5' fill='%2322D3EE'/><circle cx='52' cy='28' r='1' fill='%234ADE80'/><circle cx='14' cy='38' r='1.2' fill='%23A5F3FC'/><circle cx='46' cy='44' r='1' fill='%2367E8F9'/><circle cx='28' cy='50' r='1.5' fill='%2322D3EE'/></svg>");
  opacity: 0.6;
  transform: rotate(0deg);
}

/* 17) 暗色灰阶文字 → 浅色（sub2api 主标题用 text-gray-800/900，副标题用 500/600/700）*/
.dark .text-gray-900, .dark .text-gray-800 {
  color: #F1F5F9 !important;
}
.dark .text-gray-500, .dark .text-gray-600, .dark .text-gray-700 {
  color: #94A3B8 !important;
}
.dark .text-gray-400, .dark .text-gray-300 {
  color: #64748B !important;
}

/* 18) 暗色次级按钮（顶栏铃/月亮等 .btn-secondary）*/
.dark .btn-secondary {
  background: rgba(15, 25, 45, 0.7) !important;
  color: #E2E8F0 !important;
  border-color: rgba(34, 211, 238, 0.18) !important;
}

/* 19) 暗色 .bg-white 子元素全部改为深蓝半透明（覆盖残留的浅色子元素）*/
.dark [class*="bg-white"]:not([class*="bg-white/"]):not(.btn-secondary) {
  background-color: rgba(15, 25, 45, 0.6) !important;
}

/* ═══════════════════════════════════════════════════════════
   V3 暗色冷色调 END
   ═══════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════
   V4 护眼优化 · 风格不变，降低饱和度与光晕，让眼睛少点光
   ═══════════════════════════════════════════════════════════ */

/* ── 浅色调护眼 ─────────────────────────────────── */

/* 1) 浅色主色：粉色调柔（饱和度 -10%） */
.bg-primary-500,
.hover\:bg-primary-500:hover,
.focus\:bg-primary-500:focus,
.dark\:bg-primary-500,
.group:hover .group-hover\:bg-primary-500 {
  background-color: #E85A95 !important;
}
.text-primary-500,
.hover\:text-primary-500:hover,
.focus\:text-primary-500:focus,
.dark\:text-primary-500,
.group:hover .group-hover\:text-primary-500 {
  color: #E85A95 !important;
}
.bg-primary-600,
.hover\:bg-primary-600:hover,
.dark\:bg-primary-600 {
  background-color: #C82E75 !important;
}
.text-primary-600,
.hover\:text-primary-600:hover,
.dark\:text-primary-600 {
  color: #C82E75 !important;
}

/* 2) 浅色按钮渐变 + 光晕减弱 */
.btn-primary, button.btn-primary {
  background-image: linear-gradient(135deg, #E85A95 0%, #7E22CE 100%) !important;
  box-shadow: 0 4px 14px rgba(232, 90, 149, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
}
.btn-primary:hover, button.btn-primary:hover {
  background-image: linear-gradient(135deg, #C82E75 0%, #6B21A8 100%) !important;
  box-shadow: 0 6px 20px rgba(232, 90, 149, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
}

/* 3) 浅色数字渐变：换更柔的深粉+暗紫 */
.text-2xl, .text-3xl, .text-4xl {
  background: linear-gradient(135deg, #A6215E 0%, #6B21A8 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* 4) 浅色背景光斑透明度降 25% */
html, body {
  background-image:
    radial-gradient(ellipse 900px 700px at 15% -10%, rgba(255, 215, 240, 0.40) 0%, transparent 55%),
    radial-gradient(ellipse 800px 600px at 100% 110%, rgba(220, 200, 255, 0.28) 0%, transparent 55%),
    radial-gradient(ellipse 700px 500px at 50% 50%, rgba(255, 235, 248, 0.20) 0%, transparent 70%) !important;
}

/* 5) 浅色表格 hover 减弱 */
table tbody tr:hover {
  background: linear-gradient(90deg, rgba(255, 240, 248, 0.35) 0%, rgba(245, 235, 255, 0.22) 100%) !important;
}
table thead {
  background: linear-gradient(180deg, rgba(255, 240, 248, 0.4) 0%, transparent 100%) !important;
}

/* 6) 浅色卡片阴影减弱 */
.card, .card-glass, .stat-card, [class*="shadow-card"] {
  box-shadow: 0 1px 2px rgba(232, 90, 149, 0.03), 0 4px 14px rgba(126, 34, 206, 0.04) !important;
}
.card:hover, .stat-card:hover, [class*="shadow-card"]:hover {
  box-shadow: 0 4px 20px rgba(232, 90, 149, 0.10), 0 1px 4px rgba(126, 34, 206, 0.05) !important;
}

/* 7) 浅色滚动条更柔 */
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #E8B0CE 0%, #C8B0E8 100%);
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #E85A95 0%, #7E22CE 100%);
}

/* ── 暗色调护眼 ─────────────────────────────────── */

/* 8) 暗色文字：#E2E8F0 → #CBD5E1（少 5% 亮度，更柔） */
.dark, .dark html, .dark body,
.dark .text-gray-900, .dark .text-gray-800 {
  color: #CBD5E1 !important;
}

/* 9) 暗色背景光斑降 40% */
.dark, .dark html, .dark body {
  background-image:
    radial-gradient(ellipse 900px 700px at 15% -10%, rgba(34, 211, 238, 0.06) 0%, transparent 55%),
    radial-gradient(ellipse 800px 600px at 100% 110%, rgba(74, 222, 128, 0.04) 0%, transparent 55%),
    radial-gradient(ellipse 700px 500px at 50% 50%, rgba(99, 102, 241, 0.04) 0%, transparent 70%) !important;
}

/* 10) 暗色按钮渐变：薄荷换更柔的浅薄荷 #5EEAD4 → 青 #06B6D4（去亮） */
.dark .btn-primary, .dark button.btn-primary {
  background-image: linear-gradient(135deg, #5EEAD4 0%, #06B6D4 100%) !important;
  color: #0F1A2E !important;
  box-shadow: 0 4px 14px rgba(34, 211, 238, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}
.dark .btn-primary:hover, .dark button.btn-primary:hover {
  background-image: linear-gradient(135deg, #22D3EE 0%, #0891B2 100%) !important;
  box-shadow: 0 6px 20px rgba(34, 211, 238, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

/* 11) 暗色数字渐变：薄荷换更柔的浅薄荷 */
.dark .text-2xl, .dark .text-3xl, .dark .text-4xl {
  background: linear-gradient(135deg, #5EEAD4 0%, #06B6D4 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* 12) 暗色卡片更暗（少透光，减对比） */
.dark .card, .dark .card-glass, .dark .stat-card, .dark [class*="shadow-card"] {
  background: rgba(20, 30, 50, 0.78) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 16px rgba(34, 211, 238, 0.03) !important;
}
.dark header, .dark aside,
.dark nav.bg-white, .dark aside.bg-white, .dark header.bg-white,
.dark [class*="bg-white"][class*="border-b"],
.dark [class*="bg-white"][class*="border-r"] {
  background: rgba(15, 22, 38, 0.85) !important;
}

/* 13) 暗色表格 hover 减弱 */
.dark table tbody tr:hover {
  background: linear-gradient(90deg, rgba(34, 211, 238, 0.04) 0%, rgba(74, 222, 128, 0.025) 100%) !important;
}

/* 14) 暗色状态圆点光晕减弱 */
.dark [class*="bg-primary"][class*="rounded-full"] {
  box-shadow: 0 0 6px rgba(74, 222, 128, 0.4) !important;
}

/* 15) 暗色 focus 光晕减弱 */
.dark input:focus, .dark textarea:focus, .dark select:focus, .dark .input:focus {
  border-color: #06B6D4 !important;
  box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.15) !important;
}

/* ═══════════════════════════════════════════════════════════
   V4 护眼优化 END
   ═══════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════
   V5 科技风 · 从粉紫二次元转向电紫+电青科技感
   同步修复：暗色下输入框 / 搜索框白底刺眼问题
   ═══════════════════════════════════════════════════════════ */

/* ── 浅色科技风：粉紫 → 电紫 ───────────────────── */

/* 1) 主色：粉 → 电紫 indigo（科技感的冷色调）*/
.bg-primary-500,
.hover\:bg-primary-500:hover,
.focus\:bg-primary-500:focus,
.dark\:bg-primary-500,
.group:hover .group-hover\:bg-primary-500 {
  background-color: #6366F1 !important;
}
.text-primary-500,
.hover\:text-primary-500:hover,
.focus\:text-primary-500:focus,
.dark\:text-primary-500,
.group:hover .group-hover\:text-primary-500 {
  color: #6366F1 !important;
}
.bg-primary-600,
.hover\:bg-primary-600:hover,
.dark\:bg-primary-600 {
  background-color: #4F46E5 !important;
}
.text-primary-600,
.hover\:text-primary-600:hover,
.dark\:text-primary-600 {
  color: #4F46E5 !important;
}

/* 1b) 浅色阶：粉 → 电紫浅色（标签/图标底色统一）*/
.bg-primary-50,
.hover\:bg-primary-50:hover,
.dark\:bg-primary-50 {
  background-color: #EEF2FF !important;
}
.bg-primary-100,
.hover\:bg-primary-100:hover,
.dark\:bg-primary-100 {
  background-color: #E0E7FF !important;
}
.bg-primary-200,
.hover\:bg-primary-200:hover,
.dark\:bg-primary-200 {
  background-color: #C7D2FE !important;
}
.text-primary-700,
.hover\:text-primary-700:hover,
.dark\:text-primary-700 {
  color: #4338CA !important;
}
.text-primary-800,
.dark\:text-primary-800 {
  color: #3730A3 !important;
}

/* 2) 按钮渐变：电紫 → 紫罗兰 */
.btn-primary, button.btn-primary {
  background-image: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%) !important;
  box-shadow: 0 4px 14px rgba(99, 102, 241, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
}
.btn-primary:hover, button.btn-primary:hover {
  background-image: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%) !important;
  box-shadow: 0 6px 20px rgba(99, 102, 241, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
}
.btn-primary:active, button.btn-primary:active {
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.22) !important;
}

/* 3) 数字渐变：电紫渐变 + 等宽字体（科技感核心）*/
.text-2xl, .text-3xl, .text-4xl {
  background: linear-gradient(135deg, #4338CA 0%, #7C3AED 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-family: 'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, monospace !important;
  font-feature-settings: "tnum" !important;
  letter-spacing: -0.02em !important;
}

/* 4) 背景光斑：冷蓝紫（淡于 V4 的粉紫）*/
html, body {
  background-color: #F5F6FA !important;
  background-image:
    radial-gradient(ellipse 900px 700px at 15% -10%, rgba(199, 210, 254, 0.35) 0%, transparent 55%),
    radial-gradient(ellipse 800px 600px at 100% 110%, rgba(196, 181, 253, 0.30) 0%, transparent 55%),
    radial-gradient(ellipse 700px 500px at 50% 50%, rgba(224, 231, 255, 0.20) 0%, transparent 70%) !important;
}

/* 5) 链接 */
a { color: #4F46E5 !important; }
a:hover { color: #7C3AED !important; }

/* 6) 表头颜色 */
table thead th { color: #4338CA !important; }

/* 7) 滚动条 */
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #C7D2FE 0%, #C4B5FD 100%);
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #6366F1 0%, #8B5CF6 100%);
}

/* 8) 浅色输入框（搜索框背景已是浅灰，加柔和边框）*/
input, textarea, select, .input {
  background-color: #FFFFFF !important;
  border-color: rgba(99, 102, 241, 0.18) !important;
}

/* ── 暗色科技风：青蓝 → 电青 + 深空黑 ────────── */

/* 9) 暗色背景：深空黑 #050816 + 微弱几何网格（科技感关键）*/
.dark, .dark html, .dark body {
  background-color: #050816 !important;
  background-image:
    radial-gradient(ellipse 900px 700px at 15% -10%, rgba(14, 165, 233, 0.05) 0%, transparent 55%),
    radial-gradient(ellipse 800px 600px at 100% 110%, rgba(99, 102, 241, 0.04) 0%, transparent 55%) !important;
  color: #CBD5E1 !important;
}

/* 10) 暗色叠加细微网格（科技风的几何感）*/
.dark body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(99, 102, 241, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99, 102, 241, 0.04) 1px, transparent 1px);
  background-size: 32px 32px;
  z-index: 0;
}

/* 11) 暗色主色：薄荷+青蓝 → 电青 #0EA5E9 / sky #38BDF8 */
.dark .bg-primary-500 { background-color: #0EA5E9 !important; color: #050816 !important; }
.dark .bg-primary-400 { background-color: #38BDF8 !important; color: #050816 !important; }
.dark .bg-primary-600 { background-color: #0284C7 !important; color: #FFFFFF !important; }
.dark .bg-primary-100 { background-color: rgba(56, 189, 248, 0.18) !important; color: #7DD3FC !important; }
.dark .bg-primary-200 { background-color: rgba(56, 189, 248, 0.28) !important; }
.dark .text-primary-500 { color: #38BDF8 !important; }
.dark .text-primary-400 { color: #7DD3FC !important; }
.dark .text-primary-300 { color: #7DD3FC !important; }
.dark .text-primary-600 { color: #0EA5E9 !important; }
.dark .text-primary-700 { color: #0EA5E9 !important; }
.dark .border-primary-500 { border-color: #0EA5E9 !important; }
.dark .border-primary-400 { border-color: #38BDF8 !important; }
.dark .border-primary-600 { border-color: #0284C7 !important; }
.dark [class*="ring-primary"] { --tw-ring-color: #0EA5E9 !important; }

.dark .from-primary-500 {
  --tw-gradient-from: #38BDF8 !important;
  --tw-gradient-to: rgba(56, 189, 248, 0) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.dark .to-primary-500 { --tw-gradient-to: #38BDF8 !important; }

/* 12) 暗色按钮渐变：电青+电紫（科技感）*/
.dark .btn-primary, .dark button.btn-primary {
  background-image: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%) !important;
  color: #050816 !important;
  box-shadow: 0 4px 14px rgba(14, 165, 233, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}
.dark .btn-primary:hover, .dark button.btn-primary:hover {
  background-image: linear-gradient(135deg, #0EA5E9 0%, #4F46E5 100%) !important;
  box-shadow: 0 6px 20px rgba(14, 165, 233, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

/* 13) 暗色数字渐变：电青 + 电紫 */
.dark .text-2xl, .dark .text-3xl, .dark .text-4xl {
  background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* 14) 暗色卡片：接近全黑 */
.dark .card, .dark .card-glass, .dark .stat-card, .dark [class*="shadow-card"] {
  background: rgba(10, 14, 28, 0.85) !important;
  border-color: rgba(99, 102, 241, 0.18) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5), 0 4px 16px rgba(14, 165, 233, 0.03) !important;
}
.dark .card:hover, .dark .stat-card:hover, .dark [class*="shadow-card"]:hover {
  border-color: rgba(99, 102, 241, 0.32) !important;
  box-shadow: 0 6px 24px rgba(14, 165, 233, 0.12), 0 2px 6px rgba(0, 0, 0, 0.5) !important;
}

.dark header, .dark aside,
.dark nav.bg-white, .dark aside.bg-white, .dark header.bg-white,
.dark [class*="bg-white"][class*="border-b"],
.dark [class*="bg-white"][class*="border-r"] {
  background: rgba(8, 12, 24, 0.9) !important;
  border-color: rgba(99, 102, 241, 0.18) !important;
}

.dark .btn-secondary {
  background: rgba(10, 14, 28, 0.85) !important;
  color: #CBD5E1 !important;
  border-color: rgba(99, 102, 241, 0.2) !important;
}

/* 15) 暗色状态指示器：电青 */
.dark [class*="bg-primary"][class*="rounded-full"] {
  background-color: #38BDF8 !important;
  box-shadow: 0 0 6px rgba(56, 189, 248, 0.5) !important;
}

/* 16) 暗色链接 */
.dark a { color: #38BDF8 !important; }
.dark a:hover { color: #818CF8 !important; }

/* 17) 暗色表头 */
.dark table thead th { color: #38BDF8 !important; }
.dark table tbody tr:hover {
  background: linear-gradient(90deg, rgba(14, 165, 233, 0.04) 0%, rgba(99, 102, 241, 0.025) 100%) !important;
}

/* 18) 暗色滚动条 */
.dark ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #0C4A6E 0%, #312E81 100%);
}
.dark ::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #38BDF8 0%, #6366F1 100%);
}

/* 19) 暗色背景渐变细节 */
.dark .bg-gradient-primary {
  background-image: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%) !important;
}
.dark .text-gradient {
  background-image: linear-gradient(135deg, #38BDF8 0%, #818CF8 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
.dark .bg-mesh-gradient {
  background-image:
    radial-gradient(at 40% 20%, rgba(14, 165, 233, 0.18) 0px, transparent 50%),
    radial-gradient(at 80% 0%, rgba(99, 102, 241, 0.12) 0px, transparent 50%),
    radial-gradient(at 0% 50%, rgba(99, 102, 241, 0.12) 0px, transparent 50%) !important;
}

/* ── 修复：暗色下输入框/搜索框白底刺眼（用户截图重点反馈）── */

/* 20) 关键修复：暗色下所有 input/textarea/select/.input 改为深色背景 */
.dark input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="range"]),
.dark textarea,
.dark select,
.dark .input {
  background-color: rgba(10, 14, 28, 0.85) !important;
  color: #CBD5E1 !important;
  border-color: rgba(99, 102, 241, 0.22) !important;
}

/* 21) 暗色下 placeholder 颜色 */
.dark input::placeholder,
.dark textarea::placeholder,
.dark select::placeholder,
.dark .input::placeholder {
  color: #64748B !important;
  opacity: 1 !important;
}

/* 22) 暗色下 select 的下拉箭头颜色（部分浏览器） */
.dark select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%2394A3B8' d='M6 9L1 4h10z'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 32px !important;
}

/* ── 去掉萌系装饰（科技风不需要猫爪/星点） ────── */

/* 23) 隐藏猫爪和星点水印 */
body::after,
.dark body::after {
  display: none !important;
}

/* ── 文字选中、灰阶文字、focus 等细节 ──────── */

/* 24) 文字选中 */
::selection { background: rgba(99, 102, 241, 0.25) !important; color: #1E1B4B !important; }
.dark ::selection { background: rgba(14, 165, 233, 0.3) !important; color: #E0F2FE !important; }

/* 25) 灰阶文字浅色下调整 */
.dark .text-gray-900, .dark .text-gray-800 { color: #E2E8F0 !important; }
.dark .text-gray-500, .dark .text-gray-600, .dark .text-gray-700 { color: #94A3B8 !important; }
.dark .text-gray-400, .dark .text-gray-300 { color: #64748B !important; }

/* 26) 暗色下减弱阴影 */
.dark .shadow-glow, .dark .shadow-glow-sm {
  box-shadow: 0 0 20px rgba(14, 165, 233, 0.3) !important;
}
.dark .shadow-glow-lg {
  box-shadow: 0 0 40px rgba(14, 165, 233, 0.4) !important;
}

/* 27) 暗色下 focus 光晕 */
.dark input:focus, .dark textarea:focus, .dark select:focus, .dark .input:focus {
  border-color: #38BDF8 !important;
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.18) !important;
}

/* ═══════════════════════════════════════════════════════════
   V5 科技风 END
   ═══════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════
   V6 整体精致度微调 · 克制调整，不动主体气质
   （减少视觉负担、加强毛玻璃质感、顶栏副标题电紫化）
   ═══════════════════════════════════════════════════════════ */

/* ── 浅色微调 ───────────────────────────────── */

/* 1) 浅色背景光斑再减弱（让眼睛舒服）*/
html, body {
  background-image:
    radial-gradient(ellipse 900px 700px at 15% -10%, rgba(199, 210, 254, 0.28) 0%, transparent 55%),
    radial-gradient(ellipse 800px 600px at 100% 110%, rgba(196, 181, 253, 0.24) 0%, transparent 55%),
    radial-gradient(ellipse 700px 500px at 50% 50%, rgba(224, 231, 255, 0.16) 0%, transparent 70%) !important;
}

/* 2) 浅色卡片阴影更克制（精致而非"科技重影"）*/
.card, .card-glass, .stat-card, [class*="shadow-card"] {
  box-shadow: 0 1px 1px rgba(99, 102, 241, 0.025), 0 2px 8px rgba(99, 102, 241, 0.04) !important;
}
.card:hover, .stat-card:hover, [class*="shadow-card"]:hover {
  box-shadow: 0 4px 16px rgba(99, 102, 241, 0.08), 0 1px 3px rgba(99, 102, 241, 0.04) !important;
}

/* 3) 浅色顶栏 / 侧边栏毛玻璃增强（更强质感）*/
header, aside,
nav.bg-white, aside.bg-white, header.bg-white,
[class*="bg-white"][class*="border-b"],
[class*="bg-white"][class*="border-r"] {
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
}

/* 4) 浅色顶栏副标题电紫化（"管理后台 / 分组管理"等路径文字）*/
header .text-gray-500,
header [class*="text-gray-5"],
header .breadcrumb,
[class*="breadcrumb"] {
  color: #6366F1 !important;
}

/* 5) 浅色按钮减弱光晕（V4 V5 基础上再轻一点）*/
.btn-primary, button.btn-primary {
  box-shadow: 0 3px 12px rgba(99, 102, 241, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
}
.btn-primary:hover, button.btn-primary:hover {
  box-shadow: 0 5px 16px rgba(99, 102, 241, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
}

/* 6) 浅色状态徽章（运行中/已停用）字距+字重精致化 */
[class*="px-2"][class*="py-0.5"][class*="rounded-full"] {
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
}

/* 7) 浅色表格 hover 减弱（让眼睛舒服）*/
table tbody tr:hover {
  background: rgba(238, 242, 255, 0.6) !important;
}

/* ── 暗色微调 ───────────────────────────────── */

/* 8) 暗色背景网格再淡（4% → 3%，几乎隐形但有"底"）*/
.dark body::before {
  background-image:
    linear-gradient(rgba(99, 102, 241, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99, 102, 241, 0.03) 1px, transparent 1px);
}

/* 9) 暗色顶栏 / 侧边栏毛玻璃增强 */
.dark header, .dark aside,
.dark nav.bg-white, .dark aside.bg-white, .dark header.bg-white,
.dark [class*="bg-white"][class*="border-b"],
.dark [class*="bg-white"][class*="border-r"] {
  backdrop-filter: blur(20px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
}

/* 10) 暗色顶栏副标题电青化 */
.dark header .text-gray-500,
.dark header [class*="text-gray-5"],
.dark .breadcrumb,
.dark [class*="breadcrumb"] {
  color: #38BDF8 !important;
}

/* 11) 暗色按钮光晕减弱 */
.dark .btn-primary, .dark button.btn-primary {
  box-shadow: 0 3px 12px rgba(14, 165, 233, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}
.dark .btn-primary:hover, .dark button.btn-primary:hover {
  box-shadow: 0 5px 16px rgba(14, 165, 233, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

/* 12) 暗色卡片阴影更克制 */
.dark .card, .dark .card-glass, .dark .stat-card, .dark [class*="shadow-card"] {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5), 0 2px 8px rgba(14, 165, 233, 0.02) !important;
}

/* 13) 暗色状态徽章字距+字重精致化 */
.dark [class*="px-2"][class*="py-0.5"][class*="rounded-full"] {
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
}

/* 14) 暗色表格 hover 减弱 */
.dark table tbody tr:hover {
  background: rgba(14, 165, 233, 0.04) !important;
}

/* ── 两主题统一：标题层级、间距 ─────────────────── */

/* 15) 顶栏左侧副标题字重微调（让层次更清晰）*/
header .text-gray-500,
header [class*="text-gray-5"] {
  font-weight: 500 !important;
}

/* 16) 整体 padding 微调（卡片内 padding 稍微统一）*/
.card .p-4,
.card .px-5,
.card .py-4 {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

/* 17) 链接（"编辑"等）hover 效果统一 */
a {
  transition: all 0.15s ease !important;
}

/* ═══════════════════════════════════════════════════════════
   V6 微调 END
   ═══════════════════════════════════════════════════════════ */
