/* =========================================================
   LEADS & SALES ENGINE
   Page-specific styling
========================================================= */

body{
  padding:20px;
}

.engine-shell{
  width:min(100%,1900px);
  margin:0 auto;
}

/* =========================================================
   HEADER
========================================================= */

.engine-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;

  padding:24px 28px;
  margin-bottom:18px;

  border:1px solid var(--border);
  border-radius:22px;

  background:
    linear-gradient(
      135deg,
      rgba(240,100,43,.08),
      transparent 38%
    ),
    rgba(15,22,31,.88);

  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}

.back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;

  margin-bottom:12px;

  color:var(--text-muted);
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;

  transition:color .25s ease;
}

.back-link:hover{
  color:var(--orange);
}

.eyebrow{
  margin-bottom:8px;

  color:var(--orange);
  font-family:var(--mono);
  font-size:10px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}

h1{
  margin:0;
  font-size:clamp(28px,3vw,46px);
  letter-spacing:-.045em;
}

.header-description{
  max-width:720px;
  margin-top:10px;

  color:var(--text-soft);
  font-size:14px;
  line-height:1.6;
}

.header-status{
  display:flex;
  align-items:center;
  gap:18px;
}

.status-block{
  min-width:170px;
  padding:16px 18px;

  border:1px solid rgba(56,217,154,.25);
  border-radius:16px;

  background:rgba(56,217,154,.08);
  text-align:right;
}

.status-block span{
  display:block;

  color:var(--text-muted);
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.status-block strong{
  display:block;
  margin-top:7px;

  color:var(--green);
  font-family:var(--mono);
  font-size:17px;
  text-transform:uppercase;
}

.live-time{
  text-align:right;
}

.live-time strong{
  display:block;
  font-family:var(--mono);
  font-size:22px;
}

.live-time span{
  display:block;
  margin-top:4px;

  color:var(--text-muted);
  font-family:var(--mono);
  font-size:10px;
}

/* =========================================================
   GENERAL PANELS
========================================================= */

.panel{
  position:relative;
  overflow:hidden;

  padding:22px;

  border:1px solid var(--border);
  border-radius:22px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.025),
      rgba(255,255,255,.008)
    ),
    rgba(15,22,31,.88);

  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}

.panel::before{
  content:"";

  position:absolute;
  inset:0;

  pointer-events:none;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.025),
      transparent 32%
    );
}

.panel-header{
  position:relative;
  z-index:1;

  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;

  margin-bottom:20px;
}

.panel-kicker{
  display:block;
  margin-bottom:7px;

  color:var(--orange);
  font-family:var(--mono);
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.panel h2,
.ai-summary h2{
  margin:0;
  font-size:17px;
  letter-spacing:-.02em;
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:7px;

  padding:7px 10px;

  border:1px solid var(--border);
  border-radius:999px;

  font-family:var(--mono);
  font-size:9px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}

.badge.good{
  color:var(--green);
  background:rgba(56,217,154,.10);
}

.badge.orange{
  color:var(--orange);
  background:rgba(240,100,43,.10);
}

.badge.blue{
  color:var(--cyan);
  background:rgba(73,200,240,.10);
}

/* =========================================================
   KPI GRID
========================================================= */

.kpi-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin-bottom:18px;
}

.kpi-card{
  position:relative;
  overflow:hidden;

  min-height:145px;
  padding:19px;

  border:1px solid var(--border);
  border-radius:18px;

  background:rgba(15,22,31,.90);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.kpi-card:hover{
  transform:translateY(-4px);
  border-color:rgba(240,100,43,.35);
  box-shadow:var(--glow-orange);
}

.kpi-card::after{
  content:"";

  position:absolute;
  top:0;
  left:0;

  width:100%;
  height:2px;

  background:
    linear-gradient(
      90deg,
      var(--orange),
      transparent
    );
}

.kpi-label{
  color:var(--text-muted);
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.kpi-value{
  display:block;
  margin-top:16px;

  font-family:var(--mono);
  font-size:31px;
  line-height:1;
}

.kpi-meta{
  display:block;
  margin-top:12px;

  color:var(--text-soft);
  font-size:10px;
}

.positive{
  color:var(--green);
}

.attention{
  color:var(--yellow);
}

/* =========================================================
   MAIN GRID
========================================================= */

.main-grid{
  display:grid;
  grid-template-columns:1.35fr .9fr;
  gap:18px;
  margin-bottom:18px;
}

.chart-container{
  position:relative;
  height:330px;
}

.founder-chart{
  height:155px;
  margin-top:15px;
}

/* =========================================================
   FUNNEL
========================================================= */

.funnel{
  display:grid;
  gap:13px;
}

.funnel-row{
  display:grid;
  grid-template-columns:115px 1fr 70px;
  align-items:center;
  gap:12px;
}

.funnel-name{
  color:var(--text-soft);
  font-size:11px;
}

.funnel-track{
  position:relative;

  height:30px;
  overflow:hidden;

  border-radius:7px;
  background:rgba(255,255,255,.045);
}

.funnel-fill{
  width:0;
  height:100%;

  border-radius:7px;

  background:
    linear-gradient(
      90deg,
      rgba(240,100,43,.20),
      var(--orange)
    );

  box-shadow:0 0 18px rgba(240,100,43,.22);

  transition:width 1.1s cubic-bezier(.22,.61,.36,1);
}

.funnel-value{
  text-align:right;

  color:var(--text);
  font-family:var(--mono);
  font-size:12px;
  font-weight:600;
}

/* =========================================================
   SECONDARY GRID
========================================================= */

.secondary-grid{
  display:grid;
  grid-template-columns:1fr 1fr .8fr;
  gap:18px;
  margin-bottom:18px;
}

/* =========================================================
   IMPROVEMENT
========================================================= */

.improvement-title{
  margin-bottom:10px;
  font-size:16px;
  font-weight:600;
}

.improvement-description{
  margin-bottom:20px;

  color:var(--text-soft);
  font-size:12px;
  line-height:1.6;
}

.progress-top{
  display:flex;
  justify-content:space-between;
  align-items:center;

  margin-bottom:9px;

  color:var(--text-muted);
  font-family:var(--mono);
  font-size:9px;
  text-transform:uppercase;
}

.progress-track{
  height:9px;
  overflow:hidden;

  border-radius:999px;
  background:rgba(255,255,255,.06);
}

.progress-fill{
  width:0;
  height:100%;

  border-radius:inherit;

  background:
    linear-gradient(
      90deg,
      var(--orange),
      var(--orange-bright)
    );

  box-shadow:0 0 14px rgba(240,100,43,.45);

  transition:width 1.2s cubic-bezier(.22,.61,.36,1);
}

.impact-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-top:18px;
}

.impact-grid div{
  padding:12px;

  border:1px solid var(--border);
  border-radius:12px;

  background:rgba(255,255,255,.018);
}

.impact-grid span{
  display:block;

  color:var(--text-muted);
  font-size:8px;
  text-transform:uppercase;
}

.impact-grid strong{
  display:block;
  margin-top:7px;

  font-family:var(--mono);
  font-size:13px;
}

/* =========================================================
   OWNER / FOUNDER DEPENDENCY
========================================================= */

.owner-block{
  display:flex;
  align-items:center;
  gap:13px;

  padding:15px;

  border:1px solid var(--border);
  border-radius:14px;

  background:rgba(255,255,255,.018);
}

.avatar{
  display:grid;
  place-content:center;

  width:42px;
  height:42px;

  border:1px solid rgba(240,100,43,.35);
  border-radius:12px;

  color:var(--orange);
  background:rgba(240,100,43,.10);

  font-family:var(--mono);
  font-weight:700;
}

.owner-block strong,
.owner-block span{
  display:block;
}

.owner-block strong{
  font-size:12px;
}

.owner-block span{
  margin-top:4px;
  color:var(--text-muted);
  font-size:9px;
}

.founder-signal{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;

  margin-top:20px;
}

.founder-signal strong{
  color:var(--green);
  font-family:var(--mono);
  font-size:34px;
}

.founder-signal span{
  max-width:150px;

  color:var(--text-muted);
  font-size:10px;
  line-height:1.5;
  text-align:right;
}

/* =========================================================
   ACTIVITY FEED
========================================================= */

.activity-list{
  display:grid;
  gap:0;
}

.activity-item{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:13px;

  padding:13px 0;

  border-bottom:1px solid var(--border);
}

.activity-item:last-child{
  border-bottom:none;
}

.activity-time{
  color:var(--orange);
  font-family:var(--mono);
  font-size:9px;
}

.activity-item strong{
  display:block;
  font-size:11px;
}

.activity-item span{
  display:block;
  margin-top:4px;

  color:var(--text-muted);
  font-size:9px;
  line-height:1.4;
}

/* =========================================================
   AI SUMMARY
========================================================= */

.ai-summary{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;

  padding:22px 24px;

  border:1px solid var(--border);
  border-radius:22px;

  background:
    linear-gradient(
      90deg,
      rgba(240,100,43,.08),
      transparent 38%
    ),
    rgba(15,22,31,.90);

  box-shadow:var(--shadow);
}

.ai-icon{
  display:grid;
  place-content:center;

  width:48px;
  height:48px;

  border:1px solid rgba(240,100,43,.35);
  border-radius:14px;

  color:var(--orange);
  background:rgba(240,100,43,.12);

  font-family:var(--mono);
  font-weight:700;

  box-shadow:var(--glow-orange);
}

.ai-summary p{
  margin-top:7px;

  color:var(--text-soft);
  font-size:12px;
  line-height:1.6;
}

.ai-action{
  padding:10px 13px;

  border:1px solid rgba(240,100,43,.35);
  border-radius:11px;

  color:var(--orange);
  background:rgba(240,100,43,.10);

  font-family:var(--mono);
  font-size:9px;
  font-weight:600;
  text-transform:uppercase;

  cursor:pointer;

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.ai-action:hover{
  transform:translateY(-2px);
  box-shadow:var(--glow-orange);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:1300px){

  .kpi-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .main-grid{
    grid-template-columns:1fr;
  }

  .secondary-grid{
    grid-template-columns:1fr 1fr;
  }

}

@media (max-width:850px){

  body{
    padding:10px;
  }

  .engine-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .header-status{
    width:100%;
    align-items:flex-start;
  }

  .status-block{
    width:100%;
    text-align:left;
  }

  .live-time{
    text-align:left;
  }

  .kpi-grid,
  .secondary-grid{
    grid-template-columns:1fr;
  }

  .funnel-row{
    grid-template-columns:90px 1fr 55px;
  }

  .impact-grid{
    grid-template-columns:1fr;
  }

  .ai-summary{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .ai-action{
    width:100%;
  }

}

@media (max-width:560px){

  .header-status{
    flex-direction:column;
  }

  .kpi-grid{
    grid-template-columns:1fr;
  }

  .funnel-row{
    grid-template-columns:78px 1fr 48px;
    gap:8px;
  }

}