.upload-contact-container{width:100%;margin:0;padding:0}.upload-contact-header{justify-content:center;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.upload-contact-title{color:#1e293b;margin:0;font-size:.875rem;font-weight:600}.upload-contact-dropzone{cursor:pointer;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;padding:2rem 1.5rem;transition:all .3s;display:flex}.upload-contact-dropzone:hover{background:#f0f4ff;border-color:#667eea}.upload-contact-dropzone-active{background:#e0e7ff;border-color:#667eea}.upload-contact-dropzone-disabled{cursor:not-allowed;opacity:.6}.upload-contact-dropzone-disabled:hover{background:#f8fafc;border-color:#cbd5e1}.upload-contact-input{display:none}.upload-contact-icon{color:#64748b;margin-bottom:.75rem}.upload-contact-dropzone:hover .upload-contact-icon,.upload-contact-dropzone-active .upload-contact-icon{color:#667eea}.upload-contact-text{color:#475569;text-align:center;margin:0 0 .25rem;font-size:.9rem}.upload-contact-text span{color:#667eea;font-weight:600;text-decoration:underline}.upload-contact-hint{color:#94a3b8;text-align:center;margin:0;font-size:.8rem}.upload-contact-preview-container{margin-top:1rem}.upload-contact-count{color:#64748b;margin:0 0 .75rem;font-size:.8rem}.upload-contact-preview-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem;display:grid}.upload-contact-preview-item{aspect-ratio:1;border:1px solid #e2e8f0;border-radius:.5rem;position:relative;overflow:hidden}.upload-contact-preview-img{object-fit:cover;width:100%;height:100%}.upload-contact-remove-btn{color:#fff;cursor:pointer;background:#ef4444e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;transition:all .2s;display:flex;position:absolute;top:.25rem;right:.25rem}.upload-contact-remove-btn:hover{background:#dc2626;transform:scale(1.1)}.upload-contact-remove-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.upload-contact-dropzone{padding:1.5rem 1rem}.upload-contact-preview-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}@media (max-width:480px){.upload-contact-preview-grid{grid-template-columns:repeat(3,1fr)}}
