/* ==========================================================================
   NOOS / Opsus Rate — Color tokens
   Source: Opsus_Rate_SPEC_FINAL_v1.md §19 "Design visual e UX" + logo pkg.
   Brand voice: tecnica, limpa, arquitetonica, sofisticada — building performance.
   ========================================================================== */

:root {
  /* ---- Base brand palette (from SPEC, verbatim) ---- */
  --brand-dark:   #003038;   /* deepest teal-black, primary dark surface */
  --brand-deep:   #082027;   /* near-black teal, primary text / wordmark "dark" variant */
  --brand-teal:   #3898A0;   /* signature teal — logo mark, primary actions */
  --brand-muted:  #588888;   /* muted sage-teal — secondary accents */
  --brand-light:  #D8DDE0;   /* cool light gray — logo "light" variant, dividers */
  --brand-bg:     #F7F8F8;   /* app background */
  --brand-surface:#FFFFFF;   /* card / panel surface */

  /* ---- Derived tints/shades (oklch, harmonic with --brand-teal) ---- */
  --brand-teal-50:  oklch(96% 0.012 200);
  --brand-teal-100: oklch(91% 0.028 200);
  --brand-teal-200: oklch(83% 0.05 200);
  --brand-teal-300: oklch(74% 0.07 200);
  --brand-teal-400: oklch(65% 0.08 200);
  --brand-teal-500: #3898A0; /* = --brand-teal */
  --brand-teal-600: oklch(50% 0.075 200);
  --brand-teal-700: oklch(40% 0.065 200);
  --brand-teal-800: oklch(30% 0.05 200);
  --brand-teal-900: #082027; /* = --brand-deep */

  --neutral-0:   #FFFFFF;
  --neutral-50:  #F7F8F8;
  --neutral-100: #EEF0F1;
  --neutral-200: #D8DDE0; /* = --brand-light */
  --neutral-300: #BCC4C7;
  --neutral-400: #93A0A3;
  --neutral-500: #6E7C7F;
  --neutral-600: #4C5A5D;
  --neutral-700: #33454A;
  --neutral-800: #1B2E33;
  --neutral-900: #082027; /* = --brand-deep */

  /* ---- Semantic status (spec §14 Data Quality, §16 Alarmes) ---- */
  --color-warning:   #D9A441;
  --color-warning-bg:   oklch(94% 0.05 85);
  --color-critical:  #B83A32;
  --color-critical-bg:  oklch(93% 0.045 30);
  --color-success:   #3D7A5E;
  --color-success-bg:   oklch(94% 0.045 155);
  --color-info:      var(--brand-teal);
  --color-info-bg:   var(--brand-teal-50);

  /* Data quality states: real, calculado, interpolado, estimado, corrigido, invalido, ausente */
  --dq-real:        #3D7A5E;
  --dq-calculado:   #3898A0;
  --dq-interpolado: #7C8FD9;
  --dq-estimado:    #D9A441;
  --dq-corrigido:   #8A5FB0;
  --dq-invalido:    #B83A32;
  --dq-ausente:     #93A0A3;

  /* Alarm severity: baixa, media, alta, critica */
  --severity-baixa:  #6E7C7F;
  --severity-media:  #D9A441;
  --severity-alta:   #C46A2E;
  --severity-critica:#B83A32;

  /* ---- Semantic aliases (what components/screens consume) ---- */
  --bg-app:        var(--brand-bg);
  --bg-surface:    var(--brand-surface);
  --bg-surface-sunken: var(--neutral-100);
  --bg-inverse:    var(--brand-dark);
  --bg-brand:      var(--brand-teal);
  --bg-brand-hover: var(--brand-teal-600);
  --bg-brand-press: var(--brand-teal-700);

  --text-primary:   var(--brand-deep);
  --text-secondary: var(--neutral-600);
  --text-tertiary:  var(--neutral-500);
  --text-inverse:   #FFFFFF;
  --text-brand:     var(--brand-teal-700);
  --text-link:      var(--brand-teal-700);
  --text-link-hover:var(--brand-teal-800);

  --border-subtle:  var(--neutral-200);
  --border-default: var(--neutral-300);
  --border-strong:  var(--neutral-500);
  --border-focus:   var(--brand-teal);

  --surface-card:   var(--brand-surface);
  --surface-overlay: rgba(8, 32, 39, 0.55);
}
