.ecla-report-trigger {
    display : inline-flex;
    align-items : center;
    gap : 6px;
    margin-top : 14px;
    padding : 8px 14px;
    min-height : 40px;
    border : 1px solid #c62828;
    border-radius : 8px;
    background : transparent;
    color : #c62828;
    font-size : 0.82rem;
    font-weight : 600;
    line-height : 1.25;
    cursor : pointer;
    text-align : left;
}
.ecla-report-trigger:hover,
.ecla-report-trigger:focus-visible {
    background : #c62828;
    color : #fff;
}
.ecla-report-trigger-note {
    margin : 6px 0 0;
    font-size : 0.72rem;
    line-height : 1.4;
    color : #777;
}
#ecla-marketplace-wrapper.dark-mode .ecla-report-trigger {
    border-color : #ef5350;
    color : #ef5350;
}
#ecla-marketplace-wrapper.dark-mode .ecla-report-trigger:hover,
#ecla-marketplace-wrapper.dark-mode .ecla-report-trigger:focus-visible {
    background : #ef5350;
    color : #1a1a2e;
}
#ecla-marketplace-wrapper.dark-mode .ecla-report-trigger-note {
    color : #9e9e9e;
}
.ecla-report-overlay .ecla-modal-content {
    max-width : 620px;
}
.ecla-report-overlay .ecla-modal-body {
    padding : 0 18px 18px;
}
.ecla-report-form h2,
.ecla-report-done h2,
.ecla-report-guest-content h2 {
    margin : 0 0 10px;
    font-size : 1.15rem;
    line-height : 1.3;
    color : #c62828;
}
.ecla-report-target {
    margin : 0 0 10px;
    font-size : 0.9rem;
    line-height : 1.4;
}
.ecla-report-warn {
    margin : 0 0 16px;
    padding : 10px 12px;
    border-left : 4px solid #f9a825;
    border-radius : 6px;
    background : #fff8e1;
    font-size : 0.8rem;
    line-height : 1.5;
    color : #6d4c00;
}
.ecla-report-groups {
    display : grid;
    gap : 14px;
    margin-bottom : 18px;
}
.ecla-report-group {
    margin : 0;
    padding : 12px 12px 8px;
    border : 1px solid var(--border-color, #ddd);
    border-left-width : 5px;
    border-radius : 8px;
    min-width : 0;
}
.ecla-report-group--minor {
    border-left-color : #78909c;
}
.ecla-report-group--serious {
    border-left-color : #f9a825;
}
.ecla-report-group--fraud {
    border-left-color : #ef6c00;
}
.ecla-report-group--criminal {
    border-left-color : #b71c1c;
}
.ecla-report-group-legend {
    display : block;
    padding : 0 6px;
    max-width : 100%;
}
.ecla-report-group-name {
    display : block;
    font-size : 0.92rem;
    font-weight : 700;
    line-height : 1.3;
}
.ecla-report-group-conseq {
    display : block;
    margin-top : 2px;
    font-size : 0.74rem;
    font-weight : 400;
    line-height : 1.4;
    color : #666;
}
.ecla-report-reason {
    display : flex;
    align-items : flex-start;
    gap : 10px;
    padding : 9px 4px;
    min-height : 44px;
    box-sizing : border-box;
    cursor : pointer;
    font-size : 0.85rem;
    line-height : 1.4;
}
.ecla-report-reason + .ecla-report-reason {
    border-top : 1px solid rgba(0, 0, 0, 0.06);
}
.ecla-report-check {
    flex : 0 0 auto;
    width : 20px;
    height : 20px;
    margin : 2px 0 0;
    accent-color : #c62828;
}
.ecla-report-reason-label {
    flex : 1 1 auto;
    min-width : 0;
    overflow-wrap : break-word;
}
.ecla-report-field {
    margin-bottom : 16px;
}
.ecla-report-label {
    display : block;
    margin-bottom : 6px;
    font-size : 0.85rem;
    font-weight : 600;
    line-height : 1.35;
}
.ecla-report-textarea {
    display : block;
    width : 100%;
    padding : 10px;
    border : 1px solid var(--border-color, #ddd);
    border-radius : 8px;
    box-sizing : border-box;
    font : inherit;
    font-size : 0.88rem;
    line-height : 1.45;
    resize : vertical;
}
.ecla-report-counter {
    margin-top : 4px;
    text-align : right;
    font-size : 0.72rem;
    color : #777;
}
.ecla-report-files {
    display : block;
    width : 100%;
    max-width : 100%;
    font-size : 0.82rem;
}
.ecla-report-hint {
    margin : 6px 0 0;
    font-size : 0.74rem;
    line-height : 1.45;
    color : #777;
}
.ecla-report-previews {
    display : flex;
    flex-wrap : wrap;
    gap : 8px;
    margin : 10px 0 0;
    padding : 0;
    list-style : none;
}
.ecla-report-preview {
    position : relative;
    width : 76px;
    height : 76px;
    border-radius : 8px;
    overflow : hidden;
    border : 1px solid var(--border-color, #ddd);
}
.ecla-report-preview img {
    width : 100%;
    height : 100%;
    object-fit : cover;
    display : block;
}
.ecla-report-preview-remove {
    position : absolute;
    top : 2px;
    right : 2px;
    width : 26px;
    height : 26px;
    border : 0;
    border-radius : 50%;
    background : rgba(0, 0, 0, 0.62);
    color : #fff;
    font-size : 1rem;
    line-height : 1;
    cursor : pointer;
}
.ecla-report-error {
    margin : 0 0 12px;
    padding : 10px 12px;
    border-radius : 6px;
    background : #ffebee;
    color : #b71c1c;
    font-size : 0.82rem;
    line-height : 1.45;
}
.ecla-report-error[hidden] {
    display : none;
}
.ecla-report-actions {
    display : flex;
    flex-direction : column-reverse;
    gap : 10px;
    position : sticky;
    bottom : 0;
    padding : 12px 0 4px;
    background : #fff;
}
.ecla-report-actions .ecla-btn {
    width : 100%;
    min-height : 46px;
}
.ecla-report-submit {
    background : #c62828;
    border : 1px solid #c62828;
    color : #fff;
    font-weight : 700;
}
.ecla-report-submit:hover:not(:disabled),
.ecla-report-submit:focus-visible:not(:disabled) {
    background : #a01b1b;
    border-color : #a01b1b;
}
.ecla-report-submit:disabled {
    opacity : 0.6;
    cursor : progress;
}
.ecla-report-done[hidden],
.ecla-report-form[hidden] {
    display : none;
}
.ecla-report-ref strong {
    font-size : 1.05rem;
    letter-spacing : 0.04em;
}
.ecla-report-done-conseq {
    padding : 10px 12px;
    border-left : 4px solid #c62828;
    border-radius : 6px;
    background : #ffebee;
    font-size : 0.84rem;
    line-height : 1.5;
    color : #7f1d1d;
}
.ecla-report-guest-content .ecla-modal-body p {
    font-size : 0.88rem;
    line-height : 1.55;
}
body.ecla-report-open {
    overflow : hidden;
}
#ecla-marketplace-wrapper.dark-mode .ecla-report-group {
    border-color : #2a2a4a;
}
#ecla-marketplace-wrapper.dark-mode .ecla-report-group-conseq,
#ecla-marketplace-wrapper.dark-mode .ecla-report-counter,
#ecla-marketplace-wrapper.dark-mode .ecla-report-hint {
    color : #9e9e9e;
}
@media (min-width: 600px) {
    .ecla-report-actions {
        flex-direction : row;
        justify-content : flex-end;
    }
    .ecla-report-actions .ecla-btn {
        width : auto;
        min-width : 150px;
    }
    .ecla-report-groups {
        gap : 16px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .ecla-report-overlay,
    .ecla-report-overlay * {
        transition : none !important;
        animation : none !important;
    }
}
