/* Shared round profile avatar (public/avatar.js). Navy/gold palette; fixed size so nothing shifts while a
   photo loads. The photo sits over the initials: until it arrives (or if it cannot load) the initials show. */
.ag-av{--ag-av-size:40px;position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:var(--ag-av-size);height:var(--ag-av-size);border-radius:50%;overflow:hidden;vertical-align:middle;
  background:#203D4E;color:#fff;font-family:Inter,Cairo,system-ui,sans-serif;font-weight:700;line-height:1;
  font-size:calc(var(--ag-av-size) * .38);letter-spacing:.01em;user-select:none;
  box-shadow:0 0 0 2px #fff,0 1px 3px rgba(16,40,61,.18);contain:layout paint}
.ag-av--xs{--ag-av-size:24px;box-shadow:0 0 0 1.5px #fff}
.ag-av--sm{--ag-av-size:32px}
.ag-av--md{--ag-av-size:40px}
.ag-av--lg{--ag-av-size:56px}
.ag-av--xl{--ag-av-size:96px;box-shadow:0 0 0 3px #fff,0 2px 8px rgba(16,40,61,.2)}
.ag-av[data-tone="0"]{background:#203D4E;color:#fff}
.ag-av[data-tone="1"]{background:#10283D;color:#E0B755}
.ag-av[data-tone="2"]{background:#C7A250;color:#10283D}
.ag-av[data-tone="3"]{background:#FFF5DF;color:#7F611C}
.ag-av[data-tone="4"]{background:#0B2D46;color:#F1D58A}
.ag-av[data-tone="5"]{background:#3D5A6C;color:#fff}
.ag-av__ini{pointer-events:none}
.ag-av__ghost{width:62%;height:62%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;opacity:.85}
.ag-av__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.ag-av.has-photo{background:#E9EEF2}

/* A person avatar with a small property photo on its corner (conversation lists). */
.ag-av-stack{position:relative;display:inline-flex;flex:none}
.ag-av-stack__thumb{position:absolute;inset-inline-end:-4px;bottom:-4px;width:22px;height:22px;border-radius:7px;overflow:hidden;
  background:#DCE4EB;box-shadow:0 0 0 2px #fff}
.ag-av-stack__thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* Messenger-style rows: the other person's photo beside their messages (only on the last of a run). */
.wf-msg-row{display:flex;align-items:flex-end;gap:8px;align-self:flex-start;max-width:86%;min-width:0}
.wf-msg-row>.wf-msg{max-width:none;min-width:0}
.wf-msg-row .ag-av-slot{width:28px;flex:none;margin-bottom:18px}
.wf-msg-row .ag-av-slot .ag-av{--ag-av-size:28px;font-size:11px}
@media (max-width:640px){.wf-msg-row{max-width:94%}}
.wf-thread-who{display:flex;align-items:center;gap:10px;min-width:0}
.wf-thread-who .wf-offer-meta{min-width:0}
.wf-conv .ag-av-stack{margin-inline-end:2px}
.ah-q-who{display:flex;align-items:center;gap:8px;margin:.35rem 0}
.ah-q-who small{color:#64748B}
.wf-offer-from{display:inline-flex;align-items:center;gap:6px}
.oc-person{display:inline-flex;align-items:center;gap:6px}
.am-nt-ic.has-person{background:transparent;padding:0;box-shadow:none}
.notif-item .ni-row{display:flex;align-items:flex-start;gap:10px;text-align:start}
.notif-item .ni-row>span:last-child{flex:1;min-width:0}
