/* ═══════════════════════════════════════════════════════════════
   GLASSMORPHISM & VISUAL POLISH — Elisia Salesforce 2.0
   ═══════════════════════════════════════════════════════════════ */

/* ── Variáveis de glass ── */
:root {
  --glass-bg: rgba(var(--primary-rgb), 0.75);
  --glass-bg-light: rgba(var(--surface-rgb), 0.6);
  --glass-blur: 20px;
  --glass-border: rgba(134, 150, 160, 0.12);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.15);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.25);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.35);
  --shadow-glow: 0 0 20px rgba(74, 140, 111, 0.06);
  --transition-smooth: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-bounce: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ── Sidebar — Glass effect ── */
.app-sidebar {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border-right: 1px solid var(--glass-border) !important;
}

/* ── Chat Header — Glass + gradient ── */
.chat-header {
  background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.85), rgba(var(--surface-rgb), 0.75)) !important;
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border-bottom: 1px solid var(--glass-border) !important;
  box-shadow: var(--shadow-sm);
}

/* ── Top bar — Glass ── */
.app-topbar, .sf-topbar {
  background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.9), rgba(var(--surface-rgb), 0.8)) !important;
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  box-shadow: var(--shadow-sm);
}

/* ── Agenda — Gradient header ── */
.sf-agenda-header {
  background: linear-gradient(135deg, rgba(0, 168, 132, 0.12), rgba(var(--surface-rgb), 0.9)) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: var(--transition-smooth);
}
.sf-agenda-header:hover {
  background: linear-gradient(135deg, rgba(0, 168, 132, 0.18), rgba(var(--surface-rgb), 0.95)) !important;
}

.sf-agenda-panel {
  border-bottom: 1px solid var(--glass-border) !important;
}

/* ── Agenda week cards ── */
.sf-agenda-day {
  transition: transform var(--transition-smooth), box-shadow var(--transition-smooth);
  border-radius: 8px;
}
.sf-agenda-day:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}
.sf-agenda-day.today {
  box-shadow: 0 0 12px rgba(0, 168, 132, 0.3);
}

/* ── Search bar — Glow on focus ── */
.sf-search-input {
  transition: border-color var(--transition-smooth), box-shadow var(--transition-smooth), background var(--transition-smooth) !important;
  background: rgba(var(--surface-rgb), 0.5) !important;
  border: 1px solid rgba(134, 150, 160, 0.15) !important;
}
.sf-search-input:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(74, 140, 111, 0.06), var(--shadow-sm) !important;
  background: rgba(var(--surface-rgb), 0.8) !important;
}

/* ── Tag pills — Polish ── */
.sf-tag-pill {
  transition: all var(--transition-smooth) !important;
  border: 1px solid rgba(134, 150, 160, 0.15) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.sf-tag-pill:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
  opacity: 1 !important;
}
.sf-tag-pill.active {
  box-shadow: 0 0 12px rgba(0, 168, 132, 0.2);
  border-color: transparent !important;
}

/* ── Chat items — Rounded + smooth hover ── */
.app-sidebar .sf-chat-item {
  border-radius: 10px !important;
  margin: 4px 6px !important;
  border-bottom: none !important;
  transition: all var(--transition-smooth) !important;
  position: relative;
  overflow: visible;
}
.app-sidebar .sf-chat-item::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 10px;
  opacity: 0;
  background: linear-gradient(135deg, rgba(74, 140, 111, 0.03), transparent);
  transition: opacity var(--transition-smooth);
  pointer-events: none;
}
.app-sidebar .sf-chat-item:hover {
  background: rgba(0, 92, 75, 0.25) !important;
  transform: scale(1.01);
  box-shadow: var(--shadow-sm);
}
.app-sidebar .sf-chat-item:hover::before {
  opacity: 1;
}
.app-sidebar .sf-chat-item.active {
  background: rgba(0, 92, 75, 0.35) !important;
  border-left: 3px solid var(--primary) !important;
  box-shadow: var(--shadow-md), inset 0 0 20px rgba(0, 168, 132, 0.05);
}
.app-sidebar .sf-chat-item:active {
  transform: scale(0.99);
}

/* ── Telefone no item ── */
.sf-chat-phone {
  font-size: 10px;
  color: var(--text-muted);
  letter-spacing: 0.3px;
  opacity: 0.7;
  transition: opacity var(--transition-smooth);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.app-sidebar .sf-chat-item:hover .sf-chat-phone {
  opacity: 1;
}

/* ── Avatar — Glow effect ── */
.sf-chat-avatar {
  transition: transform var(--transition-smooth), box-shadow var(--transition-smooth) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.app-sidebar .sf-chat-item:hover .sf-chat-avatar {
  transform: scale(1.05);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}
.sf-chat-avatar.escalated {
  box-shadow: 0 0 0 3px var(--danger), 0 0 8px rgba(234, 0, 56, 0.3);
  transition: box-shadow 0.3s ease;
}
.sf-chat-avatar.escalated:hover {
  box-shadow: 0 0 0 4px var(--danger), 0 0 12px rgba(234, 0, 56, 0.4);
}

/* ── Unread badge — Pulse animation ── */
.sf-badge-unread {
  /* badgePulse desativado */
  box-shadow: 0 0 8px rgba(0, 168, 132, 0.4);
}

/* ── Chat name when unread ── */
.sf-chat-name.unread {
  text-shadow: 0 0 8px rgba(233, 237, 239, 0.15);
}

/* ── Message bubbles — polish (animation only on new msgs via .sf-msg-new) ── */
.msg {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.msg:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.msg-bot {
  background: linear-gradient(135deg, var(--wa-bubble-out), #004a3d) !important;
}
.msg-lead {
  background: linear-gradient(135deg, var(--bg-secondary), #1a252c) !important;
}
.msg-note {
  background: linear-gradient(135deg, #4a3f00, #3d3500) !important;
  box-shadow: 0 1px 6px rgba(184, 134, 11, 0.15);
}

/* ── Chat input area — Glass ── */
.chat-input-area, .sf-input-bar {
  background: linear-gradient(to top, rgba(var(--primary-rgb), 0.95), rgba(var(--primary-rgb), 0.85)) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid var(--glass-border) !important;
}

/* ── Pin sections (Favoritos/Pendências) — Glass cards ── */
.sf-pin-header {
  background: linear-gradient(135deg, rgba(var(--surface-rgb), 0.7), rgba(var(--primary-rgb), 0.6)) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 8px;
  margin: 4px 8px;
  padding: 8px 12px !important;
  border: 1px solid var(--glass-border);
  transition: all var(--transition-smooth);
}
.sf-pin-header:hover {
  background: linear-gradient(135deg, rgba(var(--surface-rgb), 0.85), rgba(var(--primary-rgb), 0.75)) !important;
  border-color: rgba(0, 168, 132, 0.2);
}

.sf-pin-item {
  border-radius: 8px;
  margin: 2px 8px;
  transition: all var(--transition-smooth) !important;
}
.sf-pin-item:hover {
  background: rgba(0, 92, 75, 0.15) !important;
  transform: translateX(3px);
}

/* ── Context menu — Glass + shadow ── */
.ctx-menu {
  background: rgba(var(--primary-rgb), 0.92) !important;
  backdrop-filter: blur(24px) saturate(1.5);
  -webkit-backdrop-filter: blur(24px) saturate(1.5);
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--shadow-lg) !important;
  border-radius: 12px !important;
}
.ctx-menu__item {
  border-radius: 8px !important;
  margin: 2px 4px !important;
  transition: all var(--transition-smooth) !important;
}
.ctx-menu__item:hover {
  background: rgba(74, 140, 111, 0.06) !important;
  transform: translateX(3px);
}

/* ── Command bar — Glass + glow ── */
.sf-command-overlay {
  background: rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.sf-command-modal {
  background: rgba(var(--primary-rgb), 0.92) !important;
  backdrop-filter: blur(24px) saturate(1.5) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.5) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--shadow-lg), 0 0 40px rgba(0, 0, 0, 0.3) !important;
  border-radius: 16px !important;
}
.sf-command-input {
  background: rgba(var(--surface-rgb), 0.5) !important;
  border: 1px solid rgba(134, 150, 160, 0.15) !important;
  transition: all var(--transition-smooth) !important;
}
.sf-command-input:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(74, 140, 111, 0.06) !important;
}
.sf-command-item {
  border-radius: 8px !important;
  transition: all var(--transition-smooth) !important;
}
.sf-command-item:hover, .sf-command-item.active {
  background: rgba(0, 168, 132, 0.12) !important;
}

/* ── Forward modal — Glass ── */
.fwd-overlay {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
.fwd-modal {
  background: rgba(var(--primary-rgb), 0.92) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--shadow-lg) !important;
}
.fwd-contact-item {
  border-radius: 8px;
  transition: all var(--transition-smooth) !important;
}
.fwd-contact-item:hover {
  transform: translateX(4px);
}

/* ── Selection toolbar — Glass ── */
.sel-toolbar {
  background: rgba(var(--primary-rgb), 0.9) !important;
  backdrop-filter: blur(24px) saturate(1.5) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.5) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--shadow-lg) !important;
}

/* ── Multi-select checkboxes — Smooth ── */
.msg-selectable::before {
  transition: all var(--transition-bounce) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.msg-selected {
  background: rgba(0, 168, 132, 0.12) !important;
  box-shadow: inset 0 0 20px rgba(0, 168, 132, 0.05);
}
.msg-selected::before {
  box-shadow: 0 0 8px rgba(0, 168, 132, 0.4) !important;
}

/* ── Header actions — Smooth hover ── */
.chat-header-actions button {
  transition: all var(--transition-smooth) !important;
  border-radius: 8px !important;
}
.chat-header-actions button:hover {
  background: rgba(74, 140, 111, 0.06) !important;
  transform: scale(1.08);
  box-shadow: 0 0 8px rgba(0, 168, 132, 0.1);
}

/* ── Chat header obs — Polish ── */
.chat-header-obs {
  transition: all var(--transition-smooth) !important;
  border-radius: 4px;
  padding: 2px 6px !important;
}
.chat-header-obs:hover {
  background: rgba(134, 150, 160, 0.1);
}

/* ── Global scrollbars — Thin & themed ── */
::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(134, 150, 160, 0.2);
  border-radius: 10px;
  transition: background 0.3s;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(134, 150, 160, 0.4);
}

/* ── Smooth page load ── */
body {
  animation: pageLoad 0.5s ease-out;
}
@keyframes pageLoad {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ── Chat area background — Subtle pattern ── */
.chat-messages, .app-chat-messages {
  background: radial-gradient(ellipse at 50% 0%, rgba(0, 168, 132, 0.03) 0%, transparent 70%) !important;
}

/* ── Observe — focus ring for all interactive ── */
button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* ── Tour tooltip — Glass ── */
.tour-tooltip {
  background: rgba(var(--primary-rgb), 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--shadow-lg) !important;
  border-radius: 12px !important;
}

/* ── Skeleton loading ── */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.loading-skeleton {
  background: linear-gradient(90deg, rgba(var(--surface-rgb), 0.4) 25%, rgba(var(--hover-rgb), 0.6) 50%, rgba(var(--surface-rgb), 0.4) 75%);
  background-size: 200% 100%;
  animation: shimmer 2.5s ease-in-out infinite;
  will-change: background-position;
  border-radius: 4px;
}

/* ── Card padding + spacing fix (2026-05-09) ── */
.app-sidebar .sf-chat-item {
  padding: 10px 12px !important;
  margin: 6px 6px !important;
}

/* ── Badge unread próximo ao nome ── */
.app-sidebar .sf-chat-name-row {
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 6px !important;
}
.app-sidebar .sf-chat-name-row .sf-chat-time {
  margin-left: auto !important;
}
.app-sidebar .sf-badge-unread {
  flex-shrink: 0 !important;
  order: 0 !important;
}

/* ── Card height + tag spacing fix (2026-05-09 v2) ── */
.app-sidebar .sf-chat-item {
  padding: 10px 12px 14px 12px !important;
  margin: 8px 6px !important;
  min-height: 80px !important;
}
.app-sidebar .sf-chat-item .sf-chat-tag {
  margin-bottom: 2px !important;
}

/* ── Toggle IA Button ── */
.toggle-ia-btn {
  margin-left: auto;
  padding: 4px 12px;
  border-radius: 12px !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.3px;
  transition: all var(--transition-smooth);
  border: 1px solid transparent !important;
  cursor: pointer;
  white-space: nowrap;
}

.toggle-ia-btn.toggle-on {
  background: rgba(74, 140, 111, 0.06) !important;
  color: var(--primary) !important;
  border-color: rgba(0, 168, 132, 0.3) !important;
}

.toggle-ia-btn.toggle-on:hover {
  background: rgba(0, 168, 132, 0.25) !important;
  box-shadow: 0 0 8px rgba(0, 168, 132, 0.2);
}

.toggle-ia-btn.toggle-off {
  background: rgba(234, 0, 56, 0.15) !important;
  color: var(--danger) !important;
  border-color: rgba(234, 0, 56, 0.3) !important;
}

.toggle-ia-btn.toggle-off:hover {
  background: rgba(234, 0, 56, 0.25) !important;
  box-shadow: 0 0 8px rgba(234, 0, 56, 0.2);
}
