.jdx-crop-overlay {
    display: none; position: absolute; inset: 0; z-index: 45;
    background: rgba(5, 7, 10, .96); align-items: center; justify-content: center; padding: 14px;
    overflow-y: auto;
}
.jdx-crop-overlay.aberto { display: flex; }
.jdx-crop-box {
    width: 100%; max-width: 380px; display: flex; flex-direction: column; margin: auto;
    align-items: center; gap: 12px; color: #fff; text-align: center;
}
.jdx-crop-box h4 { margin: 0; font-size: 16px; font-weight: 800; }
.jdx-crop-box p { margin: 0; font-size: 12px; color: #8b949e; }

.jdx-crop-stage {
    position: relative; width: min(300px, 76vw); height: min(300px, 76vw);
    border-radius: 50%; overflow: hidden; border: 2px solid #67B34D; background: #000;
    touch-action: none; cursor: grab; user-select: none; -webkit-user-select: none;
}
.jdx-crop-stage:active { cursor: grabbing; }
.jdx-crop-stage img {
    position: absolute; left: 50%; top: 50%;
    max-width: none !important; max-height: none !important;
    transform-origin: center center; pointer-events: none;
    user-select: none; -webkit-user-drag: none;
}

.jdx-crop-zoom { display: flex; align-items: center; gap: 10px; width: min(300px, 76vw); }
.jdx-crop-zoom button {
    width: 32px; height: 32px; border-radius: 50%; background: #21262d; color: #67B34D;
    border: 1px solid rgba(103,179,77,.4); font-size: 18px; font-weight: 800; line-height: 1; cursor: pointer;
}
.jdx-crop-zoom input[type=range] { flex: 1; accent-color: #67B34D; }

.jdx-crop-msg { min-height: 16px; font-size: 12px; color: #67B34D; font-weight: 700; }
.jdx-crop-acoes { display: flex; gap: 10px; }
.jdx-crop-cancelar {
    background: #21262d; color: #c1ccd7; border: 1px solid rgba(255,255,255,.15);
    border-radius: 25px; padding: 10px 22px; font-weight: 700; font-size: 13px; cursor: pointer;
}
.jdx-crop-box .jdx-foto-btn[disabled] { opacity: .5; cursor: not-allowed; }

.jdx-crop-abas { display: flex; gap: 6px; width: min(300px, 76vw); }
.jdx-crop-aba {
    flex: 1; background: #21262d; color: #c1ccd7; border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px; padding: 6px 0; font-size: 12px; font-weight: 700; cursor: pointer;
}
.jdx-crop-aba.ativa { background: #67B34D; color: #0d1117; border-color: #67B34D; }

.jdx-crop-painel {
    display: none; width: min(300px, 76vw); min-height: 96px;
    flex-direction: column; align-items: center; justify-content: center; gap: 12px;
}
.jdx-crop-painel.ativo { display: flex; }

.jdx-crop-ferr { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.jdx-crop-ferr button {
    background: #21262d; color: #67B34D; border: 1px solid rgba(103,179,77,.4);
    border-radius: 18px; padding: 6px 12px; font-size: 12px; font-weight: 700; cursor: pointer;
}
.jdx-crop-ferr button:hover { background: #67B34D; color: #0d1117; }

.jdx-crop-presets { display: flex; gap: 8px; overflow-x: auto; width: 100%; padding: 2px 0 6px; }
.jdx-crop-preset {
    flex: 0 0 auto; width: 58px; background: none; border: 2px solid transparent; border-radius: 10px;
    padding: 2px; color: #c1ccd7; font-size: 10px; cursor: pointer;
    display: flex; flex-direction: column; align-items: center; gap: 3px;
}
.jdx-crop-preset img { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; }
.jdx-crop-preset.ativo { border-color: #67B34D; color: #67B34D; }

.jdx-crop-linha { display: flex; align-items: center; gap: 8px; width: 100%; font-size: 12px; color: #c1ccd7; margin: 0; }
.jdx-crop-linha span { width: 72px; text-align: left; }
.jdx-crop-linha input[type=range] { flex: 1; accent-color: #67B34D; }