.specialty-search-launch{position:fixed;z-index:1000;right:max(20px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff;border:1px solid #e5e7eb;color:#0b1f3a;box-shadow:0 4px 18px rgb(11 31 58 / 14%);text-decoration:none}
.specialty-search-launch svg{width:30px;height:30px}
.specialty-search-launch:hover{background:#f8fafc}
#specialty-search{position:fixed;z-index:1001;inset:auto max(20px,env(safe-area-inset-right)) calc(94px + env(safe-area-inset-bottom)) auto;box-sizing:border-box;width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 125px - env(safe-area-inset-bottom));overflow:auto;margin:0;padding:0;border:2px solid #0b1f3a;border-radius:22px;background:white;color:#0b1f3a;box-shadow:0 14px 40px rgb(11 31 58 / 18%);text-align:left}
.specialty-chat-header{display:flex;align-items:center;gap:10px;padding:18px 20px 14px;border-bottom:1px solid #edf0f3;font-weight:650;font-size:.95rem}
.specialty-chat-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#0b1f3a;color:#fff;font-size:1rem;font-weight:700}
.specialty-chat-subtitle{display:block;margin-top:2px;font-size:.7rem;font-weight:400;color:#64748b}
.specialty-search-close{margin-left:auto;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:0;background:transparent;color:#526174;font:inherit;font-size:20px;line-height:1;cursor:pointer;box-shadow:none}
.specialty-search-close:hover{background:transparent;color:#0b1f3a}
.specialty-chat-body{padding:20px}
#specialty-search h2{margin:0 0 12px;font-size:1.35rem;line-height:1.25;font-weight:650;letter-spacing:-.03em}
#specialty-search p{margin:0;color:#526174;font-size:.88rem;line-height:1.55}
#specialty-search form{display:grid;gap:8px;margin-top:18px}
#specialty-search .specialty-input-label{font-size:.76rem;font-weight:600;margin-top:2px}
#specialty-search input{box-sizing:border-box;width:100%;min-height:46px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#f5f6f8;color:#0b1f3a;font:inherit;font-size:16px;box-shadow:none}
#specialty-search input:focus{background:#fff;border-color:#2563eb}
#specialty-search .btn{display:flex;justify-content:space-between;align-items:center;min-height:46px;margin-top:6px;padding:12px 14px;background:#0b1f3a;color:#fff;border:0;border-radius:10px;box-shadow:none;font-size:.86rem;font-weight:600}
#specialty-search .specialty-chat-note{font-size:.72rem;line-height:1.45;color:#64748b;margin-top:14px}
#specialty-search :focus-visible,.specialty-search-launch:focus-visible{outline:2px solid #2563eb;outline-offset:3px}
#specialty-search .specialty-search-close:focus-visible{outline:none;box-shadow:inset 0 -2px #2563eb}
@media(max-width:480px){.specialty-search-launch{right:16px;bottom:calc(18px + env(safe-area-inset-bottom));width:54px;height:54px}#specialty-search{right:16px;bottom:calc(86px + env(safe-area-inset-bottom));width:340px;border-radius:20px;max-height:calc(100dvh - 110px - env(safe-area-inset-bottom))}.specialty-chat-body{padding:18px}.specialty-chat-header{padding:14px 18px 12px}}
.specialty-suggestions{display:grid;gap:2px;border:1px solid #e2e8f0;border-radius:10px;padding:4px;background:#fff;max-height:224px;overflow:auto}
.specialty-suggestions[hidden]{display:none}
#specialty-search .specialty-suggestions button{display:block;width:100%;min-height:40px;border:0;background:transparent;text-align:left;border-radius:6px;padding:9px 10px;color:#334155;font:inherit;font-size:.82rem;line-height:1.35;cursor:pointer}
#specialty-search .specialty-suggestions button:hover,#specialty-search .specialty-suggestions button[aria-selected="true"]{background:#eff6ff;color:#1d4ed8}
.specialty-suggestions-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
