/* =========================================================
   JC MARK CRM — Estilos de Dashboard y Pipeline Kanban
   ========================================================= */

/* ---------- Kanban ---------- */

.kanban-wrap {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 10px;
}

.kanban-col {
  background: var(--surface-alt);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  width: 280px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 220px);
}

.kanban-col__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 14px 10px;
}

.kanban-col__title { display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 700; }
.kanban-col__dot { width: 8px; height: 8px; border-radius: 50%; }
.kanban-col__count {
  background: var(--surface); border: 1px solid var(--border-strong);
  border-radius: 999px; font-size: 11.5px; font-weight: 700; color: var(--text-muted);
  padding: 1px 8px;
}
.kanban-col__total { font-size: 11.5px; color: var(--text-faint); padding: 0 14px 10px; }

.kanban-col__list {
  flex: 1;
  overflow-y: auto;
  padding: 4px 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 60px;
}

.kanban-col__list.is-dragover { background: var(--brand-pink-light); border-radius: var(--radius-sm); }

.kanban-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  cursor: grab;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition), transform var(--transition);
}
.kanban-card:hover { box-shadow: var(--shadow-md); }
.kanban-card.is-dragging { opacity: 0.4; }

.kanban-card__title { font-size: 13.5px; font-weight: 700; margin-bottom: 2px; }
.kanban-card__company { font-size: 12px; color: var(--text-muted); margin-bottom: 8px; }
.kanban-card__service { font-size: 11.5px; color: var(--text-faint); margin-bottom: 10px; }
.kanban-card__footer { display: flex; align-items: center; justify-content: space-between; }
.kanban-card__value { font-size: 13px; font-weight: 700; color: var(--brand-pink-dark); }
.kanban-card__followup { font-size: 11px; color: var(--text-faint); }
.kanban-card__followup.is-overdue { color: var(--danger); font-weight: 600; }

.kanban-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; gap: 12px; flex-wrap: wrap; }
.kanban-total-value { font-size: 13.5px; color: var(--text-muted); }
.kanban-total-value strong { color: var(--text); font-family: var(--font-display); }

/* ---------- Dashboard metric icons ---------- */

.kpi-icon-leads   { background: var(--info-bg); color: var(--info); }
.kpi-icon-clients { background: var(--success-bg); color: var(--success); }
.kpi-icon-opps    { background: var(--brand-pink-light); color: var(--brand-pink-dark); }
.kpi-icon-value   { background: #EDEAFB; color: #6B4FCB; }
.kpi-icon-tasks   { background: var(--warning-bg); color: var(--warning); }
.kpi-icon-overdue { background: var(--danger-bg); color: var(--danger); }

/* ---------- Mini funnel / gráfico simple ---------- */

.funnel { display: flex; flex-direction: column; gap: 10px; }
.funnel-row { display: flex; align-items: center; gap: 12px; }
.funnel-row .label { width: 96px; font-size: 12.5px; color: var(--text-muted); flex-shrink: 0; }
.funnel-row .bar-track { flex: 1; height: 10px; background: var(--surface-alt); border-radius: 999px; overflow: hidden; }
.funnel-row .bar-fill { height: 100%; background: var(--brand-pink); border-radius: 999px; transition: width 400ms ease; }
.funnel-row .count { width: 30px; text-align: right; font-size: 12.5px; font-weight: 700; flex-shrink: 0; }

@media (max-width: 640px) {
  .kanban-col { width: 250px; }
}

/* ---------- Integraciones ---------- */
.integration-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px;margin-bottom:24px}
.integration-card{min-height:100%}.integration-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.integration-card__head h3{font-size:16px}.integration-card__head p{font-size:12.5px;color:var(--text-muted);margin-top:3px}.integration-brand{display:flex;align-items:center;gap:12px}.integration-logo{width:42px;height:42px;border-radius:12px;background:var(--brand-black);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:18px}.integration-fields{display:flex;flex-direction:column;gap:16px}.copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.integration-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.integration-flow{display:flex;flex-direction:column;gap:12px}.integration-flow>div{display:grid;grid-template-columns:28px 1fr;column-gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--border)}.integration-flow>div:last-child{border-bottom:none}.integration-flow b{grid-row:1/3;width:26px;height:26px;border-radius:8px;background:var(--brand-pink-light);color:var(--brand-pink-dark);display:flex;align-items:center;justify-content:center;font-size:11px}.integration-flow span{font-size:13.5px;font-weight:600}.integration-flow small{font-size:12px;color:var(--text-muted);margin-top:2px}.setup-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.setup-steps>div{border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;background:var(--surface-alt)}.setup-steps span{font-family:var(--font-display);font-size:11px;color:var(--brand-pink);font-weight:700}.setup-steps p{font-size:12.5px;line-height:1.55;margin-top:7px}.integration-code{background:#171719;color:#f6f6f8;border-radius:12px;padding:16px;overflow:auto;font-size:12px;line-height:1.55}.connection-status{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:11.5px;font-weight:700;background:var(--surface-alt);border:1px solid var(--border);color:var(--text-muted)}.connection-status.is-connected{background:var(--success-bg);border-color:transparent;color:var(--success)}
@media(max-width:1000px){.integration-grid{grid-template-columns:1fr}.setup-steps{grid-template-columns:1fr 1fr}}@media(max-width:640px){.setup-steps{grid-template-columns:1fr}.copy-row{grid-template-columns:1fr}.copy-row .btn{width:100%}}

/* ---------- Superadministración ---------- */
.company-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.company-admin-card{min-height:210px}.company-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.company-admin-head>div:first-child{display:flex;align-items:center;gap:12px}.company-mini-logo{width:46px;height:46px;object-fit:contain;border-radius:10px;border:1px solid var(--border);background:#fff}.company-logo-placeholder{width:46px;height:46px;border-radius:12px;background:var(--brand-black);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700}.company-admin-head h3{font-size:16px}.company-admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.company-admin-metrics span{padding:10px;background:var(--surface-alt);border-radius:10px;font-size:11.5px;color:var(--text-muted)}.company-admin-metrics b{display:block;color:var(--text);font-size:17px;margin-bottom:2px}.modal-lg{width:min(820px,calc(100vw - 32px))}.quote-engine-textarea{min-height:150px;resize:vertical;line-height:1.55}.quote-engine-panel{border:1px solid rgba(227,28,111,.18);box-shadow:0 8px 30px rgba(227,28,111,.05)}
@media(max-width:700px){.company-admin-metrics{grid-template-columns:1fr}.company-admin-grid{grid-template-columns:1fr}}
