#sjp-chat-root{font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;color:#17304c}#sjp-chat-root *{box-sizing:border-box}#sjp-chat-root button{cursor:pointer}#sjp-chat-root [hidden]{display:none!important}
#sjp-chat-root .sjp-avatar-launch{position:fixed;right:20px;bottom:20px;width:64px;height:64px;border-radius:50%;padding:3px;background:#fff;border:3px solid #1976d2;box-shadow:0 5px 20px #082c5999;z-index:2147483000;transition:transform .2s ease}
#sjp-chat-root .sjp-avatar-launch:hover{transform:scale(1.05)}#sjp-chat-root .sjp-avatar-launch img{width:100%;height:100%;border-radius:50%}#sjp-chat-root .sjp-online-dot{position:absolute;right:1px;bottom:3px;width:13px;height:13px;border-radius:50%;background:#1acb78;border:2px solid #fff}
#sjp-chat-root .sjp-panel{position:fixed;right:20px;bottom:96px;width:min(370px,calc(100vw - 24px));height:min(510px,calc(100dvh - 118px));background:#fff;border:1px solid #cbd9e8;border-radius:18px;box-shadow:0 16px 48px #061d3b50;display:flex;flex-direction:column;overflow:hidden;z-index:2147483000}
#sjp-chat-root .sjp-head{background:linear-gradient(120deg,#0b2547,#15558c);color:white;padding:10px 12px;display:flex;gap:9px;align-items:center;min-height:65px}#sjp-chat-root .sjp-head-avatar{width:42px;height:42px;border-radius:50%;background:#fff}#sjp-chat-root .sjp-heading{display:flex;flex-direction:column;flex:1;min-width:0}#sjp-chat-root .sjp-heading small{font-size:10px;color:#d6e7f7}#sjp-chat-root .sjp-head button{background:transparent;border:0;color:white;font-size:19px;padding:5px}#sjp-chat-root .sjp-messages{flex:1;min-height:70px;overflow:auto;padding:12px;background:#f1f6fc}#sjp-chat-root .sjp-msg{white-space:pre-wrap;overflow-wrap:anywhere;background:white;padding:10px 12px;margin-bottom:10px;border-radius:12px;max-width:92%}#sjp-chat-root .sjp-msg.user{background:#d9e9fc;margin-left:auto}
#sjp-chat-root .sjp-shortcuts{display:flex;flex-wrap:wrap;gap:5px;padding:8px;border-top:1px solid #e4ebf3}#sjp-chat-root .sjp-shortcuts button{border:1px solid #d4e0ef;background:#f7faff;border-radius:16px;padding:5px 9px;font-size:11px;color:#17436c}
#sjp-chat-root .sjp-form{display:flex;gap:6px;padding:8px;border-top:1px solid #e1e8f0}#sjp-chat-root input,#sjp-chat-root select,#sjp-chat-root textarea{min-width:0;width:100%;padding:9px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}#sjp-chat-root .sjp-form input{flex:1}#sjp-chat-root .sjp-primary{background:#123b6a;color:#fff;border:0;border-radius:8px;padding:9px 11px}#sjp-chat-root .sjp-mic{border:1px solid #d0dcea;border-radius:8px;background:#fff;padding:5px}#sjp-chat-root .sjp-listening{background:#ffe7e7}#sjp-chat-root .sjp-lead{padding:8px;border-top:1px solid #e1e8f0;max-height:46%;overflow:auto}#sjp-chat-root .sjp-lead summary{cursor:pointer;font-weight:600;font-size:12px}#sjp-chat-root .sjp-lead-fields{display:grid;gap:7px;padding-top:9px}#sjp-chat-root .sjp-consent{display:flex;gap:7px;align-items:flex-start;font-size:11px}#sjp-chat-root .sjp-consent input{width:auto;min-width:16px;margin-top:3px}#sjp-chat-root .sjp-whatsapp{display:block;margin:8px;color:#0c6c4b;text-decoration:underline}
@media(max-width:480px){#sjp-chat-root .sjp-avatar-launch{right:12px;bottom:12px;width:56px;height:56px}#sjp-chat-root .sjp-panel{right:8px;bottom:78px;width:calc(100vw - 16px);height:min(510px,calc(100dvh - 92px))}}
@media(prefers-reduced-motion:reduce){#sjp-chat-root *{scroll-behavior:auto!important;transition:none!important}}

/* ===== Penyesuaian untuk web ptsjp.co.id ===== */
#sjp-chat-root{font-family:inherit;font-size:13px}
/* Tema web memberi semua <section> padding 80px; netralkan untuk panel chat */
#sjp-chat-root section.sjp-panel{padding:0;margin:0}
/* Di bawah loader halaman, di atas konten & header */
#sjp-chat-root .sjp-avatar-launch,#sjp-chat-root .sjp-panel{z-index:9990}
/* Sembunyikan saat menu mobile terbuka */
body.mobile-nav-active #sjp-chat-root{display:none}
/* Ukuran ringkas */
#sjp-chat-root .sjp-avatar-launch{right:18px;bottom:18px;width:54px;height:54px;padding:2px}
#sjp-chat-root .sjp-panel{right:18px;bottom:82px;width:310px;height:min(440px,calc(100dvh - 110px));border-radius:14px}
#sjp-chat-root .sjp-head{min-height:0;padding:8px 10px}
#sjp-chat-root .sjp-head-avatar{width:32px;height:32px}
#sjp-chat-root .sjp-heading strong{font-size:13px;line-height:1.2}
#sjp-chat-root .sjp-messages{padding:10px}
#sjp-chat-root .sjp-msg{padding:7px 10px;margin-bottom:7px;border-radius:10px}
#sjp-chat-root .sjp-shortcuts{padding:6px 8px;gap:4px}
#sjp-chat-root .sjp-shortcuts button{padding:3px 8px;font-size:10.5px}
#sjp-chat-root .sjp-form{padding:6px 8px}
#sjp-chat-root .sjp-form input{padding:7px 9px}
#sjp-chat-root .sjp-primary{padding:7px 10px}
#sjp-chat-root .sjp-lead{padding:6px 8px}
#sjp-chat-root .sjp-lead-fields{gap:5px;padding-top:6px}
#sjp-chat-root .sjp-lead-fields input,#sjp-chat-root .sjp-lead-fields select,#sjp-chat-root .sjp-lead-fields textarea{padding:6px 8px}
#sjp-chat-root .sjp-consent input{padding:0}
@media(max-width:480px){
 #sjp-chat-root .sjp-avatar-launch{right:12px;bottom:12px;width:50px;height:50px}
 #sjp-chat-root .sjp-panel{left:auto;right:10px;bottom:72px;width:min(300px,calc(100vw - 20px));height:min(420px,calc(100dvh - 90px))}
}
#sjp-chat-root .sjp-heading small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
