/* BS_FAB_V1 — floating quick actions (tracking + invite) */
#bs-fab{position:fixed;right:14px;bottom:18px;z-index:9990;display:flex;flex-direction:column;gap:12px;align-items:flex-end;pointer-events:none;transition:bottom .25s}
#bs-fab.has-mnav{bottom:84px}
.bsf{pointer-events:auto;display:flex;align-items:center;gap:0;border:0;padding:0;background:none;font:inherit;color:#fff;cursor:pointer;direction:rtl;border-radius:30px;box-shadow:0 8px 22px rgba(20,24,43,.28);animation:bsf-in .6s cubic-bezier(.3,1.5,.5,1) both,bsf-fl 3.4s ease-in-out .8s infinite;-webkit-tap-highlight-color:transparent}
.bsf:nth-child(2){animation-delay:.15s,1.4s}
.bsf-i{position:relative;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:none}
.bsf-i:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid currentColor;opacity:0;animation:bsf-ring 4s ease-out infinite;color:inherit}
.bsf:nth-child(2) .bsf-i:after{animation-delay:1.6s}
.bsf-t{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:13px;font-weight:700;padding:0;transition:max-width .45s ease,opacity .3s,padding .45s}
.bsf:hover .bsf-t,.bsf:focus-visible .bsf-t,.bsf.open .bsf-t{max-width:140px;opacity:1;padding:0 6px 0 16px}
.bsf-trk{background:linear-gradient(135deg,#0fb5a6,#2b6cff)}.bsf-trk .bsf-i{color:#0fb5a6}
.bsf-inv{background:linear-gradient(135deg,#e0245e,#ff7a45)}.bsf-inv .bsf-i{color:#e0245e}
.bsf-i svg{width:28px;height:28px;position:relative;z-index:1}
.bsf-trk svg .tr{animation:bsf-drive 1.3s ease-in-out infinite}
.bsf-trk svg .wh{transform-box:fill-box;transform-origin:center;animation:bsf-spin .7s linear infinite}
.bsf-inv svg .lid{transform-box:fill-box;transform-origin:50% 100%;animation:bsf-lid 2.2s ease-in-out infinite}
@keyframes bsf-in{from{opacity:0;transform:translateX(60px) scale(.6)}}
@keyframes bsf-fl{50%{transform:translateY(-5px)}}
@keyframes bsf-ring{0%{opacity:.7;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.7)}}
@keyframes bsf-drive{0%,100%{transform:translateX(-1.5px)}50%{transform:translateX(1.5px)}}
@keyframes bsf-spin{to{transform:rotate(360deg)}}
@keyframes bsf-lid{0%,60%,100%{transform:translateY(0) rotate(0)}70%{transform:translateY(-3px) rotate(-8deg)}80%{transform:translateY(-1px) rotate(5deg)}}
.bsf-ov{position:fixed;inset:0;background:rgba(10,12,28,.62);z-index:100000;display:flex;align-items:flex-end;justify-content:center;animation:bsf-fade .25s}
@keyframes bsf-fade{from{opacity:0}}
.bsf-sh{background:#fff;width:100%;max-width:540px;height:min(88vh,680px);border-radius:24px 24px 0 0;overflow:hidden;position:relative;display:flex;flex-direction:column;animation:bsf-up .4s cubic-bezier(.2,.9,.3,1)}
@keyframes bsf-up{from{transform:translateY(100%)}}
@media(min-width:700px){.bsf-ov{align-items:center}.bsf-sh{border-radius:24px}}
.bsf-hd{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e6e8f2;font-weight:800;color:#1b1740;font-size:15px}
.bsf-x{border:0;background:#eef0f8;border-radius:50%;width:34px;height:34px;font-size:16px;cursor:pointer;color:#1b1740}
.bsf-fr{flex:1;border:0;width:100%;background:#fff}
@media(prefers-reduced-motion:reduce){.bsf,.bsf-i:after,.bsf-trk svg .tr,.bsf-trk svg .wh,.bsf-inv svg .lid,.bsf-ov,.bsf-sh{animation:none!important}.bsf-t{transition:none}}
