/* Scoped synthetic prototype, same Bettino brown palette. */
body[data-owner-role-rehearsal]>.review-notice{padding:3px 12px;font-size:12px;line-height:1.4;}
body[data-owner-role-rehearsal]>.review-notice summary{min-height:28px;display:list-item;}
body[data-owner-role-rehearsal] .app:has(.instructor-calendar){max-width:520px;padding:8px 8px 100px;}
.instructor-calendar{--cal-ink:#51392b;--cal-light:#eee3d7;--cal-dark:#8a5e43;}
.instructor-calendar header{min-height:28px;margin-bottom:4px;}
.instructor-calendar header h1{font-size:20px;}
.instructor-calendar .calendar-sections,.instructor-calendar .calendar-modes{display:flex;gap:4px;}
.instructor-calendar .calendar-sections button{flex:1;border-radius:8px;font-size:14px;min-height:36px;}
.instructor-calendar button[aria-pressed=true]{background:#eadccf;box-shadow:inset 0 0 0 1px #8a5e43;}
.instructor-calendar .calendar-toolbar{display:flex;align-items:center;gap:2px;margin:4px 0;}
.instructor-calendar .calendar-toolbar>button{width:32px;flex:none;font-size:25px;}
.instructor-calendar .calendar-toolbar h2{font-size:16px;margin:0;flex:1;white-space:nowrap;}
.instructor-calendar .calendar-modes button{font-size:12px;min-height:32px;padding:3px 7px;border-radius:6px;}
.instructor-calendar .calendar-legend{display:flex;align-items:center;gap:6px;font-size:11px;min-height:28px;margin-bottom:4px;flex-wrap:wrap;}
.instructor-calendar .calendar-legend button{font-size:11px;padding:0 3px;min-height:28px;text-decoration:underline;}
.instructor-calendar .schedule-band{display:flex;align-items:center;gap:1px;box-sizing:border-box;border-radius:2px;padding:1px 2px;min-width:0;max-width:100%;overflow:hidden;line-height:16px;height:18px;font-size:12px;}
.instructor-calendar .confirmed{background:var(--cal-light);color:var(--cal-ink);}
.instructor-calendar .tentative{background:var(--cal-dark);color:white;}
.instructor-calendar .band-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:16px;color:inherit;}
.instructor-calendar .band-mark{flex:none;font-size:6px;line-height:16px;color:inherit;}
.instructor-calendar .instructor-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border-left:1px solid #e2d6ca;border-top:1px solid #e2d6ca;}
.instructor-calendar .weekday{text-align:center;font-size:12px;height:22px;border-right:1px solid #e2d6ca;border-bottom:1px solid #e2d6ca;}
.instructor-calendar .instructor-day,.instructor-calendar .empty-day{height:94px;min-height:94px;max-height:94px;min-width:0;width:100%;padding:2px 1px;overflow:hidden;border-radius:0;border-right:1px solid #e2d6ca;border-bottom:1px solid #e2d6ca;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;gap:1px;box-sizing:border-box;}
.instructor-calendar .empty-day{background:#f7f1e9;}
.instructor-calendar .day-number{display:block;font-size:12px;line-height:16px;height:16px;flex:none;text-align:center;color:var(--ink);}
.instructor-calendar .day-bands{display:flex;flex-direction:column;gap:1px;min-width:0;overflow:hidden;flex:none;}
.instructor-calendar .day-overflow{font-size:10px;line-height:13px;min-height:13px;text-align:center;color:var(--cal-ink);}
.instructor-calendar .calendar-day-details{padding:0 6px;}
.instructor-calendar .calendar-day-details h2{scroll-margin-top:12px;font-size:19px;}
.instructor-calendar .week-day{border-bottom:1px solid #e2d6ca;padding:8px 0;}
.instructor-calendar .week-day h3{margin:0;font-size:15px;}
.instructor-calendar .week-day h3 button{min-height:32px;padding:0 4px;}
.instructor-calendar .week-day p{margin:2px 6px;font-size:14px;}
.instructor-calendar .week-event{display:grid;grid-template-columns:minmax(85px,32%) minmax(0,1fr);gap:8px;width:100%;border-radius:6px;margin:4px 0;padding:8px;text-align:left;min-height:48px;}
.instructor-calendar .week-event time{font-size:13px;overflow-wrap:anywhere;}
.instructor-calendar .week-event>span{font-size:15px;overflow-wrap:anywhere;}
.instructor-calendar .week-event small{display:block;color:inherit;font-size:11px;}
