.kr-mobile-save {
    width: min(520px, calc(100% - 24px));
    max-height: min(90vh, 820px);
    max-height: min(90svh, 820px);
    margin: auto;
    padding: 22px;
    border: 0;
    border-radius: 16px;
    background: var(--surface-raised, #fff);
    color: var(--kr-dark, #172033);
    font: inherit;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.kr-mobile-save::backdrop { background: rgba(7, 11, 29, .72); }
.kr-mobile-save-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.kr-mobile-save-heading h2 { margin: 0; font-size: 1.25rem; font-weight: 600; }
.kr-mobile-save button { font: inherit; cursor: pointer; min-height: 44px; border-radius: 10px; }
.kr-mobile-save-close { padding: 8px 12px; border: 1px solid #D6CCBA; color: #172033; background: #fff; }
.kr-mobile-save-count { margin: 8px 0 14px; color: #586174; font-size: .875rem; }
.kr-mobile-save-preview {
    display: block; width: 100%; max-height: 40vh; max-height: 40svh;
    object-fit: contain; background: #F8F8F7; border-radius: 8px;
    -webkit-touch-callout: default; user-select: auto;
}
.kr-mobile-save-preview[hidden] { display: none; }
.kr-mobile-save-status { margin: 18px 0; font-size: 1rem; line-height: 1.6; overflow-wrap: anywhere; }
.kr-mobile-save-actions { display: flex; flex-direction: column; gap: 10px; }
.kr-mobile-save-primary { padding: 12px 18px; background: #172033; color: #fff; border: 0; font-weight: 600 !important; }
.kr-mobile-save-primary:hover { background: #293650; }
.kr-mobile-save-secondary { padding: 10px 14px; background: #fff; border: 1px solid #D6CCBA; color: #172033; }
.kr-mobile-save-secondary[hidden] { display: none; }
.kr-mobile-save button:disabled { opacity: .6; cursor: wait; }
.kr-mobile-save button:focus-visible { outline: 3px solid #A98445; outline-offset: 3px; }
@media (max-width: 480px) {
    .kr-mobile-save { padding: 18px; }
}
