import 'package:flutter/material.dart'; class AppColors { static const primary = Color(0xFF1D9E75); static const primaryLight = Color(0xFFE8F7F2); static const primaryDark = Color(0xFF158A62); static const bg = Color(0xFFF4F6F8); static const surface = Color(0xFFFFFFFF); static const border = Color(0xFFE8EAED); static const text = Color(0xFF1A1A2E); static const textSub = Color(0xFF6B7280); static const warning = Color(0xFFF59E0B); static const warningLight = Color(0xFFFEF3C7); static const danger = Color(0xFFEF4444); static const dangerLight = Color(0xFFFEE2E2); static const blue = Color(0xFF3B82F6); static const blueLight = Color(0xFFEFF6FF); static const purple = Color(0xFF8B5CF6); } class AppTheme { static ThemeData get light => ThemeData( useMaterial3: true, colorScheme: ColorScheme.fromSeed( seedColor: AppColors.primary, primary: AppColors.primary, surface: AppColors.surface, ), scaffoldBackgroundColor: AppColors.bg, appBarTheme: const AppBarTheme( backgroundColor: AppColors.surface, foregroundColor: AppColors.text, elevation: 0, centerTitle: false, titleTextStyle: TextStyle( color: AppColors.text, fontSize: 17, fontWeight: FontWeight.w700, ), ), cardTheme: CardTheme( color: AppColors.surface, elevation: 0, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), side: const BorderSide(color: AppColors.border), ), margin: EdgeInsets.zero, ), inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: AppColors.surface, contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 14), border: OutlineInputBorder( borderRadius: BorderRadius.circular(10), borderSide: const BorderSide(color: AppColors.border), ), enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(10), borderSide: const BorderSide(color: AppColors.border), ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(10), borderSide: const BorderSide(color: AppColors.primary, width: 1.5), ), hintStyle: const TextStyle(color: AppColors.textSub, fontSize: 14), ), elevatedButtonTheme: ElevatedButtonThemeData( style: ElevatedButton.styleFrom( backgroundColor: AppColors.primary, foregroundColor: Colors.white, elevation: 0, minimumSize: const Size(double.infinity, 48), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), textStyle: const TextStyle(fontSize: 15, fontWeight: FontWeight.w600), ), ), outlinedButtonTheme: OutlinedButtonThemeData( style: OutlinedButton.styleFrom( foregroundColor: AppColors.primary, side: const BorderSide(color: AppColors.primary), minimumSize: const Size(double.infinity, 48), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), textStyle: const TextStyle(fontSize: 15, fontWeight: FontWeight.w600), ), ), textButtonTheme: TextButtonThemeData( style: TextButton.styleFrom( foregroundColor: AppColors.primary, textStyle: const TextStyle(fontWeight: FontWeight.w600), ), ), chipTheme: ChipThemeData( backgroundColor: AppColors.bg, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(999), side: const BorderSide(color: AppColors.border), ), ), dividerTheme: const DividerThemeData(color: AppColors.border, space: 1), floatingActionButtonTheme: const FloatingActionButtonThemeData( backgroundColor: AppColors.primary, foregroundColor: Colors.white, ), ); }