/* User avatars — photo or deterministic animal mugshot */
.user-av,
.tb-user-av.user-av,
.prof-av.user-av,
.pl-me-av.user-av,
.pc-av.user-av,
.ob-hero-av.user-av,
.coach-edit-photo-preview.user-av,
.pa.user-av {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  line-height: 0;
  flex-shrink: 0;
}

.user-av-photo {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.user-av-mugshot {
  width: 88%;
  height: 88%;
  display: block;
  object-fit: contain;
  object-position: center center;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.45));
}

/* PNG pool mugshots — transparent art + thin ring (like MLP badge icons) */
.user-av--mugshot.user-av--animal {
  background: transparent !important;
  box-shadow:
    inset 0 0 0 1.5px rgba(255, 255, 255, 0.28),
    0 0 0 1px rgba(15, 23, 42, 0.14);
}

.user-av-svg,
.user-av svg {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Pool mugshots — lift face off contrasting bg (owner rooster unchanged) */
.user-av--animal:not([data-avatar-animal="rooster"]) .user-av-svg,
.user-av--animal:not([data-avatar-animal="rooster"]) svg {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.38));
}

/* App owner rooster — brand mascot; readable at small sizes */
.user-av[data-avatar-animal="rooster"],
.user-av.user-av--owner[data-avatar-animal="rooster"],
.user-av.user-av--animal[data-avatar-animal="rooster"] {
  box-shadow:
    0 0 0 2px #F5C842,
    0 0 0 3.5px rgba(15, 30, 74, 0.55),
    0 2px 8px rgba(245, 200, 66, 0.35);
}

.user-av[data-avatar-animal="rooster"] .user-av-svg,
.user-av[data-avatar-animal="rooster"] svg,
.user-av[data-avatar-animal="rooster"] .user-av-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.coach-edit-photo-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.coach-edit-photo-preview {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 2px solid rgba(30, 58, 138, 0.12);
  box-shadow: 0 2px 8px rgba(30, 58, 138, 0.08);
}

.coach-edit-photo-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.coach-edit-photo-actions .btn {
  justify-content: center;
  font-size: 11px;
  padding: 6px 10px;
}

.coach-edit-photo-actions .field-hint {
  margin: 0;
}

/* Chat / DM / group message avatars */
.chat-av.user-av,
.dm-avatar.user-av,
.pl-dm-inbox-av.user-av,
.pl-suggest-av.user-av,
.pl-panel-hd-av.user-av,
.group-rsvp-batch-av.user-av,
.group-msg-av.user-av {
  font-size: 0;
  font-weight: normal;
  color: transparent;
  padding: 0;
}

.pl-dm-avatar.user-av {
  font-size: 0;
  font-weight: normal;
  color: transparent;
  padding: 0;
  border-radius: 13px;
}

.pp-av.user-av {
  font-size: 0;
  font-weight: normal;
  color: transparent;
  padding: 0;
}

/* Live session, invites, roster rows */
.mc-av.user-av,
.ii-av.user-av,
.ev-roster-card-av.user-av,
.ev-roster-reorder-av.user-av,
.ri-av.user-av,
.tn-roster-av.user-av,
.sh-pool-av.user-av {
  font-size: 0;
  font-weight: normal;
  color: transparent;
  padding: 0;
}
