#cb-root,
#cb-root * { box-sizing: border-box; }
#cb-root { --cb-green:#0b2a1c; --cb-green-deep:#071d14; --cb-gold:#c9a24b; --cb-gold-light:#e6c76a; --cb-cream:#f5f1e6; --cb-muted:#b9c7bc; --cb-line:rgba(230,199,106,.62); --cb-shadow:0 22px 60px rgba(0,0,0,.34); position:fixed; z-index:2147483000; right:24px; bottom:max(24px,env(safe-area-inset-bottom)); width:0; height:0; color:var(--cb-cream); font-family:Figtree,Inter,system-ui,-apple-system,sans-serif; font-size:15px; }
#cb-root.cb-transport { bottom:max(92px,calc(76px + env(safe-area-inset-bottom))); }
.cb-launcher { position:fixed; right:24px; bottom:max(24px,env(safe-area-inset-bottom)); display:grid; width:64px; height:64px; padding:0; border:0; border-radius:50%; color:var(--cb-gold-light); background:transparent; cursor:pointer; opacity:0; transform:translateY(12px) scale(.88); transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1); filter:drop-shadow(0 8px 18px rgba(0,0,0,.28)); }
.cb-transport .cb-launcher { bottom:max(92px,calc(76px + env(safe-area-inset-bottom))); }
.cb-ready .cb-launcher { opacity:1; transform:translateY(0) scale(1); }
.cb-launcher:hover,.cb-launcher:focus-visible { transform:translateY(-3px) scale(1.03); filter:drop-shadow(0 12px 26px rgba(201,162,75,.34)); outline:none; }
.cb-launcher:focus-visible { box-shadow:0 0 0 3px var(--cb-green-deep),0 0 0 6px var(--cb-gold-light); }
.cb-launcher::before { content:""; position:absolute; inset:-9px; border-radius:50%; border:1px solid rgba(230,199,106,.28); opacity:0; transform:scale(.78); }
.cb-ready .cb-launcher::before { animation:cb-ring 6s ease-out 2.8s 3; }
.cb-icon-circle { position:relative; display:grid; place-items:center; width:100%; height:100%; border:2px solid var(--cb-gold-light); border-radius:50%; background:linear-gradient(145deg,#173e2a 0%,#0b2a1c 64%,#06170f 100%); box-shadow:inset 0 3px 12px rgba(255,255,255,.14),inset 0 -8px 12px rgba(0,0,0,.32),0 0 0 2px rgba(201,162,75,.66),0 0 20px rgba(201,162,75,.22); overflow:visible; animation:cb-breathe 4s ease-in-out 3s infinite; }
.cb-icon-circle::after { content:""; position:absolute; right:-4px; bottom:0; width:20px; height:19px; border-right:2px solid var(--cb-gold-light); border-bottom:2px solid var(--cb-gold-light); background:var(--cb-green); transform:skewY(28deg) rotate(7deg); border-bottom-right-radius:4px; z-index:-1; }
.cb-logo-slot { display:grid; place-items:center; width:78%; height:78%; overflow:hidden; border-radius:50%; animation:cb-detail 7s ease-in-out 5s infinite; transform-origin:50% 42%; }
.cb-logo-image { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.cb-spark { position:absolute; top:5px; left:5px; width:11px; height:11px; color:var(--cb-gold-light); transform:rotate(45deg); animation:cb-spark 7s ease-in-out 3s infinite; }
.cb-spark::before,.cb-spark::after { content:""; position:absolute; background:currentColor; border-radius:99px; }
.cb-spark::before { inset:0 4px; }.cb-spark::after { inset:4px 0; }
.cb-online { position:absolute; top:1px; right:1px; width:14px; height:14px; border:2px solid var(--cb-gold-light); border-radius:50%; background:#53b967; box-shadow:0 0 0 2px var(--cb-green-deep),0 0 10px rgba(83,185,103,.65); }
.cb-online::after { content:""; position:absolute; inset:-4px; border:1px solid rgba(83,185,103,.45); border-radius:50%; animation:cb-online 3.4s ease-out infinite; }
.cb-icon-close { display:none; font-family:system-ui,sans-serif; font-size:31px; font-weight:300; line-height:1; }
.cb-launcher[data-open="true"] .cb-icon-circle { animation:cb-open .42s ease both; }.cb-launcher[data-open="true"] .cb-logo-slot,.cb-launcher[data-open="true"] .cb-spark,.cb-launcher[data-open="true"] .cb-online { display:none; }.cb-launcher[data-open="true"] .cb-icon-close { display:block; }
.cb-greeting { position:fixed; right:96px; bottom:calc(max(24px,env(safe-area-inset-bottom)) + 10px); width:max-content; max-width:min(300px,calc(100vw - 120px)); padding:10px 14px; border:1px solid var(--cb-line); border-radius:9px 9px 2px 9px; color:var(--cb-cream); background:rgba(7,29,20,.96); box-shadow:var(--cb-shadow); font-size:14px; line-height:1.35; opacity:0; transform:translateY(7px); pointer-events:none; transition:opacity .25s ease,transform .25s ease; }
.cb-transport .cb-greeting { bottom:calc(max(92px,calc(76px + env(safe-area-inset-bottom))) + 10px); }
.cb-greeting.is-visible { opacity:1; transform:none; pointer-events:auto; }.cb-greeting button { margin-left:9px; border:0; color:var(--cb-gold-light); background:none; cursor:pointer; font-size:18px; }
.cb-panel { position:fixed; right:24px; bottom:calc(max(24px,env(safe-area-inset-bottom)) + 78px); display:flex; flex-direction:column; width:min(380px,calc(100vw - 32px)); max-height:min(600px,calc(100vh - 112px)); border:1px solid var(--cb-gold); border-radius:10px; color:var(--cb-cream); background:linear-gradient(145deg,#173b29 0%,#0b2a1c 60%,#071d14 100%); box-shadow:var(--cb-shadow),0 0 0 3px rgba(230,199,106,.22); opacity:0; visibility:hidden; transform:translateY(14px) scale(.97); transform-origin:bottom right; transition:opacity .24s ease,transform .24s ease,visibility .24s; overflow:hidden; }
.cb-transport .cb-panel { bottom:calc(max(92px,calc(76px + env(safe-area-inset-bottom))) + 78px); }
.cb-panel.is-open { opacity:1; visibility:visible; transform:none; }
.cb-panel-head { display:flex; align-items:center; gap:10px; min-height:72px; padding:14px 14px 12px; border-bottom:1px solid rgba(230,199,106,.28); background:rgba(4,20,13,.35); }
.cb-panel-logo { flex:0 0 42px; width:42px; height:42px; overflow:hidden; border:1px solid var(--cb-gold); border-radius:50%; background:#0b2a1c; }.cb-panel-logo img { width:100%; height:100%; object-fit:cover; object-position:center 25%; transform:scale(1.25); }
.cb-head-copy { min-width:0; flex:1; }.cb-head-copy strong { display:block; color:var(--cb-cream); font-family:Fraunces,Georgia,serif; font-size:17px; font-weight:600; }.cb-head-copy span { display:flex; align-items:center; gap:5px; margin-top:2px; color:var(--cb-muted); font-size:12px; }.cb-head-copy span::before { content:""; width:7px; height:7px; border-radius:50%; background:#53b967; box-shadow:0 0 8px rgba(83,185,103,.7); }
.cb-close,.cb-reset { display:grid; place-items:center; min-width:44px; min-height:44px; border:1px solid rgba(230,199,106,.38); border-radius:6px; color:var(--cb-gold-light); background:transparent; cursor:pointer; font-size:24px; }.cb-close:hover,.cb-close:focus-visible,.cb-reset:hover,.cb-reset:focus-visible { color:var(--cb-cream); border-color:var(--cb-gold-light); outline:none; }
.cb-messages { display:flex; flex:1; flex-direction:column; gap:12px; min-height:0; padding:15px; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:var(--cb-gold) transparent; }.cb-message { max-width:91%; }.cb-message--user { align-self:flex-end; }.cb-bubble { padding:11px 13px; border:1px solid rgba(230,199,106,.24); border-radius:10px 10px 10px 2px; color:var(--cb-cream); background:rgba(22,62,42,.82); line-height:1.45; }.cb-message--user .cb-bubble { border-color:rgba(230,199,106,.82); border-radius:10px 10px 2px 10px; color:#13261a; background:linear-gradient(135deg,var(--cb-gold-light),var(--cb-gold)); }.cb-bubble strong { color:var(--cb-gold-light); }.cb-message--user .cb-bubble strong { color:inherit; }
.cb-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }.cb-action,.cb-topic { min-height:40px; padding:8px 11px; border:1px solid rgba(230,199,106,.55); border-radius:7px; color:var(--cb-gold-light); background:rgba(6,28,18,.38); cursor:pointer; font:inherit; font-size:12px; text-align:left; }.cb-action:hover,.cb-action:focus-visible,.cb-topic:hover,.cb-topic:focus-visible { color:var(--cb-green-deep); background:var(--cb-gold-light); outline:none; }.cb-action--whatsapp { color:#a9dfad; border-color:rgba(83,185,103,.55); }
.cb-topics { display:flex; flex-wrap:wrap; gap:7px; }.cb-topic { min-height:38px; font-size:12px; }.cb-typing { display:flex; gap:4px; width:max-content; padding:11px 13px; border:1px solid rgba(230,199,106,.35); border-radius:10px 10px 10px 2px; background:rgba(22,62,42,.82); }.cb-typing i { width:6px; height:6px; border-radius:50%; background:var(--cb-gold-light); animation:cb-type .8s ease-in-out infinite; }.cb-typing i:nth-child(2){animation-delay:.12s}.cb-typing i:nth-child(3){animation-delay:.24s}
.cb-composer { display:flex; gap:8px; padding:11px; border-top:1px solid rgba(230,199,106,.28); background:rgba(4,20,13,.38); }.cb-input { min-width:0; flex:1; min-height:48px; padding:0 12px; border:1px solid rgba(230,199,106,.42); border-radius:7px; color:var(--cb-cream); background:rgba(5,24,16,.75); font:inherit; }.cb-input::placeholder { color:#9db0a2; }.cb-input:focus { border-color:var(--cb-gold-light); outline:2px solid rgba(230,199,106,.25); outline-offset:1px; }.cb-send { display:grid; place-items:center; min-width:48px; min-height:48px; border:1px solid var(--cb-gold-light); border-radius:7px; color:var(--cb-green-deep); background:var(--cb-gold-light); cursor:pointer; }.cb-send:hover,.cb-send:focus-visible { background:var(--cb-cream); outline:none; }.cb-send svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.cb-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 13px 12px; color:#9db0a2; font-size:10px; }.cb-foot button { padding:2px 0; border:0; color:var(--cb-gold-light); background:none; cursor:pointer; font:inherit; }.cb-foot button:focus-visible { outline:2px solid var(--cb-gold-light); outline-offset:2px; }
@keyframes cb-breathe { 0%,100%{transform:scale(1)} 50%{transform:scale(1.04)} } @keyframes cb-detail { 0%,72%,100%{transform:rotate(0)} 78%{transform:rotate(2deg)} 84%{transform:rotate(-2deg)} 90%{transform:rotate(0)} } @keyframes cb-ring { 0%{opacity:0;transform:scale(.78)} 20%{opacity:1} 100%{opacity:0;transform:scale(1.22)} } @keyframes cb-online { 0%,60%,100%{opacity:0;transform:scale(.75)} 30%{opacity:1;transform:scale(1)} } @keyframes cb-spark { 0%,75%,100%{opacity:.25;transform:rotate(45deg) scale(.7)} 82%{opacity:1;transform:rotate(45deg) scale(1.2)} } @keyframes cb-type { 0%,100%{transform:translateY(0);opacity:.55} 50%{transform:translateY(-4px);opacity:1} } @keyframes cb-open { from{transform:rotate(0)} to{transform:rotate(180deg)} }
@media (max-width:680px) { #cb-root.cb-transport { bottom:max(141px,calc(70px + env(safe-area-inset-bottom))); }.cb-launcher,.cb-transport .cb-launcher { right:16px; bottom:max(16px,env(safe-area-inset-bottom)); width:56px; height:56px; }.cb-transport .cb-launcher { bottom:max(141px,calc(70px + env(safe-area-inset-bottom))); }.cb-panel,.cb-transport .cb-panel { right:8px; bottom:calc(max(16px,env(safe-area-inset-bottom)) + 68px); width:calc(100vw - 16px); max-height:none; height:min(78dvh,640px); border-radius:10px; }.cb-transport .cb-panel { bottom:calc(max(141px,calc(70px + env(safe-area-inset-bottom))) + 68px); }.cb-greeting,.cb-transport .cb-greeting { right:82px; bottom:calc(max(16px,env(safe-area-inset-bottom)) + 4px); max-width:calc(100vw - 98px); }.cb-transport .cb-greeting { bottom:calc(max(141px,calc(70px + env(safe-area-inset-bottom))) + 4px); }.cb-logo-slot { width:84%; height:84%; }.cb-logo-image { object-fit:cover; object-position:center 27%; transform:scale(1.28); }.cb-messages { padding:13px; }.cb-panel-head { min-height:68px; } }
@media (prefers-reduced-motion: reduce) { .cb-launcher,.cb-icon-circle,.cb-logo-slot,.cb-spark,.cb-online::after,.cb-typing i,.cb-launcher::before { animation:none !important; transition:none !important; }.cb-ready .cb-launcher { transform:none; }.cb-greeting,.cb-panel { transition:none; } }
