/* Compact communication log (log_entries/_log, _entry): one line per entry, expands inline (native <details>). */
.log-wrap { min-width:0; contain:inline-size; } /* long one-line previews never widen the page */
.log-toolbar { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; margin:.3rem 0 .5rem; }
.log-toolbar[hidden] { display:none; }
.log-toolbar .log-count { margin-left:auto; }
.log.log-compact > li.log-entry { padding:0; margin-bottom:.15rem; }
.log-item > summary.log-line { display:flex; align-items:center; gap:.45rem; padding:.25rem .6rem; cursor:pointer; list-style:none; min-height:1.8rem; font-size:.92rem; line-height:1.3; }
.log-item > summary.log-line::-webkit-details-marker { display:none; }
.log-item > summary.log-line::before { content:"▸"; color:var(--muted); flex:0 0 auto; width:.8rem; transition:transform .12s; }
.log-item[open] > summary.log-line::before { transform:rotate(90deg); }
.log-item > summary.log-line:hover { background:#f8fafc; }
.log-item > summary.log-line:focus-visible { outline:2px solid var(--brand); outline-offset:-2px; }
.log-item[open] > summary.log-line { border-bottom:1px solid var(--line); background:#f8fafc; }
.log-icon { flex:0 0 auto; width:1.3rem; text-align:center; }
.log-dir { flex:0 0 auto; font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.03em; border-radius:999px; padding:.05rem .45rem; border:1px solid var(--line); color:var(--muted); background:#fff; }
.log-dir-received { color:#1d4ed8; border-color:#bfdbfe; background:#eff6ff; }
.log-line-main { flex:1 1 0; width:0; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.log-who { font-weight:600; }
.log-subject { font-weight:600; color:var(--brand); }
.log-subject::before { content:"· "; color:var(--muted); font-weight:400; }
.log-preview { color:var(--muted); }
.log-clip, .log-flag { flex:0 0 auto; font-size:.85rem; color:var(--muted); white-space:nowrap; }
.log-when { flex:0 0 auto; margin-left:auto; font-size:.8rem; color:var(--muted); white-space:nowrap; }
.log-full { padding:.35rem .6rem .5rem 1.6rem; overflow-wrap:anywhere; }
.log-more { margin:.4rem 0; }
@media (max-width:600px) {
  .log-item > summary.log-line { flex-wrap:wrap; row-gap:.15rem; padding:.45rem .5rem; }
  .log-line-main { order:10; flex:1 0 100%; width:0; padding-left:1.25rem; box-sizing:border-box; }
  .log-full { padding-left:.6rem; }
}
