@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap");:root{--bg-color:#020617;--bg-secondary:#0f172a;--bg-panel:#1e293b;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#475569;--accent-1:#22c55e;--accent-2:#10b981;--accent-3:#3b82f6;--accent-gradient:linear-gradient(135deg,var(--accent-1),var(--accent-3));--accent-gradient-hover:linear-gradient(135deg,var(--accent-2),var(--accent-3));--border-color:rgba(255,255,255,0.08);--glass-border:1px solid rgba(255,255,255,0.05);--glass-border-hover:1px solid rgba(255,255,255,0.15);--glass-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--neon-shadow:0 0 10px rgba(34,197,94,0.15);--error-color:#ef4444;--success-color:#10b981;--sidebar-width:280px}*{box-sizing:border-box;padding:0}*,body{margin:0}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;overflow-x:hidden;background-image:radial-gradient(circle at 50% 0,rgba(34,197,94,.04) 0,transparent 40%),radial-gradient(circle at 100% 100%,rgba(59,130,246,.04) 0,transparent 40%);background-attachment:fixed}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.02em}a{color:var(--accent-1);text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1)}a:hover{text-shadow:0 0 10px rgba(34,197,94,.3)}button{cursor:pointer;font-family:inherit;outline:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-1);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}.app-container{display:flex;min-height:100vh;width:100%;position:relative}.sidebar{width:var(--sidebar-width);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem;border-right:var(--glass-border);background:var(--bg-secondary);z-index:40;transition:transform .3s ease;position:fixed;height:100vh;left:0;top:0;bottom:0}.main-content{flex:1 1;display:flex;flex-direction:column;min-height:100vh;position:relative;background:var(--bg-color);margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width))}.header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:var(--glass-border);background:rgba(2,6,23,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:-webkit-sticky;position:sticky;top:0;z-index:30}@media (max-width:640px){.header{height:auto;min-height:64px;padding:.5rem 1rem}}.header h2{font-weight:500;letter-spacing:.2px;color:var(--text-primary)}.tab-content{flex:1 1;padding:2rem;display:flex;flex-direction:column;max-width:1440px;margin:0 auto;width:100%}.brand{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.brand svg{color:var(--accent-1)}.nav-menu{display:flex;flex-direction:column;gap:.5rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;color:var(--text-secondary);font-weight:500;transition:all .2s ease;background:transparent;border:1px solid transparent;text-align:left;width:100%;font-size:.95rem}.nav-item svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none}.nav-item:hover{color:var(--text-primary);background:rgba(255,255,255,.03)}.nav-item.active{color:var(--accent-1);background:rgba(34,197,94,.05);border:1px solid rgba(34,197,94,.1);font-weight:600}.mobile-menu-btn{display:none;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);padding:.45rem;cursor:pointer;width:36px;height:36px;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease,border-color .2s ease}.mobile-menu-btn:hover{background:var(--bg-panel);border-color:var(--accent-1)}.glass-panel{background:var(--bg-panel);border:var(--glass-border);border-radius:12px;padding:1.5rem;box-shadow:var(--glass-shadow);transition:border-color .2s ease}.glass-panel:hover{border-color:var(--glass-border-hover)}.btn-primary{background:var(--accent-1);color:#020617;border:none;padding:.75rem 1.25rem;border-radius:8px;font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;box-shadow:var(--glass-shadow)}.btn-primary:hover:not(:disabled){background:var(--accent-2);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:.75rem 1.25rem;border-radius:8px;font-weight:500;transition:all .2s ease}.btn-secondary:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.input-field{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;width:100%;font-family:inherit;font-size:.95rem;transition:all .2s ease}.input-field:focus{outline:none;border-color:var(--accent-1);box-shadow:0 0 0 2px rgba(34,197,94,.15)}select.input-field{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 16px;cursor:pointer}select.input-field:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.85rem;font-weight:500}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 160px);min-height:400px}.chat-history{flex:1 1;overflow-y:auto;padding:1rem 0;display:flex;flex-direction:column;gap:1.5rem;scroll-behavior:smooth}.message{display:flex;gap:1rem;max-width:85%;animation:messageFadeIn .3s ease forwards}@keyframes messageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user{align-self:flex-end;flex-direction:row-reverse}.message-assistant{align-self:flex-start}.avatar{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.avatar-user{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.avatar-assistant{background:var(--accent-1);color:#020617}.avatar svg{width:20px;height:20px}.message-content{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.05);padding:1rem 1.25rem;border-radius:12px;line-height:1.6;font-size:.95rem;color:var(--text-primary)}.message-user .message-content{background:rgba(34,197,94,.05);border-color:rgba(34,197,94,.1);border-top-right-radius:4px}.message-assistant .message-content{border-top-left-radius:4px}.chat-input-area{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-color)}.chat-input-wrapper{display:flex;gap:.5rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;padding:.5rem;align-items:center;transition:all .2s ease}.chat-input-wrapper:focus-within{border-color:var(--accent-1);box-shadow:0 0 12px rgba(34,197,94,.15)}.chat-input{flex:1 1;background:transparent;border:none!important;outline:none!important;color:var(--text-primary);padding:.5rem;font-size:1rem}.chat-input:focus,.chat-input:focus-visible{outline:none!important;border:none!important;box-shadow:none!important}.chat-input::placeholder{color:var(--text-muted)}.btn-send{background:transparent;color:var(--text-secondary);border:none;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.btn-send:hover:not(:disabled){color:var(--accent-1);background:rgba(34,197,94,.15);transform:scale(1.05)}.btn-send svg{width:20px;height:20px;fill:currentColor}.btn-send:disabled{opacity:.3}.citations{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-color);font-size:.85rem}.citation-title{display:inline-flex;align-items:center;gap:.4rem;background:var(--bg-color);padding:.25rem .75rem;border-radius:6px;border:1px solid var(--border-color);color:var(--text-secondary);transition:all .2s ease;text-decoration:none}.citation-title svg{width:14px;height:14px}a.citation-title:hover{background:var(--bg-secondary);border-color:var(--text-secondary);color:var(--text-primary)}.data-table{width:100%;border-collapse:collapse}.data-table td,.data-table th{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{color:var(--text-muted);font-weight:500;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.data-table tr{transition:background .2s}.data-table tr:hover{background:rgba(255,255,255,.01)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.5rem}.status-active{background:var(--success-color)}.status-pending{background:#f59e0b}.message-content p{margin-bottom:.75em}.message-content p:last-child{margin-bottom:0}.message-content h1,.message-content h2,.message-content h3{margin-top:1.5em;margin-bottom:.75em;color:var(--text-primary)}.message-content ol,.message-content ul{margin-left:1.5rem;margin-bottom:1rem}.message-content a{color:var(--accent-3);text-decoration:underline;text-underline-offset:4px}pre{background:var(--bg-color);padding:1rem;border-radius:8px;overflow-x:auto;border:1px solid var(--border-color);margin:1rem 0}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85em;background:rgba(255,255,255,.05);padding:.2em .4em;border-radius:4px;color:var(--text-secondary)}pre code{background:transparent;padding:0;color:var(--text-primary)}.typing-indicator{display:flex;gap:.25rem;padding:.25rem}.typing-dot{width:6px;height:6px;background:var(--text-secondary);border-radius:50%;animation:typing 1.4s ease-in-out infinite both}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.dropzone{border:2px dashed rgba(255,255,255,.1);border-radius:12px;padding:3rem 2rem;text-align:center;transition:all .2s ease;background:rgba(255,255,255,.01);cursor:pointer}.dropzone.active,.dropzone:hover{border-color:var(--accent-1);background:rgba(34,197,94,.02)}.dropzone p{color:var(--text-secondary);margin-top:1rem;font-size:.95rem}.dropzone-icon{margin-bottom:1rem;color:var(--text-muted);transition:color .2s}.dropzone-icon svg{width:48px;height:48px}.dropzone:hover .dropzone-icon{color:var(--accent-1)}.shiny-text{background:linear-gradient(90deg,var(--text-primary) 0,var(--text-secondary) 50%,var(--text-primary) 100%);background-size:200% auto;color:var(--text-primary);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shine 3s linear infinite}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shine{to{background-position:200%}}@media (max-width:1024px){.sidebar{position:fixed;inset:0 auto 0 0;width:300px;max-width:85vw;transform:translateX(-100%);z-index:50;box-shadow:none;overflow-y:auto;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.sidebar.mobile-open{transform:translateX(0);box-shadow:4px 0 40px rgba(0,0,0,.6)}.main-content{margin-left:0!important;width:100%!important}.mobile-menu-btn{display:flex}.sidebar-close-btn{display:flex!important}.tab-content{padding:1rem}.header{padding:0 1rem}.header-title{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.header-model-badge{display:none!important}.header-stats{padding:.2rem .5rem!important;font-size:.75rem!important}}@media (max-width:768px){.message{max-width:95%}.chat-container{height:calc(100vh - 130px)}}@media (max-width:375px){.btn-primary{padding:.5rem 1rem;font-size:.85rem}.header h2{font-size:1.1rem}}