.operator-dashboard{display:flex;flex-direction:column;height:100vh;background:#f5f5f5}.dashboard-header{background:#fff;padding:1.5rem 2rem;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.header-logo{display:flex;align-items:center;margin-bottom:1rem}.dashboard-header h1{margin:0;color:#1f2937;font-size:1.5rem}.filter-buttons{display:flex;gap:.5rem}.filter-buttons button{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;color:#4b5563;border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s}.filter-buttons button:hover{background:#f9fafb;border-color:#9ca3af}.filter-buttons button.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.error-message{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:1rem;margin:1rem 2rem;border-radius:6px;display:flex;justify-content:space-between;align-items:center}.error-message button{background:none;border:none;color:#991b1b;cursor:pointer;font-size:1.25rem;padding:0}.dashboard-content{display:grid;grid-template-columns:400px 1fr;flex:1;overflow:hidden;gap:0}.conversations-list{background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden}.conversations-list h2{padding:1.5rem;margin:0;font-size:1.125rem;color:#1f2937;border-bottom:1px solid #e5e7eb}.conversations-items{overflow-y:auto;flex:1}.conversation-item{padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;cursor:pointer;transition:background .2s}.conversation-item:hover{background:#f9fafb}.conversation-item.selected{background:#eff6ff;border-left:3px solid #3b82f6}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.conversation-header strong{color:#1f2937;font-size:.9375rem}.status-badge{padding:.25rem .625rem;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600}.conversation-info{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.conversation-email{color:#6b7280;font-size:.8125rem}.conversation-software{color:#3b82f6;font-size:.8125rem;font-weight:500}.conversation-meta{display:flex;justify-content:space-between;color:#9ca3af;font-size:.75rem}.conversation-operator{margin-top:.5rem;color:#f59e0b;font-size:.8125rem;font-weight:500}.conversation-detail{background:#fff;display:flex;flex-direction:column;overflow:hidden}.detail-header{padding:1.5rem 2rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start}.detail-header h2{margin:0 0 .25rem;font-size:1.25rem;color:#1f2937}.detail-header p{margin:.25rem 0;color:#6b7280;font-size:.875rem}.software-info{color:#3b82f6!important;font-weight:500}.detail-actions{display:flex;gap:.75rem;align-items:center}.btn-primary,.btn-success{padding:.625rem 1.25rem;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669}.btn-primary:disabled,.btn-success:disabled{opacity:.5;cursor:not-allowed}.messages-container{flex:1;overflow-y:auto;padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1rem}.message{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-radius:8px;max-width:80%}.message.user{align-self:flex-end;background:#eff6ff;border:1px solid #dbeafe}.message.assistant{align-self:flex-start;background:#f9fafb;border:1px solid #e5e7eb}.message.operator{align-self:flex-start;background:#fef3c7;border:1px solid #fde68a}.message-header{display:flex;justify-content:space-between;align-items:center}.message-header strong{color:#1f2937;font-size:.875rem}.message-time{color:#6b7280;font-size:.75rem;font-weight:500}.message-content{color:#374151;line-height:1.5;white-space:pre-wrap;word-break:break-word}.message-input-form{padding:1.5rem 2rem;border-top:1px solid #e5e7eb;display:flex;gap:1rem;background:#f9fafb}.message-input-form textarea{flex:1;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.875rem;resize:none}.message-input-form textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.resolved-message{padding:1.5rem 2rem;text-align:center;color:#059669;font-weight:500;background:#d1fae5;border-top:1px solid #a7f3d0}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:.875rem}.empty-state p{margin: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:#f5f7fa}#root{min-height:100vh}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:300px;background:#2c3e50;color:#fff;padding:20px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.sidebar h1{font-size:20px;margin-bottom:10px}.sidebar-section{background:transparent;padding:15px;border-radius:8px}.sidebar-section h3{font-size:14px;margin-bottom:10px;opacity:1;color:#fff;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.3)}.button{padding:10px 15px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.button-primary{background:#3498db;color:#fff}.button-primary:hover{background:#2980b9}.button-secondary{background:#95a5a6;color:#fff}.button-secondary:hover{background:#7f8c8d}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.tabs{display:flex;background:#fff;border-bottom:2px solid #e0e0e0}.tab{padding:15px 30px;border:none;background:none;cursor:pointer;font-size:16px;font-weight:500;color:#666;border-bottom:3px solid transparent;transition:all .2s}.tab.active{color:#3498db;border-bottom-color:#3498db}.tab:hover{background:#f8f9fa}.tab-content{flex:1;overflow:hidden}.chat-container{height:100%;display:flex;flex-direction:column;background:#fff}.messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:15px}.message{max-width:70%;padding:12px 16px;border-radius:12px;line-height:1.5}.message.user{align-self:flex-end;background:#3498db;color:#fff}.message.assistant{align-self:flex-start;background:#f8f9fa;color:#2c3e50;border:1px solid #e1e8ed;box-shadow:0 1px 2px #0000000d}.message.system{align-self:center;background:#fff3cd;color:#856404;font-size:14px;max-width:90%}.message-content{line-height:1.7;font-size:15px;color:#2c3e50;word-wrap:break-word;overflow-wrap:break-word}.message-content h1,.message-content h2,.message-content h3,.message-content h4{margin-top:12px;margin-bottom:6px;font-weight:600;line-height:1.4;color:#2c3e50}.message-content>h1:first-child,.message-content>h2:first-child,.message-content>h3:first-child,.message-content>h4:first-child,.message-content>:first-child{margin-top:0}.message-content h1{font-size:1.6em;border-bottom:2px solid #e1e8ed;padding-bottom:8px;margin-bottom:16px}.message-content h2{font-size:1.4em;border-bottom:1px solid #e1e8ed;padding-bottom:6px;margin-bottom:12px}.message-content h3{font-size:1.2em;margin-bottom:10px}.message-content h4{font-size:1.05em;font-weight:600;margin-bottom:8px}.message-content p{margin:6px 0;line-height:1.7}.message-content p+p{margin-top:6px}.message-content h1+p,.message-content h2+p,.message-content h3+p,.message-content h4+p{margin-top:12px}.message-content ul{list-style-type:disc;padding-left:20px;margin:6px 0}.message-content ol{list-style-type:decimal;padding-left:20px;margin:6px 0}.message-content li{margin:2px 0;padding-left:8px}.message-content li p{margin:0;display:inline}.message-content li>ul,.message-content li>ol{margin:2px 0;padding-left:20px}.message-content li>ul{list-style-type:circle}.message-content li>ul>li>ul{list-style-type:square}.message-content code{background:#f6f8fa;border:1px solid #e1e4e8;padding:3px 8px;border-radius:4px;font-family:SF Mono,Consolas,Monaco,Courier New,monospace;font-size:.88em;color:#e01e5a}.message-content pre{background:#f6f8fa;border:1px solid #e1e4e8;color:#24292e;padding:16px;border-radius:6px;overflow-x:auto;margin:16px 0}.message-content pre code{background:none;border:none;padding:0;color:inherit;font-size:.9em}.message-content blockquote{border-left:4px solid #3498db;padding:16px 20px;margin:20px 0;background:#f8f9fa;color:#495057;font-style:normal;border-radius:4px}.message-content blockquote p{margin:0}.message-content blockquote p+p{margin-top:12px}.message-content hr{border:none;border-top:1px solid #e1e8ed;margin:24px 0}.message-content a{color:#3498db;text-decoration:none}.message-content a:hover{text-decoration:underline}.message-content strong{font-weight:600;color:#2c3e50}.message-content em{font-style:italic;color:#495057}.message-content .citation-inline{background:#e3f2fd;color:#1565c0;padding:2px 6px;border-radius:4px;cursor:pointer;transition:all .2s;font-size:.92em;font-weight:500}.message-content .citation-inline:hover{background:#bbdefb;color:#0d47a1}.typing-cursor{display:inline-block;margin-left:2px;animation:blink 1s infinite;color:#3498db;font-weight:700}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.message-content table{border-collapse:collapse;width:100%;margin:12px 0}.message-content th,.message-content td{border:1px solid #ddd;padding:8px;text-align:left}.message-content th{background:#f5f5f5;font-weight:600}.message-sources{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.3);font-size:12px;opacity:.9}.message-timestamp{margin-top:8px;font-size:10px;opacity:.6;text-align:right;font-style:italic}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px}.message-header strong{font-weight:600}.message-time{font-size:11px;font-weight:500;opacity:.85}.message.user .message-header strong{color:#fffffff2}.message.user .message-time{color:#ffffffd9}.message.assistant .message-header strong,.message.operator .message-header strong{color:#1f2937}.message.assistant .message-time,.message.operator .message-time{color:#6b7280}.message.user .message-timestamp{color:#fffc}.message.assistant .message-timestamp,.message.system .message-timestamp{color:#00000080}.chat-input{padding:20px;border-top:1px solid #e0e0e0;background:#fff}.input-wrapper{display:flex;gap:10px}.input-wrapper input{flex:1;padding:12px 16px;border:2px solid #e0e0e0;border-radius:24px;font-size:14px;outline:none;transition:border-color .2s}.input-wrapper input:focus{border-color:#3498db}.input-wrapper button{padding:12px 24px;border-radius:24px}.upload-container{padding:40px;max-width:800px;margin:0 auto}.upload-card{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.upload-card h2{margin-bottom:20px;color:#2c3e50}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#2c3e50}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db}.dropzone{border:2px dashed #3498db;border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all .2s}.dropzone:hover{background:#f8f9fa;border-color:#2980b9}.dropzone.active{background:#e3f2fd;border-color:#2196f3}.upload-history{margin-top:30px}.upload-item{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.upload-item.success{border-left:4px solid #27ae60}.upload-item.error{border-left:4px solid #e74c3c}.loading{display:inline-block;width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-indicator{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.status-indicator.online{background:#27ae60}.status-indicator.offline{background:#e74c3c}.software-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;max-height:500px;overflow-y:auto;padding-right:8px}.software-list::-webkit-scrollbar{width:6px}.software-list::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.software-list::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.software-list::-webkit-scrollbar-thumb:hover{background:#ffffff80}.software-item-container{margin-bottom:8px}.software-item{padding:10px 12px;background:#ffffff1a;border-radius:6px;font-size:13px;transition:all .2s ease;border:2px solid transparent}.software-item:hover{background:#ffffff26;transform:translate(4px)}.software-item.selected{background:#3498db4d;border-color:#3498db;font-weight:600}.versions-list{margin-top:8px;padding-left:12px;display:flex;flex-wrap:wrap;gap:6px}.version-badge{display:inline-block;padding:4px 10px;background:#3498db33;border-radius:12px;font-size:11px;transition:all .2s ease;border:1px solid transparent}.version-badge:hover{background:#3498db4d;transform:scale(1.05)}.version-badge.selected{background:#3498db;color:#fff;border-color:#2980b9;font-weight:600}.conversations-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding-right:4px;position:relative;z-index:1;background:transparent!important}.conversations-list::-webkit-scrollbar{width:6px}.conversations-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.conversations-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.conversations-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.conversation-item{padding:12px!important;background:#fff3!important;border-radius:8px!important;cursor:pointer!important;position:relative!important;transition:all .2s ease!important;border:2px solid rgba(255,255,255,.1)!important;margin-bottom:8px!important}.conversation-item:hover{background:#ffffff4d!important;transform:translate(3px);box-shadow:0 2px 8px #0000004d;border-color:#fff3!important}.conversation-item.active{background:#3498db80!important;border-color:#3498db!important;box-shadow:0 2px 12px #3498db66}.conversation-title{font-size:15px!important;font-weight:700!important;margin-bottom:6px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;padding-right:28px!important;color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.5)!important;line-height:1.3!important;background:transparent!important}.conversation-meta{font-size:12px!important;opacity:.95!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;color:#fff!important;font-weight:500!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important;background:transparent!important}.conversation-delete{position:absolute;top:10px;right:10px;background:#e74c3c;border:none;cursor:pointer;font-size:16px;opacity:0;transition:all .2s ease;padding:6px 8px;line-height:1;border-radius:6px;color:#fff;box-shadow:0 2px 4px #0003}.conversation-item:hover .conversation-delete{opacity:1}.conversation-delete:hover{background:#c0392b;transform:scale(1.1);box-shadow:0 3px 8px #e74c3c80}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:700px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.modal-header h3{margin:0;color:#2c3e50;font-size:18px}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.modal-close:hover{background:#e0e0e0;color:#333}.modal-body{padding:20px;overflow-y:auto}.source-meta{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:20px}.source-meta div{margin-bottom:8px;font-size:14px}.source-meta div:last-child{margin-bottom:0}.source-text{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:15px}.source-text strong{display:block;margin-bottom:10px;color:#2c3e50}.source-text p{line-height:1.6;color:#333;white-space:pre-wrap;word-wrap:break-word;margin:0}.source-item{padding:6px 10px;border-radius:6px;transition:all .2s;display:inline-block}.source-item:hover{background:#3498db1a;transform:translate(4px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.citation-link,.citation-inline{transition:all .2s ease;font-weight:500}.citation-link:hover,.citation-inline:hover{transform:translateY(-1px);text-shadow:0 1px 2px rgba(0,0,0,.1);background:#3498db33!important}.citation-inline{display:inline-block;margin:0 2px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out;padding:20px}.modal-content{background:#fff;color:#2c3e50;padding:0;border-radius:16px;max-width:1000px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 24px 80px #0006;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px 16px 0 0}.modal-header h2{font-size:22px;margin:0;font-weight:600;display:flex;align-items:center;gap:10px}.modal-header h2:before{content:"📄";font-size:24px}.modal-close{background:#fff3;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s;font-weight:300}.modal-close:hover{background:#ffffff4d;transform:scale(1.1)}.modal-body{padding:30px;overflow-y:auto;flex:1}.modal-info{display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:20px;background:linear-gradient(135deg,#f5f7fa,#e8eef5);border-radius:12px;border:1px solid #e1e8ed}.modal-info p{margin:0;display:flex;align-items:flex-start;gap:12px;line-height:1.6;font-size:15px}.modal-info strong{color:#667eea;min-width:120px;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.modal-info p span{flex:1;color:#34495e}.modal-text{background:#f8f9fa;padding:24px;border-radius:12px;line-height:1.8;white-space:pre-wrap;word-wrap:break-word;max-height:500px;min-height:200px;overflow-y:auto;border:1px solid #e1e8ed;font-size:14px;color:#2c3e50;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.modal-text::-webkit-scrollbar{width:10px}.modal-text::-webkit-scrollbar-track{background:#e8eef5;border-radius:8px}.modal-text::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px}.modal-text::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}
