/* ngumpulin dark theme — palet zinc netral + aksen emerald */

.dark {
  --dm-base: #0a0a0c;
  --dm-canvas: #0f0f12;
  --dm-elevated: #18181c;
  --dm-card: #1f1f24;
  --dm-card-hover: #26262d;
  --dm-inset: #141418;
  --dm-muted: #2a2a32;
  --dm-border: rgba(255, 255, 255, 0.09);
  --dm-border-strong: rgba(255, 255, 255, 0.14);
  --dm-text: #f4f4f5;
  --dm-text-secondary: #b4b4bc;
  --dm-text-muted: #8b8b96;
  --dm-text-faint: #65656f;
  --dm-accent: #34d399;
  --dm-accent-soft: rgba(52, 211, 153, 0.12);
  --dm-shadow: 0 1px 2px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.04);
  --dm-shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.05);
}

/* —— Dasar —— */
.dark body {
  background-color: var(--dm-canvas) !important;
  color: var(--dm-text);
}

.dark ::selection {
  background: rgba(52, 211, 153, 0.35);
  color: #fff;
}

/* —— Layout: nav & sidebar —— */
.dark nav.bg-white\/95,
.dark nav[class*='bg-white'] {
  background-color: rgba(20, 20, 23, 0.92) !important;
  border-color: var(--dm-border) !important;
  box-shadow: var(--dm-shadow);
  backdrop-filter: blur(12px);
}

.dark #sidebar {
  background-color: var(--dm-base) !important;
  border-color: var(--dm-border) !important;
}

.dark #sidebar .h-px {
  background-color: var(--dm-muted) !important;
}

/* —— Permukaan netral —— */
.dark .bg-white,
.dark .bg-white\/95,
.dark .bg-white\/80,
.dark .bg-white\/15 {
  background-color: var(--dm-card) !important;
}

.dark .bg-gray-50,
.dark .bg-gray-50\/80,
.dark .bg-gray-50\/95 {
  background-color: var(--dm-inset) !important;
}

.dark .bg-gray-100 {
  background-color: var(--dm-muted) !important;
}

.dark .bg-gray-200,
.dark .bg-gray-200\/70,
.dark .bg-gray-200\/90 {
  background-color: #35353f !important;
}

/* —— Kartu berwarna (stat, alert) —— */
.dark .bg-emerald-50,
.dark .bg-emerald-50\/80 { background-color: rgba(6, 78, 59, 0.22) !important; }
.dark .bg-emerald-100 { background-color: rgba(6, 95, 70, 0.32) !important; }

.dark .bg-amber-50,
.dark .bg-amber-50\/80 { background-color: rgba(146, 64, 14, 0.2) !important; }
.dark .bg-amber-100 { background-color: rgba(180, 83, 9, 0.28) !important; }

.dark .bg-blue-50,
.dark .bg-blue-50\/80 { background-color: rgba(30, 64, 175, 0.2) !important; }
.dark .bg-blue-100 { background-color: rgba(37, 99, 235, 0.28) !important; }

.dark .bg-red-50 { background-color: rgba(153, 27, 27, 0.2) !important; }
.dark .bg-red-100 { background-color: rgba(185, 28, 28, 0.28) !important; }

.dark .bg-teal-50 { background-color: rgba(19, 78, 74, 0.22) !important; }
.dark .bg-green-50,
.dark .bg-green-100 { background-color: rgba(20, 83, 45, 0.22) !important; }

.dark .bg-violet-50,
.dark .bg-violet-100 { background-color: rgba(91, 33, 182, 0.22) !important; }
.dark .bg-sky-50 { background-color: rgba(12, 74, 110, 0.22) !important; }
.dark .bg-indigo-50 { background-color: rgba(49, 46, 129, 0.22) !important; }
.dark .bg-purple-50 { background-color: rgba(88, 28, 135, 0.22) !important; }
.dark .bg-yellow-50,
.dark .bg-yellow-100 { background-color: rgba(133, 77, 14, 0.2) !important; }
.dark .bg-orange-50 { background-color: rgba(154, 52, 18, 0.2) !important; }
.dark .bg-rose-50 { background-color: rgba(159, 18, 57, 0.2) !important; }

/* —— Teks —— */
.dark .text-gray-900,
.dark .text-gray-950 { color: var(--dm-text) !important; }

.dark .text-gray-800 { color: #e8e8ed !important; }
.dark .text-gray-700 { color: var(--dm-text-secondary) !important; }
.dark .text-gray-600 { color: var(--dm-text-secondary) !important; }
.dark .text-gray-500 { color: var(--dm-text-muted) !important; }
.dark .text-gray-400 { color: var(--dm-text-faint) !important; }

.dark .text-slate-600 { color: var(--dm-text-muted) !important; }
.dark .text-slate-700 { color: #cbd5e1 !important; }

/* Teks berwarna — lebih terang & kontras */
.dark .text-emerald-500,
.dark .text-emerald-600 { color: #4ade80 !important; }
.dark .text-emerald-700,
.dark .text-emerald-800,
.dark .text-emerald-900 { color: #6ee7b7 !important; }

.dark .text-green-600 { color: #4ade80 !important; }

.dark .text-amber-700,
.dark .text-amber-800,
.dark .text-amber-900 { color: #fcd34d !important; }

.dark .text-blue-600 { color: #60a5fa !important; }
.dark .text-blue-700,
.dark .text-blue-800,
.dark .text-blue-900 { color: #93c5fd !important; }

.dark .text-indigo-600 { color: #818cf8 !important; }
.dark .text-indigo-700 { color: #a5b4fc !important; }

.dark .text-purple-600 { color: #c084fc !important; }
.dark .text-violet-700 { color: #c4b5fd !important; }

.dark .text-teal-600,
.dark .text-teal-700 { color: #2dd4bf !important; }

.dark .text-red-600 { color: #f87171 !important; }
.dark .text-red-700,
.dark .text-red-800 { color: #fca5a5 !important; }

.dark .text-sky-700 { color: #7dd3fc !important; }
.dark .text-yellow-700,
.dark .text-yellow-800 { color: #fde047 !important; }

.dark .hover\:text-blue-600:hover,
.dark .hover\:text-blue-600:hover * { color: #93c5fd !important; }

/* —— Border netral & berwarna —— */
.dark .border-gray-100,
.dark .border-gray-200,
.dark .border-gray-200\/80,
.dark .border-gray-200\/90,
.dark .border-gray-300 {
  border-color: var(--dm-border) !important;
}

.dark .border-emerald-100,
.dark .border-emerald-200 { border-color: rgba(52, 211, 153, 0.35) !important; }
.dark .border-amber-100,
.dark .border-amber-200 { border-color: rgba(251, 191, 36, 0.35) !important; }
.dark .border-blue-100,
.dark .border-blue-200 { border-color: rgba(96, 165, 250, 0.35) !important; }
.dark .border-red-100,
.dark .border-red-200 { border-color: rgba(248, 113, 113, 0.35) !important; }
.dark .border-green-100,
.dark .border-green-200 { border-color: rgba(74, 222, 128, 0.35) !important; }
.dark .border-purple-100,
.dark .border-purple-200 { border-color: rgba(192, 132, 252, 0.35) !important; }
.dark .border-indigo-100,
.dark .border-indigo-200 { border-color: rgba(129, 140, 248, 0.35) !important; }
.dark .border-teal-100 { border-color: rgba(45, 212, 191, 0.35) !important; }
.dark .border-violet-100 { border-color: rgba(167, 139, 250, 0.35) !important; }
.dark .border-yellow-100 { border-color: rgba(250, 204, 21, 0.35) !important; }

/* —— Hover —— */
.dark .hover\:bg-gray-50:hover,
.dark .hover\:bg-gray-50\/80:hover {
  background-color: var(--dm-card-hover) !important;
}

.dark .hover\:bg-white:hover,
.dark .hover\:bg-white\/80:hover {
  background-color: var(--dm-card-hover) !important;
}

.dark .hover\:bg-gray-100:hover {
  background-color: var(--dm-muted) !important;
}

.dark .hover\:bg-gray-200:hover {
  background-color: #3f3f48 !important;
}

.dark .hover\:bg-red-50:hover {
  background-color: rgba(153, 27, 27, 0.35) !important;
}

.dark .hover\:bg-emerald-100:hover {
  background-color: rgba(6, 95, 70, 0.4) !important;
}

.dark .hover\:bg-blue-100:hover {
  background-color: rgba(37, 99, 235, 0.35) !important;
}

.dark .hover\:bg-indigo-100:hover {
  background-color: rgba(79, 70, 229, 0.35) !important;
}

.dark .hover\:text-gray-800:hover,
.dark .hover\:text-gray-900:hover,
.dark .hover\:text-gray-950:hover {
  color: var(--dm-text) !important;
}

.dark .hover\:border-gray-300:hover {
  border-color: var(--dm-border-strong) !important;
}

/* —— Tombol utama (tetap kontras di dark) —— */
.dark .bg-gray-900 {
  background-color: #f4f4f5 !important;
  color: #18181c !important;
}

.dark .hover\:bg-gray-800:hover {
  background-color: #e4e4e7 !important;
}

.dark .bg-gray-900.text-white,
.dark .bg-gray-900 .text-white {
  color: #18181c !important;
}

.dark a.bg-gray-900,
.dark button.bg-gray-900 {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Sidebar icon aktif */
.dark .sidebar-icon.bg-gray-900 {
  background: linear-gradient(135deg, #34d399, #10b981) !important;
  color: #042f1e !important;
}

.dark .sidebar-icon.bg-violet-700 {
  background: linear-gradient(135deg, #a78bfa, #7c3aed) !important;
  color: #fff !important;
}

/* —— Shadow & overlay —— */
.dark .shadow-sm {
  box-shadow: var(--dm-shadow) !important;
}

.dark .shadow-xl,
.dark .shadow-xl.shadow-gray-200\/50 {
  box-shadow: var(--dm-shadow-lg) !important;
}

.dark .bg-black\/50,
.dark .bg-black\/40,
.dark [class*='bg-black'][class*='opacity'] {
  background-color: rgba(0, 0, 0, 0.72) !important;
}

/* —— Form —— */
.dark input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='color']),
.dark select,
.dark textarea {
  background-color: var(--dm-inset) !important;
  border-color: var(--dm-border-strong) !important;
  color: var(--dm-text) !important;
}

.dark input:focus,
.dark select:focus,
.dark textarea:focus {
  border-color: rgba(52, 211, 153, 0.5) !important;
  outline: none;
  box-shadow: 0 0 0 3px var(--dm-accent-soft);
}

.dark input::placeholder,
.dark textarea::placeholder {
  color: var(--dm-text-faint) !important;
}

.dark input:disabled,
.dark select:disabled,
.dark textarea:disabled {
  opacity: 0.55;
}

.dark code.bg-gray-100 {
  background-color: var(--dm-muted) !important;
  color: #d4d4d8 !important;
  border: 1px solid var(--dm-border);
}

/* —— Sidebar menu —— */
.dark .sidebar-menu .sidebar-link.active {
  background: linear-gradient(90deg, var(--dm-accent-soft) 0%, transparent 100%);
  color: var(--dm-text);
  font-weight: 600;
  box-shadow: inset 3px 0 0 var(--dm-accent);
}

.dark .sidebar-section-label {
  color: var(--dm-text-faint);
}

.dark .sidebar-link.text-gray-600 {
  color: var(--dm-text-muted) !important;
}

.dark .sidebar-link:hover {
  color: var(--dm-text) !important;
}

/* —— Divider —— */
.dark .divide-gray-100 > :not([hidden]) ~ :not([hidden]),
.dark .divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--dm-border);
}

/* —— Ring avatar —— */
.dark .ring-white {
  --tw-ring-color: var(--dm-card) !important;
}

/* —— Badge plan di dropdown —— */
.dark .bg-sky-50.text-sky-700 {
  background-color: rgba(14, 165, 233, 0.2) !important;
  color: #7dd3fc !important;
}

.dark .bg-violet-50.text-violet-700,
.dark .bg-violet-100.text-violet-700 {
  background-color: rgba(139, 92, 246, 0.2) !important;
  color: #c4b5fd !important;
}

.dark .bg-amber-50.text-amber-800 {
  background-color: rgba(245, 158, 11, 0.18) !important;
  color: #fcd34d !important;
}

/* —— Theme toggle —— */
[data-theme-toggle] {
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.dark [data-theme-toggle] {
  background-color: var(--dm-muted) !important;
  border-color: var(--dm-border-strong) !important;
  color: var(--dm-text-muted);
}

.dark [data-theme-toggle]:hover {
  background-color: var(--dm-card-hover) !important;
  border-color: rgba(52, 211, 153, 0.35) !important;
}

/* —— Chart —— */
.dark canvas {
  filter: none;
}

/* —— Leaflet map popup (pin) —— */
.dark .leaflet-popup-content-wrapper,
.dark .leaflet-popup-tip {
  background: var(--dm-card) !important;
  color: var(--dm-text) !important;
}

.dark .leaflet-popup-close-button {
  color: var(--dm-text-muted) !important;
}

.dark .leaflet-popup-close-button:hover {
  color: var(--dm-text) !important;
}

.dark .map-popup-card .text-gray-900,
.dark .map-popup-card .font-semibold {
  color: var(--dm-text) !important;
}

/* —— Tabel —— */
.dark thead.bg-gray-50 {
  background-color: var(--dm-inset) !important;
}

.dark tr.hover\:bg-gray-50:hover {
  background-color: var(--dm-card-hover) !important;
}

/* —— Link umum —— */
.dark a.text-blue-600 {
  color: #60a5fa !important;
}

.dark a.text-blue-600:hover {
  color: #93c5fd !important;
}

/* —— Kontak: komponen tabel (light + dark) —— */
.contact-avatar {
  background: #f1f5f9;
  color: #475569;
}

.contact-tag {
  background: #f5f3ff;
  color: #6d28d9;
  border: 1px solid #ede9fe;
}

.contact-blast-badge {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #d1fae5;
}

.contact-name-link {
  transition: color 0.15s ease;
}

a:hover .contact-name-link {
  color: #2563eb;
}

.contact-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  color: #64748b;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.contact-action-btn:hover {
  color: #0f172a;
  background-color: #f1f5f9;
}

.contact-action-warn {
  color: #d97706;
}

.contact-action-warn:hover {
  color: #b45309;
  background-color: #fffbeb;
}

.contact-action-delete:hover {
  color: #dc2626 !important;
  background-color: #fef2f2 !important;
}

.contact-action-muted {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: #cbd5e1;
}

.contacts-thead th {
  color: #64748b;
  letter-spacing: 0.04em;
}

.contacts-row {
  border-color: #f1f5f9;
  transition: background-color 0.12s ease;
}

.dark .contacts-table-card {
  background-color: var(--dm-card) !important;
  border-color: var(--dm-border) !important;
  box-shadow: var(--dm-shadow);
}

.dark .contacts-table-card .border-b,
.dark .contacts-table-card .border-t {
  border-color: var(--dm-border) !important;
}

.dark .contacts-thead {
  background-color: var(--dm-inset) !important;
  border-color: var(--dm-border) !important;
}

.dark .contacts-thead th {
  color: var(--dm-text-faint) !important;
}

.dark .contacts-row {
  border-color: var(--dm-border);
}

.dark .contacts-row:hover {
  background-color: var(--dm-card-hover) !important;
}

.dark .contact-avatar {
  background: rgba(52, 211, 153, 0.12) !important;
  color: #6ee7b7 !important;
  border: 1px solid rgba(52, 211, 153, 0.2);
}

.dark a:hover .contact-name-link {
  color: #6ee7b7 !important;
}

.dark .contact-tag {
  background: rgba(139, 92, 246, 0.14) !important;
  color: #c4b5fd !important;
  border-color: rgba(167, 139, 250, 0.22) !important;
}

.dark .contact-blast-badge {
  background: rgba(52, 211, 153, 0.12) !important;
  color: #86efac !important;
  border-color: rgba(52, 211, 153, 0.22) !important;
}

.dark .contact-action-btn {
  color: var(--dm-text-muted) !important;
}

.dark .contact-action-btn:hover {
  color: var(--dm-text) !important;
  background-color: var(--dm-muted) !important;
}

.dark .contact-action-warn {
  color: #fbbf24 !important;
}

.dark .contact-action-warn:hover {
  color: #fcd34d !important;
  background-color: rgba(245, 158, 11, 0.15) !important;
}

.dark .contact-action-delete:hover {
  color: #fca5a5 !important;
  background-color: rgba(239, 68, 68, 0.15) !important;
}

.dark .contact-action-muted {
  color: var(--dm-text-faint) !important;
}

.dark .text-purple-600,
.dark .text-purple-700 {
  color: #c4b5fd !important;
}

.dark .bg-purple-100.text-purple-700 {
  background-color: rgba(139, 92, 246, 0.14) !important;
  color: #c4b5fd !important;
}

.dark .text-green-700 {
  color: #86efac !important;
}

.dark .bg-green-100.text-green-700 {
  background-color: rgba(52, 211, 153, 0.12) !important;
  color: #86efac !important;
}

.dark tbody.divide-gray-100 > tr + tr {
  border-top: 1px solid var(--dm-border);
}

.dark .contacts-table-card .bg-blue-600.text-white {
  background: linear-gradient(135deg, #34d399, #10b981) !important;
  color: #042f1e !important;
  border-color: transparent !important;
}

.dark .fab.fa-whatsapp.text-emerald-600 {
  color: #4ade80 !important;
}

.dark .text-emerald-500 {
  color: #4ade80 !important;
}

.dark .text-red-500 {
  color: #f87171 !important;
}

.dark .text-orange-400,
.dark .text-orange-500 {
  color: #fbbf24 !important;
}

/* —— Campaigns page —— */
.campaigns-page-icon {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff;
}

.campaigns-stat-card {
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.campaign-progress-track {
  background: #f1f5f9;
}

.campaign-progress-fill {
  background: linear-gradient(90deg, #34d399, #10b981);
}

.campaign-name-link {
  transition: color 0.15s ease;
}

a:hover .campaign-name-link {
  color: #2563eb;
}

.campaign-status-badge {
  border: 1px solid transparent;
}

.campaign-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  color: #64748b;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.campaign-action-btn:hover {
  color: #0f172a;
  background-color: #f1f5f9;
}

.campaign-action-delete:hover {
  color: #dc2626 !important;
  background-color: #fef2f2 !important;
}

.campaign-action-muted {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: #cbd5e1;
}

.campaigns-empty-icon {
  background: #f1f5f9;
  color: #94a3b8;
}

.campaigns-thead th {
  color: #64748b;
  letter-spacing: 0.04em;
}

.campaigns-row {
  transition: background-color 0.12s ease;
}

/* Status badge — light */
.campaign-status-badge.bg-emerald-100 {
  background: #ecfdf5;
  color: #047857;
  border-color: #d1fae5;
}
.campaign-status-badge.bg-indigo-100 {
  background: #eef2ff;
  color: #4338ca;
  border-color: #e0e7ff;
}
.campaign-status-badge.bg-blue-100 {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #dbeafe;
}
.campaign-status-badge.bg-amber-100 {
  background: #fffbeb;
  color: #b45309;
  border-color: #fde68a;
}
.campaign-status-badge.bg-red-100 {
  background: #fef2f2;
  color: #b91c1c;
  border-color: #fecaca;
}
.campaign-status-badge.bg-gray-100 {
  background: #f8fafc;
  color: #475569;
  border-color: #e2e8f0;
}

.dark .campaigns-page-icon {
  background: linear-gradient(135deg, rgba(52, 211, 153, 0.25), rgba(16, 185, 129, 0.35)) !important;
  color: #6ee7b7 !important;
  border: 1px solid rgba(52, 211, 153, 0.3);
  box-shadow: 0 0 20px rgba(52, 211, 153, 0.08);
}

.dark .campaigns-stat-card,
.dark .campaigns-filter-card,
.dark .campaigns-table-card {
  background-color: var(--dm-card) !important;
  border-color: var(--dm-border) !important;
  box-shadow: var(--dm-shadow);
}

.dark .campaigns-stat-running {
  border-color: rgba(52, 211, 153, 0.28) !important;
}

.dark .campaigns-stat-completed {
  border-color: rgba(129, 140, 248, 0.28) !important;
}

.dark .campaigns-stat-sent {
  border-color: rgba(96, 165, 250, 0.28) !important;
}

.dark .campaigns-thead {
  background-color: var(--dm-inset) !important;
  border-color: var(--dm-border) !important;
}

.dark .campaigns-thead th {
  color: var(--dm-text-faint) !important;
}

.dark .campaigns-row:hover {
  background-color: var(--dm-card-hover) !important;
}

.dark a:hover .campaign-name-link {
  color: #6ee7b7 !important;
}

.dark .campaign-progress-track {
  background: var(--dm-muted) !important;
}

.dark .campaign-progress-fill {
  background: linear-gradient(90deg, #34d399, #10b981) !important;
}

.dark .campaign-status-badge.bg-emerald-100 {
  background: rgba(52, 211, 153, 0.14) !important;
  color: #6ee7b7 !important;
  border-color: rgba(52, 211, 153, 0.25) !important;
}
.dark .campaign-status-badge.bg-indigo-100 {
  background: rgba(99, 102, 241, 0.14) !important;
  color: #a5b4fc !important;
  border-color: rgba(129, 140, 248, 0.25) !important;
}
.dark .campaign-status-badge.bg-blue-100 {
  background: rgba(59, 130, 246, 0.14) !important;
  color: #93c5fd !important;
  border-color: rgba(96, 165, 250, 0.25) !important;
}
.dark .campaign-status-badge.bg-amber-100 {
  background: rgba(245, 158, 11, 0.14) !important;
  color: #fcd34d !important;
  border-color: rgba(251, 191, 36, 0.25) !important;
}
.dark .campaign-status-badge.bg-red-100 {
  background: rgba(239, 68, 68, 0.14) !important;
  color: #fca5a5 !important;
  border-color: rgba(248, 113, 113, 0.25) !important;
}
.dark .campaign-status-badge.bg-gray-100 {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--dm-text-muted) !important;
  border-color: var(--dm-border) !important;
}

.dark .campaign-action-btn {
  color: var(--dm-text-muted) !important;
}
.dark .campaign-action-btn:hover {
  color: var(--dm-text) !important;
  background-color: var(--dm-muted) !important;
}
.dark .campaign-action-delete:hover {
  color: #fca5a5 !important;
  background-color: rgba(239, 68, 68, 0.15) !important;
}
.dark .campaign-action-muted {
  color: var(--dm-text-faint) !important;
}

.dark .campaigns-empty-icon {
  background: var(--dm-muted) !important;
  color: var(--dm-text-faint) !important;
}

.dark .campaigns-table-card tbody.divide-gray-100 > tr + tr {
  border-top: 1px solid var(--dm-border);
}

.dark .text-indigo-600 {
  color: #a5b4fc !important;
}

.dark .text-sky-600 {
  color: #38bdf8 !important;
}

.dark .bg-sky-100 {
  background-color: rgba(14, 165, 233, 0.28) !important;
}

.dark .border-sky-100 {
  border-color: rgba(56, 189, 248, 0.35) !important;
}

/* —— Campaign detail page —— */
.camp-detail-icon {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff;
}

.camp-detail-progress-track {
  background: #f1f5f9;
}

.camp-detail-progress-fill {
  background: linear-gradient(90deg, #3b82f6, #4f46e5);
}

.camp-detail-avatar {
  background: #e0e7ff;
  color: #4338ca;
}

.camp-detail-preview {
  background: #f8fafc;
  border-color: #f1f5f9;
}

.camp-detail-cstatus--pending { background: #f1f5f9; color: #475569; }
.camp-detail-cstatus--sending { background: #dbeafe; color: #1d4ed8; }
.camp-detail-cstatus--sent { background: #d1fae5; color: #047857; }
.camp-detail-cstatus--delivered { background: #e0f2fe; color: #0369a1; }
.camp-detail-cstatus--read { background: #dbeafe; color: #1d4ed8; }
.camp-detail-cstatus--replied { background: #e0e7ff; color: #4338ca; }
.camp-detail-cstatus--failed { background: #fee2e2; color: #b91c1c; }

.camp-detail-btn-pause {
  border-color: #fde68a;
  background: #fffbeb;
  color: #b45309;
}
.camp-detail-btn-pause:hover { background: #fef3c7; }

.camp-detail-btn-delete {
  border-color: #fecaca;
  background: #fef2f2;
  color: #b91c1c;
}
.camp-detail-btn-delete:hover { background: #fee2e2; }

.dark .camp-detail-back { color: var(--dm-text-muted) !important; }
.dark .camp-detail-back:hover { color: #93c5fd !important; }

.dark .camp-detail-icon {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.35), rgba(139, 92, 246, 0.4)) !important;
  color: #c4b5fd !important;
  border: 1px solid rgba(129, 140, 248, 0.35);
  box-shadow: 0 0 20px rgba(99, 102, 241, 0.1);
}

.dark .camp-detail-card,
.dark .camp-detail-contacts-card,
.dark .camp-detail-stat-card {
  background-color: var(--dm-card) !important;
  border-color: var(--dm-border) !important;
  box-shadow: var(--dm-shadow);
}

.dark .camp-detail-stat-sent { border-color: rgba(52, 211, 153, 0.28) !important; }
.dark .camp-detail-stat-delivered { border-color: rgba(56, 189, 248, 0.28) !important; }
.dark .camp-detail-stat-read { border-color: rgba(96, 165, 250, 0.28) !important; }
.dark .camp-detail-stat-failed { border-color: rgba(248, 113, 113, 0.28) !important; }

.dark .camp-detail-progress-track {
  background: var(--dm-muted) !important;
}

.dark .camp-detail-progress-fill {
  background: linear-gradient(90deg, #34d399, #10b981) !important;
}

.dark .camp-detail-rest-banner {
  background-color: rgba(146, 64, 14, 0.18) !important;
  border-color: rgba(251, 191, 36, 0.35) !important;
}

.dark .camp-detail-thead {
  background-color: var(--dm-inset) !important;
  border-color: var(--dm-border) !important;
}

.dark .camp-detail-thead th {
  color: var(--dm-text-faint) !important;
}

.dark .camp-detail-row:hover {
  background-color: var(--dm-card-hover) !important;
}

.dark .camp-detail-contacts-head {
  border-color: var(--dm-border) !important;
}

.dark .camp-detail-contacts-card tbody.divide-gray-100 > tr + tr {
  border-top: 1px solid var(--dm-border);
}

.dark .camp-detail-avatar {
  background: rgba(99, 102, 241, 0.2) !important;
  color: #a5b4fc !important;
}

.dark .camp-detail-preview {
  background: var(--dm-inset) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text-secondary) !important;
}

.dark .camp-detail-cstatus--pending {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--dm-text-muted) !important;
}
.dark .camp-detail-cstatus--sending {
  background: rgba(59, 130, 246, 0.18) !important;
  color: #93c5fd !important;
}
.dark .camp-detail-cstatus--sent {
  background: rgba(52, 211, 153, 0.14) !important;
  color: #6ee7b7 !important;
}
.dark .camp-detail-cstatus--delivered {
  background: rgba(14, 165, 233, 0.18) !important;
  color: #7dd3fc !important;
}
.dark .camp-detail-cstatus--read {
  background: rgba(59, 130, 246, 0.18) !important;
  color: #93c5fd !important;
}
.dark .camp-detail-cstatus--replied {
  background: rgba(99, 102, 241, 0.18) !important;
  color: #a5b4fc !important;
}
.dark .camp-detail-cstatus--failed {
  background: rgba(239, 68, 68, 0.18) !important;
  color: #fca5a5 !important;
}

.dark .camp-detail-btn-pause {
  background: rgba(146, 64, 14, 0.22) !important;
  border-color: rgba(251, 191, 36, 0.35) !important;
  color: #fcd34d !important;
}
.dark .camp-detail-btn-pause:hover {
  background: rgba(180, 83, 9, 0.32) !important;
}

.dark .camp-detail-btn-delete {
  background: rgba(153, 27, 27, 0.22) !important;
  border-color: rgba(248, 113, 113, 0.35) !important;
  color: #fca5a5 !important;
}
.dark .camp-detail-btn-delete:hover {
  background: rgba(185, 28, 28, 0.32) !important;
}

.dark .camp-detail-empty {
  color: var(--dm-text-faint) !important;
}

/* —— Reports page —— */
.reports-page-icon {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff;
}

.reports-stat-card {
  transition: border-color 0.15s ease;
}

.reports-metric-pill {
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.reports-metric-neutral {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #0f172a;
}
.reports-metric-neutral p:first-child {
  color: #64748b;
}

.reports-metric-success {
  background: #ecfdf5;
  border-color: #d1fae5;
  color: #047857;
}
.reports-metric-success p:first-child {
  color: #059669;
}

.reports-metric-info {
  background: #eff6ff;
  border-color: #dbeafe;
  color: #1d4ed8;
}
.reports-metric-info p:first-child {
  color: #2563eb;
}

.reports-metric-danger {
  background: #fef2f2;
  border-color: #fecaca;
  color: #b91c1c;
}
.reports-metric-danger p:first-child {
  color: #dc2626;
}

.reports-chart-card,
.reports-table-card {
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.reports-chart-deco {
  color: #cbd5e1;
}

.reports-empty-chart {
  color: #94a3b8;
}

.reports-link {
  color: #2563eb;
}

.reports-link-accent {
  color: #0d9488;
}

.reports-name-link {
  transition: color 0.15s ease;
}

a:hover .reports-name-link {
  color: #2563eb;
}

.reports-thead {
  background: #f9fafb;
  color: #64748b;
}

.reports-table-head {
  border-color: #f3f4f6;
}

.reports-category-list {
  border-color: #f3f4f6;
}

.reports-row {
  transition: background-color 0.12s ease;
}

.dark .reports-page-icon {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.3), rgba(52, 211, 153, 0.25)) !important;
  color: #a5b4fc !important;
  border: 1px solid rgba(129, 140, 248, 0.3);
}

.dark .reports-stat-card,
.dark .reports-chart-card,
.dark .reports-table-card {
  background-color: var(--dm-card) !important;
  border-color: var(--dm-border) !important;
  box-shadow: var(--dm-shadow);
}

.dark .reports-stat-purple {
  border-color: rgba(192, 132, 252, 0.28) !important;
}
.dark .reports-stat-emerald {
  border-color: rgba(52, 211, 153, 0.28) !important;
}
.dark .reports-stat-indigo {
  border-color: rgba(129, 140, 248, 0.28) !important;
}
.dark .reports-stat-blue {
  border-color: rgba(96, 165, 250, 0.28) !important;
}
.dark .reports-stat-teal {
  border-color: rgba(45, 212, 191, 0.28) !important;
}

.dark .reports-metric-neutral {
  background: var(--dm-inset) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
.dark .reports-metric-neutral p:first-child {
  color: var(--dm-text-muted) !important;
}

.dark .reports-metric-success {
  background: rgba(52, 211, 153, 0.1) !important;
  border-color: rgba(52, 211, 153, 0.22) !important;
  color: #6ee7b7 !important;
}
.dark .reports-metric-success p:first-child {
  color: #4ade80 !important;
}

.dark .reports-metric-info {
  background: rgba(59, 130, 246, 0.1) !important;
  border-color: rgba(96, 165, 250, 0.22) !important;
  color: #93c5fd !important;
}
.dark .reports-metric-info p:first-child {
  color: #60a5fa !important;
}

.dark .reports-metric-danger {
  background: rgba(239, 68, 68, 0.1) !important;
  border-color: rgba(248, 113, 113, 0.22) !important;
  color: #fca5a5 !important;
}
.dark .reports-metric-danger p:first-child {
  color: #f87171 !important;
}

.dark .reports-chart-deco {
  color: var(--dm-text-faint) !important;
}

.dark .reports-empty-chart {
  color: var(--dm-text-muted) !important;
}

.dark .reports-link {
  color: #93c5fd !important;
}
.dark .reports-link:hover {
  color: #bfdbfe !important;
}

.dark .reports-link-accent {
  color: #5eead4 !important;
}

.dark a:hover .reports-name-link {
  color: #6ee7b7 !important;
}

.dark .reports-thead {
  background: var(--dm-inset) !important;
  color: var(--dm-text-faint) !important;
}

.dark .reports-table-head,
.dark .reports-category-list {
  border-color: var(--dm-border) !important;
}

.dark .reports-row:hover {
  background-color: var(--dm-card-hover) !important;
}

.dark .reports-table-card tbody.divide-gray-100 > tr + tr {
  border-top: 1px solid var(--dm-border);
}

.dark .text-teal-600 {
  color: #5eead4 !important;
}

.dark .border-teal-100 {
  border-color: rgba(45, 212, 191, 0.35) !important;
}

.dark .bg-teal-50 {
  background-color: rgba(19, 78, 74, 0.22) !important;
}

/* —— Settings page —— */
.settings-page-icon {
  background: linear-gradient(135deg, #475569, #1e293b);
  color: #fff;
}

.settings-cta-blast {
  background: #0f172a;
  color: #fff;
}
.settings-cta-blast:hover {
  background: #1e293b;
}

.settings-wa-status--connected {
  border-color: #a7f3d0;
  background: rgba(236, 253, 245, 0.85);
}
.settings-wa-status--progress {
  border-color: #bfdbfe;
  background: rgba(239, 246, 255, 0.9);
}
.settings-wa-status--idle {
  border-color: #fde68a;
  background: rgba(255, 251, 235, 0.9);
}

.settings-wa-icon-wrap--connected { background: #d1fae5; }
.settings-wa-icon-wrap--progress { background: #dbeafe; }
.settings-wa-icon-wrap--idle { background: #fef3c7; }

.settings-wa-fa-icon--connected { color: #059669; }
.settings-wa-fa-icon--idle { color: #d97706; }
.settings-wa-spinner { border-color: #3b82f6; }

.settings-wa-badge--connected { background: #a7f3d0; color: #065f46; }
.settings-wa-badge--progress { background: #bfdbfe; color: #1e40af; }
.settings-wa-badge--idle { background: #fde68a; color: #92400e; }

.settings-wa-hint--connected { color: #047857; }
.settings-wa-hint--muted { color: #6b7280; }
.settings-wa-hint--progress { color: #1d4ed8; }

.settings-wa-user-line { color: #065f46; }
.settings-wa-check-icon { color: #059669; }
.settings-wa-live-dot {
  background: #10b981;
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.settings-panel-card,
.settings-tips-card,
.settings-sidebar-card,
.settings-quick-card {
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.settings-panel-head {
  background: rgba(249, 250, 251, 0.85);
}

.settings-error-box {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.settings-loading-box {
  background: #f9fafb;
  color: #4b5563;
}
.settings-loading-spinner { border-color: #9ca3af; }

.settings-qr-step {
  background: #dcfce7;
  color: #15803d;
}

.settings-qr-frame {
  background: #fff;
  border-color: #bbf7d0;
}

.settings-connected-box {
  background: #ecfdf5;
  border: 1px solid #d1fae5;
  color: #065f46;
}
.settings-connected-icon { color: #059669; }

.settings-btn-connect {
  background: #16a34a;
  color: #fff;
}
.settings-btn-connect:hover { background: #15803d; }

.settings-btn-secondary {
  border-color: #e5e7eb;
  color: #374151;
  background: #fff;
}
.settings-btn-secondary:hover { background: #f9fafb; }

.settings-btn-danger {
  border-color: #fecaca;
  color: #b91c1c;
  background: #fff;
}
.settings-btn-danger:hover { background: #fef2f2; }

.settings-tip-icon { color: #f59e0b; }
.settings-tip-check { color: #10b981; }

.settings-plan-avatar--starter {
  background: linear-gradient(135deg, #f59e0b, #ea580c);
  color: #fff;
}
.settings-plan-avatar--growth {
  background: linear-gradient(135deg, #3b82f6, #4f46e5);
  color: #fff;
}
.settings-plan-avatar--pro {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
  color: #fff;
}

.settings-plan-label--starter {
  background: linear-gradient(90deg, #f59e0b, #ea580c);
  color: #fff;
}
.settings-plan-label--growth {
  background: linear-gradient(90deg, #3b82f6, #4f46e5);
  color: #fff;
}
.settings-plan-label--pro {
  background: linear-gradient(90deg, #8b5cf6, #7c3aed);
  color: #fff;
}

.settings-usage-track { background: #f3f4f6; }
.settings-usage-fill--ok { background: #10b981; }
.settings-usage-fill--warn { background: #f59e0b; }
.settings-usage-fill--danger { background: #ef4444; }

.settings-billing-link {
  border-color: #e5e7eb;
  color: #374151;
}
.settings-billing-link:hover { background: #f9fafb; }
.settings-billing-icon { color: #d97706; }

.settings-quick-link { color: #374151; }
.settings-quick-link:hover { background: #f9fafb; }

.settings-quick-icon--emerald { background: #ecfdf5; color: #059669; }
.settings-quick-icon--purple { background: #f5f3ff; color: #7c3aed; }
.settings-quick-icon--blue { background: #eff6ff; color: #2563eb; }

/* Settings — dark */
.dark .settings-page-icon {
  background: linear-gradient(135deg, rgba(100, 116, 139, 0.45), rgba(30, 41, 59, 0.9)) !important;
  color: #cbd5e1 !important;
  border: 1px solid rgba(148, 163, 184, 0.25);
}

.dark .settings-cta-blast {
  background: var(--dm-accent) !important;
  color: #0f172a !important;
}
.dark .settings-cta-blast:hover {
  filter: brightness(1.08);
}

.dark .settings-wa-status--connected {
  border-color: rgba(52, 211, 153, 0.35) !important;
  background: rgba(6, 78, 59, 0.35) !important;
}
.dark .settings-wa-status--progress {
  border-color: rgba(96, 165, 250, 0.35) !important;
  background: rgba(30, 58, 138, 0.28) !important;
}
.dark .settings-wa-status--idle {
  border-color: rgba(251, 191, 36, 0.35) !important;
  background: rgba(120, 53, 15, 0.25) !important;
}

.dark .settings-wa-icon-wrap--connected { background: rgba(16, 185, 129, 0.2) !important; }
.dark .settings-wa-icon-wrap--progress { background: rgba(59, 130, 246, 0.2) !important; }
.dark .settings-wa-icon-wrap--idle { background: rgba(245, 158, 11, 0.18) !important; }

.dark .settings-wa-fa-icon--connected { color: #6ee7b7 !important; }
.dark .settings-wa-fa-icon--idle { color: #fcd34d !important; }
.dark .settings-wa-spinner { border-color: #60a5fa !important; }

.dark .settings-wa-badge--connected {
  background: rgba(16, 185, 129, 0.28) !important;
  color: #a7f3d0 !important;
}
.dark .settings-wa-badge--progress {
  background: rgba(59, 130, 246, 0.28) !important;
  color: #bfdbfe !important;
}
.dark .settings-wa-badge--idle {
  background: rgba(245, 158, 11, 0.25) !important;
  color: #fde68a !important;
}

.dark .settings-wa-hint--connected { color: #6ee7b7 !important; }
.dark .settings-wa-hint--muted { color: var(--dm-text-muted) !important; }
.dark .settings-wa-hint--progress { color: #93c5fd !important; }

.dark .settings-wa-user-line { color: #a7f3d0 !important; }
.dark .settings-wa-check-icon { color: #6ee7b7 !important; }
.dark .settings-wa-live-dot { background: #34d399 !important; }

.dark .settings-panel-card,
.dark .settings-tips-card,
.dark .settings-sidebar-card,
.dark .settings-quick-card {
  background-color: var(--dm-card) !important;
  border-color: var(--dm-border) !important;
  box-shadow: var(--dm-shadow);
}

.dark .settings-panel-head {
  background: var(--dm-inset) !important;
  border-color: var(--dm-border) !important;
}

.dark .settings-error-box {
  background: rgba(127, 29, 29, 0.35) !important;
  border-color: rgba(248, 113, 113, 0.35) !important;
  color: #fecaca !important;
}

.dark .settings-loading-box {
  background: var(--dm-inset) !important;
  color: var(--dm-text-muted) !important;
}
.dark .settings-loading-spinner { border-color: var(--dm-text-faint) !important; }

.dark .settings-qr-step {
  background: rgba(16, 185, 129, 0.2) !important;
  color: #6ee7b7 !important;
}

.dark .settings-qr-frame {
  background: var(--dm-card) !important;
  border-color: rgba(52, 211, 153, 0.35) !important;
}

.dark .settings-connected-box {
  background: rgba(6, 78, 59, 0.35) !important;
  border-color: rgba(52, 211, 153, 0.28) !important;
  color: #a7f3d0 !important;
}
.dark .settings-connected-icon { color: #6ee7b7 !important; }

.dark .settings-btn-connect {
  background: rgba(22, 163, 74, 0.85) !important;
  color: #ecfdf5 !important;
}
.dark .settings-btn-connect:hover { background: rgba(22, 163, 74, 1) !important; }

.dark .settings-btn-secondary {
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
  background: transparent !important;
}
.dark .settings-btn-secondary:hover { background: var(--dm-card-hover) !important; }

.dark .settings-btn-danger {
  border-color: rgba(248, 113, 113, 0.35) !important;
  color: #fca5a5 !important;
  background: transparent !important;
}
.dark .settings-btn-danger:hover { background: rgba(127, 29, 29, 0.35) !important; }

.dark .settings-tip-icon { color: #fbbf24 !important; }
.dark .settings-tip-check { color: #6ee7b7 !important; }

.dark .settings-plan-avatar--starter {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.55), rgba(234, 88, 12, 0.65)) !important;
}
.dark .settings-plan-avatar--growth {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.5), rgba(79, 70, 229, 0.6)) !important;
}
.dark .settings-plan-avatar--pro {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.5), rgba(124, 58, 237, 0.65)) !important;
}

.dark .settings-plan-label--starter {
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.75), rgba(234, 88, 12, 0.85)) !important;
}
.dark .settings-plan-label--growth {
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.7), rgba(79, 70, 229, 0.8)) !important;
}
.dark .settings-plan-label--pro {
  background: linear-gradient(90deg, rgba(139, 92, 246, 0.7), rgba(124, 58, 237, 0.85)) !important;
}

.dark .settings-usage-track { background: var(--dm-inset) !important; }
.dark .settings-usage-fill--ok { background: #34d399 !important; }
.dark .settings-usage-fill--warn { background: #fbbf24 !important; }
.dark .settings-usage-fill--danger { background: #f87171 !important; }

.dark .settings-billing-link {
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
.dark .settings-billing-link:hover { background: var(--dm-card-hover) !important; }
.dark .settings-billing-icon { color: #fbbf24 !important; }

.dark .settings-quick-link { color: var(--dm-text) !important; }
.dark .settings-quick-link:hover { background: var(--dm-card-hover) !important; }

.dark .settings-quick-icon--emerald {
  background: rgba(16, 185, 129, 0.18) !important;
  color: #6ee7b7 !important;
}
.dark .settings-quick-icon--purple {
  background: rgba(139, 92, 246, 0.18) !important;
  color: #c4b5fd !important;
}
.dark .settings-quick-icon--blue {
  background: rgba(59, 130, 246, 0.18) !important;
  color: #93c5fd !important;
}

/* —— Contact detail page —— */
.cd-back-link {
  color: #4b5563;
  transition: color 0.15s ease;
}
.cd-back-link:hover { color: #111827; }

.cd-header-card,
.cd-card {
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.cd-avatar { font-size: 1.125rem; }

.cd-stage-badge--new { background: #f1f5f9; color: #334155; }
.cd-stage-badge--contacted { background: #dbeafe; color: #1d4ed8; }
.cd-stage-badge--interested { background: #d1fae5; color: #047857; }
.cd-stage-badge--negotiation { background: #fef3c7; color: #b45309; }
.cd-stage-badge--won { background: #dcfce7; color: #15803d; }
.cd-stage-badge--lost { background: #fee2e2; color: #b91c1c; }

.cd-wa-badge--valid { background: #d1fae5; color: #047857; }
.cd-wa-badge--invalid { background: #fee2e2; color: #b91c1c; }
.cd-wa-badge--unknown { background: #f3f4f6; color: #4b5563; }

.cd-btn-blast { background: #0f172a; color: #fff; }
.cd-btn-blast:hover { background: #1e293b; }
.cd-btn-wa { background: #16a34a; color: #fff; }
.cd-btn-wa:hover { background: #15803d; }
.cd-btn-validate {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
}
.cd-btn-validate:hover { background: #dbeafe; }
.cd-btn-wa-name {
  border-color: #c7d2fe;
  background: #eef2ff;
  color: #4338ca;
}
.cd-btn-wa-name:hover { background: #e0e7ff; }
.cd-btn-delete {
  border-color: #fecaca;
  background: #fef2f2;
  color: #b91c1c;
}
.cd-btn-delete:hover { background: #fee2e2; }
.cd-btn-save { background: #0f172a; color: #fff; }
.cd-btn-save:hover { background: #1e293b; }

.cd-icon--blue { color: #2563eb; }
.cd-icon--emerald { color: #059669; }
.cd-icon--indigo { color: #4f46e5; }
.cd-wa-icon { color: #059669; }
.cd-icon-map { color: #ef4444; }

.cd-link {
  color: #2563eb;
  transition: color 0.15s ease;
}
.cd-link:hover { color: #1d4ed8; text-decoration: underline; }

.cd-rating { color: #d97706; }

.cd-map-link {
  border-color: #e5e7eb;
  color: #374151;
  background: #fff;
}
.cd-map-link:hover { background: #f9fafb; }

.cd-analytics-link {
  border-color: #a7f3d0;
  background: #ecfdf5;
  color: #065f46;
}
.cd-analytics-link:hover { background: #d1fae5; }

.cd-mini-map { border-color: #f3f4f6; }

.cd-messages-head { border-color: #f3f4f6; }
.cd-msg-row {
  border-color: #f3f4f6;
  transition: background-color 0.12s ease;
}
.cd-msg-row:hover { background: #f9fafb; }

.cd-msg-status--pending { background: #f3f4f6; color: #4b5563; }
.cd-msg-status--sending { background: #dbeafe; color: #1d4ed8; }
.cd-msg-status--sent { background: #d1fae5; color: #047857; }
.cd-msg-status--delivered { background: #e0f2fe; color: #0369a1; }
.cd-msg-status--read { background: #dbeafe; color: #1d4ed8; }
.cd-msg-status--replied { background: #e0e7ff; color: #4338ca; }
.cd-msg-status--failed { background: #fee2e2; color: #b91c1c; }

.cd-campaign-item { transition: background-color 0.12s ease; }
.cd-campaign-item:hover { background: #f9fafb; }

/* Contact detail — dark */
.dark .cd-back-link { color: var(--dm-text-muted) !important; }
.dark .cd-back-link:hover { color: var(--dm-text) !important; }

.dark .cd-header-card,
.dark .cd-card {
  background-color: var(--dm-card) !important;
  border-color: var(--dm-border) !important;
  box-shadow: var(--dm-shadow);
}

.dark .cd-stage-badge--new {
  background: rgba(100, 116, 139, 0.25) !important;
  color: #cbd5e1 !important;
}
.dark .cd-stage-badge--contacted {
  background: rgba(59, 130, 246, 0.22) !important;
  color: #bfdbfe !important;
}
.dark .cd-stage-badge--interested {
  background: rgba(16, 185, 129, 0.2) !important;
  color: #a7f3d0 !important;
}
.dark .cd-stage-badge--negotiation {
  background: rgba(245, 158, 11, 0.2) !important;
  color: #fde68a !important;
}
.dark .cd-stage-badge--won {
  background: rgba(34, 197, 94, 0.2) !important;
  color: #86efac !important;
}
.dark .cd-stage-badge--lost {
  background: rgba(239, 68, 68, 0.2) !important;
  color: #fca5a5 !important;
}

.dark .cd-wa-badge--valid {
  background: rgba(16, 185, 129, 0.2) !important;
  color: #6ee7b7 !important;
}
.dark .cd-wa-badge--invalid {
  background: rgba(239, 68, 68, 0.2) !important;
  color: #fca5a5 !important;
}
.dark .cd-wa-badge--unknown {
  background: var(--dm-inset) !important;
  color: var(--dm-text-muted) !important;
}

.dark .cd-btn-blast {
  background: var(--dm-accent) !important;
  color: #0f172a !important;
}
.dark .cd-btn-wa {
  background: rgba(22, 163, 74, 0.85) !important;
  color: #ecfdf5 !important;
}
.dark .cd-btn-validate {
  border-color: rgba(96, 165, 250, 0.35) !important;
  background: rgba(30, 58, 138, 0.3) !important;
  color: #93c5fd !important;
}
.dark .cd-btn-wa-name {
  border-color: rgba(129, 140, 248, 0.35) !important;
  background: rgba(67, 56, 202, 0.25) !important;
  color: #c7d2fe !important;
}
.dark .cd-btn-delete {
  border-color: rgba(248, 113, 113, 0.35) !important;
  background: rgba(127, 29, 29, 0.25) !important;
  color: #fca5a5 !important;
}
.dark .cd-btn-save {
  background: var(--dm-accent) !important;
  color: #0f172a !important;
}

.dark .cd-icon--blue { color: #60a5fa !important; }
.dark .cd-icon--emerald { color: #6ee7b7 !important; }
.dark .cd-icon--indigo { color: #a5b4fc !important; }
.dark .cd-wa-icon { color: #6ee7b7 !important; }
.dark .cd-icon-map { color: #f87171 !important; }

.dark .cd-link { color: #93c5fd !important; }
.dark .cd-link:hover { color: #bfdbfe !important; }

.dark .cd-rating { color: #fbbf24 !important; }

.dark .cd-map-link {
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
  background: transparent !important;
}
.dark .cd-map-link:hover { background: var(--dm-card-hover) !important; }

.dark .cd-analytics-link {
  border-color: rgba(52, 211, 153, 0.35) !important;
  background: rgba(6, 78, 59, 0.35) !important;
  color: #a7f3d0 !important;
}
.dark .cd-analytics-link:hover { background: rgba(6, 78, 59, 0.5) !important; }

.dark .cd-mini-map { border-color: var(--dm-border) !important; }

.dark .cd-messages-head { border-color: var(--dm-border) !important; }
.dark .cd-msg-row:hover { background: var(--dm-card-hover) !important; }
.dark .cd-messages-card ul.divide-y > li + li,
.dark .cd-messages-card ul > li + li {
  border-top: 1px solid var(--dm-border);
}

.dark .cd-msg-status--pending {
  background: var(--dm-inset) !important;
  color: var(--dm-text-muted) !important;
}
.dark .cd-msg-status--sending {
  background: rgba(59, 130, 246, 0.22) !important;
  color: #bfdbfe !important;
}
.dark .cd-msg-status--sent {
  background: rgba(16, 185, 129, 0.2) !important;
  color: #a7f3d0 !important;
}
.dark .cd-msg-status--delivered {
  background: rgba(14, 165, 233, 0.2) !important;
  color: #7dd3fc !important;
}
.dark .cd-msg-status--read {
  background: rgba(59, 130, 246, 0.2) !important;
  color: #bfdbfe !important;
}
.dark .cd-msg-status--replied {
  background: rgba(99, 102, 241, 0.22) !important;
  color: #c7d2fe !important;
}
.dark .cd-msg-status--failed {
  background: rgba(239, 68, 68, 0.2) !important;
  color: #fca5a5 !important;
}

.dark .cd-campaign-item:hover { background: var(--dm-card-hover) !important; }

/* —— Dashboard page —— */
.dash-page-icon {
  background: linear-gradient(135deg, #3b82f6, #6366f1);
  color: #fff;
}

.dash-cta-blast { background: #0f172a; color: #fff; }
.dash-cta-blast:hover { background: #1e293b; }
.dash-cta-secondary {
  border-color: #e5e7eb;
  color: #374151;
  background: #fff;
}
.dash-cta-secondary:hover { background: #f9fafb; }
.dash-icon-teal { color: #0d9488; }

.dash-wa-banner {
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  border-width: 1px;
}
.dash-wa-banner--connected,
.dash-wa-banner--progress {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.dash-wa-banner--idle {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (min-width: 640px) {
  .dash-wa-banner--idle {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.dash-wa-banner--connected {
  border-color: #a7f3d0;
  background: rgba(236, 253, 245, 0.9);
}
.dash-wa-banner--progress {
  border-color: #bfdbfe;
  background: rgba(239, 246, 255, 0.9);
}
.dash-wa-banner--idle {
  border-color: #fde68a;
  background: rgba(255, 251, 235, 0.9);
}
.dash-wa-live-dot { background: #10b981; }
.dash-wa-spinner { border-color: #3b82f6; }
.dash-wa-banner-text { color: #065f46; }
.dash-wa-banner-title { color: inherit; }
.dash-wa-banner--connected .dash-wa-banner-title { color: #065f46; }
.dash-wa-banner--progress .dash-wa-banner-title { color: #1e3a8a; }
.dash-wa-banner--idle .dash-wa-banner-title { color: #92400e; }
.dash-wa-banner-sub { color: #6b7280; }
.dash-wa-banner--progress .dash-wa-banner-sub { color: #1d4ed8; }
.dash-wa-banner--idle .dash-wa-banner-sub { color: #b45309; }
.dash-wa-idle-icon { background: #fef3c7; color: #b45309; }
.dash-wa-connect-btn {
  background: #d97706;
  color: #fff;
}
.dash-wa-connect-btn:hover { background: #b45309; }

.dash-stat-card { transition: border-color 0.15s ease, box-shadow 0.15s ease; }
.dash-stat-card--contacts { border-color: #dbeafe; }
.dash-stat-card--wa { border-color: #bbf7d0; }
.dash-stat-card--campaign { border-color: #e9d5ff; }
.dash-stat-card--messages { border-color: #a7f3d0; }
.dash-stat-card--delivery { border-color: #c7d2fe; }
.dash-stat-card--deals { border-color: #99f6e4; }

.dash-stat-icon--contacts { background: #eff6ff; color: #2563eb; }
.dash-stat-icon--wa { background: #ecfdf5; color: #059669; }
.dash-stat-icon--campaign { background: #f5f3ff; color: #7c3aed; }
.dash-stat-icon--messages { background: #ecfdf5; color: #059669; }
.dash-stat-icon--delivery { background: #eef2ff; color: #4f46e5; }
.dash-stat-icon--deals { background: #f0fdfa; color: #0d9488; }

.dash-stat-value--wa { color: #059669; }
.dash-stat-value--delivery { color: #4f46e5; }
.dash-stat-value--deals { color: #0d9488; }

.dash-chart-card,
.dash-list-card { transition: border-color 0.15s ease, box-shadow 0.15s ease; }
.dash-chart-deco { color: #d1d5db; }
.dash-empty-chart { color: var(--dm-text-muted, #9ca3af); }

.dash-link { color: #2563eb; transition: color 0.15s ease; }
.dash-link:hover { color: #1d4ed8; text-decoration: underline; }
.dash-link-teal { color: #0d9488; }
.dash-link-teal:hover { color: #0f766e; text-decoration: underline; }

.dash-action-card--blast { background: linear-gradient(135deg, #3b82f6, #4f46e5); }
.dash-action-card--import { background: linear-gradient(135deg, #10b981, #0d9488); }
.dash-action-card--crm { background: linear-gradient(135deg, #14b8a6, #0891b2); }
.dash-action-card--template { background: linear-gradient(135deg, #8b5cf6, #7c3aed); }
.dash-action-sub { opacity: 0.85; }

.dash-list-item { transition: background-color 0.12s ease; }
.dash-list-item:hover { background: #f9fafb; }
.dash-activity-icon { background: #f0fdfa; color: #0d9488; }

/* Dashboard — dark */
.dark .dash-page-icon {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.45), rgba(99, 102, 241, 0.4)) !important;
  color: #bfdbfe !important;
  border: 1px solid rgba(96, 165, 250, 0.3);
}

.dark .dash-cta-blast {
  background: var(--dm-accent) !important;
  color: #0f172a !important;
}
.dark .dash-cta-secondary {
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
  background: transparent !important;
}
.dark .dash-cta-secondary:hover { background: var(--dm-card-hover) !important; }
.dark .dash-icon-teal { color: #5eead4 !important; }

.dark .dash-wa-banner--connected {
  border-color: rgba(52, 211, 153, 0.35) !important;
  background: rgba(6, 78, 59, 0.35) !important;
}
.dark .dash-wa-banner--progress {
  border-color: rgba(96, 165, 250, 0.35) !important;
  background: rgba(30, 58, 138, 0.28) !important;
}
.dark .dash-wa-banner--idle {
  border-color: rgba(251, 191, 36, 0.35) !important;
  background: rgba(120, 53, 15, 0.25) !important;
}
.dark .dash-wa-live-dot { background: #34d399 !important; }
.dark .dash-wa-spinner { border-color: #60a5fa !important; }
.dark .dash-wa-banner-text { color: #a7f3d0 !important; }
.dark .dash-wa-banner--connected .dash-wa-banner-title { color: #a7f3d0 !important; }
.dark .dash-wa-banner--progress .dash-wa-banner-title { color: #bfdbfe !important; }
.dark .dash-wa-banner--idle .dash-wa-banner-title { color: #fde68a !important; }
.dark .dash-wa-banner-sub { color: var(--dm-text-muted) !important; }
.dark .dash-wa-banner--progress .dash-wa-banner-sub { color: #93c5fd !important; }
.dark .dash-wa-banner--idle .dash-wa-banner-sub { color: #fcd34d !important; }
.dark .dash-wa-idle-icon {
  background: rgba(245, 158, 11, 0.2) !important;
  color: #fcd34d !important;
}
.dark .dash-wa-connect-btn {
  background: rgba(217, 119, 6, 0.85) !important;
  color: #fffbeb !important;
}

.dark .dash-stat-card,
.dark .dash-chart-card,
.dark .dash-list-card {
  background-color: var(--dm-card) !important;
  border-color: var(--dm-border) !important;
  box-shadow: var(--dm-shadow);
}
.dark .dash-stat-card--contacts { border-color: rgba(96, 165, 250, 0.28) !important; }
.dark .dash-stat-card--wa { border-color: rgba(52, 211, 153, 0.28) !important; }
.dark .dash-stat-card--campaign { border-color: rgba(167, 139, 250, 0.28) !important; }
.dark .dash-stat-card--messages { border-color: rgba(52, 211, 153, 0.22) !important; }
.dark .dash-stat-card--delivery { border-color: rgba(129, 140, 248, 0.28) !important; }
.dark .dash-stat-card--deals { border-color: rgba(45, 212, 191, 0.28) !important; }

.dark .dash-stat-icon--contacts { background: rgba(59, 130, 246, 0.18) !important; color: #93c5fd !important; }
.dark .dash-stat-icon--wa { background: rgba(16, 185, 129, 0.18) !important; color: #6ee7b7 !important; }
.dark .dash-stat-icon--campaign { background: rgba(139, 92, 246, 0.18) !important; color: #c4b5fd !important; }
.dark .dash-stat-icon--messages { background: rgba(16, 185, 129, 0.15) !important; color: #6ee7b7 !important; }
.dark .dash-stat-icon--delivery { background: rgba(99, 102, 241, 0.18) !important; color: #a5b4fc !important; }
.dark .dash-stat-icon--deals { background: rgba(20, 184, 166, 0.18) !important; color: #5eead4 !important; }

.dark .dash-stat-value--wa { color: #6ee7b7 !important; }
.dark .dash-stat-value--delivery { color: #a5b4fc !important; }
.dark .dash-stat-value--deals { color: #5eead4 !important; }

.dark .dash-chart-deco { color: var(--dm-text-faint) !important; }
.dark .dash-empty-chart { color: var(--dm-text-muted) !important; }

.dark .dash-link { color: #93c5fd !important; }
.dark .dash-link:hover { color: #bfdbfe !important; }
.dark .dash-link-teal { color: #5eead4 !important; }
.dark .dash-link-teal:hover { color: #99f6e4 !important; }

.dark .dash-action-card--blast {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.65), rgba(79, 70, 229, 0.7)) !important;
}
.dark .dash-action-card--import {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.6), rgba(13, 148, 136, 0.65)) !important;
}
.dark .dash-action-card--crm {
  background: linear-gradient(135deg, rgba(20, 184, 166, 0.6), rgba(8, 145, 178, 0.65)) !important;
}
.dark .dash-action-card--template {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.6), rgba(124, 58, 237, 0.65)) !important;
}

.dark .dash-list-item:hover { background: var(--dm-card-hover) !important; }
.dark .dash-activity-icon {
  background: rgba(20, 184, 166, 0.15) !important;
  color: #5eead4 !important;
}
