.wfb-widget, .wfb-widget * { box-sizing: border-box; }
.wfb-widget { --wfb-accent: #14b876; position: fixed; bottom: 22px; z-index: 999999; display: flex; flex-direction: column; align-items: flex-end; visibility: hidden; opacity: 0; transform: translateY(14px); transition: opacity .35s ease, transform .35s cubic-bezier(.2,.8,.2,1), visibility .35s; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.wfb-widget button,
.wfb-widget a { font-family: inherit; text-transform: none; letter-spacing: normal; }
.wfb-widget button.wfb-launcher,
.wfb-widget a.wfb-launcher { display: grid !important; width: 62px !important; min-width: 62px !important; max-width: 62px !important; height: 62px !important; min-height: 62px !important; max-height: 62px !important; padding: 0 !important; margin: 0 !important; place-items: center !important; border: 0 !important; border-radius: 50% !important; color: #fff !important; background: linear-gradient(145deg, #18c47e, #07955c) !important; box-shadow: 0 10px 28px rgba(8,129,80,.32), inset 0 1px 0 rgba(255,255,255,.24) !important; font-size: 16px !important; line-height: 1 !important; appearance: none !important; overflow: visible !important; }
.wfb-widget button.wfb-channel,
.wfb-widget a.wfb-channel { display: flex !important; width: auto !important; min-width: 0 !important; max-width: none !important; height: auto !important; min-height: 0 !important; max-height: none !important; padding: 0 !important; margin: 0 !important; align-items: center !important; gap: 9px !important; border: 0 !important; border-radius: 0 !important; outline-offset: 3px; color: #26322d !important; background: transparent !important; background-color: transparent !important; background-image: none !important; box-shadow: none !important; font-size: 12px !important; line-height: 1.2 !important; appearance: none !important; overflow: visible !important; }
.wfb-widget button.wfb-channel:hover,
.wfb-widget button.wfb-channel:focus,
.wfb-widget button.wfb-channel:active { border: 0 !important; color: #26322d !important; background: transparent !important; box-shadow: none !important; }
.wfb-widget button.wfb-panel-close { display: grid !important; width: 28px !important; min-width: 28px !important; max-width: 28px !important; height: 28px !important; min-height: 28px !important; max-height: 28px !important; padding: 0 !important; margin: 0 !important; place-items: center !important; border: 0 !important; border-radius: 50% !important; color: #fff !important; background: rgba(255,255,255,.14) !important; box-shadow: none !important; font-size: 22px !important; line-height: 1 !important; appearance: none !important; }
.wfb-widget.wfb-side-right { right: 22px; }
.wfb-widget.wfb-side-left { left: 22px; align-items: flex-start; }
.wfb-widget.is-visible { visibility: visible; opacity: 1; transform: translateY(0); }
.wfb-launcher { position: relative; display: grid; width: 62px; height: 62px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #18c47e, #07955c); box-shadow: 0 10px 28px rgba(8,129,80,.32), inset 0 1px 0 rgba(255,255,255,.24); cursor: pointer; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; -webkit-tap-highlight-color: transparent; }
.wfb-launcher:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 14px 32px rgba(8,129,80,.38); }
.wfb-launcher:focus-visible, .wfb-channel:focus-visible, .wfb-contact-item:focus-visible { outline: 3px solid rgba(20,184,118,.28); outline-offset: 3px; }
.wfb-launcher svg { position: absolute; width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: opacity .22s ease, transform .3s ease; }
.wfb-launcher-chat path:last-child { stroke-width: 3; }
.wfb-launcher-close { opacity: 0; transform: rotate(-70deg) scale(.65); }
.wfb-widget.is-open .wfb-launcher-chat { opacity: 0; transform: rotate(70deg) scale(.65); }
.wfb-widget.is-open .wfb-launcher-close { opacity: 1; transform: rotate(0) scale(1); }
.wfb-launcher-direct img { width: 100%; height: 100%; border-radius: 50%; object-fit: contain; }
.wfb-pulse { position: absolute; inset: -1px; z-index: -1; border: 2px solid rgba(20,184,118,.5); border-radius: inherit; animation: wfb-pulse 2.8s ease-out infinite; }
.wfb-widget.is-open .wfb-pulse { display: none; }
@keyframes wfb-pulse { 0%, 35% { opacity: .65; transform: scale(1); } 70%, 100% { opacity: 0; transform: scale(1.42); } }

.wfb-channel-menu { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; margin-bottom: 12px; pointer-events: none; }
.wfb-side-left .wfb-channel-menu { align-items: flex-start; }
.wfb-channel { display: flex; align-items: center; gap: 9px; padding: 0; border: 0; color: #26322d; background: transparent; text-decoration: none; cursor: pointer; opacity: 0; transform: translateY(16px) scale(.84); transition: opacity .22s ease, transform .32s cubic-bezier(.2,.9,.25,1.18); }
.wfb-channel:nth-last-child(1) { transition-delay: 0ms; }
.wfb-channel:nth-last-child(2) { transition-delay: 35ms; }
.wfb-channel:nth-last-child(3) { transition-delay: 70ms; }
.wfb-widget.is-open .wfb-channel-menu { pointer-events: auto; }
.wfb-widget.is-panel-open .wfb-channel-menu { opacity: 0; pointer-events: none; transition: opacity .18s ease; }
.wfb-mode-fixed .wfb-channel-menu { margin-bottom: 0; pointer-events: auto; }
.wfb-mode-fixed.is-panel-open .wfb-channel-menu { opacity: 1; pointer-events: auto; }
.wfb-mode-fixed .wfb-channel { opacity: 1; transform: translateY(0) scale(1); }
.wfb-mode-fixed .wfb-channel-label { opacity: 0; transform: translateX(6px); pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.wfb-mode-fixed.wfb-side-left .wfb-channel-label { transform: translateX(-6px); }
.wfb-mode-fixed .wfb-channel:hover .wfb-channel-label,
.wfb-mode-fixed .wfb-channel:focus-visible .wfb-channel-label { opacity: 1; transform: translateX(0); }
.wfb-mode-fixed.is-panel-open [data-wfb-selector] .wfb-channel-label,
.wfb-mode-fixed.is-panel-open [data-wfb-selector]:hover .wfb-channel-label,
.wfb-mode-fixed.is-panel-open [data-wfb-selector]:focus-visible .wfb-channel-label { opacity: 0 !important; transform: translateX(6px); pointer-events: none; }
.wfb-mode-fixed.wfb-side-left.is-panel-open [data-wfb-selector] .wfb-channel-label { transform: translateX(-6px); }
.wfb-widget.is-open .wfb-channel { opacity: 1; transform: translateY(0) scale(1); }
.wfb-channel-label { padding: 7px 11px; border: 1px solid rgba(20,35,29,.07); border-radius: 9px; background: rgba(255,255,255,.96); box-shadow: 0 5px 16px rgba(25,42,35,.12); color: #34423c; font-size: 12px; font-weight: 700; white-space: nowrap; transition: transform .2s ease; }
.wfb-side-left .wfb-channel-label { order: 2; }
.wfb-channel:hover .wfb-channel-label { transform: translateX(-3px); }
.wfb-side-left .wfb-channel:hover .wfb-channel-label { transform: translateX(3px); }
.wfb-channel-icon { position: relative; display: grid; width: 48px; height: 48px; flex: 0 0 48px; padding: 0; place-items: center; border: 3px solid #fff; border-radius: 50%; background: #fff; box-shadow: 0 7px 20px rgba(25,42,35,.2); overflow: hidden; transition: transform .2s ease, background .25s ease; }
.wfb-channel:hover .wfb-channel-icon { transform: scale(1.08); }
.wfb-channel-icon img { width: 100%; height: 100%; border-radius: 50%; object-fit: contain; transition: opacity .2s ease, transform .25s ease; }
.wfb-widget .wfb-channel-close-icon { position: absolute; width: 24px !important; height: 24px !important; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; opacity: 0; transform: rotate(-70deg) scale(.65); transition: opacity .2s ease, transform .25s ease; }
.wfb-mode-fixed [data-wfb-selector][aria-expanded="true"] .wfb-channel-icon { background: linear-gradient(145deg, #18c47e, #07955c); }
.wfb-mode-fixed [data-wfb-selector][aria-expanded="true"] .wfb-channel-icon img { opacity: 0; transform: rotate(70deg) scale(.65); }
.wfb-mode-fixed [data-wfb-selector][aria-expanded="true"] .wfb-channel-close-icon { opacity: 1; transform: rotate(0) scale(1); }

.wfb-contact-panel { position: absolute; bottom: 74px; width: min(330px, calc(100vw - 32px)); overflow: hidden; border: 1px solid rgba(25,42,35,.08); border-radius: 18px; background: #fff; box-shadow: 0 20px 55px rgba(20,38,30,.2); visibility: hidden; opacity: 0; transform: translateY(12px) scale(.96); transform-origin: bottom right; transition: .25s cubic-bezier(.2,.8,.2,1); }
.wfb-side-right .wfb-contact-panel { right: 72px; }
.wfb-side-left .wfb-contact-panel { left: 72px; transform-origin: bottom left; }
.wfb-mode-fixed.wfb-side-right .wfb-contact-panel { right: 60px; bottom: 0; }
.wfb-mode-fixed.wfb-side-left .wfb-contact-panel { left: 60px; bottom: 0; }
.wfb-contact-panel.is-open { visibility: visible; opacity: 1; transform: translateY(0) scale(1); }
.wfb-panel-header { display: flex; align-items: flex-start; justify-content: space-between; padding: 20px; color: #fff; background: linear-gradient(135deg, #087f5b, #14b876); }
.wfb-panel-header div { display: grid; gap: 4px; }
.wfb-panel-header span { color: rgba(255,255,255,.7); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.wfb-panel-header strong { font-size: 17px; line-height: 1.25; }
.wfb-panel-close { display: grid; width: 28px; height: 28px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.14); font-size: 22px; line-height: 1; cursor: pointer; }
.wfb-panel-list { display: grid; max-height: min(340px, 55vh); padding: 8px; overflow-y: auto; }
.wfb-contact-item { display: grid; grid-template-columns: 42px 1fr 20px; gap: 11px; align-items: center; padding: 11px; border-radius: 11px; color: #28332e; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.wfb-contact-item:hover { color: #087f5b; background: #eefaf5; transform: translateX(2px); }
.wfb-contact-avatar { width: 42px; height: 42px; overflow: hidden; border-radius: 50%; }
.wfb-contact-avatar img { width: 100%; height: 100%; object-fit: contain; }
.wfb-contact-item > span:nth-child(2) { display: grid; gap: 2px; }
.wfb-contact-item strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.wfb-contact-item small { color: #87918c; font-size: 11px; }
.wfb-contact-item svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 2; }

@media (max-width: 520px) {
    .wfb-widget { bottom: max(16px, env(safe-area-inset-bottom)); }
    .wfb-widget.wfb-side-right { right: 16px; }
    .wfb-widget.wfb-side-left { left: 16px; }
    .wfb-contact-panel { position: absolute; bottom: 76px; width: calc(100vw - 32px); transform-origin: bottom center; }
    .wfb-side-right .wfb-contact-panel { right: 0; left: auto; }
    .wfb-side-left .wfb-contact-panel { right: auto; left: 0; }
    .wfb-mode-fixed.wfb-side-right .wfb-contact-panel { right: 0; bottom: calc(100% + 12px); }
    .wfb-mode-fixed.wfb-side-left .wfb-contact-panel { left: 0; bottom: calc(100% + 12px); }
    .wfb-channel-label { font-size: 11px; }
    .wfb-mode-fixed .wfb-channel-label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .wfb-widget, .wfb-channel, .wfb-contact-panel, .wfb-launcher, .wfb-launcher svg { transition-duration: .01ms !important; }
    .wfb-pulse { animation: none; }
}
