/* V40: isolated schedule calendar for administrator and registrar profiles.
   Every selector is anchored to the unique schedule section so these rules
   cannot resize or recolor the patient/staff booking wizard. */
#adminView.vv-staff-schedule-v40{--vv40-blue:#173f73;--vv40-line:#cbd7e5;scroll-margin-top:8px}
#adminView.vv-staff-schedule-v40 .vv-schedule-header{display:flex;justify-content:space-between;align-items:center;gap:10px}
#adminView.vv-staff-schedule-v40 .vv-schedule-header>div{display:block;min-width:0}
#adminView.vv-staff-schedule-v40 .vv-schedule-month{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:10px;align-items:center;text-align:center}
#adminView.vv-staff-schedule-v40 .vv-schedule-month h3{margin:0;overflow-wrap:anywhere}
#adminView.vv-staff-schedule-v40 .vv-schedule-month button{min-height:46px;font-size:26px;color:var(--vv40-blue)}
#adminView.vv-staff-schedule-v40 .vv-schedule-legend{display:flex;gap:8px 14px;flex-wrap:wrap;margin:12px 0;color:#475467;font-size:13px}
#adminView.vv-staff-schedule-v40 .vv-schedule-legend span{white-space:nowrap}
#adminView.vv-staff-schedule-v40 .vv-schedule-legend i{display:inline-block;width:14px;height:14px;margin-right:5px;border:1px solid var(--vv40-line);border-radius:4px;vertical-align:-2px}
#adminView.vv-staff-schedule-v40 .vv-swatch-free{background:#d5f2e2}
#adminView.vv-staff-schedule-v40 .vv-swatch-partial{background:#ffedb8}
#adminView.vv-staff-schedule-v40 .vv-swatch-full{background:#f8d8d5}
#adminView.vv-staff-schedule-v40 .vv-swatch-off{background:#dfe6ee}
#adminView.vv-staff-schedule-v40 .vv-swatch-vacation{background:#fff;border:2px solid #7f9bbb!important}
#adminView.vv-staff-schedule-v40 .vv-schedule-weekdays{margin-top:4px;text-align:center;color:#667085;font-weight:700}
#adminView.vv-staff-schedule-v40 #calendar{margin-top:5px}
#adminView.vv-staff-schedule-v40 #calendar .calday{width:100%;min-width:0;min-height:54px;padding:4px 2px;border:1px solid var(--vv40-line);border-radius:9px;background:#fff;color:var(--vv40-blue);text-align:center;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
#adminView.vv-staff-schedule-v40 #calendar .vv-day-free{background:#d5f2e2!important}
#adminView.vv-staff-schedule-v40 #calendar .vv-day-partial{background:#ffedb8!important;color:var(--vv40-blue)!important}
#adminView.vv-staff-schedule-v40 #calendar .vv-day-full{background:#f8d8d5!important;color:var(--vv40-blue)!important;border-color:var(--vv40-line)!important}
#adminView.vv-staff-schedule-v40 #calendar .vv-day-off{background:#dfe6ee!important;color:#748091!important}
#adminView.vv-staff-schedule-v40 #calendar .vv-day-vacation{background:#fff!important;color:#516174!important;border:2px solid #7f9bbb!important}
#adminView.vv-staff-schedule-v40 #calendar .vv-day-selected{outline:3px solid var(--vv40-blue)!important;outline-offset:0!important;box-shadow:inset 0 0 0 2px #fff!important;opacity:1!important}
#adminView.vv-staff-schedule-v40 #calendar .calday .muted{color:inherit!important;font-size:12px}
@media(max-width:700px){
  #adminView.vv-staff-schedule-v40 .card{overflow:visible}
  #adminView.vv-staff-schedule-v40 .vv-schedule-month{grid-template-columns:46px minmax(0,1fr) 46px;gap:6px}
  #adminView.vv-staff-schedule-v40 .vv-schedule-month h3{font-size:20px}
  #adminView.vv-staff-schedule-v40 .vv-schedule-header{align-items:flex-start}
  #adminView.vv-staff-schedule-v40 #refreshAdmin{flex:0 0 auto;padding:8px 10px}
  #adminView.vv-staff-schedule-v40 .vv-schedule-legend{font-size:11px;line-height:1.15;gap:5px 9px;margin:9px 0 7px}
  #adminView.vv-staff-schedule-v40 .vv-schedule-legend i{width:11px;height:11px;margin-right:3px;border-radius:3px}
  #adminView.vv-staff-schedule-v40 #calendar{gap:2px!important}
  #adminView.vv-staff-schedule-v40 #calendar .calday{min-height:40px;padding:2px 1px;font-size:12px;line-height:1;gap:2px;border-radius:8px}
  #adminView.vv-staff-schedule-v40 #calendar .calday .muted{font-size:9px}
}
