.assistant-callout { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-block:45px 60px; scroll-margin-top:95px; }
.assistant-callout h2 { font-size:32px; max-width:650px; }
.assistant-callout p:not(.eyebrow) { color:var(--muted); max-width:620px; margin:18px 0 0; font-size:15px; }
.assistant-callout>.button { flex-shrink:0; }
.assistant-launcher { position:fixed!important; bottom:max(18px,env(safe-area-inset-bottom)); right:18px; z-index:40; display:flex; align-items:center; gap:10px; min-height:56px!important; padding:10px 18px!important; box-shadow:0 6px 28px #0009!important; font:600 14px var(--body); cursor:pointer; }
.assistant-launcher img { width:35px; height:auto; }
.assistant-launcher[hidden] { display:none!important; }
.assistant-dialog { inset:auto 18px 18px auto; width:440px; max-width:calc(100vw - 32px); height: min(780px,calc(100dvh - 36px)); max-height:calc(100dvh - 36px); padding:0; margin:0; border:1px solid #537e87; border-radius:22px; background:#0c1a21; color:#e9f5f6; box-shadow:0 25px 90px #0009; overflow:hidden; }
.assistant-dialog[open] { display:flex; flex-direction:column; }
.assistant-dialog:not([open]) { display:none; }
.assistant-dialog::backdrop { background:#030b10a8; }
.chat-header { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:15px 18px; background:#132a32; border-bottom:1px solid #36525a; flex-shrink:0; }
.chat-identity { display:flex; align-items:center; gap:10px; }
.chat-identity img { width:48px; height:auto; }
.chat-identity h2 { font:600 17px/1.4 var(--display); letter-spacing:-.4px; margin:0; }
.chat-identity span { font-size:11px; color:#a8d3d5; }
.chat-close { display:grid; place-items:center; width:44px; height:44px; font:300 30px/1 var(--body); border-radius:50%; border:1px solid #4c717a; color:#eafffc; background:#182f38; cursor:pointer; }
.chat-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; flex:1 1 auto; padding:20px 18px 12px; scrollbar-width:thin; scrollbar-color:#48717a #102028; }
.chat-welcome .eyebrow { font-size:9px; letter-spacing:1.5px; margin-bottom:12px; }
.chat-welcome h3 { font-size:26px; letter-spacing:-1px; margin-bottom:10px; }
.chat-welcome>p:last-child { color:#b7cfd5; font-size:15px; line-height:1.55; margin-bottom:18px; }
.chat-questions { margin:8px 0 2px; }
.chat-questions summary { padding:10px 0; min-height:44px; list-style:none; cursor:pointer; font-size:13px; font-weight:600; display:flex; justify-content:space-between; align-items:center; }
.chat-questions summary::-webkit-details-marker { display:none; }
.chat-question-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.chat-question-grid button { text-align:left; border:1px solid #456771; border-radius:10px; background:#132e37; color:#d4f4f3; padding:12px; font:500 12px/1.4 var(--body); min-height:48px; cursor:pointer; }
.chat-question-grid button:hover:not(:disabled) { border-color:#88fff1; background:#204550; }
.chat-question-grid button:disabled { opacity:.5; cursor:wait; }
.chat-log { display:flex; flex-direction:column; gap:16px; }
.chat-message { padding:14px 15px; border:1px solid #355560; background:#172e39; border-radius:3px 14px 14px; font-size:15px; line-height:1.65; overflow-wrap:anywhere; }
.chat-message[data-role=user] { background:#164743; border-color:#3f796f; border-radius:14px 3px 14px 14px; margin-left:25px; }
.chat-message strong { display:block; color:#9becdf; font-size:10px; letter-spacing:1px; margin-bottom:7px; }
.chat-message-content { white-space:pre-wrap; }
.chat-message .chat-handoff { margin-top:15px; }
.chat-composer { border-top:1px solid #38565f; flex-shrink:0; padding:10px 18px 12px; background:#0c1a21; }
.chat-feedback { margin:0 0 6px; color:#b5d9dc; font-size:12px; line-height:1.45; }
.chat-feedback[data-error=true] { color:#ffcea8; }
.chat-privacy { font-size:10px; line-height:1.5; color:#9fbac4; margin:0 0 8px; }
.chat-composer form label { display:block; font-size:11px; color:#c4dce0; margin-bottom:5px; }
.chat-input-row { display:flex; align-items:flex-end; gap:8px; }
.chat-input-row textarea { width:100%; min-width:0; min-height:56px; max-height:100px; resize:none; color:#f4ffff; border:1px solid #4a6e7c; border-radius:10px; background:#07131a; padding:10px 12px; font:16px/1.4 var(--body); }
.chat-input-row textarea::placeholder { color:#99b2bd; }
.chat-input-row .button { min-height:50px; padding:10px 15px; font-size:12px; flex-shrink:0; cursor:pointer; }
.chat-utilities { display:flex; align-items:center; gap:12px; justify-content:space-between; }
.chat-utilities button { border:0; color:#aadbd9; background:none; min-height:36px; padding:6px 0; cursor:pointer; font:12px var(--body); }
.chat-utilities button:disabled { opacity:.5; cursor:default; }
.chat-utilities span { font-size:10px; color:#9bb6c1; }
.chat-handoff { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid #376c67; background:#11332f; color:#b1ffe8; border-radius:8px; font-size:12px; min-height:42px; text-decoration:none; }
.chat-handoff:hover { border-color:#8deed9; }
.chat-terms { margin:5px 0 0; text-align:center; color:#a2bbc4; font-size:9px; }
.assistant-dialog :focus-visible { outline:2px solid #b9fff3; outline-offset:3px; }
.assistant-open { overflow:hidden; }
@media(max-width:800px) {
 .assistant-callout { flex-direction:column; align-items:flex-start; gap:22px; padding-block:30px 40px; }
 .assistant-callout h2 { font-size:26px; }
 .assistant-launcher { bottom:max(12px,env(safe-area-inset-bottom)); right:12px; font-size:13px; min-height:52px!important; }
 .assistant-dialog { inset:var(--chat-top,0px) 0 auto; width:100%; max-width:100%; height:var(--chat-height,100dvh); max-height:var(--chat-height,100dvh); border:0; border-radius:0; padding-bottom:env(safe-area-inset-bottom); }
 .chat-header { padding-top:max(12px,env(safe-area-inset-top)); }
 .chat-question-grid button { font-size:13px; }
 .chat-composer { padding-inline:16px; }
 .chat-body { padding-inline:16px; }
}
@media(max-height:580px) {
 .chat-header { padding-block:6px; }
 .chat-privacy { font-size:9px; line-height:1.3; }
 .chat-composer { padding-block:5px; }
 .chat-terms,.chat-utilities span { display:none; }
 .chat-input-row textarea { min-height:44px; height:44px; }
 .chat-input-row .button { min-height:44px; }
 .chat-handoff { min-height:36px; padding-block:6px; }
 .chat-feedback { font-size:11px; }
}
