.rcgsm-saved-modal-open { overflow: hidden; }
body .rcgsm-saved-toolbar { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 0 12px; clear: both; margin: 6px 0 10px; }
.rcgsm-saved-status, .rcgsm-saved-storage { font-size: .875rem; }
body .rcgsm-saved-toolbar .rcgsm-saved-preview { margin: 0; color: #707070; font-size: .75rem; line-height: 1.4; }
.rcgsm-saved-toolbar .rcgsm-saved-status { flex-basis: 100%; text-align: right; margin: 0; }
.rcgsm-saved-status:empty, .rcgsm-saved-storage:empty { display: none; }
.rcgsm-artwork-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
body .summary .rcgsm-artwork-title-row h1.product_title { flex: 1 1 auto; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.rcgsm-saved-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: 8px; margin: 0; }
.rcgsm-saved-actions .rcgsm-saved-open { white-space: nowrap; }
.rcgsm-artwork-title-row + .rcgsm-saved-status { margin: 0 0 8px; font-size: .8125rem; }
body .rcgsm-saved-remove, body .rcgsm-saved-close, body .rcgsm-saved-clear {
    min-height: 44px; padding: 8px 12px; border: 1px solid #d9d3cc; border-radius: 4px;
    background: #fff; color: #383332; font: inherit; font-size: .9375rem; cursor: pointer; box-shadow: none;
}
body .rcgsm-saved-remove:hover, body .rcgsm-saved-close:hover, body .rcgsm-saved-clear:hover { background: #f5f3f0; color: #383332; }
body button.rcgsm-saved-open, body button.rcgsm-save-artwork {
    min-height: 44px; padding: 6px 0; border: 0; border-radius: 0; background: transparent;
    color: #64605c; font: inherit; font-size: .8125rem; font-weight: 400; line-height: 1.4;
    text-transform: none; letter-spacing: normal; text-decoration: none; cursor: pointer; box-shadow: none;
}
body button.rcgsm-saved-open:hover, body button.rcgsm-save-artwork:hover { background: transparent; color: #383332; text-decoration: underline; text-underline-offset: 3px; }
body button.rcgsm-save-artwork { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; }
body button.rcgsm-save-artwork svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
body button.rcgsm-save-artwork[aria-pressed="true"] svg { fill: currentColor; }
body .rcgsm-saved-dialog {
    box-sizing: border-box; position: fixed; inset: 0; width: min(640px, calc(100% - 32px)); max-width: 640px;
    max-height: calc(100dvh - 32px); margin: auto; padding: 24px; overflow: auto;
    border: 1px solid #ded7ce; border-radius: 8px; background: #fff; color: #282a2b;
}
.rcgsm-saved-dialog::backdrop { background: rgba(0, 0, 0, .4); }
.rcgsm-saved-dialog__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.rcgsm-saved-dialog__heading h2 { margin: 0; font-size: 1.5rem; }
.rcgsm-saved-dialog p { line-height: 1.6; }
.rcgsm-saved-dialog .rcgsm-saved-list { list-style: none; margin: 16px 0; padding: 0; }
.rcgsm-saved-item { display: grid; grid-template-columns: 80px 1fr auto; gap: 16px; align-items: center; padding: 16px 0; border-top: 1px solid #e7e2dc; }
.rcgsm-saved-item:not(:has(img:not([hidden]))) { grid-template-columns: 1fr auto; }
.rcgsm-saved-item img { display: block; width: 80px; height: 80px; object-fit: contain; }
.rcgsm-saved-item a { overflow-wrap: anywhere; color: #a33a2f; }
.rcgsm-saved-confirm { padding: 12px 0; }
.rcgsm-saved-confirm button { margin: 0 8px 8px 0; }
body .rcgsm-saved-dialog [hidden] { display: none; }
.rcgsm-saved-open:focus-visible, .rcgsm-save-artwork:focus-visible, .rcgsm-saved-dialog button:focus-visible, .rcgsm-saved-dialog a:focus-visible { outline: 2px solid #a33a2f; outline-offset: 3px; }
@media (max-width: 480px) {
    body .rcgsm-saved-dialog { padding: 16px; }
    .rcgsm-saved-item { grid-template-columns: 56px 1fr auto; gap: 10px; }
    .rcgsm-saved-item img { width: 56px; height: 64px; }
    body .rcgsm-saved-remove { padding: 8px; font-size: .875rem; }
}
