.payup-result-modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-modal);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    height: 100dvh;
    padding: var(--spacing-24);
    background-color: rgba(15, 23, 42, 0.58);
}
.payup-result-modal[hidden] {display: none;}
.payup-result-dialog {
    box-sizing: border-box;
    width: 100%;
    max-width: 450px;
    max-height: 100%;
    overflow-y: auto;
    padding: var(--spacing-32);
    border-radius: var(--radius-xl);
    background-color: var(--color-bg-white);
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.24);
    text-align: center;
    overflow-wrap: anywhere;
}
.payup-result-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0 auto var(--spacing-24);
    border-radius: var(--radius-full);
    background-color: var(--color-primary-light);
    color: var(--color-primary);
}
.payup-result-icon svg {width: var(--icon-size-lg); height: var(--icon-size-lg);}
.payup-result-modal[data-result-state="error"] .payup-result-icon {
    background-color: color-mix(in srgb, var(--color-error) 10%, white);
    color: #DC2626;
}
.payup-result-title {
    margin: 0;
    color: var(--color-text-primary);
    font-size: var(--font-size-h4);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
}
.payup-result-description {
    margin: var(--spacing-12) 0 0;
    color: var(--color-text-body);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-loose);
}
.payup-result-description span {display: block;}
.payup-result-confirm {
    width: 100%;
    height: var(--paytest-action-min-height);
    margin-top: var(--spacing-24);
    padding: 0 var(--spacing-20);
    font-size: var(--font-size-ui);
    font-weight: var(--font-weight-bold);
}
.payup-result-confirm:focus-visible {outline: 0; box-shadow: 0 0 0 4px var(--color-primary-10);}
@media (max-width: 768px) {
    .payup-result-modal {padding: var(--spacing-20);}
}

@media (prefers-reduced-motion: reduce) {
    .payup-result-confirm {transition: none;}
}
