.contact-avatar{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#e5eef2;color:#43616e;display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;font-size:11px;font-weight:700;letter-spacing:.02em}
.contact-avatar.large{width:52px;height:52px;flex-basis:52px;font-size:18px}
.contact-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.contact-heading{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.contact-heading>div{flex:1;min-width:0}
.contact-identity{display:flex;align-items:center;gap:9px;overflow:hidden;min-width:0}
.contact-identity .c-name{min-width:0}
.photo-editor{margin:0 22px;border-bottom:1px solid var(--line);font-size:12px}
.photo-editor>summary{padding:10px 0;color:var(--ink-soft);cursor:pointer;width:fit-content}
.photo-content{padding:0 0 12px}
.photo-preview{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.photo-preview>div{display:flex;gap:6px;flex-wrap:wrap}
.photo-choose{position:relative;overflow:hidden;cursor:pointer}
.photo-file{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.photo-choose:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.photo-label{display:flex;flex-direction:column;gap:5px;color:var(--ink-soft);margin-top:10px}
.photo-link{padding:8px;border:1px solid var(--line);border-radius:7px;font:inherit;width:100%;box-sizing:border-box}
.photo-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.photo-actions a{text-decoration:none}
.photo-actions [hidden]{display:none}
.photo-help,.photo-status{font-size:11px;line-height:1.5;color:var(--ink-soft);margin:8px 0 0}
.photo-content .btn{font-size:11px;padding:6px 9px}
