
/* =====================================================================
   EduLive Smart Scheduler v2.8.6 — HARD UI AUDIT
   Scheduler owns its final visual format.
   ===================================================================== */

html body .edu-pro-os{
  background:#f5f7fa!important;
  color:#101828!important;
}
html body .edu-pro-main{
  padding:20px 26px 56px!important;
  min-width:0!important;
}
html body .edu-v27-shell{
  width:100%!important;
  max-width:1480px!important;
  margin:0 auto!important;
  display:block!important;
}

/* ---------- top local tabs ---------- */
html body .edu-v28-local-tabs{
  width:fit-content!important;
  max-width:100%!important;
  min-height:44px!important;
  gap:3px!important;
  margin:0 0 22px!important;
  padding:4px!important;
  border:1px solid #e1e6ee!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body .edu-v28-local-tabs a{
  min-height:34px!important;
  padding:0 11px!important;
  border-radius:8px!important;
  font-size:8px!important;
  font-weight:850!important;
  color:#667085!important;
}
html body .edu-v28-local-tabs a.active{
  background:#101828!important;
  color:#fff!important;
}

/* ---------- page heading ---------- */
html body .edu-pro-head{
  min-height:0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:0!important;
  margin:0 0 18px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body .edu-pro-head>div>span{
  display:block!important;
  color:#6941c6!important;
  font-size:7px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.13em!important;
}
html body .edu-pro-head h1{
  margin:7px 0 4px!important;
  color:#101828!important;
  font-size:30px!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  font-weight:880!important;
}
html body .edu-pro-head p{
  max-width:760px!important;
  margin:0!important;
  color:#667085!important;
  font-size:10px!important;
  line-height:1.45!important;
}
html body .edu-pro-primary,
html body .edu-pro-secondary{
  min-height:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 13px!important;
  border:1px solid #101828!important;
  border-radius:9px!important;
  background:#101828!important;
  color:#fff!important;
  text-decoration:none!important;
  font-family:inherit!important;
  font-size:8px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
html body .edu-pro-secondary{
  border-color:#d7dee8!important;
  background:#fff!important;
  color:#344054!important;
}

/* ---------- FILTER TOOLBAR: compact, never giant blank card ---------- */
html body .edu-v27-schedule-toolbar.edu-s286-toolbar{
  width:fit-content!important;
  max-width:100%!important;
  min-height:0!important;
  display:flex!important;
  align-items:flex-end!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0 0 14px!important;
  padding:8px!important;
  border:1px solid #dce3ec!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body .edu-s286-toolbar label{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  margin:0!important;
  color:#667085!important;
}
html body .edu-s286-toolbar label>span{
  padding-left:2px!important;
  color:#667085!important;
  font-size:6px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
html body .edu-s286-toolbar select,
html body .edu-s286-toolbar input{
  width:auto!important;
  min-width:150px!important;
  height:40px!important;
  min-height:40px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0 34px 0 10px!important;
  border:1px solid #d0d5dd!important;
  border-radius:8px!important;
  background-color:#fff!important;
  color:#101828!important;
  font-family:inherit!important;
  font-size:10px!important;
  font-weight:750!important;
  box-shadow:none!important;
  outline:none!important;
}
html body .edu-s286-toolbar select:focus,
html body .edu-s286-toolbar input:focus{
  border-color:#84adff!important;
  box-shadow:0 0 0 3px rgba(47,107,255,.10)!important;
}
html body .edu-s286-toolbar-single select{min-width:210px!important}
html body .edu-s286-filter-meta{
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:0 10px!important;
  border:1px solid #e1e6ee!important;
  border-radius:8px!important;
  background:#f8fafc!important;
}
html body .edu-s286-filter-meta strong{
  color:#101828!important;
  font-size:13px!important;
  font-weight:900!important;
}
html body .edu-s286-filter-meta span{
  color:#667085!important;
  font-size:7px!important;
  font-weight:800!important;
}
html body .edu-s286-filter-meta.ok{
  border-color:#abefc6!important;
  background:#ecfdf3!important;
}
html body .edu-s286-filter-meta.ok strong,
html body .edu-s286-filter-meta.ok span{color:#067647!important}
html body .edu-s286-filter-meta.danger{
  border-color:#fecdca!important;
  background:#fef3f2!important;
}
html body .edu-s286-filter-meta.danger strong,
html body .edu-s286-filter-meta.danger span{color:#b42318!important}

/* Kill all browser-default buttons inside scheduler. */
html body .edu-pro-os button,
html body .edu-pro-os input[type="submit"]{
  font-family:inherit!important;
}
html body .edu-pro-os form>button,
html body .edu-requirement-row>button,
html body .edu-pro-inline-form>button,
html body .edu-attendance-list article>button{
  min-height:36px!important;
  padding:0 10px!important;
  border:1px solid #d0d5dd!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#344054!important;
  font-size:7.5px!important;
  line-height:1!important;
  font-weight:850!important;
  box-shadow:none!important;
  cursor:pointer!important;
}

/* ---------- WEEK ---------- */
html body .edu-v27-week.edu-s286-week{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(7,minmax(150px,1fr))!important;
  gap:7px!important;
  margin:0!important;
  padding:0 0 6px!important;
  overflow-x:auto!important;
  align-items:start!important;
}
html body .edu-s286-day{
  min-width:150px!important;
  min-height:0!important;
  overflow:hidden!important;
  border:1px solid #dce3ec!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body .edu-s286-day.today{
  border-color:#84adff!important;
  box-shadow:inset 0 3px #2f6bff!important;
}
html body .edu-s286-day>header{
  min-height:50px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:9px 10px!important;
  border:0!important;
  border-bottom:1px solid #edf0f4!important;
  background:#fbfcfd!important;
}
html body .edu-s286-day>header div>span{
  display:block!important;
  color:#667085!important;
  font-size:6.5px!important;
  font-weight:850!important;
}
html body .edu-s286-day>header div>strong{
  display:block!important;
  margin-top:2px!important;
  color:#101828!important;
  font-size:11px!important;
  font-weight:850!important;
}
html body .edu-s286-day>header>em{
  width:21px!important;height:21px!important;
  display:grid!important;place-items:center!important;
  border-radius:999px!important;
  background:#f2f4f7!important;
  color:#667085!important;
  font-size:6.5px!important;
  font-style:normal!important;
  font-weight:900!important;
}
html body .edu-s286-day .edu-v27-day-body{
  min-height:72px!important;
  max-height:520px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  padding:6px!important;
  overflow-y:auto!important;
}
html body .edu-s286-day-empty{
  min-height:58px!important;
  display:grid!important;
  place-items:center!important;
  color:#b0b8c4!important;
  font-size:7px!important;
  font-weight:700!important;
}
html body .edu-s286-day .edu-v27-event{
  min-height:0!important;
  margin:0!important;
  padding:8px!important;
  border:1px solid #e1e6ee!important;
  border-left:3px solid #2f6bff!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body .edu-s286-day .edu-v27-event.online{border-left-color:#7f56d9!important}
html body .edu-s286-day .edu-v27-event.hybrid{border-left-color:#0e9384!important}
html body .edu-s286-day .edu-v27-event time{
  display:block!important;
  color:#475467!important;
  font-size:6.5px!important;
  font-weight:900!important;
}
html body .edu-s286-day .edu-v27-event>strong{
  display:block!important;
  margin-top:3px!important;
  color:#101828!important;
  font-size:8px!important;
  line-height:1.25!important;
  font-weight:900!important;
}
html body .edu-s286-day .edu-v27-event>small{
  display:block!important;
  margin-top:2px!important;
  color:#667085!important;
  font-size:6.3px!important;
  line-height:1.3!important;
}
html body .edu-s286-day .edu-v27-event footer{
  display:flex!important;
  gap:3px!important;
  margin-top:5px!important;
}

/* ---------- overview ---------- */
html body .edu-v27-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0 0 10px!important;
}
html body .edu-v27-kpis>article{
  min-height:72px!important;
  padding:12px 13px!important;
  border:1px solid #dce3ec!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body .edu-v27-kpis span{font-size:6px!important}
html body .edu-v27-kpis strong{font-size:22px!important}
html body .edu-v27-kpis small{font-size:6.5px!important}
html body .edu-v27-grid-2{
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;
  gap:9px!important;
}
html body .edu-v27-card,
html body .edu-pro-card{
  padding:14px!important;
  border:1px solid #dce3ec!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body .edu-v27-card-head,
html body .edu-pro-card-head{
  margin-bottom:9px!important;
}
html body .edu-v27-card-head h2,
html body .edu-pro-card-head h2{
  font-size:15px!important;
}
html body .edu-v27-card-head p,
html body .edu-pro-card-head p{font-size:8px!important}

/* ---------- readiness list ---------- */
html body .edu-v27-status-list{gap:5px!important}
html body .edu-v27-status-row{
  min-height:48px!important;
  padding:8px 9px!important;
  border-radius:8px!important;
}
html body .edu-v27-status-row strong{font-size:8.5px!important}
html body .edu-v27-status-row span{font-size:6.5px!important}
html body .edu-v27-ready{
  min-height:22px!important;
  padding:0 7px!important;
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  font-size:5.5px!important;
}

/* ---------- BUILD / requirements ---------- */
html body .edu-scheduler-blocked,
html body .edu-v27-build-note{
  margin:0 0 9px!important;
  padding:9px 10px!important;
  border-radius:9px!important;
}
html body .edu-v27-build-note strong,
html body .edu-scheduler-blocked strong{font-size:8.5px!important}
html body .edu-v27-build-note span,
html body .edu-scheduler-blocked p{font-size:6.8px!important}

html body .edu-requirement-list{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
}
html body .edu-requirement-row{
  display:grid!important;
  grid-template-columns:28px minmax(180px,1.5fr) 72px 82px 102px minmax(140px,1fr) 90px 90px 92px!important;
  align-items:end!important;
  gap:6px!important;
  padding:9px!important;
  border:1px solid #e1e6ee!important;
  border-radius:9px!important;
  background:#fbfcfd!important;
}
html body .edu-requirement-row label{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  color:#667085!important;
  font-size:6px!important;
  font-weight:850!important;
}
html body .edu-requirement-row select,
html body .edu-requirement-row input{
  width:100%!important;
  min-width:0!important;
  height:35px!important;
  min-height:35px!important;
  box-sizing:border-box!important;
  padding:0 8px!important;
  border:1px solid #d0d5dd!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#101828!important;
  font-size:7.5px!important;
  font-weight:750!important;
  box-shadow:none!important;
}
html body .edu-requirement-row .info strong{font-size:8.5px!important}
html body .edu-requirement-row .info small{font-size:6.5px!important}
html body .edu-requirement-row>button{
  min-height:35px!important;
  background:#101828!important;
  border-color:#101828!important;
  color:#fff!important;
}
html body .edu-scheduler-generate{
  margin-top:9px!important;
  padding:10px!important;
  border-radius:9px!important;
}
html body .edu-scheduler-generate strong{font-size:9px!important}
html body .edu-scheduler-generate span{font-size:6.5px!important}

/* ---------- conflict ---------- */
html body .edu-s286-success{
  width:100%!important;
  min-height:70px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  padding:12px 14px!important;
  border:1px solid #abefc6!important;
  border-radius:11px!important;
  background:#ecfdf3!important;
}
html body .edu-s286-success>b{
  width:34px!important;height:34px!important;
  display:grid!important;place-items:center!important;
  border-radius:9px!important;
  background:#12b76a!important;
  color:#fff!important;
  font-size:17px!important;
}
html body .edu-s286-success strong{
  display:block!important;
  color:#067647!important;
  font-size:9px!important;
}
html body .edu-s286-success span{
  display:block!important;
  margin-top:2px!important;
  color:#47745d!important;
  font-size:7px!important;
}
html body .edu-v27-conflict-list{gap:6px!important}
html body .edu-v27-conflict{
  padding:10px 11px!important;
  border-radius:9px!important;
  box-shadow:none!important;
}
html body .edu-v27-conflict strong{font-size:8.5px!important}
html body .edu-v27-conflict p{font-size:6.8px!important}

/* ---------- availability ---------- */
html body .edu-pro-selectbar,
html body .edu-pro-inline-form{
  width:fit-content!important;
  max-width:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0 0 9px!important;
  padding:7px!important;
  border:1px solid #dce3ec!important;
  border-radius:9px!important;
  background:#fff!important;
}
html body .edu-pro-selectbar select,
html body .edu-pro-inline-form select,
html body .edu-pro-inline-form input{
  height:37px!important;
  min-height:37px!important;
  padding:0 9px!important;
  border:1px solid #d0d5dd!important;
  border-radius:7px!important;
  background:#fff!important;
  font-size:8px!important;
  box-shadow:none!important;
}
html body .edu-avail-grid{
  border-radius:9px!important;
  overflow:auto!important;
}
html body .edu-avail-slot{
  min-height:26px!important;
  border-radius:4px!important;
}

/* ---------- rooms ---------- */
html body .edu-room-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;
  gap:8px!important;
}
html body .edu-room-grid>article{
  min-height:78px!important;
  padding:11px!important;
  border:1px solid #dce3ec!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body .edu-room-grid>article .icon{
  width:38px!important;height:38px!important;border-radius:10px!important;
}
html body .edu-room-grid>article strong{font-size:9px!important}
html body .edu-room-grid>article span,
html body .edu-room-grid>article small{font-size:6.5px!important}

/* ---------- attendance ---------- */
html body .edu-attendance-list{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}
html body .edu-attendance-list>article{
  min-height:56px!important;
  padding:9px 10px!important;
  border:1px solid #dce3ec!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body .edu-attendance-list .when strong{font-size:9px!important}
html body .edu-attendance-list .when span{font-size:7px!important}
html body .edu-attendance-list .lesson strong{font-size:8.5px!important}
html body .edu-attendance-list .lesson small{font-size:6.5px!important}

/* ---------- MODALS ---------- */
html body .edu-pro-modal>section{
  max-width:620px!important;
  padding:20px!important;
  border-radius:14px!important;
}
html body .edu-pro-modal>section.wide{max-width:820px!important}
html body .edu-pro-modal h2{font-size:21px!important}
html body .edu-pro-modal label{font-size:7px!important}
html body .edu-pro-modal input,
html body .edu-pro-modal select,
html body .edu-pro-modal textarea{
  min-height:40px!important;
  border:1px solid #d0d5dd!important;
  border-radius:8px!important;
  font-size:9px!important;
  box-shadow:none!important;
}

/* ---------- remove excess gaps / legacy default formatting ---------- */
html body .edu-pro-main .edu-global-nav{
  margin-bottom:12px!important;
}
html body .edu-pro-main>.edu-v27-shell>*{
  scroll-margin-top:80px!important;
}
html body .edu-pro-empty{
  min-height:44px!important;
  padding:10px!important;
  color:#98a2b3!important;
  font-size:7px!important;
}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  html body .edu-requirement-row{
    grid-template-columns:28px minmax(180px,1fr) repeat(3,86px)!important;
  }
  html body .edu-requirement-row .req-room,
  html body .edu-requirement-row label:has(.req-room),
  html body .edu-requirement-row label:has(.req-earliest),
  html body .edu-requirement-row label:has(.req-latest){
    min-width:0!important;
  }
}
@media(max-width:900px){
  html body .edu-pro-main{padding:16px 14px 48px!important}
  html body .edu-pro-head{align-items:flex-start!important;flex-direction:column!important}
  html body .edu-pro-head h1{font-size:25px!important}
  html body .edu-v27-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body .edu-v27-grid-2{grid-template-columns:1fr!important}
  html body .edu-requirement-row{
    grid-template-columns:28px 1fr 90px 90px!important;
  }
  html body .edu-s286-toolbar{width:100%!important;box-sizing:border-box!important}
}
@media(max-width:620px){
  html body .edu-v27-kpis{grid-template-columns:1fr 1fr!important}
  html body .edu-s286-toolbar label{width:100%!important}
  html body .edu-s286-toolbar select{width:100%!important}
  html body .edu-s286-filter-meta{width:100%!important;box-sizing:border-box!important}
  html body .edu-requirement-row{grid-template-columns:28px 1fr!important}
  html body .edu-requirement-row>*{grid-column:auto!important}
}
