/* Tabler provides layout, responsive grid, navigation, forms, cards and dialogs.
   Project overrides below cover branding and the conversation workbench only. */
:root { --tblr-font-sans-serif: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; --tblr-primary: #4263eb; --tblr-primary-rgb: 66,99,235; }
body { font-feature-settings: "cv03", "cv04", "cv11"; }
.navbar-brand { gap: .6rem; justify-content: flex-start; letter-spacing: -.5px; }
.navbar-vertical .navbar-brand { padding: 1.6rem 1.5rem 1.25rem; }
.navbar-vertical .navbar-nav { gap: .3rem; padding: .5rem .8rem; }
.navbar-vertical.navbar-dark { background: #182433; }
.navbar-vertical .nav-link { border-radius: 7px; min-height: 46px; }
.navbar-vertical .nav-link.active { background: rgba(105,139,255,.16); color: #fff; }
.nav-section { color: #8d9bad; font-size: .68rem; letter-spacing: .09em; padding: 1.25rem 1.5rem .45rem; }
.sidebar-footer { padding: 1.25rem; margin-top: auto; }
.sidebar-footer .card { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); color: #c3cbd5; }
.workspace-button { background: #f8fafc; border: 1px solid #e6e9ed; border-radius: 7px; padding: .5rem .8rem; }
.page-body { margin-top: 1.5rem; }
.page-header h2 { font-size: 1.65rem; letter-spacing: -.6px; }
.page-subtitle { margin-top: .45rem; color: #66758a; font-size: .875rem; line-height: 1.7; }
.hero-panel { background: linear-gradient(110deg,#eef2ff 0%,#f8faff 70%); border-color: #dce3ff; }
.hero-panel h3 { font-size: 1.25rem; letter-spacing: -.3px; }
.employee-card .avatar { width: 52px; height: 52px; font-size: 1.15rem; }
.employee-card { transition: border-color .15s, box-shadow .15s; }
.employee-card:hover { border-color: #acb8f7; box-shadow: 0 5px 16px rgba(24,36,51,.04); }
.employee-description { min-height: 42px; line-height: 1.7; }
.metric-value { font-size: 1.85rem; font-weight: 600; line-height: 1.3; }
.capability { display: flex; align-items: center; gap: .65rem; padding: .7rem 0; border-bottom: 1px solid #edf0f3; }
.capability:last-child { border-bottom: 0; }
.avatar-tone-0 { background: #e9edff; color: #4263eb; }
.avatar-tone-1 { background: #f5eafd; color: #a14cd1; }
.avatar-tone-2 { background: #e2f4f1; color: #099268; }
.avatar-tone-3 { background: #fff0e1; color: #db7a16; }
.avatar-tone-4 { background: #e6f1ff; color: #2877c7; }
.activity-item { position: relative; padding: 0 0 1.2rem 1.4rem; margin-left: .3rem; border-left: 1px solid #e3e7ee; }
.activity-item::before { content: ""; position: absolute; left: -4px; top: 5px; width: 7px; height: 7px; background: #94a4be; border-radius: 50%; outline: 4px solid #fff; }
.activity-item:last-child { border: 0; padding-bottom: 0; }
.conversation-grid { display: grid; grid-template-columns: 280px minmax(0,1fr) 260px; min-height: 610px; height: calc(100vh - 250px); }
.conversation-list { overflow-y: auto; border-right: 1px solid var(--tblr-border-color); }
.conversation-item { display: block; color: inherit; text-decoration: none; padding: 1rem; border-bottom: 1px solid #edf0f3; }
.conversation-item:hover, .conversation-item.selected { background: #f0f3ff; color: inherit; }
.conversation-item.selected { box-shadow: inset 3px 0 #4263eb; }
.conversation-main { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.message-list { flex: 1; padding: 1.5rem; background: #fafbfd; overflow-y: auto; }
.message { margin-bottom: 1.1rem; max-width: 90%; }
.message-bubble { padding: .75rem 1rem; background: white; border: 1px solid #e5e9ef; border-radius: 0 10px 10px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.75; }
.message.agent, .message.retrieval { margin-left: auto; }
.message.agent .message-bubble, .message.retrieval .message-bubble { background: #eef2ff; border-color: #dce3ff; border-radius: 10px 0 10px 10px; }
.message.system { text-align: center; max-width: 100%; color: #7b8798; font-size: .75rem; }
.message.system .message-bubble { border: 0; background: transparent; padding: .25rem; }
.conversation-context { border-left: 1px solid var(--tblr-border-color); padding: 1.25rem; overflow-y: auto; }
.composer { padding: 1rem; border-top: 1px solid #e5e9ef; }
.composer textarea { resize: vertical; min-height: 75px; }
.source-content { white-space: pre-wrap; line-height: 1.8; overflow-wrap: anywhere; }
.empty-icon { width: 56px; height: 56px; border-radius: 16px; background: #edf1ff; color: #4263eb; display: grid; place-items: center; margin: 0 auto 1rem; }
.modal-content { max-height: 90vh; }
.modal-body { overflow-y: auto; }
.modal-backdrop { backdrop-filter: blur(2px); }
.auth-layout { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; }
.auth-story { background: #182433; color: white; padding: 10vh 12%; display: flex; flex-direction: column; justify-content: space-between; }
.auth-story h1 { font-size: 2.5rem; line-height: 1.4; letter-spacing: -1.5px; }
.auth-story p { color: #a3b1c6; line-height: 1.9; }
.auth-form { display: flex; align-items: center; justify-content: center; padding: 2rem; }
.auth-form-inner { width: 100%; max-width: 400px; }
.table td { vertical-align: middle; }
.knowledge-text { max-width: 360px; }
.btn .icon { flex-shrink: 0; }
.sidebar-brand-caption { font-size: .65rem; color: #8697ad; letter-spacing: 1px; font-weight: 400; }
.truncate-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.keyboard-hint { font-size: .7rem; }
.link-button { border: 0; background: none; padding: 0; color: var(--tblr-primary); text-align: left; cursor: pointer; }
.top-status { display: flex; align-items: center; gap: .45rem; font-size: .75rem; color: #66758a; }
.min-width-0 { min-width: 0; }
.mapping-id { font-size: .68rem; word-break: break-all; }
.mapping-source { max-width: 290px; overflow-wrap: anywhere; }
@media (min-width: 992px) { .navbar-vertical.navbar-expand-lg { width: 240px; } .navbar-vertical.navbar-expand-lg ~ .page-wrapper { margin-left: 240px; } .navbar-vertical .navbar-collapse { flex: 1; display:flex !important; flex-direction:column; align-items:stretch; } }
@media (max-width: 1250px) { .conversation-grid { grid-template-columns: 240px minmax(0,1fr); } .conversation-context { display:none; } }
@media (max-width: 991px) { .navbar-vertical .navbar-brand { padding: .8rem; } .sidebar-footer,.nav-section { display:none; } .navbar-vertical .navbar-nav { padding:.5rem; } .conversation-grid { height: 680px; } .auth-layout { grid-template-columns:1fr; } .auth-story { display:none; } .auth-form { min-height:100vh; } }
@media (max-width: 650px) { .conversation-grid { grid-template-columns:1fr; height:auto; } .conversation-list { max-height:210px; border-bottom:1px solid var(--tblr-border-color); border-right:0; } .conversation-main { min-height:560px; } .message-list { max-height:420px; padding:1rem; } .top-status { display:none; } .page-header h2 { font-size:1.4rem; } .knowledge-text { max-width:200px; } .page-body { margin-top:1rem; } .navbar .container-xl { flex-wrap:nowrap; } }
