/* ==========================================================================
   Design tokens — Campus Virtual · Derecho a tu Ingreso
   Paleta: noche de estudio + oro de balanza. Serif editorial para la voz
   humana del campus (saludo, títulos de curso), sans para la interfaz,
   mono para datos/tiempos (registro tipo "expediente").
   ========================================================================== */

:root {
  /* Color — superficies */
  --cv-bg: #0a0a0c;
  --cv-bg-elevated: #111114;
  --cv-surface: #16161a;
  --cv-surface-2: #1d1d22;
  --cv-surface-hover: #232329;

  /* Color — bordes */
  --cv-border: rgba(255, 255, 255, 0.07);
  --cv-border-strong: rgba(255, 255, 255, 0.14);
  --cv-border-gold: rgba(201, 162, 39, 0.35);

  /* Color — oro (identidad de marca, usar con disciplina) */
  --cv-gold: #c9a227;
  --cv-gold-bright: #eccb72;
  --cv-gold-deep: #7a5f1a;
  --cv-gold-dim: #8a7223;
  --cv-gold-wash: rgba(201, 162, 39, 0.1);
  --cv-gold-foil: linear-gradient(180deg, #f3d98a 0%, #d8ad3f 45%, #8a6a1e 100%);

  /* Color — texto */
  --cv-text: #f1efe9;
  --cv-text-secondary: #a8a6a1;
  --cv-text-tertiary: #6f6d68;
  --cv-text-on-gold: #1a1305;

  /* Color — estado */
  --cv-success: #6fae7c;
  --cv-success-wash: rgba(111, 174, 124, 0.12);
  --cv-danger: #c9605a;
  --cv-danger-wash: rgba(201, 96, 90, 0.12);
  --cv-locked: #4a4a4f;

  /* Tipografía */
  --cv-font-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --cv-font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --cv-font-mono: "IBM Plex Mono", "SFMono-Regular", monospace;

  /* Escala tipográfica */
  --cv-text-xs: 0.75rem;
  --cv-text-sm: 0.8125rem;
  --cv-text-base: 0.9375rem;
  --cv-text-md: 1.0625rem;
  --cv-text-lg: 1.375rem;
  --cv-text-xl: 1.875rem;
  --cv-text-2xl: 2.5rem;

  /* Espaciado */
  --cv-space-1: 4px;
  --cv-space-2: 8px;
  --cv-space-3: 12px;
  --cv-space-4: 16px;
  --cv-space-5: 20px;
  --cv-space-6: 24px;
  --cv-space-8: 32px;
  --cv-space-10: 40px;
  --cv-space-12: 48px;

  /* Radios */
  --cv-radius-sm: 8px;
  --cv-radius-md: 12px;
  --cv-radius-lg: 18px;
  --cv-radius-pill: 999px;

  /* Sombras — sutiles, la profundidad la da el borde, no la sombra */
  --cv-shadow-card: 0 1px 0 rgba(255, 255, 255, 0.04) inset,
    0 8px 24px rgba(0, 0, 0, 0.35);
  --cv-shadow-gold-glow: 0 0 0 1px rgba(201, 162, 39, 0.25),
    0 4px 20px rgba(201, 162, 39, 0.08);
  --cv-shadow-hero: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
    0 24px 60px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.04);
  --cv-shadow-lift: 0 20px 40px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(201, 162, 39, 0.22);

  /* Layout */
  --cv-sidebar-width: 248px;
  --cv-content-max: 1360px;

  /* Motion */
  --cv-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --cv-duration: 220ms;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --cv-duration: 0ms;
  }
}
