:root{--brand: #ff5757;--brand-strong: #d94747;--brand-dark: #842525;--brand-soft: #ffe4df;--brand-softer: #fff3f0;--brand-surface: #fff8f6;--brand-border: #f2c7c0;--text: #241b1b;--muted: #736565;--surface: #fffdfc;--surface-soft: #f8f3f1;--surface-panel: #fffaf8;--border: #e3d4d0;--incoming: #ffffff;--outgoing: #d9fdd3;--shadow-soft: rgba(132, 37, 37, .14);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#182421;background:#d8ded9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{--brand: #ff6f62;--brand-strong: #ff5757;--brand-dark: #ffd6d0;--brand-soft: #4d2220;--brand-softer: #321a18;--brand-surface: #231716;--brand-border: #71312d;--text: #f7eeec;--muted: #c4aaa6;--surface: #171313;--surface-soft: #201817;--surface-panel: #1d1716;--border: #3a2a28;--incoming: #241d1c;--outgoing: #203625;--shadow-soft: rgba(0, 0, 0, .34);color-scheme:dark}*{box-sizing:border-box}html,body{overflow:hidden}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-shell{display:grid;min-height:100vh;place-items:center;padding:28px;background:linear-gradient(130deg,#0b3b36eb,#135646d1),url(https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&w=1600&q=80) center/cover}.login-panel{width:min(480px,100%);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:30px;background:#fafcf9f2;box-shadow:0 28px 80px #00000047}.brand-mark,.rail-brand,.session-main,.conversation-header,.chat-title,.chat-preview,.composer,.search-box,.new-chat{display:flex;align-items:center}.brand-mark{gap:14px}.brand-logo{display:block;flex:0 0 auto;filter:drop-shadow(0 8px 18px rgba(255,87,87,.18))}.brand-icon{display:grid;width:56px;height:56px;place-items:center;border-radius:8px;color:#f6fff8;background:#0b3b36}.brand-icon.small{width:36px;height:36px}.eyebrow{margin:0 0 4px;color:#64746f;font-size:.76rem;font-weight:760;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:2rem}.login-copy{margin:22px 0;color:#42504c;line-height:1.55}.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:7px;color:#34423e;font-size:.9rem;font-weight:700}.login-form input,.new-chat input,.search-box input,.session-card select,.composer textarea,.config-stack input,.config-stack select,.config-stack textarea{width:100%;border:1px solid #c9d3ce;border-radius:8px;outline:none;background:#fff;color:#17211e}.login-form input{padding:13px 14px}.login-endpoint{border:1px solid #d9e3df;border-radius:8px;padding:10px 12px;color:#5d6d68;background:#eef5f1;font-size:.86rem;font-weight:700;overflow-wrap:anywhere}.primary-action,.ghost-action,.start-session{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:0;border-radius:8px;font-weight:800}.primary-action{color:#fff;background:#126a58}.primary-action.compact,.ghost-action.compact{min-height:38px;padding:0 12px;font-size:.88rem}.ghost-action{color:#0b3b36;background:#e5efea}.error-banner,.floating-error,.success-banner{border-radius:8px}.error-banner,.floating-error{color:#7d1c1c;background:#ffe9e9}.error-banner{padding:10px 12px}.success-banner{padding:10px 12px;color:#126a58;background:#dff5e9}.app-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:74px minmax(320px,420px) minmax(0,1fr);height:100dvh;overflow:hidden;background:#eef1ed;transition:grid-template-columns .18s ease}.app-shell.chat-list-collapsed{grid-template-columns:74px 0 minmax(0,1fr)}.app-shell.config-open{grid-template-columns:74px minmax(0,1fr)}.app-shell.config-open .chat-list-panel{display:none}.app-shell.todos-open{grid-template-columns:74px minmax(0,1fr)}.app-shell.todos-open .chat-list-panel{display:none}.rail{display:flex;flex-direction:column;gap:12px;padding:14px 10px;border-right:1px solid #d3ddd8;background:#f6faf7}.rail-brand{justify-content:center;min-height:48px}.rail-button,.icon-button,.composer button,.new-chat button{display:grid;place-items:center;border:0;border-radius:8px;color:#54635f;background:transparent}.rail-button{position:relative;width:48px;height:48px}.app-badge{position:absolute;top:-4px;right:-4px;display:grid;min-width:20px;height:20px;place-items:center;border:2px solid var(--surface-panel);border-radius:999px;padding:0 5px;color:#fff;background:var(--brand);font-size:.68rem;font-weight:900;line-height:1}.app-badge.subtle{top:2px;right:2px;min-width:18px;height:18px;font-size:.62rem}.app-badge.danger{background:#d33d3d}.rail-button:hover,.rail-button.active,.icon-button:hover,.composer button:hover{color:#0b3b36;background:#dce9e3}.icon-button.active{color:var(--brand);background:var(--brand-soft)}.icon-button.active:hover{background:var(--brand-border)}.mute-menu-wrap{position:relative}.mute-duration-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:120;min-width:148px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 24px var(--shadow-soft);overflow:hidden;display:flex;flex-direction:column}.mute-duration-option{padding:10px 16px;text-align:left;font-size:.88rem;font-weight:600;color:var(--text);background:none;border:none;cursor:pointer;transition:background .12s}.mute-duration-option:hover{background:var(--brand-soft);color:var(--brand-dark)}.rail-spacer{flex:1}.user-chip{display:grid;width:38px;height:38px;place-items:center;align-self:center;border:0;border-radius:8px;color:#0b3b36;background:#e7f2ed;font-size:.8rem;font-weight:850;cursor:pointer;transition:background .15s ease,transform .15s ease}.user-chip:hover,.user-chip:focus-visible{background:#d6e8df}.user-chip:active{transform:translateY(1px)}.chat-list-panel{display:flex;height:100dvh;min-width:0;min-height:0;flex-direction:column;overflow:hidden;border-right:1px solid #d3ddd8;background:#fbfdfb}.chat-list-panel.collapsed{border-right:0}.chat-list-panel.collapsed>*{visibility:hidden}.list-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:22px 18px 14px}.list-header h2{margin:0}.sync-meta{display:block;margin-top:3px;color:#687772;font-size:.82rem;font-weight:750}.list-header-actions{display:flex;flex:0 0 auto;gap:8px}.config-shortcut{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid #c8d8d1;border-radius:8px;padding:0 11px;color:#0b3b36;background:#fff;font-size:.84rem;font-weight:850}.config-shortcut.active{color:#fff;border-color:#126a58;background:#126a58}.session-card{display:grid;flex:0 0 auto;gap:10px;margin:0 14px 12px;padding:12px;border:1px solid #dce5e0;border-radius:8px;background:#f4f8f5}.session-card-header{display:flex;align-items:center;gap:10px;min-width:0}.session-main{flex:1;gap:10px;min-width:0}.session-main div{display:grid;gap:2px;min-width:0}.session-main span:last-child{overflow:hidden;color:#67746f;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.status-dot{width:10px;height:10px;border-radius:50%;background:#c25a5a}.status-dot.ready{background:#22a06b}.session-card select{min-height:36px;padding:7px 9px}.session-controls{display:none;gap:10px}.session-controls.open{display:grid}.session-toggle{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border:1px solid #c8d8d1;border-radius:8px;color:#0b3b36;background:#fff;font-size:1.15rem;font-weight:850;line-height:1;transition:background .18s ease,color .18s ease,transform .15s ease}.session-toggle.open{background:#e6f1ec;transform:rotate(180deg)}.start-session{color:#0b3b36;background:#d5ede3}.start-session.secondary{border:1px solid #c8d8d1;background:#fff}.socket-chip{display:inline-flex;align-items:center;gap:7px;min-width:0;color:#64746f;font-size:.78rem;font-weight:720}.socket-chip span{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#b7c3bd}.socket-chip.ok{color:#126a58}.socket-chip.ok span{background:#1a9b69}.socket-chip.error{color:#9f2d2d}.socket-chip.error span{background:#c25a5a}.socket-chip.warn{color:#7a5c00}.socket-chip.warn span{background:#c9960a;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.search-box{flex:0 0 auto;align-items:center;gap:8px;margin:0 14px 10px;padding:0 12px;border-radius:8px;background:#edf3ef}.search-box input{min-width:0;flex:1;height:42px;border:0;background:transparent}.clear-search{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border:0;border-radius:999px;color:var(--muted);background:transparent;font-size:1.45rem;font-weight:700;line-height:1}.clear-search:hover,.clear-search:focus-visible{color:var(--brand-dark);background:var(--brand-soft)}.new-chat{flex:0 0 auto;gap:8px;margin:0 14px 10px}.new-chat input{height:38px;padding:0 12px}.new-chat button{width:38px;height:38px;flex:0 0 auto;color:#fff;background:#126a58}.chat-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.list-footer{display:grid;flex:0 0 auto;padding:8px 14px 10px;border-top:1px solid #d3ddd8;background:#fbfdfb}.config-shortcut.wide{width:100%}.chat-row{display:grid;width:100%;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;border:0;padding:12px 14px;text-align:left;background:transparent}.chat-row:hover,.chat-row.selected{background:#edf5f1}.chat-loading{display:flex;gap:10px;align-items:center;padding:18px 14px;color:#52645f;font-size:.9rem;font-weight:720}.avatar{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:50%;color:#f8fffb;background:linear-gradient(135deg,#0b3b36,#2a8a67);font-size:.86rem;font-weight:850}.avatar-image{display:block;object-fit:cover;background:#dce7e1}.chat-meta{display:grid;gap:5px;min-width:0}.chat-title{justify-content:space-between;gap:10px;min-width:0}.chat-title strong,.chat-preview{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-title strong{max-width:100%}.chat-title time,.chat-preview{color:#6a7772;font-size:.82rem}.chat-preview{gap:4px;align-items:center}.unread{display:grid;min-width:22px;height:22px;place-items:center;border-radius:999px;color:#fff;background:#1a9b69;font-size:.75rem;font-weight:800}.unread.muted{background:#99a89f;color:#fff}.chat-markers{display:flex;flex-direction:column;gap:5px;align-items:flex-end;justify-content:center}.chat-todo-flag{display:inline-flex;gap:3px;align-items:center;height:20px;padding:0 6px;border-radius:999px;color:#fff;background:var(--brand);font-size:.68rem;font-weight:900;line-height:1}.chat-todo-flag.overdue{background:#d33d3d}.chat-todo-flag em{font-style:normal}.todo-banner{display:flex;gap:9px;align-items:center;flex:0 0 auto;width:auto;margin:0 14px 10px;padding:9px 12px;border:1px solid var(--brand-border);border-radius:12px;color:var(--brand-dark);background:var(--brand-softer);font-size:.85rem;font-weight:750;text-align:left}.todo-banner:hover{background:var(--brand-soft)}.todo-banner.danger{border-color:#e9b3b3;color:#a12626;background:#fdecec}.todo-banner-text{flex:1 1 auto;min-width:0}.todo-banner-count{display:grid;min-width:20px;height:20px;place-items:center;padding:0 5px;border-radius:999px;color:#fff;background:var(--brand);font-size:.7rem;font-weight:900;line-height:1}.todo-banner.danger .todo-banner-count{background:#d33d3d}.conversation-panel{position:relative;display:flex;flex-direction:column;min-width:0;height:100dvh;overflow:hidden;background:linear-gradient(#e8ebe5e6,#e8ebe5e6),radial-gradient(circle at 20% 20%,rgba(18,106,88,.08) 0 1px,transparent 1px);background-size:auto,22px 22px}.conversation-header{flex-shrink:0;gap:12px;min-width:0;padding:12px 16px;border-bottom:1px solid #d3ddd8;background:#f6faf7}.conversation-title{display:grid;min-width:0;flex:1;gap:3px}.conversation-title strong,.conversation-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-title span{display:flex;align-items:center;gap:5px;color:#697873;font-size:.83rem}.header-actions{display:flex;gap:4px}.icon-button{width:38px;height:38px}.icon-button:disabled{cursor:not-allowed;opacity:.45}.badge-button{position:relative}.badge-button span{position:absolute;top:-3px;right:-3px;display:grid;min-width:18px;height:18px;place-items:center;border-radius:999px;padding:0 5px;color:#fff;background:var(--brand);font-size:.7rem;font-weight:900;line-height:1}.mobile-only{display:none}.message-search-bar{position:relative;z-index:5;display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;color:var(--text-muted)}.message-search-bar input{flex:1;border:none;outline:none;background:none;font-size:.9rem;color:var(--text);min-width:0}.message-search-bar input::placeholder{color:var(--text-muted)}.message-search-count{font-size:.78rem;font-weight:700;color:var(--text-muted);white-space:nowrap}.icon-button.compact{width:26px;height:26px;padding:0}.bubble.search-match{outline:1px solid var(--brand-border)}.bubble.search-highlight{outline:2px solid var(--brand);outline-offset:2px}.floating-error,.floating-status{position:absolute;z-index:3;top:72px;right:18px;display:flex;align-items:flex-start;gap:10px;max-width:360px;padding:10px 12px;box-shadow:0 16px 40px #0000001f}.floating-status{color:#126a58;background:#dff5e9}.floating-error span,.floating-status span{min-width:0;overflow-wrap:anywhere}.floating-error button,.floating-status button{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border:0;border-radius:6px;color:#7d1c1c;background:#7d1c1c14;font-size:1.25rem;line-height:1}.floating-error button:hover{background:#7d1c1c24}.floating-status button{color:#126a58;background:#126a5814}.floating-status button:hover{background:#126a5824}.message-area{flex:1;min-height:0;overflow-y:auto;padding:22px}.empty-state{display:grid;height:100%;place-items:center;align-content:center;gap:12px;color:#687874;text-align:center}.empty-state h2{margin:0;color:#23312d}.empty-state p{max-width:430px;margin:0}.messages{display:flex;width:100%;max-width:960px;min-width:0;min-height:100%;flex-direction:column;justify-content:flex-end;gap:8px;margin:0 auto}.pinned-messages{position:sticky;z-index:12;top:0;display:flex;width:min(960px,100%);max-width:960px;gap:8px;margin:0 auto 10px;padding:6px 0;overflow-x:auto;background:linear-gradient(180deg,var(--surface) 70%,transparent)}.pinned-messages button{display:inline-flex;max-width:min(360px,76vw);height:34px;flex:0 0 auto;align-items:center;gap:7px;border:1px solid var(--brand-border);border-radius:999px;padding:0 12px;color:var(--brand-dark);background:var(--brand-softer);font-size:.82rem;font-weight:850}.pinned-messages button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages>article{content-visibility:auto;contain-intrinsic-size:auto 80px}.messages>article.actions-open,.messages>article.has-reactions{z-index:20;content-visibility:visible}.typing-indicator{width:fit-content;max-width:min(80%,420px);margin:8px auto 0;padding:7px 12px;border:1px solid var(--brand-border);border-radius:999px;color:var(--brand-dark);background:var(--brand-softer);box-shadow:0 6px 18px var(--shadow-soft);font-size:.86rem;font-weight:800}.bubble{position:relative;align-self:flex-start;width:fit-content;min-width:72px;max-width:min(680px,78%);padding:9px 34px 6px 11px;border-radius:8px;background:#fff;box-shadow:0 1px 1px #00000014}.message-menu-trigger{position:absolute;z-index:3;top:3px;right:4px;display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:999px;color:#64736d;background:transparent;opacity:.82;transition:opacity .15s ease,transform .15s ease,background .15s ease}.bubble:hover .message-menu-trigger,.bubble:focus-within .message-menu-trigger{opacity:1}.message-menu-trigger:hover{color:var(--brand-dark);background:#ffffffad;transform:translateY(-1px)}.bubble.outbound .message-menu-trigger{right:4px;left:auto}.message-menu,.reaction-picker{position:absolute;z-index:8;top:auto;bottom:calc(100% + 6px);left:10px;min-width:190px;padding:5px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#1c1d1cf5;box-shadow:0 12px 28px #00000047}.bubble.outbound .message-menu,.bubble.outbound .reaction-picker{right:10px;left:auto}.message-menu button{display:flex;width:100%;height:38px;align-items:center;justify-content:flex-start;gap:9px;border:0;border-radius:6px;padding:0 12px;color:#f8faf8;background:transparent;font-weight:850}.message-menu button:hover{background:var(--brand)}.message-menu button.danger-menu-item{color:#ffd9d9}.message-menu button.danger-menu-item:hover{background:#b83232}.reaction-picker{display:grid;grid-template-columns:1fr;gap:4px;min-width:auto}.reaction-picker.expanded{width:min(330px,calc(100vw - 42px));max-height:min(440px,70vh);overflow-y:auto;gap:8px;padding:10px}.reaction-quick-list{display:grid;grid-template-columns:repeat(6,34px);gap:4px}.reaction-emoji-group{display:grid;gap:6px}.reaction-emoji-group strong{color:#ffffffa8;font-size:.7rem;text-transform:uppercase}.reaction-emoji-group div{display:grid;grid-template-columns:repeat(8,34px);gap:5px}.reaction-picker button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:999px;background:transparent;font-size:1.08rem}.reaction-picker button:hover{background:#ffffff1f}.reaction-picker-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-top:4px}.reaction-picker .reaction-more,.reaction-picker .reaction-clear{width:auto;height:32px;border-radius:6px;color:#fff;font-size:.78rem;font-weight:850}.reaction-picker .reaction-more{background:var(--brand)}.reaction-picker .reaction-clear{background:#ffffff1a}.bubble.has-reactions{margin-bottom:36px}.bubble:before{position:absolute;bottom:0;left:-7px;width:12px;height:16px;background:#fff;clip-path:polygon(100% 0,0 100%,100% 100%);content:""}.bubble.outbound{align-self:flex-end;background:#d9fdd3}.bubble.audioMessage{min-width:min(340px,82vw)}.bubble.outbound:before{right:-7px;left:auto;background:#d9fdd3;clip-path:polygon(0 0,100% 100%,0 100%)}.message-sender{display:block;margin-bottom:3px;color:#126a58;font-size:.78rem;font-weight:850}.quoted-message{display:grid;max-width:min(360px,100%);gap:2px;margin:0 0 7px;padding:7px 9px;border-left:3px solid var(--brand);border-radius:7px;background:#ffffff8f}.bubble.outbound .quoted-message{border-left-color:#52a25a;background:#ffffff6b}.quoted-message strong{overflow:hidden;color:var(--brand-dark);font-size:.76rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.quoted-message span{display:block;overflow:hidden;color:#4d5a56;font-size:.82rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.bubble p{margin:0 0 4px;line-height:1.42;overflow-wrap:anywhere;white-space:pre-wrap}.mention-token{display:inline;border-radius:5px;padding:0 3px;color:var(--brand-dark);background:var(--brand-soft);font-weight:850;white-space:normal}.bubble.outbound .mention-token{color:#245f2d;background:#ffffff80}.message-link{color:var(--brand-dark);font-weight:800;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;overflow-wrap:anywhere}.message-link:hover{color:var(--brand-strong)}.bubble.outbound .message-link{color:#214d8f}.message-reactions{position:absolute;right:8px;bottom:-13px;display:inline-flex;gap:3px;align-items:center;min-height:20px;padding:1px 6px;border:1px solid #d7e2dd;border-radius:999px;background:#fff;box-shadow:0 1px 2px #00000024}.bubble.outbound .message-reactions{right:auto;left:8px}.bubble .message-reactions span{display:inline;color:#18221f;font-size:.74rem;line-height:1}.message-image,.message-video{display:block;width:min(360px,100%);max-height:420px;border-radius:8px;object-fit:contain;background:#edf3ef}.forward-search{margin:4px 0 10px}.forward-list{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto;margin-bottom:12px}.forward-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:8px 10px;border:0;border-radius:10px;text-align:left;color:inherit;background:transparent;cursor:pointer}.forward-row:hover:not(:disabled){background:var(--surface-soft)}.forward-row:disabled{opacity:.55;cursor:default}.forward-row .avatar{width:40px;height:40px}.forward-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.forward-empty{padding:18px 6px;color:var(--muted);font-size:.9rem;text-align:center}.message-image-button{display:block;padding:0;border:0;background:transparent;cursor:pointer}.avatar-button{display:block;padding:0;border:0;background:transparent;border-radius:50%;cursor:pointer}.lightbox-backdrop{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:32px;background:#000000db;cursor:zoom-out}.lightbox-image{max-width:100%;max-height:100%;border-radius:8px;object-fit:contain;box-shadow:0 12px 40px #00000080}.lightbox-close{position:fixed;top:18px;right:18px;display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:50%;color:#fff;background:#ffffff24;cursor:pointer}.lightbox-close:hover{background:#ffffff42}.message-audio{display:block;width:320px;max-width:100%;height:40px}.message-file{display:inline-flex;align-items:center;gap:8px;max-width:100%;margin-bottom:4px;color:#0b3b36;font-weight:760;text-decoration:none;word-break:break-word}.message-location{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;min-width:min(330px,100%);margin-bottom:4px;padding:10px;border:1px solid #cfe0d9;border-radius:8px;color:#123b35;background:#eef7f2;text-decoration:none}.message-contact{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;min-width:min(330px,100%);margin-bottom:4px;padding:10px;border:1px solid #cfe0d9;border-radius:8px;color:#123b35;background:#eef7f2}.message-location .location-pin,.message-contact .contact-avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;color:#fff;background:#126a58;font-size:.78rem;font-weight:850}.message-location span:last-child,.message-contact span:last-child{display:grid;gap:3px;min-width:0}.message-location strong,.message-location small,.message-contact strong,.message-contact small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-location small,.message-contact small{color:#61736d;font-size:.8rem}.bubble-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;color:#66736e;font-size:.72rem}.tick{flex-shrink:0}.pin-indicator{color:#9a5b12}.tick-pending,.tick-sent,.tick-delivered{color:#99aaa4}.tick-read,.bubble.outbound .tick-read{color:#1a9b69}.composer{flex-shrink:0;position:sticky;z-index:4;bottom:0;display:grid;grid-template-columns:42px 42px minmax(0,1fr) 42px;align-items:end;gap:8px;padding:10px 14px;border-top:1px solid #d3ddd8;background:#f6faf7}.composer.dragging{outline:2px dashed var(--brand);outline-offset:-8px;background:var(--brand-softer)}.composer button{width:42px;height:42px;flex:0 0 auto}.composer .mobile-schedule-button{position:absolute;right:64px;bottom:calc(100% + 8px);display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:999px;color:var(--brand-dark);background:var(--surface-panel);box-shadow:0 8px 22px var(--shadow-soft);font-size:.78rem;font-weight:850;white-space:nowrap}.composer .mobile-schedule-button:disabled{display:none}.composer textarea{min-height:44px;max-height:132px;overflow-y:hidden;resize:none;line-height:1.35;padding:12px 14px}.composer-reply{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:10px;align-items:center;padding:8px 10px 8px 12px;border:1px solid var(--brand-border);border-left:4px solid var(--brand);border-radius:8px;color:var(--text);background:var(--brand-softer)}.composer-reply div{display:grid;min-width:0;gap:2px}.composer-reply strong,.composer-reply span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-reply strong{color:var(--brand-dark);font-size:.82rem}.composer-reply span{color:var(--muted);font-size:.82rem}.composer-edit{border-left-color:#d9922e;background:#fff7e8}.composer-edit strong{color:#9a5b12}.composer .composer-reply button{width:34px;height:34px}.attachment-preview-list{grid-column:1 / -1;display:grid;gap:8px;max-height:min(42dvh,360px);overflow-y:auto;border:1px solid var(--brand-border);border-radius:8px;padding:8px;background:var(--surface-panel);box-shadow:0 10px 22px #123a3414}.attachment-preview-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 6px;color:var(--text);font-size:.86rem}.attachment-preview-header button{width:auto;height:30px;padding:0 10px;border:0;border-radius:999px;color:var(--brand-dark);background:var(--brand-soft);font-size:.78rem;font-weight:800}.attachment-preview-items{display:grid;gap:8px}.attachment-preview{display:grid;grid-template-columns:minmax(72px,auto) minmax(0,1fr) 34px;gap:12px;align-items:center;border:1px solid var(--brand-border);border-radius:8px;padding:10px;background:var(--surface-panel)}.attachment-preview-media{display:grid;width:82px;min-height:58px;place-items:center;overflow:hidden;border-radius:8px;background:#0000000f}.attachment-preview-media img,.attachment-preview-media video{display:block;width:100%;max-height:92px;object-fit:cover}.attachment-preview-media audio{width:min(240px,58vw)}.attachment-preview-file{display:grid;width:48px;height:48px;place-items:center;border-radius:8px;color:var(--brand-dark);background:var(--brand-soft)}.attachment-preview-meta{display:grid;min-width:0;gap:3px}.attachment-preview-meta strong,.attachment-preview-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-preview-meta strong{color:var(--text);font-size:.94rem;font-weight:820}.attachment-preview-meta span{color:var(--muted);font-size:.82rem;font-weight:680}.composer .attachment-preview-close{width:34px;height:34px;color:#7c2520;background:#ffe3df}.audio-recorder-panel{display:flex;min-width:0;min-height:44px;flex:1;align-items:center;gap:10px;padding:8px 10px 8px 14px;border:1px solid #c8d8d1;border-radius:8px;color:#23312d;background:#fff}.audio-recorder-panel strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-recorder-panel>span:last-of-type{margin-left:auto;color:#66736e;font-variant-numeric:tabular-nums;font-weight:800}.recording-dot{width:10px;height:10px;flex:0 0 auto;border-radius:999px;background:#d92d20;box-shadow:0 0 0 5px #d92d201f}.composer .recording-cancel{width:34px;height:34px;color:#8a1d1d;background:#fde8e8}.composer .recording-cancel:hover{background:#fad5d5}.attachment-input{display:none}.emoji-picker{position:absolute;z-index:10;bottom:calc(100% + 8px);left:14px;display:grid;grid-template-columns:minmax(260px,320px);gap:10px;max-height:min(620px,70vh);overflow-y:auto;padding:14px;border:1px solid #cfd7d3;border-radius:8px;background:#fff;box-shadow:0 12px 26px #123a3429}.emoji-group{display:grid;gap:6px}.emoji-group strong{color:#c3aead;font-size:.72rem;font-weight:900;text-transform:uppercase}.emoji-group div{display:grid;grid-template-columns:repeat(8,34px);gap:5px}.composer .emoji-choice{width:38px;height:38px;padding:0;border:0;border-radius:8px;color:#fff;font-size:1.2rem;background:#1f1413}.composer .emoji-choice:hover{background:#33201e}.send-button{color:#fff!important;background:#126a58!important}.send-button:disabled,.composer button:disabled{cursor:not-allowed;opacity:.45}.config-area,.todos-area{min-height:0;overflow-y:auto;padding:22px}.config-tabs{display:flex;gap:8px;max-width:980px;margin:0 auto 14px;overflow-x:auto;padding-bottom:2px}.config-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #d8e2dd;border-radius:8px;padding:0 14px;color:#34423e;background:#fbfdfbf5;font-weight:850;white-space:nowrap}.config-tabs button:hover,.config-tabs button.active{border-color:var(--brand);color:#fff;background:var(--brand)}.config-panel{display:grid;gap:18px;max-width:980px;margin:0 auto 18px;padding:18px;border:1px solid #d8e2dd;border-radius:8px;background:#fbfdfbf5}.config-panel header,.config-actions,.toggle-line{display:flex;align-items:center}.config-panel header{justify-content:space-between;gap:14px}.config-panel h2{margin:0}.config-grid{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:18px;align-items:start}.qr-box{display:grid;aspect-ratio:1;place-items:center;border:1px solid #d7e1dc;border-radius:8px;background:#fff}.qr-box img{width:min(86%,320px);height:auto}.qr-ready{display:grid;gap:10px;place-items:center;color:#65736f;font-weight:760;text-align:center}.config-stack{display:grid;gap:12px}.config-stack label{display:grid;gap:7px;color:#34423e;font-size:.9rem;font-weight:740}.config-stack input,.config-stack select{min-height:40px;padding:0 12px}.config-stack textarea{resize:vertical;padding:10px 12px}.session-list{display:grid;gap:8px}.session-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #d9e3df;border-radius:8px;background:#f7faf8}.session-row-main,.session-row-actions{display:flex;align-items:center}.session-row-main{min-width:0;gap:10px}.session-row-main div{display:grid;gap:3px;min-width:0}.session-row-main strong,.session-row-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-row-main span{color:#64746f;font-size:.86rem}.session-row-actions{gap:8px}.status-pill{min-width:92px;border-radius:999px;padding:6px 10px;color:#72521a;background:#fff2cf;font-size:.78rem;font-weight:850;text-align:center}.status-pill.ready{color:#126a58;background:#dff5e9}.users-list{display:grid;gap:8px}.ai-context-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.ai-context-panel{max-width:none}.ai-context-form{display:grid;gap:12px}.ai-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-context-form label{display:grid;gap:7px;color:#34423e;font-size:.9rem;font-weight:740}.ai-url-row,.ai-upload-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.ai-upload-row input[type=file]{min-width:0;border:1px solid #d7e1dc;border-radius:8px;padding:9px 10px;background:#fff}.ai-file-hint{margin:-2px 0 0;color:#64746f;font-size:.88rem}.ai-crawl-options{display:grid;gap:10px;padding:12px;border:1px solid #d9e3df;border-radius:8px;background:#f7faf8}.ai-crawl-options label{margin:0}.busy-callout{display:inline-flex;align-items:center;gap:9px;font-weight:850}.ai-test-box{display:grid;gap:12px;margin-top:4px;border-top:1px solid #d9e3df;padding-top:14px}.ai-test-box>button{justify-self:start}.ai-test-result{display:grid;gap:12px;border:1px solid #d9e3df;border-radius:8px;padding:14px;background:#f7faf8}.ai-test-result>div{display:grid;gap:3px}.ai-test-result span,.ai-test-result summary,.ai-test-result li{color:#64746f}.ai-test-result p{margin:0;white-space:pre-wrap}.ai-test-result ul{display:grid;gap:6px;margin:8px 0 0;padding-left:18px}.ai-test-result li{overflow-wrap:anywhere}.ai-test-result li strong{display:block;color:#20302c}.knowledge-list{display:grid;gap:10px}.knowledge-empty{display:inline-flex;align-items:center;gap:9px;min-height:74px;border:1px dashed #cad8d2;border-radius:8px;padding:14px;color:#64746f;background:#f7faf8;font-weight:740}.knowledge-card{display:grid;gap:9px;padding:12px;border:1px solid #d9e3df;border-radius:8px;background:#f7faf8}.knowledge-card-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.knowledge-card-main div{display:grid;gap:3px;min-width:0}.knowledge-card strong,.knowledge-card small,.knowledge-card a,.knowledge-source-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-card small,.knowledge-card p,.knowledge-source-name{color:#64746f}.knowledge-card p{display:-webkit-box;margin:0;overflow:hidden;font-size:.9rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:3}.knowledge-card a{color:#126a58;font-size:.88rem;font-weight:740}.knowledge-kind{min-width:52px;border-radius:999px;padding:5px 8px;color:var(--brand-dark);background:var(--brand-soft);font-size:.74rem;font-weight:900;text-align:center}.user-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:11px;border:1px solid #d9e3df;border-radius:8px;background:#f7faf8}.user-row div{display:grid;gap:3px;min-width:0}.user-row strong,.user-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row span{color:#64746f;font-size:.86rem}.role-pill{display:inline-grid;min-width:68px;place-items:center;border-radius:999px;padding:6px 10px;color:#0b3b36!important;background:#dff0e8;font-size:.78rem!important;font-weight:850}.danger{color:#a33b3b}.config-actions{flex-wrap:wrap;gap:10px}.config-status{display:grid;gap:3px;padding:12px;border-radius:8px;background:#edf5f1}.config-status span{color:#64746f}.danger-zone{display:grid;gap:12px;padding:14px;border:1px solid #efc9c9;border-radius:8px;background:#fff5f5}.danger-zone div{display:grid;gap:4px}.danger-zone span{color:#8a4b4b;font-size:.9rem}.danger-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid #c84d4d;border-radius:8px;padding:0 11px;color:#fff;background:#b93535;font-weight:850}.danger-action:hover:not(:disabled){background:#9f2d2d}.danger-action:disabled{cursor:not-allowed;opacity:.45}.modal-backdrop{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:22px;background:#0c19167a}.danger-modal{display:grid;gap:14px;width:min(520px,100%);border:1px solid #efc9c9;border-radius:8px;padding:22px;background:#fff;box-shadow:0 24px 80px #00000042}.form-modal{display:grid;gap:14px;width:min(520px,100%);border:1px solid #d8e2de;border-radius:8px;padding:22px;background:#fff;box-shadow:0 24px 80px #0000003d}.form-modal form{display:grid;gap:14px}.form-modal h2,.form-modal p{margin:0}.form-modal label{display:grid;gap:7px;color:#34423e;font-size:.9rem;font-weight:740}.form-modal input,.form-modal select,.form-modal textarea{min-height:42px;border:1px solid #c9d3ce;border-radius:8px;padding:0 12px;outline:none;background:#fff;color:#17211e}.form-modal textarea{min-height:92px;padding:10px 12px;resize:vertical;font:inherit;line-height:1.35}.scheduled-modal{width:min(720px,100%);max-height:min(760px,calc(100vh - 32px));overflow:auto}.todos-modal{width:min(760px,100%);max-height:min(820px,calc(100vh - 32px));overflow:auto}.todo-editor-modal{width:min(780px,100%)}.scheduled-modal-header,.scheduled-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-header-actions{display:flex;align-items:center;gap:8px}.scheduled-modal-header h2,.scheduled-card-title strong,.scheduled-card-title span{margin:0}.scheduled-list{display:grid;gap:12px}.scheduled-card{display:grid;gap:12px;border:1px solid #d8e2de;border-radius:8px;padding:14px;background:#f8fbf9}.scheduled-card.failed{border-color:#efc9c9;background:#fff5f5}.todo-form{grid-template-columns:1fr;align-items:start}.todo-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.add-description-btn{align-self:start;border:0;padding:0;color:var(--brand);background:transparent;font-size:.875rem;font-weight:700;text-align:left}.add-description-btn:hover{text-decoration:underline}.due-date-field{display:grid;gap:6px}.due-date-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.due-date-label{font-size:.875rem;font-weight:760;color:#34423e;white-space:nowrap}.due-quick-buttons{display:flex;gap:5px}.due-quick-buttons .ghost-action{padding:3px 9px;font-size:.78rem}.todo-filter-tabs{display:flex;gap:6px}.todo-filter-tabs button{display:inline-flex;align-items:center;gap:6px;border:1px solid #d3ddd8;border-radius:8px;padding:5px 13px;color:#45534f;background:#f4f8f5;font-size:.875rem;font-weight:760;cursor:pointer}.todo-filter-tabs button.active{border-color:var(--brand);color:#fff;background:var(--brand)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;padding:0 5px;background:#0000001f;font-size:.72rem;font-weight:800}.todos-list{display:grid;gap:10px}.todo-chat-link{display:inline-flex;align-items:center;gap:4px;border:1px solid #dde7e2;border-radius:4px;padding:2px 7px;color:#3c4a46;background:#f0f4f2;font-size:.74rem;font-weight:700;cursor:pointer;transition:background .12s,border-color .12s}.todo-chat-link:hover{background:#e4ede8;border-color:#c8d4ce}.todo-done-section{border-top:1px solid #d8e2de;padding-top:12px}.todo-done-toggle{display:flex;align-items:center;gap:7px;width:100%;border:0;padding:6px 0;color:#60706a;background:transparent;font-size:.875rem;font-weight:760;text-align:left;cursor:pointer}.todo-done-toggle:hover{color:#34423e}.toggle-arrow{margin-left:auto;font-size:1rem;transition:transform .15s}.toggle-arrow.open{transform:rotate(180deg)}.todos-done-list{margin-top:10px}.todo-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;border:1px solid #e5eae7;border-left:3px solid #c0cdc7;border-radius:10px;padding:14px 14px 14px 13px;background:#fff;transition:box-shadow .15s,border-color .15s}.todo-card:hover{box-shadow:0 2px 14px #00000014;border-color:#cdd8d2}.todo-card[data-priority=high]{border-left-color:#e05454}.todo-card[data-priority=normal]{border-left-color:#d48f20}.todo-card[data-priority=low]{border-left-color:#2da06a}.todo-card.in-progress{background:#fafcff;border-color:#d2e4f5;border-left-color:#3a82c4}.todo-card.done{opacity:.62;border-left-color:#c0cdc7}.todo-card.overdue{border-color:#f5d0cc;border-left-color:#d93025;background:#fffaf9}.todo-card.due-soon{border-left-color:#e08020}.todo-card-main{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px}.todo-card-body{min-width:0}.todo-card-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.todo-check{display:grid;width:30px;height:30px;place-items:center;border:2px solid #c9d3ce;border-radius:999px;color:var(--brand-dark);background:#fff;transition:border-color .15s,background .15s;flex-shrink:0}.todo-check:hover{border-color:var(--brand);background:var(--brand-soft)}.todo-check span{width:10px;height:10px;border-radius:999px;background:transparent;transition:background .15s}.todo-check:hover span{background:var(--brand)}.todo-card h3,.todo-card p{margin:0}.todo-card h3{color:#17211e;font-size:1rem;flex:1;min-width:0}.todo-card p{margin-top:4px;color:#60706a;font-size:.88rem;line-height:1.35}.todo-assignee{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 4px;border-radius:999px;background:#f1f3f2;color:#3c4a46;font-size:.8rem;font-weight:700;white-space:nowrap;flex-shrink:0;border:1px solid #e0e8e4}.todo-assignee-avatar{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#5a8a78;color:#fff;font-size:.62rem;font-weight:800}.todo-meta,.todo-card-actions{display:flex;flex-wrap:wrap;gap:6px}.todo-meta{margin-top:8px;align-items:center}.todo-status-badge,.todo-priority-badge,.todo-due{border-radius:4px;padding:2px 7px;font-size:.74rem;font-weight:700;border:1px solid transparent}.todo-status-badge.status-pending{color:#5a6a64;background:#f0f4f2;border-color:#dde7e2}.todo-status-badge.status-in_progress{color:#1a4f8a;background:#eef4fd;border-color:#c8daf5}.todo-priority-badge.priority-high{color:#a02020;background:#fff0f0;border-color:#f5cece}.todo-priority-badge.priority-normal{color:#7a4f00;background:#fffaed;border-color:#f0dfa0}.todo-priority-badge.priority-low{color:#1a5c38;background:#f0faf4;border-color:#b8e4cc}.todo-due{color:#5a6a64;background:#f0f4f2;border-color:#dde7e2}.todo-due.overdue{color:#a02020;background:#fff0f0;border-color:#f5cece;font-weight:800}.todo-due.due-soon{color:#7a4f00;background:#fffaed;border-color:#f0dfa0}.todo-card-actions{justify-content:flex-end}.todo-card-actions .ghost-action{color:#4a5c56;background:#f3f5f4;font-weight:700;font-size:.85rem;min-height:34px;padding:0 12px;border:1px solid #dce5e0}.todo-card-actions .ghost-action:hover{background:#e8ecea;border-color:#c8d4ce;color:#1e2c28}.ghost-action.active{color:#1a4f8a;background:#dbeafe;border-color:#b8d4f0}.scheduled-card-title>div{display:grid;min-width:0;gap:3px}.scheduled-card-title strong,.scheduled-card-title span{overflow:hidden;text-overflow:ellipsis}.scheduled-card-title span{color:#65756f;font-size:.84rem;font-weight:720}.danger-text{color:#a33b3b!important}.info-callout{padding:12px;border-radius:8px;color:#244a43;background:#e9f3ee;font-weight:740}.profile-setting{display:grid;gap:10px;border:1px solid #d8e2de;border-radius:8px;padding:12px;background:#f7fbf8}.profile-setting .toggle-line{align-items:start;gap:10px;margin:0}.profile-setting .toggle-line span{display:grid;gap:2px}.profile-setting small{color:#687772;font-size:.82rem;font-weight:650;line-height:1.35}.danger-modal h2,.danger-modal p{margin:0}.danger-modal p{color:#4b5a56;line-height:1.45}.eyebrow.danger{color:#a33a3a}.danger-callout{padding:12px;border-radius:8px;color:#8a2727;background:#fde7e7;font-weight:740}.danger-modal label{display:grid;gap:7px;color:#34423e;font-size:.9rem;font-weight:740}.danger-modal input{min-height:42px;border:1px solid #d4b7b7;border-radius:8px;padding:0 12px;outline:none}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.toggle-line{display:grid!important;grid-template-columns:auto 1fr;justify-content:start}.toggle-line input{width:auto;min-height:0}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){html,body{width:100%;max-width:100%;overflow:hidden;touch-action:manipulation}input,select,textarea{font-size:16px}.app-shell{display:block;width:100vw;max-width:100vw;background:#fbfdfb}.app-shell.chat-list-collapsed{grid-template-columns:none}.rail{position:absolute;z-index:20;right:0;bottom:0;left:0;height:64px;flex-direction:row;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid #d3ddd8;border-right:0;background:#f6faf7fa;transform:none}.rail-button{width:46px;height:46px}.rail-brand{min-height:46px}.rail-spacer{flex:1}.user-chip{width:38px;height:38px}.todo-card,.todo-form-row{grid-template-columns:1fr}.todo-card-actions{justify-content:flex-start;padding-left:44px}.chat-list-panel,.conversation-panel{position:absolute;inset:env(safe-area-inset-top) 0 64px 0;width:100vw;max-width:100vw;height:auto;overflow:hidden;transition:transform .18s ease}.chat-list-panel{z-index:1;width:auto;border-right:0;transform:translate(0)}.chat-list-panel.collapsed{border-right:0}.chat-list-panel.collapsed>*{visibility:visible}.conversation-panel{z-index:2;transform:translate(100%)}.app-shell.mobile-detail-open .chat-list-panel{transform:translate(-100%)}.app-shell.mobile-detail-open .conversation-panel{transform:translate(0)}.desktop-only{display:none}.mobile-only{display:grid}.list-header{padding:18px 16px 12px}.session-card{margin-right:14px;margin-left:14px;padding:10px}.session-card:not(:has(.session-controls.open)){margin-bottom:8px}.session-main{gap:9px}.session-main span:last-child{font-size:.78rem}.session-controls{display:none}.session-controls.open{display:grid}.search-box,.new-chat{margin-right:14px;margin-left:14px}.chat-row{min-height:72px;padding:10px 14px}.conversation-header{min-height:64px;padding:10px 12px}.floating-error{top:72px;right:12px;left:12px}.composer{gap:6px;padding:8px 10px}.composer button{width:40px;height:40px}.composer textarea{min-height:42px;padding:11px 12px;font-size:16px}}@media(max-width:760px){.config-grid,.ai-context-grid,.ai-settings-grid,.ai-url-row,.ai-upload-row,.session-row{grid-template-columns:1fr}.session-row-actions{flex-wrap:wrap}.user-row{grid-template-columns:1fr}}@media(max-width:560px){.login-shell{padding:14px}.login-panel{padding:22px}.message-area{padding:14px 18px}.bubble{max-width:calc(100% - 20px)}.bubble.audioMessage{min-width:0;width:min(100%,300px)}.message-menu-trigger{opacity:.86}.message-menu,.reaction-picker{bottom:calc(100% + 6px)}.message-image,.message-video{width:100%;max-width:min(280px,100%)}.message-audio{width:min(260px,100%)}.message-location{min-width:0}.composer{grid-template-columns:40px 40px minmax(0,1fr) 44px;padding-right:max(8px,env(safe-area-inset-right));padding-left:max(8px,env(safe-area-inset-left))}.composer .mobile-schedule-button{right:calc(max(8px,env(safe-area-inset-right)) + 52px)}.composer textarea{min-width:0}}html,body{background:var(--surface-soft);color:var(--text)}.login-shell{background:linear-gradient(130deg,#842525e6,#ff5757b8),url(https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&w=1600&q=80) center/cover}.login-panel,.chat-list-panel,.list-footer,.conversation-header,.composer,.config-tabs button,.rail{border-color:var(--border);background:var(--surface-panel)}.app-shell,.search-box,.session-card,.chat-loading,.config-status{background:var(--surface-soft)}.conversation-panel{background:linear-gradient(#fff8f6eb,#fff8f6eb),radial-gradient(circle at 20% 20%,rgba(255,87,87,.09) 0 1px,transparent 1px);background-size:auto,22px 22px}.primary-action,.new-chat button,.send-button,.message-location .location-pin,.config-shortcut.active{border-color:var(--brand)!important;background:var(--brand)!important;color:#fff!important}.primary-action:hover:not(:disabled),.new-chat button:hover:not(:disabled),.send-button:hover:not(:disabled){background:var(--brand-strong)!important}.ghost-action,.start-session,.user-chip,.role-pill,.success-banner,.status-pill.ready,.info-callout{background:var(--brand-soft);color:var(--brand-dark)!important}.brand-icon,.status-dot.ready,.socket-chip.ok span,.unread:not(.muted){background:var(--brand)}.unread.muted{background:var(--text-muted, #99a89f)}.avatar{background:linear-gradient(135deg,var(--brand),var(--brand-strong))}.rail-button:hover,.rail-button.active,.icon-button:hover,.composer button:hover,.chat-row:hover,.chat-row.selected,.session-toggle.open{background:var(--brand-softer);color:var(--brand-dark)}.config-shortcut,.session-toggle,.message-file,.message-sender,.bubble.outbound .message-sender,.typing-indicator{color:var(--brand-dark)}.bubble.outbound .message-sender{color:#2f6e37}.bubble{background:var(--incoming);color:var(--text);box-shadow:0 1px 2px var(--shadow-soft)}.bubble:before{background:var(--incoming)}.bubble.outbound{background:var(--outgoing)}.bubble.outbound:before{background:var(--outgoing)}.message-location{border-color:var(--brand-border);background:var(--brand-surface);color:var(--brand-dark)}.message-image,.message-video,.message-reactions,.audio-recorder-panel,.form-modal,.danger-modal,.qr-box,.session-row,.user-row{border-color:var(--border);background:var(--surface)}.message-reactions{box-shadow:0 1px 2px var(--shadow-soft)}.login-form input,.new-chat input,.search-box input,.session-card select,.composer textarea,.config-stack input,.config-stack select,.config-stack textarea,.form-modal input,.form-modal select,.form-modal textarea,.ai-upload-row input[type=file],.danger-modal input{border-color:var(--border);background:var(--surface);color:var(--text)}.login-endpoint,.config-panel,.danger-zone,.ai-crawl-options,.ai-test-result,.knowledge-card,.knowledge-empty,.profile-setting,.scheduled-card,.todo-card{border-color:var(--border);background:var(--surface-panel)}.todo-card.overdue{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,var(--surface-panel))}.todo-check{border-color:var(--border);background:var(--surface)}.todo-card h3{color:var(--text)}.todo-card p,.todo-meta span{color:var(--text-muted)}.todo-meta span{background:var(--surface-panel)}.eyebrow,.chat-title time,.chat-preview,.session-main span:last-child,.conversation-title span,.bubble span,.message-location small,.socket-chip,.config-status span,.user-row span,.session-row-main span,.knowledge-card small,.knowledge-card p,.ai-test-result span,.ai-test-result summary,.ai-test-result li,.knowledge-source-name,.ai-file-hint,.empty-state,.chat-loading,.sync-meta{color:var(--muted)}.profile-setting small{color:var(--muted)}.tick-read{color:var(--brand)!important}.empty-state h2,.chat-title strong,.conversation-title strong,.config-panel h2,.form-modal h2,h1,h2,.ai-context-form label{color:var(--text)}.ai-test-box{border-color:var(--border)}.ai-test-result li strong{color:var(--text)}.knowledge-card a{color:var(--brand)}.floating-error,.error-banner,.danger-callout{background:#fde7e7;color:#8a2727}:root[data-theme=dark] .login-panel,:root[data-theme=dark] .modal-backdrop{box-shadow:none}:root[data-theme=dark] .modal-backdrop{background:#00000094}:root[data-theme=dark] .floating-error,:root[data-theme=dark] .error-banner,:root[data-theme=dark] .danger-callout{background:#4b1f1f;color:#ffd2ce}:root[data-theme=dark] .danger-zone,:root[data-theme=dark] .danger-modal{border-color:#743330;background:#251616}:root[data-theme=dark] .danger-action{background:#b93535}:root[data-theme=dark] .brand-logo{filter:drop-shadow(0 8px 18px rgba(255,111,98,.2))}:root[data-theme=dark] .start-session.secondary{border-color:var(--brand-border);background:var(--brand-soft);color:var(--brand-dark)}:root[data-theme=dark] .start-session.secondary:hover:not(:disabled){background:#5c2825}:root[data-theme=dark] .conversation-panel{background:linear-gradient(#1e1514f0,#1e1514f0),radial-gradient(circle at 20% 20%,rgba(255,111,98,.12) 0 1px,transparent 1px);background-size:auto,22px 22px}:root[data-theme=dark] .emoji-picker{border-color:#3f2a28;background:#181312f5;box-shadow:0 18px 44px #0000005c}:root[data-theme=dark] .emoji-group strong{color:#cbb5b1}:root[data-theme=dark] .composer .emoji-choice{background:#160f0e}:root[data-theme=dark] .composer .emoji-choice:hover{background:#3a2422}:root[data-theme=dark] .bubble.outbound .message-sender{color:#b6e4b0}:root[data-theme=dark] .bubble.outbound .mention-token{color:#d4f6cf;background:#ffffff1f}:root[data-theme=dark] .quoted-message{background:#ffffff14}:root[data-theme=dark] .quoted-message span{color:#c9bebc}
