.chatbot-fab{position:fixed;top:50%;right:1.5rem;transform:translateY(-50%);z-index:40;width:3.5rem;height:3.5rem;border-radius:9999px;border:none;cursor:pointer;background:linear-gradient(135deg,#378ADD,#1e3a8a);box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;animation:chatbot-float 4s ease-in-out infinite}.chatbot-fab:hover{box-shadow:0 8px 20px rgba(30,58,138,.4);transform:scale(1.05)}.chatbot-fab:before{content:"";position:absolute;inset:0;border-radius:9999px;animation:chatbot-halo 2.5s ease-out infinite;pointer-events:none}.chatbot-fab-antenna-dot{position:absolute;top:-.5rem;left:50%;transform:translateX(-50%);width:.5rem;height:.5rem;border-radius:9999px;background-color:#fbbf24;animation:chatbot-antenna 2s ease-in-out infinite}@keyframes chatbot-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes chatbot-halo{0%{box-shadow:0 0 0 0 rgba(55,138,221,.5)}70%{box-shadow:0 0 0 16px rgba(55,138,221,0)}to{box-shadow:0 0 0 0 rgba(55,138,221,0)}}@keyframes chatbot-antenna{0%,to{background-color:#fbbf24;box-shadow:0 0 4px #fbbf24}50%{background-color:#f59e0b;box-shadow:0 0 10px #f59e0b}}.chatbot-modal{position:fixed;top:50%;right:5.5rem;transform:translateY(-50%);z-index:30;width:min(420px,calc(100vw - 2rem));height:min(620px,calc(100vh - 8rem));border-radius:1rem;background:var(--surface,#ffffff);border:1px solid var(--border,#e5e7eb);box-shadow:0 20px 50px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden;animation:chatbot-modal-open .25s ease-out}@keyframes chatbot-modal-open{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chatbot-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(135deg,#378ADD,#1e3a8a)}.chatbot-modal-title{display:flex;align-items:center;gap:.625rem;min-width:0}.chatbot-modal-title-icon{width:2rem;height:2rem;border-radius:9999px;background-color:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0}.chatbot-modal-title-text{font-size:.875rem;font-weight:500;color:white;margin:0}.chatbot-modal-title-sub{font-size:.625rem;color:rgba(255,255,255,.7);margin:0}.chatbot-modal-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.chatbot-modal-action{width:1.75rem;height:1.75rem;border-radius:9999px;border:none;background:transparent;color:rgba(255,255,255,.8);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.chatbot-modal-action:hover{background-color:rgba(255,255,255,.15);color:white}.chatbot-modal-messages{flex:1;overflow-y:auto;padding:.75rem 1rem}.chatbot-msg{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.chatbot-msg-user{flex-direction:row-reverse}.chatbot-msg-avatar{flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:9999px;display:flex;align-items:center;justify-content:center}.chatbot-msg-avatar-bot{background:linear-gradient(135deg,#378ADD,#1e3a8a)}.chatbot-msg-avatar-user{background-color:var(--surface-2,#f3f4f6);color:var(--muted,#6b7280)}.chatbot-msg-bubble{max-width:80%;padding:.5rem .75rem;border-radius:1rem;font-size:.75rem;line-height:1.5}.chatbot-msg-bubble-bot{background-color:var(--surface-2,#f3f4f6);color:var(--text,#1f2937);border-top-left-radius:.25rem}.chatbot-msg-bubble-user{background-color:#378ADD;color:white;border-top-right-radius:.25rem}.chatbot-msg-text{white-space:pre-wrap;word-break:break-word}.chatbot-msg-tools{margin-top:.375rem;padding-top:.375rem;border-top:1px solid rgba(0,0,0,.1);font-size:.5625rem;opacity:.6}.chatbot-msg-loading{display:flex;align-items:center;gap:.125rem;padding:.625rem .875rem}.chatbot-dot{font-size:18px;line-height:.5;opacity:.3;animation:chatbot-dot-bounce 1.4s infinite}.chatbot-dot-2{animation-delay:.2s}.chatbot-dot-3{animation-delay:.4s}@keyframes chatbot-dot-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chatbot-suggestions{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.75rem}.chatbot-suggestion{font-size:.625rem;padding:.375rem .625rem;border-radius:9999px;background-color:var(--surface-2,#f3f4f6);color:var(--muted,#6b7280);border:1px solid var(--border,#e5e7eb);cursor:pointer;transition:background .15s,color .15s}.chatbot-suggestion:hover{background-color:var(--surface-hover,#e5e7eb);color:var(--text,#1f2937)}.chatbot-form{border-top:1px solid var(--border,#e5e7eb);padding:.75rem;background-color:var(--surface-2-soft,rgba(243,244,246,.4))}.chatbot-form-row{display:flex;align-items:center;gap:.5rem}.chatbot-input{flex:1;padding:.5rem .75rem;font-size:.75rem;background-color:var(--surface,white);border:1px solid var(--border,#e5e7eb);border-radius:9999px;color:var(--text,#1f2937);outline:none;transition:border-color .15s}.chatbot-input:focus{border-color:#378ADD}.chatbot-input:disabled{opacity:.5}.chatbot-send{width:2.25rem;height:2.25rem;border-radius:9999px;border:none;background:linear-gradient(135deg,#378ADD,#1e3a8a);color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.chatbot-send:disabled{opacity:.4;cursor:not-allowed}.chatbot-disclaimer{margin:.375rem 0 0;font-size:.5625rem;color:var(--muted,#6b7280);text-align:center;opacity:.7}.chatbot-categorias{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem}.chatbot-categoria{display:flex;flex-direction:column;gap:.4rem}.chatbot-categoria-titulo{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary,#8a8a8a);font-weight:600;margin:0;display:inline-flex;align-items:center;gap:.3rem}.chatbot-categoria-titulo span{font-size:.9rem}.chatbot-followup{margin-top:.5rem;padding-top:.75rem;border-top:1px dashed var(--color-border-default,#2a2a2d)}.chatbot-followup-titulo{font-size:.7rem;color:var(--color-text-tertiary,#8a8a8a);margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.06em;font-weight:500}.chatbot-suggestion-reset{background:transparent!important;color:var(--color-text-tertiary,#8a8a8a)!important;border-style:dashed!important}