/* ══════════════════════════════════════════════════════════════════
   FizyoRehber — sağ altta duran bilgilendirme asistanı
   Tüm veri tarayıcıda kalır; dışarıya istek gönderilmez.
   ══════════════════════════════════════════════════════════════════ */
.fr-fab{position:fixed;right:24px;bottom:24px;z-index:82;width:60px;height:60px;
border:0;border-radius:50%;background:var(--ofp-vurgu);color:#fff;cursor:pointer;
display:flex;align-items:center;justify-content:center;padding:0;
box-shadow:0 10px 28px rgba(20,26,36,.28);transition:transform .25s,box-shadow .25s}
.fr-fab:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 34px rgba(20,26,36,.34)}
.fr-fab svg{width:28px;height:28px}
.fr-fab::after{content:"";position:absolute;inset:-6px;border-radius:50%;
border:2px solid var(--ofp-vurgu);opacity:.5;animation:fr-nabiz 2.6s ease-out infinite}
@keyframes fr-nabiz{0%{transform:scale(.86);opacity:.55}70%{transform:scale(1.25);opacity:0}
100%{transform:scale(1.25);opacity:0}}
.fr-fab[hidden]{display:none}
.fr-rozet{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;border-radius:9px;
background:#C2410C;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;
padding:0 5px;box-shadow:0 0 0 2px #fff}

/* ── Panel ── */
.fr-panel{position:fixed;right:24px;bottom:24px;z-index:83;
width:min(392px,calc(100vw - 32px));height:min(620px,calc(100vh - 48px));
background:#fff;border:1px solid var(--ofp-kenar);border-radius:20px;overflow:hidden;
display:flex;flex-direction:column;box-shadow:0 26px 70px rgba(20,26,36,.3);
transform-origin:100% 100%;animation:fr-ac .3s cubic-bezier(.2,.9,.3,1.1) both}
@keyframes fr-ac{from{opacity:0;transform:translateY(18px) scale(.94)}
to{opacity:1;transform:none}}
.fr-panel[hidden]{display:none}

.fr-ust{display:flex;align-items:center;gap:12px;padding:15px 16px;
background:var(--ofp-baslik);color:#fff;flex:none}
.fr-avatar{width:40px;height:40px;border-radius:50%;flex:none;display:flex;
align-items:center;justify-content:center;background:var(--ofp-vurgu);color:#fff;position:relative}
.fr-avatar svg{width:22px;height:22px}
.fr-avatar::after{content:"";position:absolute;right:0;bottom:1px;width:10px;height:10px;
border-radius:50%;background:#22C55E;box-shadow:0 0 0 2px var(--ofp-baslik)}
.fr-ust-metin{flex:1;min-width:0}
.fr-ad{font-weight:700;font-size:15px;line-height:1.25}
.fr-alt{font-size:11.5px;opacity:.72;line-height:1.3}
.fr-kapat{width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.12);
color:#fff;cursor:pointer;font-size:19px;line-height:1;flex:none;transition:background .2s}
.fr-kapat:hover{background:rgba(255,255,255,.24)}

.fr-akis{flex:1;overflow-y:auto;padding:16px 14px 8px;background:var(--ofp-gri);
display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.fr-akis::-webkit-scrollbar{width:8px}
.fr-akis::-webkit-scrollbar-thumb{background:#CBD5D5;border-radius:4px}

.fr-balon{max-width:88%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.62;
animation:fr-gir .28s ease both}
@keyframes fr-gir{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fr-bot{align-self:flex-start;background:#fff;border:1px solid var(--ofp-kenar);
border-bottom-left-radius:5px;color:var(--ofp-govde)}
.fr-ben{align-self:flex-end;background:var(--ofp-vurgu);color:#fff;border-bottom-right-radius:5px}
.fr-balon b,.fr-balon strong{color:inherit;font-weight:700}
.fr-bot b{color:var(--ofp-baslik)}
.fr-balon h4{font-size:13.5px;margin:12px 0 5px;color:var(--ofp-vurgu);
text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.fr-balon h4:first-child{margin-top:0}
.fr-balon ul,.fr-balon ol{margin:0 0 4px;padding-left:19px}
.fr-balon li{margin-bottom:5px}
.fr-balon p{margin:0 0 8px}
.fr-balon p:last-child,.fr-balon ul:last-child,.fr-balon ol:last-child{margin-bottom:0}
.fr-balon a{color:var(--ofp-vurgu);font-weight:600;border-bottom:1px solid rgba(31,78,86,.35)}
.fr-not{display:block;margin-top:10px;padding-top:9px;border-top:1px dashed var(--ofp-kenar);
font-size:11.5px;line-height:1.55;color:#5C6B6B}
.fr-uyari{background:#FEF6EC;border-color:#F0C99A}
.fr-uyari h4{color:#B45309}

/* yazıyor göstergesi */
.fr-yaziyor{align-self:flex-start;display:flex;gap:4px;padding:13px 15px;background:#fff;
border:1px solid var(--ofp-kenar);border-radius:16px;border-bottom-left-radius:5px}
.fr-yaziyor span{width:7px;height:7px;border-radius:50%;background:#9AAAAA;
animation:fr-zipla 1.15s infinite ease-in-out}
.fr-yaziyor span:nth-child(2){animation-delay:.16s}
.fr-yaziyor span:nth-child(3){animation-delay:.32s}
@keyframes fr-zipla{0%,60%,100%{transform:translateY(0);opacity:.45}
30%{transform:translateY(-5px);opacity:1}}

/* hızlı seçenekler */
.fr-hizli{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 10px;background:var(--ofp-gri);flex:none}
.fr-hizli button{border:1px solid var(--ofp-vurgu);background:#fff;color:var(--ofp-vurgu);
border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:600;cursor:pointer;
transition:background .18s,color .18s}
.fr-hizli button:hover{background:var(--ofp-vurgu);color:#fff}

.fr-form{display:flex;gap:8px;padding:11px 12px;border-top:1px solid var(--ofp-kenar);
background:#fff;flex:none}
.fr-form input{flex:1;min-width:0;border:1px solid var(--ofp-kenar);border-radius:999px;
padding:11px 16px;font:inherit;font-size:14px;color:var(--ofp-baslik);background:var(--ofp-gri)}
.fr-form input:focus{outline:2px solid var(--ofp-vurgu);outline-offset:1px;background:#fff}
.fr-form button{width:42px;height:42px;flex:none;border:0;border-radius:50%;
background:var(--ofp-vurgu);color:#fff;cursor:pointer;display:flex;align-items:center;
justify-content:center;transition:transform .18s}
.fr-form button:hover{transform:scale(1.07)}
.fr-form button svg{width:19px;height:19px}

@media (max-width:575px){
.fr-fab{right:16px;bottom:16px;width:54px;height:54px}
.fr-panel{right:8px;left:8px;bottom:8px;width:auto;height:min(78vh,600px);border-radius:16px}
}
@media (prefers-reduced-motion:reduce){
.fr-fab::after{animation:none}
.fr-panel,.fr-balon{animation:none}
.fr-yaziyor span{animation:none}
.fr-akis{scroll-behavior:auto}
}
