/*
 * modern-tables.css — Shared table styles for all result tables
 */

/* === BASE TABLE === */
.table {
  font-family: var(--re-font) !important;
  font-size: 13.5px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
}

/* Table head */
.table thead tr,
.table > thead > tr:first-child {
  background: linear-gradient(135deg, var(--re-primary) 0%, var(--re-primary-hover) 100%) !important;
}
.table thead tr td,
.table thead tr th,
.table > thead > tr > th {
  color: rgba(255,255,255,0.90) !important;
  font-family: var(--re-font) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.7px !important;
  padding: 12px 12px !important;
  border: none !important;
  white-space: nowrap;
  background: transparent !important;
}

/* Table body */
.table tbody tr {
  transition: background var(--re-transition-fast) !important;
  border-bottom: 1px solid var(--re-border);
}
.table tbody tr:nth-child(even) { background: #f7f9fc !important; }
.table tbody tr:hover { background: rgba(30,58,95,0.04) !important; }
.table tbody tr:last-child td { border-bottom: none !important; }

.table tbody td,
.table > tbody > tr > td {
  font-family: var(--re-font) !important;
  font-size: 13.5px !important;
  padding: 10px 12px !important;
  border-top: 1px solid var(--re-border) !important;
  color: var(--re-text-primary) !important;
  vertical-align: middle !important;
}
.table tbody td a {
  color: var(--re-primary) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color var(--re-transition-fast) !important;
}
.table tbody td a:hover { color: var(--re-accent) !important; }

/* Table container — card wrapper */
.table-responsive,
.block .table-responsive,
.widget-main .table-responsive {
  border-radius: 0 0 var(--re-radius-lg) var(--re-radius-lg) !important;
  overflow: hidden !important;
}

/* Warning rows */
.table-striped tbody tr.warning,
.table tbody tr.warning {
  background: rgba(217,119,6,0.06) !important;
}
.table tbody tr.success { background: rgba(26,158,110,0.06) !important; }
.table tbody tr.danger  { background: rgba(220,38,38,0.06)  !important; }

/* === TRAIN NUMBER cell — monospace === */
.table .train-no,
.table td:first-child,
.table td.td-trainno {
  font-family: var(--re-font-mono) !important;
  font-weight: 600 !important;
  color: var(--re-primary) !important;
}

/* === NO-CLASS cells — clearly visible muted dash === */
.td-noclass {
  color: var(--re-text-muted) !important;   /* #718096 — readable on white */
  font-size: 14px !important;
  text-align: center !important;
  font-weight: 400 !important;
}

/* === DAY DOTS (runs/doesn't run) === */
.day-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  vertical-align: middle;
}
.day-dot.day-on  { background: var(--re-success); }
.day-dot.day-off { background: var(--re-border); }

/* === DATATABLES overrides === */
.dataTables_wrapper .dataTables_filter input {
  font-family: var(--re-font) !important;
  border: 1.5px solid var(--re-border) !important;
  border-radius: var(--re-radius-sm) !important;
  padding: 5px 10px !important;
  color: var(--re-text-primary) !important;
}
.dataTables_wrapper .dataTables_length select {
  font-family: var(--re-font) !important;
  border: 1.5px solid var(--re-border) !important;
  border-radius: var(--re-radius-sm) !important;
  padding: 4px 8px !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  border-radius: var(--re-radius-sm) !important;
  font-family: var(--re-font) !important;
  font-size: 12.5px !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: var(--re-primary) !important;
  color: #fff !important;
  border-color: var(--re-primary) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: var(--re-surface) !important;
  border-color: var(--re-border) !important;
  color: var(--re-primary) !important;
}

/* === TRAIN CLASS LINKS in availability row === */
.table tbody td a[id$="1A"],
.table tbody td a[id$="2A"],
.table tbody td a[id$="3A"],
.table tbody td a[id$="SL"],
.table tbody td a[id$="CC"],
.table tbody td a[id$="2S"],
.table tbody td a[id$="3E"],
.table tbody td a[id$="FC"] {
  display: inline-block !important;
  padding: 2px 7px !important;
  border-radius: var(--re-radius-xs) !important;
  background: rgba(30,58,95,0.08) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--re-primary) !important;
  border: 1px solid rgba(30,58,95,0.15) !important;
  font-family: var(--re-font-mono) !important;
  transition: background var(--re-transition-fast), color var(--re-transition-fast) !important;
}
.table tbody td a[id$="1A"]:hover,
.table tbody td a[id$="2A"]:hover,
.table tbody td a[id$="3A"]:hover,
.table tbody td a[id$="SL"]:hover,
.table tbody td a[id$="CC"]:hover,
.table tbody td a[id$="2S"]:hover,
.table tbody td a[id$="3E"]:hover,
.table tbody td a[id$="FC"]:hover {
  background: var(--re-primary) !important;
  color: #fff !important;
  border-color: var(--re-primary) !important;
}

/* === RESPONSIVE === */
@media (max-width: 767px) {
  .table thead tr th, .table tbody td { padding: 8px 8px !important; font-size: 12.5px !important; }
  .table thead tr th { font-size: 10.5px !important; }
}
