/* V40.2: date/time booking step for administrator and registrar only.
   These selectors cannot affect the public patient portal or staff schedule. */
body.viaviva-staff-booking-modern #patientView #wizardDate{
  --vvb-blue:#0788bd;
  --vvb-navy:#153a6b;
  --vvb-line:#cbd8e6;
  --vvb-text:#17243a;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .wizard-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:start;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .field{min-width:0;position:relative}
body.viaviva-staff-booking-modern #patientView #wizardDate .field>label{
  display:block;margin:0 0 7px!important;color:#35445b;font-size:15px;font-weight:700;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .date-entry{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .wizard-icon-field{
  position:relative;min-width:0;color:var(--vvb-blue);
}
body.viaviva-staff-booking-modern #patientView #wizardDate .wizard-icon-field>svg{
  position:absolute!important;left:15px!important;top:50%!important;z-index:2!important;
  display:block!important;width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;
  transform:translateY(-50%)!important;pointer-events:none!important;fill:none!important;stroke:currentColor!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .wizard-icon-field>input,
body.viaviva-staff-booking-modern #patientView #wizardDate .wizard-icon-field>select{
  display:block;width:100%!important;min-width:0!important;min-height:52px!important;
  padding:11px 13px 11px 49px!important;border:1.5px solid var(--vvb-line)!important;
  border-radius:14px!important;background:#fff!important;color:var(--vvb-text)!important;font-size:16px!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .calendar-btn{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  width:auto!important;min-width:128px!important;min-height:52px!important;padding:9px 13px!important;
  border:1.5px solid var(--vvb-line)!important;border-radius:14px!important;background:#f7fafc!important;
  color:var(--vvb-navy)!important;font-weight:750!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .calendar-btn svg{
  display:block!important;width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;
  flex:0 0 22px!important;fill:none!important;stroke:currentColor!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .quick-dates{
  display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:10px!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .quick-dates button{
  min-height:42px!important;padding:8px 11px!important;border:1px solid #b9c7d8!important;
  border-radius:9px!important;background:#eef3f8!important;color:var(--vvb-navy)!important;font-weight:700!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .quick-dates button.selected{
  border-color:var(--vvb-blue)!important;background:var(--vvb-blue)!important;color:#fff!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-panel{
  margin-top:10px!important;padding:10px!important;border:1px solid var(--vvb-line)!important;
  border-radius:14px!important;background:#fff!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-head{
  display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px 44px!important;
  gap:7px!important;align-items:center!important;text-align:center!important;margin-bottom:8px!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-head button{
  min-width:0!important;min-height:42px!important;padding:5px!important;font-size:20px!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-legend{
  display:flex!important;justify-content:flex-start!important;gap:7px 12px!important;flex-wrap:wrap!important;
  margin:0 0 9px!important;color:#66758b!important;font-size:12px!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-legend span{white-space:nowrap}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-legend i{
  display:inline-block!important;width:14px!important;height:14px!important;margin-right:4px!important;
  border:1px solid var(--vvb-line)!important;border-radius:4px!important;vertical-align:-2px!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-legend i.working{background:#d5f2e2!important}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-legend i.booked{background:#f8d8d5!important}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-legend i.other-procedure{background:#ffedb8!important}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-legend i.nonworking{background:#dfe6ee!important}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-legend i.vacation{background:#fff!important;border:2px solid #7f9bbb!important}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-grid{
  display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calday{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  min-width:0!important;min-height:44px!important;padding:4px 2px!important;border:1px solid var(--vvb-line)!important;
  border-radius:8px!important;color:var(--vvb-navy)!important;line-height:1.05!important;text-align:center!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calday.working{background:#d5f2e2!important}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calday.booked{background:#f8d8d5!important;color:#a24b43!important}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calday.other-procedure{background:#ffedb8!important;color:#7d6110!important}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calday.nonworking{background:#dfe6ee!important;color:#748091!important}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calday.vacation{background:#fff!important;border:2px solid #7f9bbb!important}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calday.selected{
  outline:3px solid var(--vvb-navy)!important;outline-offset:1px!important;box-shadow:inset 0 0 0 2px #fff!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calday:disabled{opacity:1!important;cursor:default!important}
body.viaviva-staff-booking-modern #patientView #wizardDate .wizard-actions{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)!important;
  gap:12px!important;margin-top:18px!important;
}
body.viaviva-staff-booking-modern #patientView #wizardDate .wizard-actions button{
  width:100%!important;min-height:52px!important;border-radius:14px!important;font-weight:700!important;
}
@media(max-width:700px){
  body.viaviva-staff-booking-modern #patientView #wizardDate .wizard-grid{grid-template-columns:minmax(0,1fr)!important;gap:13px!important}
  body.viaviva-staff-booking-modern #patientView #wizardDate .date-entry{grid-template-columns:minmax(0,1fr)!important}
  body.viaviva-staff-booking-modern #patientView #wizardDate .calendar-btn{width:100%!important;justify-content:space-between!important}
  body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-head{grid-template-columns:40px minmax(0,1fr) 40px 40px!important;gap:4px!important}
  body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-legend{display:grid!important;grid-template-columns:repeat(3,max-content)!important;justify-content:center!important;gap:5px 9px!important;font-size:11px!important}
  body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calendar-grid{gap:3px!important}
  body.viaviva-staff-booking-modern #patientView #wizardDate .patient-calday{min-height:40px!important;font-size:13px!important}
}
