:root {
  /* ---- Base brand colors (from brand guide) ---- */
  --navy-900: #0A2038;
  --navy-800: #0F2E4D; /* brand navy */
  --navy-700: #163C60;
  --navy-600: #1F4E78;
  --navy-500: #2E6491;

  --green-700: #5C9128;
  --green-600: #6BA52E;
  --green-500: #7DB93B; /* brand green */
  --green-400: #97CB5C;
  --green-300: #B9DE8B;
  --green-100: #EAF5DD;

  --ink: #3F3F3D;       /* brand charcoal, body text */
  --ink-soft: #6B6B67;
  --ink-faint: #8F8F8A;

  --paper: #F7F6F1;     /* brand warm off-white, background */
  --paper-raised: #FFFFFF;
  --paper-sunken: #EFEDE4;

  --line: #E3E0D4;      /* hairline borders on paper */
  --line-strong: #D3CFBF;

  /* ---- Semantic aliases ---- */
  --surface-page: var(--paper);
  --surface-card: var(--paper-raised);
  --surface-sunken: var(--paper-sunken);
  --surface-navy: var(--navy-800);
  --surface-navy-deep: var(--navy-900);

  --border-default: var(--line);
  --border-strong: var(--line-strong);
  --border-focus: var(--green-500);

  --text-primary: var(--ink);
  --text-secondary: var(--ink-soft);
  --text-faint: var(--ink-faint);
  --text-on-navy: #F4F2EA;
  --text-on-navy-soft: #C7D2DD;
  --text-brand-navy: var(--navy-800);

  --action-primary: var(--navy-800);
  --action-primary-hover: var(--navy-900);
  --action-primary-active: #081A2C;

  --action-cta: var(--green-500);      /* CTAs only, used sparingly */
  --action-cta-hover: var(--green-600);
  --action-cta-active: var(--green-700);
  --action-cta-text: #0A1F0A;

  --status-success: var(--green-600);
  --status-success-bg: var(--green-100);
  --status-warning: #B7791F;
  --status-warning-bg: #FBF3DD;
  --status-danger: #B4432E;
  --status-danger-bg: #FBEEEA;
  --status-info: var(--navy-600);
  --status-info-bg: #EAF1F7;

  --focus-ring: rgba(125, 185, 59, 0.35);
  --overlay-scrim: rgba(10, 32, 56, 0.6);
}
