{"version":3,"sources":["../src/index.ts","../src/components/button/index.tsx","../src/tokens/colors.ts","../src/tokens/typography.ts","../src/tokens/spacing.ts","../src/tokens/theme.ts","../src/components/input/Input.tsx","../src/components/card/Card.tsx","../src/components/modal/Modal.tsx","../src/components/avatar/Avatar.tsx","../src/components/badge/Badge.tsx","../src/components/tooltip/Tooltip.tsx","../src/components/dropdown/Dropdown.tsx","../src/components/tabs/Tabs.tsx","../src/components/layout/index.tsx"],"sourcesContent":["// Exportando componentes da biblioteca\r\nexport { Button } from \"./components/button/index\";\r\nexport type { ButtonProps } from \"./components/button/index\";\r\n\r\n// Novos componentes\r\nexport { Input } from \"./components/input\";\r\nexport type { InputProps } from \"./components/input\";\r\n\r\nexport { Card, CardHeader, CardBody, CardFooter } from \"./components/card\";\r\nexport type { CardProps } from \"./components/card\";\r\n\r\nexport { Modal } from \"./components/modal\";\r\nexport type { ModalProps } from \"./components/modal\";\r\n\r\nexport { Avatar } from \"./components/avatar\";\r\nexport type { AvatarProps } from \"./components/avatar\";\r\n\r\nexport { Badge } from \"./components/badge\";\r\nexport type { BadgeProps } from \"./components/badge\";\r\n\r\nexport { Tooltip } from \"./components/tooltip\";\r\nexport type { TooltipProps } from \"./components/tooltip\";\r\n\r\nexport { Dropdown } from \"./components/dropdown\";\r\nexport type { DropdownProps, DropdownItem } from \"./components/dropdown\";\r\n\r\nexport { Tabs } from \"./components/tabs\";\r\nexport type { TabsProps, TabItem } from \"./components/tabs\";\r\n\r\n// Exportando componentes de layout\r\nexport {\r\n  Container,\r\n  Header,\r\n  HeaderTitle,\r\n  HeaderActions,\r\n  StatsGrid,\r\n  StatCard,\r\n  StatNumber,\r\n  StatLabel,\r\n  MainContent,\r\n  Section,\r\n  SectionTitle,\r\n  List,\r\n  ListItem,\r\n  ListItemContent,\r\n  ListItemTitle,\r\n  ListItemActions,\r\n  StatusBadge,\r\n  ActionList,\r\n  Flex,\r\n  Grid,\r\n} from \"./components/layout/index\";\r\n\r\n// Exportando tokens de design (NOVO!)\r\nexport { theme, semanticColors } from \"./tokens/theme\";\r\nexport { colors } from \"./tokens/colors\";\r\nexport { typography } from \"./tokens/typography\";\r\nexport { spacing, borderRadius, borderWidth } from \"./tokens/spacing\";\r\n\r\n// Exportando tipos\r\nexport type { Theme } from \"./tokens/theme\";\r\n\r\n// Aqui você pode adicionar mais componentes conforme for criando\r\n// export { Input } from \"./components/input\";\r\n// export { Card } from \"./components/card\";\r\n// export { Modal } from \"./components/modal\";\r\n","import styled from \"styled-components\";\r\nimport { FiArrowRight, FiCheckCircle } from \"react-icons/fi\"; \r\nimport type { ReactNode, ButtonHTMLAttributes } from \"react\";\r\nimport { theme, semanticColors } from \"../../tokens/theme\";\r\n\r\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\r\n  children: ReactNode;\r\n  iconLeft?: boolean;\r\n  iconRight?: boolean;\r\n  variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'success' | 'warning' | 'error';\r\n  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n  fullWidth?: boolean;\r\n}\r\n\r\nconst getVariantStyles = (variant: ButtonProps['variant']) => {\r\n  switch (variant) {\r\n    case 'secondary':\r\n      return {\r\n        background: semanticColors.button.secondary.bg,\r\n        color: semanticColors.button.secondary.text,\r\n        border: 'none',\r\n        hoverBg: semanticColors.button.secondary.bgHover,\r\n        hoverColor: semanticColors.button.secondary.text,\r\n      };\r\n    case 'outline':\r\n      return {\r\n        background: 'transparent',\r\n        color: theme.colors.primary[600],\r\n        border: `${theme.borderWidth.DEFAULT} solid ${theme.colors.primary[600]}`,\r\n        hoverBg: theme.colors.primary[600],\r\n        hoverColor: theme.colors.white,\r\n      };\r\n    case 'ghost':\r\n      return {\r\n        background: 'transparent',\r\n        color: theme.colors.primary[600],\r\n        border: 'none',\r\n        hoverBg: theme.colors.primary[50],\r\n        hoverColor: theme.colors.primary[700],\r\n      };\r\n    case 'success':\r\n      return {\r\n        background: semanticColors.button.success.bg,\r\n        color: semanticColors.button.success.text,\r\n        border: 'none',\r\n        hoverBg: semanticColors.button.success.bgHover,\r\n        hoverColor: semanticColors.button.success.text,\r\n      };\r\n    case 'warning':\r\n      return {\r\n        background: semanticColors.button.warning.bg,\r\n        color: semanticColors.button.warning.text,\r\n        border: 'none',\r\n        hoverBg: semanticColors.button.warning.bgHover,\r\n        hoverColor: semanticColors.button.warning.text,\r\n      };\r\n    case 'error':\r\n      return {\r\n        background: semanticColors.button.error.bg,\r\n        color: semanticColors.button.error.text,\r\n        border: 'none',\r\n        hoverBg: semanticColors.button.error.bgHover,\r\n        hoverColor: semanticColors.button.error.text,\r\n      };\r\n    default: // primary\r\n      return {\r\n        background: semanticColors.button.primary.bg,\r\n        color: semanticColors.button.primary.text,\r\n        border: 'none',\r\n        hoverBg: semanticColors.button.primary.bgHover,\r\n        hoverColor: semanticColors.button.primary.text,\r\n      };\r\n  }\r\n};\r\n\r\nconst getSizeStyles = (size: ButtonProps['size']) => {\r\n  switch (size) {\r\n    case 'xs':\r\n      return {\r\n        height: theme.spacing[6], // 24px\r\n        padding: `${theme.spacing[1]} ${theme.spacing[2]}`, // 4px 8px\r\n        fontSize: theme.typography.fontSize.xs,\r\n        minWidth: theme.spacing[14], // 56px\r\n        gap: theme.spacing[1],\r\n        iconSize: 12,\r\n      };\r\n    case 'sm':\r\n      return {\r\n        height: theme.spacing[8], // 32px\r\n        padding: `${theme.spacing[2]} ${theme.spacing[3]}`, // 8px 12px\r\n        fontSize: theme.typography.fontSize.sm,\r\n        minWidth: theme.spacing[20], // 80px\r\n        gap: theme.spacing[1.5],\r\n        iconSize: 14,\r\n      };\r\n    case 'lg':\r\n      return {\r\n        height: theme.spacing[11], // 44px\r\n        padding: `${theme.spacing[3]} ${theme.spacing[5]}`, // 12px 20px\r\n        fontSize: theme.typography.fontSize.lg,\r\n        minWidth: theme.spacing[28], // 112px\r\n        gap: theme.spacing[2],\r\n        iconSize: 18,\r\n      };\r\n    case 'xl':\r\n      return {\r\n        height: theme.spacing[12], // 48px\r\n        padding: `${theme.spacing[4]} ${theme.spacing[6]}`, // 16px 24px\r\n        fontSize: theme.typography.fontSize.xl,\r\n        minWidth: theme.spacing[32], // 128px\r\n        gap: theme.spacing[2.5],\r\n        iconSize: 20,\r\n      };\r\n    default: // md\r\n      return {\r\n        height: theme.spacing[9], // 36px\r\n        padding: `${theme.spacing[2]} ${theme.spacing[4]}`, // 8px 16px\r\n        fontSize: theme.typography.fontSize.sm,\r\n        minWidth: theme.spacing[24], // 96px\r\n        gap: theme.spacing[2],\r\n        iconSize: 16,\r\n      };\r\n  }\r\n};\r\n\r\nconst StyledButton = styled.button<ButtonProps>`\r\n  /* Base styles */\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  border-radius: ${theme.borderRadius.md};\r\n  font-family: ${theme.typography.fontFamily.sans.join(', ')};\r\n  font-weight: ${theme.typography.fontWeight.semibold};\r\n  cursor: pointer;\r\n  transition: ${theme.transitions.all};\r\n  outline: none;\r\n  position: relative;\r\n  white-space: nowrap;\r\n  \r\n  /* Focus styles */\r\n  &:focus-visible {\r\n    outline: 2px solid ${theme.colors.primary[600]};\r\n    outline-offset: 2px;\r\n  }\r\n\r\n  /* Size styles */\r\n  ${props => {\r\n    const size = getSizeStyles(props.size);\r\n    return `\r\n      height: ${size.height};\r\n      padding: ${size.padding};\r\n      font-size: ${size.fontSize};\r\n      min-width: ${size.minWidth};\r\n      width: ${props.fullWidth ? '100%' : 'auto'};\r\n      gap: ${size.gap};\r\n    `;\r\n  }}\r\n\r\n  /* Variant styles */\r\n  ${props => {\r\n    const variant = getVariantStyles(props.variant);\r\n    return `\r\n      background: ${variant.background};\r\n      color: ${variant.color};\r\n      border: ${variant.border};\r\n      \r\n      &:hover:not(:disabled) {\r\n        background: ${variant.hoverBg};\r\n        color: ${variant.hoverColor};\r\n        transform: translateY(-1px);\r\n        box-shadow: ${theme.shadows.sm};\r\n      }\r\n    `;\r\n  }}\r\n\r\n  /* Disabled state */\r\n  &:disabled {\r\n    opacity: 0.6;\r\n    cursor: not-allowed;\r\n    transform: none;\r\n    box-shadow: none;\r\n  }\r\n\r\n  /* Active state */\r\n  &:active:not(:disabled) {\r\n    transform: translateY(0);\r\n    box-shadow: ${theme.shadows.xs};\r\n  }\r\n\r\n  /* Loading state (se precisar futuramente) */\r\n  &.loading {\r\n    pointer-events: none;\r\n  }\r\n`;\r\n\r\nexport function Button({ \r\n  children, \r\n  iconLeft, \r\n  iconRight, \r\n  variant = 'primary',\r\n  size = 'md',\r\n  fullWidth = false,\r\n  ...props \r\n}: ButtonProps) {\r\n  const sizeStyles = getSizeStyles(size);\r\n  \r\n  return (\r\n    <StyledButton \r\n      variant={variant} \r\n      size={size} \r\n      fullWidth={fullWidth}\r\n      {...props}\r\n    >\r\n      {iconLeft && <FiCheckCircle size={sizeStyles.iconSize} />}\r\n      {children}\r\n      {iconRight && <FiArrowRight size={sizeStyles.iconSize} />}\r\n    </StyledButton>\r\n  );\r\n}\r\n","export const colors = {\r\n  // Primary colors (azul principal do seu design)\r\n  primary: {\r\n    50: '#eff6ff',\r\n    100: '#dbeafe', \r\n    200: '#bfdbfe',\r\n    300: '#93c5fd',\r\n    400: '#60a5fa',\r\n    500: '#3b82f6',\r\n    600: '#2563eb',  // Sua cor atual\r\n    700: '#1d4ed8',\r\n    800: '#1e40af',\r\n    900: '#1e3a8a',\r\n  },\r\n  \r\n  // Secondary colors (cinza)\r\n  secondary: {\r\n    50: '#f8fafc',\r\n    100: '#f1f5f9',\r\n    200: '#e2e8f0', \r\n    300: '#cbd5e1',\r\n    400: '#94a3b8',\r\n    500: '#64748b',\r\n    600: '#475569',\r\n    700: '#334155',\r\n    800: '#1e293b',\r\n    900: '#0f172a',\r\n  },\r\n\r\n  // Status colors\r\n  success: {\r\n    50: '#ecfdf5',\r\n    100: '#d1fae5',\r\n    500: '#10b981',\r\n    600: '#059669',\r\n    900: '#064e3b',\r\n  },\r\n  \r\n  warning: {\r\n    50: '#fffbeb',\r\n    100: '#fef3c7',\r\n    500: '#f59e0b', \r\n    600: '#d97706',\r\n    900: '#78350f',\r\n  },\r\n  \r\n  error: {\r\n    50: '#fef2f2',\r\n    100: '#fee2e2',\r\n    500: '#ef4444',\r\n    600: '#dc2626',\r\n    900: '#7f1d1d',\r\n  },\r\n\r\n  // Neutral\r\n  white: '#ffffff',\r\n  black: '#000000',\r\n  \r\n  // Gray scale\r\n  gray: {\r\n    50: '#f9fafb',\r\n    100: '#f3f4f6',\r\n    200: '#e5e7eb',\r\n    300: '#d1d5db',\r\n    400: '#9ca3af',\r\n    500: '#6b7280',\r\n    600: '#4b5563',\r\n    700: '#374151',\r\n    800: '#1f2937',\r\n    900: '#111827',\r\n  }\r\n};\r\n","export const typography = {\r\n  // Font families\r\n  fontFamily: {\r\n    sans: ['Inter', 'system-ui', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'],\r\n    serif: ['Georgia', 'Cambria', 'Times New Roman', 'Times', 'serif'],\r\n    mono: ['Fira Code', 'Monaco', 'Consolas', 'Liberation Mono', 'Courier New', 'monospace'],\r\n  },\r\n  \r\n  // Font sizes\r\n  fontSize: {\r\n    xs: '0.75rem',     // 12px\r\n    sm: '0.875rem',    // 14px  \r\n    base: '1rem',      // 16px\r\n    lg: '1.125rem',    // 18px\r\n    xl: '1.25rem',     // 20px\r\n    '2xl': '1.5rem',   // 24px\r\n    '3xl': '1.875rem', // 30px\r\n    '4xl': '2.25rem',  // 36px\r\n    '5xl': '3rem',     // 48px\r\n    '6xl': '3.75rem',  // 60px\r\n  },\r\n  \r\n  // Font weights\r\n  fontWeight: {\r\n    thin: 100,\r\n    light: 300,\r\n    normal: 400,\r\n    medium: 500,\r\n    semibold: 600,\r\n    bold: 700,\r\n    extrabold: 800,\r\n    black: 900,\r\n  },\r\n  \r\n  // Line heights\r\n  lineHeight: {\r\n    none: 1,\r\n    tight: 1.25,\r\n    snug: 1.375,\r\n    normal: 1.5,\r\n    relaxed: 1.625,\r\n    loose: 2,\r\n  },\r\n\r\n  // Letter spacing\r\n  letterSpacing: {\r\n    tighter: '-0.05em',\r\n    tight: '-0.025em',\r\n    normal: '0em',\r\n    wide: '0.025em',\r\n    wider: '0.05em',\r\n    widest: '0.1em',\r\n  }\r\n};\r\n","export const spacing = {\r\n  0: '0',\r\n  px: '1px',\r\n  0.5: '0.125rem',  // 2px\r\n  1: '0.25rem',     // 4px\r\n  1.5: '0.375rem',  // 6px\r\n  2: '0.5rem',      // 8px\r\n  2.5: '0.625rem',  // 10px\r\n  3: '0.75rem',     // 12px\r\n  3.5: '0.875rem',  // 14px\r\n  4: '1rem',        // 16px\r\n  5: '1.25rem',     // 20px\r\n  6: '1.5rem',      // 24px\r\n  7: '1.75rem',     // 28px\r\n  8: '2rem',        // 32px\r\n  9: '2.25rem',     // 36px\r\n  10: '2.5rem',     // 40px\r\n  11: '2.75rem',    // 44px\r\n  12: '3rem',       // 48px\r\n  14: '3.5rem',     // 56px\r\n  16: '4rem',       // 64px\r\n  20: '5rem',       // 80px\r\n  24: '6rem',       // 96px\r\n  28: '7rem',       // 112px\r\n  32: '8rem',       // 128px\r\n  36: '9rem',       // 144px\r\n  40: '10rem',      // 160px\r\n  44: '11rem',      // 176px\r\n  48: '12rem',      // 192px\r\n  52: '13rem',      // 208px\r\n  56: '14rem',      // 224px\r\n  60: '15rem',      // 240px\r\n  64: '16rem',      // 256px\r\n  72: '18rem',      // 288px\r\n  80: '20rem',      // 320px\r\n  96: '24rem',      // 384px\r\n};\r\n\r\nexport const borderRadius = {\r\n  none: '0',\r\n  sm: '0.125rem',    // 2px\r\n  base: '0.25rem',   // 4px\r\n  md: '0.375rem',    // 6px\r\n  lg: '0.5rem',      // 8px\r\n  xl: '0.75rem',     // 12px\r\n  '2xl': '1rem',     // 16px\r\n  '3xl': '1.5rem',   // 24px\r\n  full: '9999px',\r\n};\r\n\r\nexport const borderWidth = {\r\n  0: '0px',\r\n  DEFAULT: '1px',\r\n  2: '2px',\r\n  4: '4px',\r\n  8: '8px',\r\n};\r\n","import { colors } from './colors';\r\nimport { typography } from './typography';\r\nimport { spacing, borderRadius, borderWidth } from './spacing';\r\n\r\nexport const theme = {\r\n  colors,\r\n  typography,\r\n  spacing,\r\n  borderRadius,\r\n  borderWidth,\r\n  \r\n  // Box shadows\r\n  shadows: {\r\n    xs: '0 1px 2px 0 rgb(0 0 0 / 0.05)',\r\n    sm: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',\r\n    base: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\r\n    md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\r\n    lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',\r\n    xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',\r\n    '2xl': '0 25px 50px -12px rgb(0 0 0 / 0.25)',\r\n    inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',\r\n    none: 'none',\r\n  },\r\n  \r\n  // Responsive breakpoints\r\n  breakpoints: {\r\n    sm: '640px',\r\n    md: '768px', \r\n    lg: '1024px',\r\n    xl: '1280px',\r\n    '2xl': '1536px',\r\n  },\r\n\r\n  // Z-index scale\r\n  zIndex: {\r\n    auto: 'auto',\r\n    0: 0,\r\n    10: 10,\r\n    20: 20,\r\n    30: 30,\r\n    40: 40,\r\n    50: 50,\r\n    dropdown: 1000,\r\n    sticky: 1020,\r\n    fixed: 1030,\r\n    modal: 1040,\r\n    popover: 1050,\r\n    tooltip: 1060,\r\n    toast: 1070,\r\n  },\r\n\r\n  // Transitions\r\n  transitions: {\r\n    none: 'none',\r\n    all: 'all 150ms cubic-bezier(0.4, 0, 0.2, 1)',\r\n    default: 'all 150ms cubic-bezier(0.4, 0, 0.2, 1)',\r\n    colors: 'color 150ms cubic-bezier(0.4, 0, 0.2, 1), background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), border-color 150ms cubic-bezier(0.4, 0, 0.2, 1)',\r\n    opacity: 'opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)',\r\n    shadow: 'box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1)',\r\n    transform: 'transform 150ms cubic-bezier(0.4, 0, 0.2, 1)',\r\n  }\r\n};\r\n\r\nexport type Theme = typeof theme;\r\n\r\n// Semantic color aliases para facilitar o uso\r\nexport const semanticColors = {\r\n  // Text colors\r\n  text: {\r\n    primary: colors.gray[900],\r\n    secondary: colors.gray[600],\r\n    muted: colors.gray[500],\r\n    disabled: colors.gray[400],\r\n    inverse: colors.white,\r\n  },\r\n  \r\n  // Background colors\r\n  background: {\r\n    primary: colors.white,\r\n    secondary: colors.gray[50],\r\n    muted: colors.gray[100],\r\n    inverse: colors.gray[900],\r\n  },\r\n  \r\n  // Border colors\r\n  border: {\r\n    default: colors.gray[200],\r\n    muted: colors.gray[100],\r\n    strong: colors.gray[300],\r\n  },\r\n  \r\n  // Component colors\r\n  button: {\r\n    primary: {\r\n      bg: colors.primary[600],\r\n      bgHover: colors.primary[700],\r\n      text: colors.white,\r\n    },\r\n    secondary: {\r\n      bg: colors.secondary[500],\r\n      bgHover: colors.secondary[600],\r\n      text: colors.white,\r\n    },\r\n    success: {\r\n      bg: colors.success[500],\r\n      bgHover: colors.success[600],\r\n      text: colors.white,\r\n    },\r\n    warning: {\r\n      bg: colors.warning[500],\r\n      bgHover: colors.warning[600],\r\n      text: colors.white,\r\n    },\r\n    error: {\r\n      bg: colors.error[500],\r\n      bgHover: colors.error[600],\r\n      text: colors.white,\r\n    },\r\n  }\r\n};\r\n","import styled, { css } from 'styled-components';\r\nimport { theme } from '../../tokens/theme';\r\n\r\nexport interface InputProps {\r\n  type?: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search';\r\n  size?: 'sm' | 'md' | 'lg';\r\n  variant?: 'default' | 'filled' | 'flushed';\r\n  placeholder?: string;\r\n  disabled?: boolean;\r\n  error?: boolean;\r\n  errorMessage?: string;\r\n  label?: string;\r\n  helperText?: string;\r\n  leftIcon?: React.ReactNode;\r\n  rightIcon?: React.ReactNode;\r\n  fullWidth?: boolean;\r\n  value?: string;\r\n  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n  onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;\r\n  onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nconst InputContainer = styled.div<{ fullWidth?: boolean }>`\r\n  display: ${props => props.fullWidth ? 'block' : 'inline-block'};\r\n  width: ${props => props.fullWidth ? '100%' : 'auto'};\r\n`;\r\n\r\nconst Label = styled.label`\r\n  display: block;\r\n  font-size: ${theme.typography.fontSize.sm};\r\n  font-weight: ${theme.typography.fontWeight.medium};\r\n  color: ${theme.colors.gray[700]};\r\n  margin-bottom: ${theme.spacing[2]};\r\n`;\r\n\r\nconst InputWrapper = styled.div`\r\n  position: relative;\r\n  display: flex;\r\n  align-items: center;\r\n`;\r\n\r\nconst IconWrapper = styled.div<{ position: 'left' | 'right' }>`\r\n  position: absolute;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  ${props => props.position === 'left' ? `left: ${theme.spacing[3]};` : `right: ${theme.spacing[3]};`}\r\n  color: ${theme.colors.gray[400]};\r\n  pointer-events: none;\r\n  z-index: 1;\r\n`;\r\n\r\nconst StyledInput = styled.input<InputProps>`\r\n  width: 100%;\r\n  border: 1px solid ${theme.colors.gray[300]};\r\n  border-radius: ${theme.borderRadius.md};\r\n  transition: ${theme.transitions.all};\r\n  font-family: inherit;\r\n  \r\n  ${props => {\r\n    // Size variants\r\n    switch (props.size) {\r\n      case 'sm':\r\n        return css`\r\n          padding: ${theme.spacing[2]} ${theme.spacing[3]};\r\n          font-size: ${theme.typography.fontSize.sm};\r\n          height: 2rem;\r\n        `;\r\n      case 'lg':\r\n        return css`\r\n          padding: ${theme.spacing[4]} ${theme.spacing[4]};\r\n          font-size: ${theme.typography.fontSize.lg};\r\n          height: 3rem;\r\n        `;\r\n      default:\r\n        return css`\r\n          padding: ${theme.spacing[3]} ${theme.spacing[3]};\r\n          font-size: ${theme.typography.fontSize.base};\r\n          height: 2.5rem;\r\n        `;\r\n    }\r\n  }}\r\n  \r\n  ${(props: any) => props.leftIcon && css`\r\n    padding-left: 2.5rem;\r\n  `}\r\n  \r\n  ${(props: any) => props.rightIcon && css`\r\n    padding-right: 2.5rem;\r\n  `}\r\n  \r\n  ${props => {\r\n    // Variant styles\r\n    switch (props.variant) {\r\n      case 'filled':\r\n        return css`\r\n          background: ${theme.colors.gray[50]};\r\n          border: 1px solid transparent;\r\n          &:focus {\r\n            background: ${theme.colors.white};\r\n            border-color: ${theme.colors.primary[500]};\r\n            box-shadow: 0 0 0 3px ${theme.colors.primary[100]};\r\n          }\r\n        `;\r\n      case 'flushed':\r\n        return css`\r\n          background: transparent;\r\n          border: none;\r\n          border-bottom: 2px solid ${theme.colors.gray[200]};\r\n          border-radius: 0;\r\n          padding-left: 0;\r\n          padding-right: 0;\r\n          &:focus {\r\n            border-bottom-color: ${theme.colors.primary[500]};\r\n            box-shadow: none;\r\n          }\r\n        `;\r\n      default:\r\n        return css`\r\n          background: ${theme.colors.white};\r\n          &:focus {\r\n            outline: none;\r\n            border-color: ${theme.colors.primary[500]};\r\n            box-shadow: 0 0 0 3px ${theme.colors.primary[100]};\r\n          }\r\n        `;\r\n    }\r\n  }}\r\n  \r\n  ${props => props.error && css`\r\n    border-color: ${theme.colors.error[500]};\r\n    &:focus {\r\n      border-color: ${theme.colors.error[500]};\r\n      box-shadow: 0 0 0 3px ${theme.colors.error[100]};\r\n    }\r\n  `}\r\n  \r\n  ${props => props.disabled && css`\r\n    background: ${theme.colors.gray[100]};\r\n    color: ${theme.colors.gray[400]};\r\n    cursor: not-allowed;\r\n    opacity: 0.6;\r\n  `}\r\n  \r\n  &::placeholder {\r\n    color: ${theme.colors.gray[400]};\r\n  }\r\n`;\r\n\r\nconst HelperText = styled.div<{ error?: boolean }>`\r\n  font-size: ${theme.typography.fontSize.xs};\r\n  margin-top: ${theme.spacing[1]};\r\n  color: ${props => props.error ? theme.colors.error[600] : theme.colors.gray[500]};\r\n`;\r\n\r\nexport const Input: React.FC<InputProps> = ({\r\n  type = 'text',\r\n  size = 'md',\r\n  variant = 'default',\r\n  placeholder,\r\n  disabled = false,\r\n  error = false,\r\n  errorMessage,\r\n  label,\r\n  helperText,\r\n  leftIcon,\r\n  rightIcon,\r\n  fullWidth = false,\r\n  value,\r\n  onChange,\r\n  onFocus,\r\n  onBlur,\r\n  ...props\r\n}) => {\r\n  return (\r\n    <InputContainer fullWidth={fullWidth}>\r\n      {label && <Label>{label}</Label>}\r\n      <InputWrapper>\r\n        {leftIcon && <IconWrapper position=\"left\">{leftIcon}</IconWrapper>}\r\n        <StyledInput\r\n          type={type}\r\n          size={size}\r\n          variant={variant}\r\n          placeholder={placeholder}\r\n          disabled={disabled}\r\n          error={error}\r\n          leftIcon={leftIcon}\r\n          rightIcon={rightIcon}\r\n          value={value}\r\n          onChange={onChange}\r\n          onFocus={onFocus}\r\n          onBlur={onBlur}\r\n          {...props}\r\n        />\r\n        {rightIcon && <IconWrapper position=\"right\">{rightIcon}</IconWrapper>}\r\n      </InputWrapper>\r\n      {(helperText || errorMessage) && (\r\n        <HelperText error={error}>\r\n          {error ? errorMessage : helperText}\r\n        </HelperText>\r\n      )}\r\n    </InputContainer>\r\n  );\r\n};\r\n","import styled, { css } from 'styled-components';\r\nimport { theme } from '../../tokens/theme';\r\n\r\nexport interface CardProps {\r\n  variant?: 'default' | 'outlined' | 'elevated' | 'filled';\r\n  size?: 'sm' | 'md' | 'lg';\r\n  shadow?: 'none' | 'sm' | 'md' | 'lg';\r\n  borderRadius?: 'none' | 'sm' | 'md' | 'lg' | 'xl';\r\n  hover?: boolean;\r\n  clickable?: boolean;\r\n  children: React.ReactNode;\r\n  onClick?: () => void;\r\n  className?: string;\r\n}\r\n\r\nconst StyledCard = styled.div<CardProps>`\r\n  background: ${theme.colors.white};\r\n  border: 1px solid ${theme.colors.gray[200]};\r\n  transition: ${theme.transitions.all};\r\n  \r\n  ${props => {\r\n    // Size variants\r\n    switch (props.size) {\r\n      case 'sm':\r\n        return css`\r\n          padding: ${theme.spacing[3]};\r\n        `;\r\n      case 'lg':\r\n        return css`\r\n          padding: ${theme.spacing[8]};\r\n        `;\r\n      default:\r\n        return css`\r\n          padding: ${theme.spacing[6]};\r\n        `;\r\n    }\r\n  }}\r\n  \r\n  ${props => {\r\n    // Border radius\r\n    switch (props.borderRadius) {\r\n      case 'none':\r\n        return css`border-radius: 0;`;\r\n      case 'sm':\r\n        return css`border-radius: ${theme.borderRadius.sm};`;\r\n      case 'lg':\r\n        return css`border-radius: ${theme.borderRadius.lg};`;\r\n      case 'xl':\r\n        return css`border-radius: ${theme.borderRadius.xl};`;\r\n      default:\r\n        return css`border-radius: ${theme.borderRadius.md};`;\r\n    }\r\n  }}\r\n  \r\n  ${props => {\r\n    // Shadow variants\r\n    switch (props.shadow) {\r\n      case 'none':\r\n        return css`box-shadow: none;`;\r\n      case 'sm':\r\n        return css`box-shadow: ${theme.shadows.sm};`;\r\n      case 'md':\r\n        return css`box-shadow: ${theme.shadows.md};`;\r\n      case 'lg':\r\n        return css`box-shadow: ${theme.shadows.lg};`;\r\n      default:\r\n        return css`box-shadow: ${theme.shadows.sm};`;\r\n    }\r\n  }}\r\n  \r\n  ${props => {\r\n    // Variant styles\r\n    switch (props.variant) {\r\n      case 'outlined':\r\n        return css`\r\n          background: transparent;\r\n          border: 2px solid ${theme.colors.gray[200]};\r\n          box-shadow: none;\r\n        `;\r\n      case 'elevated':\r\n        return css`\r\n          border: none;\r\n          box-shadow: ${theme.shadows.lg};\r\n        `;\r\n      case 'filled':\r\n        return css`\r\n          background: ${theme.colors.gray[50]};\r\n          border: none;\r\n          box-shadow: none;\r\n        `;\r\n      default:\r\n        return css`\r\n          background: ${theme.colors.white};\r\n        `;\r\n    }\r\n  }}\r\n  \r\n  ${props => props.clickable && css`\r\n    cursor: pointer;\r\n    &:hover {\r\n      transform: translateY(-2px);\r\n      box-shadow: ${theme.shadows.lg};\r\n    }\r\n    &:active {\r\n      transform: translateY(0);\r\n    }\r\n  `}\r\n  \r\n  ${props => props.hover && !props.clickable && css`\r\n    &:hover {\r\n      box-shadow: ${theme.shadows.md};\r\n      border-color: ${theme.colors.primary[300]};\r\n    }\r\n  `}\r\n`;\r\n\r\nexport const Card: React.FC<CardProps> = ({\r\n  variant = 'default',\r\n  size = 'md',\r\n  shadow = 'sm',\r\n  borderRadius = 'md',\r\n  hover = false,\r\n  clickable = false,\r\n  children,\r\n  onClick,\r\n  className,\r\n  ...props\r\n}) => {\r\n  return (\r\n    <StyledCard\r\n      variant={variant}\r\n      size={size}\r\n      shadow={shadow}\r\n      borderRadius={borderRadius}\r\n      hover={hover}\r\n      clickable={clickable}\r\n      onClick={onClick}\r\n      className={className}\r\n      {...props}\r\n    >\r\n      {children}\r\n    </StyledCard>\r\n  );\r\n};\r\n\r\n// Componentes auxiliares para estruturar o Card\r\nexport const CardHeader = styled.div`\r\n  margin-bottom: ${theme.spacing[4]};\r\n  \r\n  h1, h2, h3, h4, h5, h6 {\r\n    margin: 0 0 ${theme.spacing[2]} 0;\r\n    color: ${theme.colors.gray[900]};\r\n  }\r\n  \r\n  p {\r\n    margin: 0;\r\n    color: ${theme.colors.gray[600]};\r\n    font-size: ${theme.typography.fontSize.sm};\r\n  }\r\n`;\r\n\r\nexport const CardBody = styled.div`\r\n  color: ${theme.colors.gray[700]};\r\n  line-height: 1.6;\r\n`;\r\n\r\nexport const CardFooter = styled.div`\r\n  margin-top: ${theme.spacing[4]};\r\n  padding-top: ${theme.spacing[4]};\r\n  border-top: 1px solid ${theme.colors.gray[200]};\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  gap: ${theme.spacing[3]};\r\n  \r\n  &:empty {\r\n    display: none;\r\n  }\r\n`;\r\n","import React, { useEffect } from 'react';\r\nimport styled, { css, keyframes } from 'styled-components';\r\nimport { theme } from '../../tokens/theme';\r\n\r\nexport interface ModalProps {\r\n  isOpen: boolean;\r\n  onClose: () => void;\r\n  size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';\r\n  backdrop?: 'blur' | 'dark' | 'transparent';\r\n  closable?: boolean;\r\n  closeOnEscape?: boolean;\r\n  closeOnBackdrop?: boolean;\r\n  children: React.ReactNode;\r\n  title?: string;\r\n  footer?: React.ReactNode;\r\n}\r\n\r\nconst fadeIn = keyframes`\r\n  from {\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    opacity: 1;\r\n  }\r\n`;\r\n\r\nconst slideIn = keyframes`\r\n  from {\r\n    opacity: 0;\r\n    transform: translateY(-50px) scale(0.95);\r\n  }\r\n  to {\r\n    opacity: 1;\r\n    transform: translateY(0) scale(1);\r\n  }\r\n`;\r\n\r\nconst ModalOverlay = styled.div<{ backdrop: string; isOpen: boolean }>`\r\n  position: fixed;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  z-index: 1000;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  padding: ${theme.spacing[4]};\r\n  animation: ${fadeIn} 0.2s ease-out;\r\n  \r\n  ${props => {\r\n    switch (props.backdrop) {\r\n      case 'blur':\r\n        return css`\r\n          background: rgba(0, 0, 0, 0.5);\r\n          backdrop-filter: blur(4px);\r\n        `;\r\n      case 'transparent':\r\n        return css`\r\n          background: transparent;\r\n        `;\r\n      default:\r\n        return css`\r\n          background: rgba(0, 0, 0, 0.5);\r\n        `;\r\n    }\r\n  }}\r\n`;\r\n\r\nconst ModalContent = styled.div<{ size: string }>`\r\n  background: ${theme.colors.white};\r\n  border-radius: ${theme.borderRadius.lg};\r\n  box-shadow: ${theme.shadows.xl};\r\n  max-height: 90vh;\r\n  overflow-y: auto;\r\n  animation: ${slideIn} 0.2s ease-out;\r\n  \r\n  ${props => {\r\n    switch (props.size) {\r\n      case 'sm':\r\n        return css`\r\n          width: 100%;\r\n          max-width: 400px;\r\n        `;\r\n      case 'lg':\r\n        return css`\r\n          width: 100%;\r\n          max-width: 800px;\r\n        `;\r\n      case 'xl':\r\n        return css`\r\n          width: 100%;\r\n          max-width: 1200px;\r\n        `;\r\n      case 'full':\r\n        return css`\r\n          width: 100vw;\r\n          height: 100vh;\r\n          max-width: none;\r\n          max-height: none;\r\n          border-radius: 0;\r\n        `;\r\n      default:\r\n        return css`\r\n          width: 100%;\r\n          max-width: 600px;\r\n        `;\r\n    }\r\n  }}\r\n`;\r\n\r\nconst ModalHeader = styled.div`\r\n  padding: ${theme.spacing[6]} ${theme.spacing[6]} 0 ${theme.spacing[6]};\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  \r\n  h2 {\r\n    margin: 0;\r\n    font-size: ${theme.typography.fontSize.xl};\r\n    font-weight: ${theme.typography.fontWeight.semibold};\r\n    color: ${theme.colors.gray[900]};\r\n  }\r\n`;\r\n\r\nconst CloseButton = styled.button`\r\n  background: none;\r\n  border: none;\r\n  font-size: 1.5rem;\r\n  cursor: pointer;\r\n  color: ${theme.colors.gray[400]};\r\n  transition: ${theme.transitions.all};\r\n  padding: ${theme.spacing[1]};\r\n  border-radius: ${theme.borderRadius.sm};\r\n  \r\n  &:hover {\r\n    color: ${theme.colors.gray[600]};\r\n    background: ${theme.colors.gray[100]};\r\n  }\r\n`;\r\n\r\nconst ModalBody = styled.div`\r\n  padding: ${theme.spacing[6]};\r\n  color: ${theme.colors.gray[700]};\r\n  line-height: 1.6;\r\n`;\r\n\r\nconst ModalFooter = styled.div`\r\n  padding: 0 ${theme.spacing[6]} ${theme.spacing[6]} ${theme.spacing[6]};\r\n  border-top: 1px solid ${theme.colors.gray[200]};\r\n  display: flex;\r\n  justify-content: flex-end;\r\n  gap: ${theme.spacing[3]};\r\n  \r\n  &:empty {\r\n    display: none;\r\n  }\r\n`;\r\n\r\nexport const Modal: React.FC<ModalProps> = ({\r\n  isOpen,\r\n  onClose,\r\n  size = 'md',\r\n  backdrop = 'dark',\r\n  closable = true,\r\n  closeOnEscape = true,\r\n  closeOnBackdrop = true,\r\n  children,\r\n  title,\r\n  footer,\r\n}) => {\r\n  useEffect(() => {\r\n    if (!isOpen) return;\r\n\r\n    const handleEscape = (e: KeyboardEvent) => {\r\n      if (e.key === 'Escape' && closeOnEscape) {\r\n        onClose();\r\n      }\r\n    };\r\n\r\n    document.addEventListener('keydown', handleEscape);\r\n    document.body.style.overflow = 'hidden';\r\n\r\n    return () => {\r\n      document.removeEventListener('keydown', handleEscape);\r\n      document.body.style.overflow = 'unset';\r\n    };\r\n  }, [isOpen, closeOnEscape, onClose]);\r\n\r\n  if (!isOpen) return null;\r\n\r\n  const handleBackdropClick = (e: React.MouseEvent) => {\r\n    if (e.target === e.currentTarget && closeOnBackdrop) {\r\n      onClose();\r\n    }\r\n  };\r\n\r\n  return (\r\n    <ModalOverlay backdrop={backdrop} isOpen={isOpen} onClick={handleBackdropClick}>\r\n      <ModalContent size={size}>\r\n        {(title || closable) && (\r\n          <ModalHeader>\r\n            {title && <h2>{title}</h2>}\r\n            {closable && (\r\n              <CloseButton onClick={onClose} aria-label=\"Fechar modal\">\r\n                ×\r\n              </CloseButton>\r\n            )}\r\n          </ModalHeader>\r\n        )}\r\n        <ModalBody>{children}</ModalBody>\r\n        {footer && <ModalFooter>{footer}</ModalFooter>}\r\n      </ModalContent>\r\n    </ModalOverlay>\r\n  );\r\n};\r\n","import React, { useState } from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport { theme } from '../../tokens/theme';\r\n\r\nexport interface AvatarProps {\r\n  src?: string;\r\n  alt?: string;\r\n  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\r\n  shape?: 'circle' | 'square' | 'rounded';\r\n  fallback?: string;\r\n  name?: string;\r\n  online?: boolean;\r\n  border?: boolean;\r\n  borderColor?: string;\r\n  onClick?: () => void;\r\n  className?: string;\r\n}\r\n\r\nconst getInitials = (name: string): string => {\r\n  return name\r\n    .split(' ')\r\n    .map(n => n[0])\r\n    .join('')\r\n    .toUpperCase()\r\n    .slice(0, 2);\r\n};\r\n\r\nconst getRandomColor = (name: string): string => {\r\n  const colors = [\r\n    theme.colors.primary[500],\r\n    theme.colors.secondary[500],\r\n    theme.colors.success[500],\r\n    theme.colors.warning[500],\r\n    theme.colors.error[500],\r\n  ];\r\n  \r\n  const index = name.charCodeAt(0) % colors.length;\r\n  return colors[index];\r\n};\r\n\r\nconst AvatarContainer = styled.div<{ size: string; clickable: boolean }>`\r\n  position: relative;\r\n  display: inline-flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  overflow: hidden;\r\n  cursor: ${props => props.clickable ? 'pointer' : 'default'};\r\n  \r\n  ${props => {\r\n    switch (props.size) {\r\n      case 'xs':\r\n        return css`\r\n          width: 1.5rem;\r\n          height: 1.5rem;\r\n          font-size: 0.625rem;\r\n        `;\r\n      case 'sm':\r\n        return css`\r\n          width: 2rem;\r\n          height: 2rem;\r\n          font-size: 0.75rem;\r\n        `;\r\n      case 'lg':\r\n        return css`\r\n          width: 4rem;\r\n          height: 4rem;\r\n          font-size: 1.125rem;\r\n        `;\r\n      case 'xl':\r\n        return css`\r\n          width: 5rem;\r\n          height: 5rem;\r\n          font-size: 1.25rem;\r\n        `;\r\n      case '2xl':\r\n        return css`\r\n          width: 6rem;\r\n          height: 6rem;\r\n          font-size: 1.5rem;\r\n        `;\r\n      default:\r\n        return css`\r\n          width: 3rem;\r\n          height: 3rem;\r\n          font-size: 1rem;\r\n        `;\r\n    }\r\n  }}\r\n`;\r\n\r\nconst AvatarImage = styled.img<{ shape: string; border: boolean; borderColor?: string }>`\r\n  width: 100%;\r\n  height: 100%;\r\n  object-fit: cover;\r\n  \r\n  ${props => {\r\n    switch (props.shape) {\r\n      case 'square':\r\n        return css`border-radius: 0;`;\r\n      case 'rounded':\r\n        return css`border-radius: ${theme.borderRadius.md};`;\r\n      default:\r\n        return css`border-radius: 50%;`;\r\n    }\r\n  }}\r\n  \r\n  ${props => props.border && css`\r\n    border: 2px solid ${props.borderColor || theme.colors.white};\r\n    box-shadow: 0 0 0 1px ${theme.colors.gray[200]};\r\n  `}\r\n`;\r\n\r\nconst AvatarFallback = styled.div<{ \r\n  shape: string; \r\n  border: boolean; \r\n  borderColor?: string;\r\n  backgroundColor: string;\r\n}>`\r\n  width: 100%;\r\n  height: 100%;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  background: ${props => props.backgroundColor};\r\n  color: ${theme.colors.white};\r\n  font-weight: ${theme.typography.fontWeight.medium};\r\n  \r\n  ${props => {\r\n    switch (props.shape) {\r\n      case 'square':\r\n        return css`border-radius: 0;`;\r\n      case 'rounded':\r\n        return css`border-radius: ${theme.borderRadius.md};`;\r\n      default:\r\n        return css`border-radius: 50%;`;\r\n    }\r\n  }}\r\n  \r\n  ${props => props.border && css`\r\n    border: 2px solid ${props.borderColor || theme.colors.white};\r\n    box-shadow: 0 0 0 1px ${theme.colors.gray[200]};\r\n  `}\r\n`;\r\n\r\nconst OnlineIndicator = styled.div<{ size: string }>`\r\n  position: absolute;\r\n  background: ${theme.colors.success[500]};\r\n  border: 2px solid ${theme.colors.white};\r\n  border-radius: 50%;\r\n  \r\n  ${props => {\r\n    switch (props.size) {\r\n      case 'xs':\r\n      case 'sm':\r\n        return css`\r\n          width: 0.5rem;\r\n          height: 0.5rem;\r\n          bottom: 0;\r\n          right: 0;\r\n        `;\r\n      case 'lg':\r\n      case 'xl':\r\n      case '2xl':\r\n        return css`\r\n          width: 1rem;\r\n          height: 1rem;\r\n          bottom: 0.125rem;\r\n          right: 0.125rem;\r\n        `;\r\n      default:\r\n        return css`\r\n          width: 0.75rem;\r\n          height: 0.75rem;\r\n          bottom: 0;\r\n          right: 0;\r\n        `;\r\n    }\r\n  }}\r\n`;\r\n\r\nexport const Avatar: React.FC<AvatarProps> = ({\r\n  src,\r\n  alt,\r\n  size = 'md',\r\n  shape = 'circle',\r\n  fallback,\r\n  name,\r\n  online,\r\n  border = false,\r\n  borderColor,\r\n  onClick,\r\n  className,\r\n  ...props\r\n}) => {\r\n  const [imageError, setImageError] = useState(false);\r\n  \r\n  const handleImageError = () => {\r\n    setImageError(true);\r\n  };\r\n  \r\n  const displayFallback = fallback || (name ? getInitials(name) : '?');\r\n  const backgroundColor = name ? getRandomColor(name) : theme.colors.gray[400];\r\n  const showImage = src && !imageError;\r\n  \r\n  return (\r\n    <AvatarContainer\r\n      size={size}\r\n      clickable={!!onClick}\r\n      onClick={onClick}\r\n      className={className}\r\n      {...props}\r\n    >\r\n      {showImage ? (\r\n        <AvatarImage\r\n          src={src}\r\n          alt={alt || name}\r\n          shape={shape}\r\n          border={border}\r\n          borderColor={borderColor}\r\n          onError={handleImageError}\r\n        />\r\n      ) : (\r\n        <AvatarFallback\r\n          shape={shape}\r\n          border={border}\r\n          borderColor={borderColor}\r\n          backgroundColor={backgroundColor}\r\n        >\r\n          {displayFallback}\r\n        </AvatarFallback>\r\n      )}\r\n      {online && <OnlineIndicator size={size} />}\r\n    </AvatarContainer>\r\n  );\r\n};\r\n","import styled, { css } from 'styled-components';\r\nimport { theme } from '../../tokens/theme';\r\n\r\nexport interface BadgeProps {\r\n  variant?: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'gray';\r\n  size?: 'sm' | 'md' | 'lg';\r\n  shape?: 'pill' | 'square' | 'rounded';\r\n  dot?: boolean;\r\n  count?: number;\r\n  max?: number;\r\n  position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';\r\n  children?: React.ReactNode;\r\n  showZero?: boolean;\r\n  className?: string;\r\n}\r\n\r\nconst BadgeContainer = styled.div`\r\n  position: relative;\r\n  display: inline-block;\r\n`;\r\n\r\nconst StyledBadge = styled.span<BadgeProps & { hasPosition: boolean }>`\r\n  display: inline-flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-weight: ${theme.typography.fontWeight.medium};\r\n  white-space: nowrap;\r\n  transition: ${theme.transitions.all};\r\n  \r\n  ${props => props.hasPosition && css`\r\n    position: absolute;\r\n    transform: scale(1) translate(50%, -50%);\r\n    transform-origin: 100% 0%;\r\n    \r\n    ${props.position === 'top-right' && css`\r\n      top: 0;\r\n      right: 0;\r\n    `}\r\n    \r\n    ${props.position === 'top-left' && css`\r\n      top: 0;\r\n      left: 0;\r\n      transform: scale(1) translate(-50%, -50%);\r\n      transform-origin: 0% 0%;\r\n    `}\r\n    \r\n    ${props.position === 'bottom-right' && css`\r\n      bottom: 0;\r\n      right: 0;\r\n      transform: scale(1) translate(50%, 50%);\r\n      transform-origin: 100% 100%;\r\n    `}\r\n    \r\n    ${props.position === 'bottom-left' && css`\r\n      bottom: 0;\r\n      left: 0;\r\n      transform: scale(1) translate(-50%, 50%);\r\n      transform-origin: 0% 100%;\r\n    `}\r\n  `}\r\n  \r\n  ${props => {\r\n    // Size variants\r\n    if (props.dot) {\r\n      switch (props.size) {\r\n        case 'sm':\r\n          return css`\r\n            width: 0.5rem;\r\n            height: 0.5rem;\r\n          `;\r\n        case 'lg':\r\n          return css`\r\n            width: 1rem;\r\n            height: 1rem;\r\n          `;\r\n        default:\r\n          return css`\r\n            width: 0.75rem;\r\n            height: 0.75rem;\r\n          `;\r\n      }\r\n    } else {\r\n      switch (props.size) {\r\n        case 'sm':\r\n          return css`\r\n            min-width: 1.25rem;\r\n            height: 1.25rem;\r\n            padding: 0 ${theme.spacing[1]};\r\n            font-size: ${theme.typography.fontSize.xs};\r\n          `;\r\n        case 'lg':\r\n          return css`\r\n            min-width: 2rem;\r\n            height: 2rem;\r\n            padding: 0 ${theme.spacing[3]};\r\n            font-size: ${theme.typography.fontSize.sm};\r\n          `;\r\n        default:\r\n          return css`\r\n            min-width: 1.5rem;\r\n            height: 1.5rem;\r\n            padding: 0 ${theme.spacing[2]};\r\n            font-size: ${theme.typography.fontSize.xs};\r\n          `;\r\n      }\r\n    }\r\n  }}\r\n  \r\n  ${props => {\r\n    // Shape variants\r\n    switch (props.shape) {\r\n      case 'square':\r\n        return css`border-radius: 0;`;\r\n      case 'rounded':\r\n        return css`border-radius: ${theme.borderRadius.sm};`;\r\n      default:\r\n        return css`border-radius: 9999px;`;\r\n    }\r\n  }}\r\n  \r\n  ${props => {\r\n    // Color variants\r\n    switch (props.variant) {\r\n      case 'primary':\r\n        return css`\r\n          background: ${theme.colors.primary[500]};\r\n          color: ${theme.colors.white};\r\n        `;\r\n      case 'secondary':\r\n        return css`\r\n          background: ${theme.colors.secondary[500]};\r\n          color: ${theme.colors.white};\r\n        `;\r\n      case 'success':\r\n        return css`\r\n          background: ${theme.colors.success[500]};\r\n          color: ${theme.colors.white};\r\n        `;\r\n      case 'warning':\r\n        return css`\r\n          background: ${theme.colors.warning[500]};\r\n          color: ${theme.colors.white};\r\n        `;\r\n      case 'error':\r\n        return css`\r\n          background: ${theme.colors.error[500]};\r\n          color: ${theme.colors.white};\r\n        `;\r\n      case 'gray':\r\n        return css`\r\n          background: ${theme.colors.gray[500]};\r\n          color: ${theme.colors.white};\r\n        `;\r\n      default:\r\n        return css`\r\n          background: ${theme.colors.primary[500]};\r\n          color: ${theme.colors.white};\r\n        `;\r\n    }\r\n  }}\r\n`;\r\n\r\nexport const Badge: React.FC<BadgeProps> = ({\r\n  variant = 'primary',\r\n  size = 'md',\r\n  shape = 'pill',\r\n  dot = false,\r\n  count,\r\n  max = 99,\r\n  position,\r\n  children,\r\n  showZero = false,\r\n  className,\r\n  ...props\r\n}) => {\r\n  const hasPosition = !!position && !!children;\r\n  const shouldShow = count !== undefined ? (count > 0 || showZero) : true;\r\n  \r\n  const getDisplayCount = () => {\r\n    if (dot) return null;\r\n    if (count === undefined) return null;\r\n    if (count > max) return `${max}+`;\r\n    return count;\r\n  };\r\n  \r\n  const badge = shouldShow ? (\r\n    <StyledBadge\r\n      variant={variant}\r\n      size={size}\r\n      shape={shape}\r\n      dot={dot}\r\n      position={position}\r\n      hasPosition={hasPosition}\r\n      className={className}\r\n      {...props}\r\n    >\r\n      {!dot && getDisplayCount()}\r\n    </StyledBadge>\r\n  ) : null;\r\n  \r\n  if (hasPosition) {\r\n    return (\r\n      <BadgeContainer>\r\n        {children}\r\n        {badge}\r\n      </BadgeContainer>\r\n    );\r\n  }\r\n  \r\n  return badge;\r\n};\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport { theme } from '../../tokens/theme';\r\n\r\nexport interface TooltipProps {\r\n  content: React.ReactNode;\r\n  position?: 'top' | 'bottom' | 'left' | 'right';\r\n  trigger?: 'hover' | 'click' | 'focus';\r\n  delay?: number;\r\n  disabled?: boolean;\r\n  children: React.ReactElement;\r\n  className?: string;\r\n}\r\n\r\nconst TooltipContainer = styled.div`\r\n  position: relative;\r\n  display: inline-block;\r\n`;\r\n\r\nconst TooltipContent = styled.div<{ \r\n  position: string; \r\n  visible: boolean;\r\n}>`\r\n  position: absolute;\r\n  z-index: 1000;\r\n  padding: ${theme.spacing[2]} ${theme.spacing[3]};\r\n  background: ${theme.colors.gray[900]};\r\n  color: ${theme.colors.white};\r\n  font-size: ${theme.typography.fontSize.sm};\r\n  border-radius: ${theme.borderRadius.md};\r\n  box-shadow: ${theme.shadows.lg};\r\n  white-space: nowrap;\r\n  pointer-events: none;\r\n  opacity: ${props => props.visible ? 1 : 0};\r\n  transform: ${props => props.visible ? 'scale(1)' : 'scale(0.95)'};\r\n  transition: opacity 0.2s ease, transform 0.2s ease;\r\n  \r\n  &::before {\r\n    content: '';\r\n    position: absolute;\r\n    width: 0;\r\n    height: 0;\r\n    border-style: solid;\r\n  }\r\n  \r\n  ${props => {\r\n    switch (props.position) {\r\n      case 'top':\r\n        return css`\r\n          bottom: calc(100% + 8px);\r\n          left: 50%;\r\n          transform: translateX(-50%) ${props.visible ? 'scale(1)' : 'scale(0.95)'};\r\n          \r\n          &::before {\r\n            top: 100%;\r\n            left: 50%;\r\n            margin-left: -4px;\r\n            border-width: 4px 4px 0 4px;\r\n            border-color: ${theme.colors.gray[900]} transparent transparent transparent;\r\n          }\r\n        `;\r\n      case 'bottom':\r\n        return css`\r\n          top: calc(100% + 8px);\r\n          left: 50%;\r\n          transform: translateX(-50%) ${props.visible ? 'scale(1)' : 'scale(0.95)'};\r\n          \r\n          &::before {\r\n            bottom: 100%;\r\n            left: 50%;\r\n            margin-left: -4px;\r\n            border-width: 0 4px 4px 4px;\r\n            border-color: transparent transparent ${theme.colors.gray[900]} transparent;\r\n          }\r\n        `;\r\n      case 'left':\r\n        return css`\r\n          right: calc(100% + 8px);\r\n          top: 50%;\r\n          transform: translateY(-50%) ${props.visible ? 'scale(1)' : 'scale(0.95)'};\r\n          \r\n          &::before {\r\n            left: 100%;\r\n            top: 50%;\r\n            margin-top: -4px;\r\n            border-width: 4px 0 4px 4px;\r\n            border-color: transparent transparent transparent ${theme.colors.gray[900]};\r\n          }\r\n        `;\r\n      case 'right':\r\n        return css`\r\n          left: calc(100% + 8px);\r\n          top: 50%;\r\n          transform: translateY(-50%) ${props.visible ? 'scale(1)' : 'scale(0.95)'};\r\n          \r\n          &::before {\r\n            right: 100%;\r\n            top: 50%;\r\n            margin-top: -4px;\r\n            border-width: 4px 4px 4px 0;\r\n            border-color: transparent ${theme.colors.gray[900]} transparent transparent;\r\n          }\r\n        `;\r\n      default:\r\n        return css``;\r\n    }\r\n  }}\r\n`;\r\n\r\nexport const Tooltip: React.FC<TooltipProps> = ({\r\n  content,\r\n  position = 'top',\r\n  trigger = 'hover',\r\n  delay = 0,\r\n  disabled = false,\r\n  children,\r\n  className,\r\n}) => {\r\n  const [visible, setVisible] = useState(false);\r\n  const timeoutRef = useRef<number | null>(null);\r\n  \r\n  const showTooltip = () => {\r\n    if (disabled) return;\r\n    \r\n    if (timeoutRef.current) {\r\n      clearTimeout(timeoutRef.current);\r\n    }\r\n    \r\n    if (delay > 0) {\r\n      timeoutRef.current = window.setTimeout(() => {\r\n        setVisible(true);\r\n      }, delay);\r\n    } else {\r\n      setVisible(true);\r\n    }\r\n  };\r\n  \r\n  const hideTooltip = () => {\r\n    if (timeoutRef.current) {\r\n      clearTimeout(timeoutRef.current);\r\n    }\r\n    setVisible(false);\r\n  };\r\n  \r\n  useEffect(() => {\r\n    return () => {\r\n      if (timeoutRef.current) {\r\n        clearTimeout(timeoutRef.current);\r\n      }\r\n    };\r\n  }, []);\r\n  \r\n  const getEventHandlers = () => {\r\n    switch (trigger) {\r\n      case 'click':\r\n        return {\r\n          onClick: () => setVisible(!visible),\r\n        };\r\n      case 'focus':\r\n        return {\r\n          onFocus: showTooltip,\r\n          onBlur: hideTooltip,\r\n        };\r\n      default: // hover\r\n        return {\r\n          onMouseEnter: showTooltip,\r\n          onMouseLeave: hideTooltip,\r\n        };\r\n    }\r\n  };\r\n  \r\n  const clonedChild = React.cloneElement(children, {\r\n    ...getEventHandlers(),\r\n  });\r\n  \r\n  return (\r\n    <TooltipContainer className={className}>\r\n      {clonedChild}\r\n      <TooltipContent position={position} visible={visible}>\r\n        {content}\r\n      </TooltipContent>\r\n    </TooltipContainer>\r\n  );\r\n};\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport { theme } from '../../tokens/theme';\r\n\r\nexport interface DropdownItem {\r\n  key: string;\r\n  label: React.ReactNode;\r\n  onClick?: () => void;\r\n  disabled?: boolean;\r\n  divider?: boolean;\r\n}\r\n\r\nexport interface DropdownProps {\r\n  items: DropdownItem[];\r\n  trigger: React.ReactElement;\r\n  position?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\r\n  disabled?: boolean;\r\n  closeOnSelect?: boolean;\r\n  className?: string;\r\n}\r\n\r\nconst DropdownContainer = styled.div`\r\n  position: relative;\r\n  display: inline-block;\r\n`;\r\n\r\nconst DropdownMenu = styled.div<{ position: string; visible: boolean }>`\r\n  position: absolute;\r\n  z-index: 1000;\r\n  min-width: 200px;\r\n  background: ${theme.colors.white};\r\n  border: 1px solid ${theme.colors.gray[200]};\r\n  border-radius: ${theme.borderRadius.md};\r\n  box-shadow: ${theme.shadows.lg};\r\n  padding: ${theme.spacing[2]};\r\n  opacity: ${props => props.visible ? 1 : 0};\r\n  transform: ${props => props.visible ? 'scale(1)' : 'scale(0.95)'};\r\n  transition: opacity 0.15s ease, transform 0.15s ease;\r\n  pointer-events: ${props => props.visible ? 'auto' : 'none'};\r\n  \r\n  ${props => {\r\n    switch (props.position) {\r\n      case 'bottom-left':\r\n        return css`\r\n          top: calc(100% + 4px);\r\n          left: 0;\r\n          transform-origin: top left;\r\n        `;\r\n      case 'bottom-right':\r\n        return css`\r\n          top: calc(100% + 4px);\r\n          right: 0;\r\n          transform-origin: top right;\r\n        `;\r\n      case 'top-left':\r\n        return css`\r\n          bottom: calc(100% + 4px);\r\n          left: 0;\r\n          transform-origin: bottom left;\r\n        `;\r\n      case 'top-right':\r\n        return css`\r\n          bottom: calc(100% + 4px);\r\n          right: 0;\r\n          transform-origin: bottom right;\r\n        `;\r\n      default:\r\n        return css`\r\n          top: calc(100% + 4px);\r\n          left: 0;\r\n          transform-origin: top left;\r\n        `;\r\n    }\r\n  }}\r\n`;\r\n\r\nconst DropdownItem = styled.button<{ disabled?: boolean; isDivider?: boolean }>`\r\n  width: 100%;\r\n  display: flex;\r\n  align-items: center;\r\n  padding: ${theme.spacing[2]} ${theme.spacing[3]};\r\n  border: none;\r\n  background: none;\r\n  text-align: left;\r\n  cursor: pointer;\r\n  border-radius: ${theme.borderRadius.sm};\r\n  transition: ${theme.transitions.all};\r\n  font-size: ${theme.typography.fontSize.sm};\r\n  color: ${theme.colors.gray[700]};\r\n  \r\n  ${props => props.isDivider && css`\r\n    border-bottom: 1px solid ${theme.colors.gray[200]};\r\n    margin-bottom: ${theme.spacing[2]};\r\n    padding-bottom: ${theme.spacing[2]};\r\n  `}\r\n  \r\n  ${props => props.disabled ? css`\r\n    color: ${theme.colors.gray[400]};\r\n    cursor: not-allowed;\r\n    opacity: 0.5;\r\n  ` : css`\r\n    &:hover {\r\n      background: ${theme.colors.gray[50]};\r\n      color: ${theme.colors.gray[900]};\r\n    }\r\n    \r\n    &:active {\r\n      background: ${theme.colors.gray[100]};\r\n    }\r\n  `}\r\n`;\r\n\r\nexport const Dropdown: React.FC<DropdownProps> = ({\r\n  items,\r\n  trigger,\r\n  position = 'bottom-left',\r\n  disabled = false,\r\n  closeOnSelect = true,\r\n  className,\r\n}) => {\r\n  const [visible, setVisible] = useState(false);\r\n  const containerRef = useRef<HTMLDivElement>(null);\r\n  \r\n  useEffect(() => {\r\n    const handleClickOutside = (event: MouseEvent) => {\r\n      if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\r\n        setVisible(false);\r\n      }\r\n    };\r\n    \r\n    if (visible) {\r\n      document.addEventListener('mousedown', handleClickOutside);\r\n    }\r\n    \r\n    return () => {\r\n      document.removeEventListener('mousedown', handleClickOutside);\r\n    };\r\n  }, [visible]);\r\n  \r\n  const handleTriggerClick = () => {\r\n    if (!disabled) {\r\n      setVisible(!visible);\r\n    }\r\n  };\r\n  \r\n  const handleItemClick = (item: DropdownItem) => {\r\n    if (!item.disabled && item.onClick) {\r\n      item.onClick();\r\n    }\r\n    \r\n    if (closeOnSelect && !item.disabled) {\r\n      setVisible(false);\r\n    }\r\n  };\r\n  \r\n  const clonedTrigger = React.cloneElement(trigger, {\r\n    onClick: handleTriggerClick,\r\n  } as any);\r\n  \r\n  return (\r\n    <DropdownContainer ref={containerRef} className={className}>\r\n      {clonedTrigger}\r\n      <DropdownMenu position={position} visible={visible}>\r\n        {items.map((item) => (\r\n          <DropdownItem\r\n            key={item.key}\r\n            disabled={item.disabled}\r\n            isDivider={item.divider}\r\n            onClick={() => handleItemClick(item)}\r\n          >\r\n            {item.label}\r\n          </DropdownItem>\r\n        ))}\r\n      </DropdownMenu>\r\n    </DropdownContainer>\r\n  );\r\n};\r\n","import React, { useState } from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport { theme } from '../../tokens/theme';\r\n\r\nexport interface TabItem {\r\n  key: string;\r\n  label: React.ReactNode;\r\n  content: React.ReactNode;\r\n  disabled?: boolean;\r\n}\r\n\r\nexport interface TabsProps {\r\n  items: TabItem[];\r\n  defaultActiveKey?: string;\r\n  activeKey?: string;\r\n  onChange?: (key: string) => void;\r\n  variant?: 'line' | 'card' | 'pill';\r\n  size?: 'sm' | 'md' | 'lg';\r\n  orientation?: 'horizontal' | 'vertical';\r\n  className?: string;\r\n}\r\n\r\nconst TabsContainer = styled.div<{ orientation: string }>`\r\n  display: flex;\r\n  flex-direction: ${props => props.orientation === 'vertical' ? 'row' : 'column'};\r\n  gap: ${props => props.orientation === 'vertical' ? theme.spacing[4] : '0'};\r\n`;\r\n\r\nconst TabsList = styled.div<{ orientation: string; variant: string }>`\r\n  display: flex;\r\n  flex-direction: ${props => props.orientation === 'vertical' ? 'column' : 'row'};\r\n  \r\n  ${props => props.variant === 'card' && css`\r\n    background: ${theme.colors.gray[50]};\r\n    padding: ${theme.spacing[1]};\r\n    border-radius: ${theme.borderRadius.lg};\r\n  `}\r\n  \r\n  ${props => props.variant === 'line' && props.orientation === 'horizontal' && css`\r\n    border-bottom: 1px solid ${theme.colors.gray[200]};\r\n  `}\r\n  \r\n  ${props => props.variant === 'line' && props.orientation === 'vertical' && css`\r\n    border-right: 1px solid ${theme.colors.gray[200]};\r\n    min-width: 200px;\r\n  `}\r\n`;\r\n\r\nconst TabButton = styled.button<{\r\n  active: boolean;\r\n  variant: string;\r\n  size: string;\r\n  orientation: string;\r\n  disabled?: boolean;\r\n}>`\r\n  border: none;\r\n  background: none;\r\n  cursor: pointer;\r\n  position: relative;\r\n  transition: ${theme.transitions.all};\r\n  font-weight: ${theme.typography.fontWeight.medium};\r\n  \r\n  ${props => {\r\n    switch (props.size) {\r\n      case 'sm':\r\n        return css`\r\n          padding: ${theme.spacing[2]} ${theme.spacing[3]};\r\n          font-size: ${theme.typography.fontSize.sm};\r\n        `;\r\n      case 'lg':\r\n        return css`\r\n          padding: ${theme.spacing[4]} ${theme.spacing[6]};\r\n          font-size: ${theme.typography.fontSize.base};\r\n        `;\r\n      default:\r\n        return css`\r\n          padding: ${theme.spacing[3]} ${theme.spacing[4]};\r\n          font-size: ${theme.typography.fontSize.sm};\r\n        `;\r\n    }\r\n  }}\r\n  \r\n  ${props => props.disabled && css`\r\n    color: ${theme.colors.gray[400]};\r\n    cursor: not-allowed;\r\n    opacity: 0.5;\r\n  `}\r\n  \r\n  ${props => {\r\n    switch (props.variant) {\r\n      case 'card':\r\n        return css`\r\n          border-radius: ${theme.borderRadius.md};\r\n          color: ${props.active ? theme.colors.primary[600] : theme.colors.gray[600]};\r\n          background: ${props.active ? theme.colors.white : 'transparent'};\r\n          box-shadow: ${props.active ? theme.shadows.sm : 'none'};\r\n          \r\n          &:hover:not(:disabled) {\r\n            background: ${props.active ? theme.colors.white : theme.colors.gray[100]};\r\n          }\r\n        `;\r\n      case 'pill':\r\n        return css`\r\n          border-radius: ${theme.borderRadius.full};\r\n          color: ${props.active ? theme.colors.white : theme.colors.gray[600]};\r\n          background: ${props.active ? theme.colors.primary[500] : 'transparent'};\r\n          \r\n          &:hover:not(:disabled) {\r\n            background: ${props.active ? theme.colors.primary[600] : theme.colors.gray[100]};\r\n          }\r\n        `;\r\n      default: // line\r\n        return css`\r\n          color: ${props.active ? theme.colors.primary[600] : theme.colors.gray[600]};\r\n          background: transparent;\r\n          \r\n          &::after {\r\n            content: '';\r\n            position: absolute;\r\n            background: ${theme.colors.primary[500]};\r\n            transition: ${theme.transitions.all};\r\n            \r\n            ${props.orientation === 'horizontal' ? css`\r\n              bottom: 0;\r\n              left: 0;\r\n              right: 0;\r\n              height: 2px;\r\n              transform: scaleX(${props.active ? 1 : 0});\r\n            ` : css`\r\n              top: 0;\r\n              bottom: 0;\r\n              right: 0;\r\n              width: 2px;\r\n              transform: scaleY(${props.active ? 1 : 0});\r\n            `}\r\n          }\r\n          \r\n          &:hover:not(:disabled) {\r\n            color: ${theme.colors.primary[500]};\r\n          }\r\n        `;\r\n    }\r\n  }}\r\n`;\r\n\r\nconst TabContent = styled.div<{ orientation: string }>`\r\n  padding: ${props => props.orientation === 'vertical' ? '0' : `${theme.spacing[4]} 0`};\r\n  flex: 1;\r\n`;\r\n\r\nexport const Tabs: React.FC<TabsProps> = ({\r\n  items,\r\n  defaultActiveKey,\r\n  activeKey: controlledActiveKey,\r\n  onChange,\r\n  variant = 'line',\r\n  size = 'md',\r\n  orientation = 'horizontal',\r\n  className,\r\n}) => {\r\n  const [internalActiveKey, setInternalActiveKey] = useState(\r\n    controlledActiveKey || defaultActiveKey || items[0]?.key\r\n  );\r\n  \r\n  const activeKey = controlledActiveKey || internalActiveKey;\r\n  \r\n  const handleTabClick = (key: string) => {\r\n    const item = items.find(item => item.key === key);\r\n    if (item && !item.disabled) {\r\n      if (!controlledActiveKey) {\r\n        setInternalActiveKey(key);\r\n      }\r\n      onChange?.(key);\r\n    }\r\n  };\r\n  \r\n  const activeContent = items.find(item => item.key === activeKey)?.content;\r\n  \r\n  return (\r\n    <TabsContainer orientation={orientation} className={className}>\r\n      <TabsList orientation={orientation} variant={variant}>\r\n        {items.map((item) => (\r\n          <TabButton\r\n            key={item.key}\r\n            active={item.key === activeKey}\r\n            variant={variant}\r\n            size={size}\r\n            orientation={orientation}\r\n            disabled={item.disabled}\r\n            onClick={() => handleTabClick(item.key)}\r\n          >\r\n            {item.label}\r\n          </TabButton>\r\n        ))}\r\n      </TabsList>\r\n      <TabContent orientation={orientation}>\r\n        {activeContent}\r\n      </TabContent>\r\n    </TabsContainer>\r\n  );\r\n};\r\n","import styled from 'styled-components';\r\nimport { theme } from '../../tokens/theme';\r\n\r\n// Container principal\r\nexport const Container = styled.div`\r\n  padding: ${theme.spacing[6]};\r\n  background: ${theme.colors.gray[50]};\r\n  min-height: 100vh;\r\n`;\r\n\r\n// Header\r\nexport const Header = styled.header`\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  margin-bottom: ${theme.spacing[8]};\r\n  background: ${theme.colors.white};\r\n  padding: ${theme.spacing[6]};\r\n  border-radius: ${theme.borderRadius.lg};\r\n  box-shadow: ${theme.shadows.sm};\r\n`;\r\n\r\nexport const HeaderTitle = styled.h1`\r\n  font-size: ${theme.typography.fontSize['3xl']};\r\n  font-weight: ${theme.typography.fontWeight.bold};\r\n  color: ${theme.colors.gray[900]};\r\n  margin: 0;\r\n`;\r\n\r\nexport const HeaderActions = styled.div`\r\n  display: flex;\r\n  gap: ${theme.spacing[3]};\r\n`;\r\n\r\n// Grid de estatísticas\r\nexport const StatsGrid = styled.div`\r\n  display: grid;\r\n  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\r\n  gap: ${theme.spacing[6]};\r\n  margin-bottom: ${theme.spacing[8]};\r\n`;\r\n\r\nexport const StatCard = styled.div`\r\n  background: ${theme.colors.white};\r\n  padding: ${theme.spacing[6]};\r\n  border-radius: ${theme.borderRadius.lg};\r\n  box-shadow: ${theme.shadows.sm};\r\n  border: 1px solid ${theme.colors.gray[200]};\r\n`;\r\n\r\nexport const StatNumber = styled.div`\r\n  font-size: ${theme.typography.fontSize['3xl']};\r\n  font-weight: ${theme.typography.fontWeight.bold};\r\n  color: ${theme.colors.primary[600]};\r\n  margin-bottom: ${theme.spacing[2]};\r\n`;\r\n\r\nexport const StatLabel = styled.div`\r\n  font-size: ${theme.typography.fontSize.sm};\r\n  color: ${theme.colors.gray[600]};\r\n  text-transform: uppercase;\r\n  font-weight: ${theme.typography.fontWeight.medium};\r\n  letter-spacing: ${theme.typography.letterSpacing.wide};\r\n`;\r\n\r\n// Layout principal\r\nexport const MainContent = styled.div`\r\n  display: grid;\r\n  grid-template-columns: 2fr 1fr;\r\n  gap: ${theme.spacing[6]};\r\n`;\r\n\r\nexport const Section = styled.div`\r\n  background: ${theme.colors.white};\r\n  padding: ${theme.spacing[6]};\r\n  border-radius: ${theme.borderRadius.lg};\r\n  box-shadow: ${theme.shadows.sm};\r\n  border: 1px solid ${theme.colors.gray[200]};\r\n`;\r\n\r\nexport const SectionTitle = styled.h2`\r\n  font-size: ${theme.typography.fontSize.xl};\r\n  font-weight: ${theme.typography.fontWeight.semibold};\r\n  color: ${theme.colors.gray[900]};\r\n  margin-bottom: ${theme.spacing[4]};\r\n`;\r\n\r\n// Lista de projetos\r\nexport const List = styled.div`\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: ${theme.spacing[3]};\r\n`;\r\n\r\nexport const ListItem = styled.div`\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  padding: ${theme.spacing[4]};\r\n  border: 1px solid ${theme.colors.gray[200]};\r\n  border-radius: ${theme.borderRadius.md};\r\n  transition: ${theme.transitions.all};\r\n  \r\n  &:hover {\r\n    background: ${theme.colors.gray[50]};\r\n    border-color: ${theme.colors.primary[300]};\r\n  }\r\n`;\r\n\r\nexport const ListItemContent = styled.div`\r\n  flex: 1;\r\n`;\r\n\r\nexport const ListItemTitle = styled.h3`\r\n  font-size: ${theme.typography.fontSize.base};\r\n  font-weight: ${theme.typography.fontWeight.semibold};\r\n  color: ${theme.colors.gray[900]};\r\n  margin: 0 0 ${theme.spacing[1]} 0;\r\n`;\r\n\r\nexport const ListItemActions = styled.div`\r\n  display: flex;\r\n  gap: ${theme.spacing[2]};\r\n`;\r\n\r\n// Badge de status\r\ninterface StatusBadgeProps {\r\n  status: 'active' | 'pending' | 'completed' | 'success' | 'warning' | 'error';\r\n}\r\n\r\nexport const StatusBadge = styled.span<StatusBadgeProps>`\r\n  display: inline-flex;\r\n  align-items: center;\r\n  padding: ${theme.spacing[1]} ${theme.spacing[2]};\r\n  border-radius: ${theme.borderRadius.full};\r\n  font-size: ${theme.typography.fontSize.xs};\r\n  font-weight: ${theme.typography.fontWeight.medium};\r\n  text-transform: uppercase;\r\n  \r\n  ${props => {\r\n    switch (props.status) {\r\n      case 'active':\r\n      case 'success':\r\n        return `\r\n          background: ${theme.colors.success[100]};\r\n          color: ${theme.colors.success[600]};\r\n        `;\r\n      case 'pending':\r\n      case 'warning':\r\n        return `\r\n          background: ${theme.colors.warning[100]};\r\n          color: ${theme.colors.warning[600]};\r\n        `;\r\n      case 'error':\r\n        return `\r\n          background: ${theme.colors.error[100]};\r\n          color: ${theme.colors.error[600]};\r\n        `;\r\n      case 'completed':\r\n        return `\r\n          background: ${theme.colors.gray[100]};\r\n          color: ${theme.colors.gray[700]};\r\n        `;\r\n      default:\r\n        return '';\r\n    }\r\n  }}\r\n`;\r\n\r\n// Lista de ações\r\nexport const ActionList = styled.div`\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: ${theme.spacing[3]};\r\n`;\r\n\r\n// Card genérico\r\nexport const Card = styled.div`\r\n  background: ${theme.colors.white};\r\n  padding: ${theme.spacing[6]};\r\n  border-radius: ${theme.borderRadius.lg};\r\n  box-shadow: ${theme.shadows.sm};\r\n  border: 1px solid ${theme.colors.gray[200]};\r\n`;\r\n\r\n// Flex utilities\r\nexport const Flex = styled.div<{\r\n  direction?: 'row' | 'column';\r\n  align?: 'start' | 'center' | 'end' | 'stretch';\r\n  justify?: 'start' | 'center' | 'end' | 'between' | 'around';\r\n  gap?: keyof typeof theme.spacing;\r\n  wrap?: boolean;\r\n}>`\r\n  display: flex;\r\n  flex-direction: ${props => props.direction || 'row'};\r\n  align-items: ${props => {\r\n    switch (props.align) {\r\n      case 'start': return 'flex-start';\r\n      case 'center': return 'center';\r\n      case 'end': return 'flex-end';\r\n      case 'stretch': return 'stretch';\r\n      default: return 'stretch';\r\n    }\r\n  }};\r\n  justify-content: ${props => {\r\n    switch (props.justify) {\r\n      case 'start': return 'flex-start';\r\n      case 'center': return 'center';\r\n      case 'end': return 'flex-end';\r\n      case 'between': return 'space-between';\r\n      case 'around': return 'space-around';\r\n      default: return 'flex-start';\r\n    }\r\n  }};\r\n  gap: ${props => props.gap ? theme.spacing[props.gap] : '0'};\r\n  flex-wrap: ${props => props.wrap ? 'wrap' : 'nowrap'};\r\n`;\r\n\r\n// Grid utilities\r\nexport const Grid = styled.div<{\r\n  columns?: number | string;\r\n  gap?: keyof typeof theme.spacing;\r\n  rows?: number | string;\r\n}>`\r\n  display: grid;\r\n  grid-template-columns: ${props => {\r\n    if (typeof props.columns === 'number') {\r\n      return `repeat(${props.columns}, 1fr)`;\r\n    }\r\n    return props.columns || 'repeat(auto-fit, minmax(250px, 1fr))';\r\n  }};\r\n  ${props => props.rows && `grid-template-rows: ${typeof props.rows === 'number' ? `repeat(${props.rows}, 1fr)` : props.rows};`}\r\n  gap: ${props => props.gap ? theme.spacing[props.gap] : theme.spacing[4]};\r\n`;\r\n"],"mappings":"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","names":["styled","import_styled_components","import_jsx_runtime","styled","import_styled_components","import_jsx_runtime","styled","borderRadius","import_styled_components","import_jsx_runtime","styled","import_react","import_styled_components","import_jsx_runtime","colors","styled","import_styled_components","import_jsx_runtime","styled","import_react","import_styled_components","import_jsx_runtime","styled","React","import_react","import_styled_components","import_jsx_runtime","styled","React","import_react","import_styled_components","import_jsx_runtime","styled","item","import_styled_components","styled","Card"]}