.m2-bot{position:fixed;bottom:94px;right:25px;z-index:115;font:14px/1.4 system-ui,sans-serif}
.m2-bot-open{background:#192b48;color:#fff;border:1px solid #d9b779;border-radius:50%;width:52px;height:52px;font-size:31px;cursor:pointer;box-shadow:0 7px 24px #0004}
.m2-bot-panel{position:absolute;bottom:66px;right:0;width:min(360px,calc(100vw - 24px));background:#fff;color:#182a44;border:1px solid #a5aec0;border-radius:15px;box-shadow:0 12px 35px #0004;overflow:hidden}
.m2-bot-panel[hidden]{display:none!important}
.m2-bot-heading{background:#172641;color:#fff;padding:13px;display:flex;justify-content:space-between;align-items:center}
.m2-bot-close{background:transparent;border:0;font-size:25px;color:#fff;cursor:pointer}
.m2-bot-messages{height:285px;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px}
.m2-bot-messages p{margin:0;max-width:95%;background:#f1f4fa;border-radius:12px;padding:9px 11px;overflow-wrap:anywhere}
.m2-bot-messages .m2-bot-user{align-self:flex-end;background:#deedff}
.m2-bot-form{display:flex;gap:7px;padding:10px;border-top:1px solid #ddd}
.m2-bot-form input{flex:1;min-width:0;border:1px solid #abb3c1;border-radius:9px;padding:10px}
.m2-bot-form button{background:#182b49;color:white;padding:9px;border:0;border-radius:8px;cursor:pointer}
@media(max-width:768px){.m2-bot{right:16px;bottom:calc(142px + env(safe-area-inset-bottom,0px))}.m2-bot-panel{bottom:60px}}


/* Compact robot assistant inspired by the supplied reference */
.m2-bot-open{position:relative;display:grid;place-items:center;background:#007e73;border:2px solid #eafaf6;width:64px;height:64px;padding:0;border-radius:50%;box-shadow:0 8px 24px #002c2945}
.m2-bot-open:hover{background:#006d66;transform:translateY(-2px)}
.m2-bot-robot{position:relative;width:37px;height:36px;display:block}
.m2-bot-antenna{position:absolute;top:0;left:17px;width:4px;height:7px;border-radius:4px;background:#e7fbff}
.m2-bot-antenna:before{content:"";position:absolute;top:-3px;left:-2px;width:8px;height:7px;border-radius:50%;background:#64d6ef}
.m2-bot-face{position:absolute;top:8px;left:3px;width:31px;height:23px;border-radius:11px;background:#e9f5f6;border:2px solid #8ed5db;display:flex;align-items:center;justify-content:space-around;padding:0 4px;box-sizing:border-box}
.m2-bot-face i{display:block;width:6px;height:8px;background:#103e5b;border-radius:50%}
.m2-bot-mouth{position:absolute;bottom:0;left:15px;width:9px;height:3px;background:#cde9f0;border-radius:3px}
.m2-bot-dot{position:absolute;right:-2px;top:1px;width:14px;height:14px;border-radius:50%;background:#f33844;border:2px solid white}
.m2-bot-greeting{position:absolute;right:0;bottom:76px;width:max-content;max-width:min(300px,calc(100vw - 40px));box-sizing:border-box;background:#fff;color:#222;border-radius:15px;padding:15px 34px 15px 17px;box-shadow:0 8px 28px #0004;font-size:13px;line-height:1.4}
.m2-bot-greeting[hidden]{display:none!important}
.m2-bot-greeting:after{content:"";position:absolute;right:23px;bottom:-8px;width:16px;height:16px;background:#fff;transform:rotate(45deg)}
.m2-bot-greeting span{cursor:pointer}
.m2-bot-dismiss{position:absolute;right:8px;top:7px;border:0;background:#f2f3f5;border-radius:50%;color:#888;width:19px;height:19px;line-height:17px;cursor:pointer}
@media(max-width:768px){.m2-bot{right:16px}.m2-bot-greeting{bottom:77px}}
@media(prefers-reduced-motion:reduce){.m2-bot-open{transition:none}}

/* DREAL interface v3: fixed viewport-safe responsive chat panel */
.m2-bot{z-index:130;right:22px;bottom:96px;color:#182638;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.m2-bot-panel{position:fixed;right:22px;bottom:174px;top:auto;width:min(410px,calc(100vw - 32px));height:min(580px,calc(100dvh - 210px));min-height:260px;max-height:calc(100dvh - 150px);display:flex;flex-direction:column;border:1px solid #d9e1e9;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 18px 55px rgba(4,19,36,.28)}
.m2-bot-heading{flex-shrink:0;background:#142943;color:#fff;min-height:66px;padding:12px 17px;box-sizing:border-box;display:flex;align-items:center;gap:12px}
.m2-bot-heading strong{color:#fff;font-size:15px;letter-spacing:.05px;line-height:1.3;flex:1}
.m2-bot-heading strong:before{content:"●";color:#57dbc4;margin-right:9px;font-size:11px}
.m2-bot-close{background:rgba(255,255,255,.12);border-radius:9px;width:31px;height:31px;line-height:28px;font-size:23px}
.m2-bot-messages{box-sizing:border-box;flex:1;min-height:0;height:auto;overflow-y:auto;overscroll-behavior:contain;background:#f7f9fc;padding:19px 15px;gap:13px;scrollbar-width:thin}
.m2-bot-messages p,.m2-bot-messages .m2-bot-reply{display:block;align-self:flex-start;box-sizing:border-box;max-width:89%;width:fit-content;margin:0;padding:12px 14px;background:#fff;border:1px solid #e0e6ed;border-radius:15px 15px 15px 4px;color:#26374a!important;font-size:13.5px;font-weight:450;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 2px 8px rgba(20,40,70,.04)}
.m2-bot-messages .m2-bot-user{align-self:flex-end;background:#dbecff;border-color:#c8e2fa;border-radius:15px 15px 4px 15px;color:#143c69!important}
.m2-bot-form{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:13px;background:#fff;border-top:1px solid #e0e6ec}
.m2-bot-form input{height:44px;background:#fff!important;color:#172b45!important;border:1px solid #b9c7d6!important;border-radius:12px;font-size:14px;padding:10px 12px;outline-offset:2px;box-shadow:none!important}
.m2-bot-form input::placeholder{color:#69798a!important}
.m2-bot-form button{height:44px;min-width:66px;border-radius:11px;background:#0c706b;color:#fff;font-size:13px;font-weight:650;padding:0 14px}
.m2-bot-form button:disabled{opacity:.55}
.m2-bot-panel[hidden]{display:none!important}
@media(max-width:768px){.m2-bot{right:15px;bottom:calc(147px + env(safe-area-inset-bottom,0px))}.m2-bot-panel{right:12px;bottom:calc(214px + env(safe-area-inset-bottom,0px));width:calc(100vw - 24px);height:min(540px,calc(100dvh - 235px));max-height:calc(100dvh - 235px)}}
@media(max-height:520px){.m2-bot-panel{bottom:82px;height:calc(100dvh - 95px);max-height:calc(100dvh - 95px);min-height:160px}}
/* DREAL v4: comfortable readable typography and compact chat layout */
.m2-bot-panel{width:min(420px,calc(100vw - 28px));border-radius:19px}
.m2-bot-messages{gap:10px;padding:15px 14px}
.m2-bot-messages p,.m2-bot-messages .m2-bot-reply{font-family:system-ui,-apple-system,'Segoe UI',sans-serif!important;font-size:14px!important;line-height:1.52!important;font-weight:400!important;letter-spacing:0!important;color:#14273d!important;padding:11px 13px!important;max-width:92%;white-space:pre-wrap}
.m2-bot-messages .m2-bot-user{background:#e0f1ed!important;color:#123d38!important;border-color:#bfe3d9!important}
.m2-bot-heading strong{font-size:15px!important}
.m2-bot-form{padding:11px 12px}
.m2-bot-form input{font-size:14px!important}
.m2-bot-messages a{color:#086e93!important;text-decoration:underline!important;text-underline-offset:2px;overflow-wrap:anywhere}
@media(max-width:768px){.m2-bot-messages p,.m2-bot-messages .m2-bot-reply{font-size:14px!important;line-height:1.5!important}}
/* DREAL premium chat v5 */
.m2-bot-panel{width:min(410px,calc(100vw - 24px));border-radius:21px;box-shadow:0 21px 64px #091b3152}
.m2-bot-heading{background:linear-gradient(120deg,#096d67,#087e74);min-height:66px}
.m2-bot-messages{background:#f0f4f6;gap:13px;padding:16px}
.m2-bot-messages .m2-message{display:flex;flex-direction:column;position:relative;max-width:88%;width:fit-content;border:0;border-radius:17px;padding:11px 13px;box-shadow:0 1px 5px #102b3812;font-size:14px;line-height:1.56;color:#1b2c3b;white-space:pre-wrap;overflow-wrap:anywhere}
.m2-bot-messages .m2-message-ai{align-self:flex-start;background:#fff;border-bottom-left-radius:5px}
.m2-bot-messages .m2-message-user{align-self:flex-end;background:#087d74;color:#fff;border-bottom-right-radius:5px}
.m2-message-content{color:inherit;line-height:1.56}
.m2-message-time{align-self:flex-end;color:#72838c;font-size:10px;margin-top:5px}
.m2-message-user .m2-message-time{color:#e5f9f5}
.m2-message-content a{display:inline-block;color:#087369!important;font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.m2-thinking-dots{display:flex;gap:5px;align-items:center;height:14px}
.m2-thinking-dots i{width:7px;height:7px;border-radius:50%;background:#8c9aa7;animation:m2-dot 1.15s infinite ease-in-out}
.m2-thinking-dots i:nth-child(2){animation-delay:.17s}
.m2-thinking-dots i:nth-child(3){animation-delay:.34s}
@keyframes m2-dot{0%,60%,100%{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.m2-thinking-dots i{animation:none}}

.m2-property-previews{display:flex;flex-direction:column;gap:8px;margin-top:10px;white-space:normal}
.m2-property-preview{display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #cfe3de;border-radius:13px;background:#f9fefd;text-decoration:none!important;color:#075f58!important}
.m2-property-preview:hover{border-color:#079385;background:#eefbf7}
.m2-property-preview-info{display:flex;flex-direction:column;min-width:0;gap:3px}
.m2-property-preview-info strong{font-size:12.5px;font-weight:700;color:#08675e}
.m2-property-preview-info small{font-size:11px;line-height:1.5;color:#536575}
.m2-property-preview-arrow{display:grid;place-items:center;background:#078d7d;color:white;border-radius:50%;width:29px;height:29px;flex-shrink:0;font-size:17px}

/* Composer with optional secure screenshot attachment */
.m2-bot-form{align-items:flex-end;gap:7px}
.m2-attach-label{height:42px;width:36px;flex:0 0 36px;display:grid;place-items:center;cursor:pointer;border-radius:11px;color:#087a70;font-size:26px;background:#eef8f5}
.m2-attach-label input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.m2-attach-label:focus-within{outline:2px solid #087a70}
.m2-composer-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.m2-composer-main input{width:100%!important;box-sizing:border-box}
.m2-image-preview{display:flex;justify-content:space-between;align-items:center;gap:6px;background:#e3f5ef;border:1px solid #c0ded3;border-radius:8px;padding:5px 7px;font-size:11px;color:#17483e}
.m2-image-preview[hidden]{display:none!important}
.m2-image-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m2-image-preview button{border:0;background:transparent;font-size:18px;color:#17483e;cursor:pointer}
.m2-bot-form .m2-chat-send{width:42px!important;min-width:42px!important;height:42px;border-radius:50%;background:#078477}

/* v8 larger expanded chat; dialog extends down over the launcher without blocking Close */
.m2-bot-panel{position:fixed;right:18px;bottom:14px;top:auto;width:min(440px,calc(100vw - 24px));height:min(730px,calc(100dvh - 42px));max-height:calc(100dvh - 42px);min-height:210px;z-index:132}
.m2-bot-open{position:relative;z-index:129}
.m2-bot-new-chat{border:0;border-radius:9px;width:31px;height:31px;min-width:31px;background:rgba(255,255,255,.12);color:#fff;font-size:25px;cursor:pointer}
.m2-bot-new-chat:hover{background:rgba(255,255,255,.22)}
@media(max-width:768px){.m2-bot-panel{right:8px;bottom:8px;width:calc(100vw - 16px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);border-radius:18px}}
@media(max-height:520px){.m2-bot-panel{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);bottom:8px}}

/* Chat privacy notice: compact, fixed between header and messages */
.m2-chat-privacy-note{flex:0 0 auto;background:#f5faf9;color:#50626b;padding:5px 12px;font-size:10px;line-height:1.35;border-bottom:1px solid #e3edeb;text-align:center}
.m2-chat-privacy-note a{color:#08776e!important;font-size:inherit;font-weight:650;text-decoration:underline;text-underline-offset:2px}
@media(max-width:420px){.m2-chat-privacy-note{font-size:9.5px;padding:4px 9px}}

/* v10 mobile chat: occupy the visible phone viewport, including keyboard changes */
@media(max-width:768px){
  .m2-bot-panel{position:fixed!important;left:0!important;right:0!important;top:var(--m2-vv-top,0px)!important;bottom:auto!important;width:100vw!important;width:100dvw!important;height:var(--m2-vv-height,100dvh)!important;max-height:var(--m2-vv-height,100dvh)!important;min-height:0!important;margin:0!important;border-radius:0!important;border:0!important;box-sizing:border-box!important;z-index:99999!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
  .m2-bot-panel[hidden]{display:none!important;}
  .m2-bot-heading{min-height:52px!important;padding:8px 11px!important;gap:8px!important;}
  .m2-bot-heading strong{font-size:14px!important;}
  .m2-bot-messages{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;padding:10px!important;overscroll-behavior:contain;}
  .m2-bot-messages .m2-message{max-width:92%!important;overflow-wrap:anywhere;}
  .m2-bot-form{flex:0 0 auto!important;min-height:60px;padding:8px 9px calc(8px + env(safe-area-inset-bottom,0px))!important;gap:6px!important;box-sizing:border-box;}
  .m2-bot-form input[type=text],.m2-composer-main input{font-size:16px!important;min-width:0!important;}
  .m2-chat-privacy-note{padding:4px 10px!important;font-size:10px!important;}
}
@media(max-width:768px) and (max-height:500px){
  .m2-bot-heading{min-height:44px!important;padding:5px 9px!important;}
  .m2-chat-privacy-note{font-size:9px!important;padding:2px 8px!important;}
  .m2-bot-form{padding-top:4px!important;padding-bottom:4px!important;}
}

/* v11: top-level chat layer over the mobile website bottom navigation */
body.m2-chat-active{overflow:hidden!important;touch-action:pan-y;}
@media(max-width:768px){
 body.m2-chat-active .mobile-actions,
 body.m2-chat-active .vr-mobile-actions,
 body.m2-chat-active .vr-whatsapp-chat{display:none!important;}
 body>.m2-bot-panel{z-index:2147483000!important;isolation:isolate;transform:none!important;}
 body>.m2-bot-panel .m2-bot-form{position:relative!important;z-index:2!important;background:#fff!important;}
}
