/* ============================================================
   CRM VERDICCHIO — estilos
   Pegar al final de public/style.css
   ============================================================ */

.crm-wrap { padding: 0; }

/* ---- Toolbar ---- */
.crm-toolbar { display:flex; align-items:center; gap:7px; margin-bottom:12px; flex-wrap:wrap; }
.crm-main-tabs { display:flex; gap:3px; }
.crm-mtab { font-size:12px; padding:5px 13px; border-radius:10px; border:0.5px solid var(--border-color); background:var(--bg-primary); color:var(--text-secondary); cursor:pointer; white-space:nowrap; }
.crm-mtab.on { background:var(--text-primary); color:var(--bg-primary); border-color:var(--text-primary); }
.crm-cnt { font-size:10px; opacity:.65; margin-left:3px; }
.crm-spacer { flex:1; min-width:6px; }
.crm-srch { font-size:12px; padding:5px 10px; border-radius:6px; border:0.5px solid var(--border-color); background:var(--bg-primary); color:var(--text-primary); width:150px; }
.crm-btn { font-size:11px; padding:5px 10px; border-radius:6px; border:0.5px solid var(--border-color); background:var(--bg-primary); color:var(--text-primary); cursor:pointer; white-space:nowrap; }
.crm-btn:hover { background:var(--bg-secondary); }
.crm-btn-green { background:#1D9E75 !important; color:#fff !important; border-color:#1D9E75 !important; }
.crm-btn-green:hover { background:#0F6E56 !important; }
.crm-btn-amber { background:#EF9F27 !important; color:#fff !important; border-color:#EF9F27 !important; }

/* ---- Filtros ---- */
.crm-filter-row { display:flex; align-items:center; gap:5px; margin-bottom:10px; flex-wrap:wrap; }
.crm-fc { font-size:10px; padding:3px 9px; border-radius:8px; border:0.5px solid var(--border-color-light); background:var(--bg-primary); color:var(--text-secondary); cursor:pointer; white-space:nowrap; }
.crm-fc.on { font-weight:500; }
.crm-fc[data-cat="todos"].on              { background:var(--text-primary);color:var(--bg-primary); }
.crm-fc[data-cat="Hipermercado"].on       { background:#E1F5EE;color:#085041;border-color:#5DCAA5; }
.crm-fc[data-cat="Supermercado"].on       { background:#E6F1FB;color:#0C447C;border-color:#85B7EB; }
.crm-fc[data-cat="Restaurante"].on        { background:#FAEEDA;color:#633806;border-color:#EF9F27; }
.crm-fc[data-cat="Distribuidor"].on       { background:#EEEDFE;color:#3C3489;border-color:#AFA9EC; }
.crm-fc[data-cat="Tienda"].on             { background:#FAECE7;color:#712B13;border-color:#F0997B; }
.crm-fc[data-cat="Mostrador"].on          { background:#EAF3DE;color:#173404;border-color:#97C459; }
.crm-fc[data-cat="Web"].on                { background:#F1EFE8;color:#2C2C2A;border-color:#888780; }
.crm-fc[data-cat="Whatsapp"].on           { background:#FBEAF0;color:#4B1528;border-color:#ED93B1; }
.crm-fc[data-cat="Consumidor Final"].on   { background:#F1EFE8;color:#444441;border-color:#B4B2A9; }

/* ---- Sort ---- */
.crm-sort-row { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.crm-sort-label { font-size:10px; color:var(--text-secondary); }
.crm-sort-sel { font-size:11px; padding:3px 8px; border-radius:6px; border:0.5px solid var(--border-color); background:var(--bg-primary); color:var(--text-primary); cursor:pointer; }

/* ---- Tabla ---- */
.crm-tbl { background:var(--bg-primary); border:0.5px solid var(--border-color-light); border-radius:8px; overflow:hidden; }
.crm-tbl-head,
.crm-tbl-head-lead { display:grid; grid-template-columns: minmax(0,2.2fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,0.9fr); padding:7px 12px; border-bottom:0.5px solid var(--border-color); background:var(--bg-secondary); }
.crm-tbl-head-lead { grid-template-columns: minmax(0,2fr) minmax(0,1fr) minmax(0,0.9fr) minmax(0,1fr) minmax(0,1fr); }
.crm-th { font-size:10px; font-weight:500; color:var(--text-secondary); text-transform:uppercase; letter-spacing:.05em; }
.crm-row { display:grid; grid-template-columns: minmax(0,2.2fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,0.9fr); padding:9px 12px; border-bottom:0.5px solid var(--border-color-light); cursor:pointer; align-items:center; transition:background .1s; }
.crm-row:last-child { border-bottom:none; }
.crm-row:hover { background:var(--bg-secondary); }
.crm-td { font-size:12px; color:var(--text-primary); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.crm-td-nombre { white-space:normal; }
.crm-name { font-size:12px; font-weight:500; color:var(--text-primary); }
.crm-razon { font-size:10px; color:var(--text-secondary); margin-top:1px; }
.crm-muted { color:var(--text-secondary); font-size:11px; }
.crm-dias { font-size:10px; color:var(--text-secondary); }
.crm-empty { padding:24px; text-align:center; font-size:12px; color:var(--text-secondary); }

/* ---- Checkbox contacto hoy ---- */
.crm-chk-row { display:flex; align-items:center; gap:4px; }
.crm-chk-lbl { font-size:10px; color:var(--text-secondary); }

/* ---- Estado ---- */
.crm-estado { display:inline-flex; align-items:center; gap:4px; font-size:11px; }
.crm-activo  { color:#085041; }
.crm-inactivo { color:#791F1F; }
.crm-activo  .crm-dot { width:6px; height:6px; border-radius:50%; background:#1D9E75; flex-shrink:0; }
.crm-inactivo .crm-dot { width:6px; height:6px; border-radius:50%; background:#E24B4A; flex-shrink:0; }

/* ---- Pills ---- */
.crm-pill { display:inline-block; font-size:9px; font-weight:500; padding:2px 7px; border-radius:7px; white-space:nowrap; }
.crm-cat-hip  { background:#E1F5EE;color:#085041; }
.crm-cat-sup  { background:#E6F1FB;color:#0C447C; }
.crm-cat-res  { background:#FAEEDA;color:#633806; }
.crm-cat-dis  { background:#EEEDFE;color:#3C3489; }
.crm-cat-tie  { background:#FAECE7;color:#712B13; }
.crm-cat-mos  { background:#EAF3DE;color:#173404; }
.crm-cat-web  { background:#F1EFE8;color:#2C2C2A; }
.crm-cat-wha  { background:#FBEAF0;color:#4B1528; }
.crm-cat-con  { background:#F1EFE8;color:#444441; }
.crm-cat-gris { background:#F1EFE8;color:#5F5E5A; }
.crm-pill-cc  { background:#E6F1FB;color:#0C447C; }
.crm-pill-act { background:#E1F5EE;color:#085041; }
.crm-pill-ina { background:#FCEBEB;color:#791F1F; }
.crm-pill-cod { background:#F1EFE8;color:#444441;font-family:monospace; }
.crm-pill-lead{ background:#FAEEDA;color:#633806; }

/* ---- Lead estado ---- */
.crm-lead-est { font-size:10px; font-weight:500; padding:2px 7px; border-radius:7px; display:inline-block; }
.crm-est-frío,.crm-est-frio { background:#F1EFE8;color:#5F5E5A; }
.crm-est-tibio { background:#FAEEDA;color:#633806; }
.crm-est-caliente { background:#E1F5EE;color:#085041; }
.crm-est-pill-frío,.crm-est-pill-frio { background:#F1EFE8;color:#5F5E5A;font-size:10px;font-weight:500;padding:2px 8px;border-radius:7px; }
.crm-est-pill-tibio { background:#FAEEDA;color:#633806;font-size:10px;font-weight:500;padding:2px 8px;border-radius:7px; }
.crm-est-pill-caliente { background:#E1F5EE;color:#085041;font-size:10px;font-weight:500;padding:2px 8px;border-radius:7px; }

/* ---- Planilla ---- */
.crm-back { font-size:11px; color:var(--text-secondary); background:none; border:none; cursor:pointer; padding:0 0 12px; display:block; }
.crm-back:hover { color:var(--text-primary); }
.crm-planilla { background:var(--bg-primary); border:0.5px solid var(--border-color-light); border-radius:10px; overflow:hidden; }
.crm-plan-header { display:flex; align-items:flex-start; gap:12px; padding:16px; border-bottom:0.5px solid var(--border-color-light); background:var(--bg-secondary); flex-wrap:wrap; }
.crm-plan-av { width:42px; height:42px; border-radius:50%; background:#E1F5EE; color:#085041; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:500; flex-shrink:0; }
.crm-av-lead { background:#FAEEDA !important; color:#633806 !important; }
.crm-plan-name { font-size:16px; font-weight:500; color:var(--text-primary); }
.crm-plan-razon { font-size:11px; color:var(--text-secondary); margin-top:2px; }
.crm-plan-meta { display:flex; gap:5px; margin-top:5px; flex-wrap:wrap; }
.crm-plan-actions { margin-left:auto; display:flex; gap:5px; flex-wrap:wrap; align-items:flex-start; }

/* Tabs planilla */
.crm-tabs { display:flex; gap:0; border-bottom:0.5px solid var(--border-color-light); padding:0 16px; background:var(--bg-primary); }
.crm-tab { font-size:12px; padding:9px 14px; color:var(--text-secondary); cursor:pointer; border-bottom:2px solid transparent; background:none; border-top:none; border-left:none; border-right:none; white-space:nowrap; }
.crm-tab.on { color:var(--text-primary); font-weight:500; border-bottom-color:var(--text-primary); }
.crm-tab-body { padding:14px 16px; }

/* Cards dentro de planilla */
.crm-card { background:var(--bg-primary); border:0.5px solid var(--border-color-light); border-radius:8px; padding:13px 15px; margin-bottom:10px; }
.crm-sec { font-size:10px; font-weight:500; color:var(--text-secondary); text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px; }
.crm-mg4 { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-bottom:8px; }
.crm-mg3 { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-bottom:8px; }
.crm-m { background:var(--bg-secondary); border-radius:6px; padding:8px 10px; }
.crm-ml { font-size:10px; color:var(--text-secondary); margin-bottom:2px; }
.crm-mv { font-size:15px; font-weight:500; color:var(--text-primary); line-height:1.2; }
.crm-ms { font-size:10px; color:var(--text-secondary); margin-top:2px; }

/* Data grid */
.crm-data-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.crm-data-row { display:flex; flex-direction:column; padding:6px 0; border-bottom:0.5px solid var(--border-color-light); }
.crm-data-row:last-child { border-bottom:none; }
.crm-dl { font-size:10px; color:var(--text-secondary); margin-bottom:2px; }
.crm-dv { font-size:12px; color:var(--text-primary); }
.crm-inline-input { font-size:12px; width:100%; padding:3px 7px; border-radius:5px; border:0.5px solid var(--border-color); background:var(--bg-primary); color:var(--text-primary); }
.crm-sel { font-size:11px; padding:3px 8px; border-radius:5px; border:0.5px solid var(--border-color); background:var(--bg-primary); color:var(--text-primary); width:100%; }
.crm-map-link { font-size:10px; color:var(--accent-color,#1D9E75); margin-left:4px; }

/* Contactos */
.crm-ctc { display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:0.5px solid var(--border-color-light); }
.crm-ctc:last-of-type { border-bottom:none; }
.crm-ctc-av { width:30px; height:30px; border-radius:50%; background:#E6F1FB; color:#0C447C; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:500; flex-shrink:0; }
.crm-ctc-body { flex:1; min-width:0; }
.crm-ctc-name { font-size:12px; font-weight:500; color:var(--text-primary); }
.crm-ctc-info { font-size:11px; color:var(--text-secondary); margin-top:1px; }
.crm-ctipo { font-size:9px; padding:1px 5px; border-radius:4px; background:#E6F1FB; color:#0C447C; margin-left:5px; }
.crm-ctc-btns { display:flex; gap:5px; flex-shrink:0; }

/* Botones WA / Mail / Maps */
.crm-icon-btn { font-size:10px; font-weight:600; padding:4px 9px; border-radius:6px; text-decoration:none; display:inline-flex; align-items:center; cursor:pointer; white-space:nowrap; }
.crm-wa-btn  { background:#25D366; color:#fff; }
.crm-wa-btn:hover { background:#1aab52; }
.crm-mail-btn { background:#E6F1FB; color:#0C447C; border:0.5px solid #85B7EB; }
.crm-mail-btn:hover { background:#B5D4F4; }
.crm-map-btn { background:#FAEEDA; color:#633806; border:0.5px solid #EF9F27; }
.crm-add-row { font-size:11px; color:var(--text-secondary); border:0.5px dashed var(--border-color); border-radius:6px; padding:7px; text-align:center; cursor:pointer; margin-top:7px; }
.crm-add-row:hover { background:var(--bg-secondary); }

/* Timeline */
.crm-tl { display:flex; gap:9px; margin-bottom:9px; align-items:flex-start; }
.crm-tl-dot { width:8px; height:8px; border-radius:50%; margin-top:4px; flex-shrink:0; }
.crm-tl-contacto { background:#1D9E75; }
.crm-tl-compra   { background:#378ADD; }
.crm-tl-nota     { background:#888780; }
.crm-tl-txt { font-size:12px; color:var(--text-primary); line-height:1.4; }
.crm-tl-date { font-size:10px; color:var(--text-secondary); margin-top:2px; }
.crm-tl-canal { font-size:9px; padding:1px 5px; border-radius:4px; background:#F1EFE8; color:#444441; margin-left:5px; }

/* Tabla compras */
.crm-vtbl { width:100%; border-collapse:collapse; font-size:12px; }
.crm-vtbl th { font-size:10px; font-weight:500; color:var(--text-secondary); text-transform:uppercase; letter-spacing:.04em; padding:5px 8px; border-bottom:0.5px solid var(--border-color); text-align:left; }
.crm-vtbl td { padding:7px 8px; border-bottom:0.5px solid var(--border-color-light); color:var(--text-primary); }
.crm-vtbl tr:last-child td { border-bottom:none; }
.crm-vtbl tr:hover td { background:var(--bg-secondary); }
.crm-saldo-chip { font-size:11px; font-weight:500; color:#791F1F; background:#FCEBEB; padding:3px 9px; border-radius:6px; }
.crm-fact-est { font-size:10px; padding:2px 6px; border-radius:5px; }
.crm-est-saldada  { background:#E1F5EE; color:#085041; }
.crm-est-pendiente { background:#FCEBEB; color:#791F1F; }

/* Notas */
.crm-nota-area { width:100%; font-size:12px; padding:8px 10px; border-radius:6px; border:0.5px solid var(--border-color); background:var(--bg-primary); color:var(--text-primary); resize:none; min-height:60px; margin-bottom:6px; }
.crm-nota-box { background:var(--bg-secondary); border-radius:6px; padding:8px 10px; font-size:12px; color:var(--text-primary); margin-bottom:6px; }

/* Lead estado selector */
.crm-est-row { display:flex; gap:5px; margin-top:3px; }
.crm-est-opt { font-size:11px; padding:3px 10px; border-radius:8px; border:0.5px solid var(--border-color-light); cursor:pointer; color:var(--text-secondary); background:var(--bg-primary); }
.crm-est-opt.on-frio     { background:#F1EFE8;color:#5F5E5A;border-color:#B4B2A9;font-weight:500; }
.crm-est-opt.on-tibio    { background:#FAEEDA;color:#633806;border-color:#EF9F27;font-weight:500; }
.crm-est-opt.on-caliente { background:#E1F5EE;color:#085041;border-color:#5DCAA5;font-weight:500; }
.crm-est-opt.on-frío     { background:#F1EFE8;color:#5F5E5A;border-color:#B4B2A9;font-weight:500; }

/* Conversión */
.crm-conv-box { background:var(--bg-secondary); border-radius:6px; padding:12px 14px; }
.crm-conv-title { font-size:12px; font-weight:500; color:var(--text-primary); margin-bottom:6px; }
.crm-conv-desc { font-size:11px; color:var(--text-secondary); margin-bottom:10px; line-height:1.5; }
.crm-conv-row { display:flex; gap:7px; align-items:center; }

/* Alerta 3 contactos */
.crm-warn { background:#FAEEDA; border-radius:6px; padding:9px 12px; font-size:11px; color:#633806; margin-bottom:10px; line-height:1.5; }

/* Modal */
.crm-modal-backdrop { display:flex; align-items:center; justify-content:center; position:absolute; inset:0; background:rgba(0,0,0,.35); z-index:100; border-radius:inherit; }
.crm-modal { background:var(--bg-primary); border-radius:10px; padding:18px 20px; width:400px; max-width:90%; }
.crm-modal-title { font-size:14px; font-weight:500; color:var(--text-primary); margin-bottom:6px; }
.crm-modal-desc { font-size:12px; color:var(--text-secondary); margin-bottom:12px; line-height:1.5; }
.crm-file-label { display:block; cursor:pointer; }
.crm-file-drop { border:0.5px dashed var(--border-color); border-radius:6px; padding:14px; text-align:center; font-size:12px; color:var(--text-secondary); margin-bottom:8px; }
.crm-file-drop:hover { background:var(--bg-secondary); }
.crm-file-list { font-size:11px; color:var(--text-secondary); }
.crm-file-item { padding:3px 0; }

/* Vista: el módulo ocupa la vista completa */
#vista-crm { position:relative; }
