:root {
  /* --- Tipografía --- */
  --font-display: "Sora", "Manrope", system-ui, sans-serif;
  --font-body: "Manrope", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --font-brand: "Fraunces", "Sora", serif;

  --text-display: clamp(2rem, 4.5vw, 3rem);
  --text-h2: clamp(1.5rem, 3vw, 2rem);
  --text-h3: 1.125rem;
  --text-body: 0.9375rem;
  --text-sm: 0.8125rem;
  --text-xs: 0.6875rem;
  --text-mono: 0.875rem;

  /* --- Color (light) --- */
  --bg: #fafaf7;
  --surface: #ffffff;
  --surface-2: #f4f3ef;
  --ink: #17151a;
  --ink-2: #5c5a60;
  --ink-3: #9a989e;
  --line: rgba(23, 21, 26, 0.08);

  --accent: #ff5a3c;
  --accent-ink: #b93a22;
  --accent-tint: #ffede9;

  --success: #16a34a;
  --success-tint: #e9f7ee;
  --warning: #d97706;
  --warning-tint: #fdf3e1;
  --danger: #dc2626;
  --danger-tint: #fdecec;
  --info: #2563eb;
  --info-tint: #e8f0fe;
  --holiday: #c2185b;
  --holiday-tint: #fde7f1;

  /* --- Radios --- */
  --radius-lg: 1.25rem;
  --radius-md: 0.875rem;
  --radius-sm: 0.5rem;
  --radius-full: 9999px;

  /* --- Sombras --- */
  --shadow-card: 0 1px 2px rgba(23, 21, 26, 0.04), 0 12px 32px -12px rgba(23, 21, 26, 0.1);
  --shadow-pop: 0 2px 4px rgba(23, 21, 26, 0.06), 0 24px 48px -16px rgba(23, 21, 26, 0.22);

  /* --- Motion --- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-in-out-custom: cubic-bezier(0.32, 0.72, 0, 1);

  /* --- Layout --- */
  --sidebar-w: 280px;
  --topbar-h: 64px;
  --content-max: 1440px;
}

[data-theme="dark"] {
  --bg: #0e0d11;
  --surface: #17151b;
  --surface-2: #1f1c24;
  --ink: #f4f2f5;
  --ink-2: #a9a6ae;
  --ink-3: #6f6c75;
  --line: rgba(244, 242, 245, 0.08);
  --accent: #ff6b4f;
  --accent-ink: #ffc9bc;
  --accent-tint: rgba(255, 90, 60, 0.16);
  --success-tint: rgba(22, 163, 74, 0.16);
  --warning-tint: rgba(217, 119, 6, 0.16);
  --danger-tint: rgba(220, 38, 38, 0.16);
  --info-tint: rgba(37, 99, 235, 0.16);
  --holiday: #f48fb1;
  --holiday-tint: rgba(236, 72, 153, 0.18);
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.4), 0 12px 32px -12px rgba(0, 0, 0, 0.5);
  --shadow-pop: 0 2px 4px rgba(0, 0, 0, 0.5), 0 24px 48px -16px rgba(0, 0, 0, 0.6);
}
