CR-01: DocumentCard.vue `@unshared="doc.is_shared = false"` mutated a defineProps prop (readonly in Vue 3). Replace with a local `isShared` ref watched against prop changes so the Shared pill hides correctly after revoke. CR-02: App.vue keyboard handler fired U/N/Escape shortcuts even when a modal was open (no input focused). Add `role="dialog"` guard so all shortcuts are suppressed while any dialog is in the DOM. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>