<UserControl x:Class="GsConfigTool.Views.ArkConfigPage"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:vm="clr-namespace:GsConfigTool.ViewModels"
             xmlns:helpers="clr-namespace:GsConfigTool.Helpers"
             Background="{StaticResource BgBrush}">

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!-- ══ Top Bar ═══════════════════════════════════════════════════ -->
        <Border Grid.Row="0" Background="{StaticResource SurfaceBrush}"
                BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,0,1"
                Padding="24,14">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="Auto"/>
                </Grid.ColumnDefinitions>

                <StackPanel Grid.Column="0">
                    <StackPanel Orientation="Horizontal">
                        <Button Style="{StaticResource NavButton}" Content="← Zurück"
                                Command="{Binding GoBackCommand}" Padding="0,4" Margin="0,0,16,0"
                                Foreground="{StaticResource TextMutedBrush}"/>
                        <TextBlock Text="{Binding GameTitle}" FontSize="18" FontWeight="Bold"
                                   VerticalAlignment="Center"/>
                        <Border CornerRadius="4" Padding="8,3" Margin="12,0,0,0" VerticalAlignment="Center">
                            <Border.Background>
                                <SolidColorBrush Color="#1F3A5F"/>
                            </Border.Background>
                            <TextBlock Text="Server Config" FontSize="10" FontWeight="SemiBold"
                                       Foreground="{StaticResource AccentBrush}"/>
                        </Border>
                    </StackPanel>

                    <StackPanel Orientation="Horizontal" Margin="0,6,0,0">
                        <TextBox Text="{Binding ProjectName, UpdateSourceTrigger=PropertyChanged}"
                                 Width="280" Padding="6,4" FontSize="13" FontWeight="SemiBold"/>
                        <TextBox Text="{Binding ProjectDescription, UpdateSourceTrigger=PropertyChanged}"
                                 Width="400" Padding="6,4" FontSize="12" Margin="8,0,0,0"
                                 Foreground="{StaticResource TextMutedBrush}"/>
                    </StackPanel>
                </StackPanel>

                <StackPanel Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center">
                    <Button Style="{StaticResource SecondaryButton}"
                            Content="📥 Config importieren"
                            Command="{Binding ImportConfigCommand}" Margin="0,0,8,0"/>
                    <Button Style="{StaticResource SecondaryButton}"
                            Content="📋 Game.ini kopieren"
                            Command="{Binding CopyGameIniCommand}" Margin="0,0,8,0"/>
                    <Button Style="{StaticResource SecondaryButton}"
                            Content="📋 GUS.ini kopieren"
                            Command="{Binding CopyGUSCommand}" Margin="0,0,8,0"/>
                    <Button Style="{StaticResource SecondaryButton}"
                            Content="💾 Als Datei speichern"
                            Command="{Binding SaveAsFileCommand}" Margin="0,0,8,0"/>
                    <Button Style="{StaticResource PrimaryButton}"
                            Content="💾 Projekt speichern"
                            Command="{Binding SaveCommand}"/>
                </StackPanel>
            </Grid>
        </Border>

        <!-- ══ Tabs ═══════════════════════════════════════════════════════ -->
        <TabControl Grid.Row="1" SelectedIndex="{Binding SelectedTab}">
            <TabControl.Resources>
                <Style TargetType="ScrollViewer">
                    <Setter Property="Padding" Value="0"/>
                </Style>
            </TabControl.Resources>

            <!-- ─ Tab 1: Server Einstellungen ─ -->
            <TabItem Header="🔧 Server">
                <ScrollViewer VerticalScrollBarVisibility="Auto">
                    <StackPanel Margin="28,20">
                        <TextBlock Text="Server Einstellungen" Style="{StaticResource PageTitle}" Margin="0,0,0,4"/>
                        <TextBlock Text="Grundlegende Server-Konfiguration (GameUserSettings.ini [SessionSettings])"
                                   Foreground="{StaticResource TextMutedBrush}" Margin="0,0,0,20"/>

                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="24"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>

                            <StackPanel Grid.Column="0">
                                <GroupBox Header="SESSION">
                                    <Grid>
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="160"/>
                                            <ColumnDefinition Width="*"/>
                                        </Grid.ColumnDefinitions>
                                        <Grid.RowDefinitions>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                        </Grid.RowDefinitions>

                                        <TextBlock Grid.Row="0" Grid.Column="0" Text="Server Name" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="0" Grid.Column="1" Text="{Binding ServerName, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,8"/>

                                        <TextBlock Grid.Row="1" Grid.Column="0" Text="Server Passwort" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="1" Grid.Column="1" Text="{Binding ServerPassword, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,8"/>

                                        <TextBlock Grid.Row="2" Grid.Column="0" Text="Admin Passwort" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="2" Grid.Column="1" Text="{Binding AdminPassword, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,8"/>

                                        <TextBlock Grid.Row="3" Grid.Column="0" Text="Max. Spieler" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="3" Grid.Column="1" Text="{Binding MaxPlayers, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,8"/>

                                        <TextBlock Grid.Row="4" Grid.Column="0" Text="Game Port" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="4" Grid.Column="1" Text="{Binding GamePort, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,8"/>

                                        <TextBlock Grid.Row="5" Grid.Column="0" Text="Query Port" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="5" Grid.Column="1" Text="{Binding QueryPort, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,8"/>

                                        <TextBlock Grid.Row="6" Grid.Column="0" Text="Karte (Map)" VerticalAlignment="Center"/>
                                        <ComboBox Grid.Row="6" Grid.Column="1"
                                                  ItemsSource="{Binding ArkMaps}"
                                                  Text="{Binding Map, UpdateSourceTrigger=PropertyChanged}"
                                                  IsEditable="True"/>
                                    </Grid>
                                </GroupBox>

                                <GroupBox Header="MODS" Margin="0,0,0,0">
                                    <StackPanel>
                                        <TextBlock Text="Mod-IDs (kommagetrennt)" Foreground="{StaticResource TextMutedBrush}" FontSize="11" Margin="0,0,0,6"/>
                                        <TextBox Text="{Binding ActiveMods, UpdateSourceTrigger=PropertyChanged}" Height="60"
                                                 AcceptsReturn="False" TextWrapping="Wrap"/>
                                    </StackPanel>
                                </GroupBox>
                            </StackPanel>

                            <StackPanel Grid.Column="2">
                                <GroupBox Header="SERVER MODUS">
                                    <StackPanel>
                                        <CheckBox Content="PvE-Modus (Spieler können sich nicht gegenseitig schaden)"
                                                  IsChecked="{Binding PvE}" Margin="0,0,0,8"/>
                                        <CheckBox Content="Hardcore-Modus"
                                                  IsChecked="{Binding ServerHardcore}" Margin="0,0,0,8"/>
                                        <CheckBox Content="Fadenkreuz aktiviert"
                                                  IsChecked="{Binding CrosshairEnabled}" Margin="0,0,0,8"/>
                                        <CheckBox Content="Spielerposition auf Karte anzeigen"
                                                  IsChecked="{Binding MapPlayerLocation}" Margin="0,0,0,8"/>
                                        <CheckBox Content="3rd-Person Ansicht erlauben"
                                                  IsChecked="{Binding AllowThirdPersonPlayer}" Margin="0,0,0,8"/>
                                        <CheckBox Content="Offline-PvP verhindern"
                                                  IsChecked="{Binding PreventOfflinePvP}" Margin="0,0,0,8"/>
                                        <CheckBox Content="Stammes-Allianzen verhindern"
                                                  IsChecked="{Binding PreventTribeAlliances}"/>
                                    </StackPanel>
                                </GroupBox>

                                <GroupBox Header="STRUKTUREN &amp; STÄMME">
                                    <Grid>
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="*"/>
                                            <ColumnDefinition Width="140"/>
                                        </Grid.ColumnDefinitions>
                                        <Grid.RowDefinitions>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                        </Grid.RowDefinitions>

                                        <CheckBox Grid.Row="0" Grid.ColumnSpan="2"
                                                  Content="Struktur-Verfall deaktivieren (PvE)"
                                                  IsChecked="{Binding DisableStructureDecayPvE}" Margin="0,0,0,8"/>
                                        <CheckBox Grid.Row="1" Grid.ColumnSpan="2"
                                                  Content="Flyer dürfen Spieler tragen (PvE)"
                                                  IsChecked="{Binding AllowFlyerCarryPvE}" Margin="0,0,0,8"/>

                                        <TextBlock Grid.Row="2" Grid.Column="0" Text="Max. Spieler pro Stamm" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="2" Grid.Column="1" Text="{Binding MaxNumberOfPlayersInTribe, UpdateSourceTrigger=PropertyChanged}" Margin="4,0,0,8"/>

                                        <TextBlock Grid.Row="3" Grid.Column="0" Text="Strukturresistenz" VerticalAlignment="Center"/>
                                        <TextBox Grid.Row="3" Grid.Column="1" Text="{Binding StructureResistanceMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="4,0,0,0"/>
                                    </Grid>
                                </GroupBox>
                            </StackPanel>
                        </Grid>
                    </StackPanel>
                </ScrollViewer>
            </TabItem>

            <!-- ─ Tab 2: Raten ─ -->
            <TabItem Header="📊 Raten">
                <ScrollViewer VerticalScrollBarVisibility="Auto">
                    <StackPanel Margin="28,20">
                        <TextBlock Text="Spielraten &amp; Multiplikatoren" Style="{StaticResource PageTitle}" Margin="0,0,0,4"/>
                        <TextBlock Text="Alle Rate-Einstellungen (GameUserSettings.ini [ServerSettings])"
                                   Foreground="{StaticResource TextMutedBrush}" Margin="0,0,0,20"/>

                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="24"/>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="24"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>

                            <!-- Column 1: XP + Ressourcen -->
                            <StackPanel Grid.Column="0">
                                <GroupBox Header="XP &amp; RESSOURCEN">
                                    <StackPanel>
                                        <TextBlock Text="XP Multiplikator" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding XPMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Zähmungs-Geschwindigkeit" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding TamingSpeedMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Ernte-Menge" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding HarvestAmountMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Ernte-Gesundheit" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding HarvestHealthMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Ressourcen-Respawn (niedriger = schneller)" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding ResourcesRespawnPeriodMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Schwierigkeit (DifficultyOffset)" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding DifficultyOffset, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Override Schwierigkeit (max. Dino-Level)" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding OverrideOfficialDifficulty, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,0"/>
                                    </StackPanel>
                                </GroupBox>

                                <GroupBox Header="TAGESZEIT">
                                    <StackPanel>
                                        <TextBlock Text="Tag-/Nacht-Zyklus Geschwindigkeit" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding DayCycleSpeedScale, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Tageszeit Geschwindigkeit" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding DayTimeSpeedScale, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Nachtzeit Geschwindigkeit" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding NightTimeSpeedScale, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,0"/>
                                    </StackPanel>
                                </GroupBox>
                            </StackPanel>

                            <!-- Column 2: Breeding -->
                            <StackPanel Grid.Column="2">
                                <GroupBox Header="ZUCHT &amp; AUFZUCHT">
                                    <StackPanel>
                                        <TextBlock Text="Paarungsintervall (niedriger = öfter)" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding MatingIntervalMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Paarungsgeschwindigkeit" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding MatingSpeedMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Ei-Schlüpf-Geschwindigkeit" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding EggHatchSpeedMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Baby-Reife-Geschwindigkeit" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding BabyMatureSpeedMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Baby-Nahrungsverbrauch" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding BabyFoodConsumptionSpeedMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Baby-Kuschel-Intervall" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding BabyCuddleIntervalMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Baby-Imprint-Menge" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding BabyImprintAmountMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Ei-Lege-Intervall" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding LayEggIntervalMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,0"/>
                                    </StackPanel>
                                </GroupBox>
                            </StackPanel>

                            <!-- Column 3: Dino + Player -->
                            <StackPanel Grid.Column="4">
                                <GroupBox Header="SPIELER STATS">
                                    <StackPanel>
                                        <TextBlock Text="Spieler-Schaden" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding PlayerDamageMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Spieler-Resistenz" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding PlayerResistanceMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Wasserverbrauch" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding PlayerWaterDrainMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Nahrungsverbrauch" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding PlayerFoodDrainMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Ausdauer-Verbrauch" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding PlayerStaminaDrainMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="HP-Regeneration" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding PlayerHealthRecoveryMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,0"/>
                                    </StackPanel>
                                </GroupBox>

                                <GroupBox Header="DINO STATS">
                                    <StackPanel>
                                        <TextBlock Text="Dino-Schaden" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding DinoDamageMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Dino-Resistenz" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding DinoResistanceMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Gezähmter Dino-Schaden" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding TamedDinoDamageMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Gezähmter Dino-Resistenz" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding TamedDinoResistanceMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Max. gezähmte Dinos" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding MaxTamedDinos, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,0"/>
                                    </StackPanel>
                                </GroupBox>

                                <GroupBox Header="VERDERB &amp; ZERFALL">
                                    <StackPanel>
                                        <TextBlock Text="Globale Verderb-Zeit" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding GlobalSpoilingTimeMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Item-Zerfall-Zeit" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding GlobalItemDecompositionTimeMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,10"/>
                                        <TextBlock Text="Leichen-Zerfall-Zeit" Foreground="{StaticResource TextMutedBrush}" FontSize="11"/>
                                        <TextBox Text="{Binding GlobalCorpseDecompositionTimeMultiplier, UpdateSourceTrigger=PropertyChanged}" Margin="0,4,0,0"/>
                                    </StackPanel>
                                </GroupBox>
                            </StackPanel>
                        </Grid>
                    </StackPanel>
                </ScrollViewer>
            </TabItem>

            <!-- ─ Tab 3: Loot Drops ─ -->
            <TabItem Header="📦 Loot Drops">
                <Grid Margin="0">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="260"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <!-- Drop List -->
                    <Border Grid.Column="0" Background="{StaticResource SurfaceBrush}"
                            BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,1,0">
                        <DockPanel>
                            <Border DockPanel.Dock="Top" Padding="14,12"
                                    BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,0,1">
                                <StackPanel>
                                    <TextBlock Text="Loot Drops" FontWeight="SemiBold"/>
                                    <StackPanel Orientation="Horizontal" Margin="0,8,0,0">
                                        <Button Style="{StaticResource PrimaryButton}" Content="＋ Drop"
                                                Command="{Binding AddLootDropCommand}" Padding="10,6" Margin="0,0,6,0"/>
                                        <Button Style="{StaticResource DangerButton}" Content="🗑"
                                                Command="{Binding RemoveLootDropCommand}" Padding="10,6"/>
                                    </StackPanel>
                                </StackPanel>
                            </Border>
                            <ListBox DockPanel.Dock="Top" ItemsSource="{Binding LootDrops}"
                                     SelectedItem="{Binding SelectedDrop}"
                                     BorderThickness="0" Background="Transparent">
                                <ListBox.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel Margin="2,2">
                                            <TextBlock Text="{Binding DropName}" FontWeight="SemiBold"/>
                                            <TextBlock Text="{Binding SupplyCrateClassString}" FontSize="10"
                                                       Foreground="{StaticResource TextMutedBrush}"
                                                       TextTrimming="CharacterEllipsis"/>
                                        </StackPanel>
                                    </DataTemplate>
                                </ListBox.ItemTemplate>
                            </ListBox>
                        </DockPanel>
                    </Border>

                    <!-- Drop Editor -->
                    <ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Auto">
                        <StackPanel Margin="24,20" x:Name="DropEditor">
                            <StackPanel Visibility="{Binding SelectedDrop, Converter={x:Static helpers:NullToVisibilityConverter.Instance}, ConverterParameter=inverse}">
                                <TextBlock Text="← Wähle einen Loot Drop aus der Liste" FontSize="16"
                                           Foreground="{StaticResource TextMutedBrush}" HorizontalAlignment="Center"
                                           VerticalAlignment="Center" Margin="0,80,0,0"/>
                            </StackPanel>

                            <StackPanel Visibility="{Binding SelectedDrop, Converter={x:Static helpers:NullToVisibilityConverter.Instance}}">
                                <TextBlock Text="Loot Drop Konfiguration" Style="{StaticResource PageTitle}" Margin="0,0,0,16"/>

                                <GroupBox Header="DROP GRUNDEINSTELLUNGEN">
                                    <Grid>
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="200"/>
                                            <ColumnDefinition Width="*"/>
                                        </Grid.ColumnDefinitions>
                                        <Grid.RowDefinitions>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                        </Grid.RowDefinitions>

                                        <TextBlock Grid.Row="0" Grid.Column="0" Text="Name" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="0" Grid.Column="1" Margin="0,0,0,8"
                                                 Text="{Binding SelectedDrop.DropName, UpdateSourceTrigger=PropertyChanged}"/>

                                        <TextBlock Grid.Row="1" Grid.Column="0" Text="Container aus Bibliothek" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <ComboBox Grid.Row="1" Grid.Column="1" Margin="0,0,0,8"
                                                  ItemsSource="{Binding LootContainerLibrary}"
                                                  DisplayMemberPath="DisplayName"
                                                  SelectedValuePath="ClassName"
                                                  SelectedValue="{Binding SelectedDrop.SupplyCrateClassString, UpdateSourceTrigger=PropertyChanged}"
                                                  IsEditable="True"/>

                                        <TextBlock Grid.Row="2" Grid.Column="0" Text="Supply Crate Class" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="2" Grid.Column="1" Margin="0,0,0,8"
                                                 Text="{Binding SelectedDrop.SupplyCrateClassString, UpdateSourceTrigger=PropertyChanged}"/>

                                        <TextBlock Grid.Row="3" Grid.Column="0" Text="Min. Qualitäts-Multiplikator" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="3" Grid.Column="1" Margin="0,0,0,8"
                                                 Text="{Binding SelectedDrop.MinQualityMultiplier, UpdateSourceTrigger=PropertyChanged}"/>

                                        <TextBlock Grid.Row="4" Grid.Column="0" Text="Max. Qualitäts-Multiplikator" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="4" Grid.Column="1" Margin="0,0,0,8"
                                                 Text="{Binding SelectedDrop.MaxQualityMultiplier, UpdateSourceTrigger=PropertyChanged}"/>

                                        <StackPanel Grid.Row="5" Grid.ColumnSpan="2" Orientation="Horizontal">
                                            <CheckBox Content="Keine Wiederholungen" IsChecked="{Binding SelectedDrop.bNoRepeats}" Margin="0,0,16,0"/>
                                            <CheckBox Content="Items anhängen" IsChecked="{Binding SelectedDrop.bAppendItemSets}"/>
                                        </StackPanel>
                                    </Grid>
                                </GroupBox>

                                <!-- Item Sets -->
                                <GroupBox Header="ITEM SETS">
                                    <StackPanel>
                                        <StackPanel Orientation="Horizontal" Margin="0,0,0,10">
                                            <Button Style="{StaticResource PrimaryButton}" Content="＋ Set hinzufügen"
                                                    Command="{Binding AddLootSetCommand}" Padding="10,6" Margin="0,0,8,0"/>
                                            <Button Style="{StaticResource DangerButton}" Content="🗑 Set entfernen"
                                                    Command="{Binding RemoveLootSetCommand}" Padding="10,6"/>
                                        </StackPanel>
                                        <ListBox ItemsSource="{Binding CurrentSets}"
                                                 SelectedItem="{Binding SelectedSet}"
                                                 MinHeight="80" MaxHeight="140">
                                            <ListBox.ItemTemplate>
                                                <DataTemplate>
                                                    <TextBlock Text="{Binding SetName}"/>
                                                </DataTemplate>
                                            </ListBox.ItemTemplate>
                                        </ListBox>

                                        <StackPanel Margin="0,12,0,0"
                                                    Visibility="{Binding SelectedSet, Converter={x:Static helpers:NullToVisibilityConverter.Instance}}">
                                            <TextBlock Text="Set-Einstellungen" FontWeight="SemiBold" Margin="0,0,0,8"/>
                                            <Grid>
                                                <Grid.ColumnDefinitions>
                                                    <ColumnDefinition Width="160"/>
                                                    <ColumnDefinition Width="120"/>
                                                    <ColumnDefinition Width="20"/>
                                                    <ColumnDefinition Width="160"/>
                                                    <ColumnDefinition Width="120"/>
                                                </Grid.ColumnDefinitions>
                                                <TextBlock Grid.Column="0" Text="Set Name" VerticalAlignment="Center"/>
                                                <TextBox Grid.Column="1" Text="{Binding SelectedSet.SetName, UpdateSourceTrigger=PropertyChanged}"/>
                                                <TextBlock Grid.Column="3" Text="Min. Items" VerticalAlignment="Center"/>
                                                <TextBox Grid.Column="4" Text="{Binding SelectedSet.MinNumItems, UpdateSourceTrigger=PropertyChanged}"/>
                                            </Grid>

                                            <Separator Margin="0,10"/>
                                            <StackPanel Orientation="Horizontal" Margin="0,0,0,8">
                                                <TextBlock Text="Items im Set" FontWeight="SemiBold" VerticalAlignment="Center" Margin="0,0,16,0"/>
                                                <Button Style="{StaticResource PrimaryButton}" Content="＋ Item"
                                                        Command="{Binding AddLootItemCommand}" Padding="8,4"/>
                                            </StackPanel>
                                            <DataGrid ItemsSource="{Binding CurrentItems}"
                                                      AutoGenerateColumns="False" CanUserAddRows="False"
                                                      MinHeight="80" MaxHeight="200">
                                                <DataGrid.Columns>
                                                    <DataGridTextColumn Header="Name" Binding="{Binding DisplayName}" Width="140"/>
                                                    <DataGridTextColumn Header="Item Class" Binding="{Binding ItemClassString}" Width="250"/>
                                                    <DataGridTextColumn Header="Min Q" Binding="{Binding MinQuantity}" Width="60"/>
                                                    <DataGridTextColumn Header="Max Q" Binding="{Binding MaxQuantity}" Width="60"/>
                                                    <DataGridTextColumn Header="Gewicht" Binding="{Binding ItemWeight}" Width="70"/>
                                                    <DataGridCheckBoxColumn Header="BP" Binding="{Binding bForceBlueprint}" Width="50"/>
                                                </DataGrid.Columns>
                                            </DataGrid>
                                        </StackPanel>
                                    </StackPanel>
                                </GroupBox>
                            </StackPanel>
                        </StackPanel>
                    </ScrollViewer>
                </Grid>
            </TabItem>

            <!-- ─ Tab 4: Engrams ─ -->
            <TabItem Header="📚 Engrams">
                <Grid Margin="0">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="320"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <!-- Engram List -->
                    <Border Grid.Column="0" Background="{StaticResource SurfaceBrush}"
                            BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,1,0">
                        <DockPanel>
                            <Border DockPanel.Dock="Top" Padding="14,12"
                                    BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,0,1">
                                <StackPanel>
                                    <TextBlock Text="Engram Overrides" FontWeight="SemiBold"/>
                                    <CheckBox Content="Alle Engrams freischalten (bAutoUnlockAllEngrams)"
                                              IsChecked="{Binding UnlockAllEngrams}" Margin="0,8,0,8"/>
                                    <TextBox Text="{Binding EngramSearch, UpdateSourceTrigger=PropertyChanged}"
                                             Margin="0,0,0,8" Padding="6,4"
                                             Tag="🔍 Engrams suchen..."/>
                                    <StackPanel Orientation="Horizontal">
                                        <Button Style="{StaticResource PrimaryButton}" Content="＋ Engram"
                                                Command="{Binding AddEngramCommand}" Padding="10,6" Margin="0,0,6,0"/>
                                        <Button Style="{StaticResource DangerButton}" Content="🗑"
                                                Command="{Binding RemoveEngramCommand}" Padding="10,6"/>
                                    </StackPanel>
                                </StackPanel>
                            </Border>
                            <ListBox DockPanel.Dock="Top" ItemsSource="{Binding FilteredEngrams}"
                                     SelectedItem="{Binding SelectedEngram}"
                                     BorderThickness="0" Background="Transparent">
                                <ListBox.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel>
                                            <TextBlock Text="{Binding DisplayName}" FontWeight="SemiBold"/>
                                            <TextBlock Text="{Binding EngramClassName}" FontSize="10"
                                                       Foreground="{StaticResource TextMutedBrush}"
                                                       TextTrimming="CharacterEllipsis"/>
                                        </StackPanel>
                                    </DataTemplate>
                                </ListBox.ItemTemplate>
                            </ListBox>
                        </DockPanel>
                    </Border>

                    <!-- Engram Editor -->
                    <ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Auto">
                        <StackPanel Margin="28,20"
                                    Visibility="{Binding SelectedEngram, Converter={x:Static helpers:NullToVisibilityConverter.Instance}}">
                            <TextBlock Text="Engram bearbeiten" Style="{StaticResource PageTitle}" Margin="0,0,0,20"/>
                            <GroupBox Header="ENGRAM OVERRIDE">
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="200"/>
                                        <ColumnDefinition Width="*"/>
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                    </Grid.RowDefinitions>

                                    <TextBlock Grid.Row="0" Grid.Column="0" Text="Anzeigename" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="0" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedEngram.DisplayName, UpdateSourceTrigger=PropertyChanged}"/>

                                    <TextBlock Grid.Row="1" Grid.Column="0" Text="Engram aus Bibliothek" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <ComboBox Grid.Row="1" Grid.Column="1" Margin="0,0,0,8"
                                              ItemsSource="{Binding EngramLibrary}"
                                              DisplayMemberPath="DisplayName"
                                              SelectedValuePath="ClassName"
                                              SelectedValue="{Binding SelectedEngram.EngramClassName, UpdateSourceTrigger=PropertyChanged}"
                                              IsEditable="True"/>

                                    <TextBlock Grid.Row="2" Grid.Column="0" Text="Engram Class Name" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="2" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedEngram.EngramClassName, UpdateSourceTrigger=PropertyChanged}"/>

                                    <TextBlock Grid.Row="3" Grid.Column="0" Text="Engram-Punkte Kosten (-1 = Standard)" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="3" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedEngram.EngramPointsCost, UpdateSourceTrigger=PropertyChanged}"/>

                                    <TextBlock Grid.Row="4" Grid.Column="0" Text="Level-Anforderung (-1 = Standard)" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="4" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedEngram.EngramLevelRequirement, UpdateSourceTrigger=PropertyChanged}"/>

                                    <StackPanel Grid.Row="5" Grid.ColumnSpan="2" Orientation="Horizontal">
                                        <CheckBox Content="Verstecken (Hidden)" IsChecked="{Binding SelectedEngram.Hidden}" Margin="0,0,16,0"/>
                                        <CheckBox Content="Voraussetzungen entfernen" IsChecked="{Binding SelectedEngram.RemoveEngramPreReq}"/>
                                    </StackPanel>
                                </Grid>
                            </GroupBox>
                        </StackPanel>
                    </ScrollViewer>
                </Grid>
            </TabItem>

            <!-- ─ Tab 5: Kreaturen ─ -->
            <TabItem Header="🦕 Kreaturen">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="280"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <Border Grid.Column="0" Background="{StaticResource SurfaceBrush}"
                            BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,1,0">
                        <DockPanel>
                            <Border DockPanel.Dock="Top" Padding="14,12"
                                    BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,0,1">
                                <StackPanel>
                                    <TextBlock Text="Kreatur-Multiplikatoren" FontWeight="SemiBold"/>
                                    <TextBox Text="{Binding CreatureSearch, UpdateSourceTrigger=PropertyChanged}"
                                             Margin="0,8,0,8" Padding="6,4"
                                             Tag="🔍 Kreaturen suchen..."/>
                                    <StackPanel Orientation="Horizontal">
                                        <Button Style="{StaticResource PrimaryButton}" Content="＋ Kreatur"
                                                Command="{Binding AddCreatureCommand}" Padding="10,6" Margin="0,0,6,0"/>
                                        <Button Style="{StaticResource DangerButton}" Content="🗑"
                                                Command="{Binding RemoveCreatureCommand}" Padding="10,6"/>
                                    </StackPanel>
                                </StackPanel>
                            </Border>
                            <ListBox DockPanel.Dock="Top" ItemsSource="{Binding FilteredCreatures}"
                                     SelectedItem="{Binding SelectedCreature}"
                                     BorderThickness="0" Background="Transparent">
                                <ListBox.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel>
                                            <TextBlock Text="{Binding DisplayName}" FontWeight="SemiBold"/>
                                            <TextBlock Text="{Binding DinoClassName}" FontSize="10"
                                                       Foreground="{StaticResource TextMutedBrush}"
                                                       TextTrimming="CharacterEllipsis"/>
                                        </StackPanel>
                                    </DataTemplate>
                                </ListBox.ItemTemplate>
                            </ListBox>
                        </DockPanel>
                    </Border>

                    <ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Auto">
                        <StackPanel Margin="28,20"
                                    Visibility="{Binding SelectedCreature, Converter={x:Static helpers:NullToVisibilityConverter.Instance}}">
                            <TextBlock Text="Kreatur bearbeiten" Style="{StaticResource PageTitle}" Margin="0,0,0,20"/>
                            <GroupBox Header="KREATUR MULTIPLIKATOREN (Game.ini)">
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="200"/>
                                        <ColumnDefinition Width="*"/>
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                    </Grid.RowDefinitions>

                                    <TextBlock Grid.Row="0" Grid.Column="0" Text="Anzeigename" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="0" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedCreature.DisplayName, UpdateSourceTrigger=PropertyChanged}"/>

                                    <TextBlock Grid.Row="1" Grid.Column="0" Text="Dino Class Name" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="1" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedCreature.DinoClassName, UpdateSourceTrigger=PropertyChanged}"/>

                                    <TextBlock Grid.Row="2" Grid.Column="0" Text="Schaden-Multiplikator" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="2" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedCreature.DinoDamageMultiplier, UpdateSourceTrigger=PropertyChanged}"/>

                                    <TextBlock Grid.Row="3" Grid.Column="0" Text="Resistenz-Multiplikator" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="3" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedCreature.DinoResistanceMultiplier, UpdateSourceTrigger=PropertyChanged}"/>

                                    <TextBlock Grid.Row="4" Grid.Column="0" Text="Zähmungs-Multiplikator" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="4" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedCreature.TamingSpeedMultiplier, UpdateSourceTrigger=PropertyChanged}"/>

                                    <CheckBox Grid.Row="5" Grid.ColumnSpan="2"
                                              Content="Deaktiviert (wird nicht in Config geschrieben)"
                                              IsChecked="{Binding SelectedCreature.Disabled}"/>
                                </Grid>
                            </GroupBox>
                        </StackPanel>
                    </ScrollViewer>
                </Grid>
            </TabItem>

            <!-- ─ Tab 6: Level Stats ─ -->
            <TabItem Header="📈 Level Stats">
                <ScrollViewer VerticalScrollBarVisibility="Auto">
                    <StackPanel Margin="28,20">
                        <TextBlock Text="PerLevel Stat Multiplikatoren" Style="{StaticResource PageTitle}" Margin="0,0,0,4"/>
                        <TextBlock Text="Definiert wie stark jeder Stat-Punkt beim Level-Up pro Kategorie steigt (Game.ini [/script/shootergame.shootergamemode])"
                                   Foreground="{StaticResource TextMutedBrush}" TextWrapping="Wrap" Margin="0,0,0,16"/>

                        <StackPanel Orientation="Horizontal" Margin="0,0,0,16">
                            <CheckBox Content="Eigene PerLevelStats aktivieren"
                                      IsChecked="{Binding UseCustomPerLevelStats}" Margin="0,0,24,0"
                                      FontWeight="SemiBold"/>
                            <Button Style="{StaticResource SecondaryButton}" Content="↺ Reset auf Standard"
                                    Command="{Binding ResetPerLevelStatsCommand}" Padding="10,5"/>
                        </StackPanel>

                        <Border Style="{StaticResource CardBorder}" Padding="0"
                                IsEnabled="{Binding UseCustomPerLevelStats}" Opacity="{Binding UseCustomPerLevelStats, Converter={x:Static helpers:BoolToOpacityConverter.Instance}}">
                            <DataGrid ItemsSource="{Binding PerLevelRows}"
                                      AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False"
                                      CanUserReorderColumns="False" CanUserResizeRows="False"
                                      HeadersVisibility="Column" SelectionMode="Single">
                                <DataGrid.Columns>
                                    <DataGridTextColumn Header="Stat" Binding="{Binding StatName}" IsReadOnly="True" Width="140">
                                        <DataGridTextColumn.ElementStyle>
                                            <Style TargetType="TextBlock">
                                                <Setter Property="Foreground" Value="{StaticResource AccentBrush}"/>
                                                <Setter Property="FontWeight" Value="SemiBold"/>
                                                <Setter Property="VerticalAlignment" Value="Center"/>
                                                <Setter Property="Padding" Value="8,0"/>
                                            </Style>
                                        </DataGridTextColumn.ElementStyle>
                                    </DataGridTextColumn>
                                    <DataGridTextColumn Header="🧑 Spieler" Binding="{Binding Player}" Width="90"/>
                                    <DataGridTextColumn Header="🧑 Spieler (gezähmt)" Binding="{Binding PlayerTamed}" Width="120"/>
                                    <DataGridTextColumn Header="🦕 Dino (wild)" Binding="{Binding DinoWild}" Width="100"/>
                                    <DataGridTextColumn Header="🦕 Dino (gezähmt)" Binding="{Binding DinoTamed}" Width="120"/>
                                    <DataGridTextColumn Header="+ Dino Add" Binding="{Binding DinoTamedAdd}" Width="90"/>
                                    <DataGridTextColumn Header="♥ Affinität" Binding="{Binding DinoTamedAffinity}" Width="90"/>
                                </DataGrid.Columns>
                            </DataGrid>
                        </Border>

                        <Border Style="{StaticResource CardBorder}" Margin="0,16,0,0">
                            <StackPanel>
                                <TextBlock Text="ℹ Hinweise" FontWeight="SemiBold" Margin="0,0,0,8"/>
                                <TextBlock TextWrapping="Wrap" Foreground="{StaticResource TextMutedBrush}" FontSize="12">
                                    <Run Text="• 1.0 = Standard (unverändert) · Werte können direkt in der Tabelle bearbeitet werden."/><LineBreak/>
                                    <Run Text="• Spieler: steuert wie stark Health, Stamina usw. pro Level-Up steigen."/><LineBreak/>
                                    <Run Text="• DinoWild: gilt für wilde Dinos auf dem Server."/><LineBreak/>
                                    <Run Text="• DinoTamed: Basiswerte nach dem Zähmen · DinoTamedAdd: Punkte pro Level nach dem Zähmen."/><LineBreak/>
                                    <Run Text="• Torpidity (Index 2) hat normalerweise keinen Player-Multiplikator."/>
                                </TextBlock>
                            </StackPanel>
                        </Border>
                    </StackPanel>
                </ScrollViewer>
            </TabItem>

            <!-- ─ Tab 7: Stack Sizes ─ -->
            <TabItem Header="📦 Stack Größen">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="260"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <Border Grid.Column="0" Background="{StaticResource SurfaceBrush}"
                            BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,1,0">
                        <DockPanel>
                            <Border DockPanel.Dock="Top" Padding="14,12"
                                    BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,0,1">
                                <StackPanel>
                                    <TextBlock Text="Stack Size Overrides" FontWeight="SemiBold"/>
                                    <TextBlock Text="ConfigOverrideItemMaxQuantity" FontSize="10"
                                               Foreground="{StaticResource TextMutedBrush}" Margin="0,2,0,8"/>
                                    <StackPanel Orientation="Horizontal">
                                        <Button Style="{StaticResource PrimaryButton}" Content="＋ Item"
                                                Command="{Binding AddStackSizeCommand}" Padding="10,6" Margin="0,0,6,0"/>
                                        <Button Style="{StaticResource DangerButton}" Content="🗑"
                                                Command="{Binding RemoveStackSizeCommand}" Padding="10,6"/>
                                    </StackPanel>
                                </StackPanel>
                            </Border>
                            <ListBox DockPanel.Dock="Top" ItemsSource="{Binding StackSizes}"
                                     SelectedItem="{Binding SelectedStackSize}"
                                     BorderThickness="0" Background="Transparent">
                                <ListBox.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel Margin="2,2">
                                            <TextBlock Text="{Binding DisplayName}" FontWeight="SemiBold"/>
                                            <TextBlock FontSize="11" Foreground="{StaticResource TextMutedBrush}">
                                                <Run Text="Max: "/><Run Text="{Binding MaxItemQuantity}"/>
                                            </TextBlock>
                                        </StackPanel>
                                    </DataTemplate>
                                </ListBox.ItemTemplate>
                            </ListBox>
                        </DockPanel>
                    </Border>

                    <ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Auto">
                        <StackPanel Margin="24,20"
                                    Visibility="{Binding SelectedStackSize, Converter={x:Static helpers:NullToVisibilityConverter.Instance}}">
                            <TextBlock Text="Stack Override bearbeiten" Style="{StaticResource PageTitle}" Margin="0,0,0,16"/>
                            <GroupBox Header="STACK SIZE OVERRIDE">
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="200"/>
                                        <ColumnDefinition Width="*"/>
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                    </Grid.RowDefinitions>
                                    <TextBlock Grid.Row="0" Grid.Column="0" Text="Anzeigename" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="0" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedStackSize.DisplayName, UpdateSourceTrigger=PropertyChanged}"/>
                                    <TextBlock Grid.Row="1" Grid.Column="0" Text="Item Class String" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="1" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedStackSize.ItemClassString, UpdateSourceTrigger=PropertyChanged}"/>
                                    <TextBlock Grid.Row="2" Grid.Column="0" Text="Max. Stack-Größe" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="2" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedStackSize.MaxItemQuantity, UpdateSourceTrigger=PropertyChanged}"/>
                                    <CheckBox Grid.Row="3" Grid.ColumnSpan="2"
                                              Content="Globalen Multiplikator ignorieren (bIgnoreMultiplier)"
                                              IsChecked="{Binding SelectedStackSize.bIgnoreMultiplier}"/>
                                </Grid>
                            </GroupBox>
                        </StackPanel>
                    </ScrollViewer>
                </Grid>
            </TabItem>

            <!-- ─ Tab 8: Harvest Multipliers ─ -->
            <TabItem Header="🌱 Ernte">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="260"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <Border Grid.Column="0" Background="{StaticResource SurfaceBrush}"
                            BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,1,0">
                        <DockPanel>
                            <Border DockPanel.Dock="Top" Padding="14,12"
                                    BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,0,1">
                                <StackPanel>
                                    <TextBlock Text="Harvest Multipliers" FontWeight="SemiBold"/>
                                    <TextBlock Text="HarvestResourceItemAmountClassMultipliers" FontSize="10"
                                               Foreground="{StaticResource TextMutedBrush}" Margin="0,2,0,8"/>
                                    <StackPanel Orientation="Horizontal">
                                        <Button Style="{StaticResource PrimaryButton}" Content="＋ Ressource"
                                                Command="{Binding AddHarvestCommand}" Padding="10,6" Margin="0,0,6,0"/>
                                        <Button Style="{StaticResource DangerButton}" Content="🗑"
                                                Command="{Binding RemoveHarvestCommand}" Padding="10,6"/>
                                    </StackPanel>
                                </StackPanel>
                            </Border>
                            <ListBox DockPanel.Dock="Top" ItemsSource="{Binding Harvests}"
                                     SelectedItem="{Binding SelectedHarvest}"
                                     BorderThickness="0" Background="Transparent">
                                <ListBox.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel Margin="2,2">
                                            <TextBlock Text="{Binding DisplayName}" FontWeight="SemiBold"/>
                                            <TextBlock FontSize="11" Foreground="{StaticResource TextMutedBrush}">
                                                <Run Text="x"/><Run Text="{Binding Multiplier}"/>
                                            </TextBlock>
                                        </StackPanel>
                                    </DataTemplate>
                                </ListBox.ItemTemplate>
                            </ListBox>
                        </DockPanel>
                    </Border>

                    <ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Auto">
                        <StackPanel Margin="24,20"
                                    Visibility="{Binding SelectedHarvest, Converter={x:Static helpers:NullToVisibilityConverter.Instance}}">
                            <TextBlock Text="Harvest Override bearbeiten" Style="{StaticResource PageTitle}" Margin="0,0,0,16"/>
                            <GroupBox Header="HARVEST MULTIPLIER">
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="200"/>
                                        <ColumnDefinition Width="*"/>
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                    </Grid.RowDefinitions>
                                    <TextBlock Grid.Row="0" Grid.Column="0" Text="Anzeigename" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="0" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedHarvest.DisplayName, UpdateSourceTrigger=PropertyChanged}"/>
                                    <TextBlock Grid.Row="1" Grid.Column="0" Text="Item Class Name" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                    <TextBox Grid.Row="1" Grid.Column="1" Margin="0,0,0,8"
                                             Text="{Binding SelectedHarvest.ClassName, UpdateSourceTrigger=PropertyChanged}"/>
                                    <TextBlock Grid.Row="2" Grid.Column="0" Text="Multiplikator" VerticalAlignment="Center"/>
                                    <TextBox Grid.Row="2" Grid.Column="1"
                                             Text="{Binding SelectedHarvest.Multiplier, UpdateSourceTrigger=PropertyChanged}"/>
                                </Grid>
                            </GroupBox>
                        </StackPanel>
                    </ScrollViewer>
                </Grid>
            </TabItem>

            <!-- ─ Tab 9: Cluster &amp; RCON ─ -->
            <TabItem Header="🔗 Cluster &amp; RCON">
                <ScrollViewer VerticalScrollBarVisibility="Auto">
                    <StackPanel Margin="28,20">
                        <TextBlock Text="Cluster &amp; RCON Einstellungen" Style="{StaticResource PageTitle}" Margin="0,0,0,4"/>
                        <TextBlock Text="Cluster-Konfiguration für verbundene Server und RCON-Fernzugriff (GameUserSettings.ini)"
                                   Foreground="{StaticResource TextMutedBrush}" Margin="0,0,0,20"/>

                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="24"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>

                            <StackPanel Grid.Column="0">
                                <GroupBox Header="CLUSTER EINSTELLUNGEN">
                                    <Grid>
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="200"/>
                                            <ColumnDefinition Width="*"/>
                                        </Grid.ColumnDefinitions>
                                        <Grid.RowDefinitions>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                        </Grid.RowDefinitions>
                                        <TextBlock Grid.Row="0" Grid.Column="0" Text="Cluster ID" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="0" Grid.Column="1" Text="{Binding ClusterID, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,8"/>
                                        <TextBlock Grid.Row="1" Grid.Column="0" Text="Cluster Passwort" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="1" Grid.Column="1" Text="{Binding ClusterPassword, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,8"/>
                                        <TextBlock Grid.Row="2" Grid.Column="0" Text="Max. Stammes-Logs" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="2" Grid.Column="1" Text="{Binding MaxTribeLogs, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,8"/>
                                        <TextBlock Grid.Row="3" Grid.Column="0" Text="Item Ablauf (Sek.)" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                        <TextBox Grid.Row="3" Grid.Column="1" Text="{Binding TributeItemExpirationSeconds, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,8"/>
                                        <TextBlock Grid.Row="4" Grid.Column="0" Text="Dino Ablauf (Sek.)" VerticalAlignment="Center"/>
                                        <TextBox Grid.Row="4" Grid.Column="1" Text="{Binding TributeDinoExpirationSeconds, UpdateSourceTrigger=PropertyChanged}"/>
                                    </Grid>
                                </GroupBox>

                                <GroupBox Header="TRANSFER EINSCHRÄNKUNGEN">
                                    <StackPanel>
                                        <CheckBox Content="Download: Überlebende sperren" IsChecked="{Binding PreventDownloadSurvivors}" Margin="0,0,0,8"/>
                                        <CheckBox Content="Download: Items sperren" IsChecked="{Binding PreventDownloadItems}" Margin="0,0,0,8"/>
                                        <CheckBox Content="Download: Dinos sperren" IsChecked="{Binding PreventDownloadDinos}" Margin="0,0,0,8"/>
                                        <Separator/>
                                        <CheckBox Content="Upload: Überlebende sperren" IsChecked="{Binding PreventUploadSurvivors}" Margin="0,4,0,8"/>
                                        <CheckBox Content="Upload: Items sperren" IsChecked="{Binding PreventUploadItems}" Margin="0,0,0,8"/>
                                        <CheckBox Content="Upload: Dinos sperren" IsChecked="{Binding PreventUploadDinos}" Margin="0,0,0,8"/>
                                        <CheckBox Content="Keine Tribute-Downloads" IsChecked="{Binding NoTributeDownloads}" Margin="0,0,0,8"/>
                                        <CheckBox Content="Unlimitierte Respecs erlauben" IsChecked="{Binding bAllowUnlimitedRespecs}"/>
                                    </StackPanel>
                                </GroupBox>
                            </StackPanel>

                            <StackPanel Grid.Column="2">
                                <GroupBox Header="RCON">
                                    <StackPanel>
                                        <CheckBox Content="RCON aktivieren" IsChecked="{Binding RCONEnabled}" Margin="0,0,0,12" FontWeight="SemiBold"/>
                                        <Grid>
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="160"/>
                                                <ColumnDefinition Width="*"/>
                                            </Grid.ColumnDefinitions>
                                            <Grid.RowDefinitions>
                                                <RowDefinition Height="Auto"/>
                                                <RowDefinition Height="Auto"/>
                                            </Grid.RowDefinitions>
                                            <TextBlock Grid.Row="0" Grid.Column="0" Text="RCON Port" VerticalAlignment="Center" Margin="0,0,0,8"/>
                                            <TextBox Grid.Row="0" Grid.Column="1" Text="{Binding RCONPort, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,8"
                                                     IsEnabled="{Binding RCONEnabled}"/>
                                            <TextBlock Grid.Row="1" Grid.Column="0" Text="Log Buffer" VerticalAlignment="Center"/>
                                            <TextBox Grid.Row="1" Grid.Column="1" Text="{Binding RCONServerGameLogBuffer, UpdateSourceTrigger=PropertyChanged}"
                                                     IsEnabled="{Binding RCONEnabled}"/>
                                        </Grid>
                                    </StackPanel>
                                </GroupBox>

                                <Border Style="{StaticResource CardBorder}">
                                    <StackPanel>
                                        <TextBlock Text="ℹ Cluster-Setup" FontWeight="SemiBold" Margin="0,0,0,8"/>
                                        <TextBlock TextWrapping="Wrap" Foreground="{StaticResource TextMutedBrush}" FontSize="12">
                                            <Run Text="Cluster-Server müssen die gleiche ClusterID teilen."/><LineBreak/>
                                            <Run Text="Starte den Server mit: -clusterid=DeineID"/><LineBreak/>
                                            <Run Text="RCON erlaubt Fernzugriff über Tools wie ARKON oder ArkServerManager."/>
                                        </TextBlock>
                                    </StackPanel>
                                </Border>
                            </StackPanel>
                        </Grid>
                    </StackPanel>
                </ScrollViewer>
            </TabItem>

            <!-- ─ Tab 10: Templates ─ -->
            <TabItem Header="📋 Templates">
                <ScrollViewer VerticalScrollBarVisibility="Auto">
                    <StackPanel Margin="28,20">
                        <TextBlock Text="Server Templates" Style="{StaticResource PageTitle}" Margin="0,0,0,4"/>
                        <TextBlock Text="Lade vorgefertigte Konfigurationen als Ausgangspunkt für deinen Server."
                                   Foreground="{StaticResource TextMutedBrush}" Margin="0,0,0,20"/>

                        <WrapPanel>
                            <ItemsControl ItemsSource="{Binding Templates}">
                                <ItemsControl.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <WrapPanel/>
                                    </ItemsPanelTemplate>
                                </ItemsControl.ItemsPanel>
                                <ItemsControl.ItemTemplate>
                                    <DataTemplate>
                                        <Border Style="{StaticResource CardBorder}" Width="320" Margin="0,0,16,16"
                                                Cursor="Hand">
                                            <StackPanel>
                                                <TextBlock Text="{Binding Name}" FontSize="15" FontWeight="Bold" Margin="0,0,0,8"/>
                                                <TextBlock Text="{Binding Description}" TextWrapping="Wrap"
                                                           Foreground="{StaticResource TextMutedBrush}" FontSize="12"
                                                           Margin="0,0,0,14"/>
                                                <Button Style="{StaticResource SecondaryButton}"
                                                        Content="▶ Template laden"
                                                        CommandParameter="{Binding}"
                                                        Command="{Binding DataContext.LoadTemplateCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}"/>
                                            </StackPanel>
                                        </Border>
                                    </DataTemplate>
                                </ItemsControl.ItemTemplate>
                            </ItemsControl>
                        </WrapPanel>
                    </StackPanel>
                </ScrollViewer>
            </TabItem>

            <!-- ─ Tab 11: Config Vorschau ─ -->
            <TabItem Header="👁 Vorschau">
                <Grid Margin="0">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <!-- Game.ini -->
                    <DockPanel Grid.Column="0" Margin="0">
                        <Border DockPanel.Dock="Top" Padding="16,10"
                                Background="{StaticResource SurfaceBrush}"
                                BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,1,1">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="Game.ini" FontWeight="SemiBold" VerticalAlignment="Center" Margin="0,0,16,0"/>
                                <Button Style="{StaticResource SecondaryButton}" Content="📋 Kopieren"
                                        Command="{Binding CopyGameIniCommand}" Padding="10,5"/>
                            </StackPanel>
                        </Border>
                        <TextBox DockPanel.Dock="Top" Text="{Binding GeneratedGameIni, Mode=OneWay}"
                                 IsReadOnly="True" TextWrapping="NoWrap" AcceptsReturn="True"
                                 Background="#0A0F14" Foreground="#E0E0E0"
                                 FontFamily="Consolas" FontSize="12"
                                 VerticalScrollBarVisibility="Auto"
                                 HorizontalScrollBarVisibility="Auto"
                                 BorderThickness="0,0,1,0"
                                 Padding="12"/>
                    </DockPanel>

                    <!-- GameUserSettings.ini -->
                    <DockPanel Grid.Column="1">
                        <Border DockPanel.Dock="Top" Padding="16,10"
                                Background="{StaticResource SurfaceBrush}"
                                BorderBrush="{StaticResource BorderBrush}" BorderThickness="0,0,0,1">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="GameUserSettings.ini" FontWeight="SemiBold" VerticalAlignment="Center" Margin="0,0,16,0"/>
                                <Button Style="{StaticResource SecondaryButton}" Content="📋 Kopieren"
                                        Command="{Binding CopyGUSCommand}" Padding="10,5"/>
                            </StackPanel>
                        </Border>
                        <TextBox DockPanel.Dock="Top" Text="{Binding GeneratedGUS, Mode=OneWay}"
                                 IsReadOnly="True" TextWrapping="NoWrap" AcceptsReturn="True"
                                 Background="#0A0F14" Foreground="#E0E0E0"
                                 FontFamily="Consolas" FontSize="12"
                                 VerticalScrollBarVisibility="Auto"
                                 HorizontalScrollBarVisibility="Auto"
                                 BorderThickness="0"
                                 Padding="12"/>
                    </DockPanel>
                </Grid>
            </TabItem>

        </TabControl>
    </Grid>
</UserControl>
