:root {
    /* ==================================================
       SISTEMA DE DISEÑO: TOKENS OFICIALES
       Fuente: Manual de Marca Veltika v1.0
       ================================================== */
    --veltika-primary: #2563eb;
    --veltika-dark: #123f95;
    --veltika-accent: #4f8cff;
    --veltika-bg: #f8fafc;
    --veltika-surface: #ffffff;
    --veltika-text: #0f172a;
    --veltika-muted: #64748b;
    --veltika-border: #e2e8f0;
    --veltika-font: Inter, sans-serif;
    --veltika-font-regular: 400;
    --veltika-font-medium: 500;
    --veltika-font-semibold: 600;
    --veltika-font-extrabold: 800;

    /* Estados semánticos: extensiones para producto digital. */
    --veltika-success: #15803d;
    --veltika-warning: #b45309;
    --veltika-danger: #b91c1c;
    --veltika-info: #0369a1;
    --veltika-income: #15803d;
    --veltika-expense: #b91c1c;
    --veltika-disabled: #94a3b8;
    --veltika-primary-soft: #dceafb;
    --veltika-success-soft: #d6f5ee;
    --veltika-warning-soft: #fff0c7;
    --veltika-info-soft: #e6e9ff;

    /* Escalas base compartidas. */
    --veltika-space-1: 0.25rem;
    --veltika-space-2: 0.5rem;
    --veltika-space-3: 0.75rem;
    --veltika-space-4: 1rem;
    --veltika-space-6: 1.5rem;
    --veltika-space-8: 2rem;
    --veltika-radius-sm: 0.5rem;
    --veltika-radius-md: 0.75rem;
    --veltika-radius: 0.875rem;
    --veltika-radius-card: 1.25rem;
    --veltika-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
    --veltika-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
    --veltika-icon-xs: 1rem;
    --veltika-icon-sm: 1.25rem;
    --veltika-icon-md: 1.5rem;
    --veltika-icon-lg: 2rem;
    --veltika-control-height: 2.75rem;
    --veltika-transition: 180ms ease;
    --veltika-focus-ring: rgba(79, 140, 255, 0.38);

    /* ==================================================
       COMPATIBILIDAD TEMPORAL
       Consumidores existentes; migrar progresivamente.
       ================================================== */
    --ui-primary: #0f4c81;
    --ui-primary-hover: #0a365c;
    --ui-primary-soft: #e8f0f8;
    --ui-success: #198754;
    --ui-success-hover: #146c43;
    --ui-warning: #b26a00;
    --ui-danger: #ba1a1a;
    --ui-danger-hover: #941515;
    --ui-surface: #ffffff;
    --ui-background: #f7f9fb;
    --ui-surface-muted: #f2f4f6;
    --ui-text: #191c1e;
    --ui-text-muted: #667085;
    --ui-border: #dee2e6;
    --ui-border-light: #edf0f3;
    --ui-radius-sm: 0.375rem;
    --ui-radius-md: 0.5rem;
    --ui-radius-lg: 0.75rem;
    --ui-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
    --ui-shadow-md: 0 0.25rem 1rem rgba(15, 23, 42, 0.08);
    --ui-page-max-width: 1600px;
}
