/* Trainer card: full-width credentials row and accessible return navigation. */
.trainer-profile-page .trainer-hero > .trainer-profile-credentials {
 grid-column:1 / -1; justify-self:stretch; width:100%; min-width:0; box-sizing:border-box;
 margin:16px 0 0; padding:18px 20px; border:1px solid #e3eaf3; border-radius:12px;
 background:#f7f9fc; color:#173349;
}
.trainer-profile-page .trainer-profile-credentials h2 {margin:0 0 14px;font-size:15px;font-weight:700;line-height:1.4;word-break:normal;overflow-wrap:normal;}
.trainer-profile-page .trainer-profile-credentials dl {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin:0;max-width:640px;}
.trainer-profile-page .trainer-profile-credentials dl > div {min-width:0;margin:0;padding:0;}
.trainer-profile-page .trainer-profile-credentials dt {margin:0 0 5px;font-size:12px;line-height:1.4;font-weight:600;color:#65738b;}
.trainer-profile-page .trainer-profile-credentials dd {margin:0;font-size:16px;line-height:1.5;font-weight:600;font-variant-numeric:tabular-nums;word-break:normal;overflow-wrap:anywhere;}
.trainer-profile-page > .card-header {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.trainer-card-back {display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-left:auto;padding:9px 13px;min-height:44px;border:1px solid #dbe5f2;border-radius:9px;background:#fff;color:#2264ce;font-size:13px;font-weight:600;text-decoration:none;line-height:1.4;}
.trainer-card-back:hover {background:#edf4ff;text-decoration:none;}
.trainer-card-back:focus-visible {outline:3px solid #7eafff;outline-offset:2px;}
@media(max-width:600px) {
 .trainer-profile-page .trainer-hero {display:flex;flex-direction:column;align-items:stretch;min-width:0;}
 .trainer-profile-page .trainer-hero-top {display:flex;flex-direction:column;align-items:stretch;gap:14px;min-width:0;}
 .trainer-profile-page .trainer-hero-actions {display:flex;flex-wrap:wrap;gap:8px;}
 .trainer-profile-page .trainer-hero-settings {max-width:100%;flex-wrap:wrap;}
 .trainer-profile-page .trainer-hero > .trainer-profile-credentials {padding:16px;margin-top:14px;}
 .trainer-profile-page .trainer-profile-credentials dl {grid-template-columns:1fr;gap:14px;}
 .trainer-profile-page .trainer-hero h1 {overflow-wrap:anywhere;}
 .trainer-profile-page > .card-header {gap:6px;font-size:13px;}
 .trainer-card-back {font-size:12px;padding:8px 10px;}
}

.trainer-profile-page .trainer-profile-credentials dd {display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;}
.trainer-credential-value {min-width:0;overflow-wrap:anywhere;}
.trainer-credential-copy {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#2264ce;font-family:inherit;font-size:12px;font-weight:600;line-height:1.4;cursor:pointer;white-space:nowrap;}
.trainer-credential-copy:hover {background:#edf4ff;}
.trainer-credential-copy:focus-visible {outline:3px solid #7eafff;outline-offset:2px;}
.trainer-copy-status {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}

.trainer-profile-page .trainer-profile-cabinet {grid-column:1 / -1;width:100%;margin:14px 0 0;}
.trainer-profile-cabinet-button {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:1px solid #1764ef;border-radius:9px;background:#1764ef;color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;}
.trainer-profile-cabinet-button:hover {background:#0e51d4;}
.trainer-profile-cabinet-button:focus-visible {outline:3px solid #7eafff;outline-offset:3px;}
@media(max-width:600px){.trainer-profile-cabinet-button{width:100%;}.trainer-credential-copy{font-size:11px;padding:8px;}}

/* Keep both credential actions aligned regardless of value length. */
.trainer-profile-page .trainer-profile-credentials dd {display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start;}
.trainer-profile-page .trainer-profile-credentials .trainer-credential-copy {width:100%;min-height:44px;box-sizing:border-box;}
.trainer-profile-page .trainer-profile-credentials dl {align-items:start;}
.trainer-profile-page .trainer-profile-credentials .trainer-credential-value {display:block;min-width:0;}
@media(max-width:600px){
 .trainer-profile-page .trainer-profile-credentials dl {gap:20px;}
 .trainer-profile-page .trainer-profile-credentials dt {margin-bottom:6px;}
 .trainer-profile-page .trainer-profile-credentials .trainer-credential-copy {font-size:12px;}
}

/* Approved trainer directory: gray cards, centered identities, black cabinet CTA. */
.trainers-analytics-section .trainers-analytics-title { color: #17191b; }
.trainers-analytics-section .trainers-analytics-card {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#wrapper #content-wrapper .trainers-analytics-card > .card-body {
  padding: 0 !important;
}
.trainers-analytics-section .trainers-add-button {
  background: #17191b !important;
  border-color: #17191b !important;
  color: #fff !important;
  border-radius: 14px;
}
#trainersTable_wrapper .dataTables_filter input {
  background: #f0f1f2;
  border-color: transparent;
  border-radius: 14px;
  color: #17191b;
}
#trainersTable_wrapper #trainersTable.table.dataTable tbody {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px;
}
#trainersTable_wrapper #trainersTable.table.dataTable tbody tr,
#trainersTable_wrapper #trainersTable.table.dataTable tbody tr:hover {
  min-height: 254px !important;
  padding: 24px 20px 20px !important;
  background: #f0f1f2 !important;
  border: 0 !important;
  border-radius: 26px;
  box-shadow: none !important;
}
#trainersTable_wrapper #trainersTable .trainer-identity { gap: 17px; }
#trainersTable_wrapper #trainersTable.table.dataTable .trainer-avatar {
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
  flex: 0 0 76px !important;
  border: 0;
  background: #e1e4e7;
  color: #626970;
}
#trainersTable_wrapper #trainersTable .trainer-main-link,
#trainersTable_wrapper #trainersTable .trainer-person-primary,
#trainersTable_wrapper #trainersTable .trainer-person-last {
  color: #17191b !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.3;
  text-decoration: none;
}
#trainersTable_wrapper #trainersTable .trainer-person-middle,
#trainersTable_wrapper #trainersTable .trainer-person-first,
#trainersTable_wrapper #trainersTable .trainer-person-patronymic {
  color: #73787e !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45;
}
#trainersTable_wrapper #trainersTable .trainer-person-middle { margin-top: 5px; }
#trainersTable_wrapper #trainersTable .trainer-cabinet-cell { padding-top: 22px !important; }
#trainersTable_wrapper #trainersTable .trainer-cabinet-launch {
  min-height: 44px !important;
  padding: 12px 14px !important;
  gap: 9px !important;
  border: 0 !important;
  border-radius: 13px;
  background: #17191b !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600;
  box-shadow: none !important;
}
#trainersTable_wrapper #trainersTable .trainer-cabinet-launch:hover {
  background: #303337 !important;
  color: #fff !important;
}
#trainersTable_wrapper #trainersTable .trainer-cabinet-launch::before {
  order: 2;
  width: 16px;
  height: 16px;
}
#trainersTable_wrapper #trainersTable .trainer-avatar-profile-link { cursor: pointer; }
#trainersTable_wrapper #trainersTable .trainer-avatar-profile-link:focus-visible,
#trainersTable_wrapper #trainersTable .trainer-main-link:focus-visible,
#trainersTable_wrapper #trainersTable .trainer-cabinet-launch:focus-visible {
  outline: 2px solid #17191b;
  outline-offset: 4px;
}
#trainersTable_wrapper #trainersTable tbody tr:has(.dataTables_empty) {
  grid-column: 1 / -1;
  min-height: 100px !important;
  justify-content: center;
}
@media (max-width: 820px) {
  #trainersTable_wrapper #trainersTable.table.dataTable tbody {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }
  #trainersTable_wrapper #trainersTable.table.dataTable tbody tr {
    padding: 22px 16px 18px !important;
  }
}
@media (max-width: 480px) {
  #trainersTable_wrapper #trainersTable.table.dataTable tbody {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #trainersTable_wrapper #trainersTable.table.dataTable tbody tr {
    min-height: 240px !important;
    padding: 22px 16px 18px !important;
  }
}

/* Remove the floating tutorial launcher from the trainer directory. */
body#page-top:has(#trainersTable) > button.city-tour-help { display: none !important; }
