/* Global viewport safety rules */
* {box-sizing: border-box; }  
body {margin: 0;padding: 0;overflow-x: hidden;font-family: "Mulish", sans-serif;}  
/* Ensure no element exceeds viewport width */
#default-container,.default-popup-content,.default-disclaimer-modal-content {max-width: 100vw;box-sizing: border-box;}  
/* Main Chatbot Container */
#default-container {position: fixed;bottom: 90px;right: 20px;width: 400px;max-width: 90vw;background: #fff;border: 1px solid #eee;box-shadow: 0 0 10px rgba(0,0,0,0.1);border-radius: 12px;overflow: hidden;z-index: 99999;animation: bounceIn 0.3s;font-family: "Mulish", sans-serif;display: flex;flex-direction: column;height: 85vh;box-sizing: border-box;transition: all 0.3s ease;}  
/* Fullscreen Mode */
#default-container.default-fullscreen {position: fixed !important;top: 0 !important;left: 0 !important;right: 0 !important;bottom: 0 !important;width: 100vw !important;height: 100vh !important;max-width: 100vw !important;max-height: 100vh !important;min-height: 100vh !important;border-radius: 0 !important;border: none !important;z-index: 9999 !important;animation: default-fullscreenExpand 0.3s ease-out;display: flex !important;flex-direction: column !important;overflow: hidden !important;box-sizing: border-box !important;}  
#default-container.default-fullscreen #default-messages {max-height: calc(100vh - 160px) !important;height: auto !important;}  
/* Hide fullscreen icon when in fullscreen, show minimize icon */
#default-container.default-fullscreen #default-fullscreen-icon {display: none;}  
#default-container.default-fullscreen #default-minimize-icon {display: block !important;}  
/* Responsive classes added by JavaScript */
#default-container.chatbot-mobile {width: 92vw !important;right: 4vw !important;left: 4vw !important;bottom: 75px !important;}  
#default-container.chatbot-tiny {width: 98vw !important;right: 1vw !important;left: 1vw !important;bottom: 60px !important;}  
#default-container.chatbot-small {max-height: 85vh !important;min-height: 200px !important;}  

/* Override responsive classes when in fullscreen - stronger selectors */
#default-container.default-fullscreen.chatbot-mobile,
#default-container.default-fullscreen.chatbot-tiny,
#default-container.default-fullscreen.chatbot-small {width: 100vw !important;height: 100vh !important;max-height: 100vh !important;min-height: 100vh !important;top: 0 !important;left: 0 !important;right: 0 !important;bottom: 0 !important;border-radius: 0 !important;}  
/* Ensure fullscreen messages take available space */
#default-container.default-fullscreen #default-messages {flex: 1 !important;max-height: none !important;min-height: auto !important;height: auto !important;overflow-y: auto !important;}  
/* Ensure footer elements are visible in fullscreen */
#default-container.default-fullscreen .default-chat-input-area,
#default-container.default-fullscreen .default-powered-by-container {flex-shrink: 0 !important;position: relative !important;z-index: 1 !important;}  
body.default-chatbot-open {overflow: hidden;position: fixed;width: 100%;}  
body.loader-active #default-button,body.loader-active #default-container,body.loader-active #default-popup{display:none!important}  
#default-container.default-fullscreen~#default-button{display:none}  
.default-inline-disclaimer{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;background:rgb(0 0 0 / .4);z-index:1001;border-radius:12px;backdrop-filter:blur(2px)}  
#default-container.default-fullscreen .default-inline-disclaimer{border-radius:0;position:fixed;z-index:10001}  
.default-disclaimer-modal-content{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border:2px solid #e0c441;border-radius:16px;padding:25px;font-family:"Mulish",sans-serif;min-width:280px;max-width:340px;width:90%;box-shadow:0 20px 40px rgb(0 0 0 / .25);animation:disclaimerFadeIn 0.4s ease-out;position:relative}  
.default-inline-disclaimer[style*="display: none"]{display:none!important}
.default-disclaimer-content{display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center}
.default-disclaimer-icon-small{display:flex;justify-content:center;align-items:center;width:50px;height:50px;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-radius:50%;margin-bottom:5px}
.default-disclaimer-icon-small svg{width:24px;height:24px}
.default-disclaimer-text-content{max-width:280px}
.default-disclaimer-main-text{margin:0;font-size:14px;color:#2c3e50;line-height:1.6;font-weight:500}
.default-disclaimer-main-text strong{color:#856404;font-weight:700}  .default-disclaimer-actions-small{display:flex;gap:15px;justify-content:center;width:100%}  .default-disclaimer-btn-small{flex:1;max-width:140px;padding:12px 20px;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.3s ease;font-family:"Mulish",sans-serif;box-shadow:0 2px 8px rgb(0 0 0 / .1)}  .default-disclaimer-btn-small.disclaimer-accept{background:linear-gradient(135deg,#0e1a2f,#1a2d4f);color:#fff;border:2px solid #fff0}  .default-disclaimer-btn-small.disclaimer-accept:hover{background:linear-gradient(135deg,#1a2d4f,#2a3d5f);transform:translateY(-2px);box-shadow:0 4px 12px rgb(14 26 47 / .3)}  .default-disclaimer-btn-small.disclaimer-decline{background:#fff;color:#666;border:2px solid #dee2e6}  .default-disclaimer-btn-small.disclaimer-decline:hover{background:#f8f9fa;color:#495057;transform:translateY(-2px);box-shadow:0 4px 12px rgb(0 0 0 / .1)}  .default-chatbot-input-disabled #default-input,.default-chatbot-input-disabled #default-send{pointer-events:none;opacity:.5}  .default-chat-header{display:flex;align-items:center;justify-content:space-between;padding:15px;background:#fff;border-bottom:1px solid #f0f0f0;position:relative;flex-shrink:0;box-sizing:border-box;min-height:60px}  .default-header-left{display:flex;align-items:center;flex:1}  .default-header-right{display:flex;align-items:center;gap:10px}  .default-chat-header .default-avatar,.default-chat-header #default-avatar{margin-right:10px;margin-left:0}  .default-avatar{width:40px;height:40px;background:#f1c6c0;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-shrink:0;margin-right:10px}  .default-chat-header-info{margin-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}  .default-agent-name{font-weight:700;font-size:16px}  .default-status{display:flex;align-items:center;margin-top:4px}  .default-status-dot{width:8px;height:8px;background:#4CAF50;border-radius:50%;margin-right:5px}  .default-status-text{font-size:12px;color:#666}  .default-header-buttons-container{display:flex;align-items:center}  .default-header-button{cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:#fff0;transition:all 0.2s ease;position:relative}  .default-header-button:hover{background:#f5f5f5;transform:translateY(-1px)}  .default-header-button:active{transform:translateY(0)}  #default-fullscreen-toggle:hover svg path{stroke:#0e1a2f}  #default-close:hover svg path{stroke:#dc3545}  .default-language-selector{display:flex;align-items:center;margin-left:auto;margin-right:10px;z-index:10}  #default-container.default-fullscreen .default-language-selector{margin-right:5px}  #default-language-select{padding:6px 28px 6px 10px;border-radius:6px;border:1px solid #e0e0e0;background:#fff;font-family:"Mulish",sans-serif;font-size:13px;color:#333;cursor:pointer;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23131313%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 10px top 50%;background-size:10px auto;box-shadow:0 1px 3px rgb(0 0 0 / .08);transition:all 0.2s ease}  #default-language-select:hover{border-color:#0e1a2f}  #default-language-select:focus{outline:none;border-color:#0e1a2f;box-shadow:0 0 0 2px rgb(14 26 47 / .2)}  .default-language-notification{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#f0f7ff;border-bottom:1px solid #e0e8f5;font-family:"Mulish",sans-serif;font-size:13px;color:#333;flex-shrink:0;min-height:40px;transition:background 0.3s ease;box-sizing:border-box}  .default-notification-content{flex:1}  .default-notification-content p{margin:0;color:#0e1a2f;font-weight:500}  .default-notification-close{cursor:pointer;display:flex;justify-content:center;align-items:center;width:22px;height:22px;border-radius:50%;background:rgb(0 0 0 / .05);margin-left:10px;transition:background 0.2s ease}  .default-notification-close:hover{background:rgb(0 0 0 / .1)}  .default-auth-error{position:fixed;top:20px;right:20px;background:#f44;color:#fff;padding:10px 15px;border-radius:5px;z-index:10000;font-size:14px;font-family:"Mulish",sans-serif}  #default-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:15px;background:#f9f9f9;font-family:"Mulish",sans-serif;font-size:14px;color:#333;display:flex;flex-direction:column;max-height:calc(80vh - 130px);height:auto;min-height:200px;-webkit-overflow-scrolling:touch;transition:max-height 0.3s ease;box-sizing:border-box}  #default-container.default-fullscreen #default-messages{flex:1;max-height:none;min-height:auto;height:auto}  #default-messages::-webkit-scrollbar{width:6px}  #default-messages::-webkit-scrollbar-track{background:#f1f1f1}  #default-messages::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}  #default-messages::-webkit-scrollbar-thumb:hover{background:#ccc}  #default-messages>div{margin-bottom:15px;width:100%}  #default-user-message-template{display:flex;flex-direction:row-reverse;justify-content:flex-start}  #default-bot-message-template{display:flex;flex-direction:row;justify-content:flex-start}  .default-user-message{display:flex!important;flex-direction:row-reverse!important;justify-content:flex-start!important;width:100%;margin-bottom:15px}  .default-bot-message{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;width:100%;margin-bottom:15px}  .default-message-content{display:flex;flex-direction:column;max-width:75%;gap:8px}  #default-container.default-fullscreen .default-message-content{max-width:75%}  .default-message-bubble{padding:10px 15px;border-radius:18px;box-shadow:0 1px 2px rgb(0 0 0 / .1);word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;hyphens:auto;position:relative}  .default-message-bubble.user{background:#0e1a2f;color:#fff;margin-left:10px;border-bottom-right-radius:4px}  .default-message-bubble.bot{background:#fff;margin-right:10px;border-bottom-left-radius:4px}  .default-user-message .default-avatar{margin-left:10px;margin-right:0}  .default-bot-message .default-avatar{margin-right:10px;margin-left:0}  .default-message-text{margin:0;font-size:14px;line-height:1.4;font-family:Mulish,sans-serif;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;white-space:pre-wrap}  .default-message-text ul{margin:.5em 0 0 20px;list-style-type:disc}  .default-message-text li{margin:.2em 0;padding:0;line-height:1.3}  .default-message-text ul ul{margin:.2em 0}  .default-followup-questions{display:flex;flex-direction:column;gap:8px;width:100%}  .default-followup-question{background:linear-gradient(135deg,#f8f9ff 0%,#ffffff 100%);border:1.5px solid #e8ecf0;border-radius:20px;padding:10px 16px;font-size:13px;font-weight:500;color:#0e1a2f;cursor:pointer;transition:all 0.2s ease;font-family:"Mulish",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 3px rgb(0 0 0 / .05);position:relative;display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;box-sizing:border-box;text-align:left;border:none;outline:none}  .default-followup-question::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .4),transparent);transition:all 0.3s ease}  .default-followup-question:hover::before{left:100%}  .default-followup-question:hover{background:linear-gradient(135deg,#0e1a2f 0%,#1a2d4f 100%);color:#fff;border-color:#0e1a2f;transform:translateY(-1px);box-shadow:0 4px 12px rgb(14 26 47 / .2)}  .default-followup-question:active{transform:translateY(0);box-shadow:0 2px 6px rgb(14 26 47 / .15)}  .default-followup-question:disabled{opacity:.6;cursor:not-allowed;transform:none!important}  .default-followup-question-icon{font-size:14px;opacity:.7;transition:opacity 0.2s ease;flex-shrink:0}  .default-followup-question:hover .default-followup-question-icon{opacity:1}  .default-followup-question-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}  @media (max-width:768px){.default-message-content{max-width:85%}  .default-followup-questions{gap:6px}  .default-followup-question{font-size:12px;padding:8px 14px;border-radius:16px}  .default-followup-question-text{white-space:normal;line-height:1.3}  }  @media (max-width:480px){.default-message-content{max-width:90%}  .default-followup-question{padding:10px 16px;font-size:13px;min-height:40px}  .default-followup-question-text{white-space:normal;line-height:1.4;text-align:left}  }  .default-chat-input-area{padding:15px;background:#fff;border-top:1px solid #f0f0f0;display:flex;gap:.5rem;flex-shrink:0;box-sizing:border-box}  #default-input{flex:1;padding:10px 10px 10px 10px;border:1px solid #e0e0e0;border-radius:.875rem;outline:none;font-size:14px;height:40px;font-family:"Mulish",sans-serif}  #default-send{background:#0e1a2f;color:#fff;border:none;border-radius:.875rem;width:40px;height:40px;cursor:pointer;display:grid;justify-content:center;flex-shrink:0}  #default-send svg{position:relative;bottom:-10px}  .default-powered-by-container{text-align:center;padding:12px 15px;font-size:12px;color:#666;border-top:1px solid #f0f0f0;font-family:'Mulish',sans-serif;display:flex;justify-content:center;align-items:center;background-color:#fcfcfc;flex-shrink:0}  .default-powered-by-container p{margin:0;display:flex;align-items:center;gap:4px}  .default-powered-by-container img{padding-bottom:2px;padding-right:2px}  .default-powered-by-container a{color:#0e1a2f;font-weight:600;text-decoration:none;transition:all 0.2s ease}  .default-powered-by-container a:hover{text-decoration:underline}  #default-button{position:fixed;bottom:20px;right:20px;width:60px;height:60px;background:#f1f1f1;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 4px 8px rgb(0 0 0 / .2);z-index:999999}  #default-popup{position:fixed;bottom:95px;right:20px;z-index:1000;animation:popupSlideIn 0.4s cubic-bezier(.175,.885,.32,1.275);font-family:"Mulish",sans-serif;filter:drop-shadow(0 8px 24px rgb(0 0 0 / .12))}  .default-popup-content{background:linear-gradient(135deg,#ffffff 0%,#fafbfc 100%);border:1px solid rgb(255 255 255 / .2);border-radius:16px;padding:18px 20px 16px 20px;box-shadow:0 8px 32px rgb(0 0 0 / .08),0 4px 16px rgb(0 0 0 / .04),inset 0 1px 0 rgb(255 255 255 / .8);max-width:240px;position:relative;backdrop-filter:blur(10px);border-left:3px solid #0e1a2f}  .default-popup-close{position:absolute;top:10px;right:10px;cursor:pointer;display:flex;justify-content:center;align-items:center;width:24px;height:24px;border-radius:50%;background:rgb(0 0 0 / .04);transition:all 0.2s cubic-bezier(.4,0,.2,1)}  .default-popup-text{margin:0;padding-right:30px;font-size:14px;color:#2c3e50;line-height:1.5;font-weight:500;letter-spacing:-.01em}  .default-popup-text::before{content:'👋';margin-right:8px;font-size:16px;display:inline-block;animation:wave 1s ease-in-out infinite alternate}  .default-popup-arrow{position:absolute;bottom:-10px;right:28px;width:0;height:0;border-left:10px solid #fff0;border-right:10px solid #fff0;border-top:10px solid #fff;filter:drop-shadow(0 2px 4px rgb(0 0 0 / .1))}  @keyframes disclaimerFadeIn{from{opacity:0;transform:scale(.9)}  to{opacity:1;transform:scale(1)}  }  @keyframes bounceIn{0%{transform:scale(.8);opacity:0}  60%{transform:scale(1.05)}  100%{transform:scale(1);opacity:1}  }  @keyframes default-fullscreenExpand{0%{transform:scale(.95);opacity:.8}  100%{transform:scale(1);opacity:1}  }  @keyframes popupSlideIn{0%{opacity:0;transform:translateY(20px) scale(.8);filter:blur(4px)}  50%{opacity:.8;transform:translateY(-5px) scale(1.02);filter:blur(2px)}  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}  }  @keyframes popupSlideOut{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}  100%{opacity:0;transform:translateY(15px) scale(.9);filter:blur(2px)}  }  @keyframes wave{0%{transform:rotate(0deg)}  100%{transform:rotate(20deg)}  }  @media (max-width:768px){#default-container{width:85vw;right:7.5vw;bottom:75px;height:80vh;max-height:85vh}  #default-messages{max-height:calc(75vh - 115px);padding:12px}  .default-language-selector{margin-right:5px}  #default-language-select{font-size:12px;padding:5px 22px 5px 8px;background-size:8px auto;background-position:right 8px top 50%}  .default-disclaimer-modal-content{min-width:260px;max-width:85%;padding:22px}  .default-disclaimer-main-text{font-size:13px}  .default-disclaimer-btn-small{font-size:12px;padding:11px 18px}  }  @media (max-width:480px){#default-container.chatbot-mobile{height:75vh;max-height:80vh}  .default-disclaimer-modal-content{min-width:240px;max-width:88%;padding:18px}  .default-disclaimer-actions-small{flex-direction:column;gap:10px}  .default-disclaimer-btn-small{max-width:none;font-size:11px;padding:12px 16px}  }  