/* ============ HOMEPAGE HOSPITAL ASSISTANT ============ */
.hospital-assistant{position:fixed;right:96px;bottom:24px;z-index:9990;font-family:'Open Sans',sans-serif;transition:opacity .25s ease,visibility .25s ease,transform .25s ease}.hospital-assistant.assistant-is-hidden,.hospital-assistant.assistant-menu-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}
.assistant-launcher{position:relative;display:grid;place-items:end center;width:92px;height:122px;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 10px 18px rgba(16,42,67,.18));transition:transform .25s ease,filter .25s ease}
.assistant-launcher:hover,.assistant-launcher:focus-visible{transform:translateY(-4px);filter:drop-shadow(0 14px 22px rgba(16,42,67,.24))}
.assistant-launcher img{width:92px;height:auto;max-height:122px;object-fit:contain;object-position:bottom center;animation:assistantGentleWelcome 3.8s ease-in-out infinite}
.assistant-launcher-dot{position:absolute;right:7px;top:17px;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:#16a34a}
.assistant-bubble{position:absolute;right:72px;bottom:75px;display:flex;align-items:flex-start;width:max-content;max-width:180px;padding:0;border:1px solid #cfe4ee;border-radius:14px 14px 4px 14px;background:#fff;color:#155e75;box-shadow:0 8px 24px rgba(16,42,67,.12);animation:assistantBubbleIn .45s ease both}
.assistant-bubble[hidden],.assistant-bubble-dismiss[hidden]{display:none}
.assistant-bubble::after{content:'';position:absolute;right:-6px;bottom:8px;width:10px;height:10px;border-top:1px solid #cfe4ee;border-right:1px solid #cfe4ee;background:#fff;transform:rotate(45deg)}
.assistant-bubble-open{padding:9px 7px 9px 13px;border:0;background:transparent;color:#155e75;font:700 .78rem/1.35 'Open Sans',sans-serif;text-align:left;cursor:pointer}.assistant-bubble-dismiss{width:24px;height:24px;margin:3px 3px 0 0;padding:0;border:0;border-radius:50%;background:transparent;color:#7d969f;font:400 1.1rem/1 'Open Sans',sans-serif;cursor:pointer}.assistant-bubble-dismiss:hover,.assistant-bubble-dismiss:focus-visible{background:#edf5f7;color:#155e75}
.assistant-bubble-caret{display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-2px;background:#0b7285;animation:assistantCaretBlink .8s step-end infinite}
@keyframes assistantCaretBlink{50%{opacity:0}}
@keyframes assistantBubbleIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.assistant-panel{position:absolute;right:0;bottom:132px;display:flex;flex-direction:column;width:min(320px,calc(100vw - 32px));max-height:min(430px,calc(100vh - 140px));overflow:hidden;padding:0;box-sizing:border-box;border:1px solid #d7e7ef;border-radius:16px;background:#fff;box-shadow:0 16px 36px rgba(16,42,67,.18);animation:assistantPanelIn .24s ease both}
.assistant-panel[hidden]{display:none}
@keyframes assistantPanelIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes assistantGentleWelcome{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-1deg)}}
.assistant-panel-header{display:flex;flex-shrink:0;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 18px 16px;background:linear-gradient(135deg,#073b4c,#0b7285);color:#fff}
.assistant-panel-kicker{margin-bottom:3px;color:#b7ebe6;font-size:.68rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.assistant-panel-header h2{color:#fff;font-size:1.05rem;line-height:1.3}
.assistant-panel-header p{margin-top:3px;color:#d8f3f1;font-size:.78rem}
.assistant-close{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;padding:0;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:transparent;color:#fff;font-size:1.45rem;line-height:1;cursor:pointer;transition:background-color .2s ease}
.assistant-close:hover,.assistant-close:focus-visible{background:rgba(255,255,255,.16)}
.assistant-panel-body{flex:1;min-height:0;overflow-y:auto;padding:12px;color:var(--text)}
.assistant-questions{display:grid;gap:6px;max-height:320px;overflow-y:auto;padding-right:2px}.assistant-questions[hidden]{display:none}.assistant-question-item{display:grid;gap:0}.assistant-question{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 10px;border:1px solid #d7e7ef;border-radius:9px;background:#fff;color:#155e75;font:600 .74rem/1.3 'Open Sans',sans-serif;text-align:left;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.assistant-question:hover,.assistant-question:focus-visible,.assistant-question.is-selected{border-color:#0b7285;background:#e8f7f6}.assistant-question-icon{flex:0 0 16px;color:#0b7285;font-size:1.05rem;font-weight:400;text-align:center}.assistant-answer{padding:10px;border:1px solid #cfe4ee;border-top:0;border-radius:0 0 9px 9px;background:#f7fbff;color:#244b5a;font-size:.76rem;line-height:1.45}.assistant-answer p{margin:0 0 8px}.assistant-answer p:last-child{margin-bottom:0}.assistant-answer-question{margin-bottom:6px;color:#073b4c;font-weight:800}.assistant-link{color:#087f8c;font-weight:800;text-decoration:underline;text-underline-offset:2px}
@media(max-width:1024px){
  .hospital-assistant{right:14px;bottom:94px}
  .assistant-launcher{width:72px;height:94px}
  .assistant-launcher img{width:72px;max-height:94px}
  .assistant-launcher-dot{right:4px;top:12px;width:10px;height:10px}
  .assistant-bubble{right:55px;bottom:55px;max-width:160px;font-size:.72rem}
  .assistant-panel{right:-2px;bottom:102px;width:min(320px,calc(100vw - 28px));max-height:calc(100vh - 126px);border-radius:15px}
}
@media(prefers-reduced-motion:reduce){
  .assistant-bubble,.assistant-panel{animation:none}
  .assistant-bubble-caret{animation:none}
  .assistant-launcher,.assistant-launcher img{transition:none;animation:none}
}
