/* =============================================================================
   BIA PULSE — Design System Tokens
   Source: Figma / BIA-PULSE · Orbit
   Colecciones: Color · Radius · Spacing · Typography · Shadows
============================================================================= */

:root {

  /* ── Neutral ── */
  --bp-neutral-100: #f0f0f1;
  --bp-neutral-200: #ececed;
  --bp-neutral-300: #cecfd2;
  --bp-neutral-400: #94979c;
  --bp-neutral-500: #85888e;
  --bp-neutral-600: #61656c;
  --bp-neutral-700: #373a41;
  --bp-neutral-800: #22262f;
  --bp-neutral-900: #13161b;
  --bp-neutral-950: #0c0e12;

  /* ── Brand (Indigo) ── */
  --bp-brand-25:  #f5f8ff;
  --bp-brand-50:  #eef4ff;
  --bp-brand-100: #e0eaff;
  --bp-brand-200: #c7d7fe;
  --bp-brand-300: #a4bcfd;
  --bp-brand-400: #8098f9;
  --bp-brand-500: #6172f3;
  --bp-brand-600: #444ce7;
  --bp-brand-700: #3538cd;
  --bp-brand-800: #2d31a6;
  --bp-brand-900: #2d3282;
  --bp-brand-950: #1f235b;

  /* ── Error ── */
  --bp-error-25:  #fffbfa;
  --bp-error-50:  #fef3f2;
  --bp-error-100: #fee4e2;
  --bp-error-200: #fecdca;
  --bp-error-300: #fda29b;
  --bp-error-400: #f97066;
  --bp-error-500: #f04438;
  --bp-error-600: #d92d20;
  --bp-error-700: #b42318;
  --bp-error-800: #7a271a;
  --bp-error-900: #7a271a;
  --bp-error-950: #55160c;

  /* ── Warning ── */
  --bp-warning-25:  #fffcf5;
  --bp-warning-50:  #fffaeb;
  --bp-warning-100: #fef0c7;
  --bp-warning-200: #fedf89;
  --bp-warning-300: #fec84b;
  --bp-warning-400: #fdb022;
  --bp-warning-500: #f79009;
  --bp-warning-600: #dc6803;
  --bp-warning-700: #b54708;
  --bp-warning-800: #93370d;
  --bp-warning-900: #7a2e0e;
  --bp-warning-950: #4e1d09;

  /* ── Success ── */
  --bp-success-25:  #f6fef9;
  --bp-success-50:  #ecfdf3;
  --bp-success-100: #dcfae6;
  --bp-success-300: #75e0a7;
  --bp-success-400: #47cd89;
  --bp-success-500: #17b26a;
  --bp-success-600: #079455;
  --bp-success-700: #067647;
  --bp-success-800: #085d3a;
  --bp-success-900: #074d31;
  --bp-success-950: #053321;

  /* ── Teal (Accent) ── */
  --bp-teal-25:  #f6fefc;
  --bp-teal-50:  #f0fdf9;
  --bp-teal-100: #ccfbef;
  --bp-teal-200: #99f6e0;
  --bp-teal-300: #5fe9d0;
  --bp-teal-400: #2ed3b7;
  --bp-teal-500: #15b79e;
  --bp-teal-600: #0e9384;
  --bp-teal-700: #107569;
  --bp-teal-800: #125d56;
  --bp-teal-900: #134e48;
  --bp-teal-950: #0a2926;

  /* ── Gray Modern (Slate) ── */
  --bp-gray-modern-25:  #fcfcfd;
  --bp-gray-modern-50:  #f8fafc;
  --bp-gray-modern-100: #eef2f6;
  --bp-gray-modern-200: #e3e8ef;
  --bp-gray-modern-300: #cdd5df;
  --bp-gray-modern-400: #9aa4b2;
  --bp-gray-modern-500: #697586;
  --bp-gray-modern-600: #4b5565;
  --bp-gray-modern-700: #364152;
  --bp-gray-modern-800: #202939;
  --bp-gray-modern-900: #121926;
  --bp-gray-modern-950: #0d121c;

  /* ── Blue ── */
  --bp-blue-25:  #f5faff;
  --bp-blue-50:  #eff8ff;
  --bp-blue-100: #d1e9ff;
  --bp-blue-200: #b2ddff;
  --bp-blue-300: #84caff;
  --bp-blue-400: #53b1fd;
  --bp-blue-500: #2e90fa;
  --bp-blue-600: #1570ef;
  --bp-blue-700: #175cd3;
  --bp-blue-800: #1849a9;
  --bp-blue-900: #194185;
  --bp-blue-950: #102a56;

  /* ── Blue Dark ── */
  --bp-blue-dark-25:  #f5f8ff;
  --bp-blue-dark-50:  #eff4ff;
  --bp-blue-dark-100: #d1e0ff;
  --bp-blue-dark-200: #b2ccff;
  --bp-blue-dark-300: #84adff;
  --bp-blue-dark-400: #528bff;
  --bp-blue-dark-500: #2970ff;
  --bp-blue-dark-600: #155eef;
  --bp-blue-dark-700: #004eeb;
  --bp-blue-dark-800: #0040c1;
  --bp-blue-dark-900: #00359e;
  --bp-blue-dark-950: #002266;

  /* ── Purple Light ── */
  --bp-purple-light-400: #b692f6;
  --bp-purple-light-500: #9e77ed;
  --bp-purple-light-600: #7f56d9;
  --bp-purple-light-700: #6941c6;

  /* ── Base ── */
  --bp-black:       #000000;
  --bp-white:       #ffffff;
  --bp-transparent: transparent;


  /* =========================================================================
     SEMÁNTICOS — Color modes (Dark UI adaptado)
  ========================================================================= */

  /* Text */
  --bp-text-primary:            var(--bp-neutral-900);
  --bp-text-secondary:          var(--bp-neutral-700);
  --bp-text-tertiary:           var(--bp-neutral-600);
  --bp-text-quaternary:         var(--bp-neutral-500);
  --bp-text-disabled:           var(--bp-neutral-400);
  --bp-text-placeholder:        var(--bp-neutral-400);
  --bp-text-brand-primary:      var(--bp-brand-700);
  --bp-text-brand-secondary:    var(--bp-brand-600);
  --bp-text-error-primary:      var(--bp-error-600);
  --bp-text-warning-primary:    var(--bp-warning-700);
  --bp-text-success-primary:    var(--bp-success-700);

  /* Background */
  --bp-bg-primary:              #fafafa;
  --bp-bg-primary-alt:          var(--bp-white);
  --bp-bg-secondary:            var(--bp-neutral-100);
  --bp-bg-secondary-hover:      var(--bp-neutral-200);
  --bp-bg-secondary-solid:      var(--bp-neutral-700);
  --bp-bg-tertiary:             var(--bp-neutral-200);
  --bp-bg-disabled:             var(--bp-neutral-100);
  --bp-bg-overlay:              rgba(22, 18, 30, 0.70);
  --bp-bg-brand-primary:        var(--bp-brand-600);
  --bp-bg-brand-primary-hover:  var(--bp-brand-700);
  --bp-bg-brand-secondary:      var(--bp-brand-50);
  --bp-bg-brand-solid:          var(--bp-brand-600);
  --bp-bg-error-primary:        var(--bp-error-50);
  --bp-bg-success-primary:      var(--bp-success-50);
  --bp-bg-warning-primary:      var(--bp-warning-50);

  /* Foreground */
  --bp-fg-primary:              var(--bp-neutral-900);
  --bp-fg-secondary:            var(--bp-neutral-700);
  --bp-fg-tertiary:             var(--bp-neutral-600);
  --bp-fg-quaternary:           var(--bp-neutral-500);
  --bp-fg-disabled:             var(--bp-neutral-300);
  --bp-fg-white:                var(--bp-white);
  --bp-fg-brand-primary:        var(--bp-brand-600);
  --bp-fg-brand-secondary:      var(--bp-brand-500);
  --bp-fg-brand-alt:            var(--bp-brand-400);
  --bp-fg-error-primary:        var(--bp-error-600);
  --bp-fg-warning-primary:      var(--bp-warning-600);
  --bp-fg-success-primary:      var(--bp-success-600);

  /* Border */
  --bp-border-primary:          var(--bp-neutral-300);
  --bp-border-secondary:        var(--bp-neutral-200);
  --bp-border-tertiary:         var(--bp-neutral-100);
  --bp-border-disabled:         var(--bp-neutral-200);
  --bp-border-brand:            var(--bp-brand-600);
  --bp-border-brand-alt:        var(--bp-brand-300);
  --bp-border-error:            var(--bp-error-300);
  --bp-border-error-subtle:     var(--bp-error-200);
  --bp-border-success:          var(--bp-success-300);
  --bp-border-warning:          var(--bp-warning-300);


  /* =========================================================================
     TIPOGRAFÍA
  ========================================================================= */

  --bp-font-family-display: 'Inter', sans-serif;
  --bp-font-family-body:    'Inter', sans-serif;

  --bp-font-weight-regular:  400;
  --bp-font-weight-medium:   500;
  --bp-font-weight-semibold: 600;

  --bp-font-size-text-xs:  12px;
  --bp-font-size-text-sm:  14px;
  --bp-font-size-text-md:  16px;
  --bp-font-size-text-lg:  18px;
  --bp-font-size-text-xl:  20px;

  --bp-font-size-display-xs:  24px;
  --bp-font-size-display-sm:  30px;
  --bp-font-size-display-md:  36px;
  --bp-font-size-display-lg:  48px;
  --bp-font-size-display-xl:  60px;
  --bp-font-size-display-2xl: 72px;

  --bp-line-height-text-xs:  18px;
  --bp-line-height-text-sm:  20px;
  --bp-line-height-text-md:  24px;
  --bp-line-height-text-lg:  28px;
  --bp-line-height-text-xl:  30px;

  --bp-line-height-display-xs:  32px;
  --bp-line-height-display-sm:  38px;
  --bp-line-height-display-md:  44px;
  --bp-line-height-display-lg:  60px;
  --bp-line-height-display-xl:  72px;
  --bp-line-height-display-2xl: 90px;


  /* =========================================================================
     RADIO
  ========================================================================= */

  --bp-radius-none: 0px;
  --bp-radius-xxs:  2px;
  --bp-radius-xs:   4px;
  --bp-radius-sm:   6px;
  --bp-radius-md:   8px;
  --bp-radius-lg:   10px;
  --bp-radius-xl:   12px;
  --bp-radius-2xl:  16px;
  --bp-radius-3xl:  20px;
  --bp-radius-4xl:  24px;
  --bp-radius-full: 9999px;


  /* =========================================================================
     ESPACIADO
  ========================================================================= */

  --bp-spacing-none: 0px;
  --bp-spacing-xxs:  2px;
  --bp-spacing-xs:   4px;
  --bp-spacing-sm:   6px;
  --bp-spacing-md:   8px;
  --bp-spacing-lg:   12px;
  --bp-spacing-xl:   16px;
  --bp-spacing-2xl:  20px;
  --bp-spacing-3xl:  24px;
  --bp-spacing-4xl:  32px;
  --bp-spacing-5xl:  40px;
  --bp-spacing-6xl:  48px;
  --bp-spacing-7xl:  64px;
  --bp-spacing-8xl:  80px;
  --bp-spacing-9xl:  96px;


  /* =========================================================================
     SOMBRAS
  ========================================================================= */

  --bp-shadow-xs:
    0px 1px 2px rgba(16, 24, 40, 0.05);

  --bp-shadow-sm:
    0px 1px 2px rgba(16, 24, 40, 0.06),
    0px 1px 3px rgba(16, 24, 40, 0.10);

  --bp-shadow-md:
    0px 2px 4px rgba(16, 24, 40, 0.06),
    0px 4px 8px rgba(16, 24, 40, 0.10);

  --bp-shadow-lg:
    0px 4px 6px  rgba(16, 24, 40, 0.05),
    0px 10px 15px rgba(16, 24, 40, 0.10);

  --bp-shadow-xl:
    0px 8px 8px   rgba(16, 24, 40, 0.04),
    0px 20px 24px rgba(16, 24, 40, 0.08);

  --bp-shadow-2xl:
    0px 24px 48px rgba(16, 24, 40, 0.18);

  --bp-shadow-3xl:
    0px 32px 64px rgba(16, 24, 40, 0.22);

  --bp-focus-ring:
    0px 0px 0px 4px #c7d7fe;

  --bp-focus-ring-error:
    0px 0px 0px 4px #fecdca;

  --bp-focus-ring-shadow-xs:
    0px 1px 2px rgba(16, 24, 40, 0.05),
    0px 0px 0px 4px #c7d7fe;

  --bp-focus-ring-shadow-sm:
    0px 1px 2px  rgba(16, 24, 40, 0.06),
    0px 1px 3px  rgba(16, 24, 40, 0.10),
    0px 0px 0px 4px #c7d7fe;


  /* =========================================================================
     LAYOUT
  ========================================================================= */

  --bp-width-sm:            480px;
  --bp-width-2xl:           1024px;
  --bp-paragraph-max-width: 720px;
}
