.pp-review-modal {
    position: fixed;
    inset: 0;
    z-index: 2147483600;
    display: none;
    align-items: center;
    justify-content: center;
    padding: max(18px, env(safe-area-inset-top, 0px)) 18px max(18px, env(safe-area-inset-bottom, 0px));
    background: rgba(8, 12, 16, 0.46);
}

.pp-review-modal.is-visible {
    display: flex;
}

.pp-review-dialog {
    width: min(100%, 420px);
    max-height: min(92vh, 620px);
    overflow: auto;
    box-sizing: border-box;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 8px;
    background: var(--container-bg, #fff);
    color: var(--text-primary, #111827);
    box-shadow: 0 20px 58px rgba(8, 12, 16, 0.24);
    padding: 22px;
    font-family: Poppins, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.pp-review-title {
    margin: 0;
    font-size: 1.28rem;
    line-height: 1.25;
    font-weight: 700;
    color: var(--text-primary, #111827);
}

.pp-review-body {
    margin: 10px 0 0;
    color: var(--text-secondary, #5b6472);
    font-size: 0.96rem;
    line-height: 1.48;
}

.pp-review-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 18px;
}

.pp-review-button {
    min-height: 44px;
    border: 1px solid rgba(17, 24, 39, 0.12);
    border-radius: 8px;
    padding: 10px 14px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.pp-review-button:focus-visible,
.pp-review-reason:focus-visible,
.pp-review-textarea:focus-visible {
    outline: 3px solid rgba(254, 129, 21, 0.35);
    outline-offset: 2px;
}

.pp-review-button:active {
    transform: translateY(1px);
}

.pp-review-button--primary {
    border-color: #fe8115;
    background: #fe8115;
    color: #fff;
}

.pp-review-button--primary:hover {
    background: #ec7206;
    box-shadow: 0 10px 20px rgba(254, 129, 21, 0.18);
}

.pp-review-button--secondary {
    background: var(--container-bg, #fff);
    color: var(--text-primary, #111827);
}

.pp-review-button--secondary:hover {
    background: rgba(17, 24, 39, 0.04);
}

.pp-review-feedback {
    display: none;
}

.pp-review-modal[data-step="feedback"] .pp-review-gate,
.pp-review-modal[data-step="thanks"] .pp-review-gate,
.pp-review-modal[data-step="thanks"] .pp-review-feedback {
    display: none;
}

.pp-review-modal[data-step="feedback"] .pp-review-feedback {
    display: block;
}

.pp-review-reasons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 14px;
}

.pp-review-reason {
    min-height: 36px;
    border: 1px solid rgba(17, 24, 39, 0.14);
    border-radius: 8px;
    background: rgba(17, 24, 39, 0.03);
    color: var(--text-primary, #111827);
    padding: 7px 9px;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.18;
    cursor: pointer;
    transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease;
}

.pp-review-reason.is-selected,
.pp-review-reason[aria-pressed="true"] {
    border-color: #fe8115;
    background: rgba(254, 129, 21, 0.12);
    color: #c45700;
}

.pp-review-label {
    display: block;
    margin-top: 14px;
    color: var(--text-primary, #111827);
    font-size: 0.88rem;
    font-weight: 700;
}

.pp-review-textarea {
    width: 100%;
    min-height: 74px;
    box-sizing: border-box;
    margin-top: 8px;
    resize: vertical;
    border: 1px solid rgba(17, 24, 39, 0.16);
    border-radius: 8px;
    background: var(--container-bg, #fff);
    color: var(--text-primary, #111827);
    padding: 10px 12px;
    font: inherit;
    line-height: 1.45;
}

.pp-review-error {
    min-height: 16px;
    margin-top: 8px;
    color: #b42318;
    font-size: 0.82rem;
}

@media (max-width: 420px) {
    .pp-review-modal {
        padding: max(12px, env(safe-area-inset-top, 0px)) 12px max(12px, env(safe-area-inset-bottom, 0px));
    }

    .pp-review-dialog {
        padding: 18px;
    }

    .pp-review-title {
        font-size: 1.18rem;
    }

    .pp-review-body {
        margin-top: 8px;
        font-size: 0.9rem;
        line-height: 1.42;
    }

    .pp-review-actions {
        margin-top: 14px;
    }
}

.pp-review-thanks {
    display: none;
}

.pp-review-modal[data-step="thanks"] .pp-review-thanks {
    display: block;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .pp-review-dialog {
        border-color: rgba(255, 255, 255, 0.12);
        background: #1f2227;
        color: #f6f7f9;
    }

    :root:not([data-theme="light"]) .pp-review-title,
    :root:not([data-theme="light"]) .pp-review-button--secondary,
    :root:not([data-theme="light"]) .pp-review-label,
    :root:not([data-theme="light"]) .pp-review-reason,
    :root:not([data-theme="light"]) .pp-review-textarea {
        color: #f6f7f9;
    }

    :root:not([data-theme="light"]) .pp-review-body {
        color: #c5ccd6;
    }

    :root:not([data-theme="light"]) .pp-review-button--secondary,
    :root:not([data-theme="light"]) .pp-review-reason,
    :root:not([data-theme="light"]) .pp-review-textarea {
        border-color: rgba(255, 255, 255, 0.16);
        background: #272b31;
    }

    :root:not([data-theme="light"]) .pp-review-reason.is-selected,
    :root:not([data-theme="light"]) .pp-review-reason[aria-pressed="true"] {
        border-color: #fe8115;
        background: rgba(254, 129, 21, 0.18);
        color: #ffd2ac;
    }
}

:root[data-theme="dark"] .pp-review-dialog {
    border-color: rgba(255, 255, 255, 0.12);
    background: #1f2227;
    color: #f6f7f9;
}

:root[data-theme="dark"] .pp-review-title,
:root[data-theme="dark"] .pp-review-button--secondary,
:root[data-theme="dark"] .pp-review-label,
:root[data-theme="dark"] .pp-review-reason,
:root[data-theme="dark"] .pp-review-textarea {
    color: #f6f7f9;
}

:root[data-theme="dark"] .pp-review-body {
    color: #c5ccd6;
}

:root[data-theme="dark"] .pp-review-button--secondary,
:root[data-theme="dark"] .pp-review-reason,
:root[data-theme="dark"] .pp-review-textarea {
    border-color: rgba(255, 255, 255, 0.16);
    background: #272b31;
}

:root[data-theme="dark"] .pp-review-reason.is-selected,
:root[data-theme="dark"] .pp-review-reason[aria-pressed="true"] {
    border-color: #fe8115;
    background: rgba(254, 129, 21, 0.18);
    color: #ffd2ac;
}
