*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #1a2e4a;--navy-hover: #223657;--blue: #2563eb;--blue-hover: #1d4ed8;--bg: #f0f2f5;--white: #ffffff;--border: #e5e7eb;--text: #1e2028;--muted: #6b7280;--sidebar-w: 265px;--links-w: 285px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}body{font-family:var(--font);background:var(--bg);height:100vh;overflow:hidden}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--navy);color:#fff;display:flex;flex-direction:column;gap:18px;padding:20px 14px;overflow-y:auto;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-icon{font-size:1.35rem}.brand-name{font-size:1rem;font-weight:700;letter-spacing:.3px}.sidebar-section{display:flex;flex-direction:column;gap:8px}.section-label{font-size:.71rem;text-transform:uppercase;letter-spacing:.8px;opacity:.55;font-weight:600}.account-select{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px 10px;font-size:.84rem;cursor:pointer;outline:none;width:100%}.account-select:hover{background:#ffffff26}.account-select option{background:var(--navy)}.new-conv-btn{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:9px 12px;font-size:.84rem;cursor:pointer;text-align:left;transition:background .15s}.new-conv-btn:hover{background:#ffffff29}.adv-search{gap:10px}.srch-input{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:7px 10px;font-size:.81rem;font-family:var(--font);width:100%;outline:none;transition:border-color .15s}.srch-input::placeholder{color:#ffffff61}.srch-input:focus{border-color:#ffffff73}.srch-input[type=date]{color-scheme:dark}.date-row{display:flex;gap:7px}.date-col{flex:1;display:flex;flex-direction:column;gap:4px}.field-label{font-size:.7rem;opacity:.5}.kw-row{display:flex;gap:6px}.kw-input{flex:1}.kw-add-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:7px;width:32px;font-size:1.15rem;line-height:1;cursor:pointer;flex-shrink:0}.kw-add-btn:hover{background:#fff3}.kw-chips{display:flex;flex-wrap:wrap;gap:5px}.kw-chip{background:#2563eb59;border:1px solid rgba(37,99,235,.55);border-radius:20px;padding:3px 8px;font-size:.74rem;display:flex;align-items:center;gap:4px}.chip-x{background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:.9rem;line-height:1;padding:0}.chip-x:hover{color:#fff}.logic-row{display:flex;align-items:center;gap:6px}.logic-btn{background:#ffffff12;color:#fff9;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:4px 10px;font-size:.74rem;font-weight:600;cursor:pointer;transition:all .15s}.logic-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}.srch-run-btn{background:var(--blue);color:#fff;border:none;border-radius:8px;padding:9px 12px;font-size:.84rem;font-weight:600;cursor:pointer;transition:background .15s;width:100%}.srch-run-btn:hover:not(:disabled){background:var(--blue-hover)}.srch-run-btn:disabled{opacity:.4;cursor:not-allowed}.chat-panel{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.messages-area{flex:1;overflow-y:auto;padding:28px 24px;display:flex;flex-direction:column;gap:18px}.welcome{margin:auto;text-align:center;color:var(--muted);padding:40px;max-width:460px}.welcome-icon{font-size:2.8rem;margin-bottom:14px}.welcome h2{color:#4b5563;font-size:1.1rem;font-weight:600;margin-bottom:10px}.welcome p{font-size:.88rem;line-height:1.75}.msg-row{display:flex;flex-direction:column;gap:6px;max-width:78%}.msg-row.user{align-self:flex-end;align-items:flex-end}.msg-row.assistant{align-self:flex-start;align-items:flex-start}.bubble{padding:12px 18px;border-radius:20px;line-height:1.65;font-size:.93rem}.msg-row.user .bubble{background:var(--blue);color:#fff;border-bottom-right-radius:5px}.msg-row.assistant .bubble{background:var(--white);color:var(--text);border-bottom-left-radius:5px;box-shadow:0 1px 5px #00000014}.bubble p{margin-bottom:8px}.bubble p:last-child{margin-bottom:0}.bubble strong{font-weight:700}.bubble em{font-style:italic}.bubble a{color:var(--blue);text-decoration:none}.bubble a:hover{text-decoration:underline}.bubble code{background:#f1f5f9;border-radius:4px;padding:1px 5px;font-family:Consolas,Courier New,monospace;font-size:.86em;color:#be123c}.bubble pre{background:#f1f5f9;border-radius:8px;padding:12px;overflow-x:auto;margin:8px 0}.bubble pre code{background:none;padding:0;color:inherit;font-size:.88em}.bubble hr{border:none;border-top:1px solid var(--border);margin:10px 0}.bubble ul,.bubble ol{padding-left:20px;margin-bottom:8px}.bubble li{margin-bottom:3px}.bubble h1{font-size:1.1em;font-weight:700;margin:10px 0 5px}.bubble h2{font-size:1.05em;font-weight:700;margin:10px 0 5px}.bubble h3{font-size:1em;font-weight:700;margin:8px 0 4px}.bubble table{border-collapse:collapse;margin:8px 0;font-size:.9em;width:100%}.bubble th,.bubble td{border:1px solid var(--border);padding:5px 10px}.bubble th{background:#f8fafc;font-weight:600}.tool-calls{display:flex;flex-wrap:wrap;gap:6px}.tool-badge{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:20px;padding:3px 11px;font-size:.75rem;font-family:Consolas,Courier New,monospace}.typing-bubble{display:flex;align-items:center;gap:5px;padding:14px 18px;background:var(--white);border-radius:20px 20px 20px 5px;box-shadow:0 1px 5px #00000014;width:fit-content}.dot{width:8px;height:8px;background:#93c5fd;border-radius:50%;display:inline-block;animation:bounce 1.4s infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-7px);opacity:1}}.input-bar{background:var(--white);border-top:1px solid var(--border);padding:14px 20px;display:flex;gap:10px;align-items:flex-end;flex-shrink:0}.msg-input{flex:1;border:1.5px solid #d1d5db;border-radius:14px;padding:10px 14px;font-size:.93rem;font-family:var(--font);resize:none;outline:none;max-height:120px;line-height:1.55;transition:border-color .2s}.msg-input:focus{border-color:var(--blue)}.msg-input:disabled{background:#f9fafb}.send-btn{background:var(--blue);color:#fff;border:none;border-radius:14px;padding:0 20px;height:42px;font-size:.93rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap;flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--blue-hover)}.send-btn:active:not(:disabled){transform:scale(.97)}.send-btn:disabled{background:#93c5fd;cursor:not-allowed}.help-btn{background:transparent;color:var(--muted);border:1.5px solid #d1d5db;border-radius:14px;padding:0 14px;height:42px;font-size:.85rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap;flex-shrink:0}.help-btn:hover{border-color:var(--blue);color:var(--blue)}.links-panel{width:var(--links-w);min-width:var(--links-w);background:var(--white);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.links-header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 12px;border-bottom:1px solid var(--border);font-size:.86rem;font-weight:600;color:var(--text);flex-shrink:0}.links-close{background:none;border:none;font-size:1.25rem;color:var(--muted);cursor:pointer;line-height:1;padding:2px 4px}.links-close:hover{color:var(--text)}.links-list{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.link-card{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:7px}.link-label{font-size:.78rem;color:var(--blue);word-break:break-all;text-decoration:none;line-height:1.45;display:block}.link-label:hover{text-decoration:underline}.link-actions{display:flex;gap:6px}.link-btn{background:var(--white);border:1px solid var(--border);border-radius:6px;padding:3px 10px;font-size:.74rem;cursor:pointer;color:var(--muted);transition:border-color .15s,color .15s}.link-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.link-btn:disabled{opacity:.4;cursor:not-allowed}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg)}.login-card{background:var(--white);border-radius:16px;box-shadow:0 4px 24px #0000001a;padding:40px 36px;display:flex;flex-direction:column;align-items:center;gap:14px;width:320px}.login-icon{font-size:2.4rem}.login-title{font-size:1.25rem;font-weight:700;color:var(--text)}.login-subtitle{font-size:.88rem;color:var(--muted);margin-bottom:4px}.login-input{width:100%;border:1.5px solid #d1d5db;border-radius:10px;padding:10px 14px;font-size:.93rem;font-family:var(--font);outline:none;transition:border-color .2s}.login-input:focus{border-color:var(--blue)}.login-error{color:#dc2626;font-size:.84rem;text-align:center}.login-btn{width:100%;background:var(--blue);color:#fff;border:none;border-radius:10px;padding:11px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.login-btn:hover:not(:disabled){background:var(--blue-hover)}.login-btn:disabled{background:#93c5fd;cursor:not-allowed}.dark-toggle{margin-top:auto;background:#ffffff0f;color:#ffffffa6;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px 12px;font-size:.82rem;cursor:pointer;text-align:left;transition:background .15s,color .15s;display:flex;align-items:center;gap:7px}.dark-toggle:hover{background:#ffffff1f;color:#fff}.app.dark,.login-screen.dark{--bg: #0d1117;--white: #1c2333;--border: #2d3748;--text: #e2e8f0;--muted: #8892a4}.app.dark body,.app.dark,.app.dark .chat-panel{background:var(--bg)}.app.dark .sidebar{background:#111827}.app.dark .msg-row.assistant .bubble{background:#1c2333;color:var(--text);box-shadow:0 1px 5px #0000004d}.app.dark .typing-bubble{background:#1c2333;box-shadow:0 1px 5px #0000004d}.app.dark .input-bar{background:#1c2333;border-top-color:var(--border)}.app.dark .msg-input{background:var(--bg);color:var(--text);border-color:var(--border)}.app.dark .msg-input:focus{border-color:var(--blue)}.app.dark .msg-input:disabled{background:#161b27}.app.dark .msg-input::placeholder{color:#4b5563}.app.dark .help-btn{color:var(--muted);border-color:var(--border)}.app.dark .help-btn:hover{border-color:var(--blue);color:var(--blue)}.app.dark .welcome h2{color:#9ca3af}.app.dark .bubble code{background:#0d1117;color:#f87171}.app.dark .bubble pre{background:#0d1117}.app.dark .bubble th{background:#252d3d}.app.dark .tool-badge{background:#1e2d4a;color:#93c5fd;border-color:#1e3a5f}.app.dark .links-panel{background:#1c2333;border-left-color:var(--border)}.app.dark .links-header{color:var(--text);border-bottom-color:var(--border)}.app.dark .links-close{color:var(--muted)}.app.dark .links-close:hover{color:var(--text)}.app.dark .link-card{background:#252d3d;border-color:var(--border)}.app.dark .link-btn{background:#1c2333;border-color:var(--border);color:var(--muted)}.app.dark .link-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.login-screen.dark .login-card{background:#1c2333;box-shadow:0 4px 24px #0006}.login-screen.dark .login-input{background:#0d1117;color:var(--text);border-color:var(--border)}.login-screen.dark .login-input:focus{border-color:var(--blue)}.login-screen.dark .login-title{color:var(--text)}.login-screen.dark .login-subtitle{color:var(--muted)}
