#calendar .calendar-head > div:first-child { display:flex; align-items:center; gap:18px; }
#calendar .calendar-archive-button { font-size:12px; min-height:34px; padding:6px 12px; white-space:nowrap; }
.calendar-archive-dialog { width:880px; max-width:calc(100vw - 32px); max-height:85vh; padding:0; border:1px solid var(--line); border-radius:14px; color:var(--text); background:var(--panel); }
.calendar-archive-dialog > header, .calendar-archive-dialog > footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; }
.calendar-archive-dialog > header { border-bottom:1px solid var(--line); }
.calendar-archive-dialog h3 { margin:0 0 6px; }
.calendar-archive-dialog p { margin:0; }
.calendar-archive-dialog > header p, .calendar-archive-dialog > footer p { color:var(--muted); font-size:13px; }
.calendar-archive-rows { overflow:auto; max-height:60vh; padding:16px 22px; display:grid; gap:14px; }
.calendar-archive-entry { border:1px solid var(--line); border-radius:11px; padding:16px; }
.calendar-archive-entry > header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; font-size:13px; }
.calendar-archive-entry time { color:var(--muted); }
.calendar-archive-entry .calendar-archive-caption { margin:14px 0; color:var(--text); white-space:pre-wrap; overflow-wrap:anywhere; }
.calendar-archive-destinations { display:grid; gap:8px; }
.calendar-archive-destinations > div { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--line); padding-top:8px; font-size:13px; }
.calendar-archive-destinations span { min-width:0; overflow-wrap:anywhere; }
.calendar-archive-destinations small { display:block; color:var(--muted); }
.calendar-archive-destinations a { color:inherit; white-space:nowrap; }
@media (max-width:600px) {
  #calendar .calendar-head > div:first-child { gap:10px; }
  .calendar-archive-dialog > header, .calendar-archive-dialog > footer, .calendar-archive-rows { padding:14px; }
}
