.upload-field{margin:8px 0;display:flex;flex-direction:column;gap:6px}.upload-field-dropzone{position:relative;border:2px dashed var(--border, #d0d4dc);border-radius:8px;background:var(--bg-subtle, #fafbfc);padding:14px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:border-color .15s,background-color .15s;min-height:84px}.upload-field-dropzone:hover,.upload-field-dropzone:focus-visible{border-color:var(--accent, #6366f1);background:var(--bg-hover, #f4f5f9);outline:none}.upload-field-dropzone.is-dragover{border-color:var(--accent, #6366f1);background:var(--accent-soft, #eef2ff);border-style:solid}.upload-field-preview{flex:0 0 64px;width:64px;height:64px;border-radius:6px;background:#fff;border:1px solid var(--border, #e6e8ee);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:22px;color:var(--text-muted, #7d8290)}.upload-field-preview img{width:100%;height:100%;object-fit:cover;display:block}.upload-field-preview.is-circle,.upload-field-preview.is-circle img{border-radius:50%}.upload-field-cta{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.upload-field-cta-main{font-size:13px;font-weight:600;color:var(--text, #2d3138)}.upload-field-cta-sub{font-size:11px;color:var(--text-muted, #7d8290);line-height:1.45}.upload-field-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;overflow:hidden}.upload-field-filenames,.upload-field-hint{font-size:11px;color:var(--text-muted, #7d8290);padding:2px 4px}.upload-field-hint i{color:var(--accent, #6366f1);margin-right:3px}@media(max-width:480px){.upload-field-dropzone{flex-direction:column;align-items:stretch;text-align:center;gap:8px}.upload-field-preview{margin:0 auto}}
