### Apache Airflow version

2.2.0b1 (beta snapshot)

### Operating System

Mac OSX 11.5.2

### Versions of Apache Airflow Providers

_No response_

### Deployment

Docker-Compose

### Deployment details

_No response_

### What happened

In the tree view, the status color for deferred is very difficult to distinguish from up_for_reschedule and is generally not very distinct. I can’t imagine it’s good for people with colorblindness either.

### What you expected to happen

I expect the status colors to form a distinct palette. While there is already some crowding in the greens, I don't want to see it get worse with the new status.

### How to reproduce

Make a deferred task and view in tree view.

### Anything else

I might suggest something in the purple range like [BlueViolet #8A2BE2](https://www.color-hex.com/color/8a2be2)


### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

airflow/settings.py
import rich.console
    return rich.console.Console(file=file)
def custom_show_warning(message, category, filename, lineno, file=None, line=None):
    """Custom function to print rich and visible warnings"""
    
    from rich.markup import escape
    msg = f"[bold]{line}" if line else f"[bold][yellow]{filename}:{lineno}"
    msg += f" {category.__name__}[/bold]: {escape(str(message))}[/yellow]"
    write_console = _get_rich_console(file or sys.stderr)
    write_console.print(msg, soft_wrap=True)
warnings.showwarning = custom_show_warning
def task_policy(task) -> None:
    """
    This policy setting allows altering tasks after they are loaded in
    the DagBag. It allows administrator to rewire some task's parameters.
    Alternatively you can raise ``AirflowClusterPolicyViolation`` exception
    to stop DAG from being executed.
    To define policy, add a ``airflow_local_settings`` module
    to your PYTHONPATH that defines this ``task_policy`` function.
    Here are a few examples of how this can be useful:
    * You could enforce a specific queue (say the ``spark`` queue)
        for tasks using the ``SparkOperator`` to make sure that these
        tasks get wired to the right workers
    * You could enforce a task timeout policy, making sure that no tasks run
        for more than 48 hours
    :param task: task to be mutated
    :type task: airflow.models.baseoperator.BaseOperator
    """
def dag_policy(dag) -> None: