/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;1,400&family=JetBrains+Mono:wght@400;500&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: var(--font-body); color: var(--color-gray-800); background: var(--surface-page); line-height: 1.6; -webkit-font-smoothing: antialiased; }

:root {
  /* PACTO Brand */
  --color-primary:       #1D9E75;
  --color-primary-dark:  #0F6E56;
  --color-primary-light: #E1F5EE;
  --color-primary-xlight:#F0FAF6;

  /* Semánticos */
  --color-success: #1D9E75;
  --color-warning: #BA7517;
  --color-danger:  #E24B4A;
  --color-info:    #378ADD;

  /* Grises */
  --color-gray-50:  #F9F9F8;
  --color-gray-100: #F1EFE8;
  --color-gray-200: #D3D1C7;
  --color-gray-400: #888780;
  --color-gray-600: #5F5E5A;
  --color-gray-800: #2C2C2A;
  --color-gray-900: #1A1A18;

  /* Superficies */
  --surface-page:      #F9F9F8;
  --surface-card:      #FFFFFF;
  --surface-card-hover:#F1EFE8;

  /* Tipografía */
  --font-body:  'Inter', system-ui, sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-mono:  'JetBrains Mono', monospace;
  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  2rem;

  /* Espaciado (escala 4px) */
  --space-1: 0.25rem;  --space-2: 0.5rem;   --space-3: 0.75rem;
  --space-4: 1rem;     --space-5: 1.25rem;  --space-6: 1.5rem;
  --space-8: 2rem;     --space-10: 2.5rem;  --space-12: 3rem;

  /* Bordes y radios */
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-full: 9999px;
  --border-color:       rgba(0,0,0,0.06);
  --border-color-strong:#D3D1C7;

  /* Sombras */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.10);

  /* Transiciones */
  --transition-fast: 120ms ease;
  --transition-base: 200ms ease;

  /* Layout */
  --sidebar-width:  240px;
  --navbar-height:  60px;
  --content-max:    1140px;
}
