/* Floating contact button + guided assistant. Uses the brand tokens from style.css. */
.lx-root.open{z-index:200}
.lx-root{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;font-family:Barlow,system-ui,sans-serif}
.lx-fab{width:60px;height:60px;border-radius:50%;border:0;background:var(--red);color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.35);transition:transform .15s,background .15s}
.lx-fab:hover{background:var(--red-2);transform:scale(1.06)}.lx-fab:active{background:var(--red-d)}.lx-fab svg{width:28px;height:28px;fill:currentColor}
.lx-fab::after{content:attr(data-tip);position:absolute;right:70px;white-space:nowrap;background:var(--black);color:#fff;font-size:.85rem;padding:5px 10px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .15s}
.lx-fab:hover::after,.lx-fab:focus-visible::after{opacity:1}
.lx-panel{position:absolute;right:0;bottom:74px;width:min(380px,calc(100vw - 32px));height:min(600px,calc(100vh - 210px));height:min(600px,calc(100dvh - 210px));min-height:320px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden}
.lx-panel[hidden],.lx-menu[hidden],.lx-chat[hidden],.lx-back[hidden],.lx-new[hidden]{display:none}
.lx-head{display:flex;align-items:center;gap:6px;background:var(--red);color:#fff;padding:10px 12px}.lx-head h2{font:700 1.25rem "Barlow Condensed",sans-serif;margin:0;flex:1}
.lx-head button{background:transparent;border:0;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;padding:6px 9px;border-radius:6px}.lx-head button:hover{background:rgba(255,255,255,.2)}
.lx-menu{padding:16px;display:grid;gap:10px;overflow:auto;align-content:start}.lx-menu p{margin:0 0 4px;color:var(--mute)}
.lx-opt{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit;background:var(--bg);font-weight:600;cursor:pointer;font:600 1rem Barlow,system-ui,sans-serif;text-align:left;width:100%}
.lx-opt:hover{border-color:var(--red);background:var(--panel)}.lx-opt span.i{font-size:1.4rem;width:28px;text-align:center}
.lx-chat{display:flex;flex-direction:column;flex:1;min-height:0}
.lx-log{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.lx-msg{max-width:88%;padding:10px 13px;border-radius:14px;white-space:pre-line;word-wrap:break-word;line-height:1.45;font-size:.97rem}
.lx-msg.bot{background:var(--bg);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}
.lx-msg.user{background:var(--red);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.lx-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.lx-act{display:inline-block;border:0;font-family:inherit;cursor:pointer;min-height:40px;background:var(--red);color:#fff;text-decoration:none;font-weight:600;padding:8px 12px;border-radius:8px;font-size:.92rem}.lx-act:hover{background:var(--red-2)}
.lx-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;background:var(--bg);border:1px solid var(--line);border-radius:14px}
.lx-typing i{width:7px;height:7px;border-radius:50%;background:var(--mute);animation:lxb 1s infinite}.lx-typing i:nth-child(2){animation-delay:.15s}.lx-typing i:nth-child(3){animation-delay:.3s}
@keyframes lxb{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.lx-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 10px;max-height:34%;overflow:auto}
.lx-q{background:var(--panel);border:1px solid var(--red);color:var(--red-t);border-radius:99px;padding:7px 13px;font:600 .9rem Barlow,system-ui,sans-serif;cursor:pointer}.lx-q:hover{background:var(--red);color:#fff}
.lx-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}.lx-form input{flex:1;min-width:0}
.lx-form button{background:var(--red);color:#fff;border:0;border-radius:6px;padding:0 16px;font-weight:600;cursor:pointer}.lx-form button:hover{background:var(--red-2)}
.lx-note{margin:0;padding:0 14px 10px;font-size:.8rem;color:var(--mute)}
@media(max-width:860px){.lx-root{bottom:calc(68px + env(safe-area-inset-bottom,0px))}}
@media(max-width:600px),(max-height:620px){html.lx-lock{overflow:hidden}.lx-panel{position:fixed;min-height:0;inset:0;width:auto;height:100vh;height:100dvh;border-radius:0;border:0;padding-top:env(safe-area-inset-top,0px);background:var(--panel)}.lx-head{padding-top:calc(10px + env(safe-area-inset-top,0px))}.lx-head button{min-width:44px;min-height:44px}.lx-root.open .lx-fab{display:none}}
@media(prefers-reduced-motion:reduce){.lx-fab,.lx-typing i{transition:none;animation:none}.lx-log{scroll-behavior:auto}}
@media print{.lx-root{display:none}}

.lx-av{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--red);flex:none}.lx-av svg{width:20px;height:20px}
.lx-opt span.i{display:grid;place-items:center}.lx-opt span.i svg{width:24px;height:24px;color:var(--red-t)}.lx-head button svg{width:20px;height:20px;display:block}.lx-fab svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
