/* Purpose: The single source of design values. Ported from the approved mockup
   (site/app/app.css) — navy palette from ds.md, Inter for UI, Fraunces for accents.
   Nothing in the theme hardcodes a colour, size or duration; it comes from here. */

:root {
  /* COLORS */
  --color-primary:       #2E3569;  /* navy-mid — buttons, focus, active nav */
  --color-primary-dark:  #151936;  /* navy-section — sidebar, dark bands */
  --color-secondary:     #000710;  /* navy-hero — deepest ground */
  --color-accent:        #E09638;  /* pins and small warm moments only */
  --color-bg:            #FBFAF8;  /* off-white app ground */
  --color-bg-alt:        #F4F3EF;
  --color-surface:       #FFFFFF;
  --color-text:          #151936;
  --color-text-muted:    #66697C;
  --color-border:        #E1E2E5;
  --color-border-soft:   #F1F1EE;  /* row dividers inside a panel, lighter than a box edge */
  --color-fill-muted:    #EFEEEA;  /* neutral tag and status pill fill */
  --color-success:       #1E8E5A;
  --color-warning:       #B97A1B;
  --color-error:         #C2453A;
  --color-whatsapp:      #128C4B;

  /* TYPOGRAPHY */
  --font-heading: 'Inter', -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --font-body:    'Inter', -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --font-accent:  'Fraunces', Georgia, serif;   /* italic, empty states only */
  --font-mono:    ui-monospace, SFMono-Regular, Menlo, monospace;

  --text-xs:   0.6875rem;  /* 11px  */
  --text-sm:   0.78125rem; /* 12.5px */
  --text-base: 0.875rem;   /* 14px  */
  --text-md:   0.96875rem; /* 15.5px */
  --text-lg:   1.125rem;
  --text-xl:   1.5rem;
  --text-2xl:  2rem;
  --text-3xl:  2.5rem;

  --leading-tight:  1.2;
  --leading-normal: 1.5;
  --leading-loose:  1.7;
  --tracking-tight: -0.01em;
  --tracking-normal: 0;
  --tracking-wide:  0.1em;
  --weight-regular: 400;
  --weight-medium:  500;
  --weight-semibold:600;
  --weight-bold:    700;

  /* SPACING */
  --space-1:  0.25rem;  --space-2:  0.5rem;
  --space-3:  0.75rem;  --space-4:  1rem;
  --space-5:  1.25rem;  --space-6:  1.5rem;
  --space-8:  2rem;     --space-10: 2.5rem;
  --space-12: 3rem;     --space-16: 4rem;

  /* LAYOUT — app chrome */
  --sidebar-w:     240px;
  --sidebar-min:   64px;
  --topbar-h:      60px;
  --row-h:         48px;
  /* How wide a table cell is allowed to get before its text is clipped. Named because
     three rules depend on it: the cell's own cap, the long-value columns, and the span
     inside them that does the clipping. */
  --cell-max-w:    280px;
  --facets-w:      236px;
  --container-max: 1920px;

  /* BORDERS */
  --radius-sm: 5px;   --radius-md: 8px;
  --radius-lg: 10px;  --radius-xl: 16px;  --radius-full: 9999px;
  --border-thin: 1px solid var(--color-border);

  /* SHADOWS */
  --shadow-sm: 0 1px 3px rgba(0,7,16,0.04);
  --shadow-md: 0 4px 16px rgba(0,7,16,0.08);
  --shadow-lg: 0 12px 32px rgba(0,7,16,0.14);

  /* TRANSITIONS */
  --ease-out:    cubic-bezier(0, 0, 0.2, 1);
  --ease-inout:  cubic-bezier(0.4, 0, 0.2, 1);
  --ease-pop:    cubic-bezier(0.34, 1.4, 0.64, 1);
  --duration-fast: 150ms;
  --duration-base: 220ms;
  --duration-slow: 400ms;

  /* Z-INDEX */
  --z-base: 0;        --z-raised: 10;
  --z-sticky: 40;     --z-sidebar: 60;
  --z-dropdown: 80;   --z-overlay: 300;
  --z-drawer: 400;    --z-modal: 400;
  /* A dropdown opened inside a dialog is detached to <body> to escape the dialog's own
     overflow, which puts it behind the dialog unless it is lifted past it. */
  --z-dropdown-above: 450;
  /* Above a detached dropdown, below a toast: a tooltip can anchor to anything on
     screen, and a toast is the one thing that must never be covered. */
  --z-tooltip: 460;
  --z-toast: 500;

  color-scheme: light;
}
