import 'package:flutter/material.dart';

/// Genex Issuer Console - Color Tokens
///
/// 企业端主题：沿用紫色主色系，更沉稳的企业风格
/// Primary: #6C5CE7 (与Consumer App共享品牌色)
class AppColors {
  AppColors._();

  // Primary Purple Palette (共享品牌色)
  static const Color primary = Color(0xFF6C5CE7);
  static const Color primaryLight = Color(0xFF9B8FFF);
  static const Color primaryDark = Color(0xFF4834D4);
  static const Color primarySurface = Color(0xFFF3F1FF);
  static const Color primaryContainer = Color(0xFFE8E5FF);

  // Neutral Palette
  static const Color gray50 = Color(0xFFF8F9FC);
  static const Color gray100 = Color(0xFFF1F3F8);
  static const Color gray200 = Color(0xFFE4E7F0);
  static const Color gray300 = Color(0xFFCDD2DE);
  static const Color gray400 = Color(0xFFA0A8BE);
  static const Color gray500 = Color(0xFF7A839E);
  static const Color gray600 = Color(0xFF5C6478);
  static const Color gray700 = Color(0xFF3D4459);
  static const Color gray800 = Color(0xFF262B3A);
  static const Color gray900 = Color(0xFF141723);

  // Semantic Colors
  static const Color success = Color(0xFF00C48C);
  static const Color successLight = Color(0xFFE6FAF3);
  static const Color warning = Color(0xFFFFAB2E);
  static const Color warningLight = Color(0xFFFFF7E6);
  static const Color error = Color(0xFFFF4757);
  static const Color errorLight = Color(0xFFFFF0F0);
  static const Color info = Color(0xFF3B82F6);
  static const Color infoLight = Color(0xFFEFF6FF);

  // Background & Surface
  static const Color background = Color(0xFFF8F9FC);
  static const Color surface = Color(0xFFFFFFFF);
  static const Color surfaceVariant = Color(0xFFF1F3F8);

  // Text Colors
  static const Color textPrimary = Color(0xFF141723);
  static const Color textSecondary = Color(0xFF5C6478);
  static const Color textTertiary = Color(0xFFA0A8BE);
  static const Color textOnPrimary = Color(0xFFFFFFFF);

  // Border Colors
  static const Color border = Color(0xFFE4E7F0);
  static const Color borderLight = Color(0xFFF1F3F8);

  // Issuer Tier Colors (发行方层级)
  static const Color tierSilver = Color(0xFFA0A8BE);
  static const Color tierGold = Color(0xFFFFAB2E);
  static const Color tierPlatinum = Color(0xFF3B82F6);
  static const Color tierDiamond = Color(0xFF6C5CE7);

  // Credit Rating Colors
  static const Color creditAAA = Color(0xFF00C48C);
  static const Color creditAA = Color(0xFF3B82F6);
  static const Color creditA = Color(0xFF6C5CE7);
  static const Color creditBBB = Color(0xFFFFAB2E);
  static const Color creditBB = Color(0xFFFF6B6B);

  // Gradients
  static const LinearGradient primaryGradient = LinearGradient(
    begin: Alignment.topLeft,
    end: Alignment.bottomRight,
    colors: [Color(0xFF6C5CE7), Color(0xFF9B8FFF)],
  );

  static const LinearGradient cardGradient = LinearGradient(
    begin: Alignment.topLeft,
    end: Alignment.bottomRight,
    colors: [Color(0xFF6C5CE7), Color(0xFF4834D4)],
  );
}
