.file-upload-zone{margin-top:.5rem}.dropzone{border:2px dashed var(--border-color);text-align:center;cursor:pointer;border-radius:.5rem;padding:1.5rem 1rem;transition:border-color .2s,background-color .2s}.dropzone:hover{border-color:var(--primary-color);background-color:#f8fafc}.dropzone.drag-over{border-color:var(--primary-color);background-color:#eef2ff}.dropzone.uploading{border-color:var(--primary-color);cursor:wait;background-color:#f8fafc}.dropzone-content{pointer-events:none}.dropzone-icon{margin-bottom:.5rem;font-size:2rem}.dropzone-text{color:var(--text-secondary);margin:0 0 .25rem;font-size:.875rem}.browse-link{color:var(--primary-color);font-weight:500}.dropzone-hint{color:var(--text-muted);margin:0;font-size:.75rem}.upload-error{color:var(--error-color);background-color:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.75rem}.attached-files{margin-top:1rem}.attached-files-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.attached-file{background:var(--bg-color);border-radius:.375rem;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.5rem;display:flex}.file-thumbnail{object-fit:cover;border-radius:.25rem;width:40px;height:40px}.file-icon{background:#fff;border-radius:.25rem;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.file-info{flex:1;min-width:0}.file-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;display:block;overflow:hidden}.file-meta{color:var(--text-muted);font-size:.75rem;display:block}.remove-file-btn{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;transition:background-color .15s,color .15s;display:flex}.remove-file-btn:hover{color:var(--error-color);background:#ef44441a}
