.sfab{position:fixed;z-index:99999;display:flex;gap:12px;align-items:center;font-family:inherit}.sfab--top-left{top:24px;left:24px;flex-direction:column-reverse;align-items:flex-start}.sfab--top-center{top:24px;left:50%;transform:translateX(-50%);flex-direction:column-reverse}.sfab--top-right{top:24px;right:24px;flex-direction:column-reverse;align-items:flex-end}.sfab--center-left{top:50%;left:24px;transform:translateY(-50%)}.sfab--center-right{top:50%;right:24px;transform:translateY(-50%);flex-direction:row-reverse}.sfab--bottom-left{bottom:24px;left:24px;flex-direction:column;align-items:flex-start}.sfab--bottom-center{bottom:24px;left:50%;transform:translateX(-50%);flex-direction:column}.sfab--bottom-right{right:24px;bottom:24px;flex-direction:column;align-items:flex-end}.sfab__button{position:relative;overflow:hidden;appearance:none;border:0;border-radius:var(--sfab-tl) var(--sfab-tr) var(--sfab-br) var(--sfab-bl);background:var(--sfab-bg);color:var(--sfab-text);box-shadow:0 10px 30px rgba(15,23,42,.25);cursor:pointer;display:inline-flex;align-items:center;gap:8px;font:600 16px/1.2 inherit;padding:14px 22px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.sfab__button:hover,.sfab__button:focus-visible{color:var(--sfab-text);transform:translateY(-2px);box-shadow:0 14px 35px rgba(15,23,42,.32);outline:0}.sfab__button:focus-visible{box-shadow:0 0 0 4px rgba(255,255,255,.9),0 0 0 7px var(--sfab-bg)}.sfab__icon{font-size:1.15em}.sfab--vertical.sfab--center-left{left:0}.sfab--vertical.sfab--center-right{right:0}.sfab--vertical .sfab__button{padding:18px 13px;writing-mode:vertical-rl}.sfab--vertical.sfab--center-left .sfab__button{transform:rotate(180deg)}.sfab--vertical.sfab--center-left .sfab__button:hover{transform:rotate(180deg) translateY(-2px)}.sfab__panel{position:relative;width:min(330px,calc(100vw - 48px));max-height:min(500px,70vh);overflow:auto;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fff;color:#172033;box-shadow:0 20px 50px rgba(15,23,42,.24);padding:24px;animation:sfab-in .22s ease-out}.sfab__panel[hidden]{display:none}.sfab__title{margin:0 28px 10px 0;color:#172033;font-size:21px;line-height:1.25}.sfab__message{font-size:15px;line-height:1.55}.sfab__message p:first-child{margin-top:0}.sfab__message p:last-child{margin-bottom:0}.sfab__close{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#64748b;cursor:pointer;font-size:27px;line-height:30px}.sfab__close:hover,.sfab__close:focus-visible{background:#f1f5f9;color:#0f172a;outline:0}.sfab--effect-pulse .sfab__button{animation:sfab-pulse 2s infinite}.sfab--effect-float .sfab__button{animation:sfab-float 2.6s ease-in-out infinite}.sfab--effect-glow .sfab__button{animation:sfab-glow 1.8s ease-in-out infinite alternate}.sfab--effect-wiggle .sfab__button{animation:sfab-wiggle 5s ease-in-out infinite}.sfab--effect-shimmer .sfab__button:after{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-70%);animation:sfab-shimmer 2.8s infinite}@keyframes sfab-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes sfab-pulse{50%{box-shadow:0 10px 30px rgba(15,23,42,.25),0 0 0 12px transparent;transform:scale(1.04)}}@keyframes sfab-float{50%{transform:translateY(-7px)}}@keyframes sfab-glow{to{box-shadow:0 10px 35px var(--sfab-bg)}}@keyframes sfab-wiggle{0%,82%,100%{transform:rotate(0)}86%{transform:rotate(-3deg)}90%{transform:rotate(3deg)}94%{transform:rotate(-2deg)}}@keyframes sfab-shimmer{0%{transform:translateX(-70%)}55%,100%{transform:translateX(70%)}}@media(max-width:600px){.sfab{max-width:calc(100vw - 32px)}.sfab--top-left,.sfab--center-left,.sfab--bottom-left{left:16px}.sfab--top-right,.sfab--center-right,.sfab--bottom-right{right:16px}.sfab--vertical.sfab--center-left{left:0}.sfab--vertical.sfab--center-right{right:0}.sfab--top-left,.sfab--top-center,.sfab--top-right{top:16px}.sfab--bottom-left,.sfab--bottom-center,.sfab--bottom-right{bottom:16px}.sfab__button{font-size:15px;padding:12px 18px}}@media(prefers-reduced-motion:reduce){.sfab__button,.sfab__button:after{transition:none!important;animation:none!important}.sfab__panel{animation:none}}
