I use official Flutter standards for styling: ThemeExtensions.

ThemeExtension example

import 'dart:ui';

import 'package:flutter/material.dart';
import 'package:myoro_flutter_annotations/myoro_flutter_annotations.dart';
import 'package:widget_architecture/widget_architecture.dart';

part 'home_screen_theme_extension.g.dart';

/// [ThemeExtension] of [HomeScreen].
@immutable
@myoroThemeExtension
final class HomeScreenThemeExtension
    extends ThemeExtension<HomeScreenThemeExtension>
    with _$HomeScreenThemeExtensionMixin {
  /// Default constructor.
  const HomeScreenThemeExtension({
    required this.bodySpacing,
    required this.labelTextStyle,
  });

  /// Builder constructor.
  HomeScreenThemeExtension.builder(TextTheme textTheme)
    : bodySpacing = kMultiplier * 2,
      labelTextStyle = textTheme.titleLarge!;

  /// Body spacing.
  final double bodySpacing;

  /// [TextStyle] of the label.
  final TextStyle labelTextStyle;

  /// Lerp function.
  @override
  HomeScreenThemeExtension lerp(HomeScreenThemeExtension? other, double t) {
    return other is! HomeScreenThemeExtension
        ? this
        : copyWith(
            bodySpacing: lerpDouble(bodySpacing, other.bodySpacing, t)!,
            labelTextStyle: TextStyle.lerp(
              labelTextStyle,
              other.labelTextStyle,
              t,
            )!,
          );
  }
}

Where do I initialize ThemeExtensions?

Initialize all ThemeExtensions of your application with the ThemeData object of your application's MaterialApp.