/* Asistente SynerGEA */
.syn-chat{--g:linear-gradient(100deg,#00d2ff,#0084ff 30%,#b133d4 62%,#ff1b6b);position:fixed;right:max(16px,2vw);bottom:max(16px,env(safe-area-inset-bottom));z-index:80;font-family:'DM Sans',system-ui,sans-serif;color:#f4f5f7}
.syn-chat-fab{width:62px;height:62px;border-radius:50%;border:1px solid #ffffff2e;background:radial-gradient(circle at 30% 25%,#ffffff1f,#0b0e16 70%);box-shadow:0 12px 34px #0009,0 0 0 1px #b133d433,0 0 26px #b133d440;display:grid;place-items:center;cursor:pointer;position:relative;transition:transform .25s}
.syn-chat-fab:hover{transform:translateY(-2px) scale(1.04)}
.syn-chat-fab:focus-visible{outline:2px solid #00d2ff;outline-offset:3px}
.syn-chat-fab img{width:36px;height:36px;object-fit:contain}
.syn-chat-dot{position:absolute;top:6px;right:6px;width:11px;height:11px;border-radius:50%;background:#1fd16a;border:2px solid #0b0e16}
.syn-chat.open .syn-chat-dot{display:none}
.syn-chat-panel{position:absolute;right:0;bottom:76px;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 140px));height:min(560px,calc(100svh - 140px));display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#ffffff0d,#ffffff03),#0b0e16f2;border:1px solid #ffffff1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 30px 80px #000a;animation:synIn .28s cubic-bezier(.2,.8,.2,1)}
.syn-chat-panel[hidden]{display:none}
@keyframes synIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.syn-chat-panel header{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;border-bottom:1px solid #ffffff17;position:relative}
.syn-chat-panel header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--g);opacity:.8}
.syn-chat-panel header img{width:30px;height:30px;object-fit:contain}
.syn-chat-panel header div{flex:1;display:flex;flex-direction:column;line-height:1.25}
.syn-chat-panel header b{font-family:'Manrope',sans-serif;font-size:15px;letter-spacing:-.01em}
.syn-chat-panel header small{font-size:11px;color:#9299a9}
.syn-chat-x{background:none;border:0;color:#c9cbd3;font-size:26px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:8px}
.syn-chat-x:hover{background:#ffffff12}
.syn-chat-log{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.syn-chat-msg{max-width:88%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.5}
.syn-chat-msg p{margin:0;white-space:pre-line}
.syn-chat-msg.bot{align-self:flex-start;background:#ffffff0f;border:1px solid #ffffff14;border-bottom-left-radius:5px}
.syn-chat-msg.user{align-self:flex-end;background:var(--g);color:#fff;border-bottom-right-radius:5px}
.syn-chat-src{display:block;margin-top:8px;font-size:10px;letter-spacing:.06em;color:#7d8594}
.syn-chat-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:600;color:#7fd8ff;text-decoration:none;border-bottom:1px solid #7fd8ff55}
.syn-chat-was{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.syn-chat-wa{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:#1fa855;color:#fff;text-decoration:none;font-size:13px}
.syn-chat-wa:hover{background:#22b95e}
.syn-chat-wa-d{font-weight:700}
.syn-chat-wa-n{opacity:.9;white-space:nowrap}
.syn-chat-chips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}
.syn-chat-chips button{font:inherit;font-size:12px;color:#e6e7ec;background:transparent;border:1px solid #ffffff2b;border-radius:20px;padding:7px 12px;cursor:pointer;text-align:left}
.syn-chat-chips button:hover{border-color:#b133d4;background:#b133d41a}
.syn-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid #ffffff17}
.syn-chat-form input{flex:1;font:inherit;font-size:15px;color:#f4f5f7;background:#06080c;border:1px solid #ffffff24;border-radius:12px;padding:11px 14px;outline:none;min-width:0}
.syn-chat-form input:focus{border-color:#0084ff;box-shadow:0 0 0 3px #0084ff33}
.syn-chat-form button{width:44px;border:0;border-radius:12px;background:var(--g);color:#fff;font-size:18px;cursor:pointer}
/* En la invitación, por encima de las flechas inferiores */
.syn-chat.above-bar{bottom:calc(var(--bar,88px) + 10px)}
@media(max-width:760px){.syn-chat-fab{width:56px;height:56px}.syn-chat-panel{bottom:70px;height:min(520px,calc(100svh - 170px))}}
@media(prefers-reduced-motion:reduce){.syn-chat-panel{animation:none}.syn-chat-fab{transition:none}}
