:root{
/* ---- Brand primitives (from brand sheet) ---- */
--c-blue-600:#0064D9;
--c-cyan-300:#76DFFF;
--c-amber-400:#FFB341;
--c-coral-500:#F05D31;
--c-lime-400:#ABDB46;
--c-violet-500:#7257E4;
--c-white-blue:#F9FDFF;

/* ---- Blue ramp (derived from #0064D9) ---- */
--c-blue-50:#EDF5FF;
--c-blue-100:#D6E7FF;
--c-blue-200:#A9CCFF;
--c-blue-300:#6BA8FB;
--c-blue-400:#2F82EC;
--c-blue-500:#0F6FE2;
--c-blue-700:#0052B3;
--c-blue-800:#003E88;
--c-blue-900:#002B5E;

/* ---- Cyan ramp (from #76DFFF) ---- */
--c-cyan-50:#EEFBFF;
--c-cyan-100:#D6F4FF;
--c-cyan-200:#AEEAFF;
--c-cyan-400:#3FC9F2;
--c-cyan-600:#1897BE;

/* ---- Support ramps (tints + shades of the brand accents) ---- */
--c-amber-50:#FFF6E8;
--c-amber-100:#FFE9C6;
--c-amber-600:#C97F16;
--c-coral-50:#FFF0EB;
--c-coral-100:#FFDACE;
--c-coral-600:#C6421B;
--c-lime-50:#F4FAE5;
--c-lime-100:#E4F3C1;
--c-lime-700:#5E8514;
--c-violet-50:#F1EEFE;
--c-violet-100:#DFD8FC;
--c-violet-700:#4B34AE;

/* ---- Neutrals (cool, blue-tinted) ---- */
--c-n-0:#FFFFFF;
--c-n-25:#F9FDFF;
--c-n-50:#F3F7FA;
--c-n-100:#E8EEF4;
--c-n-200:#D7E0E9;
--c-n-300:#B7C4D1;
--c-n-400:#8B9AAA;
--c-n-500:#65778A;
--c-n-600:#4A5B6D;
--c-n-700:#354453;
--c-n-800:#22303C;
--c-n-900:#111C26;

/* ---- Semantic: surfaces ---- */
--surface-app:var(--c-n-25);
--surface-card:var(--c-n-0);
--surface-sunken:var(--c-n-50);
--surface-raised:var(--c-n-0);
--surface-inverse:var(--c-n-900);
--surface-brand:var(--c-blue-600);
--surface-brand-soft:var(--c-blue-50);
--surface-accent-soft:var(--c-cyan-50);
--surface-overlay:rgba(17,28,38,.48);

/* ---- Semantic: text ---- */
--text-primary:var(--c-n-900);
--text-body:var(--c-n-700);
--text-muted:var(--c-n-500);
--text-subtle:var(--c-n-400);
--text-inverse:var(--c-n-0);
--text-brand:var(--c-blue-600);
--text-link:var(--c-blue-600);
--text-link-hover:var(--c-blue-700);

/* ---- Semantic: borders ---- */
--border-subtle:var(--c-n-100);
--border-default:var(--c-n-200);
--border-strong:var(--c-n-300);
--border-brand:var(--c-blue-600);
--border-focus:var(--c-blue-400);
--ring-focus:0 0 0 3px rgba(0,100,217,.24);

/* ---- Semantic: clinical execution states ----
   The platform speaks in pathway states, not marketing severity. */
--state-gap:var(--c-coral-500);          /* ruta clinica incompleta */
--state-gap-soft:var(--c-coral-50);
--state-gap-text:var(--c-coral-600);
--state-barrier:var(--c-amber-400);      /* barrera del paciente */
--state-barrier-soft:var(--c-amber-50);
--state-barrier-text:var(--c-amber-600);
--state-coordinated:var(--c-blue-600);   /* siguiente paso coordinado */
--state-coordinated-soft:var(--c-blue-50);
--state-coordinated-text:var(--c-blue-700);
--state-verified:var(--c-lime-400);      /* atencion verificada */
--state-verified-soft:var(--c-lime-50);
--state-verified-text:var(--c-lime-700);
--state-review:var(--c-violet-500);      /* en revision clinica */
--state-review-soft:var(--c-violet-50);
--state-review-text:var(--c-violet-700);
--state-idle:var(--c-n-300);
--state-idle-soft:var(--c-n-50);
--state-idle-text:var(--c-n-500);

/* ---- Semantic: interactive ---- */
--action-primary-bg:var(--c-blue-600);
--action-primary-bg-hover:var(--c-blue-700);
--action-primary-bg-active:var(--c-blue-800);
--action-primary-fg:var(--c-n-0);
--action-secondary-bg:var(--c-n-0);
--action-secondary-bg-hover:var(--c-blue-50);
--action-secondary-fg:var(--c-blue-700);
--action-ghost-bg-hover:var(--c-n-100);
--action-danger-bg:var(--c-coral-500);
--action-danger-bg-hover:var(--c-coral-600);
--action-disabled-bg:var(--c-n-100);
--action-disabled-fg:var(--c-n-400);
}
