def validate_document(text: str, document_type: str) -> tuple[float, list[str]]:
    """
    Verifica se o texto contém campos esperados para o tipo declarado.
    MVP com regras simples.
    """

    problemas = []
    text_lower = text.lower()

    campos_por_tipo = {
        "fatura": ["total", "valor", "data"],
        "recibo": ["recebido", "valor", "data"],
        "licenca": ["licença", "validade"]
    }

    campos_esperados = campos_por_tipo.get(document_type, [])

    if not campos_esperados:
        return 0.5, ["Tipo de documento desconhecido"]

    encontrados = sum(1 for c in campos_esperados if c in text_lower)

    score = encontrados / len(campos_esperados)

    if score < 1.0:
        problemas.append("Campos esperados não encontrados no documento")

    return score, problemas
