dialog.photo-crop-dialog{position:fixed;inset:0;width:440px;max-width:calc(100% - 24px);max-height:calc(100dvh - 32px);margin:auto;padding:22px;border:1px solid #dce3eb;border-radius:20px;background:#fff;color:#081d39;overflow:auto;overscroll-behavior:contain;box-sizing:border-box;font-family:inherit}
.photo-crop-dialog::backdrop{background:#081d39bd}
.photo-crop-dialog h2{font-size:22px;margin:0 0 8px;line-height:1.25}
.photo-crop-dialog p{font-size:13px;line-height:1.5;color:#617185;margin:0 0 16px}
.photo-crop-stage{position:relative;width:min(100%,260px);aspect-ratio:1;margin:0 auto 18px;overflow:hidden;border-radius:12px;background:#e7edf3}
.photo-crop-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.photo-crop-stage canvas:active{cursor:grabbing}
.photo-crop-guide{position:absolute;inset:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 80px #081d3970;pointer-events:none}
.photo-crop-controls{display:grid;gap:12px}
.photo-crop-controls label{display:grid;gap:4px;font-size:13px;font-weight:650}
.photo-crop-controls input{width:100%;height:30px;min-height:30px;padding:0;accent-color:#d4142b}
.photo-crop-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;flex-wrap:wrap}
.photo-crop-actions button{font:inherit;font-size:13px;font-weight:700;min-height:44px;border:0;border-radius:12px;padding:10px 16px;background:#edf2f7;color:#081d39;cursor:pointer}
.photo-crop-actions [data-crop-apply]{background:#d4142b;color:white}
.photo-crop-dialog .photo-crop-error{color:#a31127;margin-top:14px}
.photo-crop-dialog [hidden]{display:none}
.photo-crop-dialog :focus-visible{outline:3px solid #b9142b;outline-offset:3px}
@media(max-height:650px){.photo-crop-stage{width:180px}.photo-crop-controls{gap:6px}.photo-crop-dialog{padding:16px}}
