/* Shared compact schedule fields; evidence stays in full quote details. */
.schedule-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
body #main li.schedule-row { box-sizing: border-box; margin: 0; padding: var(--space-1) 0 !important; border: 0; border-block-end: 1px solid var(--border) !important; border-radius: 0 !important; box-shadow: none !important; background: var(--bg) !important; min-inline-size: 0; max-width: none; max-inline-size: none; }
body #main li.schedule-row:hover { background: var(--surface) !important; }
.schedule-main { display: grid; grid-template-columns: 64px minmax(180px, 1fr) minmax(110px, 180px) 176px 56px 60px; align-items: center; gap: var(--space-2); min-inline-size: 0; }
.schedule-ticker { min-inline-size: 0; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
a.schedule-ticker { display: inline-flex; align-items: center; min-block-size: var(--touch-min); }
body #main .schedule-ticker { font-weight: var(--weight-medium) !important; }
.schedule-program { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; min-inline-size: 0; }
body #main .schedule-event { font-size: var(--font-small) !important; line-height: var(--line-body); color: var(--text-2); }
.schedule-event-label { display: block; }
body #main .schedule-event-note { display: block; font-size: var(--font-small) !important; line-height: var(--line-body); color: var(--text-2); white-space: normal; overflow-wrap: normal; }
.schedule-badge { min-inline-size: 0; }
body #main .schedule-review { max-inline-size: 100%; font-size: var(--font-small) !important; line-height: var(--line-body) !important; white-space: nowrap; }
body #main .schedule-review::before { content: none; }
body #main .schedule-review-legend { max-inline-size: none; margin-block: var(--space-2) var(--space-3); font-size: var(--font-small) !important; line-height: var(--line-body); color: var(--text-2); }
.schedule-source, .schedule-watch { display: inline-flex; align-items: center; justify-content: center; min-block-size: var(--touch-min); white-space: nowrap; }
body #main .schedule-source, body #main .schedule-watch { font-size: var(--font-small) !important; }
.schedule-quote { min-inline-size: 0; }
.schedule-facts { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-3); min-inline-size: 0; }
body #main .schedule-facts > p { min-inline-size: 0; max-inline-size: none; margin: 0 !important; font-size: var(--font-small) !important; line-height: var(--line-body) !important; color: var(--text-2); }
.schedule-facts .calendar-stage, .schedule-facts .calendar-size, .schedule-facts .schedule-period { flex: 1 1 auto; white-space: normal; overflow: visible; overflow-wrap: normal; }
.schedule-facts .calendar-size { white-space: nowrap; }
.schedule-period-date { display: inline-block; white-space: nowrap; }
.schedule-period-count { margin-inline-start: var(--space-2); }
body #main .schedule-period { margin: 0; font-size: var(--font-small) !important; line-height: var(--line-body) !important; color: var(--text-2); }
.schedule-quote > summary { display: flex; align-items: center; gap: var(--space-2); min-block-size: var(--touch-min); cursor: pointer; color: var(--text-2); list-style: none; }
.schedule-quote > summary::-webkit-details-marker { display: none; }
.schedule-excerpt-wrap { display: flex; align-items: baseline; gap: var(--space-1); min-inline-size: 0; }
body #main .schedule-excerpt-wrap, body #main .schedule-excerpt, body #main .schedule-expand { font-size: var(--font-small) !important; }
.schedule-excerpt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-inline-size: 0; }
.schedule-expand { margin-inline-start: auto; flex: none; }
.schedule-quote[open] > summary .schedule-expand { transform: rotate(180deg); }
/* 2026-10-19: the one-line SEC excerpt stays visible; "Details" at the end of the row opens the full quote and filing details. */
body #main .schedule-company { font-weight: var(--weight-medium) !important; }
.schedule-details-label { flex: none; margin-inline-start: auto; color: var(--accent); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.schedule-quote > summary .schedule-expand { margin-inline-start: 0; color: var(--accent); }
.schedule-quote-content { padding: var(--space-6); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-card); overflow-wrap: anywhere; }
.schedule-quote-content .calendar-facts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.schedule-quote-content .calendar-size time { white-space: nowrap; overflow-wrap: normal; }
.schedule-full-quote { margin: var(--space-3) 0; padding: 0; max-inline-size: var(--reading-width); }
body #main .schedule-quote-content .calendar-meta, body #main .schedule-quote-content .calendar-size, body #main .schedule-quote-content .calendar-result, body #main .schedule-quote-content .calendar-stage, body #main .schedule-quote-content .calendar-period { font-size: var(--font-small) !important; }
.schedule-detail-company { margin: 0 0 var(--space-3); }
@media (max-width: 1000px) and (min-width: 768px) {
  .schedule-main { grid-template-columns: 56px minmax(130px, 1fr) minmax(100px, 140px) 176px 52px 52px; }
}
@media (max-width: 767px) {
  body #main li.schedule-row { padding-block: 0 !important; }
  .schedule-main { grid-template-columns: 56px minmax(0, 1fr) 52px 52px; grid-template-areas: "ticker program source watch" "ticker event source watch" "badge badge badge badge"; column-gap: var(--space-2); row-gap: 0; }
  .schedule-ticker { grid-area: ticker; }
  .schedule-program { grid-area: program; }
  .schedule-event { grid-area: event; min-inline-size: 0; }
  .schedule-event-label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .schedule-source { grid-area: source; }
  .schedule-watch { grid-area: watch; }
  .schedule-badge { grid-area: badge; margin-block-start: 0; }
  /* Full review wording remains in the accessible name and the shared legend. */
  body #main .schedule-row .schedule-review { box-sizing: border-box; min-block-size: 24px; padding-block: 0; }
  .schedule-facts { column-gap: var(--space-2); }
  /* 2026-10-19: company and program each get one line; the review label and the stated date share one line.
     .schedule-main is a plain div, so display: contents only moves its fields into the row grid. */
  body #main li.schedule-row:not([hidden]) { display: grid; grid-template-columns: 56px auto minmax(0, 1fr) 52px 52px; grid-template-areas: "ticker program program source watch" "ticker event event source watch" "badge badge facts facts facts"; column-gap: var(--space-2); align-items: center; }
  li.schedule-row > * { grid-column: 1 / -1; }
  li.schedule-row > .schedule-main { display: contents; }
  li.schedule-row > .schedule-facts { grid-area: facts; }
  .schedule-program { white-space: normal; }
  .schedule-company, .schedule-program-name { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .schedule-sep { display: none; }
  .schedule-period-date, .schedule-period-count { white-space: nowrap; }
  .schedule-quote-content { padding: var(--space-6); }
}
