.project-files { margin-top:20px; }
.project-files>p { margin-top:8px; }
.file-upload { display:grid; gap:10px; margin:20px 0; }
.file-upload input { max-width:100%; }
.file-choice { position:relative; display:flex; align-items:center; gap:12px; padding:10px; border:1px solid #d9dbe3; border-radius:8px; min-width:0; }
.file-choice input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.file-choice:focus-within { outline:3px solid var(--purple); outline-offset:4px; }
.file-choice .file-picker { margin:0; flex-shrink:0; padding:6px 10px; border-radius:6px; background:#e6f6f0; font-size:12px; }
.file-chosen { min-width:0; overflow-wrap:anywhere; font-size:12px; }
.file-upload small { color:var(--muted); }
.file-upload .file-action { justify-self:start; }
.file-action { border-radius:9px; padding:10px 16px; min-height:44px; }
.file-row { display:flex; gap:20px; align-items:center; justify-content:space-between; padding:20px 0; border-bottom:1px solid var(--line); }
.file-details { min-width:0; }
.file-details h3 { font-size:15px; overflow-wrap:anywhere; }
.file-details dl { display:flex; gap:12px 24px; flex-wrap:wrap; margin:10px 0 0; }
.file-details dt { color:var(--muted); font-size:11px; }
.file-details dd { margin:0; font-size:12px; overflow-wrap:anywhere; }
.file-actions { display:flex; gap:8px; flex-shrink:0; }
.file-status:empty { display:none; }
@media(max-width:700px){.file-row{align-items:stretch;flex-direction:column;gap:12px;}.file-actions{flex-wrap:wrap;}.file-upload .file-action{justify-self:stretch;}}
