.fsig{
  background:#fff;
  border:1px solid #e5e9f0;
  border-radius:24px;
  padding:22px;
  color:#0f172a;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}

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

.fsig-title{
  font-size:24px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-0.03em;
  color:#0f172a;
}

.fsig-sub{
  margin-top:6px;
  font-size:14px;
  line-height:1.45;
  color:#667085;
}

.fsig-empty{
  padding:24px 0;
  text-align:center;
  color:#667085;
  font-size:14px;
}

/* TABLE */

.fsig-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 10px;
}

.fsig-table th{
  text-align:left;
  font-size:12px;
  font-weight:800;
  color:#667085;
  padding:0 10px 2px;
  white-space:nowrap;
}

.fsig-table td{
  background:#fff;
  border-top:1px solid #e8edf3;
  border-bottom:1px solid #e8edf3;
  padding:14px 10px;
  vertical-align:top;
}

.fsig-table td:first-child{
  border-left:1px solid #e8edf3;
  border-radius:16px 0 0 16px;
}

.fsig-table td:last-child{
  border-right:1px solid #e8edf3;
  border-radius:0 16px 16px 0;
}

/* PAPER */

.fsig-paper{
  min-width:160px;
}

.fsig-ticker{
  display:inline-block;
  font-size:18px;
  line-height:1.1;
  font-weight:900;
  color:#0f172a;
  text-decoration:none;
}

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

.fsig-name{
  margin-top:4px;
  font-size:13px;
  line-height:1.35;
  color:#667085;
}

.fsig-pf{
  display:inline-flex;
  margin-top:8px;
  padding:4px 9px;
  border-radius:999px;
  background:#eef6ff;
  border:1px solid #cfe2ff;
  color:#2457c5;
  font-size:11px;
  font-weight:800;
}

/* ANALYST */

.fsig-analyst{
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  color:#0f172a;
}

.fsig-action{
  margin-top:4px;
  font-size:12px;
  color:#667085;
}

/* TARGET / REACTION */

.fsig-delta,
.fsig-reaction{
  font-size:15px;
  line-height:1.1;
  font-weight:900;
}

.fsig-delta.pos,
.fsig-reaction.pos{
  color:#0f8a4b;
}

.fsig-delta.neg,
.fsig-reaction.neg{
  color:#c81e1e;
}

.fsig-small{
  margin-top:5px;
  font-size:11px;
  line-height:1.4;
  color:#667085;
}

/* VELOCITY */

.fsig-velocity{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
}

.fsig-velocity.fast{
  background:#e9f8ef;
  border:1px solid #bde8cc;
  color:#0f8a4b;
}

.fsig-velocity.medium{
  background:#eef6ff;
  border:1px solid #cfe2ff;
  color:#2457c5;
}

.fsig-velocity.slow{
  background:#fff7e6;
  border:1px solid #f4d28a;
  color:#a15c00;
}

.fsig-velocity.waiting{
  background:#f3f4f6;
  border:1px solid #dfe3e8;
  color:#667085;
}

.fsig-repeat{
  margin-top:0px;
  font-size:11px;
  line-height:1.3;
  font-weight:700;
  color:#0f172a;
}

/* HEAT */

.fsig-heat{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  line-height:1.3;
  font-weight:800;
}

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

.fsig-heat.confirmed{
  color:#0f8a4b;
}

.fsig-heat.rejected{
  color:#c81e1e;
}

.fsig-heat.waiting{
  color:#667085;
}

.fsig-hint{
  margin-top:8px;
  font-size:12px;
  line-height:1.45;
  color:#667085;
  max-width:240px;
}

/* MARKET TRUST */

.mtrust-main{
  margin:14px 0 18px;
  padding:20px;
  border:1px solid #e8edf3;
  border-radius:20px;
  background:#f8fafc;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.mtrust-left{
  min-width:0;
}

.mtrust-right{
  text-align:right;
  min-width:180px;
}

.mtrust-regime{
  font-size:20px;
  line-height:1.15;
  font-weight:900;
  color:#0f172a;
}

.mtrust-note{
  margin-top:6px;
  font-size:13px;
  color:#667085;
}

.mtrust-score{
  margin-top:10px;
  font-size:48px;
  line-height:1;
  font-weight:900;
  color:#0f172a;
}

.mtrust-caption{
  margin-top:6px;
  font-size:14px;
  color:#667085;
}

.mtrust-chart{
  width:160px;
  height:46px;
  margin-left:auto;
}

.mtrust-spark{
  width:100%;
  height:100%;
}

.mtrust-spark.strong{
  color:#0f8a4b;
}

.mtrust-spark.healthy{
  color:#2457c5;
}

.mtrust-spark.neutral{
  color:#a15c00;
}

.mtrust-spark.weak{
  color:#c81e1e;
}

.mtrust-delta{
  margin-top:10px;
  font-size:28px;
  line-height:1;
  font-weight:900;
}

.mtrust-delta.pos{
  color:#0f8a4b;
}

.mtrust-delta.neg{
  color:#c81e1e;
}

.mtrust-small{
  margin-top:5px;
  font-size:12px;
  color:#667085;
}

.mtrust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.mtrust-card{
  border:1px solid #e8edf3;
  border-radius:16px;
  padding:15px;
  background:#fff;
}

.mtrust-num{
  font-size:24px;
  line-height:1;
  font-weight:900;
  color:#0f172a;
}

.mtrust-num.pos{
  color:#0f8a4b;
}

.mtrust-num.neg{
  color:#c81e1e;
}

.mtrust-num.wait{
  color:#a15c00;
}

.mtrust-label{
  margin-top:6px;
  font-size:13px;
  color:#667085;
}

.mtrust-footer{
  margin-top:15px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.mtrust-footer div{
  border:1px solid #e8edf3;
  border-radius:999px;
  padding:8px 12px;
  background:#fff;
  font-size:13px;
  color:#667085;
}

.mtrust-footer b{
  margin-left:6px;
  color:#0f172a;
}

.mtrust-hint{
  margin-top:15px;
  padding:15px 16px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e8edf3;

  font-size:14px;
  line-height:1.5;
  color:#0f172a;
}

/* MOBILE */

@media (max-width:1100px){

  .fsig{
    overflow-x:auto;
  }

  .fsig-table{
    min-width:980px;
  }

}

@media (max-width:820px){

  .fsig{
    padding:18px;
    border-radius:20px;
  }

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

  .mtrust-main{
    flex-direction:column;
    align-items:flex-start;
  }

  .mtrust-right{
    text-align:left;
    width:100%;
  }

  .mtrust-chart{
    margin-left:0;
  }

  .mtrust-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .mtrust-score{
    font-size:38px;
  }

}

.fsig-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}

.fsig-meta span{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:#f3f6fb;
  border:1px solid #e4e9f2;

  font-size:11px;
  line-height:1;
  font-weight:700;
  color:#667085;
}

.fsig-mini-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:8px;
}

.mtrust-compact{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:18px;
  align-items:stretch;
  margin:14px 0 18px;
}

.mtrust-summary,
.mtrust-chartbox{
  border:1px solid #e8edf3;
  border-radius:20px;
  background:#f8fafc;
  padding:20px;
}

.mtrust-kv{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:16px;
}

.mtrust-kv div{
  background:#fff;
  border:1px solid #e8edf3;
  border-radius:14px;
  padding:10px;
}

.mtrust-kv span{
  display:block;
  font-size:11px;
  color:#667085;
}

.mtrust-kv b{
  display:block;
  margin-top:4px;
  font-size:13px;
  color:#0f172a;
}

.mtrust-kv b.pos{color:#0f8a4b;}
.mtrust-kv b.neg{color:#c81e1e;}

.mtrust-chart-title{
  font-size:13px;
  font-weight:800;
  color:#667085;
  margin-bottom:12px;
}

.mtrust-chartbox .mtrust-spark{
  width:100%;
  height:130px;
}

@media (max-width:820px){
  .mtrust-compact{
    grid-template-columns:1fr;
  }

  .mtrust-kv{
    grid-template-columns:1fr;
  }
}

.mtrust-gridline{
  stroke:#dbe3ee;
  stroke-width:1;
  opacity:.75;
}

.mtrust-chart-axis{
  display:flex;
  justify-content:space-between;
  margin-top:8px;
  font-size:11px;
  color:#667085;
}

/* =========================
   MOBILE: fresh signals cards
   ========================= */

@media (max-width:720px){

  .fsig{
    overflow:visible;
    padding:18px;
    border-radius:20px;
  }

  .fsig-table{
    display:block;
    width:100%;
    min-width:0;
    border-collapse:separate;
    border-spacing:0;
  }

  .fsig-table thead{
    display:none;
  }

  .fsig-table tbody{
    display:flex;
    gap:14px;
    width:100%;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:0 2px 10px;
  }

  .fsig-table tbody::-webkit-scrollbar{
    display:none;
  }

  .fsig-table tr{
    display:block;
    flex:0 0 95%;
    max-width:95%;
    min-width:0;
    scroll-snap-align:start;

    margin-bottom:0;
    border:1px solid #e8edf3;
    border-radius:18px;
    padding:14px;
    background:#fff;
  }
  
    .fsig-table{
    overflow:hidden;
  }

  .fsig-table td{
    display:block;
    width:100%;
    border:0 !important;
    padding:6px 0;
    background:transparent;
  }

  .fsig-table td:first-child,
  .fsig-table td:last-child{
    border-radius:0;
  }

  .fsig-paper{
    min-width:0;
    margin-bottom:8px;
  }

  .fsig-table td:nth-child(2){
    color:#667085;
    margin-bottom:6px;
  }

  .fsig-table td:nth-child(3),
  .fsig-table td:nth-child(4),
  .fsig-table td:nth-child(5){
    display:grid;
    grid-template-columns:auto 1fr;
    gap:10px;
    align-items:center;
    border-top:1px dashed #e5e9f0 !important;
    padding-top:8px;
  }

  .fsig-table td:nth-child(3)::before{
    content:"Target Δ";
    color:#667085;
    font-size:13px;
  }

  .fsig-table td:nth-child(4)::before{
    content:"Реакция";
    color:#667085;
    font-size:13px;
  }

  .fsig-table td:nth-child(5)::before{
    content:"vs SPY";
    color:#667085;
    font-size:13px;
  }

  .fsig-table td:nth-child(3) > *,
  .fsig-table td:nth-child(4) > *,
  .fsig-table td:nth-child(5) > *{
    justify-self:end;
    text-align:right;
  }

  .fsig-table td:last-child{
    margin-top:8px;
    padding-top:10px;
    border-top:1px solid #eef2f7 !important;
  }

  .fsig-hint{
    max-width:none;
  }
}
/* Цветной статус слева */
.fsig-table tr{
  position:relative;
  padding-left:16px;
}

.fsig-table tr::before{
  content:'';
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:4px;
  border-radius:4px;
  background:#e5e9f0;
}

/* сильный сигнал */
.fsig-table tr.fsig-strong::before{
  background:#16a34a;
}

/* слабый / негатив */
.fsig-table tr.fsig-weak::before{
  background:#dc2626;
}

/* средний */
.fsig-table tr.fsig-mid::before{
  background:#f59e0b;
}
.fsig-paper{
  position:relative;
  padding-right:86px !important;
}

.fsig-security-status{
  position:absolute;
  top:14px;
  right:10px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  min-width:72px;
}

.fsig-reco{
  font-size:11px;
  line-height:1;
  font-weight:900;
  color:#0f172a;
}

.fsig-pr{
  font-size:11px;
  color:#667085;
}

.fsig-last-price{
  font-size:12px;
  font-weight:900;
  color:#0f172a;
}

@media (max-width:720px){
  .fsig-paper{
    padding-right:92px !important;
  }
  }
  


.fsig-reco{
  font-size:11px;
  line-height:1;
  font-weight:900;
  padding:4px 8px;
  border-radius:999px;
  background:#eef2ff;
  color:#1d4ed8;
}

.fsig-reco-покупать{
  background:#e9f8ef;
  color:#0f8a4b;
}

.fsig-reco-держать{
  background:#eef6ff;
  color:#2457c5;
}

.fsig-reco-продавать,
.fsig-reco-избегать{
  background:#fff1f2;
  color:#c81e1e;
}

.fsig-pr,
.fsig-last-price{
  font-size:11px;
  font-weight:800;
  color:#64748b;
}

.fsig-last-price{
  color:#0f172a;
}

.fsig-date{
  margin-top:5px;
  font-size:11px;
  line-height:1.3;
  color:#94a3b8;
  font-weight:700;
}

.fsig-overheat-line{
  margin-top:6px;
  font-size:13px;
  font-weight:500;
}

.fsig-overheat-line.low{
  color:#15803d;   /* зеленый */
}

.fsig-overheat-line.medium{
  color:#b45309;   /* оранж */
}

.fsig-overheat-line.high{
  color:#b91c1c;   /* красный */
}

.fsig-bearish-line{
  margin-top:6px;
  font-size:13px;
  font-weight:700;
  color:#b91c1c;
}