/* ------------------------------------------------------------------ */
/*  Unexis — Color tokens                                              */
/* ------------------------------------------------------------------ */
:root {
  /* --- Base surfaces (deep space blue, near-black) --- */
  --bg:            #02040b;   /* page background — darkest */
  --bg-2:          #050a1c;   /* raised page band */
  --surface:       #0a1126;   /* card / panel surface */
  --surface-2:     #0e1635;   /* elevated surface */

  /* --- Borders (cool blue, very low alpha) --- */
  --border:        rgba(120, 140, 220, 0.12);
  --border-2:      rgba(120, 140, 220, 0.22);

  /* --- Text ramp (cool white → faint slate) --- */
  --text:          #f4f6ff;   /* primary text */
  --text-soft:     #c8cee8;   /* secondary text */
  --text-dim:      #8a93b8;   /* body / muted */
  --text-faint:    #545d7e;   /* labels, captions, disabled */

  /* --- Brand (electric blue) --- */
  --brand:         #2548ff;   /* primary action */
  --brand-hot:     #4a6bff;   /* hover / accent text */
  --brand-soft:    #1731b5;   /* gradient low end */
  --brand-glow:    rgba(50, 100, 255, 0.55);

  /* --- Accent (cyan — secondary highlight) --- */
  --accent:        #6ad0ff;

  /* --- Semantic status --- */
  --success:       #5fdc8f;
  --danger:        #ff7676;
  --warn:          #ff8a4d;

  /* --- Product role dots (used in nav / pills) --- */
  --role-voice:    #ff8a4d;   /* voice agent */
  --role-text:     #4dffb8;   /* text agent */
  --role-train:    #b48aff;   /* training / coach */

  /* --- Semantic aliases --- */
  --text-body:        var(--text-dim);
  --text-heading:     var(--text);
  --surface-page:     var(--bg);
  --surface-card:     var(--surface);
  --action-primary:   var(--brand);
  --action-primary-h: var(--brand-hot);
  --focus-ring:       var(--brand);
}
