/* ═══════════════════════════════════════════════════════════════════
   Cronac Give  ·  css/core/theme.css
   Global design tokens — loaded first on every page.
   Org palette overrides are injected via inline <style> in each
   base template after this file loads.
   ═══════════════════════════════════════════════════════════════════ */

:root {

  /* ── Org palette (fallback defaults; overridden per-org at runtime) */
  --org-primary:         #387FC8;
  --org-secondary:       #393943;

  /* Derived org shades */
  --org-primary-light:   color-mix(in srgb, var(--org-primary) 20%, #fff);
  --org-primary-dark:    color-mix(in srgb, var(--org-primary) 80%, #000);

  /* ── Cronac system colors */
  --cs-blue:             #387FC8;
  --cs-dark:             #393943;

  /* ── Neutral surface / border / text */
  --color-surface:       #FAFAF8;
  --color-surface-2:     #F3F2EE;
  --color-surface-3:     #E8E7E2;
  --color-border:        #DDDBD5;
  --color-border-focus:  var(--org-primary);
  --color-text:          #1C1C20;
  --color-text-muted:    #6B6B72;
  --color-text-light:    #9B9BA2;
  --color-white:         #FFFFFF;

  /* ── Semantic status colors */
  --color-success:       #1E7A4A;
  --color-success-bg:    #ECFAF3;
  --color-error:         #C0392B;
  --color-error-bg:      #FEF2F1;
  --color-warning:       #B45309;
  --color-warning-bg:    #FFFBEB;
  --color-info:          var(--org-primary);
  --color-info-bg:       var(--org-primary-light);

  /* ── Shared accent family — replaces local dashboard/report palettes */
  --accent-blue-bg:      #EBF4FF;
  --accent-blue-fg:      #1A5FA8;
  --accent-blue-strong:  #387FC8;

  --accent-green-bg:     #ECFAF3;
  --accent-green-fg:     #1E7A4A;
  --accent-green-strong: #27AE60;

  --accent-purple-bg:    #F5F0FF;
  --accent-purple-fg:    #5B21B6;
  --accent-purple-strong:#7C3AED;

  --accent-amber-bg:     #FFFBEB;
  --accent-amber-fg:     #92400E;
  --accent-amber-strong: #D97706;

  --accent-rose-bg:      #FEF0F3;
  --accent-rose-fg:      #A52040;
  --accent-rose-strong:  #E05070;

  --accent-neutral-bg:   var(--color-surface-2);
  --accent-neutral-fg:   var(--color-text-muted);
  --accent-neutral-strong: var(--color-text-light);

  /* ── Typography */
  --font-display:        'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body:           'DM Sans', 'Helvetica Neue', Arial, sans-serif;

  --text-xs:    0.75rem;    /* 12px */
  --text-sm:    0.875rem;   /* 14px */
  --text-base:  1rem;       /* 16px */
  --text-lg:    1.125rem;   /* 18px */
  --text-xl:    1.25rem;    /* 20px */
  --text-2xl:   1.5rem;     /* 24px */
  --text-3xl:   1.875rem;   /* 30px */
  --text-4xl:   2.25rem;    /* 36px */
  --text-5xl:   3rem;       /* 48px */

  --leading-tight:   1.25;
  --leading-snug:    1.375;
  --leading-normal:  1.5;
  --leading-relaxed: 1.625;

  --font-light:  300;
  --font-normal: 400;
  --font-medium: 500;
  --font-semi:   600;
  --font-bold:   700;

  /* ── Spacing scale */
  --space-1:   0.25rem;
  --space-2:   0.5rem;
  --space-3:   0.75rem;
  --space-4:   1rem;
  --space-5:   1.25rem;
  --space-6:   1.5rem;
  --space-7:   1.75rem;
  --space-8:   2rem;
  --space-9:   2.25rem;
  --space-10:  2.5rem;
  --space-12:  3rem;
  --space-14:  3.5rem;
  --space-16:  4rem;
  --space-18:  4.5rem;
  --space-20:  5rem;
  --space-24:  6rem;

  /* ── Border radii */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-full: 9999px;

  /* ── Shadows */
  --shadow-xs:  0 1px 2px rgba(28,28,32,0.05);
  --shadow-sm:  0 2px 6px rgba(28,28,32,0.07);
  --shadow-md:  0 4px 16px rgba(28,28,32,0.10);
  --shadow-lg:  0 8px 32px rgba(28,28,32,0.12);
  --shadow-xl:  0 16px 48px rgba(28,28,32,0.15);

  /* ── Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;

  /* ── Layout */
  --container-max:  1100px;
  --container-form: 560px;

  /* ── Z-index scale */
  --z-below:   -1;
  --z-base:     0;
  --z-raised:  10;
  --z-overlay: 50;
  --z-sticky:  90;
  --z-nav:    100;
  --z-header: 200;
  --z-modal:  300;
  --z-toast:  9999;

}
