/* My Plan Advocate website assistant */
.mpa-chat-launcher{position:fixed;right:24px;bottom:24px;z-index:9998;width:60px;height:60px;border:0;border-radius:50%;background:#f4772b;box-shadow:0 8px 26px #102b3b30;display:grid;place-items:center;cursor:pointer;transition:transform .2s,box-shadow .2s}
.mpa-chat-launcher:hover{transform:translateY(-2px);box-shadow:0 12px 30px #102b3b40}.mpa-chat-launcher img{width:34px;height:34px;object-fit:contain;border-radius:50%}.mpa-chat-launcher svg{width:27px;height:27px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mpa-chat-panel{position:fixed;right:24px;bottom:96px;z-index:9999;width:min(380px,calc(100vw - 28px));height:min(570px,calc(100dvh - 125px));background:#fff;border:1px solid #e2e8ed;border-radius:20px;box-shadow:0 18px 60px #132e3d30;display:none;overflow:hidden;font-family:inherit;color:#152536}.mpa-chat-panel.is-open{display:flex;flex-direction:column;animation:mpaChatIn .18s ease-out}@keyframes mpaChatIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.mpa-chat-head{display:flex;align-items:center;gap:11px;padding:16px;background:#fff;border-bottom:1px solid #edf0f2}.mpa-chat-head img{width:43px;height:43px;object-fit:contain;border-radius:50%;background:#fff;border:1px solid #e6e9ec;padding:4px}.mpa-chat-title{flex:1;min-width:0}.mpa-chat-title strong{display:block;font-size:15px;line-height:1.3}.mpa-chat-title span{display:block;font-size:12px;color:#687785;margin-top:3px}.mpa-chat-status{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2ba875;margin-right:5px}.mpa-chat-close{border:0;background:transparent;color:#51616f;font-size:25px;cursor:pointer;width:32px;height:32px;border-radius:8px}.mpa-chat-close:hover{background:#f3f5f6}
.mpa-chat-messages{padding:17px 13px;overflow-y:auto;flex:1;background:#f8fafb;display:flex;flex-direction:column;gap:14px}.mpa-chat-row{display:flex;align-items:flex-end;gap:8px;max-width:94%}.mpa-chat-row.user{align-self:flex-end;flex-direction:row-reverse}.mpa-chat-avatar{width:29px;height:29px;flex:0 0 29px;border-radius:50%;background:#fff;border:1px solid #e4e8eb;display:grid;place-items:center;overflow:hidden;color:#4a6576;font-size:11px;font-weight:700}.mpa-chat-avatar img{width:100%;height:100%;object-fit:cover}.mpa-chat-bubble{font-size:13px;line-height:1.5;padding:10px 12px;border-radius:14px 14px 14px 4px;background:#fff;border:1px solid #e6eaee;overflow-wrap:anywhere;max-width:265px}.mpa-chat-row.user .mpa-chat-bubble{background:#f4772b;color:#fff;border-color:#f4772b;border-radius:14px 14px 4px 14px}.mpa-chat-bubble a{color:inherit;text-decoration:underline}.mpa-chat-suggestions{padding:0 13px 12px;background:#f8fafb;display:flex;gap:7px;flex-wrap:wrap}.mpa-chat-suggestion{border:1px solid #dbe3e8;border-radius:18px;background:#fff;color:#294657;font-size:11px;padding:7px 10px;cursor:pointer}.mpa-chat-suggestion:hover{border-color:#f4772b;color:#bc571a}.mpa-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid #e9edf0;background:#fff}.mpa-chat-input{flex:1;min-width:0;border:1px solid #dbe2e7;border-radius:12px;padding:12px;font:inherit;font-size:13px;outline:none}.mpa-chat-input:focus{border-color:#f4772b;box-shadow:0 0 0 3px #f4772b1c}.mpa-chat-send{width:44px;flex:0 0 44px;border:0;border-radius:12px;background:#f4772b;color:#fff;display:grid;place-items:center;cursor:pointer}.mpa-chat-send svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mpa-chat-foot{text-align:center;font-size:10px;color:#8b969e;padding:0 10px 9px;background:#fff}
@media(max-width:480px){.mpa-chat-launcher{right:16px;bottom:16px;width:56px;height:56px}.mpa-chat-panel{right:10px;bottom:82px;width:calc(100vw - 20px);height:min(590px,calc(100dvh - 100px));border-radius:17px}}

/* Compact chat header and keep the composer anchored to the bottom */
.mpa-chat-panel .mpa-chat-head{
  box-sizing:border-box;
  height:76px;
  min-height:76px;
  flex:0 0 76px;
  padding:12px 16px;
  margin:0;
  position:relative;
  align-items:center;
  gap:10px;
}
.mpa-chat-panel .mpa-chat-head img{width:38px;height:38px;flex:0 0 38px;}
.mpa-chat-panel .mpa-chat-title strong{font-size:14px;}
.mpa-chat-panel .mpa-chat-title span{font-size:11px;margin-top:2px;}
.mpa-chat-panel .mpa-chat-messages{min-height:0;flex:1 1 auto;}
.mpa-chat-panel .mpa-chat-suggestions{flex:0 0 auto;padding-bottom:10px;}
.mpa-chat-panel .mpa-chat-form{flex:0 0 auto;margin:0;padding:10px 12px;}
.mpa-chat-panel .mpa-chat-foot{flex:0 0 auto;padding:0 10px 10px;}
@media(max-width:480px){
  .mpa-chat-panel{height:min(650px,calc(100dvh - 100px));}
  .mpa-chat-panel .mpa-chat-head{height:70px;min-height:70px;flex-basis:70px;padding:10px 13px;}
}

/* Assistant typing indicator */
.mpa-chat-typing .mpa-chat-bubble{display:flex;align-items:center;gap:5px;min-width:54px;min-height:36px;}
.mpa-chat-typing .mpa-chat-bubble span{display:block;width:6px;height:6px;border-radius:50%;background:#8a9aa5;animation:mpaTyping 1s infinite ease-in-out;}
.mpa-chat-typing .mpa-chat-bubble span:nth-child(2){animation-delay:.15s;}
.mpa-chat-typing .mpa-chat-bubble span:nth-child(3){animation-delay:.3s;}
@keyframes mpaTyping{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* Final compact layout: keep the assistant header at the very top of the chat panel */
.mpa-chat-panel > header.mpa-chat-head{
  display:flex !important;
  position:relative !important;
  inset:auto !important;
  top:0 !important;
  transform:none !important;
  box-sizing:border-box !important;
  width:100% !important;
  height:62px !important;
  min-height:62px !important;
  max-height:62px !important;
  flex:0 0 62px !important;
  padding:8px 12px !important;
  margin:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  z-index:2;
}
.mpa-chat-panel > header.mpa-chat-head img{width:34px !important;height:34px !important;flex:0 0 34px !important;padding:3px !important;}
.mpa-chat-panel > .mpa-chat-messages{flex:1 1 0 !important;min-height:0 !important;overflow-y:auto !important;}
.mpa-chat-panel > .mpa-chat-suggestions{flex:0 0 auto !important;}
.mpa-chat-panel > .mpa-chat-form{flex:0 0 auto !important;}
.mpa-chat-panel > .mpa-chat-foot{flex:0 0 auto !important;}
@media(max-width:480px){
  .mpa-chat-panel > header.mpa-chat-head{height:58px !important;min-height:58px !important;max-height:58px !important;flex-basis:58px !important;padding:7px 10px !important;}
}

/* Final spacing correction: eliminate empty bands and maximize conversation area */
.mpa-chat-panel.is-open{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  align-items:stretch !important;
  padding:0 !important;
  gap:0 !important;
}
.mpa-chat-panel > .mpa-chat-head{
  order:0 !important;
  align-self:stretch !important;
  margin:0 !important;
  padding:6px 12px !important;
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  flex:0 0 52px !important;
}
.mpa-chat-panel > .mpa-chat-head img{width:30px !important;height:30px !important;flex:0 0 30px !important;}
.mpa-chat-panel > .mpa-chat-messages{
  order:1 !important;
  flex:1 1 0% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:10px 12px !important;
}
.mpa-chat-panel > .mpa-chat-suggestions{
  order:2 !important;
  margin:0 !important;
  padding:4px 10px 6px !important;
  gap:5px !important;
}
.mpa-chat-panel > .mpa-chat-form{
  order:3 !important;
  margin:0 !important;
  padding:6px 10px !important;
  min-height:0 !important;
}
.mpa-chat-panel > .mpa-chat-form .mpa-chat-input{padding:10px !important;}
.mpa-chat-panel > .mpa-chat-foot{
  order:4 !important;
  margin:0 !important;
  padding:0 8px 5px !important;
  line-height:1.3 !important;
}
.mpa-chat-launcher{bottom:34px !important;}
@media(max-width:480px){
  .mpa-chat-panel{height:min(650px,calc(100dvh - 90px)) !important;bottom:96px !important;}
  .mpa-chat-launcher{bottom:26px !important;}
  .mpa-chat-panel > .mpa-chat-head{height:48px !important;min-height:48px !important;max-height:48px !important;flex-basis:48px !important;padding:5px 10px !important;}
}

/* Clickable phone and email details in assistant replies */
.mpa-chat-bubble a.mpa-chat-contact-link{color:inherit;text-decoration:underline;text-underline-offset:2px;font-weight:600;overflow-wrap:anywhere;cursor:pointer}
.mpa-chat-bubble a.mpa-chat-contact-link:hover{opacity:.78}
