/* Route view - public timetable (extracted from inline <style> in route.html)
   Minimal model: only --background for backgrounds, borders only where needed,
   no border-bottom dividers, no --text-soft hover, accent --brand-color-mid, .25em radius
*/

.route-tabs {
  display: flex;
  gap: 1.25rem;
  margin-top: 1rem;
  background: var(--background);
  overflow-x: auto;
  scrollbar-width: none;
}
.route-tabs::-webkit-scrollbar { display: none; }
.route-tabs a {
  padding: .6rem 0;
  font-size: .85rem;
  font-weight: 500;
  text-decoration: none;
  color: var(--text-soft);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  background: transparent;
  white-space: nowrap;
}
.route-tabs a.active {
  border-color: var(--brand-color-mid);
  color: var(--text);
  background: transparent;
  border-radius: 0;
}
.route-tabs a:hover {
  color: var(--text);
  border-color: var(--brand-color-mid);
}

.tab-panel {
  padding: 1rem 0;
  background: var(--background);
}

/* date picker */
.bt-date-picker {  max-width: 100px;margin-top: -10px;width: 100%;}
.bt-date-picker select {
  padding: 7px 10px;
  border: 1px solid var(--brand-color-lighter);
  background: var(--background);
  color: var(--text);
  border-radius: .25em;
  font-size: .85rem;
  min-width: 312px;
}

/* create timetable action */
.route-create-action {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
  background: var(--background);
}
.route-create-btn {
  padding: .4em .7em;
  background: var(--brand-color-mid);
  color: var(--text);
  border: 1px solid var(--brand-color-mid);
  border-radius: .25em;
  text-decoration: none;
  font-size: .8rem;
  font-weight: 500;
}
.route-create-btn:hover { border-color: var(--brand-color-light); }

/* noscript fallback */
.noscript-go {
  margin-left: 6px;
  padding: 6px 10px;
  border-radius: .25em;
  border: 1px solid var(--brand-color-lighter);
  background: var(--background);
  color: var(--text);
  font-size: .8rem;
}

/* empty states */
.bt-empty {
  padding: 1rem 0;
  background: var(--background);
  color: var(--text-soft);
  font-size: .85rem;
}
.bt-empty-title { margin: 0; color: var(--text); font-weight: 500; }
.bt-empty-hint { margin: 6px 0 0; opacity: .6; color: var(--text-soft); }
.bt-date-picker--alt { margin-top: 10px; }

/* verified check */
.company-verified-check svg {
  display: block;
  width: .85em;
  height: .85em;
}

/* bustimes direction / toggle - keep minimal, no extra borders/backgrounds */
.bt-timetable-group { background: var(--background); }
.bt-direction-title { font-size: .95rem; font-weight: 600; margin: .75rem 0 .4rem; color: var(--text); }
.bt-toggle {
  display: flex; gap: .5rem; flex-wrap: wrap;
  margin-bottom: .5rem;
  background: var(--background);
}
.bt-toggle label {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: .78rem; font-weight: 500; cursor: pointer;
  padding: .3em .55em;
  border-radius: .25em;
  background: var(--background);
  color: var(--text-soft);
}
.bt-toggle label:has(input:checked) {
  color: var(--text);
}
.bt-toggle input { accent-color: var(--brand-color-mid); }
.bt-after-midnight { font-size: .75rem; color: var(--text-soft); margin: .4rem 0 0; }

/* highlighted trip column, linked from stop departures */
.timetable td.is-highlight {
  background: var(--brand-color-mid);
  color: var(--text);
}
/* dwell times - arrival stacked above departure in the same cell */
.timetable td.has-dwell {
  vertical-align: middle;
  line-height: 1.5;
}
.timetable td.has-dwell .dwell-arr,
.timetable td.has-dwell .dwell-dep {
  display: block;
  white-space: nowrap;
}
