```python
def apply_overrides(base: dict, overrides: list) -> dict:
    if not isinstance(overrides, list):
        raise ValueError("Overrides must be a list")
    
    result = base.copy()
    
    for override in overrides:
        if not isinstance(override, str):
            raise ValueError("Each override must be a string")
        
        parts = override.split('=', 1)
        if len(parts) != 2 or not parts[0]:
            raise ValueError("Override must contain exactly one equals sign and have a non-empty name")
        
        setting_name, value = parts
        if setting_name not in base:
            raise ValueError(f"Base does not contain the setting '{setting_name}'")
        
        result[setting_name] = value
    
    return result
```