.lm-help-assistant {
  position: fixed;
  left: 22px;
  bottom: calc(5.75rem + env(safe-area-inset-bottom, 0px));
  z-index: 92;
  user-select: none;
  touch-action: none;
  direction: rtl;
}
.lm-help-assistant[hidden] { display: none !important; }

.lm-help-assistant__fab {
  display: inline-flex;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(105, 82, 186, .2);
  border-radius: 20px;
  background: #fff;
  color: #6e55bb;
  cursor: grab;
  box-shadow: 0 16px 42px rgba(43, 35, 68, .2);
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.lm-help-assistant__fab:active { cursor: grabbing; }
.lm-help-assistant__fab:focus-visible {
  box-shadow: 0 0 0 4px rgba(110, 85, 187, .13), 0 16px 42px rgba(43, 35, 68, .2);
}
.lm-help-assistant__fab-icon {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(145deg, #f2edff, #faf8ff);
  font-size: 19px;
}
.lm-help-assistant__fab-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 11px;
  height: 11px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #30b3b8;
}
.lm-help-assistant__fab-badge[hidden] { display: none !important; }

.lm-help-assistant__panel {
  position: fixed;
  left: 22px;
  bottom: 92px;
  display: flex;
  width: min(430px, calc(100vw - 28px));
  height: min(710px, calc(100dvh - 120px));
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e9e5ef;
  border-radius: 24px;
  background: #fff;
  color: #282535;
  box-shadow: 0 28px 88px rgba(35, 30, 50, .24);
  touch-action: auto;
  user-select: text;
}
.lm-help-assistant__panel[hidden] { display: none !important; }

.lm-help-assistant__header {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  border-bottom: 1px solid #eeeaf3;
  background: #fff;
}
.lm-help-assistant__identity {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}
.lm-help-assistant__avatar {
  display: inline-flex;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background: linear-gradient(145deg, #eee8ff, #f8f5ff);
  color: #6e55bb;
  font-size: 14px;
}
.lm-help-assistant__identity-copy {
  min-width: 0;
}
.lm-help-assistant__identity strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 900;
}
.lm-help-assistant__identity small {
  display: flex;
  max-width: 255px;
  align-items: center;
  gap: 5px;
  margin-top: 3px;
  overflow: hidden;
  color: #817b91;
  font-size: 9px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lm-help-assistant__online-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #35b78a;
  box-shadow: 0 0 0 3px rgba(53, 183, 138, .11);
}
.lm-help-assistant__header-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 3px;
}
.lm-help-assistant__header-actions button {
  display: inline-flex;
  width: 33px;
  height: 33px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #8a8498;
  cursor: pointer;
  font-size: 12px;
}
.lm-help-assistant__header-actions button:hover {
  background: #f6f3f9;
  color: #5f4ba8;
}

.lm-help-assistant__messages {
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px 14px 20px;
  background: #fbfafc;
  scrollbar-width: thin;
  scrollbar-color: #d8d3e2 transparent;
}

.lm-help-assistant__welcome {
  padding: 8px 2px 16px;
}
.lm-help-assistant__welcome-message {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 13px;
  border: 1px solid #ebe7f0;
  border-radius: 18px;
  background: #fff;
}
.lm-help-assistant__welcome-avatar {
  display: inline-flex;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #f1ecff;
  color: #6e55bb;
  font-size: 11px;
}
.lm-help-assistant__welcome strong {
  display: block;
  margin-top: 1px;
  font-size: 11px;
  font-weight: 900;
}
.lm-help-assistant__welcome p {
  margin: 5px 0 0;
  color: #746e83;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.9;
}

.lm-help-assistant__prompts {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 10px;
}
.lm-help-assistant__prompts button {
  width: 100%;
  min-height: 38px;
  padding: 8px 11px;
  border: 1px solid #e8e3ee;
  border-radius: 13px;
  background: #fff;
  color: #514b60;
  cursor: pointer;
  text-align: right;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.6;
}
.lm-help-assistant__prompts button::before {
  content: "↖";
  margin-left: 7px;
  color: #8e78cf;
}
.lm-help-assistant__prompts button:hover {
  border-color: rgba(110, 85, 187, .3);
  background: #faf8ff;
  color: #5f4ba8;
}

.lm-help-assistant__message {
  display: flex;
  align-items: flex-end;
  gap: 7px;
  margin: 12px 0;
}
.lm-help-assistant__message--user {
  justify-content: flex-start;
}
.lm-help-assistant__message--assistant {
  justify-content: flex-end;
}
.lm-help-assistant__message-avatar {
  display: inline-flex;
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid #e4ddf3;
  border-radius: 10px;
  background: #f3efff;
  color: #6e55bb;
  font-size: 9px;
}
.lm-help-assistant__message-stack {
  display: flex;
  max-width: calc(100% - 34px);
  flex-direction: column;
  align-items: flex-end;
}
.lm-help-assistant__message--user .lm-help-assistant__message-stack {
  max-width: 84%;
  align-items: flex-start;
}
.lm-help-assistant__message-name {
  margin: 0 5px 4px;
  color: #938d9f;
  font-size: 8px;
  font-weight: 800;
}
.lm-help-assistant__bubble {
  padding: 10px 12px;
  border-radius: 16px;
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1.95;
  white-space: pre-wrap;
  word-break: break-word;
}
.lm-help-assistant__message--user .lm-help-assistant__bubble {
  border-bottom-left-radius: 6px;
  background: #6e55bb;
  color: #fff;
}
.lm-help-assistant__message--assistant .lm-help-assistant__bubble {
  border: 1px solid #e8e4ed;
  border-bottom-right-radius: 6px;
  background: #fff;
  color: #454050;
}

.lm-help-assistant__citation {
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  margin: 0 2px;
  transform: translateY(-1px);
  border: 0;
  border-radius: 6px;
  background: #eee8ff;
  color: #654fb1;
  text-decoration: none;
  font-size: 8px;
  font-weight: 900;
}
.lm-help-assistant__citation:hover {
  background: #dfd4ff;
}

.lm-help-assistant__typing-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #777080;
  font-size: 9px;
}
.lm-help-assistant__typing {
  display: inline-flex;
  gap: 3px;
  align-items: center;
}
.lm-help-assistant__typing span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #938b9e;
  animation: lmHelpTyping 1s infinite ease-in-out;
}
.lm-help-assistant__typing span:nth-child(2) { animation-delay: .12s; }
.lm-help-assistant__typing span:nth-child(3) { animation-delay: .24s; }
@keyframes lmHelpTyping {
  0%, 80%, 100% { opacity: .3; transform: translateY(0); }
  40% { opacity: 1; transform: translateY(-2px); }
}

.lm-help-assistant__message-sources {
  width: min(100%, 330px);
  margin-top: 6px;
  border: 1px solid #e9e5ef;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.lm-help-assistant__message-sources summary {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 9px;
  color: #706a7e;
  cursor: pointer;
  list-style: none;
  font-size: 8.5px;
  font-weight: 850;
}
.lm-help-assistant__message-sources summary::-webkit-details-marker { display: none; }
.lm-help-assistant__message-sources summary > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.lm-help-assistant__source-count {
  display: inline-flex;
  min-width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: #f0ebff;
  color: #6e55bb;
  font-size: 8px;
  font-weight: 900;
}
.lm-help-assistant__source-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 0 7px 7px;
}
.lm-help-assistant__source-link {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  padding: 7px;
  border-radius: 9px;
  background: #faf8fc;
  color: #5f4ba8;
  text-decoration: none;
}
.lm-help-assistant__source-link:hover { background: #f3effa; }
.lm-help-assistant__source-number {
  display: inline-flex;
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: #ece6fb;
  font-size: 8px;
  font-weight: 900;
}
.lm-help-assistant__source-copy {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 1px;
}
.lm-help-assistant__source-copy strong,
.lm-help-assistant__source-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lm-help-assistant__source-copy strong {
  color: #4c4658;
  font-size: 8.5px;
  font-weight: 900;
}
.lm-help-assistant__source-copy small {
  color: #958e9f;
  font-size: 7.5px;
  font-weight: 650;
}
.lm-help-assistant__source-link > i {
  flex: 0 0 auto;
  color: #aaa2b3;
  font-size: 7px;
}

.lm-help-assistant__feedback {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 5px;
  padding: 0 4px;
  color: #9992a2;
  font-size: 8px;
  font-weight: 700;
}
.lm-help-assistant__feedback button {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #8e8799;
  cursor: pointer;
}
.lm-help-assistant__feedback button:hover,
.lm-help-assistant__feedback button.is-selected {
  background: #f0ebfa;
  color: #654fb1;
}

.lm-help-assistant__handoff {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 12px;
  border-top: 1px solid #eeeaf3;
  background: #fbfafc;
}
.lm-help-assistant__handoff[hidden] { display: none !important; }
.lm-help-assistant__handoff div {
  min-width: 0;
}
.lm-help-assistant__handoff strong {
  display: block;
  color: #5a5465;
  font-size: 8.5px;
  font-weight: 900;
}
.lm-help-assistant__handoff small {
  display: block;
  margin-top: 2px;
  color: #9992a2;
  font-size: 7.5px;
  font-weight: 650;
}
.lm-help-assistant__handoff button {
  display: inline-flex;
  min-height: 32px;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  border: 1px solid rgba(110, 85, 187, .22);
  border-radius: 10px;
  background: #fff;
  color: #654fb1;
  cursor: pointer;
  font-size: 8px;
  font-weight: 900;
}
.lm-help-assistant__handoff button:hover { background: #f6f2ff; }
.lm-help-assistant__handoff button:disabled { opacity: .5; cursor: not-allowed; }

.lm-help-assistant__composer {
  padding: 10px 11px 8px;
  border-top: 1px solid #eeeaf3;
  background: #fff;
}
.lm-help-assistant__input-shell {
  display: flex;
  align-items: flex-end;
  gap: 7px;
  padding: 5px 5px 5px 8px;
  border: 1px solid #ded8e6;
  border-radius: 16px;
  background: #faf9fb;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.lm-help-assistant__input-shell:focus-within {
  border-color: rgba(110, 85, 187, .45);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(110, 85, 187, .08);
}
.lm-help-assistant__composer textarea {
  min-height: 34px;
  max-height: 128px;
  flex: 1;
  resize: none;
  border: 0;
  background: transparent;
  padding: 7px 7px;
  color: #302c39;
  outline: none;
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1.7;
}
.lm-help-assistant__composer textarea::placeholder { color: #aaa3b1; }
.lm-help-assistant__composer [data-help-send] {
  display: inline-flex;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 12px;
  background: #6e55bb;
  color: #fff;
  cursor: pointer;
}
.lm-help-assistant__composer [data-help-send]:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.lm-help-assistant__composer-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 3px 0;
  color: #aaa3b1;
  font-size: 7.5px;
  font-weight: 650;
}
.lm-help-assistant__composer-meta a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #6e55bb;
  text-decoration: none;
  font-weight: 850;
}

.lm-help-assistant__undo {
  position: fixed;
  left: 50%;
  bottom: calc(5.8rem + env(safe-area-inset-bottom, 0px));
  z-index: 1500;
  display: flex;
  transform: translateX(-50%);
  align-items: center;
  gap: 9px;
  width: max-content;
  max-width: calc(100vw - 20px);
  padding: 9px 12px;
  border-radius: 999px;
  background: #29263a;
  color: #fff;
  box-shadow: 0 18px 48px rgba(35, 30, 50, .26);
  font-size: 9px;
  font-weight: 800;
}
.lm-help-assistant__undo[hidden] { display: none !important; }
.lm-help-assistant__undo button {
  border: 0;
  background: transparent;
  color: #b7f3f6;
  cursor: pointer;
  font-size: 9px;
  font-weight: 900;
}

@media (min-width: 1024px) {
  .lm-help-assistant {
    left: 24px;
    bottom: 24px;
  }
  .lm-help-assistant__panel {
    left: 24px;
    bottom: 94px;
  }
  .lm-help-assistant__undo { bottom: 24px; }
}

@media (max-width: 767px) {
  .lm-help-assistant {
    left: 14px;
    right: auto;
    bottom: calc(5.7rem + env(safe-area-inset-bottom, 0px));
    touch-action: auto;
  }
  .lm-help-assistant__fab {
    width: 54px;
    height: 54px;
    cursor: pointer;
  }
  .lm-help-assistant__panel {
    inset: 0 !important;
    width: 100%;
    height: 100dvh;
    border: 0;
    border-radius: 0;
  }
  .lm-help-assistant__header {
    padding-top: calc(10px + env(safe-area-inset-top, 0px));
  }
  .lm-help-assistant__messages {
    padding-bottom: 22px;
  }
  .lm-help-assistant__composer {
    padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
  }
  .lm-help-assistant__composer-meta > span {
    display: none;
  }
  .lm-help-assistant__handoff small {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lm-help-assistant__typing span { animation: none; }
}


/* Guided workflow answer */
.lm-help-assistant__guide {
  margin-top: .5rem;
  overflow: hidden;
  border: 1px solid rgba(109, 94, 247, .13);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(248,247,255,.98), rgba(255,255,255,.98));
}
.lm-help-assistant__guide-header {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: space-between;
  gap: .45rem;
  padding: .52rem .68rem;
  border-bottom: 1px solid rgba(109, 94, 247, .09);
  font-size: .72rem;
}
.lm-help-assistant__guide-role {
  flex: 0 0 auto;
  border-radius: 999px;
  background: rgba(109, 94, 247, .09);
  padding: .16rem .38rem;
  color: var(--loomera-primary, #6d5ef7);
  font-size: .55rem;
  font-weight: 850;
}
.lm-help-assistant__guide-role-note {
  margin: 0;
  padding: .55rem .68rem 0;
  color: #8a5a00;
  font-size: .64rem;
  line-height: 1.7;
}
.lm-help-assistant__flow {
  list-style: none;
  margin: 0;
  padding: .12rem .62rem .56rem;
}
.lm-help-assistant__flow-step {
  position: relative;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: .48rem;
  padding-top: .5rem;
}
.lm-help-assistant__flow-step--current {
  margin-top: .26rem;
  padding: .42rem .36rem .38rem;
  border: 1px solid rgba(41, 157, 105, .12);
  border-radius: 11px;
  background: rgba(41, 157, 105, .035);
}
.lm-help-assistant__flow-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 1.82rem;
  right: 11px;
  bottom: -.3rem;
  width: 2px;
  border-radius: 99px;
  background: rgba(109, 94, 247, .13);
}
.lm-help-assistant__flow-step--current:not(:last-child)::after {
  top: 2.1rem;
}
.lm-help-assistant__flow-marker {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--loomera-primary, #6d5ef7);
  color: #fff;
  font-size: .6rem;
  font-weight: 900;
  box-shadow: 0 4px 12px rgba(109,94,247,.14);
}
.lm-help-assistant__flow-step--current .lm-help-assistant__flow-marker {
  background: #2a9d6c;
  box-shadow: 0 4px 12px rgba(42,157,108,.14);
}
.lm-help-assistant__flow-copy {
  min-width: 0;
  padding-bottom: .05rem;
}
.lm-help-assistant__flow-heading-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .28rem;
}
.lm-help-assistant__flow-direct {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(37, 160, 98, .09);
  padding: .12rem .32rem;
  color: #237a51;
  font-size: .51rem;
  font-weight: 900;
  line-height: 1.3;
}
.lm-help-assistant__flow-direct--current {
  background: rgba(37, 160, 98, .13);
}
.lm-help-assistant__flow-title {
  display: inline-block;
  color: #17152c;
  font-size: .7rem;
  font-weight: 900;
  line-height: 1.55;
  text-decoration: none;
}
a.lm-help-assistant__flow-title:hover {
  color: var(--loomera-primary, #6d5ef7);
}
.lm-help-assistant__flow-copy p {
  margin: .06rem 0 0;
  color: #66637a;
  font-size: .63rem;
  line-height: 1.66;
}
.lm-help-assistant__flow-action {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  gap: .3rem;
  margin-top: .24rem;
  border: 1px solid rgba(109,94,247,.16);
  border-radius: 9px;
  background: #fff;
  padding: .24rem .44rem;
  color: var(--loomera-primary, #6d5ef7);
  font-size: .59rem;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 3px 10px rgba(76, 62, 136, .045);
}
.lm-help-assistant__flow-action:hover {
  background: rgba(109,94,247,.055);
}
@media (max-width: 640px) {
  .lm-help-assistant__guide {
    border-radius: 14px;
  }
  .lm-help-assistant__guide-header {
    padding: .48rem .58rem;
  }
  .lm-help-assistant__flow {
    padding-inline: .52rem;
  }
  .lm-help-assistant__flow-step {
    gap: .42rem;
  }
  .lm-help-assistant__messages {
    padding-right: 10px;
    padding-left: 10px;
  }
}


/* ==========================================================================
   Lومی UI v5.3 — approved brand refresh
   Primary: Loomera purple
   Secondary: Loomera mint/green
   ========================================================================== */
.lm-help-assistant {
  --lm-primary: #6d55bb;
  --lm-primary-deep: #5d43ad;
  --lm-primary-soft: #f2edff;
  --lm-secondary: #2fc7a2;
  --lm-secondary-deep: #1fa780;
  --lm-secondary-soft: #e8faf5;
  --lm-ink: #252136;
  --lm-muted: #777083;
  --lm-border: #e8e4ef;
  --lm-surface: #ffffff;
  --lm-canvas: #fbfafc;
}

/* Floating launcher */
.lm-help-assistant__fab {
  width: 56px;
  height: 56px;
  border: 1px solid rgba(109, 85, 187, .16);
  border-radius: 19px;
  background: rgba(255, 255, 255, .98);
  color: var(--lm-primary);
  box-shadow: 0 16px 42px rgba(41, 34, 66, .18);
}
.lm-help-assistant__fab-icon {
  position: relative;
  width: 40px;
  height: 40px;
  overflow: hidden;
  border-radius: 14px;
  background: linear-gradient(145deg, #f1ecff 0%, #f6f3ff 55%, #e9fbf6 100%);
  color: var(--lm-primary);
}
.lm-help-assistant__fab-icon::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 5px;
  width: 9px;
  height: 5px;
  transform: rotate(-28deg);
  border-radius: 100% 0 100% 0;
  background: var(--lm-secondary);
}
.lm-help-assistant__fab-badge {
  width: 10px;
  height: 10px;
  background: var(--lm-secondary);
  box-shadow: 0 0 0 3px rgba(47, 199, 162, .12);
}

/* Panel */
.lm-help-assistant__panel {
  width: min(420px, calc(100vw - 28px));
  height: min(720px, calc(100dvh - 116px));
  border: 1px solid rgba(87, 69, 120, .13);
  border-radius: 22px;
  background: var(--lm-surface);
  color: var(--lm-ink);
  box-shadow:
    0 30px 90px rgba(31, 25, 48, .22),
    0 4px 18px rgba(61, 45, 94, .07);
}

/* Header */
.lm-help-assistant__header {
  position: relative;
  min-height: 70px;
  padding: 11px 13px;
  border-bottom: 1px solid rgba(88, 69, 119, .10);
  background:
    radial-gradient(circle at 93% 0%, rgba(47, 199, 162, .10), transparent 25%),
    linear-gradient(180deg, #fff, #fff);
}
.lm-help-assistant__header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 92px;
  height: 2px;
  border-radius: 99px 0 0 99px;
  background: linear-gradient(90deg, var(--lm-secondary), var(--lm-primary));
  opacity: .65;
}
.lm-help-assistant__identity {
  gap: 10px;
}
.lm-help-assistant__avatar {
  position: relative;
  width: 44px;
  height: 44px;
  overflow: visible;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(145deg, var(--lm-primary) 0%, #8069d4 64%, #70d7bf 100%);
  color: #fff;
  font-size: 14px;
  box-shadow: 0 8px 18px rgba(98, 75, 177, .20);
}
.lm-help-assistant__avatar::after {
  content: "";
  position: absolute;
  top: -3px;
  left: 1px;
  width: 12px;
  height: 7px;
  transform: rotate(-28deg);
  border-radius: 100% 0 100% 0;
  background: var(--lm-secondary);
  box-shadow: 0 2px 6px rgba(47, 199, 162, .16);
}
.lm-help-assistant__identity strong {
  color: #27223a;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: -.15px;
}
.lm-help-assistant__identity small {
  margin-top: 2px;
  color: #888192;
  font-size: 8.7px;
  font-weight: 750;
}
.lm-help-assistant__online-dot {
  width: 7px;
  height: 7px;
  background: var(--lm-secondary);
  box-shadow: 0 0 0 3px rgba(47, 199, 162, .12);
}
.lm-help-assistant__header-actions {
  gap: 5px;
}
.lm-help-assistant__header-actions button {
  width: 34px;
  height: 34px;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #81798d;
  background: transparent;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.lm-help-assistant__header-actions button:hover {
  border-color: rgba(109, 85, 187, .10);
  background: #f8f6fc;
  color: var(--lm-primary);
}
.lm-help-assistant__header-actions button:active {
  transform: scale(.95);
}

/* Conversation canvas */
.lm-help-assistant__messages {
  padding: 15px 13px 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(109, 85, 187, .025), transparent 25%),
    var(--lm-canvas);
}
.lm-help-assistant__welcome {
  padding: 4px 1px 14px;
}
.lm-help-assistant__welcome-message {
  gap: 9px;
  padding: 11px 12px;
  border: 1px solid var(--lm-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(48, 39, 70, .025);
}
.lm-help-assistant__welcome-avatar {
  width: 32px;
  height: 32px;
  border-radius: 11px;
  background: linear-gradient(145deg, var(--lm-primary-soft), var(--lm-secondary-soft));
  color: var(--lm-primary);
}
.lm-help-assistant__welcome strong {
  font-size: 10.5px;
}
.lm-help-assistant__welcome p {
  margin-top: 2px;
  color: #80798a;
  font-size: 9px;
  line-height: 1.6;
}
.lm-help-assistant__prompts {
  gap: 6px;
  margin-top: 8px;
}
.lm-help-assistant__prompts button {
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid #e8e3ef;
  border-radius: 12px;
  background: #fff;
  color: #514a60;
  font-size: 8.7px;
  font-weight: 800;
}
.lm-help-assistant__prompts button::before {
  color: var(--lm-secondary-deep);
}
.lm-help-assistant__prompts button:hover {
  border-color: rgba(47, 199, 162, .28);
  background: #fbfffd;
  color: #3c675d;
}

/* Messages */
.lm-help-assistant__message {
  gap: 7px;
  margin: 10px 0;
}
.lm-help-assistant__message-avatar {
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(145deg, var(--lm-primary-soft), var(--lm-secondary-soft));
  color: var(--lm-primary);
}
.lm-help-assistant__message-stack {
  max-width: calc(100% - 33px);
}
.lm-help-assistant__message--user .lm-help-assistant__message-stack {
  max-width: 86%;
}
.lm-help-assistant__bubble {
  padding: 9px 11px;
  border-radius: 15px;
  font-size: 10.2px;
  line-height: 1.9;
}
.lm-help-assistant__message--user .lm-help-assistant__bubble {
  border: 1px solid rgba(109, 85, 187, .10);
  border-bottom-left-radius: 6px;
  background: linear-gradient(145deg, #ede7ff, #f4f0ff);
  color: #44366f;
  box-shadow: none;
}
.lm-help-assistant__message--assistant .lm-help-assistant__bubble {
  border: 1px solid #e9e5ee;
  border-bottom-right-radius: 6px;
  background: #fff;
  color: #46404f;
  box-shadow: 0 4px 14px rgba(44, 35, 62, .025);
}

/* Textless loading state */
.lm-help-assistant__message[data-temporary="1"] {
  margin-top: 6px;
}
.lm-help-assistant__message[data-temporary="1"] .lm-help-assistant__message-stack {
  max-width: max-content;
}
.lm-help-assistant__message[data-temporary="1"] .lm-help-assistant__bubble {
  min-width: 50px;
  padding: 10px 13px;
  border-color: rgba(109, 85, 187, .10);
  background: #fff;
}
.lm-help-assistant__typing-wrap {
  display: flex;
  min-height: 12px;
  align-items: center;
  justify-content: center;
}
.lm-help-assistant__typing span {
  width: 5px;
  height: 5px;
  background: linear-gradient(145deg, var(--lm-primary), var(--lm-secondary));
}

/* Citations + sources */
.lm-help-assistant__citation {
  background: var(--lm-primary-soft);
  color: var(--lm-primary-deep);
}
.lm-help-assistant__message-sources {
  width: min(100%, 340px);
  margin-top: 6px;
  border-color: #e8e4ef;
  border-radius: 12px;
}
.lm-help-assistant__message-sources summary {
  min-height: 35px;
  padding: 7px 9px;
  color: #696273;
}
.lm-help-assistant__message-sources summary i {
  color: var(--lm-secondary-deep);
}
.lm-help-assistant__source-count {
  background: var(--lm-primary-soft);
  color: var(--lm-primary);
}
.lm-help-assistant__source-link {
  background: #fbfafc;
  color: var(--lm-primary-deep);
}
.lm-help-assistant__source-link:hover {
  background: #f7f4fb;
}
.lm-help-assistant__source-number {
  background: var(--lm-secondary-soft);
  color: var(--lm-secondary-deep);
}

/* Feedback */
.lm-help-assistant__feedback {
  gap: 3px;
  margin-top: 6px;
  color: #98919e;
  font-size: 7.8px;
}
.lm-help-assistant__feedback button {
  width: 26px;
  height: 26px;
  border-radius: 8px;
}
.lm-help-assistant__feedback button[data-rating="helpful"]:hover,
.lm-help-assistant__feedback button[data-rating="helpful"].is-selected {
  background: var(--lm-secondary-soft);
  color: var(--lm-secondary-deep);
}
.lm-help-assistant__feedback button[data-rating="not_helpful"]:hover,
.lm-help-assistant__feedback button[data-rating="not_helpful"].is-selected {
  background: var(--lm-primary-soft);
  color: var(--lm-primary);
}

/* Handoff: single clean action */
.lm-help-assistant__handoff {
  display: block;
  padding: 7px 11px 5px;
  border-top: 0;
  background: #fff;
}
.lm-help-assistant__handoff button {
  display: flex;
  width: 100%;
  min-height: 35px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid rgba(47, 199, 162, .30);
  border-radius: 11px;
  background: linear-gradient(180deg, #fff, #fbfffd);
  color: var(--lm-secondary-deep);
  font-size: 8.6px;
  font-weight: 900;
}
.lm-help-assistant__handoff button:hover {
  border-color: rgba(47, 199, 162, .45);
  background: var(--lm-secondary-soft);
}

/* Composer */
.lm-help-assistant__composer {
  padding: 8px 10px 10px;
  border-top: 1px solid rgba(88, 69, 119, .09);
  background: #fff;
}
.lm-help-assistant__input-shell {
  align-items: center;
  gap: 6px;
  padding: 5px 5px 5px 7px;
  border: 1px solid #e1dce8;
  border-radius: 16px;
  background: #fbfafc;
}
.lm-help-assistant__input-shell:focus-within {
  border-color: rgba(109, 85, 187, .36);
  background: #fff;
  box-shadow:
    0 0 0 3px rgba(109, 85, 187, .06),
    0 0 0 1px rgba(47, 199, 162, .04);
}
.lm-help-assistant__composer textarea {
  min-height: 34px;
  max-height: 116px;
  padding: 7px 8px;
  color: #322d3b;
  font-size: 10.2px;
}
.lm-help-assistant__composer [data-help-send] {
  width: 37px;
  height: 37px;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--lm-primary) 0%, #7159c8 58%, var(--lm-secondary) 145%);
  box-shadow: 0 7px 16px rgba(97, 74, 178, .20);
  transition: transform .15s ease, box-shadow .15s ease;
}
.lm-help-assistant__composer [data-help-send]:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 9px 20px rgba(97, 74, 178, .24);
}

/* Workflow: preserve v5.2 compact layout and apply both brand colors */
.lm-help-assistant__guide {
  border-color: rgba(109, 85, 187, .12);
  background:
    radial-gradient(circle at 100% 0%, rgba(47, 199, 162, .05), transparent 22%),
    linear-gradient(180deg, #fbfaff, #fff);
}
.lm-help-assistant__guide-header {
  border-bottom-color: rgba(109, 85, 187, .08);
}
.lm-help-assistant__guide-role {
  background: var(--lm-primary-soft);
  color: var(--lm-primary);
}
.lm-help-assistant__flow-step--current {
  border-color: rgba(47, 199, 162, .15);
  background: rgba(47, 199, 162, .035);
}
.lm-help-assistant__flow-step--current .lm-help-assistant__flow-marker {
  background: var(--lm-secondary-deep);
}
.lm-help-assistant__flow-direct {
  background: var(--lm-secondary-soft);
  color: var(--lm-secondary-deep);
}
.lm-help-assistant__flow-marker {
  background: var(--lm-primary);
}
.lm-help-assistant__flow-action {
  border-color: rgba(109, 85, 187, .16);
  color: var(--lm-primary);
}
.lm-help-assistant__flow-action:hover {
  border-color: rgba(47, 199, 162, .28);
  background: linear-gradient(90deg, rgba(109,85,187,.045), rgba(47,199,162,.055));
}

/* Remove legacy UI that no longer exists */
.lm-help-assistant__undo,
.lm-help-assistant__composer-meta {
  display: none !important;
}

@media (max-width: 767px) {
  .lm-help-assistant__panel {
    border-radius: 0;
  }
  .lm-help-assistant__header {
    min-height: 68px;
  }
  .lm-help-assistant__messages {
    padding: 12px 10px 15px;
  }
  .lm-help-assistant__handoff {
    padding-right: 9px;
    padding-left: 9px;
  }
  .lm-help-assistant__composer {
    padding-right: 9px;
    padding-left: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lm-help-assistant__header-actions button,
  .lm-help-assistant__composer [data-help-send] {
    transition: none;
  }
}

/* ==========================================================================
   Lومی v5.3.1 — mobile viewport hotfix
   Keep this block LAST. It intentionally overrides every generic panel rule.
   ========================================================================== */
@media (max-width: 767px) {
  .lm-help-assistant {
    left: 12px !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(5.35rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  .lm-help-assistant__panel {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    min-width: 0 !important;
    max-width: none !important;

    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: none !important;

    margin: 0 !important;
    transform: none !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-sizing: border-box;
    overflow: hidden;
    overscroll-behavior: contain;
  }

  .lm-help-assistant__header {
    flex: 0 0 auto;
    padding-top: calc(10px + env(safe-area-inset-top, 0px));
  }

  .lm-help-assistant__messages {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .lm-help-assistant__handoff,
  .lm-help-assistant__composer {
    flex: 0 0 auto;
  }

  .lm-help-assistant__composer {
    padding-bottom: calc(9px + env(safe-area-inset-bottom, 0px));
  }

  body:has(.lm-help-assistant__panel:not([hidden])) {
    overflow: hidden;
  }
}

/* Slightly roomier centered card on tablets, without changing desktop. */
@media (min-width: 768px) and (max-width: 1023px) {
  .lm-help-assistant__panel {
    left: 50% !important;
    right: auto !important;
    width: min(430px, calc(100vw - 32px)) !important;
    transform: translateX(-50%) !important;
  }
}


@media (max-width: 767px) {
  body.lm-help-assistant-open {
    overflow: hidden !important;
    overscroll-behavior: none;
  }
}

/* ==========================================================================
   Lومی v5.3.2 — mobile readability polish
   ========================================================================== */
.lm-help-assistant__answer-paragraph {
  margin: 0;
}
.lm-help-assistant__answer-paragraph + .lm-help-assistant__answer-paragraph {
  margin-top: .72rem;
}
.lm-help-assistant__answer-more {
  margin-top: .65rem;
  overflow: hidden;
  border-top: 1px solid rgba(109, 85, 187, .09);
}
.lm-help-assistant__answer-more summary {
  display: flex;
  min-height: 36px;
  cursor: pointer;
  list-style: none;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .55rem .1rem .15rem;
  color: var(--lm-primary);
  font-weight: 850;
}
.lm-help-assistant__answer-more summary::-webkit-details-marker {
  display: none;
}
.lm-help-assistant__answer-more summary i {
  transition: transform .18s ease;
}
.lm-help-assistant__answer-more[open] summary i {
  transform: rotate(180deg);
}
.lm-help-assistant__answer-more-body {
  padding-top: .45rem;
}

@media (max-width: 767px) {
  /* Reading area */
  .lm-help-assistant__messages {
    padding: 14px 12px 18px !important;
    scroll-padding-bottom: 92px;
  }

  .lm-help-assistant__message {
    gap: 0;
    margin: 12px 0;
  }

  /* The avatar is useful on desktop but steals precious reading width on phone. */
  .lm-help-assistant__message--assistant > .lm-help-assistant__message-avatar {
    display: none;
  }

  .lm-help-assistant__message-stack,
  .lm-help-assistant__message--assistant .lm-help-assistant__message-stack {
    width: 100%;
    max-width: 100% !important;
  }

  .lm-help-assistant__message--user .lm-help-assistant__message-stack {
    width: auto;
    max-width: 88% !important;
  }

  .lm-help-assistant__bubble {
    padding: 12px 13px;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 560;
    line-height: 1.95;
    letter-spacing: 0;
  }

  .lm-help-assistant__message--assistant .lm-help-assistant__bubble {
    width: 100%;
    border-radius: 15px;
  }

  .lm-help-assistant__message--user .lm-help-assistant__bubble {
    padding: 10px 12px;
    font-size: 13.5px;
    line-height: 1.75;
  }

  .lm-help-assistant__answer-paragraph + .lm-help-assistant__answer-paragraph {
    margin-top: .85rem;
  }

  .lm-help-assistant__answer-more summary {
    min-height: 44px;
    padding-top: .7rem;
    font-size: 13px;
  }

  /* Inline citations remain available but no longer dominate the sentence. */
  .lm-help-assistant__citation {
    width: 16px;
    height: 16px;
    margin: 0 2px;
    transform: translateY(-1px);
    border-radius: 5px;
    font-size: 7.5px;
    opacity: .78;
  }

  /* Sources */
  .lm-help-assistant__message-sources {
    width: 100%;
    margin-top: 8px;
    border-radius: 13px;
  }

  .lm-help-assistant__message-sources summary {
    min-height: 44px;
    padding: 9px 11px;
    font-size: 12.5px;
  }

  .lm-help-assistant__source-link {
    min-height: 48px;
    padding: 9px 10px;
  }

  .lm-help-assistant__source-copy strong {
    font-size: 12.5px;
    line-height: 1.55;
  }

  .lm-help-assistant__source-copy small {
    font-size: 11px;
    line-height: 1.55;
  }

  /* Feedback is easy to tap without becoming visually heavy. */
  .lm-help-assistant__feedback {
    min-height: 44px;
    gap: 5px;
    margin-top: 5px;
    font-size: 12px;
  }

  .lm-help-assistant__feedback button {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    font-size: 14px;
  }

  /* Workflow readability */
  .lm-help-assistant__guide {
    width: 100%;
    margin-top: 8px;
    border-radius: 15px;
  }

  .lm-help-assistant__guide-header {
    min-height: 46px;
    padding: 8px 10px;
    font-size: 13px;
  }

  .lm-help-assistant__guide-role {
    padding: 3px 7px;
    font-size: 10px;
  }

  .lm-help-assistant__flow {
    padding: 3px 9px 10px;
  }

  .lm-help-assistant__flow-step {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 8px;
    padding-top: 9px;
  }

  .lm-help-assistant__flow-marker {
    width: 28px;
    height: 28px;
    font-size: 10px;
  }

  .lm-help-assistant__flow-step:not(:last-child)::after {
    top: 2.15rem;
    right: 13px;
  }

  .lm-help-assistant__flow-title {
    font-size: 13px;
    line-height: 1.65;
  }

  .lm-help-assistant__flow-copy p {
    margin-top: 3px;
    font-size: 12px;
    line-height: 1.72;
  }

  .lm-help-assistant__flow-direct {
    padding: 2px 6px;
    font-size: 9px;
  }

  .lm-help-assistant__flow-action {
    min-height: 42px;
    margin-top: 7px;
    padding: 8px 11px;
    border-radius: 11px;
    font-size: 12.5px;
  }

  /* Header touch targets */
  .lm-help-assistant__header-actions {
    gap: 4px;
  }

  .lm-help-assistant__header-actions button {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    font-size: 15px;
  }

  .lm-help-assistant__avatar {
    width: 44px;
    height: 44px;
  }

  .lm-help-assistant__identity strong {
    font-size: 14px;
  }

  .lm-help-assistant__identity small {
    font-size: 10.5px;
  }

  /* Handoff only appears when it is useful; when visible it is finger-friendly. */
  .lm-help-assistant__handoff {
    padding: 7px 10px 4px;
  }

  .lm-help-assistant__handoff button {
    min-height: 44px;
    border-radius: 12px;
    font-size: 12.5px;
  }

  /* Composer: 16px prevents unwanted mobile browser zoom on focus. */
  .lm-help-assistant__composer {
    padding: 8px 10px calc(9px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .lm-help-assistant__input-shell {
    min-height: 52px;
    padding: 4px 5px;
    border-radius: 16px;
  }

  .lm-help-assistant__composer textarea {
    min-height: 42px;
    padding: 9px 10px;
    font-size: 16px;
    line-height: 1.55;
  }

  .lm-help-assistant__composer [data-help-send] {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 13px;
    font-size: 15px;
  }

  /* Loading remains deliberately quiet. */
  .lm-help-assistant__message[data-temporary="1"] .lm-help-assistant__message-stack {
    width: auto;
    max-width: max-content !important;
  }

  .lm-help-assistant__message[data-temporary="1"] .lm-help-assistant__bubble {
    width: auto;
    min-width: 54px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lm-help-assistant__answer-more summary i {
    transition: none;
  }
}


/* ==========================================================================
   Lumi Actions v1 — customer discovery cards
   ========================================================================== */
.lm-help-assistant__discovery {
  width: min(100%, 360px);
  margin-top: 8px;
  overflow: hidden;
  border: 1px solid rgba(109, 85, 187, .12);
  border-radius: 15px;
  background:
    radial-gradient(circle at 100% 0%, rgba(47, 199, 162, .055), transparent 28%),
    #fff;
  box-shadow: 0 5px 18px rgba(44, 35, 62, .035);
}

.lm-help-assistant__discovery-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 9px 9px 3px;
}

.lm-help-assistant__discovery-chip {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  background: #f7f4fc;
  padding: 4px 7px;
  color: #625879;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.4;
}

.lm-help-assistant__discovery-chip i {
  color: var(--lm-secondary-deep, #1fa780);
  font-size: 8px;
}

.lm-help-assistant__discovery-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 9px 10px;
}

.lm-help-assistant__discovery-suggestions button {
  min-height: 34px;
  cursor: pointer;
  border: 1px solid rgba(109, 85, 187, .15);
  border-radius: 11px;
  background: #fff;
  padding: 6px 9px;
  color: var(--lm-primary, #6d55bb);
  font: inherit;
  font-size: 9.5px;
  font-weight: 850;
}

.lm-help-assistant__discovery-suggestions button:hover {
  border-color: rgba(47, 199, 162, .32);
  background: var(--lm-secondary-soft, #e8faf5);
  color: var(--lm-secondary-deep, #1fa780);
}

.lm-help-assistant__discovery-location {
  display: flex;
  width: calc(100% - 18px);
  min-height: 42px;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 9px;
  border: 1px solid rgba(47, 199, 162, .28);
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, #fbfffd);
  padding: 8px 10px;
  color: var(--lm-secondary-deep, #1fa780);
  font: inherit;
  font-size: 10px;
  font-weight: 900;
}

.lm-help-assistant__discovery-location > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.lm-help-assistant__discovery-results {
  display: grid;
  gap: 7px;
  padding: 8px;
}

.lm-help-assistant__discovery-result {
  overflow: hidden;
  border: 1px solid #ece8f1;
  border-radius: 13px;
  background: #fff;
}

.lm-help-assistant__discovery-result-top {
  display: grid;
  grid-template-columns: 48px 20px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 8px;
}

.lm-help-assistant__discovery-image {
  width: 48px;
  height: 48px;
  border-radius: 11px;
  object-fit: cover;
  background: #f4f1f8;
}

.lm-help-assistant__discovery-image--placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, var(--lm-primary-soft, #f2edff), var(--lm-secondary-soft, #e8faf5));
  color: var(--lm-primary, #6d55bb);
}

.lm-help-assistant__discovery-rank {
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: var(--lm-primary-soft, #f2edff);
  color: var(--lm-primary, #6d55bb);
  font-size: 8px;
  font-weight: 950;
}

.lm-help-assistant__discovery-result-copy {
  min-width: 0;
}

.lm-help-assistant__discovery-result-copy strong,
.lm-help-assistant__discovery-result-copy small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lm-help-assistant__discovery-result-copy strong {
  color: #2d2936;
  font-size: 10.5px;
  font-weight: 950;
}

.lm-help-assistant__discovery-result-copy small {
  margin-top: 2px;
  color: #89828e;
  font-size: 8.5px;
}

.lm-help-assistant__discovery-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 8px;
  padding: 0 8px 8px;
  color: #6f6877;
  font-size: 8.5px;
  font-weight: 750;
}

.lm-help-assistant__discovery-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.lm-help-assistant__discovery-meta i {
  color: var(--lm-secondary-deep, #1fa780);
}

.lm-help-assistant__discovery-meta .fa-star {
  color: #e8a317;
}

.lm-help-assistant__discovery-availability {
  width: 100%;
  color: var(--lm-secondary-deep, #1fa780);
}

.lm-help-assistant__discovery-result-action {
  display: flex;
  min-height: 35px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-top: 1px solid #f0edf3;
  background: #fcfbfd;
  padding: 7px 9px;
  color: var(--lm-primary, #6d55bb);
  font-size: 9px;
  font-weight: 900;
  text-decoration: none;
}

.lm-help-assistant__discovery-result-action:hover {
  background: linear-gradient(90deg, rgba(109,85,187,.04), rgba(47,199,162,.05));
}

.lm-help-assistant__discovery-all {
  display: flex;
  min-height: 39px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-top: 1px solid rgba(109, 85, 187, .09);
  color: var(--lm-primary, #6d55bb);
  font-size: 9px;
  font-weight: 900;
  text-decoration: none;
}

@media (max-width: 767px) {
  .lm-help-assistant__discovery {
    width: 100%;
    margin-top: 9px;
    border-radius: 15px;
  }

  .lm-help-assistant__discovery-filters {
    gap: 6px;
    padding: 10px 10px 4px;
  }

  .lm-help-assistant__discovery-chip {
    min-height: 31px;
    padding: 5px 8px;
    font-size: 11px;
  }

  .lm-help-assistant__discovery-location {
    min-height: 48px;
    font-size: 13px;
  }

  .lm-help-assistant__discovery-suggestions button {
    min-height: 42px;
    padding: 8px 11px;
    font-size: 12px;
  }

  .lm-help-assistant__discovery-results {
    gap: 9px;
    padding: 9px;
  }

  .lm-help-assistant__discovery-result-top {
    grid-template-columns: 58px 24px minmax(0, 1fr);
    gap: 8px;
    padding: 9px;
  }

  .lm-help-assistant__discovery-image {
    width: 58px;
    height: 58px;
    border-radius: 12px;
  }

  .lm-help-assistant__discovery-rank {
    width: 24px;
    height: 24px;
    font-size: 10px;
  }

  .lm-help-assistant__discovery-result-copy strong {
    font-size: 13.5px;
  }

  .lm-help-assistant__discovery-result-copy small {
    margin-top: 3px;
    font-size: 11.5px;
  }

  .lm-help-assistant__discovery-meta {
    gap: 7px 11px;
    padding: 0 9px 9px;
    font-size: 11.5px;
  }

  .lm-help-assistant__discovery-result-action,
  .lm-help-assistant__discovery-all {
    min-height: 46px;
    padding: 9px 11px;
    font-size: 12.5px;
  }
}


/* ==========================================================================
   Lumi Actions v2 — customer booking cards
   ========================================================================== */
.lm-help-assistant__discovery-result-detail {
  display: block;
  margin-top: 5px;
  padding: 4px 2px;
  color: #82798f;
  font-size: 8.5px;
  font-weight: 750;
  text-align: center;
  text-decoration: none;
}
.lm-help-assistant__discovery-result-detail:hover { color: var(--lm-primary); }
button.lm-help-assistant__discovery-result-action { width: 100%; cursor: pointer; font-family: inherit; }

.lm-help-assistant__booking {
  width: min(100%, 350px);
  margin-top: 7px;
  overflow: hidden;
  border: 1px solid rgba(109, 85, 187, .13);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(46, 36, 68, .045);
}
.lm-help-assistant__booking-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 10px;
  border-bottom: 1px solid #efebf3;
  background: linear-gradient(90deg, rgba(109,85,187,.055), rgba(47,199,162,.055));
}
.lm-help-assistant__booking-context strong { color: #3c3451; font-size: 10px; }
.lm-help-assistant__booking-context span { color: #82798e; font-size: 8px; }
.lm-help-assistant__booking-providers { display: grid; gap: 6px; padding: 8px; }
.lm-help-assistant__booking-provider {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 14px;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px;
  cursor: pointer;
  border: 1px solid #ece7f1;
  border-radius: 12px;
  background: #fff;
  color: #3d3747;
  font-family: inherit;
  text-align: right;
}
.lm-help-assistant__booking-provider:hover { border-color: rgba(47,199,162,.35); background: #fbfffd; }
.lm-help-assistant__booking-provider img,
.lm-help-assistant__booking-provider-avatar {
  width: 36px; height: 36px; border-radius: 11px; object-fit: cover;
}
.lm-help-assistant__booking-provider-avatar {
  display: grid; place-items: center; background: linear-gradient(145deg, var(--lm-primary-soft), var(--lm-secondary-soft)); color: var(--lm-primary);
}
.lm-help-assistant__booking-provider-copy { display: grid; min-width: 0; gap: 2px; }
.lm-help-assistant__booking-provider-copy strong { overflow: hidden; font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.lm-help-assistant__booking-provider-copy small { color: #8a8291; font-size: 7.8px; }
.lm-help-assistant__booking-provider-copy em { color: var(--lm-secondary-deep); font-size: 8px; font-style: normal; font-weight: 850; }
.lm-help-assistant__booking-provider > i { color: #aaa3b2; font-size: 8px; }

.lm-help-assistant__booking-day { padding: 9px 10px 3px; }
.lm-help-assistant__booking-day > strong { display: block; margin-bottom: 7px; color: #5b5264; font-size: 9px; }
.lm-help-assistant__booking-slots { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.lm-help-assistant__booking-slots button {
  min-height: 34px; cursor: pointer; border: 1px solid #e6e0ed; border-radius: 10px; background: #fbfafc; color: var(--lm-primary-deep); font-family: inherit; font-size: 9px; font-weight: 850;
}
.lm-help-assistant__booking-slots button:hover { border-color: rgba(47,199,162,.38); background: var(--lm-secondary-soft); color: var(--lm-secondary-deep); }

.lm-help-assistant__booking-primary,
.lm-help-assistant__booking-link,
.lm-help-assistant__booking-cancel {
  font-family: inherit;
}
.lm-help-assistant__booking-primary {
  display: flex; width: calc(100% - 16px); min-height: 38px; margin: 8px; padding: 8px 10px; cursor: pointer; align-items: center; justify-content: center; gap: 7px; border: 0; border-radius: 11px; background: linear-gradient(110deg, var(--lm-primary), #735ec7 66%, var(--lm-secondary)); color: #fff; font-size: 9px; font-weight: 900; text-decoration: none;
}
.lm-help-assistant__booking-primary--soft { border: 1px solid rgba(47,199,162,.25); background: var(--lm-secondary-soft); color: var(--lm-secondary-deep); }
.lm-help-assistant__booking-link,
.lm-help-assistant__booking-cancel {
  display: block; width: calc(100% - 16px); min-height: 32px; margin: 4px 8px; cursor: pointer; border: 0; background: transparent; color: #777080; font-size: 8.3px; font-weight: 800;
}
.lm-help-assistant__booking-link:hover { color: var(--lm-primary); }
.lm-help-assistant__booking-cancel { margin-bottom: 7px; color: #9b7280; }

.lm-help-assistant__booking-preview-title {
  display: flex; min-height: 42px; align-items: center; gap: 7px; padding: 9px 10px; border-bottom: 1px solid #eeeaf2; background: linear-gradient(90deg, var(--lm-secondary-soft), #fff); color: #3e635b; font-size: 10px;
}
.lm-help-assistant__booking-preview-title i { color: var(--lm-secondary-deep); }
.lm-help-assistant__booking-preview {
  display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 0; margin: 0; padding: 5px 10px;
}
.lm-help-assistant__booking-preview dt,
.lm-help-assistant__booking-preview dd { margin: 0; padding: 6px 0; border-bottom: 1px dashed #eeeaf2; font-size: 8.7px; }
.lm-help-assistant__booking-preview dt { color: #8b8491; }
.lm-help-assistant__booking-preview dd { color: #3e3846; font-weight: 850; text-align: left; }
.lm-help-assistant__booking-discount { margin: 4px 10px 0; padding: 6px 8px; border-radius: 9px; background: var(--lm-secondary-soft); color: var(--lm-secondary-deep); font-size: 8px; font-weight: 800; }
.lm-help-assistant__booking-confirm { display: grid; gap: 2px; }
.lm-help-assistant__booking-safe-note { display: block; padding: 0 10px 5px; color: #918996; font-size: 7.5px; text-align: center; }

@media (max-width: 767px) {
  .lm-help-assistant__booking { width: 100%; max-width: none; border-radius: 15px; }
  .lm-help-assistant__discovery-result-detail { min-height: 38px; display: flex; align-items: center; justify-content: center; font-size: 12px; }
  .lm-help-assistant__booking-context { min-height: 48px; padding: 9px 11px; }
  .lm-help-assistant__booking-context strong { font-size: 13px; }
  .lm-help-assistant__booking-context span { font-size: 11px; }
  .lm-help-assistant__booking-providers { gap: 7px; padding: 9px; }
  .lm-help-assistant__booking-provider { grid-template-columns: 44px minmax(0, 1fr) 16px; gap: 9px; min-height: 62px; padding: 8px 9px; }
  .lm-help-assistant__booking-provider img,
  .lm-help-assistant__booking-provider-avatar { width: 44px; height: 44px; border-radius: 12px; }
  .lm-help-assistant__booking-provider-copy strong { font-size: 13px; }
  .lm-help-assistant__booking-provider-copy small { font-size: 11px; line-height: 1.55; }
  .lm-help-assistant__booking-provider-copy em { font-size: 11.5px; }
  .lm-help-assistant__booking-day { padding: 10px 11px 4px; }
  .lm-help-assistant__booking-day > strong { margin-bottom: 8px; font-size: 12.5px; }
  .lm-help-assistant__booking-slots { grid-template-columns: repeat(3, 1fr); gap: 7px; }
  .lm-help-assistant__booking-slots button { min-height: 44px; border-radius: 11px; font-size: 13px; }
  .lm-help-assistant__booking-primary { min-height: 46px; margin: 9px; width: calc(100% - 18px); border-radius: 12px; font-size: 13px; }
  .lm-help-assistant__booking-link,
  .lm-help-assistant__booking-cancel { min-height: 42px; margin-right: 9px; margin-left: 9px; width: calc(100% - 18px); font-size: 12px; }
  .lm-help-assistant__booking-preview-title { min-height: 48px; padding: 10px 11px; font-size: 13px; }
  .lm-help-assistant__booking-preview { grid-template-columns: 92px minmax(0, 1fr); padding: 6px 11px; }
  .lm-help-assistant__booking-preview dt,
  .lm-help-assistant__booking-preview dd { padding: 8px 0; font-size: 12.5px; }
  .lm-help-assistant__booking-discount { margin: 5px 11px 0; padding: 8px; font-size: 11.5px; }
  .lm-help-assistant__booking-safe-note { padding: 0 11px 6px; font-size: 10.5px; line-height: 1.6; }
}

/* ========================================================================== 
   Lumi Operational Actions v3 — reusable cards for preview/confirm/execute
   ========================================================================== */
.lm-help-assistant__operation {
  width: min(100%, 340px);
  margin-top: 7px;
  overflow: hidden;
  border: 1px solid rgba(109, 85, 187, .13);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff 0%, #fdfcff 100%);
  box-shadow: 0 5px 16px rgba(53, 42, 75, .035);
}
.lm-help-assistant__operation-header {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(109, 85, 187, .08);
  background: linear-gradient(90deg, rgba(109,85,187,.055), rgba(47,199,162,.045));
  color: #433957;
  font-size: 9.8px;
}
.lm-help-assistant__operation-icon {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border-radius: 9px;
  background: linear-gradient(145deg, var(--lm-primary-soft), var(--lm-secondary-soft));
  color: var(--lm-primary);
}
.lm-help-assistant__operation-preview {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  margin: 0;
  padding: 5px 10px;
}
.lm-help-assistant__operation-preview dt,
.lm-help-assistant__operation-preview dd {
  margin: 0;
  padding: 6px 0;
  border-bottom: 1px dashed #eeeaf2;
  font-size: 8.6px;
  line-height: 1.55;
}
.lm-help-assistant__operation-preview dt { color: #8c8493; }
.lm-help-assistant__operation-preview dd {
  color: #3e3749;
  font-weight: 850;
  text-align: left;
}
.lm-help-assistant__operation-notice {
  margin: 5px 9px;
  padding: 7px 8px;
  border-radius: 9px;
  background: var(--lm-secondary-soft);
  color: #3c7165;
  font-size: 7.8px;
  line-height: 1.7;
}
.lm-help-assistant__operation-actions {
  display: grid;
  gap: 5px;
  padding: 7px 9px 9px;
}
.lm-help-assistant__operation-primary,
.lm-help-assistant__operation-secondary,
.lm-help-assistant__operation-review-actions button,
.lm-help-assistant__operation-suggestions button {
  font-family: inherit;
}
.lm-help-assistant__operation-primary {
  display: flex;
  min-height: 38px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(110deg, var(--lm-primary), #755fc7 70%, var(--lm-secondary));
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  text-decoration: none;
}
.lm-help-assistant__operation-primary--danger {
  background: linear-gradient(110deg, #b54b68, #c45d77 70%, #8e648e);
}
.lm-help-assistant__operation-primary--link { margin: 9px; }
.lm-help-assistant__operation-secondary {
  min-height: 32px;
  cursor: pointer;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #81798a;
  font-size: 8.5px;
  font-weight: 800;
}
.lm-help-assistant__operation-primary:disabled,
.lm-help-assistant__operation-review-actions button:disabled { opacity: .55; cursor: wait; }
.lm-help-assistant__operation-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px;
}
.lm-help-assistant__operation-suggestions button {
  min-height: 32px;
  cursor: pointer;
  border: 1px solid rgba(109,85,187,.14);
  border-radius: 999px;
  background: #fff;
  color: var(--lm-primary-deep);
  padding: 6px 9px;
  font-size: 8px;
  font-weight: 800;
}
.lm-help-assistant__operation-suggestions button:hover {
  border-color: rgba(47,199,162,.28);
  background: var(--lm-secondary-soft);
  color: var(--lm-secondary-deep);
}
.lm-help-assistant__operation-section-title {
  display: block;
  padding: 10px 10px 7px;
  color: #443c50;
  font-size: 9.5px;
}
.lm-help-assistant__operation-review-list {
  display: grid;
  gap: 6px;
  padding: 0 8px 8px;
}
.lm-help-assistant__operation-review-item {
  padding: 8px;
  border: 1px solid #ece8f0;
  border-radius: 11px;
  background: #fff;
}
.lm-help-assistant__operation-review-copy {
  display: grid;
  gap: 2px;
}
.lm-help-assistant__operation-review-copy strong { color: #40384b; font-size: 9px; }
.lm-help-assistant__operation-review-copy small { color: #817a88; font-size: 7.8px; line-height: 1.55; }
.lm-help-assistant__operation-review-copy p { margin: 3px 0 0; color: #8e8794; font-size: 7.5px; line-height: 1.6; }
.lm-help-assistant__operation-review-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 7px;
}
.lm-help-assistant__operation-review-actions button {
  min-height: 31px;
  cursor: pointer;
  border-radius: 9px;
  font-size: 8px;
  font-weight: 900;
}
.lm-help-assistant__operation-review-actions .is-approve {
  border: 1px solid rgba(47,199,162,.28);
  background: var(--lm-secondary-soft);
  color: var(--lm-secondary-deep);
}
.lm-help-assistant__operation-review-actions .is-reject {
  border: 1px solid rgba(181,75,104,.20);
  background: #fff7f9;
  color: #a44260;
}
.lm-help-assistant__operation-link {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  margin: 4px 8px 8px;
  border-radius: 10px;
  color: var(--lm-primary);
  font-size: 8.4px;
  font-weight: 850;
  text-decoration: none;
}
.lm-help-assistant__operation-link:hover { background: var(--lm-primary-soft); }
.lm-help-assistant__operation-success {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  background: linear-gradient(90deg, var(--lm-secondary-soft), #fff);
}
.lm-help-assistant__operation-success > span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 10px;
  background: var(--lm-secondary);
  color: #fff;
}
.lm-help-assistant__operation-success > div { display: grid; gap: 2px; }
.lm-help-assistant__operation-success strong { color: #285f53; font-size: 9.2px; }
.lm-help-assistant__operation-success small { color: #6e8a83; font-size: 7.7px; }
.lm-help-assistant__capability-group {
  padding: 9px 10px;
  border-bottom: 1px solid #eeeaf2;
}
.lm-help-assistant__capability-group:last-child { border-bottom: 0; }
.lm-help-assistant__capability-group > strong { color: #443b50; font-size: 9.5px; }
.lm-help-assistant__capability-group ul {
  display: grid;
  gap: 4px;
  margin: 6px 0 3px;
  padding: 0 16px 0 0;
  color: #6f6876;
  font-size: 8px;
  line-height: 1.65;
}
.lm-help-assistant__capability-group .lm-help-assistant__operation-suggestions { padding: 6px 0 0; }

@media (max-width: 767px) {
  .lm-help-assistant__operation { width: 100%; max-width: none; border-radius: 15px; }
  .lm-help-assistant__operation-header { min-height: 48px; padding: 9px 11px; font-size: 13px; }
  .lm-help-assistant__operation-icon { width: 34px; height: 34px; flex-basis: 34px; border-radius: 11px; }
  .lm-help-assistant__operation-preview { grid-template-columns: 96px minmax(0, 1fr); padding: 6px 11px; }
  .lm-help-assistant__operation-preview dt,
  .lm-help-assistant__operation-preview dd { padding: 8px 0; font-size: 12.5px; }
  .lm-help-assistant__operation-notice { margin: 6px 10px; padding: 9px; font-size: 11.5px; }
  .lm-help-assistant__operation-actions { gap: 6px; padding: 8px 10px 10px; }
  .lm-help-assistant__operation-primary { min-height: 46px; border-radius: 12px; font-size: 13px; }
  .lm-help-assistant__operation-secondary { min-height: 42px; font-size: 12px; }
  .lm-help-assistant__operation-suggestions { gap: 7px; padding: 9px; }
  .lm-help-assistant__operation-suggestions button { min-height: 42px; padding: 8px 11px; font-size: 12px; }
  .lm-help-assistant__operation-section-title { padding: 11px 11px 8px; font-size: 13px; }
  .lm-help-assistant__operation-review-list { gap: 8px; padding: 0 9px 9px; }
  .lm-help-assistant__operation-review-item { padding: 10px; border-radius: 12px; }
  .lm-help-assistant__operation-review-copy strong { font-size: 13px; }
  .lm-help-assistant__operation-review-copy small { font-size: 11.5px; }
  .lm-help-assistant__operation-review-copy p { font-size: 11px; }
  .lm-help-assistant__operation-review-actions button { min-height: 44px; font-size: 12.5px; }
  .lm-help-assistant__operation-link { min-height: 44px; font-size: 12px; }
  .lm-help-assistant__operation-success { padding: 11px; }
  .lm-help-assistant__operation-success > span { width: 38px; height: 38px; border-radius: 12px; }
  .lm-help-assistant__operation-success strong { font-size: 13px; }
  .lm-help-assistant__operation-success small { font-size: 11px; }
  .lm-help-assistant__capability-group { padding: 11px; }
  .lm-help-assistant__capability-group > strong { font-size: 13px; }
  .lm-help-assistant__capability-group ul { gap: 5px; margin-top: 7px; font-size: 12px; line-height: 1.75; }
}

/* Lumi Operational Core v3 — secure entity choices */
.lm-help-assistant__operation-choice-list {
  display: grid;
  gap: 7px;
  margin-top: 8px;
}
.lm-help-assistant__operation-choice-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 9px 10px;
  border: 1px solid rgba(109, 85, 187, .11);
  border-radius: 12px;
  background: #fff;
}
.lm-help-assistant__operation-choice-button {
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid rgba(109, 85, 187, .18);
  border-radius: 10px;
  background: var(--lm-primary-soft);
  color: var(--lm-primary-deep);
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}
.lm-help-assistant__operation-choice-button:hover {
  border-color: rgba(47, 199, 162, .3);
  background: linear-gradient(90deg, var(--lm-primary-soft), var(--lm-secondary-soft));
}
.lm-help-assistant__operation-choice-button:disabled {
  cursor: wait;
  opacity: .55;
}
@media (max-width: 767px) {
  .lm-help-assistant__operation-choice-item {
    grid-template-columns: 1fr;
    padding: 10px;
  }
  .lm-help-assistant__operation-choice-button {
    width: 100%;
    min-height: 44px;
    font-size: 12.5px;
  }
}

/* Lumi Beta UX: explicit recoverable error state. */
.lm-help-assistant__message--error .lm-help-assistant__bubble {
  border-color: #f0cfd7;
  background: #fff8fa;
  color: #704553;
}

.lm-help-assistant__retry {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  padding: 7px 10px;
  border: 1px solid rgba(110, 85, 187, .22);
  border-radius: 10px;
  background: #fff;
  color: #654fb1;
  cursor: pointer;
  font: inherit;
  font-size: 8.5px;
  font-weight: 900;
}

.lm-help-assistant__retry:hover {
  background: #f6f2ff;
}

.lm-help-assistant__retry:disabled {
  opacity: .55;
  cursor: wait;
}

.lm-help-assistant__composer[aria-busy="true"] .lm-help-assistant__input-shell {
  opacity: .82;
}

@media (max-width: 767px) {
  .lm-help-assistant__retry {
    min-height: 42px;
    padding: 9px 12px;
    border-radius: 12px;
    font-size: 12px;
  }
}

/* ==========================================================================
   Lumi UX hardening v5.3.3
   Accessibility focus, global async-action lock, and keyboard safety.
   ========================================================================== */
.lm-help-assistant :where(
  button,
  a,
  summary,
  textarea
):focus-visible {
  outline: 2px solid var(--lm-primary, #6d55bb);
  outline-offset: 2px;
}

.lm-help-assistant__feedback button:disabled {
  cursor: wait;
  opacity: .55;
}

.lm-help-assistant--busy :where(
  [data-lumi-choice],
  [data-lumi-confirm],
  [data-lumi-book-salon],
  [data-lumi-book-stylist],
  [data-lumi-book-slot],
  [data-lumi-relax-slots],
  [data-lumi-booking-back],
  [data-lumi-booking-cancel],
  [data-lumi-checkout],
  [data-lumi-location],
  [data-lumi-message],
  [data-lumi-retry-message],
  [data-help-escalate]
) {
  pointer-events: none;
  opacity: .6;
}

.lm-help-assistant [data-help-new-chat]:disabled {
  cursor: wait;
  opacity: .5;
}

@media (prefers-reduced-motion: reduce) {
  .lm-help-assistant * {
    scroll-behavior: auto !important;
  }
}



/* ========================================================================== 
   Lumi UX v5.3.4 — in-panel confirmation, booking context, desktop readability
   ========================================================================== */
.lm-help-assistant__confirm-layer {
  position: absolute;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(31, 25, 48, .34);
  backdrop-filter: blur(2px);
}
.lm-help-assistant__confirm-layer[hidden] { display: none !important; }
.lm-help-assistant__confirm-dialog {
  width: min(330px, 100%);
  padding: 18px;
  border: 1px solid rgba(109, 85, 187, .14);
  border-radius: 18px;
  background: #fff;
  color: var(--lm-ink, #252136);
  text-align: center;
  box-shadow: 0 24px 72px rgba(34, 27, 50, .24);
}
.lm-help-assistant__confirm-icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-bottom: 9px;
  border-radius: 14px;
  background: linear-gradient(145deg, var(--lm-primary-soft, #f2edff), var(--lm-secondary-soft, #e8faf5));
  color: var(--lm-primary, #6d55bb);
}
.lm-help-assistant__confirm-dialog > strong { display: block; font-size: 14px; font-weight: 950; }
.lm-help-assistant__confirm-dialog > p { margin: 7px 0 0; color: #746d7e; font-size: 11.5px; line-height: 1.8; }
.lm-help-assistant__confirm-actions { display: grid; gap: 7px; margin-top: 14px; }
.lm-help-assistant__confirm-actions button {
  min-height: 42px;
  cursor: pointer;
  border-radius: 11px;
  font: inherit;
  font-size: 11.5px;
  font-weight: 900;
}
.lm-help-assistant__confirm-actions .is-primary {
  border: 0;
  background: linear-gradient(110deg, var(--lm-primary, #6d55bb), #755fc7 72%, var(--lm-secondary, #2fc7a2));
  color: #fff;
}
.lm-help-assistant__confirm-actions .is-secondary { border: 1px solid #e4dfea; background: #fff; color: #696171; }
.lm-help-assistant__confirm-actions .is-secondary:hover { background: #f8f6fb; }

.lm-help-assistant__booking-selection-context {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 9px;
  border-bottom: 1px solid #efebf3;
  background: linear-gradient(90deg, rgba(109,85,187,.045), rgba(47,199,162,.04));
}
.lm-help-assistant__booking-selection-context > span {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 4px;
  border: 1px solid rgba(109, 85, 187, .09);
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  padding: 4px 7px;
}
.lm-help-assistant__booking-selection-context small { color: #938b9b; font-size: 8px; font-weight: 750; }
.lm-help-assistant__booking-selection-context strong {
  max-width: 150px;
  overflow: hidden;
  color: #50475d;
  font-size: 8.5px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .lm-help-assistant__bubble { font-size: 12.4px; line-height: 1.86; }
  .lm-help-assistant__message--user .lm-help-assistant__bubble { font-size: 12px; }
  .lm-help-assistant__welcome strong { font-size: 12px; }
  .lm-help-assistant__welcome p,
  .lm-help-assistant__prompts button { font-size: 10.5px; }
  .lm-help-assistant__message-sources summary { font-size: 10.5px; }
  .lm-help-assistant__source-copy strong { font-size: 10.5px; }
  .lm-help-assistant__source-copy small { font-size: 9.3px; }
  .lm-help-assistant__feedback { font-size: 10px; }
  .lm-help-assistant__feedback button { width: 30px; height: 30px; font-size: 11px; }
  .lm-help-assistant__handoff button { min-height: 38px; font-size: 10.5px; }
  .lm-help-assistant__composer textarea { font-size: 12px; }
  .lm-help-assistant__guide-header,
  .lm-help-assistant__flow-title { font-size: 11.2px; }
  .lm-help-assistant__flow-copy p,
  .lm-help-assistant__flow-action { font-size: 10.2px; }
  .lm-help-assistant__guide-role,
  .lm-help-assistant__flow-direct { font-size: 8.5px; }
  .lm-help-assistant__discovery-result-copy strong,
  .lm-help-assistant__booking-context strong,
  .lm-help-assistant__booking-provider-copy strong,
  .lm-help-assistant__operation-header,
  .lm-help-assistant__operation-section-title { font-size: 11.2px; }
  .lm-help-assistant__discovery-result-copy small,
  .lm-help-assistant__discovery-meta,
  .lm-help-assistant__booking-context span,
  .lm-help-assistant__booking-provider-copy small,
  .lm-help-assistant__booking-day > strong,
  .lm-help-assistant__operation-preview dt,
  .lm-help-assistant__operation-preview dd,
  .lm-help-assistant__operation-notice,
  .lm-help-assistant__operation-review-copy small,
  .lm-help-assistant__operation-review-copy p { font-size: 9.8px; }
  .lm-help-assistant__booking-provider-copy em,
  .lm-help-assistant__discovery-suggestions button,
  .lm-help-assistant__booking-slots button,
  .lm-help-assistant__booking-primary,
  .lm-help-assistant__booking-link,
  .lm-help-assistant__booking-cancel,
  .lm-help-assistant__operation-primary,
  .lm-help-assistant__operation-secondary,
  .lm-help-assistant__operation-suggestions button,
  .lm-help-assistant__operation-review-actions button,
  .lm-help-assistant__operation-link,
  .lm-help-assistant__operation-choice-button { font-size: 10px; }
  .lm-help-assistant__booking-preview dt,
  .lm-help-assistant__booking-preview dd { font-size: 10px; }
}

@media (max-width: 767px) {
  .lm-help-assistant__confirm-layer {
    place-items: end center;
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom, 0px));
  }
  .lm-help-assistant__confirm-dialog { width: 100%; padding: 17px 15px; border-radius: 18px; }
  .lm-help-assistant__confirm-dialog > strong { font-size: 15px; }
  .lm-help-assistant__confirm-dialog > p,
  .lm-help-assistant__confirm-actions button { font-size: 13px; }
  .lm-help-assistant__confirm-actions button { min-height: 46px; }
  .lm-help-assistant__booking-selection-context { gap: 7px; padding: 9px 10px; }
  .lm-help-assistant__booking-selection-context > span { min-height: 30px; padding: 5px 8px; }
  .lm-help-assistant__booking-selection-context small { font-size: 10px; }
  .lm-help-assistant__booking-selection-context strong { max-width: 220px; font-size: 11.5px; }
}


/* ========================================================================== 
   Lumi UI v6 — approved minimal / modern / intelligent brand direction
   Keep this block LAST. It deliberately simplifies the previous visual layers.
   ========================================================================== */
.lm-help-assistant {
  --lm-primary: #7056d9;
  --lm-primary-deep: #5a3fc2;
  --lm-primary-soft: #f2efff;
  --lm-secondary: #31c6a0;
  --lm-secondary-deep: #1d9f7f;
  --lm-secondary-soft: #ecfaf6;
  --lm-ink: #252238;
  --lm-muted: #7b7589;
  --lm-border: #ebe8f2;
  --lm-surface: #ffffff;
  --lm-canvas: #fcfbfe;
}

/* Lumi identity — a tiny branded AI character instead of a generic chat icon. */
.lm-help-assistant__lumi-mark {
  position: relative;
  isolation: isolate;
  display: inline-grid;
  place-items: center;
  overflow: visible;
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.96) 0 5%, transparent 6%),
    linear-gradient(145deg, #8b75ef 0%, #7455dc 48%, #9d64e2 75%, #62cdb5 125%);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.48),
    0 7px 18px rgba(92, 65, 189, .20);
}
.lm-help-assistant__lumi-mark::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 8px;
  width: 7px;
  height: 7px;
  transform: rotate(45deg);
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 0 10px rgba(255,255,255,.9);
}
.lm-help-assistant__lumi-mark::after {
  content: "";
  position: absolute;
  right: 50%;
  bottom: -2px;
  width: 22px;
  height: 10px;
  transform: translateX(50%);
  border-radius: 50% 50% 62% 62%;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96) 0 49%, transparent 50%) left/50% 100% no-repeat,
    linear-gradient(225deg, rgba(234,255,249,.96) 0 49%, transparent 50%) right/50% 100% no-repeat;
  opacity: .92;
  filter: drop-shadow(0 1px 2px rgba(49,198,160,.16));
}
.lm-help-assistant__lumi-face {
  position: relative;
  z-index: 1;
  display: flex;
  width: 58%;
  height: 44%;
  align-items: center;
  justify-content: center;
  gap: 5px;
  transform: translateY(-1px);
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 999px;
  background: rgba(63, 39, 150, .38);
  box-shadow: inset 0 1px 4px rgba(42, 24, 117, .24);
}
.lm-help-assistant__lumi-eye {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 5px rgba(255,255,255,.9);
}
.lm-help-assistant__lumi-smile {
  position: absolute;
  right: 50%;
  bottom: 4px;
  width: 10px;
  height: 5px;
  transform: translateX(50%);
  border-bottom: 1.5px solid rgba(255,255,255,.95);
  border-radius: 0 0 10px 10px;
}
.lm-help-assistant__lumi-mark--profile {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border: 2px solid rgba(255,255,255,.92);
  border-radius: 17px;
}
.lm-help-assistant__lumi-mark--fab {
  width: 42px;
  height: 42px;
  border-radius: 15px;
}
.lm-help-assistant__lumi-mark--fab .lm-help-assistant__lumi-face { gap: 4px; }
.lm-help-assistant__lumi-mark--fab::after { width: 19px; height: 9px; }

/* Floating launcher */
.lm-help-assistant__fab {
  width: 58px;
  height: 58px;
  border: 1px solid rgba(112, 86, 217, .13);
  border-radius: 20px;
  background: rgba(255,255,255,.98);
  color: var(--lm-primary);
  box-shadow: 0 14px 40px rgba(36, 28, 64, .16);
}
.lm-help-assistant__fab-icon {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: transparent;
}
.lm-help-assistant__fab-icon::after { display: none; }
.lm-help-assistant__fab-badge {
  top: -1px;
  right: -1px;
  width: 9px;
  height: 9px;
  border-width: 2px;
  background: var(--lm-secondary);
  box-shadow: 0 0 0 3px rgba(49,198,160,.10);
}

/* Shell */
.lm-help-assistant__panel {
  width: min(410px, calc(100vw - 28px));
  height: min(700px, calc(100dvh - 116px));
  border: 1px solid rgba(79, 61, 119, .10);
  border-radius: 24px;
  background: #fff;
  color: var(--lm-ink);
  box-shadow:
    0 30px 80px rgba(32, 25, 50, .18),
    0 2px 10px rgba(66, 51, 101, .045);
}
.lm-help-assistant__header {
  min-height: 72px;
  padding: 11px 13px;
  border-bottom: 1px solid #f0edf5;
  background: rgba(255,255,255,.98);
}
.lm-help-assistant__header::after { display: none; }
.lm-help-assistant__identity { gap: 11px; }
.lm-help-assistant__avatar { background: transparent; box-shadow: none; }
.lm-help-assistant__avatar::after { display: none; }
.lm-help-assistant__identity strong {
  color: #242037;
  font-size: 14px;
  font-weight: 950;
}
.lm-help-assistant__identity small {
  margin-top: 3px;
  color: #8a8494;
  font-size: 10px;
  font-weight: 720;
}
.lm-help-assistant__online-dot {
  width: 7px;
  height: 7px;
  background: var(--lm-secondary);
  box-shadow: 0 0 0 3px rgba(49,198,160,.10);
}
.lm-help-assistant__header-actions { gap: 3px; }
.lm-help-assistant__header-actions button {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #7b748b;
}
.lm-help-assistant__header-actions button:hover {
  background: #f7f5fb;
  color: var(--lm-primary-deep);
}

/* Conversation — intentionally quiet and spacious. */
.lm-help-assistant__messages {
  padding: 17px 14px 20px;
  background: var(--lm-canvas);
}
.lm-help-assistant__welcome { padding: 3px 1px 13px; }
.lm-help-assistant__welcome-message {
  padding: 12px;
  border: 1px solid #efecf4;
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
}
.lm-help-assistant__welcome-avatar {
  width: 32px;
  height: 32px;
  border-radius: 11px;
  background: var(--lm-primary-soft);
  color: var(--lm-primary);
}
.lm-help-assistant__welcome p { color: #817a8d; }
.lm-help-assistant__prompts { gap: 7px; margin-top: 9px; }
.lm-help-assistant__prompts button {
  min-height: 40px;
  border: 1px solid #ece8f2;
  border-radius: 13px;
  background: #fff;
  color: #51495f;
  box-shadow: none;
}
.lm-help-assistant__prompts button:hover {
  border-color: rgba(112,86,217,.19);
  background: #faf9fd;
  color: var(--lm-primary-deep);
}
.lm-help-assistant__prompts button::before { color: var(--lm-primary); }

.lm-help-assistant__message { margin: 11px 0; }
.lm-help-assistant__message-avatar {
  border: 0;
  background: var(--lm-primary-soft);
  color: var(--lm-primary);
}
.lm-help-assistant__bubble { border-radius: 16px; box-shadow: none; }
.lm-help-assistant__message--user .lm-help-assistant__bubble {
  border: 0;
  border-bottom-left-radius: 7px;
  background: #eeeaff;
  color: #3f3564;
}
.lm-help-assistant__message--assistant .lm-help-assistant__bubble {
  border: 1px solid #ece9f1;
  border-bottom-right-radius: 7px;
  background: #fff;
  color: #413c4b;
  box-shadow: 0 3px 12px rgba(47,37,67,.025);
}
.lm-help-assistant__message--error .lm-help-assistant__bubble {
  border-color: #f0d7de;
  background: #fff9fa;
}

/* Supporting surfaces use one visual language. */
.lm-help-assistant__guide,
.lm-help-assistant__discovery,
.lm-help-assistant__booking,
.lm-help-assistant__operation,
.lm-help-assistant__message-sources {
  border-color: #eae6f0;
  border-radius: 15px;
  background: #fff;
  box-shadow: none;
}
.lm-help-assistant__guide { background: #fff; }
.lm-help-assistant__guide-header,
.lm-help-assistant__booking-context,
.lm-help-assistant__operation-header,
.lm-help-assistant__booking-preview-title {
  background: #faf8fe;
  border-bottom-color: #eeeaf4;
}
.lm-help-assistant__flow-step--current {
  border-color: rgba(49,198,160,.14);
  background: #f7fdfb;
}
.lm-help-assistant__flow-marker { background: var(--lm-primary); }
.lm-help-assistant__flow-step--current .lm-help-assistant__flow-marker { background: var(--lm-secondary-deep); }
.lm-help-assistant__guide-role,
.lm-help-assistant__source-count,
.lm-help-assistant__citation {
  background: var(--lm-primary-soft);
  color: var(--lm-primary-deep);
}
.lm-help-assistant__flow-direct,
.lm-help-assistant__booking-discount {
  background: var(--lm-secondary-soft);
  color: var(--lm-secondary-deep);
}
.lm-help-assistant__source-link { background: #faf9fc; }
.lm-help-assistant__source-link:hover { background: #f6f3fa; }
.lm-help-assistant__source-number {
  background: var(--lm-primary-soft);
  color: var(--lm-primary-deep);
}

/* Actions: one confident primary, everything else quiet. */
.lm-help-assistant__booking-primary,
.lm-help-assistant__operation-primary {
  border: 0;
  background: linear-gradient(110deg, #7b55ed 0%, #6b49d0 52%, #8b42b9 100%);
  box-shadow: 0 7px 18px rgba(100,69,204,.16);
}
.lm-help-assistant__operation-primary--danger {
  background: linear-gradient(110deg, #c14b73, #a7428d);
  box-shadow: 0 7px 18px rgba(173,64,116,.14);
}
.lm-help-assistant__operation-secondary,
.lm-help-assistant__booking-link,
.lm-help-assistant__booking-cancel { color: #776f82; }
.lm-help-assistant__operation-success { background: #effaf7; }
.lm-help-assistant__operation-success > span { background: var(--lm-secondary); }
.lm-help-assistant__operation-notice,
.lm-help-assistant__booking-safe-note { color: #4f736a; }

/* Feedback + handoff */
.lm-help-assistant__feedback { color: #9992a0; }
.lm-help-assistant__feedback button:hover,
.lm-help-assistant__feedback button.is-selected { box-shadow: none; }
.lm-help-assistant__handoff {
  padding: 7px 11px 5px;
  background: #fff;
}
.lm-help-assistant__handoff button {
  border-color: rgba(112,86,217,.15);
  background: #faf9fd;
  color: var(--lm-primary-deep);
}
.lm-help-assistant__handoff button:hover { background: var(--lm-primary-soft); }

/* Composer */
.lm-help-assistant__composer {
  padding: 9px 11px 11px;
  border-top: 1px solid #efecf3;
  background: #fff;
}
.lm-help-assistant__input-shell {
  min-height: 50px;
  align-items: center;
  gap: 6px;
  padding: 5px;
  border: 1px solid #dfdae7;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 2px 9px rgba(51,40,73,.025);
}
.lm-help-assistant__input-shell:focus-within {
  border-color: rgba(112,86,217,.38);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(112,86,217,.06);
}
.lm-help-assistant__composer textarea {
  min-height: 38px;
  max-height: 116px;
  padding: 8px 9px;
  color: #35303d;
}
.lm-help-assistant__composer textarea::placeholder { color: #a59eaf; }
.lm-help-assistant__composer [data-help-send] {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 13px;
  background: linear-gradient(145deg, #8257ee, #6745cd);
  box-shadow: 0 6px 15px rgba(99,69,202,.19);
}
.lm-help-assistant__composer [data-help-send]:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(99,69,202,.22);
}

/* Confirmation */
.lm-help-assistant__confirm-layer {
  background: rgba(35,28,51,.22);
  backdrop-filter: blur(5px);
}
.lm-help-assistant__confirm-dialog {
  border-color: #e9e5ef;
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(33,26,47,.18);
}
.lm-help-assistant__confirm-icon {
  background: var(--lm-primary-soft);
  color: var(--lm-primary-deep);
}
.lm-help-assistant__confirm-actions .is-primary {
  background: linear-gradient(110deg, #7b55ed, #6847cc 62%, #8c46b8);
}

@media (max-width: 767px) {
  .lm-help-assistant__panel { border-radius: 0; background: #fff; }
  .lm-help-assistant__header {
    min-height: 70px;
    padding-right: 12px;
    padding-left: 12px;
  }
  .lm-help-assistant__lumi-mark--profile {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    border-radius: 16px;
  }
  .lm-help-assistant__messages {
    padding: 14px 12px 18px !important;
    background: #fcfbfe;
  }
  .lm-help-assistant__message--assistant .lm-help-assistant__bubble { background: #fff; }
  .lm-help-assistant__composer {
    padding: 8px 10px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .lm-help-assistant__input-shell { min-height: 54px; border-radius: 18px; }
  .lm-help-assistant__composer textarea { min-height: 42px; font-size: 16px; }
  .lm-help-assistant__composer [data-help-send] {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    border-radius: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lm-help-assistant__composer [data-help-send] { transform: none !important; }
}


/* === UI Final Polish Batch === */
.lm-help-assistant {
  z-index: 96;
}

.lm-help-assistant__fab {
  width: 64px;
  height: 64px;
  border-radius: 22px;
  box-shadow: 0 16px 40px rgba(41, 31, 70, .16), 0 0 0 1px rgba(112, 86, 217, .06);
  transition: box-shadow .2s ease, transform .2s ease;
}
.lm-help-assistant__fab:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 44px rgba(41, 31, 70, .18), 0 0 0 1px rgba(112, 86, 217, .08);
}
.lm-help-assistant__fab.is-dragging,
.lm-help-assistant__fab:active {
  cursor: grabbing;
  transform: scale(.98);
  box-shadow: 0 18px 48px rgba(41, 31, 70, .20), 0 0 0 1px rgba(112, 86, 217, .10);
}
.lm-help-assistant__fab-icon {
  width: 50px;
  height: 50px;
  border-radius: 18px;
  background: transparent;
}
.lm-help-assistant__fab-badge {
  top: 2px;
  right: 2px;
  width: 12px;
  height: 12px;
  background: #30c4a0;
}

.lm-help-assistant__lumi-avatar,
.lm-help-assistant__welcome-avatar,
.lm-help-assistant__message-avatar {
  display: inline-grid;
  place-items: center;
  overflow: hidden;
}
.lm-help-assistant__lumi-svg {
  display: block;
  width: 100%;
  height: 100%;
}
.lm-help-assistant__avatar {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border: 0;
  border-radius: 16px;
  background: transparent;
  box-shadow: none;
}
.lm-help-assistant__avatar .lm-help-assistant__lumi-svg {
  filter: drop-shadow(0 10px 20px rgba(110, 85, 187, .16));
}
.lm-help-assistant__welcome-avatar {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: transparent;
}
.lm-help-assistant__message-avatar {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: inherit;
}

.lm-help-assistant__header {
  min-height: 72px;
  padding: 12px 14px;
}
.lm-help-assistant__identity { gap: 11px; }
.lm-help-assistant__identity strong {
  font-size: 15px;
  font-weight: 900;
  color: #28243b;
}
.lm-help-assistant__identity small {
  max-width: 270px;
  margin-top: 4px;
  font-size: 10.5px;
  font-weight: 800;
  color: #827b95;
}
.lm-help-assistant__header-actions { gap: 4px; }
.lm-help-assistant__header-actions button {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  font-size: 13px;
}

.lm-help-assistant__welcome-message {
  gap: 10px;
  padding: 12px 13px;
  border-radius: 18px;
}
.lm-help-assistant__welcome strong { font-size: 12px; }
.lm-help-assistant__welcome p { font-size: 10px; }

.lm-help-assistant__bubble {
  padding: 10px 12px;
  font-size: 11.3px;
  line-height: 1.95;
}
.lm-help-assistant__message-name {
  font-size: 8.6px;
}
.lm-help-assistant__message-sources summary,
.lm-help-assistant__source-link,
.lm-help-assistant__guide,
.lm-help-assistant__feedback,
.lm-help-assistant__booking,
.lm-help-assistant__discovery,
.lm-help-assistant__operation {
  font-size: 11px;
}

.lm-help-assistant__discovery {
  padding: 12px;
  border-radius: 18px;
}
.lm-help-assistant__discovery-results { gap: 10px; }
.lm-help-assistant__discovery-result {
  padding: 12px;
  border-radius: 16px;
}
.lm-help-assistant__discovery-result-top {
  gap: 10px;
  align-items: center;
}
.lm-help-assistant__discovery-image {
  width: 62px;
  height: 62px;
  border-radius: 14px;
}
.lm-help-assistant__discovery-rank {
  width: 24px;
  height: 24px;
  font-size: 10px;
}
.lm-help-assistant__discovery-result-copy strong {
  font-size: 13px;
  line-height: 1.55;
}
.lm-help-assistant__discovery-result-copy small {
  font-size: 10.3px;
  line-height: 1.7;
}
.lm-help-assistant__discovery-meta {
  gap: 10px;
  margin-top: 5px;
  font-size: 10px;
}
.lm-help-assistant__discovery-result-action,
.lm-help-assistant__discovery-result-detail,
.lm-help-assistant__discovery-all {
  min-height: 40px;
  border-radius: 12px;
  font-size: 10.7px;
}

.lm-help-assistant__booking,
.lm-help-assistant__operation,
.lm-help-assistant__guide {
  border-radius: 18px;
}

@media (max-width: 767px) {
  .lm-help-assistant__fab {
    width: 62px;
    height: 62px;
    border-radius: 22px;
  }
  .lm-help-assistant__fab-icon {
    width: 48px;
    height: 48px;
    border-radius: 18px;
  }
  .lm-help-assistant__panel { border-radius: 0; }
  .lm-help-assistant__header {
    min-height: 72px;
    padding-right: 14px;
    padding-left: 14px;
  }
  .lm-help-assistant__avatar {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }
  .lm-help-assistant__identity strong { font-size: 15px; }
  .lm-help-assistant__identity small { font-size: 10px; }
  .lm-help-assistant__bubble { font-size: 11.8px; }
  .lm-help-assistant__discovery { padding: 11px; }
  .lm-help-assistant__discovery-result { padding: 11px; }
  .lm-help-assistant__discovery-image {
    width: 54px;
    height: 54px;
    border-radius: 13px;
  }
  .lm-help-assistant__discovery-result-copy strong { font-size: 12.4px; }
  .lm-help-assistant__discovery-result-copy small,
  .lm-help-assistant__discovery-meta { font-size: 10px; }
}


/* === Draggable FAB hotfix ===
   The older mobile viewport block pins .lm-help-assistant with !important.
   JS now writes inline !important coordinates while dragging; touch-action
   belongs on the actual pointer target so touch dragging is not converted
   into page scrolling. */
.lm-help-assistant__fab {
  touch-action: none !important;
  -webkit-user-select: none;
  user-select: none;
}
.lm-help-assistant__fab *,
.lm-help-assistant__fab svg {
  pointer-events: none;
}


/* Avatar hotfix */
.lm-help-assistant__fab-icon {
  display: grid;
  place-items: center;
  overflow: hidden;
}
.lm-help-assistant__lumi-avatar {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  flex: 0 0 auto;
}
.lm-help-assistant__fab-icon > .lm-help-assistant__lumi-avatar,
.lm-help-assistant__fab-icon > .lm-help-assistant__lumi-avatar > .lm-help-assistant__lumi-svg {
  width: 100%;
  height: 100%;
}
.lm-help-assistant__fab-icon .lm-help-assistant__lumi-svg {
  filter: drop-shadow(0 12px 22px rgba(110, 85, 187, .18));
}
.lm-help-assistant__fab-icon *,
.lm-help-assistant__avatar *,
.lm-help-assistant__message-avatar * {
  pointer-events: none;
}


/* ==========================================================================
   Lumi avatar asset — use the approved real image everywhere.
   ========================================================================== */
.lm-help-assistant__lumi-avatar-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.lm-help-assistant__fab-icon,
.lm-help-assistant__lumi-avatar,
.lm-help-assistant__avatar,
.lm-help-assistant__welcome-avatar,
.lm-help-assistant__message-avatar {
  overflow: hidden;
}

.lm-help-assistant__fab-icon .lm-help-assistant__lumi-avatar-image {
  filter: drop-shadow(0 8px 18px rgba(98, 71, 190, .18));
}

.lm-help-assistant__avatar .lm-help-assistant__lumi-avatar-image {
  filter: drop-shadow(0 7px 16px rgba(98, 71, 190, .14));
}

/* Old generated SVG character is intentionally disabled. */
.lm-help-assistant__lumi-svg,
.lm-help-assistant__lumi-face,
.lm-help-assistant__lumi-eye,
.lm-help-assistant__lumi-smile {
  display: none !important;
}


/* ========================================================================== 
   Lumi avatar sizing final — frameless floating FAB + larger header avatar
   ========================================================================== */

/* Closed state: the avatar itself IS the floating control. No white card/frame. */
.lm-help-assistant__fab {
  width: 62px;
  height: 62px;
  padding: 0;
  border: 0;
  border-radius: 24px;
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
.lm-help-assistant__fab:hover,
.lm-help-assistant__fab:active,
.lm-help-assistant__fab.is-dragging {
  background: transparent !important;
  box-shadow: none;
}
.lm-help-assistant__fab:focus-visible {
  outline: 3px solid rgba(110, 85, 187, .22);
  outline-offset: 4px;
  box-shadow: none;
}
.lm-help-assistant__fab-icon {
  width: 62px;
  height: 62px;
  padding: 0;
  border: 0;
  border-radius: 24px;
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
.lm-help-assistant__fab-icon > .lm-help-assistant__lumi-avatar {
  width: 62px;
  height: 62px;
  border-radius: 21px;
  overflow: hidden;
}
.lm-help-assistant__fab-icon .lm-help-assistant__lumi-avatar-image {
  width: 62px;
  height: 62px;
  object-fit: cover;
  border-radius: 21px;
  filter: drop-shadow(0 12px 24px rgba(83, 55, 161, .24));
}
.lm-help-assistant__fab-badge {
  top: 1px;
  right: 1px;
  width: 12px;
  height: 12px;
  border: 2px solid #fff;
}

/* Open state header: make Lumi identity more visible. */
.lm-help-assistant__avatar {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  border-radius: 18px;
  overflow: hidden;
}
.lm-help-assistant__avatar .lm-help-assistant__lumi-avatar-image {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  object-fit: cover;
  filter: drop-shadow(0 8px 18px rgba(83, 55, 161, .16));
}
.lm-help-assistant__header {
  min-height: 82px;
}
.lm-help-assistant__identity {
  gap: 12px;
}
.lm-help-assistant__identity strong {
  font-size: 15.5px;
}
.lm-help-assistant__identity small {
  font-size: 10.5px;
}

@media (max-width: 767px) {
  .lm-help-assistant__fab,
  .lm-help-assistant__fab-icon,
  .lm-help-assistant__fab-icon > .lm-help-assistant__lumi-avatar,
  .lm-help-assistant__fab-icon .lm-help-assistant__lumi-avatar-image {
    width: 58px;
    height: 58px;
  }
  .lm-help-assistant__fab,
  .lm-help-assistant__fab-icon,
  .lm-help-assistant__fab-icon > .lm-help-assistant__lumi-avatar,
  .lm-help-assistant__fab-icon .lm-help-assistant__lumi-avatar-image {
    border-radius: 20px;
  }
  .lm-help-assistant__avatar,
  .lm-help-assistant__avatar .lm-help-assistant__lumi-avatar-image {
    width: 52px;
    height: 52px;
    border-radius: 18px;
  }
  .lm-help-assistant__avatar {
    flex-basis: 52px;
  }
  .lm-help-assistant__header {
    min-height: 82px;
  }
}
