16c13ad35d
Gateia 18 rotas (tenantGuard + requireCapability), espelhando o frontend: - orcamentos (GET/POST/PUT/DELETE) → 'orcamentos' (funcionário + dono) - contratos (modelos CRUD+duplicar; instâncias CRUD+enviar+assinar+cancelar+ gerar-cobranca; GETs) → 'contratos' (funcionário + dono) 'assinar' incluído: usa tenantGuard+loadContratoScoped (quem assina é membro da clínica registrando a assinatura via ContratosView — não há fluxo de contraparte externa). Todos os endpoints de contrato são usados só no ContratosView (funcionário+dono). Propostas (marketplace, autorização por posse do profissional) ficam para sub-pass próprio. Validado em DEV: dono acessa (fake→404); dentista 403. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>