New PATCH /admin/contracts/:id (permission contracts.edit, superadmin
only) recalculates the price snapshot server-side and can change term
end, renewal and notice period. A reason is required and before/after
values go to the audit log. Changing the term end re-arms the renewal
reminder. The contract page gets a matching edit form.
Also fixes the domain test after replacing the KCS order number with
the order date.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>