/* Shared base styles across all watobot pages. */

.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.whatsapp-shadow {
  box-shadow: 0px 4px 12px rgba(11, 20, 26, 0.08);
}

.whatsapp-border {
  border-left: 4px solid #25D366;
}

.modal-overlay {
  backdrop-filter: blur(4px);
  background-color: rgba(25, 28, 30, 0.4);
}

.custom-scrollbar::-webkit-scrollbar { width: 4px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #bbcbb9; border-radius: 10px; }

.step-active { opacity: 1; pointer-events: auto; }
.step-disabled { opacity: 0.5; pointer-events: none; filter: grayscale(1); }

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Semantic aliases for the most-repeated Tailwind utility combos across the
   dashboard/marketing page templates (views/) — collapses e.g.
   `class="bg-surface-container-lowest rounded-xl border border-outline-variant
   shadow-sm overflow-hidden flex flex-col"` into `class="card"`. Values are
   hand-copied from the color/type tokens in theme.js, since the Tailwind CDN
   build doesn't support @apply. Deliberately does NOT cover any combo that
   includes a utility class toggled dynamically via classList (e.g. `hidden`,
   `text-on-surface-variant` on nav links) — those must stay as literal
   Tailwind classes for JS to find. */

.card {
  background-color: #ffffff; /* surface-container-lowest */
  border-radius: 0.5rem; /* rounded-xl */
  border: 1px solid #bbcbb9; /* outline-variant */
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); /* shadow-sm */
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.section-title {
  font-family: 'Plus Jakarta Sans', sans-serif; /* font-headline-md */
  font-size: 20px;
  line-height: 28px;
  font-weight: 600; /* text-headline-md */
}

.label-strong {
  font-family: 'Inter', sans-serif; /* font-label-md */
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0.05em;
  font-weight: 700; /* font-bold overrides the label-md preset's 600 */
  color: #191c1e; /* on-surface */
}

.label-muted {
  font-family: 'Inter', sans-serif; /* font-label-md */
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0.05em;
  font-weight: 600;
  color: #8b948c; /* faded on-surface-variant — lightened so muted text actually reads as muted against on-surface's #191c1e, not just differently-hued */
}

.text-muted {
  color: #8b948c; /* faded on-surface-variant — lightened so muted text actually reads as muted against on-surface's #191c1e, not just differently-hued */
  font-family: 'Inter', sans-serif; /* font-body-md */
}

.text-muted-sm {
  color: #8b948c; /* faded on-surface-variant — lightened so muted text actually reads as muted against on-surface's #191c1e, not just differently-hued */
  font-family: 'Inter', sans-serif; /* font-body-md */
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
}

.text-body-muted {
  color: #8b948c; /* faded on-surface-variant — lightened so muted text actually reads as muted against on-surface's #191c1e, not just differently-hued */
  font-size: 14px;
  line-height: 20px;
  font-weight: 400; /* text-body-md */
}
