/* Visual-only layer over the existing assistant: no chat or CRM logic here. */
#cyber-ai-root.ca-visual .ca-launcher {
  right: max(18px, env(safe-area-inset-right));
  bottom: calc(92px + env(safe-area-inset-bottom));
  min-width: 268px;
  height: 78px;
  padding: 7px 20px 7px 7px;
  border: 1px solid #57cce9;
  border-radius: 42px;
  background: linear-gradient(115deg, #071827, #10405c);
  box-shadow: 0 15px 35px #020d19a8, 0 0 0 4px #36c5f01f;
  animation: cyber-secretary-float 5s ease-in-out infinite;
}
#cyber-ai-root.ca-visual .ca-launcher[hidden] { display: none; }
#cyber-ai-root.ca-visual .ca-launcher:hover,
#cyber-ai-root.ca-visual .ca-launcher:focus-visible {
  animation-play-state: paused;
  transform: translateY(-4px) scale(1.025);
  box-shadow: 0 18px 42px #020d19b8, 0 0 0 6px #36c5f038;
}
#cyber-ai-root.ca-visual .ca-launcher-icon {
  width: 64px;
  height: 64px;
  border: 2px solid #9beaff;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 23%;
  background: #071827;
  filter: none;
}
#cyber-ai-root.ca-visual .ca-launcher-title {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}
#cyber-ai-root.ca-visual .ca-launcher-subtitle { color: #a5eaff; font-size: 11px; }
#cyber-ai-root.ca-visual .ca-launcher-live { top: 11px; right: 13px; }
#cyber-ai-root.ca-visual .ca-visual-invitation {
  position: absolute;
  right: 4px;
  bottom: calc(100% + 15px);
  width: max-content;
  max-width: min(280px, calc(100vw - 38px));
  padding: 9px 35px 9px 15px;
  border: 1px solid #82dff7;
  border-radius: 13px 13px 3px 13px;
  color: #081d2d;
  background: #ecfaff;
  box-shadow: 0 8px 24px #0007;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  pointer-events: none;
  animation: cyber-secretary-appear .35s ease-out both;
}
#cyber-ai-root.ca-visual .ca-visual-dismiss {
  position: fixed;
  right: 18px;
  bottom: calc(181px + env(safe-area-inset-bottom));
  z-index: 2147483002;
  width: 30px;
  height: 30px;
  border: 1px solid #7ccce0;
  border-radius: 50%;
  color: #133548;
  background: #ecfaff;
  box-shadow: 0 3px 12px #0005;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
}
#cyber-ai-root.ca-visual.ca-invitation-dismissed .ca-visual-invitation,
#cyber-ai-root.ca-visual.ca-invitation-dismissed .ca-visual-dismiss,
#cyber-ai-root.ca-visual.ca-invitation-expired .ca-visual-invitation,
#cyber-ai-root.ca-visual.ca-invitation-expired .ca-visual-dismiss,
#cyber-ai-root.ca-visual .ca-launcher[hidden] ~ .ca-visual-dismiss { display: none; }
#cyber-ai-root.ca-visual .ca-panel { bottom: calc(92px + env(safe-area-inset-bottom)); }
#cyber-ai-root.ca-visual .ca-header {
  background: #09263a;
  border-bottom-color: #36c5f0;
}
#cyber-ai-root.ca-visual .ca-avatar,
#cyber-ai-root.ca-visual .ca-mini {
  overflow: hidden;
  border: 1px solid #6bdbf6;
  border-radius: 50%;
  background: #09263a;
}
#cyber-ai-root.ca-visual .ca-avatar { width: 46px; height: 46px; }
#cyber-ai-root.ca-visual .ca-avatar img,
#cyber-ai-root.ca-visual .ca-mini img {
  width: 100%; height: 100%; object-fit: cover; object-position: center 23%;
}
#cyber-ai-root.ca-visual .ca-mini { width: 28px; height: 28px; }
#cyber-ai-root.ca-visual .ca-send,
#cyber-ai-root.ca-visual .ca-primary { background: #116c9d; color: #fff; box-shadow: none; }
#cyber-ai-root.ca-visual .ca-send:hover,
#cyber-ai-root.ca-visual .ca-primary:hover { background: #0c5279; }
#cyber-ai-root.ca-visual .ca-link { color: #075e88; }
#cyber-ai-root.ca-visual .ca-user .ca-bubble { background: #0d3652; }
#cyber-ai-root.ca-visual .ca-visual-suggestion {
  display: block;
  min-height: 44px;
  margin: 9px 0 14px 36px;
  padding: 9px 13px;
  border: 1px solid #31a7d4;
  border-radius: 12px;
  color: #0a4567;
  background: #e9f8ff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
}
#cyber-ai-root.ca-visual .ca-visual-suggestion:hover { background: #d3f0fc; }
#cyber-ai-root.ca-visual .ca-visual-dismiss:focus-visible,
#cyber-ai-root.ca-visual .ca-visual-suggestion:focus-visible { outline: 3px solid #36c5f0; outline-offset: 2px; }
@keyframes cyber-secretary-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes cyber-secretary-appear { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 640px) {
  #cyber-ai-root.ca-visual .ca-launcher {
    right: 12px;
    bottom: calc(82px + env(safe-area-inset-bottom));
    min-width: 0;
    width: 72px;
    height: 72px;
    padding: 4px;
    border-radius: 50%;
  }
  #cyber-ai-root.ca-visual .ca-launcher-icon { width: 62px; height: 62px; }
  #cyber-ai-root.ca-visual .ca-visual-dismiss { right: 10px; bottom: calc(166px + env(safe-area-inset-bottom)); }
  #cyber-ai-root.ca-visual .ca-panel { right: 8px; bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  #cyber-ai-root.ca-visual .ca-launcher,
  #cyber-ai-root.ca-visual .ca-visual-invitation { animation: none !important; transition: none !important; }
}
