/* Meetings */
.date-badge { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: var(--date-badge-w, 58px); height: 62px; flex-shrink: 0;
  border-radius: var(--radius-s); background: var(--primary); color: var(--on-primary); line-height: 1; box-shadow: 0 2px 6px rgb(0 0 0 / .12); }
.date-badge .d { font: 700 var(--text-2xl) var(--font-display); }
.date-badge .m { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: var(--tracking-caps); margin-top: var(--space-3xs); }
.meeting-row { --date-badge-w: 58px; display: flex; gap: var(--space-sm); align-items: flex-start; }
.meeting-row.is-cancelled { opacity: .7; }
.meeting-row.is-cancelled .date-badge { background: var(--muted); }
.meeting-info { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.meeting-info .icon { width: 15px; height: 15px; vertical-align: -3px; color: var(--muted); margin-right: 0; }
.meeting-cta { display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-xs); flex-shrink: 0; }
.meeting-cover img { width: 62px; height: 62px; object-fit: cover; border-radius: var(--radius-s); display: block; }
.meeting-photos figure { position: relative; }
.photo-del { position: absolute; top: 6px; right: 6px; margin: 0; }
.photo-del button { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; border: 0; background: rgb(0 0 0 / .55); color: var(--white); cursor: pointer; opacity: .8; }
.photo-del button:hover { opacity: 1; background: var(--color-danger); }
.photo-del .icon { width: 16px; height: 16px; }
@media (max-width: 560px) {
  .meeting-row { flex-wrap: wrap; }
  .meeting-cta { flex-direction: row; align-items: center; width: 100%; justify-content: flex-start; padding-left: calc(var(--date-badge-w) + var(--space-sm)); }
}
