:root {
  --ink-900: #0A1628;
  --ink-800: #0E1F3A;
  --ink-700: #1E3A6B;
  --ink-600: #2D4F88;
  --ink-100: #E8EEF7;
  --ink-50:  #F4F7FB;

  --gold-700: #8E6F39;
  --gold-600: #B08B47;
  --gold-500: #C9A961;
  --gold-300: #D9C48A;
  --gold-100: #F4EDDB;

  --ivory:    #FAF8F3;
  --pearl:    #FFFFFF;

  /* Table-header surface — warm letterpress dark, deliberately softer than
     --ink-900 navy. Paired with cream text it reads as quiet authority instead
     of an aggressive navy block. */
  --table-head:    #3a322a;
  --table-head-fg: #f1ead8;
  --char-900: #1A1A1A;
  --char-800: #2B2B2B;
  --char-700: #3C3C3C;
  --char-600: #565656;
  --char-500: #6E6E6E;
  --char-400: #9A9A9A;
  --char-300: #B7B1A7;
  --line-300: #E2DBCC;
  --line-200: #ECE7DC;
  --line-100: #F2EFE8;

  /* Shared conversation-table surfaces. Invitee directory and event guests
     use the same interaction, so their resting/open/detail colours must never
     drift into separate page-specific palettes. */
  --conversation-row:        var(--pearl);
  --conversation-row-hover:  #FCFBF8;
  --conversation-row-open:   #F3EFE6;
  --conversation-detail:     #F8F5EE;
  --conversation-border:     #DED7CA;
  --conversation-accent:     var(--gold-700);

  /* Status tokens — note: --ok is sky-blue (NOT green) per design rule. */
  --ok:   #4A85A6;
  --warn: #B5853A;
  --bad:  #9C2B2B;
  --info: #2D5A88;

  /* Pastel accent palette — used for status pills, KPI tints, soft section bg.
     Each pastel has a 50 (very soft tint, for backgrounds) and 600 (mid-saturation,
     for chips, dots, icons). Avoid greens by request — coral/peach/blush/sky/
     periwinkle/mauve cover the warm-cool spectrum without going green. */
  --pastel-blush-50:  #FBEFEC;
  --pastel-blush-600: #C76D5E;
  --pastel-peach-50:  #FBF1E4;
  --pastel-peach-600: #C68A4F;
  --pastel-rose-50:   #F8E9EE;
  --pastel-rose-600:  #B95775;
  --pastel-sky-50:    #E8F1F8;
  --pastel-sky-600:   #4A85A6;
  --pastel-periwinkle-50:  #ECECF8;
  --pastel-periwinkle-600: #6A6CB6;
  --pastel-mauve-50:  #F1E9F2;
  --pastel-mauve-600: #8C5E91;
  --pastel-amber-50:  #FBF6E0;
  --pastel-amber-600: #B08B30;

  --t-xs:   12px;
  --t-sm:   13px;
  --t-base: 15px;
  --t-md:   17px;
  --t-lg:   20px;
  --t-xl:   24px;
  --t-2xl:  32px;
  --t-3xl:  44px;
  --t-4xl:  64px;
  --t-5xl:  88px;

  --s-1:  4px;
  --s-2:  8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
  --s-8: 64px;
  --s-9: 96px;
  --s-10: 128px;

  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 12px;
  --r-xl: 16px;
  --r-pill: 999px;

  --shadow-soft:   0 1px 2px rgba(14, 31, 58, 0.04), 0 1px 3px rgba(14, 31, 58, 0.06);
  --shadow-card:   0 2px 4px rgba(14, 31, 58, 0.05), 0 6px 16px rgba(14, 31, 58, 0.06);
  --shadow-lifted: 0 8px 16px rgba(14, 31, 58, 0.08), 0 16px 40px rgba(14, 31, 58, 0.10);

  --border-hair:  1px solid var(--line-200);
  --border-input: 1px solid #D8D2C4;
  --ring-focus:   0 0 0 3px rgba(30, 58, 107, 0.15);

  --ease:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --dur-fast: 150ms;
  --dur-base: 250ms;
  --dur-slow: 400ms;

  --sidebar-w: 240px;
  --topbar-h:  64px;
  --content-max: 1280px;
  --landing-max: 1200px;

  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
}
