import { tailwindColorConfig } from './src/styles/colors.js'; /** @type {import('tailwindcss').Config} */ export default { content: [ "./index.html", "./src/**/*.{js,ts,jsx,tsx}", // Add more explicit paths for Docker environment "/app/index.html", "/app/src/**/*.{js,ts,jsx,tsx}", // Add specific files that we know contain classes "./src/pages/**/*.tsx", "./src/components/**/*.tsx", ], darkMode: 'class', safelist: [ // Always include common utility classes that might be missed 'min-h-screen', 'bg-gradient-to-b', 'from-amber-50', 'to-orange-100', 'max-w-7xl', 'mx-auto', 'px-4', 'sm:px-6', 'lg:px-8', 'text-4xl', 'sm:text-5xl', 'md:text-6xl', 'tracking-tight', 'font-extrabold', 'text-gray-900', 'text-orange-600', 'bg-white', 'shadow-sm', 'bg-orange-500', 'rounded-md', 'shadow-lg', 'bg-gray-50', 'rounded-lg', // Flexbox and centering classes (critical for proper alignment) 'flex', 'items-center', 'justify-center', 'flex-1', 'w-8', 'h-8', 'rounded-full', 'bg-orange-600', 'bg-gray-200', 'text-white', 'text-gray-600', 'h-0.5', 'mx-4', 'justify-between', 'grid', 'grid-cols-1', 'grid-cols-2', 'gap-4', 'space-x-4', 'space-y-4', 'space-y-6', 'block', 'text-sm', 'font-medium', 'text-gray-700', 'max-w-md', 'w-full', 'text-center', 'text-3xl', 'font-extrabold', 'mt-6', 'mt-2', 'mt-1', 'mb-8', 'mb-4', 'ml-2', 'p-8', 'py-12', 'px-4', 'text-xs', 'text-gray-500', 'text-orange-500', 'hover:text-orange-500', 'font-medium', 'h-12', 'w-12', 'h-4', 'w-4', 'mt-0.5', 'border-gray-300', 'text-red-600', 'focus:ring-orange-500', // Include responsive variants { pattern: /^(text|bg|border)-(xs|sm|base|lg|xl|2xl|3xl|4xl|5xl|6xl)$/, }, { pattern: /^(p|m|px|py|mx|my)-(0|1|2|3|4|5|6|8|10|12|16|20|24|32)$/, }, // Include gradient patterns { pattern: /^(bg-gradient-to|from|via|to)-(r|l|t|b|tr|tl|br|bl|amber|orange|gray)-(50|100|200|300|400|500|600|700|800|900)$/, }, // Include CSS variable-based utility classes { pattern: /^(bg|text|border)-color-(primary|secondary|success|warning|error|info|accent)(-light|-dark)?$/, }, { pattern: /^(bg|text|border)-(text|background|border)-(primary|secondary|tertiary)$/, }, // Include semantic color classes { pattern: /^(bg|text|border)-(primary|secondary)-(50|100|200|300|400|500|600|700|800|900)$/, }, // Include ring and shadow variants { pattern: /^ring-color-(primary|secondary)(\/(10|20|30|40|50))?$/, } ], theme: { extend: { colors: { // Import centralized color configuration ...tailwindColorConfig, // Keep compatibility aliases orange: tailwindColorConfig.primary, amber: tailwindColorConfig.primary, }, fontFamily: { sans: ['Inter', 'system-ui', '-apple-system', 'sans-serif'], display: ['Poppins', 'sans-serif'], }, fontSize: { 'xs': ['0.75rem', { lineHeight: '1rem' }], 'sm': ['0.875rem', { lineHeight: '1.25rem' }], 'base': ['1rem', { lineHeight: '1.5rem' }], 'lg': ['1.125rem', { lineHeight: '1.75rem' }], 'xl': ['1.25rem', { lineHeight: '1.75rem' }], '2xl': ['1.5rem', { lineHeight: '2rem' }], '3xl': ['1.875rem', { lineHeight: '2.25rem' }], '4xl': ['2.25rem', { lineHeight: '2.5rem' }], '5xl': ['3rem', { lineHeight: '1' }], }, animation: { 'fade-in': 'fadeIn 0.3s ease-in-out', 'slide-up': 'slideUp 0.3s ease-out', 'slide-down': 'slideDown 0.3s ease-out', 'spin-slow': 'spin 3s linear infinite', 'pulse-slow': 'pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite', 'bounce-slow': 'bounce 2s infinite', }, keyframes: { fadeIn: { '0%': { opacity: '0' }, '100%': { opacity: '1' }, }, slideUp: { '0%': { transform: 'translateY(10px)', opacity: '0' }, '100%': { transform: 'translateY(0)', opacity: '1' }, }, slideDown: { '0%': { transform: 'translateY(-10px)', opacity: '0' }, '100%': { transform: 'translateY(0)', opacity: '1' }, }, }, spacing: { '18': '4.5rem', '88': '22rem', '120': '30rem', }, borderRadius: { '4xl': '2rem', }, boxShadow: { 'glow': '0 0 20px rgba(249, 115, 22, 0.3)', 'glow-lg': '0 0 40px rgba(249, 115, 22, 0.4)', 'inner-lg': 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)', }, backgroundImage: { 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))', 'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))', }, screens: { 'xs': '475px', '3xl': '1920px', }, }, }, plugins: [ require('@tailwindcss/forms'), require('@tailwindcss/typography'), require('@tailwindcss/aspect-ratio'), ], }