.avatar-upload{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.avatar-upload .avatar-container{border-radius:50%;box-shadow:0 4px 12px #0000001a;height:10rem;overflow:hidden;position:relative;transition:all .3s ease;width:10rem}.avatar-upload .avatar-container.has-preview{filter:brightness(.7)}.avatar-upload .avatar-container .avatar-image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.avatar-upload .avatar-container .avatar-overlay{align-items:center;background-color:#0000004d;display:flex;gap:1rem;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%}.avatar-upload .avatar-container .avatar-overlay:hover{opacity:1}.avatar-upload .avatar-container .avatar-button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:2.5rem;justify-content:center;transition:all .2s ease;width:2.5rem}.avatar-upload .avatar-container .avatar-button.camera-button{background-color:#ffffffe6;color:#333}.avatar-upload .avatar-container .avatar-button.camera-button:hover{background-color:#fff;transform:scale(1.1)}.avatar-upload .avatar-container .avatar-button.delete-button{background-color:#ef4444e6;color:#fff}.avatar-upload .avatar-container .avatar-button.delete-button:hover{background-color:#ef4444;transform:scale(1.1)}.avatar-upload .avatar-container .loading-spinner{animation:spin 1s ease-in-out infinite;border:3px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:2.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:2.5rem}.avatar-upload .file-input{display:none}.avatar-upload .preview-modal{align-items:center;background-color:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.avatar-upload .preview-modal .preview-content{background-color:#fff;border-radius:1rem;box-shadow:0 10px 25px #0003;max-width:30rem;overflow:hidden;padding:1.5rem;width:90%}.avatar-upload .preview-modal .preview-content .preview-image{border-radius:.5rem;margin-bottom:1.5rem;max-height:20rem;-o-object-fit:contain;object-fit:contain;width:100%}.avatar-upload .preview-modal .preview-content .preview-actions{display:flex;gap:1rem;justify-content:center}.avatar-upload .preview-modal .preview-content .preview-actions .action-button{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.avatar-upload .preview-modal .preview-content .preview-actions .action-button.save-button{background-color:#3b82f6;color:#fff}.avatar-upload .preview-modal .preview-content .preview-actions .action-button.save-button:hover:not(:disabled){background-color:#2563eb}.avatar-upload .preview-modal .preview-content .preview-actions .action-button.save-button:disabled{cursor:not-allowed;opacity:.7}.avatar-upload .preview-modal .preview-content .preview-actions .action-button.cancel-button{background-color:#e5e7eb;color:#4b5563}.avatar-upload .preview-modal .preview-content .preview-actions .action-button.cancel-button:hover{background-color:#d1d5db}.avatar-upload .notification{border-radius:.5rem;bottom:2rem;box-shadow:0 4px 12px #00000026;color:#fff;font-weight:500;padding:1rem 1.5rem;position:fixed;right:2rem}.avatar-upload .notification.success{background-color:#10b981}.avatar-upload .notification.error{background-color:#ef4444}.avatar-upload .fade-enter-active,.avatar-upload .fade-leave-active{transition:opacity .3s ease}.avatar-upload .fade-enter-from,.avatar-upload .fade-leave-to{opacity:0}@keyframes spin{to{transform:translate(-50%,-50%) rotate(1turn)}}
