/* TrainLab — restrained departure register. Data first, no badges/cards or colored delays.
 * Loaded after legacy tracker styles and scoped exclusively to today's train list.
 */
body.trainlab-page .rail-tracker-main .today-board-columns,
body.trainlab-page .rail-tracker-main .today-train-list .today-train-row{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 85px 15px;
  column-gap:16px;
  align-items:center;
}
body.trainlab-page .rail-tracker-main .today-board-columns{
  padding:11px 3px 10px;
  border-top:1px solid var(--t-line);
  border-bottom:1px solid var(--t-line);
  color:#757d77;
  font:600 10px/1.5 "DM Sans",sans-serif;
  letter-spacing:.04em;
}
body.trainlab-page .rail-tracker-main .today-board-columns span:nth-child(3){
  text-align:right;
  white-space:nowrap;
}
body.trainlab-page .rail-tracker-main .today-train-list{
  border-top:0;
}
body.trainlab-page .rail-tracker-main .today-train-list .today-train-row{
  position:relative;
  grid-template-rows:1fr;
  row-gap:0;
  min-height:67px;
  max-height:76px;
  padding:10px 3px;
  border-bottom:1px solid var(--t-line);
  background:transparent;
  color:#1b211d;
  text-decoration:none;
  transition:background-color .12s ease;
}
body.trainlab-page .rail-tracker-main .today-train-list .today-train-row:hover{
  background:#f1f4f1;
}
body.trainlab-page .rail-tracker-main .today-train-list .today-train-row:focus-visible{
  outline:2px solid #252b27;
  outline-offset:-2px;
  background:#f1f4f1;
}
body.trainlab-page .rail-tracker-main .today-train-list .today-train-time{
  grid-column:1;
  grid-row:1;
  align-self:center;
  min-width:0;
  display:block;
}
body.trainlab-page .rail-tracker-main .today-train-list .today-train-time strong{
  display:block;
  margin:0;
  font:600 14px/1.3 "DM Sans",sans-serif;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.03em;
  white-space:nowrap;
}
body.trainlab-page .rail-tracker-main .today-train-list .today-train-main{
  grid-column:2;
  grid-row:1;
  align-self:center;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  overflow:hidden;
}
body.trainlab-page .rail-tracker-main .today-train-list .today-train-name{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#1b211d;
  font:600 13px/1.35 "DM Sans",sans-serif;
  letter-spacing:-.017em;
}
body.trainlab-page .rail-tracker-main .today-train-list .today-train-route{
  display:block;
  min-width:0;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#6c746f;
  font:400 11px/1.4 "DM Sans",sans-serif;
}
body.trainlab-page .rail-tracker-main .today-train-list .today-train-status{
  grid-column:3;
  grid-row:1;
  justify-self:stretch;
  align-self:center;
  display:block;
  width:100%;
  min-width:0;
  max-width:none;
  text-align:right;
}
body.trainlab-page .rail-tracker-main .today-train-list .today-train-status>strong{
  display:block;
  width:100%;
  max-width:none;
  color:#1b211d!important;
  text-align:right;
  font:600 13px/1.35 "DM Sans",sans-serif;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:normal;
  word-break:normal;
}
body.trainlab-page .rail-tracker-main .today-train-list .today-train-action{
  grid-column:4;
  grid-row:1;
  justify-self:end;
  align-self:center;
  display:block;
  width:auto;
  min-width:0;
  max-width:none;
  padding:0;
  margin:0;
  font:400 21px/1 "DM Sans",sans-serif;
  color:#878f89;
  white-space:nowrap;
}
body.trainlab-page .rail-tracker-main .today-train-list .today-train-row:hover .today-train-action,
body.trainlab-page .rail-tracker-main .today-train-list .today-train-row:focus-visible .today-train-action{
  color:#1b211d;
}
body.trainlab-page .rail-tracker-main .today-board-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:6px 14px;
  min-height:0;
  padding:14px 0 11px;
  border:0;
  color:#6c746f;
  font:400 11px/1.5 "DM Sans",sans-serif;
}
body.trainlab-page .rail-tracker-main .today-board-meta span:first-child{
  color:#1b211d;
  font:600 12px/1.45 "DM Sans",sans-serif;
  white-space:nowrap;
}
body.trainlab-page .rail-tracker-main .today-board-meta span:last-child{
  color:#6c746f;
  font-size:11px;
  min-width:0;
}
body.trainlab-page .rail-tracker-main .today-toolbar{
  gap:14px;
  align-items:center;
}
body.trainlab-page .rail-sort-label{
  gap:10px;
  color:#6c746f;
}
body.trainlab-page .rail-sort-label select{
  color:#1b211d;
  font-weight:600;
}
body.trainlab-page .today-load-more{
  border:0;
  background:transparent;
  color:#1b211d;
  font-weight:600;
  min-height:48px;
}
@media(max-width:760px){
  body.trainlab-page .rail-tracker-main .today-board-columns,
  body.trainlab-page .rail-tracker-main .today-train-list .today-train-row{
    grid-template-columns:55px minmax(0,1fr) 76px 13px;
    column-gap:10px;
  }
  body.trainlab-page .rail-tracker-main .today-train-list .today-train-row{
    min-height:64px;
    max-height:74px;
    grid-template-rows:1fr;
    row-gap:0;
    padding:10px 1px;
  }
  body.trainlab-page .rail-tracker-main .today-board-meta{padding-top:11px}
  body.trainlab-page .rail-tracker-main .today-train-list .today-train-name{font-size:12px}
  body.trainlab-page .rail-tracker-main .today-train-list .today-train-route{font-size:10.5px}
  body.trainlab-page .rail-tracker-main .today-train-list .today-train-status>strong{font-size:12px}
  body.trainlab-page .rail-tracker-main .today-train-list .today-train-time strong{font-size:13px}
}
@media(max-width:390px){
  body.trainlab-page .rail-tracker-main .today-board-columns,
  body.trainlab-page .rail-tracker-main .today-train-list .today-train-row{
    grid-template-columns:50px minmax(0,1fr) 68px 11px;
    column-gap:7px;
  }
  body.trainlab-page .rail-tracker-main .today-board-columns{font-size:9px;letter-spacing:0}
  body.trainlab-page .rail-tracker-main .today-train-list .today-train-name{font-size:11px}
  body.trainlab-page .rail-tracker-main .today-train-list .today-train-status>strong{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  body.trainlab-page .rail-tracker-main .today-train-list .today-train-row{transition:none}
}
