chat-ui.css•4.72 kB
:root {
--primary-color: #2563eb;
--light-bg: #f3f4f6;
--dark-bg: #1f2937;
--text-color: #111827;
--light-text: #6b7280;
--border-color: #e5e7eb;
--slack-color: #e01e5a;
--notion-color: #000000;
--google-docs-color: #4285f4;
--gmail-color: #d93025;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
body {
background-color: #fff;
color: var(--text-color);
line-height: 1.5;
height: 100vh;
overflow: hidden;
}
.app-container {
display: flex;
flex-direction: column;
height: 100vh;
max-width: 1200px;
margin: 0 auto;
padding: 1rem;
}
/* App icons header */
.app-icons {
display: flex;
justify-content: space-between;
padding: 1rem 2rem;
position: relative;
margin-bottom: 2rem;
}
.app-icons::after {
content: '';
position: absolute;
width: 100%;
height: 2px;
background: var(--border-color);
bottom: 0;
left: 0;
z-index: 1;
}
.app-icon {
width: 48px;
height: 48px;
border-radius: 10px;
position: relative;
z-index: 2;
}
/* Flow lines */
.flow-lines {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 1;
}
.flow-line {
position: absolute;
stroke: var(--border-color);
stroke-width: 2px;
stroke-dasharray: 5, 5;
z-index: 1;
}
/* Chat container */
.chat-container {
flex: 1;
display: flex;
flex-direction: column;
background-color: white;
border-radius: 12px;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
overflow: hidden;
position: relative;
}
/* Message list */
.message-list {
flex: 1;
overflow-y: auto;
padding: 1rem;
}
.timeline-marker {
display: flex;
align-items: center;
margin: 2rem 0;
position: relative;
}
.date-marker {
background-color: var(--light-bg);
color: var(--light-text);
font-size: 0.875rem;
padding: 0.25rem 0.75rem;
border-radius: 9999px;
margin-right: 0.5rem;
}
.timeline-dot {
width: 16px;
height: 16px;
background-color: var(--primary-color);
border-radius: 50%;
}
.timeline-line {
position: absolute;
left: 8px;
top: 16px;
bottom: -2rem;
width: 2px;
background-color: var(--border-color);
z-index: 1;
}
.message {
display: flex;
margin-bottom: 1.5rem;
position: relative;
padding-left: 2rem;
}
.message-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
margin-right: 1rem;
flex-shrink: 0;
}
.message-content {
flex: 1;
background-color: var(--light-bg);
border-radius: 12px;
padding: 1rem;
position: relative;
}
.user-message .message-content {
background-color: var(--primary-color);
color: white;
}
.message-sender {
font-weight: 600;
margin-bottom: 0.25rem;
}
.message-time {
font-size: 0.75rem;
color: var(--light-text);
margin-top: 0.5rem;
}
/* Message input */
.message-input {
display: flex;
padding: 1rem;
border-top: 1px solid var(--border-color);
background-color: white;
}
.message-input input {
flex: 1;
padding: 0.75rem 1rem;
border: 1px solid var(--border-color);
border-radius: 9999px;
font-size: 1rem;
outline: none;
}
.message-input input:focus {
border-color: var(--primary-color);
box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}
.send-button {
background-color: var(--primary-color);
color: white;
border: none;
border-radius: 9999px;
padding: 0.75rem 1.25rem;
margin-left: 0.5rem;
font-weight: 600;
cursor: pointer;
transition: background-color 0.2s;
}
.send-button:hover {
background-color: #1d4ed8;
}
/* App integration styles */
.app-integration {
margin-bottom: 1rem;
position: relative;
}
.app-integration-header {
display: flex;
align-items: center;
margin-bottom: 0.5rem;
}
.app-integration-icon {
width: 24px;
height: 24px;
margin-right: 0.5rem;
}
.app-integration-title {
font-weight: 600;
font-size: 0.875rem;
}
.app-integration-content {
background-color: white;
border: 1px solid var(--border-color);
border-radius: 8px;
padding: 1rem;
}
/* Custom styling for specific app integrations */
.notion-integration .app-integration-content {
border-left: 4px solid var(--notion-color);
}
.google-docs-integration .app-integration-content {
border-left: 4px solid var(--google-docs-color);
}
.slack-integration .app-integration-content {
border-left: 4px solid var(--slack-color);
}
.gmail-integration .app-integration-content {
border-left: 4px solid var(--gmail-color);
}
/* Animation for flowing data */
@keyframes flowDashOffset {
to {
stroke-dashoffset: -20;
}
}
.animated-flow {
animation: flowDashOffset 3s linear infinite;
}