Modifica API

This commit is contained in:
2026-06-09 18:31:15 +02:00
parent cf69e3b2fd
commit 0ce501c58c
36 changed files with 212779 additions and 185792 deletions
+331 -103
View File
@@ -1,67 +1,154 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- =========================================================
CATPPUCCIN MOCHA PALETTE (shared)
========================================================= -->
<Color x:Key="CBase">#1E1E2E</Color>
<Color x:Key="CMantle">#181825</Color>
<Color x:Key="CCrust">#11111B</Color>
<Color x:Key="CSurface0">#313244</Color>
<Color x:Key="CSurface1">#45475A</Color>
<Color x:Key="CSurface2">#585B70</Color>
<Color x:Key="COverlay0">#6C7086</Color>
<Color x:Key="CText">#CDD6F4</Color>
<Color x:Key="CSubtext0">#A6ADC8</Color>
<Color x:Key="CSubtext1">#BAC2DE</Color>
<Color x:Key="CBlue">#89B4FA</Color>
<Color x:Key="CGreen">#A6E3A1</Color>
<Color x:Key="CRed">#F38BA8</Color>
<Color x:Key="CPeach">#FAB387</Color>
<Color x:Key="CLavender">#B4BEFE</Color>
<!-- =============================================================
MATERIAL DESIGN 3 TOKEN SYSTEM (Light Mode)
Reference: https://m3.material.io/styles/color/roles
============================================================= -->
<SolidColorBrush x:Key="BrBase" Color="{StaticResource CBase}"/>
<SolidColorBrush x:Key="BrMantle" Color="{StaticResource CMantle}"/>
<SolidColorBrush x:Key="BrSurface0" Color="{StaticResource CSurface0}"/>
<SolidColorBrush x:Key="BrSurface1" Color="{StaticResource CSurface1}"/>
<SolidColorBrush x:Key="BrSurface2" Color="{StaticResource CSurface2}"/>
<SolidColorBrush x:Key="BrOverlay0" Color="{StaticResource COverlay0}"/>
<SolidColorBrush x:Key="BrText" Color="{StaticResource CText}"/>
<SolidColorBrush x:Key="BrSubtext0" Color="{StaticResource CSubtext0}"/>
<SolidColorBrush x:Key="BrBlue" Color="{StaticResource CBlue}"/>
<SolidColorBrush x:Key="BrGreen" Color="{StaticResource CGreen}"/>
<SolidColorBrush x:Key="BrRed" Color="{StaticResource CRed}"/>
<SolidColorBrush x:Key="BrPeach" Color="{StaticResource CPeach}"/>
<SolidColorBrush x:Key="BrLavender" Color="{StaticResource CLavender}"/>
<!-- 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>
<!-- Acrylic-like background (semi-transparent fallback) -->
<SolidColorBrush x:Key="AcrylicBackgroundBrush" Color="#0F000000"/>
<!-- 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>
<!-- Subtle shadow effect for elevation -->
<DropShadowEffect x:Key="SubtleDropShadow" BlurRadius="12" ShadowDepth="2" Color="#50000000"/>
<!-- 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>
<!-- NAV BUTTON STYLE (icon-only sidebar) -->
<!-- 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="48"/>
<Setter Property="Height" Value="48"/>
<Setter Property="Margin" Value="6,4"/>
<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 BrSubtext0}"/>
<Setter Property="Foreground" Value="{StaticResource BrOnSurfaceVariant}"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid>
<Border x:Name="Bg" CornerRadius="10" Background="{TemplateBinding Background}"/>
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
<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="Bg" Property="Background" Value="#28283A"/>
<Setter TargetName="Pill" Property="Background" Value="#1A6750A4"/>
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="Bg" Property="Background" Value="{StaticResource BrBlue}"/>
<Setter Property="Foreground" Value="#181825"/>
<Setter TargetName="Pill" Property="Background" Value="{StaticResource BrSecondaryContainer}"/>
<Setter Property="Foreground" Value="{StaticResource BrOnSecondaryContainer}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
@@ -69,27 +156,68 @@
</Setter>
</Style>
<!-- ACCENT BUTTON -->
<!-- =============================================================
FILLED BUTTON (MD3 pill shape, height 40px)
============================================================= -->
<Style x:Key="AccentBtn" TargetType="Button">
<Setter Property="Foreground" Value="#181825"/>
<Setter Property="FontFamily" Value="Segoe UI Semibold"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="Padding" Value="18,7"/>
<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="8"
<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.85"/>
<Setter TargetName="Bd" Property="Opacity" Value="0.92"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="Bd" Property="Opacity" Value="0.40"/>
<Setter TargetName="Bd" Property="Opacity" Value="0.38"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
@@ -97,29 +225,38 @@
</Setter>
</Style>
<!-- FLAT TEXTBOX -->
<!-- =============================================================
OUTLINED TEXT FIELD (MD3 4px corner, 2px focus border)
============================================================= -->
<Style x:Key="FlatTb" TargetType="TextBox">
<Setter Property="Background" Value="{StaticResource BrSurface0}"/>
<Setter Property="Foreground" Value="{StaticResource BrText}"/>
<Setter Property="CaretBrush" Value="{StaticResource BrText}"/>
<Setter Property="BorderBrush" Value="{StaticResource BrSurface1}"/>
<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="Padding" Value="10,7"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="FontFamily" Value="Segoe UI"/>
<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="6"
<Border x:Name="Bd" CornerRadius="4"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}">
<ScrollViewer x:Name="PART_ContentHost"/>
<ScrollViewer x:Name="PART_ContentHost" VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource BrBlue}"/>
<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>
@@ -127,29 +264,35 @@
</Setter>
</Style>
<!-- PASSWORD BOX -->
<!-- =============================================================
PASSWORD BOX (MD3 outlined)
============================================================= -->
<Style x:Key="FlatPb" TargetType="PasswordBox">
<Setter Property="Background" Value="{StaticResource BrSurface0}"/>
<Setter Property="Foreground" Value="{StaticResource BrText}"/>
<Setter Property="CaretBrush" Value="{StaticResource BrText}"/>
<Setter Property="BorderBrush" Value="{StaticResource BrSurface1}"/>
<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="Padding" Value="10,7"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="FontFamily" Value="Segoe UI"/>
<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="6"
<Border x:Name="Bd" CornerRadius="4"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}">
<ScrollViewer x:Name="PART_ContentHost"/>
<ScrollViewer x:Name="PART_ContentHost" VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource BrBlue}"/>
<Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource BrPrimary}"/>
<Setter TargetName="Bd" Property="BorderThickness" Value="2"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
@@ -158,10 +301,13 @@
</Style>
<!-- PROGRESS BAR -->
<!-- =============================================================
PROGRESS BAR (MD3 linear indicator)
============================================================= -->
<Style x:Key="ModernPb" TargetType="ProgressBar">
<Setter Property="Height" Value="4"/>
<Setter Property="Background" Value="{StaticResource BrSurface0}"/>
<Setter Property="Foreground" Value="{StaticResource BrBlue}"/>
<Setter Property="Background" Value="{StaticResource BrSurfaceVariant}"/>
<Setter Property="Foreground" Value="{StaticResource BrPrimary}"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Template">
<Setter.Value>
@@ -178,15 +324,17 @@
</Setter>
</Style>
<!-- DATAGRID -->
<!-- =============================================================
DATAGRID (MD3 surface tones)
============================================================= -->
<Style x:Key="ModernDg" TargetType="DataGrid">
<Setter Property="Background" Value="#282A3A"/>
<Setter Property="Foreground" Value="{StaticResource BrText}"/>
<Setter Property="Background" Value="{StaticResource BrSurfaceContainerLow}"/>
<Setter Property="Foreground" Value="{StaticResource BrOnSurface}"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="RowBackground" Value="#282A3A"/>
<Setter Property="AlternatingRowBackground" Value="#2D2F42"/>
<Setter Property="RowBackground" Value="{StaticResource BrSurfaceContainerLow}"/>
<Setter Property="AlternatingRowBackground" Value="{StaticResource BrSurfaceContainer}"/>
<Setter Property="GridLinesVisibility" Value="Horizontal"/>
<Setter Property="HorizontalGridLinesBrush" Value="#37394E"/>
<Setter Property="HorizontalGridLinesBrush" Value="{StaticResource BrOutlineVariant}"/>
<Setter Property="HeadersVisibility" Value="Column"/>
<Setter Property="RowHeaderWidth" Value="0"/>
<Setter Property="AutoGenerateColumns" Value="True"/>
@@ -195,23 +343,25 @@
<Setter Property="CanUserAddRows" Value="False"/>
<Setter Property="CanUserDeleteRows" Value="False"/>
<Setter Property="CanUserResizeRows" Value="False"/>
<Setter Property="FontFamily" Value="Segoe UI"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="FontFamily" Value="Roboto, Segoe UI"/>
<Setter Property="FontSize" Value="14"/>
</Style>
<Style TargetType="DataGridColumnHeader">
<Setter Property="Background" Value="#23243A"/>
<Setter Property="Foreground" Value="{StaticResource BrBlue}"/>
<Setter Property="FontFamily" Value="Segoe UI Semibold"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="Padding" Value="10,8"/>
<Setter Property="BorderBrush" Value="#37394E"/>
<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="8,6"/>
<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">
@@ -223,8 +373,8 @@
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#3C3F58"/>
<Setter Property="Foreground" Value="{StaticResource BrBlue}"/>
<Setter Property="Background" Value="{StaticResource BrSecondaryContainer}"/>
<Setter Property="Foreground" Value="{StaticResource BrOnSecondaryContainer}"/>
</Trigger>
</Style.Triggers>
</Style>
@@ -233,17 +383,95 @@
<Setter Property="Margin" Value="0"/>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#3C3F58"/>
<Setter Property="Background" Value="{StaticResource BrSecondaryContainer}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#1A6750A4"/>
</Trigger>
</Style.Triggers>
</Style>
<!-- Card style for lists / rows -->
<!-- =============================================================
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="CornerRadius" Value="8"/>
<Setter Property="Background" Value="#23232A"/>
<Setter Property="Padding" Value="12"/>
<Setter Property="Margin" Value="6"/>
<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>