Write a Python function `diff_even_odd(numbers)` that takes a list of integers as input and returns the difference between the first even number and the first odd number in the list. If either an even or an odd number is not found, return `None`.
#### Example Usage:
```python [main.nopy]
print(diff_even_odd([1, 3, 5, 7, 4, 1, 6, 8])) # Output: 3
print(diff_even_odd([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])) # Output: 1
print(diff_even_odd([1, 5, 7, 9, 10])) # Output: 9
print(diff_even_odd([2, 4, 6, 8])) # Output: None
print(diff_even_odd([1, 3, 5, 7])) # Output: None
```
#### Constraints:
- The input list will contain at least one integer.
- The function should handle cases where there are no even or odd numbers gracefully.