.cal{max-width:820px}
.cal-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.cal-filter button{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--text);font:600 13.5px/1 var(--f-body);cursor:pointer}
.cal-filter button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#f1f6dd}
.cal .cal-month{font-size:20px;margin:26px 0 10px}
.cal .cal-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cal .cal-row{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:4px 16px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);margin:0}
.cal .cal-row[hidden]{display:none}
.cal .cal-row time{font:700 14px/1.5 var(--f-body);color:var(--accent)}
.cal .cal-row b{color:var(--text)}
.cal .cal-row small{display:block;margin-top:4px;font-size:13px;line-height:1.6}
.cal .cal-row small a{font-weight:500}
.cal .cal-pending .cal-row{grid-template-columns:1fr}
.cal-tent{font-style:normal;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--chip);color:var(--accent);margin-left:6px}
.cal-past{margin:22px 0}
.cal-past summary{cursor:pointer;font-weight:700;padding:8px 0}
.cal-past .cal-row{opacity:.6}
@media(max-width:600px){.cal .cal-row{grid-template-columns:1fr}}
