/* ============================================================
   Zenith Odonto — Color tokens  (rebrand: blue primary, emerald success)
   Primary: azul profundo #2563EB  · trust + tech
   Success: verde esmeralda #10B981 · confirmations
   Accent: âmbar #F59E0B            · revenue / opportunity
   Warning: amarelo suave #FBBF24   · attention
   Danger: vermelho #F04438          · critical errors only
   ============================================================ */

:root {
  /* ---- Brand: azul profundo ---- */
  --brand-50:  #EFF6FF;
  --brand-100: #DBEAFE;
  --brand-200: #BFDBFE;
  --brand-300: #93C5FD;
  --brand-400: #60A5FA;
  --brand-500: #2563EB;  /* ★ primary — "#2563EB" */
  --brand-600: #1D4ED8;
  --brand-700: #1E40AF;
  --brand-800: #1E3A8A;
  --brand-900: #172554;

  /* ---- Accent: âmbar (revenue / opportunity) ---- */
  --accent-50:  #FEF6E7;
  --accent-100: #FCE8BF;
  --accent-200: #F9D386;
  --accent-300: #F6BC4D;
  --accent-400: #F3A91F;
  --accent-500: #E0930B;
  --accent-600: #B97608;

  /* ---- Neutrals: cool slate ---- */
  --neutral-0:   #FFFFFF;
  --neutral-25:  #FBFBFC;
  --neutral-50:  #F6F7F9;
  --neutral-100: #EEF0F3;
  --neutral-150: #E6E9EE;
  --neutral-200: #DCE0E6;
  --neutral-300: #C5CBD4;
  --neutral-400: #9AA2B1;
  --neutral-500: #707888;
  --neutral-600: #525A6B;
  --neutral-700: #3C4351;
  --neutral-800: #272D38;
  --neutral-900: #181C24;
  --neutral-950: #0E1117;

  /* ---- Semantic hues ---- */
  --green-500:  #10B981;  /* esmeralda — per Zenith spec */
  --green-50:   #ECFDF5;
  --amber-500:  #F59E0B;
  --amber-50:   #FFFBEB;
  --yellow-500: #FBBF24;  /* amarelo suave — alertas/atenção */
  --yellow-50:  #FEFCE8;
  --red-500:    #F04438;  /* vermelho — apenas erros críticos */
  --red-50:     #FDECEA;
  --blue-500:   #2E90FA;
  --blue-50:    #E8F2FE;
  --violet-500: #7A5AF8;
  --violet-50:  #F0ECFE;

  /* ============================================================
     SEMANTIC ALIASES — light
     ============================================================ */
  --bg-app:        var(--neutral-25);
  --bg-subtle:     var(--neutral-50);
  --surface:       var(--neutral-0);
  --surface-2:     var(--neutral-50);
  --surface-hover: var(--neutral-100);
  --surface-sunken:var(--neutral-100);

  --border:        var(--neutral-150);
  --border-strong: var(--neutral-200);
  --border-subtle: var(--neutral-100);

  --text-primary:   var(--neutral-900);
  --text-secondary: var(--neutral-600);
  --text-muted:     var(--neutral-500);
  --text-disabled:  var(--neutral-400);
  --text-inverse:   var(--neutral-0);

  --brand:         var(--brand-500);
  --brand-hover:   var(--brand-600);
  --brand-active:  var(--brand-700);
  --brand-subtle:  var(--brand-50);
  --brand-border:  var(--brand-100);
  --brand-text:    var(--brand-600);
  --on-brand:      var(--neutral-0);

  --accent:        var(--accent-500);
  --accent-subtle: var(--accent-50);
  --accent-text:   var(--accent-600);

  --success:        var(--green-500);
  --success-subtle: var(--green-50);
  --success-text:   #065F46;
  --warning:        var(--yellow-500);
  --warning-subtle: var(--yellow-50);
  --warning-text:   #92400E;
  --danger:         var(--red-500);
  --danger-subtle:  var(--red-50);
  --danger-text:    #C0362B;
  --info:           var(--blue-500);
  --info-subtle:    var(--blue-50);
  --info-text:      #1763C7;
  --ai:             var(--violet-500);
  --ai-subtle:      var(--violet-50);
  --ai-text:        #5B3FD6;

  --ring: color-mix(in srgb, var(--brand-500) 35%, transparent);

  --chart-1: var(--brand-500);
  --chart-2: var(--accent-400);
  --chart-3: var(--blue-500);
  --chart-4: var(--violet-500);
  --chart-5: var(--neutral-300);
}

/* ============================================================
   DARK THEME
   ============================================================ */
[data-theme="dark"] {
  --bg-app:        #0B0E13;
  --bg-subtle:     #0F131A;
  --surface:       #14181F;
  --surface-2:     #191E27;
  --surface-hover: #1E2530;
  --surface-sunken:#0C0F15;

  --border:        #262C37;
  --border-strong: #333B48;
  --border-subtle: #1D232D;

  --text-primary:   #F1F3F6;
  --text-secondary: #A6AEBD;
  --text-muted:     #767F90;
  --text-disabled:  #525B6B;
  --text-inverse:   var(--neutral-900);

  --brand:         var(--brand-400);
  --brand-hover:   var(--brand-300);
  --brand-active:  var(--brand-200);
  --brand-subtle:  color-mix(in srgb, var(--brand-400) 16%, transparent);
  --brand-border:  color-mix(in srgb, var(--brand-400) 32%, transparent);
  --brand-text:    var(--brand-300);
  --on-brand:      #0A1A4F;

  --accent:        var(--accent-400);
  --accent-subtle: color-mix(in srgb, var(--accent-400) 16%, transparent);
  --accent-text:   var(--accent-300);

  --success:        #34D399;
  --success-subtle: color-mix(in srgb, #34D399 16%, transparent);
  --success-text:   #6EE7B7;
  --warning:        #FCD34D;
  --warning-subtle: color-mix(in srgb, #FCD34D 16%, transparent);
  --warning-text:   #FDE68A;
  --danger:         #F66A60;
  --danger-subtle:  color-mix(in srgb, #F66A60 16%, transparent);
  --danger-text:    #F89890;
  --info:           #4BA0FB;
  --info-subtle:    color-mix(in srgb, #4BA0FB 16%, transparent);
  --info-text:      #84BEFC;
  --ai:             #9277FA;
  --ai-subtle:      color-mix(in srgb, #9277FA 18%, transparent);
  --ai-text:        #B7A4FC;

  --ring: color-mix(in srgb, var(--brand-400) 42%, transparent);

  --chart-1: var(--brand-400);
  --chart-2: var(--accent-400);
  --chart-3: #4BA0FB;
  --chart-4: #9277FA;
  --chart-5: #333B48;
}
