*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg-main: #0F1117;
  --bg-sidebar: #171A24;
  --bg-card: #1E2230;
  --bg-active: #252A3A;
  --primary: #6C63FF;
  --primary-hover: #7A72FF;
  --relationship: #22C55E;
  --whatsapp: #25D366;
  --process: #38BDF8;
  --document: #F59E0B;
  --danger: #EF4444;
  --success: #22C55E;
  --text-main: #F8FAFC;
  --text-muted: #94A3B8;
  --border-soft: rgba(255,255,255,0.08);
  --bg: var(--bg-main);
  --surface: var(--bg-sidebar);
  --surface2: var(--bg-card);
  --surface3: #252A3A;
  --border: #2B3244;
  --text: var(--text-main);
  --radius: 10px;
}

body[data-theme="light"] {
  --bg-main: #F8FAFC;
  --bg-sidebar: #FFFFFF;
  --bg-card: #FFFFFF;
  --bg-active: #EEF2FF;
  --primary: #2563EB;
  --primary-hover: #1D4ED8;
  --relationship: #16A34A;
  --whatsapp: #16A34A;
  --process: #0284C7;
  --document: #D97706;
  --danger: #DC2626;
  --success: #16A34A;
  --text-main: #0F172A;
  --text-muted: #64748B;
  --border-soft: rgba(15,23,42,0.10);
  --bg: #F8FAFC;
  --surface: #FFFFFF;
  --surface2: #F1F5F9;
  --surface3: #E2E8F0;
  --border: #CBD5E1;
  --text: #0F172A;
}

/* =====================================================================
   BARRAS DE ROLAGEM — visual global compatível com o tema escuro.
   Usa cores semitransparentes (funcionam sobre qualquer fundo) e um
   thumb fino e arredondado. Estilos específicos por componente (ex.:
   .wpp-chat-body, .kanban-board-wrapper) continuam tendo prioridade.
   ===================================================================== */
* {
  scrollbar-width: thin;                               /* Firefox */
  scrollbar-color: rgba(255,255,255,.18) transparent;  /* thumb / track */
}
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.16);
  border-radius: 8px;
  border: 2px solid transparent;   /* cria um respiro ao redor do thumb */
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(255,255,255,.30);
  background-clip: padding-box;
}
::-webkit-scrollbar-corner { background: transparent; }

/* Tema claro: thumb escuro semitransparente para contraste. */
body[data-theme="light"] * {
  scrollbar-color: rgba(15,23,42,.28) transparent;
}
body[data-theme="light"] ::-webkit-scrollbar-thumb {
  background: rgba(15,23,42,.24);
  background-clip: padding-box;
}
body[data-theme="light"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(15,23,42,.38);
  background-clip: padding-box;
}

body {
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(108,99,255,.12), transparent 28%),
    linear-gradient(180deg, #0f1117 0%, #0b0d13 100%);
  color: var(--text);
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

body[data-theme="light"] {
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.10), transparent 30%),
    linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}

/* ========== PAGES ========== */
.page { display: none; width: 100%; }
.page.active { display: flex; align-items: center; justify-content: center; min-height: 100vh; }
.page-admin.active {
  align-items: flex-start;
  justify-content: stretch;
  min-height: 100vh;
  max-height: 100vh;
  overflow: hidden;
}

/* ========== AUTH CARD ========== */
.auth-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 40px;
  width: 100%;
  max-width: 440px;
  box-shadow: 0 8px 32px rgba(0,0,0,.4);
}

.auth-card h1 {
  font-size: 1.6rem;
  margin-bottom: 6px;
  text-align: center;
}

.auth-card .subtitle {
  color: var(--text-muted);
  text-align: center;
  margin-bottom: 28px;
  font-size: .9rem;
}

.auth-footer-note {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--border-soft);
  text-align: center;
  color: var(--text-muted);
  font-size: .72rem;
  line-height: 1.55;
  letter-spacing: .01em;
}

.auth-footer-note p + p {
  margin-top: 4px;
}

.auth-footer-note-brand {
  color: var(--text);
  font-weight: 600;
}

.auth-footer-note a {
  color: var(--primary);
  text-decoration: none;
  font-weight: 500;
}

.auth-footer-note a:hover {
  text-decoration: underline;
}

/* ========== FORMS ========== */
.form-group { margin-bottom: 18px; }
.form-group label {
  display: block;
  margin-bottom: 6px;
  font-size: .85rem;
  color: var(--text-muted);
  font-weight: 500;
}

input, select {
  width: 100%;
  padding: 10px 14px;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text);
  font-size: .95rem;
  outline: none;
  transition: border-color .2s;
}
input[type="checkbox"],
input[type="radio"] {
  width: auto;
  padding: 0;
  flex-shrink: 0;
}

input:focus { border-color: var(--primary); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: 6px;
  border: none;
  font-size: .95rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s, transform .1s;
  color: #fff;
}

.btn:active { transform: scale(.97); }
.btn:disabled {
  opacity: .45;
  cursor: not-allowed;
  transform: none;
}
.btn-primary { background: var(--primary); }
.btn-primary:hover { background: var(--primary-hover); }
.btn-danger { background: var(--danger); }
.btn-danger:hover { background: #c0392b; }
.btn-success { background: var(--success); }
.btn-block { width: 100%; }
.btn-sm { padding: 6px 14px; font-size: .85rem; }

.alert {
  padding: 10px 14px;
  border-radius: 6px;
  margin-bottom: 16px;
  font-size: .9rem;
}
.alert-error { background: rgba(231,76,60,.15); color: #e74c3c; border: 1px solid rgba(231,76,60,.3); }
.alert-success { background: rgba(39,174,96,.15); color: #27ae60; border: 1px solid rgba(39,174,96,.3); }

.link { color: var(--primary); cursor: pointer; text-decoration: underline; }
.text-center { text-align: center; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mb-8 { margin-bottom: 8px; }
.hidden { display: none !important; }

/* ========== ADMIN LAYOUT ========== */
.admin-layout {
  display: flex;
  min-height: 100vh;
  height: 100vh;
  width: 100%;
  overflow: hidden;
}

.sidebar {
  width: 274px;
  background: var(--bg-sidebar);
  border-right: 1px solid var(--border);
  padding: 10px 0 8px;
  display: flex;
  flex-direction: column;
  box-shadow: inset -1px 0 0 rgba(255,255,255,.03);
  height: 100vh;
  min-height: 0;
  overflow: hidden;
}

.sidebar .logo {
  padding: 0 14px 10px;
  border-bottom: 1px solid var(--border-soft);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-main);
}

.sidebar nav {
  flex: 1;
  padding: 6px 8px 6px;
  overflow-y: auto;
}

/* ---- Grupos de categoria ---- */
.sidebar-group {
  margin-bottom: 2px;
}
.sidebar-group + .sidebar-group {
  margin-top: 2px;
}
.sidebar-group.daily-operation {
  margin: 0 4px 6px;
  padding: 6px 6px 8px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01));
  border: 1px solid var(--border-soft);
  box-shadow: 0 16px 32px rgba(0,0,0,.18);
}
.sidebar-group.secondary-group {
  margin-left: 4px;
  margin-right: 4px;
}

/* Cabeçalho da categoria: faixa destacada, separada dos itens */
.sidebar-group-title {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 4px 6px 2px;
  padding: 2px 4px;
  background: transparent;
  border-left: none;
  border-radius: 0;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(148,163,184,.86);
  opacity: .92;
  user-select: none;
  pointer-events: none;
}
.sidebar-group.daily-operation > .sidebar-group-title {
  margin: 0 2px 6px;
  padding: 0 4px;
  font-size: .7rem;
  color: var(--text-main);
  letter-spacing: .14em;
}

/* Itens dentro do grupo: recuados para mostrar pertencimento */
.sidebar-group a[data-section],
.sidebar-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 6px 10px;
  color: var(--text-muted);
  text-decoration: none;
  font-size: .86rem;
  font-weight: 500;
  transition: background .2s ease, color .2s ease, transform .18s ease, border-color .2s ease, box-shadow .2s ease;
  border-left: 3px solid transparent;
  margin: 1px 0;
  border-radius: 8px;
  position: relative;
}
.sidebar-group:not(.daily-operation) > a[data-section] {
  padding-left: 12px;
}
.sidebar-group a[data-section]:hover,
.sidebar-item:hover {
  background: rgba(255,255,255,.05);
  color: var(--text-main);
  transform: translateX(1px);
}
.sidebar-group a[data-section].active,
.sidebar-item.active {
  color: var(--text-main);
  font-weight: 600;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.sidebar-item.relationship.active {
  background: linear-gradient(90deg, rgba(34,197,94,0.18), rgba(255,255,255,0.03));
  border-left-color: var(--relationship);
}
.sidebar-item.process.active {
  background: linear-gradient(90deg, rgba(56,189,248,0.18), rgba(255,255,255,0.03));
  border-left-color: var(--process);
}
.sidebar-item.document.active {
  background: linear-gradient(90deg, rgba(245,158,11,0.18), rgba(255,255,255,0.03));
  border-left-color: var(--document);
}
.sidebar-item.system.active,
.sidebar-item.task.active {
  background: linear-gradient(90deg, rgba(108,99,255,0.18), rgba(255,255,255,0.03));
  border-left-color: var(--primary);
}
.sidebar-item.task.active {
  background: linear-gradient(90deg, rgba(239,68,68,0.14), rgba(255,255,255,0.03));
  border-left-color: var(--danger);
}

/* Manter compatibilidade para links fora de grupos (não deve ter) */
.sidebar nav > a {
  display: block;
  padding: 9px 20px;
  color: var(--text-muted);
  text-decoration: none;
  font-size: .88rem;
  transition: all .15s;
}
.sidebar nav > a:hover,
.sidebar nav > a.active {
  background: var(--surface2);
  color: var(--text);
}

/* Tema WhatsApp para a página de Grupos */
.main-content.groups-wa-theme {
  background: linear-gradient(180deg, rgba(37, 211, 102, 0.04) 0%, rgba(0, 0, 0, 0) 55%);
}
.main-content.groups-wa-theme h2 {
  color: #25D366;
  border-bottom-color: rgba(37, 211, 102, 0.35);
}
.main-content.groups-wa-theme .group-card {
  border-color: rgba(37, 211, 102, 0.45) !important;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.08);
}
.main-content.groups-wa-theme .group-header {
  background: linear-gradient(180deg, rgba(37, 211, 102, 0.08) 0%, rgba(37, 211, 102, 0.02) 100%);
}
.main-content.groups-wa-theme .gtl-bar {
  border-color: rgba(37, 211, 102, 0.35) !important;
}
.main-content.groups-wa-theme .gtl-title {
  background: linear-gradient(135deg, #128C7E, #25D366) !important;
}
.main-content.groups-wa-theme .gtl-line-fill {
  background: linear-gradient(90deg, #128C7E, #25D366) !important;
}

/* ========== WA STATUS BAR ========== */
#wa-status-bar {
  padding: 6px 14px;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 2px;
  cursor: pointer;
  user-select: none;
  transition: background .15s;
  position: relative;
  overflow: visible;
}
#wa-status-bar:hover { background: rgba(255,255,255,.04); }
#wa-status-bar.show-offline-hint::before {
  content: '';
  position: absolute;
  left: 22px;
  top: -10px;
  width: 14px;
  height: 14px;
  background: linear-gradient(135deg, #f97316, #ef4444);
  border-left: 1px solid rgba(251, 191, 36, .45);
  border-top: 1px solid rgba(251, 191, 36, .45);
  transform: rotate(45deg);
  box-shadow: -4px -4px 18px rgba(0,0,0,.18);
  z-index: 2;
}
#wa-status-bar.show-offline-hint::after {
  content: attr(data-offline-hint);
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: calc(100% + 12px);
  padding: 10px 12px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(249,115,22,.98), rgba(239,68,68,.98));
  color: #fff7ed;
  font-size: .72rem;
  line-height: 1.4;
  font-weight: 700;
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
  border: 1px solid rgba(251, 191, 36, .45);
  pointer-events: none;
  z-index: 3;
}
#wa-status-bar-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.wa-status-chevron {
  color: var(--text-muted);
  font-size: .8rem;
  line-height: 1;
  transition: transform .2s ease;
  flex-shrink: 0;
}
#wa-status-bar.expanded .wa-status-chevron { transform: rotate(180deg); }
/* Itens do rodapé recolhidos por padrão; aparecem ao expandir o status. */
#sidebar-footer-extra { display: none; }
#wa-status-bar.expanded + #sidebar-footer-extra { display: block; }
#wa-status-indicator {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--text);
}
#wa-status-text {
  display: inline-flex;
  align-items: center;
}
#wa-status-text.wa-status-connecting::before {
  content: '';
  width: 11px;
  height: 11px;
  margin-right: 6px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.22);
  border-top-color: #22c55e;
  animation: waSpin 0.8s linear infinite;
}
.wa-led {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 0 2px rgba(0,0,0,.3);
}
.wa-led-on {
  background: #22c55e;
  box-shadow: 0 0 6px 2px rgba(34,197,94,.5);
  animation: waLedPulse 2.4s ease-in-out infinite;
}
.wa-led-off {
  background: #ef4444;
  box-shadow: 0 0 4px 1px rgba(239,68,68,.4);
}
@keyframes waLedPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .55; }
}
@keyframes waSpin {
  to { transform: rotate(360deg); }
}
#wa-phone-number {
  font-size: .68rem;
  color: var(--text-muted);
  padding-left: 16px;
  letter-spacing: .02em;
}

/* ========== WA MAINTENANCE PANEL (superadmin) ========== */
#wa-maintenance-panel {
  padding: 8px 12px 10px;
  border-top: 1px solid var(--border);
  background: rgba(99,102,241,.06);
}
.wa-maintenance-title {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 7px;
  opacity: .9;
  text-align: left;
}
.wa-maintenance-title:hover { opacity: 1; }
.wa-maintenance-title[aria-expanded="true"] span { transform: rotate(180deg); }
.wa-maintenance-title span { transition: transform .15s; }
.wa-maintenance-btn {
  display: block;
  width: 100%;
  padding: 6px 10px;
  margin-bottom: 5px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--surface2);
  color: var(--text);
  font-size: .75rem;
  cursor: pointer;
  text-align: left;
  transition: background .15s, border-color .15s;
}
.wa-maintenance-btn:hover { background: var(--surface3, rgba(255,255,255,.06)); border-color: var(--primary); }
.wa-maintenance-btn:disabled { opacity: .5; cursor: not-allowed; }
.wa-btn-danger { border-color: rgba(239,68,68,.35); color: #f87171; }
.wa-btn-danger:hover { background: rgba(239,68,68,.1); border-color: #ef4444; }
#wa-qrcode-container {
  margin-top: 8px;
  text-align: center;
}
.wa-qr-label {
  font-size: .68rem;
  color: var(--text-muted);
  margin-bottom: 6px;
}
#wa-qrcode-img {
  width: 180px;
  height: 180px;
  border-radius: 8px;
  border: 2px solid var(--border);
  background: #fff;
  display: block;
  margin: 0 auto;
}

.sidebar .user-info {
  padding: 8px 14px 4px;
  border-top: 1px solid var(--border-soft);
  font-size: .8rem;
  color: var(--text-muted);
  background: linear-gradient(180deg, rgba(255,255,255,.02), transparent);
}
.sidebar .user-info .name { color: var(--text); font-weight: 600; }

.main-content {
  flex: 1;
  padding: 16px 22px 20px;
  overflow-y: auto;
  min-height: 0;
  height: 100vh;
  background:
    radial-gradient(circle at top right, rgba(56,189,248,.08), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,0));
}

.main-content h2 {
  font-size: 1.35rem;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-soft);
  color: var(--text-main);
}

body[data-theme="light"] .sidebar {
  box-shadow: 1px 0 24px rgba(15,23,42,.06);
}
body[data-theme="light"] .sidebar-group.daily-operation {
  background: linear-gradient(180deg, rgba(37,99,235,.055), rgba(255,255,255,.92));
  box-shadow: 0 12px 26px rgba(15,23,42,.06);
}
body[data-theme="light"] .sidebar-group a[data-section]:hover,
body[data-theme="light"] .sidebar-item:hover {
  background: rgba(37,99,235,.07);
  color: var(--text-main);
}
body[data-theme="light"] .sidebar-item.relationship.active {
  background: linear-gradient(90deg, rgba(22,163,74,.13), rgba(255,255,255,.72));
}
body[data-theme="light"] .sidebar-item.process.active {
  background: linear-gradient(90deg, rgba(2,132,199,.13), rgba(255,255,255,.72));
}
body[data-theme="light"] .sidebar-item.document.active {
  background: linear-gradient(90deg, rgba(217,119,6,.13), rgba(255,255,255,.72));
}
body[data-theme="light"] .sidebar-item.system.active,
body[data-theme="light"] .sidebar-item.task.active {
  background: linear-gradient(90deg, rgba(37,99,235,.13), rgba(255,255,255,.72));
}
body[data-theme="light"] #wa-maintenance-panel {
  background: rgba(37,99,235,.06);
}
body[data-theme="light"] .main-content {
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(248,250,252,.98));
}
body[data-theme="light"] .auth-card,
body[data-theme="light"] .modal,
body[data-theme="light"] .send-card-modal,
body[data-theme="light"] .settings-system-card {
  box-shadow: 0 18px 44px rgba(15,23,42,.10) !important;
}
body[data-theme="light"] .modal-overlay,
body[data-theme="light"] .send-card-overlay {
  background: rgba(15,23,42,.38);
}

/* ========== TABLE ========== */
.table-wrap { overflow-x: auto; }
table {
  width: 100%;
  border-collapse: collapse;
}
th, td {
  padding: 10px 14px;
  text-align: left;
  border-bottom: 1px solid var(--border);
  font-size: .9rem;
}
th {
  background: var(--surface2);
  color: var(--text-muted);
  font-weight: 600;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.actions { display: flex; gap: 6px; }

/* ========== MODAL ========== */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
}
.modal {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 32px;
  width: 100%;
  max-width: 440px;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
}
.modal h3 { margin-bottom: 20px; }

.imob-layout {
  width: 100%;
}

@media (max-width: 1024px) {
  .imob-layout {
    flex-direction: column;
  }
  .imob-list-col,
  .imob-detail-col {
    min-width: 0 !important;
    width: 100%;
    flex: 1 1 100% !important;
  }
  .lead-grid-4,
  .lead-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ========== RESPONSIVE ========== */
@media (max-width: 768px) {
  .admin-layout { flex-direction: column; }
  .sidebar { width: 100%; height: auto; padding: 10px 0; }
  .sidebar .logo { padding: 0 14px 12px; border-bottom: 1px solid var(--border); }
  .sidebar nav { display: block; max-height: 44vh; overflow-y: auto; }
  .sidebar-group { margin-bottom: 2px; }
  .sidebar-group-title {
    margin: 8px 10px 2px;
    padding: 4px 8px;
    font-size: .62rem;
  }
  .sidebar-group a[data-section] {
    margin-left: 10px;
    padding: 8px 12px 8px 22px;
    font-size: .84rem;
  }
  .sidebar .user-info { display: none; }
  #wa-status-bar { padding: 7px 12px; }
  #wa-maintenance-panel { padding: 6px 10px 8px; }
  #wa-qrcode-img { width: 140px; height: 140px; }
  .main-content { padding: 14px; height: auto; }
  .auth-card { margin: 20px; }
  .auth-footer-note { font-size: .69rem; }
  .lead-grid {
    gap: 8px !important;
  }
  .lead-grid-4,
  .lead-grid-3,
  .lead-grid-2 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .main-content {
    padding: 10px;
    height: auto;
  }
  .auth-card {
    margin: 12px;
    padding: 24px 16px;
  }
  .auth-footer-note {
    margin-top: 18px;
    padding-top: 14px;
    font-size: .67rem;
    line-height: 1.45;
  }
  .sidebar {
    height: auto;
    padding: 6px 0;
  }
  .sidebar .logo {
    padding: 0 10px 10px;
  }
  .sidebar nav {
    max-height: 48vh;
  }
  .sidebar-group-title {
    margin: 7px 8px 2px;
    padding: 3px 7px;
    font-size: .58rem;
  }
  .sidebar-group a[data-section] {
    margin-left: 8px;
    padding: 7px 10px 7px 20px;
    font-size: .81rem;
  }
  .modal {
    padding: 18px 14px;
    max-height: calc(100vh - 20px);
  }
}

@media (max-width: 360px) {
  .main-content {
    padding: 8px;
  }
  .auth-card {
    margin: 8px;
    padding: 18px 12px;
  }
  .auth-footer-note {
    font-size: .64rem;
  }
  .btn {
    padding: 9px 14px;
    font-size: .88rem;
  }
  .sidebar nav a {
    font-size: .78rem;
    padding: 7px 8px;
  }
  input,
  select {
    padding: 9px 10px;
    font-size: .9rem;
  }
}

/* ========== SPINNER ========== */
.spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid var(--border);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: spin .6s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ========== WHATSAPP CHAT MODAL ========== */
.wpp-chat-modal {
  width: 95%;
  max-width: 650px;
  height: 92vh;
  max-height: 900px;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 32px rgba(0,0,0,.3);
}

.wpp-chat-header {
  background: #f0f2f5;
  padding: 10px 16px 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-bottom: 1px solid #d1d7db;
}

.wpp-chat-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.wpp-chat-header-info {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
}

.wpp-chat-header-info > div {
  min-width: 0;
  overflow: hidden;
}

.wpp-chat-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wpp-chat-header-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

@media (max-width: 480px) {
  .wpp-chat-header-actions {
    gap: 4px;
  }
  .wpp-chat-header-actions .btn {
    font-size: .7rem !important;
    padding: 5px 7px !important;
    gap: 3px !important;
  }
  .wpp-chat-header-actions .btn svg {
    width: 11px !important;
    height: 11px !important;
  }
}

.wpp-chat-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #00a884;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.1rem;
}

.wpp-chat-title {
  color: var(--text-main, #F8FAFC);
  font-weight: 600;
  font-size: .95rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wpp-chat-subtitle {
  color: var(--text-muted, #94a3b8);
  font-size: .75rem;
}

.wpp-chat-close {
  background: none;
  border: none;
  color: #54656f;
  font-size: 28px;
  cursor: pointer;
  line-height: 1;
  padding: 0 4px;
}
.wpp-chat-close:hover { color: #111b21; }

.wpp-chat-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 12px;
  background-color: #efeae2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='none' stroke='%23d4cec3' stroke-width='1.1' opacity='.35'%3E%3Ccircle cx='30' cy='28' r='8'/%3E%3Crect x='66' y='22' width='16' height='11' rx='3'/%3E%3Cpath d='M68 33l-4 4 8-4'/%3E%3Cpath d='M115 22l7 8-7 8-7-8z'/%3E%3Cpath d='M168 22h12l-6 11z'/%3E%3Cpath d='M214 26c0-5 7-5 7 0 0-5 7-5 7 0 0 7-7 12-7 12s-7-5-7-12z'/%3E%3Cpath d='M20 78h18v12H20z'/%3E%3Ccircle cx='74' cy='84' r='9'/%3E%3Cpath d='M70 88c3 3 5 3 8 0'/%3E%3Cpath d='M122 72h16v16h-16z'/%3E%3Ccircle cx='130' cy='80' r='4'/%3E%3Cpath d='M174 70l10 10-10 10-10-10z'/%3E%3Cpath d='M220 72h14v14h-14z'/%3E%3Cpath d='M34 124l7-7 7 7-7 7z'/%3E%3Cpath d='M72 116h22v14H72z'/%3E%3Cpath d='M78 116v14'/%3E%3Ccircle cx='126' cy='124' r='8'/%3E%3Cpath d='M165 118h16v16h-16z'/%3E%3Cpath d='M214 120l8 0 0 10-8 0z'/%3E%3Cpath d='M26 170h16v11H26z'/%3E%3Cpath d='M67 165c0-5 7-5 7 0 0-5 7-5 7 0 0 7-7 12-7 12s-7-5-7-12z'/%3E%3Cpath d='M112 164h16v16h-16z'/%3E%3Cpath d='M158 160l12 12-12 12-12-12z'/%3E%3Ccircle cx='214' cy='174' r='8'/%3E%3Cpath d='M24 214h18v12H24z'/%3E%3Cpath d='M73 212l8 0 0 10-8 0z'/%3E%3Cpath d='M121 208l8 8-8 8-8-8z'/%3E%3Cpath d='M166 208h14v14h-14z'/%3E%3Cpath d='M208 208c0-5 7-5 7 0 0-5 7-5 7 0 0 7-7 12-7 12s-7-5-7-12z'/%3E%3Cpath d='M117 248l13-10 13 10'/%3E%3Cpath d='M120 248h20v11h-20z'/%3E%3Cpath d='M127 259v-6h6v6'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 260px 260px;
}

.wpp-doodle-bar {
  background-color: #f1ede7;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='none' stroke='%23d4cec3' stroke-width='1.1' opacity='.35'%3E%3Ccircle cx='30' cy='28' r='8'/%3E%3Crect x='66' y='22' width='16' height='11' rx='3'/%3E%3Cpath d='M68 33l-4 4 8-4'/%3E%3Cpath d='M115 22l7 8-7 8-7-8z'/%3E%3Cpath d='M168 22h12l-6 11z'/%3E%3Cpath d='M214 26c0-5 7-5 7 0 0-5 7-5 7 0 0 7-7 12-7 12s-7-5-7-12z'/%3E%3Cpath d='M20 78h18v12H20z'/%3E%3Ccircle cx='74' cy='84' r='9'/%3E%3Cpath d='M70 88c3 3 5 3 8 0'/%3E%3Cpath d='M122 72h16v16h-16z'/%3E%3Ccircle cx='130' cy='80' r='4'/%3E%3Cpath d='M174 70l10 10-10 10-10-10z'/%3E%3Cpath d='M220 72h14v14h-14z'/%3E%3Cpath d='M34 124l7-7 7 7-7 7z'/%3E%3Cpath d='M72 116h22v14H72z'/%3E%3Cpath d='M78 116v14'/%3E%3Ccircle cx='126' cy='124' r='8'/%3E%3Cpath d='M165 118h16v16h-16z'/%3E%3Cpath d='M214 120l8 0 0 10-8 0z'/%3E%3Cpath d='M26 170h16v11H26z'/%3E%3Cpath d='M67 165c0-5 7-5 7 0 0-5 7-5 7 0 0 7-7 12-7 12s-7-5-7-12z'/%3E%3Cpath d='M112 164h16v16h-16z'/%3E%3Cpath d='M158 160l12 12-12 12-12-12z'/%3E%3Ccircle cx='214' cy='174' r='8'/%3E%3Cpath d='M24 214h18v12H24z'/%3E%3Cpath d='M73 212l8 0 0 10-8 0z'/%3E%3Cpath d='M121 208l8 8-8 8-8-8z'/%3E%3Cpath d='M166 208h14v14h-14z'/%3E%3Cpath d='M208 208c0-5 7-5 7 0 0-5 7-5 7 0 0 7-7 12-7 12s-7-5-7-12z'/%3E%3Cpath d='M117 248l13-10 13 10'/%3E%3Cpath d='M120 248h20v11h-20z'/%3E%3Cpath d='M127 259v-6h6v6'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 260px 260px;
  border-top: 1px solid #d6d3d1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
  transition: filter .15s, background-color .18s ease, transform .16s ease, box-shadow .18s ease;
  filter: contrast(1.04) saturate(1.02);
}
.wpp-doodle-bar:hover {
  filter: brightness(.99) contrast(1.06) saturate(1.03);
}
.wpp-doodle-bar .gc-section-label,
.wpp-doodle-bar span[style*="text-transform:uppercase"] {
  color: #667781 !important;
}
.wpp-doodle-bar span[data-conversa-chat-id] {
  color: #075E54 !important;
  font-weight: 700 !important;
}
.wpp-doodle-bar div[id*="doc-zone"],
.wpp-doodle-bar div[id*="drop-zone"] {
  background: rgba(255,255,255,.65) !important;
  border-color: #c5c9cc !important;
}
.wpp-doodle-bar div[style*="background:var(--bg)"] {
  background: rgba(255,255,255,.65) !important;
  border-color: #c5c9cc !important;
}

.lead-chat-zone {
  border-top: 1px solid #334155;
}
.lead-chat-zone-clickable {
  cursor: pointer !important;
  will-change: transform;
}
.lead-chat-zone-clickable:hover {
  background-color: #E7E5E4 !important;
  transform: scale(1.01);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 2px 10px rgba(15,23,42,.12);
}
.lead-chat-zone-clickable:active {
  transform: scale(0.995);
  box-shadow: inset 0 2px 6px rgba(15,23,42,.15);
}
.lead-chat-cta-wrap {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  margin-left: auto;
  min-width: 200px;
  padding-top: 2px;
}
.lead-chat-cta {
  font-size: .84rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #075E54;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.65);
  border: 1px solid rgba(7,94,84,.25);
}
.lead-chat-cta-icon {
  font-size: .88rem;
  line-height: 1;
}
.lead-chat-preview {
  max-width: 320px;
  font-size: .69rem;
  line-height: 1.25;
  color: #475569;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: right;
}
.group-chat-open-zone {
  border-top: 1px solid rgba(148,163,184,.18);
}
.group-chat-open-zone-clickable {
  cursor: pointer !important;
  will-change: transform;
}
.group-chat-open-zone-clickable:hover {
  background: #2A374A !important;
  transform: scale(1.01);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 2px 10px rgba(2,6,23,.28);
}
.group-chat-open-zone-clickable:active {
  transform: scale(0.995);
  box-shadow: inset 0 2px 8px rgba(2,6,23,.35);
}
.group-chat-open-zone-clickable:hover .group-chat-open-cta {
  background: rgba(7,94,84,.12) !important;
  border-color: #075E54 !important;
  color: #075E54 !important;
}
.group-chat-open-zone.wpp-doodle-bar .gc-section-label {
  color: #667781 !important;
}
.group-chat-open-zone.wpp-doodle-bar .gc-action-btn {
  background: rgba(255,255,255,.78) !important;
  border-color: #c8c3bb !important;
  color: #1E293B !important;
  font-weight: 600;
}
.group-chat-open-zone.wpp-doodle-bar .gc-action-btn:hover {
  background: rgba(255,255,255,.92) !important;
  border-color: #a8a29e !important;
}
.group-chat-open-zone.wpp-doodle-bar .gc-partner-btn {
  background: rgba(255,255,255,.78) !important;
  border-color: #c8c3bb !important;
  color: #334155 !important;
}
.group-chat-open-zone.wpp-doodle-bar .gc-partner-btn:hover {
  background: rgba(255,255,255,.92) !important;
}
.group-chat-open-zone.wpp-doodle-bar .gc-actions-row span[style*="background:rgba"] {
  background: #c8c3bb !important;
}

.wpp-chat-body::-webkit-scrollbar { width: 6px; }
.wpp-chat-body::-webkit-scrollbar-track { background: transparent; }
.wpp-chat-body::-webkit-scrollbar-thumb { background: #c5c9cc; border-radius: 3px; }

.wpp-date-separator {
  text-align: center;
  margin: 12px 0;
}
.wpp-date-separator span {
  background: #e1f2fb;
  color: #54656f;
  font-size: .72rem;
  padding: 4px 12px;
  border-radius: 8px;
  display: inline-block;
}

.wpp-msg {
  display: flex;
  margin-bottom: 4px;
}
.wpp-msg-in { justify-content: flex-start; }
.wpp-msg-out { justify-content: flex-end; }

.wpp-msg-bubble {
  max-width: 75%;
  padding: 6px 8px 4px;
  border-radius: 8px;
  position: relative;
  word-wrap: break-word;
  box-shadow: 0 1px 1px rgba(0,0,0,.2);
}

.wpp-msg-in .wpp-msg-bubble {
  background: #ffffff;
  border-top-left-radius: 0;
  box-shadow: 0 1px .5px rgba(11, 20, 26, .18);
}
.wpp-msg-out .wpp-msg-bubble {
  background: #d9fdd3;
  border-top-right-radius: 0;
  box-shadow: 0 1px .5px rgba(11, 20, 26, .18);
}

.wpp-msg-sender {
  font-size: .78rem;
  font-weight: 600;
  margin-bottom: 2px;
}

.wpp-msg-forwarded {
  font-size: .66rem;
  color: #667781;
  margin-bottom: 2px;
  opacity: .95;
}

.wpp-msg-reply {
  border-left: 3px solid #06cf9c;
  background: rgba(0,0,0,.04);
  border-radius: 6px;
  padding: 4px 6px;
  margin: 2px 0 5px;
}
.wpp-msg-reply-sender {
  font-size: .67rem;
  font-weight: 700;
  color: #06cf9c;
  margin-bottom: 1px;
}
.wpp-msg-reply-content {
  font-size: .68rem;
  color: #667781;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wpp-msg-text {
  color: #111b21;
  font-size: .87rem;
  line-height: 1.4;
  white-space: pre-wrap;
}

.wpp-msg-time {
  color: #667781;
  font-size: .65rem;
  text-align: right;
  margin-top: 2px;
}

.wpp-chat-footer {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 8px 12px;
  background: #f0f2f5;
  border-top: 1px solid #d1d7db;
}

.wpp-chat-input {
  flex: 1;
  background: #ffffff;
  border: 1px solid #d1d7db;
  border-radius: 8px;
  color: #111b21;
  font-size: .9rem;
  padding: 10px 14px;
  resize: none;
  min-height: 20px;
  max-height: 120px;
  line-height: 1.4;
  outline: none;
  font-family: inherit;
}

.wpp-chat-input::placeholder { color: #667781; }

.wpp-chat-send {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: none;
  background: #00a884;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .15s;
}

.wpp-chat-send:hover { background: #06cf9c; }
.wpp-chat-send:disabled { background: #d1d7db; cursor: not-allowed; }

@media (max-width: 600px) {
  .wpp-chat-modal { width: 100%; height: 100vh; max-height: none; border-radius: 0; }
  .wpp-msg-bubble { max-width: 88%; }
}

/* ========== FLOWCHART EDITOR ========== */
.flow-container { padding-bottom: 40px; }

.flow-node {
  max-width: 720px;
  margin: 0 auto 0;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: box-shadow .2s;
}
.flow-node:hover { box-shadow: 0 0 0 1px var(--primary), 0 4px 20px rgba(108,92,231,.12); }

.flow-node-header {
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

.flow-node-badge {
  flex-shrink: 0; width: 34px; height: 34px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: .75rem; color: #fff;
}
.flow-badge-start    { background: linear-gradient(135deg,#27ae60,#2ecc71); }
.flow-badge-question { background: linear-gradient(135deg,#2563eb,#3b82f6); }
.flow-badge-confirm  { background: linear-gradient(135deg,#7c3aed,#a855f7); }
.flow-badge-branch   { background: linear-gradient(135deg,#e67e22,#f39c12); }
.flow-badge-action   { background: linear-gradient(135deg,#e74c3c,#ef4444); }
.flow-badge-bank     { background: linear-gradient(135deg,#0ea5e9,#06b6d4); }
.flow-badge-end      { background: linear-gradient(135deg,#10b981,#34d399); }

.flow-node-title { flex:1; font-weight:600; font-size:.92rem; }
.flow-node-subtitle { color:var(--text-muted); font-size:.76rem; }
.flow-node-arrow { color:var(--text-muted); transition:transform .2s; font-size:.75rem; }
.flow-node-arrow.open { transform:rotate(180deg); }

.flow-node-body { display:none; border-top:1px solid var(--border); padding:14px 16px; }
.flow-node-body.open { display:block; }

.flow-msg {
  background:var(--bg); border:1px solid var(--border); border-radius:8px;
  padding:10px 14px; margin-bottom:10px; font-size:.85rem; line-height:1.45;
  white-space:pre-wrap; color:var(--text); max-height:180px; overflow-y:auto;
}

.flow-cards-grid { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.flow-card-thumb {
  width:72px; height:72px; border-radius:6px; object-fit:cover;
  border:1px solid var(--border); cursor:pointer; transition:transform .15s;
  position:relative;
}
.flow-card-thumb:hover { transform:scale(1.06); }

.flow-card-wrap {
  position:relative; display:inline-block;
}
.flow-card-remove {
  position:absolute; top:-4px; right:-4px; width:18px; height:18px;
  border-radius:50%; background:var(--danger); color:#fff; border:none;
  font-size:10px; cursor:pointer; display:flex; align-items:center; justify-content:center;
  line-height:1; z-index:2;
}

.flow-options { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.flow-option-tag {
  display:inline-flex; align-items:center; gap:4px; padding:3px 10px;
  border-radius:14px; font-size:.76rem; font-weight:500;
  border:1px solid var(--border); background:var(--surface);
}
.flow-option-tag .flow-arrow-icon { color:var(--primary); font-size:.68rem; }
.flow-option-remove {
  background:none; border:none; color:var(--danger); cursor:pointer;
  font-size:.8rem; margin-left:2px; padding:0;
}

.flow-connector {
  display:flex; align-items:center; justify-content:center;
  height:28px; position:relative;
}
.flow-connector::before { content:''; width:2px; height:100%; background:var(--border); }

.flow-add-between {
  position:absolute; z-index:5;
  width:24px; height:24px; border-radius:50%;
  background:var(--primary); color:#fff; border:none;
  font-size:16px; cursor:pointer; display:flex;
  align-items:center; justify-content:center;
  opacity:.4; transition:opacity .2s, transform .15s;
}
.flow-add-between:hover { opacity:1; transform:scale(1.15); }

.flow-branch-container { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin:10px 0; }
.flow-branch-card {
  flex:1; min-width:190px; max-width:300px;
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:12px;
}
.flow-branch-card h4 { font-size:.85rem; margin-bottom:6px; display:flex; align-items:center; gap:5px; }
.flow-substep {
  background:var(--bg); border:1px solid var(--border); border-radius:6px;
  padding:6px 10px; margin-bottom:5px; font-size:.8rem;
}
.flow-substep-label { color:var(--text-muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.5px; margin-bottom:2px; }

.flow-img-modal {
  position:fixed; inset:0; background:rgba(0,0,0,.85);
  display:flex; align-items:center; justify-content:center;
  z-index:2000; cursor:pointer;
}
.flow-img-modal img { max-width:90vw; max-height:90vh; border-radius:8px; box-shadow:0 8px 32px rgba(0,0,0,.5); }

.flow-legend {
  display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px;
  padding:10px 14px; background:var(--surface2);
  border:1px solid var(--border); border-radius:var(--radius);
}
.flow-legend-item { display:flex; align-items:center; gap:5px; font-size:.76rem; color:var(--text-muted); }
.flow-legend-dot { width:10px; height:10px; border-radius:3px; }

/* Editor toolbar on each node */
.flow-edit-bar {
  display:flex; gap:5px; flex-wrap:wrap; margin-top:10px;
  padding-top:10px; border-top:1px solid var(--border);
}
.flow-edit-bar .btn { font-size:.75rem; padding:4px 10px; }

/* Inline edit form */
.flow-edit-form { margin-top:10px; }
.flow-edit-form .form-group { margin-bottom:10px; }
.flow-edit-form label { font-size:.78rem; font-weight:600; color:var(--text-muted); display:block; margin-bottom:3px; }
.flow-edit-form input, .flow-edit-form textarea, .flow-edit-form select {
  width:100%; padding:7px 10px; background:var(--bg); border:1px solid var(--border);
  border-radius:5px; color:var(--text); font-size:.85rem;
}
.flow-edit-form textarea { resize:vertical; min-height:60px; }

/* AI Chat Panel */
.flow-ai-panel {
  position:fixed; right:0; top:0; bottom:0; width:420px;
  background:var(--surface); border-left:1px solid var(--border);
  display:flex; flex-direction:column; z-index:1500;
  box-shadow:-4px 0 24px rgba(0,0,0,.3);
  transform:translateX(100%); transition:transform .3s ease;
}
.flow-ai-panel.open { transform:translateX(0); }

.flow-ai-header {
  padding:14px 16px; border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
}
.flow-ai-header h3 { font-size:.95rem; display:flex; align-items:center; gap:8px; margin:0; }
.flow-ai-close { background:none; border:none; color:var(--text-muted); font-size:22px; cursor:pointer; }

.flow-ai-messages {
  flex:1; overflow-y:auto; padding:14px;
  display:flex; flex-direction:column; gap:10px;
}

.flow-ai-msg {
  max-width:90%; padding:10px 14px; border-radius:12px;
  font-size:.85rem; line-height:1.45; white-space:pre-wrap;
}
.flow-ai-msg-user {
  align-self:flex-end; background:var(--primary); color:#fff;
  border-bottom-right-radius:4px;
}
.flow-ai-msg-assistant {
  align-self:flex-start; background:var(--surface2); color:var(--text);
  border:1px solid var(--border); border-bottom-left-radius:4px;
}
.flow-ai-msg-system {
  align-self:center; background:rgba(39,174,96,.15); color:var(--success);
  font-size:.8rem; padding:6px 12px; border-radius:8px;
}
.flow-ai-msg-error {
  align-self:center; background:rgba(231,76,60,.15); color:var(--danger);
  font-size:.8rem; padding:6px 12px; border-radius:8px;
}

.flow-ai-input-area {
  padding:12px 14px; border-top:1px solid var(--border);
  display:flex; gap:8px;
}
.flow-ai-input-area textarea {
  flex:1; resize:none; height:40px; padding:8px 10px;
  background:var(--bg); border:1px solid var(--border);
  border-radius:8px; color:var(--text); font-size:.85rem;
}
.flow-ai-input-area button {
  flex-shrink:0; width:40px; height:40px; border-radius:8px;
  background:linear-gradient(135deg,#7c3aed,#2563eb); border:none;
  color:#fff; font-size:18px; cursor:pointer; display:flex;
  align-items:center; justify-content:center;
}
.flow-ai-input-area button:disabled { opacity:.5; cursor:not-allowed; }

.flow-ai-actions {
  padding:8px 14px; border-top:1px solid var(--border);
  display:flex; gap:6px; flex-wrap:wrap;
}
.flow-ai-actions .btn { font-size:.75rem; padding:4px 10px; }

@media (max-width:768px) {
  .flow-ai-panel { width:100%; }
}

/* ========== MARKETING / CAMPAIGNS ========== */
.campaign-progress {
  width: 100%;
  height: 6px;
  background: var(--border);
  border-radius: 3px;
  margin-top: 4px;
  overflow: hidden;
}
.campaign-progress-bar {
  height: 100%;
  border-radius: 3px;
  transition: width .5s ease;
}

/* ========== TOOLTIPS ========== */
[data-tip] {
  position: relative;
}
[data-tip]::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) scale(.92);
  background: #1a1d27;
  color: #e8e8ee;
  font-size: .76rem;
  font-weight: 400;
  line-height: 1.4;
  padding: 7px 12px;
  border-radius: 7px;
  border: 1px solid #3a3f55;
  box-shadow: 0 4px 16px rgba(0,0,0,.45);
  white-space: nowrap;
  max-width: 280px;
  white-space: normal;
  pointer-events: none;
  opacity: 0;
  transition: opacity .18s, transform .18s;
  z-index: 3000;
}
[data-tip]::before {
  content: '';
  position: absolute;
  bottom: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #3a3f55;
  pointer-events: none;
  opacity: 0;
  transition: opacity .18s;
  z-index: 3001;
}
[data-tip]:hover::after,
[data-tip]:hover::before {
  opacity: 1;
  transform: translateX(-50%) scale(1);
}
[data-tip]:hover::before {
  transform: translateX(-50%);
}
[data-tip-right]::after {
  bottom: auto; left: auto; right: auto;
  top: 50%; left: calc(100% + 8px);
  transform: translateY(-50%) scale(.92);
}
[data-tip-right]:hover::after {
  transform: translateY(-50%) scale(1);
}
[data-tip-down]::after {
  bottom: auto; top: calc(100% + 8px);
}
[data-tip-down]::before {
  bottom: auto; top: calc(100% + 2px);
  border-top-color: transparent;
  border-bottom-color: #3a3f55;
}

/* Dados do Processo */
.dados-processo-container {
  background: var(--surface);
}
.dados-processo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px 20px;
}
.dados-processo-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 12px;
  padding-right: 34px;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 8px;
  transition: border-color .2s;
  position: relative;
}
.dados-processo-item:hover {
  border-color: #7c3aed55;
}
.dados-processo-edit-btn {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 22px;
  height: 22px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
  color: var(--text-muted);
  font-size: .78rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .15s;
}
.dados-processo-edit-btn:hover {
  color: #7c3aed;
  border-color: #7c3aed66;
}
.dados-processo-label {
  font-size: .72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #7c3aed;
  opacity: .85;
}
.dados-processo-value {
  font-size: .88rem;
  font-weight: 500;
  color: var(--text);
  word-break: break-word;
}
.dados-processo-value.is-empty {
  color: var(--text-muted);
  font-style: italic;
}

/* Document tag buttons */
.doc-tag-btn {
  background: #1e3a5f !important;
  color: #7dd3fc !important;
  font-size: .72rem !important;
  padding: 3px 8px !important;
  border-radius: 12px !important;
  border: 1px solid #2563eb44 !important;
  cursor: pointer;
  transition: all .2s;
}
.doc-tag-btn:hover {
  background: #2563eb !important;
  color: #fff !important;
}
.doc-tag-btn-pending {
  background: rgba(71,85,105,.25) !important;
  color: rgba(148,163,184,.55) !important;
  font-size: .72rem !important;
  padding: 3px 8px !important;
  border-radius: 12px !important;
  border: 1px dashed rgba(148,163,184,.22) !important;
  cursor: default !important;
  pointer-events: none !important;
  box-shadow: none !important;
  transition: none !important;
}
.doc-upload-btn {
  transition: all .2s;
}
.doc-upload-btn:hover {
  filter: brightness(1.15);
}
.doc-drop-zone {
  max-width: 100%;
}
.group-docs-btns {
  min-width: 0;
}
.group-partner-btn {
  transition: transform .2s, filter .2s, box-shadow .2s;
}
.partner-mail-sent-anim {
  animation: partnerMailPulse .9s ease, partnerMailGlow 1.2s ease;
}
@keyframes partnerMailPulse {
  0% { transform: translateY(0) scale(1); }
  35% { transform: translateY(-1px) scale(1.12); }
  70% { transform: translateY(0) scale(1.04); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes partnerMailGlow {
  0% { box-shadow: 0 0 0 rgba(255,255,255,0); filter: brightness(1); }
  40% { box-shadow: 0 0 0 3px rgba(255,255,255,.16); filter: brightness(1.15); }
  100% { box-shadow: 0 0 0 rgba(255,255,255,0); filter: brightness(1); }
}
@media (max-width: 900px) {
  .doc-drop-zone {
    width: 100%;
  }
  .doc-drop-zone .doc-upload-btn {
    flex: 0 0 auto;
  }
  .group-docs-btns {
    flex: 1 1 100% !important;
  }
}

/* Document modal mode buttons */
.doc-mode-btn {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  font-size: .8rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  transition: all .2s;
}
.doc-mode-btn.active {
  background: linear-gradient(135deg, #7c3aed, #2563eb) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* ===== Group Timeline ===== */
.gtl-bar {
  background: linear-gradient(135deg, #0c1d3a 0%, #132d5e 50%, #0f2547 100%);
  border-radius: 10px;
  padding: 16px 20px 14px;
  margin: 0 0 2px;
  overflow-x: auto;
  position: relative;
}
.gtl-bar::-webkit-scrollbar { height: 4px; }
.gtl-bar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.15); border-radius: 2px; }
.gtl-title {
  color: #fff;
  font-size: .85rem;
  font-weight: 700;
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.gtl-subtitle {
  color: rgba(255,255,255,.5);
  font-size: .68rem;
  margin-bottom: 14px;
}
.gtl-track {
  display: flex;
  align-items: flex-start;
  position: relative;
  min-width: max-content;
  padding: 0 8px;
}
.gtl-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  min-width: 90px;
  position: relative;
  cursor: pointer;
  z-index: 1;
}
.gtl-step:hover .gtl-circle { transform: scale(1.15); }
.gtl-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  font-weight: 700;
  transition: all .25s;
  position: relative;
  z-index: 2;
  flex-shrink: 0;
}
.gtl-circle.done {
  background: #22c55e;
  color: #fff;
  box-shadow: 0 0 8px rgba(34,197,94,.4);
}
.gtl-circle.active {
  background: #f59e0b;
  color: #fff;
  box-shadow: 0 0 12px rgba(245,158,11,.5);
  animation: gtl-pulse 2s ease-in-out infinite;
}
.gtl-circle.pending {
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.4);
  border: 2px solid rgba(255,255,255,.15);
}
@keyframes gtl-pulse {
  0%, 100% { box-shadow: 0 0 8px rgba(245,158,11,.4); }
  50% { box-shadow: 0 0 16px rgba(245,158,11,.7); }
}
.gtl-label {
  color: rgba(255,255,255,.85);
  font-size: .62rem;
  text-align: center;
  margin-top: 6px;
  max-width: 80px;
  line-height: 1.2;
  word-break: break-word;
}
.gtl-step.is-pending .gtl-label { color: rgba(255,255,255,.35); }
.gtl-line {
  position: absolute;
  top: 16px;
  left: 55px;
  right: 55px;
  height: 3px;
  background: rgba(255,255,255,.1);
  z-index: 0;
  border-radius: 2px;
}
.gtl-line-fill {
  height: 100%;
  background: linear-gradient(90deg, #22c55e, #22c55e);
  border-radius: 2px;
  transition: width .4s ease;
}
.gtl-progress {
  text-align: center;
  color: rgba(255,255,255,.6);
  font-size: .7rem;
  margin-top: 10px;
}
.gtl-progress strong { color: #22c55e; font-weight: 700; }
.gtl-actions {
  position: absolute;
  top: 10px;
  right: 14px;
  display: flex;
  gap: 4px;
}
.gtl-actions button {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.5);
  border-radius: 4px;
  padding: 2px 6px;
  font-size: .6rem;
  cursor: pointer;
  transition: all .2s;
}
.gtl-actions button:hover {
  background: rgba(255,255,255,.18);
  color: #fff;
}

/* Boletim - Documentos dropdown */
.cut2-doc-chip { display:inline-flex;align-items:center;font-size:.73rem;padding:2px 8px;background:var(--primary);color:#fff;border-radius:12px; }
.cut2-doc-cat { margin-bottom:10px; }
.cut2-doc-cat-title { display:block;font-weight:700;font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 4px 2px;border-bottom:1px solid var(--border);margin-bottom:4px; }
.cut2-doc-item { display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;padding:5px 8px;font-size:.82rem;cursor:pointer;border-radius:4px;text-align:left;white-space:normal; }
.cut2-doc-item:hover { background:var(--surface2); }
.cut2-doc-item input,
.cut2-group-row input[type="checkbox"],
#cut2-all-groups,
.cut2-tg-check,
.cut2-alert-check,
.cut1-day-check,
.cut2-day-check,
.cut3-day-check,
.aia-day-check,
.aia-doc-check,
.aia-group-check,
.aia-all-groups,
.aia-tg-check,
.aia-alert-check,
.aia-partner-check,
.cut2-partner-check {
  width: auto;
  padding: 0;
  margin: 0;
  flex: 0 0 auto;
}
.cut2-doc-item input { accent-color:var(--primary); }

/* Boletim - Grupos e parceiros */
.cut2-group-row { display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.06);background:#fff; }
.cut2-group-row:nth-child(odd) { background:#f0faf0; }
.cut2-group-row:hover { background:#dcf8c6; }
.cut2-group-row input[type="checkbox"] { accent-color:#25D366;flex-shrink:0; }
.cut2-group-name { font-size:.85rem;flex:0 1 240px;min-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:2px;color:#111b21;font-weight:500; }
.cut2-partner-chips { display:flex;gap:4px;flex:1 1 auto;min-width:0;flex-wrap:wrap;justify-content:flex-start; }
.cut2-partner-chip { display:inline-flex;align-items:center;padding:1px 8px;border-radius:12px;font-size:.73rem;cursor:pointer;background:#e9edef;color:#54656f;transition:all .15s;user-select:none; }
.cut2-partner-chip.active { background:#25D366;color:#fff; }
.cut2-partner-chip:hover { opacity:.85; }
.cut2-alert-toggle { display:inline-flex;align-items:center;gap:3px;cursor:pointer;font-size:.85rem;flex:0 0 auto;opacity:.4;transition:opacity .15s;user-select:none; }
.cut2-alert-toggle:has(input:checked) { opacity:1; }

/* Timeline step details */
.gtl-detail { font-size:.62rem;color:#22c55e;max-width:80px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-weight:500; }

/* Timeline step sub-option menu */
.gtl-step-menu-box { background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:16px 0;width:380px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,.35); }
.gtl-step-menu-box > div:first-child { padding:0 16px 8px;border-bottom:1px solid var(--border);margin-bottom:4px; }
.gtl-menu-item { padding:8px 16px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;transition:background .15s; }
.gtl-menu-item:hover { background:rgba(255,255,255,.06); }
.gtl-menu-item.gtl-menu-selected { color:#22c55e;font-weight:600; }
.gtl-menu-item.gtl-menu-toggle { color:var(--primary);font-weight:500; }
.gtl-menu-item.gtl-menu-outro { display:flex;align-items:center; }
.gtl-outro-row { display:flex;align-items:center; }

@keyframes confettiFall {
  0% { opacity:1;transform:translateY(0) translateX(0) rotate(0deg) scale(1); }
  20% { opacity:1; }
  100% { opacity:0;transform:translateY(100vh) translateX(var(--drift,0px)) rotate(var(--rot,360deg)) scale(.5); }
}
@keyframes celebBanner {
  0% { transform:translate(-50%,-50%) scale(0); opacity:0; }
  100% { transform:translate(-50%,-50%) scale(1); opacity:1; }
}
@keyframes noticePulse {
  0%,100% { transform:scale(1); box-shadow:0 0 0 0 rgba(239,68,68,.5); }
  50% { transform:scale(1.15); box-shadow:0 0 8px 2px rgba(239,68,68,.3); }
}
@keyframes noticeShake {
  0%,100% { transform:rotate(0); }
  15% { transform:rotate(-12deg); }
  30% { transform:rotate(10deg); }
  45% { transform:rotate(-8deg); }
  60% { transform:rotate(6deg); }
  75% { transform:rotate(-3deg); }
  90% { transform:rotate(2deg); }
}
.notice-shake { animation: noticeShake .6s ease-in-out; }

/* ===================== SEND CARD MODAL ===================== */
.send-card-overlay {
  z-index: 12000;
}
.send-card-modal {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  width: 94%;
  max-width: 680px;
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 12px 48px rgba(0,0,0,.5);
  overflow: hidden;
}
.send-card-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  background: var(--surface2);
  flex-shrink: 0;
}
.send-card-list {
  overflow-y: auto;
  flex: 1;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.send-card-modal-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  border-top: 1px solid var(--border);
  background: var(--surface2);
  flex-shrink: 0;
}
.send-card-item {
  background: var(--surface2);
  border: 2px solid var(--border);
  border-radius: 10px;
  padding: 12px 14px;
  cursor: pointer;
  transition: border-color .18s, background .18s;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.send-card-item:hover {
  border-color: var(--primary);
  background: var(--bg);
}
.send-card-item.selected {
  border-color: #d97706;
  background: rgba(217,119,6,.08);
}
.send-card-item-info {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.send-card-cmd {
  font-weight: 700;
  font-size: .95rem;
  color: #d97706;
  font-family: monospace;
}
.send-card-label {
  font-size: .85rem;
  color: var(--text);
}
.send-card-count {
  font-size: .75rem;
  color: var(--text-muted);
  margin-left: auto;
}
.sc-thumbs-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}
.sc-thumbs-scroll::-webkit-scrollbar { height: 4px; }
.sc-thumbs-scroll::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }
.sc-thumb {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 7px;
  border: 1px solid var(--border);
  cursor: zoom-in;
  flex-shrink: 0;
  transition: transform .15s, box-shadow .15s;
}
.sc-thumb:hover {
  transform: scale(1.06);
  box-shadow: 0 4px 12px rgba(0,0,0,.4);
}
.sc-thumb-video {
  width: 80px;
  height: 80px;
  background: #111;
  border-radius: 7px;
  border: 1px solid var(--border);
  cursor: zoom-in;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .15s;
}
.sc-thumb-video:hover { transform: scale(1.06); }

/* Emoji Picker */
.qm-ep-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 2px;
  padding: 2px 4px;
}
.qm-ep-emoji {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-size: 1.35rem;
  border-radius: 8px;
  cursor: pointer;
  transition: background .12s, transform .12s;
  user-select: none;
}
.qm-ep-emoji:hover,
.wpp-ep-emoji:hover {
  background: rgba(0,0,0,.06);
  transform: scale(1.2);
}
.wpp-ep-emoji {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-size: 1.35rem;
  border-radius: 8px;
  cursor: pointer;
  transition: background .12s, transform .12s;
  user-select: none;
}

/* === Status de entrega (ack checkmarks) === */
.wpp-ack { margin-left: 3px; font-size: .7rem; vertical-align: middle; color: #667781; letter-spacing: -2px; }
.wpp-ack-read { color: #53bdeb; }
.wpp-ack-pending { color: #b8bfc5; font-size: .6rem; letter-spacing: 0; }

/* === Mensagem apagada === */
.wpp-msg-revoked { font-style: italic; color: #667781; font-size: .82rem; padding: 2px 0; user-select: none; }

/* === Reações === */
.wpp-msg-reactions { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 4px; }
.wpp-reaction-badge {
  display: inline-flex; align-items: center; gap: 2px;
  background: rgba(0,0,0,.04); border: 1px solid #e9edef;
  border-radius: 12px; padding: 2px 7px; font-size: .78rem;
  cursor: default; user-select: none; transition: background .15s;
}
.wpp-reaction-badge:hover { background: rgba(0,0,0,.08); }

/* === Sticker === */
.wpp-msg-sticker {
  max-width: 160px; max-height: 160px; display: block; margin: 2px 0;
  cursor: pointer; transition: transform .12s;
}
.wpp-msg-sticker:hover { transform: scale(1.05); }

/* === Menu de contexto das mensagens === */
.wpp-msg-bubble { position: relative; }
.wpp-msg-menu-btn {
  position: absolute; top: 4px; right: 6px;
  opacity: 0; transition: opacity .15s;
  cursor: pointer; color: #667781;
  font-size: 15px; line-height: 1; z-index: 2;
  width: 20px; height: 18px; display: flex;
  align-items: center; justify-content: center;
  border-radius: 4px; user-select: none;
}
.wpp-msg-bubble:hover .wpp-msg-menu-btn { opacity: 1; }
.wpp-msg-menu-btn:hover { color: #111b21; background: rgba(0,0,0,.06); }

.wpp-ctx-menu {
  position: absolute; z-index: 9999;
  background: #ffffff; border: 1px solid #d1d7db;
  border-radius: 10px; box-shadow: 0 4px 20px rgba(0,0,0,.15);
  min-width: 160px; padding: 4px 0; overflow: hidden;
}
.wpp-ctx-item {
  padding: 9px 16px; font-size: .84rem; color: #111b21;
  cursor: pointer; transition: background .12s; white-space: nowrap;
}
.wpp-ctx-item:hover { background: #f0f2f5; }
.wpp-ctx-danger { color: #e53935; }
.wpp-ctx-danger:hover { background: rgba(229,57,53,.06); }
.wpp-ctx-sep { height: 1px; background: #e9edef; margin: 2px 0; }

.wpp-ctx-react-picker {
  position: absolute; z-index: 9999;
  background: #ffffff; border: 1px solid #d1d7db;
  border-radius: 24px; box-shadow: 0 4px 16px rgba(0,0,0,.12);
  padding: 4px 6px; gap: 2px; align-items: center;
}
.wpp-ctx-react-emoji {
  font-size: 1.5rem; cursor: pointer; padding: 4px;
  border-radius: 50%; transition: background .12s, transform .12s;
  line-height: 1; display: flex; align-items: center; justify-content: center;
}
.wpp-ctx-react-emoji:hover { background: rgba(255,255,255,.12); transform: scale(1.25); }

.wpp-fwd-item {
  padding: 10px 16px; font-size: .85rem; color: #e2e8f0;
  cursor: pointer; transition: background .12s;
}
.wpp-fwd-item:hover { background: rgba(255,255,255,.08); }

.wpp-toast {
  position: absolute; bottom: 70px; left: 50%;
  transform: translateX(-50%); background: #334155;
  color: #fff; padding: 8px 18px; border-radius: 20px;
  font-size: .82rem; z-index: 99999; box-shadow: 0 4px 16px rgba(0,0,0,.35);
  animation: wppToastIn .25s ease-out;
  pointer-events: none;
}
@keyframes wppToastIn {
  from { opacity: 0; transform: translateX(-50%) translateY(10px); }
  to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

/* Botão de anexar arquivo no chat */
#wpp-chat-attach-btn:hover { opacity: 1 !important; }

/* Card de documento clicável no chat */
.chat-doc-card[data-nav-group-idx]:not([data-processing]):hover {
  background: rgba(0,0,0,.06) !important;
}

/* Botões emoji e attach no footer claro */
.wpp-chat-footer #wpp-chat-emoji-btn,
.wpp-chat-footer #wpp-chat-attach-btn,
.wpp-chat-footer #lc-emoji-btn,
.wpp-chat-footer #lc-attach-btn { color: #54656f; }
.wpp-chat-footer #wpp-chat-emoji-btn:hover,
.wpp-chat-footer #wpp-chat-attach-btn:hover,
.wpp-chat-footer #lc-emoji-btn:hover,
.wpp-chat-footer #lc-attach-btn:hover { color: #111b21; }

/* Emoji picker tema claro */
.wpp-chat-modal #wpp-chat-emoji-picker,
.wpp-chat-modal #lc-emoji-picker {
  background: #ffffff !important;
  border-color: #d1d7db !important;
}

/* Ícone girando no badge de processamento */
@keyframes docSpinAnim {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.doc-processing-spin {
  animation: docSpinAnim 1.1s linear infinite;
  display: inline-block;
}

/* Destaque animado no botão de documento */
@keyframes docHighlightPulse {
  0%   { outline-color: #f59e0b; transform: scale(1.08); box-shadow: 0 0 0 4px rgba(245,158,11,.35); }
  50%  { outline-color: #fbbf24; transform: scale(1.04); box-shadow: 0 0 0 8px rgba(245,158,11,.15); }
  100% { outline-color: #f59e0b; transform: scale(1.08); box-shadow: 0 0 0 4px rgba(245,158,11,.35); }
}
.doc-highlight-pulse {
  animation: docHighlightPulse .7s ease-in-out 3;
  outline: 3px solid #f59e0b !important;
  outline-offset: 2px !important;
  position: relative;
  z-index: 10;
}

/* ===================== LEADS TABS ===================== */
.leads-tabs-bar {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--border);
  margin-bottom: 16px;
}
.leads-tab {
  background: none;
  border: none;
  padding: 10px 22px;
  font-size: .88rem;
  font-weight: 500;
  color: var(--text-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color .2s, border-color .2s;
}
.leads-tab:hover { color: var(--text); }
.leads-tab.active {
  color: #00a884;
  border-bottom-color: #00a884;
  font-weight: 600;
}

/* ===================== PRIVATE CHAT LAYOUT ===================== */
.pv-chat-layout {
  display: flex;
  /* Conversas e Grupos compartilham as mesmas dimensoes para manter o mesmo
     padrao visual (o modal de Conversas antes ficava menor que o de Grupos). */
  height: calc(100vh - 126px);
  min-height: 560px;
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  background: var(--surface);
}
.workspace-groups-layout {
  height: calc(100vh - 126px);
  min-height: 560px;
}
.pv-chat-sidebar {
  width: 340px;
  min-width: 260px;
  max-width: 400px;
  border-right: 1px solid #e9edef;
  display: flex;
  flex-direction: column;
  background: #ffffff;
}
.pv-chat-search {
  padding: 10px 12px;
  border-bottom: 1px solid #e9edef;
  background: #f0f2f5;
}
.pv-chat-search-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pv-chat-sort-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}
.pv-chat-sort-label {
  font-size: .72rem;
  color: #667781;
  font-weight: 600;
}
.pv-chat-sort-select {
  flex: 1;
  min-width: 0;
  padding: 5px 8px;
  border-radius: 8px;
  border: 1px solid #d1d7db;
  background: #ffffff;
  color: #111b21;
  font-size: .78rem;
  font-weight: 600;
  cursor: pointer;
  outline: none;
}
.pv-chat-sort-select:focus { border-color: #00a884; }
/* Opções do dropdown nativo: garantir contraste em ambos os temas
   (sem isso, no tema escuro o texto branco fica sobre o fundo branco do popup). */
.pv-chat-sort-select option,
.kanban-col-sort option {
  background-color: var(--surface2, #233138);
  color: var(--text, #e9edef);
}
.pv-chat-search input {
  width: 100%;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid #d1d7db;
  background: #ffffff;
  color: #111b21;
  font-size: .84rem;
  outline: none;
}
.pv-chat-search input::placeholder { color: #667781; }
.pv-chat-search input:focus {
  border-color: #00a884;
}
/* Wrapper para o campo de busca com botão de limpar (X) */
.pv-search-input-wrap {
  position: relative;
  flex: 1;
  min-width: 0;
  display: block;
}
.pv-search-input-wrap input {
  width: 100%;
  padding-right: 30px;
}
.pv-search-clear {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: none;
  border-radius: 50%;
  background: #d1d7db;
  color: #54656f;
  font-size: .95rem;
  line-height: 1;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: background .15s, color .15s;
}
.pv-search-clear:hover {
  background: #b9c0c4;
  color: #111b21;
}
.pv-search-input-wrap.has-text .pv-search-clear {
  display: flex;
}
.pv-new-chat-btn {
  width: 38px;
  height: 38px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--border, rgba(255,255,255,.12));
  background: #22c55e;
  color: #fff;
  cursor: pointer;
  transition: background .15s, transform .1s;
}
.pv-new-chat-btn:hover { background: #16a34a; }
.pv-new-chat-btn:active { transform: scale(.94); }
.nc-row:hover { background: rgba(255,255,255,.06); }
body[data-theme="light"] .nc-row:hover { background: rgba(15,23,42,.05); }
.pv-chat-refresh-btn {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  border-radius: 8px;
  border: 1px solid #d1d7db;
  background: #ffffff;
  color: #54656f;
  font-size: 1rem;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s, transform .15s;
}
.pv-chat-refresh-btn:hover {
  background: #f5f6f6;
  border-color: #bfc5c8;
  color: #111b21;
}
.pv-chat-refresh-btn:active {
  transform: scale(.97);
}
.workspace-groups-source-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .74rem;
  font-weight: 600;
  color: #E0F2FE;
  background: rgba(56,189,248,.12);
  border: 1px solid rgba(56,189,248,.24);
  border-radius: 999px;
  padding: 7px 11px;
}
.pv-chat-list {
  flex: 1;
  overflow-y: auto;
}
.pv-chat-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  cursor: pointer;
  border-bottom: 1px solid #f0f2f5;
  transition: background .15s;
}
.pv-chat-item:hover { background: #f5f6f6; }
.pv-chat-item.active { background: #f0f2f5; }
.pv-chat-item-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  flex-shrink: 0;
  overflow: hidden;
}
.pv-chat-item-info {
  flex: 1;
  min-width: 0;
}
.pv-chat-item-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 7px;
  flex-shrink: 0;
  min-width: 46px;
  margin-left: 8px;
}
.pv-chat-item-name {
  font-size: .88rem;
  font-weight: 500;
  color: #111b21;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pv-chat-item-preview {
  font-size: .78rem;
  color: #667781;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
}
.pv-chat-item-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  min-height: 18px;
  max-height: 18px;
  font-size: .66rem;
  color: #7b8794;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pv-chat-item-meta-dot {
  opacity: .5;
  flex-shrink: 0;
}
.pv-chat-item-meta-parts {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
/* Etiqueta compacta exibida inline na linha de meta do item de grupo */
.pv-chat-item-label-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  max-width: 110px;
  padding: 1px 7px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: .62rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pv-chat-item-label-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pv-chat-item-label-more {
  flex-shrink: 0;
  font-size: .6rem;
  font-weight: 700;
  color: #7b8794;
}
.pv-chat-item-meta-badge { flex-shrink: 0; }
.pv-chat-item-meta-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 2px 7px;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.pv-chat-item-meta-badge.ana {
  background: rgba(56,189,248,.12);
  color: #0284c7;
}
.pv-chat-item-meta-badge.wa {
  background: rgba(37,211,102,.12);
  color: #15803d;
}
.pv-chat-item-time {
  font-size: .7rem;
  color: #667781;
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: 2px;
}
.pv-chat-loading-list,
.pv-chat-empty-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 180px;
  padding: 24px 18px;
  text-align: center;
  color: #667781;
}
.pv-chat-loading-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .84rem;
}
.pv-chat-empty-list-icon {
  font-size: 2rem;
  line-height: 1;
}
.pv-chat-empty-list-title {
  font-size: .92rem;
  font-weight: 600;
  color: #111b21;
}
.pv-chat-empty-list-subtitle {
  font-size: .78rem;
  max-width: 240px;
}
.pv-chat-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  min-width: 0;
}
.pv-chat-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--text-muted);
  user-select: none;
}
.pv-chat-header {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #d1d7db;
  background: #f0f2f5;
  flex-shrink: 0;
}
.pv-chat-header-top {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px 6px;
}
.pv-chat-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 16px 10px;
}
.pv-lead-actions-row {
  min-width: 0;
}
.pv-lead-files-grid {
  min-width: 0;
}
.pv-lead-file-box {
  min-width: 0;
}
.pv-lead-file-row {
  min-width: 0;
  overflow: hidden;
}
.pv-lead-file-row > span {
  min-width: 0;
  max-width: 100%;
}
.pv-header-alert-btn {
  min-width: 28px;
  height: 24px;
  justify-content: center;
}
.pv-header-alert-btn:hover {
  filter: brightness(1.12);
}
.pv-chat-back-btn {
  display: none;
  background: none;
  border: none;
  color: #54656f;
  cursor: pointer;
  padding: 4px;
}
.pv-header-avatar { flex-shrink: 0; }
.pv-header-avatar img,
.pv-avatar-fallback {
  width: 36px;
  height: 36px;
  border-radius: 50%;
}
.pv-avatar-fallback {
  background: #dfe5e7;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #54656f;
  font-weight: 600;
  font-size: .9rem;
}
.pv-header-name {
  font-size: .92rem;
  font-weight: 600;
  color: var(--text-main, #F8FAFC);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pv-chat-body {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
  background-color: #efeae2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='none' stroke='%23d4cec3' stroke-width='1.1' opacity='.35'%3E%3Ccircle cx='30' cy='28' r='8'/%3E%3Crect x='66' y='22' width='16' height='11' rx='3'/%3E%3Cpath d='M68 33l-4 4 8-4'/%3E%3Cpath d='M115 22l7 8-7 8-7-8z'/%3E%3Cpath d='M168 22h12l-6 11z'/%3E%3Cpath d='M214 26c0-5 7-5 7 0 0-5 7-5 7 0 0 7-7 12-7 12s-7-5-7-12z'/%3E%3Cpath d='M20 78h18v12H20z'/%3E%3Ccircle cx='74' cy='84' r='9'/%3E%3Cpath d='M70 88c3 3 5 3 8 0'/%3E%3Cpath d='M122 72h16v16h-16z'/%3E%3Ccircle cx='130' cy='80' r='4'/%3E%3Cpath d='M174 70l10 10-10 10-10-10z'/%3E%3Cpath d='M220 72h14v14h-14z'/%3E%3Cpath d='M34 124l7-7 7 7-7 7z'/%3E%3Cpath d='M72 116h22v14H72z'/%3E%3Cpath d='M78 116v14'/%3E%3Ccircle cx='126' cy='124' r='8'/%3E%3Cpath d='M165 118h16v16h-16z'/%3E%3Cpath d='M214 120l8 0 0 10-8 0z'/%3E%3Cpath d='M26 170h16v11H26z'/%3E%3Cpath d='M67 165c0-5 7-5 7 0 0-5 7-5 7 0 0 7-7 12-7 12s-7-5-7-12z'/%3E%3Cpath d='M112 164h16v16h-16z'/%3E%3Cpath d='M158 160l12 12-12 12-12-12z'/%3E%3Ccircle cx='214' cy='174' r='8'/%3E%3Cpath d='M24 214h18v12H24z'/%3E%3Cpath d='M73 212l8 0 0 10-8 0z'/%3E%3Cpath d='M121 208l8 8-8 8-8-8z'/%3E%3Cpath d='M166 208h14v14h-14z'/%3E%3Cpath d='M208 208c0-5 7-5 7 0 0-5 7-5 7 0 0 7-7 12-7 12s-7-5-7-12z'/%3E%3Cpath d='M117 248l13-10 13 10'/%3E%3Cpath d='M120 248h20v11h-20z'/%3E%3Cpath d='M127 259v-6h6v6'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 260px 260px;
}
.pv-chat-footer {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 8px 12px;
  background: #f0f2f5;
  border-top: 1px solid #d1d7db;
  flex-shrink: 0;
}
.pv-chat-footer #pv-chat-emoji-btn,
.pv-chat-footer #pv-chat-attach-btn {
  color: #54656f;
}
.pv-chat-footer #pv-chat-emoji-btn:hover,
.pv-chat-footer #pv-chat-attach-btn:hover {
  color: #111b21;
}
.pv-chat-footer .wpp-chat-input {
  background: #ffffff;
  color: #111b21;
  border: 1px solid #d1d7db;
}
.pv-chat-footer .wpp-chat-input::placeholder { color: #667781; }

/* Balões do chat privado no padrão WhatsApp claro */
.pv-chat-main .wpp-msg-in .wpp-msg-bubble {
  background: #ffffff !important;
  border-top-left-radius: 0;
  box-shadow: 0 1px .5px rgba(11, 20, 26, .18);
}
.pv-chat-main .wpp-msg-out .wpp-msg-bubble {
  background: #d9fdd3 !important;
  border-top-right-radius: 0;
  box-shadow: 0 1px .5px rgba(11, 20, 26, .18);
}
.pv-chat-main .wpp-msg-text {
  color: #111b21;
}
.pv-chat-main .wpp-msg-time {
  color: #667781;
}
.pv-chat-main .wpp-date-separator span {
  background: #e1f2fb;
  color: #54656f;
}

/* ===================== KANBAN BOARD ===================== */
.kanban-toolbar {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 8px 0 14px;
  flex-wrap: wrap;
}
.kanban-toolbar .kanban-search-wrap {
  flex: 1;
  min-width: 240px;
}
/* Modal de chat aberto a partir do Kanban de grupos (não sai do Kanban) */
.kanban-chat-overlay {
  /* O overlay do chat do Kanban só precisa cobrir o board (sem z-index próprio).
     Mantê-lo baixo garante que QUALQUER modal aberto a partir do chat (perguntar
     à IA, enviar card, msg pronta, gerenciar grupo, etc.) apareça NA FRENTE dele,
     sem precisar elevar o z-index de cada modal individualmente. */
  z-index: 90;
  padding: 2.5vh 2vw;
}
.kanban-chat-modal-card {
  position: relative;
  width: min(980px, 96vw);
  height: 92vh;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 24px 80px rgba(0,0,0,.5);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.kanban-chat-modal-card #workspace-group-main,
.kanban-chat-modal-card #pv-chat-main {
  flex: 1 !important;
  min-height: 0;
  position: relative !important;
  inset: auto !important;
  overflow: hidden;
  display: flex !important;
}
.kanban-chat-modal-card .wpp-chat-modal {
  width: 100% !important;
  height: 100% !important;
  flex: 1;
}
.kanban-chat-close {
  position: absolute;
  top: 8px;
  right: 10px;
  z-index: 5;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 50%;
  background: rgba(0,0,0,.45);
  color: #fff;
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kanban-chat-close:hover { background: rgba(0,0,0,.65); }

/* =====================================================================
   MAXIMIZAR CHAT — o chat (lista + conversa) ocupa a tela inteira,
   escondendo o menu lateral e o banner superior. Acionado pelo botão
   ".chat-maximize-btn" presente nos cabeçalhos de chat, que adiciona/
   remove a classe "chat-maximized" no <body>.
   ===================================================================== */
body.chat-maximized .sidebar { display: none !important; }
body.chat-maximized #section-work-focus,
body.chat-maximized .page-head { display: none !important; }
body.chat-maximized .main-content { padding: 0 !important; }
body.chat-maximized .pv-chat-layout,
body.chat-maximized .workspace-groups-layout {
  height: 100vh !important;
  min-height: 100vh !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* Overlay do chat do Kanban também vai a tela cheia. */
body.chat-maximized .kanban-chat-overlay { padding: 0 !important; }
body.chat-maximized .kanban-chat-modal-card {
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  border: none !important;
  border-radius: 0 !important;
}
/* Modal de chat de lead (overlay centralizado) a tela cheia. */
body.chat-maximized .lc-chat-overlay { padding: 0 !important; }
body.chat-maximized .lc-chat-overlay .wpp-chat-modal {
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  max-height: 100vh !important;
  border-radius: 0 !important;
}

/* Botão maximizar/restaurar nos cabeçalhos de chat. */
.chat-maximize-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 30px;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--border, rgba(255,255,255,.12));
  color: var(--text, #e2e8f0);
  border-radius: 9px;
  padding: 0 9px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .15s, opacity .15s;
}
.chat-maximize-btn:hover { background: rgba(255,255,255,.14); }
.chat-maximize-btn .ico-min { display: none; }
.chat-maximize-btn .ico-max { display: inline-flex; }
body.chat-maximized .chat-maximize-btn .ico-max { display: none; }
body.chat-maximized .chat-maximize-btn .ico-min { display: inline-flex; }

.kanban-head-stack {
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}
.kanban-maximize-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--border, rgba(255,255,255,.12));
  color: var(--text, #e2e8f0);
  border-radius: 10px;
  padding: 0 12px;
  cursor: pointer;
  font-weight: 700;
  font-size: .82rem;
  transition: background .15s, border-color .15s, color .15s;
}
.kanban-maximize-btn:hover {
  background: rgba(255,255,255,.14);
  border-color: rgba(96,165,250,.45);
}
.kanban-maximize-btn .ico-min { display: none; }
.kanban-maximize-btn .ico-max { display: inline-flex; }
body.kanban-maximized .kanban-maximize-btn .ico-max { display: none; }
body.kanban-maximized .kanban-maximize-btn .ico-min { display: inline-flex; }

body.kanban-maximized .sidebar { display: none !important; }
body.kanban-maximized #section-work-focus { display: none !important; }
body.kanban-maximized .main-content {
  padding: 0 !important;
  max-width: 100vw !important;
  width: 100vw !important;
}
body.kanban-maximized #admin-content {
  padding: 0 !important;
}
body.kanban-maximized .page-head {
  position: fixed;
  top: 10px;
  right: 12px;
  left: 12px;
  z-index: 60;
  margin: 0 !important;
  pointer-events: none;
}
body.kanban-maximized .page-head .page-title-block {
  display: none !important;
}
body.kanban-maximized .page-head .page-head-actions {
  margin-left: auto;
  pointer-events: auto;
  justify-content: flex-end;
}
body.kanban-maximized .kanban-toolbar {
  padding: 58px 12px 10px !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
body.kanban-maximized .kanban-board-wrapper {
  height: calc(100vh - 128px) !important;
  min-height: calc(100vh - 128px) !important;
  padding: 0 12px 12px !important;
}
.kanban-toolbar input {
  flex: 1;
  min-width: 240px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--surface2);
  color: var(--text);
  font-size: .88rem;
  outline: none;
}
.kanban-toolbar input:focus { border-color: #2563eb; }
.kanban-stats {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.kanban-stat-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text-muted);
  font-size: .74rem;
}
.kanban-stat-chip b { color: var(--text); }
.kanban-stat-chip-warn {
  background: rgba(245,158,11,.12);
  border-color: rgba(245,158,11,.4);
  color: #f59e0b;
}
.kanban-stat-chip-warn b { color: #f59e0b; }

.kanban-board-wrapper {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
  height: calc(100vh - 210px);
  min-height: 360px;
  cursor: grab;                       /* "mão aberta" para arrastar o board */
  scrollbar-width: none;              /* Firefox: oculta a barra horizontal */
  -ms-overflow-style: none;           /* IE/Edge legado */
}
.kanban-board-wrapper::-webkit-scrollbar { width: 0; height: 0; display: none; }
.kanban-board-wrapper.kb-grabbing { cursor: grabbing; user-select: none; }
.kanban-board-wrapper.kb-grabbing * { cursor: grabbing !important; }
.kanban-board {
  display: flex;
  align-items: stretch;
  gap: 14px;
  height: 100%;
  min-height: 320px;
  padding: 2px;
}
.kanban-col {
  flex: 0 0 300px;
  min-width: 280px;
  max-width: 320px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: 4px solid var(--kanban-col-color, #94a3b8);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 100%;
  transition: background .15s, border-color .15s;
}
.kanban-col-dropover {
  background: rgba(37,99,235,.06);
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37,99,235,.18);
}
.kanban-col-header {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  background: var(--surface2);
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
.kanban-col-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.kanban-col-sort-row { display: flex; }
.kanban-col-sort-row .kanban-col-sort { width: 100%; max-width: none; }
.kanban-col-title {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1;
}
.kanban-col-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.kanban-col-name {
  font-size: .86rem;
  font-weight: 700;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kanban-col-count {
  background: var(--surface);
  color: var(--text-muted);
  border: 1px solid var(--border);
  padding: 1px 8px;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 700;
}
.kanban-col-new {
  background: #25D366;
  color: #fff;
  border-radius: 999px;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  font-size: .66rem;
  font-weight: 800;
  line-height: 18px;
  text-align: center;
  display: inline-block;
  animation: pulse-badge 1.8s ease-in-out infinite;
}
.kanban-col-actions { flex-shrink: 0; }
.kanban-col-sort {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: .68rem;
  font-weight: 600;
  padding: 2px 4px;
  cursor: pointer;
  max-width: 108px;
  outline: none;
}
.kanban-col-sort:hover { border-color: var(--primary, #2563eb); }
.kanban-col-edit {
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  font-size: .9rem;
  padding: 4px 6px;
  border-radius: 6px;
  transition: background .15s, color .15s;
}
.kanban-col-edit:hover {
  background: rgba(239,68,68,.12);
  color: #ef4444;
}
.kanban-col-body {
  flex: 1;
  overflow-y: auto;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.kanban-empty-col {
  font-size: .74rem;
  color: var(--text-muted);
  text-align: center;
  padding: 30px 12px;
  border: 1px dashed var(--border);
  border-radius: 8px;
  opacity: .65;
}

.kanban-card {
  position: relative;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 10px 22px 10px 11px;
  cursor: pointer;
  transition: transform .12s, box-shadow .12s, border-color .12s;
  display: flex;
  flex-direction: column;
  gap: 7px;
  user-select: none;
}
.kanban-card:hover {
  transform: translateY(-1px);
  border-color: #2563eb;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.kanban-card-dragging {
  opacity: .55;
  transform: rotate(-1.5deg);
}
/* Alça (6 pontinhos) indicando que o card pode ser arrastado entre colunas. */
.kanban-card-drag-handle {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  opacity: .45;
  cursor: grab;
  padding: 2px;
  transition: opacity .15s;
}
.kanban-card:hover .kanban-card-drag-handle { opacity: .8; }
.kanban-card-drag-handle:active { cursor: grabbing; }
.kanban-card-header {
  display: flex;
  align-items: center;
  gap: 9px;
}
.kanban-card-unread {
  flex-shrink: 0;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: #25D366;
  color: #fff;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 800;
  line-height: 20px;
  text-align: center;
  box-shadow: 0 0 0 2px var(--surface2);
  animation: pulse-badge 1.6s ease-in-out infinite;
}
.kanban-card-unread-grupo {
  background: #38BDF8;
  color: #03131A;
}
.kanban-card-has-unread {
  border-color: #25D366;
  box-shadow: 0 0 0 1px rgba(37,211,102,.35);
}
.kanban-card-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg,#7c3aed,#2563eb);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .88rem;
  flex-shrink: 0;
  overflow: hidden;
}
.kanban-card-head-info {
  flex: 1;
  min-width: 0;
}
.kanban-card-name {
  font-size: .84rem;
  font-weight: 700;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 6px;
}
.kanban-card-name > span:first-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.kanban-card-icons {
  font-size: .75rem;
  flex-shrink: 0;
}
.kanban-card-phone {
  font-size: .68rem;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
}
.kanban-card-preview {
  font-size: .76rem;
  color: var(--text-muted);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.kanban-card-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.kanban-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-top: 2px;
}
.kanban-card-leadtag {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 700;
  background: rgba(59,130,246,.18);
  color: #60a5fa;
  border: 1px solid rgba(59,130,246,.32);
}
.kanban-card-menu {
  background: none;
  border: none;
  color: var(--text-muted);
  font-size: .9rem;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 6px;
  margin-left: auto;
}
.kanban-card-menu:hover {
  background: rgba(255,255,255,.07);
  color: var(--text);
}

.kanban-col-add {
  flex: 0 0 260px;
  min-width: 240px;
  align-self: flex-start;
  max-height: 100%;
  background: transparent;
  border: 2px dashed var(--border);
  border-top: 2px dashed var(--border);
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 12px;
  transition: border-color .15s, background .15s;
  min-height: 140px;
}
.kanban-col-add:hover {
  border-color: #2563eb;
  background: rgba(37,99,235,.06);
}
.kanban-col-add-inner {
  text-align: center;
  color: var(--text-muted);
}
.kanban-col-add-icon {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 6px;
  color: #2563eb;
}
.kanban-col-add-text {
  font-size: .82rem;
  font-weight: 600;
}

/* Light theme adjustments */
[data-theme="light"] .kanban-card,
body.light-mode .kanban-card {
  background: #ffffff;
}
[data-theme="light"] .kanban-card-menu:hover,
body.light-mode .kanban-card-menu:hover {
  background: rgba(0,0,0,.05);
}

/* ===================== RESPONSIVE ===================== */
@media (max-width: 768px) {
  .pv-chat-layout {
    height: calc(100vh - 120px);
  }
  .workspace-groups-layout {
    height: calc(100vh - 120px);
    min-height: 0;
  }
  .pv-chat-sidebar {
    width: 100%;
    max-width: none;
    border-right: none;
  }
  .pv-chat-main {
    display: none;
    position: absolute;
    inset: 0;
    z-index: 50;
    background: var(--bg);
  }
  .pv-chat-layout.chat-open .pv-chat-sidebar {
    display: none;
  }
  .pv-chat-layout.chat-open .pv-chat-main {
    display: flex;
  }
  .pv-chat-back-btn {
    display: flex !important;
  }
  .pv-chat-header-top {
    padding: 8px 10px 5px;
    gap: 8px;
  }
  .pv-chat-header-actions {
    padding: 0 10px 8px;
    gap: 5px;
  }
  .pv-chat-header-actions > .btn,
  .pv-chat-header-actions > select,
  .pv-chat-header-actions #pv-lead-action-btns > .btn,
  .pv-lead-actions-row > .btn {
    min-height: 32px;
  }
  #pv-lead-client-actions {
    gap: 5px !important;
  }
  .pv-lead-actions-row {
    justify-content: stretch !important;
    width: 100%;
  }
  .pv-lead-actions-row > .btn {
    flex: 1 1 180px;
    justify-content: center;
    min-width: 0;
  }
  .pv-lead-files-grid {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    padding-top: 6px !important;
  }
  .pv-lead-file-row {
    align-items: flex-start !important;
    padding: 5px 6px !important;
  }
  .pv-lead-file-row > span {
    flex: 1 1 auto;
  }
  .pv-lead-file-row .btn {
    flex: 0 0 auto;
  }
}

@media (max-width: 520px) {
  .pv-header-name {
    max-width: 52vw;
  }
  .pv-chat-header-actions > .btn,
  .pv-chat-header-actions > select,
  .pv-chat-header-actions #pv-lead-action-btns > .btn {
    flex: 1 1 calc(50% - 6px);
    justify-content: center;
    min-width: 0;
  }
  .pv-chat-header-actions > select {
    max-width: none;
  }
  .pv-lead-actions-row > .btn {
    flex-basis: 100%;
    width: 100%;
  }
  .pv-lead-file-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .pv-lead-file-row > span {
    display: flex !important;
  }
  .pv-lead-file-row .btn {
    white-space: nowrap;
  }
}

@media (max-width: 420px) {
  .pv-chat-header-actions > .btn,
  .pv-chat-header-actions > select,
  .pv-chat-header-actions #pv-lead-action-btns > .btn {
    flex-basis: 100%;
  }
  .pv-lead-file-row {
    grid-template-columns: 1fr;
  }
  .pv-lead-file-row .btn {
    width: 100%;
    justify-content: center;
  }
}

@keyframes pulse-badge {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: .7; }
}

.alert-pulse {
  animation: alert-pulse-anim 0.5s ease-in-out 3 !important;
  transition: none !important;
}
@keyframes alert-pulse-anim {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(239,68,68,.5); }
  50% { transform: scale(1.15); box-shadow: 0 0 12px 4px rgba(239,68,68,.4); }
}

.slow-pulse {
  animation: slow-pulse-anim 2.5s ease-in-out infinite !important;
  transition: none !important;
}
@keyframes slow-pulse-anim {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(16,185,129,0); }
  50% { transform: scale(1.08); box-shadow: 0 0 16px 6px rgba(16,185,129,.55); }
}

/* ===== PROFILE MODALS (Fintech Style) ===== */
.pf-modal { background:#0f1419;border-radius:16px;width:min(620px,95vw);max-height:88vh;overflow-y:auto;padding:0;box-shadow:0 24px 80px rgba(0,0,0,.6);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent; }
.pf-modal::-webkit-scrollbar { width:6px; }
.pf-modal::-webkit-scrollbar-thumb { background:rgba(255,255,255,.1);border-radius:3px; }
#cip-common-groups-list { scrollbar-width:thin; scrollbar-color:rgba(148,163,184,.32) transparent; }
#cip-common-groups-list::-webkit-scrollbar { width:6px; }
#cip-common-groups-list::-webkit-scrollbar-track { background:transparent; }
#cip-common-groups-list::-webkit-scrollbar-thumb { background:rgba(148,163,184,.32); border-radius:999px; }
#cip-common-groups-list::-webkit-scrollbar-thumb:hover { background:rgba(148,163,184,.5); }
.pf-header { position:sticky;top:0;z-index:2;padding:20px 24px 16px;border-radius:16px 16px 0 0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }
.pf-header-title { font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:-.01em; }
.pf-header-sub { font-size:.72rem;color:rgba(255,255,255,.55);margin-top:3px; }
.pf-close { background:rgba(255,255,255,.12);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.15rem;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0; }
.pf-close:hover { background:rgba(255,255,255,.25); }
.pf-score-wrap { display:flex;align-items:center;gap:12px;margin-top:10px; }
.pf-score-bar { flex:1;height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden; }
.pf-score-fill { height:100%;border-radius:3px;transition:width .6s ease; }
.pf-score-label { font-size:.7rem;font-weight:700;letter-spacing:.03em; }
.pf-badge { display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:.68rem;font-weight:700;letter-spacing:.02em; }
.pf-badge.ok { background:rgba(34,197,94,.15);color:#22c55e; }
.pf-badge.warn { background:rgba(245,158,11,.15);color:#f59e0b; }
.pf-badge.danger { background:rgba(239,68,68,.15);color:#ef4444; }
.pf-badge.neutral { background:rgba(148,163,184,.12);color:#94a3b8; }
.pf-body { padding:8px 20px 20px; }
.pf-highlights { display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px; }
.pf-highlight-card { background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:14px 16px;text-align:center; }
.pf-highlight-label { font-size:.65rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px; }
.pf-highlight-value { font-size:1.15rem;font-weight:800;color:#e2e8f0; }
.pf-highlight-value.ok { color:#22c55e; }
.pf-highlight-value.warn { color:#f59e0b; }
.pf-highlight-value.danger { color:#ef4444; }
.pf-card { background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px 18px;margin-bottom:12px; }
.pf-card-title { display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06); }
.pf-card-title span:first-child { font-size:.95rem; }
.pf-card-title span:last-child { font-size:.82rem;font-weight:700;color:#e2e8f0;letter-spacing:-.01em; }
.pf-field { display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.03); }
.pf-field:last-child { border-bottom:none; }
.pf-field-label { font-size:.75rem;color:#64748b;flex-shrink:0;margin-right:16px; }
.pf-field-value { font-size:.84rem;font-weight:600;color:#e2e8f0;text-align:right; }
.pf-field-value.ok { color:#22c55e; }
.pf-field-value.warn { color:#f59e0b; }
.pf-field-value.danger { color:#ef4444; }
.pf-field-value.vazio { color:#475569;opacity:.6;cursor:pointer;font-weight:400; }
.pf-alert-card { display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:10px;margin-bottom:6px;font-size:.78rem;line-height:1.4; }
.pf-alert-card.risco { background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.15);color:#fca5a5; }
.pf-alert-card.atencao { background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.15);color:#fcd34d; }
.pf-docs-footer { padding:16px 20px;border-top:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);border-radius:0 0 16px 16px; }
.pf-docs-list { display:flex;flex-wrap:wrap;gap:6px;margin-top:8px; }
.pf-doc-chip { display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2);border-radius:8px;font-size:.72rem;color:#fbbf24; }
/* Chart card for patrimony evolution */
.pf-chart-card { background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:18px;margin-bottom:12px; }
.pf-chart-card canvas { max-height:200px; }
.pf-chart-resumo { margin-top:12px;font-size:.78rem;font-weight:700;display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px; }
.pf-chart-resumo.positivo { background:rgba(34,197,94,.08);color:#22c55e; }
.pf-chart-resumo.negativo { background:rgba(239,68,68,.08);color:#ef4444; }
.pf-chart-resumo.neutro { background:rgba(245,158,11,.08);color:#f59e0b; }
@media (max-width:500px) {
  .pf-highlights { grid-template-columns:1fr 1fr; }
  .pf-modal { border-radius:12px; }
  .pf-header { padding:16px 16px 12px; }
  .pf-body { padding:6px 14px 14px; }
}

/* ====== GRUPO CARDS — ESQUEMA VISUAL SaaS ====== */
.group-card {
  background: #1E293B !important;
  border: 1px solid #334155 !important;
  border-radius: 12px;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
  overflow: hidden;
}
.group-card:hover {
  background: #253348 !important;
  border-color: #475569 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
}
.group-card .group-header {
  border-bottom: none;
  padding: 18px 22px 0 22px !important;
}

/* Tier — borda esquerda + leve tint de fundo */
.group-card.tier-ruby {
  border-left: 4px solid #BE123C !important;
  background: linear-gradient(90deg, rgba(190,18,60,.10) 0%, #1E293B 12%) !important;
}
.group-card.tier-ruby:hover {
  background: linear-gradient(90deg, rgba(190,18,60,.13) 0%, #253348 14%) !important;
}

.group-card.tier-high {
  border-left: 4px solid #D4A72C !important;
  background: linear-gradient(90deg, rgba(212,167,44,.08) 0%, #1E293B 12%) !important;
}
.group-card.tier-high:hover {
  background: linear-gradient(90deg, rgba(212,167,44,.11) 0%, #253348 14%) !important;
}

.group-card.tier-mid {
  border-left: 4px solid #C0C7D1 !important;
  background: linear-gradient(90deg, rgba(192,199,209,.07) 0%, #1E293B 12%) !important;
}
.group-card.tier-mid:hover {
  background: linear-gradient(90deg, rgba(192,199,209,.10) 0%, #253348 14%) !important;
}

.group-card.tier-low { border-left: 4px solid #475569 !important; }

/* Section labels */
.gc-section-label {
  font-size: .6rem;
  color: #64748B;
  text-transform: uppercase;
  letter-spacing: .7px;
  font-weight: 600;
  padding-left: 2px;
  margin-bottom: 3px;
}

/* Bloco de documentos */
.gc-docs-block {
  background: #1a2536;
  border-radius: 8px;
  padding: 12px 14px;
  margin: 10px 0 0;
}

/* Botões — padronização SaaS */
.gc-action-btn {
  background: #1E293B;
  border: 1px solid #334155;
  color: #CBD5E1;
  font-size: .78rem;
  font-weight: 500;
  padding: 7px 14px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
}
.gc-action-btn:hover {
  background: #334155;
  border-color: #475569;
  color: #E2E8F0;
}
/* Chip de documento */
.gc-doc-chip {
  background: #334155 !important;
  color: #E2E8F0 !important;
  border: 1px solid #475569 !important;
  font-size: .7rem;
  font-weight: 500;
  padding: 3px 9px;
  border-radius: 6px;
  cursor: pointer;
  transition: background .2s;
}
.gc-doc-chip:hover { background: #475569 !important; }
/* Upload btn */
.gc-upload-btn {
  background: #2563EB !important;
  color: #fff !important;
  border: none !important;
  font-size: .72rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  transition: background .2s;
}
.gc-upload-btn:hover { background: #1D4ED8 !important; }
/* Partner / secondary btn */
.gc-partner-btn {
  background: #475569 !important;
  color: #E2E8F0 !important;
  border: 1px solid #64748B !important;
  font-size: .74rem;
  font-weight: 500;
  padding: 5px 12px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  transition: background .2s;
}
.gc-partner-btn:hover { background: #64748B !important; }
/* Value chips */
.gc-value-chip {
  font-size: .7rem;
  color: #94A3B8;
  background: #0F172A;
  padding: 3px 9px;
  border-radius: 8px;
  border: 1px solid #1E293B;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
/* Danger btn */
.gc-danger-btn {
  background: transparent !important;
  border: 1px solid #52201E !important;
  color: #FCA5A5 !important;
  font-size: .72rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: background .2s, border-color .2s;
}
.gc-danger-btn:hover { background: rgba(220,38,38,.10) !important; border-color: #DC2626 !important; }
/* Pin btn */
.gc-pin-btn {
  background: transparent;
  border: 1px solid #334155;
  color: #94A3B8;
  font-size: .72rem;
  padding: 4px 8px;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  transition: background .2s;
}
.gc-pin-btn:hover { background: #334155; }
.gc-pin-btn.active { background: rgba(245,158,11,.12); border-color: #F59E0B; color: #F59E0B; }
/* Tier badge */
.gc-tier-badge {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .6px;
  padding: 2px 8px;
  border-radius: 6px;
  line-height: 1;
}
.gc-tier-badge.ruby   { color: #F9A8BD; background: rgba(190,18,60,.14); border: 1px solid rgba(225,29,72,.3); }
.gc-tier-badge.gold   { color: #FDE68A; background: rgba(212,167,44,.12); border: 1px solid rgba(230,185,61,.28); }
.gc-tier-badge.silver { color: #E2E8F0; background: rgba(192,199,209,.10); border: 1px solid rgba(212,219,228,.25); }
/* Dados do processo chip */
.gc-dados-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .7rem;
  color: #94A3B8;
  background: #0F172A;
  padding: 3px 9px;
  border-radius: 8px;
  cursor: pointer;
  border: 1px solid #1E293B;
  user-select: none;
  transition: background .2s, border-color .2s;
}
.gc-dados-chip:hover { background: #1E293B; border-color: #334155; }
/* Actions row */
.gc-actions-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  padding-top: 2px;
}
/* Drop zone */
.gc-drop-zone {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  padding: 6px 10px;
  background: #1a2536;
  border-radius: 8px;
  border: 1px solid #253348;
  transition: all .2s;
  max-width: 100%;
}
/* ANA badge */
.gc-ana-badge {
  font-size: .58rem;
  font-weight: 600;
  color: #5EEAD4;
  background: rgba(94,234,212,.08);
  padding: 2px 7px;
  border-radius: 6px;
  border: 1px solid rgba(94,234,212,.18);
}
/* Pending docs zone */
.gc-pending-zone {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  background: rgba(245,158,11,.05);
  border-radius: 8px;
  border: 1px solid rgba(245,158,11,.15);
  margin-top: 3px;
}
/* Legacy compat — neutralize old tier card styles */
.silver-card {
  background: #1E293B !important;
  border-color: #334155 !important;
  animation: none !important;
  box-shadow: 0 0 8px rgba(192,199,208,.22), inset 0 1px 0 rgba(255,255,255,.1);
}
@keyframes silverShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes silverPulse { 0%,100%{} }
.silver-card .group-header, .silver-card .lead-card-header { border-bottom-color: #334155; }
.silver-card:hover { background: #253348 !important; border-color: #475569 !important; box-shadow: 0 2px 12px rgba(0,0,0,.25); }
.gold-card {
  background: #1E293B !important;
  border-color: #334155 !important;
  animation: none !important;
  box-shadow: 0 0 8px rgba(255,215,0,.25), inset 0 1px 0 rgba(255,215,0,.15);
}
@keyframes goldShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes goldPulse { 0%,100%{} }
.gold-card .group-header, .gold-card .lead-card-header { border-bottom-color: #334155; }
.gold-card:hover { background: #253348 !important; border-color: #475569 !important; box-shadow: 0 2px 12px rgba(0,0,0,.25); }
.ruby-card {
  background: #1E293B !important;
  border-color: #334155 !important;
  animation: none !important;
  box-shadow: 0 0 10px rgba(229,57,98,.32), inset 0 1px 0 rgba(255,140,160,.18);
}
@keyframes rubyShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes rubyPulse { 0%,100%{} }
.ruby-card .group-header, .ruby-card .lead-card-header { border-bottom-color: #334155; }
.ruby-card:hover { background: #253348 !important; border-color: #475569 !important; box-shadow: 0 2px 12px rgba(0,0,0,.25); }
/* Neutralize old tier overrides */
.silver-card span[style*="text-transform:uppercase"],
.gold-card span[style*="text-transform:uppercase"],
.ruby-card span[style*="text-transform:uppercase"] { color: #64748B !important; text-shadow: none !important; }
.silver-card .doc-upload-btn, .gold-card .doc-upload-btn, .ruby-card .doc-upload-btn { background: #2563EB !important; color: #fff !important; }
.silver-card .btn.btn-sm[style*="background:var(--surface)"],
.gold-card .btn.btn-sm[style*="background:var(--surface)"],
.ruby-card .btn.btn-sm[style*="background:var(--surface)"] { background: #1E293B !important; color: #CBD5E1 !important; border-color: #334155 !important; }

/* ===================== TEMA CLARO ===================== */
body[data-theme="light"] .card,
body[data-theme="light"] .lead-card,
body[data-theme="light"] [id^="cli-card-"],
body[data-theme="light"] .group-card,
body[data-theme="light"] .campaign-card,
body[data-theme="light"] .flow-list-card,
body[data-theme="light"] .pv-chat-layout,
body[data-theme="light"] .workspace-groups-layout,
body[data-theme="light"] .kanban-column,
body[data-theme="light"] .kanban-card,
body[data-theme="light"] .flow-node,
body[data-theme="light"] .flow-legend,
body[data-theme="light"] .dados-processo-grid {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.08) !important;
}
body[data-theme="light"] .lead-card-header,
body[data-theme="light"] .group-card .group-header,
body[data-theme="light"] .send-card-modal-header,
body[data-theme="light"] .send-card-list,
body[data-theme="light"] .pv-chat-header,
body[data-theme="light"] .pv-chat-footer,
body[data-theme="light"] .pv-chat-sidebar,
body[data-theme="light"] .workspace-groups-sidebar {
  background: var(--surface2) !important;
  border-color: var(--border) !important;
}
body[data-theme="light"] .pv-chat-main,
body[data-theme="light"] .pv-chat-header {
  background: var(--surface2) !important;
}
body[data-theme="light"] .pv-chat-body,
body[data-theme="light"] .wpp-chat-body {
  background-color: #EFEAE2 !important;
}
body[data-theme="light"] .pv-header-name,
body[data-theme="light"] .wpp-chat-title,
body[data-theme="light"] h1,
body[data-theme="light"] h2,
body[data-theme="light"] h3,
body[data-theme="light"] h4,
body[data-theme="light"] strong {
  color: var(--text-main);
}
body[data-theme="light"] input,
body[data-theme="light"] select,
body[data-theme="light"] textarea,
body[data-theme="light"] .flow-msg,
body[data-theme="light"] .flow-substep,
body[data-theme="light"] .flow-ai-input-area textarea {
  background: #FFFFFF !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
body[data-theme="light"] input::placeholder,
body[data-theme="light"] textarea::placeholder {
  color: #94A3B8 !important;
}
body[data-theme="light"] th {
  background: #F1F5F9 !important;
  color: #475569 !important;
}
body[data-theme="light"] td {
  color: var(--text);
}
body[data-theme="light"] tr:hover td {
  background: rgba(37,99,235,.035);
}
body[data-theme="light"] .work-focus-panel {
  background: linear-gradient(135deg, #FFFFFF, #EFF6FF) !important;
  border-color: rgba(37,99,235,.14) !important;
  box-shadow: 0 18px 38px rgba(15,23,42,.08) !important;
}
body[data-theme="light"] .work-focus-action {
  background: rgba(37,99,235,.06);
  color: var(--text-main);
  border-color: rgba(37,99,235,.16);
}
body[data-theme="light"] .work-focus-action:hover {
  background: rgba(37,99,235,.10);
}
body[data-theme="light"] .pv-chat-item,
body[data-theme="light"] .group-item,
body[data-theme="light"] .send-card-item,
body[data-theme="light"] .cut2-doc-item {
  color: var(--text);
}
body[data-theme="light"] .pv-chat-item:hover,
body[data-theme="light"] .group-item:hover,
body[data-theme="light"] .send-card-item:hover,
body[data-theme="light"] .kanban-card:hover {
  background: rgba(37,99,235,.055) !important;
}
body[data-theme="light"] .pv-chat-item.active,
body[data-theme="light"] .group-item.active {
  background: rgba(37,99,235,.12) !important;
}
body[data-theme="light"] .pv-search-input-wrap,
body[data-theme="light"] .pv-chat-search,
body[data-theme="light"] .group-search,
body[data-theme="light"] .kanban-toolbar,
body[data-theme="light"] .doc-drop-zone,
body[data-theme="light"] .gc-drop-zone {
  background: #FFFFFF !important;
  border-color: var(--border) !important;
}
body[data-theme="light"] .btn:not(.btn-primary):not([style*="background:#"]):not([style*="background:linear-gradient"]) {
  color: var(--text);
}
body[data-theme="light"] .wa-btn-danger {
  color: #DC2626;
}
body[data-theme="light"] .kanban-chat-modal-card,
body[data-theme="light"] .wpp-chat-modal,
body[data-theme="light"] .flow-ai-panel {
  background: var(--surface) !important;
  border-color: var(--border) !important;
}
body[data-theme="light"] .lead-chat-zone-clickable:hover,
body[data-theme="light"] .group-chat-open-zone-clickable:hover {
  background: rgba(37,99,235,.045) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 4px 16px rgba(15,23,42,.08);
}
body[data-theme="light"] .lead-chat-cta {
  background: rgba(22,163,74,.10);
  border-color: rgba(22,163,74,.24);
  color: #15803D;
}
.silver-card .btn.btn-sm[style*="background:#e8760a"],
.gold-card .btn.btn-sm[style*="background:#e8760a"],
.ruby-card .btn.btn-sm[style*="background:#e8760a"] { background: #2563EB !important; border: 1px solid #2563EB !important; }

@keyframes fadeIn { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: scale(1); } }

.sidebar-group.collapsed > a[data-section] { display: none !important; }
.sidebar-group.collapsed > .sidebar-group-title .sg-chevron { transform: rotate(-90deg); }
.sidebar-group[data-collapsible="1"] > .sidebar-group-title { pointer-events: auto; cursor: pointer; }

.sidebar-unread-badge,
.nav-new-badge,
.notice-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  font-size: .64rem;
  font-weight: 800;
  line-height: 1;
  border: 2px solid var(--bg-sidebar);
  box-shadow: 0 6px 12px rgba(0,0,0,.2);
}
.notice-badge {
  position: absolute;
  top: 9px;
  right: 10px;
  animation: noticePulse 2s infinite;
}
.badge-danger {
  background: #EF4444 !important;
  color: #fff !important;
}
.badge-success {
  background: #22C55E !important;
  color: #06130A !important;
}
.badge-warning {
  background: #F59E0B !important;
  color: #1A1200 !important;
}
.badge-info {
  background: #38BDF8 !important;
  color: #03131A !important;
}

.page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.page-head-actions {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex-wrap: wrap;
}
.page-title-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.page-kicker {
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.page-title-block h2 {
  margin: 0;
}
.page-title-subtitle {
  font-size: .83rem;
  color: var(--text-muted);
  max-width: 860px;
  line-height: 1.5;
}

.work-focus-panel {
  background: linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  border: 1px solid var(--border-soft);
  border-radius: 12px;
  padding: 11px 16px;
  margin-bottom: 10px;
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}
.work-focus-panel.relationship {
  background: linear-gradient(135deg, rgba(34,197,94,.12), rgba(255,255,255,.015));
}
.work-focus-panel.process {
  background: linear-gradient(135deg, rgba(56,189,248,.12), rgba(255,255,255,.015));
}
.work-focus-panel.document {
  background: linear-gradient(135deg, rgba(245,158,11,.12), rgba(255,255,255,.015));
}
.work-focus-panel.system {
  background: linear-gradient(135deg, rgba(108,99,255,.12), rgba(255,255,255,.015));
}
.work-focus-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.work-focus-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 8px;
  border: 1px solid var(--border-soft);
  background: rgba(255,255,255,.04);
  color: var(--text-main);
  font-size: .72rem;
  font-weight: 700;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
}
.work-focus-toggle:hover {
  background: rgba(255,255,255,.08);
  transform: translateY(-1px);
}
.work-focus-toggle-icon {
  font-size: .9rem;
  line-height: 1;
}
.work-focus-eyebrow {
  font-size: .64rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 800;
}
.work-focus-title {
  font-size: .98rem;
  font-weight: 700;
  color: var(--text-main);
  margin-top: 2px;
}
.work-focus-copy {
  font-size: .76rem;
  color: var(--text-muted);
  line-height: 1.4;
  margin-top: 3px;
  max-width: 760px;
}
.work-focus-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.work-focus-stat {
  background: rgba(15,17,23,.56);
  border: 1px solid var(--border-soft);
  border-radius: 10px;
  padding: 8px 11px;
}
.work-focus-stat-label {
  font-size: .66rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-muted);
  margin-bottom: 4px;
}
.work-focus-stat-value {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--text-main);
}
.work-focus-stat-hint {
  font-size: .68rem;
  color: var(--text-muted);
  margin-top: 3px;
}
.work-focus-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.work-focus-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 11px;
  border-radius: 8px;
  border: 1px solid var(--border-soft);
  background: rgba(255,255,255,.04);
  color: var(--text-main);
  font-size: .74rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
}
.work-focus-action:hover {
  background: rgba(255,255,255,.08);
  transform: translateY(-1px);
}
.work-focus-panel.collapsed {
  padding-top: 8px;
  padding-bottom: 8px;
}
.work-focus-panel.collapsed .work-focus-top {
  margin-bottom: 0;
  align-items: center;
}
.work-focus-panel.collapsed .work-focus-copy,
.work-focus-panel.collapsed .work-focus-grid,
.work-focus-panel.collapsed .work-focus-actions {
  display: none;
}

.card,
.lead-card,
[id^="cli-card-"],
.group-card,
.campaign-card,
.flow-list-card {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-soft) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
}
.lead-card-header,
.group-card .group-header {
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)) !important;
  border-bottom: 1px solid var(--border-soft);
}
.lead-card:hover,
.group-card:hover,
.card:hover,
.campaign-card:hover,
.flow-list-card:hover {
  border-color: rgba(255,255,255,.14) !important;
  box-shadow: 0 18px 34px rgba(0,0,0,.22);
}
.lead-chat-zone,
.group-chat-open-zone {
  border-top: 1px solid var(--border-soft);
}
.lead-chat-zone-clickable:hover,
.group-chat-open-zone-clickable:hover {
  background: rgba(255,255,255,.035) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 4px 16px rgba(2,6,23,.2);
}
.lead-chat-cta {
  background: rgba(34,197,94,.08);
  border-color: rgba(34,197,94,.2);
  color: #86efac;
}
.lead-chat-preview {
  color: var(--text-muted);
}

.pv-chat-layout {
  border: 1px solid var(--border-soft);
  border-radius: 16px;
  background: var(--bg-card);
  box-shadow: 0 18px 36px rgba(0,0,0,.16);
}
.pv-chat-sidebar {
  background: #141924;
  border-right: 1px solid var(--border-soft);
}
.pv-chat-search {
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid var(--border-soft);
}
.pv-chat-search input {
  background: rgba(255,255,255,.04);
  border-color: var(--border-soft);
  color: var(--text-main);
}
.pv-chat-search input::placeholder {
  color: var(--text-muted);
}
.pv-chat-search .pv-chat-sort-select {
  background: rgba(255,255,255,.04);
  border-color: var(--border-soft);
  color: var(--text-main);
}
.pv-chat-search .pv-chat-sort-label {
  color: var(--text-muted);
}
.pv-chat-refresh-btn {
  background: rgba(255,255,255,.05);
  border-color: var(--border-soft);
  color: var(--text-main);
}
.pv-chat-refresh-btn:hover {
  background: rgba(255,255,255,.09);
  border-color: rgba(56,189,248,.35);
  color: var(--text-main);
}
.pv-chat-item {
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.pv-chat-item:hover {
  background: rgba(255,255,255,.04);
}
.pv-chat-item.active {
  background: linear-gradient(90deg, rgba(34,197,94,.16), rgba(255,255,255,.03));
}
.pv-chat-item-name {
  color: var(--text-main);
  font-weight: 600;
}
.pv-chat-item-meta {
  color: rgba(148,163,184,.88);
}
.pv-chat-item-meta-badge.ana {
  background: rgba(56,189,248,.14);
  color: #7dd3fc;
}
.pv-chat-item-meta-badge.wa {
  background: rgba(37,211,102,.16);
  color: #86efac;
}
.pv-chat-item-preview,
.pv-chat-item-time,
.pv-chat-empty {
  color: var(--text-muted);
}
.pv-chat-empty-list {
  color: var(--text-muted);
}
.pv-chat-empty-list-title {
  color: var(--text-main);
}
.pv-chat-main,
.pv-chat-header {
  background: #101521;
}

.gc-filter-pill {
  background: rgba(255,255,255,.03);
  border: 1px solid var(--border-soft);
  color: var(--text-muted);
  border-radius: 999px;
  padding: 6px 11px;
}
.gc-filter-pill:hover {
  border-color: rgba(56,189,248,.45);
  color: var(--text-main);
}
.gc-filter-pill.active {
  background: rgba(56,189,248,.14);
  border-color: rgba(56,189,248,.38);
  color: #BAE6FD;
}

.gc-filter-pill {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text-muted);
  font-size: .7rem;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.gc-filter-pill:hover { border-color: #3b82f6; color: var(--text); }
.gc-filter-pill.active { background: rgba(37,99,235,.15); border-color: #3b82f6; color: #60a5fa; font-weight: 600; }

/* =====================================================================
   PRICING — tipografia premium do bloco de preço (mensal/anual).
   Aplicada apenas onde houver as classes; HTML, cores e botões intactos.
   ===================================================================== */
.price-block {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
  line-height: 1;
  font-feature-settings: "tnum" 1, "lnum" 1; /* numerais tabulares */
  text-rendering: geometricPrecision;
}
.price-currency {
  font-size: 60%;
  font-weight: 600;
  opacity: .85;
  letter-spacing: 0;
  align-self: baseline;
  position: relative;
  top: -.1em;
}
.price-amount {
  font-weight: 900;
  letter-spacing: -.05em;
  text-shadow: 0 1px 2px rgba(0,0,0,.25);
  font-variant-numeric: tabular-nums;
}
.price-period {
  font-size: 42%;
  font-weight: 400;
  opacity: .55;
  letter-spacing: .01em;
  margin-left: 3px;
  align-self: baseline;
  position: relative;
  top: -.05em;
}

/* MENSAL — tamanho base do valor principal */
.price-monthly .price-amount {
  font-size: 2.4rem; /* +41% sobre 1.7rem original */
}

/* ANUAL — valor principal um pouco maior, gradiente discreto */
.price-annual .price-amount {
  font-size: 2.7rem; /* +35% sobre 2rem original */
  background: linear-gradient(180deg, #ffffff 0%, #f3e6c5 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 8px rgba(199,163,90,.15);
}
.price-annual .price-currency {
  -webkit-text-fill-color: rgba(255,255,255,.78);
  color: rgba(255,255,255,.78);
}

/* Destaque "R$ 399/mês" — segundo nível, mais forte que /ano */
.price-equivalent {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  font-weight: 700;
  font-feature-settings: "tnum" 1;
  letter-spacing: -.02em;
}
.price-equivalent .price-eq-currency { font-size: 70%; font-weight: 600; opacity: .9; }
.price-equivalent .price-eq-amount   { font-size: 1.05rem; font-weight: 800; letter-spacing: -.03em; }
.price-equivalent .price-eq-period   { font-size: 70%; font-weight: 500; opacity: .8; }

/* Responsividade — mobile reduz proporcionalmente preservando hierarquia */
@media (max-width: 640px) {
  .price-monthly .price-amount { font-size: 1.95rem; }
  .price-annual  .price-amount { font-size: 2.15rem; }
  .price-equivalent .price-eq-amount { font-size: .98rem; }
  .price-period { font-size: 44%; }
}

/* Micro animação no card do plano anual — leve elevação + brilho do preço */
.pricing-card-annual {
  isolation: isolate;
  transition: transform .35s cubic-bezier(.2,.8,.2,1),
              box-shadow .35s cubic-bezier(.2,.8,.2,1),
              border-color .35s ease;
  will-change: transform;
}
.pricing-card-annual:hover {
  transform: translateY(-4px);
}
.pricing-card-annual:hover .price-annual .price-amount {
  text-shadow: 0 4px 18px rgba(199,163,90,.45),
               0 1px 2px rgba(0,0,0,.25);
  filter: brightness(1.06);
  transition: text-shadow .35s ease, filter .35s ease;
}
.pricing-card-annual::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(120% 80% at 50% 0%, rgba(199,163,90,.18), transparent 60%);
  opacity: 0;
  transition: opacity .35s ease;
  z-index: -1;
}
.pricing-card-annual:hover::before { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .pricing-card-annual,
  .pricing-card-annual:hover,
  .pricing-card-annual:hover .price-annual .price-amount { transition: none; transform: none; filter: none; }
}

/* Tema claro - prioridade final sobre estilos específicos definidos ao longo do arquivo */
body[data-theme="light"] .card,
body[data-theme="light"] .lead-card,
body[data-theme="light"] [id^="cli-card-"],
body[data-theme="light"] .group-card,
body[data-theme="light"] .campaign-card,
body[data-theme="light"] .flow-list-card,
body[data-theme="light"] .pv-chat-layout,
body[data-theme="light"] .kanban-column,
body[data-theme="light"] .kanban-card,
body[data-theme="light"] .flow-node,
body[data-theme="light"] .flow-legend,
body[data-theme="light"] .dados-processo-grid {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.08) !important;
}
body[data-theme="light"] .pv-chat-sidebar,
body[data-theme="light"] .pv-chat-header,
body[data-theme="light"] .pv-chat-footer,
body[data-theme="light"] .lead-card-header,
body[data-theme="light"] .group-card .group-header,
body[data-theme="light"] .send-card-modal-header,
body[data-theme="light"] .send-card-list {
  background: var(--surface2) !important;
  border-color: var(--border) !important;
}
body[data-theme="light"] .pv-chat-main,
body[data-theme="light"] .pv-chat-header {
  background: var(--surface2) !important;
}
body[data-theme="light"] .pv-chat-body,
body[data-theme="light"] .wpp-chat-body {
  background-color: #EFEAE2 !important;
}
body[data-theme="light"] input,
body[data-theme="light"] select,
body[data-theme="light"] textarea,
body[data-theme="light"] .flow-msg,
body[data-theme="light"] .flow-substep,
body[data-theme="light"] .flow-ai-input-area textarea {
  background: #FFFFFF !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
body[data-theme="light"] .pv-header-name,
body[data-theme="light"] .wpp-chat-title,
body[data-theme="light"] .pv-chat-main,
body[data-theme="light"] .pv-chat-header,
body[data-theme="light"] .sidebar .logo,
body[data-theme="light"] h1,
body[data-theme="light"] h2,
body[data-theme="light"] h3,
body[data-theme="light"] h4,
body[data-theme="light"] strong {
  color: var(--text-main) !important;
}
body[data-theme="light"] th {
  background: #F1F5F9 !important;
  color: #475569 !important;
}
body[data-theme="light"] td,
body[data-theme="light"] .pv-chat-item,
body[data-theme="light"] .group-item,
body[data-theme="light"] .send-card-item {
  color: var(--text) !important;
}
body[data-theme="light"] .main-content {
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.98)) !important;
}
body[data-theme="light"] .sidebar {
  background: var(--bg-sidebar) !important;
}
body[data-theme="light"] .work-focus-panel {
  background: linear-gradient(135deg, #FFFFFF, #EFF6FF) !important;
  border-color: rgba(37,99,235,.14) !important;
}

/* =====================================================================
   REFINAMENTO VISUAL PREMIUM — Chat de Conversas e Grupos
   ---------------------------------------------------------------------
   Objetivo: hierarquia mais clara, espacamento consistente e botoes
   padronizados, mantendo o tema escuro atual e todas as funcionalidades.
   Apenas estilo: nenhuma logica, endpoint ou regra de negocio e alterada.
   Este bloco fica no fim do arquivo para ter prioridade sobre o cascade
   anterior; cores especificas de tema claro sao tratadas em variantes
   body[data-theme="light"] proprias.
   ===================================================================== */

/* ---- Cabecalho do chat: estrutura e hierarquia ---- */
.pv-chat-header-top {
  padding: 12px 18px 8px;
  gap: 12px;
}
.pv-header-avatar img,
.pv-header-avatar .pv-avatar-fallback {
  width: 42px;
  height: 42px;
  font-size: 1rem;
}
/* Bloco de identidade: nome em destaque + infos secundarias abaixo */
.pv-header-identity {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
}
.pv-header-name {
  font-size: .98rem;
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 1.2;
}
.pv-header-sub {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
.pv-header-phone {
  font-size: .78rem;
  color: var(--text-muted, #94a3b8);
  letter-spacing: .01em;
  white-space: nowrap;
}
.pv-header-labels {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  min-width: 0;
}
/* Chip unico e discreto de participantes (substitui a duplicidade antiga) */
.pv-header-chip {
  display: inline-flex;
  align-items: center;
  font-size: .72rem;
  font-weight: 500;
  color: var(--text-muted);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  padding: 2px 9px;
  border-radius: 999px;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  transition: background .15s, border-color .15s, color .15s;
}
.pv-header-chip:hover {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.20);
  color: var(--text-main);
}
/* Coluna das acoes do topo (Informacoes / Indicacao) */
.pv-header-top-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  align-items: center;
  flex-shrink: 0;
}

/* ---- Sistema padronizado de botoes do cabecalho ---- */
.pv-chat-header-actions {
  gap: 7px;
  padding: 0 18px 12px;
  align-items: center;
}
/* Combo de modo de mensagem alinhado a altura dos botoes */
.pv-chat-header-actions select {
  box-sizing: border-box;
  height: 34px;
  border-radius: 9px;
}
/* Base comum: altura, raio e espacamento padronizados */
.cab-act,
.cab-head-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 34px;
  padding: 0 13px;
  border-radius: 9px;
  font-size: .76rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.055);
  color: var(--text-main, #e9edef);
  transition: background .15s, border-color .15s, transform .12s, box-shadow .15s;
}
.cab-act svg,
.cab-head-btn svg { opacity: .85; }
.cab-act:hover,
.cab-head-btn:hover {
  background: rgba(255,255,255,.11);
  border-color: rgba(255,255,255,.22);
}
.cab-act:active,
.cab-head-btn:active { transform: translateY(1px); }

/* Botoes do topo (Informacoes / Indicacao / Resumo): destaque azulado leve */
.cab-head-btn {
  height: 30px;
  font-size: .74rem;
  background: rgba(56,189,248,.12);
  border-color: rgba(56,189,248,.26);
  color: #bae6fd;
}
.cab-head-btn:hover {
  background: rgba(56,189,248,.20);
  border-color: rgba(56,189,248,.42);
}

/* Acao de IA "Perguntar": mantem destaque roxo */
.cab-act--ai {
  background: linear-gradient(135deg,#7c3aed,#6366f1);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 2px 10px rgba(124,58,237,.30);
}
.cab-act--ai:hover {
  background: linear-gradient(135deg,#8b5cf6,#6366f1);
  border-color: transparent;
}
/* Acao "Msg Pronta": mantem destaque verde */
.cab-act--ready {
  background: linear-gradient(135deg,#059669,#10b981);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 2px 10px rgba(5,150,105,.28);
}
.cab-act--ready:hover {
  background: linear-gradient(135deg,#10b981,#059669);
  border-color: transparent;
}
/* Botoes dinamicos do lead (Etiquetar/Resumo "quando existir") herdam padrao */
.pv-chat-header-actions #pv-lead-action-btns > .btn {
  height: 34px;
  min-height: 34px;
  border-radius: 9px;
  font-size: .76rem;
}

/* Tema claro: botoes neutros legiveis sobre fundo claro */
body[data-theme="light"] .cab-act {
  background: rgba(15,23,42,.045);
  border-color: rgba(15,23,42,.12);
  color: #334155;
}
body[data-theme="light"] .cab-act:hover {
  background: rgba(15,23,42,.08);
  border-color: rgba(15,23,42,.2);
}
body[data-theme="light"] .pv-header-chip {
  color: #64748b;
  background: rgba(15,23,42,.05);
  border-color: rgba(15,23,42,.12);
}
body[data-theme="light"] .pv-header-chip:hover {
  background: rgba(15,23,42,.09);
  border-color: rgba(15,23,42,.2);
  color: #1e293b;
}

/* ---- Lista lateral (coluna de conversas/grupos) ---- */
.pv-chat-search {
  padding: 12px 12px 10px;
}
.pv-chat-search input {
  height: 38px;
  border-radius: 9px;
}
.pv-chat-item {
  padding: 11px 14px;
  gap: 11px;
}
/* Item selecionado: realce elegante com barra de acento (ambos os temas) */
.pv-chat-item.active {
  box-shadow: inset 3px 0 0 #38bdf8;
}
.pv-chat-item-name {
  font-size: .89rem;
}
.pv-chat-item-preview {
  margin-top: 3px;
}
/* Botao "Converter" discreto e compacto */
.pv-convert-btn {
  margin-top: 5px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: transparent;
  border: 1px solid rgba(99,102,241,.45);
  color: #a5b4fc;
  font-size: .62rem;
  font-weight: 600;
  padding: 2px 9px;
  border-radius: 999px;
  cursor: pointer;
  opacity: .85;
  transition: background .15s, color .15s, border-color .15s, opacity .15s;
}
.pv-convert-btn:hover {
  opacity: 1;
  background: rgba(99,102,241,.16);
  border-color: rgba(99,102,241,.7);
  color: #c7d2fe;
}
body[data-theme="light"] .pv-convert-btn {
  color: #6366f1;
  border-color: rgba(99,102,241,.4);
}
body[data-theme="light"] .pv-convert-btn:hover {
  background: rgba(99,102,241,.1);
  color: #4f46e5;
}

/* ---- Area central de mensagens ---- */
/* Balao com largura maxima mais confortavel para leitura */
.pv-chat-main .wpp-msg-bubble,
.wpp-chat-body .wpp-msg-bubble {
  max-width: 68%;
  padding: 7px 10px 5px;
}
.wpp-msg {
  margin-bottom: 6px;
}
/* Horario e status de envio alinhados de forma discreta a direita */
.wpp-msg-time {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  justify-content: flex-end;
}

/* ---- Barra inferior de digitacao ---- */
.pv-chat-footer,
.wpp-chat-footer {
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
}
.pv-chat-footer .wpp-chat-input,
.wpp-chat-footer .wpp-chat-input {
  border-radius: 10px;
  padding: 9px 14px;
}

/* ---- Responsividade: botoes do cabecalho quebram de forma organizada ---- */
@media (max-width: 768px) {
  .pv-chat-header-top { padding: 9px 12px 6px; gap: 9px; }
  .pv-chat-header-actions { padding: 0 12px 9px; gap: 6px; }
  .cab-act,
  .cab-head-btn,
  .pv-chat-header-actions select { height: 32px; }
  .pv-header-top-actions { flex-direction: row; }
  .pv-chat-main .wpp-msg-bubble,
  .wpp-chat-body .wpp-msg-bubble { max-width: 82%; }
}
@media (max-width: 560px) {
  /* Permite que os botoes ocupem uma segunda linha sem ficarem grandes demais */
  .cab-act {
    flex: 1 1 calc(50% - 6px);
    min-width: 0;
  }
  .pv-header-name { max-width: 56vw; }
}
@media (max-width: 400px) {
  .cab-act { flex-basis: 100%; }
}

/* =====================================================================
   Linha de meta do cabecalho do chat de GRUPOS
   [N participantes] [📁 Ver processo] — logo abaixo do nome do grupo.
   ===================================================================== */
.grupo-chat-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  flex-wrap: wrap;
}
.grupo-chat-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 12px;
  border-radius: 7px;
  border: none;
  background: rgba(255, 255, 255, 0.08);
  color: #dbeafe;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}
#workspace-group-participants-chip.grupo-chat-chip { transition: background .18s ease; }
#workspace-group-participants-chip.grupo-chat-chip:hover { background: rgba(255, 255, 255, 0.14); }
.grupo-chat-processo-btn {
  cursor: pointer;
  transition: all 0.18s ease;
}
.grupo-chat-processo-btn:hover {
  background: rgba(16, 185, 129, 0.22);
  color: #ffffff;
}
/* Tema claro: fundo cinza claro nos chips */
body[data-theme="light"] .grupo-chat-chip {
  background: rgba(15, 23, 42, 0.06);
  color: #1e293b;
}
body[data-theme="light"] #workspace-group-participants-chip.grupo-chat-chip:hover {
  background: rgba(15, 23, 42, 0.10);
}
body[data-theme="light"] .grupo-chat-processo-btn:hover {
  background: rgba(16, 185, 129, 0.16);
  color: #065f46;
}

/* =====================================================================
   Overlay de arrastar-e-soltar arquivos nos modais de chat
   (corpo + rodapé + campo de digitação). pointer-events:none para que
   os eventos de drag/drop cheguem ao container por baixo.
   ===================================================================== */
.chat-dnd-overlay {
  position: absolute;
  inset: 0;
  z-index: 60;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0, 168, 132, 0.14);
  border: 3px dashed #00a884;
  border-radius: 10px;
  pointer-events: none;
}
.chat-dnd-overlay.active {
  display: flex;
}
.chat-dnd-inner {
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 14px 24px;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 600;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
}

/* ===== Botão "carregar mensagens antigas" (backfill) ===== */
.wa-backfill-btn {
  display: block;
  margin: 8px auto;
  padding: 6px 16px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--text, #e2e8f0);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  font-size: 0.74rem;
  cursor: pointer;
  transition: background 0.15s;
}
.wa-backfill-btn:hover { background: rgba(255, 255, 255, 0.16); }
.wa-backfill-btn:disabled { opacity: 0.6; cursor: default; }
body[data-theme="light"] .wa-backfill-btn {
  background: rgba(15, 23, 42, 0.06);
  color: #0f172a;
  border-color: rgba(15, 23, 42, 0.12);
}

/* ===== Fila de envio offline (bolha pendente / falha) ===== */
.wpp-msg.ob-pending .wpp-msg-bubble {
  opacity: 0.7;
  border: 1px dashed rgba(255, 193, 7, 0.55);
}
.wpp-msg.ob-pending .wpp-msg-time {
  color: #f59e0b !important;
}
.wpp-msg.ob-failed .wpp-msg-bubble {
  border: 1px solid rgba(248, 113, 113, 0.6);
}
.wpp-msg.ob-failed .wpp-msg-time {
  color: #f87171 !important;
}

/* ===== Indicador de presença (digitando / online / visto por último) ===== */
.wa-presence-bar {
  position: sticky;
  top: 0;
  z-index: 5;
  align-self: center;
  margin: 2px auto 6px;
  padding: 3px 12px;
  background: rgba(0, 168, 132, 0.16);
  color: var(--text, #e2e8f0);
  border-radius: 12px;
  font-size: 0.72rem;
  font-style: italic;
  width: fit-content;
  max-width: 80%;
  text-align: center;
  pointer-events: none;
}
body[data-theme="light"] .wa-presence-bar {
  background: rgba(0, 168, 132, 0.14);
  color: #0f172a;
}

/* ===== Seleção múltipla de mensagens (ações em lote) ===== */
.msg-select-mode .wpp-msg { cursor: pointer; }
.msg-select-mode .wpp-msg .wpp-msg-menu-btn { display: none !important; }
.wpp-msg.msg-selected .wpp-msg-bubble {
  outline: 2px solid var(--primary, #00a884);
  outline-offset: 1px;
}
.wpp-msg.msg-selected {
  background: rgba(0, 168, 132, 0.12);
  border-radius: 8px;
}
.msg-select-bar {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  z-index: 100001;
  display: flex;
  align-items: center;
  gap: 14px;
  background: #1e293b;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 10px 16px;
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.45);
}
.msg-select-bar .msg-select-count {
  color: #e2e8f0;
  font-size: 0.84rem;
  font-weight: 600;
}
.msg-select-bar .msg-select-actions {
  display: flex;
  gap: 8px;
}
.msg-select-bar button {
  background: rgba(255, 255, 255, 0.08);
  color: #e2e8f0;
  border: none;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 0.82rem;
  cursor: pointer;
  transition: background 0.15s;
}
.msg-select-bar button:hover { background: rgba(255, 255, 255, 0.16); }
.msg-select-bar button[data-act="delete"] { color: #fca5a5; }
.msg-select-bar button[data-act="forward"] { color: #7dd3fc; }
body[data-theme="light"] .msg-select-bar {
  background: #fff;
  border-color: rgba(15, 23, 42, 0.12);
}
body[data-theme="light"] .msg-select-bar .msg-select-count { color: #0f172a; }
body[data-theme="light"] .msg-select-bar button { background: rgba(15, 23, 42, 0.06); color: #0f172a; }
