/* Meetings: the list and the live runner (pages/meetings.js, meeting.js, meeting-sections.js). */
.live-meeting { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-left: 4px solid var(--brand); }
.meeting-head .here { display: flex; gap: .3rem; flex-wrap: wrap; }
.meeting-head .here .chip { background: var(--brand); color: var(--on-brand); font-weight: 600; }

.meeting-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 1rem; align-items: start; }
.agenda-card { position: sticky; top: 64px; padding: .5rem; }
ol.agenda { list-style: none; margin: 0; padding: 0; }
.agenda-btn { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; width: 100%; text-align: left;
  font: inherit; color: var(--text); background: transparent; border: 0; border-radius: 6px; padding: .5rem .6rem; cursor: pointer; }
.agenda-btn:disabled { cursor: default; color: var(--text); }
.agenda-btn:not(:disabled):hover { background: var(--surface-2); }
.agenda-item.current .agenda-btn { background: var(--brand); color: var(--on-brand); font-weight: 600; }
.agenda-item.current .agenda-min { color: var(--on-brand); }
.agenda-item.done .agenda-title { color: var(--muted); }
.agenda-min .warn { color: var(--warn-text); font-weight: 700; }
.agenda-min .over { color: var(--danger); font-weight: 700; }
.agenda-item.current .agenda-min .warn, .agenda-item.current .agenda-min .over { background: var(--surface); padding: 0 .3rem; border-radius: 4px; }

.meeting-main .section h2 { font-size: 1.25rem; margin-bottom: .6rem; }
.notes-card { padding: .75rem 1rem; }
.notes-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: .35rem; }
.notes-head .label { font-size: .82rem; font-weight: 600; color: var(--muted); }
textarea.section-notes { width: 100%; min-height: 110px; resize: vertical; }
.meeting-controls { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; flex-wrap: wrap; }
.prewrap { white-space: pre-wrap; }

/* scorecard section */
.meeting-scorecard td.ok { background: var(--ok-bg); color: var(--ok-text); }
.meeting-scorecard td.bad { background: var(--danger-bg); color: var(--danger); font-weight: 600; }
.meeting-scorecard .last { box-shadow: inset 0 -2px 0 var(--brand); }
.meeting-scorecard tr.off th { color: var(--danger); }

/* headlines, to-dos, IDS */
.headline-list li, .ids-list li { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem;
  padding: .55rem 0; border-bottom: 1px solid var(--line); }
.headline.gone { opacity: .45; }
.todo-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .75rem 1.25rem; }
.todo-person h3 { text-transform: none; letter-spacing: 0; font-size: .95rem; color: var(--text); margin-top: 0; }
.todo { padding: .2rem 0; }
.ids-issue { align-items: center; }
.ids-issue .ids-text { flex: 1; min-width: 0; }
.ids-issue.ranked { background: var(--ok-bg); border-radius: 6px; padding-left: .4rem; padding-right: .4rem; }
select.rank { width: 64px; }
table.ratings { max-width: 420px; }
.summary h3 { margin-top: .6rem; }

@media (max-width: 760px) {
  .meeting-layout { grid-template-columns: 1fr; }
  .agenda-card { position: static; }
  ol.agenda { display: flex; overflow-x: auto; gap: .25rem; }
  .agenda-btn { white-space: nowrap; }
  .headline-list li, .ids-list li { flex-wrap: wrap; }
}
@media print { .meeting-controls, .agenda-card, .notes-card textarea { display: none; } }
.section tbody th { text-transform: none; letter-spacing: 0; font-size: inherit; color: var(--text); white-space: normal; font-weight: 600; }
.meeting-scorecard td.num { white-space: nowrap; }
.recap .recap-line { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; } .recap .recap-line .chips { margin-left: auto; }
