using System.Drawing;

namespace Elfisa.UI.Theming
{
    /// <summary>
    /// Clinical Desktop — вариант 1 из elfisa-design/desktop/variant-a-clinical.html
    /// </summary>
    public sealed class ClinicalProPalette : IThemePalette
    {
        public ThemeVariant Variant => ThemeVariant.ClinicalPro;

        public ThemeColors Colors { get; } = new ThemeColors
        {
            Name = "Clinical Pro",
            Mode = ThemeMode.Light,
            BackgroundPrimary = Color.FromArgb(248, 250, 252),
            BackgroundSecondary = Color.FromArgb(248, 250, 252),
            Surface = Color.White,
            SurfaceElevated = Color.White,
            Border = Color.FromArgb(226, 232, 240),
            BorderSubtle = Color.FromArgb(241, 245, 249),
            TextPrimary = Color.FromArgb(15, 23, 42),
            TextSecondary = Color.FromArgb(51, 65, 85),
            TextMuted = Color.FromArgb(100, 116, 139),
            TextOnAccent = Color.White,
            AccentPrimary = Color.FromArgb(15, 118, 110),
            AccentPrimaryHover = Color.FromArgb(13, 148, 136),
            AccentPrimaryPressed = Color.FromArgb(17, 94, 89),
            AccentPrimarySoft = Color.FromArgb(240, 253, 250),
            AccentPrimaryBorder = Color.FromArgb(153, 246, 228),
            AccentSecondary = Color.White,
            Success = Color.FromArgb(5, 150, 105),
            SuccessSoft = Color.FromArgb(209, 250, 229),
            Warning = Color.FromArgb(217, 119, 6),
            WarningSoft = Color.FromArgb(254, 243, 199),
            Danger = Color.FromArgb(190, 58, 82),
            DangerSoft = Color.FromArgb(255, 245, 247),
            Info = Color.FromArgb(8, 145, 178),
            InfoSoft = Color.FromArgb(224, 242, 254),
            TitleBarTop = Color.FromArgb(15, 118, 110),
            TitleBarBottom = Color.FromArgb(13, 148, 136),
            NavBackground = Color.White,
            CartHeaderBackground = Color.FromArgb(240, 253, 250),
            ToolbarBackground = Color.FromArgb(248, 250, 252),
            SectionHeaderBackground = Color.FromArgb(241, 245, 249),
            SidebarBackground = Color.White,
            SidebarItem = Color.FromArgb(100, 116, 139),
            SidebarItemHover = Color.FromArgb(248, 250, 252),
            SidebarItemActive = Color.FromArgb(204, 251, 241),
            SidebarItemActiveText = Color.FromArgb(15, 118, 110),
            GridHeaderBackground = Color.FromArgb(241, 245, 249),
            GridHeaderForeground = Color.FromArgb(71, 85, 105),
            GridRowBackground = Color.White,
            GridRowAlternate = Color.FromArgb(248, 250, 252),
            GridRowHover = Color.FromArgb(240, 253, 250),
            GridRowSelected = Color.FromArgb(15, 118, 110),
            GridRowSelectedText = Color.White,
            GridBorder = Color.FromArgb(226, 232, 240),
            InputBackground = Color.White,
            InputBorder = Color.FromArgb(203, 213, 225),
            InputBorderFocus = Color.FromArgb(20, 184, 166),
            OverlayScrim = Color.FromArgb(160, 15, 23, 42),
            Shadow = Color.FromArgb(28, 15, 23, 42),
            ScrollbarThumb = Color.FromArgb(148, 163, 184),
            ScrollbarTrack = Color.FromArgb(248, 250, 252),
            CornerRadiusSmall = 8,
            CornerRadiusMedium = 12,
            GridRowHeight = 36,
            GridHeaderHeight = 38
        };

        public ClinicalProPalette()
        {
            Colors.FontRegular12 = new Font("Segoe UI", 11f);
            Colors.FontRegular13 = new Font("Segoe UI", 12f);
            Colors.FontRegular14 = new Font("Segoe UI", 13f);
            Colors.FontSemibold14 = new Font("Segoe UI Semibold", 13f);
            Colors.FontSemibold16 = new Font("Segoe UI Semibold", 15f);
            Colors.FontBold18 = new Font("Segoe UI Semibold", 17f, FontStyle.Bold);
        }
    }
}
