import 'package:flutter/material.dart';

/// App color palette following the Worker app design system.
///
/// Primary colors are used for main UI elements, tier colors for membership cards,
/// status colors for feedback, and neutral colors for text and backgrounds.
class AppColors {
  // Primary Colors
  /// Main brand color - Used for primary buttons, app bar, etc.
  static const primaryBlue = Color(0xFF005B9A);

  /// Light variant of primary color - Used for highlights and accents
  static const lightBlue = Color(0xFF38B6FF);

  /// Accent color for special actions - Used for FAB, links, etc.
  static const accentCyan = Color(0xFF35C6F4);

  // Status Colors
  /// Success state - Used for completed actions, positive feedback
  static const success = Color(0xFF28a745);

  /// Warning state - Used for caution messages, pending states
  static const warning = Color(0xFFffc107);

  /// Danger/Error state - Used for errors, destructive actions
  static const danger = Color(0xFFdc3545);

  /// Info state - Used for informational messages
  static const info = Color(0xFF17a2b8);

  // Neutral Colors
  /// Lightest background shade
  static const grey50 = Color(0xFFf8f9fa);

  /// Light background/border shade
  static const grey100 = Color(0xFFe9ecef);

  /// Medium grey for secondary text
  static const grey500 = Color(0xFF6c757d);

  /// Dark grey for primary text
  static const grey900 = Color(0xFF343a40);

  /// Pure white
  static const white = Color(0xFFFFFFFF);

  // Tier Gradients for Membership Cards
  /// Diamond tier gradient (purple-blue)
  static const diamondGradient = LinearGradient(
    colors: [Color(0xFF4A00E0), Color(0xFF8E2DE2)],
    begin: Alignment.topLeft,
    end: Alignment.bottomRight,
  );

  /// Platinum tier gradient (grey-silver)
  static const platinumGradient = LinearGradient(
    colors: [Color(0xFF7F8C8D), Color(0xFFBDC3C7)],
    begin: Alignment.topLeft,
    end: Alignment.bottomRight,
  );

  /// Gold tier gradient (yellow-orange)
  static const goldGradient = LinearGradient(
    colors: [Color(0xFFf7b733), Color(0xFFfc4a1a)],
    begin: Alignment.topLeft,
    end: Alignment.bottomRight,
  );
}
