.ca-live {
  --ca-red: #b31136;
  --ca-ink: #1e1c20;
  --ca-line: #ded9da;
  --ca-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  position: fixed;
  z-index: 90;
  inset: auto calc(14px + env(safe-area-inset-right, 0px)) var(--ca-bottom) auto;
  font: 500 14px/1.4 system-ui, sans-serif;
  color: var(--ca-ink);
}
.ca-live [hidden] { display: none !important; }
.ca-live *, .ca-live *::before, .ca-live *::after { box-sizing: border-box; }
.ca-live-actions { display: flex; justify-content: end; gap: 8px; }
.ca-live-actions > * {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  padding: 8px 13px;
  border: 0;
  border-radius: 24px;
  box-shadow: 0 3px 12px #17171b38;
  font: 700 13px/1.25 system-ui, sans-serif;
  white-space: nowrap;
  text-decoration: none;
  color: #fff;
}
.ca-live-actions svg { width: 19px; height: 19px; flex: none; }
.ca-live-actions .ca-live-whatsapp { background: #176749; color: #fff; }
.ca-live-actions .ca-live-toggle, .ca-live-send { background: var(--ca-red); color: #fff; }
.ca-live-actions [aria-disabled="true"] { opacity: .7; }
.ca-live button, .ca-live a { cursor: pointer; }
.ca-live :focus-visible { outline: 2px solid #ec5576; outline-offset: 2px; }
.ca-live-panel {
  position: absolute;
  inset: auto 0 calc(100% + 9px) auto;
  display: flex;
  flex-direction: column;
  width: min(360px, calc(100vw - 28px));
  max-height: min(540px, calc(var(--ca-live-viewport, 100vh) - 96px));
  border: 1px solid var(--ca-line);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 32px #17171b32;
}
.ca-live-heading { display: flex; justify-content: space-between; align-items: center; padding: 3px 7px 3px 14px; background: var(--ca-ink); color: #fff; }
.ca-live-heading h2 { margin: 0; font: 750 17px/1.3 system-ui, sans-serif; color: inherit; }
.ca-live-heading button { width: 44px; min-height: 44px; border: 0; border-radius: 5px; background: transparent; color: inherit; font: 400 27px/1 system-ui, sans-serif; }
.ca-live-heading button:hover { background: #ffffff22; }
.ca-live-body { display: flex; flex-direction: column; padding: 12px; min-height: 0; overflow: auto; }
.ca-live-intro, .ca-live-status { margin: 0; color: #544c50; font-size: 13px; }
.ca-live-status:not(:empty) { margin-top: 5px; }
.ca-live-messages { display: grid; gap: 6px; list-style: none; min-height: 0; max-height: 260px; padding: 0; margin: 8px 0; overflow: auto; overscroll-behavior: contain; }
.ca-live-messages li { margin: 0; border-radius: 6px; background: #f8eef0; padding: 7px 9px; overflow-wrap: anywhere; }
.ca-live-messages .ca-live-from-support { background: #edf3ef; }
.ca-live-messages p { margin: 2px 0 0; white-space: pre-wrap; }
.ca-live-form { margin: 0; }
.ca-live-form label { display: block; margin-bottom: 4px; font-weight: 750; }
.ca-live-compose { display: flex; align-items: end; gap: 7px; }
.ca-live-form textarea { flex: 1; width: 0; min-width: 0; min-height: 48px; padding: 7px; resize: vertical; border: 1px solid #91888e; border-radius: 5px; background: #fff; color: var(--ca-ink); font: 400 16px/1.3 system-ui, sans-serif; }
.ca-live-send { min-height: 44px; padding: 8px 13px; border: 0; border-radius: 5px; font: 700 14px/1 system-ui, sans-serif; }
.ca-live-send:disabled { opacity: .65; cursor: wait; }
.cabinarc-live-theme .contact-dock { display: none; }
@media (max-width: 760px) {
  .cabinarc-live-theme .ca-live { --ca-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .cabinarc-live-theme .mobile-contact { grid-template-columns: 1fr; }
  .cabinarc-live-theme .mobile-contact > .mobile-message { display: none; }
  .ca-live-actions { gap: 6px; }
  .ca-live-actions > * { padding-inline: 10px; }
  .ca-live-panel {
    position: fixed;
    inset: auto max(10px, env(safe-area-inset-right, 0px)) max(calc(var(--ca-bottom) + 52px), calc(var(--ca-live-keyboard, 0px) + 8px)) auto;
    width: min(360px, calc(100vw - max(10px, env(safe-area-inset-right, 0px)) - max(10px, env(safe-area-inset-left, 0px))));
    max-height: min(520px, calc(100dvh - var(--ca-bottom) - 64px), calc(var(--ca-live-viewport, 100dvh) - 16px));
  }
}
