.file-upload{display:grid;grid-template-columns:160px 1fr auto;gap:10px;align-items:center;margin-bottom:10px}.file-upload select,.file-upload input{margin:0}.muted{color:var(--muted)}#fileList{margin-top:20px;border-top:1px solid var(--line)}.file-row{display:grid;grid-template-columns:56px 1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.file-row img,.file-icon{width:56px;height:56px;border:1px solid var(--line);border-radius:3px;object-fit:cover;display:grid;place-items:center;background:var(--wash);font-size:24px}.file-row b,.file-row small{display:block}.file-row small{color:var(--muted)}.file-open{display:inline-block;text-decoration:none;padding:7px 12px;border-radius:4px}.instruction-upload{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,1fr) auto;gap:14px;align-items:end}.instruction-upload label{margin:0}.instruction-upload textarea{min-height:92px}.paste-box{margin-top:8px;padding:16px;border:1px dashed var(--accent);border-radius:4px;text-align:center;color:var(--muted);background:var(--wash);outline:none}.paste-box:focus{border-style:solid;color:var(--accent)}#instructionList{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:18px}.instruction-card{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:start;border:1px solid var(--line);padding:10px}.instruction-card img{width:110px;height:95px;object-fit:cover;background:var(--wash)}.instruction-card label{margin:0}.instruction-card textarea{min-height:68px}.instruction-upload{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}.instruction-upload label{margin:0}.paste-box{min-height:48px;border:1px dashed var(--accent);border-radius:4px;padding:12px;color:var(--muted);cursor:text}.paste-box:focus{outline:2px solid #234d3c33}.instruction-card{display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}.instruction-card img{width:150px;height:110px;object-fit:contain;border:1px solid var(--line);background:var(--wash)}.instruction-card label{margin:0}.instruction-card textarea{min-height:110px}@media(max-width:900px){.file-upload,.instruction-upload{grid-template-columns:1fr}.file-row{grid-template-columns:56px 1fr}.file-row .file-open,.file-row button{justify-self:start}}@media print{.file-upload,.instruction-upload,.file-row button,.file-open,.instruction-card button{display:none!important}}
