.event-calendar-page { max-width: 1120px; }
.event-calendar-page .guide-hero { max-width: 880px; }
.event-calendar-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr); gap: 20px; align-items: start; }
.event-calendar-grid > * { min-width: 0; }
.event-calendar-panel { min-width: 0; margin-top: 18px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.event-calendar-panel h2 { margin-top: 0; }
.event-calendar-form { display: grid; gap: 14px; }
.event-calendar-form label { display: grid; gap: 6px; font-weight: 750; }
.event-calendar-form textarea { width: 100%; min-height: 150px; resize: vertical; font: .84rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.event-calendar-form .field-help { margin: 0; color: var(--muted); font-size: .9rem; }
.event-calendar-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.event-calendar-actions .button { flex: 1 1 150px; }
.event-calendar-status { min-height: 1.5em; margin: 0; color: var(--primary-dark); font-weight: 750; }
.event-calendar-status.is-error { color: #a33a2b; }
.event-calendar-output { display: grid; gap: 12px; margin-top: 16px; }
.event-calendar-output[hidden] { display: none; }
.event-calendar-output-card { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-muted); }
.event-calendar-output-card h3 { margin: 0 0 8px; font-size: 1rem; }
.event-calendar-output-card pre { max-height: 230px; margin: 0; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: .8rem/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; }
.event-calendar-fixture { overflow-x: auto; }
.event-calendar-fixture pre { min-width: 620px; margin: 0; }
.event-calendar-note { border-left: 4px solid #d97706; }
.event-calendar-note strong { color: #9a5200; }
.event-calendar-page .guide-list { padding-left: 1.25rem; }
@media (max-width: 800px) {
  .event-calendar-grid { grid-template-columns: 1fr; }
  .event-calendar-panel { padding: 16px; }
}
@media (max-width: 520px) {
  .event-calendar-actions .button { flex-basis: 100%; }
  .event-calendar-form textarea { min-height: 132px; }
}
