import 'package:flutter/material.dart'; class AppTheme { static ThemeData light() { const canvas = Color(0xFFF3EDE0); const primary = Color(0xFF16423C); const secondary = Color(0xFFC86B31); const accent = Color(0xFF234C63); const surface = Color(0xFFFFFBF5); const ink = Color(0xFF1F1E1A); final colorScheme = ColorScheme.fromSeed( seedColor: primary, primary: primary, secondary: secondary, tertiary: accent, surface: surface, brightness: Brightness.light, ); return ThemeData( useMaterial3: true, colorScheme: colorScheme, scaffoldBackgroundColor: canvas, appBarTheme: const AppBarTheme( backgroundColor: Colors.transparent, foregroundColor: ink, elevation: 0, centerTitle: false, ), textTheme: const TextTheme( displaySmall: TextStyle( fontSize: 34, height: 1.05, fontWeight: FontWeight.w800, color: ink, ), headlineMedium: TextStyle( fontSize: 24, height: 1.15, fontWeight: FontWeight.w700, color: ink, ), titleLarge: TextStyle( fontSize: 20, fontWeight: FontWeight.w700, color: ink, ), titleMedium: TextStyle( fontSize: 15, fontWeight: FontWeight.w700, color: ink, ), bodyLarge: TextStyle(fontSize: 16, height: 1.45, color: ink), bodyMedium: TextStyle( fontSize: 14, height: 1.45, color: Color(0xFF4A4A43), ), ), cardTheme: CardThemeData( color: surface, elevation: 0, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(28), side: const BorderSide(color: Color(0xFFD9CEBA)), ), ), filledButtonTheme: FilledButtonThemeData( style: FilledButton.styleFrom( backgroundColor: primary, foregroundColor: Colors.white, padding: const EdgeInsets.symmetric(horizontal: 18, vertical: 16), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(18), ), textStyle: const TextStyle(fontWeight: FontWeight.w700, fontSize: 15), ), ), outlinedButtonTheme: OutlinedButtonThemeData( style: OutlinedButton.styleFrom( foregroundColor: primary, side: const BorderSide(color: primary), padding: const EdgeInsets.symmetric(horizontal: 18, vertical: 16), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(18), ), textStyle: const TextStyle(fontWeight: FontWeight.w700, fontSize: 15), ), ), ); } }