/* v103: profile award/role frame alignment — avatar fills the frame hole, no double ring.
   Frame SVGs use viewBox -8 -8 120 120 (ring concentric, star has headroom).
   Inner hole ~= 65% of frame render => avatar sized to sit flush inside the ring. */
.profile-avatar-award{
  width:114px!important;height:114px!important;
  position:relative!important;display:grid!important;place-items:center!important;
  overflow:visible!important;flex:0 0 auto!important;
}
.profile-avatar-award .profile-avatar,
.profile-avatar-award #profileAvatar{
  width:80px!important;height:80px!important;
  border-radius:50%!important;overflow:hidden!important;
  clip-path:circle(50% at 50% 50%)!important;-webkit-clip-path:circle(50% at 50% 50%)!important;
  position:relative!important;z-index:1!important;
  /* kill the competing green ring that caused the double-bingkai */
  box-shadow:none!important;
  background:#e8f5e9!important;
  display:grid!important;place-items:center!important;padding:0!important;
}
.profile-avatar-award .profile-photo,
.profile-avatar-award #profilePhoto{
  width:100%!important;height:100%!important;
  border-radius:50%!important;object-fit:cover!important;object-position:center center!important;
  display:block!important;
}
.profile-avatar-award .profile-award-frame,
.profile-avatar-award #profileAwardFrame{
  position:absolute!important;inset:0!important;
  width:114px!important;height:114px!important;
  object-fit:contain!important;z-index:2!important;pointer-events:none!important;
}
/* No frame shown (regular student / no award): clean single green ring, larger avatar.
   Driven by the real DOM state — JS adds .hidden to #profileAwardFrame when no frame. */
.profile-avatar-award:has(#profileAwardFrame.hidden) .profile-avatar,
.profile-avatar-award:has(#profileAwardFrame.hidden) #profileAvatar{
  width:82px!important;height:82px!important;
  box-shadow:0 0 0 3px #2e7d32,0 4px 14px rgba(15,23,42,.12)!important;
}
