/* ==========================================================================
   EntegreSmart Design Tokens
   Source of truth for custom components. MudBlazor palette values in
   Theme/EntegreSmartTheme.cs mirror the color tokens below.
   ========================================================================== */

:root {
    /* Brand */
    --es-primary: #2447C7;
    --es-primary-hover: #1D3AA6;
    --es-primary-soft: #EBF0FF;
    --es-primary-soft-text: #1D3AA6;
    --es-secondary: #0E7C86;
    --es-secondary-soft: #E3F4F5;

    /* Surfaces */
    --es-bg: #F5F6F8;
    --es-surface: #FFFFFF;
    --es-surface-raised: #FFFFFF;
    --es-surface-sunken: #F9FAFB;
    --es-surface-hover: #F3F5F8;
    --es-overlay: rgba(15, 19, 27, 0.48);

    /* Text */
    --es-text: #1B2333;
    --es-text-secondary: #5B6578;
    --es-text-muted: #646E80; /* ≥4.5:1 on bg, surface and neutral-soft (WCAG AA) */
    --es-text-inverse: #FFFFFF;

    /* Borders */
    --es-border: #E4E7EC;
    --es-border-strong: #CDD2DA;
    --es-divider: #EEF0F3;

    /* Semantic (text-safe on surface, AA) + soft fills */
    --es-success: #177A44; /* ≥4.5:1 on success-soft */
    --es-success-soft: #E6F4EC;
    --es-warning: #A35F00;
    --es-warning-soft: #FDF3E1;
    --es-danger: #C62F2F;
    --es-danger-soft: #FCEBEB;
    --es-info: #2563EB;
    --es-info-soft: #E8F0FE;
    --es-neutral: #5B6578;
    --es-neutral-soft: #EEF0F3;
    --es-violet: #6D4CC2;
    --es-violet-soft: #F0ECFB;

    /* Data visualization: license status (validated, see report) */
    --es-chart-active: #1F9D55;
    --es-chart-trial: #3B6FF5;
    --es-chart-grace: #E0A106;
    --es-chart-expired: #D03B3B;
    --es-chart-suspended: #8B5CF6;
    --es-chart-cancelled: #8F8F8A;

    /* Typography */
    --es-font: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
    --es-font-mono: "Cascadia Mono", "JetBrains Mono", Consolas, "SFMono-Regular", monospace;
    --es-text-xs: 0.75rem;
    --es-text-sm: 0.8125rem;
    --es-text-md: 0.875rem;
    --es-text-lg: 1rem;
    --es-text-xl: 1.25rem;
    --es-text-2xl: 1.5rem;
    --es-text-3xl: 1.75rem;

    /* Spacing scale (4px base) */
    --es-space-1: 4px;
    --es-space-2: 8px;
    --es-space-3: 12px;
    --es-space-4: 16px;
    --es-space-5: 20px;
    --es-space-6: 24px;
    --es-space-8: 32px;
    --es-space-10: 40px;
    --es-space-12: 48px;

    /* Radius */
    --es-radius-sm: 6px;
    --es-radius-md: 8px;
    --es-radius-lg: 12px;
    --es-radius-pill: 999px;

    /* Elevation */
    --es-shadow-xs: 0 1px 2px rgba(16, 24, 40, 0.04);
    --es-shadow-sm: 0 1px 3px rgba(16, 24, 40, 0.06), 0 1px 2px rgba(16, 24, 40, 0.04);
    --es-shadow-md: 0 4px 12px -2px rgba(16, 24, 40, 0.08), 0 2px 4px -2px rgba(16, 24, 40, 0.04);
    --es-shadow-lg: 0 16px 32px -8px rgba(16, 24, 40, 0.16);

    /* Focus & motion */
    --es-focus-ring: 0 0 0 3px rgba(36, 71, 199, 0.32);
    --es-focus-outline: 2px solid var(--es-primary);
    --es-transition: 140ms cubic-bezier(0.2, 0, 0, 1);

    /* Layout */
    --es-sidebar-width: 264px;
    --es-sidebar-collapsed-width: 72px;
    --es-topbar-height: 64px;
    --es-content-max: 1440px;

    color-scheme: light;
}

[data-theme="dark"] {
    --es-primary: #7D98FF;
    --es-primary-hover: #9AAFFF;
    --es-primary-soft: rgba(125, 152, 255, 0.14);
    --es-primary-soft-text: #B3C3FF;
    --es-secondary: #4CC3CC;
    --es-secondary-soft: rgba(76, 195, 204, 0.14);

    --es-bg: #0F131B;
    --es-surface: #161B26;
    --es-surface-raised: #1B2130;
    --es-surface-sunken: #121722;
    --es-surface-hover: #1E2433;
    --es-overlay: rgba(0, 0, 0, 0.6);

    --es-text: #E6E9EF;
    --es-text-secondary: #A4ACBA;
    --es-text-muted: #8A93A3;
    --es-text-inverse: #0B1020;

    --es-border: #262D3B;
    --es-border-strong: #353D4D;
    --es-divider: #1F2532;

    --es-success: #5BD199;
    --es-success-soft: rgba(76, 195, 138, 0.14);
    --es-warning: #F0B54A;
    --es-warning-soft: rgba(240, 181, 74, 0.14);
    --es-danger: #F58A8A;
    --es-danger-soft: rgba(240, 113, 113, 0.14);
    --es-info: #8AB0FF;
    --es-info-soft: rgba(107, 155, 255, 0.14);
    --es-neutral: #A4ACBA;
    --es-neutral-soft: rgba(164, 172, 186, 0.12);
    --es-violet: #BBA6F5;
    --es-violet-soft: rgba(165, 139, 240, 0.14);

    --es-chart-active: #25A35E;
    --es-chart-trial: #5B85FB;
    --es-chart-grace: #D69A08;
    --es-chart-expired: #E05252;
    --es-chart-suspended: #9D74F7;
    --es-chart-cancelled: #7D7D79;

    --es-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
    --es-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.35);
    --es-shadow-md: 0 6px 16px -4px rgba(0, 0, 0, 0.45);
    --es-shadow-lg: 0 20px 40px -12px rgba(0, 0, 0, 0.6);
    --es-focus-ring: 0 0 0 3px rgba(125, 152, 255, 0.4);

    color-scheme: dark;
}
