/* Import controls inherit the same theme and typography as their host editor. */
.memory-import-entry {margin-top:var(--ds-space-3); font:var(--ds-font-size-bodySm)/var(--ds-line-height-bodySm) var(--ds-font-sans); color:var(--ds-ink-soft);}
.memory-import-entry p {margin:var(--ds-space-2) 0;}
.memory-import-open {display:flex; gap:var(--ds-space-2); align-items:center; justify-content:center; width:100%; min-height:44px; border:1px solid var(--ds-brand); border-radius:var(--ds-radius-sm); background:var(--ds-surface); color:var(--ds-link); font:600 var(--ds-font-size-label)/var(--ds-line-height-label) var(--ds-font-sans); cursor:pointer;}
.memory-import-dialog {width:min(720px,calc(100% - 32px)); max-height:calc(100dvh - 40px); box-sizing:border-box; padding:var(--ds-space-6); border:1px solid var(--ds-line); border-radius:var(--ds-radius-xl); background:var(--ds-card); color:var(--ds-ink); font:var(--ds-font-size-body)/var(--ds-line-height-body) var(--ds-font-sans); box-shadow:var(--ds-shadow-elevated); overflow:auto;}
.memory-import-dialog::backdrop {background:var(--ds-overlay);}
.memory-import-header {display:flex; gap:var(--ds-space-4); align-items:flex-start; justify-content:space-between;}
.memory-import-header h2 {margin:var(--ds-space-1) 0; font:600 var(--ds-font-size-h2)/var(--ds-line-height-h2) var(--ds-font-display);}
.memory-import-eyebrow {font-size:var(--ds-font-size-overline); line-height:var(--ds-line-height-overline); letter-spacing:.09em; font-weight:700; color:var(--ds-link); margin:0;}
.memory-import-dialog button {font:inherit; cursor:pointer; min-height:44px; border-radius:var(--ds-radius-sm);}
.memory-import-dialog button:disabled {cursor:default; opacity:.5;}
.memory-import-dialog [data-import-close] {border:0; background:var(--ds-surface); width:44px; flex-shrink:0; font-size:26px; line-height:1; color:var(--ds-ink);}
.memory-import-intro {color:var(--ds-ink-soft); margin:var(--ds-space-4) 0 var(--ds-space-5);}
.memory-import-sources {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ds-space-2);}
.memory-import-sources button {padding:var(--ds-space-3); background:var(--ds-card); border:1px solid var(--ds-input-border); color:var(--ds-ink);}
.memory-import-sources button[aria-pressed=true] {border-color:var(--ds-brand); background:var(--ds-surface); color:var(--ds-link); box-shadow:inset 0 0 0 1px var(--ds-brand);}
.memory-import-help {padding:var(--ds-space-4); background:var(--ds-surface); border-radius:var(--ds-radius-md); margin:var(--ds-space-4) 0;}
.memory-import-help h3 {font-size:var(--ds-font-size-body); line-height:var(--ds-line-height-body); margin:0 0 var(--ds-space-2);}
.memory-import-help p {margin:var(--ds-space-2) 0;}
.memory-import-upload {position:relative; display:flex; flex-direction:column; gap:var(--ds-space-3); align-items:center; padding:var(--ds-space-5); border:1px dashed var(--ds-brand); border-radius:var(--ds-radius-md); background:var(--ds-surface); font-weight:600; color:var(--ds-link);}
.memory-import-upload input {max-width:100%; font:inherit; color:var(--ds-ink);}
.memory-import-note {font-size:var(--ds-font-size-caption); line-height:var(--ds-line-height-caption); color:var(--ds-ink-soft); overflow-wrap:anywhere;}
.memory-import-candidates {max-height:40dvh; overflow:auto; border-top:1px solid var(--ds-line); border-bottom:1px solid var(--ds-line);}
.memory-import-candidate {display:flex; gap:var(--ds-space-3); padding:var(--ds-space-4) var(--ds-space-1); border-bottom:1px solid var(--ds-line); cursor:pointer;}
.memory-import-candidate:last-child {border:0;}
.memory-import-candidate p {margin:var(--ds-space-1) 0;}
.memory-import-candidate strong {overflow-wrap:anywhere;}
.memory-import-candidate input,.memory-import-rights input {width:20px; height:20px; margin:var(--ds-space-1) 0 0; flex-shrink:0; accent-color:var(--ds-brand);}
.memory-import-excerpt {font-size:var(--ds-font-size-bodySm); line-height:var(--ds-line-height-bodySm); white-space:pre-wrap; overflow-wrap:anywhere;}
.memory-import-rights {display:flex; gap:var(--ds-space-3); align-items:flex-start; margin:var(--ds-space-4) 0;}
.memory-import-actions {display:flex; gap:var(--ds-space-3); flex-wrap:wrap; justify-content:space-between;}
.memory-import-primary,.memory-import-secondary {padding:var(--ds-space-3) var(--ds-space-4); border:1px solid var(--ds-input-border); color:var(--ds-ink); background:var(--ds-card);}
.memory-import-dialog .memory-import-primary {background:var(--ds-brand); border-color:var(--ds-brand); color:var(--ds-on-cta);}
.memory-import-draft-link {display:block; padding:var(--ds-space-3) 0; color:var(--ds-link); text-decoration:underline; overflow-wrap:anywhere;}
.memory-import-dialog [data-import-status] {min-height:24px; margin:var(--ds-space-4) 0 0; font-size:var(--ds-font-size-bodySm); line-height:var(--ds-line-height-bodySm); color:var(--ds-ink-soft);}
.memory-import-dialog [data-import-status].is-error {color:var(--ds-error-text);}
.memory-import-dialog :focus-visible,.memory-import-open:focus-visible,.memory-metadata-hint button:focus-visible {outline:3px solid var(--ds-focus); outline-offset:3px;}
.memory-metadata-hint {padding:var(--ds-space-3) var(--ds-space-4); margin:var(--ds-space-2) 0; border:1px solid var(--ds-input-border); border-radius:var(--ds-radius-sm); background:var(--ds-surface); color:var(--ds-ink); font:var(--ds-font-size-bodySm)/var(--ds-line-height-bodySm) var(--ds-font-sans);}
.memory-metadata-hint p {margin:0 0 var(--ds-space-2);}
.memory-metadata-hint button {min-height:44px; border:1px solid var(--ds-input-border); border-radius:var(--ds-radius-sm); background:var(--ds-card); color:var(--ds-link); padding:var(--ds-space-2) var(--ds-space-3); font:inherit; cursor:pointer;}
.memory-step-label {font:600 var(--ds-font-size-caption)/var(--ds-line-height-caption) var(--ds-font-sans); color:var(--ds-ink-soft); margin:var(--ds-space-3) var(--ds-space-4);}
.memory-photo-first-hint {font:var(--ds-font-size-bodySm)/var(--ds-line-height-bodySm) var(--ds-font-sans); color:var(--ds-ink-soft); margin:var(--ds-space-3) var(--ds-space-4);}
.memory-photo-first-button {display:flex; flex-direction:column; gap:var(--ds-space-3); margin:var(--ds-space-3) var(--ds-space-4); padding:var(--ds-space-4); border:1px dashed var(--ds-brand); border-radius:var(--ds-radius-md); color:var(--ds-link); font:600 var(--ds-font-size-body)/var(--ds-line-height-body) var(--ds-font-sans);}
.memory-photo-first-button input {max-width:100%; font-size:var(--ds-font-size-bodySm); line-height:var(--ds-line-height-bodySm); color:var(--ds-ink);}
#memory-mobile-stage-5 .memory-import-entry {margin:var(--ds-space-3) var(--ds-space-4);}
#memory-mobile-stage-5 .memory-metadata-hint {margin:var(--ds-space-2) var(--ds-space-4);}
@media(max-width:540px) {.memory-import-dialog {padding:var(--ds-space-5) var(--ds-space-4); width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:var(--ds-radius-lg);} .memory-import-sources {grid-template-columns:repeat(2,minmax(0,1fr));} .memory-import-header h2 {font-size:var(--ds-font-size-h3); line-height:var(--ds-line-height-h3);} .memory-import-actions button {width:100%;}}

/* Source-specific import review: bounded lists, persistent selection and help. */
.memory-import-dialog {--mi-panel:var(--ds-elevated); --mi-soft:var(--ds-surface); --mi-ink:var(--ds-ink); --mi-muted:var(--ds-ink-soft); --mi-border:var(--ds-input-border); --mi-link:var(--ds-link); --mi-tint:var(--ds-surface); --mi-accent:var(--ds-brand); --mi-error:var(--ds-error-text); background:var(--mi-panel); color:var(--mi-ink);}
.memory-import-dialog * {box-sizing:border-box;}
.memory-import-sources button:only-child {grid-column:1/-1; text-align:left;}
.memory-import-dialog h3 {font-size:var(--ds-font-size-h4); line-height:var(--ds-line-height-h4); margin:var(--ds-space-5) 0 var(--ds-space-2);}
.memory-import-dialog .memory-import-note,.memory-import-dialog .memory-import-intro,.memory-import-dialog [data-import-status] {color:var(--mi-muted);}
.memory-import-dialog .memory-import-help {background:var(--mi-soft);}
.memory-import-dialog .memory-import-help h3 {margin:0 0 var(--ds-space-2);}
.memory-import-dialog .memory-import-export-steps {padding-left:var(--ds-space-6); margin:var(--ds-space-3) 0; font-size:var(--ds-font-size-bodySm); line-height:var(--ds-line-height-bodySm);}
.memory-import-export-steps li+li {margin-top:var(--ds-space-2);}
.memory-import-dialog a {color:var(--mi-link); text-underline-offset:3px;}
.memory-import-help-link {display:inline-flex; align-items:center; min-height:44px; font-weight:600; font-size:var(--ds-font-size-bodySm); line-height:var(--ds-line-height-bodySm);}
.memory-import-summary {padding:var(--ds-space-3) var(--ds-space-4); border-radius:var(--ds-radius-md); background:var(--mi-soft); font-size:var(--ds-font-size-bodySm); line-height:var(--ds-line-height-bodySm);}
.memory-import-toolbar {display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.55fr); gap:var(--ds-space-3); margin:var(--ds-space-5) 0 var(--ds-space-3);}
.memory-import-toolbar label {font-size:var(--ds-font-size-caption); line-height:var(--ds-line-height-caption); font-weight:600; display:flex; flex-direction:column; gap:var(--ds-space-2); min-width:0;}
.memory-import-toolbar input,.memory-import-toolbar select {min-height:44px; width:100%; min-width:0; padding:var(--ds-space-3); border:1px solid var(--mi-border); border-radius:var(--ds-radius-sm); background:var(--mi-panel); color:var(--mi-ink); font:inherit; font-size:var(--ds-font-size-body); line-height:var(--ds-line-height-body);}
.memory-import-toolbar input::placeholder {color:var(--mi-muted); opacity:1;}
.memory-import-dialog .memory-import-candidates {margin-top:var(--ds-space-3); max-height:42dvh; border-color:var(--mi-border); overscroll-behavior:contain;}
.memory-import-candidate {border-color:var(--mi-border);}
.memory-import-candidate>div {min-width:0;}
.memory-import-candidate:has(input:checked) {background:var(--mi-tint);}
.memory-import-candidate:has(input:disabled) {cursor:default;}
.memory-import-badges {display:flex; flex-wrap:wrap; gap:var(--ds-space-2); margin:var(--ds-space-2) 0;}
.memory-import-badge {display:inline-block; padding:var(--ds-space-1) var(--ds-space-2); border-radius:var(--ds-radius-sm); background:var(--mi-soft); color:var(--mi-muted); font-size:var(--ds-font-size-overline); line-height:var(--ds-line-height-overline);}
.memory-import-pagination {display:flex; align-items:center; justify-content:space-between; gap:var(--ds-space-2); padding:var(--ds-space-3) 0;}
.memory-import-pagination span {text-align:center; color:var(--mi-muted); font-size:var(--ds-font-size-caption); line-height:var(--ds-line-height-caption);}
.memory-import-selection {padding:var(--ds-space-4); border:1px solid var(--mi-border); border-radius:var(--ds-radius-md); background:var(--mi-panel); margin:var(--ds-space-1) 0 var(--ds-space-3);}
.memory-import-selection [data-selection-count] {font-size:var(--ds-font-size-bodySm); line-height:var(--ds-line-height-bodySm); font-weight:600; margin:0;}
.memory-import-empty {padding:var(--ds-space-4) var(--ds-space-1); color:var(--mi-muted);}
.memory-import-saved-drafts {max-height:35dvh; overflow:auto; margin:var(--ds-space-3) 0;}
.memory-import-dialog .memory-import-draft-link {background:transparent; border:0; color:var(--mi-link); text-align:left; width:100%;}
.memory-import-dialog [data-select-more] {display:block; margin:var(--ds-space-4) 0 var(--ds-space-3);}
.memory-import-dialog .memory-import-secondary,.memory-import-dialog .memory-import-sources button {background:var(--mi-panel); color:var(--mi-ink); border-color:var(--mi-border);}
.memory-import-dialog .memory-import-sources button[aria-pressed=true],.memory-import-dialog .memory-import-upload {background:var(--mi-tint); color:var(--mi-link); border-color:var(--mi-accent);}
.memory-import-dialog .memory-import-upload input {color:var(--mi-ink);}
.memory-import-dialog [data-import-close] {background:var(--mi-soft); color:var(--mi-ink);}
.memory-import-dialog [data-import-status].is-error {color:var(--mi-error);}
@media(max-width:540px) {.memory-import-toolbar {grid-template-columns:1fr;} .memory-import-dialog .memory-import-candidates {max-height:36dvh;} .memory-import-pagination button {padding:var(--ds-space-2) var(--ds-space-3);} .memory-import-selection {padding:var(--ds-space-3);} .memory-import-header h2 {font-size:var(--ds-font-size-h3); line-height:var(--ds-line-height-h3);} .memory-import-pagination {gap:var(--ds-space-1);} .memory-import-dialog .memory-import-selection .memory-import-rights {font-size:var(--ds-font-size-bodySm); line-height:var(--ds-line-height-bodySm);}}
@media(min-width:813px) {.memory-import-dialog[data-phase=review],.memory-import-dialog[data-phase=commit] {width:min(1080px,calc(100% - 48px));} .memory-import-review-layout {display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:var(--ds-space-6); align-items:start;} .memory-import-review-panel {min-width:0;} .memory-import-review-layout .memory-import-toolbar {margin-top:0;} .memory-import-review-layout .memory-import-selection {margin-top:0;} .memory-import-selection .memory-import-actions button {width:100%;} .memory-import-selection .memory-import-actions {flex-direction:column-reverse;}}

.memory-import-entry,.memory-import-open,.memory-metadata-hint,.memory-photo-first-button { box-sizing:border-box; }
.memory-import-open { padding:var(--ds-space-3); border-radius:var(--ds-radius-md); }
.memory-import-dialog { background:var(--ds-elevated); overscroll-behavior:contain; }
.memory-import-header>div,.memory-import-rights>span { min-width:0; overflow-wrap:anywhere; }
.memory-import-dialog button,.memory-import-dialog h2,.memory-import-dialog h3 { overflow-wrap:anywhere; }
.memory-import-dialog .memory-import-primary { font-weight:600; }
.memory-import-dialog .memory-import-primary:hover { background:var(--ds-brand-hover); border-color:var(--ds-brand-hover); }
.memory-import-dialog .memory-import-secondary:hover { background:var(--ds-surface); }
.memory-import-pagination { flex-wrap:wrap; }
.memory-import-pagination span { flex:1; }
