/*
 * modern-results.css — Running status cards, availability badges, PNR result, status pills
 */

/* === RUNNING STATUS HEADER CARD === */
.rs-header {
  background: linear-gradient(135deg, var(--re-primary) 0%, var(--re-primary-hover) 100%) !important;
  border-radius: var(--re-radius-lg) !important;
  padding: 20px !important;
  color: #fff !important;
  box-shadow: var(--re-shadow-md) !important;
}
.rs-train-no { font-family: var(--re-font-mono) !important; font-size: 22px !important; font-weight: 700 !important; }
.rs-train-name { font-family: var(--re-font) !important; font-size: 13px !important; color: rgba(255,255,255,0.82) !important; margin-top: 4px !important; }
.rs-route { font-family: var(--re-font) !important; font-size: 15px !important; font-weight: 700 !important; }
.rs-startdate { font-family: var(--re-font) !important; font-size: 12px !important; color: rgba(255,255,255,0.70) !important; margin-top: 4px !important; }

/* Delay pills */
.rs-total-delay.late {
  background: rgba(220,38,38,0.18) !important;
  color: #fca5a5 !important;
  border: 1px solid rgba(220,38,38,0.30) !important;
  border-radius: 20px !important;
  font-family: var(--re-font) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 5px 14px !important;
}
.rs-total-delay.ontime {
  background: rgba(26,158,110,0.18) !important;
  color: #86efac !important;
  border: 1px solid rgba(26,158,110,0.30) !important;
  border-radius: 20px !important;
  font-family: var(--re-font) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 5px 14px !important;
}

/* Status text */
.rs-rstatus {
  font-family: var(--re-font) !important;
  font-size: 11.5px !important;
  color: rgba(255,255,255,0.65) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin-top: 6px !important;
}

/* Controls bar */
.rs-controls {
  background: var(--re-surface) !important;
  border: 1px solid var(--re-border) !important;
  border-radius: var(--re-radius-md) !important;
  padding: 10px 16px !important;
  font-family: var(--re-font) !important;
  font-size: 12.5px !important;
}

/* Station row states */
.rs-row-passed { background: rgba(30,58,95,0.04) !important; }
.rs-row-current {
  background: rgba(244,128,26,0.07) !important;
  border-left: 3px solid var(--re-accent) !important;
}
.rs-row-ahead { }

/* Station dot indicator */
.rs-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}
.rs-dot.passed  { background: var(--re-border-strong); }
.rs-dot.current { background: var(--re-accent); box-shadow: 0 0 0 3px rgba(244,128,26,0.25); }
.rs-dot.ahead   { background: var(--re-primary); }

/* Delay minute badge in station table */
.delay-pill {
  font-family: var(--re-font-mono) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  border-radius: 12px !important;
  display: inline-block;
}
.delay-pill.late  { background: var(--re-warning-bg) !important; color: var(--re-warning) !important; }
.delay-pill.early { background: var(--re-success-bg) !important; color: var(--re-success) !important; }

/* === AVAILABILITY STATUS BADGES === */
.avail-badge,
td[class*="avl"], td.avl,
td[class*="AVL"] {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--re-radius-sm);
  font-family: var(--re-font-mono) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap;
}

/* Green for AVL */
.getavstatusclass-avl,
td.text-success,
span.text-success {
  color: var(--re-success) !important;
  font-weight: 700 !important;
}

/* Amber for RAC */
.getavstatusclass-rac,
td.text-warning,
span.text-warning {
  color: var(--re-warning) !important;
  font-weight: 700 !important;
}

/* Red for WL */
.getavstatusclass-wl,
td.text-danger,
span.text-danger {
  color: var(--re-danger) !important;
  font-weight: 700 !important;
}

/* Grey for NA/Regret */
.getavstatusclass-na,
.getavstatusclass-dep,
td.text-muted,
span.text-muted {
  color: var(--re-text-muted) !important;
}

/* Prediction spinner area */
#predictionresult .progress {
  border-radius: var(--re-radius-sm) !important;
  height: 8px !important;
  background: var(--re-border) !important;
}
#predictionresult .progress-bar {
  background: linear-gradient(90deg, var(--re-primary), var(--re-accent)) !important;
  border-radius: var(--re-radius-sm) !important;
  transition: width 0.5s ease !important;
}

/* === PNR RESULT CARD === */
.pnr-result-card {
  background: var(--re-card);
  border: 1px solid var(--re-border);
  border-radius: var(--re-radius-lg);
  overflow: hidden;
  box-shadow: var(--re-shadow-sm);
}
.pnr-train-header {
  background: linear-gradient(135deg, var(--re-primary) 0%, var(--re-primary-hover) 100%);
  padding: 16px 20px;
  color: #fff;
}
.pnr-train-header .train-no {
  font-family: var(--re-font-mono);
  font-size: 20px;
  font-weight: 700;
}
.pnr-train-header .train-name {
  font-family: var(--re-font);
  font-size: 13px;
  color: rgba(255,255,255,0.80);
  margin-top: 3px;
}

/* === TRAIN SCHEDULE TABLE (train info page) === */
.train-schedule-table { font-family: var(--re-font) !important; }
.train-schedule-table tr.origin td,
.train-schedule-table tr.destination td {
  font-weight: 700 !important;
  background: rgba(30,58,95,0.04) !important;
}
.train-schedule-table tr.origin td:first-child    { border-left: 4px solid var(--re-success) !important; }
.train-schedule-table tr.destination td:first-child { border-left: 4px solid var(--re-danger) !important; }
.train-schedule-table .time-cell {
  font-family: var(--re-font-mono) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--re-primary) !important;
  white-space: nowrap !important;
}

/* === STATUS BADGE (On Time / Late / Cancelled) === */
.status-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-family: var(--re-font) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}
.status-badge.on-time  { background: var(--re-success-bg); color: var(--re-success); }
.status-badge.delayed  { background: var(--re-warning-bg); color: var(--re-warning); }
.status-badge.cancelled { background: var(--re-danger-bg); color: var(--re-danger); }
