/* ============================================================
   SaaS Sensey — Design tokens
   Traducidos 1:1 desde el design system del diseño de Claude.
   Paleta: tinta casi negra, rojo de marca, blanco.
   Tipos: Sora (display), IBM Plex Sans (texto), IBM Plex Mono (labels).
   ============================================================ */

/* --- Webfonts (Google Fonts) ---
   Si en el futuro quieres auto-alojarlas por RGPD, sustituye este
   @import por reglas @font-face locales apuntando a assets/fonts. */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root {
  /* --- Rojo de marca --- */
  --red-50:  #FEF2F2;
  --red-100: #FCE0E1;
  --red-200: #F7B9BC;
  --red-400: #F4565D;
  --red-500: #EE2D33;   /* rojo primario */
  --red-600: #CF1B22;
  --red-700: #A6151B;

  /* --- Tinta (neutros, casi negro -> blanco) --- */
  --ink-950: #0B0B0C;
  --ink-900: #141416;
  --ink-800: #202024;
  --ink-700: #33333A;
  --ink-600: #4B4B53;
  --ink-500: #6B6B73;
  --ink-400: #9494A0;
  --ink-300: #C7C7CF;
  --ink-200: #E5E5EA;
  --ink-150: #ECECF0;
  --ink-100: #F2F2F5;
  --ink-50:  #F8F8FA;
  --white:   #FFFFFF;

  /* --- Apoyo (uso puntual) --- */
  --green-500: #1E9E58;
  --amber-500: #E4A100;

  /* ---------- Alias semánticos ---------- */
  --surface-page:    var(--white);
  --surface-subtle:  var(--ink-50);
  --surface-sunken:  var(--ink-100);
  --surface-card:    var(--white);
  --surface-inverse: var(--ink-950);
  --surface-accent:  var(--red-500);
  --surface-accent-soft: var(--red-50);

  --text-primary:    var(--ink-950);
  --text-secondary:  var(--ink-500);
  --text-muted:      var(--ink-400);
  --text-inverse:    var(--white);
  --text-accent:     var(--red-500);
  --text-on-accent:  var(--white);

  --border-subtle:   var(--ink-200);
  --border-strong:   var(--ink-300);
  --border-accent:   var(--red-500);
  --border-focus:    var(--red-500);

  --accent:          var(--red-500);
  --accent-hover:    var(--red-400);
  --accent-press:    var(--red-600);

  --success: var(--green-500);
  --warning: var(--amber-500);
  --danger:  var(--red-500);

  /* ---------- Tipografía ---------- */
  --font-display: 'Sora', 'Segoe UI', system-ui, sans-serif;
  --font-body: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', monospace;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  --text-xs:   12px;
  --text-sm:   14px;
  --text-base: 16px;
  --text-md:   18px;
  --text-lg:   21px;
  --text-xl:   26px;
  --text-2xl:  33px;
  --text-3xl:  42px;
  --text-4xl:  54px;
  --text-5xl:  68px;
  --text-6xl:  88px;

  --leading-tight: 1.05;
  --leading-snug: 1.2;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;

  --tracking-tight: -0.02em;
  --tracking-snug: -0.01em;
  --tracking-normal: 0em;
  --tracking-wide: 0.04em;
  --tracking-caps: 0.12em;

  /* ---------- Espaciado (grid 4px) ---------- */
  --space-1: 4px;   --space-2: 8px;   --space-3: 12px;  --space-4: 16px;
  --space-5: 20px;  --space-6: 24px;  --space-8: 32px;  --space-10: 40px;
  --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px;
  --space-32: 128px;
  --gutter: 24px;

  /* ---------- Radios ---------- */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --radius-circle: 50%;

  --border-width: 1px;
  --border-width-strong: 1.5px;

  /* ---------- Sombras ---------- */
  --shadow-xs: 0 1px 2px rgba(11, 11, 12, 0.06);
  --shadow-sm: 0 1px 3px rgba(11, 11, 12, 0.08), 0 1px 2px rgba(11, 11, 12, 0.04);
  --shadow-md: 0 4px 16px rgba(11, 11, 12, 0.08), 0 1px 3px rgba(11, 11, 12, 0.05);
  --shadow-lg: 0 12px 40px rgba(11, 11, 12, 0.12), 0 2px 8px rgba(11, 11, 12, 0.06);

  --ring-accent: 0 0 0 3px rgba(238, 45, 51, 0.28);
  --ring-neutral: 0 0 0 3px rgba(11, 11, 12, 0.12);

  /* ---------- Motion ---------- */
  --ease-standard: cubic-bezier(0.2, 0.6, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 120ms;
  --dur-med: 200ms;
  --dur-slow: 320ms;
}
