
/* 20 TEMAS DE COLOR */
:root {
    --font-inter: 'Inter', system-ui, -apple-system, sans-serif;
    --font-poppins: 'Poppins', sans-serif;
    --font-quicksand: 'Quicksand', sans-serif;
    --font-playfair: 'Playfair Display', serif;
    --font-fira: 'Fira Code', monospace;
    --font-outfit: 'Outfit', sans-serif;
    --font-dm: 'DM Sans', sans-serif;
    --font-space: 'Space Grotesk', sans-serif;
}
[data-font="font-modern"] { --font-primary: var(--font-inter); --font-heading: var(--font-inter); }
[data-font="font-elegant"] { --font-primary: var(--font-inter); --font-heading: var(--font-playfair); }
[data-font="font-friendly"] { --font-primary: var(--font-quicksand); --font-heading: var(--font-quicksand); }
[data-font="font-bold"] { --font-primary: var(--font-poppins); --font-heading: var(--font-poppins); }
[data-font="font-tech"] { --font-primary: var(--font-fira); --font-heading: var(--font-fira); }
[data-font="font-outfit"] { --font-primary: var(--font-outfit); --font-heading: var(--font-outfit); }
[data-font="font-dm"] { --font-primary: var(--font-dm); --font-heading: var(--font-dm); }
[data-font="font-space"] { --font-primary: var(--font-space); --font-heading: var(--font-space); }

[data-theme="theme-medical"] { --bg-main: #f8fafc; --bg-sidebar: #ffffff; --bg-input: #f1f5f9; --color-text: #334155; --color-heading: #0f172a; --color-primary: #2563eb; --color-secondary: #3b82f6; --color-accent: #10b981; --color-border: #e2e8f0; --gradient-primary: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%); --shadow-sm: 0 2px 4px rgba(37,99,235,0.05); --shadow-md: 0 4px 10px rgba(37,99,235,0.1); --shadow-lg: 0 10px 25px rgba(37,99,235,0.15); --shadow-primary: rgba(37, 99, 235, 0.3); }
[data-theme="theme-dark"] { --bg-main: #0f172a; --bg-sidebar: #1e293b; --bg-input: #0f172a; --color-text: #94a3b8; --color-heading: #f8fafc; --color-primary: #38bdf8; --color-secondary: #818cf8; --color-accent: #34d399; --color-border: #334155; --gradient-primary: linear-gradient(135deg, #0284c7 0%, #38bdf8 100%); --shadow-sm: 0 2px 4px rgba(0,0,0,0.3); --shadow-md: 0 4px 10px rgba(0,0,0,0.4); --shadow-lg: 0 10px 30px rgba(0,0,0,0.5); --shadow-primary: rgba(56, 189, 248, 0.2); }
[data-theme="theme-ocean"] { --bg-main: #e0f2fe; --bg-sidebar: #ffffff; --bg-input: #f0f9ff; --color-text: #0c4a6e; --color-heading: #082f49; --color-primary: #0284c7; --color-secondary: #0ea5e9; --color-accent: #059669; --color-border: #bae6fd; --gradient-primary: linear-gradient(135deg, #075985 0%, #0ea5e9 100%); --shadow-sm: 0 2px 4px rgba(2,132,199,0.05); --shadow-md: 0 4px 10px rgba(2,132,199,0.1); --shadow-lg: 0 10px 25px rgba(2,132,199,0.15); --shadow-primary: rgba(2, 132, 199, 0.3); }
[data-theme="theme-forest"] { --bg-main: #f0fdf4; --bg-sidebar: #ffffff; --bg-input: #f8fafc; --color-text: #14532d; --color-heading: #052e16; --color-primary: #16a34a; --color-secondary: #22c55e; --color-accent: #d97706; --color-border: #bbf7d0; --gradient-primary: linear-gradient(135deg, #15803d 0%, #22c55e 100%); --shadow-sm: 0 2px 4px rgba(22,163,74,0.05); --shadow-md: 0 4px 10px rgba(22,163,74,0.1); --shadow-lg: 0 10px 25px rgba(22,163,74,0.15); --shadow-primary: rgba(22, 163, 74, 0.3); }
[data-theme="theme-sunset"] { --bg-main: #fffbeb; --bg-sidebar: #ffffff; --bg-input: #fef3c7; --color-text: #78350f; --color-heading: #451a03; --color-primary: #d97706; --color-secondary: #f59e0b; --color-accent: #b91c1c; --color-border: #fde68a; --gradient-primary: linear-gradient(135deg, #b45309 0%, #f59e0b 100%); --shadow-sm: 0 2px 4px rgba(217,119,6,0.05); --shadow-md: 0 4px 10px rgba(217,119,6,0.1); --shadow-lg: 0 10px 25px rgba(217,119,6,0.15); --shadow-primary: rgba(217, 119, 6, 0.3); }
[data-theme="theme-royal"] { --bg-main: #faf5ff; --bg-sidebar: #ffffff; --bg-input: #f3e8ff; --color-text: #581c87; --color-heading: #3b0764; --color-primary: #9333ea; --color-secondary: #a855f7; --color-accent: #e11d48; --color-border: #e9d5ff; --gradient-primary: linear-gradient(135deg, #7e22ce 0%, #a855f7 100%); --shadow-sm: 0 2px 4px rgba(147,51,234,0.05); --shadow-md: 0 4px 10px rgba(147,51,234,0.1); --shadow-lg: 0 10px 25px rgba(147,51,234,0.15); --shadow-primary: rgba(147, 51, 234, 0.3); }
[data-theme="theme-neon"] { --bg-main: #000000; --bg-sidebar: #111111; --bg-input: #0a0a0a; --color-text: #a3a3a3; --color-heading: #ffffff; --color-primary: #22c55e; --color-secondary: #10b981; --color-accent: #ec4899; --color-border: #333333; --gradient-primary: linear-gradient(135deg, #16a34a 0%, #22c55e 100%); --shadow-sm: 0 2px 4px rgba(34,197,94,0.1); --shadow-md: 0 4px 10px rgba(34,197,94,0.2); --shadow-lg: 0 10px 30px rgba(34,197,94,0.4); --shadow-primary: rgba(34, 197, 94, 0.5); }
[data-theme="theme-ruby"] { --bg-main: #fff1f2; --bg-sidebar: #ffffff; --bg-input: #ffe4e6; --color-text: #881337; --color-heading: #4c0519; --color-primary: #e11d48; --color-secondary: #f43f5e; --color-accent: #0d9488; --color-border: #fecdd3; --gradient-primary: linear-gradient(135deg, #be123c 0%, #f43f5e 100%); --shadow-sm: 0 2px 4px rgba(225,29,72,0.05); --shadow-md: 0 4px 10px rgba(225,29,72,0.1); --shadow-lg: 0 10px 25px rgba(225,29,72,0.15); --shadow-primary: rgba(225, 29, 72, 0.3); }
[data-theme="theme-mono"] { --bg-main: #f5f5f5; --bg-sidebar: #ffffff; --bg-input: #fafafa; --color-text: #525252; --color-heading: #171717; --color-primary: #404040; --color-secondary: #737373; --color-accent: #000000; --color-border: #e5e5e5; --gradient-primary: linear-gradient(135deg, #262626 0%, #525252 100%); --shadow-sm: 0 2px 4px rgba(0,0,0,0.02); --shadow-md: 0 4px 10px rgba(0,0,0,0.05); --shadow-lg: 0 10px 25px rgba(0,0,0,0.08); --shadow-primary: rgba(0, 0, 0, 0.2); }
[data-theme="theme-gold"] { --bg-main: #18181b; --bg-sidebar: #27272a; --bg-input: #18181b; --color-text: #d4d4d8; --color-heading: #fafafa; --color-primary: #fbbf24; --color-secondary: #f59e0b; --color-accent: #f87171; --color-border: #3f3f46; --gradient-primary: linear-gradient(135deg, #d97706 0%, #fbbf24 100%); --shadow-sm: 0 2px 4px rgba(251,191,36,0.05); --shadow-md: 0 4px 10px rgba(251,191,36,0.1); --shadow-lg: 0 10px 25px rgba(251,191,36,0.15); --shadow-primary: rgba(251, 191, 36, 0.2); }
[data-theme="theme-cherry"] { --bg-main: #fff0f2; --bg-sidebar: #ffffff; --bg-input: #ffe4e6; --color-text: #881337; --color-heading: #4c0519; --color-primary: #f43f5e; --color-secondary: #fb7185; --color-accent: #e11d48; --color-border: #fecdd3; --gradient-primary: linear-gradient(135deg, #be123c 0%, #fb7185 100%); --shadow-sm: 0 2px 4px rgba(244,63,94,0.05); --shadow-md: 0 4px 10px rgba(244,63,94,0.1); --shadow-lg: 0 10px 25px rgba(244,63,94,0.15); --shadow-primary: rgba(244, 63, 94, 0.3); }
[data-theme="theme-mint"] { --bg-main: #ecfdf5; --bg-sidebar: #ffffff; --bg-input: #d1fae5; --color-text: #064e3b; --color-heading: #022c22; --color-primary: #10b981; --color-secondary: #34d399; --color-accent: #059669; --color-border: #a7f3d0; --gradient-primary: linear-gradient(135deg, #047857 0%, #34d399 100%); --shadow-sm: 0 2px 4px rgba(16,185,129,0.05); --shadow-md: 0 4px 10px rgba(16,185,129,0.1); --shadow-lg: 0 10px 25px rgba(16,185,129,0.15); --shadow-primary: rgba(16, 185, 129, 0.3); }
[data-theme="theme-grape"] { --bg-main: #f3e8ff; --bg-sidebar: #ffffff; --bg-input: #e9d5ff; --color-text: #3b0764; --color-heading: #2e1065; --color-primary: #a855f7; --color-secondary: #c084fc; --color-accent: #7e22ce; --color-border: #d8b4fe; --gradient-primary: linear-gradient(135deg, #6b21a8 0%, #c084fc 100%); --shadow-sm: 0 2px 4px rgba(168,85,247,0.05); --shadow-md: 0 4px 10px rgba(168,85,247,0.1); --shadow-lg: 0 10px 25px rgba(168,85,247,0.15); --shadow-primary: rgba(168, 85, 247, 0.3); }
[data-theme="theme-oceanic"] { --bg-main: #e0f2fe; --bg-sidebar: #ffffff; --bg-input: #bae6fd; --color-text: #0c4a6e; --color-heading: #082f49; --color-primary: #0ea5e9; --color-secondary: #38bdf8; --color-accent: #0284c7; --color-border: #7dd3fc; --gradient-primary: linear-gradient(135deg, #0369a1 0%, #38bdf8 100%); --shadow-sm: 0 2px 4px rgba(14,165,233,0.05); --shadow-md: 0 4px 10px rgba(14,165,233,0.1); --shadow-lg: 0 10px 25px rgba(14,165,233,0.15); --shadow-primary: rgba(14, 165, 233, 0.3); }
[data-theme="theme-cyber"] { --bg-main: #171717; --bg-sidebar: #262626; --bg-input: #404040; --color-text: #e5e5e5; --color-heading: #fde047; --color-primary: #fde047; --color-secondary: #fef08a; --color-accent: #ec4899; --color-border: #525252; --gradient-primary: linear-gradient(135deg, #ca8a04 0%, #fde047 100%); --shadow-sm: 0 2px 4px rgba(253,224,71,0.1); --shadow-md: 0 4px 10px rgba(253,224,71,0.2); --shadow-lg: 0 10px 30px rgba(253,224,71,0.4); --shadow-primary: rgba(253, 224, 71, 0.5); }
[data-theme="theme-coffee"] { --bg-main: #fefce8; --bg-sidebar: #ffffff; --bg-input: #fef08a; --color-text: #713f12; --color-heading: #422006; --color-primary: #a16207; --color-secondary: #ca8a04; --color-accent: #854d0e; --color-border: #fde047; --gradient-primary: linear-gradient(135deg, #713f12 0%, #ca8a04 100%); --shadow-sm: 0 2px 4px rgba(161,98,7,0.05); --shadow-md: 0 4px 10px rgba(161,98,7,0.1); --shadow-lg: 0 10px 25px rgba(161,98,7,0.15); --shadow-primary: rgba(161, 98, 7, 0.3); }
[data-theme="theme-silver"] { --bg-main: #f4f4f5; --bg-sidebar: #ffffff; --bg-input: #e4e4e7; --color-text: #3f3f46; --color-heading: #18181b; --color-primary: #71717a; --color-secondary: #a1a1aa; --color-accent: #52525b; --color-border: #d4d4d8; --gradient-primary: linear-gradient(135deg, #3f3f46 0%, #a1a1aa 100%); --shadow-sm: 0 2px 4px rgba(113,113,122,0.05); --shadow-md: 0 4px 10px rgba(113,113,122,0.1); --shadow-lg: 0 10px 25px rgba(113,113,122,0.15); --shadow-primary: rgba(113, 113, 122, 0.3); }
[data-theme="theme-peach"] { --bg-main: #fff7ed; --bg-sidebar: #ffffff; --bg-input: #ffedd5; --color-text: #9a3412; --color-heading: #431407; --color-primary: #f97316; --color-secondary: #fdba74; --color-accent: #ea580c; --color-border: #fed7aa; --gradient-primary: linear-gradient(135deg, #c2410c 0%, #fdba74 100%); --shadow-sm: 0 2px 4px rgba(249,115,22,0.05); --shadow-md: 0 4px 10px rgba(249,115,22,0.1); --shadow-lg: 0 10px 25px rgba(249,115,22,0.15); --shadow-primary: rgba(249, 115, 22, 0.3); }
[data-theme="theme-obsidian"] { --bg-main: #09090b; --bg-sidebar: #18181b; --bg-input: #27272a; --color-text: #a1a1aa; --color-heading: #ffffff; --color-primary: #f4f4f5; --color-secondary: #e4e4e7; --color-accent: #71717a; --color-border: #3f3f46; --gradient-primary: linear-gradient(135deg, #71717a 0%, #ffffff 100%); --color-primary-text: #000; --shadow-sm: 0 2px 4px rgba(255,255,255,0.05); --shadow-md: 0 4px 10px rgba(255,255,255,0.1); --shadow-lg: 0 10px 30px rgba(255,255,255,0.15); --shadow-primary: rgba(255, 255, 255, 0.2); }
[data-theme="theme-obsidian"] .btn-primary { color: black !important; }
[data-theme="theme-lavender"] { --bg-main: #f5f3ff; --bg-sidebar: #ffffff; --bg-input: #ede9fe; --color-text: #5b21b6; --color-heading: #2e1065; --color-primary: #8b5cf6; --color-secondary: #a78bfa; --color-accent: #7c3aed; --color-border: #ddd6fe; --gradient-primary: linear-gradient(135deg, #5b21b6 0%, #a78bfa 100%); --shadow-sm: 0 2px 4px rgba(139,92,246,0.05); --shadow-md: 0 4px 10px rgba(139,92,246,0.1); --shadow-lg: 0 10px 25px rgba(139,92,246,0.15); --shadow-primary: rgba(139, 92, 246, 0.3); }
[data-theme="theme-tangerine"] { --bg-main: #fff7ed; --bg-sidebar: #ffffff; --bg-input: #ffedd5; --color-text: #9a3412; --color-heading: #431407; --color-primary: #f97316; --color-secondary: #fb923c; --color-accent: #ea580c; --color-border: #fed7aa; --gradient-primary: linear-gradient(135deg, #c2410c 0%, #fb923c 100%); --shadow-sm: 0 2px 4px rgba(249,115,22,0.05); --shadow-md: 0 4px 10px rgba(249,115,22,0.1); --shadow-lg: 0 10px 25px rgba(249,115,22,0.15); --shadow-primary: rgba(249, 115, 22, 0.3); }
[data-theme="theme-arctic"] { --bg-main: #f0f9ff; --bg-sidebar: #ffffff; --bg-input: #e0f2fe; --color-text: #0369a1; --color-heading: #082f49; --color-primary: #0ea5e9; --color-secondary: #38bdf8; --color-accent: #0284c7; --color-border: #bae6fd; --gradient-primary: linear-gradient(135deg, #0369a1 0%, #38bdf8 100%); --shadow-sm: 0 2px 4px rgba(14,165,233,0.05); --shadow-md: 0 4px 10px rgba(14,165,233,0.1); --shadow-lg: 0 10px 25px rgba(14,165,233,0.15); --shadow-primary: rgba(14, 165, 233, 0.3); }
