.people-group-head h2,.calendar-group-head h2{margin:0;font-size:14px;font-weight:500}.people-row+.people-row,.calendar-row+.calendar-row{border-top:1px solid var(--app-divider)}.people-row:hover,.calendar-row:hover{background:var(--app-row-hover)}.people-row-body,.calendar-row-body{overflow-wrap:anywhere;flex:1 1 0;min-width:0}.people-row-body h3,.calendar-row-body h3{margin:0;font-size:13px;font-weight:500}.people-row-side,.calendar-row-side{flex-shrink:0;align-items:center;gap:12px;display:flex}.people-row-spacer,.calendar-row-spacer{flex-shrink:0;width:30px}
.calendar-page{gap:var(--app-space-6);display:grid}.calendar-group{background:var(--app-canvas)}.calendar-group-head{padding:var(--app-space-3) var(--app-space-2);border-bottom:1px solid var(--app-divider);justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-group-head p,.calendar-group-empty,.calendar-caption,.calendar-row-body p,.calendar-row-date small{color:var(--app-muted);margin:0;font-size:12px;line-height:1.5}.calendar-group-head p{margin-top:2px}.calendar-group-empty{padding:14px 12px;font-size:13px}.calendar-caption{padding:var(--app-space-3) var(--app-space-2) 0}.calendar-toolbar{padding:var(--app-space-2);border-bottom:1px solid var(--app-divider);flex-wrap:wrap;gap:8px;display:flex}.calendar-toolbar .rb-select{min-width:150px}.simple-app .calendar-toolbar select{min-height:var(--app-control-height);height:var(--app-control-height)}.simple-app .calendar-weekdays-field{border:0;gap:7px;min-width:0;margin:0;padding:0;display:grid}.simple-app .calendar-weekdays-field legend{color:var(--app-muted);margin-bottom:7px;padding:0;font-size:12px;font-weight:500}.calendar-month-label{color:var(--app-muted);padding:var(--app-space-3) var(--app-space-2) var(--app-space-1);margin:0;font-size:12px;font-weight:500}.calendar-rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.calendar-row{min-height:56px;padding:var(--app-space-2);flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.calendar-row.is-current{box-shadow:inset 3px 0 0 var(--app-accent)}.calendar-row-mark{background:var(--app-surface);width:32px;height:32px;color:var(--app-muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.calendar-row-mark.is-closure{color:var(--app-danger);background:var(--app-danger-soft)}.calendar-row-mark.is-session{color:var(--app-success);background:var(--app-success-soft)}.calendar-row-mark.is-event{color:var(--app-accent-ink);background:var(--app-accent-soft)}.calendar-row-date{font-variant-numeric:tabular-nums;flex-direction:column;flex-shrink:0;width:168px;font-size:13px;display:flex}.calendar-row-date strong{font-weight:500}.calendar-row-body p{margin-top:1px}.calendar-row-note{color:var(--app-ink)}.calendar-badge.is-closure{color:var(--app-danger)}.calendar-badge.is-session,.calendar-badge.is-current{color:var(--app-success)}.calendar-badge.is-event{color:var(--app-accent-ink)}.calendar-weekdays{flex-wrap:wrap;gap:6px;display:flex}.calendar-weekday{min-height:var(--app-control-height);border:1px solid var(--app-line);border-radius:var(--app-radius-control);cursor:pointer;align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.calendar-weekday:has(input:checked){border-color:var(--app-accent);background:var(--app-accent-soft)}.calendar-weekday:has(input:focus-visible){outline:2px solid var(--app-accent);outline-offset:2px}.simple-app .calendar-weekday input{width:14px;height:14px;min-height:0;accent-color:var(--app-accent);margin:0;padding:0}.attendance-schedule{align-items:center;gap:6px;display:inline-flex}.attendance-schedule.is-closed{color:var(--app-danger)}.attendance-closed{border-radius:var(--app-radius-control);height:28px;color:var(--app-muted);background:var(--app-surface);align-items:center;gap:6px;padding:0 8px;font-size:13px;display:inline-flex}@media (max-width:760px){.calendar-row-date{flex-direction:row;order:2;align-items:baseline;gap:8px;width:100%}.calendar-row-body{flex-basis:100%;order:3}.calendar-row-side{margin-left:auto}.calendar-toolbar .rb-select{flex:140px;min-width:0}}
