:root{--color-bg:#f4f6f9;--color-surface:#fff;--color-border:#e2e6ed;--color-text-primary:#1a1a2e;--color-text-secondary:#5a6478;--color-primary-900:#12294a;--color-primary-700:#1e3a5f;--color-primary-500:#3366a0;--color-primary-300:#a3c4e9;--color-primary-100:#e8f1fa;--color-primary-50:#f0f6fc;--color-sidebar:#12294a;--color-sidebar-text:#8aa4c4;--color-sidebar-active:#fff;--radius-md:8px;--radius-lg:12px;--shadow-card:0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--color-sidebar);width:220px;color:var(--color-sidebar-text);flex-direction:column;padding:24px 0;display:flex}.sidebar .sidebar-logo{border-bottom:1px solid rgba(255,255,255,.05);padding:0 24px 24px}.sidebar .sidebar-logo h1{color:#fff;font-size:18px}.sidebar .sidebar-logo span{opacity:.7;font-size:11px}.sidebar .sidebar-logo .brand-logo{color:#c1c1c1;opacity:1;margin-bottom:4px;display:block}.sidebar .sidebar-logo .brand-logo svg{width:auto;height:51px;display:block}.sidebar .tenant-switcher{padding:12px 24px 0}.sidebar .tenant-switcher select{width:100%;color:var(--color-sidebar-text);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:7px 8px;font-family:inherit;font-size:13px}.sidebar .tenant-switcher select option{color:#1a1a2e;background:#fff}.sidebar nav{padding:16px 0}.sidebar nav ul{list-style:none}.sidebar nav li a{color:var(--color-sidebar-text);padding:10px 24px;font-size:13.5px;font-weight:500;text-decoration:none;display:block}.sidebar nav li a:hover{color:var(--color-sidebar-active)}.sidebar nav li a.active{color:var(--color-sidebar-active);background:rgba(255,255,255,.05)}.sidebar .sidebar-logout button{text-align:left;width:100%;color:var(--color-sidebar-text);cursor:pointer;background:0 0;border:none;padding:10px 24px;font-family:inherit;font-size:13.5px;font-weight:500;display:block}.sidebar .sidebar-logout button:hover{color:var(--color-sidebar-active)}.content{flex:1;padding:32px 40px}.page-header{margin-bottom:24px}.page-header h2{font-size:22px;font-weight:700}.page-header p{color:var(--color-text-secondary);font-size:13px}.page-header.overview-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.live-indicator{white-space:nowrap;color:var(--color-text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.live-indicator .live-dot{background:#9ca3af;border-radius:50%;flex:none;width:8px;height:8px;position:relative}.live-indicator .live-ripple{opacity:0;pointer-events:none;border:1px solid #22c55e;border-radius:50%;position:absolute;inset:-1px}.live-indicator .live-ripple.hidden{display:none}.live-indicator .live-ripple.ripple-a{animation:1.1s ease-out live-ripple-a}.live-indicator .live-ripple.ripple-b{animation:1.1s ease-out live-ripple-b}.live-indicator.live{color:#166534}.live-indicator.live .live-dot{background:#22c55e;animation:2s ease-in-out infinite live-pulse}.live-indicator.connecting{color:#92400e}.live-indicator.connecting .live-dot{background:#f59e0b;animation:1s ease-in-out infinite live-pulse}.live-indicator.offline{color:#991b1b}.live-indicator.offline .live-dot{background:#ef4444}@keyframes live-pulse{0%,to{opacity:1;box-shadow:0 0 rgba(34,197,94,.5)}50%{opacity:.55;box-shadow:0 0 0 4px rgba(34,197,94,0)}}@keyframes live-ripple-a{0%{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(2.8)}}@keyframes live-ripple-b{0%{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(2.8)}}.metrics-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px;display:grid}.metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px}.metric-card.hero{border-color:var(--color-primary-500);background:linear-gradient(135deg, var(--color-surface), #f0f6fc)}.metric-card .metric-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12.5px;font-weight:500}.metric-card .metric-value{font-size:36px;font-weight:700}.metric-card .metric-hint{color:var(--color-text-secondary);margin-top:4px;font-size:11px}.login-shell{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:380px;box-shadow:var(--shadow-card);padding:32px}.login-card h1{margin-bottom:8px;font-size:20px}.login-card .login-logo{color:var(--color-text-primary);justify-content:center;margin-bottom:16px;display:flex}.login-card .login-logo svg{width:auto;height:80px;display:block}.login-card .subtitle{color:var(--color-text-secondary);margin-bottom:24px;font-size:13px}.login-card label{margin-bottom:16px;display:block}.login-card label span{margin-bottom:4px;font-size:12.5px;display:block}.login-card label input{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-family:var(--font);padding:10px 12px;font-size:14px}.login-card button{background:var(--color-primary-700);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;width:100%;padding:10px;font-weight:600}.login-card button:hover:not(:disabled){background:var(--color-primary-500)}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-card .success{color:#16a34a;margin-top:16px;font-size:13px}.login-card .error{color:#dc2626;margin-top:16px;font-size:13px}.data-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:12px 16px;font-size:13.5px}.data-table th{background:var(--color-bg);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11.5px;font-weight:600}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--color-bg)}.data-table .row-link{color:var(--color-primary-500);text-decoration:none}.data-table .row-link:hover{text-decoration:underline}.badge{background:var(--color-primary-50);color:var(--color-primary-700);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.success{color:#166534;background:#dcfce7}.badge.warn{color:#92400e;background:#fef3c7}.badge.error{color:#991b1b;background:#fee2e2}.badge.muted{background:var(--color-bg);color:var(--color-text-secondary)}.empty-state{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);text-align:center;color:var(--color-text-secondary);padding:48px 24px;font-size:13.5px}.form-field{margin-bottom:16px;display:block}.form-field .form-label{color:var(--color-text-secondary);margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-family:var(--font);background:var(--color-surface);padding:10px 12px;font-size:14px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-primary-500);outline:none}.form-field textarea{resize:vertical;min-height:80px}.form-field.checkbox{align-items:center;gap:8px;display:flex}.form-field.checkbox .form-label{margin-bottom:0}.form-field.checkbox input[type=checkbox]{width:auto;accent-color:var(--color-primary-700);margin:0;padding:0}.button-primary{background:var(--color-primary-700);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:13.5px;font-weight:600;font-family:var(--font);border:none;padding:10px 18px}.button-primary:hover:not(:disabled){background:var(--color-primary-500)}.button-primary:disabled{opacity:.6;cursor:not-allowed}.button-danger{color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:13.5px;font-weight:600;font-family:var(--font);background:#dc2626;border:none;padding:10px 18px}.button-danger:hover:not(:disabled){background:#b91c1c}.row-actions{gap:8px;display:flex}.row-actions form{margin:0}.source-id{color:var(--color-text-secondary);-webkit-user-select:all;user-select:all;font-family:ui-monospace,monospace;font-size:12px}.section-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:16px;padding:24px}.section-card h3{margin-bottom:16px;font-size:15px;font-weight:600}.message{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:12px;padding:14px 18px}.message .message-meta{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11.5px}.message .message-body{white-space:pre-wrap;font-size:13.5px;line-height:1.5}.message.user{background:var(--color-primary-50);border-color:var(--color-primary-300)}.message.bot{background:var(--color-surface)}.overview-cols{grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;display:grid}@media (width<=880px){.overview-cols{grid-template-columns:1fr}}.overview-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px 20px}.overview-panel h3{margin:0 0 4px;font-size:15px}.overview-panel .panel-hint{color:var(--color-text-secondary);margin:0 0 12px;font-size:12.5px}.unanswered-list{margin:0;padding:0;list-style:none}.unanswered-list li{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:8px 0;display:flex}.unanswered-list li:last-child{border-bottom:none}.unanswered-list .q-text{flex:1;font-size:13.5px}.unanswered-list .q-count{font-variant-numeric:tabular-nums;color:var(--color-text-secondary);background:var(--color-bg);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:12px}.activity-feed{margin:0;padding:0;list-style:none}.activity-feed li{border-bottom:1px solid var(--color-border)}.activity-feed li:last-child{border-bottom:none}.activity-feed .activity-row{color:inherit;align-items:center;gap:10px;padding:8px 0;text-decoration:none;display:flex}.activity-feed .activity-row:hover .activity-preview{color:var(--color-primary-500)}.activity-feed .activity-preview{flex:1;font-size:13.5px}.activity-feed .activity-time{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11.5px}.button-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;padding:6px 12px;font-size:13px}.button-secondary:hover{background:var(--color-bg)}.source-content{margin-top:16px}.source-content .content-list{flex-direction:column;gap:14px;list-style:none;display:flex}.source-content .content-list li{border-left:2px solid var(--color-border);padding-left:12px}.source-content .content-title{font-size:14px;font-weight:600}.source-content .content-meta{color:var(--color-text-secondary);font-size:12px;font-weight:400}.source-content .content-url{color:var(--color-primary-500);word-break:break-all;font-size:12px;display:block}.source-content .content-preview{color:var(--color-text-secondary);margin-top:4px;font-size:13px}.mode-switch{align-items:center;gap:8px;display:inline-flex}.mode-switch .switch{cursor:pointer;background:#cbd2dc;border:none;border-radius:11px;width:38px;height:22px;padding:0;transition:background .15s;position:relative}.mode-switch .switch.on{background:var(--color-primary-500)}.mode-switch .switch-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.mode-switch .switch.on .switch-knob{transform:translate(16px)}.mode-switch .mode-label{color:var(--color-text-secondary);font-size:12.5px}.modal-overlay{z-index:1000;background:rgba(0,0,0,.4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);width:420px;max-width:90vw;padding:24px;box-shadow:0 10px 40px rgba(0,0,0,.2)}.modal h3{margin-bottom:10px;font-size:16px}.modal p{color:var(--color-text-secondary);margin-bottom:20px;font-size:13.5px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:10px;display:flex}