#view .workspace-form .source-upload-field > .upload-zone,
#view .source-upload-field > .upload-zone { padding: 10px 12px 2px; display: flex; flex-direction: column; align-items: stretch; gap: 0; border: 1px dashed var(--line); border-radius: 8px; background: var(--panel); text-align: left; }
#view .source-upload-field .upload-zone.has-files { border-style: solid; }
.source-slot-pick { padding: 2px 0 10px; display: flex; align-items: center; gap: 12px; min-height: 60px; border: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.source-slot-pick:focus-visible { outline: 2px solid var(--navigation-accent); outline-offset: 2px; border-radius: 4px; }
.source-slot-visual { display: grid; place-items: center; flex: none; width: 44px; height: 48px; background: var(--strong); color: var(--navigation-accent); border-radius: 6px; }
#view .source-slot-visual svg { width: 25px; height: 25px; }
.source-slot-copy { flex: 1; min-width: 0; }
.source-slot-copy b { display: block; color: var(--ink); font-size: 13px; line-height: 1.6; }
#view .source-slot-copy small { display: block; font-size: 11px; color: var(--muted); line-height: 1.5; margin-top: 2px; }
#view .source-slot-pick > svg { flex: none; width: 18px; height: 18px; color: var(--muted); }
#view .source-upload-field .source-file-previews:empty { display: none; }
#view .source-upload-field > .upload-zone .source-upload-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; width: 100%; margin: 0; border-top: 1px solid var(--line); }
#view .source-upload-actions [data-upload-count] { align-self: center; min-width: 0; font-size: 10px; color: var(--muted); white-space: normal; }
#view .source-upload-actions .library-pick { display: flex; align-items: center; gap: 6px; width: auto; min-height: 44px; margin: 6px 0; padding: 6px 10px; font-size: 12px; }
#view .source-upload-actions .library-pick svg { width: 16px; height: 16px; }
.material-format { font-size: 11px; margin: 8px 0 0; color: var(--muted); }
.material-preparation { margin: 0 0 16px; padding: 14px 0; border-block: 1px solid var(--line); }
.material-preparation > header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.material-preparation h3 { font-size: 17px; margin: 0 0 5px; }
.material-preparation p { margin: 0; font-size: 12px; line-height: 1.7; color: var(--muted); }
.material-preparation header > span { font-size: 11px; color: var(--muted); flex: none; }
.material-confirm { margin-top: 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.material-confirm .button { flex: none; font-size: 12px; min-height: 44px; padding-inline: 12px; }
.material-confirm .button:disabled { opacity: .6; }
@media (max-width: 600px) {
  #view .material-preparation .workflow-reference-grid { grid-template-columns: minmax(0, 1fr); }
  #view .source-upload-field .source-file-preview img { width: 42px; height: 42px; }
  .material-confirm { align-items: flex-start; }
}
