
/* v2.1 - mobile fixes */
/* === MALVEC CRM — DESIGN SYSTEM v3 ========================= */
/* ── Login screen ── */
#login-screen { position:fixed;inset:0;z-index:9999;background:var(--gradient);display:flex;align-items:center;justify-content:center; }
#login-screen.hidden { display:none; }
.login-card { background:#fff;border-radius:20px;padding:48px 44px;text-align:center;max-width:380px;width:90%;box-shadow:0 24px 64px rgba(0,0,0,.25); }
.login-logo { font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-.5px;margin-bottom:4px; }
.login-sub { font-size:13px;color:var(--slate-400);margin-bottom:36px; }
.login-google-btn { display:inline-flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #e2e2da;border-radius:10px;padding:12px 22px;font-size:14px;font-weight:600;color:#1f1f1f;cursor:pointer;transition:box-shadow .15s,border-color .15s;width:100%;justify-content:center; }
.login-google-btn:hover { box-shadow:0 2px 12px rgba(0,0,0,.12);border-color:#bbb; }
/* Sidebar toggle: always white */
#sidebar-toggle, #sidebar-toggle * { color: #ffffff !important; fill: #ffffff !important; }
/* Global overflow containment */
html, body { overflow-x: hidden !important; width: 100% !important; }
* { box-sizing: border-box; }
.login-google-btn img { width:20px;height:20px; }
.login-error { margin-top:14px;font-size:13px;color:#dc2626;display:none; }
/* User pill in sidebar */
.sidebar-user { padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px; }
.sidebar-user-avatar { width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--accent); }
.sidebar-user-avatar.initials { display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff; }
.sidebar-user-info { flex:1;min-width:0; }
.sidebar-user-name { font-size:12px;font-weight:600;color:rgba(255,255,255,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.sidebar-user-email { font-size:10px;color:#a89db5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.sidebar-signout { font-size:10px;color:rgba(255,255,255,.4);cursor:pointer;white-space:nowrap;flex-shrink:0; }
.sidebar-signout:hover { color:rgba(255,255,255,.75); }
/* GCal meeting form — legacy (inline divs, unused now but kept for safety) */
.cdp-meeting-form { display:none; }
.cdp-meeting-form.open { display:none; }
.gcal-status { font-size:12px;padding:8px 10px;border-radius:7px;margin-top:8px; }
.gcal-status.ok { background:#dcfce7;color:#15803d; }
.gcal-status.err { background:#fee2e2;color:#dc2626; }
/* ── MEETING SCHEDULER MODAL ─────────────────────────────────── */
#mtg-modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease; }
#mtg-modal-overlay.open { opacity:1;pointer-events:all; }
#mtg-modal { background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.18);transform:translateY(24px);transition:transform .25s cubic-bezier(.34,1.2,.64,1),opacity .2s ease;opacity:0;margin:16px; }
#mtg-modal-overlay.open #mtg-modal { transform:translateY(0);opacity:1; }
.mtg-header { display:flex;align-items:center;justify-content:space-between;padding:20px 22px 16px;border-bottom:1px solid #f0f0ee; }
.mtg-header-left { display:flex;flex-direction:column;gap:2px; }
.mtg-header-title { font-size:16px;font-weight:700;color:#160028;display:flex;align-items:center;gap:8px; }
.mtg-header-sub { font-size:12px;color:var(--slate-400);margin-left:26px; }
.mtg-close { background:none;border:none;font-size:20px;cursor:pointer;color:var(--slate-400);line-height:1;padding:4px;border-radius:6px;transition:background .15s; }
.mtg-close:hover { background:#f5f5f4;color:#160028; }
.mtg-section { padding:18px 22px;border-bottom:1px solid #f0f0ee; }
.mtg-section:last-of-type { border-bottom:none; }
.mtg-section-label { font-size:11px;font-weight:700;color:var(--slate-400);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px; }
.mtg-type-pills { display:flex;flex-wrap:wrap;gap:7px; }
.mtg-type-pill { padding:7px 14px;border-radius:20px;border:1.5px solid #d4d4ca;background:#fff;font-size:13px;font-weight:500;color:#4a4a4a;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap; }
.mtg-type-pill:hover { border-color:#8B1A4A;color:#8B1A4A; }
.mtg-type-pill.sel { background:#8B1A4A;border-color:#8B1A4A;color:#fff;font-weight:600; }
.mtg-datetime-cols { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
@media(max-width:480px){ .mtg-datetime-cols { grid-template-columns:1fr; } }
.mtg-cal { user-select:none; }
.mtg-cal-nav { display:flex;align-items:center;justify-content:space-between;margin-bottom:10px; }
.mtg-cal-nav button { background:none;border:none;cursor:pointer;font-size:16px;color:var(--slate-400);padding:4px 8px;border-radius:6px;line-height:1;font-family:inherit;transition:background .15s; }
.mtg-cal-nav button:hover { background:#f5f5f4;color:#160028; }
.mtg-cal-month { font-size:13px;font-weight:700;color:#160028; }
.mtg-cal-grid { display:grid;grid-template-columns:repeat(7,1fr);gap:2px; }
.mtg-cal-dow { font-size:10px;font-weight:700;color:var(--slate-400);text-align:center;padding:4px 0; }
.mtg-cal-day { font-size:12px;text-align:center;padding:5px 2px;border-radius:50%;cursor:pointer;transition:all .15s;line-height:1.6;min-width:28px;aspect-ratio:1; }
.mtg-cal-day:hover { background:#f5e8ef; }
.mtg-cal-day.today { outline:1.5px solid #8B1A4A;color:#8B1A4A;font-weight:600; }
.mtg-cal-day.sel { background:#8B1A4A;color:#fff;font-weight:700; }
.mtg-cal-day.other { color:#ccc;cursor:default; }
.mtg-cal-day.other:hover { background:transparent; }
.mtg-time-col { display:flex;flex-direction:column;gap:10px; }
.mtg-field-label { font-size:11px;font-weight:600;color:var(--slate-500);margin-bottom:4px; }
.mtg-input { width:100%;box-sizing:border-box;font-size:13px;padding:8px 10px;border:1.5px solid #d4d4ca;border-radius:8px;outline:none;font-family:inherit;transition:border-color .15s; }
.mtg-input:focus { border-color:#8B1A4A;box-shadow:0 0 0 3px rgba(139,26,74,.08); }
.mtg-dur-pills { display:flex;gap:6px;flex-wrap:wrap; }
.mtg-dur-pill { padding:5px 10px;border-radius:12px;border:1.5px solid #d4d4ca;background:#fff;font-size:12px;font-weight:500;color:#4a4a4a;cursor:pointer;font-family:inherit;transition:all .15s; }
.mtg-dur-pill:hover { border-color:#8B1A4A;color:#8B1A4A; }
.mtg-dur-pill.sel { background:#f5e8ef;border-color:#8B1A4A;color:#8B1A4A;font-weight:700; }
.mtg-collapsible-btn { background:none;border:none;font-size:12px;color:#8B1A4A;cursor:pointer;font-family:inherit;font-weight:600;padding:0;margin-top:4px;display:flex;align-items:center;gap:4px; }
.mtg-collapsible-content { display:none;margin-top:8px; }
.mtg-collapsible-content.open { display:block; }
.mtg-gcal-row { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.mtg-gcal-info { font-size:12px;color:var(--slate-400); }
.mtg-toggle { position:relative;display:inline-flex;align-items:center;cursor:pointer; }
.mtg-toggle input { opacity:0;width:0;height:0;position:absolute; }
.mtg-toggle-track { width:40px;height:22px;background:#d4d4ca;border-radius:11px;transition:background .2s;flex-shrink:0; }
.mtg-toggle input:checked + .mtg-toggle-track { background:#8B1A4A; }
.mtg-toggle-thumb { position:absolute;left:3px;top:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2); }
.mtg-toggle input:checked ~ .mtg-toggle-thumb { left:21px; }
.mtg-footer { display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-top:1px solid #f0f0ee; }
.mtg-btn-cancel { background:none;border:none;font-size:14px;color:var(--slate-400);cursor:pointer;font-family:inherit;font-weight:500;padding:8px 12px;border-radius:8px;transition:background .15s; }
.mtg-btn-cancel:hover { background:#f5f5f4;color:#160028; }
.mtg-btn-confirm { background:#8B1A4A;color:#fff;border:none;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;padding:10px 22px;border-radius:10px;box-shadow:0 2px 8px rgba(139,26,74,.25);transition:all .15s;display:flex;align-items:center;gap:7px; }
.mtg-btn-confirm:hover { background:#6e1239;box-shadow:0 4px 14px rgba(139,26,74,.35); }
.mtg-btn-confirm:disabled { opacity:.6;cursor:not-allowed; }
.mtg-success { background:#dcfce7;color:#15803d;font-size:13px;padding:10px 14px;border-radius:8px;text-align:center;margin:0 22px 16px; }

/* ═══ REPORTES DASHBOARD ════════════════════════════════════════ */
.rpt-kpi-row { display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px; }
.rpt-kpi-card { background:#fff;border-radius:10px;padding:18px 20px;box-shadow:0 1px 4px rgba(22,0,40,.07);border:1px solid var(--slate-200); }
.rpt-kpi-val { font-size:28px;font-weight:800;color:var(--navy);line-height:1.1;margin-bottom:4px; }
.rpt-kpi-label { font-size:11px;font-weight:700;color:var(--slate-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px; }
.rpt-kpi-sub { font-size:11px;color:var(--slate-400); }
.rpt-kpi-card.green .rpt-kpi-val { color:#16a34a; }
.rpt-kpi-card.yellow .rpt-kpi-val { color:#ca8a04; }
.rpt-kpi-card.red .rpt-kpi-val { color:#dc2626; }
.rpt-empty { font-size:13px;color:var(--slate-400);padding:24px;text-align:center; }
@media(max-width:900px){ .rpt-kpi-row { grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .rpt-kpi-row { grid-template-columns:1fr; } }
:root {
  /* Brand palette */
  --sidebar-bg:     #160028;
  --sidebar-hover:  #9f004a;
  --sidebar-active: #92004a;
  --accent:         #9f004a;
  --accent-h:       #92004a;
  --bg-main:        #efeee6;
  --bg-card:        #ffffff;
  --text-primary:   #160028;
  --text-sidebar:   #efeee6;
  --gradient:       linear-gradient(135deg, #160028, #92004a);

  /* Mapped tokens (keep old names for compatibility) */
  --navy:       #160028;
  --navy-800:   #2e0050;
  --navy-700:   #3d0066;
  --slate-600:  #475569;
  --slate-500:  #64748B;
  --slate-400:  #94A3B8;
  --slate-300:  #CBD5E1;
  --slate-200:  #E2E8F0;
  --slate-100:  #F1F5F9;
  --slate-50:   #efeee6;
  --text:       #160028;
  --blue:       #9f004a;
  --blue-h:     #92004a;
  --blue-100:   #f8e6ef;
  --blue-200:   #f0c6d8;
  --success:    #166534;
  --success-bg: #DCFCE7;
  --success-br: #BBF7D0;
  --warn:       #92400E;
  --warn-bg:    #FEF3C7;
  --warn-br:    #FDE68A;
  --danger:     #991B1B;
  --danger-bg:  #FEE2E2;
  --danger-br:  #FECACA;
  --info:       #1E40AF;
  --info-bg:    #DBEAFE;
  --info-br:    #BFDBFE;
  --sidebar-w:  240px;
}


* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; background: var(--slate-50); color: var(--text); min-height: 100vh; font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.app { display: flex; height: 100vh; overflow: hidden; }
.sidebar { width: var(--sidebar-w); background: var(--navy); border-right: 1px solid var(--navy-800); display: flex; flex-direction: column; flex-shrink: 0; }
.logo { padding: 22px 18px 18px; border-bottom: 1px solid var(--navy-800); }
.logo-name { font-size: 17px; font-weight: 700; letter-spacing: -0.4px; color: #FFFFFF; }
.logo-sub { font-size: 11px; color: rgba(239,238,230,0.55); margin-top: 3px; font-weight: 400; }
.nav { padding: 10px 10px; flex: 1; overflow-y: auto; scrollbar-width: none; }
.nav::-webkit-scrollbar { display: none; }
.nav-section { font-size: 10px; color: #a89db5; padding: 12px 10px 4px; text-transform: uppercase; letter-spacing: 0.8px; font-weight: 600; }
.nav-item { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 7px; cursor: pointer; font-size: 13px; color: rgba(239,238,230,0.7); transition: all 0.15s; margin-bottom: 1px; font-weight: 400; }
.nav-item:hover { background: var(--sidebar-hover); color: var(--text-sidebar); }
.nav-item.active { background: var(--sidebar-active); color: var(--text-sidebar); font-weight: 500; }
.nav-icon { width: 18px; height: 18px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; opacity: 0.75; }
.nav-item.active .nav-icon { opacity: 1; }
.nav-item:hover .nav-icon { opacity: 1; }
.nav-badge { margin-left: auto; background: var(--danger-bg); color: var(--danger); font-size: 10px; padding: 1px 6px; border-radius: 10px; font-weight: 700; }
.nav-badge-tasks { margin-left: auto; background: #8B1A4A; color: white; font-size: 10px; padding: 1px 6px; border-radius: 10px; font-weight: 700; min-width: 16px; text-align: center; display: none; }
.nav-badge-chats { margin-left: auto; background: #8B1A4A; color: white; font-size: 10px; padding: 1px 6px; border-radius: 10px; font-weight: 700; min-width: 16px; text-align: center; display: none; }
.nav-badge-clients { margin-left: auto; background: #8B1A4A; color: white; font-size: 10px; padding: 1px 6px; border-radius: 10px; font-weight: 700; min-width: 16px; text-align: center; display: none; }
.nav-badge-trash { margin-left: auto; background: #dc2626; color: white; font-size: 10px; padding: 1px 6px; border-radius: 10px; font-weight: 700; min-width: 16px; text-align: center; display: none; }
/* ── TRASH PANEL ──────────────────────────────────────────────────── */
.trash-row { display:flex; align-items:center; gap:12px; padding:13px 16px; border-bottom:1px solid var(--slate-100); background:white; }
.trash-row:last-child { border-bottom:none; }
.trash-row-avatar { width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; flex-shrink:0; }
.trash-row-info { flex:1; min-width:0; }
.trash-row-name { font-size:13px; font-weight:600; color:var(--navy); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.trash-row-sub { font-size:11px; color:var(--slate-400); margin-top:2px; }
.trash-row-actions { display:flex; gap:8px; flex-shrink:0; }
.trash-restore-btn { padding:5px 10px; border-radius:7px; border:1px solid #16a34a; background:#f0fdf4; color:#16a34a; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; }
.trash-restore-btn:hover { background:#dcfce7; }
.trash-perm-btn { padding:5px 10px; border-radius:7px; border:1px solid var(--danger-br); background:white; color:var(--danger); font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; }
.trash-perm-btn:hover { background:var(--danger-bg); }
.trash-empty-state { text-align:center; padding:80px 20px; color:var(--slate-400); font-size:15px; line-height:1.8; }
/* ── CDP INLINE TRASH CONFIRM ─────────────────────────────────────── */
/* ── TRASH CONFIRM MODAL ──────────────────────────────────────────── */
.trash-modal-overlay { position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:900; display:none; align-items:center; justify-content:center; backdrop-filter:blur(2px); padding:16px; }
.trash-modal-overlay.open { display:flex; }
.trash-modal { background:white; border-radius:12px; width:100%; max-width:400px; box-shadow:0 28px 80px rgba(15,23,42,.22); overflow:hidden; }
.trash-modal-body { padding:28px 28px 20px; text-align:center; }
.trash-modal-icon { font-size:40px; color:var(--slate-300); margin-bottom:14px; }
.trash-modal-title { font-size:17px; font-weight:700; color:var(--navy); margin-bottom:8px; }
.trash-modal-msg { font-size:13px; color:var(--slate-500); line-height:1.55; }
.trash-modal-footer { display:flex; gap:10px; padding:16px 28px 24px; }
.trash-modal-cancel { flex:1; padding:10px; border-radius:9px; border:1px solid var(--slate-200); background:white; font-size:13px; font-weight:600; cursor:pointer; font-family:inherit; color:var(--slate-600); }
.trash-modal-cancel:hover { background:var(--slate-50); }
.trash-modal-ok { flex:1; padding:10px; border-radius:9px; border:none; background:#dc2626; color:white; font-size:13px; font-weight:600; cursor:pointer; font-family:inherit; }
.trash-modal-ok:hover { background:#b91c1c; }
/* ── CLIENTES ───────────────────────────────────────────────────── */
.cli-card { display:flex; align-items:center; justify-content:space-between; background:white; border:1px solid var(--slate-200); border-radius:12px; padding:16px 18px; margin-bottom:10px; box-shadow:0 1px 3px rgba(0,0,0,.04); gap:14px; }
.cli-card-left { display:flex; align-items:center; gap:14px; min-width:0; flex:1; }
.cli-avatar { width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; flex-shrink:0; }
.cli-name { font-size:14px; font-weight:600; color:var(--navy); margin-bottom:2px; }
.cli-sub { font-size:12px; color:var(--slate-500); margin-bottom:4px; }
.cli-meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.cli-tag { background:#f0f6ff; color:#185fa5; font-size:11px; font-weight:600; padding:2px 8px; border-radius:10px; }
.cli-value { font-size:16px; font-weight:700; color:var(--navy); text-align:right; }
.cli-card-right { text-align:right; flex-shrink:0; }
@media(max-width:640px){ .cli-card { flex-direction:column; align-items:flex-start; } .cli-card-right { width:100%; text-align:left; } }
/* ── TASKS VIEW ───────────────────────────────────────────────────── */
.main { flex: 1; display: flex; flex-direction: column; overflow: hidden; }
.topbar { padding: 12px 24px; border-bottom: none; background: var(--gradient); display: flex; align-items: center; gap: 12px; box-shadow: 0 2px 8px rgba(22,0,40,0.35); }
.topbar-title { font-size: 15px; font-weight: 600; flex: 1; color: var(--text-sidebar); }
.topbar .btn { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.25); color: var(--text-sidebar); }
.topbar .btn:hover { background: rgba(255,255,255,0.2); border-color: rgba(255,255,255,0.4); }
.topbar .btn.primary { background: white; color: var(--accent); border-color: white; }
.topbar .btn.primary:hover { background: var(--bg-main); border-color: var(--bg-main); }
.btn { padding: 7px 14px; border-radius: 8px; border: 1px solid var(--slate-200); background: white; font-size: 13px; cursor: pointer; color: var(--navy-700); font-family: inherit; font-weight: 500; transition: all 0.15s; display: inline-flex; align-items: center; gap: 6px; line-height: 1.4; }
.btn:hover { background: var(--slate-50); border-color: var(--slate-300); }
.btn.primary { background: var(--blue); border-color: var(--blue); color: white; box-shadow: 0 1px 3px rgba(3,105,161,0.25); }
.btn.primary:hover { background: var(--blue-h); border-color: var(--blue-h); }
.btn.success { background: var(--success-bg); border-color: var(--success-br); color: var(--success); }
.btn.danger-outline { border-color: var(--danger-br); color: var(--danger); }
.btn.danger-outline:hover { background: var(--danger-bg); }
.content { flex: 1; overflow-y: auto; padding: 24px; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 24px; }
.metric { background: white; border: 1px solid var(--slate-200); border-radius: 12px; padding: 18px 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); transition: box-shadow 0.15s; cursor: default; }
.metric:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.07); }
.metric-label { font-size: 11px; color: var(--slate-500); margin-bottom: 8px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.4px; }
.metric-value { font-size: 28px; font-weight: 700; color: var(--navy); letter-spacing: -0.5px; }
.metric-delta { font-size: 11px; color: var(--success); margin-top: 6px; font-weight: 500; }
.metric-delta.down { color: var(--danger); }
.table-wrap { background: white; border: 1px solid var(--slate-200); border-radius: 12px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.table-header { padding: 14px 20px 12px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.search-input { flex: 1; min-width: 200px; padding: 8px 12px; border: 1px solid var(--slate-200); border-radius: 8px; font-size: 13px; background: var(--slate-50); color: var(--text); font-family: inherit; outline: none; transition: border-color 0.15s, box-shadow 0.15s; }
.search-input:focus { border-color: var(--blue); background: white; box-shadow: 0 0 0 3px rgba(3,105,161,0.1); }
.filter-sort-wrap { display:flex; align-items:center; gap:8px; }
.filter-select { padding: 7px 10px; border: 1px solid var(--slate-200); border-radius: 8px; font-size: 12.5px; background: var(--slate-50); color: var(--navy-700); font-family: inherit; cursor: pointer; outline: none; font-weight: 500; }
.filter-select:focus { border-color: var(--blue); }
.filter-bar { padding: 0 20px 12px; display: flex; flex-direction: column; gap: 8px; border-bottom: 1px solid var(--slate-200); }
.filter-group { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.filter-label { font-size: 11px; font-weight: 600; color: var(--slate-400); text-transform: uppercase; letter-spacing: 0.5px; min-width: 54px; }
#service-btns { display: flex; gap: 6px; flex-wrap: wrap; }
.filter-btn { padding: 4px 12px; border: 1px solid var(--slate-200); border-radius: 20px; font-size: 12px; background: white; color: var(--slate-600); cursor: pointer; transition: all 0.15s; font-family: inherit; font-weight: 500; }
.filter-btn:hover { background: var(--slate-50); border-color: var(--slate-300); }
.filter-btn.active { background: var(--blue); color: white; border-color: var(--blue); }
.filter-results { font-size: 12px; color: var(--slate-400); margin-left: auto; }
table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
th { padding: 10px 16px; text-align: left; font-size: 11px; font-weight: 600; color: var(--slate-500); background: var(--slate-50); border-bottom: 1px solid var(--slate-200); text-transform: uppercase; letter-spacing: 0.5px; }
td { padding: 12px 16px; border-bottom: 1px solid var(--slate-100); vertical-align: middle; color: var(--navy-700); }
tr:last-child td { border-bottom: none; }
tr:hover td { background: var(--slate-50); }
.contact-cell { display: flex; align-items: center; gap: 10px; }
.avatar { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; flex-shrink: 0; }
.contact-name { font-weight: 600; font-size: 13.5px; color: var(--navy); }

/* ── CONTACTS VIEW (CV) ──────────────────────────────────── */
.cv-wrap { display:flex;flex-direction:column;gap:0;background:white;border:1px solid var(--slate-200);border-radius:12px;overflow:visible;box-shadow:0 1px 4px rgba(0,0,0,.05); }
/* Header */
.cv-title { font-size:16px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:8px; }
.cv-count-badge { background:var(--slate-100);color:var(--slate-500);font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px; }
.cv-btn { padding:6px 12px;border-radius:8px;border:1px solid var(--slate-200);background:white;font-size:12px;font-weight:500;color:var(--navy);cursor:pointer;font-family:inherit;transition:all .15s;display:flex;align-items:center;gap:5px; }
.cv-btn:hover { background:var(--slate-50);border-color:var(--slate-300); }
.cv-btn.primary { background:#8B1A4A;color:white;border-color:#8B1A4A; }
.cv-btn.primary:hover { background:#701438; }
.cv-view-toggle { display:flex;border:1px solid var(--slate-200);border-radius:8px;overflow:hidden; }
/* Filter bar */
.cv-filter-bar { padding:10px 18px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--slate-200); }
.cv-search-row { display:flex;gap:8px;align-items:center; }
.cv-search { flex:1;padding:8px 12px 8px 34px;border:1px solid var(--slate-200);border-radius:8px;font-size:13px;background:var(--slate-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888780' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat 10px center;color:var(--text);font-family:inherit;outline:none;transition:all .15s; }
.cv-search:focus { border-color:#8B1A4A;background:white;box-shadow:0 0 0 3px rgba(139,26,74,.1); }
.cv-sort-select { padding:7px 10px;border:1px solid var(--slate-200);border-radius:8px;font-size:12px;background:var(--slate-50);color:var(--navy);font-family:inherit;cursor:pointer;outline:none;font-weight:500;min-width:170px; }
.cv-sort-select:focus { border-color:#8B1A4A; }
.cv-stage-chips { display:flex;gap:5px;flex-wrap:wrap;align-items:center; }
.cv-adv-toggle { padding:4px 10px;border-radius:20px;border:1.5px dashed var(--slate-200);background:transparent;font-size:12px;color:var(--slate-500);cursor:pointer;font-family:inherit;transition:all .15s;display:flex;align-items:center;gap:4px; }
.cv-adv-toggle:hover { border-color:var(--slate-400);color:var(--navy); }
.cv-adv-toggle.active { border-color:#8B1A4A;color:#8B1A4A;border-style:solid; }
.cv-seq-row { margin-top:8px; }
.cv-result-count { font-size:12px;color:#5f5e5a; }
.cv-adv-panel { display:none;padding:10px 0 4px;display:none; }
.cv-adv-panel.open { display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end; }
.cv-adv-group { display:flex;flex-direction:column;gap:4px;min-width:160px; }
.cv-adv-label { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-400); }
.cv-adv-select { padding:6px 10px;border:1px solid var(--slate-200);border-radius:7px;font-size:12px;background:white;font-family:inherit;outline:none;color:var(--navy);cursor:pointer; }
.cv-adv-select:focus { border-color:#8B1A4A; }
.cv-adv-toggle-pair { display:flex;gap:5px; }
.cv-active-filters { display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 10px;align-items:center; }
.cv-active-chip { display:flex;align-items:center;gap:5px;background:var(--slate-100);border-radius:20px;padding:3px 9px;font-size:11px;font-weight:500;color:var(--slate-600); }
.cv-active-chip button { background:none;border:none;cursor:pointer;font-size:12px;color:var(--slate-400);padding:0;line-height:1;display:flex;align-items:center; }
.cv-active-chip button:hover { color:#dc2626; }
.cv-clear-all { font-size:11px;color:#8B1A4A;cursor:pointer;font-weight:600;background:none;border:none;font-family:inherit;padding:3px 6px; }
.cv-clear-all:hover { text-decoration:underline; }
.cv-results-count { font-size:12px;color:var(--slate-400);margin-left:auto; }
.cv-bulk-count { font-size:13px;font-weight:600;color:#8B1A4A;margin-right:4px; }
/* Professional table */
.cv-table-wrap { overflow-x:auto;overflow-y:auto;max-height:68vh; }
.cv-table { width:100%;border-collapse:collapse;font-size:13px; }
.cv-table thead th { position:sticky;top:0;z-index:2;background:#f8f8f7;padding:9px 12px;text-align:left;font-size:10.5px;font-weight:700;color:var(--slate-500);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--slate-200);white-space:nowrap;cursor:pointer;user-select:none; }
.cv-table thead th:hover { background:#f0f0ec;color:var(--navy); }
.cv-table thead th.sorted { color:#8B1A4A; }
.cv-table thead th input[type=checkbox] { accent-color:#8B1A4A; }
.cv-table tbody tr { cursor:pointer;transition:background .1s; }
.cv-table tbody tr:nth-child(even) td { background:#fafaf9; }
.cv-table tbody tr:hover td { background:#fdf2f7; }
.cv-table tbody tr.selected td { background:#fce7f3; }
.cv-table td { padding:9px 12px;border-bottom:1px solid var(--slate-100);vertical-align:middle;color:var(--navy-700);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.cv-table td.no-clip { overflow:visible;white-space:normal;max-width:none; }
.cv-name-cell { display:flex;align-items:center;gap:9px;min-width:180px; }
.cv-avatar { width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:white;flex-shrink:0; }
.cv-name { font-weight:600;font-size:13px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px; }
.cv-company { font-size:11px;color:var(--slate-400); }
.cv-ind-chip { background:#f0f0eb;color:#888780;font-size:10px;padding:1px 6px;border-radius:6px;font-weight:600;white-space:nowrap; }
.cv-phone-cell,.cv-email-cell,.cv-web-cell,.cv-ig-cell { display:flex;align-items:center;gap:5px;font-size:12px;color:var(--slate-600); }
.cv-icon-link { font-size:14px;text-decoration:none;opacity:.7;flex-shrink:0; }
.cv-icon-link:hover { opacity:1; }
.cv-stage-pill { display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap; }
.cv-last-contact { font-size:12px; }
.cv-last-contact.never { color:#dc2626; }
.cv-act-cell { font-size:12px;color:var(--slate-500); }
.cv-score-wrap { display:flex;align-items:center;gap:6px;min-width:70px; }
.cv-score-bar { flex:1;height:5px;border-radius:3px;background:var(--slate-200);overflow:hidden; }
.cv-score-fill { height:100%;border-radius:3px; }
.cv-score-num { font-size:11px;font-weight:600;width:24px;text-align:right;color:var(--slate-500); }
.cv-row-actions { display:flex;gap:4px;opacity:0;transition:opacity .15s; }
tr:hover .cv-row-actions { opacity:1; }
.cv-action-btn { width:26px;height:26px;border-radius:6px;border:1px solid var(--slate-200);background:white;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s;text-decoration:none;color:var(--navy); }
.cv-action-btn:hover { background:var(--slate-50);border-color:var(--slate-300); }
/* Kanban contacts */
.cv-kanban { display:flex; flex-direction:row; flex-wrap:nowrap; gap:12px; overflow-x:auto; align-items:flex-start; padding:16px; }
.cv-kanbancol { background:var(--slate-50);border-radius:10px;padding:10px;min-height:200px; }
.cv-kanbancol-hdr { display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--slate-200); }
.cv-kanbancol-name { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-500); }
.cv-kanbancol-count { background:white;border:1px solid var(--slate-200);border-radius:8px;padding:1px 6px;font-size:11px;font-weight:700;color:var(--navy); }
.cv-kanban-load-more { width:100%;margin-top:4px;padding:7px;background:none;border:1px dashed var(--slate-300);border-radius:8px;font-size:12px;color:var(--slate-400);cursor:pointer;font-family:inherit;transition:all .15s; }
.cv-kanban-load-more:hover { background:var(--slate-50);color:var(--navy);border-color:var(--slate-400); }
.cv-kanban-card { background:white;border:1px solid var(--slate-200);border-radius:8px;padding:10px;margin-bottom:7px;cursor:grab;transition:box-shadow .15s,opacity .15s; }
.cv-kanban-card:hover { box-shadow:0 2px 8px rgba(0,0,0,.08);border-color:var(--slate-300); }
.cv-kanban-card.cv-kanban-dragging { opacity:.4;cursor:grabbing; }
.cv-kanban-cards.drag-over { background:rgba(139,26,74,.04);border-radius:8px;outline:2px dashed rgba(139,26,74,.25); }
.cv-kanban-card-top { display:flex;align-items:center;gap:8px;margin-bottom:5px; }
.cv-kanban-card-name { font-size:12px;font-weight:600;color:var(--navy);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.cv-kanban-card-meta { font-size:11px;color:var(--slate-400); }
/* List view */
.cv-list { display:flex;flex-direction:column; }
.cv-list-row { display:flex;align-items:center;gap:12px;padding:9px 18px;border-bottom:1px solid var(--slate-100);cursor:pointer;transition:background .1s; }
.cv-list-row:hover { background:#fdf2f7; }
.cv-list-row.selected { background:#fce7f3; }
.cv-list-name { flex:2;min-width:0; }
.cv-list-name-main { font-size:13px;font-weight:600;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.cv-list-name-sub { font-size:11px;color:var(--slate-400); }
.cv-list-phone { flex:1;font-size:12px;color:var(--slate-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.cv-list-lc { flex:1;font-size:12px;color:var(--slate-500);white-space:nowrap; }
.cv-list-actions { display:flex;gap:4px;opacity:0;transition:opacity .15s;flex-shrink:0; }
.cv-list-row:hover .cv-list-actions { opacity:1; }
/* Pagination */
.cv-pagination { display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-top:1px solid var(--slate-200); }
.cv-page-btn { padding:5px 12px;border:1px solid var(--slate-200);border-radius:7px;background:white;font-size:12px;cursor:pointer;font-family:inherit;color:var(--navy);transition:all .15s; }
.cv-page-btn:hover:not(:disabled) { background:var(--slate-50); }
.cv-page-btn:disabled { opacity:.4;cursor:default; }
.cv-page-btn.active { background:#8B1A4A;color:white;border-color:#8B1A4A; }
.cv-page-info { font-size:12px;color:var(--slate-500);padding:0 8px; }
/* Empty state */
.cv-empty { padding:48px 20px;text-align:center;color:var(--slate-400);font-size:14px; }
.cv-empty-icon { font-size:36px;margin-bottom:12px; }
/* Active filter chips */
.cv-af-chip { display:inline-flex;align-items:center;gap:5px;background:#fce7f3;color:#8B1A4A;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:500; }
.cv-af-chip button { background:none;border:none;cursor:pointer;font-size:12px;color:#8B1A4A;padding:0;line-height:1; }
.cv-af-chip button:hover { color:#dc2626; }
/* Sort select alias */
.cv-sort-sel { padding:7px 10px;border:1px solid var(--slate-200);border-radius:8px;font-size:12px;background:var(--slate-50);color:var(--navy);font-family:inherit;cursor:pointer;outline:none;font-weight:500;min-width:160px; }
.cv-sort-sel:focus { border-color:#8B1A4A; }
/* Adv panel opts */
.cv-adv-opts { display:flex;flex-wrap:wrap;gap:6px; }
.cv-adv-opts label { display:flex;align-items:center;gap:4px;font-size:12px;color:var(--navy);cursor:pointer;white-space:nowrap; }
.cv-adv-opts label input { accent-color:#8B1A4A; }
/* Kanban (names used in JS renderCVKanban) */
.cv-kanban-col { background:var(--slate-50);border-radius:10px;padding:10px;min-height:200px;width:250px;min-width:250px;flex:0 0 250px; }
.cv-kanban-col-head { display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:5px 8px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em; }
.cv-kanban-cards { display:flex;flex-direction:column;gap:7px; }
/* Danger btn */
.cv-btn.danger { background:#fee2e2;color:#dc2626;border-color:#fca5a5; }
.cv-btn.danger:hover { background:#fecaca; }
/* Bulk bar */
.cv-bulk-bar { display:none;align-items:center;gap:8px;padding:8px 18px;background:#fdf2f7;border-bottom:1px solid #f0c4d9;flex-wrap:wrap; }
.cv-bulk-bar.visible { display:flex; }
/* cv table td shortcuts */
.cv-td { padding:9px 12px;border-bottom:1px solid var(--slate-100);vertical-align:middle;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.cv-td-check { width:32px;text-align:center; }
.cv-td-name { min-width:180px; }
.cv-td-actions { white-space:nowrap; }
.cv-row { cursor:pointer; }
.cv-row:hover td { background:#fdf2f7; }
.cv-row-selected td { background:#fce7f3; }
/* Vista tabla (desktop): scroll propio + columnas checkbox/Contacto fijas.
   #cv-body también contiene kanban/lista, por eso se acota con :has(> .cv-table). */
@media (min-width: 769px) {
  #cv-body:has(> .cv-table) { overflow:auto; max-height:68vh; max-width:100%; }
  #cv-body > .cv-table { min-width:1100px; width:100%; }

  /* Columna Contacto */
  #cv-body .cv-table td.cv-td-name,
  #cv-body .cv-table thead th:nth-child(2) { width:220px; max-width:220px; }
  #cv-body .cv-table td.cv-td-name > div { min-width:0; }
  #cv-body .cv-table td.cv-td-name > div > div:last-child { min-width:0; overflow:hidden; }
  #cv-body .cv-table td.cv-td-name > div > div:last-child > div { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

  /* Sticky horizontal: checkbox (1ª) y Contacto (2ª) */
  #cv-body .cv-table td.cv-td-check,
  #cv-body .cv-table thead th:nth-child(1) { width:32px; min-width:32px; max-width:32px; padding-left:0; padding-right:0; text-align:center; }
  #cv-body .cv-table td.cv-td-check,
  #cv-body .cv-table td.cv-td-name { position:sticky; z-index:1; }
  #cv-body .cv-table thead th:nth-child(1),
  #cv-body .cv-table thead th:nth-child(2) { position:sticky; z-index:4; background:#f8f8f7; }
  #cv-body .cv-table td.cv-td-check,
  #cv-body .cv-table thead th:nth-child(1) { left:0; }
  #cv-body .cv-table td.cv-td-name,
  #cv-body .cv-table thead th:nth-child(2) { left:32px; }

  /* Fondos opacos (orden: base < par < hover < seleccionada) */
  #cv-body .cv-table tbody td.cv-td-check,
  #cv-body .cv-table tbody td.cv-td-name { background:#fff; }
  #cv-body .cv-table tbody tr:nth-child(even) td.cv-td-check,
  #cv-body .cv-table tbody tr:nth-child(even) td.cv-td-name { background:#fafaf9; }
  #cv-body .cv-table tbody tr.cv-row:hover td.cv-td-check,
  #cv-body .cv-table tbody tr.cv-row:hover td.cv-td-name { background:#fdf2f7; }
  #cv-body .cv-table tbody tr.cv-row-selected td.cv-td-check,
  #cv-body .cv-table tbody tr.cv-row-selected td.cv-td-name { background:#fce7f3; }
  #cv-body .cv-table thead th:nth-child(1):hover,
  #cv-body .cv-table thead th:nth-child(2):hover { background:#f0f0ec; }
}
@media (max-width:768px) { .cv-kanban { padding:8px; } .cv-kanban-col { min-width:180px; } }
.contact-company { font-size: 12px; color: var(--slate-400); margin-top: 1px; }
.tag { display: inline-block; padding: 2px 9px; border-radius: 20px; font-size: 11px; font-weight: 600; letter-spacing: 0.2px; }
.tag.lead             { background: var(--info-bg);    color: var(--info);    }
.tag.prospect         { background: var(--warn-bg);    color: var(--warn);    }
.tag.prospecto        { background: var(--warn-bg);    color: var(--warn);    }
.tag.contactado       { background: var(--info-bg);    color: var(--info);    }
.tag.en-comunicacion  { background: #e8f5e9;           color: #2e7d32;         }
.tag.demo             { background: #fff3e0;           color: #e65100;         }
.tag.propuesta        { background: #f3e5f5;           color: #7b1fa2;         }
.tag.customer         { background: var(--success-bg); color: var(--success); }
.tag.churned          { background: var(--danger-bg);  color: var(--danger);  }
.actions { display: flex; gap: 6px; }
.icon-btn { width: 30px; height: 30px; border-radius: 7px; border: 1px solid var(--slate-200); background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 13px; transition: all 0.15s; color: var(--slate-500); }
.icon-btn:hover { background: var(--slate-50); border-color: var(--slate-300); color: var(--navy); }
.panel { display: none; }
.panel.active { display: block; }

.calls-grid { display: grid; gap: 12px; }
.call-card { background: white; border: 1px solid var(--slate-200); border-radius: 12px; padding: 16px 20px; display: flex; align-items: center; gap: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.call-icon { width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 17px; flex-shrink: 0; }
.call-icon.in   { background: var(--info-bg); }
.call-icon.out  { background: var(--success-bg); }
.call-icon.miss { background: var(--danger-bg); }
.call-info { flex: 1; }
.call-name { font-weight: 600; font-size: 14px; color: var(--navy); }
.call-meta { font-size: 12px; color: var(--slate-400); margin-top: 3px; }
.call-duration { font-size: 13px; font-weight: 500; color: var(--slate-500); }
.play-btn { width: 32px; height: 32px; border-radius: 50%; background: var(--blue-100); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 13px; transition: background 0.15s; }
.play-btn:hover { background: var(--blue-200); }
.recording-badge { font-size: 11px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 8px; padding: 2px 8px; color: var(--slate-500); font-weight: 500; }
/* ── PIPELINE BOARD ──────────────────────────────────────────── */
.pipeline { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 12px; align-items: flex-start; }
.pipeline::-webkit-scrollbar { height: 5px; }
.pipeline::-webkit-scrollbar-track { background: transparent; }
.pipeline::-webkit-scrollbar-thumb { background: var(--slate-300); border-radius: 10px; }
.stage { background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 12px; padding: 10px 8px; min-height: 280px; transition: background .15s, box-shadow .15s; width: 185px; flex-shrink: 0; display: flex; flex-direction: column; }
.stage.drag-over { background: #eef6ff; box-shadow: inset 0 0 0 2px var(--blue); }
.stage.hot-lead-stage { border-color: #ffd6b0; background: #fff8f3; }
.stage-header { font-size: 10px; font-weight: 700; color: var(--slate-500); margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; text-transform: uppercase; letter-spacing: 0.7px; padding: 0 4px; }
.stage-count { background: white; border: 1px solid var(--slate-200); border-radius: 9px; padding: 1px 6px; font-size: 10px; font-weight: 700; color: var(--navy); }
.stage-cards { flex: 1; display: flex; flex-direction: column; gap: 6px; }
/* Deal cards — compact */
.deal-card { background: white; border: 1px solid var(--slate-200); border-radius: 9px; padding: 9px 10px; cursor: grab; transition: all .15s; user-select: none; box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.deal-card:hover { border-color: #8B1A4A44; box-shadow: 0 3px 10px rgba(139,26,74,.1); transform: translateY(-1px); }
.deal-card.hot-lead { border-left: 3px solid #FF6B35; }
.deal-card.dragging { opacity: .35; cursor: grabbing; transform: scale(.96); }
.deal-card.drag-placeholder { background: #eef6ff; border: 1.5px dashed var(--blue); height: 52px; border-radius: 9px; }
.deal-name { font-size: 12px; font-weight: 600; color: var(--navy); margin-bottom: 4px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.deal-value { font-size: 11px; color: #8B1A4A; font-weight: 700; }
.deal-company { font-size: 10px; color: var(--slate-400); margin-top: 2px; }
.deal-date { font-size: 10px; color: var(--slate-300); margin-top: 4px; }
.deal-card-contact { display: flex; align-items: center; gap: 5px; margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--slate-100); }
.deal-card-avatar { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 8px; font-weight: 700; flex-shrink: 0; }
.deal-card-cname { font-size: 10px; color: var(--slate-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0; }
.deal-card-service { font-size: 9px; background: var(--slate-100); color: var(--slate-500); padding: 1px 5px; border-radius: 5px; white-space: nowrap; flex-shrink: 0; }
.modal-overlay { display: none; position: fixed; inset: 0; background: rgba(15,23,42,0.5); z-index: 100; align-items: center; justify-content: center; backdrop-filter: blur(2px); }
.modal-overlay.open { display: flex; }
.modal { background: white; border-radius: 14px; padding: 28px; width: 500px; border: 1px solid var(--slate-200); max-height: 85vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(15,23,42,0.2); }
.modal-title { font-size: 17px; font-weight: 700; color: var(--navy); margin-bottom: 22px; letter-spacing: -0.2px; }
.form-group { margin-bottom: 16px; }
.form-label { font-size: 12px; color: var(--slate-600); margin-bottom: 6px; display: block; font-weight: 600; }
.form-input { width: 100%; padding: 9px 13px; border: 1px solid var(--slate-200); border-radius: 9px; font-size: 13.5px; background: white; color: var(--text); font-family: inherit; outline: none; transition: border-color 0.15s, box-shadow 0.15s; }
.form-input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(3,105,161,0.1); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.modal-footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--slate-100); }
.dup-card{background:#fff;border:1px solid var(--slate-200);border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:12px;transition:all .15s;cursor:pointer;}
.dup-card:hover{border-color:var(--blue);background:var(--blue-100);}
.dup-card-info{flex:1;}
.dup-card-name{font-weight:600;font-size:13.5px;margin-bottom:2px;color:var(--navy);}
.dup-card-meta{font-size:12px;color:var(--slate-400);}
.dup-reason{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;background:var(--warn-bg);color:var(--warn);white-space:nowrap;flex-shrink:0;}
.dup-reason.name{background:var(--danger-bg);color:var(--danger);}
.dup-reason.website{background:var(--info-bg);color:var(--info);}
.dup-reason.social{background:#F3E8FF;color:#6B21A8;}
.dup-go-btn{padding:6px 12px;border-radius:7px;border:1px solid var(--blue);background:var(--blue-100);color:var(--blue);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit;flex-shrink:0;}
.dup-go-btn:hover{background:var(--blue);color:white;}
.rec-timer { text-align: center; padding: 20px 0; }
.rec-name { font-size: 15px; font-weight: 600; color: var(--navy); }
.rec-time { font-size: 42px; font-weight: 300; letter-spacing: -1px; margin: 12px 0; color: var(--navy); }
.rec-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #DC2626; margin-right: 6px; animation: blink 1s infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.3} }
@keyframes slideUp{from{transform:translateX(-50%) translateY(20px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}
.rec-controls { display: flex; justify-content: center; gap: 12px; margin-top: 16px; }
select.form-input { cursor: pointer; }
textarea.form-input { resize: vertical; }
/* CONTACT DETAIL PANEL */
.detail-panel{position:fixed;top:0;right:0;width:390px;height:100vh;background:white;border-left:1px solid var(--slate-200);z-index:90;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:-4px 0 24px rgba(15,23,42,0.08);}
.detail-panel.open{transform:translateX(0);}
.dp-header{padding:20px 20px 16px;border-bottom:1px solid var(--slate-100);display:flex;align-items:flex-start;gap:14px;background:var(--slate-50);}
.dp-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;flex-shrink:0;}
.dp-title{flex:1;}
.dp-name{font-size:16px;font-weight:700;line-height:1.2;margin-bottom:3px;color:var(--navy);}
.dp-sub{font-size:12px;color:var(--slate-400);}
.dp-close{width:28px;height:28px;border-radius:7px;border:1px solid var(--slate-200);background:white;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--slate-400);flex-shrink:0;}
.dp-close:hover{background:var(--slate-50);border-color:var(--slate-300);}
.dp-body{flex:1;overflow-y:auto;padding:0;}
.dp-section{padding:16px 20px;border-bottom:1px solid var(--slate-100);}
.dp-section:last-child{border-bottom:none;}
.dp-section-label{font-size:10px;font-weight:700;color:var(--slate-300);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:12px;}
.dp-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;}
.dp-row:last-child{margin-bottom:0;}
.dp-icon{width:16px;height:16px;flex-shrink:0;margin-top:2px;opacity:.4;}
.dp-field-label{font-size:11px;color:var(--slate-400);min-width:80px;flex-shrink:0;padding-top:1px;font-weight:500;}
.dp-field-value{font-size:13px;color:var(--navy-700);flex:1;word-break:break-all;line-height:1.4;}
.dp-field-value a{color:var(--blue);text-decoration:none;}
.dp-field-value a:hover{text-decoration:underline;}
.dp-field-value.empty{color:var(--slate-300);font-style:italic;}
.dp-edit-btn{margin-left:auto;padding:3px 10px;border:1px solid var(--slate-200);border-radius:6px;background:white;font-size:11px;color:var(--slate-600);cursor:pointer;font-family:inherit;transition:all .15s;font-weight:500;}
.dp-edit-btn:hover{background:var(--slate-50);border-color:var(--slate-300);}
.dp-edit-btn.active{background:var(--blue);border-color:var(--blue);color:white;}
.dp-inline-input{width:100%;padding:5px 8px;border:1px solid var(--blue);border-radius:7px;font-size:13px;font-family:inherit;color:var(--text);outline:none;background:white;box-sizing:border-box;}
.dp-inline-input:focus{box-shadow:0 0 0 3px rgba(3,105,161,0.1);}
.dp-edit-actions{display:flex;gap:8px;margin-top:12px;}
.dp-save-btn{flex:1;padding:9px;background:var(--blue);color:white;border:none;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;}
.dp-save-btn:hover{background:var(--blue-h);}
.dp-cancel-btn{padding:9px 14px;background:white;border:1px solid var(--slate-200);border-radius:9px;font-size:13px;cursor:pointer;font-family:inherit;}
.dp-cancel-btn:hover{background:var(--slate-50);}
.dp-stage-row{display:flex;gap:6px;flex-wrap:wrap;}
.dp-stage-btn{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .15s;font-family:inherit;}
.dp-stage-btn.active-lead{background:var(--info-bg);color:var(--info);border-color:var(--info-br);}
.dp-stage-btn.active-prospect{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-br);}
.dp-stage-btn.active-customer{background:var(--success-bg);color:var(--success);border-color:var(--success-br);}
.dp-stage-btn.active-churned{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-br);}
.dp-stage-btn.inactive{background:var(--slate-50);color:var(--slate-400);border-color:var(--slate-200);}
.dp-stage-btn.inactive:hover{background:var(--info-bg);color:var(--info);}
.dp-notes-input{width:100%;min-height:80px;padding:9px 12px;border:1px solid var(--slate-200);border-radius:9px;font-size:13px;font-family:inherit;color:var(--text);resize:vertical;outline:none;}
.dp-notes-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(3,105,161,0.1);}
.dp-actions{display:flex;gap:8px;padding:14px 20px;border-top:1px solid var(--slate-100);flex-shrink:0;}
.dp-action-btn{flex:1;padding:9px;border-radius:9px;border:1px solid var(--slate-200);background:white;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:5px;transition:all .15s;color:var(--slate-600);}
.dp-action-btn:hover{background:var(--slate-50);border-color:var(--slate-300);}
.dp-action-btn.primary{background:var(--blue);border-color:var(--blue);color:white;}
.dp-action-btn.primary:hover{background:var(--blue-h);}
.dp-action-btn.danger{color:var(--danger);border-color:var(--danger-br);}
.dp-action-btn.danger:hover{background:var(--danger-bg);}
.dp-score-bar{height:4px;background:var(--slate-100);border-radius:2px;overflow:hidden;margin-top:6px;}
.dp-score-fill{height:100%;border-radius:2px;background:var(--blue);}
tr.selected td{background:var(--blue-100)!important;}
tr:hover{cursor:pointer;}

/* ═══ DEALS ════════════════════════════════════════════════════ */
.deal-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:200;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px);}
.deal-modal-overlay.open{display:flex;}
.deal-modal{background:white;border-radius:16px;width:560px;max-width:96vw;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(15,23,42,.2);}
.deal-modal-header{padding:18px 22px 14px;border-bottom:1px solid var(--slate-100);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.deal-modal-title{font-size:16px;font-weight:700;color:var(--navy);}
.deal-modal-close{width:28px;height:28px;border-radius:7px;border:1px solid var(--slate-200);background:transparent;cursor:pointer;font-size:15px;color:var(--slate-400);display:flex;align-items:center;justify-content:center;}
.deal-modal-close:hover{background:var(--slate-50);}
.deal-modal-body{padding:22px;overflow-y:auto;flex:1;}
/* ── NEW CONTACT MODAL ── */
.nc-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:300;display:none;align-items:center;justify-content:center;backdrop-filter:blur(3px);padding:16px;}
.nc-overlay.open{display:flex;}
.nc-modal{background:white;border-radius:16px;width:700px;max-width:98vw;max-height:94vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 28px 80px rgba(15,23,42,.22);}
.nc-header{padding:18px 22px 14px;border-bottom:1px solid var(--slate-100);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.nc-title{font-size:16px;font-weight:700;color:var(--navy);}
.nc-close{width:28px;height:28px;border-radius:7px;border:1px solid var(--slate-200);background:transparent;cursor:pointer;font-size:15px;color:var(--slate-400);display:flex;align-items:center;justify-content:center;}
.nc-close:hover{background:var(--slate-50);}
.nc-body{padding:22px 24px;overflow-y:auto;flex:1;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;}
.nc-col-title{font-size:11px;font-weight:700;color:var(--slate-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--slate-100);}
.nc-footer{padding:14px 22px;border-top:1px solid var(--slate-100);display:flex;justify-content:flex-end;gap:8px;flex-shrink:0;}
.nc-stage-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px;}
.nc-stage-pill{padding:5px 13px;border-radius:16px;border:1.5px solid var(--slate-200);background:white;font-size:12px;color:var(--slate-500);cursor:pointer;font-family:inherit;transition:.12s;}
.nc-stage-pill.selected{background:#8B1A4A;border-color:#8B1A4A;color:white;font-weight:600;}
.nc-hot-row{display:flex;align-items:center;justify-content:space-between;background:#fef9f4;border:1px solid #fde9c8;border-radius:9px;padding:10px 14px;margin-bottom:14px;}
.nc-multi-row{display:flex;gap:6px;margin-bottom:6px;}
.nc-multi-row input{flex:1;}
.nc-multi-row button{width:30px;height:36px;border:1px solid var(--slate-200);background:white;border-radius:7px;cursor:pointer;color:var(--slate-400);font-size:16px;flex-shrink:0;}
@media(max-width:640px){.nc-body{grid-template-columns:1fr;} .nc-modal{max-height:100vh;border-radius:0;}}
/* ── NC DEAL SECTION ─────────────────────────────────────────── */
.nc-deal-section { border:1px solid var(--slate-200); border-radius:10px; overflow:hidden; margin-top:14px; }
.nc-deal-toggle-row { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; background:var(--slate-50); cursor:pointer; user-select:none; }
.nc-deal-toggle-label { font-size:13px; font-weight:600; color:var(--navy); }
.nc-deal-toggle-sub { font-size:11px; color:var(--slate-400); margin-top:1px; }
.nc-deal-fields { padding:14px; border-top:1px solid var(--slate-200); display:none; flex-direction:column; gap:10px; }
.nc-deal-fields.open { display:flex; }
/* deal card enriched */
.deal-card-contact{display:flex;align-items:center;gap:6px;margin-top:7px;padding-top:7px;border-top:1px solid var(--slate-100);}
.deal-card-avatar{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;flex-shrink:0;}
.deal-card-cname{font-size:11px;color:var(--slate-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.deal-card-service{font-size:10px;padding:1px 6px;border-radius:8px;background:var(--slate-50);color:var(--slate-400);margin-left:auto;white-space:nowrap;}
/* deal detail panel */
.deal-detail-overlay{position:fixed;inset:0;background:rgba(15,23,42,.3);z-index:150;display:none;}
.deal-detail-overlay.open{display:block;}
.deal-detail-panel{position:fixed;right:0;top:0;width:400px;height:100vh;background:white;border-left:1px solid var(--slate-200);z-index:160;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 24px rgba(15,23,42,.08);}
.deal-detail-panel.open{transform:translateX(0);}
.ddp-notes{width:100%;min-height:70px;padding:9px 12px;border:1px solid var(--slate-200);border-radius:9px;font-size:13px;font-family:inherit;color:var(--text);resize:vertical;outline:none;}
.ddp-notes:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(3,105,161,0.1);}
.pipeline-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px;}
.pipe-search{flex:1;max-width:340px;padding:7px 13px;border:1px solid var(--slate-200);border-radius:9px;font-size:13px;background:white;color:var(--navy);font-family:inherit;outline:none;transition:all .15s;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.pipe-search:focus{border-color:#8B1A4A;box-shadow:0 0 0 3px rgba(139,26,74,.1);}
.pipe-search.active{border-color:#8B1A4A;background:#fdf2f7;}
/* Pipeline stats strip */
.pipeline-stats-bar{display:flex;gap:0;background:white;border:1px solid var(--slate-200);border-radius:12px;margin-bottom:14px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.ps-kpi{flex:1;padding:12px 16px;border-right:1px solid var(--slate-100);display:flex;align-items:center;gap:10px;}
.ps-kpi:last-child{border-right:none;}
.ps-kpi-icon{font-size:20px;flex-shrink:0;}
.ps-kpi-body{display:flex;flex-direction:column;gap:1px;}
.ps-kpi-label{font-size:9px;font-weight:700;color:var(--slate-400);text-transform:uppercase;letter-spacing:.6px;}
.ps-kpi-value{font-size:18px;font-weight:800;color:var(--navy);letter-spacing:-.5px;line-height:1.1;}
.ps-kpi-sub{font-size:10px;color:var(--slate-400);}

/* ═══ CALL FLOW ═══════════════════════════════════════════════════════════ */
.call-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:200;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px);}
.call-modal-overlay.open{display:flex;}
.call-modal{background:white;border-radius:16px;padding:0;width:520px;max-width:96vw;max-height:94vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(15,23,42,.2);}
.call-modal-header{padding:18px 22px 14px;border-bottom:1px solid var(--slate-100);display:flex;align-items:center;justify-content:space-between;}
.call-modal-title{font-size:15px;font-weight:700;color:var(--navy);}
.call-modal-close{width:28px;height:28px;border-radius:7px;border:1px solid var(--slate-200);background:transparent;cursor:pointer;font-size:15px;color:var(--slate-400);display:flex;align-items:center;justify-content:center;}
.call-modal-close:hover{background:var(--slate-50);}
.call-modal-body{padding:22px;flex:1;overflow-y:auto;}
.call-step{display:none;}
.call-step.active{display:block;}
/* Activity timeline */
.dp-timeline{display:flex;flex-direction:column;gap:0;}
.dp-tl-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--slate-50);position:relative;}
.dp-tl-item:last-child{border-bottom:none;}
.dp-tl-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;margin-top:1px;}
.dp-tl-content{flex:1;min-width:0;}
.dp-tl-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px;}
.dp-tl-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;}
.dp-tl-date{font-size:10px;color:var(--slate-300);white-space:nowrap;margin-left:6px;}
.dp-tl-text{font-size:12px;color:var(--slate-500);line-height:1.5;word-break:break-word;}
/* recording button */
.cf-rec-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;border-radius:8px;border:1.5px solid #DC2626;background:#fff;color:#DC2626;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;}
.cf-rec-btn:hover{background:#FEF2F2;}
.cf-rec-btn.active{background:#DC2626;color:#fff;border-color:#DC2626;}
.cf-rec-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:recpulse 1s infinite;}
@keyframes recpulse{0%,100%{opacity:1;}50%{opacity:.3;}}
.call-contact-selector{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
.call-phone-display{background:var(--blue-100);border:1px solid var(--blue-200);border-radius:12px;padding:16px 18px;text-align:center;margin-bottom:16px;}
.call-phone-number{font-size:26px;font-weight:700;letter-spacing:.5px;color:var(--blue);margin-bottom:8px;}
.call-phone-hint{font-size:12px;color:var(--slate-500);}
.call-launch-btns{display:flex;gap:10px;}
.call-timer-display{text-align:center;padding:20px 0 10px;}
.call-status-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 14px;border-radius:20px;background:var(--success-bg);color:var(--success);font-size:12px;font-weight:700;margin-bottom:14px;}
.call-pulse{width:8px;height:8px;border-radius:50%;background:#166534;animation:pulse-green 1.2s ease-in-out infinite;}
@keyframes pulse-green{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}
.call-timer-time{font-size:52px;font-weight:300;letter-spacing:-2px;margin:6px 0 4px;color:var(--navy);}
.call-timer-contact{font-size:15px;font-weight:600;color:var(--navy);}
.call-timer-company{font-size:12px;color:var(--slate-400);margin-top:2px;}
.call-notes-meta{display:flex;gap:20px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--slate-100);}
.call-notes-meta-item{display:flex;flex-direction:column;gap:2px;}
.call-notes-meta-label{font-size:10px;color:var(--slate-300);text-transform:uppercase;letter-spacing:.6px;font-weight:700;}
.call-notes-meta-value{font-size:13px;font-weight:600;color:var(--navy);}
.call-voice-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:8px;border:1px solid var(--slate-200);background:white;font-size:13px;cursor:pointer;font-family:inherit;transition:all .15s;font-weight:500;color:var(--slate-600);}
.call-voice-btn:hover{background:var(--slate-50);}
.call-voice-btn.listening{background:var(--danger-bg);border-color:var(--danger-br);color:var(--danger);animation:mic-pulse 1.5s ease-in-out infinite;}
@keyframes mic-pulse{0%,100%{box-shadow:0 0 0 0 rgba(153,27,27,.2)}50%{box-shadow:0 0 0 6px rgba(153,27,27,0)}}
.call-notes-ta{width:100%;min-height:130px;padding:11px 13px;border:1px solid var(--slate-200);border-radius:9px;font-size:13.5px;font-family:inherit;color:var(--text);resize:vertical;outline:none;margin-top:10px;line-height:1.6;}
.call-notes-ta:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(3,105,161,0.1);}
.call-word-count{font-size:11px;color:var(--slate-300);margin-top:5px;text-align:right;}
.ai-result{background:#F0F9FF;border:1px solid var(--blue-200);border-radius:10px;padding:16px;margin-top:14px;font-size:13.5px;line-height:1.7;display:none;}
.ai-result.visible{display:block;}
.ai-result h2{font-size:14px;font-weight:700;margin:14px 0 6px;color:var(--blue);}
.ai-result h2:first-child{margin-top:0;}
.ai-result ul{padding-left:18px;margin:4px 0;}
.ai-result li{margin-bottom:4px;}
.ai-result p{margin-bottom:6px;}
.ai-result strong{font-weight:700;}
.ai-loading{display:flex;align-items:center;gap:10px;color:var(--slate-500);font-size:13px;padding:10px 0;}
.ai-dot-anim{display:inline-flex;gap:4px;}
.ai-dot-anim span{width:6px;height:6px;border-radius:50%;background:var(--blue);animation:dot-bounce .9s ease-in-out infinite;}
.ai-dot-anim span:nth-child(2){animation-delay:.15s;}
.ai-dot-anim span:nth-child(3){animation-delay:.3s;}
@keyframes dot-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.callh-card{background:white;border:1px solid var(--slate-200);border-radius:12px;overflow:hidden;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.callh-main{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;}
.callh-main:hover{background:var(--slate-50);}
.callh-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0;}
.callh-info{flex:1;}
.callh-name{font-weight:600;font-size:13.5px;color:var(--navy);}
.callh-meta{font-size:12px;color:var(--slate-400);margin-top:2px;}
.callh-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.callh-duration{font-size:12px;font-weight:500;color:var(--slate-400);}
.callh-ai-badge{font-size:10px;padding:2px 7px;border-radius:10px;background:var(--info-bg);color:var(--info);font-weight:700;}
.callh-expand{padding:0 18px 14px;display:none;border-top:1px solid var(--slate-100);}
.callh-expand.open{display:block;}
.callh-notes-text{font-size:13px;color:var(--slate-500);margin:10px 0;line-height:1.6;white-space:pre-wrap;}
.sync-bar{font-size:11px;display:flex;align-items:center;gap:6px;padding:5px 11px;border-radius:20px;border:1px solid var(--slate-200);background:var(--slate-50);font-weight:500;color:var(--slate-500);}
.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--slate-400);}
.sync-bar.synced .sync-dot{background:#16A34A;}
.sync-bar.syncing .sync-dot{background:#D97706;animation:blink .8s infinite;}
.sync-bar.error .sync-dot{background:var(--danger);}
.settings-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--slate-100);}
.settings-section-title{font-size:13px;font-weight:700;margin-bottom:12px;color:var(--navy);}

/* ── SEQUENCE ENROLLMENT ─────────────────────────────────────────── */
.seq-enrolled-section { border-top:1px solid var(--slate-100); padding-top:10px; }
.seq-enrolled-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.seq-enrolled-title { font-size:12px; font-weight:700; color:var(--slate-500); text-transform:uppercase; letter-spacing:.4px; }
.seq-enroll-btn { background:#fff; border:1px solid #8B1A4A; border-radius:8px; padding:5px 12px; font-size:12px; font-weight:600; color:#8B1A4A; cursor:pointer; font-family:inherit; transition:.15s; }
.seq-enroll-btn:hover { background:#8B1A4A; color:#fff; }
.seq-enrolled-list { display:flex; flex-direction:column; gap:2px; }
.seq-enrolled-list.expanded { max-height:360px; overflow-y:auto; }
.seq-enrolled-item { display:flex; align-items:center; gap:8px; padding:4px 6px; border-radius:10px; transition:background .12s; }
.seq-enrolled-item:hover { background:var(--slate-50); }
.seq-enrolled-avatar { width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; flex-shrink:0; color:#fff; }
.seq-enrolled-info { flex:1; min-width:0; }
.seq-enrolled-name { font-size:13px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--navy); }
.seq-enrolled-step { font-size:11px; color:var(--slate-400); margin-top:1px; }
.seq-enrolled-status { font-size:10px; font-weight:700; padding:2px 8px; border-radius:10px; flex-shrink:0; }
.seq-enrolled-status.active { background:var(--info-bg); color:var(--info); }
.seq-enrolled-status.completed { background:var(--success-bg); color:var(--success); }
.seq-enrolled-status.waiting { background:var(--warn-bg); color:var(--warn); }
.seq-enrolled-status.paused { background:var(--warn-bg); color:var(--warn); }
.seq-enrolled-empty { font-size:12px; color:var(--slate-400); text-align:center; padding:10px; }
.seq-enrolled-more { display:block; margin:6px auto 0; background:none; border:none; color:#8B1A4A; font-size:12px; font-weight:600; cursor:pointer; padding:6px 10px; font-family:inherit; }
.seq-enrolled-more:hover { text-decoration:underline; }
.seq-complete-btn { background:#fff; border:1px solid var(--slate-200); border-radius:7px; width:28px; height:28px; font-size:12px; cursor:pointer; color:var(--slate-500); flex-shrink:0; font-family:inherit; }
.seq-complete-btn:hover { background:var(--success-bg); color:var(--success); border-color:var(--success-br); }
.seq-complete-btn.resume { background:var(--warn-bg); color:var(--warn); border-color:var(--warn-br); }
.seq-remove-enroll-btn { background:none; border:none; color:var(--slate-300); font-size:14px; cursor:pointer; flex-shrink:0; width:24px; height:28px; }
.seq-remove-enroll-btn:hover { color:var(--danger); }

/* enroll contact picker modal */
.enroll-modal-overlay { display:none; position:fixed; inset:0; background:rgba(22,0,40,.5); z-index:600; align-items:center; justify-content:center; backdrop-filter:blur(2px); }
.enroll-modal-overlay.open { display:flex; }
.enroll-modal { background:#fff; border-radius:14px; width:480px; max-width:95vw; height:640px; max-height:85vh; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 24px 80px rgba(22,0,40,.28); }
.enroll-modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:18px 20px 12px; }
.enroll-modal-heading { display:flex; flex-direction:column; gap:2px; min-width:0; }
.enroll-modal-title { font-size:16px; font-weight:700; color:var(--navy); }
.enroll-modal-sub { font-size:12px; color:var(--slate-400); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.enroll-close-btn { background:none; border:none; font-size:18px; line-height:1; cursor:pointer; color:var(--slate-400); width:32px; height:32px; border-radius:8px; flex-shrink:0; }
.enroll-close-btn:hover { background:var(--slate-50); color:var(--navy); }
.enroll-toolbar { display:flex; gap:8px; padding:0 20px; }
.enroll-search { flex:1; min-width:0; padding:9px 12px; border:1px solid var(--slate-200); border-radius:9px; font-size:13px; outline:none; box-sizing:border-box; font-family:inherit; }
.enroll-search:focus { border-color:#8B1A4A; box-shadow:0 0 0 3px rgba(139,26,74,.1); }
.enroll-selectall-btn { background:#fff; color:#8B1A4A; border:1px solid #8B1A4A; border-radius:9px; padding:0 14px; font-size:12px; font-weight:600; cursor:pointer; white-space:nowrap; font-family:inherit; transition:.15s; }
.enroll-selectall-btn:hover { background:#8B1A4A; color:#fff; }
.enroll-results-info { font-size:12px; color:var(--slate-400); padding:8px 20px 6px; }
.enroll-contact-list { overflow-y:auto; flex:1; padding:0 12px 8px; display:flex; flex-direction:column; gap:2px; border-top:1px solid var(--slate-100); }
.enroll-contact-item { display:flex; align-items:center; gap:12px; padding:9px 10px; min-height:48px; border-radius:10px; cursor:pointer; border:1px solid transparent; transition:.12s; }
.enroll-contact-item:hover { background:var(--slate-50); }
.enroll-contact-item.selected { background:#f8e6ef; border-color:#f0c6d8; }
.enroll-contact-item.already { opacity:.5; cursor:not-allowed; }
.enroll-contact-item.already:hover { background:none; }
.enroll-check { width:18px; height:18px; flex-shrink:0; accent-color:#8B1A4A; pointer-events:none; margin:0; }
.enroll-contact-avatar { width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:#fff; flex-shrink:0; }
.enroll-contact-info { flex:1; min-width:0; }
.enroll-contact-name { font-size:13.5px; font-weight:600; color:var(--navy); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.enroll-contact-company { font-size:12px; color:var(--slate-400); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.enroll-already-badge { font-size:10px; background:var(--slate-100); color:var(--slate-500); border-radius:10px; padding:2px 8px; flex-shrink:0; font-weight:600; }
.enroll-empty { text-align:center; color:var(--slate-400); padding:28px 20px; font-size:13px; }
.enroll-load-more { margin:6px auto 4px; background:none; border:1px solid var(--slate-200); border-radius:9px; padding:8px 16px; font-size:12px; font-weight:600; color:var(--slate-500); cursor:pointer; font-family:inherit; flex-shrink:0; }
.enroll-load-more:hover { background:var(--slate-50); }
.enroll-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px; border-top:1px solid var(--slate-200); background:#fff; flex-shrink:0; }
.enroll-footer-count { display:flex; flex-direction:column; align-items:flex-start; gap:2px; font-size:13px; font-weight:600; color:var(--navy); }
.enroll-clear-btn { background:none; border:none; padding:0; font-size:11px; font-weight:500; color:var(--slate-500); text-decoration:underline; cursor:pointer; font-family:inherit; }
.enroll-clear-btn:hover { color:#8B1A4A; }
.enroll-footer-actions { display:flex; gap:8px; }
.enroll-cancel-btn { background:#fff; border:1px solid var(--slate-200); border-radius:9px; padding:9px 16px; font-size:13px; font-weight:500; color:var(--slate-600); cursor:pointer; font-family:inherit; }
.enroll-cancel-btn:hover { background:var(--slate-50); }
.enroll-add-btn { background:#8B1A4A; border:1px solid #8B1A4A; border-radius:9px; padding:9px 18px; font-size:13px; font-weight:600; color:#fff; cursor:pointer; font-family:inherit; transition:.15s; }
.enroll-add-btn:hover:not(:disabled) { background:#741540; }
.enroll-add-btn:disabled { opacity:.4; cursor:not-allowed; }
@media (max-width: 640px) {
  .enroll-modal-overlay { align-items:flex-end; }
  .enroll-modal { width:100%; max-width:100%; height:92vh; height:92dvh; max-height:92dvh; border-radius:16px 16px 0 0; }
  .enroll-contact-item { min-height:52px; }
  .enroll-footer { padding-bottom:max(12px, env(safe-area-inset-bottom)); }
  .enroll-add-btn, .enroll-cancel-btn { min-height:44px; }
  .enroll-selectall-btn { min-height:44px; }
}

/* ── SEQUENCE WORK MODE ─────────────────────────────────────── */
.work-progress-row { display:flex; align-items:center; gap:10px; }
.work-progress-bar-wrap { flex:1; background:rgba(255,255,255,.25); border-radius:10px; height:6px; overflow:hidden; }
.work-progress-bar { height:100%; background:white; border-radius:10px; transition:width .4s; }
.work-progress-label { font-size:13px; font-weight:700; opacity:.9; white-space:nowrap; }
.work-contact-row { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.work-contact-avatar { width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:17px; font-weight:700; color:white; flex-shrink:0; }
.work-contact-name { font-size:17px; font-weight:700; color:var(--navy); }
.work-contact-meta { font-size:13px; color:var(--slate-400); margin-top:2px; }
.work-step-box { background:var(--slate-50); border:1px solid var(--slate-200); border-radius:12px; padding:16px 18px; margin-bottom:18px; display:flex; gap:14px; align-items:flex-start; }
.work-step-icon { font-size:26px; line-height:1; flex-shrink:0; margin-top:2px; }
.work-step-label { font-size:11px; font-weight:700; color:var(--slate-400); text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px; }
.work-step-name { font-size:15px; font-weight:700; color:var(--navy); margin-bottom:6px; }
.work-step-note { font-size:13px; color:var(--slate-500); line-height:1.5; white-space:pre-wrap; }
.work-contact-links { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.work-link-btn { display:flex; align-items:center; gap:6px; padding:7px 13px; border-radius:9px; border:1px solid var(--slate-200); background:white; font-size:13px; cursor:pointer; color:var(--navy-700); font-family:inherit; text-decoration:none; transition:.15s; font-weight:500; }
.work-link-btn:hover { background:var(--blue-100); border-color:var(--blue); color:var(--blue); }
.work-link-btn:disabled { opacity:.35; cursor:not-allowed; pointer-events:none; }
.work-actions { display:flex; gap:10px; }
/* ── CALL OUTCOME PANEL ──────────────────────────────────────── */
.call-outcome-panel { display:none; background:#f5f0eb; border:1px solid #dfd6cc; border-radius:12px; padding:16px 18px; margin-top:14px; }
.call-outcome-panel.visible { display:block; animation:copSlideIn .2s ease; }
@keyframes copSlideIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
.call-outcome-heading { font-size:12px; font-weight:700; color:var(--slate-500); text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; }
.call-outcome-pills { display:flex; flex-wrap:wrap; gap:8px; }
.call-outcome-pill { padding:7px 15px; border-radius:20px; border:1.5px solid #c8b5c2; background:white; font-size:13px; color:#160028; cursor:pointer; font-family:inherit; font-weight:500; transition:all .15s; white-space:nowrap; }
.call-outcome-pill:hover { border-color:#8B1A4A; color:#8B1A4A; background:#fdf3f7; }
.call-outcome-pill.selected { background:#8B1A4A; border-color:#8B1A4A; color:white; font-weight:600; }
.call-outcome-step2 { display:none; margin-top:14px; padding-top:14px; border-top:1px dashed #dfd6cc; }
.call-outcome-step2.visible { display:block; animation:copSlideIn .2s ease; }
.call-outcome-followup { display:none; margin-top:10px; }
.call-outcome-followup.visible { display:block; }
.call-outcome-followup input[type="datetime-local"] { background:white; border:1.5px solid #c8b5c2; border-radius:8px; padding:7px 10px; font-size:13px; color:#160028; font-family:inherit; outline:none; transition:.15s; width:100%; max-width:240px; }
.call-outcome-followup input[type="datetime-local"]:focus { border-color:#8B1A4A; box-shadow:0 0 0 3px rgba(139,26,74,.12); }
.call-outcome-confirm { margin-top:14px; width:100%; background:#8B1A4A; color:white; border:none; border-radius:10px; padding:11px; font-size:14px; font-weight:700; cursor:pointer; font-family:inherit; transition:.15s; letter-spacing:.1px; }
.call-outcome-confirm:hover { background:#70133b; }
.call-outcome-confirm:disabled { opacity:.4; cursor:not-allowed; }
.call-outcome-notes-ta { width:100%; background:white; border:1.5px solid #c8b5c2; border-radius:9px; padding:9px 12px; font-size:13px; color:#160028; font-family:inherit; resize:vertical; outline:none; box-sizing:border-box; transition:border-color .15s, box-shadow .15s; min-height:66px; }
.call-outcome-notes-ta:focus { border-color:#8B1A4A; box-shadow:0 0 0 3px rgba(139,26,74,.12); }
.work-done-box { text-align:center; padding:30px 20px; }
.work-done-emoji { font-size:48px; margin-bottom:12px; }
.work-done-title { font-size:20px; font-weight:700; color:var(--navy); margin-bottom:6px; }
.work-done-sub { font-size:14px; color:var(--slate-400); }
.work-data-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; background:var(--slate-50); border:1px solid var(--slate-200); border-radius:10px; padding:12px 14px; margin-bottom:14px; }
.work-data-row { display:flex; flex-direction:column; gap:2px; min-width:0; }
.work-data-label { font-size:10px; font-weight:700; color:var(--slate-300); text-transform:uppercase; letter-spacing:.5px; }
.work-data-val { font-size:13px; color:var(--navy); word-break:break-word; font-weight:500; }
.work-data-val a { color:var(--blue); text-decoration:none; }
.work-data-val a:hover { text-decoration:underline; }
.work-stage-tag { display:inline-block; padding:2px 8px; border-radius:10px; font-size:11px; font-weight:700; }
.wm-stage-select { border:none; border-radius:12px; padding:3px 24px 3px 10px; font-size:12px; font-weight:700; cursor:pointer; font-family:inherit; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 7px center; outline:none; }
.wm-stage-select.s-prospecto    { background-color:#faeeda; color:#854f0b; }
.wm-stage-select.s-contactado   { background-color:#dbeafe; color:#1e40af; }
.wm-stage-select.s-en-comunicacion { background-color:#f3e8ff; color:#6b21a8; }
.wm-stage-select.s-demo         { background-color:#e6f1fb; color:#185fa5; }
.wm-stage-select.s-propuesta    { background-color:#eaf3de; color:#3b6d11; }
.wm-stage-select.s-cliente      { background-color:#dcfce7; color:#15803d; font-weight:700; }
.wm-stage-select.s-default      { background-color:#f0f0eb; color:#5f5e5a; }
.work-notes-box { background:#FFFBEB; border:1px solid #FDE68A; border-radius:8px; padding:10px 12px; margin-bottom:14px; font-size:13px; color:var(--slate-500); line-height:1.5; white-space:pre-wrap; }
.work-field-input { background:white; border:1px solid var(--slate-200); border-radius:7px; padding:5px 9px; font-size:13px; color:var(--text); font-family:inherit; width:100%; outline:none; transition:.15s; font-weight:500; }
.work-field-input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(3,105,161,0.1); }
.work-field-input::placeholder { color:var(--slate-300); }
/* Multi-value fields */
.wm-multi-col { display:flex; flex-direction:column; gap:4px; flex:1; min-width:0; }
.wm-multi-field-row { display:flex; align-items:center; gap:4px; }
.wm-multi-field-row .work-field-input { flex:1; width:auto; margin:0; box-sizing:border-box; }
.wm-multi-remove-btn { flex-shrink:0; background:none; border:none; color:var(--slate-300); font-size:17px; line-height:1; cursor:pointer; padding:2px 5px; border-radius:5px; transition:.12s; }
.wm-multi-remove-btn:hover { color:#a32d2d; background:#fef2f2; }
.wm-multi-add-link { background:none; border:none; color:var(--slate-400); font-size:11px; cursor:pointer; padding:1px 0; text-align:left; font-family:inherit; }
.wm-multi-add-link:hover { color:var(--slate-600); text-decoration:underline; }
/* Phone/WhatsApp picker popover */
.wm-picker-wrap { position:relative; display:inline-block; }
.wm-phone-picker { display:none; position:absolute; bottom:calc(100% + 6px); left:0; background:#fff; border:2px solid #7c1f34; border-radius:10px; box-shadow:0 4px 24px rgba(0,0,0,.18); padding:10px 10px 8px; z-index:1200; min-width:190px; }
.wm-phone-picker.open { display:block; }
.wm-phone-picker-title { font-size:10px; font-weight:700; color:var(--slate-400); text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px; padding-bottom:5px; border-bottom:1px solid var(--slate-100); white-space:nowrap; }
.wm-phone-picker-opt { display:block; width:100%; text-align:left; background:none; border:none; padding:6px 8px; border-radius:6px; font-size:13px; color:var(--text); cursor:pointer; font-family:inherit; white-space:nowrap; }
.wm-phone-picker-opt:hover { background:var(--slate-100); }
.wm-phone-picker-badge { font-size:10px; color:var(--slate-400); margin-left:4px; }
.work-notes-textarea { width:100%; border:1px solid var(--slate-200); border-radius:9px; padding:9px 12px; font-size:13px; color:var(--text); font-family:inherit; resize:vertical; outline:none; min-height:72px; transition:.15s; box-sizing:border-box; }
.work-notes-textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(3,105,161,0.1); }
.work-save-toast { display:none; font-size:11px; color:var(--success); font-weight:700; margin-left:8px; }
/* ── CALL LOG HISTORY ────────────────────────────────────────── */
.call-log-section { margin-bottom:14px; border:1px solid var(--slate-100); border-radius:10px; padding:10px 14px; background:#fdfcfa; }
.call-log-title { font-size:11px; font-weight:700; color:var(--slate-400); text-transform:uppercase; letter-spacing:.5px; margin-bottom:8px; }
.call-log-entry { padding:7px 0; border-top:1px solid var(--slate-100); }
.call-log-entry:first-of-type { border-top:none; padding-top:0; }
.call-log-row { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-bottom:2px; }
.call-log-date { font-size:12px; color:var(--slate-400); font-weight:500; flex-shrink:0; }
.call-log-chip { font-size:11px; font-weight:700; padding:2px 8px; border-radius:10px; flex-shrink:0; }
.call-log-chip.answered { background:var(--success-bg); color:var(--success); }
.call-log-chip.no-answer { background:var(--danger-bg); color:var(--danger); }
.call-log-chip.voicemail { background:var(--slate-100); color:var(--slate-500); }
.call-log-chip.out-of-service { background:#fef3c7; color:#92400e; }
.call-log-outcome { font-size:12px; color:var(--navy); font-weight:500; }
.call-log-followup { font-size:12px; color:#8B1A4A; font-weight:600; }
.call-log-notes { font-size:12px; color:var(--slate-400); font-style:italic; line-height:1.45; margin-top:2px; word-break:break-word; }
/* ── ACTIVITY TIMELINE ───────────────────────────────────────── */
.act-section { margin-bottom:14px; }
.act-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.act-title { font-size:11px; font-weight:700; color:var(--slate-400); text-transform:uppercase; letter-spacing:.5px; }
.act-add-btn { background:none; border:1px solid var(--slate-200); border-radius:6px; padding:3px 9px; font-size:12px; color:var(--slate-500); cursor:pointer; font-family:inherit; font-weight:600; transition:.12s; }
.act-add-btn:hover { background:#fdf3f7; border-color:#8B1A4A; color:#8B1A4A; }
.act-note-input { margin-bottom:8px; }
.act-note-ta { width:100%; background:white; border:1.5px solid var(--slate-200); border-radius:8px; padding:8px 10px; font-size:13px; color:var(--text); font-family:inherit; resize:none; outline:none; box-sizing:border-box; transition:border-color .15s; }
.act-note-ta:focus { border-color:#8B1A4A; box-shadow:0 0 0 3px rgba(139,26,74,.1); }
.act-note-save { background:#8B1A4A; color:white; border:none; border-radius:7px; padding:5px 14px; font-size:12px; font-weight:700; cursor:pointer; font-family:inherit; margin-top:5px; }
.act-note-save:hover { background:#70133b; }
.act-list { display:flex; flex-direction:column; }
.act-entry { padding:7px 0 7px 10px; border-left:2px solid #e8d6de; }
.act-entry + .act-entry { border-top:1px solid var(--slate-100); }
.act-row { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:2px; }
.act-date { font-size:11px; color:var(--slate-400); font-weight:500; flex-shrink:0; }
.act-type-label { font-size:11px; font-weight:700; padding:2px 8px; border-radius:10px; flex-shrink:0; }
.act-type-label.wa { background:#e6fdf3; color:#0d7c49; }
.act-type-label.email { background:#dbeafe; color:#1e40af; }
.act-type-label.note { background:#fef9e7; color:#92400e; }
.act-outcome { font-size:12px; color:var(--navy); font-weight:500; }
.act-followup { font-size:12px; color:#8B1A4A; font-weight:600; }
.act-notes { font-size:12px; color:var(--slate-400); font-style:italic; line-height:1.45; word-break:break-word; margin-top:1px; }
.act-empty { font-size:12px; color:var(--slate-400); padding:4px 0; font-style:italic; }
.act-see-more { background:none; border:none; color:#8B1A4A; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; padding:6px 0 2px; }
.act-see-more:hover { text-decoration:underline; }

/* ── RECORDATORIOS SECTION ──────────────────────────────────────── */
.rem-section { margin-bottom:14px; }
.rem-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.rem-title { font-size:11px; font-weight:700; letter-spacing:.06em; color:var(--slate-500); text-transform:uppercase; }
.rem-add-btn { background:none; border:1.5px solid #c8b5c2; border-radius:16px; padding:3px 11px; font-size:12px; font-weight:600; color:#8B1A4A; cursor:pointer; font-family:inherit; }
.rem-add-btn:hover { background:#f8e6ef; }
.rem-form { background:#f5f0eb; border:1px solid #dfd6cc; border-radius:10px; padding:12px 14px; margin-bottom:10px; }
.rem-type-pills { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.rem-type-pill { padding:5px 12px; border-radius:16px; border:1.5px solid #c8b5c2; background:white; font-size:12px; color:#160028; cursor:pointer; font-family:inherit; }
.rem-type-pill.selected { background:#8B1A4A; border-color:#8B1A4A; color:white; }
.rem-datetime-row { display:flex; gap:8px; margin-bottom:8px; }
.rem-date-input, .rem-time-input { flex:1; border:1.5px solid #c8b5c2; border-radius:8px; padding:6px 10px; font-size:13px; color:#160028; font-family:inherit; outline:none; background:white; box-sizing:border-box; }
.rem-date-input:focus, .rem-time-input:focus { border-color:#8B1A4A; box-shadow:0 0 0 3px rgba(139,26,74,.1); }
.rem-note-ta { width:100%; border:1.5px solid #c8b5c2; border-radius:8px; padding:7px 10px; font-size:13px; color:#160028; font-family:inherit; resize:none; outline:none; background:white; box-sizing:border-box; margin-bottom:10px; }
.rem-note-ta:focus { border-color:#8B1A4A; box-shadow:0 0 0 3px rgba(139,26,74,.1); }
.rem-form-btns { display:flex; gap:8px; }
.rem-save-btn { background:#8B1A4A; color:white; border:none; border-radius:8px; padding:7px 18px; font-size:13px; font-weight:600; cursor:pointer; font-family:inherit; }
.rem-save-btn:hover { background:#9f004a; }
.rem-cancel-btn { background:white; color:#8B1A4A; border:1.5px solid #c8b5c2; border-radius:8px; padding:7px 14px; font-size:13px; font-weight:600; cursor:pointer; font-family:inherit; }
.rem-cancel-btn:hover { background:#f8e6ef; }
.rem-list { display:flex; flex-direction:column; gap:6px; }
.rem-row { display:flex; align-items:flex-start; gap:8px; padding:7px 10px; background:white; border:1px solid #e8d6de; border-radius:8px; }
.rem-row-icon { font-size:16px; flex-shrink:0; line-height:1.4; }
.rem-row-info { flex:1; min-width:0; }
.rem-row-date { font-size:13px; font-weight:600; color:#160028; }
.rem-row-note { font-size:12px; color:var(--slate-400); font-style:italic; margin-top:2px; word-break:break-word; }
.rem-empty { font-size:12px; color:var(--slate-400); font-style:italic; padding:4px 0; }
.rem-row-del { background:none; border:none; color:var(--slate-400); font-size:18px; line-height:1; cursor:pointer; padding:0 0 0 4px; flex-shrink:0; }
.rem-row-del:hover { color:#dc2626; }
.rem-row-edit { background:none; border:none; color:var(--slate-400); font-size:13px; line-height:1; cursor:pointer; padding:0 0 0 4px; flex-shrink:0; }
.rem-row-edit:hover { color:#8B1A4A; }
.rem-edit-form { background:#fdf9fb; border:1.5px solid #f0dde8; border-radius:8px; padding:10px 12px; margin:-4px 0 8px 0; }
.rem-row-del:hover { color:#8B1A4A; }

/* reminder toast removed */

/* ── HAMBURGER BUTTON ───────────────────────────────────────── */
.hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.hamburger span { display:block; width:20px; height:2px; background:#ffffff; border-radius:2px; transition:.2s; }
/* ── SIDEBAR OVERLAY (mobile) ───────────────────────────────── */
.sidebar-overlay { display:none; position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:199; }
.sidebar-overlay.open { display:block; }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 900px) {
  .pipeline { overflow-x:auto; padding-bottom:8px; }
  .metrics { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  /* Sidebar becomes full-height drawer */
  .sidebar {
    position: fixed; top:0; left:0; height:100vh;
    z-index:200; transform:translateX(-100%);
    transition:transform .25s cubic-bezier(.4,0,.2,1);
    width: 240px;
  }
  .sidebar.open { transform:translateX(0); }
  .hamburger { display:flex; }
  /* Main takes full width */
  .main { width:100%; }
  /* Topbar */
  .topbar { padding:12px 16px; }
  /* Content padding */
  .content { padding:16px; }
  /* Metrics: 2 cols */
  .metrics { grid-template-columns: repeat(2, 1fr); gap:10px; margin-bottom:16px; }
  .metric-value { font-size:22px; }
  /* Table: horizontal scroll */
  .table-wrap { overflow-x:auto; }
  table { min-width:560px; }
  /* Table header stacks */
  .table-header { flex-direction:column; align-items:stretch; gap:8px; }
  .search-input { min-width:unset; width:100%; }
  .filter-bar { padding: 0 12px 10px; }
  .filter-label { min-width: 48px; }
  .filter-results { margin-left: 0; }
  /* Pipeline: horizontal scroll */
  .pipeline { overflow-x:auto; padding-bottom:8px; }
  /* Calls grid */
  .call-card { flex-wrap:wrap; gap:10px; }
  /* Detail panel: full width */
  .detail-panel { width:100vw; }
  /* Modal: full width */
  .modal { width:calc(100vw - 32px); max-width:100%; }
  .seq-modal { width:calc(100vw - 24px); }
  /* Sync bar */
  .sync-bar { font-size:11px; }
  /* Form row: stack */
  .form-row { grid-template-columns: 1fr; }

  /* ── TOPBAR mobile fixes ─────────────────────────────────── */
  /* Hide global "+ Agregar contacto" — each panel has its own action button */
  .topbar .btn.primary { display:none; }
  /* "Llamar / Registrar" → icon only */
  .topbar .btn { font-size:0; padding:7px 9px; gap:0; }
  .topbar .btn svg { width:16px; height:16px; }
  /* Panel title: ellipsis, no wrap */
  .topbar-title { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }

  /* ── CONTACTOS kanban mobile: scroll horizontal ─────────── */
  .cv-kanban { flex-direction:row; flex-wrap:nowrap; overflow-x:auto !important; overflow-y:visible; padding:10px; }
  .cv-kanban-col { min-width:260px; flex:0 0 auto !important; }

  /* ── SEQ-WORK mobile: rediseño de action bar + tabs sticky ── */
  .wfp-right { display:flex; flex-direction:column; padding:14px; }
  /* Action bar: completar full-width arriba, secundarios en fila */
  .wfp-action-bar { display:grid; grid-template-columns:repeat(4, 1fr); gap:6px; margin-bottom:14px; }
  .wfp-action-btn { font-size:12px; padding:8px 4px; gap:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  /* El primero (.primary = Completar) ocupa todas las columnas */
  .wfp-action-bar .wfp-action-btn.primary { grid-column:1 / -1; padding:14px 16px; font-size:15px; font-weight:700; }
  /* Salir: quitar margin-left:auto (no aplica en grid) */
  .wfp-action-bar .wfp-action-btn[style*="margin-left"] { margin-left:0 !important; }
  /* Acción actual y panel de outcome: full width */
  .wfp-cop-wrap, .cop-inline { width:100%; }
  /* Tabs Info/Actividad sticky */
  .swp-tab-bar { position:sticky; top:0; z-index:10; background:white; box-shadow:0 1px 3px rgba(0,0,0,.05); }
  /* Global overflow containment — clip permite que hijos con position scrolleen */
  body, html { overflow-x: clip !important; max-width: 100vw; }
  html { max-width: 100% !important; width: 100% !important; }
  body, .app { width: 100% !important; max-width: 100vw !important; overflow-x: clip !important; }
  .content, .panel { max-width: 100vw; overflow-x: clip !important; }
  .panel.active { overflow-x: clip !important; }
  .cv-wrap { overflow-x: clip !important; }
  .hot-card { max-width: 100%; box-sizing: border-box; }
  /* Home layout: flex column, no overrides needed */
}

@media (max-width: 480px) {
  .metrics { grid-template-columns: repeat(2, 1fr); gap:8px; }
  .metric { padding:12px; }
  .metric-value { font-size:20px; }
  .topbar-title { font-size:14px; }
  .btn { padding:6px 10px; font-size:12px; }
  /* Table buttons compact */
  .icon-btn { width:24px; height:24px; font-size:11px; }
  /* Seq cards */
  /* Metric delta hide on very small */
  .metric-delta { display:none; }
}

/* ── SEQUENCES ─────────────────────────────────────────────── */
.seq-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(340px, 1fr)); gap:14px; align-items:start; }
.seq-grid .seq-empty { grid-column:1 / -1; }
.seq-empty { text-align:center; padding:60px 20px; color:var(--slate-400); font-size:14px; }
.seq-card { background:#fff; border:1px solid var(--slate-200); border-radius:14px; padding:14px 16px; box-shadow:0 1px 2px rgba(22,0,40,.04), 0 4px 14px rgba(22,0,40,.04); transition:box-shadow .15s; }
.seq-card:hover { box-shadow:0 2px 4px rgba(22,0,40,.05), 0 8px 24px rgba(22,0,40,.07); }
.seq-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:10px; }
.seq-card-info { flex:1; min-width:0; }
.seq-card-title-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.seq-card-name { font-size:16px; font-weight:700; color:var(--navy); }
.seq-card-desc { font-size:13px; color:var(--slate-500); margin-top:3px; }
.seq-card-desc:empty { display:none; }
.seq-card-meta { font-size:12px; color:var(--slate-400); margin-top:6px; }
.seq-status-pill { font-size:11px; font-weight:600; padding:2px 9px; border-radius:20px; }
.seq-status-pill.on { background:var(--success-bg); color:var(--success); }
.seq-status-pill.off { background:var(--slate-100); color:var(--slate-500); }
.seq-steps-row { display:flex; align-items:center; flex-wrap:wrap; gap:4px 2px; margin-bottom:10px; }
.seq-steps-empty { color:var(--slate-300); font-size:13px; }
.seq-step-chip { display:inline-flex; align-items:center; gap:6px; background:#fff; border:1px solid var(--slate-200); border-radius:20px; padding:4px 11px; font-size:12px; font-weight:500; color:var(--slate-600); }
.seq-step-chip.wait { color:var(--slate-400); border-style:dashed; }
.seq-step-arrow { color:var(--slate-300); font-size:14px; padding:0 3px; }
.seq-card-footer { display:flex; align-items:center; gap:8px; flex-wrap:wrap; border-top:1px solid var(--slate-100); margin-top:10px; padding-top:10px; }
.seq-footer-spacer { flex:1; }
.seq-action-btn { background:#fff; border:1px solid var(--slate-200); border-radius:9px; padding:7px 14px; font-size:13px; font-weight:500; color:var(--slate-600); cursor:pointer; font-family:inherit; transition:.15s; }
.seq-action-btn:hover { background:var(--slate-50); }
.seq-action-btn.primary { background:#8B1A4A; border-color:#8B1A4A; color:#fff; font-weight:600; }
.seq-action-btn.primary:hover { background:#741540; }
.seq-action-btn.danger { border-color:transparent; color:var(--slate-400); }
.seq-action-btn.danger:hover { background:var(--danger-bg); color:var(--danger); border-color:var(--danger-br); }
.seq-action-btn:disabled { opacity:.45; cursor:default; }
.seq-action-btn.primary:disabled:hover { background:#8B1A4A; }

/* Card desplegada: filtros + lista */
.seq-grid .seq-card.expanded { grid-column:1 / -1; }
.seq-flt { display:flex; flex-direction:column; gap:8px; padding:10px 0; border-top:1px solid var(--slate-100); margin-bottom:6px; }
.seq-flt-row { display:flex; align-items:center; gap:8px; min-width:0; }
.seq-flt-lbl { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--slate-400); width:52px; flex-shrink:0; }
.seq-flt-chips { display:flex; flex-wrap:wrap; gap:6px; min-width:0; }
.seq-flt-chip { display:inline-flex; align-items:center; gap:6px; background:#fff; border:1px solid var(--slate-200); border-radius:20px; padding:4px 11px; font-size:12px; font-weight:500; color:var(--slate-600); cursor:pointer; font-family:inherit; white-space:nowrap; transition:.15s; }
.seq-flt-chip:hover { background:var(--slate-50); }
.seq-flt-chip.on { background:#8B1A4A; border-color:#8B1A4A; color:#fff; }
.seq-flt-chip.zero:not(.on) { color:var(--slate-300); }
.seq-flt-n { font-size:11px; font-weight:600; color:var(--slate-400); }
.seq-flt-chip.on .seq-flt-n { color:rgba(255,255,255,.8); }
.seq-flt-row-dd { flex-wrap:wrap; }
.seq-flt-dd { position:relative; }
.seq-flt-dd > summary { list-style:none; display:inline-flex; align-items:center; gap:6px; background:#fff; border:1px solid var(--slate-200); border-radius:9px; padding:6px 12px; font-size:13px; font-weight:500; color:var(--slate-600); cursor:pointer; user-select:none; }
.seq-flt-dd > summary::-webkit-details-marker { display:none; }
.seq-flt-dd > summary::after { content:'▾'; font-size:10px; color:var(--slate-400); }
.seq-flt-dd.on > summary { border-color:#8B1A4A; color:#8B1A4A; }
.seq-flt-badge { background:#8B1A4A; color:#fff; border-radius:10px; padding:0 6px; font-size:11px; font-weight:600; }
.seq-flt-dd-menu { position:absolute; top:calc(100% + 4px); left:0; z-index:30; min-width:220px; max-width:300px; max-height:280px; overflow-y:auto; background:#fff; border:1px solid var(--slate-200); border-radius:10px; box-shadow:0 8px 24px rgba(22,0,40,.12); padding:4px; }
.seq-flt-opt { display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:7px; font-size:13px; color:var(--slate-600); cursor:pointer; }
.seq-flt-opt:hover { background:var(--slate-50); }
.seq-flt-opt input { accent-color:#8B1A4A; margin:0; }
.seq-flt-opt-l { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.seq-flt-opt-empty { padding:8px; font-size:12px; color:var(--slate-400); }
.seq-flt-q { flex:1; min-width:180px; border:1px solid var(--slate-200); border-radius:9px; padding:7px 12px; font-size:13px; font-family:inherit; color:var(--slate-600); background:#fff; }
.seq-flt-q:focus { outline:none; border-color:#8B1A4A; box-shadow:0 0 0 3px rgba(139,26,74,.1); }
.seq-flt-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.seq-flt-count { font-size:13px; color:var(--slate-500); }
.seq-flt-count b { color:var(--navy); }
.seq-flt-spacer { flex:1; }
.seq-flt-more { display:block; width:100%; margin-top:6px; background:var(--slate-50); border:1px dashed var(--slate-200); border-radius:9px; padding:8px; font-size:13px; font-weight:500; color:var(--slate-600); cursor:pointer; font-family:inherit; }
.seq-flt-more:hover { background:var(--slate-100); }
.seq-flt-panel .seq-enrolled-list.expanded { max-height:520px; }
@media (max-width: 767px) {
  .seq-flt-row { align-items:flex-start; flex-direction:column; gap:4px; }
  .seq-flt-row-dd { flex-direction:row; align-items:center; }
  .seq-flt-chips { flex-wrap:nowrap; overflow-x:auto; width:100%; padding-bottom:2px; -webkit-overflow-scrolling:touch; }
  .seq-flt-q { min-width:0; width:100%; flex-basis:100%; }
  .seq-flt-dd-menu { max-width:calc(100vw - 48px); }
  .seq-flt-actions { flex-direction:column; align-items:stretch; }
  .seq-flt-spacer { display:none; }
  .seq-flt-actions .seq-action-btn { width:100%; }
}
@media (max-width: 480px) {
  .seq-card { padding:12px; }
  .seq-step-chip { font-size:11px; padding:3px 8px; }
}
/* Métricas por secuencia */
.seq-kpis { font-size:12px; color:var(--slate-500); margin-bottom:4px; }
.seq-kpis b { color:var(--navy); font-weight:700; }
.seq-card .seq-enrolled-list.expanded { margin-top:8px; }
.seq-mtable-wrap { overflow-x:auto; margin-bottom:16px; }
.seq-mtable th, .seq-mtable td { white-space:nowrap; }
.seq-mrow { cursor:pointer; }
.seq-mrow:hover, .seq-mrow.selected { background:var(--slate-50); }
.seq-mdetail { background:#fff; border:1px solid var(--slate-200); border-radius:14px; padding:14px 16px; }
.seq-mdetail-title { font-size:15px; font-weight:700; color:var(--navy); margin-bottom:10px; }
.seq-mlists { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:16px; margin-top:6px; }
.seq-mlists .seq-enrolled-title { display:block; margin-bottom:6px; }
.seq-contact-link { font-size:13px; font-weight:600; color:#8B1A4A; text-decoration:none; }
.seq-contact-link:hover { text-decoration:underline; }
@media (max-width: 768px) {
  .seq-grid { grid-template-columns:1fr; }
}
.seq-metrics { display:flex; flex-wrap:wrap; gap:6px 14px; margin-bottom:10px; font-size:12px; color:var(--slate-500); }
.seq-metric b { color:var(--navy); font-weight:700; }
.seq-metric.hl b { color:#8B1A4A; }
.seq-funnel { display:flex; flex-direction:column; gap:3px; margin-bottom:12px; }
.seq-funnel-row { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--slate-500); }
.seq-funnel-lbl { width:14px; text-align:right; font-weight:700; color:var(--slate-400); }
.seq-funnel-bar { flex:1; height:6px; background:var(--slate-100); border-radius:4px; overflow:hidden; }
.seq-funnel-bar span { display:block; height:100%; background:#8B1A4A; border-radius:4px; }
.seq-funnel-n { min-width:84px; white-space:nowrap; }
.seq-toggle { position:relative; width:38px; height:22px; flex-shrink:0; }
.seq-toggle input { opacity:0; width:0; height:0; }
.seq-toggle-slider { position:absolute; inset:0; background:var(--slate-300); border-radius:22px; cursor:pointer; transition:.2s; }
.seq-toggle-slider:before { content:''; position:absolute; width:16px; height:16px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s; box-shadow:0 1px 3px rgba(0,0,0,.15); }
.seq-toggle input:checked + .seq-toggle-slider { background:var(--blue); }
.seq-toggle input:checked + .seq-toggle-slider:before { transform:translateX(16px); }
/* seq modal */
.seq-modal-overlay { display:none; position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:500; align-items:center; justify-content:center; backdrop-filter:blur(2px); }
.seq-modal-overlay.open { display:flex; }
.seq-modal { background:#fff; border-radius:16px; width:560px; max-width:95vw; max-height:90vh; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 24px 80px rgba(15,23,42,.2); }
.seq-modal-header { display:flex; align-items:center; justify-content:space-between; padding:18px 20px 14px; border-bottom:1px solid var(--slate-200); }
.seq-modal-title { font-size:16px; font-weight:700; color:var(--navy); }
.seq-modal-close { background:none; border:none; font-size:20px; cursor:pointer; color:var(--slate-400); }
.seq-modal-body { padding:18px 20px; overflow-y:auto; flex:1; }
.seq-form-label { font-size:12px; font-weight:700; color:var(--slate-500); margin-bottom:5px; display:block; text-transform:uppercase; letter-spacing:.5px; }
.seq-form-input { width:100%; border:1px solid var(--slate-200); border-radius:9px; padding:9px 12px; font-size:14px; color:var(--text); outline:none; box-sizing:border-box; margin-bottom:14px; }
.seq-form-input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(3,105,161,0.1); }
.step-builder { display:flex; flex-direction:column; gap:8px; margin-bottom:10px; }
.step-item { display:flex; align-items:flex-start; gap:8px; background:var(--slate-50); border:1px solid var(--slate-200); border-radius:10px; padding:10px 12px; }
.step-item-left { display:flex; flex-direction:column; gap:6px; flex:1; }
.step-item-row { display:flex; gap:8px; }
.step-type-select { border:1px solid var(--slate-200); border-radius:7px; padding:6px 10px; font-size:13px; background:#fff; color:var(--navy); cursor:pointer; }
.step-wait-input { width:70px; border:1px solid var(--slate-200); border-radius:7px; padding:6px 8px; font-size:13px; text-align:center; }
.step-note-input { flex:1; border:1px solid var(--slate-200); border-radius:7px; padding:6px 10px; font-size:13px; resize:none; background:#fff; }
.step-move-btns { display:flex; flex-direction:column; gap:3px; }
.step-move-btn { background:none; border:1px solid var(--slate-200); border-radius:5px; width:22px; height:22px; cursor:pointer; font-size:12px; display:flex; align-items:center; justify-content:center; }
.step-move-btn:hover { background:var(--slate-100); }
.step-remove-btn { background:none; border:none; color:var(--slate-300); font-size:16px; cursor:pointer; padding:2px 4px; line-height:1; }
.step-remove-btn:hover { color:var(--danger); }
.add-step-btn { background:none; border:2px dashed var(--slate-200); border-radius:10px; padding:9px; font-size:13px; color:var(--slate-400); cursor:pointer; width:100%; font-weight:500; }
.add-step-btn:hover { border-color:var(--blue); color:var(--blue); }
.seq-modal-footer { padding:14px 20px; border-top:1px solid var(--slate-200); display:flex; gap:8px; justify-content:flex-end; }

/* EMAIL COMPOSE MODAL */
.email-modal-overlay { display:none; position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:600; align-items:center; justify-content:center; backdrop-filter:blur(2px); }
.email-modal-overlay.open { display:flex; }
.email-modal { background:#fff; border-radius:16px; width:600px; max-width:95vw; max-height:92vh; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 20px 60px rgba(15,23,42,.2); }
.email-modal-header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px 12px; border-bottom:1px solid var(--slate-200); }
.email-modal-title { font-size:15px; font-weight:700; color:var(--navy); }
.email-modal-close { background:none; border:none; font-size:20px; cursor:pointer; color:var(--slate-400); line-height:1; }
.email-field { display:flex; align-items:center; gap:10px; padding:10px 20px; border-bottom:1px solid var(--slate-100); }
.email-field-label { font-size:12px; font-weight:700; color:var(--slate-400); text-transform:uppercase; letter-spacing:.5px; width:48px; flex-shrink:0; }
.email-field-input { flex:1; border:none; outline:none; font-size:14px; color:var(--text); font-family:inherit; background:transparent; }
.email-body-wrap { flex:1; display:flex; flex-direction:column; padding:14px 20px; min-height:0; }
.email-body-ta { flex:1; border:none; outline:none; font-size:14px; color:var(--text); font-family:inherit; resize:none; background:transparent; min-height:200px; line-height:1.6; }
.email-modal-footer { padding:12px 20px; border-top:1px solid var(--slate-200); display:flex; align-items:center; justify-content:space-between; gap:8px; }
.email-status { font-size:12px; color:var(--slate-500); min-height:18px; }
.email-status.ok  { color:var(--success); }
.email-status.err { color:var(--danger); }

/* ── WORK FULLPAGE VIEW ─────────────────────────────────────── */
/* ── SEQUENCE WORK FULLPAGE (new two-panel) ──────────────────────── */
#work-fullpage { display:none; position:fixed; inset:0; background:var(--bg-main); z-index:800; flex-direction:column; overflow:hidden; }
#work-fullpage.open { display:flex; }
.wfp-topbar { background:white; border-bottom:1px solid var(--slate-200); padding:12px 20px; display:flex; align-items:center; gap:10px; flex-shrink:0; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.wfp-seq-name { font-size:15px; font-weight:700; color:var(--navy); flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wfp-progress-row { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.wfp-progress-bar-wrap { width:110px; background:var(--slate-100); border-radius:10px; height:6px; overflow:hidden; }
.wfp-progress-bar { height:100%; background:#8B1A4A; border-radius:10px; transition:width .4s; }
.wfp-progress-label { font-size:13px; font-weight:700; color:var(--slate-600); white-space:nowrap; }
.wfp-nav-arrows { display:flex; gap:4px; flex-shrink:0; }
.wfp-arrow-btn { background:none; border:1.5px solid var(--slate-200); border-radius:8px; padding:5px 10px; font-size:13px; cursor:pointer; font-family:inherit; color:var(--slate-600); transition:.15s; line-height:1; }
.wfp-arrow-btn:hover:not(:disabled) { background:var(--slate-50); border-color:var(--slate-400); color:var(--navy); }
.wfp-arrow-btn:disabled { opacity:.3; cursor:not-allowed; }
/* Mobile tab bar */
.swp-tab-bar { display:none; background:white; border-bottom:1px solid var(--slate-200); flex-shrink:0; }
.swp-tab { flex:1; padding:10px 16px; font-size:13px; font-weight:600; border:none; background:none; cursor:pointer; font-family:inherit; color:var(--slate-500); border-bottom:2.5px solid transparent; transition:.15s; }
.swp-tab.active { color:#8B1A4A; border-bottom-color:#8B1A4A; }
.wfp-body { flex:1; display:flex; overflow:hidden; }
.wfp-left { flex:0 0 280px; width:280px; overflow-y:auto; background:white; border-right:1px solid var(--slate-200); display:flex; flex-direction:column; }
.wfp-right { flex:1; overflow-y:auto; background:#f4f4f0; padding:20px 24px; }
/* Seq sidebar: sequence section */
.wfp-seq-section { padding:14px 18px; border-top:1px solid var(--slate-100); }
.wfp-seq-section-lbl { font-size:10px; font-weight:700; color:var(--slate-400); text-transform:uppercase; letter-spacing:.5px; margin-bottom:8px; }
.wfp-seq-name-lbl { font-size:13px; font-weight:700; color:var(--navy); margin-bottom:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wfp-seq-step-indicator { font-size:11px; font-weight:700; color:#8B1A4A; text-transform:uppercase; letter-spacing:.4px; margin-bottom:3px; }
.wfp-seq-step-type { font-size:13px; color:var(--slate-600); margin-bottom:12px; display:flex; align-items:center; gap:5px; }
/* Mini stepper */
.wfp-stepper { display:flex; align-items:flex-start; overflow-x:auto; padding-bottom:4px; margin-top:4px; }
.wfp-stepper-item { display:flex; flex-direction:column; align-items:center; gap:3px; min-width:32px; }
.wfp-stepper-row  { display:flex; align-items:center; width:100%; justify-content:center; }
.wfp-stepper-line { height:2px; flex:1; background:var(--slate-200); min-width:10px; }
.wfp-stepper-line.done { background:#8B1A4A; }
.wfp-stepper-dot { width:14px; height:14px; border-radius:50%; border:2px solid var(--slate-300); background:white; flex-shrink:0; transition:.2s; }
.wfp-stepper-dot.done { background:#8B1A4A; border-color:#8B1A4A; }
.wfp-stepper-dot.current { background:#8B1A4A; border-color:#8B1A4A; box-shadow:0 0 0 4px rgba(139,26,74,.2); animation:stepPulse 1.8s ease-in-out infinite; }
@keyframes stepPulse { 0%,100%{box-shadow:0 0 0 3px rgba(139,26,74,.18)}50%{box-shadow:0 0 0 6px rgba(139,26,74,.07)} }
.wfp-stepper-icon { font-size:11px; line-height:1; }
.wfp-stepper-day  { font-size:9px; color:var(--slate-400); font-weight:600; white-space:nowrap; }
/* Action bar in main area */
.wfp-action-bar { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.wfp-action-btn { display:inline-flex; align-items:center; gap:5px; padding:8px 14px; border-radius:9px; border:1.5px solid var(--slate-200); background:white; font-size:13px; font-weight:600; cursor:pointer; font-family:inherit; color:var(--navy); transition:.15s; white-space:nowrap; }
.wfp-action-btn:hover { background:var(--slate-50); border-color:var(--slate-300); }
.wfp-action-btn.primary { background:#8B1A4A; border-color:#8B1A4A; color:white; }
.wfp-action-btn.primary:hover { background:#70133b; }
.wfp-action-btn.danger { color:#dc2626; border-color:#fecaca; }
.wfp-action-btn.danger:hover { background:#fef2f2; border-color:#dc2626; }
/* Always-visible COP card in seq work main */
.wfp-cop-wrap { background:white; border:1px solid var(--slate-200); border-radius:12px; padding:16px 18px; margin-bottom:16px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.wfp-cop-wrap .cop-inline { margin-top:8px; }
.wfp-cop-title { font-size:12px; font-weight:700; color:var(--slate-500); text-transform:uppercase; letter-spacing:.5px; }
/* Slide-in animation for contact transition */
@keyframes swpSlideIn { from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)} }
.swp-slide-in { animation:swpSlideIn .2s ease; }
/* Call outcome panel always-visible variant */
.cop-inline { display:block !important; background:#f5f0eb; border:1px solid #dfd6cc; border-radius:12px; padding:16px 18px; margin-bottom:0; }
.cop-summary-box { display:flex; flex-direction:column; gap:8px; }
.cop-summary-header { display:flex; align-items:center; justify-content:space-between; }
.cop-summary-title { font-size:13px; font-weight:700; color:var(--navy); }
.cop-edit-link { background:none; border:1px solid var(--slate-200); border-radius:6px; padding:3px 10px; font-size:12px; color:var(--slate-600); cursor:pointer; font-family:inherit; font-weight:600; transition:.12s; }
.cop-edit-link:hover { background:#fdf3f7; border-color:#8B1A4A; color:#8B1A4A; }
/* Contact header in seq work (legacy - kept for safety) */
.wfp-contact-header { display:flex; align-items:center; gap:14px; background:white; border-radius:12px; padding:16px 18px; box-shadow:0 1px 3px rgba(0,0,0,.04); margin-bottom:14px; }
.wfp-avatar { width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:17px; font-weight:700; color:white; flex-shrink:0; }
/* ── Hot Lead ──────────────────────────────────────────────── */
.hot-lead-btn { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:600; padding:3px 10px; border-radius:20px; border:1.5px solid #d1d5db; background:white; color:#9ca3af; cursor:pointer; transition:.15s; line-height:1.4; }
.hot-lead-btn:hover { border-color:#FF6B35; color:#FF6B35; }
.hot-lead-btn.active { border-color:#FF6B35; background:#FF6B35; color:white; }
.deal-card.hot-lead { border-left:3px solid #FF6B35; }
.stage.hot-lead-stage { background:#fff8f0; border-radius:12px; }
.stage.hot-lead-stage .stage-header { color:#c05c1a; }
.act-type-icon-label { font-size:12px; font-weight:700; color:var(--navy-700); flex-shrink:0; display:inline-flex; align-items:center; gap:3px; }

/* Mobile: seq work fullpage responsive */
@media (max-width: 767px) {
  .swp-tab-bar { display:flex; }
  .wfp-progress-row { display:none; }
  .wfp-nav-arrows { margin-left:auto; }
  .wfp-body.tab-info .wfp-left  { display:flex; flex:1; width:100%; border-right:none; }
  .wfp-body.tab-info .wfp-right { display:none; }
  .wfp-body.tab-feed .wfp-left  { display:none; }
  .wfp-body.tab-feed .wfp-right { display:flex; flex:1; width:100%; }
  .wfp-left  { flex:none; }
  .wfp-right { flex:none; }
}

/* ── CONTACT DETAIL PAGE ─────────────────────────────────────── */
#contact-detail-page { display:none; position:fixed; inset:0; background:var(--bg-main); z-index:850; flex-direction:column; overflow:hidden; }
#contact-detail-page.open { display:flex; }
.cdp-topbar { background:white; border-bottom:1px solid var(--slate-200); padding:12px 20px; display:flex; align-items:center; gap:12px; flex-shrink:0; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.cdp-back-btn { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--slate-600); background:none; border:1.5px solid var(--slate-200); border-radius:8px; padding:6px 12px; cursor:pointer; font-family:inherit; transition:.15s; }
.cdp-back-btn:hover { background:var(--slate-50); border-color:var(--slate-400); color:var(--navy); }
.cdp-topbar-name { font-size:15px; font-weight:700; color:var(--navy); flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* ── THREE-PANEL LAYOUT ─────────────────────────────────────────── */
.cdp-body       { flex:1; display:grid; grid-template-columns:280px 1fr 280px; overflow:hidden; }
.cdp-sidebar    { overflow-y:auto; background:white; border-right:1px solid var(--slate-200); display:flex; flex-direction:column; }
.cdp-commercial { border-right:1px solid var(--slate-200); }
.cdp-main       { overflow-y:auto; background:#f4f4f0; padding:20px 24px; }
.cdp-right      { display:none; } /* legacy, kept for safety */

/* ── SIDEBAR SECTIONS ───────────────────────────────────────────── */
.cdp-sb-header  { padding:20px 18px 14px; border-bottom:1px solid var(--slate-100); }
.cdp-sb-avatar  { width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:700; color:white; margin-bottom:12px; }
.cdp-sb-name    { font-size:16px; font-weight:700; color:var(--navy); line-height:1.25; margin-bottom:6px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.cdp-name-edit-btn { font-size:12px; color:var(--slate-400); cursor:pointer; opacity:0; transition:opacity .15s; line-height:1; }
.cdp-sb-name:hover .cdp-name-edit-btn { opacity:1; }
.cdp-name-input { font-size:15px; font-weight:700; color:var(--navy); border:none; border-bottom:2px solid #7c3aed; outline:none; background:transparent; width:100%; min-width:0; padding:0; }
.cdp-sb-meta    { display:flex; gap:6px; flex-wrap:wrap; align-items:center; margin-bottom:8px; }
.cdp-sb-score   { display:flex; align-items:center; gap:6px; margin-top:4px; }
.cdp-sb-score-bar { flex:1; max-width:100px; height:6px; background:var(--slate-100); border-radius:3px; overflow:hidden; }
.cdp-sb-score-fill { height:100%; border-radius:3px; }
.cdp-sb-score-val  { font-size:11px; font-weight:700; color:var(--navy); }

.cdp-sb-fields  { padding:14px 18px; border-bottom:1px solid var(--slate-100); display:flex; flex-direction:column; gap:0; }
.cdp-sb-field   { display:flex; align-items:flex-start; gap:8px; padding:6px 0; border-bottom:1px solid var(--slate-50); }
.cdp-sb-field:last-child { border-bottom:none; }
.cdp-sb-field-icon { font-size:14px; flex-shrink:0; margin-top:3px; line-height:1; }
.cdp-sb-field-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.cdp-sb-field-label { font-size:10px; font-weight:700; color:var(--slate-400); text-transform:uppercase; letter-spacing:.4px; }
.cdp-sb-field-input { background:transparent; border:none; border-bottom:1.5px solid transparent; padding:2px 0; font-size:13px; font-family:inherit; color:var(--navy); width:100%; outline:none; transition:.15s; font-weight:500; }
.cdp-sb-field-input:hover  { border-bottom-color:var(--slate-200); }
.cdp-sb-field-input:focus  { border-bottom-color:var(--blue); background:var(--slate-50); border-radius:4px; padding:2px 6px; }
.cdp-sb-field-input::placeholder { color:var(--slate-300); font-weight:400; }
.cdp-sb-field-link  { display:flex; align-items:center; gap:4px; font-size:13px; color:var(--blue); text-decoration:none; font-weight:500; }
.cdp-sb-field-link:hover { text-decoration:underline; }
.cdp-sb-multi-add { background:none; border:none; color:var(--slate-400); font-size:11px; cursor:pointer; font-family:inherit; padding:2px 0; text-align:left; }
.cdp-sb-multi-add:hover { color:var(--blue); }

.cdp-sb-actions { padding:14px 18px; display:flex; flex-direction:column; gap:7px; }
.cdp-deal-section { padding:14px 18px 0; border-top:1px solid var(--slate-100); }
.cdp-deal-section-title { font-size:10px; font-weight:700; color:var(--slate-400); text-transform:uppercase; letter-spacing:.6px; margin-bottom:8px; }
.cdp-deal-card { background:var(--slate-50); border:1px solid var(--slate-200); border-radius:10px; padding:12px 14px; margin-bottom:6px; }
.cdp-deal-card-name { font-size:13px; font-weight:600; color:var(--navy); margin-bottom:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cdp-deal-card-meta { display:flex; align-items:center; gap:8px; margin-bottom:8px; flex-wrap:wrap; }
.cdp-deal-stage-chip { font-size:10px; font-weight:700; padding:2px 8px; border-radius:10px; }
.cdp-deal-value { font-size:12px; font-weight:700; color:var(--navy); }
.cdp-deal-service { font-size:11px; color:var(--slate-500); }
.cdp-sb-action-btn { display:flex; align-items:center; gap:8px; padding:9px 14px; border-radius:9px; border:1.5px solid var(--slate-200); background:white; font-size:13px; font-weight:600; cursor:pointer; font-family:inherit; color:var(--navy); text-decoration:none; transition:.15s; width:100%; }
.cdp-sb-action-btn:hover { background:var(--slate-50); border-color:var(--slate-300); }
.cdp-sb-action-btn.primary { background:#8B1A4A; border-color:#8B1A4A; color:white; }
.cdp-sb-action-btn.primary:hover { background:#70133b; border-color:#70133b; }
.cdp-sb-action-btn:disabled { opacity:.35; cursor:not-allowed; pointer-events:none; }
/* Split action buttons: left=open app, right=log interaction */
.cdp-sb-split { display:flex; border:1.5px solid var(--slate-200); border-radius:9px; overflow:hidden; background:white; }
.cdp-sb-split-main { flex:1; display:flex; align-items:center; gap:8px; padding:9px 14px; font-size:13px; font-weight:600; color:var(--navy); text-decoration:none; cursor:pointer; font-family:inherit; background:transparent; border:none; transition:background .15s; }
.cdp-sb-split-main:hover:not(:disabled) { background:var(--slate-50); }
.cdp-sb-split-main.primary { background:#8B1A4A; color:white; }
.cdp-sb-split-main.primary:hover { background:#70133b !important; }
.cdp-sb-split-main:disabled { opacity:.4; cursor:not-allowed; }
.cdp-sb-split-log { display:flex; align-items:center; justify-content:center; gap:4px; padding:0 11px; border-left:1.5px solid var(--slate-200); background:transparent; font-size:11px; font-weight:700; color:var(--slate-500); cursor:pointer; font-family:inherit; border-top:none; border-right:none; border-bottom:none; white-space:nowrap; transition:background .15s; }
.cdp-sb-split-log:hover { background:var(--slate-50); color:var(--navy); }

/* ── MAIN / FEED AREA ───────────────────────────────────────────── */
.cdp-feed-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; flex-wrap:wrap; gap:8px; }
.cdp-feed-title  { font-size:15px; font-weight:700; color:var(--navy); }
.cdp-feed-actions { display:flex; gap:6px; flex-wrap:wrap; }
.cdp-feed-btn    { display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border-radius:8px; border:1.5px solid var(--slate-200); background:white; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; color:var(--navy); transition:.15s; }
.cdp-feed-btn:hover { background:var(--blue-100); border-color:var(--blue); color:var(--blue); }
.cdp-feed-btn.primary { background:#8B1A4A; border-color:#8B1A4A; color:white; }
.cdp-feed-btn.primary:hover { background:#70133b; border-color:#70133b; }

/* Inline expand form */
.cdp-inline-form { background:white; border:1px solid var(--slate-200); border-radius:12px; padding:16px 18px; margin-bottom:14px; box-shadow:0 1px 4px rgba(0,0,0,.06); display:none; }
.cdp-inline-form.open { display:block; animation:cdpFormIn .15s ease; }
@keyframes cdpFormIn { from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)} }
.cdp-inline-form-title { font-size:12px; font-weight:700; color:var(--slate-500); text-transform:uppercase; letter-spacing:.5px; margin-bottom:12px; }

/* Feed entries */
.cdp-feed-card  { background:white; border:1px solid var(--slate-200); border-radius:10px; padding:12px 14px; margin-bottom:10px; box-shadow:0 1px 3px rgba(0,0,0,.04); display:flex; gap:12px; }
.cdp-feed-icon  { width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0; margin-top:2px; }
.cdp-feed-body  { flex:1; min-width:0; }
.cdp-feed-row   { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-bottom:3px; }
.cdp-feed-type  { font-size:11px; font-weight:700; color:var(--slate-500); text-transform:uppercase; letter-spacing:.4px; }
.cdp-feed-ts    { margin-left:auto; font-size:11px; color:var(--slate-400); white-space:nowrap; }
.cdp-feed-notes { font-size:13px; color:var(--slate-600); line-height:1.5; margin-top:4px; word-break:break-word; }
.cdp-feed-to-whom { font-size:11px; color:var(--slate-500); background:var(--slate-100,#f1f5f9); border:1px solid var(--slate-200,#e2e8f0); border-radius:20px; padding:1px 7px; display:inline-flex; align-items:center; gap:3px; white-space:nowrap; }
.cdp-feed-empty { text-align:center; padding:40px 20px; color:var(--slate-400); font-size:13px; }

/* Icon colours */
.cdp-icon-call      { background:#dbeafe; }
.cdp-icon-whatsapp  { background:#dcfce7; }
.cdp-icon-email     { background:#f1f5f9; }
.cdp-icon-note      { background:#fef9c3; }
.cdp-icon-instagram { background:#f3e8ff; }
.cdp-icon-linkedin  { background:#dbeafe; }
.cdp-icon-meeting   { background:#fff7ed; }
.cdp-icon-reminder  { background:#fef3c7; }
.cdp-icon-stage     { background:#f0fdf4; }

/* Reminder card extras */
.cdp-rem-time   { font-size:12px; font-weight:600; color:#92400e; margin-top:3px; }
.cdp-rem-btns   { display:flex; gap:6px; margin-top:8px; }
.cdp-rem-complete { background:#8B1A4A; color:white; border:none; border-radius:7px; padding:4px 12px; font-size:12px; font-weight:700; cursor:pointer; font-family:inherit; }
.cdp-rem-complete:hover { background:#70133b; }
.cdp-rem-del    { background:none; border:1px solid var(--slate-200); border-radius:7px; padding:4px 9px; font-size:12px; color:var(--slate-400); cursor:pointer; font-family:inherit; }
.cdp-rem-del:hover { color:var(--danger); border-color:var(--danger-br); }

/* Notes section at bottom */
.cdp-notes-section { background:white; border:1px solid var(--slate-200); border-radius:12px; padding:16px 18px; margin-top:8px; }
.cdp-notes-title   { font-size:12px; font-weight:700; color:var(--slate-500); text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; }

/* Mobile: stacked tabs */
@media (max-width: 767px) {
  .cdp-body       { grid-template-columns:1fr; }
  .cdp-sidebar    { width:100%; border-right:none; border-bottom:1px solid var(--slate-200); max-height:50vh; }
  .cdp-commercial { border-right:none; border-bottom:1px solid var(--slate-200); }
  .cdp-main       { padding:16px; }
}

/* Header card */
.cdp-header-card { background:white; border:1px solid var(--slate-200); border-radius:12px; padding:18px 20px; margin-bottom:14px; display:flex; gap:16px; align-items:flex-start; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.cdp-avatar-lg { width:62px; height:62px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; color:white; flex-shrink:0; }
.cdp-name { font-size:19px; font-weight:700; color:var(--navy); line-height:1.2; margin-bottom:6px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.cdp-meta-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:6px; }
.cdp-service-tag { font-size:11px; font-weight:600; background:#f0f0eb; color:#888780; padding:3px 8px; border-radius:8px; }
.cdp-svc-tags-wrap { display:flex; flex-wrap:wrap; gap:5px; margin-top:4px; }
.cdp-svc-tag { font-size:11px; font-weight:600; padding:3px 9px; border-radius:12px; cursor:pointer; border:1.5px solid #e2e2da; background:#f7f7f5; color:#6b7280; transition:all .15s; user-select:none; }
.cdp-svc-tag:hover { border-color:#a78bfa; color:#7c3aed; }
.cdp-svc-tag.active { background:rgba(124,58,237,.1); border-color:#7c3aed; color:#7c3aed; }
.cdp-svc-add-btn { font-size:11px; color:#7c3aed; background:none; border:1.5px dashed #c4b5fd; border-radius:12px; padding:2px 8px; cursor:pointer; line-height:1.6; }
.cdp-svc-add-btn:hover { background:rgba(124,58,237,.07); }
.cdp-industry-select { font-size:12px; padding:3px 7px; border:1.5px solid var(--slate-200); border-radius:8px; background:var(--slate-50); color:var(--navy); cursor:pointer; outline:none; width:100%; margin-top:2px; }
.cdp-industry-select:focus { border-color:#a78bfa; }
.cdp-svc-custom-input { font-size:11px; padding:2px 7px; border:1.5px solid #7c3aed; border-radius:12px; width:100px; outline:none; }
.cdp-score-row { margin-top:8px; display:flex; align-items:center; gap:8px; }
.cdp-score-label { font-size:12px; color:var(--slate-500); font-weight:600; white-space:nowrap; }
.cdp-score-bar-wrap { flex:1; background:var(--slate-100); border-radius:4px; height:7px; overflow:hidden; max-width:160px; }
.cdp-score-bar-fill { height:100%; border-radius:4px; }
.cdp-score-value { font-size:12px; font-weight:700; color:var(--navy); white-space:nowrap; }
/* Section cards */
.cdp-card { background:white; border:1px solid var(--slate-200); border-radius:12px; padding:16px 18px; margin-bottom:12px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.cdp-card-title { font-size:11px; font-weight:700; color:var(--slate-400); text-transform:uppercase; letter-spacing:.5px; margin-bottom:12px; }
/* Right column sections */
.cdp-right-section { margin-bottom:18px; }
.cdp-right-section-title { font-size:11px; font-weight:700; color:var(--slate-400); text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; }
/* Action grid */
.cdp-action-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
/* Deal info rows */
.cdp-info-row { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid var(--slate-100); font-size:13px; }
.cdp-info-row:last-child { border-bottom:none; }
.cdp-info-key { color:var(--slate-500); font-weight:500; }
.cdp-info-val { color:var(--navy); font-weight:600; text-align:right; }
/* Seq list */
.cdp-seq-item { display:flex; align-items:center; gap:8px; padding:7px 0; border-bottom:1px solid var(--slate-100); font-size:12px; }
.cdp-seq-item:last-child { border-bottom:none; }
.cdp-seq-name { font-weight:600; color:var(--navy); flex:1; }
.cdp-seq-step { color:var(--slate-500); }
.cdp-seq-add-row { display:flex; align-items:center; gap:6px; margin-top:8px; }
.cdp-seq-select { flex:1; min-width:0; height:34px; padding:0 10px; font-size:12px; font-family:inherit; color:var(--navy); background:#fff; border:1.5px solid var(--slate-200); border-radius:8px; appearance:none; -webkit-appearance:none; cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; box-sizing:border-box; }
.cdp-seq-select:focus { outline:none; border-color:var(--blue); }
.cdp-seq-add-btn { flex-shrink:0; height:34px; padding:0 14px; font-size:12px; font-weight:700; font-family:inherit; background:var(--primary); color:#fff; border:none; border-radius:8px; cursor:pointer; white-space:nowrap; }
/* Call history */
.cdp-call-row { padding:9px 0; border-bottom:1px solid var(--slate-100); }
.cdp-call-row:last-child { border-bottom:none; }
.cdp-call-date { font-size:11px; color:var(--slate-400); margin-bottom:4px; }
.cdp-call-chips { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.cdp-call-notes { font-size:12px; color:var(--slate-600); margin-top:4px; line-height:1.4; }
/* Show more button */
.cdp-show-more { font-size:12px; color:var(--blue); background:none; border:none; cursor:pointer; font-family:inherit; padding:6px 0; font-weight:600; }
.cdp-show-more:hover { text-decoration:underline; }
.cdp-field-action { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:7px; font-size:16px; text-decoration:none; background:var(--slate-50); border:1px solid var(--slate-200); cursor:pointer; transition:.15s; flex-shrink:0; }
.cdp-field-action img { width:20px; height:20px; object-fit:contain; display:block; }
.cdp-field-action-placeholder { display:inline-block; width:28px; height:28px; flex-shrink:0; }
.cdp-field-action:hover { background:var(--blue-100); border-color:var(--blue); }
.wm-multi-field-row { display:flex; align-items:center; gap:5px; margin-bottom:4px; }
.wm-multi-field-row .work-field-input { flex:1; min-width:0; }
.wm-multi-field-row .cdp-sb-field-input { flex:1 !important; min-width:0 !important; width:auto !important; }
@media (max-width: 767px) {
  #contact-detail-page.open { display:flex; }
  .cdp-left { padding:16px; }
}

.cv-kanban-col-head { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:6px 8px;border-radius:6px;margin-bottom:10px; }
.cv-kanban-cards { display:flex;flex-direction:column;gap:7px; }


.settings-section-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 4px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--slate-200, #e2e8f0);
}


/* ── Chat Log Modal ─────────────────────────────────────────────── */
.cl-plat-btn { padding: 6px 10px; border-radius: 8px; border: 0.5px solid #e2e2e2; background: transparent; cursor: pointer; font-size: 12px; display: flex; align-items: center; gap: 5px; transition: all 0.15s; }
.cl-plat-btn.active { border-width: 1.5px; }
.cl-plat-btn.whatsapp.active  { border-color: #25D366; background: #f0fdf4; color: #25D366; }
.cl-plat-btn.linkedin.active  { border-color: #0077B5; background: #e8f4fd; color: #0077B5; }
.cl-plat-btn.instagram.active { border-color: #E1306C; background: #fce4ec; color: #E1306C; }
.cl-plat-btn.email.active     { border-color: #666;    background: #f5f5f5; color: #444; }

/* Feed — chat_log entry */

/* ── Company detail editable fields ── */
.comp-edit-fields { display: flex; flex-direction: column; gap: 10px; }

.comp-edit-row { display: flex; flex-direction: column; gap: 3px; }

.comp-edit-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--slate-500, #64748b);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.comp-edit-input {
  border: 1px solid var(--slate-200, #e2e8f0);
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 13px;
  color: var(--text);
  background: var(--slate-50, #f8fafc);
  width: 100%;
  box-sizing: border-box;
  font-family: inherit;
  transition: border-color 0.15s;
}

.comp-edit-input:focus {
  outline: none;
  border-color: var(--wine, #8B1A4A);
  background: #fff;
}

textarea.comp-edit-input {
  resize: vertical;
  min-height: 72px;
}

/* ── Company detail 3-col layout ── */
#comp-detail {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  margin: 0;
}

.comp-detail-topbar {
  flex-shrink: 0;
}

.comp-detail-body {
  flex: 1;
  overflow: auto;
}

.comp-detail-center { display: flex; flex-direction: column; gap: 16px; }

.comp-activity-row {
  display: flex;
  gap: 10px;
  padding: 8px 6px;
  border-radius: 8px;
  transition: background 0.15s;
  border-bottom: 1px solid var(--slate-100, #f1f5f9);
}

.comp-activity-row:hover { background: var(--slate-50, #f8fafc); }
.comp-activity-row:last-child { border-bottom: none; }

.comp-activity-icon { font-size: 16px; flex-shrink: 0; margin-top: 1px; }

.comp-activity-body { flex: 1; min-width: 0; }

.comp-activity-text {
  font-size: 13px;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.comp-activity-meta {
  font-size: 11px;
  color: var(--slate-400, #94a3b8);
  margin-top: 2px;
}

@media (max-width: 768px) {
  .comp-detail-body { grid-template-columns: 1fr; padding: 16px; }
}

/* ── GLOBAL SEARCH ── */
.gs-root { position:relative; width:280px; flex-shrink:0; }
.gs-ico { position:absolute; left:10px; top:50%; transform:translateY(-50%); color:var(--slate-400); pointer-events:none; }
.gs-input { width:100%; box-sizing:border-box; padding:7px 10px 7px 30px; font-size:13px; font-family:inherit; color:var(--navy); background:white; border:1.5px solid var(--slate-200); border-radius:8px; outline:none; transition:.15s; }
.gs-input::placeholder { color:var(--slate-400); }
.gs-input:focus { border-color:var(--accent); }
.gs-dd { display:none; position:absolute; top:calc(100% + 6px); right:0; min-width:360px; max-height:60vh; overflow-y:auto; background:white; border:1px solid var(--slate-200); border-radius:10px; box-shadow:0 8px 28px rgba(15,23,42,.14); z-index:30; padding:4px 0; }
.gs-dd.open { display:block; }
.gs-group { padding:8px 14px 4px; font-size:10px; font-weight:700; color:var(--slate-400); text-transform:uppercase; letter-spacing:.6px; }
.gs-item { display:block; padding:8px 14px; cursor:pointer; border-left:3px solid transparent; text-decoration:none; color:inherit; }
.gs-item:hover, .gs-item.active { background:var(--slate-50); border-left-color:var(--accent); }
.gs-item-title { font-size:13px; font-weight:600; color:var(--navy); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gs-item-sub { font-size:11px; color:var(--slate-500); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:1px; }
.gs-item.gs-disabled { cursor:not-allowed; opacity:.5; }
.gs-item.gs-disabled:hover { background:transparent; border-left-color:transparent; }
.gs-empty, .gs-loading { padding:10px 14px; font-size:12px; color:var(--slate-400); }
.gs-toggle { display:none; background:none; border:1.5px solid var(--slate-200); border-radius:8px; padding:5px 9px; font-size:15px; line-height:1; cursor:pointer; }
/* Global topbar (dark gradient): translucent input, same height/radius as .topbar .btn */
.topbar { position:relative; z-index:20; }
.topbar .gs-root { width:240px; }
.wfp-topbar { position:relative; z-index:20; }
.wfp-topbar .gs-root { width:200px; min-width:120px; flex-shrink:1; }
@media (max-width: 767px) {
  .gs-root, .topbar .gs-root, .wfp-topbar .gs-root { position:static; width:auto; min-width:0; flex-shrink:0; }
  .gs-toggle { display:inline-flex; }
  .gs-input, .gs-ico { display:none; }
  .gs-input { font-size:16px; padding:8px 12px; }
  .cdp-topbar.gs-open .gs-root, .topbar.gs-open .gs-root, .wfp-topbar.gs-open .gs-root { flex:1; }
  .cdp-topbar.gs-open .gs-input, .topbar.gs-open .gs-input, .wfp-topbar.gs-open .gs-input { display:block; }
  .topbar.gs-open .gs-toggle, .topbar.gs-open .topbar-title, .topbar.gs-open .sync-bar { display:none; }
  .cdp-topbar.gs-open .gs-toggle, .cdp-topbar.gs-open .cdp-topbar-name, .cdp-topbar.gs-open .cdp-copy-link-btn { display:none; }
  .wfp-topbar.gs-open .gs-toggle, .wfp-topbar.gs-open .wfp-seq-name, .wfp-topbar.gs-open .wfp-nav-arrows, .wfp-topbar.gs-open .cdp-back-btn { display:none; }
  .gs-dd { left:0; right:0; min-width:0; top:100%; border-radius:0 0 10px 10px; }
}

/* ===== CHATS (WhatsApp Cloud API) ===== */
.chat-layout { display:flex; height:calc(100dvh - 112px); min-height:420px; background:var(--bg-card); border:1px solid var(--slate-200); border-radius:12px; overflow:hidden; }
.chat-sidebar { width:320px; flex-shrink:0; display:flex; flex-direction:column; border-right:1px solid var(--slate-200); min-width:0; }
.chat-search-wrap { padding:10px; border-bottom:1px solid var(--slate-200); }
.chat-search { width:100%; box-sizing:border-box; border:1px solid var(--slate-200); border-radius:8px; padding:8px 10px; font:inherit; font-size:13px; background:var(--slate-100); color:var(--text); }
.chat-search:focus { outline:none; border-color:var(--accent); background:#fff; }
.chat-list { flex:1; overflow-y:auto; }
.chat-push { display:flex; align-items:center; gap:8px; padding:8px 12px; border-bottom:1px solid var(--slate-200); background:var(--slate-50); font-size:12.5px; line-height:1.35; color:var(--slate-600); }
.chat-push[hidden], .chat-push-btn[hidden] { display:none; }
.chat-push-text { flex:1; min-width:0; overflow-wrap:anywhere; }
.chat-push.chat-push--on .chat-push-text { color:#15803d; font-weight:600; }
.chat-push.chat-push--error .chat-push-text { color:#b91c1c; }
.chat-push-btn { flex-shrink:0; border:1px solid var(--accent); background:var(--accent); color:#fff; border-radius:7px; padding:5px 10px; font:inherit; font-size:12px; font-weight:600; cursor:pointer; white-space:nowrap; }
.chat-push-btn.chat-push-btn--ghost { background:none; color:var(--accent); }
.chat-push-btn:disabled { opacity:.6; cursor:default; }
.chat-main { flex:1; min-width:0; display:flex; flex-direction:column; background:#f5f3ee; }
.chat-empty { margin:auto; color:var(--slate-500); font-size:14px; text-align:center; padding:24px; }
@media (max-width:768px) {
  .chat-layout { height:calc(100dvh - 96px); border-radius:10px; }
  .chat-sidebar { width:100%; border-right:none; }
  .chat-main { display:none; }
  .chat-layout.chat-layout--open .chat-sidebar { display:none; }
  .chat-layout.chat-layout--open .chat-main { display:flex; }
}
.chat-list-empty { padding:24px 16px; color:var(--slate-500); font-size:13px; text-align:center; }
.chat-row { display:block; width:100%; text-align:left; background:none; border:none; border-bottom:1px solid var(--slate-100); padding:10px 14px; cursor:pointer; font:inherit; color:var(--text); }
.chat-row:hover { background:var(--slate-100); }
.chat-row.chat-row--active { background:var(--blue-100); }
.chat-row-top { display:flex; align-items:baseline; gap:8px; }
.chat-row-name { flex:1; min-width:0; font-size:14px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.chat-row-time { flex-shrink:0; font-size:11px; color:var(--slate-400); }
.chat-row.chat-row--unread .chat-row-time { color:#15803d; font-weight:700; }
.chat-row-bottom { display:flex; align-items:center; gap:6px; margin-top:3px; }
.chat-row-preview { flex:1; min-width:0; font-size:12.5px; color:var(--slate-500); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.chat-row.chat-row--unread .chat-row-preview { color:var(--text); font-weight:500; }
.chat-row-unread { flex-shrink:0; background:#25D366; color:#fff; font-size:10.5px; font-weight:700; min-width:18px; padding:1px 6px; border-radius:10px; text-align:center; box-sizing:border-box; }
.chat-stage { flex-shrink:0; font-size:10.5px; font-weight:600; padding:1px 7px; border-radius:10px; background:var(--slate-100); color:var(--slate-600); white-space:nowrap; max-width:120px; overflow:hidden; text-overflow:ellipsis; }
.chat-view { flex:1; min-height:0; display:flex; flex-direction:column; }
.chat-view[hidden], .chat-empty[hidden], .chat-head-link[hidden] { display:none; }
.chat-head { display:flex; align-items:center; gap:10px; padding:10px 14px; background:var(--bg-card); border-bottom:1px solid var(--slate-200); }
.chat-back { display:none; background:none; border:none; font:inherit; font-size:13px; font-weight:600; color:var(--accent); cursor:pointer; padding:4px 6px 4px 0; }
.chat-head-info { flex:1; min-width:0; }
.chat-head-name { font-size:15px; font-weight:700; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.chat-head-sub { display:flex; flex-wrap:wrap; align-items:center; gap:2px 8px; margin-top:2px; min-width:0; }
.chat-head-number { font-size:12px; color:var(--slate-500); overflow-wrap:anywhere; }
.chat-head-link { flex-shrink:0; background:var(--blue-100); color:var(--accent); border:1px solid var(--blue-200); border-radius:8px; padding:6px 12px; font:inherit; font-size:12px; font-weight:600; cursor:pointer; }
.chat-head-link:hover { background:var(--blue-200); }
/* Switch del bot (estado en aria-checked / aria-disabled / aria-busy; tokens de ui-v2.css) */
.chat-bot-switch { flex-shrink:0; display:inline-flex; align-items:center; gap:6px; min-height:44px; min-width:44px; padding:0 6px; background:none; border:none; border-radius:var(--radius-sm, 8px); font:inherit; font-size:12px; font-weight:600; color:var(--text-muted); cursor:pointer; -webkit-tap-highlight-color:transparent; }
.chat-bot-switch[hidden] { display:none; }
.chat-bot-switch:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.chat-bot-track { position:relative; flex-shrink:0; width:34px; height:20px; border-radius:10px; background:var(--text-subtle); transition:background-color .15s; }
.chat-bot-knob { position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:var(--surface); box-shadow:var(--shadow-sm); transition:transform .15s; }
.chat-bot-switch[aria-checked="true"] { color:var(--success); }
.chat-bot-switch[aria-checked="true"] .chat-bot-track { background:var(--success); }
.chat-bot-switch[aria-checked="true"] .chat-bot-knob { transform:translateX(14px); }
.chat-bot-switch[aria-disabled="true"] { cursor:default; }
.chat-bot-switch[aria-disabled="true"] .chat-bot-track { opacity:.5; }
.chat-bot-switch[aria-busy="true"] { cursor:progress; }
.chat-bot-switch[aria-busy="true"] .chat-bot-knob { animation:chat-bot-busy 1s ease-in-out infinite; }
@keyframes chat-bot-busy { 50% { opacity:.35; } }
@media (hover:hover) {
  .chat-bot-switch[aria-disabled="false"]:hover { color:var(--text); }
  .chat-bot-switch[aria-disabled="false"][aria-checked="true"]:hover { color:var(--success); }
  .chat-bot-switch[aria-disabled="false"]:hover .chat-bot-track { box-shadow:0 0 0 3px var(--surface-3); }
}
@media (prefers-reduced-motion:reduce) {
  .chat-bot-track, .chat-bot-knob { transition:none; }
  .chat-bot-switch[aria-busy="true"] .chat-bot-knob { animation:none; opacity:.5; }
}
/* Indicador en la fila y aviso de la última acción */
.chat-row-bot { flex-shrink:0; font-size:10.5px; font-weight:700; line-height:1.4; padding:0 6px; border-radius:10px; background:var(--success-bg); color:var(--success); border:1px solid var(--success-br); white-space:nowrap; }
.chat-bot-notice[hidden] { display:none; }
.chat-bot-notice { margin:8px 12px 0; padding:8px 12px; border-radius:8px; background:var(--info-bg); border:1px solid var(--info-br); color:var(--info); font-size:12.5px; line-height:1.4; overflow-wrap:anywhere; }
.chat-bot-notice.chat-bot-notice--error { background:var(--danger-bg); border-color:var(--danger-br); color:var(--danger); }
.chat-bot-notice-title { font-weight:700; }
.chat-msgs { flex:1; min-height:0; overflow-y:auto; padding:14px 16px; display:flex; flex-direction:column; gap:4px; }
.chat-msgs-note { margin:auto; color:var(--slate-500); font-size:13px; text-align:center; padding:16px; }
.chat-day { align-self:center; margin:10px 0 6px; background:#fff; color:var(--slate-500); font-size:11px; font-weight:600; padding:3px 10px; border-radius:8px; box-shadow:0 1px 1px rgba(0,0,0,.06); }
.chat-msg { max-width:min(75%, 560px); padding:6px 9px 4px; border-radius:9px; box-shadow:0 1px 1px rgba(0,0,0,.08); font-size:13.5px; line-height:1.4; color:#111b21; }
.chat-msg.chat-msg--in { align-self:flex-start; background:#fff; border-top-left-radius:2px; }
.chat-msg.chat-msg--out { align-self:flex-end; background:#d9fdd3; border-top-right-radius:2px; }
.chat-msg.chat-msg--failed { background:#fde8e8; }
.chat-msg.chat-msg--pending { opacity:.7; }
.chat-msg-tag { font-size:10.5px; font-weight:700; color:var(--success); margin-bottom:2px; }
.chat-msg-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-msg-text.chat-msg-text--media { font-style:italic; color:var(--slate-600); }
.chat-msg-meta { display:flex; justify-content:flex-end; align-items:center; gap:4px; font-size:10.5px; color:#667781; margin-top:2px; }
.chat-tick { font-size:11px; letter-spacing:-2px; padding-right:2px; }
.chat-tick.chat-tick--read { color:#53bdeb; }
.chat-tick.chat-tick--failed { color:#dc2626; font-weight:800; letter-spacing:0; }
.chat-msg-error { font-size:11px; color:#b91c1c; margin-top:3px; }
@media (max-width:768px) {
  .chat-back { display:inline-block; }
  .chat-head { gap:8px; padding:8px 10px; }
  .chat-head-profile { display:none; }
  .chat-head-link { padding:5px 8px; font-size:11.5px; }
  .chat-msg { max-width:85%; }
}
.chat-window-note[hidden], .chat-composer-status[hidden] { display:none; }
.chat-window-note { margin:0 12px 8px; padding:8px 12px; border-radius:8px; background:var(--warn-bg); border:1px solid var(--warn-br); color:var(--warn); font-size:12.5px; line-height:1.4; }
.chat-composer-status { margin:0 12px 6px; font-size:12px; color:var(--slate-600); }
.chat-composer-status.chat-composer-status--error { color:#b91c1c; }
.chat-composer { display:flex; align-items:center; gap:8px; padding:10px 12px; background:var(--bg-card); border-top:1px solid var(--slate-200); }
.chat-input { flex:1; min-width:0; resize:none; border:1px solid var(--slate-200); border-radius:18px; padding:9px 14px; font:inherit; font-size:14px; line-height:1.35; min-height:40px; max-height:140px; background:#fff; color:var(--text); box-sizing:border-box; }
.chat-input:focus { outline:none; border-color:#25D366; }
.chat-input:disabled { background:var(--slate-100); color:var(--slate-400); cursor:not-allowed; }
.chat-send { flex-shrink:0; background:#25D366; color:#fff; border:none; border-radius:18px; padding:9px 16px; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.chat-send:hover { background:#1ebe5b; }
.chat-send:disabled { background:var(--slate-300); cursor:not-allowed; }
@media (max-width:768px) {
  .chat-input { font-size:16px; } /* <16px hace que iOS haga zoom al enfocar */
}
