/**
 * EN: Tailwind CSS 4 Configuration for Web Admin
 * VI: Cấu hình Tailwind CSS 4 cho Web Admin
 *
 * Note: Tailwind CSS 4 uses CSS-first configuration with @theme directive in CSS files.
 * This config file extends the theme with additional utility classes based on CSS variables.
 * The main theme tokens are defined in src/app/globals.css.
 *
 * Lưu ý: Tailwind CSS 4 sử dụng cấu hình CSS-first với @theme directive trong file CSS.
 * File config này mở rộng theme với các utility classes bổ sung dựa trên CSS variables.
 * Các theme tokens chính được định nghĩa trong src/app/globals.css.
 */
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    './src/pages/**/*.{js,ts,jsx,tsx,mdx}',
    './src/components/**/*.{js,ts,jsx,tsx,mdx}',
    './src/app/**/*.{js,ts,jsx,tsx,mdx}',
    './src/**/*.{js,ts,jsx,tsx,mdx}',
  ],
  darkMode: ['class', '[data-theme="dark"]'],
  theme: {
    extend: {
      // EN: Colors from CSS variables (globals.css)
      // VI: Màu sắc từ CSS variables (globals.css)
      colors: {
        bg: {
          primary: 'var(--bg-primary)',
          secondary: 'var(--bg-secondary)',
          tertiary: 'var(--bg-tertiary)',
          elevated: 'var(--bg-elevated)',
        },
        text: {
          primary: 'var(--text-primary)',
          secondary: 'var(--text-secondary)',
          tertiary: 'var(--text-tertiary)',
          inverse: 'var(--text-inverse)',
        },
        accent: {
          primary: 'var(--accent-primary)',
          secondary: 'var(--accent-secondary)',
          success: 'var(--accent-success)',
          warning: 'var(--accent-warning)',
          error: 'var(--accent-error)',
          info: 'var(--accent-info)',
        },
        border: {
          primary: 'var(--border-primary)',
          secondary: 'var(--border-secondary)',
          focus: 'var(--border-focus)',
        },
      },
      // EN: Font families from CSS variables
      // VI: Font families từ CSS variables
      fontFamily: {
        sans: ['var(--font-sans)', 'sans-serif'],
        mono: ['var(--font-mono)', 'monospace'],
      },
      // EN: Font sizes from CSS variables
      // VI: Kích thước chữ từ CSS variables
      fontSize: {
        '6xl': ['var(--text-6xl)', { lineHeight: '1' }],
        '5xl': ['var(--text-5xl)', { lineHeight: '1' }],
        '4xl': ['var(--text-4xl)', { lineHeight: '1.1' }],
        '3xl': ['var(--text-3xl)', { lineHeight: '1.2' }],
        '2xl': ['var(--text-2xl)', { lineHeight: '1.3' }],
        'xl': ['var(--text-xl)', { lineHeight: '1.4' }],
        'lg': ['var(--text-lg)', { lineHeight: '1.5' }],
        'base': ['var(--text-base)', { lineHeight: '1.5' }],
        'sm': ['var(--text-sm)', { lineHeight: '1.5' }],
        'xs': ['var(--text-xs)', { lineHeight: '1.5' }],
      },
      // EN: Font weights from CSS variables
      // VI: Độ đậm chữ từ CSS variables
      fontWeight: {
        light: 'var(--font-light)',
        normal: 'var(--font-normal)',
        medium: 'var(--font-medium)',
        semibold: 'var(--font-semibold)',
        bold: 'var(--font-bold)',
      },
      // EN: Spacing from CSS variables
      // VI: Khoảng cách từ CSS variables
      spacing: {
        'sidebar': 'var(--sidebar-width)',
        '0': 'var(--space-0)',
        '1': 'var(--space-1)',
        '2': 'var(--space-2)',
        '3': 'var(--space-3)',
        '4': 'var(--space-4)',
        '5': 'var(--space-5)',
        '6': 'var(--space-6)',
        '8': 'var(--space-8)',
        '10': 'var(--space-10)',
        '12': 'var(--space-12)',
        '16': 'var(--space-16)',
        '20': 'var(--space-20)',
      },
      // EN: Border radius from CSS variables
      // VI: Bo góc từ CSS variables
      borderRadius: {
        sm: 'var(--radius-sm)',
        md: 'var(--radius-md)',
        lg: 'var(--radius-lg)',
        xl: 'var(--radius-xl)',
        '2xl': 'var(--radius-2xl)',
        full: 'var(--radius-full)',
      },
      // EN: Box shadows from CSS variables
      // VI: Đổ bóng từ CSS variables
      boxShadow: {
        sm: 'var(--shadow-sm)',
        md: 'var(--shadow-md)',
        lg: 'var(--shadow-lg)',
        xl: 'var(--shadow-xl)',
        glow: 'var(--shadow-glow)',
      },
      // EN: Animation timing functions
      // VI: Hàm thời gian animation
      transitionTimingFunction: {
        'in': 'var(--ease-in)',
        'out': 'var(--ease-out)',
        'in-out': 'var(--ease-in-out)',
        spring: 'var(--ease-spring)',
      },
      // EN: Animation durations
      // VI: Thời lượng animation
      transitionDuration: {
        fast: 'var(--duration-fast)',
        normal: 'var(--duration-normal)',
        slow: 'var(--duration-slow)',
        slower: 'var(--duration-slower)',
      },
      // EN: Max widths for containers
      // VI: Chiều rộng tối đa cho containers
      maxWidth: {
        'container-sm': 'var(--container-sm)',
        'container-md': 'var(--container-md)',
        'container-lg': 'var(--container-lg)',
        'container-xl': 'var(--container-xl)',
        'container-2xl': 'var(--container-2xl)',
      },
      // EN: Screen breakpoints
      // VI: Điểm ngắt màn hình
      screens: {
        sm: '640px',
        md: '768px',
        lg: '1024px',
        xl: '1280px',
        '2xl': '1536px',
      },
    },
  },
  plugins: [],
};
