@import "https://fonts.googleapis.com/css2?family=Inter+Tight:wght@300;400;500;600;700&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fbfaf7;--bg-dark:#04070f;--accent:#258651;--accent-2:#00713d;--ink:#0f1216;--ink-2:#45484d;--ink-3:#83868c;--border:#dddee0;--danger:#c53637;--warn:#d28425;--ok:#00884c;--font-sans:"Inter Tight", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--radius:8px;--radius-lg:14px;--shadow-1:0 1px 2px #14141e0a;--shadow-2:0 4px 16px #14141e1a}@supports (color:lab(0% 0 0)){:root{--bg:lab(98.2852% -.128895 1.5182);--bg-dark:lab(1.92972% .179827 -3.65737);--accent:lab(49.3547% -38.3674 19.7976);--accent-2:lab(41.4652% -45.5088 23.6022);--ink:lab(5.23796% -.285208 -3.0582);--ink-2:lab(30.3655% -.474572 -3.71171);--ink-3:lab(55.887% -.501543 -3.72579);--border:lab(88.3907% -.162005 -1.12425);--danger:lab(45.9853% 56.8958 34.8481);--warn:lab(62.4415% 26.1423 59.6948);--ok:lab(49.5995% -45.1147 23.3324)}}html,body{height:100%;font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit}.auth-shell{grid-template-columns:1fr 1fr;min-height:100svh;display:grid}@media (max-width:768px){.auth-shell{grid-template-columns:1fr}.auth-left{display:none}}.auth-left{background:var(--bg-dark);flex-direction:column;justify-content:center;gap:40px;padding:56px;display:flex;position:relative;overflow:hidden}.auth-left:before{content:"";pointer-events:none;background:radial-gradient(at 30% 60%,#006a3140,#0000 60%);background:radial-gradient(at 30% 60%,lab(38.4441% -60.303 31.6616/.25),#0000 60%);position:absolute;inset:0}.auth-left-logo{color:#fff;letter-spacing:-.5px;align-items:center;gap:8px;font-size:22px;font-weight:700;display:flex}.auth-left-logo-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 12px var(--accent);border-radius:50%}.auth-tagline{color:#ffffffe6;letter-spacing:-.5px;max-width:320px;font-size:28px;font-weight:600;line-height:1.3}.auth-tagline em{color:#7ad59c;color:lab(78.3785% -37.8667 19.474);font-style:normal}.auth-proof{flex-direction:column;gap:16px;display:flex}.auth-proof-item{color:#fff9;align-items:center;gap:10px;font-size:14px;display:flex}.auth-proof-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.auth-right{background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:56px 40px;display:flex}.auth-card{flex-direction:column;gap:32px;width:100%;max-width:400px;display:flex}.auth-card-header{flex-direction:column;gap:6px;display:flex}.auth-card-title{letter-spacing:-.5px;color:var(--ink);font-size:24px;font-weight:700}.auth-card-sub{color:var(--ink-3);font-size:14px}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--ink-2);font-size:13px;font-weight:500}.form-input{border-radius:var(--radius);border:1.5px solid var(--border);height:42px;color:var(--ink);background:#fff;outline:none;width:100%;padding:0 12px;font-size:14px;transition:border-color .15s}.form-input:focus{border-color:var(--accent)}.form-input.error{border-color:var(--danger)}.form-error{color:var(--danger);border-radius:var(--radius);background:#fff1f0;background:lab(96.3359% 6.12152 3.29586);border:1px solid #fed2cd;border:1px solid lab(87.9346% 15.3784 8.33243);align-items:center;gap:6px;padding:10px 12px;font-size:13px;display:flex}.form-fields{flex-direction:column;gap:16px;display:flex}.btn{border-radius:var(--radius);justify-content:center;align-items:center;gap:8px;width:100%;height:42px;padding:0 20px;font-size:14px;font-weight:600;transition:background .15s,opacity .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-2)}.btn-ghost{color:var(--ink);border:1.5px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:#f0f2f4;background:lab(95.3507% -.162244 -1.12435)}.stepper{align-items:center;gap:0;margin-bottom:8px;display:flex}.stepper-step{color:var(--ink-3);align-items:center;gap:8px;font-size:13px;display:flex}.stepper-step.active{color:var(--accent);font-weight:600}.stepper-step.done{color:var(--ok)}.stepper-circle{border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.stepper-step.active .stepper-circle{border-color:var(--accent);background:var(--accent);color:#fff}.stepper-step.done .stepper-circle{border-color:var(--ok);background:var(--ok);color:#fff}.stepper-divider{background:var(--border);flex:1;min-width:20px;height:1.5px;margin:0 8px}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.auth-link{color:var(--ink-3);text-align:center;font-size:14px}.auth-link a{color:var(--accent);font-weight:500}.auth-link a:hover{text-decoration:underline}.empty-state{height:100%;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.empty-state-title{color:var(--ink-2);font-size:18px;font-weight:600}.empty-state-desc{text-align:center;max-width:280px;font-size:14px;line-height:1.5}.app-shell{background:var(--bg);height:100svh;display:flex;overflow:hidden}.rail{background:var(--bg-dark);flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:48px;padding:10px 0;display:flex;overflow:hidden}.rail-logo{background:var(--accent);color:#fff;letter-spacing:-.5px;cursor:default;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:8px;font-size:12px;font-weight:800;display:flex}.rail-btn{color:#ffffff61;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .12s,color .12s;display:flex}.rail-btn:hover{color:#ffffffb8;background:#ffffff14}.rail-btn[aria-current=true]{background:var(--accent);color:#fff}.rail-btn[aria-current=true]:hover{background:var(--accent-2)}.rail-sep{background:#ffffff1a;flex-shrink:0;width:24px;height:1px;margin:4px 0}.rail-spacer{flex:1;min-height:4px}.rail-avatar{color:#ffffffd1;letter-spacing:.5px;cursor:default;-webkit-user-select:none;user-select:none;background:#ffffff1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-top:4px;font-size:11px;font-weight:700;transition:background .12s;display:flex}.rail-avatar:hover{background:#fff3}.rail-skeleton-btn{background:#ffffff12;border-radius:8px;width:36px;height:36px;animation:1.4s ease-in-out infinite skeleton-pulse}.rail-skeleton-avatar{background:#ffffff12;border-radius:50%;width:30px;height:30px;animation:1.4s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:.9}}.content-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-bar{background:var(--bg);border-bottom:1px solid var(--border);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 24px;display:flex}.top-bar-actions{align-items:center;gap:8px;display:flex}.page-body{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.ss-wrap{align-items:center;display:flex;position:relative}.ss-trigger{border:1.5px solid var(--border);background:var(--bg);height:34px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;max-width:240px;padding:0 12px;font-size:13px;font-weight:500;transition:border-color .14s,box-shadow .14s;display:flex}.ss-trigger:hover{border-color:var(--accent);box-shadow:0 0 0 3px #d1edd966;box-shadow:0 0 0 3px lab(91.2593% -12.4091 6.35914/.4)}.ss-trigger:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #d1edd980;box-shadow:0 0 0 3px lab(91.2593% -12.4091 6.35914/.5)}.ss-label{text-overflow:ellipsis;white-space:nowrap;flex:1;max-width:160px;overflow:hidden}.ss-dropdown{background:var(--bg);border:1.5px solid var(--border);min-width:220px;box-shadow:var(--shadow-2);z-index:200;border-radius:10px;padding:4px;animation:.12s ss-fade-in;position:absolute;top:calc(100% + 6px);left:0}@keyframes ss-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ss-item{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:400;transition:background .1s;display:flex}.ss-item:hover{background:#f4f5f7;background:lab(96.5108% -.162244 -1.12437)}.ss-item-active{background:#daf7e380;background:lab(94.7394% -12.4067 6.35767/.5);font-weight:500}.ss-item-active:hover{background:#cbefd699;background:lab(91.3924% -15.5357 7.96369/.6)}.ss-item-add{color:var(--ink-2);font-size:13px}.ss-item-add:hover{color:var(--accent);background:#daf7e34d;background:lab(94.7394% -12.4067 6.35767/.3)}.ss-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ss-divider{background:var(--border);height:1px;margin:4px 0}.ss-empty{color:var(--ink-3);text-align:center;padding:10px 12px;font-size:13px}.ss-sync-btn{border:1.5px solid var(--border);background:var(--bg);height:32px;color:var(--ink-2);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:500;transition:border-color .14s,color .14s,box-shadow .14s;display:flex}.ss-sync-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px #d1edd959;box-shadow:0 0 0 3px lab(91.2593% -12.4091 6.35914/.35)}.ss-sync-btn:disabled{opacity:.45;cursor:not-allowed}.ss-sync-loading{color:var(--accent)}@keyframes ss-spin{to{transform:rotate(360deg)}}.empty-page{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:40px;display:flex}.empty-page-icon{width:52px;height:52px;color:var(--accent);background:#e4eee7;background:lab(93.2435% -4.63572 2.37397);border-radius:14px;justify-content:center;align-items:center;display:flex}.empty-page-title{color:var(--ink);font-size:17px;font-weight:600}.empty-page-desc{color:var(--ink-3);max-width:300px;font-size:14px;line-height:1.6}.empty-page-cta{margin-top:4px}.sess-page{flex-direction:column;gap:24px;min-height:100%;padding:28px 32px;display:flex}.sess-page-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sess-page-title{letter-spacing:-.4px;color:var(--ink);font-size:20px;font-weight:700}.sess-page-sub{color:var(--ink-3);align-items:center;gap:10px;margin-top:3px;font-size:13px;display:flex}.sess-ws-badge{color:var(--warn);align-items:center;gap:6px;font-size:12px;display:inline-flex}.sess-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.sess-card{border:1.5px solid var(--border);box-shadow:var(--shadow-1);background:#fff;border-radius:14px;flex-direction:column;transition:box-shadow .15s;display:flex;overflow:hidden}.sess-card:hover{box-shadow:var(--shadow-2)}.sess-card-warn{border-color:#f3c497;border-color:lab(82.4587% 13.0504 29.3573)}.sess-card-active-border{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.sess-card-head{border-bottom:1.5px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:16px 18px 14px;display:flex}.sess-card-identity{align-items:center;gap:10px;min-width:0;display:flex}.sess-avatar{letter-spacing:.5px;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.sess-avatar-active{color:var(--accent);background:#cdead6;background:lab(90.0992% -12.41 6.35966)}.sess-avatar-connecting{color:var(--warn);background:#ffe6d0;background:lab(92.9964% 6.02582 14.1632)}.sess-avatar-disconnected{color:var(--danger);background:#ffe4e1;background:lab(92.7628% 9.19709 4.96113)}.sess-card-label{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.2px;font-size:14px;font-weight:600;overflow:hidden}.sess-card-phone{color:var(--ink-3);font-size:12px;font-family:var(--font-mono);margin-top:1px}.sess-badge{letter-spacing:.5px;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.sess-badge-ok{color:var(--ok);background:#c6f1d3;background:lab(91.5248% -18.6727 9.57469)}.sess-badge-warn{color:var(--warn);background:#ffe6cc;background:lab(92.9577% 9.3554 21.5307)}.sess-badge-danger{color:var(--danger);background:#ffe3df;background:lab(92.6692% 12.2811 6.63735)}.sess-badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.sess-badge-pulse{animation:1.5s ease-in-out infinite sess-pulse}@keyframes sess-pulse{0%,to{opacity:1}50%{opacity:.35}}.sess-card-body{flex:1;padding:14px 18px}.sess-metrics{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sess-metric-label{color:var(--ink-3);margin-bottom:2px;font-size:11px}.sess-metric-value{color:var(--ink);font-size:15px;font-weight:600;font-family:var(--font-mono)}.sess-waiting{color:var(--ink-3);align-items:center;gap:8px;font-size:13px;display:flex}.sess-qr-preview{border:1.5px dashed var(--border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:20px;transition:background .12s;display:flex}.sess-qr-preview:hover{background:#f4f5f6;background:lab(96.5139% -.108719 -.749958)}.sess-qr-hint{color:var(--accent);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.sess-card-foot{border-top:1.5px solid var(--border);background:#f6f7f8;background:lab(97.0939% -.108689 -.749958);align-items:center;gap:6px;padding:10px 14px;display:flex}.sess-action-btn{color:var(--ink-2);border:1.5px solid var(--border);background:0 0;border-radius:7px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.sess-action-btn:hover:not(:disabled){color:var(--ink);background:#fff}.sess-action-btn:disabled{opacity:.5;cursor:not-allowed}.sess-action-primary{border-color:var(--accent);color:var(--accent)}.sess-action-primary:hover:not(:disabled){background:#c6f1d3;background:lab(91.5248% -18.6727 9.57469)}.sess-action-danger{color:var(--ink-3);border-color:#0000}.sess-action-danger:hover:not(:disabled){color:var(--danger);background:#fff1f0;background:lab(96.3359% 6.12152 3.29586);border-color:#f7cbc7;border-color:lab(85.6144% 15.381 8.336)}.sess-loading{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.sess-card-skeleton{background:#eeeef0;background:lab(94.1939% -.108719 -.749934);border-radius:14px;height:180px;animation:1.4s ease-in-out infinite skeleton-pulse}.sess-error{text-align:center;color:var(--danger);padding:40px;font-size:14px}.qr-overlay{z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.qr-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;position:absolute;inset:0}.qr-panel{background:#fff;border-radius:18px;flex-direction:column;width:380px;max-width:calc(100vw - 32px);display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000002e}.qr-header{border-bottom:1.5px solid var(--border);justify-content:space-between;align-items:flex-start;padding:18px 20px 14px;display:flex}.qr-title{color:var(--ink);font-size:16px;font-weight:700}.qr-sub{color:var(--ink-3);margin-top:2px;font-size:13px}.qr-close{width:28px;height:28px;color:var(--ink-3);border-radius:8px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.qr-close:hover{background:var(--border);color:var(--ink)}.qr-body{justify-content:center;align-items:center;min-height:280px;padding:28px 24px;display:flex}.qr-svg-wrap{border:1.5px solid var(--border);background:#fff;border-radius:12px;justify-content:center;align-items:center;width:220px;height:220px;display:flex;overflow:hidden}.qr-svg-wrap svg{width:100%;height:100%;display:block}.qr-img{border:1.5px solid var(--border);border-radius:12px;display:block}.qr-waiting{color:var(--ink-3);flex-direction:column;align-items:center;gap:12px;font-size:14px;display:flex}.qr-waiting-sub{color:var(--ink-3);margin-top:-6px;font-size:12px}.qr-footer{border-top:1.5px solid var(--border);background:#f6f7f8;background:lab(97.0939% -.108689 -.749958);padding:14px 20px 18px}.qr-instructions{color:var(--ink-3);margin-bottom:10px;font-size:12px;line-height:1.55}.qr-countdown-row{justify-content:space-between;align-items:center;display:flex}.qr-countdown{font-size:12px;font-family:var(--font-mono);color:var(--ink-3)}.qr-refresh-btn{color:var(--accent);text-underline-offset:2px;font-size:12px;font-weight:600;text-decoration:underline}.qr-refresh-btn:hover{color:var(--accent-2)}.sess-toast{background:var(--ink);color:#fff;box-shadow:var(--shadow-2);z-index:2000;white-space:nowrap;border-radius:999px;padding:10px 20px;font-size:13px;font-weight:500;animation:.2s toast-in;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.inbox-layout{height:100%;display:flex;overflow:hidden}.inbox-sidebar{background:#fff;border-right:1px solid #e9edef;flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.inbox-sidebar-head{background:#f0f2f5;border-bottom:1px solid #e9edef;flex-shrink:0;padding:16px}.inbox-sidebar-title{letter-spacing:.05em;text-transform:uppercase;color:#54656f;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.inbox-sidebar-body{scrollbar-width:thin;flex:1;overflow:hidden auto}.inbox-thread-area{background:#f0f2f5;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.inbox-no-chat{color:var(--ink-3);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:40px;display:flex}.inbox-no-chat-title{color:var(--ink-2);font-size:15px;font-weight:600}.inbox-no-chat-sub{color:var(--ink-3);font-size:13px}.inbox-sess-sel{flex-direction:column;gap:1px;display:flex}.inbox-sess-sel-empty{color:var(--ink-3);padding:8px 4px;font-size:12px}.inbox-sess-item{cursor:pointer;color:var(--ink);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:7px;width:100%;padding:6px 8px;font-size:12.5px;transition:background .1s;display:flex}.inbox-sess-item:hover{background:#f0f2f4;background:lab(95.3507% -.162244 -1.12435)}.inbox-sess-item-active{background:#d7f4e066;background:lab(93.5794% -12.4075 6.35813/.4);font-weight:500}.inbox-sess-item-active:hover{background:#c8ecd380;background:lab(90.2323% -15.5371 7.96453/.5)}.inbox-sess-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.inbox-sess-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.chat-list{flex-direction:column;display:flex}.chat-row{cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #f0f2f5;align-items:center;gap:12px;width:100%;height:72px;max-height:72px;padding:12px 16px;transition:background .1s;display:flex;overflow:hidden}.chat-row:hover{background:#f5f6f6}.chat-row-active{background:#f0f2f5}.chat-row-active:hover{background:#e9edef}.chat-avatar{color:#54656f;letter-spacing:.3px;-webkit-user-select:none;user-select:none;background:#dfe5e7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:500;display:flex;position:relative;overflow:hidden}.chat-avatar-unread{color:#54656f;background:#dfe5e7}.chat-avatar-img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.chat-avatar-initials{z-index:1;position:relative}.chat-row-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex;overflow:hidden}.chat-row-top{align-items:baseline;gap:6px;display:flex;overflow:hidden}.chat-row-name{color:#111b21;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:500;overflow:hidden}.chat-row-ts{color:#667781;white-space:nowrap;flex-shrink:0;font-size:12px}.chat-row-bottom{align-items:center;gap:4px;height:18px;max-height:18px;display:flex;overflow:hidden}.chat-row-preview{color:#667781;text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;max-height:18px;font-size:13px;line-height:18px;display:flex;overflow:hidden}.chat-row-no-preview{color:#667781;opacity:.7;font-style:italic}.chat-unread-badge{color:#fff;letter-spacing:0;white-space:nowrap;background:#25d366;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;display:flex}.chat-list-sentinel{height:32px}.chat-loading-more{color:var(--ink-3);justify-content:center;align-items:center;gap:6px;padding:10px;font-size:12px;display:flex}.chat-list-empty{color:var(--ink-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.chat-list-empty-title{color:var(--ink-2);font-size:14px;font-weight:600}.chat-list-empty-sub{color:var(--ink-3);font-size:12.5px}.chat-list-error{color:var(--ink-3);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;font-size:13px;display:flex}.chat-retry-btn{border:1.5px solid var(--border);background:var(--bg);color:var(--accent);cursor:pointer;border-radius:6px;margin-top:4px;padding:6px 16px;font-size:12.5px;font-weight:500;transition:border-color .12s}.chat-retry-btn:hover{border-color:var(--accent)}.chat-skeleton-list{flex-direction:column;display:flex}.chat-skeleton-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}.chat-skeleton-avatar{background:#e9edef;border-radius:50%;flex-shrink:0;width:40px;height:40px;animation:1.4s ease-in-out infinite skeleton-pulse}.chat-skeleton-body{flex-direction:column;flex:1;gap:6px;display:flex}.chat-skeleton-line{background:#dfe1e5;background:lab(89.5444% -.266761 -1.87185);border-radius:4px;animation:1.4s ease-in-out infinite skeleton-pulse}.chat-skeleton-name{width:60%;height:12px}.chat-skeleton-preview{width:85%;height:10px}.msg-bubble{max-width:75%;margin-bottom:8px;animation:.2s ease-out msg-fade-in;display:flex}@keyframes msg-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.msg-inbound{justify-content:flex-start;align-self:flex-start}.msg-outbound{justify-content:flex-end;align-self:flex-end}.msg-content{border-radius:var(--radius);box-shadow:var(--shadow-1);word-wrap:break-word;overflow-wrap:break-word;flex-direction:column;gap:4px;padding:8px 12px;display:flex}.msg-inbound .msg-content{background:#fff;border:none;border-radius:0 8px 8px;box-shadow:0 1px .5px #00000021}.msg-outbound .msg-content{background:#d9fdd3;border:none;border-radius:8px 0 8px 8px;box-shadow:0 1px .5px #00000021}.msg-sender{color:var(--accent);margin-bottom:2px;font-size:11px;font-weight:600}.msg-body{color:#111b21;white-space:pre-wrap;font-size:14.2px;line-height:1.4}.msg-footer{justify-content:flex-end;align-items:center;gap:4px;margin-top:2px;display:flex}.msg-timestamp{color:#667781;white-space:nowrap;font-size:11px}.msg-status-icon{width:12px;height:12px;color:var(--ink-3);flex-shrink:0}.msg-status-sent,.msg-status-delivered{color:var(--ink-3)}.msg-status-read{color:#00838a;color:lab(48.9475% -37.3648 -15.2805)}.msg-status-failed{color:var(--danger)}.msg-media{flex-direction:column;gap:6px;max-width:100%;display:flex}.msg-image{object-fit:cover;border-radius:6px;max-width:100%;max-height:400px;display:block}.msg-video{border-radius:6px;max-width:100%;max-height:400px;display:block}.msg-audio{width:100%;max-width:300px;height:32px}.msg-sticker{max-width:150px;max-height:150px;display:block}.msg-caption{color:var(--ink);margin-top:4px;font-size:13px;line-height:1.4}.msg-media-error{color:var(--ink-3);text-align:center;background:#ebeff5;background:lab(94.1679% -.518382 -3.73511);border-radius:6px;padding:12px;font-size:12px}.msg-document{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#f4f5f7;background:lab(96.5108% -.162244 -1.12437);border-radius:6px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;transition:background .15s;display:flex}.msg-document:hover{background:#e9ebef;background:lab(93.0244% -.266999 -1.872)}.msg-document-icon{width:24px;height:24px;color:var(--accent);flex-shrink:0}.msg-document-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.msg-document-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.msg-document-action{color:var(--accent);font-size:11px;font-weight:500}.ws-status-indicator{border:1px solid var(--border);color:var(--ink-2);background:#f4f5f7;background:lab(96.5108% -.162244 -1.12437);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:flex}.ws-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.ws-status-dot-pulse{animation:1.5s ease-in-out infinite ws-pulse}@keyframes ws-pulse{0%,to{opacity:1}50%{opacity:.35}}.ws-status-text{white-space:nowrap}.msg-input-container{border-top:1px solid var(--border);z-index:2;background:#fff;flex-shrink:0;padding:12px 16px;position:relative}.msg-upload-progress{z-index:1;background:#edeef0;background:lab(94.1907% -.162154 -1.12433);height:3px;position:absolute;top:-3px;left:0;right:0;overflow:hidden}.msg-upload-progress-bar{background:var(--accent);height:100%;transition:width .3s}.msg-upload-progress-text{color:var(--ink-2);border:1px solid var(--border);white-space:nowrap;z-index:3;pointer-events:none;background:#fff;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;position:absolute;top:8px;left:50%;transform:translate(-50%)}.msg-input-form{z-index:2;align-items:center;gap:8px;display:flex;position:relative}.msg-attach-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.msg-attach-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:#f4f5f7;background:lab(96.5108% -.162244 -1.12437)}.msg-attach-btn:disabled{opacity:.5;cursor:not-allowed}.msg-input{border:1px solid var(--border);min-width:0;height:36px;color:var(--ink);background:#fff;border-radius:8px;flex:1;padding:0 12px;font-size:14px;transition:border-color .15s}.msg-input:focus{border-color:var(--accent);outline:none}.msg-input:disabled{opacity:.5;cursor:not-allowed;background:#f4f5f7;background:lab(96.5108% -.162244 -1.12437)}.msg-input::placeholder{color:var(--ink-3)}.msg-send-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.msg-send-btn:hover:not(:disabled){background:oklch(from var(--accent) calc(l * .9) c h);transform:scale(1.05)}.msg-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.msg-toast{background:var(--ink);color:#fff;z-index:1000;text-align:center;border-radius:8px;max-width:90%;padding:10px 16px;font-size:13px;font-weight:500;animation:.3s toast-slide-up;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}@keyframes toast-slide-up{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.chat-view{background:#efeae2;flex-direction:column;height:100%;display:flex;position:relative}.chat-view:before{content:"";opacity:.06;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.627 13.373c-6.627-6.627-17.373-6.627-24 0s-6.627 17.373 0 24 17.373 6.627 24 0 6.627-17.373 0-24z' fill='%23000' fill-opacity='1'/%3E%3C/svg%3E");position:absolute;inset:0}.chat-view>*{z-index:1;position:relative}.message-scroll-container{scroll-behavior:smooth;flex-direction:column;flex:1;min-height:0;padding:16px;display:flex;overflow:hidden auto}.message-scroll-container::-webkit-scrollbar{width:6px}.message-scroll-container::-webkit-scrollbar-track{background:0 0}.message-scroll-container::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.message-scroll-container::-webkit-scrollbar-thumb:hover{background:#0000004d}
