/* Единый стиль карточных таблиц */
.nt-table{
  width:100%;
  border-collapse:collapse;
  font-size:16px;
  line-height:1.45;
  margin:20px 0;
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.nt-table thead th{
  background:#f7f8fa;
  text-align:left;
  font-weight:600;
  padding:14px 16px;
  border-bottom:1px solid #e7e9ee;
  color:#111;
}
.nt-table td{
  padding:14px 16px;
  border-bottom:1px solid #f0f2f6;
  color:#1a1a1a;
}
.nt-table tbody tr:last-child td{border-bottom:none;}
.nt-table tbody tr:nth-child(odd){background:#fcfdfe;}
.nt-table tbody tr:hover{background:#f4f7ff;}

/* Мобилки: превращаем строки в карточки */
@media (max-width:768px){
  .nt-table{box-shadow:none;border-radius:0;overflow:visible;}
  .nt-table thead{display:none;}
  .nt-table,.nt-table tbody{display:block;width:100%;}
  .nt-table tr{
    display:block;
    margin:12px 0;
    border:1px solid #e9ecf3;
    border-radius:12px;
    background:#fff;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
    overflow:hidden; /* держим скругления */
  }
  .nt-table td{
    display:grid;
    grid-template-columns:minmax(108px,42%) 1fr;
    gap:6px 10px;
    padding:12px 14px;
    border:0;
    border-bottom:1px solid #f0f2f6;
    color:#1a1a1a;
    word-break:break-word;
    overflow-wrap:anywhere;
    hyphens:auto;
    max-width:100%;
    min-width:0; /* не распираем grid */
    box-sizing:border-box;
  }
  .nt-table td:last-child{border-bottom:none;}
  .nt-table td::before{
    content:attr(data-label);
    font-weight:600;
    color:#444;
    white-space:normal;
    min-width:0;
  }
  .nt-table td *, .nt-table td::before{max-width:100%;box-sizing:border-box;}
}

/* Очень узкие экраны */
@media (max-width:360px){
  .nt-table td{
    grid-template-columns:minmax(96px,46%) 1fr;
    padding:10px 12px;
    font-size:15px;
  }
}
