/* Shared live status panel; scoped to avoid changing timetable page styles. */
.line-status {
  margin: 0 0 24px;
  border: 1px solid #d8dce5;
  border-radius: 12px;
  background: #f8f9fc;
  color: #263650;
  overflow-wrap: anywhere;
}
.line-status-toggle {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 16px;
  padding: 14px 18px;
  cursor: pointer;
  list-style: none;
}
.line-status-toggle::-webkit-details-marker { display: none; }
.line-status-title { font-size: 0.875rem; line-height: 1.5; }
.line-status-summary { grid-column: 1; font-size: 1rem; line-height: 1.5; }
.line-status-toggle-label {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.line-status-collapse, .line-status[open] .line-status-expand { display: none; }
.line-status[open] .line-status-collapse { display: inline; }
.line-status-toggle:focus-visible, .line-status a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
  border-radius: 4px;
}
.line-status-body { padding: 0 18px 16px; }
.line-status-result p { margin: 0 0 10px; font-size: 0.95rem; line-height: 1.6; }
.line-status .line-status-meta { margin: 0 0 10px; font-size: 0.8rem; line-height: 1.5; color: inherit; }
.line-status a {
  display: inline-block;
  color: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  padding-block: 6px;
}
.line-status[data-tone="good"] { background: #f0faf5; border-color: #bddcc9; color: #20543a; }
.line-status[data-tone="warning"] { background: #fffbeb; border-color: #e9cd89; color: #714812; }
.line-status[data-tone="severe"] { background: #fff3f2; border-color: #edc0bd; color: #842d29; }
@media (max-width: 700px) {
  .line-status-toggle { padding: 12px 14px; gap: 4px 10px; }
  .line-status-body { padding: 0 14px 14px; }
}
