.person-photo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:inherit;overflow:hidden;font-weight:750}
.person-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.person-photo-editor{display:flex;gap:1.25rem;align-items:center;padding:1.25rem;border:1px solid #d4e5de;border-radius:1.25rem;background:#f5faf8;margin:1rem 0;max-width:100%}
.person-photo-preview{width:96px;height:96px;flex:0 0 96px;border-radius:50%;background:#d7eee5;color:#164c47;font-size:1.8rem;box-shadow:0 0 0 5px white}
.person-photo-editor p{font-size:.9rem;line-height:1.5;margin:.35rem 0 .65rem;max-width:36rem}.person-photo-editor small{display:block;color:#526e69;margin-top:.5rem}
.person-photo-upload{display:inline-flex;position:relative;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1rem;border-radius:.7rem;background:#176b67;color:white;font-weight:700;cursor:pointer;overflow:hidden}
.person-photo-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.person-photo-upload:focus-within{outline:3px solid #7ab7a4;outline-offset:3px}
.person-photo-editor .text-button{margin-left:.6rem}.professional-picker{grid-column:1/-1;min-width:0;border:0;padding:0;margin:.5rem 0}.professional-picker legend{font-weight:750;margin-bottom:.75rem}
.professional-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:.75rem;width:100%}
.professional-photo-choice{display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:1.15rem .75rem;border:1px solid #d6e4de;border-radius:1rem;background:#fff;color:#123b37;text-align:center;min-width:0;cursor:pointer;transition:background .15s,border-color .15s}
.professional-photo-choice.selected{background:#edf8f3;border:2px solid #176b67;padding:calc(1.15rem - 1px) calc(.75rem - 1px)}.professional-photo-choice:hover{border-color:#176b67}.professional-photo-choice:focus-visible{outline:3px solid #70b8a6;outline-offset:3px}
.professional-photo-choice strong{overflow-wrap:anywhere}.professional-photo-choice small{font-weight:400;color:#52736c;line-height:1.4}.professional-photo-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:64px;height:64px;border-radius:50%;background:#e2f0e9;color:#194b43;box-shadow:0 0 0 3px var(--person-color,#d5e6dc);font-size:1.5rem}
.team-avatar,.booking-avatar,.client-directory .avatar,.client-profile .avatar{overflow:hidden;flex-shrink:0;padding:0}
@media(max-width:480px){.person-photo-editor{align-items:flex-start;padding:1rem;gap:.8rem}.person-photo-preview{width:64px;height:64px;flex-basis:64px;font-size:1.2rem}.person-photo-editor .text-button{margin-left:0;display:block}.professional-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-photo-editor p{font-size:.82rem}}
