body,html{background:0 0!important;margin:0;padding:0}:root{--primary-color:red;--accent-color:black;--minimized-size:70px}.chat-container{position:fixed;top:0;bottom:0;right:0;display:flex;flex-direction:column;width:clamp(240px,90vw,320px);background-color:#fff;color:#333;border-radius:16px;box-shadow:0 6px 20px rgba(0,0,0,.25);overflow:hidden;transition:width .3s,height .3s,border-radius .3s,transform .3s,box-shadow .3s;z-index:9999;box-sizing:border-box}.chat-container.minimized{position:fixed;top:auto;bottom:10px;right:20px;width:var(--minimized-size);height:var(--minimized-size);border-radius:50%;background-color:var(--primary-color);background-image:none;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:visible;transform-origin:bottom right;border:none}.chat-container.minimized::before{content:"\f075";font-family:FontAwesome;font-size:1.4rem;font-weight:900;color:#fff;display:inline-block}.chat-container.minimized::after{content:"";position:absolute;top:0;left:0;width:var(--minimized-size);height:var(--minimized-size);border:3px solid var(--accent-color);border-radius:50%;opacity:0;animation:pulse-ring 3s infinite;z-index:-1}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}50%{transform:scale(1.8);opacity:0}100%{transform:scale(1.8);opacity:0}}.chat-container.minimized .chat-body,.chat-container.minimized .chat-header,.chat-container.minimized .chat-input{display:none}.chat-header{background-color:var(--primary-color);color:#fff;padding:2px 12px;display:flex;align-items:center;justify-content:space-between;min-height:48px;border-top-left-radius:16px;border-top-right-radius:16px;height:10px}.chat-header h4{font-family:Inter,sans-serif;font-weight:700;font-size:1.13rem;line-height:1.2;margin:0;margin-right:auto;letter-spacing:.02em}.chat-container.minimized:hover{box-shadow:0 8px 24px rgba(0,0,0,.3);transform:scale(1.05)}.minimize-btn{margin-right:4px;align-self:center;background:var(--primary-color);border:2px solid var(--accent-color);border-radius:50%;font-size:18px;color:var(--accent-color);cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,box-shadow .2s;box-shadow:0 0 0 2px var(--primary-color);z-index:2}.minimize-btn:hover{background:var(--accent-color);color:#fff;transform:scale(1.07);box-shadow:0 0 0 2px var(--accent-color)}.chat-body{display:flex;flex-direction:column;flex:1 1 auto;overflow-y:auto;background-color:#f9f9f9;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.chat-cta{position:absolute;bottom:75px;right:12px;background:var(--accent-color);color:#fff;padding:8px 12px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1);display:flex;align-items:center;gap:8px;font-size:14px;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease;z-index:1000}.chat-cta.visible{opacity:1;transform:translateY(0)}.chat-cta .cta-close{background:0 0;border:none;color:#fff;font-size:16px;cursor:pointer;padding:0}.hidden{display:none}.messages{flex:1;padding:12px;overflow-y:auto}.preserve-whitespace{white-space:pre-wrap;overflow-wrap:anywhere}.message-row.bot{display:flex;align-items:flex-start;margin-bottom:10px;clear:both}.message-row.bot .avatar{width:32px;height:32px;border-radius:50%;background:#ccc;margin-right:8px;object-fit:cover;flex-shrink:0}.message-row.bot .message.bot{background:#e9e9eb;color:#333;padding:8px 12px;margin:0;max-width:80%;border-radius:16px 16px 16px 4px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.message-row.user{display:flex;justify-content:flex-end;margin-bottom:10px;clear:both}.message-row.user .message.user{background-color:#636363;color:#fff;padding:8px 12px;margin:0;max-width:80%;border-radius:16px 4px 16px 16px;box-shadow:0 1px 3px rgba(0,0,0,.1);text-align:left}.chat-input{padding:10px 12px;background-color:#f9f9f9;border-top:1px solid #eee;display:flex;flex-direction:column;align-items:center}.input-wrapper{position:relative;width:100%}.input-wrapper input{width:100%;height:45px;box-sizing:border-box;padding:0 140px 0 14px;font-size:14px;font-family:Roboto,sans-serif;border:1px solid #ddd;border-radius:22px;outline:0;transition:border-color .2s,box-shadow .2s}.input-wrapper input::placeholder{color:#999}.input-wrapper input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px rgba(255,127,42,.2);outline:0}.input-wrapper button.mic-btn,.input-wrapper button.send-btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;color:#fff;background-color:var(--accent-color);cursor:pointer;padding:0;transition:background-color .3s,transform .2s}.input-wrapper button.send-btn{right:12px}.input-wrapper button.mic-btn{right:54px}.input-wrapper button.mic-btn:hover,.input-wrapper button.send-btn:hover{background-color:#e67300;transform:translateY(-50%) scale(1.01)}.input-wrapper button.mic-btn.recording{background-color:#c0392b!important}.input-wrapper button.mic-btn.recording::after{content:"🔴";position:absolute;top:2px;right:2px;font-size:10px}.input-wrapper button.mic-btn.recording i.fa-microphone{color:#fff}.plug{display:flex;align-items:center;background:#f9f9f9;border-radius:12px;padding:4px 8px;margin-top:8px;font-family:inherit;font-size:13px;color:#555;text-decoration:none;gap:5px}.plug-logo{width:16px;height:16px;margin-right:4px;border-radius:4px;object-fit:cover}.message-row{animation:fadeIn .3s ease forwards}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.start-button-group{display:flex;justify-content:center;gap:8px;margin-top:5%;margin-bottom:8%}.book-appointment-start{display:inline-block;align-self:center;padding:5px 10px;background-color:var(--accent-color);color:#fff;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;border-radius:6px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2);text-transform:capitalize;text-align:center;white-space:nowrap;box-sizing:border-box;margin-top:8px;transition:background-color .2s,transform .2s}.book-appointment-start:hover{background-color:#e67300;transform:scale(1.03)}.terms{text-decoration:none;color:inherit;cursor:pointer;display:flex;align-items:center;background:#f9f9f9;border-radius:10px;padding:2px 2px;margin-top:3px;font-family:inherit;font-size:10px;color:#555;text-decoration:none;gap:5px}.user-code-entry{display:flex;align-items:center;gap:6px;margin:8px 0}.code-input{flex:0 1 150px;padding:6px 10px;border:2px solid #ccc;border-radius:4px;font-size:.85rem;transition:border-color .2s,box-shadow .2s}.code-input:focus{outline:0;border-color:#4a90e2;box-shadow:0 0 4px rgba(74,144,226,.3)}.code-submit-btn{flex:0 0 auto;padding:6px 12px;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.code-submit-btn:hover{background-color:#357ab8;transform:translateY(-1px)}.code-submit-btn:active{transform:translateY(1px)}.input-wrapper button.book-btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;color:#fff;background-color:var(--accent-color);cursor:pointer;padding:0;font-size:1.1rem;transition:background-color .3s,transform .2s}.input-wrapper button.send-btn{right:12px}.input-wrapper button.mic-btn{right:54px}.input-wrapper button.book-btn{right:96px}.input-wrapper button.book-btn:hover,.input-wrapper button.mic-btn:hover,.input-wrapper button.send-btn:hover{background-color:#e67300;transform:translateY(-50%) scale(1.01)}