/* The clinic assistant shares ASLIA's palette and quiet, rounded controls. */
.clinic-assistant{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;font-size:16px;line-height:1.5;color:#312c29}
.clinic-assistant [hidden]{display:none!important}
.assistant-launcher{display:flex;align-items:center;gap:10px;border:1px solid #d4b49b;border-radius:28px;background:#312c29;color:#f6f3ef;padding:13px 19px;min-height:50px;box-shadow:0 4px 18px #251f1c24;cursor:pointer;font-size:15px}
.assistant-launcher svg{width:22px;height:22px}
.assistant-launcher:hover{background:#4b3f36}
.assistant-panel{position:absolute;right:0;bottom:66px;width:390px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100dvh - 112px);display:flex;flex-direction:column;background:#f6f3ef;border:1px solid #d9cfc5;border-radius:12px;box-shadow:0 12px 42px #251f1c26;overflow:hidden}
.assistant-header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#312c29;color:#f6f3ef;padding:17px 18px}
.assistant-header h2{font-size:20px;letter-spacing:-.02em;margin:0}
.assistant-header p{font-size:13px;color:#d4b49b;margin:4px 0 0}
.assistant-close{width:44px;height:44px;border:0;border-radius:6px;background:none;color:#f6f3ef;font-size:27px;cursor:pointer}
.assistant-close:hover{background:#ffffff12}
.assistant-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:18px;scroll-behavior:auto}
.assistant-intro{margin:0 0 15px;font-size:16px}
.assistant-topics,.assistant-choices{display:flex;flex-wrap:wrap;gap:7px}
.assistant-topics button,.assistant-choices button{border:1px solid #c9b8a9;background:#fff;color:#312c29;border-radius:6px;padding:9px 11px;min-height:42px;font-size:14px;line-height:1.3;text-align:left;cursor:pointer}
.assistant-topics button:hover,.assistant-choices button:hover{background:#e8d9cb}
.assistant-messages{padding:0;margin:20px 0 0;list-style:none;position:relative}
.assistant-messages li{margin:0 0 14px;padding:13px 14px;border-radius:8px;overflow-wrap:anywhere}
.assistant-messages .assistant-user{margin-left:30px;background:#e5d3c3}
.assistant-messages .assistant-reply{margin-right:12px;background:#fff;border:1px solid #e2d9d0}
.assistant-messages p{margin:0 0 10px;font-size:16px;line-height:1.5}
.assistant-messages p:last-child{margin-bottom:0}
.assistant-messages h3{font-size:16px;line-height:1.4;font-weight:600;letter-spacing:0;margin:0 0 10px}
.assistant-messages ul{padding-left:19px;margin:0 0 10px}
.assistant-messages ul li{padding:0;margin:5px 0;border:0}
.assistant-source{display:inline-block;color:#795640;text-decoration:underline;text-underline-offset:3px;font-size:14px;margin-top:10px}
.assistant-form{display:flex;gap:8px;border-top:1px solid #ded7d0;padding:12px 14px;background:#fff}
.assistant-form input{font:inherit;font-size:16px;min-width:0;flex:1;padding:10px;border:1px solid #c9b8a9;border-radius:6px;color:#312c29;background:#fff}
.assistant-form button{width:44px;flex-shrink:0;border:0;border-radius:6px;background:#312c29;color:#fff;font-size:24px;cursor:pointer}
.assistant-form button:disabled{opacity:.45;cursor:wait}
.assistant-bottom{display:flex;justify-content:space-between;gap:10px;padding:0 14px 10px;background:#fff;font-size:13px;color:#69615c}
.assistant-bottom a{text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.assistant-reset{border:0;background:none;color:inherit;padding:6px 0;font-size:13px;cursor:pointer}
.clinic-assistant :focus-visible{outline:2px solid #ae846b;outline-offset:3px}
@media(max-width:560px){.clinic-assistant{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.assistant-panel{height:520px;max-height:calc(100dvh - 102px);bottom:62px}.assistant-launcher{padding:12px 16px}}
.assistant-form .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
