.dashboard-layout{height:100vh;background:var(--bg)}.dashboard-sider{border-right:1px solid var(--border);transition:all .3s cubic-bezier(.4,0,.2,1)!important}.dashboard-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%}.sider-body{flex:1;overflow-y:auto;padding-top:8px}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:99;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.logo{height:64px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--border);flex-shrink:0}.logo-icon{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#6366f1,#4f46e5 55%,#7c3aed);color:#fff;font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 16px #4f46e559}.logo-brand{display:flex;flex-direction:column;line-height:1.15;overflow:hidden}.logo-text{font-size:17px;font-weight:800;color:var(--text);white-space:nowrap;letter-spacing:-.01em}.logo-sub{font-size:11px;font-weight:600;color:var(--text-muted);white-space:nowrap}.nav-label{padding:14px 24px 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.dashboard-sider .ant-menu{border-inline-end:none!important}.sider-footer{flex-shrink:0;padding:14px 20px;border-top:1px solid var(--border);text-align:center}.sider-version{font-size:11px;font-weight:600;color:var(--text-muted);white-space:nowrap}header.dashboard-header{background:var(--surface);padding:0 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:9;height:64px;line-height:normal}.header-left{display:flex;align-items:center}.trigger-btn{font-size:20px;width:44px;height:44px;border-radius:8px}.header-right{display:flex;align-items:center}.header-icon-btn{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}.health-status{gap:7px;color:var(--text);font-size:13px;line-height:1;height:34px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2)}.health-status-text{font-weight:600}.user-profile{display:flex;align-items:center;gap:10px;cursor:pointer;line-height:1;padding:4px 12px 4px 5px;border-radius:999px;border:1px solid var(--border);transition:background .15s ease,border-color .15s ease}.user-profile:hover{background:var(--hover);border-color:var(--accent)}.user-name{font-weight:700;color:var(--text);font-size:14px;display:inline-flex;align-items:center;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-content{padding:20px;height:calc(100vh - 64px);overflow:hidden}@media (max-width: 992px){.dashboard-sider{position:fixed!important;left:0;top:0;bottom:0}.dashboard-sider.ant-layout-sider-collapsed{left:-80px}}@media (max-width: 768px){.dashboard-header{padding:0 16px}.dashboard-content{padding:12px}.user-name,.health-status-text{display:none}}.inbox{display:grid;grid-template-columns:360px 1fr;height:100%;min-height:0;background:var(--surface);border-radius:16px;overflow:hidden;border:1px solid var(--border);box-shadow:0 4px 24px #0000000d}.inbox-sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:var(--surface)}.inbox-topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 12px}.inbox-topbar h2{margin:0;font-size:20px;font-weight:800;color:var(--text)}.conv-list{display:flex;flex-direction:column;min-height:0;flex:1}.conv-list-header{padding:0 16px 12px;display:flex;flex-direction:column;gap:10px}.conv-search{border-radius:10px}.conv-list-scroll{flex:1;overflow-y:auto;padding:6px 10px 12px}.conv-list-scroll::-webkit-scrollbar{width:6px}.conv-list-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.conv-item{width:100%;display:flex;gap:12px;padding:12px;border:none;background:transparent;border-radius:12px;cursor:pointer;text-align:left;transition:background .15s ease;margin-bottom:2px}.conv-item:hover{background:var(--hover)}.conv-item--active{background:var(--accent-soft)}.conv-item--active .conv-name{color:var(--accent)}.conv-avatar{background:var(--accent)!important;color:#fff!important;font-weight:700;flex-shrink:0;width:44px;height:44px;line-height:44px}.conv-item-body{flex:1;min-width:0}.conv-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.conv-name{font-weight:700;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-time{font-size:11px;color:var(--text-muted);flex-shrink:0}.conv-preview{font-size:13px;color:var(--text-muted);margin:3px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item-badges{display:flex;align-items:center;gap:6px}.inbox-badge{margin:0;border-radius:6px;font-size:11px}.conv-unread{margin-left:auto;background:#ef4444;color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center}.conv-skeletons{display:flex;flex-direction:column;gap:6px;padding:6px}.conv-skel{display:flex;gap:12px;align-items:center;padding:10px}.conv-empty{margin-top:60px;color:var(--text-muted)}.conn-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.conn-dot{width:8px;height:8px;border-radius:50%;background:#9ca3af}.conn-connected .conn-dot{background:#22c55e}.conn-connecting .conn-dot,.conn-reconnecting .conn-dot{background:#f59e0b;animation:conn-blink 1s infinite}.conn-disconnected .conn-dot,.conn-failed .conn-dot{background:#ef4444}@keyframes conn-blink{50%{opacity:.35}}.conn-retry{padding:0 4px;height:auto}.inbox-main{min-width:0;min-height:0;display:flex;background:var(--bg)}.chat-panel{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}.chat-panel--empty{align-items:center;justify-content:center;color:var(--text-muted)}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.chat-header-left{display:flex;align-items:center;gap:12px;min-width:0}.chat-avatar{background:var(--accent)!important;color:#fff!important;font-weight:700}.chat-user-name{font-weight:700;font-size:15px;color:var(--text)}.chat-user-email{font-size:12px;color:var(--text-muted)}.chat-header-right{display:flex;align-items:center;gap:6px}.chat-back{display:none}.chat-controls-bar{padding:10px 20px;border-bottom:1px solid var(--border);background:var(--surface-2);flex-shrink:0}.mode-controls{display:flex;gap:8px;flex-wrap:wrap}.msg-list{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:4px;min-height:0;background:var(--bg)}.msg-list::-webkit-scrollbar{width:6px}.msg-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.msg-day-group{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.msg-day-sep{text-align:center;margin:8px 0}.msg-day-sep span{font-size:11px;color:var(--text-muted);background:var(--surface-2);padding:3px 12px;border-radius:10px;border:1px solid var(--border)}.msg-loadmore,.msg-loadmore-spin{text-align:center;padding:6px 0}.msg{display:flex;flex-direction:column;max-width:72%;animation:msg-in .25s ease-out}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.msg--user,.msg--assistant{align-self:flex-start;align-items:flex-start}.msg--admin{align-self:flex-end;align-items:flex-end}.msg--system{align-self:center;max-width:88%}.msg--system span{font-size:12px;color:var(--text-muted);background:var(--surface-2);padding:6px 14px;border-radius:12px;border:1px solid var(--border);display:inline-block}.msg-bubble{padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.5}.msg-content{white-space:pre-wrap;word-break:break-word}.msg--user .msg-bubble{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px}.msg--assistant .msg-bubble{background:var(--accent-soft);color:var(--text);border-bottom-left-radius:4px}.msg--admin .msg-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.msg-sources{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}.msg-sources span{font-size:11px;background:#7f7f7f24;border-radius:8px;padding:2px 8px}.msg-escalated{margin-top:6px;font-size:11px;color:#f59e0b;display:flex;align-items:center;gap:4px}.msg-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);margin-top:4px}.msg-role{font-weight:600}.msg-pending{color:var(--text-muted)}.msg-failed{color:#ef4444}.msg-skel{padding:8px 0;max-width:60%}.msg-skel.right{align-self:flex-end}.composer{display:flex;flex-direction:column;gap:6px;padding:12px 20px 14px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.composer-box{display:flex;align-items:flex-end;gap:6px;padding:6px 6px 6px 8px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2);transition:border-color .15s ease,box-shadow .15s ease}.composer-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer-box--disabled{opacity:.7}.composer-emoji{flex-shrink:0;width:38px;height:38px;border-radius:10px;font-size:19px;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.composer-emoji:hover{color:var(--accent)!important;background:var(--hover)!important}.composer-input{flex:1;border-radius:10px;padding:8px 4px;background:transparent;font-size:14px;resize:none}.composer-send{flex-shrink:0;width:40px;height:40px;box-shadow:0 4px 12px #4f46e54d}.composer-hint{padding:0 4px;font-size:11px;color:var(--text-muted)}.composer-hint kbd{font-family:inherit;font-size:10px;font-weight:700;padding:1px 5px;border-radius:5px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.composer--locked{flex-direction:row;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:13px;background:var(--surface-2);padding:16px 20px}.emoji-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:300px;max-height:220px;overflow-y:auto;padding:2px}.emoji-item{border:none;background:transparent;cursor:pointer;font-size:20px;line-height:1;padding:6px;border-radius:8px;transition:background .12s ease,transform .12s ease}.emoji-item:hover{background:var(--hover);transform:scale(1.15)}@media (max-width: 900px){.inbox{grid-template-columns:1fr}.inbox-main,.inbox--chat-open .inbox-sidebar{display:none}.inbox--chat-open .inbox-main{display:flex}.chat-back{display:inline-flex}}.docs-page{max-width:1100px;margin:0 auto;padding:24px;height:100%;overflow-y:auto}.docs-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.docs-title{margin:0 0 4px!important;display:flex;align-items:center;gap:10px}.docs-upload-card .ant-upload-drag{border-radius:14px}.docs-upload-card .ant-upload-drag-icon .anticon{color:#4f46e5}.docs-upload-progress{display:flex;align-items:center;gap:12px;margin-top:14px}.docs-filename{display:inline-block;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-weight:500}@media (max-width: 768px){.docs-page{padding:16px}.docs-header{flex-direction:column}.docs-filename{max-width:180px}}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:radial-gradient(circle at 30% 20%,#6366f1 0,#4f46e5 35%,#1e1b4b);padding:32px 20px}.auth-hero{max-width:520px;text-align:center}.auth-logo{display:inline-block;font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#ffffff24;padding:6px 16px;border-radius:20px;margin-bottom:16px}.auth-card{width:100%;max-width:420px;border-radius:18px!important;box-shadow:0 24px 60px #00000059!important}@media (max-width: 480px){.auth-hero{display:none}}:root{--bg: #f4f6fb;--surface: #ffffff;--surface-2: #f5f6f8;--border: #e6e8ee;--text: #111827;--text-muted: #6b7280;--accent: #4f46e5;--accent-contrast: #ffffff;--accent-soft: #eef0fe;--hover: #f3f4f8}body.admin-dark{--bg: #0f1115;--surface: #171a21;--surface-2: #1c2029;--border: #262b36;--text: #e6e8ec;--text-muted: #9aa1ac;--accent: #6366f1;--accent-contrast: #ffffff;--accent-soft: #20233a;--hover: #1e222b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text);transition:background .2s ease,color .2s ease}#root{height:100vh;width:100vw}
