.meetings-page { max-width: 1280px; margin: 0 auto; padding: 48px 36px 80px; min-height: 65vh; }
.meetings-heading { margin-bottom: 36px; }
.meetings-heading h1 { margin: 0 0 14px; font-size: 3rem; line-height: 1.15; letter-spacing: 0; }
.meetings-heading > p:last-child { color: #58656b; margin: 0; }
.meeting-row { display: grid; grid-template-columns: 180px minmax(0, 1fr) 220px; gap: 28px; padding: 32px 0; border-top: 1px solid #d4dddf; }
.meeting-date { display: flex; flex-direction: column; gap: 10px; line-height: 1.5; }
.meeting-date time { font-weight: 700; color: #2e445b; }
.meeting-date span { font-size: 0.9375rem; color: #596b76; }
.meeting-content h2 { font-size: 1.5rem; line-height: 1.4; margin: 12px 0; letter-spacing: 0; overflow-wrap: anywhere; }
.meeting-content p { color: #536269; font-size: 1rem; line-height: 1.6; margin: 12px 0; }
.meeting-content .meeting-location { margin-bottom: 0; font-size: 0.875rem; }
.meeting-status { display: inline-flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 600; }
.meeting-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.meeting-status--planned { color: #285d83; }
.meeting-status--completed { color: #426052; }
.meeting-status--canceled { color: #a8433d; }
.meeting-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 4px; }
.meeting-actions > strong { font-size: 1.25rem; }
.meeting-actions .button { padding: 12px 16px; min-height: 48px; max-width: 100%; font-size: 0.9375rem; white-space: normal; text-align: center; border-radius: 8px; }
.meeting-registration { margin: 0; font-size: 0.9375rem; color: #66717b; line-height: 1.5; }
.meetings-empty { padding: 24px 0; border-top: 1px solid #d4dddf; }
.registration-back { padding: 18px 24px; background: #fff; color: #334f45; }
.registration-back a { text-underline-offset: 4px; font-size: 0.9375rem; }
@media (max-width: 900px) {
  .meeting-row { grid-template-columns: 150px minmax(0, 1fr); }
  .meeting-actions { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; }
}
@media (max-width: 600px) {
  .meetings-page { padding: 32px 20px 48px; }
  .meetings-heading h1 { font-size: 2.25rem; }
  .meeting-row { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 24px 0; }
  .meeting-date { flex-direction: row; flex-wrap: wrap; }
  .meeting-content h2 { font-size: 1.35rem; }
  .meeting-actions { grid-column: 1; }
}
