.session-recovery-dialog {
    width: min(92vw, 480px);
    max-height: 90dvh;
    overflow: auto;
    padding: 0;
    border: 1px solid var(--a-border, var(--line, #d8e1ea));
    border-radius: 22px;
    background: var(--a-panel, var(--panel, #fff));
    color: var(--a-text, var(--ink, #172033));
    box-shadow: 0 28px 80px rgb(10 18 35 / 28%);
    font: inherit;
}
.session-recovery-dialog::backdrop { background: rgb(8 15 28 / 66%); }
.session-recovery-card { padding: clamp(20px, 5vw, 32px); }
.session-recovery-icon { display: inline-grid; place-items: center; width: 44px; height: 44px; background: #fff3da; color: #775009; border-radius: 14px; font-size: 28px; }
.session-recovery-card h2 { margin: 18px 0 12px; font-size: 1.4rem; line-height: 1.25; }
.session-recovery-card p { font-size: .9rem; line-height: 1.6; overflow-wrap: anywhere; }
.session-recovery-warning { padding: 14px; border-radius: 12px; background: var(--a-bg, var(--bg, #f3f6fa)); }
.session-recovery-payment { color: var(--a-muted, var(--muted, #526277)); font-size: .8rem !important; }
.session-recovery-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; }
.session-recovery-actions a, .session-recovery-actions button { display: block; border: 1px solid var(--a-border, var(--line, #d8e1ea)); border-radius: 10px; padding: 12px 14px; font: inherit; font-weight: 600; text-align: center; white-space: normal; cursor: pointer; text-decoration: none; }
.session-recovery-actions a { background: var(--theme-accent, #008577); color: #fff; }
.session-recovery-actions button { background: transparent; color: inherit; }
.session-recovery-actions :focus-visible { outline: 3px solid var(--theme-accent, #008577); outline-offset: 3px; }
.session-recovery-actions [hidden] { display: none; }
