/* ===== Live AI assistant: launcher in the floating dock + panel with Chat and Call tabs ===== */
.floating-contact .ai-launch{display:inline-flex;width:auto;gap:8px;padding:0 16px 0 13px;border-color:var(--navy);background:var(--navy);color:#fff;font:600 14.5px/1 var(--font);letter-spacing:-.01em;cursor:pointer}
.floating-contact .ai-launch:hover,.floating-contact .ai-launch:focus-visible{background:var(--navy-light)}
.ai-launch .ai-spark{font-size:15px;color:#9cc3ff}
.ai-launch .ai-live{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px #34d39940}

.ai-inline-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ai-inline{display:flex;align-items:center;gap:8px;max-width:100%;text-align:left;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:500 15px/1.2 var(--font);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.ai-inline:hover{border-color:var(--blue);box-shadow:0 8px 22px -14px #2869d5}
.ai-inline b{color:var(--blue);font-weight:600}
.ai-inline svg{width:17px;height:17px;color:#16a34a;flex:none}

.ai-panel{position:fixed;z-index:60;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:392px;height:min(640px,calc(100vh - 110px));display:flex;flex-direction:column;overflow:hidden;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px -28px #10233270,0 4px 14px #10233214;font-family:var(--font);transform-origin:bottom right;animation:ai-in .22s var(--ease-out,ease-out)}
.ai-panel[hidden]{display:none}
@keyframes ai-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}

.ai-top{background:var(--navy);color:#fff}
.ai-head{display:flex;align-items:center;gap:11px;padding:14px 14px 14px 16px}
.ai-back{width:34px;height:34px;flex:none;display:grid;place-items:center;margin:0 -3px 0 -4px;border-radius:10px;border:1px solid #ffffff2e;background:transparent;color:#fff;cursor:pointer}
.ai-back:hover{background:#ffffff14}
.ai-back svg{width:18px;height:18px}
.ai-back[hidden]{display:none}
.ai-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none;background:linear-gradient(145deg,#2869d5,#1b4fa6);font-weight:700;font-size:13px;letter-spacing:.02em}
.ai-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ai-title strong{font-size:15px;font-weight:600;letter-spacing:-.01em}
.ai-title small{display:flex;align-items:center;gap:6px;font-size:12px;color:#b8c7d3}
.ai-title small i{width:7px;height:7px;border-radius:50%;background:#34d399}
.ai-x{width:34px;height:34px;flex:none;border-radius:10px;border:1px solid #ffffff2e;background:transparent;color:#fff;font-size:20px;line-height:1;cursor:pointer}
.ai-x:hover{background:#ffffff14}
.ai-view{flex:1;min-height:0;display:flex;flex-direction:column}
.ai-view[hidden]{display:none}

/* start screen: pick chat or call */
.ai-home{gap:12px;padding:22px 16px 16px;overflow-y:auto;background:var(--paper)}
.ai-home-lead{margin:0 2px 6px;font-size:14.5px;line-height:1.55;color:var(--muted)}
.ai-home-lead strong{display:block;margin-bottom:5px;color:var(--ink);font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-.02em}
.ai-choice{display:flex;align-items:center;gap:14px;width:100%;padding:18px 16px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;font-family:var(--font);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.ai-choice:hover,.ai-choice:focus-visible{border-color:var(--blue);box-shadow:0 14px 30px -20px #2869d5;transform:translateY(-1px)}
.ai-choice-icon{width:50px;height:50px;flex:none;display:grid;place-items:center;border-radius:14px;background:var(--blue-soft);color:var(--blue)}
.ai-choice.call .ai-choice-icon{background:#dcfce7;color:#16a34a}
.ai-choice-icon svg{width:25px;height:25px}
.ai-choice-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ai-choice-text strong{font-size:16.5px;font-weight:600;letter-spacing:-.01em}
.ai-choice-text small{font-size:13.5px;line-height:1.4;color:var(--muted)}
.ai-choice.live{border-color:#86efac;background:#f0fdf4}
.ai-choice.live small{color:#15803d;font-weight:600}
.ai-choice-go{font-size:18px;color:var(--muted);transition:transform .2s,color .2s}
.ai-choice:hover .ai-choice-go{color:var(--blue);transform:translateX(3px)}
.ai-home-points{display:flex;flex-direction:column;gap:7px;margin:auto 0 0;padding:14px 4px 0;list-style:none;font-size:13.5px;color:var(--muted)}
.ai-home-points li::before{content:'✓';margin-right:8px;color:#15803d;font-weight:700}

/* chat */
.ai-log{flex:1;min-height:0;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px;background:var(--paper);overscroll-behavior:contain}
.ai-msg{max-width:86%;padding:10px 13px;border-radius:15px;font-size:14.5px;line-height:1.5;overflow-wrap:anywhere}
.ai-msg.bot{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:5px}
.ai-msg.me{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:5px}
.ai-msg.me.pending{opacity:.6}
.ai-msg.err{border-color:#f3d7a5;background:#fdf8ee}
.ai-msg a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.ai-msg.me a{color:#cfe0ff}
.ai-typing{display:inline-flex;gap:4px;padding:4px 2px}
.ai-typing i{width:6px;height:6px;border-radius:50%;background:#93a4b0;animation:ai-dot 1s infinite ease-in-out}
.ai-typing i:nth-child(2){animation-delay:.15s}
.ai-typing i:nth-child(3){animation-delay:.3s}
@keyframes ai-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.ai-chips{display:flex;flex-wrap:wrap;gap:7px;padding:4px 16px 10px;background:var(--paper)}
.ai-chips[hidden]{display:none}
.ai-chips button{font:500 13px/1.2 var(--font);padding:8px 12px;border-radius:999px;border:1px solid #c9d6e2;background:var(--surface);color:var(--ink);cursor:pointer}
.ai-chips button:hover{border-color:var(--blue);color:var(--blue)}
.ai-form{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface)}
.ai-form input{flex:1;min-width:0;height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:400 15px/1 var(--font);outline:none}
.ai-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2869d522}
.ai-send{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:12px;border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer}
.ai-send svg{width:21px;height:21px}
.ai-send:disabled{opacity:.45;cursor:default}

/* call */
.ai-call{background:linear-gradient(180deg,#eef4fc,var(--paper) 55%)}
.ai-phone{display:flex;flex-direction:column;align-items:center;gap:5px;padding:24px 16px 12px;text-align:center}
.ai-orb{position:relative;width:92px;height:92px;margin-bottom:12px}
.ai-orb span{position:relative;z-index:1;width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 32% 28%,#5b97f2,#1b4fa6 72%);color:#fff;font-weight:700;font-size:22px;letter-spacing:.02em;box-shadow:0 16px 34px -14px #1b4fa6;transition:transform .25s}
.ai-orb i{position:absolute;inset:0;border-radius:50%;border:2px solid #2869d5;opacity:0}
.is-connecting .ai-orb i,.is-listening .ai-orb i{animation:ai-ring 2.4s infinite ease-out}
.is-connecting .ai-orb i:nth-child(2),.is-listening .ai-orb i:nth-child(2){animation-delay:1.2s}
.is-speaking .ai-orb i{border-color:#16a34a;animation:ai-ring 1.2s infinite ease-out}
.is-speaking .ai-orb i:nth-child(2){animation-delay:.6s}
.is-speaking .ai-orb span{transform:scale(1.05)}
@keyframes ai-ring{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.6);opacity:0}}
.ai-phone strong{font-size:17px;font-weight:600;letter-spacing:-.01em}
.ai-call-status{font-size:13.5px;color:var(--muted)}
.is-speaking .ai-call-status{color:#15803d}
.ai-timer{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.ai-timer[hidden]{display:none}
.ai-voices{display:flex;gap:4px;margin-top:10px;padding:3px;border-radius:999px;border:1px solid var(--line);background:var(--surface)}
.ai-voices button{padding:7px 13px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:500 13px/1 var(--font);cursor:pointer}
.ai-voices button:hover{color:var(--ink)}
.ai-voices button[aria-pressed="true"]{background:var(--navy);color:#fff}
.ai-voices button:disabled{cursor:default}
.ai-voices button:disabled:not([aria-pressed="true"]){opacity:.45}
.ai-meter{display:flex;align-items:center;gap:7px;margin-top:8px;color:var(--muted)}
.ai-meter[hidden]{display:none}
.ai-meter svg{width:15px;height:15px}
.ai-meter span{position:relative;width:110px;height:6px;overflow:hidden;border-radius:3px;background:#e2e8ee}
.ai-meter i{position:absolute;inset:0;background:#16a34a;transform:scaleX(0);transform-origin:left;transition:transform .08s linear}
.ai-meter em{font-style:normal;font-size:12px}
.ai-captions{flex:1;min-height:0;overflow-y:auto;padding:6px 16px 12px;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}
.ai-captions .ai-msg{font-size:14px;padding:8px 12px}
.ai-call-hint{margin:auto 0 0;padding:12px 14px;border-radius:14px;border:1px dashed #c3d2e0;background:#ffffffb0;color:var(--muted);font-size:13.5px;line-height:1.5;text-align:center}
.ai-call-hint[hidden]{display:none}
.ai-call-hint b{color:var(--ink);font-weight:500}
.ai-call-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:14px 16px 16px;border-top:1px solid var(--line);background:var(--surface)}
.ai-dial{grid-column:2;width:62px;height:62px;border-radius:50%;border:0;display:grid;place-items:center;background:#16a34a;color:#fff;cursor:pointer;box-shadow:0 12px 26px -12px #16a34a;transition:background .2s,box-shadow .2s}
.ai-dial svg{width:27px;height:27px;transition:transform .25s}
.ai-dial:hover{background:#15803d}
.ai-dial.end{background:#dc2626;box-shadow:0 12px 26px -12px #dc2626}
.ai-dial.end:hover{background:#b91c1c}
.ai-dial.end svg{transform:rotate(135deg)}
.ai-mute{grid-column:1;justify-self:start;display:flex;align-items:center;gap:6px;height:40px;padding:0 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:500 13.5px/1 var(--font);cursor:pointer}
.ai-mute[hidden]{display:none}
.ai-mute svg{width:18px;height:18px}
.ai-mute[aria-pressed="true"]{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}

.ai-note{margin:0;padding:0 14px 10px;font-size:11.5px;color:var(--muted);text-align:center;background:var(--surface)}

@media(prefers-reduced-motion:reduce){.ai-panel{animation:none}.ai-orb i{animation:none!important}}
@media(max-width:600px){
  .ai-panel{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:auto;height:calc(100vh - 16px);height:calc(100dvh - 16px - env(safe-area-inset-bottom,0px));border-radius:18px}
  body.ai-open .floating-contact{display:none}
  .floating-contact .ai-launch{padding:0 14px 0 12px}
  .ai-form input{font-size:16px}
}
