.gj-chat{position:fixed;inset:auto 16px 18px auto;margin:0;width:min(390px,calc(100vw - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box;border:1px solid #b9cfc4;border-radius:15px;padding:24px;background:white;color:#163c2b;box-shadow:0 18px 58px #102e2838;font:16px/1.45 system-ui}.gj-chat::backdrop{background:#0a231d55}.gj-chat h2{font-size:21px;margin:0 28px 14px 0}.gj-chat .chat-close{position:absolute;right:12px;top:10px;background:none;border:0;font-size:26px;cursor:pointer}.gj-chat .chat-action{display:inline-block;background:#11663e;color:white;border:0;padding:10px 14px;border-radius:6px;font:inherit;cursor:pointer;text-decoration:none}.gj-chat textarea,.gj-chat select{display:block;width:100%;box-sizing:border-box;font:inherit;margin:6px 0 12px}.gj-chat .log{max-height:30dvh;overflow:auto}.gj-chat .log p{white-space:pre-wrap;overflow-wrap:anywhere;padding:8px 12px;background:#edf4ef;border-radius:8px}.gj-chat .log b{display:block;font-size:12px}.gj-chat [hidden]{display:none!important}
.gj-invite{position:fixed;z-index:10005;right:16px;bottom:88px;width:min(320px,calc(100vw - 32px));box-sizing:border-box;padding:18px;background:white;color:#173e30;border:1px solid #bfd5c8;border-radius:12px;box-shadow:0 8px 30px #173e3033;font:15px/1.45 system-ui}.gj-invite[hidden]{display:none}.gj-invite p{max-height:6em;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap}.gj-invite button{border:0;border-radius:5px;padding:8px;background:#11663e;color:white;cursor:pointer}.gj-invite button+button{background:#edf4ef;color:#173e30}


/* Public contact shortcuts share one compact row above the safe area. */
nav.gj-contact-actions {
 position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));
 z-index:999;display:flex;align-items:center;flex-wrap:nowrap;gap:7px;width:max-content;max-width:calc(100vw - 24px);
}
.gj-contact-actions>a,.gj-contact-actions>button {
 box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;
 height:46px;margin:0;padding:0 13px;appearance:none;
 border:1px solid transparent;border-radius:999px;color:white;font:650 13px/1.1 system-ui,sans-serif;
 white-space:nowrap;text-decoration:none;box-shadow:0 3px 12px #09212635;cursor:pointer;
}
.gj-contact-actions>a.gj-agenda-shortcut,.gj-contact-actions>a.gj-wa-shortcut{width:46px;padding:0}
.gj-contact-actions>a.gj-agenda-shortcut{background:#fff;border-color:#b7c7c1;color:#164a3a}
.gj-contact-actions>a.gj-wa-shortcut{background:#25d366;color:#fff}
.gj-contact-actions>button[data-chat-open]{background:#14569a;color:#fff}
.gj-contact-actions>button[data-chat-open]:hover{background:#104579}
.gj-contact-actions>a.gj-agenda-shortcut:hover{background:#edf5ef}
.gj-contact-actions>a.gj-wa-shortcut:hover{background:#1cba58}
.gj-contact-actions :focus-visible{outline:3px solid #164e83;outline-offset:3px}
.gj-contact-actions svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.gj-contact-actions .gj-wa-shortcut svg{width:28px;height:28px;fill:currentColor;stroke:none}
.gj-invite{bottom:calc(68px + env(safe-area-inset-bottom))}
#agendar-atendimento{scroll-margin-top:110px}
@media(max-width:600px){
 body:has(nav.gj-contact-actions){padding-bottom:calc(70px + env(safe-area-inset-bottom))}
}
.gj-visitor-chat{padding:0;border:1px solid #ccded5;border-radius:18px;box-shadow:0 20px 60px #0a302d38}
.gj-visitor-chat .gj-chat-head{padding:18px 22px;background:linear-gradient(120deg,#103e31,#126449);color:white}
.gj-visitor-chat .gj-chat-eyebrow{font:700 10px/1.4 system-ui;letter-spacing:.14em;color:#c0efda}
.gj-visitor-chat .gj-chat-head h2{margin:4px 30px 6px 0;color:white;font:650 22px/1.2 system-ui;letter-spacing:-.025em}
.gj-visitor-chat .chat-close{z-index:1;color:white;width:36px;height:36px;border-radius:50%;background:#ffffff18;line-height:1}
.gj-presence{display:inline-flex;align-items:center;gap:8px;font:500 13px system-ui}
.gj-presence:before,.gj-consultor-online:after{content:"";width:8px;height:8px;border-radius:50%;background:#b7c8c0}
.gj-presence.online:before,.gj-consultor-online:after{background:#7cf59f;animation:gj-presence-pulse 2.4s ease-out infinite}
.gj-consultor-online:after{margin-left:auto}
@keyframes gj-presence-pulse{0%{box-shadow:0 0 0 0 #76f69980}65%,100%{box-shadow:0 0 0 5px #76f69900}}
.gj-visitor-chat .messages{padding:16px 20px}.gj-visitor-chat .hint{font:14px/1.45 system-ui;margin:0 0 12px;color:#4e625a}
.gj-visitor-chat .log{display:flex;flex-direction:column;gap:6px}.gj-visitor-chat .log p{align-self:flex-start;max-width:85%;margin:0;background:#edf3f0;border-radius:12px 12px 12px 3px}.gj-visitor-chat .log .from-client{align-self:flex-end;background:#dff3e5;border-radius:12px 12px 3px 12px}
.gj-visitor-chat form{margin-top:12px}.gj-visitor-chat textarea{border:1px solid #aac3b4;border-radius:9px;padding:10px;min-height:54px;resize:vertical}
.gj-visitor-chat form .chat-action{width:100%;border-radius:9px;font-weight:600}.gj-visitor-chat .messages>[role=status]:empty{display:none}
@media(prefers-reduced-motion:reduce){.gj-consultor-online:after,.gj-presence.online:before{animation:none}}

.gj-visitor-chat .gj-registration{margin:0;padding:16px 20px}.gj-registration h3{margin:0}.gj-registration p,.gj-registration label{font:14px/1.4 system-ui}.gj-registration label{display:block;margin:8px 0}.gj-registration input{display:block;width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #aac3b4;border-radius:8px;font:inherit}.gj-registration .chat-action{width:100%}

.gj-visitor-chat .gj-chat-head{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;align-content:start;gap:5px;padding:18px 54px 18px 20px}
.gj-visitor-chat .gj-chat-head h2{margin:0;word-break:normal}
.gj-chat-head .gj-presence{width:max-content;max-width:100%;white-space:normal}
.gj-chat-head .gj-presence::before,.gj-contact-actions>.gj-consultor-online::after{display:block;flex:0 0 8px;width:8px;height:8px;min-width:8px;max-width:8px;min-height:8px;max-height:8px;border-radius:50%;align-self:center}
.gj-contact-actions>a,.gj-contact-actions>button[data-chat-open],.gj-visitor-chat form button.chat-action{border-radius:999px!important}

.gj-contact-actions>button[data-chat-open]::after{content:"";display:block;width:8px;height:8px;flex:0 0 8px;border-radius:50%;margin-left:auto;background:#bdccdc}.gj-contact-actions>button[data-presence="online"]::after{background:#77f0af}.gj-contact-actions>button[data-presence="offline"]::after{background:#ffc4ae}.gj-chat-head .gj-presence[data-presence="offline"]::before{background:#ff858a}

aside.gj-invite{width:min(342px,calc(100vw - 32px));padding:18px;border-radius:18px;background:#fff;box-shadow:0 8px 32px #163b2926;font:15px/1.45 system-ui,sans-serif;color:#203b32;max-height:calc(100dvh - 190px);overflow:auto}
.gj-invite-person{display:flex;align-items:center;gap:11px}
.gj-invite-avatar{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:50%;color:#146749;background:#e1f2e9}
.gj-invite-avatar svg{width:23px;height:23px}
.gj-invite-person strong,.gj-invite-person small{display:block}.gj-invite-person strong{font-size:16px}.gj-invite-person small{font-size:12px;color:#51665d}
aside.gj-invite p{margin:14px 0;padding:11px 14px;background:#f0f6f3;border-radius:3px 14px 14px;font:16px/1.45 system-ui;color:#233d32}
.gj-invite-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
aside.gj-invite .gj-invite-actions button{min-height:42px;padding:8px 15px;border-radius:999px!important;font:600 14px/1.2 system-ui;background:#166544;color:#fff}
aside.gj-invite .gj-invite-actions button+button{background:white;color:#485c53;font-weight:500}
.gj-invite-actions button:focus-visible{outline:2px solid #157c55;outline-offset:2px}

.gj-away-notice{padding:12px 20px;background:#edf5ef;border-bottom:1px solid #cadfd3}
.gj-away-notice p{margin:0 0 8px;font-size:14px}
.gj-invite .gj-form-link,.gj-chat .gj-form-link{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border-radius:22px;background:#146447;color:white;text-decoration:none;font:600 14px/1.3 system-ui}
.gj-chat .log .gj-form-link{display:table;margin-top:8px}
.gj-invite-actions [hidden]{display:none!important}

/* The visitor can scroll the page while the conversation stays docked above the shortcuts. */
section.gj-visitor-chat {
 --gj-dock-gap:calc(66px + env(safe-area-inset-bottom));
 position:fixed;inset:auto max(12px,env(safe-area-inset-right)) calc(var(--gj-viewport-inset,0px) + var(--gj-dock-gap)) auto;
 z-index:10000;display:flex;flex-direction:column;box-sizing:border-box;margin:0;
 width:min(390px,calc(100vw - 24px));height:min(550px,calc(var(--gj-visible-height,100dvh) - var(--gj-dock-gap) - 12px));
 min-height:0;max-height:none;overflow:hidden;background:#fff;color:#163c2b;
}
section.gj-visitor-chat[hidden]{display:none!important}
.gj-visitor-chat.gj-keyboard-open{--gj-dock-gap:4px}
.gj-visitor-chat .gj-chat-head{position:relative;flex:none}
.gj-visitor-chat .gj-away-notice{flex:0 1 auto;max-height:28%;overflow:auto;overscroll-behavior:contain}
.gj-visitor-chat .messages{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.gj-visitor-chat .messages .log{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
.gj-visitor-chat .log>p{flex:none}
.gj-visitor-chat .messages form{flex:none;margin-top:6px}
.gj-visitor-chat .messages textarea{height:46px;min-height:42px;max-height:90px;font-size:16px}
.gj-visitor-chat .gj-registration{min-height:0;overflow:auto;overscroll-behavior:contain}
.gj-visitor-chat .gj-registration input{font-size:16px}
@media(max-width:600px){
 section.gj-visitor-chat{width:min(390px,calc(100vw - 16px));right:max(8px,env(safe-area-inset-right));height:min(500px,calc(var(--gj-visible-height,100dvh) * .75),calc(var(--gj-visible-height,100dvh) - var(--gj-dock-gap) - 8px))}
 .gj-visitor-chat .messages{padding:8px 12px}
 .gj-visitor-chat .gj-chat-head{padding:9px 50px 9px 14px}
 .gj-visitor-chat.gj-keyboard-open{height:calc(var(--gj-visible-height,100dvh) - 10px)}
 .gj-visitor-chat.gj-keyboard-open .hint,.gj-visitor-chat.gj-keyboard-open .gj-chat-eyebrow{display:none}
}
