.row span,.chatrow span{min-width:0}
.chatrow time{flex:0 0 30px;text-align:right;white-space:nowrap}
.chatrow img.brandLogo,.chat header img.brandLogo{object-fit:contain!important;object-position:center!important;background:#fff;padding:6px}
.meetingButton{white-space:nowrap;min-width:88px;min-height:44px}
.chatrow{cursor:pointer}.chatrow:hover,.chatrow:focus-visible{background:var(--panel2)}
.connectionStatus{color:var(--muted);font-size:12px;margin:0 0 12px;overflow-wrap:anywhere}
.teamTools{margin-bottom:12px}.chatTools{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}
.teamTools input,.chatTools input,.chatTools button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px;min-height:44px}
.teamTools input{width:100%}.chatTools input{flex:1;min-width:0}.chatTools button{white-space:nowrap;cursor:pointer}
.chat header button{min-width:44px;min-height:44px}.chat footer button{min-height:44px;white-space:nowrap;flex-shrink:0}
.chat footer textarea{font:inherit;color:var(--text);max-height:150px}.chat #chatBody,.chat #meetingBody{min-height:0}
.sectionIntro{gap:8px}.sectionIntro>div{min-width:0}.sectionIntro p{white-space:normal;overflow-wrap:anywhere}
.chat #chatBody,.chat #meetingBody{padding:16px;flex:1;overflow:auto}
.bubble{white-space:pre-wrap;overflow-wrap:anywhere}
.bubble details{margin-top:8px}.bubble summary{cursor:pointer;color:var(--blue);min-height:44px;display:flex;align-items:center;touch-action:manipulation}
.bubble.owner{margin-left:auto;background:#17345b;border-radius:15px 5px 15px 15px}
.chat footer textarea{flex:1;resize:none;background:var(--panel);border:1px solid var(--line);color:var(--text);padding:12px;border-radius:10px;min-width:0}
.chat footer button:disabled{opacity:.55}
.chat #chatState,.chat #meetingState{min-height:28px;padding:7px 14px;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line)}
.chat.meeting{width:min(620px,94vw)}
.meetingReply{display:flex;align-items:flex-start;gap:9px}.meetingReply>img{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:0 0 38px}.meetingReply>img.brandLogo{object-fit:contain;background:#fff;padding:5px}.meetingReply .bubble{flex:1}
@media(max-width:720px){
  .modal.open{display:flex;align-items:center;justify-content:flex-start}.chat{width:calc(100vw - 16px);max-width:520px;margin-left:8px;margin-right:8px}
  .chatrow{gap:9px;padding:11px 10px}
  .chatrow img{width:48px;height:48px;flex:0 0 48px}
  .chatrow time{font-size:9px;flex-basis:24px}
  .sectionIntro button{max-width:none;line-height:1.2;white-space:nowrap;flex:0 0 auto}
  .sectionIntro{align-items:flex-start;position:relative}.sectionIntro p{max-width:200px}
  .sectionIntro .meetingButton{position:static;flex:0 0 auto;display:block!important;background:var(--panel)}
  .chat,.chat.meeting{height:min(760px,calc(100dvh - 16px));width:calc(100vw - 16px);max-width:620px}
  .chat footer textarea{font-size:16px;padding:10px}.chat footer{padding:10px;gap:6px}
}
