/* ============================================================
   Teradix — Color Tokens
   Normalized from the legacy SCSS (_colors.scss + theme-variables).
   ONE primary blue is enforced: #0047DE. The legacy product shipped
   two competing blues (#0047DE for bespoke elements, #0073DD via the
   Bootstrap theme map) — that split is resolved here.
   ============================================================ */

:root {
  /* ---------- Brand palette (raw) ---------- */
  --tx-blue-700: #042c8a;   /* primary pressed / active */
  --tx-blue-600: #0047de;   /* PRIMARY brand blue — the one true blue */
  --tx-blue-500: #2a64e8;   /* hover lift */
  --tx-blue-100: #e4ecff;   /* selected row / chip fill */
  --tx-blue-50:  #f5f8ff;   /* soft primary surface */

  --tx-navy-900: #001645;   /* deepest navy — strong text, nav emphasis */
  --tx-navy-700: #001a52;   /* default body ink */
  --tx-navy-500: #032a7d;   /* secondary active */
  --tx-navy-60:  rgba(0, 26, 82, 0.60); /* muted navy text */

  --tx-cyan:     #40e6c1;   /* informational accent (sparingly) */
  --tx-red:      #e80101;   /* alert accent stripe / destructive emphasis */

  /* ---------- Neutral ramp ---------- */
  --tx-white:    #ffffff;
  --tx-grey-50:  #f7f8fb;   /* zebra / hover row */
  --tx-grey-100: #eff0f4;   /* app shell / page background */
  --tx-grey-200: #e6e8ee;   /* hairline on tinted surfaces */
  --tx-grey-300: #e0e0e0;   /* default input border */
  --tx-grey-400: #d0d3da;   /* card border */
  --tx-grey-500: #afb4b9;   /* input hover border */
  --tx-grey-600: #8a9099;   /* placeholder-strong / disabled text */
  --tx-grey-700: #5b6472;   /* secondary text */
  --tx-placeholder: #c0c0c0;

  /* ---------- Semantic (raw) ---------- */
  --tx-success-600: #159e80; /* success — winning bids, approved */
  --tx-success-700: #2e8b57; /* text-only success (darker) */
  --tx-success-100: #d8f7ec; /* success surface */
  --tx-warning-600: #f0a027; /* warning */
  --tx-warning-100: #fdeca5; /* warning surface */
  --tx-danger-600:  #e51414; /* error / danger */
  --tx-danger-100:  #fdecec; /* danger surface */
  --tx-info-600:    #0047de; /* info == primary */
  --tx-info-100:    #e4ecff;

  /* ============================================================
     SEMANTIC ALIASES — reference these in components, not the raw ramp
     ============================================================ */

  /* Brand */
  --color-primary:          var(--tx-blue-600);
  --color-primary-hover:    var(--tx-blue-500);
  --color-primary-active:   var(--tx-blue-700);
  --color-primary-soft:     var(--tx-blue-50);
  --color-primary-tint:     var(--tx-blue-100);
  --color-secondary:        var(--tx-navy-900);
  --color-accent:           var(--tx-cyan);

  /* Text */
  --text-strong:   var(--tx-navy-900);   /* headings */
  --text-body:     var(--tx-navy-700);   /* default copy */
  --text-muted:    var(--tx-grey-700);   /* secondary copy */
  --text-subtle:   var(--tx-grey-600);   /* meta / captions */
  --text-on-primary: var(--tx-white);
  --text-link:     var(--tx-blue-600);

  /* Surfaces */
  --surface-page:    var(--tx-grey-100);
  --surface-card:    var(--tx-white);
  --surface-raised:  var(--tx-white);
  --surface-sunken:  var(--tx-grey-50);
  --surface-tint:    var(--tx-blue-50);    /* section header bars */
  --surface-inverse: var(--tx-navy-900);

  /* Borders */
  --border-subtle:  var(--tx-grey-200);
  --border-default: var(--tx-grey-400);
  --border-strong:  var(--tx-grey-500);
  --border-input:   var(--tx-grey-300);
  --border-focus:   var(--tx-blue-600);

  /* Status — single governed mapping (status string -> color) */
  --status-success-fg: var(--tx-success-700);
  --status-success-bg: var(--tx-success-100);
  --status-warning-fg: #9a6a06;
  --status-warning-bg: var(--tx-warning-100);
  --status-danger-fg:  var(--tx-danger-600);
  --status-danger-bg:  var(--tx-danger-100);
  --status-info-fg:    var(--tx-blue-600);
  --status-info-bg:    var(--tx-info-100);
  --status-neutral-fg: var(--tx-grey-700);
  --status-neutral-bg: var(--tx-grey-100);

  /* Focus ring (reinstated — legacy suppressed button focus) */
  --focus-ring: 0 0 0 3px rgba(0, 71, 222, 0.28);
}
