/* Avatar utilisateur — photo ou icône personne (fallback) */
.user-avatar-img,
.user-avatar-fallback {
    flex-shrink: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    object-fit: cover;
    vertical-align: middle;
}

.user-avatar-fallback {
    background: linear-gradient(145deg, #e8f5ec 0%, #d1fae5 100%);
    color: #009734;
    border: 2px solid #b8e6c8;
    box-sizing: border-box;
}

/* Sur fond sombre (sidebar) */
.sidebar-footer .user-avatar-fallback,
#dashboardSidebar .user-avatar-fallback {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    border-color: rgba(134, 199, 31, 0.7);
}

.user-avatar-fallback i {
    line-height: 1;
}

.user-avatar-img--sm,
.user-avatar-fallback--sm {
    width: 2rem;
    height: 2rem;
}
.user-avatar-fallback--sm i { font-size: 1rem; }

.user-avatar-img--md,
.user-avatar-fallback--md {
    width: 2.5rem;
    height: 2.5rem;
}
.user-avatar-fallback--md i { font-size: 1.25rem; }

.user-avatar-img--lg,
.user-avatar-fallback--lg {
    width: 4.5rem;
    height: 4.5rem;
}
.user-avatar-fallback--lg i { font-size: 2.25rem; }

.user-avatar-img--xl,
.user-avatar-fallback--xl {
    width: 6.25rem;
    height: 6.25rem;
}
.user-avatar-fallback--xl i { font-size: 3rem; }

/* Variante header public */
.ul-header-user-avatar.user-avatar-img,
.ul-header-user-avatar.user-avatar-fallback {
    width: 40px;
    height: 40px;
    border: 2px solid var(--ul-primary, #009734);
}
.ul-header-user-avatar.user-avatar-fallback {
    background: #e8f5ec;
    color: #009734;
}
.ul-header-user-avatar.user-avatar-fallback i {
    font-size: 1.15rem;
}

/* Profil dashboard (grand cercle) */
.dash-profile-avatar.user-avatar-img,
.dash-profile-avatar.user-avatar-fallback {
    width: 100px;
    height: 100px;
    border: 4px solid #86c71f;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}
.dash-profile-avatar.user-avatar-fallback {
    background: linear-gradient(145deg, #1a2420 0%, #2a3d34 100%);
    color: #86c71f;
    border-color: #86c71f;
}
.dash-profile-avatar.user-avatar-fallback i {
    font-size: 3rem;
}

/* Espace patient */
.welcome-avatar.user-avatar-img,
.welcome-avatar.user-avatar-fallback {
    width: 88px;
    height: 88px;
}
.welcome-avatar.user-avatar-fallback {
    background: #e8f5ec;
    color: #009734;
    border: 3px solid #b8e6c8;
}
.welcome-avatar.user-avatar-fallback i {
    font-size: 2.5rem;
}
