
.natt-assistant{position:fixed;right:22px;bottom:22px;z-index:10040;font-family:inherit}
.natt-assistant-toggle{border:0;border-radius:999px;background:#007f97;color:#fff;box-shadow:0 14px 38px rgba(4,61,72,.25);min-height:52px;padding:.75rem 1rem;display:flex;align-items:center;gap:.5rem;font-weight:800;cursor:pointer}
.natt-assistant-toggle span:first-child{font-size:1.2rem}
.natt-assistant-panel{position:absolute;right:0;bottom:64px;width:min(380px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 110px));background:#fff;border:1px solid rgba(0,151,179,.22);border-radius:18px;box-shadow:0 22px 70px rgba(4,61,72,.28);overflow:hidden}
.natt-assistant-panel[hidden]{display:none!important}
.natt-assistant-panel header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;background:#065c6d;color:#fff}
.natt-assistant-panel header strong,.natt-assistant-panel header small{display:block}.natt-assistant-panel header small{opacity:.82;margin-top:.1rem}
.natt-assistant-panel header button{border:0;background:transparent;color:#fff;font-size:1.5rem;cursor:pointer;min-width:44px;min-height:44px}
.natt-assistant-messages{padding:1rem;display:flex;flex-direction:column;gap:.65rem;max-height:270px;overflow:auto;background:#f7fbfc}
.natt-assistant-msg{max-width:90%;padding:.75rem .85rem;border-radius:13px;line-height:1.45;font-size:.91rem}
.natt-assistant-msg.is-bot{background:#fff;border:1px solid rgba(0,151,179,.18);align-self:flex-start}
.natt-assistant-msg.is-user{background:#0097b3;color:#fff;align-self:flex-end}
.natt-assistant-msg a{font-weight:800}
.natt-assistant-quick{padding:.7rem 1rem;display:flex;gap:.4rem;flex-wrap:wrap;border-top:1px solid #e4eff1}
.natt-assistant-quick button{border:1px solid #b7d8df;background:#fff;color:#065c6d;border-radius:999px;padding:.45rem .65rem;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}
.natt-assistant-panel form{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.8rem 1rem;border-top:1px solid #e4eff1}
.natt-assistant-panel input{min-width:0;border:1px solid #abcbd2;border-radius:10px;padding:.7rem .75rem;font:inherit}
.natt-assistant-panel form button{border:0;border-radius:10px;background:#0097b3;color:#fff;font-weight:800;padding:.7rem .85rem;cursor:pointer}
.natt-assistant-privacy{margin:0;padding:0 1rem 1rem;color:#5b6b6e;font-size:.72rem;line-height:1.4}
@media(max-width:620px){.natt-assistant{right:14px;bottom:14px}.natt-assistant-panel{position:fixed;left:14px;right:14px;bottom:78px;width:auto;max-height:calc(100vh - 100px)}}

/* BUILD 021 initialization/visibility repair */
.natt-assistant{z-index:10050}.natt-assistant-toggle{pointer-events:auto}.natt-assistant-panel[hidden]{display:none!important}.natt-assistant.is-open .natt-assistant-panel{display:flex}

/* BUILD 021-HF1 / v2.1.1 — Public Assistant Layout & Responsive Display Repair */
.natt-assistant,
.natt-assistant * {
  box-sizing: border-box;
}

/* Keep the floating root compact; never let page/grid rules stretch it. */
.natt-assistant {
  width: auto !important;
  max-width: none !important;
  height: auto !important;
}

/* Critical fix: assistant sections must stack vertically, never in a row. */
.natt-assistant.is-open .natt-assistant-panel {
  display: flex !important;
  flex-direction: column !important;
}

.natt-assistant-panel {
  width: min(400px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  max-width: 400px !important;
  max-height: min(640px, calc(100vh - 112px)) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  isolation: isolate;
}

.natt-assistant-panel > header {
  flex: 0 0 auto;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.natt-assistant-messages {
  flex: 1 1 auto;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 120px;
  max-height: 280px;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

.natt-assistant-msg {
  width: auto !important;
  min-width: 0 !important;
  overflow-wrap: anywhere;
}

.natt-assistant-quick {
  flex: 0 0 auto;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
  min-width: 0 !important;
  gap: .5rem !important;
  overflow: visible !important;
}

.natt-assistant-quick button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px;
  white-space: normal !important;
  text-align: center;
  line-height: 1.25;
}

.natt-assistant-panel form {
  flex: 0 0 auto;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.natt-assistant-panel input {
  width: 100% !important;
  max-width: 100% !important;
}

.natt-assistant-privacy {
  flex: 0 0 auto;
  width: 100% !important;
}

/* Eliminate accidental inner horizontal scrollbars caused by inherited theme rules. */
.natt-assistant-panel,
.natt-assistant-panel header,
.natt-assistant-messages,
.natt-assistant-quick,
.natt-assistant-panel form,
.natt-assistant-privacy {
  overflow-x: hidden;
}

@media (max-width: 620px) {
  .natt-assistant-panel {
    left: 12px !important;
    right: 12px !important;
    bottom: 76px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 96px) !important;
    border-radius: 16px;
  }
  .natt-assistant-messages { max-height: min(310px, 42dvh); }
}

@media (max-width: 390px) {
  .natt-assistant-quick { grid-template-columns: 1fr !important; }
  .natt-assistant-panel form { grid-template-columns: 1fr !important; }
  .natt-assistant-panel form button { width: 100%; }
}
