.composition-files{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.composition-files h3{margin:0;font:600 1rem var(--font-display)}.composition-files p,.composition-files small{font-size:.78rem;color:var(--ink-2)}.file-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.file-controls label{font-size:.8rem;font-weight:600;display:grid;gap:6px;min-width:0}.file-controls input{font:inherit;width:100%;min-width:0}.file-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:12px 0}.attached-file{display:flex;flex-direction:column;gap:9px;padding:12px;border:1px solid var(--line);border-radius:9px;min-width:0}.attached-file strong{overflow-wrap:anywhere;font-size:.85rem}.attached-file img{max-width:100%;max-height:230px;object-fit:contain}.attached-file audio{width:100%;min-width:0}.attached-file a{font-size:.8rem;color:var(--accent)}.attached-file button{align-self:start}@media print{.composition-files{display:none}}

.completion-box{margin-top:20px;padding:16px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px}.completion-box label{font-weight:700}.completion-box p{font-size:.83rem;color:var(--ink-2)}.completion-box input{accent-color:var(--accent);width:18px;height:18px;vertical-align:middle}.cp-stages{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.cp-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}
