/* Basic styling for the chat container and elements - ChatGPT Inspired */
.morganly-ai-chat-container {
    width: 100%;
    margin: 0 auto; /* Centered, no top/bottom margin for full height */
    border: none;
    border-radius: 0; /* ChatGPT often uses sharper edges or integrates into a larger UI */
    overflow: auto; /* Changed from auto to hidden to manage internal scrolling */
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; /* Common clean sans-serif font */
    display: flex;
    flex-direction: column;
    box-shadow: 0 0 10px rgba(0,0,0,0.5); /* Softer, more subtle shadow */
    background-color: #343541; /* Dark gray, common in ChatGPT-like UIs */
    color: #ECECEC; /* Light text color for dark background */
    height: 75vh; /* Full viewport height */
}

.morganly-ai-chat-container h1,
.morganly-ai-chat-container h2,
.morganly-ai-chat-container h3 {
    color: #FFFFFF; /* White headings for dark theme */
    text-align: left; /* Align to left, common in chat headers */
}

.morganly-ai-chat-container h1 {
	font-size: 24px;
    margin-bottom: 20px;
    padding: 15px 20px;
    background-color: #202123; /* Very dark header */
    border-bottom: 1px solid #444654;
}
.morganly-ai-chat-container h2 {
	font-size: 20px;
    margin-bottom: 15px;
}
.morganly-ai-chat-container h3 {
	font-size: 16px;
    font-weight: 500; /* Less bold */
    margin-bottom: 10px;
}

/* Disclaimer Screen Styling */
.morganly-ai-chat-container .morganly-ai-disclaimer {
    padding: 20px;
    background-color: #2A2B32; /* Slightly different dark shade */
    text-align: left;
    overflow-y: auto;
    border-bottom: 1px solid #444654;
    flex-shrink: 0;
    color: #B0B0B0; /* Muted text for disclaimer */
}

.morganly-ai-chat-container .morganly-ai-disclaimer h3 {
    margin-top: 0;
    color: #FFFFFF;
    text-align: center;
    margin-bottom: 15px;
    font-weight: 600;
}

.morganly-ai-chat-container .morganly-ai-disclaimer p {
    margin-bottom: 10px;
    line-height: 1.6;
    color: #D1D1D1; /* Lighter gray for paragraph text */
    white-space: pre-wrap;
    font-size: 0.9em;
}

.morganly-ai-chat-container .morganly-ai-disclaimer .disclaimer-agree {
    margin-top: 15px;
    display: flex;
    align-items: center;
    font-size: 0.95em;
    color: #E0E0E0;
}

.morganly-ai-chat-container .morganly-ai-disclaimer .disclaimer-agree input[type="checkbox"] {
    margin-right: 8px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    accent-color: #50fa7b; /* Green accent for checkbox */
}
.morganly-ai-chat-container .morganly-ai-disclaimer .disclaimer-agree label {
     cursor: pointer;
     font-weight: 400;
}

.morganly-ai-chat-container .morganly-ai-disclaimer button {
    display: block;
    width: 100%;
    padding: 10px;
    margin-top: 15px;
    background-color: #4CAF50; /* Green button, common for proceed actions */
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.95em;
    transition: background-color 0.2s ease-in-out;
}

.morganly-ai-chat-container .morganly-ai-disclaimer button:hover:not(:disabled) {
    background-color: #45a049;
}

.morganly-ai-chat-container .morganly-ai-disclaimer button:disabled {
    background-color: #555;
    color: #888;
    cursor: not-allowed;
}


/* Upload Area Styling */
.morganly-ai-chat-container .morganly-ai-upload-area {
    padding: 25px;
    background-color: #2A2B32; /* Consistent dark shade */
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    border-bottom: 1px solid #444654;
    flex-shrink: 0;
    color: #B0B0B0;
}

.morganly-ai-chat-container .morganly-ai-upload-area h3 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 1.3em;
    color: #FFFFFF;
    font-weight: 600;
}

.morganly-ai-chat-container .morganly-ai-upload-area .upload-explanation {
    margin-bottom: 20px;
    font-size: 0.95em;
    line-height: 1.6;
    color: #D1D1D1;
    text-align: center;
    max-width: 90%;
    white-space: pre-wrap;
}

.morganly-ai-chat-container .morganly-ai-upload-area input[type="file"] {
    margin-bottom: 15px;
    border: 1px dashed #555; /* Dashed border for dropzone feel */
    padding: 15px;
    background-color: #343541; /* Darker background for input */
    border-radius: 6px;
    width: calc(100% - 30px);
    box-sizing: border-box;
    cursor: pointer;
    color: #ECECEC; /* Text color for file input */
    transition: border-color 0.2s ease-in-out;
}
.morganly-ai-chat-container .morganly-ai-upload-area input[type="file"]:focus {
    outline: none;
    border-color: #4CAF50; /* Green highlight on focus */
}
.morganly-ai-chat-container .morganly-ai-upload-area input[type="file"]::-webkit-file-upload-button {
    background-color: #4CAF50;
    color: white;
    padding: 8px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-right: 10px;
    transition: background-color 0.2s ease-in-out;
}
.morganly-ai-chat-container .morganly-ai-upload-area input[type="file"]::file-selector-button {
    background-color: #4CAF50;
    color: white;
    padding: 8px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-right: 10px;
    transition: background-color 0.2s ease-in-out;
}
.morganly-ai-chat-container .morganly-ai-upload-area input[type="file"]::file-selector-button:hover,
.morganly-ai-chat-container .morganly-ai-upload-area input[type="file"]::-webkit-file-upload-button:hover {
    background-color: #45a049;
}

.morganly-ai-chat-container .morganly-ai-upload-status {
    margin-top: 10px;
    font-style: italic;
    color: #aaa;
    min-height: 1.2em;
    word-break: break-word;
    font-size: 0.9em;
}

.morganly-ai-chat-container .morganly-ai-upload-status.error {
    color: #FF6B6B; /* Brighter red for errors on dark bg */
    font-weight: 500;
}
.morganly-ai-chat-container .morganly-ai-upload-status.success {
     color: #50fa7b; /* Bright green for success */
     font-weight: 500;
}
.morganly-ai-chat-container .morganly-ai-upload-status.uploading {
     color: #82AAFF; /* Bright blue for uploading */
     font-weight: 500;
}


/* Chat Window Styling */
.morganly-ai-chat-container .morganly-ai-chat-window {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: hidden;
    background-color: #343541; /* Main chat area background */
    height: 100%; /* Ensure it takes available height */
}

.morganly-ai-chat-container .morganly-ai-messages {
    flex-grow: 1;
    padding: 20px; /* More padding */
    overflow-y: auto;
    background-color: transparent; /* Transparent to show chat-window bg */
    display: flex;
    flex-direction: column;
    gap: 15px; /* Spacing between messages */
}

/* Common message styling */
.morganly-ai-chat-container .morganly-ai-message {
    padding: 12px 18px;
    border-radius: 18px; /* More rounded bubbles */
    max-width: 90%; /* Max width of messages */
    word-wrap: break-word;
    font-size: 1em; /* Standard font size */
    line-height: 1.6;
    box-shadow: none; /* Flatter design, no shadow on messages */
    color: #ECECEC; /* Default text color for messages */
}

/* User message styling */
.morganly-ai-chat-container .morganly-ai-message.user {
    background-color: #2E8B57; /* SeaGreen - can be changed */
    color: #FFFFFF; /* White text for user messages */
    align-self: flex-end; /* Align to the right */
    margin-left: auto;
    border-bottom-right-radius: 5px; /* ChatGPT like bubble tail */
}

/* AI message and typing indicator styling */
.morganly-ai-chat-container .morganly-ai-message.ai,
.morganly-ai-chat-container .morganly-ai-typing-indicator {
    background-color: #444654; /* Slightly lighter gray for AI messages */
    color: #D1D5DB; /* Light gray text for AI */
    align-self: flex-start; /* Align to the left */
    margin-right: auto;
    border-bottom-left-radius: 5px; /* ChatGPT like bubble tail */
}

.morganly-ai-chat-container .morganly-ai-message.ai p {
    margin: 0; /* Remove default paragraph margin */
}
.morganly-ai-chat-container .morganly-ai-message.ai h3 {
    font-size: 1.1em;
    margin-top: 0;
    margin-bottom: 8px;
    color: #FFFFFF;
}
.morganly-ai-chat-container .morganly-ai-message.ai ul {
    padding-left: 20px;
    margin-top: 5px;
    margin-bottom: 5px;
}
.morganly-ai-chat-container .morganly-ai-message.ai li {
    margin-bottom: 4px;
}


/* Styles for formatted text within AI messages (Markdown) */
.morganly-ai-chat-container .morganly-ai-message.ai strong,
.morganly-ai-chat-container .morganly-ai-message.ai b {
    font-weight: 600;
    color: #FFFFFF; /* Bolder text slightly whiter */
}

.morganly-ai-chat-container .morganly-ai-message.ai em,
.morganly-ai-chat-container .morganly-ai-message.ai i {
    font-style: italic;
    color: #B0B8C4; /* Muted italic text */
}

/* Input Area Styling */
.morganly-ai-chat-container .morganly-ai-input-area {
    display: flex;
    padding: 15px 20px; /* Padding around input area */
    border-top: 1px solid #444654; /* Separator line */
    background-color: #202123; /* Very dark background for input bar */
    align-items: center;
    flex-shrink: 0;
}

.morganly-ai-chat-container .morganly-ai-input-area input[type="text"] {
    flex-grow: 1;
    padding: 12px 15px;
    border: 1px solid #5A5B60; /* Subtle border */
    border-radius: 8px; /* Rounded input field */
    margin-right: 10px;
    font-size: 1em;
    box-sizing: border-box;
    background-color: #40414F; /* Dark input field */
    color: #ECECEC; /* Light text color in input */
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
	min-width: 0;
}
.morganly-ai-chat-container .morganly-ai-input-area input[type="text"]:focus {
    outline: none;
    border-color: #50fa7b; /* Green border on focus */
    box-shadow: 0 0 0 2px rgba(80, 250, 123, 0.3); /* Subtle glow */
}

/* Style for disabled input and button */
.morganly-ai-chat-container .morganly-ai-input-area input[type="text"]:disabled {
    background-color: #303136;
    cursor: not-allowed;
    border-color: #40414F;
    color: #777;
}

.morganly-ai-chat-container .morganly-ai-input-area button {
    padding: 10px; /* Padding for the send button */
    background-color: #40414F; /* Match input field bg or be slightly different */
    color: #9FA8DA; /* Muted icon color */
    border: 1px solid #5A5B60;
    border-radius: 8px; /* Rounded button */
    cursor: pointer;
    font-size: 1.2em; /* Icon size */
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px; /* Fixed width for a square-ish button */
    height: 44px; /* Fixed height */
}

.morganly-ai-chat-container .morganly-ai-input-area button:hover:not(:disabled) {
     background-color: #50515F;
     color: #ECECEC; /* Brighter icon on hover */
}

.morganly-ai-chat-container .morganly-ai-input-area button:disabled {
    background-color: #303136;
    cursor: not-allowed;
    color: #666;
    border-color: #40414F;
}
.morganly-ai-chat-container .morganly-ai-input-area button i {
    line-height: 1; /* Ensure icon is centered */
}


/* Styles for the action buttons container */
.morganly-ai-chat-container .morganly-ai-chat-buttons {
     padding: 10px 20px;
     display: flex;
     justify-content: flex-start; /* Align buttons to the start */
     gap: 10px;
     flex-wrap: wrap;
     flex-shrink: 0;
}

/* General styles for buttons inside the button area */
.morganly-ai-chat-container .morganly-ai-chat-buttons button {
     padding: 8px 12px;
     background-color: #40414F; /* Dark buttons */
     color: #B0B8C4; /* Muted text color */
     border: 1px solid #5A5B60; /* Subtle border */
     border-radius: 4px;
     cursor: pointer;
     font-size: 0.85em; /* Smaller font for these action buttons */
     transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}
.morganly-ai-chat-container .morganly-ai-chat-buttons button i {
    margin-right: 6px;
}

.morganly-ai-chat-container .morganly-ai-chat-buttons button:hover:not(:disabled) {
     background-color: #50515F;
     color: #ECECEC;
     border-color: #6A6B70;
}

.morganly-ai-chat-container .morganly-ai-chat-buttons button:disabled {
    background-color: #303136;
    cursor: not-allowed;
    color: #666;
    border-color: #40414F;
}

/* Specific styles for buttons - toned down for ChatGPT look */
.morganly-ai-chat-container .morganly-ai-chat-buttons .morganly-ai-upload-btn {
    /* background-color: #007bff; (Original) */
    /* color: #fff; */
    /* border-color: #007bff; */
    /* Keep general button style or slightly highlight if primary action */
}
.morganly-ai-chat-container .morganly-ai-chat-buttons .morganly-ai-upload-btn:hover:not(:disabled) {
    /* background-color: #0056b3; */
    /* border-color: #0056b3; */
}


.morganly-ai-chat-container .morganly-ai-chat-buttons .morganly-ai-download-btn {
    /* background-color: #fff; (Original) */
    /* color: #28a745; */
    /* border: 1px solid #28a745; */
}
.morganly-ai-chat-container .morganly-ai-chat-buttons .morganly-ai-download-btn:hover:not(:disabled) {
    /* background-color: #e6ffe6; */
    /* color: #1e7e34; */
    /* border-color: #1e7e34; */
}


.morganly-ai-chat-container .morganly-ai-chat-buttons .morganly-ai-start-new-btn {
    /* background-color: #dc3545; (Original) */
    /* color: #fff; */
    /* border-color: #dc3545; */
    /* Example: Make delete/start new more prominent if needed */
    background-color: #721c24; /* Dark red for caution actions */
    border-color: #822c34;
    color: #f8d7da;
}
.morganly-ai-chat-container .morganly-ai-chat-buttons .morganly-ai-start-new-btn:hover:not(:disabled) {
    background-color: #5a1a21;
    border-color: #6a2a31;
    color: #fff;
}


/* Style for the thinking indicator */
.morganly-ai-chat-container .morganly-ai-typing-indicator {
     font-style: italic;
     opacity: 0.9;
     padding: 12px 18px;
     border-radius: 18px; /* Match message bubbles */
     border-bottom-left-radius: 5px; /* Match AI bubble tail */
     max-width: 75%;
     word-wrap: break-word;
     color: #A0A8B4; /* Muted color */
     font-size: 0.95em; /* Slightly smaller for indicator */
     line-height: 1.5;
     background-color: #444654; /* Same as AI messages */
     align-self: flex-start;
     margin-right: auto;
}

/* Style for the initial loading text placeholder */
.morganly-ai-chat-container > p { /* Assuming this is a direct child for loading/initial state */
     padding: 20px;
     text-align: center;
     font-style: italic;
     color: #999;
     font-size: 1em;
     flex-grow: 1; /* Allow it to take space if chat is empty */
     display: flex;
     align-items: center;
     justify-content: center;
}

/* Styles for potential error messages displayed directly in the container */
.morganly-ai-chat-container .morganly-ai-error {
    padding: 15px;
    color: #FF6B6B; /* Bright red for error text */
    text-align: center;
    font-weight: 500;
    background-color: #5D2A2A; /* Dark red background for error box */
    border: 1px solid #721c24;
    border-radius: 6px;
    margin: 15px;
}

/* Scrollbar styling for webkit browsers (Chrome, Safari) */
.morganly-ai-messages::-webkit-scrollbar {
    width: 8px; /* Width of the scrollbar */
}

.morganly-ai-messages::-webkit-scrollbar-track {
    background: #2A2B32; /* Background of the scrollbar track */
    border-radius: 10px;
}

.morganly-ai-messages::-webkit-scrollbar-thumb {
    background-color: #555; /* Color of the scrollbar thumb */
    border-radius: 10px; /* Rounded corners for the thumb */
    border: 2px solid #2A2B32; /* Creates padding around thumb */
}

.morganly-ai-messages::-webkit-scrollbar-thumb:hover {
    background-color: #777; /* Color of the thumb on hover */
}

/* Basic scrollbar styling for Firefox */
.morganly-ai-messages {
    scrollbar-width: thin; /* "auto" or "thin" */
    scrollbar-color: #555 #2A2B32; /* thumb and track color */
}

/* Avatar styling can be added here if desired, similar to the commented out section in original CSS */
/* For example:
.morganly-ai-chat-container .morganly-ai-message.ai {
     padding-left: 60px;
     position: relative;
}
.morganly-ai-chat-container .morganly-ai-message.ai::before {
     content: 'AI'; // Or an image
     display: flex;
     align-items: center;
     justify-content: center;
     position: absolute;
     top: 10px;
     left: 10px;
     width: 35px;
     height: 35px;
     background-color: #555; // Placeholder avatar color
     color: #fff;
     font-size: 0.8em;
     font-weight: bold;
     border-radius: 50%;
     z-index: 1;
}
*/

@media (max-width: 767px) {
	.hide-mobile {
		display: none;
	}
.morganly-ai-chat-container .morganly-ai-chat-buttons button i {
    margin-right: 0px;
}

.morganly-ai-chat-container .morganly-ai-message {
max-width: 100%;
}

.morganly-ai-chat-container .morganly-ai-input-area {
	padding: 10px 5px;
}
}