:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--duration-fast: .15s;--duration-normal: .22s;--duration-slow: .32s;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--accent: #7c5cff;--accent-hover: #9078ff;--accent-secondary: #5ce1e6;--danger: #ff5c7a;--success: #3dd68c;font-family:Plus Jakarta Sans,system-ui,sans-serif}[data-theme=dark]{color-scheme:dark;--bg: #09090e;--surface: #111118;--surface-elevated: #181824;--surface-hover: #1f1f2e;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #eef0f6;--muted: #8b8fa3;--accent-glow: rgba(124, 92, 255, .35);--shadow: 0 8px 32px rgba(0, 0, 0, .45);--backdrop: rgba(0, 0, 0, .65);--auth-glow-a: rgba(124, 92, 255, .18);--auth-glow-b: rgba(92, 225, 230, .1);--avatar-bg: linear-gradient(135deg, #3a3a52, #2a2a3e);--nav-active: rgba(124, 92, 255, .15);--tab-active-bg: var(--surface-elevated)}[data-theme=light]{color-scheme:light;--bg: #f4f5f9;--surface: #ffffff;--surface-elevated: #ffffff;--surface-hover: #eceef4;--border: rgba(15, 17, 26, .08);--border-strong: rgba(15, 17, 26, .14);--text: #12131a;--muted: #6b7084;--accent-glow: rgba(124, 92, 255, .18);--shadow: 0 10px 40px rgba(15, 17, 26, .1);--backdrop: rgba(15, 17, 26, .35);--auth-glow-a: rgba(124, 92, 255, .12);--auth-glow-b: rgba(92, 225, 230, .08);--avatar-bg: linear-gradient(135deg, #dfe2f0, #c8cce0);--nav-active: rgba(124, 92, 255, .1);--tab-active-bg: #ffffff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out)}html,body,#root{height:100%;overflow:hidden}button,input,select,textarea{font:inherit}.auth-screen{min-height:100%;height:100%;overflow-y:auto;display:grid;place-items:center;position:relative;background:radial-gradient(ellipse 80% 60% at 20% 10%,var(--auth-glow-a),transparent),radial-gradient(ellipse 60% 50% at 80% 90%,var(--auth-glow-b),transparent),var(--bg);transition:background var(--duration-slow) var(--ease-out)}.auth-theme-toggle{position:absolute;top:1rem;right:1rem;z-index:2}.auth-card{width:min(420px,92vw);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.25rem;box-shadow:var(--shadow)}.auth-card h1{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.subtitle{color:var(--muted);margin-top:.35rem;font-size:.95rem}.link-btn{margin-top:1rem;background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}.link-btn:hover{color:var(--text)}.tabs{display:flex;gap:.5rem;margin:1.75rem 0 1.25rem;padding:.25rem;background:var(--surface);border-radius:var(--radius-md)}.tabs button{flex:1;background:transparent;border:none;color:var(--muted);padding:.55rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:color .15s,background .15s}.tabs button.active{background:var(--tab-active-bg);color:var(--text);box-shadow:0 1px 4px #00000014}.auth-card form{display:grid;gap:.85rem}.auth-card input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.8rem 1rem;transition:border-color .15s}.auth-card input:focus{outline:none;border-color:var(--accent)}.auth-card button[type=submit]{background:linear-gradient(135deg,var(--accent),#6344e0);color:#fff;border:none;border-radius:var(--radius-sm);padding:.8rem;cursor:pointer;font-weight:600;transition:opacity .15s,transform .1s}.auth-card button[type=submit]:hover{opacity:.92}.error{color:var(--danger);margin:0;font-size:.9rem}.auth-divider{text-align:center;color:var(--muted);margin:1.25rem 0 .85rem;font-size:.85rem}.google-btn{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.8rem;cursor:pointer;font-weight:500;transition:background .15s}.google-btn:hover{background:var(--surface-hover)}.app{display:grid;grid-template-columns:280px 1fr;height:100%;max-height:100dvh;overflow:hidden;background:var(--bg)}.app:has(.thread-panel){grid-template-columns:280px 1fr 340px}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.1rem 1rem;border-bottom:1px solid var(--border)}.brand-lockup{display:flex;align-items:center;gap:.75rem;min-width:0}.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-secondary));display:grid;place-items:center;font-weight:700;font-size:.95rem;color:#fff;flex-shrink:0}.brand-copy{display:flex;flex-direction:column;min-width:0}.brand-name{font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:.02em}.workspace-name{font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{width:32px;height:32px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border);color:var(--muted);cursor:pointer;display:grid;place-items:center;font-size:1.1rem;line-height:1;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.icon-btn:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-strong)}.icon-btn.sm{width:24px;height:24px;font-size:.95rem;border:none}.sidebar-scroll{flex:1;overflow-y:auto;padding:.5rem 0 1rem}.section-label{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem .35rem;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;gap:.35rem}.section-toggle{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:none;color:inherit;font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;padding:.15rem .25rem;margin:-.15rem -.25rem;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.section-toggle:hover{color:var(--text);background:var(--surface-hover)}.section-chevron{display:inline-block;width:.45rem;height:.45rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform var(--duration-fast) var(--ease-out);flex-shrink:0;opacity:.7}.section-chevron.collapsed{transform:rotate(-45deg) translateY(-1px)}.section-count{font-size:.65rem;font-weight:700;background:var(--surface-hover);border:1px solid var(--border);border-radius:999px;padding:.05rem .4rem;letter-spacing:0;text-transform:none;color:var(--muted)}.nav-item-lock{flex-shrink:0;font-size:.72rem;line-height:1;opacity:.75}.nav-section.collapsed .section-label{padding-bottom:.55rem}.nav-item{width:calc(100% - 1rem);margin:.1rem .5rem;text-align:left;background:transparent;border:none;color:var(--muted);padding:.45rem .75rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:.55rem;transition:background .12s,color .12s}.nav-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:500}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--nav-active);color:var(--text)}.nav-item.active .nav-item-label{font-weight:600}.nav-item.dm-compose{opacity:.7}.nav-item.dm-compose:hover{opacity:1}.badge{background:var(--accent);color:#fff;border-radius:999px;font-size:.65rem;font-weight:700;padding:.1rem .45rem;min-width:1.2rem;text-align:center}.nav-signal{width:.55rem;height:.55rem;border-radius:50%;flex-shrink:0;margin-left:auto}.nav-signal.unread{background:#d9b400;box-shadow:0 0 .45rem #d9b400bf}.nav-signal.priority{background:#2ecc71;box-shadow:0 0 .45rem #2ecc71bf}.chat-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.channel-mute-menu{position:relative}.channel-mute-btn{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.channel-mute-btn.muted-active{opacity:.9}.channel-mute-dropdown,.channel-mute-inline{display:grid;gap:.35rem;min-width:16rem}.channel-mute-dropdown{position:absolute;top:calc(100% + .35rem);right:0;z-index:30;padding:.35rem;border-radius:var(--radius-sm);background:var(--surface-elevated);border:1px solid var(--border);box-shadow:var(--shadow)}.channel-mute-dropdown button,.channel-mute-inline button{display:grid;gap:.15rem;text-align:left;padding:.55rem .65rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer}.channel-mute-dropdown button:hover,.channel-mute-inline button:hover,.channel-mute-dropdown button.active,.channel-mute-inline button.active{background:var(--surface-hover)}.channel-mute-dropdown button strong,.channel-mute-inline button strong{font-size:.85rem}.channel-mute-dropdown button span,.channel-mute-inline button span{font-size:.75rem;color:var(--text-muted)}.nav-mute-modal{max-width:24rem}.nav-mute-backdrop{z-index:60}.sidebar-footer{border-top:1px solid var(--border);padding:.85rem 1rem;display:grid;gap:.65rem}.user-card{display:flex;align-items:center;gap:.65rem}.user-card-copy{display:flex;flex-direction:column;min-width:0}.user-card-copy strong{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-copy span{font-size:.75rem;color:var(--muted);text-transform:capitalize}.sidebar-footer-actions{display:flex;flex-wrap:wrap;gap:.35rem}.ghost-btn{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:.3rem .65rem;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.ghost-btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.ghost-btn.muted{color:var(--muted)}.avatar-sm,.avatar{border-radius:10px;background:var(--avatar-bg);display:grid;place-items:center;font-size:.75rem;font-weight:700;flex-shrink:0;color:var(--text)}.avatar{width:36px;height:36px}.avatar-sm{width:28px;height:28px;font-size:.65rem;border-radius:8px}.avatar-lg{width:72px;height:72px;font-size:1.2rem;border-radius:18px}.avatar-wrap{position:relative;display:inline-flex}.avatar-wrap.has-status .avatar,.avatar-wrap.has-status .avatar-sm,.avatar-wrap.has-status .avatar-lg{border:2px solid var(--surface)}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.avatar-button{background:transparent;border:none;padding:0;cursor:pointer;border-radius:999px;transition:transform var(--duration-fast) var(--ease-spring)}.avatar-button:hover{transform:scale(1.04)}.avatar-clickable{cursor:pointer}.status-dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:999px;border:2px solid var(--surface)}.status-dot.status-online{background:var(--success)}.status-dot.status-away{background:#f5b942}.status-dot.status-dnd{background:var(--danger)}.user-card-btn{width:100%;background:transparent;border:none;padding:0;cursor:pointer;text-align:left;display:flex;align-items:center;gap:.65rem;border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out)}.user-card-btn:hover{background:var(--surface-hover)}.member-chip-btn{cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.member-chip-btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.profile-modal{width:min(520px,94vw);max-height:90vh;overflow:auto}.profile-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.profile-header h3{margin:0}.modal-close{background:transparent;border:none;color:var(--muted);font-size:1.5rem;cursor:pointer;width:32px;height:32px;border-radius:var(--radius-sm)}.modal-close:hover{background:var(--surface-hover);color:var(--text)}.profile-hero{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.profile-avatar-actions{display:flex;flex-wrap:wrap;gap:.35rem}.profile-form{display:grid;gap:.85rem}.profile-form label{display:grid;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--muted)}.profile-form input,.profile-form select,.profile-form textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.65rem .85rem;font-weight:500}.profile-form textarea{resize:vertical;min-height:96px}.profile-view{display:grid;gap:.75rem}.profile-meta{display:grid;gap:.2rem}.profile-meta strong{font-size:1.1rem}.profile-meta span{color:var(--muted);font-size:.88rem}.profile-status{display:inline-flex;width:fit-content;margin-top:.25rem;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-hover)}.profile-status.status-online{color:var(--success)}.profile-status.status-away{color:#f5b942}.profile-status.status-dnd{color:var(--danger)}.profile-label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.15rem}.profile-bio{white-space:pre-wrap;line-height:1.5}.profile-calendar-busy,.profile-calendar-next{margin:0;padding:.65rem .75rem;border-radius:var(--radius-sm);font-size:.85rem}.profile-calendar-busy{background:#ff5c7a1f;border:1px solid rgba(255,92,122,.25)}.profile-calendar-next{background:var(--surface-hover);border:1px solid var(--border)}.calendar-panel{padding:0 .5rem .75rem;display:grid;gap:.75rem}.calendar-settings-panel{display:grid;gap:1rem}.calendar-settings-intro p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.5}.calendar-settings-google{display:grid;gap:.75rem;padding:.85rem;border-radius:var(--radius-sm);background:var(--surface-hover);border:1px solid var(--border)}.calendar-settings-google-copy{display:grid;gap:.2rem}.calendar-settings-section-label{font-size:.85rem}.calendar-notice{margin:0;padding:.65rem .75rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--text);font-size:.88rem}.calendar-status-card{padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--surface-hover);border:1px solid var(--border)}.calendar-now{display:grid;gap:.15rem}.calendar-now strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.calendar-now.busy strong{color:var(--danger)}.calendar-meta{display:block;font-size:.75rem;color:var(--muted)}.calendar-actions,.calendar-connection-actions{display:flex;flex-wrap:wrap;gap:.35rem}.calendar-create-form,.calendar-ics-form{display:grid;gap:.45rem}.calendar-create-form input,.calendar-ics-form input{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.45rem .6rem;font-size:.82rem}.calendar-create-form button,.calendar-ics-form button,.calendar-connect-btn{background:linear-gradient(135deg,var(--accent),#6344e0);color:#fff;border:none;border-radius:var(--radius-sm);padding:.45rem .65rem;cursor:pointer;font-size:.8rem;font-weight:600}.calendar-connections{display:grid;gap:.45rem}.calendar-connection-row{display:grid;gap:.35rem;padding:.55rem .65rem;border-radius:var(--radius-sm);background:var(--surface-hover);border:1px solid var(--border)}.calendar-connection-row strong{display:block;font-size:.85rem}.calendar-events{display:grid;gap:.65rem}.calendar-day-label{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:.35rem .25rem .15rem}.calendar-event-row{display:grid;grid-template-columns:auto 1fr;gap:.55rem;padding:.45rem .55rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border)}.calendar-event-time{font-size:.72rem;color:var(--muted);white-space:nowrap}.calendar-event-copy strong{display:block;font-size:.84rem}.ghost-btn.sm{padding:.2rem .45rem;font-size:.72rem}.chat{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--bg)}.chat-header,.members-panel,.composer,.composer-readonly{flex-shrink:0}.chat-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;background:var(--surface)}.chat-header-main{display:flex;align-items:flex-start;gap:.65rem;min-width:0}.mobile-menu-btn{flex-shrink:0;margin-top:.1rem}.chat-header-title{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.chat-header h3{margin:0;font-size:1.1rem;font-weight:700;letter-spacing:-.01em}.channel-kind{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-hover);border:1px solid var(--border);border-radius:999px;padding:.15rem .55rem}.chat-topic{margin:.35rem 0 0;color:var(--muted);font-size:.88rem}.members-btn{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:.4rem .85rem;cursor:pointer;white-space:nowrap;font-size:.85rem;font-weight:500;transition:background .15s}.members-btn:hover{background:var(--surface-hover)}.members-panel{padding:.75rem 1.5rem;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;background:var(--surface)}.members-list{display:flex;flex-wrap:wrap;gap:.35rem}.member-chip{background:var(--surface-hover);border:1px solid var(--border);border-radius:999px;padding:.2rem .65rem;font-size:.8rem}.members-panel select{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.4rem .65rem}.member-picker{max-height:160px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem}.messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.25rem 1.5rem}.message{display:flex;gap:.85rem;padding:.5rem .75rem;margin:0 -.75rem;border-radius:var(--radius-md);transition:background .12s}.message:hover{background:var(--surface)}.message-body header{display:flex;gap:.5rem;align-items:baseline}.message-body strong{font-weight:600;font-size:.92rem}.message-author-btn{background:none;border:none;padding:0;margin:0;font:inherit;font-weight:600;font-size:.92rem;color:inherit;cursor:pointer;border-radius:.2rem}.message-author-btn:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.message-body time{color:var(--muted);font-size:.72rem}.message-body p{margin:.2rem 0 0;white-space:pre-wrap;line-height:1.5;font-size:.92rem;word-break:break-word}.message-image-link{display:inline-block;margin-top:.35rem}.message-image{display:block;max-width:min(420px,100%);max-height:360px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.message-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.thread-link{background:transparent;border:none;color:var(--accent);cursor:pointer;padding:0;margin-top:.35rem;font-size:.85rem;font-weight:500}.thread-link:hover{color:var(--accent-hover)}.composer{display:flex;gap:.65rem;padding:1rem 1.5rem 1.25rem;background:linear-gradient(to top,var(--bg) 60%,transparent)}.composer-input-wrap{flex:1;position:relative;display:flex;align-items:center;gap:.5rem;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.35rem .5rem .35rem .35rem;transition:border-color .15s,box-shadow .15s}.composer-input-wrap:focus-within{border-color:#7c5cff80;box-shadow:0 0 0 3px var(--accent-glow)}.composer input{flex:1;background:transparent;border:none;color:var(--text);padding:.55rem .5rem;min-width:0}.composer input:focus{outline:none}.composer button[type=submit]{background:linear-gradient(135deg,var(--accent),#6344e0);color:#fff;border:none;border-radius:var(--radius-sm);padding:0 1.1rem;cursor:pointer;font-weight:600;font-size:.88rem;align-self:stretch;transition:opacity .15s}.composer button[type=submit]:hover{opacity:.9}.composer-readonly{padding:.75rem 1.5rem 1.25rem;margin:0}.empty-state{flex:1;display:grid;place-content:center;text-align:center;color:var(--muted);padding:2rem}.empty-state h3{color:var(--text);font-size:1.25rem;margin-bottom:.5rem}.empty-state button{margin-top:1.25rem;background:linear-gradient(135deg,var(--accent),#6344e0);color:#fff;border:none;border-radius:var(--radius-sm);padding:.65rem 1.25rem;cursor:pointer;font-weight:600}.typing{color:var(--muted);font-size:.85rem;font-style:italic;padding-left:.75rem}.thread-panel{border-left:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;min-height:0;overflow:hidden}.thread-panel header,.thread-panel .composer{flex-shrink:0}.thread-panel .messages{flex:1;min-height:0}.thread-panel header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.thread-panel header button{background:transparent;border:none;color:var(--muted);font-size:1.25rem;cursor:pointer;width:32px;height:32px;border-radius:var(--radius-sm);transition:background .15s}.thread-panel header button:hover{background:var(--surface-hover);color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:100;animation:fade-in var(--duration-normal) var(--ease-out)}.modal{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;width:min(420px,92vw);display:grid;gap:.85rem;box-shadow:var(--shadow);animation:scale-in var(--duration-normal) var(--ease-out)}.modal input,.modal select,.modal textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.65rem .85rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.modal-actions button{background:linear-gradient(135deg,var(--accent),#6344e0);color:#fff;border:none;border-radius:var(--radius-sm);padding:.5rem 1rem;cursor:pointer;font-weight:600}.policy-note{color:var(--muted);font-size:.85rem;margin:0 0 1rem}.admin-section h4{margin:1rem 0 .5rem;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.admin-section h4:first-child{margin-top:0}.admin-modal{width:min(760px,94vw);max-height:80vh;overflow:auto}.admin-header{display:flex;justify-content:space-between;align-items:center}.admin-header button{background:transparent;border:none;color:var(--muted);font-size:1.25rem;cursor:pointer}.admin-tabs{display:flex;gap:.35rem;flex-wrap:wrap}.admin-tabs button{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-sm);padding:.35rem .65rem;cursor:pointer;text-transform:capitalize;font-size:.85rem}.admin-tabs button.active{background:var(--nav-active);border-color:#7c5cff66;color:var(--text)}.admin-section{display:grid;gap:.75rem}.oauth-uri-label{font-size:.78rem;font-weight:600;color:var(--text-muted);margin-bottom:-.35rem}.oauth-uri-note code,.oauth-setup-hint code{font-size:.78rem;word-break:break-all}.readonly-input{opacity:.92;cursor:text}.oauth-setup-hint{display:block;margin-top:.35rem;line-height:1.45}.checkbox-row{display:flex;align-items:center;gap:.5rem}.admin-list{display:grid;gap:.5rem}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.admin-actions{display:flex;gap:.35rem}.tag{margin-left:.35rem;font-size:.75rem;color:var(--muted)}.saved{color:var(--success);margin:0}button.danger{background:var(--danger)!important}.emoji-img{display:inline-block;vertical-align:middle;margin:0 1px}.emoji-toggle{background:transparent;border:none;border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;cursor:pointer;font-size:1.1rem;line-height:1;flex-shrink:0;transition:background .12s}.emoji-toggle:hover{background:var(--surface-hover)}.composer-emoji-popover{position:absolute;bottom:calc(100% + .5rem);left:0;z-index:20}.emoji-autocomplete{position:absolute;bottom:calc(100% + .45rem);left:0;right:0;z-index:25;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);max-height:240px;overflow-y:auto;padding:.35rem;animation:scale-in var(--duration-fast) var(--ease-out)}.emoji-autocomplete-item{width:100%;display:flex;align-items:center;gap:.65rem;padding:.45rem .55rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-out)}.emoji-autocomplete-item:hover,.emoji-autocomplete-item.active{background:var(--nav-active)}.emoji-autocomplete-preview{width:1.5rem;display:grid;place-items:center;flex-shrink:0}.emoji-autocomplete-copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.emoji-autocomplete-copy strong{font-size:.82rem;font-family:ui-monospace,monospace;font-weight:600}.emoji-autocomplete-copy span{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-autocomplete-item .mention-autocomplete-token{font-family:ui-monospace,monospace;font-weight:700;color:var(--accent);min-width:4.5rem}.slash-autocomplete-hint{padding:.55rem .65rem;font-size:.82rem;color:var(--muted)}.slash-autocomplete-error{color:var(--danger)}.img-autocomplete-item{align-items:flex-start}.img-autocomplete-thumb{width:56px;height:56px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--surface);border:1px solid var(--border)}.img-autocomplete-thumb img{width:100%;height:100%;object-fit:cover;display:block}.message-mention{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:.25rem;padding:0 .2rem;font-weight:600}.message-mention-btn{border:none;cursor:pointer;font:inherit}.message-mention-btn:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.dm-confirm-modal{max-width:24rem}.profile-view-actions{margin-top:1rem;justify-content:flex-start}.mention-confirm-modal{max-width:28rem}.mention-confirm-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.mention-confirm-list li{display:grid;gap:.15rem;padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--surface-hover);border:1px solid var(--border)}.mention-confirm-list strong{font-family:ui-monospace,monospace;color:var(--accent)}.mention-confirm-list span{font-size:.85rem;color:var(--text-muted)}.calendar-create-form textarea{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.45rem .6rem;font-size:.82rem;resize:vertical;min-height:3rem;font-family:inherit}.calendar-invite-picker{display:grid;gap:.45rem}.calendar-invite-list{display:grid;gap:.35rem;max-height:9rem;overflow:auto;padding:.35rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-elevated)}.calendar-invite-option{display:grid;grid-template-columns:auto 1fr;gap:.15rem .45rem;align-items:center;font-size:.82rem;cursor:pointer}.calendar-invite-option input{grid-row:span 2}.calendar-invite-option .calendar-meta{grid-column:2}.emoji-picker{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);width:min(320px,90vw);box-shadow:var(--shadow);overflow:hidden}.emoji-picker-tabs{display:flex;gap:.25rem;padding:.5rem;border-bottom:1px solid var(--border);overflow-x:auto}.emoji-picker-tabs button{background:transparent;border:none;border-radius:var(--radius-sm);padding:.25rem;cursor:pointer;opacity:.5}.emoji-picker-tabs button.active{background:var(--surface-hover);opacity:1}.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.15rem;padding:.5rem;max-height:220px;overflow-y:auto}.emoji-picker-item{background:transparent;border:none;border-radius:var(--radius-sm);padding:.25rem;cursor:pointer;display:grid;place-items:center}.emoji-picker-item:hover{background:var(--surface-hover)}.emoji-picker-custom{display:flex;flex-direction:column}.custom-emoji-manage-btn{margin:.5rem .5rem 0;width:calc(100% - 1rem);font-size:.85rem}.emoji-picker-empty{grid-column:1 / -1;padding:.5rem;margin:0;color:var(--muted)}.workspace-settings-modal{width:min(960px,96vw);max-height:90vh;overflow:auto}.settings-tabs{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.settings-tabs button{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem .85rem;cursor:pointer;font-size:.85rem;color:var(--muted);font-weight:500;transition:background .15s,color .15s}.settings-tabs button.active{background:var(--nav-active);border-color:#7c5cff59;color:var(--text)}.settings-panel{margin-bottom:1rem}.webhook-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.webhook-tabs button{flex:1;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem;cursor:pointer;color:var(--muted)}.webhook-tabs button.active{background:#7c5cff1f;color:var(--text)}.webhook-form{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.webhook-events{display:flex;flex-direction:column;gap:.25rem}.webhook-list{display:flex;flex-direction:column;gap:.5rem;max-height:220px;overflow-y:auto;margin-bottom:.75rem}.webhook-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.65rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.webhook-row strong{display:block}.webhook-meta{display:block;font-size:.8rem;color:var(--muted);word-break:break-all}.webhook-secret-banner{background:#3dd68c1a;border:1px solid rgba(61,214,140,.35);border-radius:var(--radius-sm);padding:.75rem;margin-bottom:1rem}.webhook-secret-banner code{display:block;word-break:break-all;font-size:.8rem;margin:.5rem 0}.webhook-help code{font-size:.85rem}.permissions-matrix-wrap{overflow-x:auto;margin-bottom:1rem}.permissions-matrix{width:100%;border-collapse:collapse;font-size:.85rem}.permissions-matrix th,.permissions-matrix td{border:1px solid var(--border);padding:.4rem .55rem;text-align:center;white-space:nowrap}.permissions-matrix th:first-child,.permissions-matrix td:first-child{text-align:left;min-width:120px}.permissions-matrix select{font-size:.8rem;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text)}.perm-override{background:#3dd68c14}.custom-emoji-modal{width:min(420px,92vw)}.custom-emoji-upload{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.custom-emoji-preview{display:grid;place-items:center;padding:.5rem;background:var(--surface);border-radius:var(--radius-sm)}.custom-emoji-list{display:flex;flex-direction:column;gap:.5rem;max-height:240px;overflow-y:auto;margin-bottom:1rem}.custom-emoji-row{display:flex;align-items:center;gap:.75rem}.custom-emoji-row span{flex:1;font-family:ui-monospace,monospace;font-size:.9rem}.custom-emoji-row button{padding:.25rem .5rem;font-size:.8rem}.message-reactions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem;align-items:center}.reaction-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.12rem .5rem;cursor:pointer;font-size:.8rem;color:var(--text);transition:border-color .12s}.reaction-chip:hover{border-color:#7c5cff80}.reaction-add-wrap{position:relative}.reaction-add{background:transparent;border:1px dashed var(--border-strong);border-radius:999px;width:1.6rem;height:1.6rem;color:var(--muted);cursor:pointer}.reaction-picker-popover{position:absolute;bottom:calc(100% + .35rem);left:0;z-index:15}.quick-reactions{display:flex;gap:.25rem;padding:.35rem;background:var(--surface-elevated);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0}.quick-reactions button{background:transparent;border:none;border-radius:var(--radius-sm);padding:.2rem;cursor:pointer}.quick-reactions button:hover{background:var(--surface-hover)}.theme-toggle{display:inline-flex;align-items:center;gap:.35rem;background:var(--surface-hover);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:.3rem .6rem;font-size:.78rem;font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.theme-toggle:hover{border-color:var(--border-strong);transform:translateY(-1px)}.theme-toggle-icon{font-size:.95rem;line-height:1}.theme-toggle-label{font-size:.78rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.animate-in{animation:slide-up var(--duration-slow) var(--ease-out)}.animate-item{animation:fade-in var(--duration-normal) var(--ease-out)}.animate-slide-left{animation:slide-in-left var(--duration-normal) var(--ease-out)}.sidebar,.chat,.nav-item,.ghost-btn,.icon-btn,.composer-input-wrap,.reaction-chip,.modal,.auth-card{transition:background-color var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.nav-item{transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.nav-item:active{transform:scale(.98)}.nav-backdrop{display:none}@media(max-width:768px){.app{grid-template-columns:1fr}.app:has(.thread-panel){grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:min(272px,86vw);z-index:50;transform:translate(-105%);transition:transform var(--duration-normal) var(--ease-out);box-shadow:var(--shadow)}.sidebar.open{transform:translate(0)}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border:none;padding:0;background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;animation:fade-in var(--duration-normal) var(--ease-out)}.app.nav-open:not(.has-active-channel) .sidebar{width:100%;max-width:100%;transform:translate(0)}.app.nav-open:not(.has-active-channel) .chat{display:none}.sidebar-top{padding:.85rem .9rem}.sidebar-scroll{padding:.35rem 0 .75rem}.section-label{padding:.55rem .85rem .25rem;font-size:.68rem}.nav-item{width:calc(100% - .75rem);margin:.08rem .375rem;padding:.4rem .65rem}.sidebar-footer{padding:.7rem .85rem}.sidebar-footer-actions{gap:.25rem}.ghost-btn{padding:.28rem .5rem;font-size:.72rem}.chat{height:100%;min-height:0}.chat-header{padding:.75rem .9rem}.chat-header h3{font-size:1rem}.messages{padding:.75rem .9rem}.message{gap:.65rem;padding:.4rem .5rem;margin:0 -.5rem}.avatar{width:32px;height:32px;font-size:.7rem}.composer{flex-direction:column;padding:.65rem .9rem .85rem;gap:.5rem}.composer button[type=submit]{width:100%;padding:.65rem}.composer-readonly{padding:.65rem .9rem .85rem}.thread-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;width:100%;border-left:none;animation:slide-in-left var(--duration-normal) var(--ease-out)}.empty-state{padding:1.25rem}.auth-card{padding:1.75rem;width:min(420px,94vw)}.workspace-settings-modal,.admin-modal{width:min(960px,96vw);max-height:92vh;margin:.5rem}}@media(max-width:420px){.sidebar-footer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.theme-toggle{grid-column:1 / -1;justify-content:center}.chat-header-main{align-items:center}.members-btn{font-size:.78rem;padding:.35rem .6rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.nav-item:active{transform:none}}
