/* ===== Fresh Signals Widget v2 compact ===== */

.fsv2,
.fsv2 *{
  box-sizing:border-box;
}

.fsv2{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  box-shadow:0 8px 28px rgba(15,23,42,.05);
  padding:18px;
  margin-top:18px;
  margin-bottom:20px;
  overflow:hidden;
}

.fsv2-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.fsv2-kicker{
  font-size:11px;
  line-height:1;
  color:#64748b;
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.fsv2-title{
  margin:0;
  font-size:28px;
  line-height:1.08;
  color:#0f172a;
  font-weight:800;
  letter-spacing:-.02em;
}

.fsv2-sub{
  margin-top:6px;
  color:#64748b;
  font-size:15px;
  line-height:1.3;
}

.fsv2-empty{
  border:1px solid rgba(15,23,42,.08);
  background:#f8fafc;
  border-radius:18px;
  padding:14px;
  color:#64748b;
  font-size:15px;
}

.fsv2-rail{
  display:flex;
  gap:12px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:1px 1px 8px;
  scrollbar-width:thin;
}

.fsv2-card{
  position:relative;
  flex:0 0 calc((100% - 36px) / 4);
  min-width:244px;
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  gap:9px;
  min-height:100%;
  border:1px solid rgba(15,23,42,.09);
  border-left:5px solid #94a3b8;
  background:#fff;
  border-radius:20px;
  padding:13px;
  box-shadow:0 8px 18px rgba(15,23,42,.035);
}

.fsv2-card.is-strong{
  border-left-color:#16a34a;
}

.fsv2-card.is-confirmed{
  border-left-color:#22c55e;
}

.fsv2-card.is-rejected{
  border-left-color:#dc2626;
}

.fsv2-card.is-waiting{
  border-left-color:#94a3b8;
}

.fsv2-card-top{
  position:relative;
  display:grid;
  gap:6px;
  min-height:58px;
  padding-right:96px;
}

.fsv2-identity{
  min-width:0;
}

.fsv2-ticker-row{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  min-width:0;
}

.fsv2-ticker{
  color:#0f172a;
  font-size:26px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.02em;
  text-decoration:none;
}

.fsv2-ticker:hover{
  text-decoration:underline;
}

.fsv2-priority,
.fsv2-inpf{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  border-radius:999px;
  padding:3px 7px;
  font-size:10.5px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}

.fsv2-priority.is-top{
  background:#ecfdf5;
  color:#047857;
  border:1px solid rgba(16,185,129,.25);
}

.fsv2-priority.is-high{
  background:#eff6ff;
  color:#1d4ed8;
  border:1px solid rgba(37,99,235,.25);
}

.fsv2-inpf{
  background:#f8fafc;
  color:#475569;
  border:1px solid rgba(148,163,184,.32);
}

.fsv2-name{
  margin-top:5px;
  color:#475569;
  font-size:15.5px;
  line-height:1.18;
  font-weight:600;
}

.fsv2-industry{
  margin-top:3px;
  color:#64748b;
  font-size:12.5px;
  line-height:1.22;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fsv2-ai-box{
  position:absolute;
  top:0;
  right:0;
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:110px;
  min-height:28px;
  border:1px solid rgba(37,99,235,.16);
  background:#f8fafc;
  border-radius:999px;
  padding:4px 7px 4px 5px;
  white-space:nowrap;
}

.fsv2-ai-box span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  border-radius:999px;
  background:rgba(37,99,235,.09);
  color:#1d4ed8;
  font-size:9.5px;
  line-height:1;
  font-weight:700;
}

.fsv2-ai-box strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#1d4ed8;
  font-size:12.5px;
  line-height:1;
  font-weight:700;
}

.fsv2-ai-buy{
  border-color:rgba(16,185,129,.25);
  background:#f0fdf4;
}

.fsv2-ai-buy span{
  background:rgba(16,185,129,.10);
  color:#047857;
}

.fsv2-ai-buy strong{
  color:#047857;
}

.fsv2-ai-sell,
.fsv2-ai-avoid{
  border-color:rgba(220,38,38,.22);
  background:#fef2f2;
}

.fsv2-ai-sell span,
.fsv2-ai-avoid span{
  background:rgba(220,38,38,.10);
  color:#b91c1c;
}

.fsv2-ai-sell strong,
.fsv2-ai-avoid strong{
  color:#b91c1c;
}

.fsv2-target-box{
  border:1px solid rgba(15,23,42,.08);
  background:#fbfdff;
  border-radius:18px;
  padding:11px;
}

.fsv2-target-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

.fsv2-target-head span{
  color:#64748b;
  font-size:13px;
  line-height:1.2;
  font-weight:600;
}

.fsv2-target-head strong{
  font-size:29px;
  line-height:.98;
  font-weight:800;
  letter-spacing:-.02em;
  white-space:nowrap;
}

.fsv2-target-main{
  display:grid;
  gap:3px;
  padding-top:8px;
  border-top:1px solid rgba(15,23,42,.08);
}

.fsv2-target-main span{
  color:#64748b;
  font-size:11px;
  line-height:1.2;
  font-weight:600;
}

.fsv2-target-main b{
  color:#0f172a;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
}

.fsv2-progress-line{
  display:grid;
  gap:6px;
  margin-top:9px;
}

.fsv2-progress-copy{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  color:#64748b;
  font-size:12px;
  font-weight:600;
}

.fsv2-progress-copy strong{
  color:#0f172a;
  font-size:15px;
  line-height:1;
  font-weight:800;
}

.fsv2-progress-track{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#e5e7eb;
}

.fsv2-progress-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#16a34a;
}

.fsv2-confirm-box{
  display:grid;
  gap:7px;
  margin-top:auto;
  border-top:1px solid rgba(15,23,42,.08);
  padding-top:10px;
}

.fsv2-confirm-head{
  display:block;
}

.fsv2-heat{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  font-size:13.5px;
  line-height:1.2;
  font-weight:800;
}

.fsv2-heat.strong{
  color:#c2410c;
}

.fsv2-heat.confirmed{
  color:#047857;
}

.fsv2-heat.rejected{
  color:#b91c1c;
}

.fsv2-heat.waiting{
  color:#64748b;
}

.fsv2-warning{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:4px 8px;
  font-size:11.5px;
  line-height:1.1;
  font-weight:700;
}

.fsv2-warning.low,
.fsv2-warning.normal{
  border:1px solid rgba(16,185,129,.25);
  background:#ecfdf5;
  color:#047857;
}

.fsv2-warning.medium{
  border:1px solid rgba(245,158,11,.28);
  background:#fffbeb;
  color:#92400e;
}

.fsv2-warning.high{
  border:1px solid rgba(220,38,38,.22);
  background:#fef2f2;
  color:#b91c1c;
}

.fsv2-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}

.fsv2-info-grid div{
  min-width:0;
  border:1px solid rgba(15,23,42,.06);
  background:#f8fafc;
  border-radius:12px;
  padding:7px 8px;
}

.fsv2-info-grid span{
  display:block;
  color:#64748b;
  font-size:10.5px;
  line-height:1.1;
  font-weight:600;
  margin-bottom:3px;
}

.fsv2-info-grid strong{
  display:block;
  color:#0f172a;
  font-size:13px;
  line-height:1.12;
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fsv2-signal-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  color:#0f172a;
  font-size:11.5px;
  line-height:1.12;
  font-weight:600;
}

.fsv2-signal-row > span{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  border-radius:999px;
  padding:4px 8px;
  border:1px solid rgba(148,163,184,.28);
  background:#f8fafc;
}

.fsv2-velocity.fast{
  border-color:rgba(16,185,129,.28);
  background:#ecfdf5;
  color:#047857;
}

.fsv2-velocity.medium{
  border-color:rgba(37,99,235,.25);
  background:#eff6ff;
  color:#1d4ed8;
}

.fsv2-velocity.slow{
  border-color:rgba(245,158,11,.30);
  background:#fffbeb;
  color:#92400e;
}

.fsv2-velocity.waiting{
  color:#64748b;
}

.fsv2-downgrade{
  border-color:rgba(220,38,38,.24) !important;
  background:#fef2f2 !important;
  color:#b91c1c !important;
}

.fsv2 .pos{
  color:#047857 !important;
}

.fsv2 .neg{
  color:#b91c1c !important;
}

@media (max-width:1180px){
  .fsv2-card{
    flex-basis:calc((100% - 24px) / 3);
  }
}

@media (max-width:920px){
  .fsv2-card{
    flex-basis:calc((100% - 12px) / 2);
  }
}

@media (max-width:720px){
  .fsv2{
    padding:14px;
    border-radius:18px;
  }

  .fsv2-head{
    margin-bottom:10px;
  }

  .fsv2-title{
    font-size:22px;
  }

  .fsv2-sub{
    font-size:13.5px;
    line-height:1.25;
  }

  .fsv2-rail{
    gap:10px;
    padding-bottom:7px;
  }

  .fsv2-card{
    flex-basis:min(90%, 500px);
    min-width:min(90%, 500px);
    border-radius:20px;
    padding:12px;
    gap:8px;
  }

  .fsv2-card-top{
    min-height:54px;
    padding-right:92px;
  }

  .fsv2-ticker{
    font-size:25px;
  }

  .fsv2-name{
    font-size:15px;
  }

  .fsv2-industry{
    font-size:12px;
  }

  .fsv2-target-head strong{
    font-size:28px;
  }

  .fsv2-info-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:420px){
  .fsv2-card{
    flex-basis:94%;
    min-width:94%;
  }

  .fsv2-card-top{
    padding-right:88px;
  }

  .fsv2-ai-box{
    max-width:100px;
  }

  .fsv2-ai-box strong{
    font-size:12px;
  }

  .fsv2-target-head strong{
    font-size:27px;
  }
}
