:root {
  /* ---- Base palette: Navy (brand) ---- */
  --navy-950: #060F24;
  --navy-900: #0B1A3A;
  --navy-800: #122548;
  --navy-700: #1B3563;
  --navy-600: #274585;
  --navy-500: #35569E;
  --navy-400: #5B78B8;
  --navy-300: #8AA3D2;
  --navy-200: #C0D0EA;
  --navy-100: #E4EBF7;
  --navy-50:  #F2F5FC;

  /* ---- Base palette: Cyan (accent) ---- */
  --cyan-700: #0E7FA3;
  --cyan-600: #1697C2;
  --cyan-500: #2FB6E6;
  --cyan-400: #55C6ED;
  --cyan-300: #8ADAF3;
  --cyan-200: #BEEBF9;
  --cyan-100: #E4F7FC;

  /* ---- Base palette: cool neutrals ---- */
  --gray-950: #0B1120;
  --gray-800: #232A3B;
  --gray-600: #4B5568;
  --gray-500: #6B7386;
  --gray-400: #8B93A7;
  --gray-300: #C3C9D6;
  --gray-200: #E4E7EE;
  --gray-100: #F0F2F6;
  --gray-50:  #F7F8FA;
  --white: #FFFFFF;

  /* ---- Base palette: semantic feedback ---- */
  --green-600: #16875A;
  --green-500: #1FA971;
  --green-100: #DCF5EA;
  --amber-600: #B4791E;
  --amber-500: #E8A23A;
  --amber-100: #FBEBD3;
  --red-600: #C23B3B;
  --red-500: #E15252;
  --red-100: #FBE2E2;

  /* ---- Semantic aliases ---- */
  --surface-app: var(--gray-50);
  --surface-card: var(--white);
  --surface-sunken: var(--gray-100);
  --surface-inverse: var(--navy-900);
  --surface-inverse-elevated: var(--navy-800);
  --surface-accent-soft: var(--cyan-100);

  --text-primary: var(--gray-950);
  --text-secondary: var(--gray-600);
  --text-tertiary: var(--gray-400);
  --text-inverse: var(--white);
  --text-inverse-secondary: var(--navy-200);
  --text-accent: var(--cyan-700);
  --text-link: var(--navy-700);
  --text-link-hover: var(--cyan-700);

  --border-default: var(--gray-200);
  --border-strong: var(--gray-300);
  --border-inverse: rgba(255, 255, 255, 0.14);
  --border-focus: var(--cyan-500);

  --accent-default: var(--cyan-500);
  --accent-hover: var(--cyan-600);
  --accent-active: var(--cyan-700);
  --accent-soft: var(--cyan-100);
  --accent-on-accent: var(--navy-950);

  --brand-default: var(--navy-900);
  --brand-hover: var(--navy-800);
  --brand-active: var(--navy-950);
  --brand-on-brand: var(--white);

  --success: var(--green-500);
  --success-strong: var(--green-600);
  --success-soft: var(--green-100);
  --warning: var(--amber-500);
  --warning-strong: var(--amber-600);
  --warning-soft: var(--amber-100);
  --danger: var(--red-500);
  --danger-strong: var(--red-600);
  --danger-soft: var(--red-100);
}
