.file-uploader{width:100%}.file-uploader .upload-wrapper{border:2px dashed #ccc;border-radius:12px;padding:20px;text-align:center;transition:border-color .3s ease;background-color:#fafafa;cursor:pointer}.file-uploader .upload-wrapper:hover{border-color:#3f51b5}.file-uploader .upload-placeholder{color:#999;font-size:16px;display:flex;flex-direction:column;align-items:center}.file-uploader .upload-placeholder .upload-icon{font-size:40px;color:#3f51b5;margin-bottom:10px}.file-uploader .image-list{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:10px}.file-uploader .image-card{position:relative;width:120px;height:120px;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);background-color:#fff;display:flex;align-items:center;justify-content:center}.file-uploader .image-preview{width:100%;height:100%;object-fit:cover}.file-uploader .image-actions{position:absolute;top:5px;right:5px;display:flex;flex-direction:column;gap:5px}.file-uploader .image-actions button{background:rgba(0,0,0,.6);border:none;color:#fff;border-radius:50%;width:22px;height:22px;font-size:14px;line-height:1;cursor:pointer}.file-uploader .image-actions button:hover{background:rgba(0,0,0,.8)}.file-uploader .cropper-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000}.file-uploader .cropper-card{background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.2);width:90%;max-width:720px;padding:24px;display:flex;flex-direction:column;gap:20px;animation:fadeInUp .3s ease}.file-uploader .cropper-title{margin:0;font-size:1.5rem;font-weight:600;text-align:center;color:#333}.file-uploader .cropper-wrapper{width:100%;height:400px;border-radius:10px;overflow:hidden;position:relative;background:#f9f9f9}.file-uploader .cropper-actions{display:flex;justify-content:flex-end;gap:12px}.file-uploader .modern-btn{padding:10px 20px;border:none;border-radius:8px;font-weight:500;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease-in-out;font-size:15px}.file-uploader .modern-btn.save{background:#4caf50;color:#fff}.file-uploader .modern-btn.save:hover{background:#43a047}.file-uploader .modern-btn.cancel{background:#e53935;color:#fff}.file-uploader .modern-btn.cancel:hover{background:#d32f2f}@keyframes fadeInUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}