:root{--bg: #f0f2f5;--panel: #ffffff;--border: #dfe3e8;--border-2: #eaedf1;--text: #0b0c0e;--text-2: #1c1e21;--muted: #65676b;--muted-2: #8a8d91;--accent: #0866ff;--accent-hover: #0a5ae0;--accent-soft: #e7f0ff;--accent-softer: #f2f7ff;--ai: #eaf2ff;--ai-b: #d4e4ff;--human: #e7f6ec;--human-b: #cdead6;--human-t: #217a3a;--green: #31a24c;--amber: #b76e00;--amber-soft: #fff3e0;--off: #ccd0d5;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow: 0 2px 8px rgba(16, 24, 40, .08);--r: 10px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:14px/1.45 -apple-system,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}.splash{display:grid;place-items:center;height:100%;color:var(--muted)}.logo{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#0866ff,#3b8bff);display:grid;place-items:center;color:#fff;font-weight:800;font-size:17px;box-shadow:var(--shadow-sm);flex:none}.logo.lg{width:52px;height:52px;border-radius:14px;font-size:26px;margin:0 auto 6px}.av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;flex:none;overflow:hidden}.btn{border:1px solid var(--border);background:#fff;color:var(--text-2);border-radius:8px;padding:8px 14px;font-weight:600;font-size:13px}.btn:hover{background:var(--bg)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover)}.btn.block{width:100%;padding:11px;font-size:15px}.btn:disabled{opacity:.55;cursor:default}input,textarea,select{font:inherit;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 12px}input:focus,textarea:focus,select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.error{color:#e0243b;font-size:13px}.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px}.login{width:min(400px,100%);background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:30px;box-shadow:var(--shadow);display:grid;gap:12px;text-align:center}.login h1{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em}.login p{margin:0 0 6px;color:var(--muted)}.login input{text-align:left}.app{display:grid;grid-template-columns:248px 360px 1fr;height:100vh;min-height:0}.rail{background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.rail .brand{display:flex;align-items:center;gap:10px;padding:16px 16px 12px}.brand .name{font-weight:800;font-size:18px;letter-spacing:-.01em}.brand .name small{display:block;font-weight:500;font-size:11px;color:var(--muted);letter-spacing:0}.tenant{position:relative;margin:4px 12px 8px;padding:8px 11px;border:1px solid var(--border);border-radius:var(--r);display:flex;align-items:center;gap:9px;background:#fff}.tenant .av{width:30px;height:30px;border-radius:8px;font-size:12px}.tenant .t{flex:1;min-width:0}.tenant .t b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenant .t span{display:block;font-size:11px;color:var(--muted)}.tenant .ico{color:var(--muted-2);width:16px;height:16px}.tenant-native{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;border:0}.navlabel{padding:12px 18px 6px;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--muted-2);text-transform:uppercase}.nav{padding:0 8px;display:flex;flex-direction:column;gap:2px}.navitem{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:8px;color:var(--text-2);background:transparent;border:0;width:100%;text-align:left;font-weight:500}.navitem .ico{width:20px;height:20px;color:var(--muted);flex:none}.navitem .cnt{margin-left:auto;font-size:12px;font-weight:600;color:var(--muted);background:var(--bg);border-radius:999px;padding:1px 8px;min-width:22px;text-align:center}.navitem:hover{background:var(--bg)}.navitem.active{background:var(--accent-soft);color:var(--accent)}.navitem.active .ico{color:var(--accent)}.navitem.active .cnt{background:#fff;color:var(--accent)}.toggle{margin:6px 12px;display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--r);background:var(--bg);border:0;width:calc(100% - 24px);text-align:left}.toggle:not(.readonly):hover{background:#e9ebef}.toggle .sw{width:38px;height:22px;border-radius:999px;background:var(--off);position:relative;flex:none;transition:background .15s}.toggle .sw:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:left .15s}.toggle.on .sw{background:var(--accent)}.toggle.on .sw:after{left:18px}.toggle .tt b{display:block;font-size:13px}.toggle .tt small{display:block;font-size:11px;color:var(--muted)}.rail .grow{flex:1}.card{margin:10px 12px;padding:11px 12px;background:var(--bg);border-radius:var(--r)}.card .ttl{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);margin-bottom:7px}.kv{display:flex;justify-content:space-between;font-size:12.5px;padding:2px 0}.kv span{color:var(--muted)}.kv b{font-weight:700}.kv b.g{color:var(--green)}.user{border-top:1px solid var(--border);padding:11px 14px;display:flex;align-items:center;gap:10px}.user .u{flex:1;min-width:0}.user .u b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user .u span{display:block;font-size:11px;color:var(--muted)}.user .out{border:1px solid var(--border);background:#fff;border-radius:8px;padding:6px 11px;font-size:12.5px;color:var(--text-2)}.user .out:hover{background:var(--bg)}.list{background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.list .lhead{padding:15px 18px 12px;display:flex;align-items:center;gap:10px}.list .lhead h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.01em}.list .live{margin-left:auto;font-size:11px;font-weight:700;color:var(--green);background:#e7f6ec;border-radius:999px;padding:3px 9px;display:flex;align-items:center;gap:5px}.list .live .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #cdeed6}.listerr{padding:6px 18px}.items{overflow-y:auto;flex:1}.item{display:flex;gap:11px;padding:12px 14px;cursor:pointer;border-bottom:1px solid var(--border-2);position:relative}.item:hover{background:var(--accent-softer)}.item.sel{background:var(--accent-soft)}.item.sel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.item .body{flex:1;min-width:0}.item .l1{display:flex;align-items:center;gap:8px}.item .l1 .nm{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item .l1 .tm{margin-left:auto;font-size:11.5px;color:var(--muted-2);flex:none}.item .pv{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0 5px}.item .l3{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.unread{margin-left:auto;background:var(--accent);color:#fff;font-size:11px;font-weight:700;border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 6px}.empty{padding:28px 24px;color:var(--muted);text-align:center}.tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;border-radius:999px;padding:3px 9px;line-height:1}.tag.ai{background:var(--accent-soft);color:var(--accent)}.tag.human{background:var(--human);color:var(--human-t)}.tag.wait{background:var(--amber-soft);color:var(--amber)}.tag.closed{background:var(--bg);color:var(--muted)}.tag .d{width:6px;height:6px;border-radius:50%;background:currentColor}.thread{display:flex;flex-direction:column;min-height:0;background:var(--bg)}.thread-empty{margin:auto}.thead{background:var(--panel);border-bottom:1px solid var(--border);padding:11px 18px;display:flex;align-items:center;gap:12px}.thead .back{display:none;border:0;background:transparent;font-size:22px;line-height:1;color:var(--text-2);padding:0 4px}.thead .who{min-width:0}.thead .who b{font-size:15px;display:block}.thead .who span{font-size:12.5px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thead .tag{flex:none}.thead .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.banner{background:var(--panel);border-bottom:1px solid var(--border);padding:8px 20px;font-size:12.5px;color:var(--muted);display:flex;gap:8px;align-items:center}.banner .ico{width:15px;height:15px;color:var(--accent);flex:none}.msgs{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:12px}.bub{max-width:66%;padding:9px 13px;border-radius:16px;box-shadow:var(--shadow-sm);white-space:pre-wrap;word-break:break-word;font-size:14px}.bub .m{display:block;margin-top:5px;font-size:11px;color:var(--muted-2)}.bub.in{align-self:flex-start;background:#fff;border:1px solid var(--border);border-bottom-left-radius:5px}.bub.ai{align-self:flex-end;background:var(--ai);border:1px solid var(--ai-b);border-bottom-right-radius:5px}.bub.hu{align-self:flex-end;background:var(--human);border:1px solid var(--human-b);border-bottom-right-radius:5px}.bub.ai .m,.bub.hu .m{text-align:right}.bub.system{align-self:center;background:var(--bg);border:1px dashed var(--border);color:var(--muted);font-size:12px;max-width:88%;box-shadow:none}.composer{background:var(--panel);border-top:1px solid var(--border);padding:12px 16px}.cbox{display:flex;align-items:flex-end;gap:10px;border:1px solid var(--border);border-radius:14px;padding:7px 8px 7px 14px;background:#fff}.cbox:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cbox.disabled{background:var(--bg)}.cbox textarea{flex:1;border:0;outline:0;resize:none;font:inherit;background:transparent;max-height:140px;padding:4px 0;box-shadow:none}.cbox textarea:focus{box-shadow:none;border:0}.send{width:38px;height:38px;border-radius:10px;border:0;background:var(--accent);color:#fff;display:grid;place-items:center;flex:none}.send:hover{background:var(--accent-hover)}.send:disabled{background:var(--off);cursor:default}.send .ico{width:18px;height:18px}.hint{font-size:12px;color:var(--muted);margin:8px 4px 0;display:flex;align-items:center;gap:7px}.hint .ico{width:15px;height:15px;color:var(--accent);flex:none}.hint.warn,.hint.warn .ico{color:var(--amber)}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0c0e73;display:grid;place-items:center;padding:16px;z-index:20}.drawer .panel{width:min(920px,100%);max-height:90vh;background:var(--panel);border-radius:14px;border:1px solid var(--border);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;box-shadow:0 20px 60px #0000004d}.drawer .panel header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:12px}.drawer .panel header strong{display:block;font-size:15px}.drawer .panel header .sub{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}.drawer .panel header .x{margin-left:auto;border:0;background:transparent;font-size:16px;color:var(--muted)}.drawer .panel footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:center;justify-content:flex-end}.drawer textarea{width:100%;height:100%;min-height:52vh;border:0;border-radius:0;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;box-shadow:none}.drawer textarea:focus{box-shadow:none}@media(max-width:1040px){.app{grid-template-columns:220px 320px 1fr}}@media(max-width:820px){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr}.rail{flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 10px;border-right:0;border-bottom:1px solid var(--border)}.rail .brand{padding:4px 6px}.tenant{margin:0;flex:1;min-width:160px}.navlabel,.card,.toggle .tt small{display:none}.nav{flex-direction:row;padding:0;gap:4px;width:auto}.navitem{padding:7px 10px}.navitem .ico{display:none}.toggle{margin:0;width:auto;padding:7px 10px}.rail .grow{display:none}.user{border-top:0;padding:4px 6px;margin-left:auto}.user .u{display:none}.list{border-right:0}.thread,.app.has-thread .rail,.app.has-thread .list{display:none}.app.has-thread .thread{display:flex}.app.has-thread{grid-template-rows:1fr}.thead .back{display:block}.bub{max-width:82%}}
