/* Growthmerce WhatsApp operations surfaces. Do not flip flex directions. */
.gm-wa-ops {
  --gm-wa-radius: 8px;
  --gm-wa-border: color-mix(in srgb, var(--border, #243044) 88%, transparent);
  color: hsl(var(--foreground));
  font-size: 14px;
  font-weight: 400;
}
.gm-wa-ops,
.gm-wa-ops * {
  font-variant-numeric: tabular-nums;
}
.gm-wa-ops h1,
.gm-wa-ops h2,
.gm-wa-ops h3,
.gm-wa-pagehead h1 {
  font-weight: 700;
  letter-spacing: -0.02em;
}
.gm-wa-ops .font-black,
.gm-wa-ops .font-extrabold {
  font-weight: 700;
}

.gm-wa-pagehead {
  border-radius: var(--gm-wa-radius);
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border) / 0.7);
}
.gm-wa-pagehead h1 {
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.25;
  margin: 0;
}
.gm-wa-pagehead .gm-wa-desc {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.45;
  color: hsl(var(--muted-foreground));
  max-width: 46rem;
}
.gm-wa-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(var(--primary));
}

.gm-wa-nav {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}
.gm-wa-nav button,
.gm-wa-ops [role="tablist"] button,
.gm-gw-page .gm-wa-nav button {
  height: 36px;
  padding: 0 12px;
  border-radius: var(--gm-wa-radius);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}
.gm-wa-nav button:focus-visible,
.gm-wa-ops button:focus-visible,
.gm-wa-ops [role="tab"]:focus-visible,
.gm-wa-ops a:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 2px;
}

.gm-wa-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  font-size: 12px;
  color: hsl(var(--muted-foreground));
}
.gm-wa-dot {
  width: 8px;
  height: 8px;
  border-radius: 99px;
  display: inline-block;
  flex: none;
}
.gm-wa-dot.is-ok { background: #22c55e; }
.gm-wa-dot.is-wait { background: #eab308; }
.gm-wa-dot.is-info { background: #38bdf8; }
.gm-wa-dot.is-bad { background: #ef4444; }
.gm-wa-live {
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55);
  animation: gm-wa-pulse 2.4s ease-out infinite;
}

.gm-wa-inbox {
  min-height: min(78vh, 920px);
  border-radius: var(--gm-wa-radius);
  overflow: hidden;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border) / 0.7);
}
.gm-wa-official .gm-wa-inbox,
.gm-wa-workspace .rounded-md.min-h-\[72vh\] {
  background: hsl(var(--card));
}

.gm-wa-conv {
  border-color: hsl(var(--border) / 0.55) !important;
}
.gm-wa-conv.is-active {
  background: hsl(var(--primary) / 0.12) !important;
  box-shadow: inset 3px 0 0 hsl(var(--primary));
}
[dir="rtl"] .gm-wa-conv.is-active {
  box-shadow: inset -3px 0 0 hsl(var(--primary));
}
.gm-wa-conv.is-unread .gm-wa-conv-name {
  font-weight: 700;
}
.gm-wa-conv.is-failed {
  box-shadow: inset 3px 0 0 #ef4444;
}

.gm-wa-bubble {
  width: fit-content;
  max-width: min(36rem, 86%);
  min-width: 4.5rem;
  border-radius: var(--gm-wa-radius) !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.gm-wa-ops .group.flex.items-start {
  width: 100%;
}
.gm-wa-ops .group.flex.items-start > div.gm-wa-bubble,
.gm-wa-ops .group.flex.items-start > div.max-w-\[86\%\] {
  width: fit-content;
  max-width: min(36rem, 86%);
  min-width: 4.5rem;
}

.gm-wa-composer {
  background: hsl(var(--card));
  border-top: 1px solid hsl(var(--border) / 0.7);
}
.gm-wa-composer textarea {
  min-height: 44px;
  max-height: 128px;
  font-size: 14px;
  line-height: 1.45;
  border-radius: var(--gm-wa-radius);
}

.gm-wa-kpi {
  border-radius: var(--gm-wa-radius);
  border: 1px solid hsl(var(--border) / 0.7);
  background: hsl(var(--card));
  padding: 14px 16px;
}
.gm-wa-kpi .value {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}

.gm-wa-gateway .gm-wa-warn {
  background: color-mix(in srgb, #eab308 12%, hsl(var(--card)));
  border-color: color-mix(in srgb, #eab308 35%, transparent);
  color: inherit;
  font-size: 12px;
}

.gm-gw-page table,
.gm-wa-ops table {
  font-size: 13px;
}
.gm-gw-page table th,
.gm-wa-ops table th {
  font-size: 11px;
  font-weight: 600;
  color: hsl(var(--muted-foreground));
}

.gm-wa-ops [class*="rounded-2xl"],
.gm-wa-ops [class*="rounded-3xl"],
.gm-wa-ops [class*="rounded-xl"] {
  border-radius: var(--gm-wa-radius) !important;
}

@media (prefers-reduced-motion: reduce) {
  .gm-wa-live { animation: none; }
}
@keyframes gm-wa-pulse {
  70% { box-shadow: 0 0 0 8px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}

.gm-wa-ch-cloud {
  border-color: #16a34a !important;
  color: #166534 !important;
  background: #dcfce7 !important;
}
.gm-wa-ch-gw {
  border-color: #7c3aed !important;
  color: #5b21b6 !important;
  background: #ede9fe !important;
}
.gm-wa-day {
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  color: hsl(var(--foreground) / 0.72);
  margin: 10px 0 6px;
}
.gm-wa-conv-phone {
  letter-spacing: 0.01em;
}
.gm-wa-composer {
  position: sticky;
  bottom: 0;
  z-index: 2;
}

@media (max-width: 1023.98px) {
  .gm-wa-ops { overflow-x: hidden; }
  .gm-wa-inbox { min-height: 0; }
  .gm-wa-bubble,
  .gm-wa-ops .group.flex.items-start > div.max-w-\[86\%\] {
    max-width: min(36rem, 92%);
  }
}
@media (max-width: 767.98px) {
  .gm-wa-ops,
  .gm-wa-thread,
  .gm-wa-inbox { overflow-x: hidden; }
  .gm-wa-conv-name,
  .gm-wa-conv-phone { max-width: 100%; }
  .gm-wa-bubble { max-width: min(36rem, calc(100vw - 3rem)) !important; }
}
@media (max-width: 430px) {
  .gm-wa-conv-phone { font-size: 12px !important; color: hsl(var(--foreground)) !important; }
}

html:not(.dark) .gm-wa-ops {
  --gm-wa-border: #d7dee8;
}
html:not(.dark) .gm-wa-pagehead,
html:not(.dark) .gm-wa-inbox {
  background: #fff;
  border-color: #d7dee8;
}
html:not(.dark) .gm-wa-conv.is-active {
  background: #e8f1ff !important;
}
html.dark .gm-wa-pagehead,
html.dark .gm-wa-inbox,
html.dark .gm-wa-kpi {
  background: color-mix(in srgb, hsl(var(--card)) 92%, #07111f);
}
html.dark .gm-wa-ops {
  color: #e8eef7;
}
html.dark .gm-wa-pagehead .gm-wa-desc,
html.dark .gm-wa-strip {
  color: #b7c2d4;
}
html.dark .gm-wa-ops button {
  color: inherit;
}
