.hb-ai-page{max-width:1000px;padding-block:24px 32px}
.hb-ai-page-heading{margin:24px 0 18px;padding-right:52px}
.hb-ai-page-heading h1{font-size:32px;letter-spacing:-.8px;line-height:1.25;margin:0}
#health-ai-root{position:relative}
#health-ai-root .hb-ai-chat{height:clamp(380px,65dvh,620px)}
#health-ai-root .hb-ai-chat-header{position:absolute;right:0;top:-62px;padding:0;background:transparent;border:0}
.hb-ai-page>.ad-area{margin-top:32px}
.hb-ai-chat{display:flex;flex-direction:column;min-width:0;color:var(--ink);background:#fff;border:1px solid #d6e3e8;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 32px #142e4909;line-height:1.5}
.hb-ai-chat button,.hb-ai-chat textarea{font:inherit}
.hb-ai-chat .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hb-ai-chat-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:#f3f8f7;border-bottom:1px solid var(--line);flex-shrink:0}
.hb-ai-identity{min-width:0}
.hb-ai-identity strong{font-size:16px;color:var(--navy);white-space:nowrap}
.hb-ai-actions{display:flex;align-items:center;gap:2px;margin-left:auto}
.hb-ai-icon-button,.hb-ai-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:8px;background:transparent;color:var(--blue);border:0}
.hb-ai-icon-button:hover,.hb-ai-close:hover,.hb-ai-options summary:hover{background:#e5eff2}
.hb-ai-icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hb-ai-close{font-size:27px!important;line-height:1}
.hb-ai-messages{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px;scrollbar-gutter:stable;scroll-padding:18px;outline-offset:-3px;min-width:0}
.hb-ai-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100%;padding:24px 0;gap:8px}
.hb-ai-welcome h2{font-size:24px;font-weight:600;line-height:1.4;letter-spacing:-.4px;color:var(--navy)}
.hb-ai-service-status{color:#607484;font-size:14px;line-height:1.5}
.hb-ai-message{max-width:88%;width:fit-content;margin:0 0 18px;padding:14px 18px;border-radius:12px;background:#f1f6f8;overflow-wrap:anywhere;min-width:0}
.hb-ai-speaker{display:block;font-size:13px;margin-bottom:5px;color:#416074}
.hb-ai-message-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:4px}
.hb-ai-message-heading .hb-ai-speaker{margin:0}
.hb-ai-copy{flex-shrink:0;min-width:58px;min-height:44px;padding:8px;border:0;border-radius:7px;background:transparent;color:var(--blue);font-size:14px!important;line-height:1.2;cursor:pointer}
.hb-ai-copy:hover{background:#e1edf1}
.hb-ai-copy:disabled{cursor:wait}
.hb-ai-message-text{white-space:pre-wrap;line-height:1.7;font-size:16px}
.hb-ai-message--user{margin-left:auto;background:#eaf4ed;border:1px solid #d9e9de}
.hb-ai-message--emergency{max-width:100%;border:2px solid #a64b37;background:#fff7f2}
.hb-ai-message--emergency .hb-ai-speaker{color:#8a3226}
.hb-ai-loading{min-width:160px}
.hb-ai-thinking{display:flex;align-items:center;gap:10px;min-height:28px;color:#416074;font-size:14px;white-space:nowrap}
.hb-ai-loading-dots{display:flex;align-items:center;gap:4px;height:20px}
.hb-ai-loading-dots span{width:6px;height:6px;border-radius:50%;background:var(--forest);animation:hb-ai-pulse 1.2s ease-in-out infinite}
.hb-ai-loading-dots span:nth-child(2){animation-delay:.15s}
.hb-ai-loading-dots span:nth-child(3){animation-delay:.3s}
@keyframes hb-ai-pulse{0%,70%,100%{opacity:.4;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
.hb-ai-related{border-top:1px solid #d7e2e7;margin-top:14px;padding-top:12px;display:grid;gap:4px;font-size:14px}
.hb-ai-related strong{font-size:13px}
.hb-ai-related a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;padding-block:7px;min-height:38px;display:block}
.hb-ai-composer{border-top:1px solid var(--line);padding:14px 20px 6px;background:#fff;flex-shrink:0;position:relative}
.hb-ai-input-row{display:flex;align-items:flex-end;gap:10px;min-width:0}
.hb-ai-input-row textarea{width:100%;min-width:0;min-height:48px;max-height:120px;resize:none;padding:11px 12px;border:1px solid #b9ccd5;border-radius:9px;font-size:16px;line-height:24px;color:var(--ink);background:#fff}
.hb-ai-send{flex:0 0 auto;min-width:76px;min-height:48px;padding:12px 16px;border-radius:9px;background:var(--forest);color:#fff;font-weight:600;white-space:nowrap;overflow-wrap:normal}
.hb-ai-send:disabled{background:#657e70;cursor:wait}
.hb-ai-send:hover:not(:disabled){background:#2e603f}
.hb-ai-request-status:empty{display:none}
.hb-ai-request-status:not(.sr-only){font-size:14px;color:var(--blue);margin-top:8px}
.hb-ai-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}
.hb-ai-disclaimer{font-size:12px;line-height:1.5;color:#546a78}
.hb-ai-options{position:relative;flex-shrink:0}
.hb-ai-options summary{display:grid;place-items:center;width:44px;height:44px;list-style:none;font-size:25px;line-height:1;cursor:pointer;color:var(--blue);border-radius:8px}
.hb-ai-options summary::-webkit-details-marker{display:none}
.hb-ai-options-content{position:absolute;right:0;bottom:calc(100% + 6px);z-index:3;width:min(300px,calc(100vw - 68px));max-height:min(240px,calc(var(--ai-visible-height,100dvh) - 120px));overflow:auto;background:#fff;border:1px solid #d6e3e8;border-radius:10px;padding:16px;box-shadow:0 6px 24px #142e4925;font-size:13px;line-height:1.6}
.hb-ai-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-weight:400;font-size:13px;line-height:1.5;margin-bottom:12px;min-height:44px}
.hb-ai-context[hidden]{display:none}
.hb-ai-context input{width:18px;height:18px;accent-color:var(--forest);flex-shrink:0}
.hb-ai-context-title{color:var(--muted);font-size:12px;max-width:100%;overflow-wrap:anywhere}
.hb-ai-privacy{color:#546a78}
.hb-ai-privacy a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;padding-block:8px;display:inline-block}
.hb-ai-urgent{color:#644a3d;margin-top:8px}
.hb-ai-dialog{position:fixed;inset:auto 20px max(16px,env(safe-area-inset-bottom)) auto;margin:0;padding:0;border:0;border-radius:14px;width:min(430px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:min(620px,calc(var(--ai-visible-height,100dvh) - 32px));max-height:calc(var(--ai-visible-height,100dvh) - 32px);overflow:hidden;box-shadow:0 14px 60px #142e4940;color:var(--ink)}
.hb-ai-dialog::backdrop{background:#102e492b}
.hb-ai-dialog .hb-ai-chat{height:100%;border-radius:14px}
.hb-ai-dialog .hb-ai-messages{padding:16px}
.hb-ai-dialog .hb-ai-message{max-width:96%;padding:12px}
.hb-ai-dialog .hb-ai-message-text{font-size:15px}
.hb-ai-dialog .hb-ai-composer{padding:12px 14px 4px}
.hb-ai-dialog .hb-ai-welcome h2{font-size:21px}
.hb-ai-open{overflow:hidden}
.hb-ai-chat :focus-visible{outline:3px solid #246e9a;outline-offset:3px}
.hb-ai-chat textarea:focus-visible{outline-offset:1px}
@media(max-width:650px){
  .hb-ai-page{padding-top:14px}
  .hb-ai-page-heading{margin:18px 0}
  .hb-ai-page-heading h1{font-size:29px}
  #health-ai-root .hb-ai-chat-header{top:-57px}
  .hb-ai-messages{padding:16px 12px}
  .hb-ai-message{max-width:96%;padding:12px}
  .hb-ai-welcome h2{font-size:21px}
  .hb-ai-chat-header{padding:8px 10px}
  .hb-ai-composer{padding:12px 12px 4px}
  .hb-ai-send{min-width:64px;padding-inline:12px}
  .hb-ai-input-row{gap:8px}
  .hb-ai-dialog{inset:calc(var(--ai-visible-top,0px) + max(8px,env(safe-area-inset-top))) 8px auto 8px;width:calc(100vw - 16px);max-width:none;height:calc(var(--ai-visible-height,100dvh) - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));max-height:none;border-radius:12px}
  .hb-ai-dialog .hb-ai-chat{border-radius:12px}
  .hb-ai-dialog .hb-ai-composer{padding:10px 10px 4px}
  .hb-ai-dialog .hb-ai-messages{padding:16px 12px}
}
.hb-ai-dialog--short .hb-ai-chat{overflow-y:auto}
.hb-ai-dialog--short .hb-ai-chat-header{padding-block:2px;position:sticky;top:0;z-index:2}
.hb-ai-dialog--short .hb-ai-messages{flex:1 0 70px;min-height:70px}
.hb-ai-dialog--short .hb-ai-composer{padding-top:6px}
.hb-ai-dialog--short .hb-ai-input-row textarea{max-height:70px}
@media(prefers-reduced-motion:reduce){.hb-ai-chat *{scroll-behavior:auto;transition:none}.hb-ai-loading-dots span{animation:none;opacity:.7}}
@media print{.hb-ai-chat,.hb-ai-dialog{display:none!important}}
