#tcChatDock{position:fixed;left:18px;bottom:18px;z-index:240;background:linear-gradient(120deg,#07595d,#139686);border:2px solid #b6f9df;border-radius:24px;color:#fff;padding:13px 19px;box-shadow:0 8px 24px #042d3555;display:flex;align-items:center;gap:9px;font-weight:700}#tcChatDock em{background:#ffdc68;color:#163e43;padding:2px 7px;border-radius:20px;font-style:normal}#tcChatDock.has-unread{box-shadow:0 0 0 4px #1dd79d44,0 8px 24px #042d3555}.tc-dialog{width:min(1080px,calc(100vw - 24px));height:min(800px,92dvh);max-height:94dvh;border:0;padding:0;border-radius:20px;background:#eef5f4;color:#163d43;box-shadow:0 20px 80px #052f4666;overflow:hidden}.tc-dialog::backdrop,.tc-call::backdrop,.tc-incoming::backdrop{background:#042735aa;backdrop-filter:blur(4px)}.tc-dialog>header{height:66px;box-sizing:border-box;background:linear-gradient(110deg,#07535c,#0b8277);color:white;display:flex;align-items:center;justify-content:space-between;padding:12px 20px}.tc-dialog header b{font-size:20px}.tc-dialog header small{display:block;font-size:11px;color:#cbf5e8;margin-top:3px}.tc-dialog nav{display:flex;gap:8px}.tc-dialog button,.tc-call button,.tc-incoming button{cursor:pointer;border:0;border-radius:12px;padding:10px;font:inherit}.tc-dialog header button{background:#ffffff22;color:#fff}.tc-body{display:grid;grid-template-columns:310px minmax(0,1fr);height:calc(100% - 66px)}.tc-body>aside{position:static;inset:auto;transform:none;width:auto;background:white;display:flex;flex-direction:column;overflow:hidden;padding:12px;border-right:1px solid #d5e7e2}.tc-search{display:flex;align-items:center;gap:7px;background:#edf5f3;border-radius:12px;padding:8px;margin:0}.tc-search input{width:100%;min-width:0;background:transparent;border:0;padding:4px;outline:none}.tc-online-note{color:#0c855c;font-size:11px;margin:10px 4px}[data-tc-people]{overflow:auto;flex:1}.tc-person{display:flex;align-items:center;text-align:left;width:100%;gap:10px;background:white;color:#174448;margin-bottom:4px;border:1px solid transparent!important}.tc-person.selected{background:#def5eb;border-color:#62bda5!important}.tc-avatar{position:relative;display:grid;place-items:center;width:41px;height:41px;min-width:41px;border-radius:13px;background:linear-gradient(140deg,#b8e5df,#e0edf4);font-weight:800;font-size:13px;color:#0a5e62}.tc-avatar i{position:absolute;width:11px;height:11px;border:2px solid white;border-radius:50%;bottom:-1px;right:-1px}.tc-avatar .online{background:#09b56c}.tc-avatar .away{background:#e25660}.tc-person-text{min-width:0;flex:1}.tc-person-text b,.tc-person-text small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-person-text b{font-size:13px}.tc-person-text small{font-size:11px;margin-top:5px;color:#587674}.tc-person em{background:#0a9b74;color:white;font-size:11px;font-style:normal;padding:3px 7px;border-radius:20px}.tc-online{color:#078654!important}.tc-away{color:#9b4a52!important}.tc-thread{min-width:0;display:flex;flex-direction:column;background:radial-gradient(circle at 20% 40%,#fff8e3 0,transparent 45%),linear-gradient(135deg,#e7f1eb,#dcefeb);overflow:hidden}.tc-peer-head{display:flex;align-items:center;gap:10px;padding:13px 15px;background:#f8fffc;border-bottom:1px solid #d1e4db}.tc-peer-head>div{flex:1;min-width:0}.tc-peer-head b{font-size:14px;display:block}.tc-peer-head small{display:block;font-size:11px;color:#52726c;margin-top:4px}.tc-peer-head button{background:#e0f1e9;color:#0d675e}.tc-peer-head [data-tc-back]{display:none}.tc-messages{flex:1;min-height:120px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px;scroll-behavior:auto}.tc-messages article{max-width:85%;border-radius:14px;padding:10px 12px;box-shadow:0 2px 5px #16443512;overflow-wrap:anywhere}.tc-messages article.mine{align-self:flex-end;background:#d3f7df;border-bottom-right-radius:3px}.tc-messages article.theirs{align-self:flex-start;background:#fff;border-bottom-left-radius:3px}.tc-messages article p{white-space:normal;margin:0 0 5px;font-size:14px}.tc-messages article p:empty{display:none}.tc-messages [data-receipt]{font-size:9px;color:#5c7771;display:block;text-align:right;margin-top:5px}.tc-messages audio{max-width:100%;width:270px;height:40px}.tc-picture{max-width:260px;width:100%;max-height:260px;object-fit:contain;border-radius:10px}.tc-file-link{display:block;color:#075c60;font-size:10px;margin-top:5px}.tc-document{display:block;background:#e3f0eb;color:#135954;border-radius:9px;padding:12px;text-decoration:none}.tc-document small{display:block;margin-top:5px;font-size:10px;color:#58736e}[data-tc-status]{font-size:10px;color:#3a6561;padding:5px 14px;margin:0;background:#ffffff77}[data-tc-compose]{background:#f5fbf7;padding:9px 12px;border-top:1px solid #d0e7dc}[data-tc-compose][hidden]{display:none}.tc-compose{display:flex;gap:6px;align-items:end}.tc-compose>button,.tc-attach{background:#e0f0e7;color:#0d6d60;min-width:36px;min-height:40px;border-radius:12px;display:grid;place-items:center;margin:0}.tc-compose textarea{min-width:0;flex:1;border:1px solid #c2ded0;background:white;border-radius:15px;resize:vertical;min-height:40px;max-height:110px;padding:10px;font:14px/1.35 system-ui;box-sizing:border-box}.tc-compose [data-tc-send]{background:#048b6b;color:white}.tc-attach{position:relative;overflow:hidden;cursor:pointer;width:36px;flex-shrink:0}.tc-attach input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.tc-compose-foot{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:9px;color:#59796d;margin-top:5px}.tc-compose-foot button{padding:2px!important;font-size:9px!important;background:transparent;color:#95504a}.tc-voice-preview{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;align-items:center}.tc-voice-preview:empty{display:none}.tc-voice-preview audio{height:35px;max-width:100%}[data-tc-attachment]{font-size:10px;color:#2d6d5e;display:block;margin-bottom:4px;overflow-wrap:anywhere}.tc-empty{padding:20px;color:#657f7b;font-size:12px}.tc-call,.tc-incoming{border:0;border-radius:20px;background:#0b2936;color:white;width:min(900px,94vw);padding:18px;box-sizing:border-box}.tc-call header{display:flex;justify-content:space-between;align-items:center}.tc-call [data-end-call],.tc-incoming [data-decline]{background:#d84659;color:white}.tc-video-stage{position:relative;background:#061b25;border-radius:15px;overflow:hidden;min-height:260px;margin:12px 0}.tc-video-stage [data-remote]{width:100%;height:52dvh;object-fit:contain}.tc-video-stage [data-local]{position:absolute;bottom:14px;right:14px;width:25%;height:25%;border-radius:10px;background:#173847;object-fit:contain;border:1px solid #66928d}.tc-call-controls{display:flex;gap:8px;flex-wrap:wrap}.tc-call-controls button{background:#24515d;color:white}.tc-call small{display:block;color:#bdd5d8;font-size:10px;margin-top:10px}.tc-incoming{width:min(420px,92vw);text-align:center;padding:28px}.tc-incoming [data-accept]{background:#07966b;color:white;margin-right:12px}.tc-incoming p{color:#c9dce0;font-size:12px}.tc-dialog button:disabled,.tc-call button:disabled{opacity:.45;cursor:not-allowed}[data-tc-older]{font-size:10px!important;padding:5px!important;background:#f3f9ed;color:#245e55;border-radius:0!important}
@media(max-width:699px){.tc-dialog{width:100vw;height:94dvh;max-height:94dvh;border-radius:14px 14px 0 0;margin:6dvh 0 0;max-width:100vw}.tc-dialog>header{padding:10px 13px;height:60px}.tc-body{height:calc(100% - 60px);grid-template-columns:1fr}.tc-body>aside{border:0}.tc-thread{display:none}.tc-selected .tc-body>aside{display:none}.tc-selected .tc-thread{display:flex}.tc-peer-head [data-tc-back]{display:block}.tc-messages{padding:12px}.tc-messages article{max-width:90%}.tc-compose{gap:4px}.tc-compose>button,.tc-attach{min-width:30px;width:30px;font-size:15px!important;padding:5px!important}.tc-compose textarea{font-size:16px}.tc-compose-foot{font-size:8px}.tc-compose-foot button{font-size:8px!important}#tcChatDock{left:12px;bottom:12px;padding:11px 14px;font-size:12px}.tc-peer-head b{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-call{padding:12px}.tc-video-stage [data-remote]{height:43dvh}.tc-call-controls button{font-size:12px;padding:9px}.tc-call p{font-size:12px}}
/* Isolate the chat shell from the application's generic movable-dialog rules. */
.tc-dialog{position:fixed;inset:auto;top:3dvh;left:50%;transform:translateX(-50%);margin:0;box-sizing:border-box;min-width:0;resize:none;max-width:calc(100vw - 24px)}.tc-dialog[open]{display:flex;flex-direction:column}.tc-dialog>header{flex:0 0 auto}.tc-dialog .tc-body{flex:1;height:auto;min-height:0}.tc-dialog .tc-thread{min-height:0}.tc-dialog form{min-width:0}.tc-dialog .tc-messages{min-height:40px}.tc-dialog [data-tc-status]{max-height:42px;overflow:auto;flex-shrink:0}.tc-dialog [data-tc-compose],.tc-dialog .tc-peer-head{flex-shrink:0}.tc-call,.tc-incoming{min-width:0;resize:none;max-height:96dvh;overflow:auto}
@media(max-width:699px){.tc-dialog{inset:0;top:0;left:0;transform:none;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.tc-dialog .tc-body{height:auto}}
dialog.tc-dialog[open],dialog.tc-call[open],dialog.tc-incoming[open]{margin:0!important}dialog.tc-call[open],dialog.tc-incoming[open]{position:fixed;inset:auto;top:2dvh;left:50%;transform:translateX(-50%)}
@media(max-width:699px){.tc-compose>button,.tc-attach{min-width:40px;width:40px;min-height:44px}.tc-compose textarea{min-height:44px}}
