[data-custom-image] { cursor: pointer; object-fit: cover; }
[data-custom-image]:focus { outline: 3px solid #2366b5; }
.custom-image-dialog { width: min(620px, 94vw); max-height: 94vh; overflow: auto; border: 0; border-radius: 10px; padding: 24px; box-shadow: 0 10px 50px #0005; }
.custom-image-dialog::backdrop { background: #0008; }
.custom-image-dialog canvas { display: block; width: 100%; height: auto; max-height: 50vh; object-fit: contain; touch-action: none; cursor: grab; background: #eee; }
.custom-image-dialog progress { width: 100%; }
.custom-image-dialog label { display: block; margin: 12px 0; }
.custom-image-dialog input[type=range] { width: 100%; }
.custom-image-dialog .image-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 16px; }
.custom-image-dialog [hidden] { display: none !important; }
