.rvlh-schedule, .rvlh-batches { margin: 1.5rem 0; color: var(--rv-text, #202B3C); }
.rvlh-sessions { margin: 0; padding: 0; list-style: none; display: grid; gap: .6rem; }
.rvlh-session { display: grid; grid-template-columns: 130px 1fr auto; align-items: center; gap: 1rem; padding: .8rem 1rem; background: #fff; border: 1px solid var(--rv-border, #DDE3EC); border-radius: 12px; }
.rvlh-session__when { display: flex; flex-direction: column; }
.rvlh-session__when span, .rvlh-session__what span { font-size: .875rem; color: var(--rv-muted, #667085); }
.rvlh-session__what { display: flex; flex-direction: column; }
.rvlh-session.is-cancelled { opacity: .7; }
.rvlh-session.is-cancelled .rvlh-session__what strong { text-decoration: line-through; }
.rvlh-tag { display: inline-block; padding: .25rem .7rem; font-size: .85rem; font-weight: 600; color: var(--rv-navy, #0B1F3B); background: var(--rv-blue-light, #EAF2FC); border-radius: 999px; }
@media (max-width: 600px) { .rvlh-session { grid-template-columns: 1fr; } }

.rvlh-batch-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
.rvlh-batch-card { padding: 1rem 1.1rem; background: #fff; border: 1px solid var(--rv-border, #DDE3EC); border-radius: 14px; }
.rvlh-batch-card h4 { margin: 0 0 .25rem; color: var(--rv-navy, #0B1F3B); }
.rvlh-batch-card__meta { margin: 0 0 .6rem; font-size: .875rem; color: var(--rv-muted, #667085); }
.rvlh-batch-card dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: .2rem .8rem; font-size: .9rem; }
.rvlh-batch-card dt { font-weight: 700; color: var(--rv-muted, #667085); }
.rvlh-batch-card dd { margin: 0; }
.rvlh-batch-card details { margin-top: .7rem; }
.rvlh-roster { margin: .4rem 0 0; padding-left: 1.2rem; max-height: 220px; overflow: auto; }
