.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) {
    border-radius: 20px;
    overflow: visible;
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog)::backdrop {
    background: rgba(20, 38, 33, 0.34);
    -webkit-backdrop-filter: blur(10px) saturate(120%);
    backdrop-filter: blur(10px) saturate(120%);
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-panel {
    position: relative;
    isolation: isolate;
    overflow-x: hidden;
    overflow-y: auto;
    gap: 1.05rem;
    border: 1px solid transparent;
    border-radius: 20px;
    background:
        linear-gradient(155deg, rgba(253, 255, 254, 0.9), rgba(240, 249, 245, 0.74)) padding-box,
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(188, 222, 210, 0.38) 48%, rgba(255, 255, 255, 0.78)) border-box;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.97),
        inset 0 -1px 0 rgba(76, 125, 108, 0.05),
        0 28px 72px rgba(23, 64, 51, 0.15),
        0 4px 14px rgba(23, 64, 51, 0.055);
    -webkit-backdrop-filter: blur(28px) saturate(145%);
    backdrop-filter: blur(28px) saturate(145%);
    padding: 1.35rem;
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(circle at 14% 7%, rgba(194, 236, 221, 0.26), transparent 32%),
        radial-gradient(circle at 88% 78%, rgba(215, 229, 244, 0.18), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), transparent 34%);
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-panel::after {
    content: '';
    position: absolute;
    top: 0.85rem;
    left: 8%;
    right: 8%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.95), transparent);
    pointer-events: none;
    opacity: 0.92;
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-heading {
    position: relative;
    align-items: flex-start;
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-heading p {
    margin-top: 0.28rem;
    margin-bottom: 0;
    max-width: 48ch;
    color: var(--muted);
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-close {
    background:
        linear-gradient(rgba(255, 255, 255, 0.72), rgba(248, 253, 250, 0.62)) padding-box,
        var(--glass-edge) border-box;
    border: 1px solid transparent;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.82),
        0 8px 22px rgba(23, 64, 51, 0.06),
        0 2px 6px rgba(23, 64, 51, 0.03);
    -webkit-backdrop-filter: blur(14px) saturate(130%);
    backdrop-filter: blur(14px) saturate(130%);
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-close:hover {
    background:
        linear-gradient(rgba(255, 255, 255, 0.82), rgba(242, 251, 246, 0.72)) padding-box,
        var(--glass-edge-hover) border-box;
    border-color: transparent;
    color: var(--primary-dark);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.88),
        0 10px 26px rgba(23, 64, 51, 0.075),
        0 3px 8px rgba(23, 64, 51, 0.038);
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-close:focus-visible {
    outline: none;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.88),
        0 0 0 4px rgba(23, 107, 90, 0.12),
        0 10px 26px rgba(23, 64, 51, 0.075);
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-panel > hr {
    border: 0;
    height: 1px;
    margin: 0.05rem 0;
    background: linear-gradient(90deg, rgba(186, 205, 197, 0), rgba(186, 205, 197, 0.92), rgba(186, 205, 197, 0));
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-panel :is(
    input[type='text'],
    input[type='email'],
    input[type='password'],
    input[type='search'],
    input[type='number'],
    input[type='date'],
    input[type='time'],
    textarea,
    select
) {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(126, 170, 154, 0.24);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-panel :is(
    input[type='text'],
    input[type='email'],
    input[type='password'],
    input[type='search'],
    input[type='number'],
    input[type='date'],
    input[type='time'],
    textarea,
    select
):focus {
    border-color: rgba(93, 157, 135, 0.34);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.92),
        0 0 0 4px rgba(23, 107, 90, 0.08);
}

.modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-panel textarea {
    min-height: 6.5rem;
}

@media (max-width: 640px) {
    .modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) {
        width: min(100vw - 1rem, 680px);
        max-height: calc(100dvh - 1rem);
    }

    .modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-panel {
        border-radius: 18px;
        padding: 1.1rem;
        -webkit-backdrop-filter: blur(22px) saturate(138%);
        backdrop-filter: blur(22px) saturate(138%);
    }
}

@media (prefers-reduced-transparency: reduce) {
    .modal-dialog:not(.beta-access-dialog):not(.session-start-dialog)::backdrop,
    .modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-panel,
    .modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-close {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .modal-dialog:not(.beta-access-dialog):not(.session-start-dialog) .modal-panel {
        background: #f9fcfa;
    }
}
