/* Componente autónomo. No modifica temas, sidebar ni escalas de la aplicación. */
#pm-assistant{--pm-a-red:#e71931;--pm-a-stroke:#344254;--pm-a-bg:#0d1724; font:inherit;z-index:8500;position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;}
#pm-assistant *{box-sizing:border-box}
#pm-assistant button{font:inherit;cursor:pointer}
#pm-assistant .pm-assistant-launch{pointer-events:auto;position:fixed;right:22px;bottom:max(20px,env(safe-area-inset-bottom));touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;cursor:grab;background:#121c29;border:2px solid #bf2037;border-radius:50%;width:86px;height:86px;padding:2px;box-shadow:0 6px 22px #000a,0 0 18px #c70d3155;display:flex;align-items:center;justify-content:center;transition:border-color .15s,box-shadow .15s;}
#pm-assistant .pm-assistant-launch.pm-assistant-dragging{cursor:grabbing;transition:none!important;transform:none!important;box-shadow:0 10px 26px #000b,0 0 14px #e7193166}
#pm-assistant .pm-assistant-launch:not(.pm-assistant-dragging):hover{border-color:#f13b51;box-shadow:0 9px 26px #000b,0 0 18px #e7193155}
#pm-assistant .pm-assistant-launch:focus-visible,#pm-assistant button:focus-visible,#pm-assistant input:focus-visible{outline:2px solid #f94d60;outline-offset:3px}
#pm-assistant .pm-assistant-launch img{pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;width:96%;height:96%;object-fit:contain;filter:drop-shadow(0 2px 4px #0009)}
#pm-assistant .pm-assistant-panel{display:flex;flex-direction:column;position:fixed;left:12px;top:120px;bottom:auto;right:auto;width:min(405px,calc(100vw - 24px));height:min(544px,calc(100dvh - 165px));min-height:265px;border:1px solid var(--pm-a-stroke);border-radius:22px;background:linear-gradient(145deg,#142131,#0a121e);color:#f1f4fa;box-shadow:0 18px 60px #000b,0 0 15px #b513302b;pointer-events:none;visibility:hidden;opacity:0;transform:scale(.97);transform-origin:var(--pm-anchor-x,50%) var(--pm-anchor-y,50%);transition:opacity .13s,transform .13s,visibility .13s;isolation:isolate;}
/* Una pequeña punta conecta el chat con el casco; se adapta al borde donde quedó. */
#pm-assistant .pm-assistant-panel:before{content:"";position:absolute;width:12px;height:12px;background:#142131;border:1px solid var(--pm-a-stroke);transform:rotate(45deg);top:var(--pm-arrow-y,50%);pointer-events:none;z-index:-1;display:none}
#pm-assistant.pm-anchor-left .pm-assistant-panel:before{display:block;left:-7px;border-right:0;border-top:0}
#pm-assistant.pm-anchor-right .pm-assistant-panel:before{display:block;right:-7px;border-left:0;border-bottom:0}
#pm-assistant.pm-anchor-bottom .pm-assistant-panel:before{display:block;top:auto;bottom:-7px;left:var(--pm-arrow-x,50%);border-left:0;border-top:0}
#pm-assistant.pm-anchor-top .pm-assistant-panel:before{display:block;top:-7px;left:var(--pm-arrow-x,50%);border-right:0;border-bottom:0}

#pm-assistant.pm-assistant-open .pm-assistant-panel{pointer-events:auto;visibility:visible;opacity:1;transform:scale(1)}
#pm-assistant .pm-assistant-mascot{position:absolute;width:156px;height:135px;object-fit:contain;object-position:bottom;left:14px;top:-119px;filter:drop-shadow(0 -1px 6px #0006);pointer-events:none}
#pm-assistant .pm-assistant-greeting{position:absolute;left:163px;top:-93px;background:#fff;border-radius:14px;padding:11px 14px;font-weight:700;font-size:12px;color:#202732;max-width:170px;box-shadow:0 5px 18px #0005;pointer-events:none}
#pm-assistant .pm-assistant-greeting:after{content:'';position:absolute;left:-9px;bottom:12px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:10px solid #fff}
#pm-assistant.pm-assistant-greeted .pm-assistant-greeting{display:none}
#pm-assistant .pm-assistant-head{display:flex;align-items:center;gap:12px;min-height:72px;padding:14px 16px 13px;border-bottom:1px solid #ffffff13;flex:none;background:#111d2c;border-radius:22px 22px 0 0}
#pm-assistant .pm-assistant-brand{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#f41c38,#9e1429);display:grid;place-items:center;font-size:18px;font-weight:900;color:white;flex:none}
#pm-assistant .pm-assistant-heading{flex:1;min-width:0}
#pm-assistant .pm-assistant-heading strong{display:block;font-size:16px;line-height:1.2;color:#fff}
#pm-assistant .pm-assistant-heading small{display:block;font-size:11px;line-height:1.35;color:#aab6c9;margin-top:3px}
#pm-assistant .pm-assistant-close{color:#e4e9f2;background:transparent;border:0;border-radius:8px;padding:4px 8px;font-size:26px;line-height:1}
#pm-assistant .pm-assistant-messages{flex:1;overflow:auto;padding:17px 14px;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px;scrollbar-color:#364154 transparent}
#pm-assistant .pm-assistant-message{display:flex;align-items:end;gap:7px;max-width:100%}
#pm-assistant .pm-assistant-user{justify-content:flex-end}
#pm-assistant .pm-assistant-bubble{white-space:pre-wrap;overflow-wrap:anywhere;max-width:86%;padding:11px 13px;border-radius:14px;background:#222e3d;font-size:13px;line-height:1.48;color:#f6f7fa}
#pm-assistant .pm-assistant-user .pm-assistant-bubble{background:linear-gradient(120deg,#c70c29,#e5233d);color:white;border-radius:15px 15px 5px 15px}
#pm-assistant .pm-assistant-message-avatar{width:34px;height:34px;object-fit:contain;flex:none;align-self:end;filter:drop-shadow(0 2px 5px #0008)}
#pm-assistant .pm-assistant-assistant .pm-assistant-bubble{border-radius:13px 13px 13px 4px}
#pm-assistant .pm-assistant-form{display:flex;gap:9px;padding:10px 14px 7px;align-items:center;flex:none}
#pm-assistant .pm-assistant-input{flex:1;min-width:0;height:43px;padding:0 13px;border:1px solid #405169;border-radius:11px;background:#101d2c;color:#fff;font-size:13px;outline:none;box-shadow:none}
#pm-assistant .pm-assistant-input::placeholder{color:#8e9bae}
#pm-assistant .pm-assistant-send{background:#e71c35;color:white;border:0;border-radius:11px;width:43px;height:43px;display:grid;place-items:center;flex:none}
#pm-assistant .pm-assistant-send:disabled{opacity:.5;cursor:default}
#pm-assistant .pm-assistant-foot{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:6px 15px 13px;color:#acb9ca;font-size:11px;flex:none}
#pm-assistant .pm-assistant-new{border:0;background:transparent;color:#d9e1f0;font-size:12px;text-align:left;padding:5px 0}
#pm-assistant .pm-assistant-indicator{display:flex;align-items:center;gap:6px;text-align:right;font-size:10px}
#pm-assistant .pm-assistant-indicator:before{content:'';width:7px;height:7px;border-radius:50%;background:#17c977;flex:none}

@media(max-width:920px){
  #pm-assistant .pm-assistant-panel{width:min(405px,calc(100vw - 24px));}
}
@media(max-width:600px){
  #pm-assistant .pm-assistant-launch{right:12px;bottom:max(10px,env(safe-area-inset-bottom));width:69px;height:69px}
  #pm-assistant .pm-assistant-panel{width:calc(100vw - 20px);height:min(510px,calc(100dvh - 150px));border-radius:18px}
  #pm-assistant .pm-assistant-mascot{width:119px;height:109px;top:-93px;left:8px}
  #pm-assistant .pm-assistant-greeting{top:-75px;left:125px;max-width:min(185px,calc(100vw - 150px));padding:9px;font-size:11px}
  /* En celular el casco de acceso se convierte visualmente en el bomberito cuando se abre. */
  #pm-assistant.pm-assistant-open .pm-assistant-launch{opacity:0;pointer-events:none}
  #pm-assistant .pm-assistant-head{border-radius:18px 18px 0 0}
  #pm-assistant .pm-assistant-bubble{font-size:12px}

}
@media(max-height:510px){#pm-assistant .pm-assistant-mascot,#pm-assistant .pm-assistant-greeting{display:none}#pm-assistant .pm-assistant-panel{height:calc(100dvh - 28px)}}
@media(prefers-reduced-motion:reduce){#pm-assistant *{transition:none!important;animation:none!important}}

#pm-assistant.pm-assistant-local .pm-assistant-launch{bottom:84px}
@media print{#pm-assistant{display:none!important}}
