:root{font-family:Inter,"Segoe UI",sans-serif;color:#eaf0fa;background:#081326;color-scheme:dark;--panel:#101e34;--line:#22324c;--muted:#91a2bb;--blue:#3787ff;--bubble:#182b45}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:10px;padding:10px 14px}button:hover{border-color:var(--blue)}button.primary{background:var(--blue);border-color:var(--blue);color:white}input,select{width:100%;padding:12px;background:var(--panel);border:1px solid var(--line);color:inherit;border-radius:10px}label{display:block;margin:15px 0 6px;color:var(--muted);font-size:13px}h1,h2,h3,p{margin-top:0}small,.muted{color:var(--muted)}.login{max-width:440px;margin:10vh auto;padding:34px;border:1px solid var(--line);border-radius:22px;background:var(--panel)}.logo{font-weight:800;letter-spacing:2px;font-size:20px}.logo em{color:var(--blue);font-style:normal}.tag{font-size:10px;letter-spacing:3px;color:var(--muted);margin:8px 0 30px}.login h1{font-size:26px}.login button{margin-top:22px;width:100%}.shell{display:grid;grid-template-columns:88px 340px 1fr;height:100dvh}.rail{padding:28px 10px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px;align-items:center}.mark{background:var(--blue);border-radius:12px;padding:12px;font-weight:900;margin-bottom:28px}.rail button{width:66px;font-size:12px;border-color:transparent;padding:12px 4px}.rail button.active{background:#16355b;color:#65aaff}.side{border-right:1px solid var(--line);overflow:auto;padding:26px 18px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.top h2{font-size:23px;margin:0}.room{display:flex;gap:12px;padding:16px 10px;cursor:pointer;border-radius:12px;margin:6px 0}.room:hover,.room.selected{background:var(--panel)}.avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;background:#1f4775;color:#9bcaff;border-radius:14px;font-weight:700}.room .info{overflow:hidden;flex:1}.room strong{font-size:14px}.preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:12px;margin-top:7px}.badge{background:var(--blue);border-radius:10px;padding:2px 7px;font-size:12px;height:20px}.main{min-width:0;display:flex;flex-direction:column}.chathead{padding:22px 28px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center}.chathead strong{display:block}.chathead small{display:block;margin-top:5px}.chathead input{width:220px;margin-left:auto}.feed{flex:1;overflow:auto;padding:28px 7%;display:flex;flex-direction:column;gap:20px}.message{max-width:78%;align-self:flex-start}.message.mine{align-self:flex-end}.sender{color:var(--muted);font-size:11px;margin:0 5px 7px}.bubble{border-radius:4px 16px 16px 16px;background:var(--bubble);padding:14px 18px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.mine .bubble{background:#2466bd;border-radius:16px 4px 16px 16px;color:white}.meta{display:flex;align-items:center;gap:8px;font-size:11px;margin:7px 5px;color:var(--muted)}.meta button{padding:2px 6px;font-size:11px;background:transparent}.composer{padding:18px 28px;border-top:1px solid var(--line);display:flex;gap:12px}.composer input{flex:1}.empty{margin:auto;text-align:center;max-width:420px;padding:30px}.empty h1{font-size:30px}.translate-pill{font-size:11px;padding:6px 10px;border-radius:20px;background:#133a37;color:#7bd5bd;display:inline-block}.content{padding:28px;overflow:auto}.card{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:15px 0}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row select{width:auto}.row button{margin-left:auto}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formgrid label{margin:0}.notice{padding:12px;border:1px solid #355c83;border-radius:10px;color:var(--muted);font-size:13px;line-height:1.6;margin:18px 0}.error{color:#ff9d9d;font-size:13px}.back{display:none}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#2c4262;color:white;padding:12px 20px;border-radius:12px;display:none;z-index:9}.light{--panel:#fff;--line:#dbe3ee;--muted:#64748b;--bubble:#eaf1fa;background:#f5f8fc;color:#15233b;color-scheme:light}.light .rail button.active{background:#dbeaff}.light .translate-pill{background:#d7f3eb;color:#227760}.light .avatar{background:#dbeaff;color:#3163a0}@media(max-width:900px){.shell{grid-template-columns:76px 270px 1fr}.chathead{padding:16px}.chathead input{width:140px}.feed{padding:20px}.side{padding:22px 10px}}@media(max-width:650px){.shell{display:flex;flex-direction:column;padding-bottom:72px}.rail{position:fixed;bottom:0;height:72px;background:var(--panel);width:100%;padding:4px;flex-direction:row;justify-content:space-around;border-top:1px solid var(--line);z-index:5;gap:0}.rail .mark{display:none}.rail button{font-size:11px;padding:10px 0;width:20%;border-radius:8px}.side{height:100%;border:0;padding:24px 16px}.main{height:100%;display:none}.shell.chatopen .side{display:none}.shell.chatopen .main{display:flex}.shell.secondary .side{display:none}.shell.secondary .main{display:flex}.chathead{padding:14px 12px;flex-wrap:wrap}.chathead input{width:100%;margin:5px 0 0}.back{display:block;padding:6px 10px}.feed{padding:20px 14px}.message{max-width:88%}.composer{padding:12px}.formgrid{grid-template-columns:1fr}.login{margin:5vh 16px;padding:28px}.content{padding:18px}.top h2{font-size:22px}}

.admin-entry{width:100%;margin:0 0 22px;background:#245ea8;color:white;border-color:#3787ff;font-weight:700}.file-picker{display:none}.upload-status:not(:empty){padding:10px 28px;color:var(--muted);font-size:13px}.chat-image{display:block;max-width:100%;width:auto;max-height:360px;border-radius:10px;object-fit:contain}.chat-video{display:block;width:100%;max-width:420px;max-height:360px;border-radius:10px;background:#000}.attachment-name{font-size:12px;margin-top:9px;overflow-wrap:anywhere}.attachment-download{display:inline-block;margin-top:9px;color:inherit;font-size:12px;text-decoration:underline}.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px}.stat-card strong{display:block;font-size:26px;margin-bottom:8px}.audit-event{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.content .row{margin-top:12px}.message:has(.chat-image),.message:has(.chat-video){min-width:180px}video:focus{outline:2px solid var(--blue)}@media(max-width:650px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.composer{gap:7px}.composer button{padding:10px}.chat-video{max-width:100%}.content .row select{max-width:100%}}

.shell{overflow:hidden}.main,.side,.feed{min-height:0}.chathead{flex-wrap:wrap}.chathead>div:not(.avatar){min-width:0;flex:1}.chathead strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chathead input{width:100%;flex-basis:100%;margin-left:0}.main .content{min-height:0}.composer input[type=text]{min-width:0}@media(min-width:1100px){.chathead input{flex-basis:auto;width:220px;margin-left:auto}}

.file-row{padding:12px 0;border-bottom:1px solid var(--line)}.file-row span,.file-row small{display:block}

.chat-image{width:260px;height:240px;object-fit:contain;background:#0b172a}.chat-video{width:320px;height:200px;object-fit:contain}.feed{overflow-anchor:none;scroll-behavior:auto}.chathead,.composer,.upload-status{flex-shrink:0}
@media(max-width:650px){.chat-image{width:240px;height:240px}.chat-video{width:260px;height:170px}}

.feed{overflow-x:hidden}.chat-image,.chat-video{max-width:100%}


.translation-original{margin-top:10px;padding-top:8px;border-top:1px solid #ffffff55;font-size:.9em;white-space:pre-wrap}.translation-review{color:#e1a845}

.image-open{display:block;padding:0;border:0;background:transparent;max-width:100%;cursor:zoom-in}.image-open:focus-visible{outline:3px solid #fff}.image-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#050a13;color:white}.image-viewer[open]{display:flex;flex-direction:column}.image-viewer::backdrop{background:#000e}.viewer-bar{display:flex;gap:10px;align-items:center;padding:12px;padding-top:max(12px,env(safe-area-inset-top));flex-shrink:0}.viewer-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.viewer-download{color:white;font-size:13px}.viewer-stage{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;touch-action:pan-x pan-y}.viewer-image{display:block;width:100%;height:100%;object-fit:contain;user-select:none}.viewer-stage.zoomed{display:block}.viewer-stage.zoomed .viewer-image{max-width:none;max-height:none}.viewer-navigation{display:flex;align-items:center;justify-content:center;gap:24px;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.incoming-banner{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:30;display:flex;max-width:94vw;padding:8px;background:#16355b;border:1px solid #3787ff;border-radius:14px;box-shadow:0 6px 30px #0008}.incoming-banner button{border:0;background:transparent}.incoming-banner button:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta{flex-wrap:wrap}

/* Compact conversation layout. */
.chathead{background:linear-gradient(110deg,#0787f5,#00b1e7);color:#fff;border:0;padding:16px 22px;gap:12px;flex-wrap:wrap}.chathead .back{display:block}.chathead>div.chat-tools{flex:0 0 auto;display:flex;gap:4px}.chathead strong{font-size:18px;font-weight:650}.chathead small{color:#ddf2ff;font-size:12px;margin-top:4px}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-button svg,.send-message svg{width:25px;height:25px;display:block}.chathead button{border:0;background:transparent;color:#fff;padding:7px}.chathead .back svg{width:22px}.chathead .chat-search{flex-basis:100%;width:100%;margin:0;background:#ffffffef;color:#15233b;border:0}.chat-search[hidden]{display:none!important}.chathead .chat-search::placeholder{color:#64748b}.chathead .avatar{display:none}.composer{background:var(--panel);gap:10px;align-items:center;padding:10px 18px}.composer input[type=text]{border:0;background:transparent;border-radius:0;padding:12px 3px;font-size:16px;min-width:0}.composer .attach-button{order:2;border:0;background:transparent;color:var(--muted);padding:9px}.composer .send-message{order:3;border:0;background:transparent;color:#0787f5;padding:9px}.composer .send-message:hover{background:#0787f514}.composer .send-message:disabled{opacity:.4}.feed{padding:22px 28px;gap:18px}.message{max-width:80%}.bubble{background:var(--bubble);padding:10px 14px;border-radius:14px;line-height:1.5}.mine .bubble{border-radius:14px;background:#d9efff;color:#102d47}.meta{font-size:10px;gap:5px;margin:5px 2px;max-width:320px}.meta button{padding:1px 4px}.media-message .bubble,.media-message.mine .bubble{padding:0;background:transparent;color:inherit;border-radius:12px}.chat-image{width:280px;height:300px;object-fit:cover;background:var(--panel);border-radius:12px}.chat-video{width:280px;height:340px;background:#081326;border-radius:12px}.attachment-name{font-size:10px;color:var(--muted);margin-top:5px}.attachment-download{font-size:10px;color:var(--muted);margin-top:3px}.light .feed{background:#e5e9f2}.light .bubble{background:#fff;color:#1d293d}.light .mine .bubble{background:#d9efff}.light .media-message .bubble{background:transparent}.light .sender{color:#62728a}.light .translation-review{color:#97700b}.chat-details{max-width:min(430px,92vw);width:100%;padding:22px;background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:18px}.chat-details::backdrop{background:#0008}.chat-details .row{justify-content:space-between}.chat-details h3{margin:0;flex:1}.incoming-banner{top:82px;background:var(--panel);border-color:var(--line);color:inherit}.incoming-banner button{color:inherit}
@media(max-width:650px){.shell.chatopen{padding-bottom:0}.shell.chatopen .rail{display:none}.chathead{padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));gap:8px}.chathead strong{font-size:17px}.chathead small{font-size:11px}.chathead>div:not(.chat-tools){min-width:0;flex:1}.chathead>div.chat-tools{flex:0 0 auto}.chathead .icon-button{padding:6px}.chathead .chat-search{margin-top:5px}.feed{padding:16px 14px;gap:18px}.message{max-width:86%}.sender{font-size:10px}.chat-image{width:min(280px,75vw);height:290px}.chat-video{width:min(280px,75vw);height:360px}.composer{padding:8px 12px;padding-bottom:max(8px,env(safe-area-inset-bottom));border-color:#d7dde7}.composer input[type=text]{font-size:16px}.composer .attach-button,.composer .send-message{padding:7px}.composer .icon-button svg,.composer .send-message svg{width:26px;height:26px}.incoming-banner{top:max(70px,calc(env(safe-area-inset-top) + 70px));font-size:13px;width:calc(100% - 20px)}.viewer-name{font-size:11px}.viewer-bar{gap:6px}.viewer-bar button{padding:8px}}

/* The media viewer always uses explicit dark controls, independent of app theme. */
.image-viewer{color-scheme:dark;--panel:#172337;--line:#40536e;color:#f8fafc}
.image-viewer button{appearance:none;-webkit-appearance:none;background:#172337;color:#f8fafc;border:1px solid #40536e;min-width:44px;min-height:44px;font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.image-viewer button:hover{background:#263b58;border-color:#78b5ff}
.image-viewer button:focus-visible{outline:3px solid #78b5ff;outline-offset:2px}
.image-viewer button:disabled{background:#101a2a;color:#8293ab;border-color:#29394f;opacity:1;cursor:default}
.image-viewer .viewer-download{color:#f8fafc}

.video-status{font-size:12px;padding:7px 2px;color:var(--muted)}

.session-row{padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.session-row strong,.session-row small{display:block}.session-row p{font-size:12px;margin:6px 0}

.conversation-toolbar{background:linear-gradient(110deg,#0787f5,#00b1e7);padding:16px 18px;margin:0;gap:12px;color:#fff;position:sticky;top:0;z-index:2}.conversation-toolbar>svg{width:25px;height:25px;flex-shrink:0}.conversation-toolbar input{background:transparent;border:0;color:#fff;padding:8px 0;font-size:17px;min-width:0}.conversation-toolbar input::placeholder{color:#fff}.conversation-toolbar .new-conversation{background:transparent;border:0;color:#fff;font-size:32px;line-height:1;padding:4px}.side{padding:0}.roomlist{padding:0}.room{border-radius:0;margin:0;padding:18px 16px;align-items:center;gap:14px;border-bottom:1px solid var(--line);min-height:88px}.room .avatar{width:54px;height:54px;border-radius:50%;font-size:23px}.company-avatar{background:#123451;color:#fff;font-size:24px;font-weight:800}.person-avatar{background:#dcefff;color:#2b78b3}.room strong{display:block;font-size:16px;font-weight:500}.room .preview{font-size:13px;margin-top:5px}.unread-room strong,.unread-room .preview{font-weight:700;color:inherit}.room-status{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:9px;flex-shrink:0}.room-time{font-size:11px;color:var(--muted)}.room .badge{background:#ff515c;color:white;min-width:22px;height:22px;text-align:center;border-radius:12px;padding:3px 6px;font-size:12px}.nav-icon{display:block;font-size:23px;line-height:1.2;margin-bottom:4px}.nav-label{display:block;font-size:11px}.rail button.active{color:#0787f5}.light .side{background:#fff}.light .room{border-bottom-color:#edf0f4}.light .room.selected{background:#eef6ff}.light .rail button.active{background:transparent}.light .rail{background:#fff}.light .rail button{color:#8c939e}.light .rail button.active{color:#0787f5}@media(max-width:650px){.side{padding:0}.conversation-toolbar{padding:13px 18px;padding-top:max(13px,env(safe-area-inset-top));min-height:70px}.room{padding:17px 16px;min-height:90px}.room .avatar{width:54px;height:54px}.rail{height:72px;padding:4px 6px;padding-bottom:max(4px,env(safe-area-inset-bottom));border-right:0}.rail button{padding:6px 0}.shell:not(.chatopen){padding-bottom:72px}}

.rail .nav-icon{width:25px;height:25px;display:block;margin:0 auto 5px}.rail button{position:relative}.nav-badge{position:absolute;top:2px;right:12%;background:#ff515c;color:white;border-radius:12px;min-width:19px;padding:2px 5px;font-size:10px}.nav-badge[hidden]{display:none}

@media(max-width:650px){.side{scrollbar-width:none}.side::-webkit-scrollbar{display:none}}

/* Desktop sign-in */
.login-stage{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:clamp(24px,6vw,88px);gap:64px;background:#f3f6fb;color:#15233b;color-scheme:light}.login-intro{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:56px;border-radius:28px;color:white;background:radial-gradient(ellipse at top right,#176fa6,transparent 65%),linear-gradient(145deg,#07172e,#103c70);overflow:hidden}.login-brand{font-size:14px;letter-spacing:4px;font-weight:700}.login-emblem{width:80px;height:80px;display:grid;place-items:center;background:#ffffff15;border:1px solid #ffffff30;border-radius:24px;font-size:48px;font-weight:700;margin:64px 0 30px}.login-intro h2{font-size:clamp(28px,3vw,44px);line-height:1.3;margin:0 0 20px}.login-intro p{color:#b9d3ec;line-height:1.8;max-width:320px}.login-brand-foot{margin-top:64px;letter-spacing:3px;font-size:12px;color:#a1c3e4}.login-stage .login{width:100%;max-width:420px;margin:auto;padding:24px 0;background:transparent;border:0;box-shadow:none}.login-stage .logo{font-size:25px;letter-spacing:1px;color:#132e53;font-weight:800}.login-stage .tag{color:#718096;margin-top:8px}.login-stage h1{font-size:23px;line-height:1.5;margin:32px 0 24px}.login-stage input,.login-stage select{background:white;color:#15233b;border:1px solid #d8e1ee;border-radius:12px;padding:15px}.login-stage label{color:#45556f;font-size:13px;margin-top:24px}.login-stage .primary{width:100%;margin-top:28px;padding:15px;font-weight:700;background:#1268e8;border-color:#1268e8;box-shadow:0 8px 20px #1268e822}.login-stage input:focus,.login-stage select:focus{outline:3px solid #1268e822;border-color:#1268e8}.profile-name-form button{margin-top:16px}@media(max-width:750px){.login-stage{display:flex;padding:32px 24px;min-height:100dvh}.login-intro{display:none}.login-stage .login{padding:20px 0}}

img.login-emblem{object-fit:contain;width:120px;height:120px;border-radius:50%;padding:0;background:white}img.mark{object-fit:contain;width:44px;height:44px;border-radius:50%;padding:0}

img.login-emblem,img.mark{background:transparent;border:0;border-radius:0;object-fit:contain}

img.login-emblem{width:200px;height:150px;object-fit:contain;font-size:0;margin:32px 0 24px}

.member-picker{max-height:40dvh;overflow:auto;margin:16px 0}.member-option{padding:10px 0;cursor:pointer}.member-option[hidden]{display:none}.add-members .primary{margin-top:16px}

.presence-label{color:#8491a5;font-size:12px;white-space:nowrap}.presence-label:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#8491a5;margin-right:5px}.presence-label.online{color:#14865b}.presence-label.online:before{background:#20b47b}.member-presence{justify-content:space-between;padding:10px 0}

.notification-summary{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:650;margin:8px 0 14px}.notification-summary svg{width:24px;height:24px;color:#0787f5}.notification-total{margin-left:auto;background:#e4f0ff;color:#1268e8;padding:4px 12px;border-radius:20px}.notification-list{max-width:760px;margin-top:18px}.notification-card{display:flex;width:100%;align-items:center;gap:15px;text-align:left;background:var(--panel);padding:20px;margin:12px 0;border-radius:16px;border:1px solid var(--line);box-shadow:0 4px 14px #122c5310}.notification-card:hover{border-color:#0787f5;transform:translateY(-1px)}.notification-card .avatar{border-radius:50%;width:48px;height:48px}.notification-info{flex:1;min-width:0}.notification-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.notification-caption{display:block;margin-top:6px;color:var(--muted);font-size:12px}.notification-count{border-radius:20px;background:#ff515c;color:white;padding:5px 9px;min-width:28px;text-align:center}.notification-empty{text-align:center;padding:64px 20px;color:var(--muted)}.notification-empty svg{width:52px;height:52px;margin-bottom:18px;color:#0787f5}.sound-check{font-size:12px;padding:8px 12px;color:#1268e8;background:#e4f0ff;border:0}.incoming-banner{box-shadow:0 8px 28px #102d4728;border-left:4px solid #0787f5;padding:12px;border-radius:16px}

.usage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.usage-stat{padding:14px;border-radius:12px;background:#0787f50c}.usage-stat small,.usage-stat strong{display:block}.usage-stat strong{font-size:24px;margin-top:8px;color:#1268e8}.google-usage progress{width:100%;height:10px;accent-color:#1268e8}.google-usage p{font-size:12px;line-height:1.6}@media(max-width:650px){.usage-stat{padding:10px}.usage-stat strong{font-size:19px}}

.account-actions .logout-button{display:block;width:100%;margin-top:16px;min-height:48px;border:1px solid #df4b57;background:#fff0f1;color:#b42332;font-weight:700;border-radius:12px}.account-actions .logout-button:hover{background:#ffe0e3}

.group-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid #dce5ef}.chat-details .logout-button{color:#b42332;border-color:#df4b57;background:#fff0f1}

.room-peer-line,.chat-peer-line{display:flex;align-items:center;gap:8px;min-width:0}.room-peer-line strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.room-peer-line .presence-label{font-size:10px;max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-peer-line .presence-label{font-size:12px;color:rgba(255,255,255,.9)}.chat-peer-line .presence-label.online:before,.room-peer-line .presence-label.online:before{content:"";display:inline-block;width:6px;height:6px;background:#22c55e;border-radius:50%;margin-right:4px}
/* Mobile conversation polish: single header, restrained spacing and clear hierarchy. */
@media(max-width:650px){
 .conversation-toolbar{background:#087fe7;min-height:60px;padding:10px 16px;gap:10px;border-bottom:1px solid #ffffff20}
 .conversation-toolbar>svg{width:22px;height:22px}
 .conversation-toolbar input{font-size:16px;min-height:40px}
 .conversation-toolbar .new-conversation{font-size:27px;min-width:40px;min-height:40px;padding:0;border-radius:12px;background:#ffffff12}
 .room{min-height:82px;padding:14px 16px;gap:12px;align-items:center}
 .room .avatar{width:48px;height:48px;font-size:21px;border-radius:18px;background:#e9f2fc;color:#2863a0;font-weight:650}
 .room strong{font-size:15px;font-weight:600;line-height:1.4}
 .room .preview{font-size:13px;line-height:1.5;margin-top:4px;color:#768295}
 .room-peer-line{gap:6px;flex-wrap:wrap}
 .room-peer-line strong{flex-basis:100%}
 .room-peer-line .presence-label{font-size:10px;line-height:1.2;max-width:150px}
 .room-time{font-size:10px;white-space:nowrap}
 .room-status{justify-content:flex-start;padding-top:3px;gap:7px}
 .rail{height:64px;padding:4px 8px;border-top:1px solid #e8edf3}
 .rail .nav-icon{width:23px;height:23px;margin-bottom:3px}
 .rail .nav-label{font-size:10px;font-weight:500}
 .rail button{padding:5px 0;border-radius:12px}
 .shell:not(.chatopen){padding-bottom:64px}
 .light .room.selected{background:#f0f6fd}
 .chathead{background:#087fe7;min-height:60px}
 .light .feed{background:#f2f5fa}
}
.pinned-message,.reply-draft:not(:empty){padding:10px 16px;display:flex;gap:8px;align-items:center;background:var(--panel);border-bottom:1px solid var(--line);font-size:13px}.pinned-message[hidden]{display:none}.pinned-message button:first-child,.reply-draft span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.reply-quote{border-left:3px solid #0787f5;background:#0787f512;border-radius:6px;padding:7px 10px;margin-bottom:5px;font-size:12px;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-actions{padding:0 8px;font-size:20px;min-height:28px;background:transparent;border:0;color:var(--muted);align-self:flex-start}.message-menu{display:flex;flex-direction:column;gap:10px}.message-menu button{text-align:left;padding:12px}
.typing-indicator[hidden]{display:none!important}.chathead .typing-indicator{color:#c7fff0;font-size:12px;font-weight:500}
.media-preview{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.media-grid>p{grid-column:1/-1}.media-tile{position:relative;aspect-ratio:1;padding:0;overflow:hidden;border-radius:10px;background:#e5edf7;min-width:0;border:1px solid var(--line)}.media-tile img{width:100%;height:100%;object-fit:cover;display:block}.video-play{display:block;color:#087fe7;font-size:27px}.video-filename{display:block;padding:5px;font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#335475}.media-gallery{width:min(760px,94vw);max-width:760px;max-height:85dvh;overflow:auto}.media-gallery>input,.media-gallery>select{margin-top:10px;width:100%}.gallery-video{width:min(720px,94vw);max-width:720px}.gallery-video video{width:100%;max-height:65dvh;background:#101827;border-radius:12px}.gallery-video h3{font-size:14px;overflow-wrap:anywhere;margin:10px 0}

.composer{position:relative}.mention-button{border:0;background:transparent;color:#0787f5;font-weight:700;font-size:22px;padding:8px}.mention-menu{position:absolute;bottom:100%;left:12px;width:min(320px,90vw);max-height:260px;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 8px 28px #0002;z-index:20}.mention-menu[hidden],.mention-button[hidden]{display:none!important}.mention-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:12px;color:inherit}.mention-menu button:hover{background:#0787f518}

.attachment-draft{display:flex;gap:10px;padding:10px 16px;overflow-x:auto;background:var(--panel);border-top:1px solid var(--line)}.attachment-draft[hidden]{display:none!important}.attachment-draft-card{display:flex;align-items:center;gap:8px;flex:0 0 auto;max-width:260px;padding:6px;border:1px solid var(--line);border-radius:10px}.attachment-draft-card img{width:68px;height:68px;object-fit:cover;border-radius:6px}.attachment-draft-card span{max-width:130px;overflow-wrap:anywhere;font-size:12px}.attachment-draft-card button{padding:6px}

.ios-push-prompt{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border-bottom:1px solid var(--line);font-size:13px}.ios-push-prompt span{flex:1}.ios-push-prompt button{white-space:nowrap;color:#0787f5}

.incoming-banner{position:fixed;left:auto;right:24px;top:24px;transform:none;width:320px;max-width:calc(100vw - 32px);padding:8px;background:#fff;color:#15233b;border:1px solid #e4eaf2;border-radius:18px;box-shadow:0 12px 40px #10234222;z-index:60;animation:notification-enter .22s ease-out;display:flex;align-items:center;gap:4px}.incoming-banner .incoming-open{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:6px;text-align:left;color:inherit;white-space:normal}.incoming-mark{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#102343,#1c4665);color:#fff;font-size:22px;font-weight:800}.incoming-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.incoming-room{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incoming-label{font-size:12px;color:#718198}.incoming-dot{width:7px;height:7px;border-radius:50%;background:#20cba4;flex-shrink:0}.incoming-banner .incoming-close{color:#7a8798;padding:8px;font-size:18px;border-radius:50%}.incoming-banner .incoming-close:hover{background:#eff3f8}@keyframes notification-enter{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}
@media(max-width:650px){.incoming-banner{top:calc(env(safe-area-inset-top,0px) + 8px);left:50%;right:auto;transform:translateX(-50%);width:min(330px,calc(100vw - 28px));max-width:calc(100vw - 28px);padding:5px 8px;border-radius:32px;background:#101827;color:#fff;border:1px solid #ffffff1c;box-shadow:0 10px 30px #0003;gap:0}.incoming-banner .incoming-open{gap:10px;padding:4px 6px}.incoming-mark{width:34px;height:34px;flex-basis:34px;border-radius:50%;font-size:18px;background:#203a50}.incoming-copy{gap:1px}.incoming-room{font-size:13px}.incoming-label{font-size:11px;color:#b0bccb}.incoming-banner .incoming-close{color:#b9c6d5;padding:8px}.incoming-banner .incoming-close:hover{background:#ffffff12}}
@media(prefers-reduced-motion:reduce){.incoming-banner{animation:none}}

.login form .remember-email{display:flex;align-items:center;gap:9px;margin:8px 0 14px;font-size:14px;cursor:pointer}.remember-email input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#1266e8}
/* Workspace 24: consistent spacing, calm colors and compact controls. */
:root{font-family:"Segoe UI","Noto Sans TC","Microsoft JhengHei",sans-serif;--blue:#4b83ff;--focus:#91b5ff;--panel:#14223a;--line:#293950;--muted:#a4b1c6;--bubble:#1c304c}body.light{--blue:#2465df;--focus:#2465df;--panel:#fff;--line:#e3e9f1;--muted:#6b7a90;--bubble:#fff;background:#f5f7fb;color:#1c2c44}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}textarea{padding:12px;background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:12px;resize:vertical;width:100%;line-height:1.6}textarea:focus{outline:2px solid var(--focus);outline-offset:1px}button:disabled{opacity:.55;cursor:default}.shell{grid-template-columns:84px 330px minmax(0,1fr)}.side{display:flex;flex-direction:column;overflow:hidden}.roomlist{flex:1;min-height:0;overflow:auto;padding:8px}.conversation-toolbar{position:static;flex-shrink:0;background:var(--panel);color:inherit;padding:22px 18px 12px;gap:10px;border:0}.conversation-toolbar input{background:transparent;color:inherit;font-size:14px}.conversation-toolbar input::placeholder{color:var(--muted)}.conversation-toolbar>svg{color:var(--muted);width:20px;height:20px}.conversation-toolbar .new-conversation{color:var(--blue);background:#4182ef10;border:1px solid var(--line);width:34px;height:34px;border-radius:10px;font-size:24px}.room-filters{display:flex;gap:4px;overflow-x:auto;flex-shrink:0;padding:4px 14px 10px;scrollbar-width:none}.room-filters button{white-space:nowrap;border:0;padding:7px 10px;font-size:12px;border-radius:8px;color:var(--muted);background:transparent}.room-filters button.active{background:#2465df16;color:var(--blue);font-weight:650}.workspace-shortcuts{display:flex;justify-content:space-between;gap:6px;border-bottom:1px solid var(--line);padding:0 16px 12px;flex-shrink:0}.workspace-shortcuts button{font-size:11px;border:0;background:transparent;color:var(--muted);padding:4px}.room{margin:2px 0;padding:13px 10px;min-height:78px;border:0;border-radius:12px;gap:11px}.light .room{border:0}.light .room:hover{background:#f5f7fb}.light .room.selected{background:#eaf1fd}.room .avatar{width:44px;height:44px;font-size:19px;border-radius:15px}.light .company-avatar{background:#e9edf9;color:#465b95}.light .person-avatar{background:#e3f3ee;color:#28715a}.room strong{font-size:14px;font-weight:650}.room-peer-line{flex-wrap:wrap;gap:3px}.room-peer-line strong{flex-basis:100%}.room-peer-line .presence-label{max-width:100%;font-size:10px}.room-status{gap:4px;max-width:64px;justify-content:flex-start;padding-top:2px}.room-time{font-size:10px}.room-flag{font-size:9px;color:var(--muted)}.room .badge{font-size:10px;min-width:18px;height:18px;padding:2px 5px;background:#2465df}.rail{background:#0f203a;padding:22px 8px;gap:10px;border:0}.light .rail{background:#0f203a}.rail button,.light .rail button{color:#93a7c5;background:transparent}.rail button.active,.light .rail button.active{background:#ffffff12;color:#fff}.rail .mark{width:42px;height:42px;margin:2px 0 22px}.rail .nav-label{font-size:10px}.chathead{background:var(--panel);color:inherit;min-height:78px;padding:15px 26px;border-bottom:1px solid var(--line);gap:12px}.light .chathead{background:#fff;color:#1c2c44}.chathead strong{font-size:16px;font-weight:650}.chathead small,.chat-peer-line .presence-label{color:var(--muted)}.chat-peer-line .presence-label.online{color:#22865e}.chathead .typing-indicator{color:#168268}.chathead .chat-tools{flex:0 0 auto!important;margin-left:auto;display:flex;gap:6px}.chat-tools button,.chathead .back{color:var(--muted);background:transparent;border:0}.chathead .chat-search{background:var(--panel);color:inherit;border:1px solid var(--line)}.light .feed{background:#f3f6fa}.feed{gap:16px;padding:26px clamp(18px,4vw,64px)}.message{max-width:min(78%,640px)}.bubble{padding:11px 15px;border-radius:3px 16px 16px 16px;line-height:1.65;font-size:14px;border:1px solid var(--line);box-shadow:0 2px 5px #172b4d04}.light .bubble{background:#fff;color:#21344d}.light .mine .bubble{background:#e4edff;color:#19385e;border-color:#dbe6fc}.sender{font-size:11px;margin-bottom:5px}.message-actions{font-size:19px;min-height:22px;line-height:1;padding:2px 6px}.meta{font-size:10px;gap:6px;margin:6px 2px}.meta button{font-size:10px;border:0}.reaction-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.reaction-list:empty{display:none}.reaction-list button{padding:3px 7px;font-size:12px;border-radius:14px;background:var(--panel)}.reaction-list button.chosen{border-color:var(--blue);background:#2465df13}.saved-marker{font-size:10px;color:var(--muted);padding:3px}.composer{align-items:flex-end;background:var(--panel);padding:14px 20px 8px;gap:9px;border-top:1px solid var(--line)}.composer textarea{flex:1;min-width:0;min-height:44px;max-height:128px;resize:none;padding:10px 12px;font-size:14px;background:#8099ba0a}.composer .attach-button,.composer .mention-button,.composer .send-message{width:38px;height:42px;padding:8px;flex-shrink:0}.composer .send-message{border-radius:12px;background:#2465df;color:#fff}.composer .send-message svg{width:22px;height:22px}.composer-hint{flex-shrink:0;padding:0 24px 10px;background:var(--panel);color:var(--muted);font-size:10px}.paste-chat-image{font-size:11px;max-width:72px;padding:5px}.main.drag-over{outline:3px dashed var(--blue);outline-offset:-10px}.message-highlight .bubble{outline:2px solid #e4a330;outline-offset:4px}.content{padding:30px;max-width:1200px;width:100%;margin:0 auto}.content>h2{font-size:23px;letter-spacing:-.5px}.chat-details{background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 24px 100px #0d23452e}.chat-details::backdrop{background:#0b1a3566;backdrop-filter:blur(3px)}.workspace-dialog{width:min(620px,94vw);max-height:88dvh;overflow:auto}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.dialog-heading h3{font-size:18px;margin:0}.dialog-heading button{background:transparent;border:0;padding:3px 8px;font-size:24px;color:var(--muted)}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.detail-actions button{font-size:12px;text-align:left;padding:12px;background:#7399c508}.message-menu{gap:5px;padding:16px;max-width:360px}.message-menu>button{border:0;border-radius:10px;padding:12px;font-size:14px}.message-menu>button:hover{background:#2465df0d}.message-menu .danger{color:#c53b4c}.reaction-picker{display:flex;gap:4px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:5px}.reaction-picker button{border:0;padding:6px;flex:1;font-size:21px;text-align:center}.library-dialog{width:min(760px,94vw);max-width:760px}.library-controls{display:flex;gap:10px}.library-controls input{flex:1;min-width:0}.library-controls select{width:145px}.library-status{margin:14px 0;font-size:12px}.library-results{display:flex;flex-direction:column;gap:12px}.library-item{padding:16px;border:1px solid var(--line);border-radius:14px;overflow-wrap:anywhere}.library-item small{font-size:11px}.library-text{white-space:pre-wrap;font-size:14px;line-height:1.6;margin:10px 0}.library-image{width:96px;height:80px;object-fit:cover;float:right;margin-left:12px;border-radius:8px}.library-link{display:block;font-size:12px;color:var(--blue);margin:8px 0;overflow-wrap:anywhere}.text-action{color:var(--blue);border:0;background:transparent;padding:7px 0;font-size:12px}.empty-panel{padding:48px 20px;text-align:center;color:var(--muted);font-size:14px}.poll-option{display:block;width:100%;text-align:left;margin:8px 0;background:#7298c508;line-height:1.5}.poll-option.chosen{color:var(--blue);border-color:var(--blue)}.poll-card h4{margin:0 0 10px}.poll-card>p{font-size:12px;margin:12px 0 0}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:650;color:var(--muted)}.meeting-hero{background:var(--panel);border:1px solid var(--line);padding:28px;border-radius:18px;margin-bottom:24px}.meeting-hero h3{font-size:26px;margin:13px 0 10px;letter-spacing:-.5px}.meeting-hero p{font-size:13px;line-height:1.6;margin-bottom:22px}.meeting-hero .primary{font-size:13px;border-radius:10px}.meeting-tabs{display:flex;gap:8px;margin:18px 0}.meeting-tabs button{border:0;background:transparent;color:var(--muted);font-size:13px}.meeting-tabs button.active{color:var(--blue);background:#2465df12}.meeting-list{display:flex;flex-direction:column;gap:14px}.meeting-card{display:flex;align-items:flex-start;gap:20px;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.meeting-date{width:54px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;border-radius:12px;padding:10px 3px;background:#2465df0c;color:var(--blue);gap:4px}.meeting-date strong{font-size:25px;line-height:1.1}.meeting-date small{font-size:11px}.meeting-body{flex:1;min-width:0}.meeting-body h3{font-size:18px;margin:8px 0;overflow-wrap:anywhere}.meeting-body>p{font-size:12px;line-height:1.7;margin:8px 0}.meeting-agenda{white-space:pre-wrap;overflow-wrap:anywhere}.meeting-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}.meeting-actions select{width:auto;padding:8px;font-size:12px}.join-meeting{padding:9px 13px;background:#2465df;color:#fff;border-radius:9px;text-decoration:none;font-size:12px}.calendar-link{color:var(--blue);font-size:12px}.cancelled{color:#b84655;font-size:12px}.meeting-form label{font-size:12px}.meeting-form p{font-size:11px;line-height:1.6;margin:12px 0}.meeting-form .primary{margin-top:12px}.attachment-draft,.reply-draft,.pinned-message{flex-shrink:0}
@media(max-width:1000px) and (min-width:651px){.shell{grid-template-columns:72px 280px minmax(0,1fr)}.room-filters{padding-left:8px;padding-right:8px;gap:1px}.room-filters button{padding:7px 8px}.composer{padding-left:12px;padding-right:12px}.feed{padding:20px}.chat-peer-line{flex-wrap:wrap}.chathead{padding:15px 18px}}
@media(max-width:650px){.shell{display:flex;grid-template-columns:none}.rail,.light .rail{background:var(--panel);border-top:1px solid var(--line);height:calc(62px + env(safe-area-inset-bottom));padding-bottom:max(4px,env(safe-area-inset-bottom))}.rail button,.light .rail button{color:var(--muted)}.rail button.active,.light .rail button.active{color:var(--blue);background:transparent}.shell:not(.chatopen){padding-bottom:calc(62px + env(safe-area-inset-bottom))}.shell.chatopen{padding-bottom:0}.shell.chatopen .rail{display:none}.side{height:100%}.conversation-toolbar{min-height:62px;padding:14px 18px 8px;padding-top:max(14px,env(safe-area-inset-top));background:var(--panel)}.conversation-toolbar input{font-size:16px;min-height:34px}.conversation-toolbar .new-conversation{background:#2465df0d;color:var(--blue)}.room-filters{gap:6px}.room-filters button{font-size:12px}.workspace-shortcuts{padding-bottom:10px}.roomlist{padding:6px 8px}.room{min-height:82px;padding:13px 10px}.room strong{font-size:15px}.room .avatar{width:46px;height:46px}.chathead,.light .chathead{min-height:68px;padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top));background:var(--panel);color:inherit;flex-wrap:wrap}.chathead>div:not(.chat-tools){min-width:0;flex:1}.chat-peer-line{flex-wrap:wrap;gap:4px}.chathead strong{font-size:15px}.chathead small{font-size:10px}.chathead .chat-tools{gap:2px}.chathead .back{padding:6px}.feed{padding:20px 14px;gap:16px}.message{max-width:88%}.composer{padding:10px 10px max(10px,env(safe-area-inset-bottom));gap:5px}.composer textarea{font-size:16px;padding:9px 10px}.composer .attach-button,.composer .mention-button,.composer .send-message{width:34px;height:42px;padding:6px}.composer-hint{display:none}.paste-chat-image{font-size:10px;max-width:40px}.chat-details{padding:18px;border-radius:18px;max-width:94vw}.workspace-dialog{max-height:88dvh}.library-controls{gap:6px}.library-controls select{width:115px;padding:10px;font-size:12px}.library-controls input{font-size:16px;padding:10px}.reaction-picker button{font-size:22px;padding:7px 4px}.content{padding:22px 16px}.meeting-hero{padding:22px}.meeting-hero h3{font-size:23px}.meeting-card{padding:18px;gap:12px}.meeting-date{width:44px}.meeting-body h3{font-size:16px}.meeting-actions{gap:12px}.detail-actions{grid-template-columns:1fr 1fr}.message-menu{width:min(360px,94vw)}}
/* Chat flow 25 — conversation stays visible while browsing shared content. */
.shell{grid-template-columns:64px 294px minmax(0,1fr)}
.rail,.light .rail{padding:16px 5px;background:#123d6b;gap:7px}.rail .mark{width:38px;height:38px;margin:0 0 20px}.rail button{width:54px;border-radius:9px;padding:12px 3px}.rail .nav-label{font-size:10px}.rail .nav-icon{width:24px;height:24px}
.side{padding:0}.conversation-toolbar{margin:0;padding:18px 16px 13px;gap:8px}.conversation-toolbar input{background:#8296b010;border:0;padding:10px 8px;border-radius:7px;min-width:0}.conversation-toolbar>svg{display:none}.conversation-toolbar .new-conversation{width:32px;height:34px;flex-shrink:0;border:0;background:transparent}
.room-filters{padding:2px 12px 10px;gap:1px}.room-filters button{padding:6px 8px;font-size:12px;border-radius:6px}.workspace-shortcuts{padding:0 16px 11px}.roomlist{padding:4px 0}.room{border-radius:0;margin:0;min-height:82px;padding:13px 16px;gap:11px}.light .room.selected{background:#e8f1ff}.room .avatar{border-radius:50%;width:46px;height:46px}.room strong{font-size:14px}.room .preview{margin-top:5px;font-size:12px}.room-peer-line .presence-label{display:none}.room-time{font-size:10px}.room-status{gap:6px}.room-flag{font-size:9px}.room:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
.chat-stage{display:flex;flex:1;min-height:0;min-width:0;position:relative;overflow:hidden}.chat-column{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.chathead,.light .chathead{min-height:72px;padding:12px 24px;flex-wrap:nowrap;background:var(--panel)}.chathead .back{display:none}.chathead strong{font-size:17px}.chathead .chat-tools{gap:8px}.chat-tools button{width:36px;height:36px;border-radius:7px;padding:7px}.chat-tools button:hover,.chat-info-toggle[aria-expanded=true]{color:var(--blue);background:#2465df0b}.chathead small{font-size:11px}.chat-peer-line{flex-wrap:nowrap}.chat-peer-line .presence-label{font-size:10px}
.feed{padding:22px 30px;gap:19px;background:#0e1b2b}.light .feed{background:#edf1f5}.message{position:relative;max-width:min(82%,620px);padding:0}.bubble{font-size:14px;padding:11px 14px;border-radius:10px;line-height:1.65;box-shadow:0 1px 2px #10213a06}.mine .bubble{border-radius:10px}.light .mine .bubble{background:#dcecff;border-color:#d3e4fb}.sender{margin:0 2px 5px;font-size:11px}.mine>.sender{display:none}.meta{margin:5px 2px 0;font-size:10px;gap:5px}.meta .translation-review{font-size:9px;color:#928157}.message-quick-tools{position:absolute;display:flex;left:100%;bottom:20px;margin-left:5px;border:1px solid var(--line);border-radius:7px;padding:2px;background:var(--panel);box-shadow:0 3px 12px #14223a0b;opacity:0;pointer-events:none;z-index:3}.mine .message-quick-tools{left:auto;right:100%;margin:0 5px 0 0}.message:hover>.message-quick-tools,.message:focus-within>.message-quick-tools{opacity:1;pointer-events:auto}.message-quick-tools[hidden]{display:none}.message-quick-tools button{width:28px;height:29px;min-height:0;padding:5px;font-size:20px;line-height:1;border:0;border-radius:5px;background:transparent;color:var(--muted)}.message-quick-tools button:hover{color:var(--blue);background:#2465df0c}.message-quick-tools svg{width:17px;height:17px}.message-quick-tools .message-actions{position:static}.reaction-list{gap:4px;margin-top:5px}.reply-quote{max-width:none;font-size:12px}
.composer{display:flex;flex-direction:column;align-items:stretch;padding:0;border-top:1px solid var(--line);gap:0;background:var(--panel)}.composer-toolbar{display:flex;align-items:center;gap:9px;padding:6px 18px 4px;min-height:42px}.composer .composer-toolbar>button{order:0!important;padding:7px;width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:20px;min-width:0;flex-shrink:0}.composer .composer-toolbar>button:hover{background:#2465df0c;color:var(--blue)}.composer-toolbar svg{width:21px;height:21px}.composer .composer-toolbar .paste-chat-image{width:auto;font-size:11px;color:var(--blue)}.composer-toolbar-label{font-size:10px;color:var(--muted);margin-left:auto;white-space:nowrap}.composer-entry{display:flex;align-items:flex-end;gap:12px;padding:0 20px 4px}.composer textarea{border:0!important;outline:none!important;box-shadow:none!important;background:transparent!important;flex:1;min-height:48px;padding:10px 2px;line-height:1.65;font-size:14px;border-radius:0;max-height:128px}.composer:focus-within{border-top-color:#82ace5}.composer .composer-entry .send-message{order:0;width:36px;height:36px;min-width:36px;margin-bottom:6px;border-radius:9px;padding:8px;background:#2465df;border:0}.composer-hint{padding:0 22px 9px;text-align:right;font-size:10px}.pinned-message,.reply-draft:not(:empty){padding:10px 22px;font-size:12px}.attachment-draft{border-bottom:1px solid var(--line);padding:10px 20px}.attachment-draft-card{background:#8296b008}.chat-column.drag-over{outline:3px dashed var(--blue);outline-offset:-8px}
.conversation-panel{display:flex;flex-direction:column;flex:0 0 286px;width:286px;min-height:0;border-left:1px solid var(--line);background:var(--panel);z-index:6}.panel-heading{display:flex;align-items:center;gap:8px;min-height:72px;border-bottom:1px solid var(--line);padding:15px 18px;flex-shrink:0}.panel-heading h3{font-size:15px;margin:0;font-weight:650;flex:1;text-align:center}.panel-heading button{width:28px;height:28px;padding:5px;border:0;background:transparent;color:var(--muted);border-radius:6px}.panel-heading svg{width:18px;height:18px}.panel-body{overflow:auto;min-height:0;flex:1;overscroll-behavior:contain}.panel-profile{text-align:center;padding:22px 16px 16px}.panel-profile>.avatar{width:64px;height:64px;border-radius:50%;font-size:27px;margin:0 auto 12px}.panel-profile-name{display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:8px;overflow-wrap:anywhere}.panel-profile-name strong{font-size:16px}.panel-profile-name button{border:0;padding:3px 5px;background:transparent;color:var(--muted)}.panel-profile>small{font-size:10px}.panel-quick{display:flex;justify-content:space-evenly;padding:0 12px 20px;gap:8px}.panel-quick button{border:0;padding:0;display:flex;align-items:center;flex-direction:column;gap:7px;font-size:11px;color:var(--muted);background:transparent;min-width:56px}.quick-symbol{display:grid;place-items:center;font-size:23px;color:inherit;background:#8296b013;border-radius:50%;width:36px;height:36px}.panel-quick button[aria-pressed=true] .quick-symbol{background:#2465df18;color:var(--blue)}.panel-section{border-top:5px solid #8296b00a;padding:0 16px 4px}.panel-section summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:650;padding:17px 0 13px}.panel-section summary::-webkit-details-marker{display:none}.panel-section summary::after{content:'⌄';color:var(--muted);font-size:15px}.panel-section:not([open]) summary::after{content:'›'}.panel-section-body{padding-bottom:10px}.panel-section .media-grid{gap:5px;margin:0 0 10px}.panel-section .media-tile{border:0;border-radius:5px}.panel-section .video-filename{font-size:8px}.panel-section .video-play{font-size:20px}.panel-view-all{display:block;text-align:center;border:0;background:#8296b00b;color:inherit;width:100%;border-radius:5px;font-size:11px;font-weight:550;padding:9px 8px}.panel-view-all:hover{background:#2465df10;color:var(--blue)}.panel-empty{font-size:11px;color:var(--muted);line-height:1.7;text-align:center;margin:5px 0 12px}.panel-member{display:flex;gap:9px;align-items:center;padding:8px 0;font-size:12px}.panel-member .avatar{width:30px;height:30px;border-radius:50%;font-size:12px}.panel-member .presence-label{margin-left:auto;font-size:9px;max-width:90px}.panel-member small{font-size:9px}.panel-setting{display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px 0;font-size:12px}.danger{color:#c53b4c}.panel-file{display:flex;gap:4px;align-items:center;margin:2px 0 10px}.panel-file-main{display:flex;gap:9px;padding:4px 0;min-width:0;flex:1;align-items:center;text-align:left;border:0;background:transparent}.file-symbol{display:grid;place-items:center;flex:0 0 33px;height:38px;background:#2465df0e;color:var(--blue);font-size:9px;border-radius:6px;font-weight:700}.file-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.file-copy strong{font-size:11px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-copy small{font-size:9px}.file-download{color:var(--muted);font-size:20px;padding:6px;text-decoration:none}.file-download:hover{color:var(--blue)}
.panel-search-scope{margin:18px 16px 12px;font-size:11px;color:var(--muted);line-height:1.6}.panel-body>input{width:calc(100% - 32px);margin:0 16px;padding:10px;font-size:12px;border-radius:7px}.panel-search-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:14px 16px 10px;border-bottom:1px solid var(--line)}.panel-search-tabs button{border:0;padding:6px 9px;border-radius:5px;background:#8296b00c;color:var(--muted);font-size:11px}.panel-search-tabs button.active{background:#2465df15;color:var(--blue)}.panel-search-status{padding:12px 16px 4px;font-size:11px;color:var(--muted);margin:0}.panel-search-results{padding:4px 0 15px}.panel-result{display:block;width:100%;padding:16px;text-align:left;border:0;border-radius:0;background:transparent;line-height:1.6;overflow-wrap:anywhere}.panel-result:hover,.panel-result.active{background:#2465df0b}.panel-result>small{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.panel-result>span{display:block;white-space:pre-wrap;font-size:13px}.panel-result>small.result-jump{margin:8px 0 0;color:var(--blue);font-size:10px}.panel-result img{width:90px;height:74px;object-fit:cover;border-radius:5px;margin:5px 0}
.action-popover{position:fixed;display:flex;flex-direction:column;gap:2px;width:252px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;margin:0;padding:7px;background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px #14223a26;z-index:80}.action-popover>button{border:0;border-radius:6px;padding:9px 12px;min-height:36px;text-align:left;font-size:13px;background:transparent}.action-popover>button:hover,.action-popover>button:focus-visible{background:#2465df0c;color:var(--blue)}.action-popover .reaction-picker{padding:3px 0 8px;margin:0 0 3px;gap:0}.action-popover .reaction-picker button{padding:4px;font-size:20px}.action-popover.emoji-popover{display:grid;grid-template-columns:repeat(4,1fr);width:218px;gap:4px}.emoji-popover>button{font-size:24px;text-align:center;padding:8px}.action-scrim{position:fixed;inset:0;background:#0e1b2b44;z-index:79}#toast{z-index:100}
@media(min-width:651px) and (max-width:1179px){.shell{grid-template-columns:60px 258px minmax(0,1fr)}.conversation-panel{position:absolute;right:0;top:0;bottom:0;width:300px;box-shadow:-12px 0 40px #14223a14}.feed{padding:22px}.chathead{padding:12px 18px}.room{padding:13px 12px}.room-filters button{padding:6px}.composer-toolbar-label{display:none}}
@media(max-width:650px){.shell{display:flex}.rail,.light .rail{background:var(--panel);padding:4px 6px max(4px,env(safe-area-inset-bottom));gap:0}.rail button{width:20%;padding:5px}.rail .nav-icon{width:23px;height:23px}.conversation-toolbar{padding:14px 16px 10px}.conversation-toolbar input{font-size:16px}.room-filters{padding:4px 12px 11px;gap:6px}.room-filters button{font-size:12px;padding:7px 10px}.room{padding:16px;min-height:84px}.room strong{font-size:15px}.room .preview{font-size:13px}.room .avatar{width:48px;height:48px}.workspace-shortcuts{padding:0 18px 11px}.chathead,.light .chathead{min-height:64px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));gap:9px}.chathead .back{display:block;padding:4px;width:26px;height:30px}.chathead strong{font-size:15px}.chathead small{font-size:10px}.chat-peer-line{flex-wrap:wrap;gap:3px}.chat-peer-line .presence-label{font-size:9px}.chathead .chat-tools{gap:3px}.chat-tools button{width:32px;height:32px;padding:6px}.feed{padding:20px 16px;gap:20px}.message{max-width:88%;padding-bottom:0}.bubble{font-size:15px;padding:10px 13px}.message-quick-tools{position:static;opacity:1;pointer-events:auto;border:0;box-shadow:none;background:transparent;padding:0;margin:1px 0 -7px;justify-content:flex-end}.mine .message-quick-tools{margin:1px 0 -7px}.message-quick-tools>button:not(.message-actions){display:none}.message-quick-tools .message-actions{width:32px;height:24px;padding:0 4px;font-size:20px;min-height:24px}.composer-toolbar{min-height:40px;padding:4px 12px;gap:10px}.composer .composer-toolbar>button{height:32px;width:32px;padding:6px}.composer-toolbar-label{display:none}.composer-entry{padding:0 14px max(10px,env(safe-area-inset-bottom));gap:10px}.composer textarea{font-size:16px;min-height:45px;padding:8px 2px}.composer .composer-entry .send-message{width:36px;height:36px;margin-bottom:4px}.composer-hint{display:none}.attachment-draft{padding:8px 14px}.attachment-draft-card img{width:54px;height:54px}.conversation-panel{position:absolute;inset:0;flex:none;width:100%;border:0;z-index:20}.panel-heading{min-height:62px;padding:14px 16px;padding-top:max(14px,env(safe-area-inset-top))}.panel-heading h3{text-align:left;font-size:16px}.panel-heading button{width:32px;height:32px}.panel-section{padding-left:20px;padding-right:20px}.panel-section summary{font-size:14px}.panel-profile{padding-top:24px}.panel-profile>small{font-size:11px}.panel-section .media-grid{gap:8px}.panel-view-all{font-size:13px;padding:11px}.panel-member{font-size:14px}.panel-member .avatar{width:36px;height:36px;font-size:14px}.panel-setting{font-size:14px}.panel-file-main .file-copy strong{font-size:13px}.file-copy small{font-size:10px}.panel-body>input{font-size:16px}.panel-search-tabs button{font-size:12px;padding:7px 10px}.panel-result>span{font-size:14px}.panel-body{padding-bottom:max(16px,env(safe-area-inset-bottom))}.action-popover{inset:auto 10px max(10px,env(safe-area-inset-bottom));width:auto;max-width:none;border-radius:18px;padding:12px;max-height:80dvh}.action-popover>button{font-size:15px;padding:12px 14px;min-height:44px}.action-popover .reaction-picker button{font-size:24px;padding:10px 5px}.action-popover.emoji-popover{width:auto;grid-template-columns:repeat(6,1fr)}.emoji-popover>button{padding:8px 2px;font-size:26px}}
@media(prefers-reduced-motion:reduce){.conversation-panel,.action-popover{animation:none}}


.rail .mark{padding:0;border-radius:11px}.quick-symbol svg{width:19px;height:19px}.file-message .bubble{background:var(--panel)!important;border:1px solid var(--line)!important;padding:12px 16px!important;min-width:180px}.file-message .attachment-name{font-size:13px;margin-top:0}.file-message .attachment-download{font-size:11px;margin-top:8px;color:var(--blue)}
@media(max-width:650px){.message-quick-tools{position:absolute;left:auto;right:-29px;bottom:0;margin:0;width:28px;height:24px}.mine .message-quick-tools{left:-29px;right:auto;margin:0}.message-quick-tools .message-actions{width:28px;height:24px}.message:has(.reaction-list:not(:empty)) .message-quick-tools{bottom:28px}}

.panel-file-main{color:inherit;text-decoration:none}.panel-file-main:hover .file-copy strong{color:var(--blue)}

.action-popover>button.danger:hover{color:#c53b4c;background:#c53b4c0b}

[hidden]{display:none!important}.room .avatar{position:relative}.room .avatar.is-online::after{content:"";position:absolute;right:0;bottom:0;width:10px;height:10px;border:2px solid var(--panel);border-radius:50%;background:#25b47b}
