.psx-dialog {
    width: min(440px, calc(100% - 32px));
    max-height: calc(100dvh - 48px);
    margin: auto;
    padding: 0;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: #fff;
    color: #222;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .22);
}
.psx-dialog::backdrop {
    background: rgba(18, 24, 32, .48);
    backdrop-filter: blur(3px);
}
.psx-dialog-content { padding: 30px; }
.psx-dialog-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 20px;
    border-radius: 14px;
    background: #f3f4f6;
    color: #555;
    font-size: 24px;
}
.psx-dialog[data-kind="confirm"] .psx-dialog-icon { background: #fff0f0; color: #b44747; }
.psx-dialog h3 { margin: 0 0 10px; font-size: 21px; font-weight: 600; }
.psx-dialog p { margin: 0; color: #6b7280; line-height: 1.65; white-space: pre-line; overflow-wrap: anywhere; }
.psx-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 28px; }
.psx-dialog-actions .btn { min-height: 44px; padding: 10px 20px; border-radius: 9px; }
.psx-dialog-actions .btn:focus-visible { outline: 3px solid #555; outline-offset: 3px; }
.psx-dialog [hidden] { display: none !important; }
@media (max-width: 480px) {
    .psx-dialog-content { padding: 24px; }
    .psx-dialog-actions .btn { flex: 1; }
}

/* Opt-in presentation only; no-intent/danger callers retain the existing dialog. */
.psx-dialog[data-kind="confirm"][data-intent="positive"] .psx-dialog-icon { background: #e8f3ed; color: #155e4e; }
.psx-dialog[data-intent="positive"] #psx-dialog-accept { background: #197c6c; border-color: #197c6c; color: #fff; }
.psx-dialog[data-intent="positive"] #psx-dialog-accept:hover { background: #125e52; border-color: #125e52; }
.psx-dialog[data-kind="confirm"][data-intent="neutral"] .psx-dialog-icon { background: #f0f2f1; color: #526159; }
.psx-dialog[data-intent="neutral"] #psx-dialog-accept { background: #526159; border-color: #526159; color: #fff; }
.psx-dialog[data-intent="neutral"] #psx-dialog-accept:hover { background: #3e4b44; border-color: #3e4b44; }
.psx-dialog[data-kind="confirm"][data-intent="warning"] .psx-dialog-icon { background: #fbf2dd; color: #795515; }
.psx-dialog[data-intent="warning"] #psx-dialog-accept { background: #f4e7c9; border-color: #c8a15b; color: #65470e; }
.psx-dialog[data-intent="warning"] #psx-dialog-accept:hover { background: #eddbb2; border-color: #a78340; }