.conv{display:flex;align-items:center;gap:13px;padding:13px 10px;cursor:pointer;border-radius:11px;transition:background-color .15s}
.conv+.conv{border-top:1px solid var(--email)}
.conv:hover{background:var(--email)}
.conv .t{font-weight:600;font-size:15.5px}
.conv .s{color:var(--muted);font-size:13.8px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22ch}
.conv .right{margin-left:auto;text-align:right;flex-shrink:0}
.conv .dt{color:var(--faint);font-size:12.7px}
.conv.nonlu{background:var(--ciel)}
.conv.nonlu .t{font-weight:700}
.conv.nonlu .s{color:var(--text)}

.fil{max-height:52vh;overflow-y:auto;display:flex;flex-direction:column;gap:7px;padding:2px 2px 11px}
.bulle{max-width:72%;padding:8px 14px 9px;border-radius:15px;font-size:14.9px;line-height:1.4;word-break:break-word;text-align:left}
.bulle .tx{white-space:pre-wrap}
.bulle.moi{align-self:flex-end;background:var(--azur);color:#fff;border-bottom-right-radius:4px}
.bulle.lui{align-self:flex-start;background:var(--ciel);border-bottom-left-radius:4px}
.bulle.nouvelle{animation:monte .3s var(--ease)}
.bulle .h{font-size:11.6px;opacity:.75;margin-bottom:1px;font-weight:600;line-height:1.3}
.saisie{display:flex;gap:11px;align-items:flex-end;border-top:1px solid var(--border);padding-top:13px}
.saisie textarea{flex:1;font-family:inherit;font-size:15.5px;padding:10px 13px;border:1.5px solid var(--trait);border-radius:11px;resize:vertical;min-height:44px;max-height:132px;transition:border-color .2s,box-shadow .2s}
.saisie textarea:focus{outline:none;border-color:var(--azur);box-shadow:0 0 0 3px rgba(12,156,240,.3)}
