body.sdr-admin-cal-open{overflow:hidden}
.sdr-admin-native-datetime{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  pointer-events:none!important;
  left:-9999px!important;
}
.sdr-admin-datetime-button{
  appearance:none;
  width:100%;
  min-height:58px;
  border:1px solid #d9dde3;
  background:#fff;
  border-radius:10px;
  padding:0 16px;
  text-align:left;
  font:inherit;
  font-weight:700;
  color:#6d7279;
  cursor:pointer;
}
.sdr-admin-datetime-button.has-value{color:#111}
.sdr-admin-datetime-button:hover,.sdr-admin-datetime-button:focus{
  border-color:#111;
  outline:2px solid rgba(202,255,52,.4);
  outline-offset:2px;
}
.sdr-admin-inline-legend{
  grid-column:1/-1;
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:4px;
  font-weight:700;
  color:#4e545c;
}
.sdr-admin-inline-legend span,
.sdr-admin-cal-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.sdr-admin-inline-legend i,
.sdr-admin-cal-legend i{
  width:18px;
  height:18px;
  border-radius:6px;
  display:inline-block;
  box-sizing:border-box;
}
.sdr-admin-inline-legend i.free,.sdr-admin-cal-legend i.free{
  background:#eaff9a;border:2px solid #8aac20;
}
.sdr-admin-inline-legend i.busy,.sdr-admin-cal-legend i.busy{
  background:#ffd7d2;border:2px solid #d34a42;
}
.sdr-admin-cal-legend i.selected{
  background:#d7ff4e;border:2px solid #83a800;
}
.sdr-admin-cal-overlay{
  position:fixed;
  inset:0;
  z-index:1000000;
  background:rgba(0,0,0,.6);
  display:grid;
  place-items:center;
  padding:16px;
}
.sdr-admin-cal{
  width:min(540px,100%);
  max-height:min(880px,94vh);
  overflow:auto;
  background:#fff;
  color:#111;
  border-radius:20px;
  padding:20px;
  box-shadow:0 30px 90px rgba(0,0,0,.35);
}
.sdr-admin-cal-top{
  display:grid;
  grid-template-columns:50px 1fr 50px;
  gap:10px;
  align-items:center;
  margin-bottom:12px;
}
.sdr-admin-title{text-align:center;font-size:24px;text-transform:capitalize}
.sdr-admin-prev,.sdr-admin-next{
  height:46px;
  border:1px solid #ddd;
  background:#fff;
  border-radius:11px;
  font-size:31px;
  font-weight:800;
  cursor:pointer;
}
.sdr-admin-week,.sdr-admin-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
}
.sdr-admin-week{margin-bottom:7px}
.sdr-admin-week span{
  text-align:center;
  font-size:13px;
  font-weight:800;
  color:#71767c;
}
.sdr-admin-day{
  min-height:64px;
  border-radius:11px;
  border:1px solid #ddd;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.sdr-admin-day small{font-size:8px;font-weight:900;letter-spacing:.3px}
.sdr-admin-day.free{
  background:#f7ffde;
  border-color:#bfdc69;
  color:#253000;
}
.sdr-admin-day.free small{color:#678100}
.sdr-admin-day.busy{
  background:repeating-linear-gradient(135deg,#ffe6e2 0,#ffe6e2 6px,#ffd4cf 6px,#ffd4cf 12px);
  border:2px solid #d34a42;
  color:#8f1b14;
}
.sdr-admin-day.busy small{color:#a22018}
.sdr-admin-day.selected{
  box-shadow:inset 0 0 0 3px #111;
}
.sdr-admin-day.today{outline:2px solid #777;outline-offset:2px}
.sdr-admin-cal-legend{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin:16px 0 12px;
  font-size:14px;
  font-weight:700;
}
.sdr-admin-day-info{
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:14px 16px;
  border-radius:12px;
  background:#f4f5f6;
  margin-bottom:14px;
}
.sdr-admin-free-info{color:#587000;font-weight:700}
.sdr-admin-busy-info{
  padding:8px 10px;
  border-radius:8px;
  background:#fff0ee;
  color:#8d241c;
  font-weight:700;
}
.sdr-admin-error{color:#a3261c;font-weight:700}
.sdr-admin-time-label{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-weight:800;
}
.sdr-admin-time{
  min-height:52px;
  border:1px solid #d9dde3;
  border-radius:10px;
  padding:0 14px;
  font:inherit;
  font-weight:700;
  background:#fff;
}
.sdr-admin-cal-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:16px;
}
@media(max-width:620px){
  .sdr-admin-cal{padding:14px;border-radius:16px}
  .sdr-admin-day{min-height:56px;font-size:14px}
  .sdr-admin-grid,.sdr-admin-week{gap:4px}
  .sdr-admin-cal-actions{grid-template-columns:1fr}
}