.avatar-photo-button{border:0;padding:0;overflow:hidden;cursor:zoom-in;box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.avatar-photo-button:hover{transform:scale(1.04)}
.avatar-photo{display:block;width:100%;height:100%;object-fit:cover}
.profile-photo-modal .modal-content{background:transparent;border:0;box-shadow:none}
.profile-photo-modal .modal-body{padding:0;display:flex;justify-content:center;align-items:center;position:relative}
.profile-photo-large{display:block;max-width:100%;max-height:86vh;object-fit:contain;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.45);background:#0d1422}
.profile-photo-close{position:absolute;right:14px;top:14px;z-index:2;background-color:rgba(0,0,0,.55);border-radius:999px;padding:.65rem;opacity:1}
.profile-photo-card{text-align:center}
.profile-photo-preview-wrap{width:132px;height:132px;margin:0 auto 18px;border-radius:30px;overflow:hidden;background:linear-gradient(135deg,#ddd6ff,#9a82ff);display:grid;place-items:center;color:#4027bb;font-size:2.4rem;font-weight:900;border:4px solid #fff;box-shadow:0 12px 30px rgba(31,40,70,.14)}
.profile-photo-preview-wrap.is-clickable{cursor:zoom-in}
.profile-photo-preview{width:100%;height:100%;object-fit:cover;display:block}
.profile-photo-help{font-size:.78rem;color:var(--muted);line-height:1.55}
.profile-photo-actions{display:grid;gap:10px;margin-top:15px}
.profile-photo-actions .btn{width:100%}
.profile-photo-file{font-size:.88rem}
@media(max-width:575.98px){.profile-photo-large{max-height:80vh;border-radius:13px}.profile-photo-close{right:8px;top:8px}.profile-photo-preview-wrap{width:112px;height:112px;border-radius:25px}}
