/* مساعدة النخبة الذكية: زر عائم + نافذة شات + شاشة مكالمة. ملف مستقل (assistant.php / assistant.js). */
.ai{--ai-bg:var(--purple-950,#150b30);--ai-pr:var(--purple-600,#5d14c7);--ai-gold:var(--gold-500,#eea62c);font-family:var(--font-body,system-ui)}
.ai svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* الزر العائم: أسفل الشاشة بجهة البداية (يمين بالعربي) فوق أي شريط ثابت */
.ai-fab{position:fixed;z-index:1100;inset-inline-start:20px;bottom:calc(20px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;height:58px;padding:0 20px 0 8px;border:0;border-radius:999px;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--ai-pr),#7a2ff0 55%,#9b4dff);box-shadow:0 16px 36px -12px rgba(93,20,199,.7);font:inherit;font-weight:700;font-size:15px;transition:transform .2s,box-shadow .2s}
[dir="rtl"] .ai-fab{padding:0 8px 0 20px}
.ai-fab:hover{transform:translateY(-2px);box-shadow:0 22px 44px -14px rgba(93,20,199,.85)}
.ai-fab:focus-visible{outline:3px solid var(--ai-gold);outline-offset:3px}
.ai-fab__ic{width:42px!important;height:42px!important;padding:9px;border-radius:50%;background:rgba(255,255,255,.16);color:#ffd36e;stroke:none!important}
.ai-fab__ic path{fill:currentColor}
.ai-fab__ring{position:absolute;inset-inline-start:8px;top:8px;width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,211,110,.7);animation:aiRing 2.4s ease-out infinite;pointer-events:none}
@keyframes aiRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
body:has(.pf-mbar) .ai-fab{bottom:calc(146px + env(safe-area-inset-bottom))} /* فوق شريط الحجز في صفحة الطبيب (جوال) */
.ai.is-open .ai-fab{opacity:0;pointer-events:none;transform:scale(.8)}

/* النافذة */
.ai-panel{position:fixed;z-index:1101;inset-inline-start:20px;bottom:20px;width:min(400px,calc(100vw - 40px));height:min(640px,calc(100vh - 40px));display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:#faf8fd;box-shadow:0 30px 80px -20px rgba(21,11,48,.55);animation:aiIn .28s cubic-bezier(.2,.7,.2,1)}
.ai-panel[hidden]{display:none}
@keyframes aiIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.ai-head{display:flex;align-items:center;gap:10px;padding:14px 14px 14px 16px;color:#fff;background:linear-gradient(135deg,var(--ai-bg),#2a1160 60%,var(--ai-pr))}
.ai-head__txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}
.ai-head__txt b{font-size:16px}
.ai-head__txt small{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.8}
.ai-dot{width:8px;height:8px;border-radius:50%;background:#2ee370;box-shadow:0 0 0 3px rgba(46,227,112,.25)}
.ai-avatar{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#ffd36e;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)}
.ai-ibtn{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:12px;cursor:pointer;color:inherit;background:rgba(255,255,255,.12)}
.ai-ibtn:hover{background:rgba(255,255,255,.22)}
.ai-ibtn:focus-visible,.ai-send:focus-visible{outline:2px solid var(--ai-gold);outline-offset:2px}

.ai-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.ai-msg{max-width:85%;padding:10px 14px;border-radius:18px;font-size:15px;line-height:1.75;white-space:pre-wrap;word-wrap:break-word;animation:aiMsg .25s ease both}
@keyframes aiMsg{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ai-msg.is-bot{align-self:flex-start;background:#fff;color:#1a1040;border:1px solid #e6e0ef;border-end-start-radius:6px}
.ai-msg.is-me{align-self:flex-end;background:var(--ai-pr);color:#fff;border-end-end-radius:6px}
.ai-links{align-self:flex-start;display:flex;flex-direction:column;gap:6px;max-width:85%}
.ai-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:14px;background:#25d366;color:#06301a;font-weight:700;font-size:14px;text-decoration:none}
.ai-link.is-pay{background:var(--ai-gold);color:var(--ai-bg)}
.ai-typing{align-self:flex-start;display:flex;gap:5px;padding:14px 16px;background:#fff;border:1px solid #e6e0ef;border-radius:18px}
.ai-typing i{width:8px;height:8px;border-radius:50%;background:#9562e6;animation:aiDot 1.2s infinite}
.ai-typing i:nth-child(2){animation-delay:.15s}.ai-typing i:nth-child(3){animation-delay:.3s}
@keyframes aiDot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-4px)}}
.ai-chips{display:flex;flex-wrap:wrap;gap:8px}
.ai-chip{padding:8px 14px;border:1px solid #d8c5fb;border-radius:999px;background:#fff;color:#4a0fa0;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.ai-chip:hover{background:#f6f1ff}

.ai-input{display:flex;align-items:center;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e6e0ef}
.ai-input input{flex:1;min-width:0;height:46px;padding:0 16px;border:1px solid #e6e0ef;border-radius:999px;font:inherit;font-size:15px;background:#faf8fd;color:#1a1040}
.ai-input input:focus{outline:none;border-color:#7631d9}
.ai-mic{color:#5d14c7;background:#f3eff9}
.ai-mic:hover{background:#ece2fe}
.ai-mic.is-on{color:#fff;background:#d92d20;animation:aiPulse 1s infinite}
@keyframes aiPulse{50%{transform:scale(1.08)}}
.ai-send{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;cursor:pointer;color:#fff;background:var(--ai-pr)}
.ai-send svg{stroke:none;width:22px;height:22px}
[dir="rtl"] .ai-send svg{transform:scaleX(-1)}

/* المكالمة */
.ai-call{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;color:#fff;background:radial-gradient(circle at 50% 35%,#3a1580,var(--ai-bg) 70%)}
.ai-call[hidden]{display:none}
.ai-call__orb{position:relative;display:grid;place-items:center;width:200px;height:200px;margin-bottom:8px}
.ai-call__orb span{position:absolute;inset:40px;border-radius:50%;border:2px solid rgba(255,211,110,.55);opacity:0}
.ai-call__orb.is-speaking span{animation:aiWave 1.8s ease-out infinite}
.ai-call__orb.is-speaking span:nth-child(2){animation-delay:.6s}.ai-call__orb.is-speaking span:nth-child(3){animation-delay:1.2s}
.ai-call__orb.is-listening .ai-avatar--lg{box-shadow:0 0 0 10px rgba(46,227,112,.18),0 0 0 22px rgba(46,227,112,.08)}
.ai-call__orb.is-thinking .ai-avatar--lg{animation:aiPulse 1.2s infinite}
@keyframes aiWave{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.ai-avatar--lg{width:110px;height:110px;color:#ffd36e;background:linear-gradient(135deg,#7631d9,#36117a);border:2px solid rgba(255,211,110,.6);transition:box-shadow .3s}
.ai-avatar--lg svg{width:48px;height:48px}
.ai-call__name{font-size:20px}
.ai-call__status{margin:0;color:#ffd36e;font-weight:600;min-height:1.6em}
.ai-call__said{margin:0;max-width:300px;min-height:3.4em;font-size:14px;line-height:1.7;color:rgba(255,255,255,.75)}
.ai-call__end{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:14px 28px;border:0;border-radius:999px;cursor:pointer;font:inherit;font-weight:700;color:#fff;background:#d92d20;box-shadow:0 14px 30px -10px rgba(217,45,32,.7)}
.ai-call__end svg{width:26px;height:26px;stroke:none}

/* الجوال: النافذة بملء الشاشة، والزر دائرة فقط */
@media (max-width:600px){
  .ai-panel{inset:0;width:100%;height:100%;height:100dvh;border-radius:0}
  .ai-fab{width:58px;padding:0!important;justify-content:center}
  .ai-fab__tag{display:none}
  .ai-fab__ring{inset-inline-start:8px}
}
@media (prefers-reduced-motion:reduce){.ai-fab__ring,.ai-call__orb span,.ai-panel,.ai-msg{animation:none!important}}
