/* LawyerPro App — design tokens (CSS custom properties)
   Light theme is default on :root. Dark theme via [data-theme="dark"] or .dark.
   Generated from tokens/design-tokens.json — do not edit by hand. */

:root {
    /* raw palette */
    --primary-50: #EEF3F9;
    --primary-100: #D4E1EF;
    --primary-200: #A8C0DD;
    --primary-300: #769DC6;
    --primary-400: #4675A4;
    --primary-500: #2A5687;
    --primary-600: #1C4470;
    --primary-700: #12325B;
    --primary-800: #0D2647;
    --primary-900: #081A33;
    --primary-950: #050F1F;
    --accent-50: #FBF7EC;
    --accent-100: #F6ECCF;
    --accent-200: #ECD89F;
    --accent-300: #E0C16C;
    --accent-400: #D4AE54;
    --accent-500: #C9A24B;
    --accent-600: #AB853A;
    --accent-700: #86662C;
    --accent-800: #5E4820;
    --accent-900: #3C2E14;
    --neutral-0: #FFFFFF;
    --neutral-50: #F6F8FA;
    --neutral-100: #EDF0F4;
    --neutral-200: #DCE2EA;
    --neutral-300: #C2CBD6;
    --neutral-400: #99A5B4;
    --neutral-500: #6E7B8C;
    --neutral-600: #4D5867;
    --neutral-700: #353E4A;
    --neutral-800: #222932;
    --neutral-900: #141A21;
    --neutral-950: #0C1015;
    --slate: #A9B8CC;

    /* semantic — light theme */
    --color-background: #F6F8FA;
    --color-surface: #FFFFFF;
    --color-surface-alt: #F6F8FA;
    --color-surface-raised: #FFFFFF;
    --color-border: #DCE2EA;
    --color-border-strong: #C2CBD6;
    --color-text-primary: #222932;
    --color-text-secondary: #4D5867;
    --color-text-muted: #6E7B8C;
    --color-text-brand: #12325B;
    --color-text-on-primary: #FFFFFF;
    --color-text-on-accent: #081A33;
    --color-primary: #12325B;
    --color-primary-hover: #0D2647;
    --color-primary-active: #081A33;
    --color-primary-subtle: #EEF3F9;
    --color-accent: #C9A24B;
    --color-accent-hover: #AB853A;
    --color-accent-subtle: #FBF7EC;
    --color-focus-ring: #4675A4;
    --color-success: #2F8F5B;
    --color-success-bg: #E7F4EC;
    --color-success-border: #B7E0C6;
    --color-warning: #C9821F;
    --color-warning-bg: #FBF0DC;
    --color-warning-border: #F0D4A0;
    --color-danger: #C0392B;
    --color-danger-bg: #FAE8E6;
    --color-danger-border: #EFC0BA;
    --color-info: #2E6FB0;
    --color-info-bg: #E6F0F9;
    --color-info-border: #B6D2EC;

    /* elevation */
    --shadow-sm: 0 1px 2px rgba(18,50,91,0.08);
    --shadow-md: 0 4px 12px rgba(18,50,91,0.10);
    --shadow-lg: 0 12px 32px rgba(18,50,91,0.14);

    /* spacing */
    --space-0: 0px;
    --space-0_5: 2px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-14: 56px;
    --space-16: 64px;
    --space-20: 80px;
    --space-24: 96px;

    /* radius */
    --radius-xs: 4px;
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-xl: 20px;
    --radius-2xl: 28px;
    --radius-pill: 9999px;

    /* typography */
    --font-sans: "Mukta", "Hind", -apple-system, "Segoe UI", Roboto, sans-serif;
    --font-serif: "Tiro Devanagari Hindi", "Lora", Georgia, serif;
    --font-mono: "IBM Plex Mono", "Roboto Mono", ui-monospace, monospace;
    --font-brand: "Helvetica Neue", Arial, sans-serif;

    /* motion */
    --duration-fast: 120ms;
    --duration-base: 200ms;
    --duration-slow: 320ms;
    --ease-standard: cubic-bezier(0.2,0,0,1);
    --ease-emphasized: cubic-bezier(0.3,0,0,1);
}

[data-theme="dark"], .dark {
    --color-background: #0A1422;
    --color-surface: #0F1E33;
    --color-surface-alt: #0C1A2C;
    --color-surface-raised: #16263F;
    --color-border: #22354F;
    --color-border-strong: #2E435F;
    --color-text-primary: #EAF1F9;
    --color-text-secondary: #A9B8CC;
    --color-text-muted: #7E8EA3;
    --color-text-brand: #8FB0D6;
    --color-text-on-primary: #08111E;
    --color-text-on-accent: #2A1E06;
    --color-primary: #5B86BC;
    --color-primary-hover: #6F97C9;
    --color-primary-active: #4A74A8;
    --color-primary-subtle: #14263E;
    --color-accent: #D8B25E;
    --color-accent-hover: #E0BE72;
    --color-accent-subtle: #1B2233;
    --color-focus-ring: #6F97C9;
    --color-success: #4FB07D;
    --color-success-bg: #11271C;
    --color-success-border: #1F4733;
    --color-warning: #E0A24A;
    --color-warning-bg: #2A1E0A;
    --color-warning-border: #4A360F;
    --color-danger: #E0695C;
    --color-danger-bg: #2A1311;
    --color-danger-border: #4A211C;
    --color-info: #5B9BD8;
    --color-info-bg: #0E1F30;
    --color-info-border: #1C3A57;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.40);
    --shadow-md: 0 6px 16px rgba(0,0,0,0.45);
    --shadow-lg: 0 16px 40px rgba(0,0,0,0.55);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-background: #0A1422;
    --color-surface: #0F1E33;
    --color-surface-alt: #0C1A2C;
    --color-surface-raised: #16263F;
    --color-border: #22354F;
    --color-border-strong: #2E435F;
    --color-text-primary: #EAF1F9;
    --color-text-secondary: #A9B8CC;
    --color-text-muted: #7E8EA3;
    --color-text-brand: #8FB0D6;
    --color-text-on-primary: #08111E;
    --color-text-on-accent: #2A1E06;
    --color-primary: #5B86BC;
    --color-primary-hover: #6F97C9;
    --color-primary-active: #4A74A8;
    --color-primary-subtle: #14263E;
    --color-accent: #D8B25E;
    --color-accent-hover: #E0BE72;
    --color-accent-subtle: #1B2233;
    --color-focus-ring: #6F97C9;
    --color-success: #4FB07D;
    --color-success-bg: #11271C;
    --color-success-border: #1F4733;
    --color-warning: #E0A24A;
    --color-warning-bg: #2A1E0A;
    --color-warning-border: #4A360F;
    --color-danger: #E0695C;
    --color-danger-bg: #2A1311;
    --color-danger-border: #4A211C;
    --color-info: #5B9BD8;
    --color-info-bg: #0E1F30;
    --color-info-border: #1C3A57;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.40);
    --shadow-md: 0 6px 16px rgba(0,0,0,0.45);
    --shadow-lg: 0 16px 40px rgba(0,0,0,0.55);
  }
}
