/**
 * NexusMed Design Tokens
 * Fuente única de colores. Cada módulo tiene su token *-accent (color por directorio).
 * En [data-theme="legacy"] todos los *-accent apuntan a medical-blue para poder regresar sin tocar templates.
 *
 * Variables:
 *   medical-blue-*   Primary genérico (core, login, sidebar). Referencia para legacy.
 *   soft-gray-*      Neutros (50-900)
 *   nexusmed-purple-* Legacy; preferir el *-accent del módulo según directorio.
 *   <modulo>-accent-* Acento del módulo (dashboard, pacientes, citas, ...). Por defecto = color nuevo;
 *                     en data-theme="legacy" = medical-blue.
 */

:root,
[data-theme="default"] {
    /* medical-blue (primary genérico, core, login; referencia para legacy) */
    --medical-blue-50: #f0f8ff;
    --medical-blue-100: #e0f1fe;
    --medical-blue-200: #b8e4fd;
    --medical-blue-300: #7dd0fc;
    --medical-blue-400: #3ab9f8;
    --medical-blue-500: #0ea5e9;
    --medical-blue-600: #0284c7;
    --medical-blue-700: #0369a1;
    --medical-blue-800: #075985;
    --medical-blue-900: #0c4a6e;
    --medical-blue-500-focus-ring: rgba(14, 165, 233, 0.1);

    /* soft-gray (neutros) */
    --soft-gray-50: #f8fafc;
    --soft-gray-100: #f1f5f9;
    --soft-gray-200: #e2e8f0;
    --soft-gray-300: #cbd5e1;
    --soft-gray-400: #94a3b8;
    --soft-gray-500: #64748b;
    --soft-gray-600: #475569;
    --soft-gray-700: #334155;
    --soft-gray-800: #1e293b;
    --soft-gray-900: #0f172a;

    /* nexusmed-purple (legacy; en módulos usar <modulo>-accent) */
    --nexusmed-purple-50: #f5f3ff;
    --nexusmed-purple-100: #ede9fe;
    --nexusmed-purple-200: #ddd6fe;
    --nexusmed-purple-300: #c4b5fd;
    --nexusmed-purple-400: #a78bfa;
    --nexusmed-purple-500: #8b5cf6;
    --nexusmed-purple-600: #7c3aed;
    --nexusmed-purple-700: #6d28d9;
    --nexusmed-purple-800: #5b21b6;
    --nexusmed-purple-900: #4c1d95;

    /* Tokens por módulo (por directorio). Color nuevo por defecto. */
    /* dashboard-accent = medical-blue */
    --dashboard-accent-50: #f0f8ff;
    --dashboard-accent-100: #e0f1fe;
    --dashboard-accent-200: #b8e4fd;
    --dashboard-accent-300: #7dd0fc;
    --dashboard-accent-400: #3ab9f8;
    --dashboard-accent-500: #0ea5e9;
    --dashboard-accent-600: #0284c7;
    --dashboard-accent-700: #0369a1;
    --dashboard-accent-800: #075985;
    --dashboard-accent-900: #0c4a6e;
    --dashboard-accent-500-focus-ring: rgba(14, 165, 233, 0.1);

    /* pacientes-accent = indigo */
    --pacientes-accent-50: #eef2ff;
    --pacientes-accent-100: #e0e7ff;
    --pacientes-accent-200: #c7d2fe;
    --pacientes-accent-300: #a5b4fc;
    --pacientes-accent-400: #818cf8;
    --pacientes-accent-500: #6366f1;
    --pacientes-accent-600: #4f46e5;
    --pacientes-accent-700: #4338ca;
    --pacientes-accent-800: #3730a3;
    --pacientes-accent-900: #312e81;
    --pacientes-accent-500-focus-ring: rgba(99, 102, 241, 0.1);

    /* citas-accent = teal */
    --citas-accent-50: #f0fdfa;
    --citas-accent-100: #ccfbf1;
    --citas-accent-200: #99f6e4;
    --citas-accent-300: #5eead4;
    --citas-accent-400: #2dd4bf;
    --citas-accent-500: #14b8a6;
    --citas-accent-600: #0d9488;
    --citas-accent-700: #0f766e;
    --citas-accent-800: #115e59;
    --citas-accent-900: #134e4a;
    --citas-accent-500-focus-ring: rgba(20, 184, 166, 0.1);

    /* recetas-accent = violet */
    --recetas-accent-50: #f5f3ff;
    --recetas-accent-100: #ede9fe;
    --recetas-accent-200: #ddd6fe;
    --recetas-accent-300: #c4b5fd;
    --recetas-accent-400: #a78bfa;
    --recetas-accent-500: #8b5cf6;
    --recetas-accent-600: #7c3aed;
    --recetas-accent-700: #6d28d9;
    --recetas-accent-800: #5b21b6;
    --recetas-accent-900: #4c1d95;
    --recetas-accent-500-focus-ring: rgba(139, 92, 246, 0.1);

    /* documentos-accent = slate */
    --documentos-accent-50: #f8fafc;
    --documentos-accent-100: #f1f5f9;
    --documentos-accent-200: #e2e8f0;
    --documentos-accent-300: #cbd5e1;
    --documentos-accent-400: #94a3b8;
    --documentos-accent-500: #64748b;
    --documentos-accent-600: #475569;
    --documentos-accent-700: #334155;
    --documentos-accent-800: #1e293b;
    --documentos-accent-900: #0f172a;
    --documentos-accent-500-focus-ring: rgba(100, 116, 139, 0.1);

    /* estudios-accent = sky */
    --estudios-accent-50: #f0f9ff;
    --estudios-accent-100: #e0f2fe;
    --estudios-accent-200: #bae6fd;
    --estudios-accent-300: #7dd3fc;
    --estudios-accent-400: #38bdf8;
    --estudios-accent-500: #0ea5e9;
    --estudios-accent-600: #0284c7;
    --estudios-accent-700: #0369a1;
    --estudios-accent-800: #075985;
    --estudios-accent-900: #0c4a6e;
    --estudios-accent-500-focus-ring: rgba(14, 165, 233, 0.1);

    /* vacunacion-accent = emerald */
    --vacunacion-accent-50: #ecfdf5;
    --vacunacion-accent-100: #d1fae5;
    --vacunacion-accent-200: #a7f3d0;
    --vacunacion-accent-300: #6ee7b7;
    --vacunacion-accent-400: #34d399;
    --vacunacion-accent-500: #10b981;
    --vacunacion-accent-600: #059669;
    --vacunacion-accent-700: #047857;
    --vacunacion-accent-800: #065f46;
    --vacunacion-accent-900: #064e3b;
    --vacunacion-accent-500-focus-ring: rgba(16, 185, 129, 0.1);

    /* procedimientos-accent = amber */
    --procedimientos-accent-50: #fffbeb;
    --procedimientos-accent-100: #fef3c7;
    --procedimientos-accent-200: #fde68a;
    --procedimientos-accent-300: #fcd34d;
    --procedimientos-accent-400: #fbbf24;
    --procedimientos-accent-500: #f59e0b;
    --procedimientos-accent-600: #d97706;
    --procedimientos-accent-700: #b45309;
    --procedimientos-accent-800: #92400e;
    --procedimientos-accent-900: #78350f;
    --procedimientos-accent-500-focus-ring: rgba(245, 158, 11, 0.1);

    /* referencias-accent = orange */
    --referencias-accent-50: #fff7ed;
    --referencias-accent-100: #ffedd5;
    --referencias-accent-200: #fed7aa;
    --referencias-accent-300: #fdba74;
    --referencias-accent-400: #fb923c;
    --referencias-accent-500: #f97316;
    --referencias-accent-600: #ea580c;
    --referencias-accent-700: #c2410c;
    --referencias-accent-800: #9a3412;
    --referencias-accent-900: #7c2d12;
    --referencias-accent-500-focus-ring: rgba(249, 115, 22, 0.1);

    /* facturacion-accent = green */
    --facturacion-accent-50: #f0fdf4;
    --facturacion-accent-100: #dcfce7;
    --facturacion-accent-200: #bbf7d0;
    --facturacion-accent-300: #86efac;
    --facturacion-accent-400: #4ade80;
    --facturacion-accent-500: #22c55e;
    --facturacion-accent-600: #16a34a;
    --facturacion-accent-700: #15803d;
    --facturacion-accent-800: #166534;
    --facturacion-accent-900: #14532d;
    --facturacion-accent-500-focus-ring: rgba(34, 197, 94, 0.1);

    /* inventario-accent = stone */
    --inventario-accent-50: #fafaf9;
    --inventario-accent-100: #f5f5f4;
    --inventario-accent-200: #e7e5e4;
    --inventario-accent-300: #d6d3d1;
    --inventario-accent-400: #a8a29e;
    --inventario-accent-500: #78716c;
    --inventario-accent-600: #57534e;
    --inventario-accent-700: #44403c;
    --inventario-accent-800: #292524;
    --inventario-accent-900: #1c1917;
    --inventario-accent-500-focus-ring: rgba(120, 113, 108, 0.1);

    /* portal_paciente-accent = cyan */
    --portal_paciente-accent-50: #ecfeff;
    --portal_paciente-accent-100: #cffafe;
    --portal_paciente-accent-200: #a5f3fa;
    --portal_paciente-accent-300: #67e8f9;
    --portal_paciente-accent-400: #22d3ee;
    --portal_paciente-accent-500: #06b6d4;
    --portal_paciente-accent-600: #0891b2;
    --portal_paciente-accent-700: #0e7490;
    --portal_paciente-accent-800: #155e75;
    --portal_paciente-accent-900: #164e63;
    --portal_paciente-accent-500-focus-ring: rgba(6, 182, 212, 0.1);

    /* tareas-accent = purple */
    --tareas-accent-50: #faf5ff;
    --tareas-accent-100: #f3e8ff;
    --tareas-accent-200: #e9d5ff;
    --tareas-accent-300: #d8b4fe;
    --tareas-accent-400: #c084fc;
    --tareas-accent-500: #a855f7;
    --tareas-accent-600: #9333ea;
    --tareas-accent-700: #7e22ce;
    --tareas-accent-800: #6b21a8;
    --tareas-accent-900: #5b1b9b;
    --tareas-accent-500-focus-ring: rgba(168, 85, 247, 0.1);

    /* directorio-accent = orange (referencias-style) */
    --directorio-accent-50: #fff7ed;
    --directorio-accent-100: #ffedd5;
    --directorio-accent-200: #fed7aa;
    --directorio-accent-300: #fdba74;
    --directorio-accent-400: #fb923c;
    --directorio-accent-500: #f97316;
    --directorio-accent-600: #ea580c;
    --directorio-accent-700: #c2410c;
    --directorio-accent-800: #9a3412;
    --directorio-accent-900: #7c2d12;
    --directorio-accent-500-focus-ring: rgba(249, 115, 22, 0.1);

    /* configuracion-accent = gray */
    --configuracion-accent-50: #f9fafb;
    --configuracion-accent-100: #f3f4f6;
    --configuracion-accent-200: #e5e7eb;
    --configuracion-accent-300: #d1d5db;
    --configuracion-accent-400: #9ca3af;
    --configuracion-accent-500: #6b7280;
    --configuracion-accent-600: #4b5563;
    --configuracion-accent-700: #374151;
    --configuracion-accent-800: #1f2937;
    --configuracion-accent-900: #111827;
    --configuracion-accent-500-focus-ring: rgba(107, 114, 128, 0.1);

    /* analiticas-accent = rose */
    --analiticas-accent-50: #fff1f2;
    --analiticas-accent-100: #ffe4e6;
    --analiticas-accent-200: #fecdd3;
    --analiticas-accent-300: #fda4af;
    --analiticas-accent-400: #fb7185;
    --analiticas-accent-500: #f43f5e;
    --analiticas-accent-600: #e11d48;
    --analiticas-accent-700: #be123c;
    --analiticas-accent-800: #9f1239;
    --analiticas-accent-900: #881337;
    --analiticas-accent-500-focus-ring: rgba(244, 63, 94, 0.1);

    /* mensajes: mismo que portal_paciente (cyan) */
    --mensajes-accent-50: var(--portal_paciente-accent-50);
    --mensajes-accent-100: var(--portal_paciente-accent-100);
    --mensajes-accent-200: var(--portal_paciente-accent-200);
    --mensajes-accent-300: var(--portal_paciente-accent-300);
    --mensajes-accent-400: var(--portal_paciente-accent-400);
    --mensajes-accent-500: var(--portal_paciente-accent-500);
    --mensajes-accent-600: var(--portal_paciente-accent-600);
    --mensajes-accent-700: var(--portal_paciente-accent-700);
    --mensajes-accent-800: var(--portal_paciente-accent-800);
    --mensajes-accent-900: var(--portal_paciente-accent-900);
    --mensajes-accent-500-focus-ring: var(--portal_paciente-accent-500-focus-ring);
}

/* Tema legacy: todos los *-accent = medical-blue (regresar sin tocar templates) */
[data-theme="legacy"] {
    --dashboard-accent-50: var(--medical-blue-50);
    --dashboard-accent-100: var(--medical-blue-100);
    --dashboard-accent-200: var(--medical-blue-200);
    --dashboard-accent-300: var(--medical-blue-300);
    --dashboard-accent-400: var(--medical-blue-400);
    --dashboard-accent-500: var(--medical-blue-500);
    --dashboard-accent-600: var(--medical-blue-600);
    --dashboard-accent-700: var(--medical-blue-700);
    --dashboard-accent-800: var(--medical-blue-800);
    --dashboard-accent-900: var(--medical-blue-900);
    --dashboard-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --pacientes-accent-50: var(--medical-blue-50);
    --pacientes-accent-100: var(--medical-blue-100);
    --pacientes-accent-200: var(--medical-blue-200);
    --pacientes-accent-300: var(--medical-blue-300);
    --pacientes-accent-400: var(--medical-blue-400);
    --pacientes-accent-500: var(--medical-blue-500);
    --pacientes-accent-600: var(--medical-blue-600);
    --pacientes-accent-700: var(--medical-blue-700);
    --pacientes-accent-800: var(--medical-blue-800);
    --pacientes-accent-900: var(--medical-blue-900);
    --pacientes-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --citas-accent-50: var(--medical-blue-50);
    --citas-accent-100: var(--medical-blue-100);
    --citas-accent-200: var(--medical-blue-200);
    --citas-accent-300: var(--medical-blue-300);
    --citas-accent-400: var(--medical-blue-400);
    --citas-accent-500: var(--medical-blue-500);
    --citas-accent-600: var(--medical-blue-600);
    --citas-accent-700: var(--medical-blue-700);
    --citas-accent-800: var(--medical-blue-800);
    --citas-accent-900: var(--medical-blue-900);
    --citas-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --recetas-accent-50: var(--medical-blue-50);
    --recetas-accent-100: var(--medical-blue-100);
    --recetas-accent-200: var(--medical-blue-200);
    --recetas-accent-300: var(--medical-blue-300);
    --recetas-accent-400: var(--medical-blue-400);
    --recetas-accent-500: var(--medical-blue-500);
    --recetas-accent-600: var(--medical-blue-600);
    --recetas-accent-700: var(--medical-blue-700);
    --recetas-accent-800: var(--medical-blue-800);
    --recetas-accent-900: var(--medical-blue-900);
    --recetas-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --documentos-accent-50: var(--medical-blue-50);
    --documentos-accent-100: var(--medical-blue-100);
    --documentos-accent-200: var(--medical-blue-200);
    --documentos-accent-300: var(--medical-blue-300);
    --documentos-accent-400: var(--medical-blue-400);
    --documentos-accent-500: var(--medical-blue-500);
    --documentos-accent-600: var(--medical-blue-600);
    --documentos-accent-700: var(--medical-blue-700);
    --documentos-accent-800: var(--medical-blue-800);
    --documentos-accent-900: var(--medical-blue-900);
    --documentos-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --estudios-accent-50: var(--medical-blue-50);
    --estudios-accent-100: var(--medical-blue-100);
    --estudios-accent-200: var(--medical-blue-200);
    --estudios-accent-300: var(--medical-blue-300);
    --estudios-accent-400: var(--medical-blue-400);
    --estudios-accent-500: var(--medical-blue-500);
    --estudios-accent-600: var(--medical-blue-600);
    --estudios-accent-700: var(--medical-blue-700);
    --estudios-accent-800: var(--medical-blue-800);
    --estudios-accent-900: var(--medical-blue-900);
    --estudios-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --vacunacion-accent-50: var(--medical-blue-50);
    --vacunacion-accent-100: var(--medical-blue-100);
    --vacunacion-accent-200: var(--medical-blue-200);
    --vacunacion-accent-300: var(--medical-blue-300);
    --vacunacion-accent-400: var(--medical-blue-400);
    --vacunacion-accent-500: var(--medical-blue-500);
    --vacunacion-accent-600: var(--medical-blue-600);
    --vacunacion-accent-700: var(--medical-blue-700);
    --vacunacion-accent-800: var(--medical-blue-800);
    --vacunacion-accent-900: var(--medical-blue-900);
    --vacunacion-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    /* Procedimientos mantiene naranja/ámbar (no se convierte a azul en legacy) */
    --referencias-accent-50: var(--medical-blue-50);
    --referencias-accent-100: var(--medical-blue-100);
    --referencias-accent-200: var(--medical-blue-200);
    --referencias-accent-300: var(--medical-blue-300);
    --referencias-accent-400: var(--medical-blue-400);
    --referencias-accent-500: var(--medical-blue-500);
    --referencias-accent-600: var(--medical-blue-600);
    --referencias-accent-700: var(--medical-blue-700);
    --referencias-accent-800: var(--medical-blue-800);
    --referencias-accent-900: var(--medical-blue-900);
    --referencias-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --directorio-accent-50: var(--medical-blue-50);
    --directorio-accent-100: var(--medical-blue-100);
    --directorio-accent-200: var(--medical-blue-200);
    --directorio-accent-300: var(--medical-blue-300);
    --directorio-accent-400: var(--medical-blue-400);
    --directorio-accent-500: var(--medical-blue-500);
    --directorio-accent-600: var(--medical-blue-600);
    --directorio-accent-700: var(--medical-blue-700);
    --directorio-accent-800: var(--medical-blue-800);
    --directorio-accent-900: var(--medical-blue-900);
    --directorio-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --facturacion-accent-50: var(--medical-blue-50);
    --facturacion-accent-100: var(--medical-blue-100);
    --facturacion-accent-200: var(--medical-blue-200);
    --facturacion-accent-300: var(--medical-blue-300);
    --facturacion-accent-400: var(--medical-blue-400);
    --facturacion-accent-500: var(--medical-blue-500);
    --facturacion-accent-600: var(--medical-blue-600);
    --facturacion-accent-700: var(--medical-blue-700);
    --facturacion-accent-800: var(--medical-blue-800);
    --facturacion-accent-900: var(--medical-blue-900);
    --facturacion-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --inventario-accent-50: var(--medical-blue-50);
    --inventario-accent-100: var(--medical-blue-100);
    --inventario-accent-200: var(--medical-blue-200);
    --inventario-accent-300: var(--medical-blue-300);
    --inventario-accent-400: var(--medical-blue-400);
    --inventario-accent-500: var(--medical-blue-500);
    --inventario-accent-600: var(--medical-blue-600);
    --inventario-accent-700: var(--medical-blue-700);
    --inventario-accent-800: var(--medical-blue-800);
    --inventario-accent-900: var(--medical-blue-900);
    --inventario-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --portal_paciente-accent-50: var(--medical-blue-50);
    --portal_paciente-accent-100: var(--medical-blue-100);
    --portal_paciente-accent-200: var(--medical-blue-200);
    --portal_paciente-accent-300: var(--medical-blue-300);
    --portal_paciente-accent-400: var(--medical-blue-400);
    --portal_paciente-accent-500: var(--medical-blue-500);
    --portal_paciente-accent-600: var(--medical-blue-600);
    --portal_paciente-accent-700: var(--medical-blue-700);
    --portal_paciente-accent-800: var(--medical-blue-800);
    --portal_paciente-accent-900: var(--medical-blue-900);
    --portal_paciente-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --tareas-accent-50: var(--medical-blue-50);
    --tareas-accent-100: var(--medical-blue-100);
    --tareas-accent-200: var(--medical-blue-200);
    --tareas-accent-300: var(--medical-blue-300);
    --tareas-accent-400: var(--medical-blue-400);
    --tareas-accent-500: var(--medical-blue-500);
    --tareas-accent-600: var(--medical-blue-600);
    --tareas-accent-700: var(--medical-blue-700);
    --tareas-accent-800: var(--medical-blue-800);
    --tareas-accent-900: var(--medical-blue-900);
    --tareas-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --configuracion-accent-50: var(--medical-blue-50);
    --configuracion-accent-100: var(--medical-blue-100);
    --configuracion-accent-200: var(--medical-blue-200);
    --configuracion-accent-300: var(--medical-blue-300);
    --configuracion-accent-400: var(--medical-blue-400);
    --configuracion-accent-500: var(--medical-blue-500);
    --configuracion-accent-600: var(--medical-blue-600);
    --configuracion-accent-700: var(--medical-blue-700);
    --configuracion-accent-800: var(--medical-blue-800);
    --configuracion-accent-900: var(--medical-blue-900);
    --configuracion-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
    --analiticas-accent-50: var(--medical-blue-50);
    --analiticas-accent-100: var(--medical-blue-100);
    --analiticas-accent-200: var(--medical-blue-200);
    --analiticas-accent-300: var(--medical-blue-300);
    --analiticas-accent-400: var(--medical-blue-400);
    --analiticas-accent-500: var(--medical-blue-500);
    --analiticas-accent-600: var(--medical-blue-600);
    --analiticas-accent-700: var(--medical-blue-700);
    --analiticas-accent-800: var(--medical-blue-800);
    --analiticas-accent-900: var(--medical-blue-900);
    --analiticas-accent-500-focus-ring: var(--medical-blue-500-focus-ring);
}

/* Tema oscuro (ejemplo) */
[data-theme="dark"] {
    --medical-blue-50: #0c4a6e;
    --medical-blue-100: #075985;
    --medical-blue-500: #38bdf8;
    --medical-blue-500-focus-ring: rgba(56, 189, 248, 0.2);
    --soft-gray-50: #0f172a;
    --soft-gray-100: #1e293b;
    --soft-gray-200: #334155;
    --soft-gray-900: #f8fafc;
}
