/* ============================================================
   Healthcare Ecosystem v2 — Design Tokens
   variables.css — Identidad A2 "Azul Clínico Suave" (aprobada
   2026-09-25; mock: docs/prototypes/propuesta-a2-azul-suave.html)
   Regla permanente UX: base 18px, targets ≥48px, contraste AA.
   ============================================================ */

:root {
    /* ---- Brand A2 v2.1 (azul clínico — REFINADO: saturado + dramático) ---- */
    --color-primary: #0077B6;        /* azul clínico vibrante (la vieja lo tenía bien) */
    --color-primary-dark: #023047;   /* navy profundo — hero, footer, secciones oscuras */
    --color-primary-mid: #0096C7;    /* azul medio — degradados */
    --color-primary-light: #48CAE4;  /* cian — acentos vivos */
    --color-primary-lighter: #90E0EF;
    --color-primary-bg: #EAF6FC;     /* fondo suave */
    --color-primary-bg-soft: #F8FBFE;

    /* ---- Glassmorphism (A2 v2.1: más definido) ---- */
    --glass-bg: rgba(255, 255, 255, 0.92);
    --glass-bg-strong: rgba(255, 255, 255, 0.96);
    --glass-bg-dark: rgba(255, 255, 255, 0.08);        /* glass sobre fondo oscuro */
    --glass-bg-dark-hover: rgba(255, 255, 255, 0.14);
    --glass-border: rgba(0, 119, 182, 0.08);
    --glass-border-strong: rgba(0, 119, 182, 0.15);
    --glass-border-dark: rgba(255, 255, 255, 0.18);
    --glass-blur: 20px;
    --glass-shadow: 0 4px 20px rgba(0, 119, 182, 0.10);
    --glass-shadow-hover: 0 20px 40px rgba(0, 119, 182, 0.18);
    --glass-radius: 20px;
    --glass-radius-sm: 12px;

    /* ---- Glow (shadows de color — la vieja brillaba) ---- */
    --shadow-primary: 0 4px 14px rgba(0, 119, 182, 0.35);
    --shadow-primary-hover: 0 6px 20px rgba(0, 119, 182, 0.45);
    --shadow-hero-card: 0 25px 50px rgba(0, 119, 182, 0.12), 0 0 0 1px rgba(0, 119, 182, 0.05);

    /* ---- Semantic Colors ---- */
    --color-success: #06D6A0;
    --color-success-bg: #E6F9F2;
    --color-warning: #FFD166;
    --color-warning-bg: #FFF8E1;
    --color-danger: #EF476F;
    --color-danger-bg: #FDE8ED;

    /* ---- Neutrals ---- */
    --color-white: #FFFFFF;
    --color-gray-50: #F7FAFC;
    --color-gray-100: #EFF3F8;
    --color-gray-200: #E2E8F0;
    --color-gray-300: #CBD5E1;
    --color-gray-400: #94A3B8;
    --color-gray-500: #64748B;
    --color-gray-600: #46617A;      /* texto secundario AA sobre claro */
    --color-gray-700: #334155;
    --color-gray-800: #1E3A52;
    --color-gray-900: #023047;      /* texto principal — navy profundo */

    /* ---- Display (hero grande como la vieja) ---- */
    --font-size-display: 3.2rem;
    --font-size-4xl: 2.6rem;
    --font-size-3xl: 2.1rem;
    --color-black: #000000;

    /* ---- Typography (adulto-mayor: base 18px) ---- */
    --font-family-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-family-heading: 'Plus Jakarta Sans', 'Inter', 'Segoe UI', sans-serif;
    --font-size-xs: 0.8rem;
    --font-size-sm: 0.95rem;
    --font-size-base: 1rem;         /* = 18px con html{font-size:18px} */
    --font-size-lg: 1.15rem;
    --font-size-xl: 1.35rem;
    --font-size-2xl: 1.6rem;
    --font-size-3xl: 2rem;
    --font-size-4xl: 2.5rem;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --line-height-tight: 1.25;
    --line-height-normal: 1.6;

    /* ---- Spacing ---- */
    --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-12: 3rem;
    --space-16: 4rem;
    --space-24: 6rem;

    /* ---- Border Radius ---- */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --radius-pill: 999px;

    /* ---- Targets táctiles (regla UX ≥44px; botones 48px) ---- */
    --target-min: 44px;
    --btn-min-height: 48px;

    /* ---- Shadows ---- */
    --shadow-sm: 0 1px 2px 0 rgba(22, 50, 74, 0.06);
    --shadow-lg: 0 10px 24px rgba(22, 50, 74, 0.10);

    /* ---- Transitions ---- */
    --transition-fast: 150ms ease-in-out;
    --transition-base: 250ms ease-in-out;
    --transition-slow: 350ms ease-in-out;

    /* ---- Layout ---- */
    --header-height: 72px;
    --sidebar-width: 256px;
    --container-max-width: 1180px;

    /* ---- Z-Index ---- */
    --z-base: 0;
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-toast: 1080;
}
