.file-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.file-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;height:80%;max-height:600px;max-width:800px;width:90%}.file-modal-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:16px 20px}.file-modal-header h3{color:#333;font-size:16px;font-weight:600;margin:0}.file-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.file-modal-close:hover{background-color:#e0e0e0;color:#333}.file-modal-content{background-color:#f8f9fa;flex:1 1;overflow:hidden;padding:20px}.file-modal-footer{align-items:center;background-color:#f8f9fa;border-radius:0 0 8px 8px;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.file-modal-status{color:#28a745;font-size:14px;font-weight:500;min-height:20px}.file-modal-buttons{display:flex;gap:12px}.file-modal-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:8px 16px;transition:all .2s ease}.file-modal-btn:disabled{cursor:not-allowed;opacity:.6}.file-modal-btn-copy{background-color:#007bff;color:#fff}.file-modal-btn-copy:hover:not(:disabled){background-color:#0056b3}.file-modal-btn-copy:active:not(:disabled){background-color:#004085}.file-modal-btn-close{background-color:#6c757d;color:#fff}.file-modal-btn-close:hover{background-color:#545b62}.file-modal-btn-close:active{background-color:#4e555b}.file-modal-loading{color:#666;font-style:italic;padding:20px;text-align:center}.file-modal-error{background-color:#ffebee;border:1px solid #ffcdd2;border-radius:4px;color:#d32f2f;padding:12px}.file-modal-code-container{border:1px solid #e0e0e0;border-radius:4px;height:100%;overflow:hidden}.file-modal-code-container pre{border-radius:4px!important;height:100%!important;margin:0!important}.file-modal-text{word-wrap:break-word;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;color:#333;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.5;margin:0;overflow-x:auto;padding:16px;white-space:pre-wrap}.file-modal-text code{background:none;color:inherit;font-family:inherit;font-size:inherit;padding:0}.code-block{background-color:#fdfdfd;border:1px solid #ddd;border-radius:4px;margin-bottom:1rem}.code-header{background-color:#f0f0f0;color:#333;cursor:pointer;display:flex;font-size:.8rem;justify-content:space-between;padding:.3rem .6rem;-webkit-user-select:none;user-select:none}.code-header,.code-header.expanded{border-bottom:1px solid #ddd}.file-path{flex-grow:1;font-weight:700;margin-right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-num{font-family:monospace;margin-right:10px}.toggle-indicator{align-self:center;font-size:.7rem}.code-content{max-height:300px;overflow-y:auto}.file-link-container{background-color:#f8f9fa;border-top:1px solid #e9ecef;padding:8px 12px;text-align:right}.file-link-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .2s}.file-link-button:hover{background-color:#0056b3}.file-link-button:active{background-color:#004085}.stream-progress{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:12px 0;min-width:250px;padding:16px}.progress-header h4{color:#495057;font-size:14px;font-weight:600;margin:0 0 16px}.progress-steps{display:flex;flex-direction:column;gap:8px}.progress-step{align-items:flex-start;border-radius:6px;display:flex;gap:12px;padding:8px;transition:all .2s ease}.progress-step.active{background:#e3f2fd;border-left:3px solid #2196f3}.progress-step.completed{background:#e8f5e8;border-left:3px solid #4caf50}.progress-step.error{background:#ffebee;border-left:3px solid #f44336}.step-icon{font-size:16px;margin-top:2px;min-width:20px;text-align:center}.step-content{flex:1 1;min-width:0}.step-name{color:#212529;font-size:13px;font-weight:500;margin-bottom:4px}.step-messages{display:flex;flex-direction:column;gap:2px}.step-message{color:#6c757d;font-size:12px;line-height:1.4;padding:2px 0}.progress-step.active .step-message{color:#1976d2}.progress-step.completed .step-message{color:#388e3c}.progress-step.error .step-message{color:#d32f2f}.error-message{background:#ffebee;border:1px solid #ffcdd2;border-radius:4px;color:#c62828;font-size:12px;margin-top:12px;padding:8px 12px}.error-message strong{font-weight:600}.progress-step.active .step-icon{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media (max-width:768px){.stream-progress{margin:8px 0;min-width:0;min-width:auto;padding:12px}.progress-step{gap:8px;padding:6px}.step-icon{font-size:14px;min-width:18px}.step-name{font-size:12px}.step-message{font-size:11px}}.chat-interface{background-color:#f0f2f5;display:flex;flex-direction:column;height:100%}.chat-container{box-sizing:border-box;display:flex;flex-direction:column;position:relative}.chat-container,.messages{flex:1 1;height:0;min-height:0}.messages{background-color:#fff;border:1px solid #ccc;border-radius:8px;margin:.5rem;overflow-y:auto;padding:.5rem}.message{display:flex;flex-direction:column;margin-bottom:.5rem;position:relative;width:100%}.message.user{align-items:flex-end}.message.assistant{align-items:flex-start}.message-header{max-width:80%}.message.user .message-header{justify-content:flex-end}.message.assistant .message-header{justify-content:flex-start}.message-header .role{font-size:.8rem;font-weight:700;width:60px}.message-header .role.user:before{content:"👤 ";margin-right:5px}.message-header .role.assistant:before{content:"🤖 ";margin-right:5px}.message .content{word-wrap:break-word;border-radius:12px;font-size:.85rem;line-height:1.4;max-width:80%;padding:.5rem .8rem}.message.user .content{background-color:#dcf8c6;border-bottom-right-radius:4px}.message.user .content p{-webkit-margin-before:0!important;-webkit-margin-after:0!important;margin-block-end:0!important;margin-block-start:0!important;padding:0!important}.message.assistant .content{background-color:#f1f0f0;border-bottom-left-radius:4px}.message-actions{margin-top:.5rem}.action-btn{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.action-btn:hover{background-color:#0000000d}.action-icon{fill:currentColor;height:16px;width:16px}.copy-btn{color:#007bff}.copy-btn:hover{background-color:#007bff1a;color:#0056b3}.delete-btn{color:#dc3545}.delete-btn:hover{background-color:#dc35451a;color:#c82333}.usage-info{margin-left:1rem}.references{border-top:1px solid #ddd;margin-top:8px;max-width:80%;padding-top:8px}.references h4{color:#555;font-size:.8rem;margin:0 0 8px}.references h4:before{content:"🔗 ";margin-right:5px}.input-form{display:flex;padding:.5rem}.input-form input{border:1px solid #ccc;border-radius:6px;flex-grow:1;font-size:.8rem;height:32px;padding:.5rem .7rem}.input-form button{background-color:#0070d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;height:32px;margin-left:6px;padding:.5rem 1rem}.input-form button:disabled{background-color:#a0a0a0;cursor:not-allowed}.notification{font-size:.85rem;left:290px;padding:10px 15px;top:60px}.messages-container{flex:1 1;min-height:0;overflow-y:auto;padding:1rem}.message{background-color:#fff;border-radius:8px;margin-bottom:1rem}.user-message{border-left:4px solid #007bff}.assistant-message{border-left:4px solid #28a745}.message-header{margin-bottom:.5rem}.message-role{color:#333;font-weight:600}.message-time{color:#666}.message-actions{display:flex;gap:.5rem;opacity:0;transition:opacity .2s ease}.message:hover .message-actions{opacity:1}.action-button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:4px;transition:background-color .2s ease}.action-button:hover{background-color:#0000000d}.message-content{color:#333;line-height:1.5}.empty-state{color:#666;padding:3rem 1rem;text-align:center}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-text{font-size:1rem;line-height:1.5}.loading-indicator{align-items:center;color:#666;display:flex;gap:.5rem}.loading-dots{display:flex;gap:4px}.loading-dots span{animation:loading 1.4s ease-in-out infinite;background-color:#666;border-radius:50%;height:6px;width:6px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loading{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.scroll-top-button{align-items:center;background-color:#007bff;border:none;border-radius:50%;bottom:120px;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;opacity:.8;position:fixed;right:20px;transition:all .3s ease;width:40px;z-index:1000}.scroll-top-button:hover{background-color:#0056b3;box-shadow:0 4px 12px #0000004d;opacity:1;transform:translateY(-2px)}.input-container{background-color:#fff;border-top:1px solid #e8e8e8;flex-shrink:0;padding:1rem}.input-wrapper{align-items:center;display:flex;gap:.5rem}.question-type-select{background-color:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:.9rem;min-width:160px;padding:.75rem;transition:border-color .2s ease}.question-type-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a;outline:none}.question-type-select:disabled{background-color:#f8f9fa;cursor:not-allowed}.message-input{border:1px solid #ddd;border-radius:8px;flex:1 1;font-family:inherit;font-size:.9rem;line-height:1.4;max-height:120px;padding:.75rem;resize:none;transition:border-color .2s ease}.message-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a;outline:none}.message-input:disabled{background-color:#f8f9fa;cursor:not-allowed}.send-button{background-color:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;min-width:80px;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.send-button:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px)}.send-button:disabled{background-color:#ccc;cursor:not-allowed;transform:none}@media (max-width:768px){.messages-container{padding:.5rem}.message{padding:.75rem}.input-container{box-sizing:border-box;max-width:100%;overflow:hidden;padding:.75rem}.input-wrapper{align-items:stretch;box-sizing:border-box;flex-direction:column;gap:.5rem;width:100%}.question-type-select{min-width:auto;order:-1}.message-input,.question-type-select{box-sizing:border-box;max-width:100%;width:100%}.message-input{flex:none}.send-button{align-self:flex-start;min-width:80px;width:auto}.scroll-top-button{bottom:120px;height:36px;right:15px;width:36px}}.message-content pre{background-color:#f6f8fa;border:1px solid #e1e4e8;border-radius:6px;margin:.5rem 0;overflow-x:auto;padding:1rem}.message-content code{background-color:#f1f3f4;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85em;padding:2px 4px}.message-content pre code{background-color:initial;padding:0}.message-content table{border-collapse:collapse;font-size:.85rem;margin:.5rem 0;width:100%}.message-content td,.message-content th{border-bottom:1px solid #e1e4e8;padding:8px 12px;text-align:left}.message-content th{font-weight:600}.message-content th,.message-content tr:hover{background-color:#f6f8fa}.table-container{border-radius:6px}.markdown-table{font-size:.85rem}.markdown-table td,.markdown-table th{border-bottom:1px solid #e1e4e8;border-right:1px solid #e1e4e8;padding:8px 12px;text-align:left}.markdown-table td:last-child,.markdown-table th:last-child{border-right:none}.table-header{background-color:#f6f8fa;color:#24292e}.table-cell{color:#24292e}.message .content .markdown-table{font-size:.8rem}.message .content .markdown-table td,.message .content .markdown-table th{padding:6px 8px}.message-header{align-items:center;color:#666;display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:8px}.message-header-left{gap:8px}.message-header-left,.message-header-right{align-items:center;display:flex}.message-time{color:#999;font-size:.8rem;font-weight:400;width:100px}.role{color:#333;font-weight:600}.usage-info{color:#666;font-family:monospace;font-size:.8rem}.message.user .role{color:#007bff}.message.assistant .role{color:#28a745}.message.user .message-header{color:#007bff}.message.assistant .message-header{color:#28a745}.message.user .message-time{color:#007bff;opacity:.8}.message.assistant .message-time{color:#28a745;opacity:.8}.table-container{background-color:#f6f8fa;border:1px solid #e1e4e8;border-radius:8px;margin:1rem 0;overflow-x:auto;width:100%}.markdown-table{background-color:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000001a;font-size:.9rem;line-height:1.4;overflow:hidden;width:100%}.markdown-table th{background-color:#f6f8fa;border-bottom:2px solid #e1e4e8;color:#24292e;font-size:.9rem;font-weight:600;padding:12px 16px;text-align:left;white-space:nowrap}.markdown-table td{word-wrap:break-word;border-bottom:1px solid #e1e4e8;color:#24292e;max-width:300px;padding:12px 16px;vertical-align:top}.markdown-table tr:hover{background-color:#f6f8fa}.markdown-table tr:last-child td{border-bottom:none}.table-header{background-color:#f6f8fa!important;border-bottom:2px solid #e1e4e8!important;color:#24292e!important;font-weight:600!important}.table-cell{border-bottom:1px solid #e1e4e8!important;color:#24292e!important}.message .content .table-container{margin:.5rem 0;max-width:100%}.message .content .markdown-table{font-size:.85rem;margin:0}.message .content .markdown-table td,.message .content .markdown-table th{font-size:.85rem;padding:8px 12px}@media (max-width:768px){.table-container{margin:.5rem 0}.markdown-table{font-size:.8rem}.markdown-table td,.markdown-table th{font-size:.8rem;padding:6px 8px}}.message.assistant .content .markdown-table{background-color:#fff;color:#24292e}.message.assistant .content .markdown-table th{background-color:#f6f8fa;color:#24292e}.message.assistant .content .markdown-table td{border-bottom-color:#e1e4e8;color:#24292e}.markdown-table code{background-color:#f1f3f4;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85em;padding:2px 4px}.markdown-table a{color:#0366d6;text-decoration:none}.markdown-table a:hover{text-decoration:underline}.action-btn.refresh-btn{background-color:initial;border:none;border-radius:4px;color:#0366d6;cursor:pointer;margin-right:4px;padding:4px;transition:all .2s ease}.action-btn.refresh-btn:hover{background-color:#f1f8ff;color:#0256cc}.action-btn.refresh-btn:disabled{cursor:not-allowed}.action-btn.refresh-btn:disabled,.action-btn.refresh-btn:disabled:hover{background-color:initial;color:#ccc}.action-btn.refresh-btn.loading{animation:spin 1s linear infinite}.scroll-top-btn{align-items:center;background-color:#007bff;border:none;border-radius:50%;bottom:120px;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;opacity:.8;position:fixed;right:20px;transition:all .3s ease;width:40px;z-index:1000}.scroll-top-btn:hover{background-color:#0056b3;box-shadow:0 4px 12px #0000004d;opacity:1;transform:translateY(-2px)}.scroll-top-icon{height:20px;width:20px}@media (max-width:768px){.scroll-top-btn{bottom:100px;height:36px;right:15px;width:36px}.scroll-top-icon{height:18px;width:18px}}.cost-info-bar{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;color:#495057;display:flex;font-size:12px;gap:8px;margin-top:8px;padding:8px 12px}.cost-icon{font-size:14px}.cost-details{display:flex;flex-direction:column;gap:2px}.cost-item{align-items:center;display:flex;gap:4px}.web-search-cost{color:#06c;font-weight:500}.web-search-cost:hover{color:#0052a3}@media (max-width:768px){.cost-info-bar{font-size:11px;padding:6px 10px}.cost-details{gap:1px}}.web-reference{background-color:#f8f9fa;border:1px solid #e1e5e9;border-radius:6px;margin-bottom:12px;padding:12px}.web-link{color:inherit;display:block}.web-link,.web-link:hover{text-decoration:none}.web-title{color:#0366d6;display:block;font-weight:600;margin-bottom:4px}.web-url{color:#586069;display:block;font-size:.85em;word-break:break-all}.web-snippet{color:#24292e;font-size:.9em;line-height:1.4;margin:8px 0 0}.chat-history{background-color:#f5f5f5;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;font-size:.8rem;height:0;min-height:0;overflow-y:auto;scroll-behavior:smooth}.chat-history-content{flex-grow:1;padding:5px 10px}.chat-history ul{list-style-type:none;margin:0;padding:0}.chat-history li{border-radius:4px;cursor:pointer;font-size:.8rem;margin-bottom:8px;padding:6px;position:relative;transition:all .2s ease}.chat-history li.active{background-color:#007bff;color:#fff}.chat-history li:hover:not(.active){background-color:#e9ecef}.conversation-item{align-items:center;display:flex;justify-content:space-between;min-height:20px}.conversation-name{cursor:pointer;flex-grow:1;overflow:hidden;padding:2px 0;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;gap:3px;opacity:0;transform:translateX(10px);transition:opacity .2s ease,visibility .2s ease;visibility:hidden}.chat-history li:hover .actions{opacity:1;transform:translateX(0);visibility:visible}.actions button{border:none;border-radius:3px;cursor:pointer;font-size:9px;padding:2px 6px;transition:background-color .2s ease;white-space:nowrap}.rename-btn{background-color:#ffc107;color:#212529}.rename-btn:hover{background-color:#e0a800}.delete-btn{background-color:#dc3545;color:#fff}.delete-btn:hover{background-color:#c82333}.edit-container{align-items:center;display:flex;gap:3px}.edit-container input{border:1px solid #ccc;border-radius:3px;flex-grow:1;font-size:11px;outline:none;padding:2px 4px}.edit-container input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.edit-container button{border:none;border-radius:3px;cursor:pointer;font-size:9px;padding:2px 6px;transition:background-color .2s ease}.edit-container button:first-of-type{background-color:#28a745;color:#fff}.edit-container button:first-of-type:hover{background-color:#218838}.edit-container button:last-of-type{background-color:#6c757d;color:#fff}.edit-container button:last-of-type:hover{background-color:#5a6268}.notification{animation:fadeInOut 2s ease-in-out;border-radius:4px;color:#fff;font-size:.8rem;left:260px;padding:8px 12px;position:fixed;top:50px;z-index:1000}.notification.success{background-color:#28a745}.notification.error{background-color:#dc3545}@keyframes fadeInOut{0%{opacity:0}10%{opacity:1}90%{opacity:1}to{opacity:0}}.chat-history li:hover{transform:translateX(2px)}.edit-container{opacity:1!important;transform:translateX(0)!important;visibility:visible!important}@media (max-width:767px){.chat-history{background-color:#fff;font-size:14px}.chat-history-content{padding:0}.chat-history li{border-bottom:1px solid #f0f0f0;border-radius:0;margin-bottom:0;padding:12px 16px}.chat-history li:last-child{border-bottom:none}.chat-history li.active{background-color:#e6f7ff;border-left:3px solid #0070d2;color:#0070d2}.chat-history li:hover:not(.active){background-color:#f8f9fa}.conversation-name{font-size:14px;padding:0}.actions{gap:8px;opacity:1;transform:translateX(0);visibility:visible}.actions button{border-radius:6px;font-size:12px;padding:6px 12px}.edit-container{gap:8px}.edit-container input{border-radius:6px;font-size:14px;padding:8px 12px}.edit-container button{border-radius:6px;font-size:12px;padding:6px 12px}.notification{left:20px;left:auto;max-width:300px;position:fixed;right:20px;top:20px}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:slideUp .6s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:400px;padding:40px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#333;font-size:28px;font-weight:600;margin:0 0 10px}.login-header p{color:#666;font-size:14px;line-height:1.4;margin:0}.login-header .subtitle{color:#999;font-size:12px;font-style:italic;margin-left:8px}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#333;font-size:14px;font-weight:500}.form-group input{background:#f8f9fa;border:2px solid #e1e5e9;border-radius:10px;font-size:16px;padding:12px 16px;transition:all .3s ease}.form-group input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px;transition:all .3s ease}.login-button:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.7}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;padding:12px;text-align:center}.login-footer{border-top:1px solid #eee;margin-top:20px;padding-top:20px;text-align:center}.login-footer p{color:#666;font-size:12px;margin:0}.login-footer .copyright{color:#999;font-size:11px;margin:0}.user-avatar-container{position:relative}.user-avatar{align-items:center;border:2px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;height:20px;justify-content:center;margin:5px;transition:all .3s ease;width:20px}.user-avatar:hover{box-shadow:0 4px 12px #00000026;transform:scale(1.05)}.user-dropdown{animation:slideDown .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #00000026;margin-top:8px;min-width:180px;position:absolute;right:0;top:100%;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{border-bottom:1px solid #f0f0f0;padding:16px}.username{color:#333;display:block;font-size:14px}.user-role{background:#f0f0f0;border-radius:10px;color:#666;display:inline-block;font-size:12px;padding:2px 8px}.dropdown-divider{background:#f0f0f0;height:1px;margin:0}.dropdown-item{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:14px;padding:12px 16px;text-align:left;transition:background-color .2s ease;width:100%}.dropdown-item:hover{background:#f8f9fa;color:#333}.dropdown-item .icon{font-size:14px;margin-right:8px;text-align:center;width:16px}.mobile-menu-item{display:none}@media (max-width:767px){.mobile-menu-item{align-items:center;display:flex!important}}.dropdown-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.user-stats-modal{align-items:center;background:#00000080;display:flex;justify-content:center;position:fixed;z-index:1000}.stats-overlay,.user-stats-modal{height:100%;left:0;top:0;width:100%}.stats-overlay{position:absolute}.stats-container{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:1200px;overflow:hidden;position:relative;width:90%}.stats-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:24px 24px 0}.stats-header h2{color:#1a1a1a;font-size:24px;font-weight:600;margin:0}.header-actions{align-items:center;display:flex;gap:8px}.refresh-button{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:18px;padding:8px;transition:all .2s ease}.refresh-button:hover{background-color:#f3f4f6;color:#374151;transform:rotate(180deg)}.refresh-button:active{transform:rotate(1turn)}.refresh-button.loading{animation:spin 1s linear infinite;opacity:.6;pointer-events:none}.close-button{background:none;border:none;border-radius:8px;color:#666;cursor:pointer;font-size:24px;padding:8px;transition:all .2s}.close-button:hover{background:#f5f5f5;color:#333}.stats-tabs{border-bottom:1px solid #e5e7eb;display:flex;margin-bottom:24px}.tab-button{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .2s ease}.tab-button.active{border-bottom-color:#3b82f6;color:#3b82f6}.tab-button:hover{color:#374151}.stats-content{max-height:calc(90vh - 200px);overflow-y:auto;padding:24px}.stats-grid,.stats-overview{margin-bottom:32px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #667eea;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-title{color:#6b7280;font-size:14px;font-weight:500;margin-bottom:8px}.stat-value{color:#111827;font-size:28px;font-weight:700;margin-bottom:4px}.stat-subtitle{color:#9ca3af;font-size:12px}.user-table-container{margin-top:24px}.user-table-container h3{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 16px}.user-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.table-header{background:#f8f9fa;color:#666;font-size:14px;font-weight:600}.table-header,.table-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;padding:16px}.table-row{align-items:center;border-bottom:1px solid #f0f0f0}.table-row:last-child{border-bottom:none}.table-row.empty{color:#999;grid-template-columns:1fr;padding:32px;text-align:center}.s-table-cell{color:#333;font-size:14px}.role-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.role-badge.admin{background:#e3f2fd;color:#1976d2}.role-badge.user{background:#f3e5f5;color:#7b1fa2}.all-users-stats{display:flex;flex-direction:column;gap:20px}.user-stats-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.user-stats-header{justify-content:space-between;margin-bottom:20px}.user-info,.user-stats-header{align-items:center;display:flex}.user-info{gap:12px}.user-avatar-small{align-items:center;border-radius:50%;color:#fff;display:flex;height:40px;justify-content:center;width:40px}.user-avatar-small,.username{font-size:16px;font-weight:600}.username{color:#1a1a1a;margin-bottom:4px}.last-request{color:#999;font-size:12px}.user-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.user-stat{background:#f8f9fa;border-radius:8px;padding:16px;text-align:center}.stat-label{color:#666;font-size:12px;margin-bottom:8px}.stat-value{color:#1a1a1a;font-size:18px;font-weight:600}.daily-breakdown{border-top:1px solid #f0f0f0;padding-top:20px}.breakdown-title{color:#666;font-size:14px;font-weight:600;margin-bottom:16px}.daily-chart{align-items:end;display:flex;gap:8px;height:120px}.day-bar{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px}.bar-label{color:#666;font-size:12px;text-align:center}.bar-container{background:#f0f0f0;border-radius:4px;height:60px;overflow:hidden;position:relative;width:100%}.bar-fill{background:linear-gradient(135deg,#667eea,#764ba2);bottom:0;left:0;position:absolute;right:0;transition:height .3s ease}.bar-value{color:#333;font-size:12px;font-weight:600}.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{border:4px solid #f3f4f6}.error-state{align-items:center;color:#ef4444;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.error-icon{font-size:48px;margin-bottom:16px}.error-text{font-size:16px;margin-bottom:16px;text-align:center}.retry-button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:background-color .2s ease}.retry-button:hover{background:#2563eb}@media (max-width:768px){.user-stats-modal{padding:10px}.stats-container{border-radius:12px;max-height:95vh}.stats-header{padding:16px 16px 0}.stats-header h2{font-size:20px}.stats-tabs{padding:0 16px}.tab-button{font-size:13px;padding:12px 16px}.stats-content{padding:16px}.stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-value{font-size:24px}.table-header,.table-row{font-size:13px;grid-template-columns:1fr 1fr 1fr;padding:12px}.table-cell:nth-child(4),.table-cell:nth-child(5){display:none}.user-stats-header{align-items:flex-start;flex-direction:column;gap:12px}.user-stats-grid{gap:12px;grid-template-columns:1fr}.daily-chart{gap:4px;height:100px}.bar-container{height:50px}.bar-label,.bar-value{font-size:11px}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.table-header,.table-row{grid-template-columns:1fr 1fr}.table-cell:nth-child(3){display:none}}.mobile-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.mobile-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:400px;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.mobile-modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 20px 16px}.mobile-modal-header h3{color:#212529;font-size:18px;font-weight:600;margin:0}.mobile-modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#6c757d;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.mobile-modal-close:hover{background:#f8f9fa;color:#495057}.mobile-modal-content{flex:1 1;min-height:0;overflow-y:auto;padding:16px 20px 20px}@media (max-width:480px){.mobile-modal-overlay{padding:16px}.mobile-modal{max-height:85vh}.mobile-modal-header{padding:16px 16px 12px}.mobile-modal-header h3{font-size:16px}.mobile-modal-content{padding:12px 16px 16px}}.mobile-modal-content::-webkit-scrollbar{width:4px}.mobile-modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.mobile-modal-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.mobile-modal-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.config-manager-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.config-manager-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.config-manager-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 24px 0}.config-manager-header h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.config-manager-close{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:8px;transition:all .2s}.config-manager-close:hover{background-color:#f3f4f6;color:#374151}.config-manager-content{flex:1 1;overflow-y:auto;padding:24px}.config-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.config-error,.config-success{align-items:center;display:flex;gap:8px;margin-bottom:16px;padding:12px 16px}.config-success{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a}.config-sections{display:flex;flex-direction:column;gap:24px}.config-section{background-color:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.config-section h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 16px}.config-selector{display:flex;flex-direction:column;gap:12px}.config-selector select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;padding:12px 16px;transition:border-color .2s}.config-selector select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.config-selector select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.config-info{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.config-info p{color:#374151;font-size:.875rem;margin:0 0 8px}.config-info p:last-child{margin-bottom:0}.model-details{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.model-details p{color:#6b7280;font-size:.8rem}.config-loading{align-items:center;color:#6b7280;display:flex;gap:12px;justify-content:center;padding:20px}.loading-spinner{border:2px solid #e5e7eb;border-top-color:#3b82f6;height:20px;width:20px}.config-manager-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:24px}.config-manager-btn{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 20px;transition:all .2s}.config-manager-btn.secondary{background-color:#f3f4f6;color:#374151}.config-manager-btn.secondary:hover{background-color:#e5e7eb}@media (max-width:768px){.config-manager-overlay{padding:10px}.config-manager-modal{max-height:95vh}.config-manager-content,.config-manager-footer,.config-manager-header,.config-section{padding:16px}}.questions-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.questions-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:90%}.questions-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.questions-modal-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.questions-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.questions-modal-close:hover{background-color:#f0f0f0;color:#333}.questions-modal-content{flex:1 1;overflow-y:auto;padding:20px}.questions-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:40px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.questions-error{color:#dc3545;padding:40px;text-align:center}.retry-btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:16px;padding:8px 16px;transition:background-color .2s}.retry-btn:hover{background-color:#0056b3}.questions-empty{color:#666;padding:40px;text-align:center}.questions-list{display:flex;flex-direction:column;gap:16px}.question-item{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:box-shadow .2s}.question-item:hover{box-shadow:0 2px 8px #0000001a}.question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.question-date{color:#666;font-size:14px;font-weight:500}.question-user{background-color:#e7f3ff;border-radius:12px;color:#007bff;font-size:14px;font-weight:600;padding:4px 8px}.question-content{color:#333;line-height:1.5;word-break:break-word}@media (max-width:768px){.questions-modal{max-height:90vh;width:95%}.questions-modal-content,.questions-modal-header{padding:16px}.question-item{padding:12px}}body{background-color:#f0f2f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:.85rem}.App{display:flex;flex-direction:column;height:100vh;min-height:100vh}.App-header{align-items:center;background-color:#0070d2;box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;height:40px;justify-content:space-between;padding:0 .5rem 0 1rem}.App-header span{font-size:1.2rem;font-weight:600}.App-header i{font-size:1rem;font-style:normal;margin-left:.5rem;opacity:.8}.App-content{display:flex;flex:1 1;height:0;min-height:0;overflow:hidden}.header-titles{align-items:self-end;display:flex;flex-direction:row}.sidebar{border-right:1px solid #e8e8e8;flex-direction:column;width:250px}.sidebar,.sidebar-header{background-color:#fff;display:flex;flex-shrink:0;position:relative}.sidebar-header{align-items:center;border-bottom:1px solid #e8e8e8;justify-content:space-between;padding:.3rem 1rem;z-index:2}.sidebar-header h3{color:#333;font-size:.85rem;margin:0}.new-chat-btn{align-items:center;background-color:#0070d2;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.9rem;height:24px;justify-content:center;width:24px}.chat-main{background-color:#f0f2f5;display:flex;flex:1 1;flex-direction:column;min-width:0}.global-notification{align-items:center;background-color:#e6f7ff;border-bottom:1px solid #91d5ff;color:#333;display:flex;flex-shrink:0;font-size:.75rem;justify-content:center;padding:8px 16px;position:relative;text-align:center;z-index:1}.global-notification p{margin:0}.right-panel{background-color:#fff;border-left:1px solid #e8e8e8;display:flex;flex-direction:column;flex-shrink:0;font-size:.8rem;position:relative;width:250px}@media (max-width:999px){.right-panel{display:none}}@media (max-width:767px){.sidebar{display:none}.App-header{font-size:.9rem;padding:0 15px}.App-header i{font-size:.7rem}.header-titles h3{display:none}}.right-panel-header{background-color:#f8f9fa;border-bottom:1px solid #e8e8e8;flex-shrink:0;padding:.4rem 1rem;position:relative;z-index:2}.right-panel-header h3{color:#333;font-size:.9rem;font-weight:600;margin:0}.right-panel-content{flex:1 1;height:0;min-height:0;overflow-y:auto;padding:1rem}.right-panel ul{font-size:.8rem;list-style:none;margin:0;padding:0}.right-panel li{background-color:#f9f9f9;border:1px solid #eee;border-radius:4px;cursor:pointer;margin-bottom:5px;padding:8px;transition:background-color .2s}.right-panel li:hover{background-color:#e6f7ff;border-color:#91d5ff}.App-footer{align-items:center;background-color:#fff;border-top:1px solid #e8e8e8;color:#888;display:flex;flex-shrink:0;font-size:.75rem;height:40px;justify-content:center}.mobile-history-content{display:flex;flex-direction:column;height:100%}.mobile-history-header{border-bottom:1px solid #e9ecef;margin-bottom:12px;padding:0 0 12px}.mobile-new-chat-btn{align-items:center;background:#0070d2;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s ease;width:100%}.mobile-new-chat-btn:hover{background:#0056b3}.mobile-new-chat-btn svg{flex-shrink:0}.mobile-recommendations-content{display:flex;flex-direction:column;height:100%}.mobile-recommendations-list{list-style:none;margin:0;padding:0}.mobile-recommendations-list li{border-bottom:1px solid #f0f0f0;color:#333;cursor:pointer;font-size:14px;line-height:1.4;padding:12px 16px;transition:background-color .2s ease}.mobile-recommendations-list li:hover{background-color:#f8f9fa}.mobile-recommendations-list li:last-child{border-bottom:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.31446067.css.map*/