.report-photo-editor {
    --rpe-blue: #023e8a;
    --rpe-orange: #ff6d00;
    margin-top: 10px;
}
.rpe-input { display: block; max-width: 100%; margin-bottom: 10px; }
.report-photo-editor.is-ready .rpe-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.rpe-drop {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 94px;
    padding: 16px 20px;
    border: 2px dashed #a9c7e5;
    border-radius: 16px;
    background: #f4f9fe;
    color: var(--rpe-blue);
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease;
}
.report-photo-editor.is-ready .rpe-drop { display: flex; }
.rpe-drop:hover, .rpe-drop.is-over { border-color: var(--rpe-orange); background: #fff8f1; }
.rpe-drop__text { display: flex; flex-direction: column; gap: 4px; }
.rpe-drop__text strong { font-size: 15px; }
.rpe-drop__text span { color: #62778d; font-size: 13px; }
.rpe-add {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 9px 17px;
    border: 0;
    border-radius: 10px;
    background: var(--rpe-orange);
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
}
.rpe-add:hover { transform: scale(1.04); box-shadow: 0 5px 14px rgba(255, 109, 0, .25); }
.rpe-meta { display: flex; justify-content: space-between; gap: 12px; margin: 9px 2px 0; color: #718296; font-size: 12px; }
.rpe-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(145px, 1fr)); gap: 12px; margin-top: 14px; }
.rpe-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 2px solid #dce7f2;
    border-radius: 14px;
    background: #edf2f8;
    box-shadow: 0 3px 10px rgba(16, 57, 101, .07);
}
.rpe-card:first-child { border-color: var(--rpe-orange); }
.rpe-card.is-moving { border-color: var(--rpe-orange); box-shadow: 0 12px 24px rgba(16, 57, 101, .2); }
.rpe-card > img { display: block; width: 100%; height: 150px; object-fit: cover; }
.rpe-badge {
    position: absolute;
    top: 7px;
    left: 7px;
    padding: 4px 8px;
    border-radius: 8px;
    background: rgba(2, 62, 138, .88);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}
.rpe-card:first-child .rpe-badge { background: var(--rpe-orange); }
.rpe-controls { display: flex; align-items: center; gap: 5px; padding: 7px; background: #fff; }
.rpe-controls button {
    display: grid;
    place-items: center;
    min-height: 30px;
    border: 0;
    border-radius: 7px;
    font: inherit;
    cursor: pointer;
}
.rpe-primary { flex: 1; padding: 3px 6px; background: #eaf2fb; color: var(--rpe-blue); font-size: 11px !important; font-weight: 700 !important; }
.rpe-primary:hover:not(:disabled) { background: #d9eafb; }
.rpe-primary:disabled { background: #fff0e4; color: #a94a00; cursor: default; }
.rpe-move, .rpe-remove { flex: 0 0 30px; width: 30px; padding: 0; font-size: 20px !important; }
.rpe-move { background: #edf4fb; color: var(--rpe-blue); cursor: grab !important; touch-action: none; user-select: none; }
.rpe-move:active { cursor: grabbing !important; }
.rpe-remove { background: #fff0ee; color: #b33b32; }
.rpe-remove:hover { background: #ffdcd8; }
.rpe-controls button:focus-visible, .rpe-add:focus-visible { outline: 2px solid var(--rpe-blue); outline-offset: 2px; }
@media (max-width: 600px) {
    .rpe-drop { flex-direction: column; align-items: stretch; min-height: 0; }
    .rpe-add { width: 100%; }
    .rpe-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .rpe-card > img { height: 136px; }
}


@media (max-width: 380px) { .rpe-list { grid-template-columns: minmax(0, 1fr); } }
