/* ============================================================
   IZMSTAR REAL ESTATE LLC — Color Tokens
   Brand-safe, single-accent engineering-grade system.
   Base values first, semantic aliases second.
   ============================================================ */

:root {
  /* ---- Base: Accent ---- */
  --izm-green-500: #76B900;   /* primary accent */
  --izm-green-700: #5A8D00;   /* pressed / dark */
  --izm-green-200: #BFF230;   /* pale highlight, editorial only */

  /* ---- Base: Neutrals ---- */
  --izm-white: #FFFFFF;
  --izm-gray-50: #F7F7F7;     /* soft surface */
  --izm-gray-200: #CCCCCC;    /* hairline border */
  --izm-gray-400: #A7A7A7;    /* disabled text */
  --izm-gray-500: #757575;    /* muted text */
  --izm-gray-700: #5E5E5E;    /* strong dark border */
  --izm-gray-900: #1A1A1A;    /* elevated dark surface / body text */
  --izm-black: #000000;

  /* ---- Base: Semantic ---- */
  --izm-red-500: #E52020;
  --izm-red-700: #650B0B;
  --izm-orange-500: #DF6500;
  --izm-orange-300: #EF9100;
  --izm-green-success: #3F8500;
  --izm-blue-link: #0046A4;   /* the ONLY blue — inline prose links only */

  /* ============================================================
     Semantic Aliases — use these in components
     ============================================================ */

  /* Surfaces */
  --surface-canvas: var(--izm-white);
  --surface-soft: var(--izm-gray-50);
  --surface-dark: var(--izm-black);
  --surface-elevated: var(--izm-gray-900);

  /* Borders */
  --border-hairline: var(--izm-gray-200);
  --border-strong: var(--izm-gray-700);

  /* Text */
  --text-ink: var(--izm-black);
  --text-body: var(--izm-gray-900);
  --text-muted: var(--izm-gray-500);
  --text-disabled: var(--izm-gray-400);
  --text-on-dark: var(--izm-white);
  --text-on-dark-muted: rgba(255, 255, 255, 0.7);

  /* Accent */
  --accent-primary: var(--izm-green-500);
  --accent-primary-dark: var(--izm-green-700);
  --accent-primary-pale: var(--izm-green-200);
  --on-accent-primary: var(--izm-black); /* text atop green meets AA best in black */

  /* Semantic states */
  --state-error: var(--izm-red-500);
  --state-error-deep: var(--izm-red-700);
  --state-warning: var(--izm-orange-500);
  --state-warning-bright: var(--izm-orange-300);
  --state-success: var(--izm-green-success);
  --link-inline: var(--izm-blue-link);

  /* Elevation */
  --shadow-sticky: 0 0 5px 0 rgba(0, 0, 0, 0.3);
}
