SGI/Dashboard/DashboardMain.xaml

1498 lines
104 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<Window x:Class="UI.Dashboard.DashboardMain"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:shell="clr-namespace:System.Windows.Shell;assembly=PresentationFramework"
WindowStartupLocation="CenterScreen"
WindowStyle="None"
AllowsTransparency="False"
ResizeMode="CanResize"
Background="#0D1117"
Height="760"
Width="1280"
MinHeight="600"
MinWidth="900"
MouseDown="Window_MouseDown">
<!-- ✅ Remove faixa branca nativa do Windows sem precisar de AllowsTransparency=True -->
<Window.Style>
<Style TargetType="Window">
<Setter Property="shell:WindowChrome.WindowChrome">
<Setter.Value>
<shell:WindowChrome
CaptionHeight="0"
ResizeBorderThickness="5"
GlassFrameThickness="0"
CornerRadius="0"
UseAeroCaptionButtons="False"/>
</Setter.Value>
</Setter>
</Style>
</Window.Style>
<Window.Resources>
<SolidColorBrush x:Key="BgBase" Color="#0D1117"/>
<SolidColorBrush x:Key="BgSidebar" Color="#0A1020"/>
<SolidColorBrush x:Key="BgCard" Color="#111827"/>
<SolidColorBrush x:Key="BgCardHover" Color="#162035"/>
<SolidColorBrush x:Key="BgInput" Color="#131E35"/>
<SolidColorBrush x:Key="BorderSubtle" Color="#1E2D4A"/>
<SolidColorBrush x:Key="TextPrimary" Color="#F1F5F9"/>
<SolidColorBrush x:Key="TextSecondary" Color="#64748B"/>
<SolidColorBrush x:Key="TextMuted" Color="#334155"/>
<SolidColorBrush x:Key="AccentBlue" Color="#3B82F6"/>
<SolidColorBrush x:Key="AccentGreen" Color="#22C55E"/>
<SolidColorBrush x:Key="AccentRed" Color="#EF4444"/>
<SolidColorBrush x:Key="AccentAmber" Color="#F59E0B"/>
<Style x:Key="SidebarBtn" TargetType="Button">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Height" Value="44"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="bd" Background="{TemplateBinding Background}"
CornerRadius="10" Padding="14 0">
<ContentPresenter VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="bd" Property="Background" Value="#111827"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="SidebarBtnActive" TargetType="Button" BasedOn="{StaticResource SidebarBtn}">
<Setter Property="Background" Value="#162035"/>
</Style>
<Style x:Key="BtnPrimary" TargetType="Button">
<Setter Property="Foreground" Value="White"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="bd" CornerRadius="9"
Background="{TemplateBinding Background}"
Padding="{TemplateBinding Padding}"
Height="{TemplateBinding Height}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="bd" Property="Opacity" Value="0.85"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="bd" Property="Opacity" Value="0.7"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="BtnOutline" TargetType="Button">
<Setter Property="Foreground" Value="#94A3B8"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="#1E2D4A"/>
<Setter Property="Background" Value="#111827"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="bd" CornerRadius="9"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}"
Height="{TemplateBinding Height}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="bd" Property="BorderBrush" Value="#3B82F6"/>
<Setter Property="Foreground" Value="#F1F5F9"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="InputStyle" TargetType="TextBox">
<Setter Property="Background" Value="#131E35"/>
<Setter Property="Foreground" Value="#CBD5E1"/>
<Setter Property="BorderBrush" Value="#1E2D4A"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="CaretBrush" Value="#3B82F6"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="Padding" Value="10 0"/>
<Setter Property="Height" Value="36"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Border x:Name="bd" Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="8">
<ScrollViewer x:Name="PART_ContentHost"
Margin="{TemplateBinding Padding}"
VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter TargetName="bd" Property="BorderBrush" Value="#3B82F6"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="bd" Property="BorderBrush" Value="#2D4A7A"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ComboStyle" TargetType="ComboBox">
<Setter Property="Background" Value="#131E35"/>
<Setter Property="Foreground" Value="#CBD5E1"/>
<Setter Property="BorderBrush" Value="#1E2D4A"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="Height" Value="36"/>
<Setter Property="Padding" Value="10 0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBox">
<Border x:Name="bd" Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="8">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<ContentPresenter x:Name="ContentSite" IsHitTestVisible="False"
Content="{TemplateBinding SelectionBoxItem}"
Margin="10 0 0 0" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="▾" Foreground="#64748B" FontSize="11"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Popup x:Name="Popup" Placement="Bottom"
IsOpen="{TemplateBinding IsDropDownOpen}"
AllowsTransparency="True" Focusable="False">
<Border Background="#131E35" BorderBrush="#1E2D4A"
BorderThickness="1" CornerRadius="8"
MinWidth="{TemplateBinding ActualWidth}">
<Border.Effect>
<DropShadowEffect Color="#000" Opacity="0.5" BlurRadius="16" ShadowDepth="4"/>
</Border.Effect>
<ItemsPresenter/>
</Border>
</Popup>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter TargetName="bd" Property="BorderBrush" Value="#3B82F6"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- ✅ Scrollbar fina e discreta no tema escuro -->
<Style TargetType="ScrollBar">
<Setter Property="Width" Value="6"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ScrollBar">
<Grid Background="Transparent">
<Track x:Name="PART_Track" IsDirectionReversed="True">
<Track.Thumb>
<Thumb>
<Thumb.Template>
<ControlTemplate TargetType="Thumb">
<Border CornerRadius="3" Background="#1E2D4A" Margin="1 2"/>
</ControlTemplate>
</Thumb.Template>
</Thumb>
</Track.Thumb>
</Track>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="CheckStyle" TargetType="CheckBox">
<Setter Property="Foreground" Value="#CBD5E1"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="CheckBox">
<StackPanel Orientation="Horizontal">
<Border x:Name="box" Width="16" Height="16" CornerRadius="4"
BorderThickness="1" BorderBrush="#1E2D4A" Background="#131E35">
<TextBlock x:Name="check" Text="✓" FontSize="11" FontWeight="Bold"
Foreground="White" HorizontalAlignment="Center"
VerticalAlignment="Center" Visibility="Collapsed"/>
</Border>
<ContentPresenter Margin="8 0 0 0" VerticalAlignment="Center"/>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="box" Property="Background" Value="#3B82F6"/>
<Setter TargetName="box" Property="BorderBrush" Value="#3B82F6"/>
<Setter TargetName="check" Property="Visibility" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="RadioStyle" TargetType="RadioButton">
<Setter Property="Foreground" Value="#CBD5E1"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="Margin" Value="0 4"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<StackPanel Orientation="Horizontal">
<Border x:Name="circle" Width="16" Height="16" CornerRadius="8"
BorderThickness="1.5" BorderBrush="#1E2D4A" Background="Transparent">
<Ellipse x:Name="dot" Width="7" Height="7" Fill="#3B82F6"
Visibility="Collapsed" HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<ContentPresenter Margin="8 0 0 0" VerticalAlignment="Center"/>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="circle" Property="BorderBrush" Value="#3B82F6"/>
<Setter TargetName="dot" Property="Visibility" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="FieldLabel" TargetType="TextBlock">
<Setter Property="Foreground" Value="#64748B"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Margin" Value="0 0 0 5"/>
</Style>
<Style x:Key="TableRowBorder" TargetType="Border">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="#111827"/>
<Setter Property="BorderThickness" Value="0 0 0 1"/>
<Setter Property="Padding" Value="12 10"/>
</Style>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="52"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- TOP BAR -->
<Border Grid.Row="0" BorderThickness="0 0 0 1" BorderBrush="#1E2D4A">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="#0A1020" Offset="0"/>
<GradientStop Color="#0D1117" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<!-- ✅ VerticalAlignment="Stretch" no Grid garante centralização perfeita -->
<Grid Margin="16 0" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<!-- Sidebar width proporcional -->
<ColumnDefinition Width="180"/>
<!-- Search ocupa o espaço restante -->
<ColumnDefinition Width="*"/>
<!-- Ações à direita -->
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<!-- Logo -->
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<Viewbox Width="26" Height="26">
<Grid Width="100" Height="100">
<Path Fill="#3B82F6">
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="50,5" IsClosed="True">
<LineSegment Point="78,33"/>
<LineSegment Point="50,47"/>
<LineSegment Point="22,33"/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
<Path>
<Path.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#60A5FA" Offset="0"/>
<GradientStop Color="#3B82F6" Offset="1"/>
</LinearGradientBrush>
</Path.Fill>
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="53,50" IsClosed="True">
<LineSegment Point="78,33"/>
<LineSegment Point="95,50"/>
<LineSegment Point="78,67"/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
<Path>
<Path.Fill>
<LinearGradientBrush StartPoint="0,1" EndPoint="1,0">
<GradientStop Color="#2563EB" Offset="0"/>
<GradientStop Color="#3B82F6" Offset="1"/>
</LinearGradientBrush>
</Path.Fill>
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="50,53" IsClosed="True">
<LineSegment Point="78,67"/>
<LineSegment Point="50,95"/>
<LineSegment Point="22,67"/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
<Path>
<Path.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#3B82F6" Offset="0"/>
<GradientStop Color="#2563EB" Offset="1"/>
</LinearGradientBrush>
</Path.Fill>
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="47,50" IsClosed="True">
<LineSegment Point="22,33"/>
<LineSegment Point="5,50"/>
<LineSegment Point="22,67"/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
</Grid>
</Viewbox>
<TextBlock Text="Levelcode SGI" Foreground="White" FontSize="16"
FontWeight="Bold" Margin="9 0 0 0" VerticalAlignment="Center"/>
</StackPanel>
<!-- ✅ Search bar: ocupa toda a coluna do meio, com margem lateral -->
<Border Grid.Column="1"
Background="#111827" BorderBrush="#1E2D4A" BorderThickness="1"
CornerRadius="10" Height="34"
Margin="16 0"
HorizontalAlignment="Stretch"
VerticalAlignment="Center">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="🔍" FontSize="12" Foreground="#334155"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBox Grid.Column="1" Background="Transparent" BorderThickness="0"
Foreground="#64748B" FontSize="13" VerticalContentAlignment="Center"
CaretBrush="#3B82F6">
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<ScrollViewer x:Name="PART_ContentHost" VerticalAlignment="Center"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TextBox.Style>
</TextBox>
</Grid>
</Border>
<!-- Right actions -->
<StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center" Margin="0 0 4 0">
<Grid Width="34" Height="34" Margin="0 0 6 0" Cursor="Hand">
<Border CornerRadius="9" Background="#111827" BorderBrush="#1E2D4A" BorderThickness="1"/>
<TextBlock Text="🔔" FontSize="13" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Border Width="15" Height="15" CornerRadius="8" Background="#EF4444"
HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0 -3 -3 0">
<TextBlock Text="3" Foreground="White" FontSize="9" FontWeight="Bold"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</Grid>
<Border Width="34" Height="34" CornerRadius="9" Background="#111827"
BorderBrush="#1E2D4A" BorderThickness="1" Cursor="Hand" Margin="0 0 8 0">
<Path Fill="#64748B" HorizontalAlignment="Center" VerticalAlignment="Center"
Width="15" Height="15" Stretch="Uniform"
Data="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94zM12,15.6c-1.98,0-3.6-1.62-3.6-3.6s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"/>
</Border>
<Border CornerRadius="10" Background="#111827" BorderBrush="#1E2D4A"
BorderThickness="1" Padding="10 0 12 0" Height="34" Cursor="Hand">
<StackPanel Orientation="Horizontal">
<Border Width="22" Height="22" CornerRadius="11" Background="#1A3A6E">
<Viewbox Width="14" Height="14">
<Grid Width="100" Height="100">
<Path Fill="#3B82F6">
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="50,5" IsClosed="True">
<LineSegment Point="78,33"/>
<LineSegment Point="50,47"/>
<LineSegment Point="22,33"/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
<Path Fill="#60A5FA">
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="53,50" IsClosed="True">
<LineSegment Point="78,33"/>
<LineSegment Point="95,50"/>
<LineSegment Point="78,67"/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
<Path Fill="#2563EB">
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="50,53" IsClosed="True">
<LineSegment Point="78,67"/>
<LineSegment Point="50,95"/>
<LineSegment Point="22,67"/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
<Path Fill="#3B82F6">
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="47,50" IsClosed="True">
<LineSegment Point="22,33"/>
<LineSegment Point="5,50"/>
<LineSegment Point="22,67"/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
</Grid>
</Viewbox>
</Border>
<TextBlock Text="Administrador" Foreground="#CBD5E1" FontSize="13"
Margin="8 0 6 0" VerticalAlignment="Center"/>
<TextBlock Text="▾" Foreground="#334155" FontSize="10" VerticalAlignment="Center"/>
</StackPanel>
</Border>
<Button Width="30" Height="30" Margin="8 0 0 0"
BorderThickness="0" Cursor="Hand" Click="BtnFechar_Click">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="bd" Background="{TemplateBinding Background}"
CornerRadius="8" Width="30" Height="30">
<TextBlock Text="✕" FontSize="11" Foreground="#334155"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="bd" Property="Background" Value="#C53030"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
</Button>
</StackPanel>
</Grid>
</Border>
<!-- CORPO -->
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<!-- ✅ Sidebar: largura fixa razoável, mas com MinWidth -->
<ColumnDefinition Width="180" MinWidth="160"/>
<!-- ✅ Conteúdo: ocupa todo o resto -->
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- SIDEBAR -->
<Border BorderThickness="0 0 1 0" BorderBrush="#1E2D4A">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="#0A1020" Offset="0"/>
<GradientStop Color="#0D1117" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel Margin="10 14 10 0">
<Button Style="{StaticResource SidebarBtnActive}" Margin="0 0 0 2">
<StackPanel Orientation="Horizontal">
<Border Width="26" Height="26" CornerRadius="8" Background="#1A3A6E" Margin="0 0 10 0">
<TextBlock Text="◈" Foreground="#3B82F6" FontSize="13"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<TextBlock Text="Dashboard" Foreground="#F1F5F9"
FontWeight="SemiBold" FontSize="13" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button Style="{StaticResource SidebarBtn}" Margin="0 0 0 2">
<StackPanel Orientation="Horizontal">
<TextBlock Text="👥" FontSize="13" Width="26" TextAlignment="Center"
Margin="0 0 10 0" VerticalAlignment="Center"/>
<TextBlock Text="Cadastro" Foreground="#64748B" FontSize="13" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button Style="{StaticResource SidebarBtn}" Margin="0 0 0 2">
<StackPanel Orientation="Horizontal">
<TextBlock Text="📊" FontSize="13" Width="26" TextAlignment="Center"
Margin="0 0 10 0" VerticalAlignment="Center"/>
<TextBlock Text="Relatórios" Foreground="#64748B" FontSize="13" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button Style="{StaticResource SidebarBtn}" Margin="0 0 0 2">
<StackPanel Orientation="Horizontal">
<TextBlock Text="⚙" FontSize="13" Width="26" TextAlignment="Center"
Margin="0 0 10 0" VerticalAlignment="Center"/>
<TextBlock Text="Configurações" Foreground="#64748B" FontSize="13" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button Style="{StaticResource SidebarBtn}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="❓" FontSize="13" Width="26" TextAlignment="Center"
Margin="0 0 10 0" VerticalAlignment="Center"/>
<TextBlock Text="Ajuda" Foreground="#64748B" FontSize="13" VerticalAlignment="Center"/>
</StackPanel>
</Button>
</StackPanel>
<StackPanel Grid.Row="1" Margin="14 0 14 14">
<Rectangle Height="1" Fill="#1E2D4A" Margin="0 0 0 10"/>
<StackPanel Orientation="Horizontal" Margin="0 0 0 4">
<Ellipse Width="7" Height="7" Fill="#22C55E" Margin="0 0 6 0" VerticalAlignment="Center"/>
<TextBlock Text="Usuários Ativos" Foreground="#334155" FontSize="11"/>
</StackPanel>
<TextBlock Foreground="#22C55E" FontSize="13" FontWeight="Bold" Margin="13 0 0 0">
<Run Text="15 "/>
<Run Text="Online" FontWeight="Normal" Foreground="#22C55E"/>
</TextBlock>
<TextBlock Text="© 2026 Levelcode" Foreground="#1E2D4A" FontSize="10" Margin="0 8 0 0"/>
</StackPanel>
</Grid>
</Border>
<!-- CONTEÚDO PRINCIPAL -->
<ScrollViewer Grid.Column="1"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled"
Background="#0D1117"
Padding="0 0 2 0"
CanContentScroll="False">
<!-- ✅ Grid principal usa proporções, não larguras fixas -->
<Grid Margin="16" HorizontalAlignment="Stretch" VerticalAlignment="Top">
<Grid.ColumnDefinitions>
<!-- Formulário: 24% da largura, min 260, max 340 -->
<ColumnDefinition Width="0.24*" MinWidth="260" MaxWidth="340"/>
<!-- Conteúdo direito: resto -->
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- COLUNA ESQUERDA: FORM -->
<Border CornerRadius="14" BorderThickness="1" BorderBrush="#1E2D4A"
Margin="0 0 14 0" Padding="18">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#111827" Offset="0"/>
<GradientStop Color="#0F1A2E" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<StackPanel>
<Grid Margin="0 0 0 16">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Cadastro de Pessoa" Foreground="#F1F5F9"
FontSize="15" FontWeight="Bold" VerticalAlignment="Center"/>
<Border Grid.Column="1" Width="26" Height="26" CornerRadius="7"
Background="#1E2D4A" Cursor="Hand">
<TextBlock Text="" Foreground="#64748B" FontSize="15"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</Grid>
<Grid Margin="0 0 0 12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Width="70" Height="70" CornerRadius="12" BorderThickness="1.5"
BorderBrush="#1E2D4A" Background="#0D1525" Cursor="Hand">
<Grid>
<TextBlock Text="📷" FontSize="20"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Border Width="18" Height="18" CornerRadius="9"
HorizontalAlignment="Right" VerticalAlignment="Bottom"
Margin="0 0 -3 -3">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#3B82F6" Offset="0"/>
<GradientStop Color="#2563EB" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<TextBlock Text="+" Foreground="White" FontSize="11"
FontWeight="Bold" HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</Grid>
</Border>
<StackPanel Grid.Column="1" Margin="10 0 0 0">
<TextBlock Text="Nome Completo *" Style="{StaticResource FieldLabel}"/>
<TextBox Style="{StaticResource InputStyle}" Foreground="#4A5568"
Text="Digite o nome completo" Margin="0 0 0 8"/>
<TextBlock Text="Email *" Style="{StaticResource FieldLabel}"/>
<TextBox Style="{StaticResource InputStyle}" Foreground="#4A5568"
Text="exemplo@email.com"/>
</StackPanel>
</Grid>
<TextBlock Text="Telefone" Style="{StaticResource FieldLabel}"/>
<TextBox Style="{StaticResource InputStyle}" Text="(xx) xxxxx-xxxx"
Foreground="#4A5568" Margin="0 0 0 12"/>
<Grid Margin="0 0 0 12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<StackPanel>
<TextBlock Text="Data de Nascimento" Style="{StaticResource FieldLabel}"/>
<Border Background="#131E35" BorderBrush="#1E2D4A"
BorderThickness="1" CornerRadius="8" Height="36">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="34"/>
</Grid.ColumnDefinitions>
<TextBlock Text="dd/mm/aaaa" Foreground="#4A5568"
FontSize="13" Margin="10 0 0 0" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="📅" FontSize="13"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</Border>
</StackPanel>
<StackPanel Grid.Column="1" Margin="10 0 0 0">
<TextBlock Text="Sexo" Style="{StaticResource FieldLabel}"/>
<RadioButton Content="Masculino" Style="{StaticResource RadioStyle}" IsChecked="True" Margin="0 1"/>
<RadioButton Content="Feminino" Style="{StaticResource RadioStyle}" Margin="0 1"/>
<RadioButton Content="Outro" Style="{StaticResource RadioStyle}" Margin="0 1"/>
</StackPanel>
</Grid>
<TextBlock Text="CEP" Style="{StaticResource FieldLabel}"/>
<Grid Margin="0 0 0 12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="70"/>
</Grid.ColumnDefinitions>
<TextBox Style="{StaticResource InputStyle}" Text="xxxxx-xxx"
Foreground="#4A5568" Margin="0 0 8 0"/>
<Button Grid.Column="1" Content="Buscar" Style="{StaticResource BtnPrimary}"
Height="36" Padding="0">
<Button.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="#3B82F6" Offset="0"/>
<GradientStop Color="#2563EB" Offset="1"/>
</LinearGradientBrush>
</Button.Background>
</Button>
</Grid>
<Grid Margin="0 0 0 12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="66"/>
</Grid.ColumnDefinitions>
<StackPanel>
<TextBlock Text="Endereço" Style="{StaticResource FieldLabel}"/>
<TextBox Style="{StaticResource InputStyle}" Text="Rua, Avenida..."
Foreground="#4A5568" Margin="0 0 8 0"/>
</StackPanel>
<StackPanel Grid.Column="1">
<TextBlock Text="Número" Style="{StaticResource FieldLabel}"/>
<TextBox Style="{StaticResource InputStyle}"/>
</StackPanel>
</Grid>
<Grid Margin="0 0 0 12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel>
<TextBlock Text="Bairro" Style="{StaticResource FieldLabel}"/>
<TextBox Style="{StaticResource InputStyle}" Margin="0 0 8 0"/>
</StackPanel>
<StackPanel Grid.Column="1">
<TextBlock Text="Cidade" Style="{StaticResource FieldLabel}"/>
<TextBox Style="{StaticResource InputStyle}"/>
</StackPanel>
</Grid>
<TextBlock Text="Estado" Style="{StaticResource FieldLabel}"/>
<ComboBox Style="{StaticResource ComboStyle}" Margin="0 0 0 12">
<ComboBoxItem Content="Selecione..." IsSelected="True"/>
<ComboBoxItem Content="São Paulo"/>
<ComboBoxItem Content="Rio de Janeiro"/>
<ComboBoxItem Content="Minas Gerais"/>
<ComboBoxItem Content="Paraná"/>
<ComboBoxItem Content="Bahia"/>
</ComboBox>
<Grid Margin="0 0 0 16">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel>
<TextBlock Text="Cargo" Style="{StaticResource FieldLabel}"/>
<TextBox Style="{StaticResource InputStyle}" Text="Ex: Analista"
Foreground="#4A5568" Margin="0 0 8 0"/>
</StackPanel>
<StackPanel Grid.Column="1">
<TextBlock Text="Data de Cadastro" Style="{StaticResource FieldLabel}"/>
<Border Background="#131E35" BorderBrush="#1E2D4A"
BorderThickness="1" CornerRadius="8" Height="36">
<StackPanel Orientation="Horizontal" Margin="8 0">
<TextBlock Text="📅" FontSize="12" Margin="0 0 5 0" VerticalAlignment="Center"/>
<TextBlock Text="24/04/2024" Foreground="#CBD5E1"
FontSize="12" VerticalAlignment="Center"/>
</StackPanel>
</Border>
</StackPanel>
</Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Button Height="38" Style="{StaticResource BtnPrimary}"
Padding="0" Margin="0 0 8 0">
<Button.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="#3B82F6" Offset="0"/>
<GradientStop Color="#2563EB" Offset="1"/>
</LinearGradientBrush>
</Button.Background>
<StackPanel Orientation="Horizontal">
<TextBlock Text="👤" FontSize="12" Margin="0 0 5 0" VerticalAlignment="Center"/>
<TextBlock Text="Salvar Pessoa" FontSize="12"
FontWeight="SemiBold" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button Grid.Column="1" Content="↺ Limpar" Height="38"
Style="{StaticResource BtnOutline}" Padding="0" Foreground="#64748B"/>
</Grid>
</StackPanel>
</Border>
<!-- COLUNA DIREITA -->
<StackPanel Grid.Column="1">
<!-- ✅ Cards de stat: 4 colunas iguais, totalmente fluidas -->
<Grid Margin="0 0 0 14">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border CornerRadius="12" BorderThickness="1" BorderBrush="#1E2D4A" Padding="14 12" Margin="0 0 8 0">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#111827" Offset="0"/>
<GradientStop Color="#0F1A2E" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 0 0 6">
<TextBlock Text="👥" FontSize="14" Margin="0 0 7 0" VerticalAlignment="Center"/>
<TextBlock Text="Total de Pessoas" Foreground="#64748B" FontSize="11" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock x:Name="TxtTotalCadastros" Text="1.248" Foreground="#F1F5F9" FontSize="24" FontWeight="Bold"/>
<Border Background="#0D2A1A" CornerRadius="6" Padding="5 2" Margin="8 0 0 0" VerticalAlignment="Center">
<TextBlock x:Name="TxtCrescimento" Foreground="#22C55E" FontSize="11" FontWeight="SemiBold">
<Run Text="↑ "/><Run Text="12%"/>
</TextBlock>
</Border>
</StackPanel>
</StackPanel>
</Border>
<Border Grid.Column="1" CornerRadius="12" BorderThickness="1" BorderBrush="#1E2D4A" Padding="14 12" Margin="0 0 8 0">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#111827" Offset="0"/>
<GradientStop Color="#0F1A2E" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 0 0 6">
<TextBlock Text="👤" FontSize="14" Margin="0 0 7 0" VerticalAlignment="Center"/>
<TextBlock Text="Novas Hoje" Foreground="#64748B" FontSize="11" VerticalAlignment="Center"/>
</StackPanel>
<TextBlock x:Name="lblCadHoje" Text="32" Foreground="#F1F5F9" FontSize="24" FontWeight="Bold"/>
</StackPanel>
</Border>
<Border Grid.Column="2" CornerRadius="12" BorderThickness="1" BorderBrush="#1A3A2A" Padding="14 12" Margin="0 0 8 0">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#0D1F16" Offset="0"/>
<GradientStop Color="#0A1A12" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 0 0 6">
<TextBlock Text="✅" FontSize="13" Margin="0 0 7 0" VerticalAlignment="Center"/>
<TextBlock Text="Ativas" Foreground="#22C55E" FontSize="11" VerticalAlignment="Center"/>
</StackPanel>
<TextBlock x:Name="TxtAtivos" Text="1.102" Foreground="#F1F5F9" FontSize="24" FontWeight="Bold"/>
</StackPanel>
</Border>
<Border Grid.Column="3" CornerRadius="12" BorderThickness="1" BorderBrush="#3A1A1A" Padding="14 12">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#1F0D0D" Offset="0"/>
<GradientStop Color="#180A0A" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 0 0 6">
<TextBlock Text="🚫" FontSize="13" Margin="0 0 7 0" VerticalAlignment="Center"/>
<TextBlock Text="Inativas" Foreground="#EF4444" FontSize="11" VerticalAlignment="Center"/>
</StackPanel>
<TextBlock x:Name="TxtInativos" Text="146" Foreground="#F1F5F9" FontSize="24" FontWeight="Bold"/>
</StackPanel>
</Border>
</Grid>
<TextBlock Text="Gráficos e Estatísticas" Foreground="#F1F5F9"
FontSize="14" FontWeight="SemiBold" Margin="0 0 0 10"/>
<!-- ✅ Gráficos: 2 colunas iguais e fluidas -->
<Grid Margin="0 0 0 14">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border CornerRadius="12" BorderThickness="1" BorderBrush="#1E2D4A" Padding="16 14" Margin="0 0 8 0">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#111827" Offset="0"/>
<GradientStop Color="#0F1A2E" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<StackPanel>
<!-- Título + subtítulo -->
<Grid Margin="0 0 0 14">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Distribuição por Sexo" Foreground="#CBD5E1"
FontSize="13" FontWeight="SemiBold" VerticalAlignment="Center"/>
<Border Grid.Column="1" Background="#0D1A2E" CornerRadius="6" Padding="8 3">
<TextBlock Text="Total cadastrado" Foreground="#334155" FontSize="10"/>
</Border>
</Grid>
<!-- Barra Masculino -->
<Grid Margin="0 0 0 12">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="10"/>
</Grid.RowDefinitions>
<Grid Margin="0 0 0 5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal">
<Border Width="10" Height="10" CornerRadius="3"
Margin="0 0 7 0" VerticalAlignment="Center">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="#60A5FA" Offset="0"/>
<GradientStop Color="#3B82F6" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<TextBlock Text="Masculino" Foreground="#94A3B8" FontSize="12" VerticalAlignment="Center"/>
</StackPanel>
<TextBlock x:Name="TxtMasc" Grid.Column="2"
Text="52%" Foreground="#60A5FA"
FontSize="13" FontWeight="Bold" VerticalAlignment="Center"/>
</Grid>
<!-- Trilha da barra -->
<Border Grid.Row="1" CornerRadius="5" Background="#0D1A2E">
<Border x:Name="BarMasc" CornerRadius="5" Height="10"
HorizontalAlignment="Left" Width="130">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="#60A5FA" Offset="0"/>
<GradientStop Color="#3B82F6" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<Border.Effect>
<DropShadowEffect Color="#3B82F6" BlurRadius="6"
ShadowDepth="0" Opacity="0.5"/>
</Border.Effect>
</Border>
</Border>
</Grid>
<!-- Barra Feminino -->
<Grid Margin="0 0 0 12">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="10"/>
</Grid.RowDefinitions>
<Grid Margin="0 0 0 5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal">
<Border Width="10" Height="10" CornerRadius="3"
Margin="0 0 7 0" VerticalAlignment="Center">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="#F472B6" Offset="0"/>
<GradientStop Color="#EC4899" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<TextBlock Text="Feminino" Foreground="#94A3B8" FontSize="12" VerticalAlignment="Center"/>
</StackPanel>
<TextBlock x:Name="TxtFem" Grid.Column="2"
Text="43%" Foreground="#F472B6"
FontSize="13" FontWeight="Bold" VerticalAlignment="Center"/>
</Grid>
<Border Grid.Row="1" CornerRadius="5" Background="#0D1A2E">
<Border x:Name="BarFem" CornerRadius="5" Height="10"
HorizontalAlignment="Left" Width="107">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="#F472B6" Offset="0"/>
<GradientStop Color="#EC4899" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<Border.Effect>
<DropShadowEffect Color="#EC4899" BlurRadius="6"
ShadowDepth="0" Opacity="0.5"/>
</Border.Effect>
</Border>
</Border>
</Grid>
<!-- Barra Outro -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="10"/>
</Grid.RowDefinitions>
<Grid Margin="0 0 0 5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal">
<Border Width="10" Height="10" CornerRadius="3"
Margin="0 0 7 0" VerticalAlignment="Center">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="#FCD34D" Offset="0"/>
<GradientStop Color="#F59E0B" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<TextBlock Text="Outro" Foreground="#94A3B8" FontSize="12" VerticalAlignment="Center"/>
</StackPanel>
<TextBlock x:Name="TxtOutros" Grid.Column="2"
Text="5%" Foreground="#FCD34D"
FontSize="13" FontWeight="Bold" VerticalAlignment="Center"/>
</Grid>
<Border Grid.Row="1" CornerRadius="5" Background="#0D1A2E">
<Border x:Name="BarOutros" CornerRadius="5" Height="10"
HorizontalAlignment="Left" Width="12">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="#FCD34D" Offset="0"/>
<GradientStop Color="#F59E0B" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<Border.Effect>
<DropShadowEffect Color="#F59E0B" BlurRadius="6"
ShadowDepth="0" Opacity="0.5"/>
</Border.Effect>
</Border>
</Border>
</Grid>
<!-- Rodapé: total visual -->
<Border Margin="0 14 0 0" Background="#0D1A2E" CornerRadius="8" Padding="10 8">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel HorizontalAlignment="Center">
<TextBlock Text="♂" Foreground="#3B82F6" FontSize="16"
HorizontalAlignment="Center"/>
<TextBlock x:Name="TxtMascTotal" Text="—"
Foreground="#F1F5F9" FontSize="12" FontWeight="Bold"
HorizontalAlignment="Center"/>
<TextBlock Text="Masculino." Foreground="#334155"
FontSize="10" HorizontalAlignment="Center"/>
</StackPanel>
<StackPanel Grid.Column="1" HorizontalAlignment="Center">
<TextBlock Text="♀" Foreground="#EC4899" FontSize="16"
HorizontalAlignment="Center"/>
<TextBlock x:Name="TxtFemTotal" Text="—"
Foreground="#F1F5F9" FontSize="12" FontWeight="Bold"
HorizontalAlignment="Center"/>
<TextBlock Text="Feminino." Foreground="#334155"
FontSize="10" HorizontalAlignment="Center"/>
</StackPanel>
<StackPanel Grid.Column="2" HorizontalAlignment="Center">
<TextBlock Text="⚧" Foreground="#F59E0B" FontSize="16"
HorizontalAlignment="Center"/>
<TextBlock x:Name="TxtOutrosTotal" Text="—"
Foreground="#F1F5F9" FontSize="12" FontWeight="Bold"
HorizontalAlignment="Center"/>
<TextBlock Text="Outro" Foreground="#334155"
FontSize="10" HorizontalAlignment="Center"/>
</StackPanel>
</Grid>
</Border>
</StackPanel>
</Border>
<Border Grid.Column="1" CornerRadius="12" BorderThickness="1" BorderBrush="#1E2D4A" Padding="14">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#111827" Offset="0"/>
<GradientStop Color="#0F1A2E" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<StackPanel>
<TextBlock Text="Novos Cadastros (Últimos 6 Meses)" Foreground="#CBD5E1"
FontSize="12" FontWeight="SemiBold" Margin="0 0 0 12"/>
<Grid Height="120">
<StackPanel VerticalAlignment="Stretch" Margin="28 0 0 18">
<Rectangle Height="1" Fill="#1E2D4A" Margin="0 0 0 22"/>
<Rectangle Height="1" Fill="#1E2D4A" Margin="0 0 0 22"/>
<Rectangle Height="1" Fill="#1E2D4A" Margin="0 0 0 22"/>
<Rectangle Height="1" Fill="#1E2D4A"/>
</StackPanel>
<StackPanel HorizontalAlignment="Left" VerticalAlignment="Stretch" Width="26" Margin="0 0 0 16">
<TextBlock Text="200" Foreground="#334155" FontSize="9" TextAlignment="Right"/>
<TextBlock Text="150" Foreground="#334155" FontSize="9" TextAlignment="Right" Margin="0 15 0 0"/>
<TextBlock Text="100" Foreground="#334155" FontSize="9" TextAlignment="Right" Margin="0 15 0 0"/>
<TextBlock Text="50" Foreground="#334155" FontSize="9" TextAlignment="Right" Margin="0 15 0 0"/>
<TextBlock Text="0" Foreground="#334155" FontSize="9" TextAlignment="Right" Margin="0 9 0 0"/>
</StackPanel>
<Grid Margin="30 4 0 0" VerticalAlignment="Bottom">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel VerticalAlignment="Bottom" Margin="3 0">
<Border Height="44" CornerRadius="3 3 0 0">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#3B82F6" Offset="0"/>
<GradientStop Color="#1D4ED8" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<TextBlock Text="Out" Foreground="#334155" FontSize="9" TextAlignment="Center" Margin="0 3 0 0"/>
</StackPanel>
<StackPanel Grid.Column="1" VerticalAlignment="Bottom" Margin="3 0">
<Border Height="60" CornerRadius="3 3 0 0">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#3B82F6" Offset="0"/>
<GradientStop Color="#1D4ED8" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<TextBlock Text="Nov" Foreground="#334155" FontSize="9" TextAlignment="Center" Margin="0 3 0 0"/>
</StackPanel>
<StackPanel Grid.Column="2" VerticalAlignment="Bottom" Margin="3 0">
<Border Height="74" CornerRadius="3 3 0 0">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#60A5FA" Offset="0"/>
<GradientStop Color="#3B82F6" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<TextBlock Text="Dez" Foreground="#334155" FontSize="9" TextAlignment="Center" Margin="0 3 0 0"/>
</StackPanel>
<StackPanel Grid.Column="3" VerticalAlignment="Bottom" Margin="3 0">
<Border Height="88" CornerRadius="3 3 0 0">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#60A5FA" Offset="0"/>
<GradientStop Color="#3B82F6" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<TextBlock Text="Jan" Foreground="#334155" FontSize="9" TextAlignment="Center" Margin="0 3 0 0"/>
</StackPanel>
<StackPanel Grid.Column="4" VerticalAlignment="Bottom" Margin="3 0">
<Border Height="96" CornerRadius="3 3 0 0">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#38BDF8" Offset="0"/>
<GradientStop Color="#3B82F6" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<Border.Effect>
<DropShadowEffect Color="#3B82F6" BlurRadius="7" ShadowDepth="0" Opacity="0.4"/>
</Border.Effect>
</Border>
<TextBlock Text="Fev" Foreground="#334155" FontSize="9" TextAlignment="Center" Margin="0 3 0 0"/>
</StackPanel>
<StackPanel Grid.Column="5" VerticalAlignment="Bottom" Margin="3 0">
<Border Height="91" CornerRadius="3 3 0 0">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#22D3EE" Offset="0"/>
<GradientStop Color="#3B82F6" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<Border.Effect>
<DropShadowEffect Color="#22D3EE" BlurRadius="9" ShadowDepth="0" Opacity="0.4"/>
</Border.Effect>
</Border>
<TextBlock Text="Mar" Foreground="#64748B" FontSize="9" FontWeight="SemiBold" TextAlignment="Center" Margin="0 3 0 0"/>
</StackPanel>
</Grid>
</Grid>
</StackPanel>
</Border>
</Grid>
<!-- Tabela -->
<Border CornerRadius="12" BorderThickness="1" BorderBrush="#1E2D4A">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#111827" Offset="0"/>
<GradientStop Color="#0F1A2E" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<StackPanel>
<Grid Margin="14 12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Lista de Pessoas" Foreground="#F1F5F9"
FontSize="13" FontWeight="SemiBold" VerticalAlignment="Center"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<Border Background="#131E35" BorderBrush="#1E2D4A" BorderThickness="1"
CornerRadius="8" Height="30" Width="150" Margin="0 0 7 0">
<StackPanel Orientation="Horizontal" Margin="8 0">
<TextBlock Text="🔍" FontSize="11" Foreground="#334155"
VerticalAlignment="Center" Margin="0 0 5 0"/>
<TextBlock Text="Pesquisar..." Foreground="#334155"
FontSize="12" VerticalAlignment="Center"/>
</StackPanel>
</Border>
<Button Height="30" Padding="10 0" Style="{StaticResource BtnOutline}" Margin="0 0 7 0">
<StackPanel Orientation="Horizontal">
<TextBlock Text="⚡" FontSize="11" Margin="0 0 4 0" VerticalAlignment="Center"/>
<TextBlock Text="Filtrar" FontSize="12" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button x:Name="BtnNovoCadastro"
Height="30" Padding="10 0"
Style="{StaticResource BtnPrimary}"
Click="BtnNovoCadastro_Click">
<Button.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="#059669" Offset="0"/>
<GradientStop Color="#047857" Offset="1"/>
</LinearGradientBrush>
</Button.Background>
<StackPanel Orientation="Horizontal">
<TextBlock Text="+" FontSize="14" FontWeight="Bold"
Margin="0 0 4 0" VerticalAlignment="Center"/>
<TextBlock Text="Novo Cadastro" FontSize="12" VerticalAlignment="Center"/>
</StackPanel>
</Button>
</StackPanel>
</Grid>
<!-- ✅ Cabeçalho da tabela com colunas fluidas -->
<Border Background="#0D1525" Padding="10 9">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="32"/>
<ColumnDefinition Width="42"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="1.2*"/>
<ColumnDefinition Width="110"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="65"/>
</Grid.ColumnDefinitions>
<CheckBox Style="{StaticResource CheckStyle}" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="Foto" Foreground="#334155" FontSize="11" FontWeight="SemiBold" VerticalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="NOME" Foreground="#334155" FontSize="11" FontWeight="SemiBold" VerticalAlignment="Center"/>
<TextBlock Grid.Column="3" Text="EMAIL" Foreground="#334155" FontSize="11" FontWeight="SemiBold" VerticalAlignment="Center"/>
<TextBlock Grid.Column="4" Text="TELEFONE" Foreground="#334155" FontSize="11" FontWeight="SemiBold" VerticalAlignment="Center"/>
<TextBlock Grid.Column="5" Text="CIDADE" Foreground="#334155" FontSize="11" FontWeight="SemiBold" VerticalAlignment="Center"/>
<TextBlock Grid.Column="6" Text="NASCIMENTO" Foreground="#334155" FontSize="11" FontWeight="SemiBold" VerticalAlignment="Center"/>
<TextBlock Grid.Column="7" Text="AÇÕES" Foreground="#334155" FontSize="11" FontWeight="SemiBold"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</Border>
<Border x:Name="LoadingPanel" Visibility="Collapsed" Padding="0 24">
<StackPanel HorizontalAlignment="Center">
<TextBlock Text="⏳" FontSize="26" HorizontalAlignment="Center" Margin="0 0 0 8"/>
<TextBlock Text="Carregando pessoas..." Foreground="#334155"
FontSize="13" HorizontalAlignment="Center"/>
</StackPanel>
</Border>
<Border x:Name="EmptyPanel" Visibility="Collapsed" Padding="0 24">
<StackPanel HorizontalAlignment="Center">
<TextBlock Text="👥" FontSize="30" HorizontalAlignment="Center" Margin="0 0 0 8"/>
<TextBlock Text="Nenhuma pessoa encontrada" Foreground="#334155"
FontSize="13" HorizontalAlignment="Center"/>
<TextBlock Text="Tente ajustar o filtro ou cadastre uma nova pessoa."
Foreground="#1E2D4A" FontSize="12"
HorizontalAlignment="Center" Margin="0 4 0 0"/>
</StackPanel>
</Border>
<!-- ✅ ItemsControl com colunas espelhando o cabeçalho -->
<ItemsControl x:Name="ListaPessoas">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border BorderBrush="#111827" BorderThickness="0 0 0 1" Padding="10 0">
<Border.Style>
<Style TargetType="Border">
<Setter Property="Background" Value="Transparent"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#0F1A2E"/>
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
<Grid Height="44">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="32"/>
<ColumnDefinition Width="42"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="1.2*"/>
<ColumnDefinition Width="110"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="65"/>
</Grid.ColumnDefinitions>
<CheckBox Style="{StaticResource CheckStyle}" VerticalAlignment="Center"/>
<Border Grid.Column="1" Width="30" Height="30" CornerRadius="15"
Background="{Binding AvatarBackground}" VerticalAlignment="Center">
<TextBlock Text="{Binding Iniciais}" Foreground="{Binding AvatarForeground}"
FontSize="10" FontWeight="Bold"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<StackPanel Grid.Column="2" VerticalAlignment="Center" Margin="0 0 6 0">
<TextBlock Text="{Binding NomeCompleto}" Foreground="#CBD5E1"
FontSize="12" FontWeight="SemiBold" TextTrimming="CharacterEllipsis"/>
<TextBlock Text="{Binding Cargo}" Foreground="#334155"
FontSize="10" TextTrimming="CharacterEllipsis"/>
</StackPanel>
<TextBlock Grid.Column="3" Text="{Binding Email}" Foreground="#64748B"
FontSize="11" VerticalAlignment="Center"
TextTrimming="CharacterEllipsis" Margin="0 0 6 0"/>
<TextBlock Grid.Column="4" Text="{Binding Telefone}" Foreground="#64748B"
FontSize="11" VerticalAlignment="Center"/>
<TextBlock Grid.Column="5" Text="{Binding Cidade}" Foreground="#64748B"
FontSize="11" VerticalAlignment="Center" TextTrimming="CharacterEllipsis"/>
<TextBlock Grid.Column="6" Text="{Binding DataNascFormatada}" Foreground="#64748B"
FontSize="11" VerticalAlignment="Center"/>
<StackPanel Grid.Column="7" Orientation="Horizontal"
HorizontalAlignment="Center" VerticalAlignment="Center">
<Border Width="26" Height="26" CornerRadius="7" Background="#1A3A6E"
Cursor="Hand" Margin="0 0 4 0" ToolTip="Editar">
<TextBlock Text="✏" Foreground="#3B82F6" FontSize="11"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Width="26" Height="26" CornerRadius="7" Background="#3A1A1A"
Cursor="Hand" ToolTip="Excluir">
<TextBlock Text="🗑" Foreground="#EF4444" FontSize="11"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</StackPanel>
</Grid>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<!-- Paginação -->
<Border BorderThickness="0 1 0 0" BorderBrush="#111827">
<Grid Margin="14 9">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<TextBlock Text="Exibindo " Foreground="#334155" FontSize="12"/>
<TextBlock x:Name="RunPaginaInfo" Text="1-10 de 1.248"
Foreground="#64748B" FontSize="12"/>
<TextBlock Text=" registros" Foreground="#334155" FontSize="12"/>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<Button x:Name="BtnAnterior" Style="{StaticResource BtnOutline}"
Height="28" Padding="10 0" Click="BtnAnterior_Click" Margin="0 0 5 0">
<StackPanel Orientation="Horizontal">
<TextBlock Text="" FontSize="13" Margin="0 0 3 0" VerticalAlignment="Center"/>
<TextBlock Text="Anterior" FontSize="11" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<ItemsControl x:Name="PaginacaoPanel">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Width="28" Height="28" CornerRadius="7"
Margin="2 0" Cursor="Hand" BorderThickness="1">
<Border.Style>
<Style TargetType="Border">
<Setter Property="Background" Value="#131E35"/>
<Setter Property="BorderBrush" Value="#1E2D4A"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsActive}" Value="True">
<Setter Property="BorderBrush" Value="#3B82F6"/>
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#3B82F6" Offset="0"/>
<GradientStop Color="#2563EB" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<TextBlock Text="{Binding Label}" FontSize="11"
FontWeight="{Binding FontWeight}"
HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="#64748B"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsActive}" Value="True">
<Setter Property="Foreground" Value="White"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Button x:Name="BtnProximo" Style="{StaticResource BtnOutline}"
Height="28" Padding="10 0" Click="BtnProximo_Click" Margin="5 0 0 0">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Próximo" FontSize="11" VerticalAlignment="Center"/>
<TextBlock Text=" " FontSize="13" VerticalAlignment="Center"/>
</StackPanel>
</Button>
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal"
HorizontalAlignment="Right" VerticalAlignment="Center">
<TextBlock Text="Itens por página:" Foreground="#334155"
FontSize="12" VerticalAlignment="Center" Margin="0 0 7 0"/>
<ComboBox x:Name="CmbItensPorPagina" Style="{StaticResource ComboStyle}"
Width="66" Height="28"
SelectionChanged="CmbItensPorPagina_SelectionChanged">
<ComboBoxItem Content="10" IsSelected="True"/>
<ComboBoxItem Content="25"/>
<ComboBoxItem Content="50"/>
<ComboBoxItem Content="100"/>
</ComboBox>
</StackPanel>
</Grid>
</Border>
</StackPanel>
</Border>
</StackPanel>
</Grid>
</ScrollViewer>
</Grid>
</Grid>
</Window>