/* TrustHours v5: comms pages (Chat › Messages, Meetings, Discord, Ask AI).
   Tokens only, ui- prefix only. Shared chat shell lives in app.css (.ui-chat). */

/* =========================== Ask AI =========================== */
.ui-comms-ask{max-width:820px;width:100%;display:flex;flex-direction:column;gap:14px}
.ui-comms-ask .ui-card.ui-pad-l{gap:12px}
.ui-comms-ask .ui-in{padding:10px 12px;font-size:13.5px}
.ui-comms-sug{font:500 12px var(--font-body);color:var(--slate);background:var(--soft);border:0;border-radius:var(--r-chip);padding:6px 10px;cursor:pointer;white-space:nowrap;transition:background var(--m-quick)}
.ui-comms-sug:hover{background:var(--iris-tint)}
.ui-comms-qa{display:flex;flex-direction:column;gap:10px;animation:thfade var(--m-fade) ease-out both}
.ui-comms-q{align-self:flex-end;max-width:80%;background:var(--ink);color:var(--white);border-radius:var(--r-card);padding:10px 14px;font:400 13.5px/1.5 var(--font-body);word-wrap:break-word}
.ui-comms-a{padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.ui-comms-a-tx{font:400 13.5px/1.6 var(--font-body);color:var(--ink);word-wrap:break-word}
.ui-comms-a-tx.ui-c-red{color:var(--red)}
.ui-comms-a-tx b{font-weight:700}
.ui-comms-fact{background:var(--soft);border-radius:var(--r-control);padding:8px 12px;min-width:0}
.ui-comms-fact>div{font:400 11px var(--font-body);color:var(--muted)}
.ui-comms-fact>b{display:block;font:700 16px/1.05 var(--font-display);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:3px}
.ui-comms-thinking{display:flex;align-items:center;gap:5px;font:500 12.5px var(--font-body);color:var(--muted)}
.ui-comms-thinking i{width:6px;height:6px;border-radius:50%;background:var(--iris-pale);animation:thfade var(--m-fade) ease-out both}
.ui-comms-thinking i:nth-child(2){animation-delay:120ms}
.ui-comms-thinking i:nth-child(3){animation-delay:240ms}
.ui-comms-thinking span{margin-left:6px}

/* =========================== Chat: sidebar =========================== */
.ui-comms-chat{grid-template-columns:210px minmax(0,1fr);height:calc(100vh / var(--z,1) - 136px);min-height:560px}
.ui-comms-side{background:var(--row-hover);padding:14px 10px}
.ui-comms-grp{display:flex;align-items:center;justify-content:space-between;font:600 10.5px/1 var(--font-body);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--muted);padding:0 8px 6px;min-height:20px}
.ui-comms-side .ui-chat-item{padding:7px 8px;white-space:nowrap}
.ui-comms-side .ui-chat-item .ui-sb-badge{padding:1px 6px}
.ui-comms-pre{color:var(--muted);display:inline-grid;place-items:center;width:12px;flex:none;font:500 13px var(--font-body)}
.ui-chat-item.ui-on .ui-comms-pre{color:var(--iris)}
.ui-comms-add{width:20px;height:20px;border-radius:var(--r-tag);border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;padding:0}
.ui-comms-add:hover{background:var(--soft);color:var(--ink)}
.ui-comms-none{padding:2px 8px;margin:0}
.ui-comms-online{margin-left:auto;width:7px;height:7px}
.ui-comms-online+.ui-sb-badge{margin-left:6px}
.ui-comms-newsp{color:var(--muted)}

/* =========================== Chat: thread =========================== */
.ui-comms-chat .ui-chat-hd{min-height:58px}
.ui-comms-chat .ui-chat-hd>.ui-ellip{flex:1;min-width:0}
.ui-comms-topic{margin-left:8px}
.ui-comms-topacts{margin-left:auto;flex:none;flex-wrap:nowrap}
.ui-comms-back{display:none}
.ui-comms-pins{display:flex;gap:10px;align-items:flex-start;padding:9px 18px;border-bottom:1px solid var(--soft);background:var(--row-hover);color:var(--muted);font:400 12.5px/1.5 var(--font-body)}
.ui-comms-pins>svg{flex:none;margin-top:3px;color:var(--iris)}
.ui-comms-pins>div{min-width:0;flex:1;color:var(--slate)}
.ui-comms-pins b{color:var(--ink);font-weight:600}
.ui-comms-day{display:flex;align-items:center;gap:10px;font:600 10.5px/1 var(--font-body);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--muted)}
.ui-comms-day::before,.ui-comms-day::after{content:'';flex:1;height:1px;background:var(--soft)}
.ui-comms-sys{text-align:center;font:500 12px var(--font-body);color:var(--muted)}
.ui-comms-msg{position:relative;padding:2px 0;border-radius:var(--r-chip);transition:background var(--m-quick)}
.ui-comms-msg:hover{background:var(--row-hover)}
.ui-comms-msg .ui-av{width:32px;height:32px;font-size:11.5px}
.ui-comms-cont{margin-top:-10px}
.ui-comms-avgap{width:32px;flex:none}
.ui-comms-mhead{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ui-comms-mhead b{font:600 13px var(--font-body);color:var(--ink)}
.ui-comms-mhead small{font:400 11px var(--font-body);color:var(--muted)}
.ui-comms-msg .ui-msg-tx{color:var(--ink);margin-top:2px}
.ui-comms-msg .ui-msg-tx a{word-break:break-all}
.ui-comms-mention{color:var(--iris-text);background:var(--iris-tint);border-radius:var(--r-tag);padding:0 3px;font-weight:600}
.ui-comms-mention.ui-comms-me{background:var(--warn-tint);color:var(--amber-text)}
.ui-comms-flash{background:var(--iris-tint)}
.ui-comms-quote{border-left:3px solid var(--iris-pale);padding:3px 10px;margin:3px 0 4px;font:400 12px/1.45 var(--font-body);color:var(--slate);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--soft);border-radius:0 var(--r-tag) var(--r-tag) 0}
.ui-comms-quote b{color:var(--ink);font-weight:600}
/* hover actions */
.ui-comms-mact{position:absolute;top:-6px;right:6px;display:none;gap:2px;padding:2px;background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-control);box-shadow:var(--sh-pop)}
.ui-comms-msg:hover .ui-comms-mact,.ui-comms-mact:has(.ui-comms-rxpop){display:flex}
.ui-comms-mact>button{width:26px;height:26px;border:0;background:transparent;color:var(--slate);border-radius:var(--r-chip);cursor:pointer;display:grid;place-items:center}
.ui-comms-mact>button:hover{background:var(--soft);color:var(--ink)}
.ui-comms-rxpop{position:absolute;top:32px;right:0;z-index:5;display:grid;grid-template-columns:repeat(5,30px);gap:2px;padding:6px;background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-control);box-shadow:var(--sh-pop)}
.ui-comms-rxpop button{width:30px;height:30px;border:0;background:transparent;border-radius:var(--r-chip);cursor:pointer;font-size:16px}
.ui-comms-rxpop button:hover{background:var(--soft)}
.ui-comms-rxs{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}
.ui-comms-rx{border:1px solid var(--hairline);background:var(--white);border-radius:var(--r-chip);padding:1px 7px;font:600 11.5px var(--font-body);color:var(--slate);cursor:pointer}
.ui-comms-rx:hover{background:var(--soft)}
.ui-comms-rx.ui-on{border-color:var(--iris-pale);background:var(--iris-tint);color:var(--iris-text)}
/* files in a message */
.ui-comms-imgs{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.ui-comms-imgs a{display:block;border-radius:var(--r-control);overflow:hidden;border:1px solid var(--hairline)}
.ui-comms-imgs img{max-width:240px;max-height:180px;object-fit:cover}
.ui-comms-docs{display:flex;flex-direction:column;gap:6px;margin-top:6px;max-width:360px}
.ui-comms-doc{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--hairline);border-radius:var(--r-control);background:var(--white);color:var(--ink);font:500 12.5px var(--font-body);min-width:0}
.ui-comms-doc:hover{border-color:var(--card-hover)}
.ui-comms-doc .ui-ellip{flex:1}
.ui-comms-fic{width:28px;height:28px;border-radius:var(--r-chip);background:var(--iris-tint);color:var(--iris);display:grid;place-items:center;flex:none}
.ui-comms-fthumb{width:28px;height:28px;border-radius:var(--r-chip);object-fit:cover;flex:none}

/* =========================== Chat: composer =========================== */
.ui-comms-comp{border-top:1px solid var(--soft)}
.ui-comms-comp .ui-chat-ft{border-top:0;position:relative;align-items:flex-end}
.ui-comms-typing{padding:6px 18px 0;min-height:0;font-size:11.5px}
.ui-comms-typing:empty{display:none}
.ui-comms-text.ui-ta{min-height:34px;height:34px;padding:7px 12px;resize:none;font-size:13px;line-height:1.45}
.ui-comms-comp .ui-chat-ft>.ui-btn{flex:none}
.ui-comms-replying{display:flex;align-items:center;gap:8px;margin:10px 18px 0;padding:7px 10px;background:var(--iris-tint);border-radius:var(--r-control);font:400 12px var(--font-body);color:var(--slate)}
.ui-comms-replying>svg{color:var(--iris);flex:none}
.ui-comms-replying .ui-ellip{flex:1}
.ui-comms-replying b{color:var(--ink);font-weight:600}
.ui-comms-atts{display:flex;gap:6px;flex-wrap:wrap;padding:10px 18px 0}
.ui-comms-atts[hidden]{display:none}
.ui-comms-att{display:flex;align-items:center;gap:8px;max-width:260px;padding:5px 6px 5px 5px;border:1px solid var(--hairline);border-radius:var(--r-control);background:var(--white);font:500 12px var(--font-body);color:var(--ink);min-width:0}
.ui-comms-att img{width:28px;height:28px;border-radius:var(--r-chip);object-fit:cover;flex:none}
.ui-comms-att .ui-ellip{flex:1}
.ui-comms-att.ui-comms-pending{opacity:.6}
.ui-comms-x{width:22px;height:22px;border:0;border-radius:var(--r-tag);background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;flex:none;padding:0}
.ui-comms-x:hover{background:var(--soft);color:var(--ink)}
.ui-comms-msug{position:absolute;left:60px;bottom:calc(100% - 4px);width:min(300px,calc(100% - 80px));background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--sh-pop);padding:6px;z-index:6}
.ui-comms-msug .ui-pop-item{gap:10px}
.ui-comms-msug .ui-pop-item b{font-weight:600}
.ui-pop-item.ui-comms-sel{background:var(--iris-tint)}
.ui-comms-grow{flex:1}
.ui-comms-pickrow{width:100%;border:0;background:var(--white);cursor:pointer;text-align:left}

/* =========================== In-call window (Jitsi) =========================== */
#comms-call:empty{display:none}
.ui-comms-call{position:fixed;inset:0;z-index:105;background:var(--lightbox);display:flex;flex-direction:column;animation:thfade var(--m-quick) ease-out both}
.ui-comms-call-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 20px;background:var(--white);border-bottom:1px solid var(--hairline)}
.ui-comms-call-hd>.ui-ellip b{display:block;font:700 14.5px var(--font-display);letter-spacing:-.01em;color:var(--ink)}
.ui-comms-call-hd>.ui-ellip span{display:block;font:400 11.5px var(--font-body);color:var(--muted)}
.ui-comms-call>.ui-callout{margin:10px 20px 0;border-radius:var(--r-control)}
.ui-comms-call-bd{flex:1;min-height:0;margin:12px 20px 20px;border-radius:var(--r-card);overflow:hidden;background:var(--ink)}
.ui-comms-call-bd iframe{width:100%;height:100%;border:0;display:block}
.ui-comms-callerr{color:var(--on-ink-70);height:100%}
.ui-comms-callerr p{color:var(--on-ink-70)}
.ui-comms-recchip b{font:700 11px var(--font-body);font-variant-numeric:tabular-nums}
.ui-comms-call-hd .ui-btn .ui-sdot{width:7px;height:7px}

/* =========================== Meetings =========================== */
.ui-comms-mgrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:14px;align-items:start}
.ui-comms-mrow{display:flex;align-items:center;gap:14px;padding:13px 18px;min-width:0}
.ui-comms-mrow .ui-li-main b{font-size:13.5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ui-comms-mrow .ui-li-main b.ui-ellip{display:block}
.ui-comms-mrow>.ui-btn,.ui-comms-mrow>.ui-link{flex:none}
.ui-comms-click{cursor:pointer;transition:background var(--m-quick)}
.ui-comms-click:hover{background:var(--row-hover)}
.ui-comms-mdate{width:46px;flex:none;text-align:center;background:var(--iris-tint);border-radius:var(--r-control);padding:6px 0;color:var(--iris-text)}
.ui-comms-mdate span{display:block;font:700 9.5px var(--font-body);text-transform:uppercase}
.ui-comms-mdate b{display:block;font:800 16px var(--font-display)}
.ui-comms-mdate.ui-comms-mlive{background:transparent;padding:0;width:auto}
.ui-comms-mthumb{width:52px;height:34px;border-radius:var(--r-chip);background:var(--ink);color:var(--white);display:grid;place-items:center;flex:none}
.ui-comms-mthumb svg{fill:currentColor}
.ui-comms-mthumb.ui-comms-novid{background:var(--soft);color:var(--slate)}
.ui-comms-mthumb.ui-comms-novid svg{fill:none}
/* recording player (drawer) */
.ui-comms-video{width:100%;max-height:52vh;border-radius:var(--r-card);background:var(--ink);display:block}
.ui-comms-ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font:400 13px/1.55 var(--font-body);color:var(--ink)}
.ui-comms-transcript{white-space:pre-wrap;font:400 12.5px/1.65 var(--font-body);color:var(--ink);background:var(--row-hover);border:1px solid var(--soft);border-radius:var(--r-control);padding:12px 14px;max-height:46vh;overflow:auto}

/* =========================== Discord =========================== */
.ui-comms-dgrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px;align-items:start}
.ui-comms-dmember{padding:9px 18px;gap:10px}
.ui-comms-dmember .ui-av{width:28px;height:28px;font-size:10px}
.ui-comms-dmember .ui-li-main b{font-weight:500}
.ui-comms-dframe{display:block;width:100%;height:560px;border:0;background:var(--soft)}
.ui-comms-dframe.ui-comms-dwidget{height:420px}

/* =========================== responsive =========================== */
@media (max-width:900px){
  .ui-comms-chat{grid-template-columns:minmax(0,1fr);height:calc(100vh - 150px);min-height:420px}
  .ui-comms-back{display:grid}
  .ui-comms-chat .ui-chat-hd{padding:10px 12px;gap:8px}
  .ui-comms-topic{display:none}
  .ui-comms-chat .ui-chat-msgs{padding:14px 12px}
  .ui-comms-comp .ui-chat-ft{padding:10px 12px}
  .ui-comms-call-hd{padding:10px 12px}
  .ui-comms-call-bd{margin:8px}
}
@media (max-width:600px){
  .ui-comms-q{max-width:92%}
  .ui-comms-mrow{gap:10px;padding:12px 14px}
  .ui-comms-imgs img{max-width:100%}
  .ui-comms-dframe{height:460px}
}
