#photo-crop-dialog{width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:24px;border:1px solid var(--line);border-radius:14px;overflow-y:auto}#photo-crop-dialog::backdrop{background:#14283ec2}.photo-crop-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.photo-crop-heading h2{font-size:22px;margin:0 0 5px}.photo-crop-heading p{font-size:13px;margin:0;color:var(--muted)}#crop-close{font-size:25px;padding:0;width:40px;min-height:40px}.photo-crop-help{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0}.photo-crop-stage{display:flex;align-items:center;justify-content:center;background:var(--line);border-radius:8px;padding:12px;overflow:hidden}.photo-crop-stage canvas{display:block;max-width:100%;max-height:38dvh;width:auto;height:auto;box-shadow:0 0 0 1px #fff,0 3px 14px #14283e30;cursor:grab;touch-action:none}.photo-crop-stage canvas:active{cursor:grabbing}.photo-crop-stage canvas:focus-visible{outline:3px solid var(--brand);outline-offset:3px}#crop-size{display:block;text-align:center;font-size:12px;color:var(--muted);margin:9px 0 14px}.photo-crop-controls label{font-size:12px;font-weight:600;display:block}.photo-crop-controls input{width:100%;height:32px;min-height:32px;margin:0;accent-color:var(--brand);cursor:pointer;padding:0}.photo-crop-controls>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}.photo-crop-footer{display:flex;align-items:center;gap:8px;margin-top:18px}.photo-crop-footer #crop-reset{margin-right:auto}.photo-crop-error{color:#8b2925;font-size:13px;line-height:1.5}.photo-crop-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:6px}.photo-crop-buttons button{position:static!important;width:auto!important;height:auto!important;min-height:34px;padding:6px 9px!important;font-size:12px!important;line-height:1.3!important;border-radius:6px!important}.photo .photo-crop-buttons{grid-column:1/-1}.flow-photo .photo-crop-buttons{width:100%}@media(max-width:480px){#photo-crop-dialog{padding:16px}.photo-crop-footer{flex-wrap:wrap}.photo-crop-footer #crop-reset{flex-basis:100%;margin:0;text-align:left}.photo-crop-footer #crop-save,.photo-crop-footer #crop-cancel{flex:1}}
