/* switchbacks: small additions on top of Bootstrap 5 */

details > summary { cursor: pointer; list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] > summary { display: none; }

.table td { vertical-align: top; }

/* Roadbook: dense on paper, readable on a phone screenshot */
.roadbook .rb-table { font-size: 0.85rem; }
.roadbook .rb-table th { white-space: nowrap; }
.rb-card { break-inside: avoid; }

@media (max-width: 576px) {
  .roadbook .rb-table { font-size: 0.95rem; }
  .roadbook .rb-day { margin-bottom: 1.5rem; }
}

@media print {
  .no-print { display: none !important; }
  main.container { max-width: none; padding: 0; }
  body { font-size: 10pt; }
  .rb-day { break-inside: avoid-page; }
  .table-warning, .table-warning > td { background: #f3f3f3 !important; }
  a[href] { color: inherit; text-decoration: none; }
}

/* Track drawings: plain SVG, no map tiles */
.trk-map { width: 100%; max-height: 60vh; background: var(--bs-tertiary-bg); border-radius: .375rem; }
.trk-line { fill: none; stroke: var(--bs-primary); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.trk-start { fill: var(--bs-success); }
.trk-end { fill: var(--bs-danger); }
.trk-profile { width: 100%; height: auto; }
.trk-profile .area { fill: var(--bs-secondary-bg); }
.trk-profile .line { fill: none; stroke: var(--bs-secondary-color); stroke-width: 1.5; }
