.chat-wrapper { display: flex; width: 100vw; height: 80vh; /* full viewport height minus some margin */ gap: 12px; padding: 12px; box-sizing: border-box; } .panel { flex: 1; /* each panel takes equal width */ display: flex; flex-direction: column; border-radius: 12px; box-shadow: 0 6px 16px rgba(0,0,0,0.15); background-color: #fafafa; overflow: hidden; } mat-card-title { font-size: 1.4rem; font-weight: 600; text-align: center; padding: 12px 0; border-bottom: 1px solid #ddd; } mat-card-content { flex: 1; overflow-y: auto; padding: 12px; } /* Chat messages */ .messages { display: flex; flex-direction: column; gap: 12px; } .message { padding: 10px 16px; border-radius: 20px; max-width: 80%; word-wrap: break-word; white-space: pre-wrap; line-height: 1.4; } .user { background-color: #1976d2; color: white; align-self: flex-end; text-align: right; } .bot { background-color: #e0e0e0; color: #333; align-self: flex-start; text-align: left; } .bot-typing { font-style: italic; color: #666; } /* Chat input */ .chat-input { display: flex; gap: 10px; padding: 12px; border-top: 1px solid #ddd; background-color: #f5f5f5; } .chat-input mat-form-field { flex: 1; margin: 0; } /* JSON output pre blocks */ pre { white-space: pre-wrap; word-break: break-word; font-size: 0.85rem; background-color: #f5f5f5; padding: 10px; border-radius: 8px; max-height: 100%; overflow: auto; }