/* CHA v12 — Cubi Assistant public widget. Hidden on portal routes by JS. */
:root{--cubi-primary:#0E7C7B;--cubi-soft:#E8F4F4;--cubi-fg:#1E293B;--cubi-muted:#64748B;--cubi-border:#E2E8F0;--cubi-success:#16A34A;}
.cha-cubi-launcher{position:fixed;right:24px;bottom:24px;width:64px;height:64px;border-radius:999px;background:#fff;border:1px solid var(--cubi-border);box-shadow:0 0 0 8px rgba(14,124,123,.13),0 24px 40px -16px rgba(14,124,123,.42);z-index:90;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;}
.cha-cubi-launcher:hover{transform:scale(1.04);box-shadow:0 0 0 10px rgba(14,124,123,.16),0 28px 48px -18px rgba(14,124,123,.48)}
.cha-cubi-launcher img{width:52px;height:52px;border-radius:999px;object-fit:cover;}
.cha-cubi-online{position:absolute;right:6px;bottom:6px;width:13px;height:13px;border-radius:999px;background:var(--cubi-success);border:2px solid #fff;}
.cha-cubi-badge{position:absolute;right:-3px;top:-3px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#DC2626;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
.cha-cubi-panel{position:fixed;right:24px;bottom:102px;width:360px;height:540px;max-height:min(540px,calc(100svh - 130px));background:#fff;border:1px solid var(--cubi-border);border-radius:24px;box-shadow:0 24px 60px -20px rgba(15,23,42,.25);z-index:91;display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;}
body.cha-cubi-open .cha-cubi-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
body.cha-cubi-open .cha-cubi-launcher{display:none;}
.cha-cubi-head{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--cubi-border);background:#fff;}
.cha-cubi-avatar{width:42px;height:42px;border-radius:999px;background:var(--cubi-soft);overflow:hidden;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
.cha-cubi-avatar img{width:42px;height:42px;object-fit:cover;}
.cha-cubi-title{min-width:0;flex:1;}
.cha-cubi-title strong{display:block;font-size:14px;color:var(--cubi-fg);}
.cha-cubi-title span{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--cubi-success);}
.cha-cubi-title span::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--cubi-success);}
.cha-cubi-close{width:34px;height:34px;border-radius:999px;border:1px solid var(--cubi-border);background:#fff;color:var(--cubi-muted);display:flex;align-items:center;justify-content:center;}
.cha-cubi-messages{flex:1;overflow:auto;padding:16px;background:#F8FAFB;display:flex;flex-direction:column;gap:10px;}
.cha-cubi-msg{max-width:82%;padding:10px 14px;border-radius:16px;font-size:13.5px;line-height:1.42;}
.cha-cubi-msg--bot{align-self:flex-start;background:var(--cubi-soft);color:var(--cubi-fg);border-bottom-left-radius:6px;}
.cha-cubi-msg--user{align-self:flex-end;background:var(--cubi-primary);color:#fff;border-bottom-right-radius:6px;}
.cha-cubi-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px;border-top:1px solid var(--cubi-border);background:#fff;}
.cha-cubi-chip{height:36px;border:1px solid var(--cubi-primary);color:var(--cubi-primary);border-radius:999px;font-size:12.5px;font-weight:700;background:#fff;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cha-cubi-chip:hover{background:var(--cubi-soft);}
.cha-cubi-composer{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--cubi-border);background:#fff;}
.cha-cubi-input{flex:1;height:44px;border:1px solid var(--cubi-border);border-radius:12px;padding:0 14px;font:inherit;font-size:13.5px;outline:none;min-width:0;}
.cha-cubi-input:focus{border-color:var(--cubi-primary);box-shadow:0 0 0 3px rgba(14,124,123,.12);}
.cha-cubi-send{width:40px;height:40px;border-radius:999px;background:var(--cubi-primary);color:#fff;border:0;display:flex;align-items:center;justify-content:center;}
.cha-cubi-foot{font-size:11px;color:var(--cubi-muted);text-align:center;padding:8px;background:#fff;border-top:1px solid var(--cubi-border);}
@media(max-width:767px){
  .cha-cubi-launcher{right:16px;bottom:16px;width:56px;height:56px;}
  .cha-cubi-launcher img{width:46px;height:46px;}
  .cha-cubi-panel{left:0;right:0;bottom:0;width:100%;height:85svh;max-height:85svh;border-radius:24px 24px 0 0;}
}

/* CHA v13 mobile safety: portal pages must never show the public assistant. */
body[data-section] #cha-cubi-root,
body[data-section] .cha-cubi-launcher,
body[data-section] .cha-cubi-panel{display:none!important;visibility:hidden!important;pointer-events:none!important;}
@media(max-width:767px){
  .cha-cubi-launcher{right:14px!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;width:54px!important;height:54px!important;box-shadow:0 0 0 7px rgba(14,124,123,.12),0 18px 32px -18px rgba(14,124,123,.48)!important;}
  .cha-cubi-launcher img{width:44px!important;height:44px!important;}
}
