.club-calendar-section { padding-top: 28px; padding-bottom: 28px; }
.club-calendar-layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(200px, 280px); gap: 32px; align-items: start; }
.club-calendar-main { min-width: 0; --fc-border-color: #dce2e0; --fc-button-bg-color: var(--primary, #236344); --fc-button-border-color: var(--primary, #236344); --fc-button-text-color: var(--on-primary, #fff); --fc-button-hover-bg-color: var(--primary-text, #263e34); --fc-button-hover-border-color: var(--primary-text, #263e34); --fc-button-active-bg-color: var(--primary-text, #263e34); --fc-today-bg-color: var(--primary-tint, #edf5f0); --fc-event-bg-color: var(--primary, #236344); --fc-event-border-color: var(--primary, #236344); --fc-event-text-color: var(--on-primary, #fff); }
.calendar-controls { display: flex; gap: 12px; margin-bottom: 12px; }
.calendar-controls label { flex: 1; min-width: 0; font-size: 13px; }
.calendar-controls label:last-child { flex: 0 0 120px; }
.calendar-controls select { width: 100%; min-width: 0; }
.club-calendar-main .fc { font-size: 12px; }
.club-calendar-main .fc-toolbar-title { font-size: 17px; letter-spacing: 0; }
.club-calendar-main .fc .fc-toolbar { gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.club-calendar-main .fc .fc-button { border-radius: 4px; padding: 5px 8px; font-size: 12px; }
.club-calendar-main .fc-event { cursor: pointer; }
.club-calendar-main .fc-event-title { overflow: hidden; text-overflow: ellipsis; }
.club-calendar-main [data-calendar-status] { min-height: 20px; margin: 4px 0 0; font-size: 13px; }
.calendar-subscriptions { display: flex; flex-direction: column; gap: 12px; padding-top: 4px; }
.calendar-subscriptions h3, .calendar-subscriptions p { margin: 0; }
.calendar-subscriptions label { font-size: 13px; min-width: 0; }
.calendar-subscriptions input { width: 100%; min-width: 0; font-size: 12px; }
.calendar-subscriptions .button { display: inline-flex; align-items: center; gap: 8px; justify-content: center; white-space: normal; font-size: 13px; }
.calendar-subscriptions img { width: 16px; height: 16px; }
.calendar-timezone { font-size: 12px; overflow-wrap: anywhere; }
.calendar-dialog { width: min(520px, calc(100% - 32px)); max-height: 80vh; overflow: auto; border: 1px solid #d4ddda; border-radius: 6px; padding: 24px; color: #1c2923; }
.calendar-dialog::backdrop { background: #14251b66; }
.calendar-dialog h2 { font-size: 22px; padding-right: 28px; margin-top: 0; overflow-wrap: anywhere; }
.calendar-dialog p { white-space: pre-wrap; overflow-wrap: anywhere; }
.calendar-close { position: absolute; top: 10px; right: 12px; width: 32px; height: 32px; border: 0; background: transparent; font-size: 26px; cursor: pointer; }
.calendar-agenda ul { list-style: none; padding: 0; }
.calendar-agenda li { padding: 12px 0; border-bottom: 1px solid #dce2e0; display: flex; flex-direction: column; gap: 4px; overflow-wrap: anywhere; }
.calendar-table { overflow-x: auto; }
[data-calendar-editor] { display: grid; gap: 14px; }
[data-calendar-editor] .field-row { margin: 0; }
[data-calendar-editor] [hidden] { display: none !important; }
@media (max-width: 760px) {
  .club-calendar-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .calendar-subscriptions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .calendar-subscriptions h3, .calendar-subscriptions > p, .calendar-subscriptions label { grid-column: 1 / -1; }
  .club-calendar-main .fc-toolbar-title { font-size: 15px; }
  .club-calendar-main .fc .fc-button { padding: 5px; }
  .club-calendar-main .fc-dayGridMonth-view .fc-event-time { display: none; }
}
