:root { --app-headshot-size:48px; }
li.profile-nav img.force-headshot, img[src*="/assets/gallery/headshot/"], img.force-headshot, .team-profile-avatar, .student-community-list .community-pill,
#account-photo-preview, #teamPhotoPreview, #profilePhotoPreview, #profilePhotoModalPreview {
    width:var(--app-headshot-size) !important; height:var(--app-headshot-size) !important;
    min-width:var(--app-headshot-size) !important; max-width:var(--app-headshot-size) !important;
    min-height:var(--app-headshot-size) !important; max-height:var(--app-headshot-size) !important;
    flex:0 0 var(--app-headshot-size) !important; box-sizing:border-box !important;
    padding:0 !important; border:1px solid #dce7e9 !important; border-radius:50% !important; object-fit:cover !important; object-position:center !important;
}
.team-profile-avatar { overflow:hidden; }
.user-profile .hovercard .user-image .avatar { width:var(--app-headshot-size); height:var(--app-headshot-size); margin-inline:auto; margin-top:-24px; }
.headshot-file-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:8px; }
.headshot-file-tools .btn { min-height:44px; white-space:normal; }
.headshot-file-tools [hidden] { display:none !important; }
.headshot-file-status { flex-basis:100%; overflow-wrap:anywhere; }
.headshot-crop-dialog { width:min(460px,calc(100% - 24px)); max-width:calc(100% - 24px); max-height:calc(100% - 24px); padding:20px; border:0; border-radius:14px; color:#263238; background:#fff; overflow:auto; box-shadow:0 12px 48px #0004; }
.headshot-crop-dialog::backdrop { background:#0009; }
.headshot-crop-dialog h2 { margin:0 0 8px; font-size:1.25rem; }
.headshot-crop-dialog p { margin:0 0 12px; font-size:.875rem; }
.headshot-crop-stage { width:min(280px,100%,35vh); margin:12px auto; }
.headshot-crop-stage canvas { display:block; width:100%; height:auto; aspect-ratio:1; border-radius:50%; outline:2px solid #0a4d5f; background:#fff; cursor:grab; touch-action:none; }
.headshot-crop-stage canvas:focus-visible { outline:4px solid #155eef; outline-offset:4px; }
.headshot-crop-zoom { display:flex; gap:8px; align-items:center; }
.headshot-crop-zoom input { flex:1; min-width:0; height:44px; }
.headshot-crop-dialog button { min-width:44px; min-height:44px; white-space:normal; }
.headshot-crop-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; margin-top:12px; }
.headshot-crop-status { margin-top:8px; overflow-wrap:anywhere; }
@media(max-width:575.98px) { .headshot-crop-dialog { padding:16px; } .headshot-crop-actions button { flex:1; padding-inline:10px; } }

.user-profile .hovercard .user-image .icon-wrapper { left:calc(50% + 28px) !important; bottom:-22px !important; width:44px; height:44px; }
.student-profile-page .hovercard .user-image .icon-wrapper { bottom:2px !important; }
