.view-toggle,.calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.calendar-navigation h2{margin:0;text-align:center;font-size:1.2rem}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-soft)}
.calendar-weekday{padding:10px 8px;text-align:center;font-size:.76rem;font-weight:800;color:var(--ink-muted);background:var(--surface-soft);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.calendar-cell{min-width:0;min-height:112px;padding:7px;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.calendar-cell.outside-month{background:var(--surface-soft);color:var(--ink-muted)}
.calendar-date{display:block;margin:0 0 6px;font-size:.8rem;font-weight:800}
.calendar-event{display:block;margin:0 0 5px;padding:5px 6px;border-radius:8px;background:#e6eee9;color:#315744;font-size:.68rem;font-weight:800;line-height:1.35;text-decoration:none;overflow-wrap:anywhere}
.calendar-event.featured{background:#fff3d9;color:#67420a;border-left:3px solid #c98219}
.calendar-event span{font-weight:600}
@media(max-width:680px){.calendar-cell{min-height:88px;padding:5px 3px}.calendar-weekday{padding:8px 2px;font-size:.67rem}.calendar-event{padding:4px 3px;font-size:.58rem}.calendar-navigation{gap:5px}.calendar-navigation .button{padding:8px 9px;font-size:.72rem}.calendar-navigation h2{font-size:1rem}}
@media(max-width:420px){.calendar-cell{min-height:74px}.calendar-event span{display:none}}
