/* PE-Class v1.16.67 · iPad/mobile class-progress calendar */
.classProgressDateConfirm11663{
  position:fixed;
  inset:0;
  z-index:2147482300;
  display:none;
  place-items:center;
  padding:18px;
  box-sizing:border-box;
}
.classProgressDateConfirm11663.open{display:grid}
.classProgressDateBackdrop11663{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  background:rgba(18,38,56,.42);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.classProgressDateDialog11663{
  position:relative;
  z-index:1;
  width:min(420px,calc(100vw - 36px));
  overflow:hidden;
  border:1px solid #d6e4ee;
  border-radius:20px;
  background:#fff;
  box-shadow:0 22px 60px rgba(25,54,78,.25);
  color:#20364a;
}
.classProgressDateDialog11663 header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid #e1eaf1;
}
.classProgressDateDialog11663 header>div{
  display:grid;
  gap:4px;
}
.classProgressDateDialog11663 header strong{
  font-size:20px;
  line-height:1.2;
}
.classProgressDateDialog11663 header span{
  color:#718396;
  font-size:13px;
}
.classProgressDateClose11663{
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid #d6e4ee;
  border-radius:12px;
  background:#fff;
  color:#37516a;
  font-size:28px;
  line-height:1;
}
.classProgressDateBody11663{
  display:grid;
  gap:10px;
  padding:18px 20px;
}
.classProgressDateCalendarHead11663{
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  gap:8px;
}
.classProgressDateCalendarHead11663 button{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin:0;
  padding:0;
  border:1px solid #cbdde9;
  border-radius:11px;
  background:#fff;
  color:#2e84bb;
  font:900 27px/1 inherit;
  box-sizing:border-box;
}
.classProgressDateMonthLabel11663{
  color:#20364a;
  font-size:17px;
  font-weight:900;
  text-align:center;
}
.classProgressDateWeekdays11663,
.classProgressDateGrid11663{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:5px;
}
.classProgressDateWeekdays11663 span{
  display:grid;
  place-items:center;
  height:24px;
  color:#718396;
  font-size:12px;
  font-weight:850;
}
.classProgressDateWeekdays11663 span:first-child{color:#e05252}
.classProgressDateWeekdays11663 span:last-child{color:#2e84bb}
.classProgressDateGrid11663 button,
.classProgressDateEmpty11663{
  width:100%;
  height:40px;
  min-width:0;
  margin:0;
  padding:0;
  box-sizing:border-box;
}
.classProgressDateGrid11663 button{
  display:grid;
  place-items:center;
  border:1px solid transparent;
  border-radius:10px;
  background:#f7fafc;
  color:#29465d;
  font:800 14px/1 inherit;
}
.classProgressDateGrid11663 button.today{
  border-color:#8fc9ec;
  color:#167ebc;
}
.classProgressDateGrid11663 button.selected{
  border-color:#168ee0;
  background:#168ee0;
  color:#fff;
  box-shadow:0 4px 12px rgba(22,142,224,.2);
}
.classProgressDateSelection11663{
  min-height:20px;
  margin:2px 0 0;
  color:#38546c;
  font-size:13px;
  font-weight:850;
  line-height:20px;
  text-align:center;
}
.classProgressDateDialog11663 footer{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:14px 20px 20px;
}
.classProgressDateDialog11663 footer button{
  display:flex;
  align-items:center;
  justify-content:center;
  height:48px;
  margin:0;
  padding:0 12px;
  border-radius:12px;
  box-sizing:border-box;
  font:850 15px/1 inherit;
}
.classProgressDateCancel11663{
  border:1px solid #cbdde9;
  background:#fff;
  color:#2e84bb;
}
.classProgressDateApply11663{
  border:1px solid #1fae6c;
  background:#24c875;
  color:#fff;
}
.classProgressDateApply11663:disabled{
  border-color:#d7e0e7;
  background:#e8eef2;
  color:#98a6b2;
}
body.classProgressDateConfirmOpen11663{overflow:hidden!important}

.classProgressDatePicker11665 .progressDateDisplay{
  pointer-events:auto!important;
}
.classProgressDatePicker11665 .classProgressDateSource11665{
  display:none!important;
  pointer-events:none!important;
}

@media(max-width:768px){
  #mobileClassProgressHost .classProgressMobileDateTrigger11665{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    min-width:0;
    height:48px;
    margin:0;
    padding:0 11px;
    box-sizing:border-box;
    border:1px solid #cbd6e2;
    border-radius:10px;
    background:#fff;
    color:#172b3f;
    font:850 16px/1.45 inherit;
    text-align:left;
    touch-action:manipulation;
  }
  .classProgressDateConfirm11663{
    align-items:end;
    padding:12px;
  }
  .classProgressDateDialog11663{
    width:100%;
    border-radius:22px;
  }
  .classProgressDateBody11663{
    padding:14px 16px;
  }
  .classProgressDateGrid11663 button,
  .classProgressDateEmpty11663{
    height:38px;
  }
}
