.crop-entry { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.crop-entry .button { flex: 0 0 auto; }
.crop-entry .micro-label { overflow-wrap: anywhere; }
.crop-dialog { width: min(100%, 900px); max-height: 92dvh; }
.crop-stage { position: relative; min-height: 160px; height: min(55dvh, 520px); background: var(--stage); }
#cropHost, #cropHost cropper-canvas { width: 100%; height: 100%; }
#cropHost cropper-canvas { --theme-color: var(--c-primary); }
#cropHost cropper-selection { outline-color: var(--c-primary); }
#cropHost cropper-selection:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 4px; }
#cropHost cropper-handle:not([action="move"]) { width: 20px; height: 20px; --theme-color: var(--c-primary); }
#cropHost cropper-handle[action="move"] { cursor: move; }
#cropStatus { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; margin: 0; background: var(--stage); color: var(--c-text-secondary); font-size: 13px; }
#cropStatus[hidden] { display: none; }
.crop-controls { border: 0; border-top: 1px solid var(--c-border); padding: 14px 18px; margin: 0; display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 20px; min-width: 0; }
.crop-controls label { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.crop-controls label span { font-size: 11px; color: var(--c-text-muted); }
.crop-coordinate-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.crop-controls .control { min-width: 0; width: 100%; }
@media (max-width: 760px) {
    .crop-dialog { max-height: 96dvh; }
    .crop-stage { height: 48dvh; }
    .crop-controls { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 12px; }
    .crop-ratio { flex-direction: row !important; align-items: center; }
    .crop-ratio span { flex-shrink: 0; width: 66px; }
    .crop-coordinate-fields { gap: 6px; }
    .crop-controls .control { padding: 8px 6px; }
    #cropHost cropper-handle:not([action="move"]) { width: 28px; height: 28px; }
}
