/**
 * OpenRDai 全局主题系统 v1.0
 * ===========================
 * 
 * 设计原则：
 * 1. 科技感 + 专业 + 优雅（适合财税审计人员，女性友好）
 * 2. 参考 ChatGPT/豆包/Notion 的成熟配色
 * 3. 支持三种主题：深色(dark)、浅色(light)、中性(neutral)
 * 
 * 使用方法：
 * 1. 在 HTML 中引入此文件
 * 2. 在 <html> 或 <body> 上添加 data-theme="dark|light|neutral"
 * 3. 使用 CSS 变量，如 var(--bg-primary)
 */

/* ============================================
   一、语义化颜色变量（按用途命名）
   ============================================ */

:root {
    /* ========== 品牌色（研小匠 V2：深翠绿 + 琥珀金）========== */
    --brand-primary: #047857;
    /* 品牌主色 - emerald-700 深翠绿，研发/创新/合规，专业稳重 */
    --brand-secondary: #D46B08;
    /* 品牌琥珀金 - 高新认定、首购优惠 */
    --brand-cyan: #10B981;
    /* 品牌辅助色 - emerald-500 亮翠绿，hover/active 状态 */
    --brand-gradient: linear-gradient(135deg, #047857, #10B981);
    --brand-gradient-cyan: linear-gradient(135deg, #047857, #34D399);

    /* ========== 功能色（精简为 3 色）========== */
    --color-success: #389E0D;
    /* 成功/通过 - 低饱和绿 */
    --color-warning: #D46B08;
    /* 警告/注意 - 琥珀金 */
    --color-error: #EF4444;
    /* 错误/危险 - 红色（保持不变） */
    --color-info: #047857;
    /* 信息/提示 - 科技蓝 */

    /* ========== 风险/安全语义色 ========== */
    --color-risk-text: #D46B08;
    --color-risk-bg: #FFF7E6;
    --color-safe-text: #389E0D;
    --color-safe-bg: #F6FFED;

    /* ========== 微信专用 ========== */
    --wechat-green: #07C160;

    /* ========== 过渡动画 ========== */
    --transition-colors: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

/* ============================================
   二、深色主题 (Dark) - 默认
   参考: ChatGPT深色模式
   ============================================ */

[data-theme="dark"],
:root {
    /* ── 深色模式品牌色覆盖（提亮以保证暗背景可读性）── */
    --brand-primary: #10B981;
    /* 深色背景下用 emerald-500 亮翠绿 */
    --brand-cyan: #34D399;
    /* emerald-400 更亮的辅助绿 */
    --brand-gradient: linear-gradient(135deg, #10B981, #34D399);
    --brand-gradient-cyan: linear-gradient(135deg, #10B981, #6EE7B7);

    /* 背景层级（由深到浅）*/
    --bg-base: #0a0a0a;
    /* 最底层背景 */
    --bg-primary: #0f0f0f;
    /* 主要背景 */
    --bg-secondary: #171717;
    /* 次要背景（卡片、侧边栏）*/
    --bg-tertiary: #1f1f1f;
    /* 第三层（悬浮、输入框）*/
    --bg-elevated: #262626;
    /* 抬升层（下拉菜单、弹窗）*/

    /* 文字层级（由亮到暗）*/
    --text-primary: #FAFAFA;
    /* 主要文字 */
    --text-secondary: #A3A3A3;
    /* 次要文字 */
    --text-tertiary: #737373;
    /* 辅助文字 */
    --text-disabled: #525252;
    /* 禁用文字 */

    /* 边框 */
    --border-default: rgba(255, 255, 255, 0.08);
    --border-hover: rgba(255, 255, 255, 0.15);
    --border-active: rgba(255, 255, 255, 0.25);

    /* 交互状态 */
    --hover-overlay: rgba(255, 255, 255, 0.05);
    --active-overlay: rgba(255, 255, 255, 0.1);
    --focus-ring: rgba(24, 144, 255, 0.5);

    /* 阴影 */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5);

    /* 滚动条 */
    --scrollbar-track: #1f1f1f;
    --scrollbar-thumb: #404040;
    --scrollbar-thumb-hover: #525252;

    /* 图标颜色 */
    --color-icon-primary: #FAFAFA;
    --color-icon-secondary: #A3A3A3;
    --color-icon-tertiary: #737373;
    --color-icon-brand: var(--brand-primary);
    --color-icon-success: var(--color-success);
    --color-icon-warning: var(--color-warning);
    --color-icon-error: var(--color-error);

    /* 卡片/定价模块专用变量 */
    --card-bg: rgba(23, 23, 23, 0.92);
    --card-border: rgba(255, 255, 255, 0.1);
    --section-bg: rgba(255, 255, 255, 0.04);

    /* 前景色 (通用) */
    --foreground: #FAFAFA;
    --foreground-muted: #A3A3A3;
}

/* ============================================
   三、浅色主题 (Light)
   参考: ChatGPT浅色模式、豆包
   ============================================ */

[data-theme="light"] {
    /* 背景层级（微灰底 + 白色卡片）*/
    --bg-base: #F4F6F9;
    /* 最底层背景 - 冷灰蓝 */
    --bg-primary: #F4F6F9;
    /* 主要背景 */
    --bg-secondary: #FFFFFF;
    /* 次要背景（卡片、侧边栏）*/
    --bg-tertiary: #ECECF1;
    /* 第三层（悬浮、输入框）*/
    --bg-elevated: #FFFFFF;
    /* 抬升层（下拉菜单、弹窗）*/

    /* 文字层级（由深到浅）*/
    --text-primary: #1A1A1A;
    /* 主要文字 */
    --text-secondary: #6B6B6B;
    /* 次要文字 */
    --text-tertiary: #8E8E8E;
    /* 辅助文字 */
    --text-disabled: #ABABAB;
    /* 禁用文字 */

    /* 边框 */
    --border-default: rgba(0, 0, 0, 0.08);
    --border-hover: rgba(0, 0, 0, 0.15);
    --border-active: rgba(0, 0, 0, 0.25);

    /* 交互状态 */
    --hover-overlay: rgba(0, 0, 0, 0.04);
    --active-overlay: rgba(0, 0, 0, 0.08);
    --focus-ring: rgba(24, 144, 255, 0.3);

    /* 阴影 */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);

    /* 滚动条 */
    --scrollbar-track: #F7F7F8;
    --scrollbar-thumb: #D1D1D1;
    --scrollbar-thumb-hover: #ABABAB;

    /* 图标颜色 */
    --color-icon-primary: #1A1A1A;
    --color-icon-secondary: #6B6B6B;
    --color-icon-tertiary: #8E8E8E;
    --color-icon-brand: var(--brand-primary);
    --color-icon-success: var(--color-success);
    --color-icon-warning: var(--color-warning);
    --color-icon-error: var(--color-error);

    /* 卡片/定价模块专用变量 */
    --card-bg: #ffffff;
    --card-border: #e5e7eb;
    --section-bg: #f9fafb;

    /* 前景色 (通用) */
    --foreground: #1A1A1A;
    --foreground-muted: #6B6B6B;
}

/* ============================================
   四、中性主题 (Neutral) - 柔和深色
   参考: Notion深色、温柔科技风
   适合女性用户，柔和但不失专业
   ============================================ */

[data-theme="neutral"] {
    /* 背景层级（柔和深色，带一点暖调）*/
    --bg-base: #1A1B1E;
    /* 最底层背景 - 带微暖 */
    --bg-primary: #1E1F23;
    /* 主要背景 */
    --bg-secondary: #25262B;
    /* 次要背景 */
    --bg-tertiary: #2C2D33;
    /* 第三层 */
    --bg-elevated: #37383F;
    /* 抬升层 */

    /* 文字层级（柔和白，不刺眼）*/
    --text-primary: #E8E8ED;
    /* 主要文字 */
    --text-secondary: #9898A0;
    /* 次要文字 */
    --text-tertiary: #6C6C75;
    /* 辅助文字 */
    --text-disabled: #4A4A52;
    /* 禁用文字 */

    /* 边框 */
    --border-default: rgba(255, 255, 255, 0.06);
    --border-hover: rgba(255, 255, 255, 0.12);
    --border-active: rgba(255, 255, 255, 0.2);

    /* 交互状态 */
    --hover-overlay: rgba(255, 255, 255, 0.04);
    --active-overlay: rgba(255, 255, 255, 0.08);
    --focus-ring: rgba(245, 158, 11, 0.4);
    /* 紫色聚焦，更柔和 */

    /* 阴影 */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4);

    /* 滚动条 */
    --scrollbar-track: #25262B;
    --scrollbar-thumb: #3D3E45;
    --scrollbar-thumb-hover: #4D4E55;

    /* 图标颜色 */
    --color-icon-primary: #E8E8ED;
    --color-icon-secondary: #9898A0;
    --color-icon-tertiary: #6C6C75;
    --color-icon-brand: var(--brand-secondary);
    --color-icon-success: var(--color-success);
    --color-icon-warning: var(--color-warning);
    --color-icon-error: var(--color-error);

    /* 卡片/定价模块专用变量 */
    --card-bg: rgba(37, 38, 43, 0.92);
    --card-border: rgba(255, 255, 255, 0.08);
    --section-bg: rgba(255, 255, 255, 0.04);

    /* 前景色 (通用) */
    --foreground: #E8E8ED;
    --foreground-muted: #9898A0;
}

/* ============================================
   五、通用基础样式
   ============================================ */

/* 全局页面基色兜底：避免自定义 Tailwind 类失效时出现白底白字 */
html,
body {
    background-color: var(--bg-base);
    color: var(--text-primary);
}

/* 全局过渡 */
*,
*::before,
*::after {
    transition: var(--transition-colors);
}

/* 滚动条样式 */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--scrollbar-track);
}

::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--scrollbar-thumb-hover);
}

/* 选中文本颜色 */
::selection {
    background: rgba(24, 144, 255, 0.3);
    color: var(--text-primary);
}

/* 全局 placeholder 颜色统一 */
input::placeholder,
textarea::placeholder {
    color: #8C8C8C !important;
    opacity: 1;
}

/* 下拉菜单选项 — 暗色主题兼容 */
[data-theme="dark"] select option {
    background: #1F2937;
    color: #E5E7EB;
}

/* 聚焦样式 */
:focus-visible {
    outline: 2px solid var(--focus-ring);
    outline-offset: 2px;
}

/* ============================================
   六、Tailwind CSS 兼容类（!important 防御层）
   说明：Tailwind CDN 注入的 <style> 在 theme.css 之后，
   同名类会被覆盖。加 !important 确保语义色始终生效。
   ============================================ */

/* 背景色 */
.bg-base {
    background-color: var(--bg-base) !important;
}

.bg-primary {
    background-color: var(--bg-primary) !important;
}

.bg-secondary {
    background-color: var(--bg-secondary) !important;
}

.bg-tertiary {
    background-color: var(--bg-tertiary) !important;
}

.bg-elevated {
    background-color: var(--bg-elevated) !important;
}

/* 文字色 */
.text-primary {
    color: var(--text-primary) !important;
}

.text-secondary {
    color: var(--text-secondary) !important;
}

.text-tertiary {
    color: var(--text-tertiary) !important;
}

.text-disabled {
    color: var(--text-disabled) !important;
}

/* 边框色 */
.border-default {
    border-color: var(--border-default) !important;
}

.border-hover {
    border-color: var(--border-hover) !important;
}

/* 品牌色 */
.text-brand {
    color: var(--brand-primary) !important;
}

.bg-brand {
    background-color: var(--brand-primary) !important;
}

.bg-brand-gradient {
    background: var(--brand-gradient) !important;
}

/* 功能色 */
/* ========== 语义化文字便捷工具类（Doubao 对标四阶色）========== */
/* 用法：<p class="t-secondary"> 代替 text-gray-300，自动适配深/浅主题 */
.t-primary   { color: var(--text-primary) !important; }
.t-secondary { color: var(--text-secondary) !important; }
.t-muted     { color: var(--text-tertiary) !important; }
.t-disabled  { color: var(--text-disabled) !important; }

/* 语义化背景/边框便捷工具类 */
.bg-themed      { background-color: var(--bg-base) !important; }
.bg-themed-card { background-color: var(--bg-secondary) !important; }
.border-themed  { border-color: var(--border-default) !important; }

.text-success {
    color: var(--color-success) !important;
}

.text-warning {
    color: var(--color-warning) !important;
}

.text-error {
    color: var(--color-error) !important;
}

.bg-success {
    background-color: var(--color-success) !important;
}

.bg-warning {
    background-color: var(--color-warning) !important;
}

.bg-error {
    background-color: var(--color-error) !important;
}

/* ============================================
   七、Tailwind 自定义类兼容层（系统性修复）
    说明：历史页面大量使用 bg-bg-* / text-accent-* 等类名，
    若未注入对应 Tailwind config，会导致背景/文字失效。
    ============================================ */

/* 背景语义别名 */
.bg-bg-dark {
    background-color: var(--bg-base) !important;
}

.bg-bg-card {
    background-color: var(--bg-secondary) !important;
}

.bg-bg-chat {
    background-color: var(--bg-secondary) !important;
}

.bg-bg-dark\/50 {
    background-color: color-mix(in srgb, var(--bg-base) 50%, transparent) !important;
}

.bg-bg-dark\/80 {
    background-color: color-mix(in srgb, var(--bg-base) 80%, transparent) !important;
}

.bg-bg-dark\/95 {
    background-color: color-mix(in srgb, var(--bg-base) 95%, transparent) !important;
}

.bg-bg-card\/30 {
    background-color: color-mix(in srgb, var(--bg-secondary) 30%, transparent) !important;
}

.bg-bg-card\/50 {
    background-color: color-mix(in srgb, var(--bg-secondary) 50%, transparent) !important;
}

/* 品牌色别名 */
.text-accent-blue {
    color: var(--brand-primary) !important;
}

.bg-accent-blue {
    background-color: var(--brand-primary) !important;
}

.text-accent-purple {
    color: var(--brand-secondary) !important;
}

.bg-accent-purple {
    background-color: var(--brand-secondary) !important;
}

.text-accent-green {
    color: var(--color-success) !important;
}

/* 半透明品牌背景 */
.bg-accent-blue\/10 {
    background-color: color-mix(in srgb, var(--brand-primary) 10%, transparent) !important;
}

.bg-accent-blue\/20 {
    background-color: color-mix(in srgb, var(--brand-primary) 20%, transparent) !important;
}

.bg-accent-blue\/30 {
    background-color: color-mix(in srgb, var(--brand-primary) 30%, transparent) !important;
}

.bg-accent-blue\/40 {
    background-color: color-mix(in srgb, var(--brand-primary) 40%, transparent) !important;
}

.hover\:bg-accent-blue\/20:hover {
    background-color: color-mix(in srgb, var(--brand-primary) 20%, transparent) !important;
}

.hover\:bg-accent-blue\/30:hover {
    background-color: color-mix(in srgb, var(--brand-primary) 30%, transparent) !important;
}

.hover\:bg-accent-blue\/40:hover {
    background-color: color-mix(in srgb, var(--brand-primary) 40%, transparent) !important;
}

/* 边框别名 */
.border-accent-blue\/30 {
    border-color: color-mix(in srgb, var(--brand-primary) 30%, transparent) !important;
}

.border-accent-blue\/40 {
    border-color: color-mix(in srgb, var(--brand-primary) 40%, transparent) !important;
}

.border-accent-blue\/50 {
    border-color: color-mix(in srgb, var(--brand-primary) 50%, transparent) !important;
}

/* 历史白色透明类在浅色主题可读性兜底 */
.border-white\/5,
.border-white\/10 {
    border-color: var(--border-default) !important;
}

.border-white\/20 {
    border-color: var(--border-hover) !important;
}

.bg-white\/5 {
    background-color: color-mix(in srgb, var(--bg-secondary) 70%, transparent) !important;
}

.bg-white\/10 {
    background-color: color-mix(in srgb, var(--bg-tertiary) 70%, transparent) !important;
}

/* 文本可读性修复：避免浅色主题下白字/浅灰字不可见 */
.text-white {
    color: var(--text-primary) !important;
}

.text-gray-100,
.text-gray-200,
.text-gray-300 {
    color: var(--text-secondary) !important;
}

.text-gray-400,
.text-gray-500 {
    color: var(--text-tertiary) !important;
}

/* 输入框聚焦兼容 */
.focus\:border-accent-blue\/50:focus {
    border-color: color-mix(in srgb, var(--brand-primary) 50%, transparent) !important;
}

.focus\:ring-accent-blue\/20:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-primary) 20%, transparent) !important;
}

/* ============================================
   Zinc / Gray 系列浅色主题兼容
   说明：历史页面使用 bg-zinc-* 等 Tailwind 原生暗色类，
   在浅色主题下需要反转为语义化颜色。
   ============================================ */

[data-theme="light"] .bg-zinc-900,
[data-theme="light"] .bg-zinc-900\/90 {
    background-color: #FFFFFF !important;
}

[data-theme="light"] .bg-zinc-800,
[data-theme="light"] .bg-zinc-800\/80 {
    background-color: #F3F4F6 !important;
}

[data-theme="light"] .bg-zinc-700 {
    background-color: #E5E7EB !important;
}

[data-theme="light"] .bg-zinc-600,
[data-theme="light"] .hover\:bg-zinc-600:hover {
    background-color: #D1D5DB !important;
}

[data-theme="light"] .hover\:bg-zinc-700:hover {
    background-color: #E5E7EB !important;
}

[data-theme="light"] .group-hover\:bg-zinc-600:hover,
[data-theme="light"] .group:hover .group-hover\:bg-zinc-600 {
    background-color: #D1D5DB !important;
}

[data-theme="light"] .bg-gray-700 {
    background-color: #E5E7EB !important;
}

/* 浅色主题下登录按钮反转 */
[data-theme="light"] .bg-white.text-black {
    background-color: #1A1A1A !important;
    color: #FFFFFF !important;
}

/* ============================================
   浅色主题 — 全局兜底覆盖（v2.1）
   覆盖：半透明白字、渐变标题、placeholder、品牌色系文字、
        半透明边框、自定义 bg-bg-input 兜底
   ============================================ */

/* ---- 兜底定义：项目里大量用了 bg-bg-input 但没声明 ---- */
.bg-bg-input {
    background-color: var(--bg-elevated) !important;
}

[data-theme="dark"] .bg-bg-input {
    background-color: #1c1c1f !important;
}

[data-theme="light"] .bg-bg-input {
    background-color: #F3F4F6 !important;
}

/* ---- 半透明白色文字：浅色下走主文本色 ---- */
[data-theme="light"] .text-white\/90,
[data-theme="light"] .text-white\/80,
[data-theme="light"] .text-white\/70,
[data-theme="light"] .text-white\/60,
[data-theme="light"] .text-white\/50 {
    color: var(--text-primary) !important;
}

/* ---- placeholder：浅色下用三级灰，深色下用更暗 ---- */
[data-theme="light"] .placeholder-gray-500::placeholder,
[data-theme="light"] .placeholder-gray-400::placeholder,
[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder {
    color: var(--text-tertiary) !important;
    opacity: 0.9;
}

/* ---- 渐变标题：浅色下换成对比度足够的深紫蓝渐变 ---- */
[data-theme="light"] .text-gradient {
    background: linear-gradient(135deg, #7C3AED, #4338CA, #1D4ED8, #BE185D) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

/* ---- 品牌色系文字：浅色下统一加深到 -700 / -800 档 ---- */
[data-theme="light"] .text-blue-400,
[data-theme="light"] .text-blue-300        { color: #1D4ED8 !important; }
[data-theme="light"] .text-blue-200        { color: #1E40AF !important; }
[data-theme="light"] .text-indigo-300,
[data-theme="light"] .text-indigo-200      { color: #3730A3 !important; }
[data-theme="light"] .text-emerald-300,
[data-theme="light"] .text-emerald-200     { color: #047857 !important; }
[data-theme="light"] .text-green-300,
[data-theme="light"] .text-green-200       { color: #15803D !important; }
[data-theme="light"] .text-teal-300,
[data-theme="light"] .text-teal-200        { color: #0F766E !important; }
[data-theme="light"] .text-cyan-300,
[data-theme="light"] .text-cyan-200        { color: #0E7490 !important; }
[data-theme="light"] .text-sky-300,
[data-theme="light"] .text-sky-200         { color: #0369A1 !important; }
[data-theme="light"] .text-purple-300,
[data-theme="light"] .text-purple-200,
[data-theme="light"] .text-violet-300,
[data-theme="light"] .text-violet-200      { color: #6D28D9 !important; }
[data-theme="light"] .text-pink-300,
[data-theme="light"] .text-pink-200        { color: #BE185D !important; }
[data-theme="light"] .text-rose-300,
[data-theme="light"] .text-rose-200        { color: #BE123C !important; }
[data-theme="light"] .text-orange-300,
[data-theme="light"] .text-orange-200      { color: #C2410C !important; }
[data-theme="light"] .text-amber-300,
[data-theme="light"] .text-amber-200,
[data-theme="light"] .text-yellow-300,
[data-theme="light"] .text-yellow-200      { color: #B45309 !important; }
[data-theme="light"] .text-red-300,
[data-theme="light"] .text-red-200         { color: #B91C1C !important; }

/* ---- 半透明品牌色边框：浅色下用统一浅灰，避免幽灵感 ---- */
[data-theme="light"] [class*="border-emerald-400/30"],
[data-theme="light"] [class*="border-blue-400/30"],
[data-theme="light"] [class*="border-indigo-400/30"],
[data-theme="light"] [class*="border-purple-400/30"],
[data-theme="light"] [class*="border-violet-400/30"],
[data-theme="light"] [class*="border-amber-400/30"],
[data-theme="light"] [class*="border-orange-400/30"],
[data-theme="light"] [class*="border-rose-400/30"],
[data-theme="light"] [class*="border-pink-400/30"],
[data-theme="light"] [class*="border-teal-400/30"],
[data-theme="light"] [class*="border-cyan-400/30"],
[data-theme="light"] [class*="border-sky-400/30"],
[data-theme="light"] [class*="border-yellow-400/30"],
[data-theme="light"] [class*="border-green-400/30"] {
    border-color: rgba(15, 23, 42, 0.14) !important;
}

/* ---- 渐变胶囊按钮：浅色下加一道浅描边+微阴影，提升可见性 ---- */
[data-theme="light"] [class*="bg-gradient-to-r"][class*="from-"][class*="/20"] {
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06),
                inset 0 0 0 1px rgba(15, 23, 42, 0.05);
}

/* ---- 边框 border-white/X 兜底（深色基类未覆盖到的几档）---- */
[data-theme="light"] .border-white\/5,
[data-theme="light"] .border-white\/10,
[data-theme="light"] .border-white\/20,
[data-theme="light"] .border-white\/30 {
    border-color: rgba(15, 23, 42, 0.12) !important;
}

/* ============================================
   八、（已移除）Jenny 个性化主题色
   说明：v2.0 简化为 dark/light 二种界面主题
   ============================================ */

/* ============================================
    九、主题切换 JavaScript 辅助
   ============================================ */

/* ============================================
   确认弹窗 (ConfirmDialog) 样式
   ============================================ */

/* 遮罩层 */
.confirm-dialog-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0px);
    transition: background 0.2s ease, backdrop-filter 0.2s ease;
}

.confirm-dialog-overlay.confirm-dialog-visible {
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
}

/* 卡片 */
.confirm-dialog-card {
    background: var(--bg-elevated, #262626);
    border: 1px solid var(--border-default, rgba(255, 255, 255, 0.08));
    border-radius: 16px;
    padding: 24px;
    width: 90%;
    max-width: 380px;
    box-shadow: var(--shadow-lg, 0 10px 15px rgba(0, 0, 0, 0.5));
    transform: scale(0.9) translateY(10px);
    opacity: 0;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.confirm-dialog-visible .confirm-dialog-card {
    transform: scale(1) translateY(0);
    opacity: 1;
}

/* body 区域 */
.confirm-dialog-body {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 24px;
}

/* 图标 */
.confirm-dialog-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.confirm-dialog-icon-danger {
    background: rgba(239, 68, 68, 0.12);
    color: #EF4444;
}

.confirm-dialog-icon-warning {
    background: rgba(212, 107, 8, 0.12);
    color: #D46B08;
}

.confirm-dialog-icon-info {
    background: rgba(4, 120, 87, 0.12);
    color: #047857;
}

/* 文本 */
.confirm-dialog-text {
    flex: 1;
    min-width: 0;
    padding-top: 2px;
}

.confirm-dialog-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary, #FAFAFA);
    margin-bottom: 6px;
}

.confirm-dialog-message {
    font-size: 14px;
    color: var(--text-secondary, #A3A3A3);
    line-height: 1.5;
}

/* 按钮区域 */
.confirm-dialog-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.confirm-dialog-btn {
    padding: 8px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    outline: none;
    transition: all 0.15s ease;
    font-family: inherit;
}

.confirm-dialog-btn:focus-visible {
    box-shadow: 0 0 0 2px var(--focus-ring, rgba(59, 130, 246, 0.5));
}

/* 取消按钮 */
.confirm-dialog-btn-cancel {
    background: var(--bg-tertiary, #1f1f1f);
    color: var(--text-secondary, #A3A3A3);
    border: 1px solid var(--border-default, rgba(255, 255, 255, 0.08));
}

.confirm-dialog-btn-cancel:hover {
    background: var(--hover-overlay, rgba(255, 255, 255, 0.05));
    color: var(--text-primary, #FAFAFA);
    border-color: var(--border-hover, rgba(255, 255, 255, 0.15));
}

/* 危险按钮 (删除) */
.confirm-dialog-btn-danger {
    background: #EF4444;
    color: #fff;
}

.confirm-dialog-btn-danger:hover {
    background: #DC2626;
}

/* 警告按钮 */
.confirm-dialog-btn-warning {
    background: #D46B08;
    color: #fff;
}

.confirm-dialog-btn-warning:hover {
    background: #B45309;
}

/* 主要按钮 */
.confirm-dialog-btn-primary {
    background: var(--brand-primary, #047857);
    color: #fff;
}

.confirm-dialog-btn-primary:hover {
    background: #065F46;
}

/*
使用方法：

// 获取当前主题
const theme = document.documentElement.getAttribute('data-theme') || 'dark';

// 切换主题
function setTheme(theme) {
    document.documentElement.setAttribute('data-theme', theme);
    localStorage.setItem('openrdai-theme', theme);
}

// 初始化（从 localStorage 读取）
const savedTheme = localStorage.getItem('openrdai-theme') || 'dark';
setTheme(savedTheme);
*/