/* Doctor Saathi AI voice assistant — matches the Doctor Saathi theme */
.ibact-vc, .ibact-vc *{box-sizing:border-box}
.ibact-vc{--b:#0057FF;--n:#0A1F5C;--t:#00C6AE;--bg:#F2F6FF;--ln:#DDE5F8;--mu:#5B6B96;--am:#FFB703;font-family:'Outfit','Sora',system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Bengali",sans-serif;font-size:15px;line-height:1.45;color:var(--n)}
.ibact-vc button,.ibact-vc a,.ibact-vc input,.ibact-vc select{font-family:inherit}

/* floating button */
.ibact-vc-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:99990;display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;
  background:linear-gradient(135deg,#0057FF,#0A1F5C)!important;color:#fff!important;padding:13px 20px 13px 16px;border-radius:50px;font-weight:700;font-size:15px;
  box-shadow:0 12px 34px rgba(0,87,255,.45);transition:transform .2s,box-shadow .2s,opacity .2s}
.ibact-vc-fab:hover,.ibact-vc-fab:focus{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,87,255,.55);color:#fff!important;background:linear-gradient(135deg,#0A66FF,#0A1F5C)!important}
.ibact-vc-fab-ic{font-size:20px;line-height:1;animation:ibvcPulse 2.4s ease-in-out infinite}
.ibact-vc-fab.hide{opacity:0;pointer-events:none;transform:scale(.8)}
.ibact-vc-fab.has-dock{bottom:calc(92px + env(safe-area-inset-bottom))}
@keyframes ibvcPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}

.ibact-vc-inline{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;background:linear-gradient(135deg,#0057FF,#0A1F5C)!important;color:#fff!important;padding:13px 22px;border-radius:50px;font-weight:700;font-size:15px;box-shadow:0 10px 28px rgba(0,87,255,.35)}

/* panel */
.ibact-vc-panel[hidden]{display:none!important}
.ibact-vc-panel{position:fixed;z-index:99999;right:20px;bottom:20px;width:410px;max-width:calc(100vw - 24px);height:min(700px,calc(100vh - 40px));background:#fff;border-radius:22px;border:1px solid var(--ln);
  box-shadow:0 26px 70px rgba(10,31,92,.35);display:flex;flex-direction:column;overflow:hidden;animation:ibvcIn .25s ease}
@keyframes ibvcIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:600px){
  .ibact-vc-panel{right:0;left:0;bottom:0;width:100%;max-width:none;height:92dvh;height:92vh;border-radius:22px 22px 0 0;animation:ibvcUp .28s ease}
  @supports (height:1dvh){.ibact-vc-panel{height:92dvh}}
  @keyframes ibvcUp{from{transform:translateY(100%)}to{transform:none}}
}
html.ibact-vc-lock .ibact-vc-panel ~ *{}
.ibact-vc-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#0057FF,#0A1F5C);color:#fff}
.ibact-vc-av{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:22px;flex:0 0 42px}
.ibact-vc-ht{flex:1;min-width:0;display:flex;flex-direction:column}
.ibact-vc-ht b{font-size:16px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibact-vc-status{font-size:12.5px;opacity:.88;color:#fff}
.ibact-vc .ibact-vc-x{background:rgba(255,255,255,.16)!important;color:#fff!important;border:0;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:16px;line-height:1;flex:0 0 36px}
.ibact-vc .ibact-vc-x:hover{background:rgba(255,255,255,.3)!important}

.ibact-vc-body{flex:1;overflow-y:auto;padding:16px 14px;background:var(--bg);display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.ibact-vc-b{max-width:86%;padding:10px 14px;border-radius:16px;font-size:15px;word-wrap:break-word;white-space:pre-wrap}
.ibact-vc-b.bot{align-self:flex-start;background:#fff;border:1px solid var(--ln);border-bottom-left-radius:5px;color:var(--n)}
.ibact-vc-b.user{align-self:flex-end;background:var(--b);color:#fff;border-bottom-right-radius:5px}
.ibact-vc-b.user.ph{opacity:.55}
.ibact-vc-b.sys{align-self:center;background:#FFF4D6;color:#7A5200;font-size:13.5px;text-align:center;border-radius:12px}

/* cards */
.ibact-vc-card{align-self:stretch;background:#fff;border:1px solid var(--ln);border-radius:16px;padding:12px;box-shadow:0 6px 20px rgba(10,31,92,.06)}
.ibact-vc-card.old{opacity:.5;pointer-events:none;filter:saturate(.6)}
.ibact-vc-ct{font-weight:700;font-size:14px;margin-bottom:8px;color:var(--n)}
.ibact-vc-doc{border-top:1px solid var(--ln);padding:10px 0;display:flex;flex-direction:column;gap:8px}
.ibact-vc-doc:first-of-type{border-top:0}
.ibact-vc-di{display:flex;flex-direction:column;gap:2px}
.ibact-vc-di b{font-size:15.5px}
.ibact-vc-di span{font-size:13px;color:var(--mu)}
.ibact-vc-di .m{font-size:12.5px}
.ibact-vc-chs{display:flex;flex-wrap:wrap;gap:6px}
.ibact-vc .ibact-vc-pick{border:1.5px solid var(--b);background:#fff!important;color:var(--b)!important;border-radius:50px;padding:9px 16px;font-weight:700;font-size:14px;cursor:pointer;align-self:flex-start;min-height:40px}
.ibact-vc .ibact-vc-pick:hover,.ibact-vc .ibact-vc-pick:focus{background:var(--b)!important;color:#fff!important}
.ibact-vc-dt{font-size:13px;font-weight:700;color:var(--mu);margin:8px 0 6px}
.ibact-vc-chips{display:flex;flex-wrap:wrap;gap:7px}
.ibact-vc .ibact-vc-chip{border:1.5px solid var(--ln);background:var(--bg)!important;color:var(--n)!important;border-radius:12px;padding:9px 13px;font-weight:600;font-size:14px;cursor:pointer;min-height:40px}
.ibact-vc .ibact-vc-chip:hover,.ibact-vc .ibact-vc-chip:focus{border-color:var(--b);background:var(--b)!important;color:#fff!important}
.ibact-vc-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--b);color:#fff!important;text-decoration:none;font-weight:700;border-radius:12px;padding:12px 16px;margin-top:8px}
.ibact-vc-btn.ghost{background:#fff;color:var(--b)!important;border:1.5px solid var(--b)}
.ibact-vc-emg{background:#FEE4E2;border:1px solid #FDA29B;color:#7A271A;border-radius:12px;padding:10px 12px}
.ibact-vc-emg b{display:block;margin-bottom:2px}.ibact-vc-emg p{margin:0}.ibact-vc-emg a{color:#B42318;font-weight:800}

/* payment card */
.ibact-vc-sum{background:var(--bg);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.ibact-vc-sum span{font-size:13px;color:var(--mu)}
.ibact-vc-form{display:flex;flex-direction:column;gap:10px}
.ibact-vc-form label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;color:var(--mu)}
.ibact-vc-form .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ibact-vc-form input[type=text],.ibact-vc-form input[type=tel],.ibact-vc-form input[type=number],.ibact-vc-form select{width:100%;border:1.5px solid var(--ln);border-radius:12px;padding:11px 12px;font-size:16px;color:var(--n);background:#fff;min-height:46px;margin:0}
.ibact-vc-form input:focus,.ibact-vc-form select:focus{outline:none;border-color:var(--b);box-shadow:0 0 0 3px rgba(0,87,255,.12)}
.ibact-vc-opts{display:flex;flex-direction:column;gap:8px}
.ibact-vc-form label.opt{flex-direction:row;align-items:center;gap:10px;border:1.5px solid var(--ln);border-radius:12px;padding:10px 12px;cursor:pointer;color:var(--n);font-size:14px}
.ibact-vc-form label.opt span{flex:1;display:flex;flex-direction:column}
.ibact-vc-form label.opt small{font-weight:500;color:var(--mu);font-size:12px}
.ibact-vc-form label.opt em{font-style:normal;font-weight:800;color:var(--b);font-size:16px}
.ibact-vc-form label.opt:has(input:checked){border-color:var(--b);background:rgba(0,87,255,.05)}
.ibact-vc-form label.opt input{width:18px;height:18px;margin:0;accent-color:var(--b)}
.ibact-vc-err{color:#B42318;font-size:13px;font-weight:600;margin:0;min-height:0}
.ibact-vc .ibact-vc-pay{border:0;background:linear-gradient(135deg,#0057FF,#0A1F5C)!important;color:#fff!important;font-weight:800;font-size:16px;border-radius:14px;padding:15px;cursor:pointer;min-height:52px;box-shadow:0 10px 24px rgba(0,87,255,.35)}
.ibact-vc .ibact-vc-pay:disabled{opacity:.6;cursor:wait}
.ibact-vc-ok{text-align:center}
.ibact-vc-ok .t{font-size:18px;font-weight:800;color:#067647;margin-bottom:4px}
.ibact-vc-ok .id{color:var(--mu);margin-bottom:6px}.ibact-vc-ok p{margin:6px 0}

/* footer / mic */
.ibact-vc-foot{background:#fff;border-top:1px solid var(--ln);padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
.ibact-vc-row{display:flex;align-items:center;justify-content:center;gap:22px}
.ibact-vc .ibact-vc-kb,.ibact-vc .ibact-vc-call{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--ln);background:#fff!important;display:grid;place-items:center;font-size:19px;cursor:pointer;text-decoration:none;color:var(--n)!important}
.ibact-vc .ibact-vc-kb:hover,.ibact-vc .ibact-vc-call:hover{border-color:var(--b)}
.ibact-vc .ibact-vc-mic{--lvl:0;position:relative;width:72px;height:72px;border-radius:50%;border:0;cursor:pointer;background:linear-gradient(135deg,#0057FF,#0A1F5C)!important;color:#fff!important;display:grid;place-items:center;box-shadow:0 10px 26px rgba(0,87,255,.45);padding:0}
.ibact-vc-micic{font-size:30px;line-height:1;position:relative;z-index:2}
.ibact-vc-ring{position:absolute;inset:-6px;border-radius:50%;border:3px solid rgba(0,198,174,.0);transform:scale(calc(1 + var(--lvl)*.35));transition:transform .08s linear,border-color .2s}
.ibact-vc[data-mode=listening] .ibact-vc-mic{background:linear-gradient(135deg,#00C6AE,#009C8A)!important;animation:none}
.ibact-vc[data-mode=listening] .ibact-vc-ring{border-color:rgba(0,198,174,.55)}
.ibact-vc[data-mode=thinking] .ibact-vc-mic{background:linear-gradient(135deg,#8896C4,#5B6B96)!important}
.ibact-vc[data-mode=thinking] .ibact-vc-micic{animation:ibvcSpin 1.1s linear infinite}
.ibact-vc[data-mode=speaking] .ibact-vc-mic{background:linear-gradient(135deg,#FFB703,#F08C00)!important}
.ibact-vc[data-mode=speaking] .ibact-vc-ring{border-color:rgba(255,183,3,.6);animation:ibvcRing 1.2s ease-in-out infinite}
@keyframes ibvcSpin{to{transform:rotate(360deg)}}
@keyframes ibvcRing{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
.ibact-vc-type{display:flex;gap:8px;margin-top:10px}
.ibact-vc-type[hidden]{display:none}
.ibact-vc-type input{flex:1;border:1.5px solid var(--ln);border-radius:12px;padding:11px 12px;font-size:16px;min-height:46px;margin:0}
.ibact-vc .ibact-vc-type button{border:0;background:var(--b)!important;color:#fff!important;border-radius:12px;padding:0 16px;font-weight:700;cursor:pointer;min-height:46px}
.ibact-vc-note{margin:8px 0 0;font-size:11px;line-height:1.35;color:var(--mu);text-align:center}
@media(max-height:560px){.ibact-vc-note{display:none}}
@media(prefers-reduced-motion:reduce){.ibact-vc *{animation:none!important;transition:none!important}}

/* ── v1.10.4: clearer floating button, "calling" screen, please-wait ─────────── */
.ibact-vc .ibact-vc-fab{padding:9px 20px 9px 9px;gap:12px;border-radius:60px;max-width:calc(100vw - 24px);text-align:left;animation:ibvcGlow 2.6s ease-out infinite;box-shadow:0 12px 34px rgba(0,87,255,.5);border:2px solid rgba(255,255,255,.35)}
.ibact-vc-fab-ic{position:relative;flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:#fff;display:grid;place-items:center;animation:none}
.ibact-vc-fab-ic em{font-style:normal;font-size:26px;line-height:1;position:relative;z-index:1}
.ibact-vc-fab-ic i.r{position:absolute;inset:0;border-radius:50%;border:2px solid #00C6AE;opacity:0;animation:ibvcRipple 2.2s ease-out infinite}
.ibact-vc-fab-ic i.r2{animation-delay:1.1s}
.ibact-vc-fab-tx{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.ibact-vc-fab-tx small{font-size:11px;font-weight:600;letter-spacing:.3px;color:#BFE3FF;text-transform:none}
.ibact-vc-fab-tx b{font-size:15.5px;font-weight:800;color:#fff}
.ibact-vc-fab.has-dock{bottom:calc(92px + env(safe-area-inset-bottom))}
@keyframes ibvcRipple{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
@keyframes ibvcGlow{0%{box-shadow:0 12px 34px rgba(0,87,255,.5),0 0 0 0 rgba(0,87,255,.45)}70%{box-shadow:0 12px 34px rgba(0,87,255,.5),0 0 0 16px rgba(0,87,255,0)}100%{box-shadow:0 12px 34px rgba(0,87,255,.5),0 0 0 0 rgba(0,87,255,0)}}
@media(max-width:380px){.ibact-vc-fab-tx b{font-size:14px}.ibact-vc-fab-tx small{display:none}}
.ibact-vc-nudge{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:99989;max-width:min(270px,calc(100vw - 32px));background:#fff;color:#0A1F5C;border:1px solid #DDE5F8;border-radius:16px 16px 4px 16px;padding:10px 12px 10px 14px;box-shadow:0 12px 30px rgba(10,31,92,.22);display:flex;gap:8px;align-items:flex-start;font-weight:700;font-size:14px;animation:ibvcIn .3s ease}
.ibact-vc-nudge[hidden]{display:none}
.ibact-vc-nudge.has-dock{bottom:calc(160px + env(safe-area-inset-bottom))}
.ibact-vc-nudge span{cursor:pointer;flex:1}
.ibact-vc .ibact-vc-nudge button{border:0;background:transparent!important;color:#5B6B96!important;font-size:14px;line-height:1;padding:2px;cursor:pointer}
.ibact-vc[data-open] .ibact-vc-nudge{display:none}

/* ringing screen */
.ibact-vc-ringscr{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;text-align:center;background:radial-gradient(circle at 50% 30%,#1B4FD8 0%,#0A1F5C 70%);color:#fff}
.ibact-vc-ringscr[hidden]{display:none!important}
.ibact-vc[data-ring] .ibact-vc-body,.ibact-vc[data-ring] .ibact-vc-foot{display:none}
.ibact-vc-pulse{position:relative;width:132px;height:132px;display:grid;place-items:center;margin-bottom:18px}
.ibact-vc-pulse i{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.55);animation:ibvcCall 2s ease-out infinite}
.ibact-vc-pulse i:nth-child(2){animation-delay:.66s}.ibact-vc-pulse i:nth-child(3){animation-delay:1.33s}
.ibact-vc-pulse .av{width:92px;height:92px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:46px;position:relative;box-shadow:0 10px 30px rgba(0,0,0,.3);animation:ibvcShake 1.5s ease-in-out infinite}
@keyframes ibvcCall{0%{transform:scale(.72);opacity:.9}100%{transform:scale(1.5);opacity:0}}
@keyframes ibvcShake{0%,60%,100%{transform:rotate(0)}10%{transform:rotate(-8deg)}20%{transform:rotate(8deg)}30%{transform:rotate(-6deg)}40%{transform:rotate(6deg)}50%{transform:rotate(-3deg)}}
.ibact-vc-ringscr b{font-size:22px;font-weight:800;color:#fff}
.ibact-vc-ringscr .rt{margin:2px 0 0;font-size:18px;font-weight:700;color:#7CF2E3}
.ibact-vc-ringscr .rs{margin:0;font-size:14px;opacity:.85;color:#fff}
.ibact-vc .ibact-vc-skip{margin-top:26px;border:1.5px solid rgba(255,255,255,.6);background:transparent!important;color:#fff!important;border-radius:50px;padding:11px 22px;font-weight:700;font-size:14.5px;cursor:pointer;min-height:44px}
.ibact-vc .ibact-vc-skip:hover{background:rgba(255,255,255,.16)!important}

/* please wait */
.ibact-vc-b.wait{display:flex;align-items:center;gap:10px;background:#EAF1FF;border-color:#BCD1FF;color:#0A1F5C}
.ibact-vc-b.wait .wt{display:flex;flex-direction:column;font-weight:700;font-size:14.5px;line-height:1.3}
.ibact-vc-b.wait .wt small{font-weight:500;font-size:12px;color:#5B6B96}
.ibact-vc-b.wait .dots{display:inline-flex;gap:4px}
.ibact-vc-b.wait .dots i{width:9px;height:9px;border-radius:50%;background:#0057FF;animation:ibvcDot 1.2s ease-in-out infinite}
.ibact-vc-b.wait .dots i:nth-child(2){animation-delay:.2s}.ibact-vc-b.wait .dots i:nth-child(3){animation-delay:.4s}
@keyframes ibvcDot{0%,80%,100%{transform:scale(.55);opacity:.45}40%{transform:scale(1);opacity:1}}
.ibact-vc-cap{margin:6px 0 0;text-align:center;font-size:14px;font-weight:700;color:#0A1F5C;min-height:20px}
.ibact-vc[data-mode=thinking] .ibact-vc-cap{color:#B54708}
.ibact-vc[data-mode=listening] .ibact-vc-cap{color:#067647}
.ibact-vc[data-mode=idle] .ibact-vc-mic{animation:ibvcMic 2.2s ease-in-out infinite}
@keyframes ibvcMic{0%,100%{box-shadow:0 10px 26px rgba(0,87,255,.45)}50%{box-shadow:0 10px 26px rgba(0,87,255,.45),0 0 0 12px rgba(0,87,255,.12)}}
.ibact-vc-status{font-weight:600}

/* ── v1.10.5: compact mobile button, mandatory phone ─────────────────────────── */
.ibact-vc-fab-tx .short{display:none}
@media(max-width:600px){
  .ibact-vc .ibact-vc-fab{padding:7px 16px 7px 7px;gap:9px;right:12px}
  .ibact-vc-fab-ic{flex:0 0 46px;width:46px;height:46px}.ibact-vc-fab-ic em{font-size:23px}
  .ibact-vc-fab-tx .full{display:none}.ibact-vc-fab-tx .short{display:inline;font-size:14.5px;font-weight:800;color:#fff}
  .ibact-vc-fab-tx small{font-size:10.5px}
  .ibact-vc-nudge{right:12px;padding:8px 10px 8px 12px;font-size:13px;max-width:min(230px,calc(100vw - 24px))}
}
/* collapsed = just a round mic with an "AI" tag */
.ibact-vc .ibact-vc-fab.collapsed{padding:6px;gap:0;width:58px;height:58px;border-radius:50%;justify-content:center;transition:all .25s}
.ibact-vc-fab.collapsed .ibact-vc-fab-tx{display:none}
.ibact-vc-fab.collapsed::after{content:"AI";position:absolute;top:-5px;left:-5px;background:#00C6AE;color:#fff;font:800 10px/1 sans-serif;padding:4px 6px;border-radius:10px;border:2px solid #fff}
.ibact-vc-fab.collapsed .ibact-vc-fab-ic{flex:0 0 44px;width:44px;height:44px}
.ibact-vc-fab.has-dock.collapsed{bottom:calc(88px + env(safe-area-inset-bottom))}
.ibact-vc-nudge.has-dock{bottom:calc(152px + env(safe-area-inset-bottom))}
.ibact-vc .req{color:#B42318;font-weight:700;font-size:11.5px}
.ibact-vc-hint{margin:0;font-size:12px;color:#5B6B96}
.ibact-vc-form input.bad{border-color:#F04438;background:#FFF6F5}
.ibact-vc .ibact-vc-pay.need{background:#98A2B3!important;box-shadow:none;font-size:15px}
.ibact-vc-card.phone{border:1.5px solid #0057FF;box-shadow:0 8px 24px rgba(0,87,255,.15)}
