html,body{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a1a1a;color:#fff;overflow-x:hidden}*{box-sizing:border-box;margin:0;padding:0}#root{width:100%;height:100%;display:flex;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow-x:hidden}.app{height:100vh;background-color:#1a1a1a;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;flex-direction:column}.app-header{background-color:#2d2d2d;padding:1rem 2rem;border-bottom:1px solid #404040}.app-header h1{font-size:1.5rem;margin-bottom:.5rem}.app-header p{color:#b0b0b0;font-size:.9rem}.app-content{display:flex;flex:1;overflow:hidden}.sidebar{width:300px;background-color:#2d2d2d;border-right:1px solid #404040;padding:1.5rem;overflow-y:auto}.upload-section h2{font-size:1.1rem;margin-bottom:1rem;color:#fff}.upload-area{margin-bottom:2rem}.upload-button{display:block;width:100%;padding:.75rem;background-color:#404040;border:2px dashed #606060;border-radius:8px;color:#fff;text-align:center;cursor:pointer;transition:all .2s;margin-bottom:.5rem}.upload-button:hover{background-color:#505050;border-color:#707070}.upload-note{font-size:.8rem;color:#b0b0b0;text-align:center}.uploaded-files{margin-top:1rem}.uploaded-files h3{font-size:.9rem;margin-bottom:.5rem;color:#fff}.file-item{padding:.5rem;background-color:#404040;border-radius:4px;margin-bottom:.5rem;font-size:.85rem;color:#e0e0e0;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.4}.file-number{font-size:.75rem;color:#007bff;font-weight:600;margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.5px}.file-name{color:#e0e0e0}.main-content{flex:1;display:flex;flex-direction:column;background-color:#1a1a1a}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid #404040}.chat-header h2{font-size:1.1rem}.header-buttons{display:flex;gap:.5rem}.save-pdf-button{background-color:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:.3rem}.save-pdf-button:hover:not(:disabled){background-color:#218838}.save-pdf-button:disabled{background-color:#6c757d;cursor:not-allowed}.clear-button{background-color:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.8rem}.clear-button:hover{background-color:#c82333}.responses-area{flex:1;padding:1rem 2rem;overflow-y:auto;max-height:calc(100vh - 300px)}.empty-state{display:flex;align-items:center;justify-content:center;height:200px;color:#b0b0b0;font-style:italic}.response-item{background-color:#2d2d2d;border-radius:8px;padding:1.5rem;margin-bottom:1rem;border:1px solid #404040}.response-item h3{color:#fff;margin-bottom:1rem;font-size:1rem}.response-content{color:#e0e0e0;line-height:1.6}.response-content h1,.response-content h2,.response-content h3,.response-content h4,.response-content h5,.response-content h6{color:#fff;margin:1rem 0 .5rem;font-weight:600}.response-content h1{font-size:1.5rem;border-bottom:2px solid #404040;padding-bottom:.5rem}.response-content h2{font-size:1.3rem;border-bottom:1px solid #404040;padding-bottom:.3rem}.response-content h3{font-size:1.1rem}.response-content p{margin:.8rem 0;color:#e0e0e0}.response-content ul,.response-content ol{margin:.8rem 0;padding-left:1.5rem;color:#e0e0e0}.response-content li{margin:.3rem 0}.response-content strong{color:#fff;font-weight:600}.response-content em{color:#b8b8b8;font-style:italic}.response-content code{background-color:#404040;color:#ffeb3b;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.response-content pre{background-color:#2d2d2d;border:1px solid #404040;border-radius:6px;padding:1rem;overflow-x:auto;margin:1rem 0}.response-content pre code{background-color:transparent;padding:0;color:#e0e0e0}.response-content blockquote{border-left:4px solid #007bff;margin:1rem 0;padding:.5rem 1rem;background-color:#2a2a2a;color:#d0d0d0;font-style:italic}.response-content table{border-collapse:collapse;width:100%;margin:1rem 0;background-color:#2d2d2d}.response-content th,.response-content td{border:1px solid #404040;padding:.5rem;text-align:left}.response-content th{background-color:#404040;color:#fff;font-weight:600}.response-content td{color:#e0e0e0}.response-content a{color:#007bff;text-decoration:none}.response-content a:hover{color:#0056b3;text-decoration:underline}.response-content hr{border:none;border-top:1px solid #404040;margin:1.5rem 0}.query-section{background-color:#2d2d2d;border-top:1px solid #404040;padding:1.5rem 2rem}.custom-query{display:flex;gap:.5rem;margin-bottom:1rem}.custom-query textarea{flex:1;background-color:#404040;border:1px solid #606060;border-radius:8px;padding:.75rem;color:#fff;resize:vertical;min-height:60px}.custom-query textarea:focus{outline:none;border-color:#007bff}.custom-query textarea::placeholder{color:#b0b0b0}.send-button{background-color:#007bff;color:#fff;border:none;border-radius:8px;padding:.75rem 1rem;cursor:pointer;font-size:1.2rem;min-width:50px}.send-button:hover:not(:disabled){background-color:#0056b3}.send-button:disabled{background-color:#404040;cursor:not-allowed}.analysis-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.analysis-btn{background-color:#404040;color:#fff;border:1px solid #606060;border-radius:20px;padding:.5rem 1rem;cursor:pointer;font-size:.85rem;transition:all .2s}.analysis-btn:hover:not(:disabled){background-color:#505050;border-color:#707070}.analysis-btn:disabled{opacity:.5;cursor:not-allowed}.loading-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.loading-spinner{background-color:#2d2d2d;padding:2rem;border-radius:8px;font-size:1.1rem;color:#fff}.warning-message{background-color:#4a3c00;border:1px solid #ffa500;color:#fc6;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem;text-align:center}.upload-button.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.processing-status{background-color:#1a3a1a;border:1px solid #4a7c59;border-radius:6px;padding:1rem;margin-bottom:1rem}.status-text{font-weight:600;color:#90ee90;margin-bottom:.5rem}.progress-info{font-size:.85rem;color:#b0b0b0;margin-bottom:.25rem}.file-progress{font-size:.8rem;color:#888;font-family:monospace}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-header h3{font-size:1rem;color:#fff}.clear-session-button,.clear-all-button{background:#4a1a1a;border:1px solid #7c4a4a;color:#f99;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s ease}.clear-session-button:hover,.clear-all-button:hover{background:#6a2a2a;border-color:#9c6a6a}.file-info{width:100%}.file-details{font-size:.75rem;color:#888;margin-top:.25rem}.stored-files{margin-top:1.5rem;border-top:1px solid #404040;padding-top:1rem}.stored-files-list{max-height:300px;overflow-y:auto}.stored-file-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:#1a1a1a;border:1px solid #404040;border-radius:6px;margin-bottom:.5rem;transition:all .2s ease}.stored-file-item:hover{background-color:#252525;border-color:#555}.stored-file-info{flex:1;min-width:0}.stored-file-name{font-size:.85rem;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.stored-file-details{font-size:.75rem;color:#888}.stored-file-actions{display:flex;gap:.5rem;margin-left:.75rem}.load-button,.delete-button{background:transparent;border:1px solid #555;color:#ccc;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s ease;min-width:32px;text-align:center}.load-button:hover{background:#2a4a2a;border-color:#4a7c4a;color:#90ee90}.delete-button:hover{background:#4a2a2a;border-color:#7c4a4a;color:#f99}.load-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.more-files-note{text-align:center;font-size:.8rem;color:#888;padding:.5rem;font-style:italic}@media (max-width: 768px){.app-content{flex-direction:column}.sidebar{width:100%;height:auto;max-height:200px}.analysis-buttons{justify-content:center}.custom-query{flex-direction:column}}
