478 lines
25 KiB
XML
478 lines
25 KiB
XML
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
|
|
|
<!-- =============================================================
|
|
MATERIAL DESIGN 3 � TOKEN SYSTEM (Light Mode)
|
|
Reference: https://m3.material.io/styles/color/roles
|
|
============================================================= -->
|
|
|
|
<!-- Primary palette -->
|
|
<Color x:Key="CPrimary">#6750A4</Color>
|
|
<Color x:Key="COnPrimary">#FFFFFF</Color>
|
|
<Color x:Key="CPrimaryContainer">#EADDFF</Color>
|
|
<Color x:Key="COnPrimaryContainer">#21005D</Color>
|
|
|
|
<!-- Secondary palette -->
|
|
<Color x:Key="CSecondary">#625B71</Color>
|
|
<Color x:Key="COnSecondary">#FFFFFF</Color>
|
|
<Color x:Key="CSecondaryContainer">#E8DEF8</Color>
|
|
<Color x:Key="COnSecondaryContainer">#1D192B</Color>
|
|
|
|
<!-- Tertiary palette -->
|
|
<Color x:Key="CTertiary">#7D5260</Color>
|
|
<Color x:Key="COnTertiary">#FFFFFF</Color>
|
|
<Color x:Key="CTertiaryContainer">#FFD8E4</Color>
|
|
<Color x:Key="COnTertiaryContainer">#31111D</Color>
|
|
|
|
<!-- Error -->
|
|
<Color x:Key="CError">#B3261E</Color>
|
|
<Color x:Key="COnError">#FFFFFF</Color>
|
|
<Color x:Key="CErrorContainer">#F9DEDC</Color>
|
|
|
|
<!-- Surface / Background -->
|
|
<Color x:Key="CSurface">#FEF7FF</Color>
|
|
<Color x:Key="COnSurface">#1C1B1F</Color>
|
|
<Color x:Key="CSurfaceVariant">#E7E0EC</Color>
|
|
<Color x:Key="COnSurfaceVariant">#49454F</Color>
|
|
<Color x:Key="CSurfaceContainer">#F3EDF7</Color>
|
|
<Color x:Key="CSurfaceContainerHigh">#ECE6F0</Color>
|
|
<Color x:Key="CSurfaceContainerHighest">#E6E0E9</Color>
|
|
<Color x:Key="CSurfaceContainerLow">#F7F2FA</Color>
|
|
<Color x:Key="CBackground">#FEF7FF</Color>
|
|
<Color x:Key="COnBackground">#1C1B1F</Color>
|
|
|
|
<!-- Outline -->
|
|
<Color x:Key="COutline">#79747E</Color>
|
|
<Color x:Key="COutlineVariant">#CAC4D0</Color>
|
|
|
|
<!-- Misc -->
|
|
<Color x:Key="CInversePrimary">#D0BCFF</Color>
|
|
<Color x:Key="CShadow">#000000</Color>
|
|
|
|
<!-- Legacy color keys (kept for compatibility) -->
|
|
<Color x:Key="CBase">#FEF7FF</Color>
|
|
<Color x:Key="CMantle">#F3EDF7</Color>
|
|
<Color x:Key="CCrust">#ECE6F0</Color>
|
|
<Color x:Key="CSurface0">#F7F2FA</Color>
|
|
<Color x:Key="CSurface1">#F3EDF7</Color>
|
|
<Color x:Key="CSurface2">#ECE6F0</Color>
|
|
<Color x:Key="COverlay0">#49454F</Color>
|
|
<Color x:Key="CText">#1C1B1F</Color>
|
|
<Color x:Key="CSubtext0">#49454F</Color>
|
|
<Color x:Key="CSubtext1">#625B71</Color>
|
|
<Color x:Key="CBlue">#6750A4</Color>
|
|
<Color x:Key="CGreen">#7D5260</Color>
|
|
<Color x:Key="CRed">#B3261E</Color>
|
|
<Color x:Key="CPeach">#625B71</Color>
|
|
<Color x:Key="CLavender">#EADDFF</Color>
|
|
|
|
<!-- MD3 Brushes -->
|
|
<SolidColorBrush x:Key="BrPrimary" Color="{StaticResource CPrimary}"/>
|
|
<SolidColorBrush x:Key="BrOnPrimary" Color="{StaticResource COnPrimary}"/>
|
|
<SolidColorBrush x:Key="BrPrimaryContainer" Color="{StaticResource CPrimaryContainer}"/>
|
|
<SolidColorBrush x:Key="BrOnPrimaryContainer" Color="{StaticResource COnPrimaryContainer}"/>
|
|
<SolidColorBrush x:Key="BrSecondary" Color="{StaticResource CSecondary}"/>
|
|
<SolidColorBrush x:Key="BrOnSecondary" Color="{StaticResource COnSecondary}"/>
|
|
<SolidColorBrush x:Key="BrSecondaryContainer" Color="{StaticResource CSecondaryContainer}"/>
|
|
<SolidColorBrush x:Key="BrOnSecondaryContainer" Color="{StaticResource COnSecondaryContainer}"/>
|
|
<SolidColorBrush x:Key="BrTertiary" Color="{StaticResource CTertiary}"/>
|
|
<SolidColorBrush x:Key="BrTertiaryContainer" Color="{StaticResource CTertiaryContainer}"/>
|
|
<SolidColorBrush x:Key="BrOnTertiaryContainer" Color="{StaticResource COnTertiaryContainer}"/>
|
|
<SolidColorBrush x:Key="BrError" Color="{StaticResource CError}"/>
|
|
<SolidColorBrush x:Key="BrSurface" Color="{StaticResource CSurface}"/>
|
|
<SolidColorBrush x:Key="BrOnSurface" Color="{StaticResource COnSurface}"/>
|
|
<SolidColorBrush x:Key="BrSurfaceVariant" Color="{StaticResource CSurfaceVariant}"/>
|
|
<SolidColorBrush x:Key="BrOnSurfaceVariant" Color="{StaticResource COnSurfaceVariant}"/>
|
|
<SolidColorBrush x:Key="BrSurfaceContainer" Color="{StaticResource CSurfaceContainer}"/>
|
|
<SolidColorBrush x:Key="BrSurfaceContainerHigh" Color="{StaticResource CSurfaceContainerHigh}"/>
|
|
<SolidColorBrush x:Key="BrSurfaceContainerHighest" Color="{StaticResource CSurfaceContainerHighest}"/>
|
|
<SolidColorBrush x:Key="BrSurfaceContainerLow" Color="{StaticResource CSurfaceContainerLow}"/>
|
|
<SolidColorBrush x:Key="BrBackground" Color="{StaticResource CBackground}"/>
|
|
<SolidColorBrush x:Key="BrOutline" Color="{StaticResource COutline}"/>
|
|
<SolidColorBrush x:Key="BrOutlineVariant" Color="{StaticResource COutlineVariant}"/>
|
|
|
|
<!-- Legacy brush aliases used by existing XAML -->
|
|
<SolidColorBrush x:Key="BrBase" Color="{StaticResource CBackground}"/>
|
|
<SolidColorBrush x:Key="BrMantle" Color="{StaticResource CSurfaceContainer}"/>
|
|
<SolidColorBrush x:Key="BrSurface0" Color="{StaticResource CSurfaceContainerLow}"/>
|
|
<SolidColorBrush x:Key="BrSurface1" Color="{StaticResource CSurfaceContainer}"/>
|
|
<SolidColorBrush x:Key="BrSurface2" Color="{StaticResource CSurfaceContainerHigh}"/>
|
|
<SolidColorBrush x:Key="BrOverlay0" Color="{StaticResource COnSurfaceVariant}"/>
|
|
<SolidColorBrush x:Key="BrText" Color="{StaticResource COnSurface}"/>
|
|
<SolidColorBrush x:Key="BrSubtext0" Color="{StaticResource COnSurfaceVariant}"/>
|
|
<SolidColorBrush x:Key="BrBlue" Color="{StaticResource CPrimary}"/>
|
|
<SolidColorBrush x:Key="BrGreen" Color="{StaticResource CTertiary}"/>
|
|
<SolidColorBrush x:Key="BrRed" Color="{StaticResource CError}"/>
|
|
<SolidColorBrush x:Key="BrPeach" Color="{StaticResource CSecondary}"/>
|
|
<SolidColorBrush x:Key="BrLavender" Color="{StaticResource CPrimaryContainer}"/>
|
|
<SolidColorBrush x:Key="BrBorder" Color="{StaticResource COutlineVariant}"/>
|
|
|
|
<!-- Elevation drop shadows (MD3 tonal elevation complement) -->
|
|
<DropShadowEffect x:Key="Elevation1" BlurRadius="3" ShadowDepth="1" Opacity="0.12" Color="{StaticResource CShadow}"/>
|
|
<DropShadowEffect x:Key="Elevation2" BlurRadius="6" ShadowDepth="2" Opacity="0.14" Color="{StaticResource CShadow}"/>
|
|
<DropShadowEffect x:Key="Elevation3" BlurRadius="12" ShadowDepth="4" Opacity="0.16" Color="{StaticResource CShadow}"/>
|
|
<DropShadowEffect x:Key="SubtleDropShadow" BlurRadius="6" ShadowDepth="2" Opacity="0.12" Color="{StaticResource CShadow}"/>
|
|
|
|
<!-- =============================================================
|
|
NAVIGATION RAIL BUTTON (MD3 � pill active indicator)
|
|
============================================================= -->
|
|
<Style x:Key="NavBtn" TargetType="RadioButton">
|
|
<Setter Property="Width" Value="80"/>
|
|
<Setter Property="Height" Value="72"/>
|
|
<Setter Property="Margin" Value="0,2"/>
|
|
<Setter Property="Cursor" Value="Hand"/>
|
|
<Setter Property="Foreground" Value="{StaticResource BrOnSurfaceVariant}"/>
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="RadioButton">
|
|
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Grid HorizontalAlignment="Center" Width="56" Height="32">
|
|
<!-- Active pill indicator -->
|
|
<Border x:Name="Pill" CornerRadius="16"
|
|
Background="Transparent"
|
|
HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
Width="56" Height="32"/>
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
</Grid>
|
|
<TextBlock x:Name="NavLabel"
|
|
Text="{TemplateBinding Tag}"
|
|
FontFamily="Roboto, Segoe UI" FontSize="12" FontWeight="Medium"
|
|
Foreground="{TemplateBinding Foreground}"
|
|
HorizontalAlignment="Center" TextAlignment="Center"
|
|
Margin="0,4,0,0"/>
|
|
</StackPanel>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Pill" Property="Background" Value="#1A6750A4"/>
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="True">
|
|
<Setter TargetName="Pill" Property="Background" Value="{StaticResource BrSecondaryContainer}"/>
|
|
<Setter Property="Foreground" Value="{StaticResource BrOnSecondaryContainer}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- =============================================================
|
|
FILLED BUTTON (MD3 � pill shape, height 40px)
|
|
============================================================= -->
|
|
<Style x:Key="AccentBtn" TargetType="Button">
|
|
<Setter Property="Foreground" Value="{StaticResource BrOnPrimary}"/>
|
|
<Setter Property="Background" Value="{StaticResource BrPrimary}"/>
|
|
<Setter Property="FontFamily" Value="Roboto, Segoe UI"/>
|
|
<Setter Property="FontWeight" Value="Medium"/>
|
|
<Setter Property="FontSize" Value="14"/>
|
|
<Setter Property="Height" Value="40"/>
|
|
<Setter Property="Padding" Value="24,0"/>
|
|
<Setter Property="Cursor" Value="Hand"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Border x:Name="Bd" CornerRadius="100"
|
|
Background="{TemplateBinding Background}"
|
|
Padding="{TemplateBinding Padding}"
|
|
Effect="{StaticResource Elevation1}">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Bd" Property="Opacity" Value="0.92"/>
|
|
<Setter TargetName="Bd" Property="Effect" Value="{StaticResource Elevation2}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsPressed" Value="True">
|
|
<Setter TargetName="Bd" Property="Opacity" Value="0.88"/>
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter TargetName="Bd" Property="Opacity" Value="0.38"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- Tonal button alias used by some pages -->
|
|
<Style x:Key="ToolBtn" TargetType="Button">
|
|
<Setter Property="Foreground" Value="{StaticResource BrOnSecondaryContainer}"/>
|
|
<Setter Property="Background" Value="{StaticResource BrSecondaryContainer}"/>
|
|
<Setter Property="FontFamily" Value="Roboto, Segoe UI"/>
|
|
<Setter Property="FontWeight" Value="Medium"/>
|
|
<Setter Property="FontSize" Value="14"/>
|
|
<Setter Property="Height" Value="40"/>
|
|
<Setter Property="Padding" Value="24,0"/>
|
|
<Setter Property="Cursor" Value="Hand"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Border x:Name="Bd" CornerRadius="100"
|
|
Background="{TemplateBinding Background}"
|
|
Padding="{TemplateBinding Padding}">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Bd" Property="Opacity" Value="0.92"/>
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter TargetName="Bd" Property="Opacity" Value="0.38"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- =============================================================
|
|
OUTLINED TEXT FIELD (MD3 � 4px corner, 2px focus border)
|
|
============================================================= -->
|
|
<Style x:Key="FlatTb" TargetType="TextBox">
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Foreground" Value="{StaticResource BrOnSurface}"/>
|
|
<Setter Property="CaretBrush" Value="{StaticResource BrPrimary}"/>
|
|
<Setter Property="SelectionBrush" Value="{StaticResource BrPrimaryContainer}"/>
|
|
<Setter Property="BorderBrush" Value="{StaticResource BrOutline}"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="Height" Value="40"/>
|
|
<Setter Property="Padding" Value="16,0"/>
|
|
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
|
<Setter Property="FontFamily" Value="Roboto, Segoe UI"/>
|
|
<Setter Property="FontSize" Value="14"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="TextBox">
|
|
<Border x:Name="Bd" CornerRadius="4"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Padding="{TemplateBinding Padding}">
|
|
<ScrollViewer x:Name="PART_ContentHost" VerticalAlignment="Center"/>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsFocused" Value="True">
|
|
<Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource BrPrimary}"/>
|
|
<Setter TargetName="Bd" Property="BorderThickness" Value="2"/>
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource BrOnSurface}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- =============================================================
|
|
PASSWORD BOX (MD3 outlined)
|
|
============================================================= -->
|
|
<Style x:Key="FlatPb" TargetType="PasswordBox">
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Foreground" Value="{StaticResource BrOnSurface}"/>
|
|
<Setter Property="CaretBrush" Value="{StaticResource BrPrimary}"/>
|
|
<Setter Property="SelectionBrush" Value="{StaticResource BrPrimaryContainer}"/>
|
|
<Setter Property="BorderBrush" Value="{StaticResource BrOutline}"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="Height" Value="40"/>
|
|
<Setter Property="Padding" Value="16,0"/>
|
|
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
|
<Setter Property="FontFamily" Value="Roboto, Segoe UI"/>
|
|
<Setter Property="FontSize" Value="14"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="PasswordBox">
|
|
<Border x:Name="Bd" CornerRadius="4"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Padding="{TemplateBinding Padding}">
|
|
<ScrollViewer x:Name="PART_ContentHost" VerticalAlignment="Center"/>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsFocused" Value="True">
|
|
<Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource BrPrimary}"/>
|
|
<Setter TargetName="Bd" Property="BorderThickness" Value="2"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- PROGRESS BAR -->
|
|
<!-- =============================================================
|
|
PROGRESS BAR (MD3 linear indicator)
|
|
============================================================= -->
|
|
<Style x:Key="ModernPb" TargetType="ProgressBar">
|
|
<Setter Property="Height" Value="4"/>
|
|
<Setter Property="Background" Value="{StaticResource BrSurfaceVariant}"/>
|
|
<Setter Property="Foreground" Value="{StaticResource BrPrimary}"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="ProgressBar">
|
|
<Grid>
|
|
<Border CornerRadius="2" Background="{TemplateBinding Background}"/>
|
|
<Border x:Name="PART_Indicator" CornerRadius="2"
|
|
Background="{TemplateBinding Foreground}"
|
|
HorizontalAlignment="Left"/>
|
|
<Border x:Name="PART_Track"/>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- =============================================================
|
|
DATAGRID (MD3 surface tones)
|
|
============================================================= -->
|
|
<Style x:Key="ModernDg" TargetType="DataGrid">
|
|
<Setter Property="Background" Value="{StaticResource BrSurfaceContainerLow}"/>
|
|
<Setter Property="Foreground" Value="{StaticResource BrOnSurface}"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="RowBackground" Value="{StaticResource BrSurfaceContainerLow}"/>
|
|
<Setter Property="AlternatingRowBackground" Value="{StaticResource BrSurfaceContainer}"/>
|
|
<Setter Property="GridLinesVisibility" Value="Horizontal"/>
|
|
<Setter Property="HorizontalGridLinesBrush" Value="{StaticResource BrOutlineVariant}"/>
|
|
<Setter Property="HeadersVisibility" Value="Column"/>
|
|
<Setter Property="RowHeaderWidth" Value="0"/>
|
|
<Setter Property="AutoGenerateColumns" Value="True"/>
|
|
<Setter Property="IsReadOnly" Value="True"/>
|
|
<Setter Property="SelectionMode" Value="Single"/>
|
|
<Setter Property="CanUserAddRows" Value="False"/>
|
|
<Setter Property="CanUserDeleteRows" Value="False"/>
|
|
<Setter Property="CanUserResizeRows" Value="False"/>
|
|
<Setter Property="FontFamily" Value="Roboto, Segoe UI"/>
|
|
<Setter Property="FontSize" Value="14"/>
|
|
</Style>
|
|
|
|
<Style TargetType="DataGridColumnHeader">
|
|
<Setter Property="Background" Value="{StaticResource BrSurfaceContainerHigh}"/>
|
|
<Setter Property="Foreground" Value="{StaticResource BrOnSurfaceVariant}"/>
|
|
<Setter Property="FontFamily" Value="Roboto, Segoe UI"/>
|
|
<Setter Property="FontWeight" Value="Medium"/>
|
|
<Setter Property="FontSize" Value="12"/>
|
|
<Setter Property="Padding" Value="16,12"/>
|
|
<Setter Property="BorderBrush" Value="{StaticResource BrOutlineVariant}"/>
|
|
<Setter Property="BorderThickness" Value="0,0,0,1"/>
|
|
</Style>
|
|
|
|
<Style TargetType="DataGridCell">
|
|
<Setter Property="Padding" Value="16,10"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="Foreground" Value="{StaticResource BrOnSurface}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="DataGridCell">
|
|
<Border Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}">
|
|
<ContentPresenter VerticalAlignment="Center"/>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter Property="Background" Value="{StaticResource BrSecondaryContainer}"/>
|
|
<Setter Property="Foreground" Value="{StaticResource BrOnSecondaryContainer}"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<Style TargetType="DataGridRow">
|
|
<Setter Property="Margin" Value="0"/>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter Property="Background" Value="{StaticResource BrSecondaryContainer}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Background" Value="#1A6750A4"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<!-- =============================================================
|
|
CARD (MD3 � Surface Container, 12px radius, Elevation 1)
|
|
============================================================= -->
|
|
<Style x:Key="StatCard" TargetType="Border">
|
|
<Setter Property="Background" Value="{StaticResource BrSurfaceContainer}"/>
|
|
<Setter Property="CornerRadius" Value="12"/>
|
|
<Setter Property="Padding" Value="16"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="Effect" Value="{StaticResource Elevation1}"/>
|
|
</Style>
|
|
|
|
<Style x:Key="ApiCard" TargetType="Border">
|
|
<Setter Property="Background" Value="{StaticResource BrSurfaceContainerHigh}"/>
|
|
<Setter Property="CornerRadius" Value="12"/>
|
|
<Setter Property="Padding" Value="20,16"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="Effect" Value="{StaticResource Elevation1}"/>
|
|
<Setter Property="Margin" Value="0,0,0,16"/>
|
|
</Style>
|
|
|
|
<Style x:Key="CardStyle" TargetType="Border">
|
|
<Setter Property="Background" Value="{StaticResource BrSurfaceContainer}"/>
|
|
<Setter Property="CornerRadius" Value="12"/>
|
|
<Setter Property="Padding" Value="16"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="Effect" Value="{StaticResource Elevation1}"/>
|
|
<Setter Property="Margin" Value="0,0,0,8"/>
|
|
</Style>
|
|
|
|
<!-- =============================================================
|
|
SECTION TITLE (MD3 Title Medium)
|
|
============================================================= -->
|
|
<Style x:Key="SectionTitle" TargetType="TextBlock">
|
|
<Setter Property="FontFamily" Value="Roboto, Segoe UI"/>
|
|
<Setter Property="FontSize" Value="16"/>
|
|
<Setter Property="FontWeight" Value="Medium"/>
|
|
<Setter Property="Foreground" Value="{StaticResource BrOnSurface}"/>
|
|
<Setter Property="Margin" Value="0,0,0,8"/>
|
|
</Style>
|
|
|
|
<!-- =============================================================
|
|
SCROLLBAR (MD3 � slim, OutlineVariant thumb)
|
|
============================================================= -->
|
|
<Style TargetType="ScrollBar">
|
|
<Setter Property="Width" Value="8"/>
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="ScrollBar">
|
|
<Grid>
|
|
<Track x:Name="PART_Track" IsDirectionReversed="True">
|
|
<Track.Thumb>
|
|
<Thumb>
|
|
<Thumb.Template>
|
|
<ControlTemplate TargetType="Thumb">
|
|
<Border CornerRadius="4" Margin="2"
|
|
Background="{StaticResource BrOutlineVariant}"/>
|
|
</ControlTemplate>
|
|
</Thumb.Template>
|
|
</Thumb>
|
|
</Track.Thumb>
|
|
</Track>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<Trigger Property="Orientation" Value="Horizontal">
|
|
<Setter Property="Width" Value="Auto"/>
|
|
<Setter Property="Height" Value="8"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<!-- =============================================================
|
|
LISTBOX (transparent background)
|
|
============================================================= -->
|
|
<Style TargetType="ListBox">
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="Foreground" Value="{StaticResource BrOnSurface}"/>
|
|
</Style>
|
|
|
|
</ResourceDictionary>
|