:root { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #13221d; font-synthesis: none; }
* { box-sizing: border-box; } html, body { margin: 0; width: 100%; height: 100%; background: transparent; } button, input, textarea { font: inherit; }
.chat-shell { width: 100%; height: 100%; min-height: 500px; overflow: hidden; display: flex; flex-direction: column; background: #fff; }
.chat-head { min-height: 74px; padding: 14px 16px; display: grid; grid-template-columns: 41px 1fr 30px; gap: 11px; align-items: center; color: #f3faf6; background: #0e2821; }
.agent-mark { width: 41px; height: 41px; border-radius: 50%; display: flex; justify-content: center; align-items: end; gap: 3px; padding-bottom: 9px; background: #a8e6c7; }
.agent-mark i { display: block; width: 5px; border-radius: 4px; background: #153e33; }.agent-mark i:nth-child(1) { height: 10px; }.agent-mark i:nth-child(2) { height: 20px; }.agent-mark i:nth-child(3) { height: 14px; }
.chat-head strong { display: block; font-size: 13px; letter-spacing: -.01em; }.chat-head span { display: flex; gap: 6px; align-items: center; margin-top: 4px; color: #a8c2b8; font-size: 9px; }.chat-head span i { width: 6px; height: 6px; border-radius: 50%; background: #6bd397; }
.chat-head > button { width: 29px; height: 29px; border: 0; border-radius: 8px; color: #a8c2b8; background: rgba(255,255,255,.06); cursor: pointer; }
.messages { flex: 1; overflow-y: auto; padding: 19px 15px 8px; background: #f8faf7; }
.message { display: flex; margin-bottom: 13px; animation: appear .2s ease; }.message.customer { justify-content: flex-end; }.message .bubble { max-width: 82%; padding: 10px 12px; border: 1px solid #e3e9e4; border-radius: 4px 13px 13px 13px; color: #20322b; background: white; font-size: 11px; line-height: 1.48; box-shadow: 0 3px 12px rgba(24,52,43,.035); }.message.customer .bubble { border-color: #153e33; border-radius: 13px 4px 13px 13px; color: white; background: #153e33; }.message small { display: block; margin-top: 5px; color: #87928e; font-size: 7px; }.message.customer small { color: #a9c2b8; text-align: right; }
.typing { display: flex; gap: 3px; padding: 12px 14px !important; }.typing i { width: 5px; height: 5px; border-radius: 50%; background: #9aaba4; animation: bounce 1s infinite; }.typing i:nth-child(2) { animation-delay: .12s; }.typing i:nth-child(3) { animation-delay: .24s; }
.quick-actions { display: flex; gap: 6px; padding: 8px 14px 4px; overflow-x: auto; background: #f8faf7; }.quick-actions button { flex: 0 0 auto; padding: 7px 9px; border: 1px solid #d9e5de; border-radius: 99px; color: #275547; background: white; font-size: 8px; font-weight: 700; cursor: pointer; }.quick-actions button:hover { border-color: #8fc8ab; background: #edf8f2; }
.composer { display: grid; grid-template-columns: 1fr 35px; gap: 8px; padding: 11px 13px 8px; border-top: 1px solid #e6eae6; background: white; }.composer textarea { resize: none; max-height: 80px; border: 0; outline: none; padding: 8px 3px; color: #13221d; font-size: 11px; }.composer button { width: 35px; height: 35px; align-self: end; border: 0; border-radius: 10px; color: white; background: #153e33; font-size: 18px; cursor: pointer; }.composer button:disabled { opacity: .45; }
footer { padding: 2px 0 9px; color: #9aa59f; background: white; text-align: center; font-size: 7px; }footer strong { color: #597268; }
.booking-sheet { position: absolute; z-index: 4; left: 12px; right: 12px; bottom: 59px; padding: 16px; border: 1px solid #dae6df; border-radius: 14px; background: white; box-shadow: 0 14px 40px rgba(16,44,35,.18); }.booking-sheet > div:first-child { display: flex; justify-content: space-between; align-items: center; margin-bottom: 13px; font-size: 11px; }.booking-sheet > div button { width: 25px; height: 25px; border: 0; border-radius: 7px; background: #f1f4f1; cursor: pointer; }.booking-sheet label { display: grid; gap: 4px; margin-bottom: 9px; }.booking-sheet label span { color: #68766f; font-size: 8px; font-weight: 700; }.booking-sheet input { width: 100%; border: 1px solid #dfe5e0; border-radius: 8px; padding: 8px; outline: none; font-size: 10px; }.booking-sheet input:focus { border-color: #83af9c; box-shadow: 0 0 0 3px rgba(131,175,156,.13); }.split { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.book-button { width: 100%; border: 0; border-radius: 9px; padding: 9px; color: white; background: #153e33; font-size: 10px; font-weight: 700; cursor: pointer; }
.booking-sheet select { width: 100%; border: 1px solid #dfe5e0; border-radius: 8px; padding: 8px; outline: none; background: white; font-size: 10px; }.book-button { background: var(--widget-color, #153e33); }
.source-card { max-width: 82%; margin: -8px 0 13px; padding: 7px 10px; border-left: 2px solid #82c5a4; color: #577067; background: #eef7f2; font-size: 8px; }.source-card a { color: #275547; font-weight: 700; }.feedback { display: flex; align-items: center; gap: 6px; margin: -6px 0 13px; color: #839089; font-size: 8px; }.feedback button { width: 25px; height: 25px; border: 1px solid #dce5df; border-radius: 8px; background: white; cursor: pointer; }.feedback.sent { color: #2e6b55; }.manage-result { margin-top: 10px; font-size: 9px; line-height: 1.45; }.manage-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 9px; }.manage-actions button { border: 1px solid #d9e5de; border-radius: 8px; padding: 7px; color: #275547; background: white; cursor: pointer; }.manage-actions .cancel { color: #a94d46; border-color: #efcbc7; background: #fff7f6; }.reschedule-form { margin-top: 10px; padding-top: 10px; border-top: 1px solid #e2e8e3; }.reschedule-form .book-button { margin-top: 2px; }
@keyframes appear { from { opacity: 0; transform: translateY(5px); } } @keyframes bounce { 50% { transform: translateY(-3px); opacity: .55; } }
@media (max-width: 400px) { .chat-head { min-height: 67px; }.messages { padding-top: 14px; }.quick-actions { padding-top: 5px; } }
