:root {
    --modal-stack-base-z: 10000;
    --modal-stack-overlay-z: 10010;
    --modal-stack-top-z: 10020;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
    z-index: var(--modal-stack-overlay-z);
}

.modal-backdrop.modal-backdrop--active {
    opacity: 1;
}

.modal-stack-item {
    z-index: var(--modal-stack-base-z);
}

.modal-stack-item.modal-stack-top {
    z-index: var(--modal-stack-top-z);
}

.modal-stack-item.modal-stack-occluded {
    pointer-events: none;
}

.modal,
.pm-overlay,
.pm-confirm-overlay,
.cfm-modal {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    z-index: var(--modal-stack-base-z);
}
