*{font-family:Quicksand,sans-serif;font-optical-sizing:auto;font-weight:500}.chat-toggle-btn{position:fixed;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;background-color:#006374;color:#fff;border:none;cursor:pointer;box-shadow:0 2px 10px #0003;display:flex;align-items:center;justify-content:center;transition:transform .2s}.chat-toggle-btn:hover{transform:scale(1.1)}.chat-popup{position:fixed;top:0;right:0;width:430px;height:100vh;background:#fff;box-shadow:-5px 0 20px #5553;z-index:2700;animation:slideLeft .3s ease-out;overflow:hidden;transition:transform .3s ease-out}.chat-popup.sliding-out{transform:translate(100%);opacity:0}@keyframes slideLeft{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.nav-brand-container{display:flex;align-items:start;justify-content:center;flex-direction:column;height:100%}.nav-prefix-text{font-size:.7rem}.nav-brand-text{font-size:1rem;font-weight:700;color:#006e74}.navbar-nav{font-size:.8rem!important}.navbar-nav .nav-link .active{color:#006e74!important}.user_button{margin-left:6px;border:none;background-color:#006e74;border-radius:50px;color:#fff}.display_name{display:flex;flex-direction:column;justify-content:end}.job_title{display:flex;flex-direction:column;justify-content:end;font-size:.7rem;color:#8a8a8a;text-align:end}.file-upload-container{width:100%;margin:0 auto}.submit-button{background-color:#006e74;color:#fff;border:none;padding:.5rem .8rem;border-radius:5px;font-size:.7rem;cursor:pointer;transition:background-color .3s ease;width:100%;display:flex;justify-content:space-between;align-items:center}.disabled-button{background-color:#a7a7a7;color:#fff;border:none;padding:.5rem .8rem;border-radius:5px;font-size:.7rem;cursor:not-allowed;transition:background-color .3s ease;width:100%;display:flex;justify-content:space-between;align-items:center}.upload-area{border:1.3px dashed #d1d5db;border-radius:12px;padding:3rem 2rem;width:100%;text-align:center;background-color:#f9fafb;transition:all .3s ease;cursor:pointer;position:relative}.upload-area:hover{border-color:#006e74}.upload-area.dragging{border-color:#006e74;background-color:#ecfdf5;transform:scale(1.02)}.upload-icon{position:relative;display:inline-block;margin-bottom:1rem}.upload-icon svg{color:#d1d5db}.upload-badge{position:absolute;bottom:-4px;right:-4px;background-color:#006e74;border-radius:50%;padding:4px;display:flex;align-items:center;justify-content:center}.upload-badge svg{color:#fff}.upload-text{font-size:.7rem;color:#6b7280}.choose-file-btn{color:#006e74;background:none;border:none;text-decoration:underline;cursor:pointer;font-size:.8rem;padding:0}.choose-file-btn:hover{color:#004d52}.uploaded-files{margin-top:2rem}.uploaded-files h4{margin-bottom:1rem;color:#374151;font-size:.8rem}.remove-btn{background:none;border:none;color:#000;font-size:.8rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.remove-btn:hover{color:#006e74}.header-container{display:flex;justify-content:space-between;align-items:center;border:#41414115 solid .05px;padding:1rem;border-radius:10px}.header{display:flex;justify-content:flex-start;flex-direction:column}.page-header{color:#006e74;font-size:1rem}.page-sub{font-size:.8rem}.button-container{display:flex;justify-content:flex-end;align-items:center}.tab-wrapper{position:relative;display:flex;gap:.5rem}.tab-button{color:#353535;background-color:transparent;border:none;font-size:.9rem;padding:.5rem 1rem;cursor:pointer;transition:color .3s ease;position:relative;z-index:1}.tab-button.active{color:#323232}.tab-button:hover:not(.active){color:#006e74}.sliding-border{position:absolute;bottom:0;left:0;width:calc(50% - .25rem);height:2px;background-color:#006e74;transition:transform .3s ease;z-index:0}.file-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#f3f4f6;border-radius:8px;margin-bottom:.5rem}.file-info{display:flex;align-items:center;gap:.5rem}.success-icon{color:#10b981}.file-name{font-size:.8rem;font-weight:500;color:#374151}.file-size{color:#6b7280;font-size:.8rem}.processed-files-section{margin:24px 0;padding:20px;background:#fff;border-radius:12px;border:1px solid #e9ecef}.section-header{margin-bottom:20px;text-align:center}.section-title{font-size:20px;font-weight:600;color:#2c3e50;margin:0 0 4px;display:flex;align-items:center;justify-content:center;gap:8px}.section-subtitle{font-size:14px;color:#6c757d;font-weight:400}.files-container{width:100%}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px}.file-card{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #dee2e6;border-radius:10px;padding:16px;transition:all .3s ease;position:relative;overflow:hidden}.file-card:hover{transform:translateY(-2px);border-color:#006e74}.file-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.file-icon-large{font-size:32px;line-height:1}.file-actions{display:flex;gap:4px}.download-btn{border:#005a5f solid .1px;border:none;padding:.4rem;border-radius:5px;font-size:.7rem;cursor:pointer;transition:background-color .3s ease;display:flex;justify-content:space-between;align-items:center}.file-details{flex:1}.file-name{font-size:14px;font-weight:600;color:#2c3e50;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{display:flex;flex-direction:column;gap:4px}.file-size{font-size:12px;color:#6c757d;font-weight:500}.file-status{font-size:11px;color:#28a745;font-weight:600;display:flex;align-items:center;gap:4px}.single-file-card{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #dee2e6;border-radius:10px;padding:8px 15px;margin-top:16px}.file-card-content{display:flex;justify-content:space-between;align-items:center;gap:16px}.file-info-section{display:flex;align-items:center;gap:16px;flex:1}.download-btn-primary{background-color:#006e74;color:#fff;border:none;padding:.5rem .8rem;border-radius:5px;font-size:.7rem;cursor:pointer;transition:background-color .3s ease;display:flex;justify-content:space-between;align-items:center}.download-btn-primary:active{transform:translateY(0)}@media (max-width: 768px){.files-grid{grid-template-columns:1fr;gap:12px}.processed-files-section{margin:16px 0;padding:16px}.file-card-content{flex-direction:column;align-items:stretch;gap:12px}.file-info-section{justify-content:center;text-align:center}.download-btn-primary{justify-content:center}}@media (max-width: 480px){.file-card{padding:12px}.file-icon-large{font-size:28px}.section-title{font-size:18px}}.sse-modal-content{display:flex;justify-content:center;flex-direction:column;padding:20px;align-items:center}.sse-modal-content p{text-align:center;color:#333;margin-top:20px}.chat-container{display:flex;flex-direction:column;height:100%;max-width:100%;margin:0 auto;background:#fff;overflow:hidden;padding-top:12px}.messages-container{flex:1;overflow-y:auto;padding:1rem;background:#f9fafba4}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#f1f1f1}.messages-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.message-wrapper{margin-bottom:1rem;animation:slideIn .3s ease-out forwards;opacity:0;transform:translateY(20px)}.message-wrapper.user-message{display:flex;justify-content:flex-end}.message-wrapper.bot-message{display:flex;justify-content:flex-start}.message-content{display:flex;align-items:flex-end;gap:.5rem;min-width:89%;font-size:.6rem}.user-message .message-content{flex-direction:row-reverse}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bot-avatar{width:20px;height:20px;background:#f0f9ff;color:#006e74}.user-avatar{display:none}.message-bubble{padding:.75rem 1rem;border-radius:18px;position:relative;word-wrap:break-word;transition:all .2s ease}.user-message .message-bubble{background:#006e74;color:#fff;border-bottom-right-radius:6px}.bot-message .message-bubble{background:#fff;color:#374151;border:1px solid #e5e7eb;border-bottom-left-radius:6px}.message-bubble p{margin:0;line-height:1.5}.timestamp{font-size:.55rem;opacity:.7;display:block;margin-top:.25rem}.bot-message .message-content{display:flex;align-items:flex-end;gap:.35rem}.copy-btn{background:transparent;border:none;cursor:pointer;padding:2px;border-radius:4px;color:#9ca3af;transition:color .2s ease;align-self:flex-end;margin-bottom:2px}.copy-btn:hover{color:#374151}.typing-indicator{animation:slideIn .3s ease-out forwards;margin-bottom:1rem;opacity:0;transform:translateY(20px);display:flex;justify-content:flex-start}.message-content{display:flex;align-items:flex-end;gap:.5rem;max-width:70%}.avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bot-avatar{background:#f0f9ff;color:#006e74}.typing-bubble{background:#fff;border:1px solid #e5e7eb;padding:1rem;border-radius:18px 18px 18px 6px}.typing-dots{display:flex;gap:4px}.typing-dots span{width:4px;height:4px;border-radius:50%;background:#9ca3af;animation:typing 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes slideIn{to{opacity:1;transform:translateY(0)}}.input-container{display:flex;align-items:flex-end;padding:1rem;gap:.5rem}.attachment-btn{background:transparent;border:none;color:#6b7280;border-radius:8px;cursor:pointer;transition:all .2s}.attachment-btn:hover{background:#f3f4f6;color:#006e74}.input-wrapper{flex:1;position:relative}.message-input{width:100%;min-height:24px;max-height:90px;padding:.55rem .9rem;border:1px solid #d1d5db;border-radius:24px;font-size:.8rem;line-height:1;resize:none;outline:none;transition:border-color .2s;font-family:inherit}.message-input:focus{border-color:#006e74;box-shadow:0 0 0 3px #006e741a}.send-btn{background:#e5e7eb;width:40px;height:40px;border:none;color:#9ca3af;border-radius:50%;cursor:pointer;transition:all .3s ease;transform:scale(.9);margin-bottom:2px}.send-btn.active{background:#006e74;color:#fff;transform:scale(1)}.send-btn:hover.active{background:#005a5f;transform:scale(1.03)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.header-text{color:#006e74;font-size:1.1rem;margin-top:1.5rem}.file-name{color:#006e74;font-weight:500}.table-container{margin-top:20px}.user-id{color:#006e74}.loading-container{display:flex;justify-content:center;align-items:center;height:65vh}
