import 'package:flutter/material.dart'; class AppColors { static const Color primary = Color(0xFF1B5E20); static const Color primaryLight = Color(0xFF388E3C); static const Color accent = Color(0xFFFF6F00); static const Color surface = Color(0xFFFFFFFF); static const Color background = Color(0xFFF5F5F5); static const Color cardBackground = Color(0xFFFFFFFF); static const Color textPrimary = Color(0xFF1A1A1A); static const Color textSecondary = Color(0xFF757575); static const Color divider = Color(0xFFE0E0E0); static const Color success = Color(0xFF2E7D32); static const Color warning = Color(0xFFF57F17); static const Color error = Color(0xFFC62828); static const Color info = Color(0xFF0277BD); // Status colors static const Color statusNew = Color(0xFF1565C0); static const Color statusInProgress = Color(0xFFE65100); static const Color statusPicked = Color(0xFF2E7D32); static const Color statusStored = Color(0xFF6A1B9A); static const Color statusIssued = Color(0xFF424242); // Item type colors static const Color itemNormal = Color(0xFFFFFFFF); static const Color itemCold = Color(0xFFE3F2FD); static const Color itemFrozen = Color(0xFFE8EAF6); static const Color itemAlcohol = Color(0xFFFFF8E1); static const Color itemClarify = Color(0xFFFFF3E0); } class AppTheme { static ThemeData get theme => ThemeData( useMaterial3: true, colorScheme: ColorScheme.fromSeed( seedColor: AppColors.primary, primary: AppColors.primary, secondary: AppColors.accent, surface: AppColors.surface, error: AppColors.error, ), scaffoldBackgroundColor: AppColors.background, appBarTheme: const AppBarTheme( backgroundColor: AppColors.primary, foregroundColor: Colors.white, elevation: 0, centerTitle: false, titleTextStyle: TextStyle( fontSize: 18, fontWeight: FontWeight.w600, color: Colors.white, ), ), cardTheme: CardTheme( elevation: 1, color: AppColors.cardBackground, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 4), ), elevatedButtonTheme: ElevatedButtonThemeData( style: ElevatedButton.styleFrom( backgroundColor: AppColors.primary, foregroundColor: Colors.white, minimumSize: const Size(double.infinity, 52), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), textStyle: const TextStyle(fontSize: 16, fontWeight: FontWeight.w600), ), ), textTheme: const TextTheme( headlineMedium: TextStyle(fontSize: 24, fontWeight: FontWeight.bold, color: AppColors.textPrimary), headlineSmall: TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: AppColors.textPrimary), titleLarge: TextStyle(fontSize: 18, fontWeight: FontWeight.w600, color: AppColors.textPrimary), titleMedium: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: AppColors.textPrimary), bodyLarge: TextStyle(fontSize: 16, color: AppColors.textPrimary), bodyMedium: TextStyle(fontSize: 14, color: AppColors.textPrimary), bodySmall: TextStyle(fontSize: 12, color: AppColors.textSecondary), labelLarge: TextStyle(fontSize: 14, fontWeight: FontWeight.w600), ), inputDecorationTheme: InputDecorationTheme( border: OutlineInputBorder(borderRadius: BorderRadius.circular(12)), filled: true, fillColor: AppColors.surface, contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 14), ), dividerTheme: const DividerThemeData(color: AppColors.divider, thickness: 1), ); }