/* Workspace draft. Classes are added to existing nodes; native IDs stay intact.
   Editor direct children: card-head, preview-box, controls. Output direct children:
   result, output-image, original native actions. Only the inline editor is styled.
   JS owns finite motion and updates workflow / result / advanced attributes. */

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-column: 1 / -1;
  grid-row: 1;
  gap: 14px 20px;
  padding: 18px 20px;
  margin: 0;
  border: 1px solid var(--border, #dce4df);
  border-radius: 16px;
  color: var(--text, #18271f);
  background: var(--card, #fff);
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-title {
  margin: 0;
  font-size: clamp(1.15rem, 1rem + .45vw, 1.4rem);
  line-height: 1.3;
  letter-spacing: -.025em;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-description {
  margin: 5px 0 0;
  max-width: 62ch;
  color: var(--muted, #55635b);
  font-size: .875rem;
  line-height: 1.5;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-steps {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-step {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 44px;
  box-sizing: border-box;
  padding: 9px 12px;
  border: 1px solid var(--border, #dce4df);
  border-radius: 11px;
  background: transparent;
  color: var(--muted, #55635b);
  font: inherit;
  font-size: .875rem;
  line-height: 1.3;
  text-align: left;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-step-number {
  display: grid;
  place-items: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: .75rem;
  font-weight: 700;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-step[aria-current="step"] {
  color: var(--text, #18271f);
  font-weight: 650;
  border-color: var(--accent, #2b7651);
  background: color-mix(in srgb, var(--accent, #2b7651) 9%, var(--card, #fff));
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-step[aria-disabled="true"] {
  color: var(--muted, #55635b);
  background: color-mix(in srgb, var(--muted, #55635b) 5%, var(--card, #fff));
}

/* The existing editor card spans its preview grid. No parent grid is changed. */
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem) !important;
  grid-template-rows: auto auto auto auto !important;
  gap: 14px 18px;
  align-items: start;
  min-width: 0;
  padding: 18px;
  border-radius: 16px;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-card-head {
  grid-column: 1 / -1;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-card-title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: -.015em;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-original-label {
  display: none !important;
}

body[data-page="mosaic"].mosaic-workspace-ready .preview-grid:has(> .mosaic-workspace-editor)::before,
body[data-page="mosaic"].mosaic-workspace-ready .preview-grid:has(> .mosaic-workspace-editor)::after {
  display: none;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-preview-box {
  grid-column: 1;
  grid-row: 3;
  min-width: 0;
  margin: 0;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls {
  grid-column: 2;
  grid-row: 3 / span 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 10px;
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--border, #dce4df);
  border-radius: 12px;
  background: color-mix(in srgb, var(--muted, #55635b) 3%, var(--card, #fff));
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .actions {
  grid-column: 1;
  grid-row: 4;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls > .mosaic-workspace-controls-head,
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls > .mosaic-workspace-controls-actions,
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls > .mosaic-workspace-advanced-toggle {
  grid-column: 1 / -1;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls > .mosaic-workspace-field {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  margin: 0;
  color: var(--text, #18271f);
  font-size: .8125rem;
  line-height: 1.4;
  font-weight: 600;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls > .mosaic-workspace-field :is(select, input:not([type="checkbox"]):not([type="radio"]):not([type="range"])) {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--border, #ccd8d0);
  border-radius: 9px;
  background: var(--card, #fff);
  color: var(--text, #18271f);
  font: inherit;
  font-weight: 400;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls > .mosaic-workspace-field input[type="range"] {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
}

/* Both advanced labels remain visible while either contains keyboard focus.
   JS preserves the user's expanded preference through native editor changes. */
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls[data-advanced-expanded="false"]:not([data-advanced-preferred="true"]):not(:has(.mosaic-workspace-advanced:focus-within)) > .mosaic-workspace-advanced {
  display: none;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-actions,
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-controls-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-actions > button,
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls .mosaic-workspace-controls-actions > button,
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls > .mosaic-workspace-advanced-toggle {
  min-height: 44px;
  padding: 9px 12px;
  border-radius: 9px;
  font-size: .875rem;
  line-height: 1.3;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-advanced-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--border, #dce4df);
  background: var(--card, #fff);
  color: var(--text, #18271f);
  text-align: left;
}

/* Native output actions remain in place. A live preview without a completed
   native item.output is not presented as a saved export. */
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-output {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 16px 18px;
  border-radius: 16px;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-output > .mosaic-workspace-result {
  display: grid;
  gap: 4px;
  margin: 0 0 12px;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-output > .panel-head {
  min-height: 0;
  margin-bottom: 12px;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-output[data-result-present="false"] #outputMeta {
  display: none !important;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-output[data-result-present="false"] > .mosaic-workspace-output-image {
  display: none;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-status {
  margin: 0;
  color: var(--muted, #55635b);
  font-size: .875rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border: 1px solid var(--border, #dce4df);
  border-radius: 999px;
  background: var(--card, #fff);
  color: var(--text, #18271f);
  font-size: .75rem;
  line-height: 1.4;
  font-weight: 650;
}

body[data-page="mosaic"].mosaic-workspace-ready [data-workflow-state="busy"] > .mosaic-workspace-badge,
body[data-page="mosaic"].mosaic-workspace-ready [data-workflow-state="busy"] > .mosaic-workspace-result .mosaic-workspace-badge {
  border-color: color-mix(in srgb, #3869bd 40%, var(--border, #dce4df));
  background: color-mix(in srgb, #3869bd 9%, var(--card, #fff));
}

body[data-page="mosaic"].mosaic-workspace-ready [data-workflow-state="current"] > .mosaic-workspace-badge,
body[data-page="mosaic"].mosaic-workspace-ready [data-workflow-state="current"] > .mosaic-workspace-result .mosaic-workspace-badge {
  border-color: color-mix(in srgb, #2b7651 45%, var(--border, #dce4df));
  background: color-mix(in srgb, #2b7651 10%, var(--card, #fff));
}

body[data-page="mosaic"].mosaic-workspace-ready :is([data-workflow-state="previous"], [data-workflow-state="unverified"]) > .mosaic-workspace-result {
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, #a77416 45%, var(--border, #dce4df));
  border-radius: 10px;
  background: color-mix(in srgb, #a77416 8%, var(--card, #fff));
}

body[data-page="mosaic"].mosaic-workspace-ready [data-workflow-state="error"] > .mosaic-workspace-result {
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, #b42318 45%, var(--border, #dce4df));
  border-radius: 10px;
  background: color-mix(in srgb, #b42318 7%, var(--card, #fff));
}

body[data-page="mosaic"].mosaic-workspace-ready :is([data-workflow-state="previous"], [data-workflow-state="unverified"], [data-workflow-state="error"]) > .mosaic-workspace-result .mosaic-workspace-status {
  color: var(--text, #18271f);
}

body[data-page="mosaic"].mosaic-workspace-ready :is(.mosaic-workspace-step, .mosaic-workspace-advanced-toggle, .mosaic-workspace-actions > button):focus-visible,
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls :is(input, select, button):focus-visible {
  outline: 3px solid var(--focus, #3b70d1);
  outline-offset: 3px;
}

@media (max-width: 760px) {
  body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }
  body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-step {
    gap: 6px;
    padding: 8px;
    font-size: .8125rem;
  }
  body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto auto !important;
    gap: 12px;
    padding: 12px;
  }
  body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-preview-box {
    grid-column: 1;
    grid-row: 3;
  }
  body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls {
    grid-column: 1;
    grid-row: 5;
    padding: 12px;
  }
  body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-output {
    padding: 14px;
  }
}

body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-heading :is(h2,.options-title) {margin:5px 0;font-size:clamp(1.25rem,1.1rem + .5vw,1.65rem);line-height:1.25;letter-spacing:-.025em}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-native-heading>.options-head {margin:0;padding:0;border:0;gap:5px;min-width:0}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-heading p {margin:0;color:var(--muted,#55635b);font-size:.875rem;line-height:1.5}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-eyebrow {font-size:.68rem;font-weight:700;letter-spacing:.09em;color:var(--muted,#55635b)}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-status {padding:12px 14px;border-radius:11px;background:color-mix(in srgb,var(--accent,#7438b5) 6%,var(--card,#fff))}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-status strong {display:block;color:var(--text,#18271f);font-weight:650}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-status p {margin:4px 0 0}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-step > span {display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border:1px solid currentColor;border-radius:50%;font-size:.75rem;font-weight:700}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-step {width:100%;cursor:pointer}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-result {display:grid;justify-content:start;gap:4px;padding:12px 14px;border:1px solid var(--border,#dce4df);border-radius:11px;background:var(--card,#fff)}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-result strong {font-size:1rem;color:var(--text,#18271f)}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-result p {margin:0;max-width:75ch;font-size:.875rem;line-height:1.5;color:var(--muted,#55635b)}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-export-quality {display:grid;gap:6px;max-width:36rem;margin:14px 0;padding:12px 14px;border:1px solid var(--border,#dce4df);border-radius:11px}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-export-quality > span {display:flex;justify-content:space-between;font-size:.875rem;font-weight:650}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-export-quality input {width:100%;min-height:44px;margin:0;accent-color:var(--accent,#7438b5)}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-export-quality small {line-height:1.4;color:var(--muted,#55635b)}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-export-quality input:focus-visible {outline:3px solid var(--focus,#3b70d1);outline-offset:3px}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-head[hidden],body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-result[hidden],body[data-page="mosaic"].mosaic-workspace-ready .mosaic-export-quality[hidden] {display:none}
@media(max-width:760px){body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-heading{flex-wrap:wrap}body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-step{flex-direction:column;align-items:flex-start}body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-actions > button{flex:1 1 140px}}

/* Persistent header photo controls; image/canvas geometry is owned by native Mosaic. */
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-card-head {flex-wrap:wrap}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-photo-nav {display:flex;align-items:center;gap:6px;margin-inline-start:auto;flex:0 0 auto;min-width:0}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-photo-nav[hidden] {display:none}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-photo-nav > button {display:grid;place-items:center;box-sizing:border-box;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--border,#dce4df);border-radius:10px;background:var(--card,#fff);color:var(--text,#18271f);cursor:pointer}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-photo-nav > button:disabled {opacity:.4;cursor:default}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-photo-nav > button:focus-visible {outline:3px solid var(--focus,#3b70d1);outline-offset:3px}
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-photo-nav svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body[data-page="mosaic"].mosaic-workspace-ready [data-mosaic-photo-counter] {min-width:10ch;color:var(--muted,#55635b);font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.4;text-align:center;white-space:nowrap}

/* One Mosaic editor, one save/download intent. Keep native owners and ads intact. */
body.mosaic-workflow-unified #run,
body.mosaic-workflow-unified #quickRunFab,
body.mosaic-workflow-unified #download,
body.mosaic-workflow-unified #downloadBatch { display: none !important; }
body.mosaic-workflow-unified .mosaic-workspace-head { padding: 16px; gap: 12px; }
body.mosaic-workflow-unified .mosaic-workspace-head h2 { font-size: clamp(20px,2vw,25px); }
body.mosaic-workflow-unified .mosaic-workspace-actions { grid-template-columns: auto minmax(160px,1fr); }
body.mosaic-workflow-unified .mosaic-workspace-actions .primary { background: #2563eb; color: #fff; box-shadow: 0 4px 12px #2563eb18; }
body.mosaic-workflow-unified .mosaic-workspace-actions .primary:hover:not(:disabled) { background: #1d4ed8; }
body.mosaic-workflow-unified .mosaic-workspace-status { padding: 10px 12px; }
body.mosaic-workflow-unified .mosaic-workspace-output > .imgbox { display: none; }
body.mosaic-workflow-has-files [data-mosaic-upload-panel] #drop,
body.mosaic-workflow-has-files [data-mosaic-upload-panel] #pickBtn,
body.mosaic-workflow-has-files [data-mosaic-upload-panel] .upload-btn,
body.mosaic-workflow-has-files [data-mosaic-upload-panel] .supported-exts,
body.mosaic-workflow-has-files [data-mosaic-upload-panel] .upload-note { display: none !important; }
@media(max-width:600px) {
 body.mosaic-workflow-unified .mosaic-workspace-actions { grid-template-columns: minmax(100px,.8fr) minmax(155px,1.2fr); }
 body.mosaic-workflow-unified .mosaic-workspace-head { padding: 12px; }
}

body.mosaic-workflow-has-files [data-mosaic-upload-panel] .upload-start-action,
body.mosaic-workflow-has-files [data-mosaic-upload-panel] .upload-hint,
body.mosaic-workflow-has-files [data-mosaic-upload-panel] > .panel-head { display: none !important; }
body.mosaic-workflow-unified #outputPanel[data-saved-preview-expanded=true] > .imgbox { display: flex !important; }
body.mosaic-workflow-unified #outputPanel[data-saved-preview-expanded=true] #download { display: inline-flex !important; }
body.mosaic-workflow-unified #outputPanel[data-saved-preview-expanded=true] #downloadBatch { display: inline-flex !important; }
body.mosaic-workflow-unified .mosaic-saved-toggle { justify-self: start; }
body.mosaic-workflow-unified #outputPanel[data-result-present=false] .mosaic-saved-toggle { display: none; }

/* #drop is the upload card itself. Keep its real photo list and native controls. */
body.mosaic-workflow-has-files [data-mosaic-upload-panel]#drop > .upload-head,
body.mosaic-workflow-has-files [data-mosaic-upload-panel]#drop .upload-row,
body.mosaic-workflow-has-files [data-mosaic-upload-panel]#drop .upload-hint,
body.mosaic-workflow-has-files [data-mosaic-upload-panel]#drop .support-panel { display: none !important; }
body.mosaic-workflow-has-files [data-mosaic-upload-panel]#drop { padding: 12px 16px; }
body.mosaic-workflow-has-files [data-mosaic-upload-panel]#drop .upload-body { gap: 0; }
body.mosaic-workflow-has-files [data-mosaic-upload-panel]#drop .batch { margin-top: 0; }
body.mosaic-workflow-has-files [data-mosaic-upload-panel]#drop .batch-actions { margin-top: 8px; }
body.mosaic-workflow-unified .mosaic-workspace-head { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: 'heading actions' 'status status'; gap: 8px 16px; padding: 12px; }
body.mosaic-workflow-unified .mosaic-workspace-heading { grid-area: heading; }
body.mosaic-workflow-unified .mosaic-workspace-heading > div > p,
body.mosaic-workflow-unified .mosaic-workspace-heading .mosaic-workspace-eyebrow,
body.mosaic-workflow-unified .mosaic-workspace-heading .mosaic-workspace-badge { display: none; }
body.mosaic-workflow-unified .mosaic-workspace-heading h2 { margin: 0; font-size: 21px; }
body.mosaic-workflow-unified .mosaic-workspace-status { grid-area: status; padding: 8px 10px; }
body.mosaic-workflow-unified .mosaic-workspace-status p { margin-top: 3px; }
body.mosaic-workflow-unified .mosaic-workspace-actions { grid-area: actions; margin: 0; align-self: center; }
@media(max-width:600px) {
 body.mosaic-workflow-unified .mosaic-workspace-head { grid-template-columns: minmax(0,1fr); grid-template-areas: 'heading' 'actions' 'status'; }
 body.mosaic-workflow-unified .mosaic-workspace-heading h2 { font-size: 19px; }
 body.mosaic-workflow-has-files [data-mosaic-upload-panel]#drop { padding: 10px 12px; }
}

/* Compact only the uploaded manual family surface. Native owners stay mounted. */
.mosaic-family-photo-details { display: none; }
.mosaic-family-photo-details[hidden] { display: none !important; }
body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files [data-mosaic-family-manual] .mosaic-family-photo-details { display: block; flex: 1; min-width: 0; }
body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files [data-mosaic-family-manual] > .panel-head > .mosaic-workspace-card-title,
body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files [data-mosaic-family-manual] #inputMeta,
body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files [data-mosaic-family-manual] > .panel-head > .panel-specs,
body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files [data-mosaic-family-manual] > .preview-source-actions { display: none !important; }
.mosaic-family-photo-details > summary { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; color: var(--muted,#55635b); font-size: .8125rem; list-style: none; }
.mosaic-family-photo-details > summary::before { content: '›'; flex: none; font-size: 1.2rem; }
.mosaic-family-photo-details[open] > summary::before { transform: rotate(90deg); }
.mosaic-family-photo-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mosaic-family-photo-dimensions { flex: none; white-space: nowrap; }
.mosaic-family-photo-details > p { margin: 0 0 8px; font-size: .8125rem; line-height: 1.5; overflow-wrap: anywhere; }
.mosaic-family-photo-details > .preview-expand { margin-bottom: 8px; }
body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files .mosaic-workspace-head[data-workflow-state="editing"][data-workflow-notice="false"] { grid-template-areas: 'heading actions'; }
body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files .mosaic-workspace-head[data-workflow-state="editing"][data-workflow-notice="false"] > .mosaic-workspace-status { display: none; }
@media(max-width:600px) {
 body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files .mosaic-workspace-head { padding-block: 8px; row-gap: 6px; }
 body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files .mosaic-workspace-head[data-workflow-state="editing"][data-workflow-notice="false"] { grid-template-areas: 'heading' 'actions'; }
 body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files .mosaic-workspace-status { padding-block: 6px; }
 body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files .mosaic-workspace-editor { padding-block: 8px; row-gap: 8px; }
 body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files .mosaic-workspace-editor > .mosaic-workspace-card-head { flex-wrap: wrap; gap: 8px; }
 body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files .mosaic-workspace-editor > .mosaic-workspace-controls { padding-block: 8px; row-gap: 8px; }
}

/* Keep notices below the image and expanded editing outside collapsed details. */
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls > .mosaic-workspace-status { grid-area: auto; grid-column: 1 / -1; margin: 0; }
body[data-page="mosaic"] .mosaic-workspace-status[hidden] { display: none !important; }
body[data-page="mosaic"] .panel-head > .mosaic-family-editor-action { flex: 0 0 auto; width: auto !important; margin: 0; }
/* Retry shares the remove row, so an error cannot add a row above the editor. */
body[data-page="mosaic"].mosaic-workspace-ready [data-mosaic-upload-panel] .batch-actions { grid-template-columns: minmax(0, 1fr) auto; }
body[data-page="mosaic"].mosaic-workspace-ready [data-mosaic-upload-panel] .batch-status { grid-column: 1 / -1; max-inline-size: 11rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body[data-page="mosaic"].mosaic-workspace-ready [data-mosaic-upload-panel] .batch-remove { grid-area: 2 / 2; }
body[data-page="mosaic"].mosaic-workspace-ready [data-mosaic-upload-panel] .batch-retry { grid-area: 2 / 1; }
body[data-page="mosaic"].mosaic-workspace-ready.mosaic-workflow-unified .mosaic-workspace-head { grid-template-areas: 'heading actions'; }
body[data-page="mosaic"].mosaic-workspace-ready .mosaic-workspace-editor > .mosaic-workspace-controls > .runbar { grid-column: 1 / -1; margin: 0; }
@media(max-width:600px) { body[data-page="mosaic"].mosaic-workspace-ready.mosaic-workflow-unified .mosaic-workspace-head { grid-template-areas: 'heading' 'actions'; } }

/* A single-view router has no navigation to display, even before upload.
   Two-route navigation and meaningful manual context keep their UI. */
body[data-page="mosaic"][data-mosaic-family-view="manual"] .mosaic-family-nav-host:not(:has(> .mosaic-family-nav)):has(> .mosaic-family-manual-context:empty) { display: none; }
/* Quiet uploaded editing has no duplicate native status. Visible notices and
   busy/error states keep their original status row. */
body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files.mosaic-workflow-quiet-uploaded .runbar[data-mosaic-quiet-selected="true"] { display: none; }
/* The native paired-preview header cache can retain an expanded details height.
   Only the file header spacing changes; the native preview/canvas box is intact. */
body[data-page="mosaic"][data-mosaic-family-view="manual"].mosaic-workspace-ready.mosaic-workflow-has-files [data-mosaic-family-manual] > .panel-head { min-height: 0; min-block-size: 0; margin-block-end: 0; }
