:root {
  --ig-green: #1f8a4c;
  --ig-green-dark: #176b3a;
  --ig-ink: #1b2430;
}

body {
  background: #f4f6f8;
  color: var(--ig-ink);
}

/* Navbar */
.app-navbar {
  background: linear-gradient(90deg, var(--ig-green-dark), var(--ig-green));
}
.app-navbar .navbar-brand { letter-spacing: .2px; }
.brand-mark {
  background: #fff;
  color: var(--ig-green-dark);
  border-radius: .35rem;
  padding: 0 .25rem;
  font-weight: 800;
}
.app-navbar .nav-link.active { font-weight: 600; border-bottom: 2px solid #fff; }

.btn-primary {
  --bs-btn-bg: var(--ig-green);
  --bs-btn-border-color: var(--ig-green);
  --bs-btn-hover-bg: var(--ig-green-dark);
  --bs-btn-hover-border-color: var(--ig-green-dark);
  --bs-btn-active-bg: var(--ig-green-dark);
}
.btn-outline-primary {
  --bs-btn-color: var(--ig-green-dark);
  --bs-btn-border-color: var(--ig-green);
  --bs-btn-hover-bg: var(--ig-green);
  --bs-btn-hover-border-color: var(--ig-green);
}

.card { border: 1px solid #e7ebf0; border-radius: .6rem; }

/* Chips */
.chip { font-weight: 600; font-size: .74rem; padding: .35em .7em; }
.chip-sentiment { background: #eef1f4; color: #45515f; }
.chip-product { background: #e7f3ec; color: var(--ig-green-dark); }

/* Login */
.login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1.5rem; }
.login-card { width: 100%; max-width: 420px; border-radius: .9rem; }
.login-logo { font-size: 2rem; font-weight: 800; color: var(--ig-ink); }

/* Dashboard */
.stat-card { border-left: 4px solid #ccc; transition: transform .08s ease; }
.stat-card:hover { transform: translateY(-2px); }
.stat-value { font-size: 1.7rem; font-weight: 700; line-height: 1; margin-bottom: .35rem; }
.stat-label { font-size: .8rem; }
.border-start-secondary { border-left-color: #6c757d !important; }
.border-start-info { border-left-color: #0dcaf0 !important; }
.border-start-primary { border-left-color: var(--ig-green) !important; }
.border-start-warning { border-left-color: #ffc107 !important; }
.border-start-success { border-left-color: #198754 !important; }
.border-start-danger  { border-left-color: #dc3545 !important; }
.kpi-card .kpi-value { font-size: 1.5rem; font-weight: 700; }

/* Lead detail */
.detail-list { display: grid; grid-template-columns: 38% 62%; row-gap: .45rem; margin: 0; }
.detail-list dt { font-weight: 500; color: #6b7785; font-size: .85rem; }
.detail-list dd { margin: 0; font-size: .9rem; word-break: break-word; }
.leads-table td { font-size: .92rem; }

/* Timeline */
.timeline { position: relative; padding-left: 1.5rem; }
.timeline::before {
  content: ""; position: absolute; left: 6px; top: 4px; bottom: 4px;
  width: 2px; background: #e2e7ec;
}
.timeline-item { position: relative; margin-bottom: 1rem; }
.timeline-dot {
  position: absolute; left: -1.5rem; top: .9rem; width: 13px; height: 13px;
  border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px #e2e7ec;
}
.timeline-card { border-radius: .55rem; }
.timeline-comment { white-space: pre-wrap; }

/* Conditional add-update fields */
.js-field.is-hidden { display: none; }

/* Products */
.product-card { transition: box-shadow .12s ease; }
.product-card:hover { box-shadow: 0 .4rem 1rem rgba(0,0,0,.06); }
.product-video iframe { border-radius: .5rem; border: 1px solid #e7ebf0; }

.flash-stack { max-width: 720px; }
