/* ---------- dialog ---------- */

.rv-overlay {
    position: fixed;
    inset: 0;
    z-index: 900;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(2, 10, 20, .62);
    backdrop-filter: blur(6px);
    animation: rv-fade .18s ease-out;
}
.rv-dialog {
    width: min(560px, 100%);
    max-height: min(88vh, 900px);
    display: flex;
    flex-direction: column;
    border-radius: var(--rv-radius-xl);
    border: 1px solid var(--rv-line);
    background: linear-gradient(160deg, color-mix(in srgb, var(--rv-club-surface) 92%, #fff 8%), var(--rv-club-bg));
    box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
    outline: none;
    animation: rv-in .24s var(--rv-ease);
}
.rv-dialog.rv-dialog-wide { width: min(820px, 100%); }
.rv-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 22px 22px 8px; }
.rv-dialog-body { padding: 10px 22px 22px; overflow-y: auto; display: grid; gap: 14px; }
.rv-dialog-foot { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; padding: 14px 22px 20px; border-top: 1px solid var(--rv-line-soft); }
@media (max-width: 640px) {
    .rv-overlay { place-items: end center; padding: 0; }
    .rv-dialog { width: 100%; max-height: 92vh; border-radius: var(--rv-radius-xl) var(--rv-radius-xl) 0 0; }
    /* the buttons share the row evenly; two long ones each take a full row instead of stepping right */
    .rv-dialog-foot > * { flex: 1 1 0; min-width: max-content; justify-content: center; }
}

/* ---------- toasts ---------- */

.rv-toasts { position: fixed; z-index: 1000; left: 50%; bottom: 24px; transform: translateX(-50%); display: grid; gap: 8px; width: min(420px, calc(100% - 32px)); }
.rv-toast {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 16px;
    border-radius: var(--rv-radius);
    border: 1px solid var(--rv-line);
    background: #13294b;
    color: var(--rv-text);
    font-size: 13px;
    font-weight: 600;
    text-align: left;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .35);
    animation: rv-in .25s var(--rv-ease);
    cursor: pointer;
}
.rv-toast-success .rv-icon { color: var(--rv-success); }
.rv-toast-error { background: #3b1720; color: #ffd5cc; }

