```python
def apply_overrides(base: dict, overrides: list) -> dict:
    if not isinstance(overrides, list):
        raise ValueError("Overrides must be a list of strings.")
    
    merged = dict(base)
    for override in overrides:
        if not isinstance(override, str):
            raise ValueError("Each override must be a string.")
        
        equals_index = override.find('=')
        if equals_index == -1 or equals_index == 0:
            raise ValueError("Override must contain an equals sign and have a non-empty name.")
        
        setting_name = override[:equals_index]
        if setting_name not in base:
            raise ValueError(f"Setting '{setting_name}' is not in the base dictionary.")
        
        merged[setting_name] = override[equals_index + 1:]
    
    return merged
```