/* Tanya CPA — widget chat FAQ (assets/chatbot.js). Memakai warna aplikasi bila ada, brand navy/emas di halaman publik. */
.cb{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:60;font-family:var(--font,'Plus Jakarta Sans','Segoe UI',system-ui,sans-serif);font-size:14px;line-height:1.45}
.cb.inapp{bottom:max(76px,calc(env(safe-area-inset-bottom,0px) + 68px))}
@media (min-width:901px){.cb.inapp{bottom:max(16px,env(safe-area-inset-bottom,0px))}}
.cb *{box-sizing:border-box}
.cb-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border-radius:24px;background:var(--gold,var(--accent,#F2B544));color:var(--navy,var(--accent-ink,#0A2350));font-weight:800;font-size:15px;box-shadow:0 8px 24px -6px rgba(0,0,0,.35)}
.cb-btn::before{content:"💬";font-size:17px}
.cb-btn:hover{filter:brightness(1.05)}
.cb-btn:focus-visible,.cb-x:focus-visible,.cb-chip:focus-visible,.cb-act:focus-visible,.cb-send:focus-visible,.cb-form input:focus-visible{outline:3px solid var(--accent,#174B8E);outline-offset:2px}
.cb-btn.open{display:none}
.cb-panel{position:absolute;right:0;bottom:0;width:min(380px,calc(100vw - 32px));max-height:min(620px,calc(100dvh - 32px));display:flex;flex-direction:column;background:var(--surface,#fff);color:var(--fg,#14213D);border:1px solid var(--line,#E1E6EF);border-radius:18px;box-shadow:0 24px 60px -12px rgba(0,0,0,.4);overflow:hidden}
.cb-panel[hidden]{display:none}
.cb-head{display:grid;grid-template-columns:1fr auto;gap:0 8px;align-items:center;padding:12px 14px;background:var(--navy,#0A2350);color:#fff}
.cb-head strong{font-size:15px}.cb-head span{grid-column:1;font-size:12px;color:#C9D3E6}
.cb-x{all:unset;cursor:pointer;grid-row:1/3;grid-column:2;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:24px;line-height:1;color:#fff}
.cb-x:hover{background:rgba(255,255,255,.14)}
.cb-log{flex:1;min-height:140px;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--bg,#F6F7FA)}
.cb-msg{max-width:88%;padding:9px 12px;border-radius:14px;overflow-wrap:anywhere}
.cb-msg p{margin:0}.cb-msg a{color:inherit;font-weight:700}
.cb-msg.bot{align-self:flex-start;background:var(--surface,#fff);border:1px solid var(--line,#E1E6EF);border-top-left-radius:4px}
.cb-msg.me{align-self:flex-end;background:var(--accent,#174B8E);color:var(--accent-ink,#fff);border-top-right-radius:4px}
.cb-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.cb-act{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:17px;border:1px solid var(--accent,#174B8E);color:var(--accent,#174B8E);font-weight:700;font-size:13px;text-decoration:none;background:transparent}
.cb-act:hover{background:var(--accent-soft,#E3EBF6)}
.cb-msg .cb-act.wa{background:var(--accent,#174B8E);color:var(--accent-ink,#fff)}
.cb-chips{display:flex;gap:6px;overflow-x:auto;padding:8px 14px;border-top:1px solid var(--line,#E1E6EF);scrollbar-width:thin}
.cb-chip{all:unset;box-sizing:border-box;cursor:pointer;white-space:nowrap;min-height:32px;display:inline-flex;align-items:center;padding:0 12px;border-radius:16px;background:var(--accent-soft,#E3EBF6);color:var(--fg,#14213D);font-size:13px;font-weight:600}
.cb-chip:hover{filter:brightness(.97)}
.cb-form{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--line,#E1E6EF)}
.cb-form input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--line,#CBD3E1);border-radius:12px;background:var(--surface,#fff);color:var(--fg,#14213D);font:inherit;font-size:16px}
.cb-send{all:unset;box-sizing:border-box;cursor:pointer;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;border-radius:12px;background:var(--accent,#174B8E);color:var(--accent-ink,#fff);font-weight:800}
.cb-foot{margin:0;padding:0 14px 10px;font-size:11px;color:var(--muted,#6B7689)}
@media (max-width:480px){.cb-panel{position:fixed;right:8px;left:8px;bottom:8px;width:auto;max-height:calc(100dvh - 16px)}}
@media (prefers-reduced-motion:no-preference){.cb-panel:not([hidden]){animation:cbIn .18s ease-out}@keyframes cbIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media print{.cb{display:none}}
