body { background: #eee; color: #111; font: 16pt/1.35 Arial, sans-serif; margin: 0; }
a { color: #007; text-decoration: none; }
a:hover { color: #b0008b; }
.page { background: #fff; margin: 0 auto; max-width: 1120px; min-height: 100vh; padding: 24px 36px; }
.seminar-nav { display: grid; gap: 12px; grid-template-columns: repeat(4, 1fr); margin-bottom: 24px; text-align: center; }
.seminar-header { text-align: center; }
.seminar-header h1 { font-size: 1.6em; margin: 0 0 12px; }
.next-link { background: #eef6ff; border-left: 4px solid #3178c6; padding: 10px 14px; }
.meetings { border-collapse: collapse; margin-top: 24px; width: 100%; }
.meetings th { background: #ddd; text-align: left; }
.meetings th, .meetings td { border-bottom: 1px solid #ddd; padding: 14px; vertical-align: top; }
.meetings th:nth-child(1), .meetings td:nth-child(1) { width: 12%; }
.meetings th:nth-child(2), .meetings td:nth-child(2) { width: 28%; }
.shade { background: #f7f7f7; }
.next-meeting { box-shadow: inset 4px 0 0 #3178c6; }
.extra { font-size: .9em; margin-top: 4px; }
.abstract { border: 0; margin-top: 12px; padding: 0; }
details summary { color: #007; cursor: pointer; display: inline; }
details summary:hover { color: #b0008b; }
details summary::marker { color: #555; }
.history { font-size: .85em; margin: 32px auto; max-width: 760px; }
.history a { display: inline-block; margin: 0 6px 6px 0; }
.admin-form label { display: block; font-weight: bold; margin-top: 14px; }
.admin-form input, .admin-form textarea, .admin-form select { box-sizing: border-box; font: inherit; max-width: 100%; padding: 8px; width: 100%; }
.admin-form textarea { min-height: 120px; }
.admin-form .checkbox-label { align-items: center; display: flex; gap: 10px; }
.admin-form .checkbox-label input { width: auto; }
.inline-form { margin-top: 16px; }
.button { background: #005ea8; border: 0; color: #fff; cursor: pointer; display: inline-block; margin-top: 16px; padding: 10px 16px; }
.button.danger { background: #9d1c1c; }
@media (max-width: 760px) {
    body { font-size: 12pt; }
    .page { padding: 16px; }
    .seminar-nav { grid-template-columns: 1fr; }
    .meetings, .meetings thead, .meetings tbody, .meetings tr, .meetings th, .meetings td { display: block; width: auto !important; }
    .meetings thead { display: none; }
}
