/* ============================================================
   gasbase — Color tokens
   Brand vibe: a fire-safety engineering firm that protects
   precious, irreplaceable assets (servers, archives, museums,
   banks) with CLEAN agent suppression that does no damage.
   So the palette is calm, technical and trustworthy — deep
   industrial slate as the dominant brand color, with a single
   controlled SIGNAL red used as the alarm / action accent.
   ============================================================ */

:root {
  /* ---- Base ramps ------------------------------------------ */

  /* Ink / Slate — the dominant brand neutral (cool, slightly blue) */
  --gb-ink-950: #0B141B;
  --gb-ink-900: #0F1B24;
  --gb-ink-800: #182A36;
  --gb-ink-700: #243845;
  --gb-ink-600: #38505F;
  --gb-ink-500: #54707F;
  --gb-ink-400: #7A929E;
  --gb-ink-300: #A6B8C1;
  --gb-ink-200: #CDD9DF;
  --gb-ink-100: #E6EDF0;
  --gb-ink-50:  #F4F7F8;
  --gb-white:   #FFFFFF;

  /* Signal — controlled premium red: alarm, action, emphasis */
  --gb-signal-800: #7E140D;
  --gb-signal-700: #9E1B12;
  --gb-signal-600: #C0241A;
  --gb-signal-500: #E0301E;
  --gb-signal-400: #EC5546;
  --gb-signal-300: #F4897E;
  --gb-signal-200: #F9BBB3;
  --gb-signal-100: #FBDAD5;
  --gb-signal-50:  #FDEEEB;

  /* Steel — supporting technical blue: links, info, diagrams */
  --gb-steel-700: #134B6B;
  --gb-steel-600: #1F5C82;
  --gb-steel-500: #2C7AA8;
  --gb-steel-400: #4E9AC4;
  --gb-steel-100: #DCEBF3;
  --gb-steel-50:  #EFF6FA;

  /* Semantic hues */
  --gb-green-600: #167A45;
  --gb-green-500: #1F9254;
  --gb-green-100: #D6EFE0;
  --gb-amber-600: #B86E12;
  --gb-amber-500: #E08A1E;
  --gb-amber-100: #FBEBD2;

  /* ---- Semantic aliases ------------------------------------ */

  /* Brand */
  --gb-brand:            var(--gb-signal-500);
  --gb-brand-strong:     var(--gb-signal-600);
  --gb-brand-ink:        var(--gb-ink-900);

  /* Surfaces */
  --gb-surface-page:     var(--gb-ink-50);
  --gb-surface-card:     var(--gb-white);
  --gb-surface-sunken:   var(--gb-ink-100);
  --gb-surface-inverse:  var(--gb-ink-900);
  --gb-surface-inverse-2:var(--gb-ink-800);

  /* Text */
  --gb-text-strong:      var(--gb-ink-900);
  --gb-text-body:        var(--gb-ink-700);
  --gb-text-muted:       var(--gb-ink-500);
  --gb-text-faint:       var(--gb-ink-400);
  --gb-text-on-brand:    var(--gb-white);
  --gb-text-on-inverse:  var(--gb-ink-100);
  --gb-text-inverse-mut: var(--gb-ink-400);
  --gb-text-link:        var(--gb-steel-600);

  /* Borders / lines */
  --gb-border:           var(--gb-ink-200);
  --gb-border-strong:    var(--gb-ink-300);
  --gb-border-inverse:   rgba(255,255,255,0.12);
  --gb-divider:          var(--gb-ink-100);

  /* Action */
  --gb-action:           var(--gb-signal-500);
  --gb-action-hover:     var(--gb-signal-600);
  --gb-action-press:     var(--gb-signal-700);

  /* Status */
  --gb-success:          var(--gb-green-500);
  --gb-success-surface:  var(--gb-green-100);
  --gb-warning:          var(--gb-amber-500);
  --gb-warning-surface:  var(--gb-amber-100);
  --gb-danger:           var(--gb-signal-500);
  --gb-danger-surface:   var(--gb-signal-100);
  --gb-info:             var(--gb-steel-500);
  --gb-info-surface:     var(--gb-steel-50);

  /* Focus ring */
  --gb-focus-ring:       var(--gb-steel-400);
}
