.inspire-aiqa{font-family:inherit;position:relative;z-index:999999}.icaia-sitewide .inspire-aiqa{position:fixed;bottom:20px;z-index:999999}.icaia-sitewide .inspire-aiqa.bottom-right{right:20px}.icaia-sitewide .inspire-aiqa.bottom-left{left:20px}.aiqa-toggle{background:var(--ai-primary);color:#fff;border:0;border-radius:999px;padding:12px 20px;font-weight:700;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,.18);display:inline-flex;align-items:center;justify-content:center;gap:9px}.aiqa-toggle-avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid rgba(255,255,255,.95);display:block}.aiqa-toggle.aiqa-avatar-only{width:var(--ai-avatar-size,82px);height:var(--ai-avatar-size,82px);padding:3px;border-radius:50%;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.24);position:relative;flex:0 0 var(--ai-avatar-size,82px)}
.aiqa-toggle.aiqa-avatar-only .aiqa-toggle-avatar{width:calc(var(--ai-avatar-size,82px) - 6px);height:calc(var(--ai-avatar-size,82px) - 6px);border:3px solid #fff;box-shadow:0 0 0 1px rgba(11,59,102,.14)}.aiqa-toggle.aiqa-avatar-only.aiqa-has-online-badge::after{content:'';position:absolute;right:3px;bottom:3px;width:13px;height:13px;background:#16a34a;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.2);z-index:3}.aiqa-toggle:focus-visible{outline:3px solid rgba(11,59,102,.25);outline-offset:3px}.aiqa-panel,.aiqa-lead{width:min(var(--ai-width),calc(100vw - 24px));background:#fff;border:1px solid #e3e7ec;border-radius:18px;box-shadow:0 20px 55px rgba(0,0,0,.2);overflow:hidden;box-sizing:border-box}.icaia-sitewide .aiqa-panel{height:min(var(--ai-height),calc(100vh - 90px));}.aiqa-panel{height:var(--ai-height);display:flex;flex-direction:column;margin-top:8px}.aiqa-lead{height:var(--ai-height);display:flex;flex-direction:column;margin-top:8px}.aiqa-lead form{flex:1;overflow:auto}.aiqa-head,.aiqa-lead-head{background:var(--ai-header-bg);color:var(--ai-header-text);padding:15px 17px;display:flex;justify-content:space-between;align-items:center}.aiqa-brand{display:flex;align-items:center;gap:9px}.aiqa-brand img{object-fit:cover;border-radius:50%;background:#fff;border:2px solid rgba(255,255,255,.9);display:block}.aiqa-brand .aiqa-logo{width:34px;height:34px;object-fit:contain;border-radius:7px}.aiqa-brand .aiqa-avatar{flex:none}.aiqa-head span{display:block;font-size:11px;opacity:.85;margin-top:3px}.aiqa-close,.aiqa-lead-close{background:none;border:0;color:var(--ai-header-text);font-size:25px;cursor:pointer}.aiqa-quick{display:flex;gap:6px;padding:9px;overflow:auto;border-bottom:1px solid #eee}.aiqa-quick button{white-space:nowrap;border:1px solid #d6dce3;background:#fff;border-radius:999px;padding:7px 10px;font-size:11px;cursor:pointer}.aiqa-messages{flex:1;overflow:auto;padding:14px;background:#f6f8fb}.aiqa-msg{max-width:88%;padding:10px 12px;margin-bottom:10px;border-radius:12px;line-height:1.5;font-size:14px}.aiqa-user{margin-left:auto;background:var(--ai-user-bg)}.aiqa-bot{background:var(--ai-bot-bg);border:1px solid #e2e6eb}.aiqa-form{display:flex;gap:7px;padding:10px;border-top:1px solid #ddd}.aiqa-form input,.aiqa-lead input,.aiqa-lead textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ccd3db;border-radius:9px}.aiqa-form input{flex:1}.aiqa-form button,.aiqa-lead form button{background:var(--ai-primary);color:#fff;border:0;border-radius:9px;padding:0 15px;cursor:pointer}.aiqa-actions{display:flex;gap:7px;padding:8px 10px}.aiqa-actions button,.aiqa-actions a{border:1px solid var(--ai-primary);background:#fff;color:var(--ai-primary);border-radius:9px;padding:8px 11px;text-decoration:none;font-size:12px;cursor:pointer}.aiqa-actions .aiqa-enrol{background:var(--ai-primary);color:#fff}.aiqa-panel small{display:block;padding:0 12px 10px;color:#707780;font-size:10px}.aiqa-lead form{padding:12px;display:grid;align-content:start;gap:9px}.aiqa-lead label{font-size:11px;color:#555}.aiqa-lead label input{width:auto}.aiqa-lead-status{font-size:12px}
@media (max-width:600px){
  .icaia-sitewide .inspire-aiqa.bottom-right{right:10px;bottom:10px}
  .icaia-sitewide .inspire-aiqa.bottom-left{left:10px;bottom:10px}
  .aiqa-panel,.aiqa-lead{width:min(var(--ai-width),calc(100vw - 20px));height:min(var(--ai-height),calc(100vh - 70px))}
  .aiqa-toggle.aiqa-avatar-only{width:58px;height:58px}
  .aiqa-toggle.aiqa-avatar-only .aiqa-toggle-avatar{width:52px;height:52px}
}

/* v0.4.3: quick actions are always visible and readable */
.aiqa-quick{display:flex!important;gap:7px!important;flex-wrap:wrap!important;padding:9px 10px!important;background:#fff!important;opacity:1!important;visibility:visible!important}
.aiqa-quick button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:7px 12px!important;border:1px solid #d6dee8!important;border-radius:999px!important;background:#fff!important;color:#123b62!important;font-size:13px!important;font-weight:600!important;line-height:1.2!important;opacity:1!important;visibility:visible!important;white-space:nowrap!important;cursor:pointer!important}
.aiqa-quick button:hover,.aiqa-quick button:focus{background:var(--ai-primary)!important;color:#fff!important;border-color:var(--ai-primary)!important}

/* v0.4.5: floating avatar size is controlled only by --ai-avatar-size; header avatar stays fixed */
.aiqa-toggle.aiqa-avatar-only.aiqa-has-online-badge::after{content:''!important;display:block!important}
@media (max-width:600px){
  .aiqa-toggle.aiqa-avatar-only.aiqa-has-online-badge::after{width:12px;height:12px;right:2px;bottom:2px}
}


/* v0.4.7 critical layout fixes */
.inspire-aiqa .aiqa-head .aiqa-brand{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
}
.inspire-aiqa .aiqa-head .aiqa-brand .aiqa-header-image{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  max-width:44px !important;
  max-height:44px !important;
  flex:0 0 44px !important;
  display:block !important;
  object-fit:cover !important;
  border-radius:50% !important;
  margin:0 !important;
  padding:0 !important;
}
.inspire-aiqa .aiqa-head .aiqa-brand .aiqa-header-image.site_logo,
.inspire-aiqa .aiqa-head .aiqa-brand .aiqa-header-image.custom_image{
  object-fit:contain !important;
  border-radius:8px !important;
}
.inspire-aiqa .aiqa-head .aiqa-header-copy{
  min-width:0 !important;
  flex:1 1 auto !important;
  overflow:hidden !important;
}
.inspire-aiqa .aiqa-head .aiqa-header-copy strong,
.inspire-aiqa .aiqa-head .aiqa-header-copy span{
  overflow-wrap:anywhere;
}
.inspire-aiqa .aiqa-head{
  min-height:74px !important;
  box-sizing:border-box !important;
}
.inspire-aiqa .aiqa-body{
  min-height:0 !important;
}
.inspire-aiqa .aiqa-footer{
  flex:0 0 auto !important;
}
.inspire-aiqa .aiqa-footer .aiqa-form{
  box-sizing:border-box !important;
}
.inspire-aiqa .aiqa-toggle.aiqa-avatar-only{
  overflow:visible !important;
}


/* v0.4.8: hard-lock header image dimensions so theme/plugin image rules cannot enlarge it */
.inspire-aiqa .aiqa-head .aiqa-brand .aiqa-header-image{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;flex:0 0 44px!important;object-fit:cover!important;display:block!important;overflow:hidden!important;}
.inspire-aiqa .aiqa-head .aiqa-brand .aiqa-header-image.site_logo,.inspire-aiqa .aiqa-head .aiqa-brand .aiqa-header-image.custom_image{object-fit:contain!important;}

/* v0.4.9: correct chat viewport/flex layout so messages never sit behind the input/footer */
.inspire-aiqa .aiqa-panel{
  display:flex !important;
  flex-direction:column !important;
  height:var(--ai-height) !important;
  max-height:calc(100vh - 40px) !important;
  box-sizing:border-box !important;
}
.inspire-aiqa .aiqa-head{
  flex:0 0 auto !important;
}
.inspire-aiqa .aiqa-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  background:var(--ai-body-bg) !important;
  color:var(--ai-body-text) !important;
}
.inspire-aiqa .aiqa-quick{
  flex:0 0 auto !important;
  max-height:92px !important;
  overflow-y:auto !important;
  box-sizing:border-box !important;
}
.inspire-aiqa .aiqa-messages{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  box-sizing:border-box !important;
  padding-bottom:16px !important;
  overscroll-behavior:contain !important;
}
.inspire-aiqa .aiqa-footer{
  flex:0 0 auto !important;
  min-height:0 !important;
  box-sizing:border-box !important;
  background:var(--ai-footer-bg) !important;
  color:var(--ai-footer-text) !important;
  position:relative !important;
  z-index:2 !important;
}
.inspire-aiqa .aiqa-form{
  flex:0 0 auto !important;
  min-height:0 !important;
  box-sizing:border-box !important;
}
.inspire-aiqa .aiqa-actions{
  flex:0 0 auto !important;
  flex-wrap:wrap !important;
  box-sizing:border-box !important;
}
.inspire-aiqa .aiqa-footer small{
  flex:0 0 auto !important;
  box-sizing:border-box !important;
}
/* Keep the input/footer visible while the conversation itself scrolls. */
.inspire-aiqa .aiqa-messages::-webkit-scrollbar{width:7px}
.inspire-aiqa .aiqa-messages::-webkit-scrollbar-thumb{background:rgba(80,95,110,.35);border-radius:10px}
@media (max-width:600px){
  .inspire-aiqa .aiqa-panel{
    height:min(var(--ai-height),calc(100vh - 20px)) !important;
    max-height:calc(100vh - 20px) !important;
  }
  .inspire-aiqa .aiqa-quick{max-height:84px !important}
}

/* v0.5.0: state visibility is controlled by JavaScript. Never allow theme
   styles to force a closed toggle, chat panel or admissions panel to display. */
.inspire-aiqa .aiqa-toggle[hidden],
.inspire-aiqa .aiqa-panel[hidden],
.inspire-aiqa .aiqa-lead[hidden],
.inspire-aiqa .aiqa-enrol[hidden]{
  display:none !important;
}

/* v0.5.0: the floating launcher and open windows are mutually exclusive. */
.inspire-aiqa .aiqa-panel,
.inspire-aiqa .aiqa-lead{
  margin-top:0 !important;
}

/* Admissions replaces the chat in exactly the same footprint. */
.inspire-aiqa .aiqa-lead{
  width:min(var(--ai-width),calc(100vw - 24px));
  height:min(var(--ai-height),calc(100vh - 40px));
  max-height:calc(100vh - 40px);
  margin-bottom:0 !important;
}
