

/* v0.4.5 diary actions pop-out modal */
.hlh-diary-action-menu[open] {
  z-index: 99998 !important;
}

/* v0.5.25 transmission choices */
.hlh-custom-field-add{display:flex;align-items:center;gap:14px;margin:18px 0;padding:16px;border:1px dashed #b8c1cc;border-radius:10px;background:#f8fafc}
.hlh-custom-field-add p{margin:0}
.hlh-custom-field-creator{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0;padding:18px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}
.hlh-custom-field-creator label,.hlh-custom-options{display:grid;gap:6px;font-weight:600}
.hlh-custom-new-options,.hlh-custom-field-creator-actions,.hlh-custom-options{grid-column:1/-1}
.hlh-custom-field-creator-actions{display:flex;gap:10px}
.hlh-enquiry-custom-row{border-left:3px solid #64748b}
.hlh-remove-custom-field{justify-self:start}
@media(max-width:760px){
    .hlh-custom-field-add,.hlh-custom-field-creator-actions{align-items:stretch;flex-direction:column}
    .hlh-custom-field-creator{grid-template-columns:1fr}
}
.hlh-diary-action-menu[open]::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, .34);
  backdrop-filter: blur(2px);
  z-index: 99980;
}
.hlh-diary-action-menu[open] .hlh-diary-cancel-actions {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(320px, calc(100vw - 36px)) !important;
  max-width: 320px !important;
  display: grid !important;
  gap: 10px !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(216, 180, 254, .75) !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .42) !important;
  margin: 0 !important;
  z-index: 99999 !important;
  text-align: left !important;
}
.hlh-diary-action-menu[open] .hlh-diary-action-title {
  display: block !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  margin: 0 0 4px !important;
}
.hlh-diary-action-menu[open] .hlh-mini-cancel-button,
.hlh-diary-action-menu[open] .hlh-mini-gap-button {
  width: 100% !important;
  min-height: 42px !important;
  border-radius: 12px !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-align: center !important;
}
.hlh-diary-action-menu[open] .hlh-mini-cancel-button {
  background: #fff1f2 !important;
  color: #9f1239 !important;
  border: 1px solid #fecdd3 !important;
}
.hlh-diary-action-menu[open] .hlh-mini-gap-button {
  background: #ecfdf5 !important;
  color: #047857 !important;
  border: 1px solid #bbf7d0 !important;
}
.hlh-diary-action-menu[open] .hlh-diary-cancel-actions::after {
  content: "Tap outside this box to close";
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  margin-top: 2px;
  text-align: center;
}

/* v0.4.6 body-level diary action pop-out: must sit above every calendar/event layer */
.hlh-diary-action-overlay{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;background:rgba(15,23,42,.42)!important;backdrop-filter:blur(3px)!important;}
.hlh-diary-action-popout{position:relative!important;z-index:2147483001!important;width:min(340px,calc(100vw - 32px))!important;background:#fff!important;border:1px solid rgba(216,180,254,.8)!important;border-radius:20px!important;box-shadow:0 30px 90px rgba(15,23,42,.5)!important;padding:20px!important;color:#111827!important;}
.hlh-diary-action-close{position:absolute!important;top:10px!important;right:10px!important;width:34px!important;height:34px!important;border:0!important;border-radius:10px!important;background:#f3f4f6!important;color:#111827!important;font-size:22px!important;font-weight:900!important;cursor:pointer!important;}
.hlh-diary-action-popout .hlh-diary-cancel-actions{display:grid!important;gap:10px!important;margin:0!important;padding:0!important;position:static!important;width:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important;}
.hlh-diary-action-popout .hlh-diary-action-title{display:block!important;padding-right:36px!important;color:#111827!important;font-size:16px!important;font-weight:900!important;margin:0 0 4px!important;}
.hlh-diary-action-popout .hlh-mini-cancel-button,.hlh-diary-action-popout .hlh-mini-gap-button{width:100%!important;min-height:46px!important;border-radius:14px!important;padding:12px 14px!important;font-size:15px!important;font-weight:900!important;}
.hlh-diary-action-popout .hlh-mini-cancel-button{background:#fff1f2!important;color:#9f1239!important;border:1px solid #fecdd3!important;}
.hlh-diary-action-popout .hlh-mini-gap-button{background:#ecfdf5!important;color:#047857!important;border:1px solid #bbf7d0!important;}

/* v0.4.7: edit action inside diary options pop-out */
.hlh-diary-action-popout .hlh-mini-edit-button,
.hlh-diary-action-menu .hlh-mini-edit-button{width:100%!important;min-height:46px!important;border-radius:14px!important;padding:12px 14px!important;font-size:15px!important;font-weight:900!important;border:1px solid #bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important;cursor:pointer!important;text-align:center!important;}


/* v0.4.8: force diary options pop-out action buttons to be visible and tappable */
.hlh-diary-action-popout,
.hlh-diary-action-popout * {
  color: #111827 !important;
}
.hlh-diary-action-popout button,
.hlh-diary-action-popout .hlh-mini-edit-button,
.hlh-diary-action-popout .hlh-mini-cancel-button,
.hlh-diary-action-popout .hlh-mini-gap-button {
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  opacity: 1 !important;
  visibility: visible !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  -webkit-text-fill-color: currentColor !important;
}
.hlh-diary-action-popout .hlh-mini-edit-button {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  border: 2px solid #93c5fd !important;
}
.hlh-diary-action-popout .hlh-mini-cancel-button {
  background: #fff1f2 !important;
  color: #9f1239 !important;
  border: 2px solid #fecdd3 !important;
}
.hlh-diary-action-popout .hlh-mini-gap-button {
  background: #ecfdf5 !important;
  color: #047857 !important;
  border: 2px solid #bbf7d0 !important;
}
.hlh-diary-action-popout .hlh-diary-action-title {
  color: #111827 !important;
}

/* v0.4.10 weekly working hours */
.hlh-slot-outside-hours{background:repeating-linear-gradient(135deg,#f1f3f6,#f1f3f6 6px,#e9ecef 6px,#e9ecef 12px)!important;opacity:.72}
.hlh-slot-outside-hours .hlh-calendar-add{display:none!important}


/* v0.4.15: invisible base resize grab area - no visible handle button */
.hlh-calendar-event-block,
.hlh-calendar-event{
  position:relative!important;
}
.hlh-calendar-event-block .hlh-diary-resize-handle,
.hlh-calendar-event .hlh-diary-resize-handle{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  height:18px!important;
  min-height:0!important;
  max-height:18px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0 0 8px 8px!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:none!important;
  opacity:1!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
  cursor:ns-resize!important;
  z-index:18!important;
}
.hlh-calendar-event-block .hlh-diary-resize-handle:hover,
.hlh-calendar-event-block .hlh-diary-resize-handle:focus,
.hlh-calendar-event .hlh-diary-resize-handle:hover,
.hlh-calendar-event .hlh-diary-resize-handle:focus{
  background:transparent!important;
  color:transparent!important;
  box-shadow:none!important;
  cursor:ns-resize!important;
}
.hlh-calendar-event-block .hlh-diary-resize-handle::before,
.hlh-calendar-event .hlh-diary-resize-handle::before{
  content:''!important;
  display:none!important;
}
.hlh-calendar-event-block .hlh-event-detail-link,
.hlh-calendar-event .hlh-event-detail-link{
  padding-bottom:18px!important;
}
.hlh-calendar-event-block.hlh-diary-resizing,
.hlh-calendar-event.hlh-diary-resizing{
  cursor:ns-resize!important;
}


/* v0.4.16: tidier diary action pop-out */
.hlh-diary-action-overlay{
  background:rgba(15,23,42,.52)!important;
  backdrop-filter:blur(4px)!important;
}
.hlh-diary-action-popout{
  width:min(360px,calc(100vw - 34px))!important;
  background:#ffffff!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:18px!important;
  box-shadow:0 28px 80px rgba(15,23,42,.38)!important;
  padding:18px!important;
}
.hlh-diary-action-popout .hlh-diary-cancel-actions{
  gap:9px!important;
}
.hlh-diary-action-popout .hlh-diary-action-title{
  display:block!important;
  margin:0 40px 12px 0!important;
  padding:0!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:900!important;
  color:#111827!important;
}
.hlh-diary-action-close,
.hlh-diary-action-popout .hlh-diary-action-close{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #e5e7eb!important;
  border-radius:9px!important;
  background:#f8fafc!important;
  color:#334155!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:none!important;
  cursor:pointer!important;
  -webkit-text-fill-color:#334155!important;
}
.hlh-diary-action-close:hover,
.hlh-diary-action-popout .hlh-diary-action-close:hover{
  background:#eef2f7!important;
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
}
.hlh-diary-action-popout button:not(.hlh-diary-action-close),
.hlh-diary-action-popout .hlh-mini-edit-button,
.hlh-diary-action-popout .hlh-mini-cancel-button,
.hlh-diary-action-popout .hlh-mini-gap-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:44px!important;
  padding:10px 14px!important;
  margin:0!important;
  border-radius:12px!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:850!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
  cursor:pointer!important;
}
.hlh-diary-action-popout .hlh-mini-edit-button{
  background:#f8fbff!important;
  color:#1e40af!important;
  border:1px solid #bfdbfe!important;
  -webkit-text-fill-color:#1e40af!important;
}
.hlh-diary-action-popout .hlh-mini-cancel-button{
  background:#fff7f7!important;
  color:#9f1239!important;
  border:1px solid #fecdd3!important;
  -webkit-text-fill-color:#9f1239!important;
}
.hlh-diary-action-popout .hlh-mini-gap-button{
  background:#f0fdf7!important;
  color:#047857!important;
  border:1px solid #bbf7d0!important;
  -webkit-text-fill-color:#047857!important;
}
.hlh-diary-action-popout .hlh-mini-edit-button:hover{background:#eff6ff!important;border-color:#93c5fd!important;}
.hlh-diary-action-popout .hlh-mini-cancel-button:hover{background:#ffe4e6!important;border-color:#fda4af!important;}
.hlh-diary-action-popout .hlh-mini-gap-button:hover{background:#dcfce7!important;border-color:#86efac!important;}
.hlh-diary-action-popout .hlh-diary-cancel-actions::after{
  content:""!important;
  display:none!important;
}
@media(max-width:520px){
  .hlh-diary-action-popout{border-radius:16px!important;padding:16px!important;width:min(340px,calc(100vw - 28px))!important;}
  .hlh-diary-action-popout button:not(.hlh-diary-action-close){min-height:42px!important;font-size:13px!important;}
}


/* v0.4.18 portal control parity */
.hlh-portal-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:14px}.hlh-toggle-panel{margin-top:18px;padding-top:18px;border-top:1px solid rgba(15,23,42,.10)}.hlh-portal-edit-card{grid-column:1/-1}.hlh-portal-progress-form{max-height:520px;overflow:auto;padding-right:6px}.hlh-portal-progress-form label{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,220px);gap:12px;align-items:center;border-bottom:1px solid rgba(15,23,42,.08);padding:8px 0}.hlh-inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.hlh-inline-form select{min-width:180px}.hlh-instructor-portal .hlh-form h3{margin:0 0 10px;font-size:1rem;color:#111827}@media (max-width:760px){.hlh-portal-section-head{align-items:flex-start}.hlh-portal-progress-form label{grid-template-columns:1fr}.hlh-instructor-portal .hlh-form-grid{grid-template-columns:1fr}.hlh-inline-form{align-items:stretch}.hlh-inline-form select,.hlh-inline-form button{width:100%}}

/* v0.4.19: cleaner portal pupils page and native add-pupil panel */
.hlh-instructor-portal .hlh-portal-pupils-card{
  padding:18px!important;
  border-radius:18px!important;
  border:1px solid rgba(226,232,240,.95)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 12px 32px rgba(15,23,42,.06)!important;
}
.hlh-instructor-portal .hlh-portal-pupils-head{
  align-items:flex-start!important;
  margin:0!important;
}
.hlh-instructor-portal .hlh-portal-pupils-head h2{
  margin:2px 0 4px!important;
  font-size:clamp(1.8rem,3.2vw,2.45rem)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  color:#0f172a!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-panel{
  margin-left:auto!important;
  min-width:0!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-panel summary{
  list-style:none!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-panel summary::-webkit-details-marker{
  display:none!important;
}
.hlh-instructor-portal .hlh-portal-add-summary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:9px 14px!important;
  border-radius:12px!important;
  font-size:14px!important;
  font-weight:850!important;
  cursor:pointer!important;
  user-select:none!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-panel[open] .hlh-portal-add-summary{
  background:#0f172a!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-body{
  position:relative!important;
  z-index:5!important;
  margin-top:14px!important;
  width:min(720px,calc(100vw - 44px))!important;
  padding:16px!important;
  border-radius:16px!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  box-shadow:0 16px 40px rgba(15,23,42,.10)!important;
}
.hlh-instructor-portal .hlh-portal-status-tabs{
  display:flex!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  margin:16px 0 0!important;
  padding:6px!important;
  border-radius:15px!important;
  background:#f8fafc!important;
  border:1px solid #e5e7eb!important;
}
.hlh-instructor-portal .hlh-portal-status-tabs a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:7px 12px!important;
  border-radius:10px!important;
  border:0!important;
  background:transparent!important;
  color:#334155!important;
  -webkit-text-fill-color:#334155!important;
  font-size:13px!important;
  font-weight:850!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.hlh-instructor-portal .hlh-portal-status-tabs a:hover{
  background:#fff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
}
.hlh-instructor-portal .hlh-portal-status-tabs a.is-active{
  background:linear-gradient(135deg,#db2777,#7c3aed)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 8px 18px rgba(219,39,119,.22)!important;
}
.hlh-instructor-portal .hlh-form-actions{
  margin-top:12px!important;
  display:flex!important;
  justify-content:flex-end!important;
}
@media(max-width:760px){
  .hlh-instructor-portal .hlh-portal-pupils-head{display:block!important;}
  .hlh-instructor-portal .hlh-portal-add-pupil-panel{margin:14px 0 0!important;width:100%!important;}
  .hlh-instructor-portal .hlh-portal-add-summary{width:100%!important;}
  .hlh-instructor-portal .hlh-portal-add-pupil-body{width:100%!important;padding:14px!important;}
  .hlh-instructor-portal .hlh-portal-status-tabs{overflow:auto!important;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch!important;}
  .hlh-instructor-portal .hlh-portal-status-tabs a{white-space:nowrap!important;}
}

/* v0.5.20 grouped enquiry form */
.hlh-grouped-enquiry-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.hlh-enquiry-group{min-width:0!important;margin:0!important;padding:16px!important;border:1px solid #dbe3ee!important;border-radius:12px!important;background:#f8fafc!important}
.hlh-enquiry-group legend{padding:0 7px!important;color:#1e3a5f!important;font-size:17px!important;font-weight:800!important}
.hlh-enquiry-group-intro{margin:0 0 13px!important;color:#64748b!important;font-size:13px!important}
.hlh-enquiry-group-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
.hlh-enquiry-field{display:grid!important;gap:7px!important;margin:0!important;align-content:start!important}
.hlh-enquiry-field-wide{grid-column:1/-1!important}
.hlh-enquiry-group-availability,.hlh-enquiry-group-test,.hlh-enquiry-group-other{grid-column:1/-1!important}
.hlh-grouped-enquiry-form>button{grid-column:1/-1!important}
.hlh-enquiry-test-detail[hidden]{display:none!important}
@media(max-width:720px){
    .hlh-grouped-enquiry-form,.hlh-enquiry-group-grid{grid-template-columns:1fr!important}
    .hlh-enquiry-group,.hlh-enquiry-field-wide{grid-column:1!important}
}

/* v0.5.23 - grouped enquiry form field controls */
.hlh-enquiry-builder-panel{margin:0 0 22px!important;padding:16px!important;border:1px solid #dbe3ee!important;border-radius:10px!important;background:#f8fafc!important}
.hlh-enquiry-link{margin:0 0 14px!important;padding:11px 12px!important;border-radius:8px!important;background:#fff!important;border:1px solid #e2e8f0!important;overflow-wrap:anywhere!important}
.hlh-transmission-offering-card{margin:0 0 14px!important;padding:14px!important;border:1px solid #bfdbfe!important;border-radius:9px!important;background:#eff6ff!important}
.hlh-transmission-offering-card label{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(210px,280px)!important;gap:18px!important;align-items:center!important;margin:0!important}
.hlh-transmission-offering-card span{display:flex!important;flex-direction:column!important;gap:3px!important}
.hlh-transmission-offering-card strong{color:#0f172a!important;font-size:14px!important}
.hlh-transmission-offering-card small{color:#475569!important;line-height:1.45!important}
.hlh-transmission-offering-card select{width:100%!important;margin:0!important;background:#fff!important}
.hlh-enquiry-builder-groups{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;align-items:start!important}
.hlh-enquiry-builder-group{min-width:0!important;margin:0!important;padding:14px!important;border:1px solid #dbe3ee!important;border-radius:9px!important;background:#fff!important}
.hlh-enquiry-builder-group legend{padding:0 6px!important;color:#172033!important;font-size:15px!important;font-weight:800!important}
.hlh-enquiry-builder-group-intro{min-height:36px!important;margin:0 0 10px!important;color:#64748b!important;font-size:12px!important;line-height:1.45!important}
.hlh-enquiry-builder-group-grid{display:grid!important;gap:8px!important}
.hlh-enquiry-builder-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important;padding:10px!important;border:1px solid #e2e8f0!important;border-radius:7px!important;background:#f8fafc!important}
.hlh-enquiry-builder-label{display:block!important;margin:0!important}
.hlh-enquiry-builder-label>span{display:block!important;margin:0 0 5px!important;color:#64748b!important;font-size:11px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.hlh-enquiry-builder-row input[type=text]{width:100%!important;margin:0!important}
.hlh-enquiry-builder-toggles{display:flex!important;gap:10px!important;padding-bottom:8px!important}
.hlh-mini-check{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;margin:0!important;font-size:12px!important;font-weight:700!important}
.hlh-mini-check input[type=checkbox]{width:17px!important;height:17px!important;min-width:17px!important;margin:0!important;accent-color:#1e3a5f!important}
.hlh-transmission-options{max-width:calc(50% - 7px)!important;margin-top:14px!important;padding:14px!important;border:1px solid #dbe3ee!important;border-radius:9px!important;background:#fff!important}
@media(max-width:900px){
    .hlh-enquiry-builder-groups{grid-template-columns:1fr!important}
    .hlh-enquiry-builder-group-intro{min-height:0!important}
    .hlh-transmission-options{max-width:none!important}
}

/* v0.5.26 - compact masonry layout for enquiry field groups */
.hlh-enquiry-builder-groups{
    display:block!important;
    column-count:2!important;
    column-gap:14px!important;
}
.hlh-enquiry-builder-group{
    display:inline-block!important;
    width:100%!important;
    margin:0 0 14px!important;
    vertical-align:top!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
}
@media(max-width:900px){
    .hlh-enquiry-builder-groups{
        column-count:1!important;
    }
}
@media(max-width:560px){
    .hlh-enquiry-builder-panel{padding:11px!important}
    .hlh-transmission-offering-card label{grid-template-columns:1fr!important;gap:10px!important}
    .hlh-enquiry-builder-row{grid-template-columns:1fr!important;align-items:start!important}
    .hlh-enquiry-builder-toggles{justify-content:flex-start!important;padding-bottom:0!important}
    .hlh-mini-check{justify-content:flex-start!important;padding:3px 0!important}
}


/* v0.4.20: professional portal pupil add form layout */
.hlh-instructor-portal .hlh-portal-pupils-card{
  overflow:hidden!important;
}
.hlh-instructor-portal .hlh-portal-pupils-head{
  display:block!important;
}
.hlh-instructor-portal .hlh-portal-pupils-head > div{
  margin-bottom:14px!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-panel{
  width:100%!important;
  margin:12px 0 0!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-panel summary.hlh-portal-add-summary,
.hlh-instructor-portal .hlh-portal-add-summary{
  display:inline-flex!important;
  width:auto!important;
  max-width:max-content!important;
  min-height:38px!important;
  padding:9px 14px!important;
  border-radius:10px!important;
  background:#d83087!important;
  border:1px solid #d83087!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  box-shadow:0 8px 18px rgba(216,48,135,.18)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:850!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-panel[open] summary.hlh-portal-add-summary{
  background:#111827!important;
  border-color:#111827!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-body{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:14px 0 0!important;
  padding:18px!important;
  border-radius:16px!important;
  background:#ffffff!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 10px 28px rgba(15,23,42,.06)!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-body .hlh-form{
  margin:0!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-body .hlh-form-grid,
.hlh-instructor-portal .hlh-form-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(145px,1fr))!important;
  gap:14px 16px!important;
  align-items:end!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-body label,
.hlh-instructor-portal .hlh-form-grid label{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  margin:0!important;
  min-width:0!important;
  color:#334155!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-body input,
.hlh-instructor-portal .hlh-portal-add-pupil-body select,
.hlh-instructor-portal .hlh-form-grid input,
.hlh-instructor-portal .hlh-form-grid select,
.hlh-instructor-portal .hlh-form-grid textarea{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  padding:10px 12px!important;
  border:1px solid #cbd5e1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
  font-size:15px!important;
  line-height:1.2!important;
  box-shadow:0 1px 2px rgba(15,23,42,.03)!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-body input:focus,
.hlh-instructor-portal .hlh-portal-add-pupil-body select:focus,
.hlh-instructor-portal .hlh-form-grid input:focus,
.hlh-instructor-portal .hlh-form-grid select:focus{
  outline:2px solid rgba(216,48,135,.18)!important;
  border-color:#d83087!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-body .hlh-form-grid label:nth-child(3){
  grid-column:span 2!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-body .hlh-form-actions{
  margin-top:16px!important;
  padding-top:14px!important;
  border-top:1px solid #eef2f7!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
.hlh-instructor-portal .hlh-portal-add-pupil-body .hlh-form-actions .hlh-button,
.hlh-instructor-portal .hlh-portal-add-pupil-body button[type="submit"]{
  min-height:40px!important;
  padding:10px 16px!important;
  border-radius:10px!important;
  font-size:14px!important;
  box-shadow:0 8px 18px rgba(216,48,135,.16)!important;
}
.hlh-instructor-portal .hlh-portal-status-tabs{
  margin-top:18px!important;
  background:#ffffff!important;
  border-color:#e5e7eb!important;
  padding:4px!important;
  gap:4px!important;
  box-shadow:inset 0 0 0 1px rgba(226,232,240,.45)!important;
}
.hlh-instructor-portal .hlh-portal-status-tabs a{
  min-height:32px!important;
  border-radius:9px!important;
  padding:7px 11px!important;
  font-size:13px!important;
  text-decoration:none!important;
}
.hlh-instructor-portal .hlh-portal-pupils-card > .hlh-muted,
.hlh-instructor-portal .hlh-portal-pupils-card > p:last-child{
  margin-top:10px!important;
  padding:13px 14px!important;
  border:1px dashed #cbd5e1!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  color:#475569!important;
}
@media(max-width:980px){
  .hlh-instructor-portal .hlh-portal-add-pupil-body .hlh-form-grid,
  .hlh-instructor-portal .hlh-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .hlh-instructor-portal .hlh-portal-add-pupil-body .hlh-form-grid label:nth-child(3){grid-column:span 1!important;}
}
@media(max-width:620px){
  .hlh-instructor-portal .hlh-portal-add-pupil-panel summary.hlh-portal-add-summary,
  .hlh-instructor-portal .hlh-portal-add-summary{
    width:100%!important;
    max-width:none!important;
  }
  .hlh-instructor-portal .hlh-portal-add-pupil-body{padding:14px!important;border-radius:14px!important;}
  .hlh-instructor-portal .hlh-portal-add-pupil-body .hlh-form-grid,
  .hlh-instructor-portal .hlh-form-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .hlh-instructor-portal .hlh-portal-add-pupil-body .hlh-form-actions{justify-content:stretch!important;}
  .hlh-instructor-portal .hlh-portal-add-pupil-body .hlh-form-actions .hlh-button,
  .hlh-instructor-portal .hlh-portal-add-pupil-body button[type="submit"]{width:100%!important;}
}


/* v0.4.21 Full width professional diary - admin + portal */
.hlh-admin-wrap:has(.hlh-calendar-grid),
.hlh-admin-wrap:has(.hlh-diary-calendar),
.hlh-portal:has(.hlh-portal-calendar-wrap),
.hlh-portal-shell:has(.hlh-portal-calendar-wrap),
.hlh-instructor-portal:has(.hlh-portal-calendar-wrap),
.hlh-public-wrap:has(.hlh-portal-calendar-wrap){
    max-width:none!important;
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:clamp(8px,1.2vw,18px)!important;
    padding-right:clamp(8px,1.2vw,18px)!important;
}
body.wp-admin .hlh-admin-wrap:has(.hlh-calendar-grid){
    margin-right:12px!important;
}
.hlh-portal-diary-head,
.hlh-diary-quick-actions,
.hlh-portal-diary-actions,
.hlh-admin-wrap .hlh-diary-head,
.hlh-admin-wrap .hlh-calendar-toolbar{
    max-width:none!important;
    width:100%!important;
    box-shadow:none!important;
    border-radius:10px!important;
    border:1px solid #e5e7eb!important;
    background:#fff!important;
    padding:10px 12px!important;
    margin:0 0 10px!important;
}
.hlh-portal-diary-head{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:12px!important;
}
.hlh-portal-diary-head .hlh-kicker,
.hlh-admin-wrap .hlh-kicker{
    font-size:11px!important;
    letter-spacing:.08em!important;
    margin:0 0 2px!important;
}
.hlh-portal-diary-head h2,
.hlh-admin-wrap .hlh-diary-head h2,
.hlh-admin-wrap .hlh-calendar-toolbar h2{
    font-size:clamp(24px,2.5vw,38px)!important;
    line-height:1!important;
    margin:0!important;
    color:#111827!important;
}
.hlh-portal-diary-head p,
.hlh-admin-wrap .hlh-diary-head p{
    margin:4px 0 0!important;
    font-size:13px!important;
    color:#4b5563!important;
}
.hlh-portal-week-nav{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
}
.hlh-portal-week-nav a,
.hlh-portal-week-nav strong{
    min-height:36px!important;
    border-radius:8px!important;
    padding:8px 12px!important;
    font-size:14px!important;
    line-height:1!important;
    white-space:nowrap!important;
}
.hlh-diary-quick-actions,
.hlh-portal-diary-actions{
    display:flex!important;
    gap:8px!important;
    flex-wrap:wrap!important;
    align-items:center!important;
}
.hlh-diary-quick-actions .hlh-button,
.hlh-portal-diary-actions .hlh-button{
    min-height:36px!important;
    padding:8px 12px!important;
    border-radius:8px!important;
    font-size:14px!important;
    box-shadow:none!important;
}
.hlh-portal-calendar-wrap,
.hlh-admin-wrap .hlh-calendar-wrap,
.hlh-admin-wrap .hlh-diary-calendar-wrap,
.hlh-admin-wrap .hlh-calendar-panel{
    max-width:none!important;
    width:100%!important;
    overflow-x:hidden!important;
    border-radius:0!important;
    border:0!important;
    padding:0!important;
    margin:0!important;
    box-shadow:none!important;
    background:transparent!important;
}
.hlh-calendar-grid,
.hlh-portal-calendar-grid{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:minmax(42px,54px) repeat(7,minmax(0,1fr))!important;
    border:1px solid #d1d5db!important;
    border-radius:0!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:none!important;
}
.hlh-calendar-grid > *,
.hlh-portal-calendar-grid > *{
    min-width:0!important;
}
.hlh-calendar-head,
.hlh-calendar-day-head,
.hlh-calendar-time-head,
.hlh-calendar-grid .hlh-day-head,
.hlh-portal-calendar-grid .hlh-day-head{
    background:#082b4d!important;
    color:#fff!important;
    border-right:1px solid rgba(255,255,255,.12)!important;
    min-height:44px!important;
    padding:7px 6px!important;
    text-align:center!important;
    font-size:13px!important;
    font-weight:800!important;
}
.hlh-calendar-head small,
.hlh-calendar-day-head small,
.hlh-calendar-grid .hlh-day-head small{
    display:block!important;
    margin-top:3px!important;
    color:#dbeafe!important;
    font-size:11px!important;
    font-weight:700!important;
}
.hlh-calendar-time,
.hlh-calendar-time-cell,
.hlh-calendar-grid .hlh-time-cell{
    background:#f8fafc!important;
    color:#374151!important;
    padding:4px 6px!important;
    font-size:12px!important;
    text-align:right!important;
    border-right:1px solid #d1d5db!important;
    border-bottom:1px solid #eef2f7!important;
}
.hlh-calendar-slot,
.hlh-calendar-cell,
.hlh-calendar-grid .hlh-slot{
    min-height:34px!important;
    height:34px!important;
    border-right:1px solid #e5e7eb!important;
    border-bottom:1px solid #eef2f7!important;
    background:#fff!important;
    position:relative!important;
    overflow:visible!important;
}
.hlh-calendar-slot:nth-child(16n),
.hlh-calendar-cell:nth-child(16n){
    background:#fafafa!important;
}
.hlh-calendar-add{
    width:18px!important;
    height:18px!important;
    min-height:18px!important;
    border-radius:5px!important;
    font-size:13px!important;
    line-height:18px!important;
    opacity:.35!important;
    right:4px!important;
    top:4px!important;
}
.hlh-calendar-add:hover{opacity:1!important;}
.hlh-calendar-event,
.hlh-calendar-event-block{
    border-radius:4px!important;
    padding:5px 5px 18px!important;
    font-size:11px!important;
    line-height:1.15!important;
    box-shadow:none!important;
    border:1px solid rgba(15,23,42,.18)!important;
    overflow:hidden!important;
}
.hlh-calendar-event strong,
.hlh-calendar-event-block strong{
    display:block!important;
    font-size:11px!important;
    line-height:1.1!important;
    margin:0 0 2px!important;
    white-space:normal!important;
}
.hlh-calendar-event .hlh-event-time,
.hlh-calendar-event-block .hlh-event-time,
.hlh-calendar-event small,
.hlh-calendar-event-block small{
    font-size:10.5px!important;
    line-height:1.1!important;
}
.hlh-paid-strip,
.hlh-unpaid-strip,
.hlh-calendar-event .hlh-payment-strip,
.hlh-calendar-event-block .hlh-payment-strip{
    position:absolute!important;
    left:3px!important;
    right:3px!important;
    bottom:3px!important;
    height:16px!important;
    border-radius:3px!important;
    padding:1px 4px!important;
    font-size:10.5px!important;
    line-height:14px!important;
    font-weight:800!important;
}
.hlh-calendar-event .hlh-diary-action-trigger,
.hlh-calendar-event-block .hlh-diary-action-trigger,
.hlh-diary-options-button{
    width:22px!important;
    height:20px!important;
    min-height:20px!important;
    border-radius:5px!important;
    top:4px!important;
    right:4px!important;
    font-size:13px!important;
}
.hlh-slot-outside-hours{
    background:#f3f4f6!important;
    background-image:repeating-linear-gradient(135deg,#f3f4f6 0,#f3f4f6 5px,#edf2f7 5px,#edf2f7 10px)!important;
}
@media(max-width:1100px){
    .hlh-portal-calendar-wrap,
    .hlh-admin-wrap .hlh-calendar-wrap,
    .hlh-admin-wrap .hlh-diary-calendar-wrap,
    .hlh-admin-wrap .hlh-calendar-panel{overflow-x:auto!important;}
    .hlh-calendar-grid,.hlh-portal-calendar-grid{min-width:980px!important;}
}
@media(max-width:720px){
    .hlh-portal-diary-head{align-items:stretch!important;flex-direction:column!important;}
    .hlh-portal-week-nav{justify-content:space-between!important;}
}


/* v0.4.22 Full width diary applied to BOTH admin diary and instructor portal diary */
html body .hlh-admin-wrap,
html body .hlh-portal-shell,
html body .hlh-portal-wrap{
    max-width:none!important;
    width:100%!important;
}
html body .hlh-admin-wrap .hlh-page,
html body .hlh-admin-wrap .hlh-card,
html body .hlh-admin-wrap .hlh-diary-shell,
html body .hlh-admin-wrap .hlh-diary-page,
html body .hlh-admin-wrap .hlh-calendar-card,
html body .hlh-portal-shell .hlh-card,
html body .hlh-portal-shell .hlh-portal-card,
html body .hlh-portal-shell .hlh-diary-shell,
html body .hlh-portal-shell .hlh-diary-panel{
    max-width:none!important;
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
}
/* In wp-admin use nearly full viewport, not a narrow content card */
html body.wp-admin .hlh-admin-wrap{
    margin-left:0!important;
    margin-right:12px!important;
    max-width:calc(100vw - 185px)!important;
}
@media(max-width:960px){html body.wp-admin .hlh-admin-wrap{max-width:100%!important;margin-right:0!important;}}

/* Make diary the main workspace */
.hlh-admin-wrap .hlh-diary-title,
.hlh-admin-wrap .hlh-portal-diary-title,
.hlh-portal-shell .hlh-diary-title,
.hlh-portal-shell .hlh-portal-diary-title{
    font-size:26px!important;
    line-height:1.05!important;
    margin:0!important;
    letter-spacing:-.02em!important;
}
.hlh-admin-wrap .hlh-diary-toolbar,
.hlh-admin-wrap .hlh-portal-diary-toolbar,
.hlh-portal-shell .hlh-diary-toolbar,
.hlh-portal-shell .hlh-portal-diary-toolbar{
    padding:8px 0!important;
    margin:0 0 8px!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
}
.hlh-admin-wrap .hlh-week-nav,
.hlh-admin-wrap .hlh-portal-week-nav,
.hlh-portal-shell .hlh-week-nav,
.hlh-portal-shell .hlh-portal-week-nav{
    gap:8px!important;
}
.hlh-admin-wrap .hlh-week-nav a,
.hlh-admin-wrap .hlh-week-nav span,
.hlh-admin-wrap .hlh-portal-week-nav a,
.hlh-admin-wrap .hlh-portal-week-nav span,
.hlh-portal-shell .hlh-week-nav a,
.hlh-portal-shell .hlh-week-nav span,
.hlh-portal-shell .hlh-portal-week-nav a,
.hlh-portal-shell .hlh-portal-week-nav span{
    min-height:34px!important;
    padding:7px 12px!important;
    border-radius:8px!important;
    font-size:13px!important;
    font-weight:800!important;
}
.hlh-admin-wrap .hlh-quick-actions,
.hlh-admin-wrap .hlh-diary-actions,
.hlh-portal-shell .hlh-quick-actions,
.hlh-portal-shell .hlh-diary-actions{
    padding:8px 0!important;
    margin:0 0 8px!important;
    gap:8px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}
.hlh-admin-wrap .hlh-quick-actions .button,
.hlh-admin-wrap .hlh-diary-actions .button,
.hlh-portal-shell .hlh-quick-actions .button,
.hlh-portal-shell .hlh-diary-actions .button,
.hlh-admin-wrap .hlh-quick-actions button,
.hlh-portal-shell .hlh-quick-actions button{
    min-height:34px!important;
    padding:7px 12px!important;
    border-radius:8px!important;
    font-size:13px!important;
}

/* Full-width Total-Drive-style weekly grid */
.hlh-admin-wrap .hlh-calendar-wrap,
.hlh-admin-wrap .hlh-diary-calendar-wrap,
.hlh-admin-wrap .hlh-calendar-panel,
.hlh-portal-shell .hlh-calendar-wrap,
.hlh-portal-shell .hlh-diary-calendar-wrap,
.hlh-portal-shell .hlh-calendar-panel,
.hlh-portal-calendar-wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
}
.hlh-calendar-grid,
.hlh-portal-calendar-grid,
.hlh-admin-wrap .hlh-calendar-grid,
.hlh-portal-shell .hlh-calendar-grid{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:50px repeat(7,minmax(0,1fr))!important;
    border:1px solid #d1d5db!important;
    border-radius:0!important;
    overflow:hidden!important;
    background:#fff!important;
}
.hlh-calendar-grid > *,
.hlh-portal-calendar-grid > *{min-width:0!important;box-sizing:border-box!important;}
.hlh-calendar-head,
.hlh-calendar-day-head,
.hlh-calendar-time-head,
.hlh-calendar-grid .hlh-day-head,
.hlh-portal-calendar-grid .hlh-day-head{
    background:#082b4d!important;
    color:#fff!important;
    border-right:1px solid rgba(255,255,255,.14)!important;
    min-height:38px!important;
    padding:6px 5px!important;
    text-align:center!important;
    font-size:12px!important;
    font-weight:850!important;
}
.hlh-calendar-head small,
.hlh-calendar-day-head small,
.hlh-calendar-grid .hlh-day-head small{
    display:block!important;
    margin-top:2px!important;
    color:#dbeafe!important;
    font-size:10px!important;
    font-weight:700!important;
}
.hlh-calendar-time,
.hlh-calendar-time-cell,
.hlh-calendar-grid .hlh-time-cell{
    background:#f8fafc!important;
    color:#334155!important;
    padding:3px 5px!important;
    font-size:11px!important;
    text-align:right!important;
    border-right:1px solid #d1d5db!important;
    border-bottom:1px solid #eef2f7!important;
}
.hlh-calendar-slot,
.hlh-calendar-cell,
.hlh-calendar-grid .hlh-slot{
    min-height:30px!important;
    height:30px!important;
    border-right:1px solid #e5e7eb!important;
    border-bottom:1px solid #eef2f7!important;
    background:#fff!important;
    position:relative!important;
    overflow:visible!important;
}
.hlh-calendar-add{
    width:16px!important;height:16px!important;min-height:16px!important;
    border-radius:4px!important;font-size:12px!important;line-height:16px!important;
    opacity:.18!important;right:3px!important;top:3px!important;
}
.hlh-calendar-slot:hover .hlh-calendar-add,
.hlh-calendar-cell:hover .hlh-calendar-add{opacity:.75!important;}
.hlh-calendar-event,
.hlh-calendar-event-block{
    border-radius:4px!important;
    padding:4px 5px 16px!important;
    font-size:10.5px!important;
    line-height:1.12!important;
    box-shadow:none!important;
    border:1px solid rgba(15,23,42,.2)!important;
    overflow:hidden!important;
}
.hlh-calendar-event strong,
.hlh-calendar-event-block strong{
    display:block!important;font-size:10.5px!important;line-height:1.1!important;margin:0 0 1px!important;white-space:normal!important;
}
.hlh-calendar-event .hlh-event-time,
.hlh-calendar-event-block .hlh-event-time,
.hlh-calendar-event small,
.hlh-calendar-event-block small{font-size:9.8px!important;line-height:1.05!important;}
.hlh-paid-strip,
.hlh-unpaid-strip,
.hlh-calendar-event .hlh-payment-strip,
.hlh-calendar-event-block .hlh-payment-strip{
    position:absolute!important;left:3px!important;right:3px!important;bottom:3px!important;
    height:14px!important;border-radius:3px!important;padding:0 4px!important;
    font-size:9.8px!important;line-height:14px!important;font-weight:800!important;
}
.hlh-calendar-event .hlh-diary-action-trigger,
.hlh-calendar-event-block .hlh-diary-action-trigger,
.hlh-diary-options-button{
    width:20px!important;height:18px!important;min-height:18px!important;border-radius:4px!important;
    top:3px!important;right:3px!important;font-size:12px!important;
}
.hlh-slot-outside-hours{
    background:#f3f4f6!important;
    background-image:repeating-linear-gradient(135deg,#f3f4f6 0,#f3f4f6 5px,#edf2f7 5px,#edf2f7 10px)!important;
}
@media(max-width:1100px){
    .hlh-admin-wrap .hlh-calendar-wrap,
    .hlh-admin-wrap .hlh-diary-calendar-wrap,
    .hlh-admin-wrap .hlh-calendar-panel,
    .hlh-portal-shell .hlh-calendar-wrap,
    .hlh-portal-shell .hlh-diary-calendar-wrap,
    .hlh-portal-shell .hlh-calendar-panel,
    .hlh-portal-calendar-wrap{overflow-x:auto!important;}
    .hlh-calendar-grid,.hlh-portal-calendar-grid{min-width:920px!important;}
}

/* v0.4.23 - instructor portal add button top-right override */
.hlh-portal-shell .hlh-calendar-cell,
.hlh-portal-shell .hlh-calendar-slot,
.hlh-portal-shell .hlh-slot,
.hlh-portal-calendar-grid .hlh-calendar-cell,
.hlh-portal-calendar-grid .hlh-calendar-slot,
.hlh-portal-calendar-grid .hlh-slot,
.hlh-portal-calendar-wrap .hlh-calendar-cell,
.hlh-portal-calendar-wrap .hlh-calendar-slot{position:relative!important;}
.hlh-portal-shell .hlh-calendar-add,
.hlh-portal-calendar-grid .hlh-calendar-add,
.hlh-portal-calendar-wrap .hlh-calendar-add{
    position:absolute!important;top:4px!important;right:4px!important;left:auto!important;bottom:auto!important;
    width:18px!important;height:18px!important;min-height:18px!important;max-width:18px!important;
    padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;
    border-radius:5px!important;border:1px solid rgba(190,24,93,.18)!important;background:#fce7f3!important;color:#be185d!important;
    font-size:13px!important;line-height:1!important;font-weight:900!important;opacity:.42!important;box-shadow:none!important;z-index:8!important;cursor:pointer!important;
}
.hlh-portal-shell .hlh-calendar-add:hover,
.hlh-portal-shell .hlh-calendar-add:focus,
.hlh-portal-calendar-grid .hlh-calendar-add:hover,
.hlh-portal-calendar-grid .hlh-calendar-add:focus{opacity:1!important;background:#d83087!important;color:#fff!important;}
.hlh-portal-shell .hlh-calendar-cell:has(.hlh-calendar-event) .hlh-calendar-add,
.hlh-portal-shell .hlh-calendar-slot:has(.hlh-calendar-event) .hlh-calendar-add,
.hlh-portal-shell .hlh-calendar-cell:has(.hlh-calendar-event-block) .hlh-calendar-add,
.hlh-portal-shell .hlh-calendar-slot:has(.hlh-calendar-event-block) .hlh-calendar-add{display:none!important;}


/* v0.4.24 - clearer free-slot selector and full-width diary breakout */
.hlh-calendar-cell,
.hlh-calendar-slot,
.hlh-calendar-grid .hlh-slot{
    position:relative!important;
}
.hlh-calendar-add,
.hlh-admin-wrap .hlh-calendar-add,
.hlh-portal-calendar-wrap .hlh-calendar-add,
.hlh-portal-calendar-grid .hlh-calendar-add,
.hlh-instructor-portal .hlh-calendar-add{
    position:absolute!important;
    top:4px!important;
    right:4px!important;
    left:auto!important;
    bottom:auto!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    min-height:18px!important;
    max-width:18px!important;
    padding:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:4px!important;
    border:1px solid #94a3b8!important;
    background:#ffffff!important;
    color:#334155!important;
    -webkit-text-fill-color:#334155!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:900!important;
    opacity:.45!important;
    box-shadow:0 1px 2px rgba(15,23,42,.08)!important;
    z-index:15!important;
    cursor:pointer!important;
}
.hlh-calendar-add:hover,
.hlh-calendar-add:focus,
.hlh-admin-wrap .hlh-calendar-add:hover,
.hlh-admin-wrap .hlh-calendar-add:focus,
.hlh-instructor-portal .hlh-calendar-add:hover,
.hlh-instructor-portal .hlh-calendar-add:focus,
.hlh-portal-calendar-wrap .hlh-calendar-add:hover,
.hlh-portal-calendar-wrap .hlh-calendar-add:focus{
    opacity:1!important;
    background:#0f172a!important;
    border-color:#0f172a!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    outline:2px solid rgba(216,48,135,.22)!important;
    outline-offset:1px!important;
}
.hlh-calendar-add .hlh-plus,
.hlh-admin-wrap .hlh-calendar-add .hlh-plus,
.hlh-instructor-portal .hlh-calendar-add .hlh-plus,
.hlh-portal-calendar-wrap .hlh-calendar-add .hlh-plus{
    display:block!important;
    color:inherit!important;
    -webkit-text-fill-color:currentColor!important;
    font-size:12px!important;
    line-height:1!important;
    transform:translateY(-.5px)!important;
}
.hlh-calendar-cell:has(.hlh-calendar-event) .hlh-calendar-add,
.hlh-calendar-slot:has(.hlh-calendar-event) .hlh-calendar-add,
.hlh-calendar-cell:has(.hlh-calendar-event-block) .hlh-calendar-add,
.hlh-calendar-slot:has(.hlh-calendar-event-block) .hlh-calendar-add,
.hlh-slot-locked .hlh-calendar-add,
.hlh-slot-outside-hours .hlh-calendar-add{
    display:none!important;
}
/* Make the front-end instructor diary break out of theme content limits. */
html body .hlh-instructor-portal:has(.hlh-portal-calendar-wrap){
    width:calc(100vw - 32px)!important;
    max-width:calc(100vw - 32px)!important;
    margin-left:calc(50% - 50vw + 16px)!important;
    margin-right:16px!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
}
html body .hlh-instructor-portal:has(.hlh-portal-calendar-wrap) .hlh-card,
html body .hlh-instructor-portal:has(.hlh-portal-calendar-wrap) .hlh-portal-diary-head,
html body .hlh-instructor-portal:has(.hlh-portal-calendar-wrap) .hlh-portal-diary-actions,
html body .hlh-instructor-portal:has(.hlh-portal-calendar-wrap) .hlh-portal-calendar-wrap{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
}
html body .hlh-instructor-portal:has(.hlh-portal-calendar-wrap) .hlh-portal-calendar-grid,
html body .hlh-instructor-portal:has(.hlh-portal-calendar-wrap) .hlh-calendar-grid{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    grid-template-columns:50px repeat(7,minmax(0,1fr))!important;
}
/* WordPress owner/admin diary should also use the available admin width. */
html body.wp-admin .hlh-admin-wrap:has(.hlh-calendar-wrap){
    width:100%!important;
    max-width:none!important;
    margin-right:0!important;
    box-sizing:border-box!important;
}
html body.wp-admin .hlh-admin-wrap:has(.hlh-calendar-wrap) .hlh-calendar-wrap,
html body.wp-admin .hlh-admin-wrap:has(.hlh-calendar-wrap) .hlh-calendar-grid{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
}
html body.wp-admin .hlh-admin-wrap:has(.hlh-calendar-wrap) .hlh-calendar-grid{
    min-width:0!important;
    grid-template-columns:50px repeat(7,minmax(0,1fr))!important;
}
@media(max-width:1100px){
    html body .hlh-instructor-portal:has(.hlh-portal-calendar-wrap) .hlh-portal-calendar-wrap,
    html body.wp-admin .hlh-admin-wrap:has(.hlh-calendar-wrap) .hlh-calendar-wrap{
        overflow-x:auto!important;
    }
    html body .hlh-instructor-portal:has(.hlh-portal-calendar-wrap) .hlh-portal-calendar-grid,
    html body .hlh-instructor-portal:has(.hlh-portal-calendar-wrap) .hlh-calendar-grid,
    html body.wp-admin .hlh-admin-wrap:has(.hlh-calendar-wrap) .hlh-calendar-grid{
        min-width:920px!important;
    }
}
@media(max-width:700px){
    html body .hlh-instructor-portal:has(.hlh-portal-calendar-wrap){
        width:100%!important;
        max-width:100%!important;
        margin-left:0!important;
        margin-right:0!important;
    }
}


/* v0.4.25: professional pupil profile tidy-up - front-end instructor portal */
.hlh-instructor-portal .hlh-instructor-profile-head{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:12px 16px!important;
  align-items:center!important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 58%,#fff5fa 100%)!important;
  border:1px solid #e5e7eb!important;
  border-left:5px solid #e83e8c!important;
  border-radius:18px!important;
  padding:16px 18px!important;
  margin:0 0 14px!important;
  box-shadow:0 14px 28px rgba(15,23,42,.08)!important;
}
.hlh-instructor-portal .hlh-instructor-profile-head .hlh-mini-button{
  grid-column:1 / -1!important;
  justify-self:start!important;
  min-height:32px!important;
  padding:7px 11px!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:900!important;
  background:#fff!important;
  color:#334155!important;
  border:1px solid #e2e8f0!important;
}
.hlh-instructor-portal .hlh-instructor-profile-head h2{
  grid-column:1 / -1!important;
  margin:2px 0 0!important;
  color:#111827!important;
  font-size:28px!important;
  line-height:1.05!important;
  font-weight:900!important;
}
.hlh-instructor-portal .hlh-instructor-profile-head p{
  grid-column:1 / -1!important;
  margin:0!important;
  color:#475569!important;
  font-size:14px!important;
  font-weight:600!important;
}
.hlh-instructor-portal .hlh-chip-row{
  grid-column:1 / -1!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:4px!important;
}
.hlh-instructor-portal .hlh-chip-row span{
  background:#ffffff!important;
  border:1px solid #e2e8f0!important;
  color:#334155!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 4px 10px rgba(15,23,42,.04)!important;
}
.hlh-instructor-portal .hlh-instructor-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(320px,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
.hlh-instructor-portal .hlh-instructor-grid .hlh-card{
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  background:#ffffff!important;
  box-shadow:0 10px 22px rgba(15,23,42,.06)!important;
  padding:16px!important;
}
.hlh-instructor-portal .hlh-instructor-grid .hlh-card h3{
  margin:0 0 10px!important;
  color:#111827!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1.2!important;
}
.hlh-instructor-portal .hlh-portal-edit-card{
  grid-column:1 / -1!important;
  padding:0!important;
  overflow:hidden!important;
}
.hlh-instructor-portal .hlh-portal-edit-card h3{
  margin:0!important;
  padding:14px 16px!important;
  background:#f8fafc!important;
  border-bottom:1px solid #e5e7eb!important;
}
.hlh-instructor-portal .hlh-portal-edit-card .hlh-form{
  padding:16px!important;
}
.hlh-instructor-portal .hlh-portal-edit-card .hlh-form-grid,
.hlh-instructor-portal .hlh-instructor-grid .hlh-form-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.hlh-instructor-portal .hlh-instructor-grid label{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  font-size:12px!important;
  line-height:1.2!important;
  color:#334155!important;
  font-weight:900!important;
}
.hlh-instructor-portal .hlh-instructor-grid input,
.hlh-instructor-portal .hlh-instructor-grid select,
.hlh-instructor-portal .hlh-instructor-grid textarea{
  width:100%!important;
  min-height:40px!important;
  border:1px solid #cbd5e1!important;
  border-radius:10px!important;
  padding:9px 10px!important;
  background:#ffffff!important;
  color:#111827!important;
  box-shadow:none!important;
}
.hlh-instructor-portal .hlh-instructor-grid textarea{min-height:88px!important;resize:vertical!important;}
.hlh-instructor-portal .hlh-instructor-grid input:focus,
.hlh-instructor-portal .hlh-instructor-grid select:focus,
.hlh-instructor-portal .hlh-instructor-grid textarea:focus{
  border-color:#e83e8c!important;
  box-shadow:0 0 0 3px rgba(232,62,140,.14)!important;
  outline:none!important;
}
.hlh-instructor-portal .hlh-checkbox-label{
  flex-direction:row!important;
  align-items:center!important;
  gap:9px!important;
  min-height:40px!important;
  padding:10px 12px!important;
  background:#f8fafc!important;
  border:1px solid #e5e7eb!important;
  border-radius:10px!important;
}
.hlh-instructor-portal .hlh-checkbox-label input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px!important;accent-color:#e83e8c!important;}
.hlh-instructor-portal .hlh-full-label{margin-top:12px!important;}
.hlh-instructor-portal .hlh-mobile-row{
  display:grid!important;
  gap:4px!important;
  padding:10px 0!important;
  border-bottom:1px solid #f1f5f9!important;
}
.hlh-instructor-portal .hlh-mobile-row:last-child{border-bottom:0!important;}
.hlh-instructor-portal .hlh-mobile-row strong{color:#111827!important;font-weight:900!important;font-size:14px!important;}
.hlh-instructor-portal .hlh-mobile-row span{color:#334155!important;font-size:13px!important;}
.hlh-instructor-portal .hlh-mobile-row small{color:#64748b!important;font-size:12px!important;}
.hlh-instructor-portal .hlh-portal-progress-form{max-height:560px!important;overflow:auto!important;padding-right:6px!important;}
.hlh-instructor-portal .hlh-portal-progress-form label{
  padding:8px 0!important;
  border-bottom:1px solid #f1f5f9!important;
}
.hlh-instructor-portal .hlh-portal-progress-form label:last-of-type{border-bottom:0!important;}
@media (max-width:980px){
  .hlh-instructor-portal .hlh-instructor-grid{grid-template-columns:1fr!important;}
  .hlh-instructor-portal .hlh-portal-edit-card .hlh-form-grid,
  .hlh-instructor-portal .hlh-instructor-grid .hlh-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:620px){
  .hlh-instructor-portal .hlh-instructor-profile-head{padding:14px!important;border-radius:15px!important;}
  .hlh-instructor-portal .hlh-instructor-profile-head h2{font-size:23px!important;}
  .hlh-instructor-portal .hlh-portal-edit-card .hlh-form-grid,
  .hlh-instructor-portal .hlh-instructor-grid .hlh-form-grid{grid-template-columns:1fr!important;}
  .hlh-instructor-portal .hlh-instructor-grid .hlh-card{padding:14px!important;border-radius:14px!important;}
}

/* v0.4.26: pupil profile visible professional layout repair - loaded explicitly */
html body .hlh-instructor-portal .hlh-instructor-profile-head{
  display:grid!important;grid-template-columns:1fr auto!important;gap:10px 16px!important;align-items:center!important;
  padding:18px 20px!important;margin:0 0 16px!important;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 68%,#fff1f7 100%)!important;
  border:1px solid #e5e7eb!important;border-left:5px solid #d83087!important;border-radius:18px!important;box-shadow:0 12px 30px rgba(15,23,42,.08)!important;
}
html body .hlh-instructor-portal .hlh-instructor-profile-head .hlh-mini-button{grid-column:1 / -1!important;justify-self:start!important;background:#fff!important;border:1px solid #dbe3ee!important;color:#243044!important;border-radius:10px!important;padding:7px 11px!important;font-size:12px!important;text-decoration:none!important;box-shadow:none!important;}
html body .hlh-instructor-portal .hlh-instructor-profile-head h2{grid-column:1 / -1!important;margin:0!important;font-size:clamp(26px,3vw,38px)!important;line-height:1.03!important;color:#111827!important;font-weight:900!important;letter-spacing:-.04em!important;}
html body .hlh-instructor-portal .hlh-instructor-profile-head p{grid-column:1 / -1!important;margin:0!important;color:#475569!important;font-size:14px!important;display:flex!important;gap:10px!important;flex-wrap:wrap!important;}
html body .hlh-instructor-portal .hlh-chip-row{grid-column:1 / -1!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:4px!important;}
html body .hlh-instructor-portal .hlh-chip-row span{display:inline-flex!important;align-items:center!important;background:#fff!important;border:1px solid #e2e8f0!important;color:#243044!important;border-radius:999px!important;padding:6px 10px!important;font-size:12px!important;font-weight:800!important;box-shadow:0 3px 10px rgba(15,23,42,.04)!important;}
html body .hlh-instructor-portal .hlh-instructor-grid{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;gap:16px!important;align-items:start!important;}
html body .hlh-instructor-portal .hlh-instructor-grid>.hlh-card{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:16px!important;box-shadow:0 10px 24px rgba(15,23,42,.06)!important;padding:18px!important;overflow:hidden!important;color:#111827!important;}
html body .hlh-instructor-portal .hlh-instructor-grid>.hlh-card h3{margin:0 0 14px!important;color:#111827!important;font-size:18px!important;line-height:1.15!important;font-weight:900!important;letter-spacing:-.02em!important;}
html body .hlh-instructor-portal .hlh-portal-edit-card{grid-column:auto!important;padding:0!important;}
html body .hlh-instructor-portal .hlh-portal-edit-card h3{padding:16px 18px!important;margin:0!important;background:#f8fafc!important;border-bottom:1px solid #e5e7eb!important;}
html body .hlh-instructor-portal .hlh-portal-edit-card form{padding:18px!important;display:block!important;}
html body .hlh-instructor-portal .hlh-portal-edit-card [data-hlh-card-edit][hidden],
html body .hlh-instructor-portal .hlh-portal-edit-card [data-hlh-card-view][hidden]{display:none!important;}
html body .hlh-instructor-portal .hlh-portal-edit-card .hlh-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;align-items:end!important;}
html body .hlh-instructor-portal .hlh-portal-edit-card label,
html body .hlh-instructor-portal .hlh-instructor-grid .hlh-form label{display:flex!important;flex-direction:column!important;gap:6px!important;margin:0!important;color:#334155!important;font-size:12px!important;font-weight:800!important;line-height:1.2!important;}
html body .hlh-instructor-portal .hlh-portal-edit-card input,
html body .hlh-instructor-portal .hlh-portal-edit-card select,
html body .hlh-instructor-portal .hlh-portal-edit-card textarea,
html body .hlh-instructor-portal .hlh-instructor-grid .hlh-form input,
html body .hlh-instructor-portal .hlh-instructor-grid .hlh-form select,
html body .hlh-instructor-portal .hlh-instructor-grid .hlh-form textarea{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;min-height:42px!important;background:#fff!important;color:#111827!important;border:1px solid #cbd5e1!important;border-radius:10px!important;padding:9px 11px!important;font-size:14px!important;box-shadow:none!important;}
html body .hlh-instructor-portal .hlh-portal-edit-card textarea{min-height:92px!important;resize:vertical!important;}
html body .hlh-instructor-portal .hlh-checkbox-label{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;min-height:42px!important;padding:10px 12px!important;border:1px solid #e5e7eb!important;border-radius:10px!important;background:#f8fafc!important;color:#111827!important;}
html body .hlh-instructor-portal .hlh-checkbox-label input[type="checkbox"]{width:18px!important;height:18px!important;min-height:18px!important;min-width:18px!important;accent-color:#d83087!important;margin:0!important;padding:0!important;}
html body .hlh-instructor-portal .hlh-full-label{display:block!important;margin:14px 0 0!important;color:#334155!important;font-size:12px!important;font-weight:800!important;}
html body .hlh-instructor-portal .hlh-full-label textarea{margin-top:6px!important;}
html body .hlh-instructor-portal .hlh-portal-edit-card .hlh-button{margin-top:14px!important;border-radius:10px!important;padding:10px 16px!important;min-height:42px!important;font-size:14px!important;font-weight:900!important;}
html body .hlh-instructor-portal .hlh-progress-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:10px 0!important;border-bottom:1px solid #eef2f7!important;}
html body .hlh-instructor-portal .hlh-progress-row:last-of-type{border-bottom:0!important;}
html body .hlh-instructor-portal .hlh-progress-row span{color:#334155!important;font-size:13px!important;font-weight:700!important;}
html body .hlh-instructor-portal .hlh-progress-row strong{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#f1f5f9!important;color:#0f172a!important;border:1px solid #e2e8f0!important;border-radius:999px!important;padding:5px 9px!important;font-size:11px!important;font-weight:900!important;white-space:nowrap!important;}
html body .hlh-instructor-portal .hlh-mobile-row{display:grid!important;gap:4px!important;padding:11px 0!important;border-bottom:1px solid #eef2f7!important;}
html body .hlh-instructor-portal .hlh-mobile-row:last-child{border-bottom:0!important;}
html body .hlh-instructor-portal .hlh-mobile-row strong{color:#111827!important;font-size:14px!important;font-weight:900!important;}
html body .hlh-instructor-portal .hlh-mobile-row span{color:#334155!important;font-size:13px!important;}
html body .hlh-instructor-portal .hlh-mobile-row small{color:#64748b!important;font-size:12px!important;}
html body .hlh-instructor-portal .hlh-portal-progress-form{max-height:560px!important;overflow:auto!important;padding-right:8px!important;}
html body .hlh-instructor-portal .hlh-portal-progress-form label{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(170px,220px)!important;gap:10px!important;align-items:center!important;padding:8px 0!important;border-bottom:1px solid #eef2f7!important;}
@media(max-width:920px){html body .hlh-instructor-portal .hlh-instructor-grid{grid-template-columns:1fr!important;}html body .hlh-instructor-portal .hlh-portal-edit-card .hlh-form-grid{grid-template-columns:1fr 1fr!important;}}
@media(max-width:620px){html body .hlh-instructor-portal .hlh-portal-edit-card .hlh-form-grid{grid-template-columns:1fr!important;}html body .hlh-instructor-portal .hlh-portal-progress-form label{grid-template-columns:1fr!important;}html body .hlh-instructor-portal .hlh-instructor-profile-head{padding:14px!important;}}


/* v0.4.27 - Full-width responsive instructor portal across every portal page
   This targets the whole front-end instructor portal, not only the diary. */
html body .entry-content:has(.hlh-instructor-portal),
html body .wp-block-post-content:has(.hlh-instructor-portal),
html body .site-main:has(.hlh-instructor-portal),
html body .content-area:has(.hlh-instructor-portal),
html body .page-content:has(.hlh-instructor-portal),
html body .wp-site-blocks:has(.hlh-instructor-portal){
    max-width:none!important;
    width:100%!important;
}
html body .hlh-instructor-portal.hlh-public-app{
    width:calc(100vw - 32px)!important;
    max-width:calc(100vw - 32px)!important;
    margin-left:calc(50% - 50vw + 16px)!important;
    margin-right:16px!important;
    padding:0!important;
    box-sizing:border-box!important;
    color:#0f172a!important;
}
html body .hlh-instructor-portal.hlh-public-app *,
html body .hlh-instructor-portal.hlh-public-app *::before,
html body .hlh-instructor-portal.hlh-public-app *::after{
    box-sizing:border-box!important;
}
/* Keep all main portal panels full width and prevent theme max-widths creeping back in. */
.hlh-instructor-portal .hlh-card,
.hlh-instructor-portal .hlh-portal-card,
.hlh-instructor-portal .hlh-instructor-top,
.hlh-instructor-portal .hlh-instructor-nav,
.hlh-instructor-portal .hlh-instructor-stats,
.hlh-instructor-portal .hlh-instructor-quick,
.hlh-instructor-portal .hlh-list-stack,
.hlh-instructor-portal .hlh-portal-pupils-card,
.hlh-instructor-portal .hlh-portal-settings,
.hlh-instructor-portal .hlh-instructor-profile-head,
.hlh-instructor-portal .hlh-portal-calendar-wrap,
.hlh-instructor-portal .hlh-portal-diary-head,
.hlh-instructor-portal .hlh-portal-diary-actions{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
}
/* Professional full-width shell spacing. */
.hlh-instructor-portal .hlh-instructor-top{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    padding:18px 20px!important;
    border:1px solid #e5e7eb!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,#ffffff 0%,#f8fafc 65%,#fff5fa 100%)!important;
    box-shadow:0 12px 30px rgba(15,23,42,.06)!important;
    margin-bottom:12px!important;
}
.hlh-instructor-portal .hlh-instructor-top h1{
    margin:2px 0 4px!important;
    font-size:clamp(28px,3vw,48px)!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
    color:#0f172a!important;
}
.hlh-instructor-portal .hlh-instructor-top p{margin:0!important;color:#475569!important;}
.hlh-instructor-portal .hlh-instructor-nav{
    display:flex!important;
    gap:8px!important;
    flex-wrap:wrap!important;
    padding:8px!important;
    border:1px solid #e5e7eb!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(15,23,42,.04)!important;
    margin-bottom:12px!important;
}
.hlh-instructor-portal .hlh-instructor-nav a{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:38px!important;
    padding:8px 13px!important;
    border-radius:10px!important;
    border:1px solid #e2e8f0!important;
    background:#fff!important;
    color:#0f172a!important;
    text-decoration:none!important;
    font-size:13px!important;
    font-weight:850!important;
}
.hlh-instructor-portal .hlh-instructor-nav a.is-active,
.hlh-instructor-portal .hlh-instructor-nav a[aria-current="page"]{
    background:#d83087!important;
    border-color:#d83087!important;
    color:#fff!important;
}
/* Responsive cards and grids across dashboard, messages, settings, profile and enquiry screens. */
.hlh-instructor-portal .hlh-instructor-stats,
.hlh-instructor-portal .hlh-instructor-quick,
.hlh-instructor-portal .hlh-instructor-grid,
.hlh-instructor-portal .hlh-form-grid,
.hlh-instructor-portal .hlh-portal-add-pupil-body .hlh-form-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
    gap:12px!important;
}
.hlh-instructor-portal .hlh-instructor-stats a,
.hlh-instructor-portal .hlh-instructor-quick a,
.hlh-instructor-portal .hlh-card{
    border:1px solid #e5e7eb!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 10px 24px rgba(15,23,42,.05)!important;
}
.hlh-instructor-portal .hlh-card{
    padding:18px!important;
    margin-bottom:12px!important;
}
.hlh-instructor-portal .hlh-card h2,
.hlh-instructor-portal .hlh-card h3{
    color:#0f172a!important;
    letter-spacing:-.025em!important;
}
.hlh-instructor-portal .hlh-card h2{font-size:clamp(22px,2.1vw,34px)!important;line-height:1.05!important;margin:0 0 10px!important;}
.hlh-instructor-portal .hlh-card h3{font-size:18px!important;margin:0 0 10px!important;}
.hlh-instructor-portal .hlh-muted{color:#475569!important;}
/* Forms should not collapse into inline clutter. */
.hlh-instructor-portal form.hlh-form,
.hlh-instructor-portal .hlh-form{
    width:100%!important;
    max-width:none!important;
}
.hlh-instructor-portal label{
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
    color:#334155!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:850!important;
}
.hlh-instructor-portal input,
.hlh-instructor-portal select,
.hlh-instructor-portal textarea{
    width:100%!important;
    max-width:100%!important;
    min-height:40px!important;
    border:1px solid #cbd5e1!important;
    border-radius:10px!important;
    padding:9px 11px!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:14px!important;
    box-shadow:none!important;
}
.hlh-instructor-portal textarea{min-height:96px!important;resize:vertical!important;}
.hlh-instructor-portal input:focus,
.hlh-instructor-portal select:focus,
.hlh-instructor-portal textarea:focus{
    outline:3px solid rgba(216,48,135,.16)!important;
    border-color:#d83087!important;
}
.hlh-instructor-portal .hlh-form-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    flex-wrap:wrap!important;
    margin-top:12px!important;
}
.hlh-instructor-portal .hlh-button,
.hlh-instructor-portal button,
.hlh-instructor-portal input[type="submit"]{
    border-radius:10px!important;
    min-height:38px!important;
    padding:8px 13px!important;
    font-size:13px!important;
    font-weight:900!important;
}
/* Lists/tables stay usable on narrow screens without breaking the page. */
.hlh-instructor-portal table,
.hlh-instructor-portal .widefat{
    width:100%!important;
    max-width:100%!important;
    border-collapse:collapse!important;
}
.hlh-instructor-portal .hlh-table-wrap,
.hlh-instructor-portal .hlh-list-stack{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
}
/* Full width diary within portal, regardless of page/theme wrappers. */
html body .hlh-instructor-portal .hlh-portal-calendar-wrap,
html body .hlh-instructor-portal .hlh-calendar-wrap,
html body .hlh-instructor-portal .hlh-diary-calendar-wrap{
    width:100%!important;
    max-width:none!important;
    overflow-x:hidden!important;
}
html body .hlh-instructor-portal .hlh-portal-calendar-grid,
html body .hlh-instructor-portal .hlh-calendar-grid{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    grid-template-columns:50px repeat(7,minmax(0,1fr))!important;
}
/* Medium screens keep full-width feel but allow the diary to scroll only when genuinely needed. */
@media(max-width:1180px){
    html body .hlh-instructor-portal .hlh-portal-calendar-wrap,
    html body .hlh-instructor-portal .hlh-calendar-wrap,
    html body .hlh-instructor-portal .hlh-diary-calendar-wrap{
        overflow-x:auto!important;
        -webkit-overflow-scrolling:touch!important;
    }
    html body .hlh-instructor-portal .hlh-portal-calendar-grid,
    html body .hlh-instructor-portal .hlh-calendar-grid{
        min-width:920px!important;
    }
}
@media(max-width:760px){
    html body .hlh-instructor-portal.hlh-public-app{
        width:100%!important;
        max-width:100%!important;
        margin-left:0!important;
        margin-right:0!important;
        padding:0 10px!important;
    }
    .hlh-instructor-portal .hlh-instructor-top{
        display:block!important;
        padding:16px!important;
        border-radius:16px!important;
    }
    .hlh-instructor-portal .hlh-instructor-top .hlh-mini-button{margin-top:12px!important;width:100%!important;}
    .hlh-instructor-portal .hlh-instructor-nav{
        flex-wrap:nowrap!important;
        overflow-x:auto!important;
        -webkit-overflow-scrolling:touch!important;
        padding:7px!important;
        border-radius:13px!important;
    }
    .hlh-instructor-portal .hlh-instructor-nav a{white-space:nowrap!important;}
    .hlh-instructor-portal .hlh-instructor-grid,
    .hlh-instructor-portal .hlh-form-grid,
    .hlh-instructor-portal .hlh-portal-add-pupil-body .hlh-form-grid{
        grid-template-columns:1fr!important;
    }
    .hlh-instructor-portal .hlh-card{padding:14px!important;border-radius:14px!important;}
    .hlh-instructor-portal .hlh-form-actions .hlh-button,
    .hlh-instructor-portal .hlh-form-actions button{width:100%!important;}
}

/* v0.4.28 – simpler Add Event control and lighter professional typography */
html body .hlh-instructor-portal,
html body .hlh-instructor-portal *{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
}
html body .hlh-instructor-portal h1,
html body .hlh-instructor-portal h2,
html body .hlh-instructor-portal h3,
html body .hlh-instructor-portal .hlh-kicker,
html body .hlh-instructor-portal .hlh-card h2,
html body .hlh-instructor-portal .hlh-card h3{
  font-weight:700!important;
  letter-spacing:-.025em!important;
}
html body .hlh-instructor-portal .hlh-kicker{
  font-weight:700!important;
  letter-spacing:.08em!important;
}
html body .hlh-instructor-portal p,
html body .hlh-instructor-portal label,
html body .hlh-instructor-portal input,
html body .hlh-instructor-portal select,
html body .hlh-instructor-portal textarea,
html body .hlh-instructor-portal td,
html body .hlh-instructor-portal th{
  font-weight:400!important;
}
html body .hlh-instructor-portal strong,
html body .hlh-instructor-portal b{
  font-weight:650!important;
}
html body .hlh-instructor-portal .hlh-button,
html body .hlh-instructor-portal button,
html body .hlh-instructor-portal .button{
  font-weight:650!important;
}
html body .hlh-instructor-portal .hlh-diary-quick-actions.hlh-single-event-action{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:12px 0!important;
  margin:10px 0 14px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body .hlh-instructor-portal .hlh-single-event-action .hlh-button{
  min-height:40px!important;
  padding:9px 18px!important;
  border-radius:10px!important;
  font-size:14px!important;
  line-height:1.1!important;
}
html body .hlh-instructor-portal .hlh-single-event-action .hlh-muted{
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.35!important;
}
@media(max-width:640px){
  html body .hlh-instructor-portal .hlh-diary-quick-actions.hlh-single-event-action{align-items:stretch!important;flex-direction:column!important;gap:8px!important;}
  html body .hlh-instructor-portal .hlh-single-event-action .hlh-button{width:100%!important;justify-content:center!important;}
}


/* v0.4.29 – Global font refresh across the full plugin */
.hlh-admin-wrap,
.hlh-admin-wrap *,
.hlh-public,
.hlh-public *,
.hlh-instructor-portal,
.hlh-instructor-portal *{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.hlh-admin-wrap h1,
.hlh-admin-wrap h2,
.hlh-admin-wrap h3,
.hlh-public h1,
.hlh-public h2,
.hlh-public h3,
.hlh-instructor-portal h1,
.hlh-instructor-portal h2,
.hlh-instructor-portal h3{
  font-weight:650!important;
  letter-spacing:-.025em!important;
  line-height:1.15!important;
}
.hlh-admin-wrap h1,
.hlh-public h1,
.hlh-instructor-portal h1{font-weight:680!important;}
.hlh-admin-wrap p,
.hlh-admin-wrap li,
.hlh-admin-wrap label,
.hlh-admin-wrap input,
.hlh-admin-wrap select,
.hlh-admin-wrap textarea,
.hlh-admin-wrap td,
.hlh-public p,
.hlh-public li,
.hlh-public label,
.hlh-public input,
.hlh-public select,
.hlh-public textarea,
.hlh-public td,
.hlh-instructor-portal p,
.hlh-instructor-portal li,
.hlh-instructor-portal label,
.hlh-instructor-portal input,
.hlh-instructor-portal select,
.hlh-instructor-portal textarea,
.hlh-instructor-portal td{
  font-weight:400!important;
}
.hlh-admin-wrap th,
.hlh-public th,
.hlh-instructor-portal th,
.hlh-admin-wrap strong,
.hlh-admin-wrap b,
.hlh-public strong,
.hlh-public b,
.hlh-instructor-portal strong,
.hlh-instructor-portal b{
  font-weight:600!important;
}
.hlh-admin-wrap .hlh-button,
.hlh-admin-wrap button,
.hlh-admin-wrap .button,
.hlh-public .hlh-button,
.hlh-public button,
.hlh-public .button,
.hlh-instructor-portal .hlh-button,
.hlh-instructor-portal button,
.hlh-instructor-portal .button{
  font-weight:600!important;
}
.hlh-admin-wrap .hlh-kicker,
.hlh-public .hlh-public-kicker,
.hlh-public .hlh-kicker,
.hlh-instructor-portal .hlh-kicker{
  font-weight:650!important;
  letter-spacing:.075em!important;
}
.hlh-admin-wrap .hlh-card-number,
.hlh-public .hlh-card-number,
.hlh-instructor-portal .hlh-card-number{
  font-weight:680!important;
}
.hlh-admin-wrap .hlh-pill,
.hlh-admin-wrap .hlh-payment-pill,
.hlh-public .hlh-pill,
.hlh-public .hlh-payment-pill,
.hlh-instructor-portal .hlh-pill,
.hlh-instructor-portal .hlh-payment-pill{
  font-weight:600!important;
}
.hlh-admin-wrap .hlh-diary-event,
.hlh-admin-wrap .hlh-calendar-event,
.hlh-public .hlh-diary-event,
.hlh-public .hlh-calendar-event,
.hlh-instructor-portal .hlh-diary-event,
.hlh-instructor-portal .hlh-calendar-event{
  font-weight:500!important;
}
.hlh-admin-wrap .hlh-diary-event strong,
.hlh-admin-wrap .hlh-calendar-event strong,
.hlh-public .hlh-diary-event strong,
.hlh-public .hlh-calendar-event strong,
.hlh-instructor-portal .hlh-diary-event strong,
.hlh-instructor-portal .hlh-calendar-event strong{
  font-weight:650!important;
}


/* === v0.4.30 Global Professional Font & Weight Reset ===
   Purpose: make the full Horizon Learner Hub UI lighter, cleaner and more professional.
   This is intentionally loaded at the end with high specificity to override earlier chunky styles. */
:root{
  --hlh-ui-font: "Segoe UI", "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --hlh-weight-normal: 400;
  --hlh-weight-medium: 500;
  --hlh-weight-semi: 600;
  --hlh-weight-bold: 650;
}

html body .hlh-admin-wrap,
html body .hlh-admin-wrap *,
html body .hlh-instructor-portal,
html body .hlh-instructor-portal *,
html body .hlh-mobile-app,
html body .hlh-mobile-app *,
html body .hlh-public,
html body .hlh-public *,
html body .hlh-enquiry-public,
html body .hlh-enquiry-public *{
  font-family: var(--hlh-ui-font) !important;
  letter-spacing: normal !important;
}

html body .hlh-admin-wrap,
html body .hlh-instructor-portal,
html body .hlh-mobile-app,
html body .hlh-public,
html body .hlh-enquiry-public{
  font-weight: 400 !important;
  color: #1f2937 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headings: strong enough to read, no more 900/950 heavy blocks */
html body .hlh-admin-wrap h1,
html body .hlh-admin-wrap h2,
html body .hlh-admin-wrap h3,
html body .hlh-admin-wrap h4,
html body .hlh-instructor-portal h1,
html body .hlh-instructor-portal h2,
html body .hlh-instructor-portal h3,
html body .hlh-instructor-portal h4,
html body .hlh-mobile-app h1,
html body .hlh-mobile-app h2,
html body .hlh-mobile-app h3,
html body .hlh-mobile-app h4,
html body .hlh-public h1,
html body .hlh-public h2,
html body .hlh-public h3,
html body .hlh-public h4,
html body .hlh-enquiry-public h1,
html body .hlh-enquiry-public h2,
html body .hlh-enquiry-public h3,
html body .hlh-enquiry-public h4{
  font-family: var(--hlh-ui-font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.018em !important;
  line-height: 1.18 !important;
}

html body .hlh-admin-wrap h1,
html body .hlh-instructor-portal h1,
html body .hlh-mobile-app h1,
html body .hlh-public h1,
html body .hlh-enquiry-public h1{
  font-weight: 650 !important;
  letter-spacing: -0.025em !important;
}

/* Body text and labels */
html body .hlh-admin-wrap p,
html body .hlh-admin-wrap li,
html body .hlh-instructor-portal p,
html body .hlh-instructor-portal li,
html body .hlh-mobile-app p,
html body .hlh-mobile-app li,
html body .hlh-public p,
html body .hlh-public li,
html body .hlh-enquiry-public p,
html body .hlh-enquiry-public li{
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

html body .hlh-admin-wrap label,
html body .hlh-instructor-portal label,
html body .hlh-mobile-app label,
html body .hlh-public label,
html body .hlh-enquiry-public label{
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

html body .hlh-admin-wrap strong,
html body .hlh-instructor-portal strong,
html body .hlh-mobile-app strong,
html body .hlh-public strong,
html body .hlh-enquiry-public strong,
html body .hlh-admin-wrap b,
html body .hlh-instructor-portal b,
html body .hlh-mobile-app b,
html body .hlh-public b,
html body .hlh-enquiry-public b{
  font-weight: 600 !important;
}

/* Buttons and tabs: professional medium weight */
html body .hlh-admin-wrap button,
html body .hlh-admin-wrap .button,
html body .hlh-admin-wrap .hlh-button,
html body .hlh-admin-wrap a.hlh-button,
html body .hlh-instructor-portal button,
html body .hlh-instructor-portal .button,
html body .hlh-instructor-portal .hlh-button,
html body .hlh-instructor-portal a.hlh-button,
html body .hlh-mobile-app button,
html body .hlh-mobile-app .hlh-button,
html body .hlh-mobile-app a.hlh-button,
html body .hlh-public button,
html body .hlh-public .hlh-button,
html body .hlh-public a.hlh-button,
html body .hlh-enquiry-public button{
  font-family: var(--hlh-ui-font) !important;
  font-weight: 550 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Specific older heavy components */
html body .hlh-instructor-portal .hlh-portal-title,
html body .hlh-instructor-portal .hlh-portal-hero h1,
html body .hlh-instructor-portal .hlh-portal-pupils-head h2,
html body .hlh-instructor-portal .hlh-instructor-profile-head h2,
html body .hlh-admin-wrap .hlh-profile-head h2,
html body .hlh-mobile-app .hlh-app-hero h2,
html body .hlh-mobile-app .hlh-student-hero h2{
  font-weight: 650 !important;
  letter-spacing: -0.03em !important;
}

html body .hlh-instructor-portal .hlh-top-nav a,
html body .hlh-instructor-portal .hlh-portal-status-tabs a,
html body .hlh-admin-wrap .hlh-tabs a,
html body .hlh-admin-wrap .hlh-status-tabs a,
html body .hlh-mobile-app .hlh-app-section-buttons a,
html body .hlh-mobile-app .hlh-mobile-menu > summary,
html body .hlh-mobile-app .hlh-mobile-menu > summary span,
html body .hlh-mobile-app .hlh-section-tile,
html body .hlh-mobile-app .hlh-section-tile *{
  font-weight: 550 !important;
  letter-spacing: 0 !important;
}

/* Diary readability without chunky text */
html body .hlh-diary-grid,
html body .hlh-diary-grid *,
html body .hlh-calendar-grid,
html body .hlh-calendar-grid *,
html body .hlh-week-diary,
html body .hlh-week-diary *{
  font-family: var(--hlh-ui-font) !important;
}
html body .hlh-diary-day-head,
html body .hlh-calendar-day-head,
html body .hlh-diary-time,
html body .hlh-calendar-time,
html body .hlh-time-col{
  font-weight: 500 !important;
}
html body .hlh-diary-event,
html body .hlh-calendar-event,
html body .hlh-event-block{
  font-weight: 450 !important;
  letter-spacing: 0 !important;
}
html body .hlh-diary-event strong,
html body .hlh-calendar-event strong,
html body .hlh-event-block strong{
  font-weight: 600 !important;
}

/* Cards, chips and badges */
html body .hlh-chip-row span,
html body .hlh-chip,
html body .hlh-badge,
html body .hlh-pill,
html body .hlh-stat-card,
html body .hlh-summary-card,
html body .hlh-app-card{
  font-weight: 450 !important;
}
html body .hlh-chip-row span strong,
html body .hlh-chip strong,
html body .hlh-badge strong,
html body .hlh-pill strong,
html body .hlh-stat-card strong,
html body .hlh-summary-card strong,
html body .hlh-app-card strong{
  font-weight: 600 !important;
}

/* Form controls */
html body .hlh-admin-wrap input,
html body .hlh-admin-wrap select,
html body .hlh-admin-wrap textarea,
html body .hlh-instructor-portal input,
html body .hlh-instructor-portal select,
html body .hlh-instructor-portal textarea,
html body .hlh-mobile-app input,
html body .hlh-mobile-app select,
html body .hlh-mobile-app textarea,
html body .hlh-public input,
html body .hlh-public select,
html body .hlh-public textarea,
html body .hlh-enquiry-public input,
html body .hlh-enquiry-public select,
html body .hlh-enquiry-public textarea{
  font-family: var(--hlh-ui-font) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* Pop-outs and modal action buttons */
html body .hlh-diary-action-popout,
html body .hlh-diary-action-popout *{
  font-family: var(--hlh-ui-font) !important;
}
html body .hlh-diary-action-popout .hlh-diary-action-title{
  font-weight: 600 !important;
}
html body .hlh-diary-action-popout .hlh-mini-edit-button,
html body .hlh-diary-action-popout .hlh-mini-cancel-button,
html body .hlh-diary-action-popout .hlh-mini-gap-button,
html body .hlh-diary-action-popout .hlh-mini-delete-button{
  font-weight: 550 !important;
}
html body .hlh-diary-action-close{
  font-weight: 500 !important;
}


/* === v0.4.31 Professional Scale + Font Fix ===
   Stronger override: removes the chunky/Fisher Price feel across admin, portal and student app. */
:root{
  --hlh-ui-font: "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --hlh-ink:#111827;
  --hlh-muted:#4b5563;
  --hlh-border:#dfe5ee;
}

html body .hlh-admin-wrap,
html body .hlh-instructor-portal,
html body .hlh-public,
html body .hlh-mobile-app,
html body .hlh-enquiry-public,
html body .hlh-portal-shell,
html body .hlh-portal-wrap{
  font-family:var(--hlh-ui-font)!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:var(--hlh-ink)!important;
  letter-spacing:0!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:optimizeLegibility!important;
}
html body .hlh-admin-wrap *,
html body .hlh-instructor-portal *,
html body .hlh-public *,
html body .hlh-mobile-app *,
html body .hlh-enquiry-public *{
  font-family:var(--hlh-ui-font)!important;
  letter-spacing:0!important;
}

/* Headings: lighter and smaller */
html body .hlh-admin-wrap h1,
html body .hlh-instructor-portal h1,
html body .hlh-public h1,
html body .hlh-mobile-app h1,
html body .hlh-enquiry-public h1{
  font-size:clamp(28px,3vw,42px)!important;
  line-height:1.05!important;
  font-weight:600!important;
  letter-spacing:-.035em!important;
  margin:0 0 8px!important;
}
html body .hlh-admin-wrap h2,
html body .hlh-instructor-portal h2,
html body .hlh-public h2,
html body .hlh-mobile-app h2,
html body .hlh-enquiry-public h2{
  font-size:clamp(22px,2.2vw,32px)!important;
  line-height:1.12!important;
  font-weight:550!important;
  letter-spacing:-.028em!important;
  margin:0 0 8px!important;
}
html body .hlh-admin-wrap h3,
html body .hlh-instructor-portal h3,
html body .hlh-public h3,
html body .hlh-mobile-app h3,
html body .hlh-enquiry-public h3{
  font-size:18px!important;
  font-weight:550!important;
  letter-spacing:-.012em!important;
}
html body .hlh-kicker,
html body .hlh-public-kicker,
html body .hlh-instructor-portal .hlh-kicker{
  font-size:11px!important;
  font-weight:650!important;
  letter-spacing:.08em!important;
}

/* Buttons/tabs: smaller, cleaner, less rounded */
html body .hlh-admin-wrap .hlh-button,
html body .hlh-admin-wrap button,
html body .hlh-admin-wrap .button,
html body .hlh-instructor-portal .hlh-button,
html body .hlh-instructor-portal button,
html body .hlh-instructor-portal .button,
html body .hlh-public .hlh-button,
html body .hlh-public button,
html body .hlh-mobile-app .hlh-button,
html body .hlh-mobile-app button{
  min-height:36px!important;
  padding:8px 13px!important;
  border-radius:9px!important;
  font-size:13px!important;
  font-weight:550!important;
  line-height:1.2!important;
  box-shadow:none!important;
}
html body .hlh-instructor-portal .hlh-top-nav,
html body .hlh-admin-wrap .hlh-tabs{
  gap:7px!important;
  padding:8px 0!important;
}
html body .hlh-instructor-portal .hlh-top-nav a,
html body .hlh-admin-wrap .hlh-tabs a,
html body .hlh-instructor-portal .hlh-portal-status-tabs a,
html body .hlh-admin-wrap .hlh-status-tabs a{
  min-height:34px!important;
  padding:7px 12px!important;
  border-radius:9px!important;
  font-size:13px!important;
  font-weight:550!important;
  box-shadow:none!important;
}

/* Cards/hero: reduce bulk */
html body .hlh-card,
html body .hlh-panel,
html body .hlh-portal-card,
html body .hlh-portal-diary-head,
html body .hlh-portal-diary-actions,
html body .hlh-portal-calendar-wrap,
html body .hlh-admin-wrap .hlh-card,
html body .hlh-admin-wrap .hlh-panel{
  border-radius:12px!important;
  border:1px solid var(--hlh-border)!important;
  box-shadow:0 8px 24px rgba(15,23,42,.055)!important;
  padding:14px!important;
}
html body .hlh-instructor-portal .hlh-portal-hero,
html body .hlh-admin-wrap .hlh-admin-hero{
  padding:18px 20px!important;
  border-radius:14px!important;
  box-shadow:0 10px 30px rgba(15,23,42,.08)!important;
}
html body .hlh-instructor-portal .hlh-portal-hero h1,
html body .hlh-instructor-portal .hlh-portal-title{
  font-size:clamp(30px,3.4vw,46px)!important;
  font-weight:600!important;
  letter-spacing:-.04em!important;
}
html body .hlh-instructor-portal p,
html body .hlh-admin-wrap p,
html body .hlh-public p,
html body .hlh-mobile-app p{
  font-size:14px!important;
  color:var(--hlh-muted)!important;
}

/* Diary: make the working view crisp rather than chunky */
html body .hlh-calendar-grid,
html body .hlh-portal-calendar-grid,
html body .hlh-week-diary{
  font-size:12px!important;
}
html body .hlh-calendar-head,
html body .hlh-portal-calendar-grid .hlh-day-head,
html body .hlh-calendar-day-head{
  min-height:42px!important;
  padding:7px 8px!important;
  font-size:12px!important;
  font-weight:550!important;
}
html body .hlh-calendar-time,
html body .hlh-time-col,
html body .hlh-diary-time{
  min-height:54px!important;
  padding:6px 7px!important;
  font-size:12px!important;
  font-weight:450!important;
}
html body .hlh-calendar-cell,
html body .hlh-portal-calendar-cell,
html body .hlh-diary-slot{
  min-height:54px!important;
  padding:4px!important;
}
html body .hlh-calendar-event,
html body .hlh-diary-event,
html body .hlh-event-block,
html body .hlh-calendar-event-block{
  border-radius:7px!important;
  padding:7px!important;
  box-shadow:0 4px 12px rgba(15,23,42,.18)!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.2!important;
}
html body .hlh-calendar-event strong,
html body .hlh-diary-event strong,
html body .hlh-event-block strong,
html body .hlh-calendar-event-block strong{
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.15!important;
}
html body .hlh-calendar-event small,
html body .hlh-calendar-event em,
html body .hlh-diary-event small,
html body .hlh-diary-event em,
html body .hlh-event-block small,
html body .hlh-event-block em{
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.15!important;
}
html body .hlh-paid-strip,
html body .hlh-event-paid,
html body .hlh-event-unpaid,
html body .hlh-payment-strip{
  min-height:14px!important;
  padding:1px 5px!important;
  border-radius:3px!important;
  font-size:10px!important;
  font-weight:550!important;
}
html body .hlh-diary-options-button,
html body .hlh-diary-action-button,
html body .hlh-event-options,
html body .hlh-calendar-event .hlh-diary-options-button,
html body .hlh-event-block .hlh-diary-options-button{
  width:24px!important;
  height:22px!important;
  min-height:22px!important;
  border-radius:6px!important;
  padding:0!important;
  font-size:14px!important;
  line-height:1!important;
}

/* Forms */
html body .hlh-admin-wrap input,
html body .hlh-admin-wrap select,
html body .hlh-admin-wrap textarea,
html body .hlh-instructor-portal input,
html body .hlh-instructor-portal select,
html body .hlh-instructor-portal textarea,
html body .hlh-public input,
html body .hlh-public select,
html body .hlh-public textarea,
html body .hlh-mobile-app input,
html body .hlh-mobile-app select,
html body .hlh-mobile-app textarea{
  min-height:36px!important;
  border-radius:8px!important;
  font-size:14px!important;
  font-weight:400!important;
  padding:7px 9px!important;
}
html body .hlh-admin-wrap label,
html body .hlh-instructor-portal label,
html body .hlh-public label,
html body .hlh-mobile-app label{
  font-size:13px!important;
  font-weight:500!important;
}

@media(max-width:760px){
  html body .hlh-instructor-portal .hlh-portal-hero h1,
  html body .hlh-instructor-portal .hlh-portal-title{font-size:30px!important;}
  html body .hlh-instructor-portal h2,
  html body .hlh-admin-wrap h2{font-size:24px!important;}
}

/* v0.4.32 - Neat instructor portal pupil table */
html body .hlh-instructor-portal .hlh-portal-pupil-table-wrap{
  width:100%!important;
  max-width:none!important;
  margin:12px 0 0!important;
  padding:0!important;
  border:1px solid #e5e7eb!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 2px 10px rgba(15,23,42,.05)!important;
}
html body .hlh-instructor-portal .hlh-portal-pupil-table{
  display:block!important;
  width:100%!important;
}
html body .hlh-instructor-portal .hlh-portal-pupil-row{
  display:grid!important;
  grid-template-columns:minmax(220px,1.4fr) minmax(120px,.7fr) minmax(160px,.9fr) minmax(220px,1.1fr)!important;
  gap:18px!important;
  align-items:center!important;
  min-height:50px!important;
  padding:10px 18px!important;
  border-bottom:1px solid #edf0f4!important;
  text-decoration:none!important;
  color:#1f2937!important;
  background:#fff!important;
  font-size:14px!important;
  line-height:1.25!important;
}
html body .hlh-instructor-portal a.hlh-portal-pupil-row:hover{
  background:#f8fafc!important;
  box-shadow:inset 3px 0 0 #d72f91!important;
}
html body .hlh-instructor-portal .hlh-portal-pupil-row:last-child{border-bottom:0!important;}
html body .hlh-instructor-portal .hlh-portal-pupil-row-head{
  min-height:42px!important;
  background:#f1f5f9!important;
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:650!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
html body .hlh-instructor-portal .hlh-pupil-name-cell{
  display:grid!important;
  gap:2px!important;
}
html body .hlh-instructor-portal .hlh-pupil-name-cell strong{
  font-size:14px!important;
  font-weight:650!important;
  color:#0f172a!important;
}
html body .hlh-instructor-portal .hlh-pupil-name-cell small{
  font-size:12px!important;
  color:#64748b!important;
}
html body .hlh-instructor-portal .hlh-next-booked,
html body .hlh-instructor-portal .hlh-next-not-booked{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.1!important;
  background:#dcfce7!important;
  color:#166534!important;
}
html body .hlh-instructor-portal .hlh-next-not-booked{
  background:#eef2f7!important;
  color:#475569!important;
}
html body .hlh-instructor-portal .hlh-progress-meter{
  display:inline-block!important;
  vertical-align:middle!important;
  width:min(170px,70%)!important;
  height:10px!important;
  margin-right:8px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:#e5e7eb!important;
}
html body .hlh-instructor-portal .hlh-progress-meter i{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:#55bd78!important;
}
html body .hlh-instructor-portal .hlh-portal-pupil-row b{
  font-size:12px!important;
  font-weight:650!important;
  color:#334155!important;
}
@media(max-width:760px){
  html body .hlh-instructor-portal .hlh-portal-pupil-table-wrap{
    border-radius:12px!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  html body .hlh-instructor-portal .hlh-portal-pupil-row-head{display:none!important;}
  html body .hlh-instructor-portal .hlh-portal-pupil-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin:0 0 10px!important;
    padding:14px!important;
    border:1px solid #e5e7eb!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 10px rgba(15,23,42,.06)!important;
  }
  html body .hlh-instructor-portal .hlh-portal-pupil-row span[data-label]::before{
    content:attr(data-label) ': ';
    font-size:12px!important;
    font-weight:650!important;
    color:#64748b!important;
  }
  html body .hlh-instructor-portal .hlh-progress-meter{width:70%!important;}
}

/* v0.4.33 - portal pupil profile section tabs */
html body .hlh-instructor-portal .hlh-portal-profile-tabs{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin:14px 0 16px!important;
  padding:8px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:14px!important;
  box-shadow:0 8px 20px rgba(15,23,42,.05)!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:9px 14px!important;
  border-radius:10px!important;
  border:1px solid rgba(15,23,42,.12)!important;
  background:#f8fafc!important;
  color:#172033!important;
  font-size:14px!important;
  line-height:1.1!important;
  font-weight:600!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a:hover,
html body .hlh-instructor-portal .hlh-portal-profile-tabs a:focus{
  border-color:#d42d91!important;
  color:#111827!important;
  background:#fff5fb!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a.is-active{
  background:#d42d91!important;
  color:#fff!important;
  border-color:#d42d91!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-section{
  margin-top:0!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-section .hlh-card,
html body .hlh-instructor-portal .hlh-portal-profile-section.hlh-card{
  border-radius:14px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.055)!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-section h3{
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:650!important;
  margin:0 0 14px!important;
  color:#111827!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-section .hlh-form-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:12px 14px!important;
  align-items:end!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-section label{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  font-size:13px!important;
  font-weight:600!important;
  color:#334155!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-section input,
html body .hlh-instructor-portal .hlh-portal-profile-section select,
html body .hlh-instructor-portal .hlh-portal-profile-section textarea{
  width:100%!important;
  min-height:38px!important;
  border:1px solid #cbd5e1!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#111827!important;
  font-size:14px!important;
  padding:8px 10px!important;
  box-shadow:none!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-section .hlh-checkbox-label{
  flex-direction:row!important;
  align-items:center!important;
  gap:9px!important;
  min-height:38px!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-section .hlh-checkbox-label input[type="checkbox"]{
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  padding:0!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-section .hlh-mobile-row{
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  padding:10px 12px!important;
  margin:0 0 8px!important;
  display:grid!important;
  gap:3px!important;
}
@media (max-width: 720px){
  html body .hlh-instructor-portal .hlh-portal-profile-tabs{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body .hlh-instructor-portal .hlh-portal-profile-tabs a{
    flex:0 0 auto!important;
  }
}

/* v0.5.47 - profile tabs aligned with the current Hub controls */
html body .hlh-instructor-portal .hlh-portal-profile-tabs{
  gap:4px!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  margin:14px 0 16px!important;
  padding:5px!important;
  background:#f1f5f9!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  box-shadow:none!important;
  scrollbar-width:thin!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a{
  flex:0 0 auto!important;
  min-height:38px!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#334155!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:750!important;
  box-shadow:none!important;
  transition:color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a:hover{
  background:rgba(255,255,255,.72)!important;
  color:#111827!important;
  transform:translateY(-1px)!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a:focus-visible{
  outline:3px solid rgba(216,45,145,.22)!important;
  outline-offset:1px!important;
}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a.is-active{
  background:linear-gradient(135deg,#5b2b86 0%,#d82d91 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 4px 12px rgba(91,43,134,.22)!important;
}
@media (max-width:560px){
  html body .hlh-instructor-portal .hlh-portal-profile-tabs{
    gap:3px!important;
    padding:4px!important;
    border-radius:10px!important;
  }
  html body .hlh-instructor-portal .hlh-portal-profile-tabs a{
    min-height:36px!important;
    padding:0 12px!important;
    border-radius:7px!important;
    font-size:12.5px!important;
  }
}

/* v0.4.34 payment summary cards */
html body .hlh-payment-summary{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(130px,1fr))!important;
  gap:10px!important;
  margin:0 0 14px!important;
}
html body .hlh-payment-summary-card{
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:12px!important;
  padding:12px 14px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.045)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
html body .hlh-payment-summary-card span{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:650!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}
html body .hlh-payment-summary-card strong{
  color:#0f172a!important;
  font-size:20px!important;
  line-height:1.1!important;
  font-weight:750!important;
}
html body .hlh-payment-summary-card-warning{
  border-color:rgba(219,39,119,.25)!important;
  background:#fff7fb!important;
}
@media(max-width:980px){
  html body .hlh-payment-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:540px){
  html body .hlh-payment-summary{grid-template-columns:1fr!important;}
}

/* v0.4.35 - minimal pupil profile heading */
html body .hlh-instructor-portal .hlh-profile-head-minimal{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding:14px 18px!important;
  margin:0 0 12px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 4px 14px rgba(15,23,42,.05)!important;
  border-left:4px solid #d63384!important;
}
html body .hlh-instructor-portal .hlh-profile-head-minimal h2{
  margin:0!important;
  font-size:clamp(24px,2.1vw,32px)!important;
  line-height:1.1!important;
  font-weight:700!important;
  letter-spacing:-.025em!important;
  color:#111827!important;
}
html body .hlh-instructor-portal .hlh-profile-head-minimal p,
html body .hlh-instructor-portal .hlh-profile-head-minimal .hlh-chip-row{display:none!important;}
html body .hlh-instructor-portal .hlh-profile-head-minimal .hlh-mini-button{
  flex:0 0 auto!important;
  background:#fff!important;
  border:1px solid #d8dee8!important;
  color:#334155!important;
  border-radius:9px!important;
  padding:6px 10px!important;
  font-size:12px!important;
  font-weight:650!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
@media(max-width:640px){
  html body .hlh-instructor-portal .hlh-profile-head-minimal{align-items:flex-start!important;flex-direction:column!important;gap:8px!important;padding:12px 14px!important;}
  html body .hlh-instructor-portal .hlh-profile-head-minimal h2{font-size:22px!important;}
}


/* v0.4.36 - Make profile checkbox fields sit neatly inline with their text */
html body .hlh-instructor-portal .hlh-portal-edit-card .hlh-form-grid > label.hlh-checkbox-label,
html body .hlh-instructor-portal .hlh-portal-profile-section .hlh-form-grid > label.hlh-checkbox-label,
html body .hlh-instructor-portal .hlh-form-grid > label.hlh-checkbox-label{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-height:38px!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#172033!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.25!important;
  align-self:end!important;
}
html body .hlh-instructor-portal .hlh-portal-edit-card .hlh-form-grid > label.hlh-checkbox-label input[type="checkbox"],
html body .hlh-instructor-portal .hlh-portal-profile-section .hlh-form-grid > label.hlh-checkbox-label input[type="checkbox"],
html body .hlh-instructor-portal .hlh-form-grid > label.hlh-checkbox-label input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  display:inline-block!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  margin:0!important;
  padding:0!important;
  accent-color:#d83087!important;
  vertical-align:middle!important;
  flex:0 0 18px!important;
}
html body .hlh-instructor-portal .hlh-portal-edit-card .hlh-form-grid > label.hlh-checkbox-label input[type="hidden"],
html body .hlh-instructor-portal .hlh-portal-profile-section .hlh-form-grid > label.hlh-checkbox-label input[type="hidden"],
html body .hlh-instructor-portal .hlh-form-grid > label.hlh-checkbox-label input[type="hidden"]{
  display:none!important;
}

/* v0.4.37 - hard repair: profile checkbox must be a normal inline row, not a boxed tile */
html body .hlh-instructor-portal label.hlh-inline-check-field,
html body .hlh-instructor-portal .hlh-form-grid label.hlh-inline-check-field,
html body .hlh-instructor-portal .hlh-portal-edit-card label.hlh-inline-check-field{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  min-height:34px!important;
  width:auto!important;
  max-width:100%!important;
  color:#172033!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.3!important;
}
html body .hlh-instructor-portal label.hlh-inline-check-field input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  display:inline-block!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  margin:0!important;
  padding:0!important;
  flex:0 0 18px!important;
  accent-color:#d83087!important;
}
html body .hlh-instructor-portal label.hlh-inline-check-field input[type="hidden"]{display:none!important;}
html body .hlh-instructor-portal label.hlh-inline-check-field span{display:inline!important;margin:0!important;padding:0!important;}

/* v0.4.38 - Compact pupil progress profile layout */
html body .hlh-instructor-portal .hlh-portal-progress-form{
    max-height:none !important;
    overflow:visible !important;
    padding-right:0 !important;
}
html body .hlh-instructor-portal .hlh-portal-progress-form label{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    width:100% !important;
    padding:7px 0 !important;
    margin:0 !important;
    border-bottom:1px solid #edf1f6 !important;
    text-align:left !important;
    font-size:13px !important;
    font-weight:600 !important;
    color:#1f2937 !important;
    line-height:1.25 !important;
}
html body .hlh-instructor-portal .hlh-portal-progress-form label > input[type="hidden"]{
    display:none !important;
}
html body .hlh-instructor-portal .hlh-portal-progress-form select{
    flex:0 0 190px !important;
    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
    height:34px !important;
    padding:5px 10px !important;
    border-radius:8px !important;
    font-size:13px !important;
    font-weight:500 !important;
    background:#fff !important;
    color:#111827 !important;
}
html body .hlh-instructor-portal .hlh-portal-profile-section h3{
    margin-bottom:10px !important;
}
html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-button,
html body .hlh-instructor-portal .hlh-portal-progress-form button[type="submit"]{
    margin-top:14px !important;
}
@media(max-width:700px){
    html body .hlh-instructor-portal .hlh-portal-progress-form label{
        align-items:flex-start !important;
        flex-direction:column !important;
        gap:6px !important;
    }
    html body .hlh-instructor-portal .hlh-portal-progress-form select{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        flex:0 0 auto !important;
    }
}


/* v0.4.39 - Bring progress dropdowns closer to titles */
html body .hlh-instructor-portal .hlh-portal-progress-form label{
    justify-content:flex-start !important;
    gap:18px !important;
}
html body .hlh-instructor-portal .hlh-portal-progress-form select{
    flex:0 0 180px !important;
    width:180px !important;
    min-width:180px !important;
    max-width:180px !important;
    margin-left:0 !important;
}
@media(min-width:701px){
    html body .hlh-instructor-portal .hlh-portal-progress-form label{
        max-width:620px !important;
    }
}
@media(max-width:700px){
    html body .hlh-instructor-portal .hlh-portal-progress-form label{
        max-width:none !important;
    }
}

/* v0.4.40 - Progress controls closer with mini meter */
html body .hlh-instructor-portal .hlh-portal-progress-form{
  max-width:none!important;
  width:100%!important;
}
html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field{
  display:grid!important;
  grid-template-columns:minmax(180px,260px) 170px 120px 42px!important;
  justify-content:start!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  max-width:620px!important;
  padding:7px 0!important;
  margin:0!important;
  border-bottom:1px solid #edf1f6!important;
}
html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-topic-title{
  color:#1f2937!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.25!important;
  text-align:left!important;
}
html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field select{
  width:170px!important;
  min-width:170px!important;
  max-width:170px!important;
  height:32px!important;
  margin:0!important;
  padding:4px 9px!important;
  border-radius:7px!important;
  font-size:12.5px!important;
  font-weight:500!important;
  background:#fff!important;
  color:#111827!important;
}
html body .hlh-instructor-portal .hlh-progress-mini-meter{
  display:block!important;
  width:120px!important;
  height:8px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:#e5e7eb!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.04)!important;
}
html body .hlh-instructor-portal .hlh-progress-mini-meter i{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:#d83087!important;
}
html body .hlh-instructor-portal .hlh-progress-mini-percent{
  color:#334155!important;
  font-size:12px!important;
  font-weight:650!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field{
    grid-template-columns:1fr!important;
    max-width:none!important;
    gap:6px!important;
    padding:10px 0!important;
  }
  html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field select{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  html body .hlh-instructor-portal .hlh-progress-mini-meter{width:100%!important;}
}


/* v0.4.41 progress save/display repair */
.hlh-progress-field, .hlh-progress-control-line {
  display: grid !important;
  grid-template-columns: minmax(220px, 360px) 220px 160px 44px !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 10px !important;
  max-width: 820px !important;
}
.hlh-progress-field .hlh-progress-topic-title, .hlh-progress-control-line .hlh-progress-topic-title {
  text-align: left !important;
  justify-self: start !important;
}
.hlh-progress-field select, .hlh-progress-control-line select {
  width: 220px !important;
  max-width: 220px !important;
}
.hlh-progress-mini-meter {
  width: 160px !important;
  height: 8px !important;
  display: inline-block !important;
  background: #e8edf2 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}
.hlh-progress-mini-meter i {
  display: block !important;
  height: 100% !important;
  background: linear-gradient(90deg,#d9368b,#673ab7) !important;
}
.hlh-progress-mini-percent {
  min-width: 44px !important;
  font-size: 12px !important;
  color: #344054 !important;
}
@media (max-width: 700px) {
  .hlh-progress-field, .hlh-progress-control-line {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }
  .hlh-progress-field select, .hlh-progress-control-line select {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* v0.4.42 previous lesson history in pupil profiles */
.hlh-previous-lessons-panel { margin-top: 18px; }
.hlh-previous-lessons-list { display: grid; gap: 10px; }
.hlh-lesson-history-item { border: 1px solid rgba(15, 23, 42, .12); border-radius: 12px; background: #fff; overflow: hidden; }
.hlh-lesson-history-item summary { cursor: pointer; display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; gap: 12px; align-items: center; padding: 12px 14px; list-style: none; }
.hlh-lesson-history-item summary::-webkit-details-marker { display: none; }
.hlh-lesson-history-item summary strong { font-weight: 700; color: #111827; }
.hlh-lesson-history-item summary small { display: block; color: #475569; margin-top: 2px; }
.hlh-note-count { display: inline-flex; align-items: center; justify-content: center; min-width: 70px; padding: 4px 9px; border-radius: 999px; background: #f3f4f6; color: #334155; font-size: 12px; font-weight: 700; }
.hlh-lesson-history-body { border-top: 1px solid rgba(15, 23, 42, .08); padding: 14px; background: #fbfcfe; }
.hlh-lesson-history-grid { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 10px; margin-bottom: 12px; }
.hlh-lesson-history-grid p { margin: 0; padding: 10px; border: 1px solid rgba(15, 23, 42, .08); border-radius: 10px; background: #fff; }
.hlh-history-diary-note, .hlh-history-notes { margin-top: 12px; }
.hlh-history-diary-note p { margin: 6px 0 0; }
.hlh-history-note { margin-top: 8px; padding: 10px 12px; border-left: 3px solid #d83087; border-radius: 10px; background: #fff; box-shadow: 0 1px 3px rgba(15, 23, 42, .04); }
.hlh-history-note small { display: block; color: #64748b; margin-bottom: 4px; }
.hlh-history-note p { margin: 0; color: #111827; }
.hlh-history-checkin { padding: 10px 12px; border-radius: 10px; background: #ecfdf5; color: #064e3b; }
@media (max-width: 720px) {
  .hlh-lesson-history-item summary { grid-template-columns: 1fr; gap: 7px; }
  .hlh-lesson-history-grid { grid-template-columns: 1fr; }
  .hlh-note-count { width: fit-content; }
}

/* v0.4.43 - payment credit as hours */
.hlh-payment-summary-card-hours {
  background: #f7fbff !important;
  border-color: #bfdbfe !important;
}
.hlh-payment-summary-card-hours small {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.25;
  color: #475569;
  font-weight: 500;
}


/* v0.4.44 - compact responsive summary cards across admin, portal and student app */
html body .hlh-payment-summary,
html body .hlh-admin-wrap .hlh-payment-summary,
html body .hlh-instructor-portal .hlh-payment-summary,
html body .hlh-public .hlh-payment-summary{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 14px!important;
}
html body .hlh-payment-summary-card,
html body .hlh-admin-wrap .hlh-payment-summary-card,
html body .hlh-instructor-portal .hlh-payment-summary-card,
html body .hlh-public .hlh-payment-summary-card{
  min-width:0!important;
  padding:10px 12px!important;
  border-radius:10px!important;
  gap:3px!important;
  box-shadow:0 4px 12px rgba(15,23,42,.035)!important;
}
html body .hlh-payment-summary-card span,
html body .hlh-admin-wrap .hlh-payment-summary-card span,
html body .hlh-instructor-portal .hlh-payment-summary-card span,
html body .hlh-public .hlh-payment-summary-card span{
  font-size:10.5px!important;
  line-height:1.15!important;
  letter-spacing:.045em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html body .hlh-payment-summary-card strong,
html body .hlh-admin-wrap .hlh-payment-summary-card strong,
html body .hlh-instructor-portal .hlh-payment-summary-card strong,
html body .hlh-public .hlh-payment-summary-card strong{
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
html body .hlh-payment-summary-card small,
html body .hlh-admin-wrap .hlh-payment-summary-card small,
html body .hlh-instructor-portal .hlh-payment-summary-card small,
html body .hlh-public .hlh-payment-summary-card small{
  font-size:10.5px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
/* Make other summary/stat rows use the available width more intelligently */
html body .hlh-grid.hlh-grid-5,
html body .hlh-grid-5,
html body .hlh-profile-stats-grid,
html body .hlh-student-stats,
html body .hlh-student-summary-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:10px!important;
}
html body .hlh-stat-card,
html body .hlh-summary-card,
html body .hlh-card-number,
html body .hlh-profile-stats-grid div,
html body .hlh-student-stats div{
  min-width:0!important;
}
html body .hlh-stat-card,
html body .hlh-summary-card,
html body .hlh-profile-stats-grid div,
html body .hlh-student-stats div{
  padding:10px 12px!important;
  border-radius:10px!important;
}
html body .hlh-stat-card strong,
html body .hlh-summary-card strong,
html body .hlh-profile-stats-grid strong,
html body .hlh-student-stats strong{
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
@media (max-width: 1280px){
  html body .hlh-payment-summary,
  html body .hlh-admin-wrap .hlh-payment-summary,
  html body .hlh-instructor-portal .hlh-payment-summary,
  html body .hlh-public .hlh-payment-summary{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width: 760px){
  html body .hlh-payment-summary,
  html body .hlh-admin-wrap .hlh-payment-summary,
  html body .hlh-instructor-portal .hlh-payment-summary,
  html body .hlh-public .hlh-payment-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width: 460px){
  html body .hlh-payment-summary,
  html body .hlh-admin-wrap .hlh-payment-summary,
  html body .hlh-instructor-portal .hlh-payment-summary,
  html body .hlh-public .hlh-payment-summary,
  html body .hlh-grid.hlh-grid-5,
  html body .hlh-grid-5,
  html body .hlh-profile-stats-grid,
  html body .hlh-student-stats,
  html body .hlh-student-summary-grid{
    grid-template-columns:1fr!important;
  }
}

/* v0.4.52 - portal message delete controls */
.hlh-admin-message-tools{border:1px solid #f3b2b2!important;background:#fff8f8!important;color:#3f1b1b!important;padding:14px 16px!important;border-radius:14px!important;margin-bottom:16px!important;}
.hlh-message-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:10px!important;}
.hlh-danger-link,.hlh-button.hlh-danger-link{border:1px solid #b42318!important;color:#b42318!important;background:#fff!important;font-weight:700!important;text-decoration:none!important;}
.hlh-danger-link:hover,.hlh-button.hlh-danger-link:hover{background:#fff1f1!important;color:#7a271a!important;border-color:#7a271a!important;}

/* v0.4.53 - message delete button placement */
.hlh-message-card .hlh-message-inline-delete {
    margin: 6px 0 8px !important;
}
.hlh-message-card .hlh-message-inline-delete .hlh-button,
.hlh-message-card .hlh-danger-link {
    display: inline-flex;
    width: auto !important;
    min-height: 30px;
    padding: 4px 10px !important;
    font-size: 12px !important;
}

/* v0.5.13 - tidy, responsive instructor message screen */
html body .hlh-instructor-portal .hlh-instructor-grid > .hlh-form {
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  min-width:0!important;
  margin:0!important;
  padding:20px!important;
  overflow:hidden!important;
  background:#fff!important;
  color:#111827!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
}
html body .hlh-instructor-portal .hlh-instructor-grid > .hlh-form h3 {
  margin:0!important;
  padding:0 0 12px!important;
  color:#111827!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:900!important;
  border-bottom:1px solid #eef2f7!important;
}
html body .hlh-instructor-portal .hlh-instructor-grid > .hlh-form label {
  min-width:0!important;
  margin:0!important;
}
html body .hlh-instructor-portal .hlh-instructor-grid > .hlh-form textarea {
  min-height:112px!important;
}
html body .hlh-instructor-portal .hlh-instructor-grid > .hlh-form > .hlh-button {
  align-self:flex-start!important;
  width:auto!important;
  min-width:156px!important;
  margin:2px 0 0!important;
}
html body .hlh-instructor-portal .hlh-admin-message-tools {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:5px 20px!important;
  align-items:center!important;
  margin:16px 0!important;
  padding:18px 20px!important;
  overflow:visible!important;
  border:1px solid #fecaca!important;
  border-left:4px solid #dc2626!important;
  border-radius:16px!important;
  background:#fffafa!important;
  box-shadow:0 8px 20px rgba(127,29,29,.05)!important;
}
html body .hlh-instructor-portal .hlh-admin-message-tools > strong {
  grid-column:1!important;
  color:#7f1d1d!important;
  font-size:16px!important;
  line-height:1.25!important;
}
html body .hlh-instructor-portal .hlh-admin-message-tools > .hlh-muted {
  grid-column:1!important;
  margin:0!important;
  color:#64748b!important;
}
html body .hlh-instructor-portal .hlh-admin-message-tools > p:last-child {
  grid-column:2!important;
  grid-row:1 / span 2!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin:0!important;
}
html body .hlh-instructor-portal .hlh-admin-message-tools .hlh-danger-link {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:40px!important;
  padding:8px 13px!important;
  border-radius:10px!important;
  white-space:nowrap!important;
}
@media (max-width:760px) {
  html body .hlh-instructor-portal .hlh-instructor-grid > .hlh-form {
    gap:12px!important;
    padding:16px!important;
    border-radius:14px!important;
  }
  html body .hlh-instructor-portal .hlh-instructor-grid > .hlh-form > .hlh-button {
    align-self:stretch!important;
    width:100%!important;
  }
  html body .hlh-instructor-portal .hlh-admin-message-tools {
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:16px!important;
  }
  html body .hlh-instructor-portal .hlh-admin-message-tools > strong,
  html body .hlh-instructor-portal .hlh-admin-message-tools > .hlh-muted,
  html body .hlh-instructor-portal .hlh-admin-message-tools > p:last-child {
    grid-column:1!important;
    grid-row:auto!important;
  }
  html body .hlh-instructor-portal .hlh-admin-message-tools > p:last-child {
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    margin-top:4px!important;
  }
  html body .hlh-instructor-portal .hlh-admin-message-tools .hlh-danger-link {
    width:100%!important;
  }
}


/* v0.4.55 - owner/instructor student separation */
.hlh-owner-pupil-switch{border:1px solid rgba(216,48,135,.18)!important;background:linear-gradient(135deg,#fff,#fff7fb)!important;}
.hlh-scope-tabs a{font-weight:700!important;}
.hlh-inline-filter-form{display:flex!important;flex-wrap:wrap!important;align-items:end!important;gap:10px!important;margin-top:12px!important;}
.hlh-inline-filter-form label{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:220px!important;}
.hlh-owner-pill{background:#fff0f7!important;border-color:rgba(216,48,135,.25)!important;color:#8b1450!important;}
.hlh-profile-owner-box strong{font-size:1rem!important;}

/* v0.4.58 - instructor signup benefit wording/cards */
.hlh-instructor-signup-v56 .hlh-signup-mini-list span{
  align-items:flex-start!important;
  line-height:1.25!important;
  min-height:44px!important;
}
.hlh-instructor-signup-v56 .hlh-signup-mini-list span::before{
  margin-top:1px!important;
}

/* v0.4.59 - polished instructor access/login page */
.hlh-instructor-access-page{max-width:1180px;margin:0 auto;padding:22px;}
.hlh-instructor-access-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:18px;align-items:stretch;margin-bottom:18px;padding:26px;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#fff7fb 42%,#f6f3ff 100%);border:1px solid rgba(216,48,135,.16);box-shadow:0 18px 46px rgba(31,41,55,.08);}
.hlh-instructor-access-hero h1{margin:4px 0 8px;font-size:clamp(30px,4vw,52px);line-height:1.02;color:#1f2937;letter-spacing:-.04em;}
.hlh-instructor-access-hero p{max-width:680px;margin:0;color:#4b5563;font-size:17px;line-height:1.55;}
.hlh-instructor-access-badges{display:grid;gap:10px;align-content:center;}
.hlh-instructor-access-badges span{display:flex;align-items:center;gap:10px;border-radius:16px;background:#fff;border:1px solid rgba(216,48,135,.12);padding:12px 14px;color:#374151;font-weight:750;box-shadow:0 10px 24px rgba(31,41,55,.05);}
.hlh-instructor-access-badges span:before{content:'✓';display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#fff0f7;color:#d83087;font-weight:900;}
.hlh-instructor-access-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:18px;align-items:start;}
.hlh-login-card,.hlh-login-help-card{border-radius:22px!important;border:1px solid rgba(216,48,135,.14)!important;box-shadow:0 14px 36px rgba(31,41,55,.07)!important;background:#fff!important;}
.hlh-login-card h2,.hlh-login-help-card h2{margin-top:0;color:#1f2937;}
.hlh-login-card form{display:grid;gap:14px;margin-top:14px;}
.hlh-login-card .login-username,.hlh-login-card .login-password,.hlh-login-card .login-remember,.hlh-login-card .login-submit{margin:0!important;}
.hlh-login-card label{display:block;font-weight:800;color:#374151;margin-bottom:6px;}
.hlh-login-card input[type="text"],.hlh-login-card input[type="password"]{width:100%;border:1px solid rgba(31,41,55,.16);border-radius:14px;padding:13px 14px;font-size:16px;background:#fff;box-shadow:inset 0 1px 2px rgba(31,41,55,.04);}
.hlh-login-card input[type="submit"]{border:0;border-radius:999px;padding:13px 20px;background:#d83087;color:#fff;font-weight:850;cursor:pointer;box-shadow:0 12px 26px rgba(216,48,135,.22);}
.hlh-login-help-card ul{margin:16px 0 0;padding:0;display:grid;gap:8px;list-style:none;}
.hlh-login-help-card li{padding-left:28px;position:relative;color:#374151;font-weight:650;}
.hlh-login-help-card li:before{content:'✓';position:absolute;left:0;color:#d83087;font-weight:900;}
@media(max-width:800px){.hlh-instructor-access-page{padding:14px}.hlh-instructor-access-hero,.hlh-instructor-access-shell{grid-template-columns:1fr}.hlh-instructor-access-hero{padding:20px;border-radius:20px}}

/* v0.4.60 - cleaner instructor access login page */
.hlh-instructor-access-page{padding-top:28px!important;}
.hlh-instructor-access-hero-clean{overflow:hidden;position:relative;}
.hlh-instructor-access-hero-clean:after{content:'';position:absolute;right:-80px;top:-90px;width:220px;height:220px;border-radius:999px;background:linear-gradient(135deg,rgba(216,48,135,.16),rgba(124,58,237,.10));pointer-events:none;}
.hlh-instructor-access-hero .hlh-kicker,.hlh-login-help-card .hlh-kicker{margin:0 0 8px!important;text-transform:uppercase;letter-spacing:.12em;font-size:12px!important;font-weight:850!important;color:#d83087!important;}
.hlh-instructor-access-shell{align-items:stretch!important;}
.hlh-login-card,.hlh-login-help-card{padding:24px!important;overflow:hidden;}
.hlh-login-card h2,.hlh-login-help-card h2{font-size:28px!important;line-height:1.1!important;margin:0 0 8px!important;color:#111827!important;letter-spacing:-.025em!important;}
.hlh-login-card .hlh-muted,.hlh-login-help-card p{font-size:15px!important;line-height:1.55!important;color:#4b5563!important;margin-bottom:16px!important;}
.hlh-login-card form{display:grid!important;gap:12px!important;margin-top:16px!important;}
.hlh-login-card form p{margin:0!important;}
.hlh-login-card label{display:block!important;margin:0 0 6px!important;font-weight:750!important;color:#1f2937!important;font-size:14px!important;}
.hlh-login-card input[type="text"],.hlh-login-card input[type="password"]{width:100%!important;min-height:46px!important;border-radius:14px!important;border:1px solid #e5e7eb!important;background:#fff!important;padding:10px 13px!important;font-size:16px!important;box-shadow:0 8px 20px rgba(31,41,55,.04)!important;}
.hlh-login-card input[type="text"]:focus,.hlh-login-card input[type="password"]:focus{outline:none!important;border-color:#d83087!important;box-shadow:0 0 0 4px rgba(216,48,135,.12)!important;}
.hlh-login-card .login-remember label{display:flex!important;align-items:center!important;gap:9px!important;font-weight:650!important;color:#4b5563!important;}
.hlh-login-card .login-submit input,.hlh-login-card input[type="submit"]{width:100%!important;border:0!important;border-radius:14px!important;background:#d83087!important;color:#fff!important;font-weight:850!important;padding:13px 16px!important;min-height:48px!important;box-shadow:0 12px 26px rgba(216,48,135,.25)!important;cursor:pointer!important;}
.hlh-show-password-button{margin-top:-4px!important;justify-self:start!important;border:1px solid rgba(216,48,135,.22)!important;background:#fff7fb!important;color:#c02672!important;border-radius:999px!important;padding:8px 13px!important;font-weight:800!important;cursor:pointer!important;}
.hlh-show-password-button:hover{background:#ffe8f4!important;}
.hlh-login-help-card .hlh-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:2px 0 12px!important;border-radius:13px!important;padding:11px 15px!important;box-shadow:0 10px 22px rgba(216,48,135,.22)!important;}
.hlh-login-help-card ul{margin-top:12px!important;gap:10px!important;}
.hlh-login-help-card li{background:#fff!important;border:1px solid #eef2f7!important;border-radius:14px!important;padding:10px 12px 10px 38px!important;box-shadow:0 8px 18px rgba(31,41,55,.04)!important;}
.hlh-login-help-card li:before{left:13px!important;top:10px!important;}
@media(max-width:800px){.hlh-login-card,.hlh-login-help-card{padding:20px!important}.hlh-login-card h2,.hlh-login-help-card h2{font-size:24px!important}}

/* v0.4.61 - admin instructor login testing without logging out */
.hlh-admin-login-test-card{
  border:1px solid rgba(219,39,119,.16)!important;
  background:linear-gradient(135deg,#fff 0%,#fff7fb 100%)!important;
  margin-bottom:18px!important;
}
.hlh-admin-login-test-card h2{margin-top:4px!important;}
.hlh-preview-instructor-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.hlh-preview-instructor-links .hlh-mini-button{background:#fff!important;border-color:rgba(219,39,119,.28)!important;}

/* v0.4.62 - admin instructor journey testing */
.hlh-admin-journey-banner,
.hlh-admin-login-test-card {
    border: 1px solid rgba(216,48,135,.22) !important;
    background: linear-gradient(135deg,#fff 0%,#fff7fb 100%) !important;
}
.hlh-admin-journey-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 14px !important;
}
.hlh-admin-login-demo {
    display: grid !important;
    gap: 12px !important;
    margin-top: 12px !important;
    padding: 14px !important;
    border-radius: 14px !important;
    background: #fff !important;
    border: 1px solid rgba(15,23,42,.08) !important;
}


/* v0.4.65 - keep instructor auth fully front-end, not WordPress-looking */
.hlh-front-login-form,
.hlh-front-reset-form {
    display: grid !important;
    gap: 14px !important;
    margin-top: 14px !important;
}
.hlh-front-login-form label,
.hlh-front-reset-form label {
    display: grid !important;
    gap: 7px !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
}
.hlh-front-login-form input[type="text"],
.hlh-front-login-form input[type="password"],
.hlh-front-reset-form input[type="email"] {
    width: 100% !important;
    min-height: 44px !important;
    border: 1px solid rgba(15,23,42,.14) !important;
    border-radius: 14px !important;
    padding: 10px 12px !important;
    background: #fff !important;
    box-shadow: inset 0 1px 2px rgba(15,23,42,.04) !important;
}
.hlh-password-row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 8px !important;
    align-items: center !important;
}
.hlh-password-row .hlh-show-password-button {
    min-height: 44px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(15,23,42,.14) !important;
    background: #f8fafc !important;
    padding: 0 14px !important;
    cursor: pointer !important;
    font-weight: 700 !important;
}
.hlh-checkline {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-weight: 600 !important;
    color: #475569 !important;
}
.hlh-checkline input { width: auto !important; min-height: 0 !important; }
.hlh-front-login-tools { margin-top: 12px !important; }
.hlh-front-login-tools a { color: #6d28d9 !important; font-weight: 700 !important; text-decoration: none !important; }
.hlh-front-reset-form {
    margin-top: 18px !important;
    padding: 16px !important;
    border: 1px solid rgba(124,58,237,.18) !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(250,245,255,.9), rgba(255,255,255,.95)) !important;
}
.hlh-alert {
    padding: 12px 14px !important;
    border-radius: 14px !important;
    margin: 0 0 14px !important;
    font-weight: 700 !important;
}
.hlh-alert-error { background: #fff1f2 !important; color: #9f1239 !important; border: 1px solid #fecdd3 !important; }
.hlh-alert-success { background: #ecfdf5 !important; color: #065f46 !important; border: 1px solid #a7f3d0 !important; }

/* v0.5.38 - branded instructor approval and password setup */
.hlh-front-password-setup-form {
    padding: 20px !important;
    border-color: rgba(216,48,135,.2) !important;
    background: linear-gradient(145deg,#fff7fb,#ffffff 60%,#f7f1ff) !important;
    box-shadow: 0 14px 34px rgba(31,41,55,.07) !important;
}
.hlh-front-password-setup-form input[type="password"] {
    width: 100% !important;
    min-height: 46px !important;
    border: 1px solid rgba(15,23,42,.14) !important;
    border-radius: 14px !important;
    background: #fff !important;
    padding: 11px 13px !important;
    font-size: 16px !important;
}
.hlh-front-password-setup-form input[type="password"]:focus {
    outline: none !important;
    border-color: #d83087 !important;
    box-shadow: 0 0 0 4px rgba(216,48,135,.12) !important;
}
.hlh-password-setup-kicker {
    margin: 0 !important;
    color: #d83087 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}
.hlh-front-password-setup-form h3 {
    margin: 0 !important;
    color: #111827 !important;
    font-size: 25px !important;
}
.hlh-password-guidance {
    display: grid !important;
    gap: 3px !important;
    padding: 12px 14px !important;
    border: 1px solid #eadfea !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #4b5563 !important;
    font-size: 13px !important;
}
.hlh-password-guidance strong { color: #1f2937 !important; }
.hlh-reset-request-card {
    border-color: #f59e0b !important;
    background: #fffbeb !important;
}


/* v0.4.66 - slimmer professional diary rows and square filled diary entries */
.hlh-calendar-wrap,
.hlh-portal-calendar-wrap{
    border-radius: 10px !important;
}
.hlh-calendar-grid,
.hlh-portal-calendar-grid{
    gap: 0 !important;
}
.hlh-calendar-head,
.hlh-portal-calendar-grid .hlh-calendar-head,
.hlh-calendar-time,
.hlh-portal-calendar-grid .hlh-calendar-time{
    min-height: 30px !important;
    height: 30px !important;
    padding: 4px 6px !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    border-radius: 0 !important;
}
.hlh-calendar-head strong,
.hlh-portal-calendar-grid .hlh-calendar-head strong{
    font-size: 12px !important;
    line-height: 1.1 !important;
}
.hlh-calendar-head span,
.hlh-portal-calendar-grid .hlh-calendar-head span,
.hlh-calendar-time,
.hlh-portal-calendar-grid .hlh-calendar-time{
    font-size: 10px !important;
    line-height: 1.1 !important;
}
.hlh-calendar-cell,
.hlh-calendar-slot,
.hlh-portal-calendar-grid .hlh-calendar-cell,
.hlh-portal-calendar-grid .hlh-calendar-slot,
.hlh-calendar-grid .hlh-slot,
.hlh-diary-slot,
.hlh-portal-calendar-cell{
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
}
.hlh-calendar-add{
    width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    line-height: 14px !important;
    border-radius: 2px !important;
    font-size: 12px !important;
    top: 2px !important;
    right: 2px !important;
    opacity: .28 !important;
}
.hlh-calendar-event,
.hlh-calendar-event-block,
.hlh-diary-event,
.hlh-event-block,
.hlh-portal-calendar-grid .hlh-calendar-event-block,
.hlh-portal-calendar-wrap .hlh-calendar-event-block{
    margin: 0 !important;
    border-radius: 0 !important;
    padding: 4px 5px !important;
    min-height: 100% !important;
    height: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: 0 !important;
    box-shadow: none !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    justify-content: flex-start !important;
    gap: 1px !important;
}
.hlh-calendar-event strong,
.hlh-calendar-event-block strong,
.hlh-diary-event strong,
.hlh-event-block strong{
    font-size: 10.5px !important;
    line-height: 1.05 !important;
    font-weight: 650 !important;
    margin: 0 0 1px !important;
}
.hlh-calendar-event small,
.hlh-calendar-event em,
.hlh-calendar-event span,
.hlh-calendar-event-block small,
.hlh-calendar-event-block em,
.hlh-calendar-event-block span,
.hlh-diary-event small,
.hlh-diary-event em,
.hlh-event-block small,
.hlh-event-block em{
    font-size: 9.5px !important;
    line-height: 1.05 !important;
    font-weight: 450 !important;
}
.hlh-calendar-event .hlh-event-detail-link,
.hlh-calendar-event-block .hlh-event-detail-link{
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    min-height: 0 !important;
}
.hlh-paid-strip,
.hlh-unpaid-strip,
.hlh-event-paid,
.hlh-event-unpaid,
.hlh-payment-strip,
.hlh-calendar-event .hlh-payment-strip,
.hlh-calendar-event-block .hlh-payment-strip{
    min-height: 12px !important;
    height: 12px !important;
    line-height: 10px !important;
    padding: 1px 3px !important;
    border-radius: 0 !important;
    font-size: 9px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
}
.hlh-calendar-event .hlh-diary-action-trigger,
.hlh-calendar-event-block .hlh-diary-action-trigger,
.hlh-diary-options-button{
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    border-radius: 0 !important;
    top: 2px !important;
    right: 2px !important;
    font-size: 11px !important;
    box-shadow: none !important;
}
.hlh-slot-outside-hours{
    min-height: 32px !important;
    height: 32px !important;
    border-radius: 0 !important;
}
@media (max-width: 760px){
    .hlh-calendar-cell,
    .hlh-calendar-slot,
    .hlh-portal-calendar-grid .hlh-calendar-cell,
    .hlh-portal-calendar-grid .hlh-calendar-slot,
    .hlh-diary-slot,
    .hlh-portal-calendar-cell{
        min-height: 34px !important;
        height: 34px !important;
    }
}


/* v0.4.67 - hard diary row height and square block override */
html body .hlh-admin-wrap .hlh-calendar-wrap,
html body .hlh-instructor-portal .hlh-portal-calendar-wrap,
html body .hlh-public .hlh-portal-calendar-wrap{
  border-radius:10px!important;
  padding:0!important;
}
html body .hlh-admin-wrap .hlh-calendar-grid,
html body .hlh-instructor-portal .hlh-calendar-grid,
html body .hlh-instructor-portal .hlh-portal-calendar-grid,
html body .hlh-public .hlh-portal-calendar-grid{
  gap:0!important;
  border-radius:0!important;
  grid-template-columns:50px repeat(7,minmax(0,1fr))!important;
  grid-template-rows:34px repeat(28,36px)!important;
  grid-auto-rows:36px!important;
  background:#d9dee8!important;
  overflow:visible!important;
}
html body .hlh-admin-wrap .hlh-calendar-head,
html body .hlh-admin-wrap .hlh-calendar-time,
html body .hlh-admin-wrap .hlh-calendar-cell,
html body .hlh-instructor-portal .hlh-calendar-head,
html body .hlh-instructor-portal .hlh-calendar-time,
html body .hlh-instructor-portal .hlh-calendar-cell,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-time,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-cell{
  min-height:0!important;
  height:auto!important;
  border-radius:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  border-right:1px solid #e4e7ee!important;
  border-bottom:1px solid #e4e7ee!important;
}
html body .hlh-admin-wrap .hlh-calendar-head,
html body .hlh-instructor-portal .hlh-calendar-head,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head{
  min-height:34px!important;
  height:34px!important;
  padding:4px 5px!important;
  font-size:11px!important;
}
html body .hlh-admin-wrap .hlh-calendar-head strong,
html body .hlh-instructor-portal .hlh-calendar-head strong{
  font-size:11px!important;
  line-height:1!important;
  margin:0!important;
}
html body .hlh-admin-wrap .hlh-calendar-head span,
html body .hlh-instructor-portal .hlh-calendar-head span{
  font-size:9px!important;
  line-height:1!important;
  margin:1px 0 0!important;
}
html body .hlh-admin-wrap .hlh-calendar-time,
html body .hlh-instructor-portal .hlh-calendar-time,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-time{
  min-height:36px!important;
  height:36px!important;
  padding:3px 5px!important;
  font-size:10px!important;
  line-height:1!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
}
html body .hlh-admin-wrap .hlh-calendar-cell,
html body .hlh-instructor-portal .hlh-calendar-cell,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-cell{
  min-height:36px!important;
  height:36px!important;
  overflow:hidden!important;
}
html body .hlh-admin-wrap .hlh-calendar-add,
html body .hlh-instructor-portal .hlh-calendar-add,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-add{
  width:14px!important;
  height:14px!important;
  min-height:14px!important;
  right:2px!important;
  top:2px!important;
  border-radius:0!important;
  font-size:10px!important;
  line-height:12px!important;
  padding:0!important;
  opacity:.22!important;
  box-shadow:none!important;
}
html body .hlh-admin-wrap .hlh-calendar-event,
html body .hlh-admin-wrap .hlh-calendar-event-block,
html body .hlh-instructor-portal .hlh-calendar-event,
html body .hlh-instructor-portal .hlh-calendar-event-block,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block{
  z-index:8!important;
  margin:0!important;
  inset:auto!important;
  border-radius:0!important;
  padding:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  box-sizing:border-box!important;
  border:0!important;
  outline:1px solid rgba(255,255,255,.35)!important;
  box-shadow:none!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
html body .hlh-admin-wrap .hlh-calendar-event .hlh-event-detail-link,
html body .hlh-admin-wrap .hlh-calendar-event-block .hlh-event-detail-link,
html body .hlh-instructor-portal .hlh-calendar-event .hlh-event-detail-link,
html body .hlh-instructor-portal .hlh-calendar-event-block .hlh-event-detail-link,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link{
  padding:3px 4px!important;
  margin:0!important;
  border-radius:0!important;
  height:100%!important;
  min-height:0!important;
  box-sizing:border-box!important;
  gap:0!important;
}
html body .hlh-admin-wrap .hlh-calendar-event strong,
html body .hlh-admin-wrap .hlh-calendar-event-block strong,
html body .hlh-instructor-portal .hlh-calendar-event strong,
html body .hlh-instructor-portal .hlh-calendar-event-block strong{
  font-size:10px!important;
  line-height:1.05!important;
  margin:0!important;
  font-weight:700!important;
}
html body .hlh-admin-wrap .hlh-calendar-event small,
html body .hlh-admin-wrap .hlh-calendar-event em,
html body .hlh-admin-wrap .hlh-calendar-event span,
html body .hlh-admin-wrap .hlh-calendar-event-block small,
html body .hlh-admin-wrap .hlh-calendar-event-block em,
html body .hlh-admin-wrap .hlh-calendar-event-block span,
html body .hlh-instructor-portal .hlh-calendar-event small,
html body .hlh-instructor-portal .hlh-calendar-event em,
html body .hlh-instructor-portal .hlh-calendar-event span,
html body .hlh-instructor-portal .hlh-calendar-event-block small,
html body .hlh-instructor-portal .hlh-calendar-event-block em,
html body .hlh-instructor-portal .hlh-calendar-event-block span{
  font-size:8.8px!important;
  line-height:1.05!important;
  margin:0!important;
}
html body .hlh-admin-wrap .hlh-payment-strip,
html body .hlh-instructor-portal .hlh-payment-strip,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-payment-strip{
  min-height:10px!important;
  height:10px!important;
  line-height:9px!important;
  padding:0 2px!important;
  border-radius:0!important;
  font-size:8px!important;
  margin-top:auto!important;
}
html body .hlh-admin-wrap .hlh-diary-resize-handle,
html body .hlh-instructor-portal .hlh-diary-resize-handle{
  height:5px!important;
  min-height:5px!important;
  border-radius:0!important;
  bottom:0!important;
  opacity:.25!important;
}
html body .hlh-admin-wrap .hlh-event-delete-link,
html body .hlh-instructor-portal .hlh-event-delete-link,
html body .hlh-admin-wrap .hlh-diary-actions-inline,
html body .hlh-instructor-portal .hlh-diary-actions-inline{
  display:none!important;
}
@media (max-width:760px){
  html body .hlh-admin-wrap .hlh-calendar-grid,
  html body .hlh-instructor-portal .hlh-calendar-grid,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid{
    grid-template-rows:34px repeat(28,38px)!important;
    grid-auto-rows:38px!important;
  }
  html body .hlh-admin-wrap .hlh-calendar-time,
  html body .hlh-admin-wrap .hlh-calendar-cell,
  html body .hlh-instructor-portal .hlh-calendar-time,
  html body .hlh-instructor-portal .hlh-calendar-cell{height:38px!important;min-height:38px!important;}
}

/* v0.5.16 - restrained, professional Instructor App buttons */
.hlh-instructor-portal .button,
.hlh-instructor-portal .hlh-button,
.hlh-instructor-portal .hlh-mini-button{
    min-height:36px!important;
    height:auto!important;
    padding:7px 13px!important;
    border:1px solid #cbd5e1!important;
    border-radius:7px!important;
    background:#fff!important;
    background-image:none!important;
    box-shadow:0 1px 2px rgba(15,23,42,.06)!important;
    color:#334155!important;
    font-size:13px!important;
    line-height:1.3!important;
    font-weight:650!important;
    text-decoration:none!important;
}
.hlh-instructor-portal .button:hover,
.hlh-instructor-portal .hlh-mini-button:hover{
    border-color:#94a3b8!important;
    background:#f8fafc!important;
    color:#0f172a!important;
}
.hlh-instructor-portal .hlh-button:not(.hlh-button-secondary):not(.hlh-button-danger-quiet):not(.hlh-danger-link),
.hlh-instructor-portal .hlh-app-code-sms-button{
    border-color:#1e3a5f!important;
    background:#1e3a5f!important;
    color:#fff!important;
}
.hlh-instructor-portal .hlh-button:not(.hlh-button-secondary):not(.hlh-button-danger-quiet):not(.hlh-danger-link):hover,
.hlh-instructor-portal .hlh-app-code-sms-button:hover{
    border-color:#162c49!important;
    background:#162c49!important;
    color:#fff!important;
}
.hlh-instructor-portal .hlh-button-secondary{
    border-color:#cbd5e1!important;
    background:#fff!important;
    color:#334155!important;
}
.hlh-instructor-portal .hlh-button-danger-quiet,
.hlh-instructor-portal .hlh-danger-link{
    border-color:#fecaca!important;
    background:#fff!important;
    color:#b42318!important;
}
.hlh-instructor-portal .hlh-button-danger-quiet:hover,
.hlh-instructor-portal .hlh-danger-link:hover{
    border-color:#fca5a5!important;
    background:#fff7f7!important;
    color:#912018!important;
}
.hlh-instructor-portal .hlh-mini-actions{
    gap:8px!important;
    align-items:center!important;
}
.hlh-instructor-portal .hlh-mini-actions .hlh-mini-button{
    flex:0 1 auto!important;
    white-space:normal!important;
}
@media(max-width:760px){
    .hlh-instructor-portal .hlh-mini-actions .hlh-mini-button{
        width:100%!important;
        justify-content:center!important;
        text-align:center!important;
    }
}


/* v0.4.68 - diary text readability restore while keeping slim square boxes */
html body .hlh-admin-wrap .hlh-calendar-grid,
html body .hlh-instructor-portal .hlh-calendar-grid,
html body .hlh-instructor-portal .hlh-portal-calendar-grid,
html body .hlh-public .hlh-portal-calendar-grid{
  grid-template-rows:34px repeat(28,36px)!important;
  grid-auto-rows:36px!important;
}
html body .hlh-admin-wrap .hlh-calendar-event .hlh-event-detail-link,
html body .hlh-admin-wrap .hlh-calendar-event-block .hlh-event-detail-link,
html body .hlh-instructor-portal .hlh-calendar-event .hlh-event-detail-link,
html body .hlh-instructor-portal .hlh-calendar-event-block .hlh-event-detail-link,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link{
  padding:4px 5px!important;
  gap:1px!important;
}
html body .hlh-admin-wrap .hlh-calendar-event strong,
html body .hlh-admin-wrap .hlh-calendar-event-block strong,
html body .hlh-instructor-portal .hlh-calendar-event strong,
html body .hlh-instructor-portal .hlh-calendar-event-block strong,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block strong{
  font-size:12.5px!important;
  line-height:1.12!important;
  font-weight:750!important;
  letter-spacing:0!important;
}
html body .hlh-admin-wrap .hlh-calendar-event small,
html body .hlh-admin-wrap .hlh-calendar-event em,
html body .hlh-admin-wrap .hlh-calendar-event span,
html body .hlh-admin-wrap .hlh-calendar-event-block small,
html body .hlh-admin-wrap .hlh-calendar-event-block em,
html body .hlh-admin-wrap .hlh-calendar-event-block span,
html body .hlh-instructor-portal .hlh-calendar-event small,
html body .hlh-instructor-portal .hlh-calendar-event em,
html body .hlh-instructor-portal .hlh-calendar-event span,
html body .hlh-instructor-portal .hlh-calendar-event-block small,
html body .hlh-instructor-portal .hlh-calendar-event-block em,
html body .hlh-instructor-portal .hlh-calendar-event-block span{
  font-size:10.8px!important;
  line-height:1.1!important;
}
html body .hlh-admin-wrap .hlh-payment-strip,
html body .hlh-instructor-portal .hlh-payment-strip,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-payment-strip{
  min-height:12px!important;
  height:12px!important;
  line-height:11px!important;
  font-size:9.8px!important;
  padding:0 3px!important;
}
html body .hlh-admin-wrap .hlh-calendar-head,
html body .hlh-instructor-portal .hlh-calendar-head,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head{
  font-size:12px!important;
}
html body .hlh-admin-wrap .hlh-calendar-time,
html body .hlh-instructor-portal .hlh-calendar-time,
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-time{
  font-size:11px!important;
}

/* v0.4.69 - compact instructor settings and custom diary colours */
.hlh-instructor-portal .hlh-working-hours-table.hlh-working-hours-compact,
.hlh-instructor-portal .hlh-portal-settings .hlh-working-hours-table{display:grid!important;gap:7px!important;margin:10px 0 14px!important;}
.hlh-instructor-portal .hlh-working-hours-compact .hlh-working-hours-row,
.hlh-instructor-portal .hlh-portal-settings .hlh-working-hours-row{display:grid!important;grid-template-columns:minmax(88px,1.05fr) minmax(78px,.75fr) minmax(112px,.9fr) minmax(112px,.9fr)!important;gap:8px!important;align-items:center!important;min-height:42px!important;padding:8px 10px!important;border:1px solid #e5e7eb!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;}
.hlh-instructor-portal .hlh-working-hours-compact .hlh-working-hours-head,
.hlh-instructor-portal .hlh-portal-settings .hlh-working-hours-head{min-height:30px!important;padding:6px 10px!important;background:#f8fafc!important;color:#475569!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-weight:900!important;}
.hlh-instructor-portal .hlh-portal-settings .hlh-working-hours-row strong{font-size:14px!important;color:#0f172a!important;}
.hlh-instructor-portal .hlh-portal-settings input[type=time]{min-height:34px!important;padding:5px 8px!important;border-radius:9px!important;font-size:14px!important;}
.hlh-instructor-portal .hlh-portal-settings .hlh-checkbox-label{display:flex!important;align-items:center!important;gap:6px!important;margin:0!important;font-size:13px!important;font-weight:800!important;color:#334155!important;}
.hlh-instructor-portal .hlh-settings-title-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;margin-bottom:12px!important;}
.hlh-instructor-portal .hlh-settings-title-row h2{margin:0 0 5px!important;}
.hlh-instructor-portal .hlh-settings-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;background:#fdf2f8!important;color:#be185d!important;border:1px solid #fbcfe8!important;font-weight:900!important;padding:7px 11px!important;font-size:12px!important;white-space:nowrap!important;}
.hlh-instructor-portal .hlh-settings-subhead{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;margin:16px 0 8px!important;border-top:1px solid #eef2f7!important;padding-top:14px!important;}
.hlh-instructor-portal .hlh-settings-subhead h3{margin:0!important;font-size:16px!important;color:#0f172a!important;}
.hlh-instructor-portal .hlh-settings-subhead p{margin:0!important;font-size:13px!important;}
.hlh-instructor-portal .hlh-diary-colour-grid,.hlh-instructor-portal .hlh-diary-colour-swatches{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;margin:10px 0 16px!important;}
.hlh-instructor-portal .hlh-diary-colour-grid label,.hlh-instructor-portal .hlh-diary-colour-swatches label{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:12px!important;padding:9px 10px!important;font-weight:900!important;font-size:13px!important;color:#334155!important;min-height:42px!important;}
.hlh-instructor-portal .hlh-diary-colour-grid input[type=color],.hlh-instructor-portal .hlh-diary-colour-swatches input[type=color]{width:42px!important;height:28px!important;min-height:28px!important;border:0!important;padding:0!important;background:transparent!important;cursor:pointer!important;}
.hlh-calendar-event.hlh-event-lesson,.hlh-calendar-event-block.hlh-event-lesson{background:var(--hlh-diary-lesson,#2563eb)!important;border-color:var(--hlh-diary-lesson,#2563eb)!important;}
.hlh-calendar-event.hlh-event-gap,.hlh-calendar-event-block.hlh-event-gap{background:var(--hlh-diary-gap,#059669)!important;border-color:var(--hlh-diary-gap,#059669)!important;}
.hlh-calendar-event.hlh-event-time_away,.hlh-calendar-event-block.hlh-event-time_away{background:var(--hlh-diary-away,#7c3aed)!important;border-color:var(--hlh-diary-away,#7c3aed)!important;}
.hlh-payment-strip.paid{background:var(--hlh-diary-paid,#16a34a)!important;}
.hlh-payment-strip.unpaid{background:var(--hlh-diary-unpaid,#dc2626)!important;}
@media(max-width:980px){.hlh-instructor-portal .hlh-diary-colour-grid,.hlh-instructor-portal .hlh-diary-colour-swatches{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hlh-instructor-portal .hlh-working-hours-compact .hlh-working-hours-row,.hlh-instructor-portal .hlh-portal-settings .hlh-working-hours-row{grid-template-columns:1fr 82px 1fr 1fr!important}}
@media(max-width:560px){.hlh-instructor-portal .hlh-diary-colour-grid,.hlh-instructor-portal .hlh-diary-colour-swatches{grid-template-columns:1fr!important}.hlh-instructor-portal .hlh-settings-title-row,.hlh-instructor-portal .hlh-settings-subhead{display:block!important}.hlh-instructor-portal .hlh-working-hours-compact .hlh-working-hours-row,.hlh-instructor-portal .hlh-portal-settings .hlh-working-hours-row{grid-template-columns:1fr 1fr!important}.hlh-instructor-portal .hlh-working-hours-compact .hlh-working-hours-head,.hlh-instructor-portal .hlh-portal-settings .hlh-working-hours-head{display:none!important}}

/* v0.4.70 - grouped full-width progress layout */
.hlh-portal-profile-section .hlh-progress-groups{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))!important;gap:14px!important;width:100%!important;max-width:none!important;align-items:start!important;margin:14px 0 18px!important;}
.hlh-portal-profile-section .hlh-progress-group-card{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:14px!important;padding:14px!important;box-shadow:0 6px 18px rgba(17,24,39,.045)!important;min-width:0!important;}
.hlh-portal-profile-section .hlh-progress-group-card h3{margin:0 0 10px!important;font-size:15px!important;line-height:1.2!important;color:#111827!important;font-weight:900!important;padding-bottom:8px!important;border-bottom:1px solid #f1f5f9!important;}
.hlh-portal-profile-section .hlh-progress-group-items{display:grid!important;gap:10px!important;}
.hlh-portal-profile-section .hlh-progress-field{display:block!important;padding:10px!important;margin:0!important;border:1px solid #eef2f7!important;border-radius:12px!important;background:#fafafa!important;box-shadow:none!important;min-width:0!important;}
.hlh-portal-profile-section .hlh-progress-control-line{display:grid!important;grid-template-columns:minmax(120px,1fr) minmax(145px,170px)!important;gap:8px!important;align-items:center!important;margin:0!important;}
.hlh-portal-profile-section .hlh-progress-topic-title{display:block!important;font-size:13px!important;line-height:1.25!important;margin:0!important;color:#111827!important;font-weight:800!important;}
.hlh-portal-profile-section .hlh-progress-field select,.hlh-portal-profile-section .hlh-progress-control-line select{min-height:34px!important;height:34px!important;margin:0!important;padding:4px 8px!important;border-radius:9px!important;font-size:12.5px!important;width:100%!important;}
.hlh-portal-profile-section .hlh-progress-meter-line{display:grid!important;grid-template-columns:minmax(0,1fr) 42px!important;gap:8px!important;align-items:center!important;margin-top:8px!important;}
.hlh-portal-profile-section .hlh-progress-mini-meter{display:block!important;height:8px!important;border-radius:999px!important;background:#e5e7eb!important;overflow:hidden!important;min-width:0!important;}
.hlh-portal-profile-section .hlh-progress-mini-meter i{display:block!important;height:100%!important;background:#d83087!important;border-radius:999px!important;}
.hlh-portal-profile-section .hlh-progress-mini-percent{font-size:12px!important;line-height:1!important;text-align:right!important;color:#374151!important;}
@media(min-width:1400px){.hlh-portal-profile-section .hlh-progress-groups{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(min-width:1900px){.hlh-portal-profile-section .hlh-progress-groups{grid-template-columns:repeat(5,minmax(0,1fr))!important;}}
@media(max-width:760px){.hlh-portal-profile-section .hlh-progress-groups{grid-template-columns:1fr!important}.hlh-portal-profile-section .hlh-progress-control-line{grid-template-columns:1fr!important}}


/* v0.4.72 - move progress meter to base of each progress box */
.hlh-progress-field,
.hlh-progress-edit-row,
.hlh-progress-edit-row.hlh-progress-edit-row-compact,
.hlh-portal-profile-section .hlh-progress-field,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    position:relative!important;
    overflow:visible!important;
}
.hlh-progress-control-line,
.hlh-portal-profile-section .hlh-progress-control-line{
    order:1!important;
    display:grid!important;
    grid-template-columns:minmax(130px,1fr) minmax(150px,180px)!important;
    gap:10px!important;
    align-items:center!important;
    width:100%!important;
    z-index:2!important;
}
.hlh-progress-field textarea,
.hlh-progress-edit-row textarea,
.hlh-progress-edit-row.hlh-progress-edit-row-compact textarea,
.hlh-portal-profile-section .hlh-progress-field textarea{
    order:2!important;
    width:100%!important;
    box-sizing:border-box!important;
}
.hlh-progress-meter-line,
.hlh-portal-profile-section .hlh-progress-meter-line{
    order:9!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px!important;
    gap:8px!important;
    align-items:center!important;
    width:100%!important;
    margin-top:auto!important;
    padding-top:4px!important;
    clear:both!important;
    z-index:1!important;
}
.hlh-progress-field input[type="hidden"]{display:none!important;}
.hlh-progress-field select,
.hlh-progress-control-line select,
.hlh-portal-profile-section .hlh-progress-field select,
.hlh-portal-profile-section .hlh-progress-control-line select{
    position:relative!important;
    z-index:3!important;
    max-width:100%!important;
}
@media(max-width:760px){
    .hlh-progress-control-line,
    .hlh-portal-profile-section .hlh-progress-control-line{grid-template-columns:1fr!important;}
}


/* v0.4.73 - progress bar fixed at base with percentage inside the bar */
.hlh-progress-field,
.hlh-progress-edit-row,
.hlh-progress-edit-row.hlh-progress-edit-row-compact,
.hlh-portal-profile-section .hlh-progress-field,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    overflow:visible!important;
}
.hlh-progress-control-line,
.hlh-portal-profile-section .hlh-progress-control-line,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-control-line{
    order:1!important;
    position:relative!important;
    z-index:4!important;
}
.hlh-progress-field textarea,
.hlh-progress-edit-row textarea,
.hlh-progress-edit-row.hlh-progress-edit-row-compact textarea,
.hlh-portal-profile-section .hlh-progress-field textarea,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field textarea{
    order:2!important;
    flex:0 0 auto!important;
}
.hlh-progress-meter-line,
.hlh-portal-profile-section .hlh-progress-meter-line,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-meter-line{
    order:99!important;
    display:block!important;
    position:relative!important;
    width:100%!important;
    margin-top:auto!important;
    padding-top:7px!important;
    min-height:22px!important;
    clear:both!important;
    z-index:1!important;
}
.hlh-progress-mini-meter,
.hlh-portal-profile-section .hlh-progress-mini-meter,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-mini-meter{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:18px!important;
    min-height:18px!important;
    border-radius:999px!important;
    background:#e5e7eb!important;
    overflow:hidden!important;
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)!important;
}
.hlh-progress-mini-meter i,
.hlh-portal-profile-section .hlh-progress-mini-meter i,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-mini-meter i{
    display:block!important;
    height:100%!important;
    min-width:2px!important;
    background:#d83087!important;
    border-radius:999px!important;
}
.hlh-progress-mini-percent,
.hlh-portal-profile-section .hlh-progress-mini-percent,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-mini-percent{
    position:absolute!important;
    inset:7px 0 0 0!important;
    height:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    pointer-events:none!important;
    color:#111827!important;
    font-size:11.5px!important;
    line-height:18px!important;
    font-weight:900!important;
    text-align:center!important;
    text-shadow:0 1px 0 rgba(255,255,255,.55)!important;
    z-index:2!important;
}
.hlh-progress-field input[type="hidden"]{display:none!important;}

/* v0.4.74 - richer instructor add pupil form */
.hlh-portal-add-pupil-body .hlh-form-grid{align-items:start;}
.hlh-portal-add-pupil-body .hlh-full-label{grid-column:1 / -1;}
.hlh-portal-add-pupil-body textarea{min-height:74px;resize:vertical;}
.hlh-portal-add-pupil-body input[required],
.hlh-portal-add-pupil-body textarea[required]{border-left:4px solid #e83e8c;}


/* v0.4.75 - readable grouped progress cards with meter contained at base */
.hlh-progress-groups{
    width:100%!important;
    box-sizing:border-box!important;
}
.hlh-progress-group-card{
    box-sizing:border-box!important;
    overflow:visible!important;
}
.hlh-progress-group-items{
    width:100%!important;
    box-sizing:border-box!important;
}
.hlh-progress-field,
.hlh-progress-edit-row,
.hlh-progress-edit-row.hlh-progress-edit-row-compact,
.hlh-portal-profile-section .hlh-progress-field,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field{
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    padding:12px 12px 10px 12px!important;
    min-height:0!important;
    overflow:hidden!important;
}
.hlh-progress-control-line,
.hlh-portal-profile-section .hlh-progress-control-line,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-control-line{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(150px,170px)!important;
    gap:10px!important;
    align-items:center!important;
    width:100%!important;
    box-sizing:border-box!important;
    order:1!important;
    position:relative!important;
    z-index:3!important;
}
.hlh-progress-topic-title{
    padding-left:0!important;
    min-width:0!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    line-height:1.25!important;
}
.hlh-progress-field select,
.hlh-progress-control-line select,
.hlh-portal-profile-section .hlh-progress-field select,
.hlh-portal-profile-section .hlh-progress-control-line select,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field select{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    position:relative!important;
    z-index:4!important;
}
.hlh-progress-field textarea,
.hlh-progress-edit-row textarea,
.hlh-progress-edit-row.hlh-progress-edit-row-compact textarea,
.hlh-portal-profile-section .hlh-progress-field textarea,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field textarea{
    order:2!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
}
.hlh-progress-meter-line,
.hlh-portal-profile-section .hlh-progress-meter-line,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-meter-line{
    order:99!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    display:block!important;
    position:relative!important;
    margin-top:auto!important;
    padding:0!important;
    min-height:18px!important;
    clear:both!important;
    overflow:visible!important;
    z-index:1!important;
}
.hlh-progress-mini-meter,
.hlh-portal-profile-section .hlh-progress-mini-meter,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-mini-meter{
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    height:18px!important;
    min-height:18px!important;
    border-radius:999px!important;
    background:#e5e7eb!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)!important;
}
.hlh-progress-mini-meter i,
.hlh-portal-profile-section .hlh-progress-mini-meter i,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-mini-meter i{
    display:block!important;
    height:100%!important;
    min-width:0!important;
    background:#d83087!important;
    border-radius:999px!important;
}
.hlh-progress-mini-percent,
.hlh-portal-profile-section .hlh-progress-mini-percent,
.hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-mini-percent{
    position:absolute!important;
    inset:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    pointer-events:none!important;
    color:#111827!important;
    font-size:11.5px!important;
    line-height:18px!important;
    font-weight:900!important;
    text-align:center!important;
    text-shadow:0 1px 0 rgba(255,255,255,.6)!important;
    z-index:2!important;
}
@media(max-width:760px){
    .hlh-progress-control-line,
    .hlh-portal-profile-section .hlh-progress-control-line,
    .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-control-line{
        grid-template-columns:1fr!important;
    }
}

/* v0.4.76 - professional pupil contact details and structured address fields */
.hlh-address-fieldset {
  border: 1px solid #d7dee8 !important;
  background: #fbfcff !important;
  border-radius: 14px !important;
  padding: 14px !important;
  margin: 8px 0 14px !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.hlh-address-fieldset legend { padding: 0 8px !important; font-weight: 800 !important; color: #142033 !important; font-size: 13px !important; }
.hlh-address-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px 12px !important; align-items: end !important; }
.hlh-address-fieldset label, .hlh-address-grid label { margin: 0 !important; min-width: 0 !important; font-size: 12.5px !important; font-weight: 700 !important; color: #344054 !important; }
.hlh-address-fieldset input { margin-top: 5px !important; width: 100% !important; min-height: 38px !important; border-radius: 8px !important; border: 1px solid #cbd5e1 !important; background: #fff !important; color: #111827 !important; box-shadow: none !important; }
.hlh-postcode-row { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; gap: 8px !important; align-items: center !important; }
.hlh-postcode-row .button, .hlh-postcode-lookup { min-height: 38px !important; border-radius: 8px !important; padding: 0 14px !important; font-weight: 800 !important; white-space: nowrap !important; }
.hlh-field-hint { margin: 8px 0 0 !important; color: #667085 !important; font-size: 12px !important; line-height: 1.4 !important; }
@media (max-width: 760px) { .hlh-address-grid { grid-template-columns: 1fr !important; } .hlh-postcode-row { grid-template-columns: 1fr !important; } }


/* v0.4.77 - clean progress cards: dropdown clear, bar fixed at base */
html body .hlh-progress-groups{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;
  gap:16px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
}
html body .hlh-progress-group-card{
  padding:16px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid #e3e8ef!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
  min-width:0!important;
  overflow:visible!important;
}
html body .hlh-progress-group-card h3{
  margin:0 0 14px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid #eef2f7!important;
  font-size:17px!important;
  line-height:1.2!important;
}
html body .hlh-progress-group-items{
  display:grid!important;
  gap:12px!important;
  width:100%!important;
}
html body .hlh-progress-field,
html body .hlh-progress-edit-row,
html body .hlh-progress-edit-row.hlh-progress-edit-row-compact,
html body .hlh-admin-wrap .hlh-progress-field,
html body .hlh-admin-wrap .hlh-progress-edit-row,
html body .hlh-portal-profile-section .hlh-progress-field,
html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:14px!important;
  border:1px solid #e7edf5!important;
  border-radius:14px!important;
  background:#fbfcfe!important;
  box-shadow:none!important;
  overflow:visible!important;
}
html body .hlh-progress-control-line,
html body .hlh-admin-wrap .hlh-progress-control-line,
html body .hlh-portal-profile-section .hlh-progress-control-line,
html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-control-line{
  order:1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(165px,190px)!important;
  gap:12px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  z-index:5!important;
}
html body .hlh-progress-topic-title,
html body .hlh-admin-wrap .hlh-progress-topic-title,
html body .hlh-portal-profile-section .hlh-progress-topic-title{
  display:block!important;
  padding:0!important;
  margin:0!important;
  color:#111827!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.3!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
html body .hlh-progress-field select,
html body .hlh-progress-edit-row select,
html body .hlh-progress-control-line select,
html body .hlh-admin-wrap .hlh-progress-field select,
html body .hlh-portal-profile-section .hlh-progress-field select,
html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field select{
  position:relative!important;
  z-index:10!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  box-sizing:border-box!important;
  padding:6px 34px 6px 10px!important;
  margin:0!important;
  border-radius:10px!important;
  background:#fff!important;
  font-size:14px!important;
  line-height:1.2!important;
}
html body .hlh-progress-field textarea,
html body .hlh-progress-edit-row textarea,
html body .hlh-progress-edit-row.hlh-progress-edit-row-compact textarea,
html body .hlh-admin-wrap .hlh-progress-field textarea,
html body .hlh-portal-profile-section .hlh-progress-field textarea,
html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-field textarea{
  order:2!important;
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  min-height:54px!important;
  height:54px!important;
  margin:0!important;
  padding:9px 10px!important;
  border-radius:10px!important;
  font-size:13px!important;
  line-height:1.35!important;
  position:relative!important;
  z-index:2!important;
}
html body .hlh-progress-meter-line,
html body .hlh-admin-wrap .hlh-progress-meter-line,
html body .hlh-portal-profile-section .hlh-progress-meter-line,
html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-meter-line{
  order:99!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:2px 0 0!important;
  padding:0!important;
  height:22px!important;
  min-height:22px!important;
  position:relative!important;
  inset:auto!important;
  clear:both!important;
  overflow:hidden!important;
  z-index:1!important;
}
html body .hlh-progress-mini-meter,
html body .hlh-admin-wrap .hlh-progress-mini-meter,
html body .hlh-portal-profile-section .hlh-progress-mini-meter,
html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-mini-meter{
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:100%!important;
  max-width:100%!important;
  height:22px!important;
  min-height:22px!important;
  border-radius:11px!important;
  background:#e5e7eb!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)!important;
  z-index:1!important;
}
html body .hlh-progress-mini-meter i,
html body .hlh-admin-wrap .hlh-progress-mini-meter i,
html body .hlh-portal-profile-section .hlh-progress-mini-meter i,
html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-mini-meter i{
  display:block!important;
  height:100%!important;
  min-width:0!important;
  max-width:100%!important;
  background:#d83087!important;
  border-radius:11px!important;
  position:relative!important;
  z-index:1!important;
}
html body .hlh-progress-mini-percent,
html body .hlh-admin-wrap .hlh-progress-mini-percent,
html body .hlh-portal-profile-section .hlh-progress-mini-percent,
html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-mini-percent{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  color:#111827!important;
  font-size:12px!important;
  line-height:22px!important;
  font-weight:900!important;
  text-align:center!important;
  pointer-events:none!important;
  text-shadow:0 1px 0 rgba(255,255,255,.7)!important;
  z-index:3!important;
}
html body .hlh-progress-field input[type="hidden"]{
  display:none!important;
}
@media (max-width:900px){
  html body .hlh-progress-groups{grid-template-columns:1fr!important;}
  html body .hlh-progress-control-line,
  html body .hlh-admin-wrap .hlh-progress-control-line,
  html body .hlh-portal-profile-section .hlh-progress-control-line,
  html body .hlh-instructor-portal .hlh-portal-progress-form .hlh-progress-control-line{
    grid-template-columns:1fr!important;
  }
}


/* v0.4.78 - postcode finder removed */
.hlh-postcode-lookup,
[data-hlh-postcode-lookup],
[data-hlh-postcode-status] {
  display: none !important;
}
.hlh-postcode-row {
  display: block !important;
}
.hlh-postcode-row input,
.hlh-address-grid input[name="postcode"] {
  width: 100% !important;
}


/* v0.4.80 - keep admin pupil detail values on one line */
.hlh-admin-wrap .hlh-card-view .hlh-detail-list,
.hlh-admin-wrap .hlh-profile-overview-card .hlh-detail-list,
.hlh-admin-wrap .hlh-profile-inner-grid .hlh-detail-list,
.hlh-admin-wrap .hlh-profile-layout .hlh-detail-list {
  gap: 8px 10px !important;
}
.hlh-admin-wrap .hlh-card-view .hlh-detail-list > div,
.hlh-admin-wrap .hlh-profile-overview-card .hlh-detail-list > div,
.hlh-admin-wrap .hlh-profile-inner-grid .hlh-detail-list > div,
.hlh-admin-wrap .hlh-profile-layout .hlh-detail-list > div {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-height: 40px !important;
  padding: 8px 10px !important;
  overflow: hidden !important;
}
.hlh-admin-wrap .hlh-card-view .hlh-detail-list span,
.hlh-admin-wrap .hlh-profile-overview-card .hlh-detail-list span,
.hlh-admin-wrap .hlh-profile-inner-grid .hlh-detail-list span,
.hlh-admin-wrap .hlh-profile-layout .hlh-detail-list span {
  flex: 0 0 auto !important;
  margin: 0 !important;
  white-space: nowrap !important;
  line-height: 1.1 !important;
}
.hlh-admin-wrap .hlh-card-view .hlh-detail-list strong,
.hlh-admin-wrap .hlh-profile-overview-card .hlh-detail-list strong,
.hlh-admin-wrap .hlh-profile-inner-grid .hlh-detail-list strong,
.hlh-admin-wrap .hlh-profile-layout .hlh-detail-list strong {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-align: right !important;
  line-height: 1.15 !important;
}
.hlh-admin-wrap .hlh-profile-inner-grid,
.hlh-admin-wrap .hlh-profile-layout,
.hlh-admin-wrap .hlh-profile-overview-grid {
  align-items: start !important;
}
@media (max-width: 900px) {
  .hlh-admin-wrap .hlh-card-view .hlh-detail-list > div,
  .hlh-admin-wrap .hlh-profile-overview-card .hlh-detail-list > div,
  .hlh-admin-wrap .hlh-profile-inner-grid .hlh-detail-list > div,
  .hlh-admin-wrap .hlh-profile-layout .hlh-detail-list > div {
    min-height: 42px !important;
  }
}
@media (max-width: 560px) {
  .hlh-admin-wrap .hlh-card-view .hlh-detail-list > div,
  .hlh-admin-wrap .hlh-profile-overview-card .hlh-detail-list > div,
  .hlh-admin-wrap .hlh-profile-inner-grid .hlh-detail-list > div,
  .hlh-admin-wrap .hlh-profile-layout .hlh-detail-list > div {
    display: grid !important;
    grid-template-columns: minmax(92px, auto) minmax(0, 1fr) !important;
  }
}

/* v0.4.81 - instructor portal full pupil profile details */
.hlh-portal-full-profile{
  width:100%!important;
  max-width:none!important;
  display:block!important;
}
.hlh-portal-profile-grid-wide{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
  width:100%!important;
  margin:0 0 14px!important;
}
.hlh-portal-full-profile .hlh-card,
.hlh-portal-full-profile .hlh-panel{
  width:100%!important;
  box-sizing:border-box!important;
}
.hlh-portal-full-profile .hlh-card-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
}
.hlh-portal-full-profile .hlh-card-heading h3{
  margin:0!important;
  font-size:20px!important;
  line-height:1.15!important;
}
.hlh-portal-full-profile .hlh-detail-list,
.hlh-portal-full-profile .hlh-detail-list-compact{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.hlh-portal-full-profile .hlh-detail-list > div{
  min-height:42px!important;
  padding:9px 10px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:11px!important;
  background:#f8fafc!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.hlh-portal-full-profile .hlh-detail-list span{
  font-size:11px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.03em!important;
  color:#64748b!important;
  flex:0 0 auto!important;
}
.hlh-portal-full-profile .hlh-detail-list strong{
  min-width:0!important;
  max-width:60%!important;
  font-size:14px!important;
  font-weight:700!important;
  color:#0f172a!important;
  text-align:right!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.hlh-portal-full-profile .hlh-form-grid{
  grid-template-columns:repeat(2,minmax(180px,1fr))!important;
}
.hlh-portal-full-profile .hlh-address-fieldset{
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:14px!important;
  padding:12px!important;
  margin:0 0 12px!important;
  background:#fbfdff!important;
}
.hlh-portal-full-profile .hlh-address-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(180px,1fr))!important;
  gap:10px!important;
}
@media (max-width: 960px){
  .hlh-portal-profile-grid-wide{grid-template-columns:1fr!important;}
  .hlh-portal-full-profile .hlh-detail-list,
  .hlh-portal-full-profile .hlh-detail-list-compact{grid-template-columns:1fr!important;}
}
@media (max-width: 620px){
  .hlh-portal-full-profile .hlh-form-grid,
  .hlh-portal-full-profile .hlh-address-grid{grid-template-columns:1fr!important;}
  .hlh-portal-full-profile .hlh-detail-list > div{align-items:flex-start!important;flex-direction:column!important;}
  .hlh-portal-full-profile .hlh-detail-list strong{max-width:100%!important;text-align:left!important;white-space:normal!important;}
}


/* v0.4.82 - central OK pop-up for messages and status updates */
.hlh-status-popup{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
  background:rgba(15,23,42,.42)!important;
  backdrop-filter:blur(3px)!important;
}
.hlh-status-popup[hidden],
.hlh-status-popup.is-hidden{display:none!important;}
.hlh-status-popup-card{
  width:min(440px,100%)!important;
  background:#fff!important;
  border:1px solid #ead6e5!important;
  border-radius:22px!important;
  box-shadow:0 24px 80px rgba(15,23,42,.26)!important;
  padding:26px 24px 22px!important;
  text-align:center!important;
  color:#0f172a!important;
}
.hlh-status-popup-icon{
  width:48px!important;
  height:48px!important;
  border-radius:999px!important;
  margin:0 auto 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#ecfdf5!important;
  color:#047857!important;
  border:1px solid #a7f3d0!important;
  font-size:24px!important;
  font-weight:900!important;
}
.hlh-status-popup-card h2{
  margin:0 0 8px!important;
  font-size:22px!important;
  line-height:1.15!important;
  color:#0f172a!important;
  font-weight:900!important;
}
.hlh-status-popup-card p{
  margin:0 0 18px!important;
  color:#334155!important;
  font-size:15px!important;
  line-height:1.45!important;
  font-weight:700!important;
}
.hlh-status-popup-ok{
  min-width:120px!important;
  min-height:42px!important;
  border-radius:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.hlh-status-popup-ok.hlh-button,
.hlh-status-popup-card .hlh-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--hlh-brand,#e83e8c)!important;
  border:0!important;
  color:#fff!important;
  text-decoration:none!important;
  padding:0 22px!important;
}
.hlh-inline-notice-fallback{display:none!important;}
@media(max-width:520px){.hlh-status-popup-card{border-radius:18px!important;padding:22px 18px 18px!important}.hlh-status-popup-card h2{font-size:20px!important}}

/* v0.4.83 - compact instructor checks card and student app activity visibility */
.hlh-instructor-portal .hlh-compact-checks-card,
.hlh-instructor-portal .hlh-terms-checks-card{
  align-self:start!important;
}
.hlh-instructor-portal .hlh-compact-checks-card .hlh-detail-list,
.hlh-instructor-portal .hlh-terms-checks-card .hlh-detail-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.hlh-instructor-portal .hlh-compact-checks-card .hlh-detail-list>div,
.hlh-instructor-portal .hlh-terms-checks-card .hlh-detail-list>div{
  min-height:0!important;
  padding:9px 10px!important;
  border-radius:10px!important;
  align-items:center!important;
}
.hlh-instructor-portal .hlh-compact-checks-card .hlh-detail-list span,
.hlh-instructor-portal .hlh-terms-checks-card .hlh-detail-list span{
  font-size:10px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.hlh-instructor-portal .hlh-compact-checks-card .hlh-detail-list strong,
.hlh-instructor-portal .hlh-terms-checks-card .hlh-detail-list strong{
  font-size:13px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media (max-width:760px){
  .hlh-instructor-portal .hlh-compact-checks-card .hlh-detail-list,
  .hlh-instructor-portal .hlh-terms-checks-card .hlh-detail-list{
    grid-template-columns:1fr!important;
  }
}

/* v0.4.84 - instructor mobile road mode and compact app layout */
.hlh-instructor-mobile-ready .hlh-road-mode-view{display:grid;gap:14px;max-width:1180px;margin:0 auto 28px;}
.hlh-instructor-mobile-ready .hlh-road-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#fff,#fff7fb);}
.hlh-road-next-card{border-left:5px solid var(--hlh-brand,#d63384);}
.hlh-road-time{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:800;letter-spacing:.01em;}
.hlh-road-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.hlh-road-quick-grid a,.hlh-road-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#111827;text-decoration:none;font-weight:800;font-size:13px;box-shadow:0 6px 14px rgba(15,23,42,.05);}
.hlh-road-quick-grid a:hover,.hlh-road-action:hover{border-color:#d63384;color:#b91c68;}
.hlh-road-today h3{margin-top:0;}
.hlh-road-event-list{display:grid;gap:10px;}
.hlh-road-event-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;}
.hlh-road-event-main h4{margin:7px 0 3px;font-size:18px;line-height:1.15;}
.hlh-road-event-main p{margin:0;color:#64748b;font-size:13px;}
.hlh-road-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:440px;}
.hlh-road-actions form{margin:0;display:inline-flex;}
.hlh-road-action{cursor:pointer;border-radius:10px;min-height:34px;background:#f8fafc;}
.hlh-road-action.is-muted{background:#f8fafc;color:#64748b;}
@media (max-width: 760px){
  .hlh-instructor-mobile-ready{padding:0 10px 82px!important;background:#f8fafc;}
  .hlh-instructor-mobile-ready .hlh-admin-login-test-card{display:none;}
  .hlh-instructor-mobile-ready .hlh-instructor-top{position:sticky;top:0;z-index:20;margin:0 -10px 10px;padding:10px 12px;border-radius:0;background:rgba(255,255,255,.96);box-shadow:0 4px 18px rgba(15,23,42,.08);}
  .hlh-instructor-mobile-ready .hlh-instructor-top h1{font-size:20px;margin:0;}
  .hlh-instructor-mobile-ready .hlh-instructor-top p:not(.hlh-kicker){display:none;}
  .hlh-instructor-mobile-ready .hlh-instructor-nav{position:sticky;top:66px;z-index:19;display:flex;gap:6px;overflow-x:auto;padding:8px 2px 10px;margin:0 -2px 10px;background:#f8fafc;scrollbar-width:none;}
  .hlh-instructor-mobile-ready .hlh-instructor-nav::-webkit-scrollbar{display:none;}
  .hlh-instructor-mobile-ready .hlh-instructor-nav a{flex:0 0 auto;min-width:auto;padding:9px 12px;border-radius:999px;font-size:13px;white-space:nowrap;}
  .hlh-instructor-mobile-ready .hlh-card{border-radius:16px;padding:14px;box-shadow:0 8px 22px rgba(15,23,42,.07);}
  .hlh-instructor-mobile-ready .hlh-instructor-grid,.hlh-instructor-mobile-ready .hlh-profile-card-grid,.hlh-instructor-mobile-ready .hlh-profile-details-grid{grid-template-columns:1fr!important;gap:10px!important;}
  .hlh-instructor-mobile-ready .hlh-portal-profile-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:10px;scrollbar-width:none;}
  .hlh-instructor-mobile-ready .hlh-portal-profile-tabs::-webkit-scrollbar{display:none;}
  .hlh-instructor-mobile-ready .hlh-portal-profile-tabs a{flex:0 0 auto;padding:9px 12px;border-radius:999px;font-size:13px;white-space:nowrap;}
  .hlh-instructor-mobile-ready .hlh-road-hero{display:block;}
  .hlh-instructor-mobile-ready .hlh-road-hero .hlh-mini-button{margin-top:10px;width:100%;justify-content:center;}
  .hlh-road-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .hlh-road-event-card{grid-template-columns:1fr;padding:12px;border-radius:14px;}
  .hlh-road-event-main h4{font-size:17px;}
  .hlh-road-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;justify-content:stretch;}
  .hlh-road-actions form,.hlh-road-action{width:100%;}
  .hlh-road-action{min-height:40px;font-size:12.5px;}
  .hlh-instructor-mobile-ready .hlh-portal-pupil-table{display:grid;gap:10px;}
  .hlh-instructor-mobile-ready .hlh-portal-pupil-row-head{display:none!important;}
  .hlh-instructor-mobile-ready .hlh-portal-pupil-row{display:grid!important;grid-template-columns:1fr!important;gap:6px;padding:12px!important;border-radius:14px!important;background:#fff!important;border:1px solid #e5e7eb!important;}
  .hlh-instructor-mobile-ready .hlh-form-grid{grid-template-columns:1fr!important;}
  .hlh-instructor-mobile-ready input,.hlh-instructor-mobile-ready select,.hlh-instructor-mobile-ready textarea{font-size:16px!important;}
}

/* v0.4.85 - instructor mobile one-day lesson diary */
.hlh-road-day-view{max-width:980px;}
.hlh-road-day-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 4px;}
.hlh-road-day-nav a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#111827;text-decoration:none;font-weight:800;font-size:13px;box-shadow:0 5px 12px rgba(15,23,42,.05);}
.hlh-road-day-nav a.is-today{border-color:#d63384;background:#fff7fb;color:#b91c68;}
.hlh-road-day-lesson-card{border-radius:12px;padding:12px 14px;}
.hlh-road-empty{border:1px dashed #cbd5e1;border-radius:14px;padding:16px;background:#f8fafc;text-align:center;}
.hlh-road-empty h4{margin:0 0 6px;font-size:18px;}
@media (max-width:760px){
  .hlh-road-day-nav{grid-template-columns:1fr;gap:8px;}
  .hlh-road-day-lesson-card{padding:12px;border-radius:12px;}
}


/* v0.4.86 - mobile instructor full week diary fit */
@media (max-width: 760px){
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-wrap,
  html body .hlh-instructor-mobile-ready .hlh-calendar-wrap,
  html body .hlh-instructor-portal .hlh-portal-calendar-wrap,
  html body .hlh-instructor-portal .hlh-calendar-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    border-radius:10px!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid,
  html body .hlh-instructor-portal .hlh-calendar-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-template-columns:34px repeat(7,minmax(0,1fr))!important;
    grid-auto-rows:38px!important;
    gap:0!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-calendar-head,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-calendar-head{
    min-width:0!important;
    padding:4px 1px!important;
    font-size:9px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head strong,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-calendar-head strong,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head strong,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-calendar-head strong{
    display:block!important;
    font-size:10px!important;
    line-height:1!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head span,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-calendar-head span,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head span,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-calendar-head span{
    display:block!important;
    font-size:8px!important;
    line-height:1!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-time,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-calendar-time,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-time,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-calendar-time{
    width:auto!important;
    min-width:0!important;
    padding:3px 2px!important;
    justify-content:center!important;
    align-items:flex-start!important;
    text-align:center!important;
    font-size:8.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-half-hour,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-half-hour{
    font-size:7.5px!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-cell,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-calendar-cell,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-cell,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-calendar-cell,
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-slot,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-slot{
    min-width:0!important;
    width:auto!important;
    min-height:38px!important;
    height:38px!important;
    padding:0!important;
    overflow:hidden!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-add,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-calendar-add,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-add,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-calendar-add{
    width:13px!important;
    height:13px!important;
    min-height:13px!important;
    right:1px!important;
    top:1px!important;
    border-radius:2px!important;
    font-size:9px!important;
    line-height:1!important;
    padding:0!important;
    opacity:.85!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event-block,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-calendar-event,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-calendar-event-block,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-calendar-event,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-calendar-event-block{
    margin:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    border-width:0!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-event-detail-link,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-event-detail-link{
    padding:3px 2px!important;
    gap:0!important;
    min-width:0!important;
    height:100%!important;
    overflow:hidden!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link strong,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-event-detail-link strong,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link strong,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-event-detail-link strong{
    display:block!important;
    font-size:9.5px!important;
    line-height:1.05!important;
    max-width:100%!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link small,
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link em,
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link span,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-event-detail-link small,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-event-detail-link em,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid .hlh-event-detail-link span,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link small,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link em,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link span,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-event-detail-link small,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-event-detail-link em,
  html body .hlh-instructor-portal .hlh-calendar-grid .hlh-event-detail-link span{
    display:block!important;
    font-size:8px!important;
    line-height:1!important;
    max-width:100%!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-payment-strip,
  html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-payment-strip{
    margin-top:1px!important;
    padding:1px 2px!important;
    border-radius:0!important;
    font-size:7.5px!important;
    line-height:1!important;
  }
}


/* v0.4.87 - HARD mobile instructor week fit (targets tablet/mobile viewport before old 980px scroll rule) */
@media (max-width: 1100px){
  html body .hlh-instructor-portal .hlh-portal-calendar-wrap,
  html body .hlh-instructor-portal .hlh-calendar-wrap,
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-wrap,
  html body .hlh-instructor-mobile-ready .hlh-calendar-wrap,
  html body .hlh-public-wrap .hlh-instructor-portal .hlh-portal-calendar-wrap,
  html body .hlh-public-wrap .hlh-instructor-portal .hlh-calendar-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    padding:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
  html body .hlh-instructor-portal .hlh-portal-calendar-grid,
  html body .hlh-instructor-portal .hlh-calendar-grid,
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid,
  html body .hlh-public-wrap .hlh-instructor-portal .hlh-portal-calendar-grid,
  html body .hlh-public-wrap .hlh-instructor-portal .hlh-calendar-grid{
    display:grid!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-template-columns:26px repeat(7,minmax(0,1fr))!important;
    grid-auto-rows:34px!important;
    gap:0!important;
    table-layout:fixed!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body .hlh-instructor-portal .hlh-portal-calendar-grid > *,
  html body .hlh-instructor-portal .hlh-calendar-grid > *,
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid > *,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid > *{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-head,
  html body .hlh-instructor-portal .hlh-day-head,
  html body .hlh-instructor-portal .hlh-calendar-day-head,
  html body .hlh-instructor-portal .hlh-time-head,
  html body .hlh-instructor-mobile-ready .hlh-calendar-head,
  html body .hlh-instructor-mobile-ready .hlh-day-head,
  html body .hlh-instructor-mobile-ready .hlh-calendar-day-head,
  html body .hlh-instructor-mobile-ready .hlh-time-head{
    min-width:0!important;
    min-height:32px!important;
    height:32px!important;
    padding:3px 1px!important;
    font-size:8px!important;
    line-height:1!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-align:center!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-head strong,
  html body .hlh-instructor-mobile-ready .hlh-calendar-head strong{
    display:block!important;
    font-size:9px!important;
    line-height:1!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:clip!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-head span,
  html body .hlh-instructor-portal .hlh-calendar-head small,
  html body .hlh-instructor-mobile-ready .hlh-calendar-head span,
  html body .hlh-instructor-mobile-ready .hlh-calendar-head small{
    display:block!important;
    font-size:7px!important;
    line-height:1!important;
    margin:1px 0 0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:clip!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-time,
  html body .hlh-instructor-portal .hlh-calendar-time-cell,
  html body .hlh-instructor-portal .hlh-time-cell,
  html body .hlh-instructor-mobile-ready .hlh-calendar-time,
  html body .hlh-instructor-mobile-ready .hlh-calendar-time-cell,
  html body .hlh-instructor-mobile-ready .hlh-time-cell{
    min-width:0!important;
    width:auto!important;
    min-height:34px!important;
    height:34px!important;
    padding:2px 1px!important;
    font-size:7px!important;
    line-height:1!important;
    text-align:center!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-cell,
  html body .hlh-instructor-portal .hlh-calendar-slot,
  html body .hlh-instructor-portal .hlh-slot,
  html body .hlh-instructor-mobile-ready .hlh-calendar-cell,
  html body .hlh-instructor-mobile-ready .hlh-calendar-slot,
  html body .hlh-instructor-mobile-ready .hlh-slot{
    min-width:0!important;
    width:auto!important;
    min-height:34px!important;
    height:34px!important;
    padding:0!important;
    overflow:hidden!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-add,
  html body .hlh-instructor-mobile-ready .hlh-calendar-add{
    width:11px!important;
    height:11px!important;
    min-height:11px!important;
    top:1px!important;
    right:1px!important;
    padding:0!important;
    font-size:8px!important;
    line-height:10px!important;
    border-radius:1px!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-event,
  html body .hlh-instructor-portal .hlh-calendar-event-block,
  html body .hlh-instructor-mobile-ready .hlh-calendar-event,
  html body .hlh-instructor-mobile-ready .hlh-calendar-event-block{
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:1px!important;
    border-radius:0!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  html body .hlh-instructor-portal .hlh-event-detail-link,
  html body .hlh-instructor-mobile-ready .hlh-event-detail-link{
    display:block!important;
    height:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:2px 1px!important;
    overflow:hidden!important;
  }
  html body .hlh-instructor-portal .hlh-event-detail-link strong,
  html body .hlh-instructor-mobile-ready .hlh-event-detail-link strong{
    display:block!important;
    max-width:100%!important;
    font-size:8px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  html body .hlh-instructor-portal .hlh-event-detail-link small,
  html body .hlh-instructor-portal .hlh-event-detail-link em,
  html body .hlh-instructor-portal .hlh-event-detail-link span,
  html body .hlh-instructor-mobile-ready .hlh-event-detail-link small,
  html body .hlh-instructor-mobile-ready .hlh-event-detail-link em,
  html body .hlh-instructor-mobile-ready .hlh-event-detail-link span{
    display:block!important;
    max-width:100%!important;
    font-size:6.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  html body .hlh-instructor-portal .hlh-payment-strip,
  html body .hlh-instructor-mobile-ready .hlh-payment-strip{
    display:none!important;
  }
}

/* v0.4.88 - instructor mobile refresh controls */
.hlh-instructor-refresh-card{
  margin: 12px 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
}
.hlh-instructor-refresh-card h3{ margin:0 0 4px; font-size:16px; }
.hlh-instructor-refresh-card p{ margin:0; }
.hlh-instructor-refresh-card .hlh-refresh-status{ margin-top:6px; font-size:12px; font-weight:700; color:#334155; }
.hlh-road-refresh-button{
  border: 0;
  cursor: pointer;
  font: inherit;
  text-align: center;
  appearance: none;
}
.hlh-road-quick-grid .hlh-road-refresh-button{
  width: 100%;
  border-radius: 14px;
  min-height: 46px;
  padding: 12px 10px;
  background: #111827;
  color: #fff;
  font-weight: 800;
  box-shadow: 0 10px 20px rgba(15,23,42,.16);
}
@media (max-width: 760px){
  .hlh-instructor-refresh-card{ align-items: stretch; flex-direction: column; padding:12px; border-radius:14px; }
  .hlh-instructor-refresh-card .hlh-button{ width:100%; }
}


/* v0.4.89 - force instructor mobile full-week diary to fit all 7 days */
@media (max-width: 900px){
  html body .hlh-instructor-portal,
  html body .hlh-instructor-mobile-ready{
    overflow-x:hidden!important;
  }
  html body .hlh-instructor-portal .hlh-portal-calendar-wrap,
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-wrap,
  html body .hlh-instructor-portal .hlh-calendar-wrap,
  html body .hlh-instructor-mobile-ready .hlh-calendar-wrap{
    width:100vw!important;
    max-width:100vw!important;
    min-width:0!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:0!important;
    overflow-x:hidden!important;
    border-radius:0!important;
    box-sizing:border-box!important;
  }
  html body .hlh-instructor-portal .hlh-portal-calendar-grid,
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid,
  html body .hlh-instructor-portal .hlh-calendar-grid,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid{
    display:grid!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:100vw!important;
    box-sizing:border-box!important;
    grid-template-columns:24px repeat(7,minmax(0,calc((100vw - 24px) / 7)))!important;
    grid-auto-rows:36px!important;
    gap:0!important;
    overflow:hidden!important;
  }
  html body .hlh-instructor-portal .hlh-portal-calendar-grid > *,
  html body .hlh-instructor-mobile-ready .hlh-portal-calendar-grid > *,
  html body .hlh-instructor-portal .hlh-calendar-grid > *,
  html body .hlh-instructor-mobile-ready .hlh-calendar-grid > *{
    min-width:0!important;
    max-width:100%!important;
    width:auto!important;
    box-sizing:border-box!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-head,
  html body .hlh-instructor-mobile-ready .hlh-calendar-head{
    padding:3px 0!important;
    font-size:8px!important;
    line-height:1!important;
    min-width:0!important;
    overflow:hidden!important;
    text-align:center!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-head strong,
  html body .hlh-instructor-mobile-ready .hlh-calendar-head strong{
    display:block!important;
    font-size:8.5px!important;
    line-height:1!important;
    letter-spacing:-.03em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-head span,
  html body .hlh-instructor-mobile-ready .hlh-calendar-head span{
    display:block!important;
    font-size:6.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-time,
  html body .hlh-instructor-mobile-ready .hlh-calendar-time{
    padding:2px 0!important;
    font-size:6.5px!important;
    line-height:1!important;
    text-align:center!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-cell,
  html body .hlh-instructor-mobile-ready .hlh-calendar-cell{
    min-height:36px!important;
    height:36px!important;
    padding:0!important;
    overflow:hidden!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-add,
  html body .hlh-instructor-mobile-ready .hlh-calendar-add{
    width:10px!important;
    height:10px!important;
    min-height:10px!important;
    right:1px!important;
    top:1px!important;
    padding:0!important;
    font-size:7px!important;
    line-height:9px!important;
    border-radius:1px!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-event-block,
  html body .hlh-instructor-portal .hlh-calendar-event,
  html body .hlh-instructor-mobile-ready .hlh-calendar-event-block,
  html body .hlh-instructor-mobile-ready .hlh-calendar-event{
    margin:0!important;
    padding:1px!important;
    min-width:0!important;
    max-width:100%!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  html body .hlh-instructor-portal .hlh-event-detail-link,
  html body .hlh-instructor-mobile-ready .hlh-event-detail-link{
    padding:2px 1px!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  html body .hlh-instructor-portal .hlh-event-detail-link strong,
  html body .hlh-instructor-mobile-ready .hlh-event-detail-link strong{
    display:block!important;
    font-size:7.5px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  html body .hlh-instructor-portal .hlh-event-detail-link small,
  html body .hlh-instructor-portal .hlh-event-detail-link em,
  html body .hlh-instructor-portal .hlh-event-detail-link span,
  html body .hlh-instructor-mobile-ready .hlh-event-detail-link small,
  html body .hlh-instructor-mobile-ready .hlh-event-detail-link em,
  html body .hlh-instructor-mobile-ready .hlh-event-detail-link span{
    display:none!important;
  }
  html body .hlh-instructor-portal .hlh-payment-strip,
  html body .hlh-instructor-mobile-ready .hlh-payment-strip,
  html body .hlh-instructor-portal .hlh-diary-resize-handle,
  html body .hlh-instructor-mobile-ready .hlh-diary-resize-handle{
    display:none!important;
  }
}

/* v0.4.90 - accessible automatic diary text contrast */
.hlh-calendar-wrap .hlh-calendar-event-block.hlh-event-lesson,
.hlh-portal-calendar-wrap .hlh-calendar-event-block.hlh-event-lesson,
.hlh-calendar-wrap .hlh-calendar-event.hlh-event-lesson,
.hlh-portal-calendar-wrap .hlh-calendar-event.hlh-event-lesson{
    color:var(--hlh-diary-lesson-text,#ffffff)!important;
}
.hlh-calendar-wrap .hlh-calendar-event-block.hlh-event-gap,
.hlh-portal-calendar-wrap .hlh-calendar-event-block.hlh-event-gap,
.hlh-calendar-wrap .hlh-calendar-event.hlh-event-gap,
.hlh-portal-calendar-wrap .hlh-calendar-event.hlh-event-gap{
    color:var(--hlh-diary-gap-text,#ffffff)!important;
}
.hlh-calendar-wrap .hlh-calendar-event-block.hlh-event-time_away,
.hlh-portal-calendar-wrap .hlh-calendar-event-block.hlh-event-time_away,
.hlh-calendar-wrap .hlh-calendar-event.hlh-event-time_away,
.hlh-portal-calendar-wrap .hlh-calendar-event.hlh-event-time_away{
    color:var(--hlh-diary-away-text,#ffffff)!important;
}
.hlh-calendar-wrap .hlh-calendar-event-block .hlh-event-detail-link,
.hlh-portal-calendar-wrap .hlh-calendar-event-block .hlh-event-detail-link,
.hlh-calendar-wrap .hlh-calendar-event-block strong,
.hlh-portal-calendar-wrap .hlh-calendar-event-block strong,
.hlh-calendar-wrap .hlh-calendar-event-block small,
.hlh-portal-calendar-wrap .hlh-calendar-event-block small,
.hlh-calendar-wrap .hlh-calendar-event-block em,
.hlh-portal-calendar-wrap .hlh-calendar-event-block em,
.hlh-calendar-wrap .hlh-calendar-event-block span,
.hlh-portal-calendar-wrap .hlh-calendar-event-block span{
    color:inherit!important;
}
.hlh-calendar-wrap .hlh-payment-strip.paid,
.hlh-portal-calendar-wrap .hlh-payment-strip.paid{
    color:var(--hlh-diary-paid-text,#ffffff)!important;
}
.hlh-calendar-wrap .hlh-payment-strip.unpaid,
.hlh-portal-calendar-wrap .hlh-payment-strip.unpaid{
    color:var(--hlh-diary-unpaid-text,#ffffff)!important;
}
.hlh-calendar-wrap .hlh-event-delete-link,
.hlh-portal-calendar-wrap .hlh-event-delete-link{
    color:inherit!important;
    text-decoration:underline;
    text-underline-offset:2px;
}

/* v0.4.91 - road mode mobile settings */
.hlh-road-mode-settings-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:10px!important;
  margin:12px 0 18px!important;
}
.hlh-road-toggle{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:42px!important;
  padding:10px 12px!important;
  border:1px solid rgba(15,23,42,.12)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 6px 16px rgba(15,23,42,.05)!important;
  font-weight:650!important;
  color:#172033!important;
}
.hlh-road-toggle input{
  width:18px!important;
  height:18px!important;
  margin:0!important;
  flex:0 0 auto!important;
}
.hlh-road-toggle span{line-height:1.2!important;}
.hlh-road-mode-subhead,
.hlh-road-mode-actions-subhead{
  margin-top:18px!important;
  padding-top:14px!important;
  border-top:1px solid rgba(15,23,42,.10)!important;
}
@media (max-width:680px){
  .hlh-road-mode-settings-grid{grid-template-columns:1fr!important;gap:8px!important;}
  .hlh-road-toggle{min-height:38px!important;padding:9px 10px!important;border-radius:10px!important;}
}

/* v0.4.92 - clearer Road Mode settings and quick message editor */
.hlh-road-mode-subhead,
.hlh-road-mode-actions-subhead,
.hlh-road-mode-messages-subhead {
  margin-top: 22px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(33,150,243,.10), rgba(236,72,153,.10)) !important;
  border: 1px solid rgba(37,99,235,.18) !important;
}
.hlh-road-mode-subhead h3,
.hlh-road-mode-actions-subhead h3,
.hlh-road-mode-messages-subhead h3 { margin: 0 0 4px !important; font-size: 1.15rem !important; }
.hlh-road-mode-settings-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 12px !important;
  margin: 14px 0 18px !important;
}
.hlh-road-toggle {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 54px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  background: #fff !important;
  border: 2px solid rgba(37,99,235,.18) !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.08) !important;
  cursor: pointer !important;
  font-weight: 800 !important;
  color: #172033 !important;
}
.hlh-road-toggle:hover { border-color: rgba(37,99,235,.45) !important; transform: translateY(-1px); }
.hlh-road-toggle input[type="checkbox"] {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  accent-color: #2563eb !important;
}
.hlh-road-toggle span { line-height: 1.2 !important; }
.hlh-road-message-settings {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 14px !important;
  margin: 14px 0 20px !important;
}
.hlh-road-message-settings label {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 14px !important;
  border-radius: 18px !important;
  background: #fff !important;
  border: 2px solid rgba(15,23,42,.10) !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.08) !important;
}
.hlh-road-message-settings label > span {
  font-weight: 900 !important;
  color: #172033 !important;
  font-size: 1rem !important;
}
.hlh-road-message-settings textarea {
  width: 100% !important;
  min-height: 92px !important;
  padding: 12px !important;
  border-radius: 14px !important;
  border: 2px solid rgba(37,99,235,.18) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  background: #fbfdff !important;
}
.hlh-road-message-settings textarea:focus {
  border-color: #2563eb !important;
  outline: 3px solid rgba(37,99,235,.14) !important;
}
.hlh-road-message-settings small { color: #586174 !important; font-weight: 650 !important; }
.hlh-road-settings-save { width: 100% !important; min-height: 52px !important; font-size: 1.05rem !important; border-radius: 18px !important; }
.hlh-road-actions { gap: 8px !important; }
.hlh-road-action {
  min-height: 42px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  font-weight: 850 !important;
  text-align: center !important;
}
@media (max-width: 640px) {
  .hlh-road-mode-settings-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .hlh-road-toggle { min-height: 58px !important; padding: 10px !important; font-size: 14px !important; border-radius: 16px !important; }
  .hlh-road-toggle input[type="checkbox"] { width: 22px !important; height: 22px !important; min-width: 22px !important; }
  .hlh-road-message-settings { grid-template-columns: 1fr !important; }
  .hlh-road-action { min-height: 44px !important; }
}


/* v0.4.93 - keep Road Mode off the desktop nav, but keep its settings available */
@media (min-width: 769px) {
  .hlh-instructor-portal .hlh-instructor-nav .hlh-road-nav-link {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .hlh-instructor-portal .hlh-instructor-nav .hlh-road-nav-link {
    display: inline-flex !important;
  }
}
.hlh-message-settings-panel {
  border: 1px solid rgba(15,23,42,.10) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,247,255,.94)) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  margin: 12px 0 18px !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.06) !important;
}
.hlh-message-settings-intro {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid rgba(15,23,42,.08) !important;
  margin-bottom: 12px !important;
}
.hlh-message-settings-intro strong { font-size: 15px !important; color: #0f172a !important; }
.hlh-message-settings-intro span { color: #64748b !important; font-size: 12px !important; text-align: right !important; }
.hlh-message-settings-panel .hlh-road-message-settings {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.hlh-message-settings-panel textarea {
  min-height: 92px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  border-radius: 12px !important;
}
@media (max-width: 900px) {
  .hlh-message-settings-panel .hlh-road-message-settings { grid-template-columns: 1fr !important; }
  .hlh-message-settings-intro { align-items: flex-start !important; flex-direction: column !important; }
  .hlh-message-settings-intro span { text-align: left !important; }
}

/* v0.4.94 - custom Road Mode message library */
.hlh-custom-message-library{margin-top:16px!important;padding:14px!important;border-radius:18px!important;background:#f8fbff!important;border:2px solid rgba(37,99,235,.14)!important;box-shadow:0 10px 24px rgba(15,23,42,.06)!important}.hlh-custom-message-rows{display:grid!important;gap:12px!important;margin:12px 0!important}.hlh-custom-message-row{display:grid!important;grid-template-columns:minmax(160px,.55fr) minmax(260px,1.45fr) auto!important;gap:12px!important;align-items:end!important;padding:12px!important;border-radius:16px!important;background:#fff!important;border:1px solid #e2e8f0!important}.hlh-custom-message-row label{display:flex!important;flex-direction:column!important;gap:6px!important;margin:0!important}.hlh-custom-message-row input,.hlh-custom-message-row textarea{width:100%!important;border:1px solid #cbd5e1!important;border-radius:12px!important;padding:10px 12px!important;font-size:14px!important;background:#fff!important}.hlh-custom-message-row textarea{min-height:72px!important;resize:vertical!important}.hlh-add-custom-message{width:100%!important;min-height:46px!important;border-radius:15px!important}.hlh-road-custom-sms{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important;min-width:180px!important}.hlh-road-message-select{width:100%!important;min-height:38px!important;padding:8px 10px!important;border:1px solid #cbd5e1!important;border-radius:12px!important;background:#fff!important;font-size:13px!important;font-weight:750!important;color:#172033!important}.hlh-road-custom-sms-link{width:100%!important}@media(max-width:760px){.hlh-custom-message-row{grid-template-columns:1fr!important}.hlh-road-custom-sms{grid-column:1/-1!important;min-width:0!important}.hlh-road-message-select{min-height:42px!important}}

/* v0.4.95 - instructor branding settings and branded headers */
.hlh-branding-settings-panel{border:1px solid rgba(15,23,42,.10);background:linear-gradient(135deg,#fff,#f8fafc);border-radius:18px;padding:16px;margin:12px 0 18px;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.hlh-branding-preview-card{display:flex;align-items:center;gap:14px;border:1px solid rgba(15,23,42,.10);background:#fff;border-radius:16px;padding:12px 14px;margin-bottom:14px}
.hlh-branding-preview-card strong{display:block;font-size:18px;color:#0f172a}.hlh-branding-preview-card span{display:block;color:#64748b;font-size:13px;margin-top:2px}.hlh-branding-preview-logo,.hlh-instructor-top-logo,.hlh-student-brand-logo{object-fit:contain;background:#fff;border:1px solid rgba(15,23,42,.10)}
.hlh-branding-preview-logo{width:72px;height:72px;border-radius:16px;padding:6px}.hlh-instructor-top-logo{width:78px;height:78px;border-radius:18px;padding:7px;box-shadow:0 8px 22px rgba(15,23,42,.08)}
.hlh-branded-top-inner{display:flex;align-items:center;gap:16px}.hlh-branding-form-grid input[type="file"]{background:#fff;border:1px dashed rgba(15,23,42,.22);padding:11px;border-radius:12px}.hlh-branding-form-grid small{display:block;margin-top:5px;color:#64748b;font-size:12px}.hlh-student-brand-line{display:flex;align-items:center;gap:9px;margin-bottom:3px}.hlh-student-brand-logo{width:34px;height:34px;border-radius:9px;padding:3px}
@media (max-width:720px){.hlh-branded-top-inner{align-items:flex-start}.hlh-instructor-top-logo{width:58px;height:58px;border-radius:14px}.hlh-branding-preview-card{align-items:flex-start}.hlh-branding-preview-logo{width:58px;height:58px}}

/* v0.4.96 - simple road mode message dropdown settings */
.hlh-simple-message-settings .hlh-road-message-settings{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:14px!important;
}
.hlh-simple-message-settings .hlh-road-message-field{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:14px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:16px!important;
  background:#fff!important;
}
.hlh-simple-message-settings .hlh-road-message-field>span{
  font-weight:800!important;
  color:#0f172a!important;
}
.hlh-simple-message-settings .hlh-road-message-template-select,
.hlh-simple-message-settings textarea{
  width:100%!important;
  box-sizing:border-box!important;
}
.hlh-simple-message-settings small{line-height:1.35!important;color:#64748b!important;}

/* v0.4.97 - adaptive instructor branding name and stable logo fit */
.hlh-branded-instructor-top,
.hlh-branded-top-inner,
.hlh-branding-preview-card{
  min-width:0!important;
}
.hlh-branded-top-inner{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
  overflow:hidden!important;
}
.hlh-branded-top-inner>div{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.hlh-branded-instructor-top h1,
.hlh-branding-preview-card strong{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-width:100%!important;
  min-width:0!important;
  line-height:1.05!important;
  transform-origin:left center!important;
}
.hlh-instructor-top-logo{
  width:92px!important;
  height:72px!important;
  flex:0 0 92px!important;
  max-width:92px!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  padding:2px!important;
  border-radius:12px!important;
}
.hlh-branding-preview-logo{
  width:92px!important;
  height:72px!important;
  flex:0 0 92px!important;
  max-width:92px!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:2px!important;
  border-radius:12px!important;
}
@media(max-width:760px){
  .hlh-branded-top-inner{gap:10px!important;align-items:center!important;}
  .hlh-instructor-top-logo{width:74px!important;height:58px!important;flex-basis:74px!important;max-width:74px!important;max-height:58px!important;}
  .hlh-branded-instructor-top h1{font-size:clamp(15px, 5vw, 25px)!important;}
  .hlh-branding-preview-logo{width:74px!important;height:58px!important;flex-basis:74px!important;max-width:74px!important;max-height:58px!important;}
}
@media(max-width:420px){
  .hlh-instructor-top-logo{width:66px!important;height:52px!important;flex-basis:66px!important;max-width:66px!important;max-height:52px!important;}
  .hlh-branded-instructor-top h1{font-size:clamp(13px, 4.4vw, 21px)!important;}
}

/* v0.4.98 - keep branding text uniform, never horizontally distorted */
.hlh-student-brand-line .hlh-public-kicker,
.hlh-branded-instructor-top h1,
.hlh-branding-preview-card strong{
  transform:none!important;
  font-stretch:normal!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  letter-spacing:normal!important;
  line-height:1.12!important;
}
.hlh-student-brand-line .hlh-public-kicker{
  max-width:calc(100% - 62px)!important;
  font-size:clamp(11px,3.15vw,14px)!important;
}
@media(max-width:430px){
  .hlh-student-brand-line .hlh-public-kicker{max-width:calc(100% - 58px)!important;font-size:clamp(10px,3vw,13px)!important;}
}
.hlh-branded-instructor-top h1{
  font-size:clamp(16px,4.5vw,24px)!important;
}
.hlh-branding-preview-card strong{
  font-size:clamp(15px,3vw,18px)!important;
}

/* v0.5.02 - instructor branding is for instructor screens only */
.hlh-branded-instructor-top .hlh-instructor-top-logo{object-fit:contain!important;}

/* v0.5.03 - assigned instructor branding restored on learner app without distorting text */
.hlh-student-instructor-brand-line{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.hlh-student-instructor-brand-line .hlh-student-brand-logo{
  display:block!important;
  width:56px!important;
  height:42px!important;
  flex:0 0 56px!important;
  max-width:56px!important;
  max-height:42px!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:2px!important;
  border-radius:10px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.10)!important;
}
.hlh-student-instructor-brand-line .hlh-public-kicker{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  transform:none!important;
  letter-spacing:.04em!important;
  font-size:clamp(10px,3.1vw,13px)!important;
  line-height:1.15!important;
}
@media(max-width:420px){
  .hlh-student-instructor-brand-line .hlh-student-brand-logo{width:50px!important;height:38px!important;flex-basis:50px!important;}
  .hlh-student-instructor-brand-line .hlh-public-kicker{font-size:clamp(9px,3vw,12px)!important;}
}


/* v0.5.45 - successful status messages fade away after eight seconds */
.hlh-app-alert,
.hlh-status-bar,
.hlh-alert-success,
.notice-success,
.updated,
.hlh-public .hlh-app-alert,
.hlh-mobile-app .hlh-app-alert{
  transition: opacity .45s ease, transform .45s ease, max-height .45s ease, margin .45s ease, padding .45s ease, border-width .45s ease !important;
  overflow: hidden !important;
}
.hlh-app-alert.is-fading,
.hlh-status-bar.is-fading,
.hlh-alert-success.is-fading,
.notice-success.is-fading,
.updated.is-fading,
.hlh-public .hlh-app-alert.is-fading,
.hlh-mobile-app .hlh-app-alert.is-fading{
  opacity:0!important;
  transform:translateY(-8px)!important;
  max-height:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  border-width:0!important;
  pointer-events:none!important;
}

.hlh-status-popup{
  transition:opacity .45s ease!important;
}
.hlh-status-popup.is-fading{
  opacity:0!important;
  pointer-events:none!important;
}


/* v0.5.11 - current time marker for diary grids */
.hlh-calendar-grid,
.hlh-portal-calendar-grid{
    position:relative!important;
}
.hlh-current-time-marker{
    pointer-events:none!important;
    position:relative!important;
    top:var(--hlh-now-offset,0%)!important;
    align-self:start!important;
    width:100%!important;
    height:0!important;
    border-top:3px solid #e11d48!important;
    z-index:80!important;
    box-shadow:0 0 0 1px rgba(255,255,255,.85),0 2px 8px rgba(225,29,72,.25)!important;
}
.hlh-current-time-marker::before{
    content:"";
    position:absolute;
    left:-5px;
    top:-6px;
    width:10px;
    height:10px;
    border-radius:999px;
    background:#e11d48;
    box-shadow:0 0 0 2px #fff;
}
.hlh-current-time-marker span{
    position:absolute;
    right:4px;
    top:-13px;
    background:#e11d48;
    color:#fff!important;
    border-radius:999px;
    padding:2px 7px;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:800!important;
    white-space:nowrap!important;
    box-shadow:0 2px 8px rgba(225,29,72,.22);
}
@media (max-width:760px){
    .hlh-current-time-marker{border-top-width:2px!important;}
    .hlh-current-time-marker span{font-size:9px!important;padding:1px 4px;right:2px;top:-11px;}
}

/* v0.5.15 - manual Student App code SMS action */
.hlh-app-code-sms-action{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    margin-top:12px!important;
}
.hlh-app-code-sms-button{
    background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
    border-color:#1d4ed8!important;
    color:#fff!important;
    text-decoration:none!important;
}
.hlh-app-code-sms-button:hover,
.hlh-app-code-sms-button:focus{
    background:linear-gradient(135deg,#1d4ed8,#1e40af)!important;
    border-color:#1e40af!important;
    color:#fff!important;
}
.hlh-app-code-sms-missing{
    display:inline-flex!important;
    align-items:center!important;
    min-height:38px!important;
    padding:8px 12px!important;
    border:1px solid #f59e0b!important;
    border-radius:10px!important;
    background:#fffbeb!important;
    color:#92400e!important;
    font-size:13px!important;
    font-weight:750!important;
}
@media (max-width:760px){
    .hlh-app-code-sms-action .hlh-app-code-sms-button,
    .hlh-mini-actions .hlh-app-code-sms-button{
        width:100%!important;
        justify-content:center!important;
        text-align:center!important;
    }
}

/* v0.5.16 final cascade - professional Instructor App controls */
.hlh-instructor-portal .button,.hlh-instructor-portal .hlh-button,.hlh-instructor-portal .hlh-mini-button{min-height:36px!important;height:auto!important;padding:7px 13px!important;border:1px solid #cbd5e1!important;border-radius:7px!important;background:#fff!important;background-image:none!important;box-shadow:0 1px 2px rgba(15,23,42,.06)!important;color:#334155!important;font-size:13px!important;line-height:1.3!important;font-weight:650!important;text-decoration:none!important}
.hlh-instructor-portal .hlh-button:not(.hlh-button-secondary):not(.hlh-button-danger-quiet):not(.hlh-danger-link),.hlh-instructor-portal .hlh-app-code-sms-button{border-color:#1e3a5f!important;background:#1e3a5f!important;color:#fff!important}
.hlh-instructor-portal .hlh-button-secondary{border-color:#cbd5e1!important;background:#fff!important;color:#334155!important}
.hlh-instructor-portal .hlh-button-danger-quiet,.hlh-instructor-portal .hlh-danger-link{border-color:#fecaca!important;background:#fff!important;color:#b42318!important}
.hlh-instructor-portal .hlh-mini-actions{gap:8px!important;align-items:center!important}
@media(max-width:760px){.hlh-instructor-portal .hlh-mini-actions .hlh-mini-button{width:100%!important;justify-content:center!important;text-align:center!important}}

/* v0.5.18 - full enquiry review inside the Instructor App */
.hlh-enquiry-review-card{display:grid!important;gap:16px!important}
.hlh-enquiry-card-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important}
.hlh-enquiry-card-heading h3{margin:2px 0 0!important}
.hlh-enquiry-card-heading .hlh-kicker{margin:0!important}
.hlh-enquiry-status{flex:0 0 auto!important}
.hlh-enquiry-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.hlh-enquiry-summary>div{display:grid!important;gap:4px!important;padding:12px!important;border:1px solid #e2e8f0!important;border-radius:9px!important;background:#f8fafc!important;min-width:0!important}
.hlh-enquiry-summary span,.hlh-enquiry-decision-form label>span{color:#64748b!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.035em!important}
.hlh-enquiry-summary strong{overflow-wrap:anywhere!important;color:#1e293b!important}
.hlh-enquiry-contact-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.hlh-enquiry-details{border:1px solid #dbe3ee!important;border-radius:9px!important;background:#fff!important;overflow:hidden!important}
.hlh-enquiry-details summary{padding:11px 13px!important;cursor:pointer!important;color:#1e3a5f!important;font-weight:750!important;list-style-position:inside!important}
.hlh-enquiry-details[open] summary{border-bottom:1px solid #e2e8f0!important;background:#f8fafc!important}
.hlh-enquiry-detail-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;padding:14px!important}
.hlh-enquiry-detail-grid section{min-width:0!important}
.hlh-enquiry-detail-grid h4{margin:0 0 6px!important;font-size:13px!important;color:#475569!important}
.hlh-enquiry-detail-grid p{margin:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
.hlh-enquiry-detail-wide{grid-column:1/-1!important}
.hlh-enquiry-decision-form{display:flex!important;align-items:flex-end!important;gap:10px!important;padding-top:2px!important}
.hlh-enquiry-decision-form label{display:grid!important;gap:5px!important;min-width:210px!important;margin:0!important}
@media(max-width:760px){
    .hlh-enquiry-card-heading{align-items:flex-start!important}
    .hlh-enquiry-summary,.hlh-enquiry-detail-grid{grid-template-columns:1fr!important}
    .hlh-enquiry-detail-wide{grid-column:auto!important}
    .hlh-enquiry-contact-actions>*{flex:1 1 90px!important;text-align:center!important;justify-content:center!important}
    .hlh-enquiry-decision-form{display:grid!important;grid-template-columns:1fr!important}
    .hlh-enquiry-decision-form label,.hlh-enquiry-decision-form button{width:100%!important;min-width:0!important}
}

/* v0.5.22 - grouped enquiry review inside the Instructor App */
.hlh-enquiry-review-groups{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
}
.hlh-enquiry-review-group{
    min-width:0!important;
    padding:16px!important;
    border:1px solid #dbe3ee!important;
    border-radius:12px!important;
    background:#f8fafc!important;
}
.hlh-enquiry-review-group-availability,
.hlh-enquiry-review-group-test,
.hlh-enquiry-review-group-other{
    grid-column:1/-1!important;
}
.hlh-enquiry-review-group-head{
    margin:0 0 13px!important;
}
.hlh-enquiry-review-group-head h4{
    margin:0 0 3px!important;
    color:#1e3a5f!important;
    font-size:17px!important;
    font-weight:800!important;
}
.hlh-enquiry-review-group-head p{
    margin:0!important;
    color:#64748b!important;
    font-size:13px!important;
}
.hlh-enquiry-review-group-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
}
.hlh-enquiry-review-answer{
    min-width:0!important;
    padding:11px 12px!important;
    border:1px solid #e2e8f0!important;
    border-radius:9px!important;
    background:#fff!important;
}
.hlh-enquiry-review-answer-wide{
    grid-column:1/-1!important;
}
.hlh-enquiry-review-answer>span{
    display:block!important;
    margin:0 0 5px!important;
    color:#64748b!important;
    font-size:12px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.035em!important;
}
.hlh-enquiry-review-answer p{
    margin:0!important;
    color:#1e293b!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
}
@media(max-width:760px){
    .hlh-enquiry-review-groups,
    .hlh-enquiry-review-group-grid{
        grid-template-columns:1fr!important;
    }
    .hlh-enquiry-review-group,
    .hlh-enquiry-review-group-availability,
    .hlh-enquiry-review-group-test,
    .hlh-enquiry-review-group-other,
    .hlh-enquiry-review-answer-wide{
        grid-column:1!important;
    }
}
.hlh-transmission-offering-card {
    border: 1px solid #d8dee8;
    border-radius: 12px;
    padding: 16px;
    margin: 0 0 18px;
    background: #f8fafc;
}

.hlh-transmission-offering-card legend {
    padding: 0 7px;
    font-weight: 700;
    color: #172033;
}

.hlh-transmission-offering-card > p {
    margin: 0 0 12px;
    color: #526071;
    font-size: 14px;
}

.hlh-transmission-offering-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.hlh-transmission-offering-options label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #cfd7e3;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}

.hlh-transmission-offering-options input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    flex: 0 0 auto;
}

.hlh-transmission-offering-options span,
.hlh-transmission-offering-options strong,
.hlh-transmission-offering-options small {
    display: block;
}

.hlh-transmission-offering-options small,
.hlh-transmission-offering-note {
    color: #687588;
}

.hlh-transmission-offering-note {
    display: block;
    margin-top: 9px;
}

@media (max-width: 640px) {
    .hlh-transmission-offering-options {
        grid-template-columns: 1fr;
    }
}

/* v0.5.33 - keep transmission availability with its enquiry field */

/* v0.5.34 - section-level instructor settings saves */
.hlh-instructor-portal .hlh-settings-section {
  scroll-margin-top: 18px;
}
.hlh-instructor-portal .hlh-section-save-row {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-top: 14px !important;
  padding-top: 12px !important;
  border-top: 1px solid #e2e8f0 !important;
}
.hlh-instructor-portal .hlh-section-save-row .hlh-button {
  width: auto !important;
  min-width: 150px !important;
  min-height: 40px !important;
  padding: 9px 16px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 750 !important;
}
@media (max-width: 560px) {
  .hlh-instructor-portal .hlh-section-save-row .hlh-button {
    width: 100% !important;
  }
}

/* v0.5.35 - collapsible instructor settings */
.hlh-instructor-portal details.hlh-settings-section {
  display: block !important;
  overflow: hidden !important;
  margin: 12px 0 !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .045) !important;
  scroll-margin-top: 18px;
}

.hlh-instructor-portal details.hlh-settings-section[open] {
  border-color: #b9c8dc !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .07) !important;
}

.hlh-instructor-portal details.hlh-settings-section > summary.hlh-settings-subhead {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 17px 18px !important;
  border: 0 !important;
  background: #f8fafc !important;
  cursor: pointer !important;
  list-style: none !important;
  user-select: none !important;
}

.hlh-instructor-portal details.hlh-settings-section > summary::-webkit-details-marker {
  display: none;
}

.hlh-instructor-portal details.hlh-settings-section > summary::marker {
  content: "";
}

.hlh-instructor-portal details.hlh-settings-section[open] > summary.hlh-settings-subhead {
  border-bottom: 1px solid #e2e8f0 !important;
  background: #f3f6fa !important;
}

.hlh-instructor-portal details.hlh-settings-section > summary > div {
  min-width: 0;
}

.hlh-instructor-portal details.hlh-settings-section > summary h3 {
  margin: 0 0 3px !important;
  color: #0f172a !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
}

.hlh-instructor-portal details.hlh-settings-section > summary p {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.hlh-instructor-portal .hlh-settings-chevron {
  width: 11px;
  height: 11px;
  flex: 0 0 11px;
  margin-right: 4px;
  border-right: 2px solid #334155;
  border-bottom: 2px solid #334155;
  transform: rotate(45deg);
  transition: transform .18s ease;
}

.hlh-instructor-portal details.hlh-settings-section[open] .hlh-settings-chevron {
  transform: rotate(225deg);
}

.hlh-instructor-portal .hlh-settings-section-body {
  padding: 16px 18px 18px !important;
}

.hlh-instructor-portal details.hlh-settings-section.is-dirty > summary h3::after {
  content: "Unsaved changes";
  display: inline-flex;
  align-items: center;
  margin-left: 9px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #fff7ed;
  color: #9a3412;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  vertical-align: 2px;
}

@media (max-width: 560px) {
  .hlh-instructor-portal details.hlh-settings-section > summary.hlh-settings-subhead {
    display: flex !important;
    padding: 15px !important;
  }

  .hlh-instructor-portal .hlh-settings-section-body {
    padding: 14px !important;
  }

  .hlh-instructor-portal details.hlh-settings-section > summary p {
    margin-top: 3px !important;
  }

  .hlh-instructor-portal details.hlh-settings-section.is-dirty > summary h3::after {
    display: table;
    margin: 5px 0 0;
  }
}
.hlh-transmission-availability-inline {
    grid-column: 1 / -1;
    margin-top: 2px;
    padding-top: 12px;
    border-top: 1px solid #dbe3ee;
}

.hlh-transmission-availability-heading {
    display: grid;
    gap: 3px;
    margin-bottom: 10px;
}

.hlh-transmission-availability-heading strong {
    color: #172033;
    font-size: 13px;
}

.hlh-transmission-availability-heading small {
    color: #64748b;
    line-height: 1.45;
}

.hlh-transmission-availability-inline .hlh-transmission-offering-options label {
    padding: 9px 11px;
}

.hlh-transmission-availability-inline .hlh-transmission-offering-note {
    margin-top: 7px;
    font-size: 12px;
}
/* v0.5.37 - private administrator messages for instructors */
.hlh-instructor-portal .hlh-instructor-admin-message-alert{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin-bottom:16px!important;
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
  color:#1e3a8a!important;
  text-decoration:none!important;
}
.hlh-instructor-admin-message-alert>span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border-radius:999px!important;
  background:#1d4ed8!important;
  color:#fff!important;
  font-weight:900!important;
}
.hlh-instructor-admin-message-alert div{display:grid!important;gap:3px!important;}
.hlh-instructor-admin-message-alert strong{color:#1e3a8a!important;}
.hlh-instructor-admin-message-alert small{color:#475569!important;}
.hlh-admin-to-instructor-messages{margin-bottom:16px!important;}
.hlh-admin-message-heading{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:14px!important;
}
.hlh-admin-message-heading h2{margin:3px 0 0!important;}
.hlh-admin-message-heading>span{
  display:inline-flex!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:#dbeafe!important;
  color:#1d4ed8!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.hlh-admin-message-list{display:grid!important;gap:10px!important;}
.hlh-admin-to-instructor-message{
  padding:14px!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  background:#fff!important;
}
.hlh-admin-to-instructor-message.is-unread{
  border-color:#93c5fd!important;
  background:#f8fbff!important;
  box-shadow:inset 4px 0 0 #2563eb!important;
}
.hlh-admin-to-instructor-message header{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.hlh-admin-to-instructor-message header strong{color:#0f172a!important;}
.hlh-admin-to-instructor-message header small,
.hlh-admin-to-instructor-message footer{color:#64748b!important;font-size:12px!important;}
.hlh-admin-to-instructor-message p{margin:10px 0!important;color:#334155!important;line-height:1.55!important;}
@media(max-width:620px){
  .hlh-admin-message-heading,
  .hlh-admin-to-instructor-message header{display:grid!important;}
}
/* v0.5.43 - beta readiness and simplified payment-free interface */
.hlh-beta-badge{
  display:inline-flex;align-items:center;justify-content:center;
  margin-left:8px;padding:3px 8px;border-radius:999px;
  background:#fce7f3;color:#9d174d;font-size:11px;font-weight:900;
  letter-spacing:.08em;vertical-align:middle;
}
.hlh-health-list{display:grid;gap:7px;margin:14px 0 18px;}
.hlh-health-list p{margin:0;}
.hlh-beta-feedback{margin-top:20px;}
.hlh-beta-feedback summary{cursor:pointer;font-weight:900;color:#9d174d;}
.hlh-danger-zone{display:inline-block;margin-left:8px;}
.hlh-danger-zone summary{cursor:pointer;color:#991b1b;font-weight:700;}

html body .hlh-payment-settings-panel,
html body [data-hlh-payment-settings],
html body .hlh-payment-summary,
html body .hlh-student-payment-box,
html body .hlh-payment-strip,
html body .hlh-unpaid-strip,
html body .hlh-payment-pill,
html body .hlh-event-unpaid,
html body .hlh-student-credit-panel,
html body .hlh-credit-summary{
  display:none!important;
}

/* v0.5.47 final profile-tab cascade */
html body .hlh-instructor-portal .hlh-portal-profile-tabs{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:nowrap!important;overflow-x:auto!important;margin:14px 0 16px!important;padding:5px!important;background:#f1f5f9!important;border:1px solid #e2e8f0!important;border-radius:12px!important;box-shadow:none!important;scrollbar-width:thin!important;}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a{flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:0 14px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#334155!important;font-size:13px!important;line-height:1!important;font-weight:750!important;text-decoration:none!important;box-shadow:none!important;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease!important;}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a:hover{background:rgba(255,255,255,.72)!important;color:#111827!important;transform:translateY(-1px)!important;}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a:focus-visible{outline:3px solid rgba(216,45,145,.22)!important;outline-offset:1px!important;}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a.is-active{background:linear-gradient(135deg,#5b2b86 0%,#d82d91 100%)!important;color:#fff!important;border:0!important;box-shadow:0 4px 12px rgba(91,43,134,.22)!important;}
@media(max-width:560px){
  html body .hlh-instructor-portal .hlh-portal-profile-tabs{gap:3px!important;padding:4px!important;border-radius:10px!important;}
  html body .hlh-instructor-portal .hlh-portal-profile-tabs a{min-height:36px!important;padding:0 12px!important;border-radius:7px!important;font-size:12.5px!important;}
}
