.profile-photo-card{margin-bottom:20px}
.profile-photo-upload{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.profile-photo-preview{
  width:104px;height:104px;display:grid;place-items:center;flex:none;
  overflow:hidden;border:3px solid rgba(79,141,253,.35);border-radius:50%;
  background:var(--grad);color:#fff;font-size:1.8rem;font-weight:750;
  box-shadow:0 10px 28px -12px rgba(79,141,253,.55)
}
.profile-photo-preview img{width:100%;height:100%;object-fit:cover}
.profile-photo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.profile-photo-hint{flex-basis:100%;max-width:460px;color:var(--muted);font-size:.78rem;line-height:1.5}
.profile-photo-modal-overlay{z-index:500}
.profile-photo-modal{
  width:min(100%,560px);max-width:560px;max-height:calc(100vh - 32px);overflow:auto;
  background:var(--surface);color:var(--text);border-color:var(--border-strong)
}
.profile-photo-modal .modal-close{font-size:1.5rem;line-height:1}
.profile-photo-instructions{margin:-4px 0 14px;color:var(--muted);font-size:.83rem;line-height:1.5;text-align:center}
.profile-photo-crop-area{
  width:100%;height: min(54vh,360px);min-height:240px;overflow:hidden;
  position:relative;margin-bottom:14px;border:1px solid var(--border-strong);
  border-radius:14px;background:#101725
}
.profile-photo-crop-area img{display:block;max-width:100%}
.profile-photo-crop-area .cropper-view-box,
.profile-photo-crop-area .cropper-face{border-radius:50%}
.profile-photo-crop-area .cropper-view-box{outline:2px solid var(--accent-2);box-shadow:0 0 0 1px rgba(79,141,253,.35)}
.profile-photo-crop-area .cropper-line{background-color:var(--accent-2)}
.profile-photo-crop-area .cropper-point{background-color:var(--accent-2)}
.profile-photo-crop-area .cropper-bg{background-image:none;background:#101725}
.profile-photo-tools{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:10px;border:1px solid var(--border);border-radius:12px;background:rgba(127,145,170,.06)}
.profile-photo-tool{
  width:38px;height:38px;display:grid;place-items:center;flex:none;
  border:1px solid var(--border-strong);border-radius:10px;
  background:rgba(127,145,170,.08);color:var(--text);font-size:1.35rem;cursor:pointer
}
.profile-photo-tool:hover{border-color:var(--accent-2);color:var(--accent-2)}
.profile-photo-zoom{display:flex;align-items:center;gap:10px;flex:1;color:var(--muted)}
.profile-photo-zoom input{flex:1;min-width:40px;accent-color:var(--accent-2)}
.profile-photo-modal .modal-actions{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:560px){
  .profile-photo-upload{flex-direction:column;align-items:flex-start}
  .profile-photo-preview{width:88px;height:88px}
  .profile-photo-modal{padding:20px}
  .profile-photo-crop-area{height:42vh;min-height:220px}
}
