summaryrefslogtreecommitdiff
path: root/frontend/src/components/ChatInterface.css
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/components/ChatInterface.css')
-rw-r--r--frontend/src/components/ChatInterface.css149
1 files changed, 149 insertions, 0 deletions
diff --git a/frontend/src/components/ChatInterface.css b/frontend/src/components/ChatInterface.css
new file mode 100644
index 0000000..531d2a3
--- /dev/null
+++ b/frontend/src/components/ChatInterface.css
@@ -0,0 +1,149 @@
+.chat-interface {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+ background: #ffffff;
+}
+
+.messages-container {
+ flex: 1;
+ overflow-y: auto;
+ padding: 24px;
+}
+
+.empty-state {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ color: #666;
+ text-align: center;
+}
+
+.empty-state h2 {
+ margin: 0 0 8px 0;
+ font-size: 24px;
+ color: #333;
+}
+
+.empty-state p {
+ margin: 0;
+ font-size: 16px;
+}
+
+.message-group {
+ margin-bottom: 32px;
+}
+
+.user-message,
+.assistant-message {
+ margin-bottom: 16px;
+}
+
+.message-label {
+ font-size: 12px;
+ font-weight: 600;
+ color: #666;
+ margin-bottom: 8px;
+ text-transform: uppercase;
+ letter-spacing: 0.5px;
+}
+
+.user-message .message-content {
+ background: #f0f7ff;
+ padding: 16px;
+ border-radius: 8px;
+ border: 1px solid #d0e7ff;
+ color: #333;
+ line-height: 1.6;
+ max-width: 80%;
+ white-space: pre-wrap;
+}
+
+.loading-indicator {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+ padding: 16px;
+ color: #666;
+ font-size: 14px;
+}
+
+.spinner {
+ width: 20px;
+ height: 20px;
+ border: 2px solid #e0e0e0;
+ border-top-color: #4a90e2;
+ border-radius: 50%;
+ animation: spin 0.8s linear infinite;
+}
+
+@keyframes spin {
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+.input-form {
+ display: flex;
+ align-items: flex-end;
+ gap: 12px;
+ padding: 24px;
+ border-top: 1px solid #e0e0e0;
+ background: #fafafa;
+}
+
+.message-input {
+ flex: 1;
+ padding: 14px;
+ background: #ffffff;
+ border: 1px solid #d0d0d0;
+ border-radius: 8px;
+ color: #333;
+ font-size: 15px;
+ font-family: inherit;
+ line-height: 1.5;
+ outline: none;
+ resize: vertical;
+ min-height: 80px;
+ max-height: 300px;
+}
+
+.message-input:focus {
+ border-color: #4a90e2;
+ box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
+}
+
+.message-input:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ background: #f5f5f5;
+}
+
+.send-button {
+ padding: 14px 28px;
+ background: #4a90e2;
+ border: 1px solid #4a90e2;
+ border-radius: 8px;
+ color: #fff;
+ font-size: 15px;
+ font-weight: 600;
+ cursor: pointer;
+ transition: background 0.2s;
+ white-space: nowrap;
+ align-self: flex-end;
+}
+
+.send-button:hover:not(:disabled) {
+ background: #357abd;
+ border-color: #357abd;
+}
+
+.send-button:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ background: #ccc;
+ border-color: #ccc;
+}