.session-recovery-overlay,
.session-recovery-bootstrap {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    border: 0 !important;
    padding: max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)) !important;
    color: #f8fafc;
    background: rgba(2, 6, 23, .97);
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: auto;
    overscroll-behavior: contain;
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.session-recovery-overlay::backdrop { background: #020617; }
.session-recovery-card { width: 100%; max-width: 480px; margin: auto; padding: 28px; border: 1px solid #475569; border-radius: 12px; background: #142335; color: #f8fafc; overflow-wrap: anywhere; }
.session-recovery-card .session-recovery-title { margin: 0 0 16px; color: #fff; font-size: 1.5rem; line-height: 1.3; }
.session-recovery-card p { margin: 0 0 16px; line-height: 1.55; }
.session-recovery-status { color: #cbd5e1; min-height: 3em; }
.session-recovery-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.session-recovery-card button, .session-recovery-bootstrap button { min-height: 44px; padding: 10px 18px; border: 1px solid #cbd5e1; border-radius: 6px; background: transparent; color: #fff; font: inherit; cursor: pointer; }
.session-recovery-card .session-recovery-primary { color: #102136; background: #e2f2ff; }
.session-recovery-card button:disabled { cursor: progress; opacity: .65; }
.session-recovery-card button:focus-visible { outline: 3px solid #7dd3fc; outline-offset: 3px; }
[data-recovery-ready] > .session-recovery-bootstrap { display: none !important; }
.session-recovery-loading { display: flex; justify-content: center; padding: 20vh 20px; }
.session-recovery-slow { position: fixed; bottom: max(12px, env(safe-area-inset-bottom)); left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); z-index: 2000; width: fit-content; max-width: 560px; margin: 0 auto; padding: 10px 16px; border: 1px solid #64748b; border-radius: 6px; background: #142335; color: #fff; font: 14px/1.5 system-ui, sans-serif; pointer-events: none; }
@supports (height: 100dvh) { .session-recovery-overlay, .session-recovery-bootstrap { height: 100dvh !important; } }
@media (max-width: 480px) { .session-recovery-card { padding: 22px 18px; } }
