.app{display:flex;height:100vh;max-width:1800px;margin:0 auto;background:white;box-shadow:0 20px 60px #0000004d;border-radius:0}.sidebar{width:380px;background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto;padding:24px}.sidebar-header h2{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:24px;letter-spacing:-.02em}.sidebar-section{margin-bottom:24px}.sidebar-section h3{font-size:14px;font-weight:600;color:#475569;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.file-info{font-size:12px;color:#64748b;margin-bottom:12px}.sidebar-section label{display:block;font-size:13px;color:#6c757d;margin-bottom:8px;font-weight:500}.input{width:100%;padding:10px 12px;border:2px solid #dee2e6;border-radius:8px;font-size:14px;transition:all .2s}.input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.textarea{width:100%;padding:10px 12px;border:2px solid #dee2e6;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:all .2s}.textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.upload-area{margin-bottom:12px}.upload-btn{width:100%;padding:12px;background:white;border:2px dashed #dee2e6;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;color:#495057;transition:all .2s}.upload-btn:hover{border-color:#667eea;background:#f8f9ff}.or-text{text-align:center;color:#6c757d;font-size:13px;margin:12px 0}.process-btn{width:100%;padding:14px;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);color:#fff;border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;transition:all .3s ease;margin-top:12px;box-shadow:0 4px 12px #6366f14d}.process-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.process-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.sidebar-divider{height:1px;background:#dee2e6;margin:20px 0}.settings-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:8px 0}.settings-content{margin-top:12px;display:flex;flex-direction:column;gap:16px}.slider{width:100%;margin-top:8px;cursor:pointer}.sidebar-actions{display:flex;gap:8px;margin-top:auto;padding-top:20px}.action-btn{flex:1;padding:10px;background:white;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:#495057;transition:all .2s}.action-btn:hover{background:#f8f9fa;border-color:#adb5bd}.action-btn.danger:hover{background:#fff5f5;border-color:#dc3545;color:#dc3545}.main-content{flex:1;display:flex;flex-direction:column;background:white}.chat-header{padding:32px 40px;background:linear-gradient(135deg,#1e3c72 0%,#2a5298 50%,#7e22ce 100%);color:#fff;box-shadow:0 4px 20px #00000026;position:relative;overflow:hidden}.chat-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(255,255,255,.1) 0%,transparent 100%);pointer-events:none}.header-content{position:relative;z-index:1}.chat-header h1{font-size:32px;font-weight:700;margin-bottom:8px;letter-spacing:-.03em}.chat-header p{font-size:15px;opacity:.95;font-weight:400}.warning-box,.info-box{margin:20px 32px;padding:16px 20px;border-radius:8px;font-size:14px}.warning-box{background:#fff3cd;border:1px solid #ffc107;color:#856404}.info-box{background:#d1ecf1;border:1px solid #17a2b8;color:#0c5460}.messages-container{flex:1;overflow-y:auto;padding:24px 32px;display:flex;flex-direction:column;gap:16px}.message{display:flex;flex-direction:column;max-width:80%;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message-content{padding:14px 18px;border-radius:12px;font-size:15px;line-height:1.6;display:flex;flex-direction:column;gap:8px}.message-content p{white-space:pre-wrap;word-wrap:break-word;line-height:1.6;margin:0}.message.user .message-content{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 12px #6366f14d}.message.assistant .message-content{background:#f8f9fa;color:#212529;border-bottom-left-radius:4px;border:1px solid #e9ecef}.chunks-section{margin-top:8px}.chunks-toggle{background:#e9ecef;border:1px solid #dee2e6;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:8px;color:#495057;transition:all .2s}.chunks-toggle:hover{background:#dee2e6}.chunks-content{margin-top:8px;padding:12px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-direction:column;gap:12px}.chunk{padding:10px;background:white;border-radius:4px;font-size:13px;line-height:1.5}.chunk strong{display:block;margin-bottom:6px;color:#6366f1;font-weight:600}.chunk p{color:#495057;margin:0}.input-form{padding:20px 32px;border-top:1px solid #e9ecef;display:flex;gap:12px;background:#f8f9fa}.chat-input{flex:1;padding:14px 18px;border:2px solid #dee2e6;border-radius:12px;font-size:15px;transition:all .2s}.chat-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.send-btn{padding:14px 24px;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);color:#fff;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px #6366f14d}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.app{flex-direction:column}.sidebar{width:100%;max-height:50vh}.message{max-width:90%}}.welcome-section{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;background:linear-gradient(135deg,#f8fafc 0%,#e0e7ff 100%)}.welcome-card{max-width:700px;background:white;padding:48px;border-radius:16px;box-shadow:0 10px 40px #0000001a;text-align:center}.welcome-card h2{font-size:28px;font-weight:700;color:#1e293b;margin-bottom:12px;letter-spacing:-.02em}.welcome-card>p{font-size:16px;color:#64748b;margin-bottom:40px}.features{display:grid;grid-template-columns:1fr;gap:24px;text-align:left}.feature-item{display:flex;gap:16px;align-items:flex-start;padding:20px;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:12px;border:1px solid #e2e8f0;transition:all .3s ease}.feature-item:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014;border-color:#c7d2fe}.feature-icon{font-size:32px;flex-shrink:0}.feature-text h4{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:4px}.feature-text p{font-size:14px;color:#64748b;line-height:1.5}.empty-chat{text-align:center;padding:60px 20px;color:#64748b;font-size:16px}.empty-chat p{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600;font-size:18px}.input-wrapper{display:flex;gap:12px;align-items:center}.action-btn.secondary{background:white;color:#475569}.action-btn.secondary:hover{background:#f8fafc;border-color:#94a3b8}.message-content.loading{background:linear-gradient(90deg,#f1f5f9 0%,#e2e8f0 50%,#f1f5f9 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh}#root{min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}
