.portal-unsaved {
    position: fixed; inset: 0; z-index: 2147483000;
    display: flex; align-items: flex-start; justify-content: center;
    padding: clamp(24px, 10vh, 96px) 16px 24px; overflow-y: auto;
    background: rgba(0,0,0,.65); color: var(--portal-text, #EDEDED);
    font-family: 'Satoshi Variable', 'Satoshi', sans-serif;
}
.portal-unsaved__dialog { width: 100%; max-width: 460px; border: 1px solid #464649; border-radius: 12px; background: #282828; box-shadow: 0 20px 64px #0008; }
.portal-unsaved__header { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--portal-border, #3C3C3C); }
.portal-unsaved__header h2 { margin: 0; flex: 1; color: var(--portal-text, #EDEDED); font: 600 18px/1.35 'Satoshi Variable', 'Satoshi', sans-serif; letter-spacing: normal; text-transform: none; }
.portal-unsaved__icon { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border: 1px solid #b59a6355; border-radius: 8px; color: #d5bd8a; background: #b59a6318; font-weight: 700; }
.portal-unsaved__dialog p { margin: 0; padding: 20px; color: #c9c9c9; font-size: 14px; line-height: 1.6; }
.portal-unsaved__footer { padding: 0 20px 20px; display: flex; flex-direction: column-reverse; gap: 10px; }
.portal-unsaved button { min-height: 44px; padding: 10px 14px; border: 1px solid #555; border-radius: 8px; font: 600 14px/1.3 'Satoshi Variable', 'Satoshi', sans-serif; cursor: pointer; letter-spacing: normal; }
.portal-unsaved .portal-unsaved__keep { background: #567c5b; color: #fff; border-color: #567c5b; }
.portal-unsaved .portal-unsaved__leave { background: transparent; color: #efb2ad; border-color: #956761; }
.portal-unsaved .portal-unsaved__close { width: 44px; padding: 0; flex: none; color: #e58c86; background: transparent; font-size: 24px; }
.portal-unsaved button:focus-visible { outline: 2px solid #afc9b2; outline-offset: 3px; }
.portal-unsaved button:hover { filter: brightness(1.12); }
@media (min-width: 480px) { .portal-unsaved__footer { flex-direction: row; justify-content: flex-end; } }
