*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.chat-message{border-radius:8px;max-width:80%;margin-bottom:1.5rem;padding:1rem}.user-message{color:#fff;text-align:right;background-color:#007bff;margin-left:auto}.assistant-message{color:#202124;background-color:#f1f3f4;margin-right:auto}.message-header{opacity:.8;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.875rem;display:flex}.message-role{font-weight:600}.message-time{font-size:.75rem}.message-content{white-space:pre-wrap;word-wrap:break-word;line-height:1.6}.agent-metadata{border-top:1px solid #0000001a;margin-top:.75rem;padding-top:.75rem;font-size:.875rem}.user-message .agent-metadata{border-top-color:#ffffff4d}.agent-metadata details{cursor:pointer}.agent-metadata summary{-webkit-user-select:none;user-select:none;font-weight:500}.specialist-calls{background-color:#0000000d;border-radius:4px;margin-top:.5rem;padding:.5rem}.user-message .specialist-calls{background-color:#ffffff1a}.specialist-call{justify-content:space-between;padding:.25rem 0;display:flex}.specialist-name{font-weight:500}.specialist-duration{opacity:.7;font-size:.75rem}.chat-input-container{background-color:#fff;border-top:1px solid #e0e0e0;gap:.5rem;padding:1rem;display:flex}.chat-input{resize:vertical;border:1px solid #ccc;border-radius:8px;flex:1;min-height:60px;padding:.75rem;font-family:inherit;font-size:1rem}.chat-input:focus{border-color:#007bff;outline:none}.chat-input:disabled{cursor:not-allowed;background-color:#f5f5f5}.send-button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:8px;align-self:flex-end;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background-color .2s}.send-button:hover:not(:disabled){background-color:#0056b3}.send-button:disabled{cursor:not-allowed;background-color:#ccc}.chat-container{background-color:#fff;flex-direction:column;height:100vh;display:flex}.chat-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:1.5rem;box-shadow:0 2px 4px #0000001a}.chat-header h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.chat-subtitle{opacity:.9;margin:0;font-size:.875rem}.messages-container{background-color:#f8f9fa;flex:1;padding:1.5rem;overflow-y:auto}.empty-state{background-color:#fff;border-radius:12px;max-width:600px;margin:2rem auto;padding:2rem;box-shadow:0 2px 8px #0000001a}.empty-state h3{color:#667eea;margin-top:0}.empty-state p{color:#5f6368;margin:1rem 0}.empty-state ul{margin:1rem 0;padding:0;list-style:none}.empty-state li{padding:.5rem 0 .5rem 1.5rem;position:relative}.empty-state li:before{content:"✓";color:#667eea;font-weight:700;position:absolute;left:0}.loading-indicator{background-color:#f1f3f4;border-radius:8px;align-items:center;gap:.75rem;max-width:80%;margin-right:auto;padding:1rem;display:flex}.loading-spinner{border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:#c33;background-color:#fee;border:1px solid #fcc;border-radius:8px;margin-bottom:1rem;padding:1rem}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:#f1f1f1}.messages-container::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.messages-container::-webkit-scrollbar-thumb:hover{background:#555}.file-upload-section{background-color:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.file-upload-section h3{color:#202124;margin:0 0 1rem;font-size:1.125rem}.file-upload-area{text-align:center;cursor:pointer;background-color:#fafafa;border:2px dashed #ccc;border-radius:8px;padding:2rem;transition:all .3s}.file-upload-area:hover:not(.uploading){background-color:#f8f9ff;border-color:#667eea}.file-upload-area.drag-active{background-color:#f0f2ff;border-color:#667eea;transform:scale(1.02)}.file-upload-area.uploading{cursor:not-allowed;opacity:.7}.upload-icon{color:#667eea;width:48px;height:48px;margin:0 auto 1rem}.upload-prompt p{color:#5f6368;margin:.5rem 0}.upload-prompt p:first-of-type{color:#202124;font-size:1rem;font-weight:500}.upload-hint{color:#80868b;font-size:.875rem}.upload-status{flex-direction:column;align-items:center;gap:1rem;display:flex}.spinner{border:4px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.file-error{color:#c33;background-color:#fee;border:1px solid #fcc;border-radius:4px;margin-top:1rem;padding:.75rem;font-size:.875rem}.uploaded-files-list{margin-top:1.5rem}.uploaded-files-list h4{color:#5f6368;margin:0 0 1rem;font-size:1rem}.file-item{background-color:#f8f9fa;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem;transition:background-color .2s;display:flex}.file-item:hover{background-color:#f1f3f4}.file-info{flex:1;align-items:center;gap:.75rem;display:flex}.file-icon{font-size:1.5rem}.file-details{flex:1}.file-name{color:#202124;word-break:break-word;font-weight:500}.file-meta{color:#5f6368;margin-top:.25rem;font-size:.75rem}.delete-file-btn{color:#5f6368;cursor:pointer;background-color:#0000;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.25rem;transition:all .2s;display:flex}.delete-file-btn:hover{color:#c33;background-color:#fee}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{width:100%;height:100vh;overflow:hidden}.app-container{width:100%;height:100vh;display:flex}.main-content{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar{background-color:#fafafa;border-left:1px solid #e0e0e0;width:350px;overflow-y:auto}.app-loading,.app-error{flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100vh;display:flex}.app-loading .loading-spinner{border:4px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.app-loading p{color:#5f6368;font-size:1.125rem}.app-error{text-align:center;padding:2rem}.app-error h2{color:#c33;margin-bottom:1rem}.app-error p{color:#5f6368;margin-bottom:1.5rem}.app-error button{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background-color .2s}.app-error button:hover{background-color:#5568d3}.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;height:100vh;display:flex}.login-card{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 4px 24px #00000026}.login-card h1{color:#1a1a2e;margin:0 0 .5rem;font-size:1.5rem}.login-card p{color:#5f6368;margin:0 0 1.5rem}.login-card form{flex-direction:column;gap:1rem;display:flex}.login-card input{border:1px solid #ddd;border-radius:8px;outline:none;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.login-card input:focus{border-color:#667eea}.login-card button{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:8px;padding:.75rem;font-size:1rem;font-weight:600;transition:background-color .2s}.login-card button:hover:not(:disabled){background-color:#5568d3}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#c33;font-size:.875rem}.app-header{border-bottom:1px solid #e0e0e0;justify-content:flex-end;padding:.5rem 1rem;display:flex}.logout-button{color:#5f6368;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;transition:all .2s}.logout-button:hover{background-color:#f5f5f5;border-color:#ccc}@media (width<=768px){.app-container{flex-direction:column}.sidebar{border-top:1px solid #e0e0e0;border-left:none;width:100%;max-height:40vh}}
