```python
def count_phrase(tokens: list[str], phrase: str) -> int:
    if not phrase.strip():
        raise ValueError("Phrase must not be empty or only spaces")
    
    phrase_tokens = phrase.split()
    count = 0
    i = 0
    
    while i < len(tokens):
        match = True
        for j, token in enumerate(phrase_tokens):
            if i + j >= len(tokens) or tokens[i + j].lower() != token.lower():
                match = False
                break
        if match:
            count += 1
            i += len(phrase_tokens)
        else:
            i += 1
    
    return count
```