/* SchoolDay v217 final interface layer. All in-function tabs share the same
   size and the Admin Branding custom properties. */
.admin-body :is(.schoolday-function-tabs-v2162,.function-subnav,#pupilLearningSubjectsV214) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: .45rem !important;
  padding: .45rem !important;
  margin: 0 0 .8rem !important;
  border: 1px solid var(--admin-subtab-border,var(--admin-calendar-main-header-bg,#144f8c)) !important;
  border-radius: .8rem !important;
  background: var(--admin-subtab-bg,#f5f8fb) !important;
  font-family: var(--schoolday-brand-font,inherit) !important;
}
.admin-body :is(.schoolday-function-tabs-v2162,.function-subnav,#pupilLearningSubjectsV214) > button {
  box-sizing: border-box !important;
  flex: 0 1 auto !important;
  min-width: 112px !important;
  min-height: 42px !important;
  padding: .58rem .82rem !important;
  margin: 0 !important;
  border: 1px solid var(--admin-subtab-border,var(--admin-calendar-main-header-bg,#144f8c)) !important;
  border-radius: .58rem !important;
  background: var(--admin-subtab-bg,#fff) !important;
  color: var(--admin-subtab-text,var(--admin-calendar-main-header-bg,#144f8c)) !important;
  font: 750 .86rem/1.15 var(--schoolday-brand-font,inherit) !important;
  text-align: center !important;
}
.admin-body :is(.schoolday-function-tabs-v2162,.function-subnav,#pupilLearningSubjectsV214) > button:is(.active,.selected,[aria-pressed="true"]) {
  border-color: var(--admin-selected-subtab-border,var(--admin-header-border,#f5c542)) !important;
  background: var(--admin-selected-subtab-bg,var(--admin-calendar-main-header-bg,#144f8c)) !important;
  color: var(--admin-selected-subtab-text,var(--admin-calendar-main-header-color,#fff)) !important;
}

.manage-pupil-panel-v217 { display: grid; gap: .8rem; padding-top: .2rem; }
.manage-pupil-panel-v217.hidden { display: none !important; }
#managePupilPanel-add .manage-pupil-form-v210 { display: grid; width: min(100%,980px); margin: 0 auto; }
.pupil-class-filters-v217 { align-items: end; gap: .65rem !important; }
.pupil-class-filters-v217 > label { flex: 1 1 175px; }
.pupil-class-list-v217 { display: grid; gap: .5rem; padding-bottom: 74px; }
.pupil-class-row-v217 { display: grid; grid-template-columns: minmax(220px,1fr) minmax(220px,360px); align-items: center; gap: .8rem; padding: .7rem .8rem; border: 1px solid #d5e0e7; border-radius: .7rem; background: #fff; }
.pupil-class-row-v217.is-changed { border-color: var(--admin-header-border,#f5c542); box-shadow: inset 4px 0 var(--admin-header-border,#f5c542); }
.pupil-class-row-v217 > div { display: grid; gap: .12rem; min-width: 0; }
.pupil-class-row-v217 > div span { color: #617283; font-size: .78rem; }
.pupil-class-row-v217 label { margin: 0; }
.pupil-class-savebar-v217 { position: sticky; z-index: 30; bottom: .6rem; display: flex; align-items: center; justify-content: flex-end; gap: .8rem; padding: .65rem .8rem; border: 1px solid var(--admin-header-border,#f5c542); border-radius: .75rem; background: color-mix(in srgb,#fff 92%,var(--admin-header-bg,#144f8c)); box-shadow: 0 10px 26px rgba(17,35,50,.18); }
.future-pupil-transfer-v217 { padding: 1rem; border: 1px dashed #91a5b4; border-radius: .75rem; background: #f7fafc; }
.future-pupil-transfer-v217 p { margin-bottom: 0; }
.pupil-profile-form-v217 { max-width: 900px; }
.pupil-profile-class-v217 { display: grid; align-content: center; gap: .12rem; padding: .55rem .7rem; border: 1px solid #d4dfe7; border-radius: .6rem; background: #f7fafc; }
.pupil-profile-class-v217 span { color: #667786; font-size: .74rem; }

.master-school-times-v217 { align-items: end; gap: .65rem !important; padding: .75rem; border: 1px solid #d5e0e7; border-radius: .75rem; background: #f7fafc; }
.master-time-line-v217 { position: absolute; z-index: 1; left: 0; right: 0; height: 0; border-top: 2px dashed color-mix(in srgb,var(--admin-header-bg,#144f8c) 64%,#fff); pointer-events: none; }
.master-time-line-v217 span { position: absolute; top: -10px; left: 4px; padding: .08rem .3rem; border-radius: .3rem; background: #fff; color: var(--admin-header-bg,#144f8c); font-size: .62rem; font-weight: 850; white-space: nowrap; }
.master-time-end-v217 { border-top-color: color-mix(in srgb,var(--admin-header-border,#f5c542) 75%,#704c00); }
.schedule-event-v214 { z-index: 3; }
.schedule-event-ghost-v217 { z-index: 2 !important; overflow: hidden; border: 2px dashed var(--admin-header-bg,#144f8c) !important; background: color-mix(in srgb,var(--admin-header-bg,#144f8c) 14%,transparent) !important; color: var(--admin-header-bg,#144f8c) !important; opacity: .55 !important; pointer-events: none !important; box-shadow: none !important; }
.schedule-event-v214.is-dragging-v216 { opacity: .48 !important; }

.floorplan-class-dot-v217 { border-color: color-mix(in srgb,var(--pupil-colour,#46bd68) 55%,#1f2d38) !important; background: var(--pupil-colour,#46bd68) !important; }
.floorplan-out-count-v217 { display: grid; place-items: center; min-height: 56px; margin: .55rem; border: 2px solid color-mix(in srgb,var(--admin-selected-bg,#234765) 40%,transparent); border-radius: .75rem; background: color-mix(in srgb,var(--admin-selected-bg,#234765) 10%,#fff); color: var(--admin-selected-bg,#234765); font-size: 1.45rem; }
.floorplan-out-of-school-v217 { position: absolute; top: 0; z-index: 20; box-sizing: border-box; padding: .65rem; border: 2px solid #7a8995; border-radius: .75rem; background: rgba(244,247,249,.96); color: #253746; overflow: hidden; }
.floorplan-out-of-school-v217 h3 { margin: 0; font-size: .95rem; }
.floorplan-out-of-school-v217 > p { margin: .15rem 0 .55rem; color: #647482; font-size: .7rem; }
.floorplan-out-of-school-v217 [data-out-of-school-dots] { display: grid; grid-template-columns: repeat(7,14px); gap: 7px; align-content: start; }
.floorplan-out-dot-v217 { box-sizing: border-box; width: 14px; min-width: 14px; height: 14px; padding: 0 !important; border: 1px solid #263a47 !important; border-radius: 50% !important; }
.floorplan-out-dot-v217:disabled { opacity: 1; }

.class-pupil-colour-v217 { display: inline-flex !important; align-items: center; gap: .35rem; margin-left: .35rem; color: #5d6e7c; font-size: .72rem; font-weight: 750; white-space: nowrap; }
.class-pupil-colour-v217 input { width: 34px; height: 28px; padding: 2px; border: 1px solid #aebdc8; border-radius: .4rem; background: #fff; cursor: pointer; }
.assess-seven-day-summary-v217 { display: grid; gap: .2rem; width: 100%; margin-top: .4rem; }
.assess-seven-day-summary-v217 i { display: flex; justify-content: space-between; gap: .4rem; padding: .2rem .35rem; border-radius: .35rem; background: rgba(255,255,255,.72); color: #4e6170; font-size: .66rem; font-style: normal; }
.assess-seven-day-summary-v217 b { color: #243947; }

.body-outline-v217 { fill: #f5f7f9; stroke: #435b6c; stroke-width: 3.3; stroke-linejoin: round; }
.body-detail-v217 { fill: none; stroke: #a3b0ba; stroke-width: 1.25; stroke-linecap: round; opacity: .7; }

.save-prompt-backdrop-v217 { position: fixed; inset: 0; z-index: 6000; display: grid; place-items: center; padding: 1rem; background: rgba(10,25,38,.62); backdrop-filter: blur(4px); }
.save-prompt-backdrop-v217.hidden { display: none !important; }
.save-prompt-v217 { width: min(430px,94vw); padding: 1.1rem; border: 2px solid var(--admin-header-border,#f5c542); border-radius: .9rem; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.3); }
.save-prompt-v217 h2 { margin-top: 0; }

@media (max-width: 760px) {
  .admin-body :is(.schoolday-function-tabs-v2162,.function-subnav,#pupilLearningSubjectsV214) > button { flex: 1 1 132px !important; min-width: 0 !important; }
  .pupil-class-row-v217 { grid-template-columns: 1fr; }
  .pupil-class-savebar-v217 { align-items: stretch; flex-direction: column; }
  .pupil-class-savebar-v217 button { width: 100%; }
  .class-pupil-colour-v217 { margin-left: 0; }
}
