.image-crop-dialog{width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;overflow:auto;border:1px solid #cbd5e1;border-radius:14px;padding:18px;color:#182b24;background:#fff;box-shadow:0 20px 70px #0005;font-family:inherit}
.image-crop-dialog::backdrop{background:#10231b99}
.image-crop-dialog header,.image-crop-dialog footer{display:flex;gap:10px;align-items:center;justify-content:space-between}
.image-crop-dialog h2{font-size:20px;margin:0}
.image-crop-dialog p{font-size:13px;margin:10px 0;line-height:1.4}
.image-crop-dialog button{border:1px solid #c1cec7;border-radius:8px;padding:9px 12px;background:#fff;color:#244a39;font:inherit;cursor:pointer}
.image-crop-dialog .crop-primary{background:#14634e;color:white;border-color:#14634e}
.image-crop-dialog button:disabled{opacity:.55;cursor:default}
.image-crop-dialog button:focus-visible,.image-crop-dialog input:focus-visible,.image-crop-dialog canvas:focus-visible{outline:3px solid #36956f;outline-offset:2px}
.crop-canvas-wrap{display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#e4e8e5 0% 25%,#fff 0% 50%) 50%/20px 20px;border-radius:8px;overflow:hidden;padding:5px}
#image-crop-canvas{display:block;max-width:100%;height:auto;touch-action:none;cursor:crosshair}
.crop-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.crop-fields label{display:flex;flex-direction:column;gap:4px;font-size:12px}
.crop-fields input{width:100%;min-width:0;padding:8px;border:1px solid #b7c5bd;border-radius:6px;font:inherit;box-sizing:border-box}
.crop-animation-warning{display:block;padding:10px;background:#fff3cd;border:1px solid #d5a543;border-radius:7px;font-size:12px;margin:12px 0}
#image-crop-error{color:#a52222}
.attachment-image-preview{max-width:64px;max-height:54px;object-fit:contain;border-radius:5px;background:#fff;vertical-align:middle;margin-right:8px}
.pending-attachment .attachment-crop-actions,.internal-chat-pending .attachment-crop-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}
.pending-attachment .crop-attachment,.internal-chat-pending .crop-attachment{border:1px solid #9fc9b7;border-radius:6px;padding:6px 9px;background:white;color:#21553f;font:inherit;cursor:pointer}
@media(max-width:620px){.image-crop-dialog{padding:12px}.image-crop-dialog footer{flex-wrap:wrap;justify-content:flex-end}.crop-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.attachment-image-preview{max-width:42px;max-height:42px}.pending-attachment,.internal-chat-pending{flex-wrap:wrap;gap:8px}}
