:root{--font-display:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--sidebar-w:320px;--topbar-h:72px;--bg-base:#f8fafc;--bg-panel:#fff;--bg-sidebar:#334155;--bg-sidebar-dark:#1e293b;--bg-topbar:#ffffffd9;--bg-input:#f1f5f9;--bg-card:#1e2433;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-sidebar:#f1f5f9;--text-sidebar-dim:#cbd5e1;--text-card:#f9fafb;--text-card-dim:#9ca3af;--text-card-muted:#6b7280;--border-base:#f1f5f9;--border-card:#ffffff12;--border-sidebar:#475569;--gold:#d4af37;--gold-dim:#d4af3726;--gold-border:#d4af374d;--score-exact:#ef4444;--score-high:#10b981;--score-med:#f59e0b;--score-low:#6366f1;--score-min:#6b7280;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}[data-theme=dark]{--bg-base:#0f172a;--bg-panel:#1e293b;--bg-input:#0f172a;--bg-topbar:#0f172ae6;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border-base:#ffffff0f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-display);background:var(--bg-base);color:var(--text-primary);transition:background .3s,color .3s;overflow:hidden}button{font-family:var(--font-display);cursor:pointer}input,textarea,select{font-family:var(--font-display)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-base);border-radius:4px}.app-shell{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid #ffffff0a;flex-direction:column;flex-shrink:0;transition:width .3s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;overflow:hidden}.sidebar-closed{opacity:0;pointer-events:none;border-right:none;width:0!important}.sidebar-inner{width:var(--sidebar-w);flex-direction:column;flex-shrink:0;height:100%;transition:opacity .2s;display:flex}.sidebar-closed .sidebar-inner{opacity:0}.sb-header{border-bottom:1px solid #ffffff0d;padding:20px 18px 16px}.sb-brand{align-items:center;gap:12px;display:flex}.sb-logo-ring{background:var(--gold-dim);border:1px solid var(--gold-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.sb-logo-ring img{object-fit:contain;width:44px;height:44px}.sb-name{color:#fff;letter-spacing:-.01em;margin-bottom:2px;font-size:1.15rem;font-weight:800;line-height:1.1}.sb-tagline{color:var(--text-sidebar-dim);font-size:.72rem;font-weight:500}.sb-content{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.sb-section-about{border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;margin:10px 0;padding:24px 0}.sb-section-header{letter-spacing:.1em;color:var(--text-sidebar-dim);align-items:center;margin-bottom:12px;font-size:.68rem;font-weight:700;display:flex}.sb-desc{color:#e8ecf4;font-size:.78rem;line-height:1.6}.sb-badge-area{flex:1;justify-content:center;align-items:center;padding:20px 0;display:flex}.sb-badge-wrap{justify-content:center;align-items:center;display:flex;position:relative}.sb-badge-glow{background:radial-gradient(circle, var(--gold-dim) 0%, transparent 70%);border-radius:50%;width:280px;height:280px;animation:4s ease-in-out infinite glow-pulse;position:absolute}@keyframes glow-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}.sb-badge-img{z-index:1;filter:drop-shadow(0 8px 16px #0000004d);opacity:.95;width:220px;transition:transform .3s;position:relative}.sb-badge-img:hover{transform:scale(1.05)}.sb-status{border-top:1px solid #ffffff0d;align-items:center;gap:8px;padding:12px 16px;display:flex}.status-dot{background:#6b7280;border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.online{background:#10b981;box-shadow:0 0 6px #10b98180}.status-dot.offline{background:#ef4444}.status-txt{color:var(--text-sidebar-dim);font-size:.7rem;font-weight:500}.status-count{color:var(--gold);font-size:.68rem;font-family:var(--font-mono);background:#0000004d;border:1px solid #ffffff14;border-radius:6px;margin-left:auto;padding:2px 8px;font-weight:600}.sb-footer{border-top:1px solid #ffffff0f;padding:16px}.sb-opt-main-btn{border-radius:var(--radius-md);color:#fff;background:#ffffff0f;border:1px solid #ffffff1a;align-items:center;gap:12px;width:100%;margin-bottom:5px;padding:11px 16px;font-size:.88rem;font-weight:700;transition:all .2s;display:flex}.sb-opt-main-btn:hover{background:#ffffff1f;border-color:#fff3}.sb-opt-main-btn.active{background:var(--bg-sidebar-dark);border-color:var(--gold-border);color:var(--gold)}.role-tag{letter-spacing:.05em;border-radius:20px;align-items:center;gap:5px;margin-left:auto;margin-right:8px;padding:3px 10px;font-size:.6rem;font-weight:800;display:flex}.role-tag.admin{color:#d4af37;background:#00000040;border:1.2px solid #d4af37;box-shadow:0 0 8px #d4af3726}.role-tag.admin:after{display:none}.role-tag.officer{color:#3b82f6;background:#0003;border:1.2px solid #3b82f6}.sb-opt-chevron{opacity:.6;font-size:.6rem}.sb-options-popout{opacity:0;flex-direction:column;gap:5px;max-height:0;padding-left:10px;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;overflow:hidden}.sb-options-popout.open{opacity:1;max-height:480px;margin-top:10px;margin-bottom:5px}.sb-opt-btn.active{border-color:var(--gold-border);color:#fff;background:#ffffff14}.sb-settings-submenu{opacity:0;background:#00000026;border-radius:8px;max-height:0;margin:0 0 5px 10px;padding:0 10px;transition:all .3s;overflow:hidden}.sb-settings-submenu.open{opacity:1;max-height:200px;padding:10px}.sb-setting-row{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.sb-setting-label{font-size:.74rem;font-weight:700}.sb-opt-btn{border-radius:var(--radius-md);width:100%;color:var(--text-sidebar-dim);background:#0000001a;border:1px solid #ffffff0a;align-items:center;gap:12px;padding:9px 12px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.sb-opt-btn:hover{color:#fff;background:#ffffff14;transform:translate(4px)}.sb-opt-btn.danger{color:#f87171}.sb-opt-btn.danger:hover{background:#ef44441a}.sb-opt-icon{text-align:center;width:20px;font-size:1rem}.sb-ver-tag{color:var(--text-sidebar-dim);text-align:center;opacity:.4;margin-top:15px;font-size:.58rem}.main-panel{background:var(--bg-base);flex-direction:column;flex:1;transition:background .3s;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);background:var(--bg-topbar);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-base);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;transition:background .3s,border-color .3s;display:flex}.topbar-left{flex:1;align-items:center;display:flex}.topbar-center{flex:2;justify-content:center;align-items:center;display:flex}.topbar-right{flex:1;justify-content:flex-end;align-items:center;gap:14px;display:flex}.topbar-brand-display{align-items:center;gap:14px;display:flex}.topbar-logo-mini{object-fit:contain;width:36px;height:36px}.topbar-brand-group{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.topbar-brand-name-main{color:#0f172a;letter-spacing:-.01em;font-size:1.25rem;font-weight:800}.topbar-brand-sub-main{color:#64748b;font-size:.76rem;font-weight:500}.dark-mode .topbar-brand-name-main{color:#f1f5f9}.dark-mode .topbar-brand-sub-main{color:#94a3b8}.user-pill{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:30px;align-items:center;gap:10px;padding:4px 16px;transition:all .2s;display:flex;box-shadow:0 2px 4px #00000005}.dark-mode .user-pill{background:#1e293b;border-color:#334155}.user-status-dot{background:#4ade80;border-radius:50%;width:10px;height:10px}.user-name-txt{color:#1e293b;font-size:.9rem;font-weight:800}.dark-mode .user-name-txt{color:#f1f5f9}.user-badge-txt{color:#64748b;font-size:.82rem;font-weight:500}.dark-mode .user-badge-txt{color:#94a3b8}.topbar-btn.sidebar-toggle{margin-left:0}.refresh-btn{background:var(--bg-input);color:var(--gold);border-color:var(--gold-border)}.refresh-btn:hover{background:var(--gold-dim);border-color:var(--gold)}.topbar-btn{border:1px solid var(--border-base);width:36px;height:36px;color:var(--text-secondary);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.topbar-btn:hover{background:var(--bg-input);color:var(--text-primary)}.topbar-btn.danger:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5}.theme-toggle{border:1px solid var(--border-base);width:36px;height:36px;color:var(--text-secondary);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.theme-toggle:hover{background:var(--bg-input);color:var(--gold);border-color:var(--gold-border)}.admin-btn{border:1px solid var(--gold-border);background:var(--gold-dim);border-radius:var(--radius-sm);color:var(--gold);letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;font-size:.7rem;font-weight:700;transition:all .2s;display:none}.admin-btn.visible{align-items:center;gap:5px;display:flex}.admin-btn:hover{background:#d4af3740}.chat-area{scroll-behavior:smooth;flex-direction:column;flex:1;gap:16px;padding:24px 0 16px;display:flex;overflow-y:auto}.chat-area::-webkit-scrollbar{width:4px}.msg-row{justify-content:center;width:100%;padding:0 20px;animation:.22s msg-in;display:flex}@keyframes msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.msg-anchor{scroll-margin-top:16px}.msg-row.user-row{justify-content:flex-end}.user-bubble{background:var(--bg-card);max-width:560px;color:var(--text-card);border-radius:16px 16px 4px;padding:10px 16px;font-size:.86rem;line-height:1.5;box-shadow:0 2px 8px #00000040}.ai-bubble{background:var(--bg-panel);border:1px solid var(--border-base);border-radius:var(--radius-lg);width:100%;max-width:860px;color:var(--text-primary);box-shadow:var(--shadow-md);padding:20px 24px;font-size:.86rem;line-height:1.65;transition:background .3s,border-color .3s}.welcome-bubble p{color:var(--text-secondary)}.welcome-bubble p+p{margin-top:8px}.welcome-bubble strong{color:var(--text-primary)}.hint-chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.hint-chip{background:var(--bg-input);border:1px solid var(--border-base);color:var(--text-secondary);cursor:pointer;border-radius:20px;padding:5px 14px;font-size:.72rem;transition:all .15s}.hint-chip:hover{background:var(--bg-card);color:var(--text-card);border-color:#0000}.results-header{border-bottom:1px solid var(--border-base);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:12px;display:flex}.results-count-line{color:var(--text-secondary);font-size:.82rem}.results-count-line strong{color:var(--text-primary);font-size:1.05rem;font-weight:700}.q-label{background:var(--bg-input);border:1px solid var(--border-base);color:var(--text-secondary);border-radius:5px;padding:1px 7px;font-size:.76rem;font-style:italic}.results-header-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.total-badge{background:var(--gold-dim);border:1px solid var(--gold-border);color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:800;font-family:var(--font-mono);border-radius:20px;align-items:center;gap:4px;padding:3px 10px;display:inline-flex}.search-badges{gap:5px;display:flex}.sbadge{letter-spacing:.06em;text-transform:uppercase;border:1px solid;border-radius:20px;padding:2px 8px;font-size:.58rem;font-weight:700}.sbadge.semantic{background:var(--badge-semantic-bg);color:var(--badge-semantic-fg);border-color:#4b556333}.sbadge.keyword{background:var(--badge-keyword-bg);color:var(--badge-keyword-fg);border-color:#10b98133}.sbadge.sql{background:var(--badge-sql-bg);color:var(--badge-sql-fg);border-color:#d9770633}.sbadge.incnum{color:#047857;background:#05966914;border-color:#05966933}.sbadge.assisted{color:#d97706;background:#f59e0b14;border-color:#f59e0b33}.sort-row{align-items:center;gap:5px;display:flex}.sort-btn{border-radius:var(--radius-sm);border:1px solid var(--border-base);background:var(--bg-input);color:var(--text-secondary);padding:4px 11px;font-size:.7rem;font-weight:600;transition:all .15s}.sort-btn.active,.sort-btn:hover{background:var(--bg-card);color:var(--text-card);border-color:#0000}.kw-freq-bar{background:var(--bg-input);border:1px solid var(--border-base);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:12px;padding:8px 12px;display:flex}.kw-freq-lbl{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;font-weight:700}.kw-chip{background:var(--bg-panel);border:1px solid var(--border-base);color:var(--text-secondary);cursor:pointer;border-radius:20px;align-items:center;gap:3px;padding:2px 8px;font-size:.68rem;transition:all .15s;display:inline-flex}.kw-chip:hover{background:var(--bg-card);color:var(--text-card);border-color:#0000}.kw-freq-num{color:#d97706;margin-left:1px;font-size:.6rem;font-weight:700}.result-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-md);margin-bottom:8px;transition:border-color .2s,transform .15s;animation:.25s backwards card-in;overflow:hidden}.result-card:hover{border-color:#ffffff1f;transform:translateY(-1px)}@keyframes card-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.card-strip{height:3px}.card-strip.exact{background:var(--score-exact)}.card-strip.high{background:var(--score-high)}.card-strip.med{background:var(--score-med)}.card-strip.low{background:var(--score-low)}.card-strip.min{background:var(--score-min)}.card-head{flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px 8px;display:flex}.card-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--text-card-muted);background:#9ca3af1a;border:1px solid #9ca3af26;border-radius:20px;padding:2px 7px;font-size:.56rem;font-weight:700}.card-tag.keyword{color:#34d399;background:#10b9811f;border-color:#10b98140}.card-tag.sql{color:#fbbf24;background:#d977061f;border-color:#f59e0b40}.card-tag.fusion{color:#34d399;background:#0596691a;border-color:#10b98133}.card-tag.source{color:#d1d5db;background:#d1d5db1a;border-color:#d1d5db33}.card-incnum{color:var(--text-card);letter-spacing:-.01em;font-size:1rem;font-weight:700;font-family:var(--font-mono);flex:1}.card-score{border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:.76rem;font-weight:700;display:flex}.card-score.exact{color:var(--score-exact);background:#ef44441f}.card-score.high{color:var(--score-high);background:#10b9811f}.card-score.med{color:var(--score-med);background:#f59e0b1f}.card-score.low{color:var(--score-low);background:#6366f11f}.card-score.min{color:var(--score-min);background:#6b72801f}.score-lbl{opacity:.7;font-size:.6rem;font-weight:500}.card-meta{border-bottom:1px solid #ffffff0a;flex-wrap:wrap;gap:5px 12px;padding:2px 14px 7px;display:flex}.meta-item{color:var(--text-card-dim);align-items:center;gap:4px;font-size:.7rem;display:flex}.meta-item strong{color:var(--text-card);font-weight:500}.card-kw-row{flex-wrap:wrap;align-items:center;gap:4px;min-height:30px;padding:7px 14px;display:flex}.card-kw-tag{color:#fbbf24;background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:20px;align-items:center;gap:3px;padding:2px 7px;font-size:.66rem;font-weight:600;display:inline-flex}.kw-cnt{color:#f59e0b;font-size:.58rem;font-weight:700}.kw-none{color:var(--text-card-muted);font-size:.68rem;font-style:italic}.card-actions{border-top:1px solid #ffffff0a;display:flex}.card-action-btn{color:var(--text-card-dim);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:5px;padding:8px 0;font-size:.73rem;font-weight:600;transition:all .15s;display:flex}.card-action-btn:first-child{border-right:1px solid #ffffff0a}.card-action-btn:hover{color:var(--text-card);background:#ffffff0a}.card-action-btn.active-narr{color:#d1d5db;background:#d1d5db0f}.card-action-btn.active-mo{color:#fbbf24;background:#f59e0b0f}.card-panel{border-top:1px solid #ffffff0a;padding:12px 14px}.panel-label{letter-spacing:.1em;color:var(--text-card-muted);text-transform:uppercase;margin-bottom:8px;font-size:.62rem;font-weight:700}.narrative-text{color:#c8d0e8;max-height:300px;font-size:.9rem;line-height:1.75;overflow-y:auto}mark.qkw{color:#fbbf24;background:#fbbf2433;border-radius:3px;padding:0 2px;font-weight:600}mark.kw-hl{color:#b45309;background:#fbbf241a;border-radius:2px;padding:0 1px}.mo-section{margin-bottom:10px}.mo-section-title{color:var(--text-card-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:.62rem;font-weight:700}.mo-reason{border-radius:var(--radius-sm);background:#ffffff05;border:1px solid #ffffff0a;align-items:flex-start;gap:8px;margin-bottom:6px;padding:7px 10px;display:flex}.mo-icon{flex-shrink:0;margin-top:1px;font-size:.9rem}.mo-cat{color:var(--text-card);font-size:.73rem;font-weight:700}.mo-phrase{color:var(--text-card-dim);margin-top:2px;font-size:.68rem}.mo-kw-list{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.mo-kw{color:#d1d5db;background:#d1d5db14;border:1px solid #d1d5db1f;border-radius:20px;padding:1px 6px;font-size:.6rem}.mo-evidence{color:var(--text-card-dim);background:#ffffff05;border-left:2px solid #f59e0b80;border-radius:0 5px 5px 0;margin-bottom:6px;padding:7px 10px;font-size:.71rem;font-style:italic;line-height:1.55}.no-mo{color:var(--text-card-muted);font-size:.74rem;font-style:italic}.pagination{border-top:1px solid var(--border-base);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding-top:14px;display:flex}.page-info{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono)}.page-btn{border-radius:var(--radius-sm);border:1px solid var(--border-base);background:var(--bg-input);color:var(--text-secondary);padding:5px 12px;font-size:.72rem;font-weight:600;transition:all .15s}.page-btn:hover:not(:disabled){background:var(--bg-card);color:var(--text-card);border-color:#0000}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-btn.active{background:var(--bg-card);color:var(--text-card);border-color:#d4af3766}.page-num{border-radius:var(--radius-sm);border:1px solid var(--border-base);background:var(--bg-input);width:30px;height:28px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-size:.72rem;font-weight:600;transition:all .15s;display:flex}.page-num:hover{background:var(--bg-card);color:var(--text-card);border-color:#0000}.page-num.active{background:var(--bg-card);color:var(--gold);border-color:var(--gold-border)}.agg-single-wrap{align-items:center;gap:18px;padding:8px 4px;display:flex}.agg-num{color:var(--text-primary);letter-spacing:-.04em;font-size:3rem;font-weight:800;font-family:var(--font-mono)}.agg-meta-label{letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase;font-size:.6rem;font-weight:800}.agg-meta-q{color:var(--text-secondary);font-size:.76rem}.agg-multi-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.agg-multi-title{color:var(--text-primary);flex:1;font-size:.84rem;font-weight:600}.agg-multi-count{background:var(--bg-input);border:1px solid var(--border-base);color:var(--text-muted);border-radius:20px;padding:2px 9px;font-size:.68rem;font-weight:600}.agg-table-wrap{border-radius:var(--radius-sm);border:1px solid var(--border-base);overflow-x:auto}.agg-table{border-collapse:collapse;width:100%;font-size:.8rem}.agg-th{text-align:left;letter-spacing:.07em;color:var(--text-muted);background:var(--bg-input);border-bottom:2px solid var(--border-base);padding:7px 11px;font-size:.62rem;font-weight:700}.agg-td{color:var(--text-secondary);border-bottom:1px solid var(--border-base);padding:8px 11px}.agg-td.val{color:var(--text-primary);text-align:right;font-weight:700;font-family:var(--font-mono)}.agg-bar-cell{width:160px;padding:8px 11px}.agg-bar-track{background:var(--border-base);border-radius:4px;height:7px;overflow:hidden}.agg-bar-fill{background:var(--text-card-muted);border-radius:4px;height:100%}.agg-sql-details{margin-top:10px;font-size:.7rem}.agg-sql-details summary{cursor:pointer;color:var(--text-muted);padding:3px 0;font-weight:500}.agg-sql-pre{background:var(--bg-input);border:1px solid var(--border-base);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin-top:6px;padding:8px 12px;font-size:.7rem;line-height:1.5}.chart-wrap{background:var(--bg-input);border:1px solid var(--border-base);border-radius:var(--radius-md);margin-top:14px;padding:14px}.chart-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:.62rem;font-weight:700}.chart-canvas-wrap{height:220px;position:relative}.expansion-bubble{background:var(--bg-card);border-radius:var(--radius-md);width:100%;max-width:860px;font-family:var(--font-display);border:1px solid #f59e0b4d;padding:13px 16px;box-shadow:0 2px 12px #f59e0b0f}.exp-header{align-items:center;gap:8px;margin-bottom:7px;display:flex}.exp-title{color:#f59e0b;align-items:center;gap:6px;font-size:.76rem;font-weight:700;display:flex}.exp-src{color:#fbbf24;text-transform:uppercase;letter-spacing:.06em;background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:20px;padding:1px 6px;font-size:.58rem;font-weight:600}.exp-crimes{color:#d1d5db;margin-bottom:6px;font-size:.72rem}.exp-terms{flex-wrap:wrap;gap:4px;margin-bottom:7px;display:flex}.exp-term{color:#fbbf24;font-size:.65rem;font-family:var(--font-mono);background:#f59e0b12;border:1px solid #f59e0b2e;border-radius:20px;padding:2px 7px}.exp-note{color:var(--text-card-muted);border-top:1px solid #ffffff0a;margin-top:4px;padding-top:6px;font-size:.66rem;font-style:italic}.empty-state{text-align:center;padding:24px}.es-icon{margin-bottom:8px;font-size:2rem}.es-title{color:var(--text-muted);margin-bottom:5px;font-size:.88rem;font-weight:600}.es-sub{color:var(--text-muted);opacity:.7;font-size:.76rem}.input-section{background:var(--bg-panel);border-top:1px solid var(--border-base);padding:16px 32px 24px;transition:background .3s,border-color .3s;box-shadow:0 -4px 12px #00000008}.input-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:9px;display:flex}.ctrl-item{align-items:center;gap:5px;display:flex}.ctrl-label{color:var(--text-muted);white-space:nowrap;font-size:.7rem;font-weight:500}.ctrl-num{border-radius:var(--radius-sm);border:1px solid var(--border-input);background:var(--bg-input);width:44px;color:var(--text-primary);text-align:center;font-size:.73rem;font-family:var(--font-mono);padding:3px 6px}.ctrl-num:focus{border-color:var(--gold-border);outline:none}.ctrl-divider{background:var(--border-base);flex-shrink:0;align-self:center;width:1px;height:20px}.toggle-wrap{width:32px;height:17px;display:inline-block;position:relative}.toggle-wrap input{opacity:0;width:0;height:0}.toggle-knob{background:var(--border-base);cursor:pointer;border-radius:20px;transition:background .2s;position:absolute;inset:0}.toggle-knob:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .2s;position:absolute;top:2.5px;left:2.5px;box-shadow:0 1px 3px #0003}.toggle-wrap input:checked+.toggle-knob{background:#374151}.toggle-wrap input:checked+.toggle-knob:after{transform:translate(15px)}.toggle-wrap input:checked+.toggle-knob.svc-semantic{background:#2563eb}.toggle-wrap input:checked+.toggle-knob.svc-keyword{background:#059669}.toggle-wrap input:checked+.toggle-knob.svc-sql{background:#7c3aed}.toggle-wrap input:checked+.toggle-knob.svc-assisted{background:#d97706}.toggle-wrap input:checked+.toggle-knob.svc-hard{background:#ef4444}.input-bar{background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);align-items:flex-end;gap:7px;padding:7px 8px 7px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.input-bar:focus-within{border-color:#d4af3766;box-shadow:0 0 0 3px #d4af3714}.chat-textarea{resize:none;color:var(--text-primary);font-size:.86rem;line-height:1.5;font-family:var(--font-display);background:0 0;border:none;outline:none;flex:1;min-height:22px;max-height:120px;overflow-y:auto}.chat-textarea::placeholder{color:var(--text-muted)}.send-btn{color:#fff;background:#1e293b;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex}.send-btn:hover{background:#0f172a}.send-btn:active{transform:scale(.92)}.send-btn svg{transform:rotate(90deg)}.input-footer{color:var(--text-muted);text-align:center;margin-top:5px;font-size:.6rem}.loading-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9000;background:#00000080;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:none;position:fixed;inset:0}.loading-overlay.active{display:flex}.loading-ring{border:3px solid #ffffff1a;border-top-color:var(--gold);border-radius:50%;width:42px;height:42px;animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-msg{color:#e5e7eb;letter-spacing:.02em;font-size:.84rem}.modal-overlay{z-index:9100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal-card{background:var(--bg-panel);border:1px solid var(--border-base);border-radius:var(--radius-lg);flex-direction:column;width:min(820px,96vw);max-height:88vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #0006}.modal-hdr{border-bottom:1px solid var(--border-base);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-title{color:var(--text-primary);align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.modal-close{border:1px solid var(--border-base);background:var(--bg-input);width:30px;height:30px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;transition:all .15s;display:flex}.modal-close:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5}.modal-tabs{border-bottom:1px solid var(--border-base);display:flex}.modal-tab{color:var(--text-muted);cursor:pointer;font-size:.8rem;font-weight:600;font-family:var(--font-display);background:0 0;border:none;border-bottom:2px solid #0000;padding:11px 20px;transition:all .15s}.modal-tab.active{color:var(--text-primary);border-bottom-color:var(--gold)}.modal-body{flex:1;padding:20px 22px;overflow-y:auto}.modal-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px;font-size:.62rem;font-weight:700}.modal-grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-group{flex-direction:column;gap:5px;display:flex}.form-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.66rem;font-weight:700}.form-input{background:var(--bg-input);border:1.5px solid var(--border-base);width:100%;color:var(--text-primary);font-size:.85rem;font-family:var(--font-display);border-radius:6px;padding:9px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000000d}.form-input:hover{border-color:var(--text-muted)}.form-input:focus{border-color:var(--gold);background:var(--bg-card);outline:none;box-shadow:0 0 0 3px #b8941f26,inset 0 2px 4px #00000005}.form-input::placeholder{color:var(--text-muted);opacity:.5}.form-btn{border-radius:var(--radius-sm);background:linear-gradient(135deg, #b8941f, var(--gold));color:#0f172a;font-size:.8rem;font-weight:700;font-family:var(--font-display);border:none;padding:8px 16px;transition:opacity .2s}.form-btn:hover{opacity:.88}.user-row-item{background:var(--bg-input);border:1px solid var(--border-base);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:5px;padding:10px 12px;display:flex}.user-avatar{background:var(--gold-dim);border:1px solid var(--gold-border);width:30px;height:30px;color:var(--gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:flex}.user-info{flex:1;min-width:0}.user-name-row{color:var(--text-primary);align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.user-detail{color:var(--text-muted);margin-top:1px;font-size:.68rem}.role-badge{border-radius:4px;padding:1px 6px;font-size:.58rem;font-weight:700}.role-badge.admin{background:var(--gold-dim);color:var(--gold)}.role-badge.officer{color:#60a5fa;background:#60a5fa1a}.user-actions{flex-shrink:0;gap:5px;display:flex}.action-mini{border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border-base);color:var(--text-muted);cursor:pointer;font-size:.67rem;font-family:var(--font-display);padding:4px 9px;transition:all .15s}.action-mini:hover{border-color:var(--gold-border);color:var(--gold)}.action-mini.danger:hover{color:#f87171;background:#ef444414;border-color:#ef44444d}.log-row{background:var(--bg-input);border:1px solid var(--border-base);border-radius:var(--radius-sm);grid-template-columns:150px 100px 1fr 70px;align-items:start;gap:8px;margin-bottom:5px;padding:8px 12px;font-size:.74rem;display:grid}.log-ts{color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem}.log-user{color:var(--text-secondary);font-weight:600}.log-query{color:var(--text-primary);word-break:break-word}.log-count{text-align:right;color:#10b981;font-weight:700;font-family:var(--font-mono)}.msg-flash{border-radius:var(--radius-sm);margin-top:10px;padding:8px 12px;font-size:.76rem}.msg-flash.ok{color:#34d399;background:#10b9811a;border:1px solid #10b98140}.msg-flash.err{color:#f87171;background:#ef44441a;border:1px solid #ef444440}@media (width<=640px){.sidebar{display:none}.modal-grid-2{grid-template-columns:1fr}}.analytics-bubble{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin-top:32px;padding:18px 20px;box-shadow:0 2px 12px #0000000d}.anl-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.anl-icon{font-size:1.1rem}.anl-title{color:#111827;flex:1;font-size:.9rem;font-weight:700}.anl-sub{color:#6b7280;margin-left:4px;font-size:.72rem;font-weight:400}.anl-pills{gap:5px;display:flex}.anl-pill{color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;padding:3px 9px;font-size:.65rem;font-weight:700}.anl-pill.multi{color:#047857;background:#10b98114;border-color:#10b98133}.anl-toggle-btn{color:#6b7280;cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;padding:5px 12px;font-size:.7rem;font-weight:600;transition:all .15s}.anl-toggle-btn:hover{color:#374151;border-color:#374151}.anl-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:14px}.anl-card-title{color:#6b7280;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:.68rem;font-weight:700}.anl-score-bars{flex-direction:column;gap:5px;display:flex}.anl-score-row{align-items:center;gap:10px;display:flex}.anl-score-label{color:#6b7280;flex-shrink:0;width:48px;font-size:.68rem;font-weight:600}.anl-score-track{background:#e5e7eb;border-radius:4px;flex:1;height:7px;overflow:hidden}.anl-score-fill{border-radius:4px;height:100%;transition:width .5s}.anl-score-count{color:#374151;text-align:right;min-width:24px;font-size:.68rem;font-weight:700}.anl-footer{justify-content:flex-end;margin-top:14px;display:flex}.anl-report-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#334155,#475569);border:none;border-radius:9px;padding:8px 18px;font-size:.78rem;font-weight:700;transition:opacity .15s}.anl-report-btn:hover{opacity:.88}.report-modal-overlay{z-index:9100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0000008c;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.report-modal-overlay.open{display:flex}.report-modal-card{background:#fff;border-radius:16px;flex-direction:column;width:min(860px,96vw);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #0000004d}.report-modal-hdr{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.report-modal-title{color:#111827;align-items:center;gap:8px;font-size:1rem;font-weight:700;display:flex}.report-modal-body{flex:1;padding:24px;overflow-y:auto}.report-modal-body::-webkit-scrollbar{width:5px}.report-modal-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.report-export-btn{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:6px 14px;font-size:.75rem;font-weight:600}.report-close-btn{color:#6b7280;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;display:flex}.report-close-btn:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5}.report-loading{flex-direction:column;align-items:center;padding:60px;display:flex}.rpt-header{border-bottom:2px solid #f3f4f6;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;display:flex}.rpt-meta{color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:700}.rpt-query-box{color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex:1;padding:5px 12px;font-size:.8rem}.rpt-risk-badge{letter-spacing:.05em;border:1px solid;border-radius:9px;padding:5px 14px;font-size:.72rem;font-weight:800}.rpt-stats-row{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.rpt-stat-box{text-align:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex:1;min-width:100px;padding:12px}.rpt-stat-val{color:#111827;font-size:1.1rem;font-weight:800}.rpt-stat-lbl{color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-top:3px;font-size:.6rem}.rpt-section{margin-bottom:20px}.rpt-section-title{color:#374151;border-bottom:1px solid #f3f4f6;align-items:center;gap:6px;margin-bottom:10px;padding-bottom:6px;font-size:.8rem;font-weight:700;display:flex}.rpt-prose{color:#374151;font-size:.84rem;line-height:1.7}.rpt-prose-sm{color:#4b5563;font-size:.78rem;line-height:1.6}.rpt-two-col{grid-template-columns:1fr 1fr;gap:16px;display:grid}.rpt-highlights{flex-wrap:wrap;gap:10px;display:flex}.rpt-highlight-card{background:#fefce8;border:1px solid #fde68a;border-radius:8px;flex:1;min-width:180px;padding:12px}.rpt-hl-incnum{color:#92400e;margin-bottom:4px;font-size:.85rem;font-weight:700}.rpt-hl-reason{color:#78350f;margin-bottom:3px;font-size:.75rem}.rpt-hl-detail{color:#a16207;font-size:.72rem;font-style:italic}.rpt-rec-list{padding-left:20px}.rpt-rec-item{color:#374151;margin-bottom:5px;font-size:.82rem;line-height:1.6}.rpt-confidence{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;align-items:flex-start;gap:8px;margin-top:16px;padding:10px 14px;font-size:.76rem;display:flex}.rpt-conf-icon{flex-shrink:0;margin-top:1px;font-size:.85rem}.anl-pinned-row{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:10px;display:grid}.anl-card-pinned{cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;min-width:0;padding:14px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.anl-card-pinned:hover{border-color:#374151;box-shadow:0 2px 8px #0000001a}.anl-canvas-wrap{cursor:pointer;width:100%;height:160px;transition:transform .2s,opacity .2s;position:relative}.anl-canvas-wrap-lg{height:220px}.anl-canvas-wrap:hover{opacity:.9;transform:scale(1.02)}.anl-canvas-wrap:after{content:"🔍 Click to expand";color:#fff;opacity:0;pointer-events:none;z-index:10;background:#0009;border-radius:6px;padding:4px 10px;font-size:.7rem;transition:opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.anl-canvas-wrap:hover:after{opacity:1}.anl-extra-row{margin-bottom:10px}.anl-card-extra{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;min-width:0;padding:14px;overflow:hidden}.anl-extra-select{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:6px 12px;font-size:.78rem;font-weight:600;transition:border-color .15s}.anl-extra-select:focus{border-color:#374151}@media (width<=700px){.anl-pinned-row{grid-template-columns:1fr}}.results-action-footer{border-top:1px solid #e5e7eb;justify-content:center;align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.results-action-btn{color:#374151;cursor:pointer;letter-spacing:.01em;background:#f3f4f6;border:1px solid #d1d5db;border-radius:9px;padding:8px 18px;font-size:.78rem;font-weight:700;transition:all .15s}.results-action-btn:hover:not(:disabled){color:#fff;background:#334155;border-color:#334155}.results-action-btn:disabled{opacity:.54;cursor:not-allowed}.results-action-btn--analytics{color:#1d4ed8;background:#3b82f614;border-color:#3b82f64d}.results-action-btn--analytics:hover:not(:disabled){color:#fff;background:#1d4ed8;border-color:#1d4ed8}.results-action-btn--report{color:#fff;background:linear-gradient(135deg,#334155,#475569);border-color:#0000}.results-action-btn--report:hover:not(:disabled){opacity:.88;background:linear-gradient(135deg,#334155,#475569)}.chart-expand-modal{z-index:9200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.chart-expand-modal.open{display:flex}.chart-expand-card{background:#fff;border-radius:16px;flex-direction:column;width:min(1000px,96vw);max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) modalScaleUp;display:flex;overflow:hidden;box-shadow:0 24px 60px #0000004d}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.chart-expand-hdr{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.chart-expand-title{color:#111827;font-size:1.1rem;font-weight:700}.chart-expand-close{cursor:pointer;color:#6b7280;background:#f3f4f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.1rem;transition:all .15s;display:flex}.chart-expand-close:hover{color:#111827;background:#e5e7eb}.chart-expand-body{flex:1;padding:24px;overflow:auto}.chart-expand-body canvas{width:100%!important;height:min(500px,60vh)!important}.dark-mode .analytics-bubble{background:#1e293b;border-color:#ffffff12}.dark-mode .anl-title{color:#f1f5f9}.dark-mode .anl-card,.dark-mode .anl-card-pinned,.dark-mode .anl-card-extra{background:#0f172a;border-color:#334155}.dark-mode .anl-card-title{color:#94a3b8}.dark-mode .anl-score-label{color:#64748b}.dark-mode .anl-score-track{background:#1e293b}.dark-mode .anl-score-count{color:#cbd5e1}.dark-mode .anl-extra-select{color:#cbd5e1;background:#1e293b;border-color:#334155}.dark-mode .anl-report-btn{background:linear-gradient(135deg,#1e293b,#334155)}.dark-mode .report-modal-card{background:#1e293b}.dark-mode .report-modal-hdr{border-bottom-color:#334155}.dark-mode .report-modal-title{color:#f1f5f9}.dark-mode .report-export-btn{color:#cbd5e1;background:#0f172a;border-color:#334155}.dark-mode .rpt-header{border-bottom-color:#334155}.dark-mode .rpt-meta{color:#64748b}.dark-mode .rpt-query-box{color:#cbd5e1;background:#0f172a;border-color:#334155}.dark-mode .rpt-stat-box{background:#0f172a;border-color:#334155}.dark-mode .rpt-stat-val{color:#f1f5f9}.dark-mode .rpt-stat-lbl{color:#64748b}.dark-mode .rpt-section-title{color:#94a3b8;border-bottom-color:#334155}.dark-mode .rpt-prose{color:#cbd5e1}.dark-mode .rpt-highlight-card{background:#1a1500;border-color:#3d2e00}.dark-mode .rpt-rec-item{color:#cbd5e1}.dark-mode .rpt-confidence{color:#38bdf8;background:#0c1f30;border-color:#1e4060}.dark-mode .results-action-footer{border-top-color:#334155}.dark-mode .results-action-btn{color:#94a3b8;background:#1e293b;border-color:#334155}.dark-mode .results-action-btn:hover:not(:disabled){color:#fff;background:#475569;border-color:#475569}.dark-mode .results-action-btn--analytics{color:#60a5fa;background:#3b82f61f;border-color:#3b82f64d}.dark-mode .results-action-btn--analytics:hover:not(:disabled){color:#fff;background:#1d4ed8;border-color:#1d4ed8}.dark-mode .results-action-btn--report{color:#cbd5e1;background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569}.dark-mode .chart-expand-card{background:#1e293b;border:1px solid #ffffff14}.dark-mode .chart-expand-hdr{border-bottom-color:#334155}.dark-mode .chart-expand-title{color:#f1f5f9}.dark-mode .chart-expand-close{color:#94a3b8;background:#334155}.dark-mode .chart-expand-close:hover{color:#f1f5f9;background:#475569}.ps-select-row{background:#3b82f60d;border:1px solid #3b82f626;border-radius:8px;align-items:center;gap:8px;margin-left:auto;padding:4px 10px;display:flex}.ps-label{color:#1d4ed8;letter-spacing:.02em;font-size:.68rem;font-weight:700}.ps-select{color:#1e40af;cursor:pointer;font-size:.75rem;font-weight:800;font-family:var(--font-display);background:0 0;border:none;border-radius:4px;outline:none;padding:2px 4px}.ps-select:hover{background:#3b82f61a}.dark-mode .ps-select-row{background:#3b82f61a;border-color:#3b82f640}.dark-mode .ps-label{color:#60a5fa}.dark-mode .ps-select{color:#93c5fd}.dark-mode .ps-select:hover{background:#ffffff0d}
