/* Compact overview; full rider/horse pairings remain visible to authorized staff. */
.bnb-wrap .bnb-week-card {padding:16px;}
.bnb-wrap .bnb-week-heading {margin-bottom:10px; gap:12px;}
.bnb-wrap .bnb-week-heading h3 {font-size:23px; margin:0 0 3px;}
.bnb-wrap .bnb-week-heading p {margin:0; font-size:12px;}
.bnb-wrap .bnb-calendar-controls {gap:8px; margin-bottom:12px;}
.bnb-wrap .bnb-calendar-controls .bnb-button,.bnb-wrap .bnb-calendar-views a {min-height:36px; padding:8px 10px;}
.bnb-wrap .bnb-week-nav a {min-height:36px; min-width:36px; padding:7px 10px;}
.bnb-wrap .bnb-week-scroll {max-height:72vh; overflow:auto; overscroll-behavior:contain; padding:0 0 6px; scrollbar-gutter:stable;}
.bnb-wrap .bnb-week-grid {gap:7px; min-width:1000px;}
.bnb-wrap .bnb-week-day {padding:7px; min-width:0;}
.bnb-wrap .bnb-week-day > h4 {position:sticky; top:0; z-index:3; background:#fffefa; margin:-7px -7px 7px; padding:10px 7px; border-bottom:1px solid #e0e7dc; border-radius:8px 8px 0 0;}
.bnb-wrap .bnb-week-day.bnb-today > h4 {background:#eef5e9;}
.bnb-wrap .bnb-week-event {padding:8px; gap:4px; margin-bottom:6px;}
.bnb-wrap .bnb-week-event .bnb-card-rider {display:block; overflow:visible; -webkit-line-clamp:unset; font-size:13px; line-height:1.35; overflow-wrap:anywhere;}
.bnb-wrap .bnb-week-event small {font-size:11px; line-height:1.4;}
.bnb-wrap .bnb-card-roster {display:grid; gap:5px; margin:3px 0!important; padding:0!important; list-style:none!important;}
.bnb-wrap .bnb-card-roster li {font-size:12px; line-height:1.4; margin:0; padding:0; overflow-wrap:anywhere;}
.bnb-wrap .bnb-card-roster li > span:first-child {font-weight:650;}
.bnb-wrap .bnb-card-meta {display:flex!important; align-items:center; gap:4px 8px; flex-wrap:wrap; margin-top:3px;}
.bnb-wrap .bnb-instructor-initials {margin-left:auto; font-weight:700; text-decoration:none; cursor:help; border:1px solid #53655833; border-radius:4px; padding:0 4px; font-size:10px;}
.bnb-wrap .bnb-card-tools,.bnb-wrap .bnb-event-more {border-top:1px solid #53655822; margin-top:4px; padding-top:4px; font-size:11px;}
.bnb-wrap .bnb-card-tools > summary,.bnb-wrap .bnb-event-more > summary {cursor:pointer; font-size:11px; color:#365a43; font-weight:650;}
.bnb-wrap .bnb-card-tools a {display:block; font-size:12px; margin-top:6px; color:#365a43;}
.bnb-wrap .bnb-week-event .bnb-event-more small {display:block; margin-top:6px;}
.bnb-wrap .bnb-week-event .bnb-event-more .bnb-calendar-event-manage {margin-top:8px;}
.bnb-event-repeat {border:1px solid #dbe3d7; border-radius:8px; padding:14px; min-width:0;}
.bnb-event-repeat legend {font-weight:700; font-size:14px;}
.bnb-repeat-options {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px;}
.bnb-repeat-options > p,.bnb-repeat-weekdays {grid-column:1 / -1;}
.bnb-repeat-options > p {font-size:12px; line-height:1.5; margin:0;}
.bnb-repeat-weekdays {display:flex; flex-wrap:wrap; gap:10px; border:1px solid #dbe3d7; padding:10px;}
.bnb-wrap .bnb-repeat-weekdays label {display:inline-flex; flex-direction:row; align-items:center; gap:5px;}
.bnb-wrap .bnb-repeat-weekdays input {width:17px; height:17px; min-height:17px; margin:0;}
.bnb-event-repeat[hidden],.bnb-repeat-options[hidden],.bnb-repeat-weekdays[hidden] {display:none!important;}
@media(max-width:640px) {
 .bnb-wrap .bnb-week-card {padding:10px;}
 .bnb-wrap .bnb-week-scroll {max-height:75vh;}
 .bnb-wrap .bnb-calendar-filter {margin-left:0;}
 .bnb-repeat-options {grid-template-columns:1fr;}
 .bnb-repeat-options > p,.bnb-repeat-weekdays {grid-column:1;}
}
