<Application x:Class="Authorization.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>

        <!-- ========== Color Palette ========== -->
        <SolidColorBrush x:Key="PrimaryBrush" Color="#3949AB"/>
        <SolidColorBrush x:Key="PrimaryLightBrush" Color="#7986CB"/>
        <SolidColorBrush x:Key="PrimaryDarkBrush" Color="#283593"/>
        <SolidColorBrush x:Key="AccentBrush" Color="#FF6D00"/>
        <SolidColorBrush x:Key="PageBgBrush" Color="#EDF0F4"/>
        <SolidColorBrush x:Key="CardBgBrush" Color="#FFFFFF"/>
        <SolidColorBrush x:Key="TextPrimaryBrush" Color="#263238"/>
        <SolidColorBrush x:Key="TextSecondaryBrush" Color="#607D8B"/>
        <SolidColorBrush x:Key="TextHintBrush" Color="#90A4AE"/>
        <SolidColorBrush x:Key="DividerBrush" Color="#E0E4E8"/>
        <SolidColorBrush x:Key="SuccessBrush" Color="#43A047"/>
        <SolidColorBrush x:Key="ErrorBrush" Color="#E53935"/>

        <LinearGradientBrush x:Key="HeaderGradient" StartPoint="0,0" EndPoint="1,0">
            <GradientStop Color="#283593" Offset="0"/>
            <GradientStop Color="#3949AB" Offset="0.5"/>
            <GradientStop Color="#1A237E" Offset="1"/>
        </LinearGradientBrush>

        <LinearGradientBrush x:Key="PrimaryGradient" StartPoint="0,0" EndPoint="0,1">
            <GradientStop Color="#3949AB" Offset="0"/>
            <GradientStop Color="#283593" Offset="1"/>
        </LinearGradientBrush>

        <LinearGradientBrush x:Key="AccentGradient" StartPoint="0,0" EndPoint="0,1">
            <GradientStop Color="#FF9100" Offset="0"/>
            <GradientStop Color="#FF6D00" Offset="1"/>
        </LinearGradientBrush>

        <!-- ========== TextBox ========== -->
        <Style TargetType="TextBox">
            <Setter Property="BorderBrush" Value="#CBD1D8"/>
            <Setter Property="BorderThickness" Value="1"/>
            <Setter Property="FontSize" Value="13"/>
            <Setter Property="Foreground" Value="#263238"/>
            <Setter Property="Padding" Value="8,0"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="TextBox">
                        <Border x:Name="border" Background="White"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                CornerRadius="3" SnapsToDevicePixels="True">
                            <ScrollViewer x:Name="PART_ContentHost"
                                          Padding="{TemplateBinding Padding}"
                                          VerticalAlignment="Center"/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsFocused" Value="True">
                                <Setter Property="BorderBrush" Value="#3949AB"/>
                                <Setter TargetName="border" Property="BorderThickness" Value="1.5"/>
                            </Trigger>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="BorderBrush" Value="#9FA8DA"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <!-- ========== DatePicker ========== -->
        <Style TargetType="DatePicker">
            <Setter Property="FontSize" Value="13"/>
            <Setter Property="Foreground" Value="#263238"/>
        </Style>

        <!-- ========== Primary Button ========== -->
        <Style x:Key="PrimaryButton" TargetType="Button">
            <Setter Property="Foreground" Value="White"/>
            <Setter Property="FontSize" Value="14"/>
            <Setter Property="FontWeight" Value="SemiBold"/>
            <Setter Property="BorderThickness" Value="0"/>
            <Setter Property="Cursor" Value="Hand"/>
            <Setter Property="Padding" Value="28,10"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border x:Name="border" CornerRadius="4"
                                Padding="{TemplateBinding Padding}"
                                Background="#3949AB"
                                RenderTransformOrigin="0.5,0.5">
                            <Border.RenderTransform>
                                <ScaleTransform/>
                            </Border.RenderTransform>
                            <Border.Effect>
                                <DropShadowEffect BlurRadius="4" ShadowDepth="2" Opacity="0.2"
                                                  Color="#3949AB"/>
                            </Border.Effect>
                            <ContentPresenter HorizontalAlignment="Center"
                                              VerticalAlignment="Center"
                                              RecognizesAccessKey="True"
                                              TextBlock.FontWeight="SemiBold"/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter TargetName="border" Property="Background" Value="#5C6BC0"/>
                            </Trigger>
                            <Trigger Property="IsPressed" Value="True">
                                <Setter TargetName="border" Property="Background" Value="#283593"/>
                                <Setter TargetName="border" Property="RenderTransform">
                                    <Setter.Value>
                                        <ScaleTransform ScaleX="0.97" ScaleY="0.97"/>
                                    </Setter.Value>
                                </Setter>
                            </Trigger>
                            <Trigger Property="IsEnabled" Value="False">
                                <Setter TargetName="border" Property="Opacity" Value="0.45"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <!-- ========== Accent Button (orange, for important actions) ========== -->
        <Style x:Key="AccentButton" TargetType="Button">
            <Setter Property="Foreground" Value="White"/>
            <Setter Property="FontSize" Value="14"/>
            <Setter Property="FontWeight" Value="SemiBold"/>
            <Setter Property="BorderThickness" Value="0"/>
            <Setter Property="Cursor" Value="Hand"/>
            <Setter Property="Padding" Value="28,10"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border x:Name="border" CornerRadius="4"
                                Padding="{TemplateBinding Padding}"
                                Background="#FF6D00"
                                RenderTransformOrigin="0.5,0.5">
                            <Border.RenderTransform>
                                <ScaleTransform/>
                            </Border.RenderTransform>
                            <Border.Effect>
                                <DropShadowEffect BlurRadius="4" ShadowDepth="2" Opacity="0.2"
                                                  Color="#FF6D00"/>
                            </Border.Effect>
                            <ContentPresenter HorizontalAlignment="Center"
                                              VerticalAlignment="Center"
                                              RecognizesAccessKey="True"
                                              TextBlock.FontWeight="SemiBold"/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter TargetName="border" Property="Background" Value="#FF9100"/>
                            </Trigger>
                            <Trigger Property="IsPressed" Value="True">
                                <Setter TargetName="border" Property="Background" Value="#E65100"/>
                                <Setter TargetName="border" Property="RenderTransform">
                                    <Setter.Value>
                                        <ScaleTransform ScaleX="0.97" ScaleY="0.97"/>
                                    </Setter.Value>
                                </Setter>
                            </Trigger>
                            <Trigger Property="IsEnabled" Value="False">
                                <Setter TargetName="border" Property="Opacity" Value="0.45"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <!-- ========== Secondary Button ========== -->
        <Style x:Key="SecondaryButton" TargetType="Button">
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="Foreground" Value="#3949AB"/>
            <Setter Property="FontSize" Value="12"/>
            <Setter Property="BorderBrush" Value="#C5CAE9"/>
            <Setter Property="BorderThickness" Value="1"/>
            <Setter Property="Cursor" Value="Hand"/>
            <Setter Property="Padding" Value="8,5"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border x:Name="border" Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                CornerRadius="3" Padding="{TemplateBinding Padding}">
                            <ContentPresenter HorizontalAlignment="Center"
                                              VerticalAlignment="Center"
                                              RecognizesAccessKey="True"/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter TargetName="border" Property="Background" Value="#E8EAF6"/>
                                <Setter TargetName="border" Property="BorderBrush" Value="#3949AB"/>
                                <Setter Property="Foreground" Value="#283593"/>
                            </Trigger>
                            <Trigger Property="IsPressed" Value="True">
                                <Setter TargetName="border" Property="Background" Value="#C5CAE9"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <!-- ========== Card ========== -->
        <Style x:Key="CardBorder" TargetType="Border">
            <Setter Property="Background" Value="White"/>
            <Setter Property="CornerRadius" Value="6"/>
            <Setter Property="Padding" Value="22,18"/>
            <Setter Property="Effect">
                <Setter.Value>
                    <DropShadowEffect BlurRadius="12" ShadowDepth="2" Opacity="0.07"
                                      Color="#3F51B5"/>
                </Setter.Value>
            </Setter>
        </Style>

        <!-- ========== Section Title ========== -->
        <Style x:Key="SectionTitle" TargetType="TextBlock">
            <Setter Property="FontSize" Value="15"/>
            <Setter Property="FontWeight" Value="SemiBold"/>
            <Setter Property="Foreground" Value="#1A237E"/>
            <Setter Property="Margin" Value="0,0,0,14"/>
        </Style>

        <!-- ========== Field Label ========== -->
        <Style x:Key="FieldLabel" TargetType="TextBlock">
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="FontSize" Value="13"/>
            <Setter Property="Foreground" Value="#546E7A"/>
        </Style>

    </Application.Resources>
</Application>
