.app-main-title{text-align:center;margin-top:0;margin-bottom:0;padding:15px 0;font-size:1.8em;color:#2c3e50;background-color:#fff;display:none}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{margin:0;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-color:#f4f7f6;color:#333}#root{display:flex;flex-direction:column;min-height:100vh}.chat-interface{width:100%;height:100%;display:flex;flex-direction:column;background-color:#fff;padding:0;box-sizing:border-box}.message-list{flex-grow:1;overflow-y:auto;padding:20px;background-color:#f7f7f7;display:flex;flex-direction:column;gap:12px}.message-item{display:flex;flex-direction:column;max-width:70%}.message-item.user-message{align-self:flex-end;align-items:flex-end}.message-item.assistant-message{align-self:flex-start;align-items:flex-start}.message-bubble{padding:10px 14px;border-radius:18px;word-wrap:break-word;box-shadow:0 1px 1.5px #0000001f;line-height:1.4}.user-message .message-bubble{background-color:#007bff;color:#fff;border-bottom-right-radius:4px}.assistant-message .message-bubble{background-color:#e9ecef;color:#212529;border-bottom-left-radius:4px}.message-text{margin:0;white-space:pre-wrap}.message-timestamp{font-size:.7em;color:#6c757d;margin-top:3px;padding:0 5px}.chat-input-container{display:flex;padding:15px 20px;border-top:1px solid #dee2e6;background-color:#f8f9fa;flex-shrink:0}.chat-input-container input[type=text]{flex-grow:1;padding:10px 15px;border:1px solid #ced4da;border-radius:20px;outline:none;font-size:.95em;margin-right:10px}.chat-input-container input[type=text]:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.chat-input-container button{padding:10px 20px;font-size:.95em;border:none;background-color:#007bff;color:#fff;border-radius:20px;cursor:pointer;transition:background-color .2s ease;font-weight:500}.chat-input-container button:hover{background-color:#0056b3}.chat-input-container button:disabled{background-color:#adb5bd;cursor:not-allowed}.main-layout{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.top-bar{background-color:#2c3e50;color:#fff;padding:0 20px;display:flex;justify-content:space-between;align-items:center;font-size:.85em;flex-shrink:0;height:35px;box-sizing:border-box;border-bottom:1px solid #4a5568}.top-bar-left span,.top-bar-right span{margin:0 10px}.top-bar-left span:first-child,.top-bar-right span:last-child{margin-left:0;margin-right:0}.content-area{display:flex;flex-grow:1;overflow:hidden}.sidebar{background-color:#f8f9fa;width:240px;padding:20px 15px;border-right:1px solid #dee2e6;flex-shrink:0;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column}.sidebar h3{margin-top:0;margin-bottom:15px;font-size:1em;font-weight:600;color:#495057;padding-bottom:10px;border-bottom:1px solid #e9ecef}.sidebar ul{list-style:none;padding:0;margin:0;flex-grow:1}.sidebar ul li{padding:10px 12px;cursor:pointer;border-radius:6px;margin-bottom:6px;font-size:.9em;color:#343a40;transition:background-color .15s ease-in-out,color .15s ease-in-out}.sidebar ul li:hover{background-color:#e9ecef}.sidebar ul li.active{background-color:#007bff;color:#fff;font-weight:500}.sidebar-settings{margin-top:20px;padding-top:15px;border-top:1px solid #e9ecef}.sidebar-settings button{width:100%;padding:10px;font-size:.9em;background-color:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .15s ease-in-out}.sidebar-settings button:hover{background-color:#5a6268}.sidebar-settings button.active{background-color:#007bff;color:#fff}.top-bar-right{display:flex;align-items:center;gap:15px}.top-bar-right .summarize-button{padding:4px 12px;font-size:.8em;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease;font-weight:500}.top-bar-right .summarize-button:hover:not(:disabled){background-color:#357abd}.top-bar-right .summarize-button:disabled{background-color:#909090;cursor:not-allowed}.main-content{flex-grow:1;background-color:#fff;overflow-y:hidden;display:flex;flex-direction:column}
