/* ============================================================
   VIVA — Color tokens
   Source: Manual de Identidade Visual · Paleta Cromática
     Roxo (Purple)   #8566F2
     Burgundy        #593249
     Azul (Blue)     #05D3FF
     Cinza (Gray)    #DED6DB
   Neutrals are burgundy-tinted (warm) so the system reads as
   one family — "silent simplicity", never cold gray.
   ============================================================ */
:root {
  /* ---- Brand core (verbatim from manual) ---- */
  --viva-purple: #8566F2;
  --viva-burgundy: #593249;
  --viva-blue: #05D3FF;
  --viva-gray: #DED6DB;

  /* ---- Purple scale (primary) ---- */
  --purple-50:  #F1EDFE;
  --purple-100: #E2DAFD;
  --purple-200: #C7B7FA;
  --purple-300: #AC95F7;
  --purple-400: #9A7EF4;
  --purple-500: #8566F2;  /* brand purple */
  --purple-600: #6B47D6;
  --purple-700: #5535AE;
  --purple-800: #3F2782;
  --purple-900: #2B1A58;

  /* ---- Burgundy scale (deep / ink) ---- */
  --burgundy-900: #14080F;
  --burgundy-800: #1F0E18;
  --burgundy-700: #341E2A;
  --burgundy-600: #45283A;
  --burgundy-500: #593249;  /* brand burgundy */
  --burgundy-400: #774A63;
  --burgundy-300: #9A7186;
  --burgundy-200: #C0A3B2;
  --burgundy-100: #E2D2DB;

  /* ---- Blue scale (accent / highlight) ---- */
  --blue-50:  #E5FAFF;
  --blue-100: #C2F3FF;
  --blue-200: #8AE8FF;
  --blue-300: #4DDCFF;
  --blue-400: #05D3FF;  /* brand blue */
  --blue-500: #00B4E0;
  --blue-600: #008FB4;
  --blue-700: #006A86;

  /* ---- Warm neutral ramp (burgundy-tinted) ---- */
  --mist-0:   #FFFFFF;
  --mist-50:  #FAF8F9;  /* paper / app canvas */
  --mist-100: #F3EFF1;
  --mist-200: #EBE5E8;
  --mist-300: #DED6DB;  /* brand gray */
  --mist-400: #C5B9C0;
  --mist-500: #A192A0;  /* secondary text on light backdrops handled by ink scale */
  --mist-600: #756571;

  /* ---- Ink (text) — warm near-blacks ---- */
  --ink-900: #160B11;  /* primary text */
  --ink-700: #36272F;
  --ink-500: #5A4A53;  /* secondary text */
  --ink-400: #7E6E77;  /* tertiary / placeholder */

  /* ============================================================
     Semantic aliases — reference these in components
     ============================================================ */

  /* Surfaces */
  --surface-app: var(--mist-50);
  --surface-canvas: var(--viva-gray);  /* brand lilac-gray field (#DED6DB) — the signature backdrop */
  --surface-card: var(--mist-0);
  --surface-sunken: var(--mist-100);
  --surface-raised: var(--mist-0);
  --surface-inverse: var(--burgundy-900);
  --surface-brand: var(--purple-500);
  --surface-brand-soft: var(--purple-50);
  --surface-accent: var(--blue-400);
  --surface-accent-soft: var(--blue-50);

  /* Text */
  --text-primary: var(--ink-900);
  --text-secondary: var(--ink-500);
  --text-tertiary: var(--ink-400);
  --text-on-brand: #FFFFFF;
  --text-on-accent: var(--burgundy-900);
  --text-on-inverse: var(--mist-100);
  --text-brand: var(--purple-600);
  --text-link: var(--purple-600);

  /* Borders / lines */
  --border-subtle: var(--mist-200);
  --border-default: var(--mist-300);
  --border-strong: var(--mist-400);
  --border-brand: var(--purple-500);
  --border-inverse: var(--burgundy-700);

  /* Focus ring */
  --ring-brand: color-mix(in srgb, var(--purple-500) 45%, transparent);

  /* Feedback (derived to stay in-family) */
  --success: #2E8B6E;
  --success-soft: #E2F2EC;
  --warning: #C98A2B;
  --warning-soft: #F8EEDD;
  --danger:  #C0506A;
  --danger-soft: #F8E6EA;
  --info: var(--blue-500);
  --info-soft: var(--blue-50);
}
