/* Session timeout: the server is authoritative; this UI only warns and explains. */
#sessionExpiryDialog { box-sizing:border-box; width:min(540px,calc(100vw - 32px)); max-height:calc(100vh - 32px); overflow:auto; padding:0; border:1px solid #cbd9e8; border-radius:18px; background:#fff; color:#10284b; box-shadow:0 26px 70px rgba(4,27,68,.28); }
#sessionExpiryDialog::backdrop { background:rgba(4,21,50,.52); backdrop-filter:blur(3px); }
.session-expiry-card { display:grid; gap:18px; padding:28px; }
.session-expiry-illustration { display:grid; place-items:center; width:78px; height:78px; border-radius:22px; background:linear-gradient(145deg,#eaf5ff,#edf8f6); color:#0b61d9; }
.session-expiry-illustration svg { width:64px; height:64px; }
.session-expiry-orbit { stroke:#a9c5e9; stroke-width:3; stroke-dasharray:4 5; }
.session-expiry-tick { stroke:#6f9ed6; stroke-width:3; stroke-linecap:round; }
.session-expiry-clock { fill:#fff; stroke:currentColor; stroke-width:4; }
.session-expiry-hand { stroke:#0a745f; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.session-expiry-shield { stroke:#0a745f; stroke-width:3; stroke-linecap:round; }
.session-expiry-kicker,.session-ended-notice > div > p { margin:0 0 5px; color:#007f78; font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.session-expiry-copy h2 { margin:0; color:#10284b; font-family:var(--pg-font-heading); font-size:32px; line-height:1.08; }
.session-expiry-copy p:not(.session-expiry-kicker),.session-expiry-save-note { margin:9px 0 0; color:#526b88; font-size:14px; line-height:1.55; }
.session-expiry-countdown { display:grid; gap:7px; padding:16px 18px; border:1px solid #cbdff3; border-radius:12px; background:#f5f9ff; }
.session-expiry-countdown span { color:#526b88; font-size:12px; font-weight:780; }
.session-expiry-countdown strong { color:#0e3f81; font-size:38px; font-variant-numeric:tabular-nums; letter-spacing:.04em; line-height:1; }
.session-expiry-meter { height:6px; overflow:hidden; border-radius:99px; background:#dae6f3; }
.session-expiry-meter i { display:block; width:100%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#0b9b83,#007f78); transition:width .9s linear; }
.session-expiry-card [data-network] { min-height:0; margin:0; color:#b64c20; font-size:12px; line-height:1.4; }
.session-expiry-card footer { display:flex; flex-wrap:wrap; gap:10px; }
.session-expiry-card footer button { min-height:44px; padding:0 16px; border-radius:8px; font:700 14px/1 inherit; }
.session-expiry-stay { border:1px solid #007f78; background:#007f78; color:#fff; }
.session-expiry-signout { border:1px solid #b8c8da; background:#fff; color:#183d69; }
