.avatar-container{position:relative;width:160px;height:160px}.progress-ring{position:absolute;inset:-8px;z-index:0}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-track{fill:none;stroke:#e9ecef;stroke-width:4}.progress-ring-progress{fill:none;stroke:#0d6efd;stroke-width:4;stroke-linecap:round;stroke-dasharray:301.59;stroke-dashoffset:301.59;transition:stroke-dashoffset 2s ease-in-out,opacity 0.3s;opacity:0}.progress-ring-progress.uploading{stroke-dashoffset:0;opacity:1}.avatar-image-wrapper{position:relative;z-index:10;width:100%;height:100%;border-radius:50%;overflow:hidden;background-color:#f8f9fa;border:4px solid #fff;box-shadow:0 4px 15px rgba(0,0,0,0.1);cursor:pointer;transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1),filter 0.4s ease}.avatar-image-wrapper.uploading{transform:scale(0.9);filter:grayscale(100%) brightness(0.8)}.avatar-image-wrapper img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#e9ecef;color:#adb5bd}.avatar-placeholder i{font-size:4rem}.avatar-hover-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.2s ease}.avatar-image-wrapper:hover .avatar-hover-overlay{opacity:1}.avatar-image-wrapper.uploading:hover .avatar-hover-overlay,.avatar-image-wrapper.success:hover .avatar-hover-overlay{opacity:0}.avatar-hover-overlay i{font-size:2.5rem;color:rgba(255,255,255,0.9)}.avatar-success-overlay{position:absolute;inset:0;background:rgba(34,197,94,0.8);backdrop-filter:blur(1px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s ease}.avatar-success-overlay.show{opacity:1}.avatar-success-overlay i{font-size:3rem;color:#fff}.status-badge{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em}.status-badge.pulse{animation:pulse 2s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}@keyframes checkmark-pop{0%{transform:scale(0.5) rotate(-45deg);opacity:0}50%{transform:scale(1.1) rotate(5deg)}100%{transform:scale(1) rotate(0deg);opacity:1}}.checkmark-animate{animation:checkmark-pop 0.4s cubic-bezier(0.34,1.56,0.64,1) forwards}.drag-overlay{position:fixed;inset:0;background:rgba(255,255,255,0.95);backdrop-filter:blur(4px);z-index:9999;display:none;align-items:center;justify-content:center}.drag-overlay.active{display:flex}.drag-overlay-content{text-align:center;padding:3rem 4rem;border:3px dashed #64748b;border-radius:1rem}.drag-overlay-content i{font-size:4rem;color:#0d6efd}.avatar-card{border:none;border-radius:1.5rem;box-shadow:none}.avatar-card.dragging{border:2px solid #0d6efd;box-shadow:0 0 0 4px rgba(13,110,253,0.1)}.btn-upload{min-width:140px;transition:all 0.2s ease}.btn-remove,.btn-remove:hover,.btn-remove:focus,.btn-remove:active{text-decoration:none !important}.badge-updated{background-color:rgba(34,197,94,0.15);color:#16a34a}.cfu-error-alert{transform-origin:center}