

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

/* v0.7.70 - one readable history for Instructor App alerts. */
.hlh-instructor-portal .hlh-notification-centre{display:grid;gap:20px;}
.hlh-instructor-portal .hlh-notification-centre-list{display:grid;gap:12px;}
.hlh-instructor-portal .hlh-notification-centre-list>h2{margin:0;font-size:1.15rem;}
.hlh-instructor-portal .hlh-notification-centre-card{display:grid;gap:12px;border-left:4px solid transparent;}
.hlh-instructor-portal .hlh-notification-centre-card.is-unread{border-left-color:#ef7d00;background:#fffaf4;}
.hlh-instructor-portal .hlh-notification-centre-card>header,
.hlh-instructor-portal .hlh-notification-centre-card>footer{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;}
.hlh-instructor-portal .hlh-notification-centre-card h3,
.hlh-instructor-portal .hlh-notification-centre-card p{margin:0;}
.hlh-instructor-portal .hlh-notification-centre-card time,
.hlh-instructor-portal .hlh-notification-centre-card small{color:#667085;}
.hlh-instructor-portal .hlh-notification-centre-card footer span{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
.hlh-instructor-portal .hlh-nav-notification-dot{display:inline-block;width:9px;height:9px;margin-left:7px;border-radius:50%;background:#dc2626;box-shadow:0 0 0 2px rgba(220,38,38,.16);vertical-align:middle;}
.hlh-instructor-portal .hlh-diary-menu-button{position:relative;}
.hlh-instructor-portal .hlh-menu-notification-dot{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#dc2626;box-sizing:content-box;}
.hlh-instructor-portal .hlh-notification-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.hlh-instructor-portal .hlh-notification-card-actions form{margin:0;}
.hlh-instructor-portal .hlh-notification-read-button{border-color:#dc2626!important;background:#fff!important;color:#b91c1c!important;cursor:pointer;}
.hlh-instructor-portal .hlh-notification-read-button:hover{background:#fff1f2!important;}
@media (max-width:700px){
  .hlh-instructor-portal .hlh-notification-centre-card>header,
  .hlh-instructor-portal .hlh-notification-centre-card>footer{display:grid;}
  .hlh-instructor-portal .hlh-notification-centre-card footer span{justify-content:flex-start;}
  .hlh-instructor-portal .hlh-notification-card-actions{justify-content:flex-start;}
}

/* v0.7.71 - activate a waiting-list pupil without leaving their profile. */
.hlh-instructor-portal .hlh-waiting-profile-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 12px;border-left:4px solid #ef7d00;}
.hlh-instructor-portal .hlh-waiting-profile-actions h3,
.hlh-instructor-portal .hlh-waiting-profile-actions p{margin:3px 0 0;}
.hlh-instructor-portal .hlh-waiting-profile-buttons{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.hlh-instructor-portal .hlh-waiting-profile-buttons form{margin:0;}
.hlh-instructor-portal .hlh-waiting-profile-no-email{max-width:230px;color:#667085;font-size:.88rem;line-height:1.35;}
@media(max-width:700px){
  .hlh-instructor-portal .hlh-waiting-profile-actions{align-items:stretch;flex-direction:column;}
  .hlh-instructor-portal .hlh-waiting-profile-buttons{align-items:stretch;justify-content:flex-start;flex-direction:column;}
  .hlh-instructor-portal .hlh-waiting-profile-buttons button{width:100%;}
}

/* v0.7.67 - keep last: exact minute positioning and duration in the seven-day phone diary. */
@media(max-width:760px){
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event-block[data-hlh-mobile-day-index]{
    position:relative!important;
    top:var(--hlh-mobile-event-offset,0px)!important;
    height:calc(var(--hlh-mobile-event-height,56px) - 2px)!important;
    min-height:0!important;
    max-height:none!important;
    align-self:start!important;
    box-sizing:border-box!important;
  }
}

/* v0.7.93 - clear top-level choices for returning and first-time learners. */
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-login-mode-switch{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin:22px 0 4px!important;
  padding:5px!important;
  border:1px solid #d7e0ea!important;
  border-radius:12px!important;
  background:#f3f6fa!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-login-mode-switch>button{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  margin:0!important;
  padding:10px 14px!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #b8c6d6!important;
  border-radius:9px!important;
  background:#fff!important;
  background-image:none!important;
  color:#173b63!important;
  -webkit-text-fill-color:#173b63!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-align:center!important;
  white-space:normal!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-login-mode-switch>button.is-active{
  border-color:#173b63!important;
  background:#173b63!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-login-mode-panel[hidden]{display:none!important;}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-login-mode-panel>.hlh-student-login-choice:first-child{
  margin-top:18px!important;
  padding-top:0!important;
  border-top:0!important;
}
@media(max-width:520px){
  html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-login-mode-switch{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* v0.7.92 - keep the signed-out Student App branding and form from being
   squeezed by narrow WordPress desktop content columns. */
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen > .hlh-app-hero,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) > .hlh-app-hero{
  grid-template-columns:minmax(0,1fr)!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen > .hlh-app-hero > div:first-child,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) > .hlh-app-hero > div:first-child{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen .hlh-app-brand-lockup,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) .hlh-app-brand-lockup{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:10px!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen .hlh-public-brand-logo,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) .hlh-public-brand-logo{
  display:block!important;
  width:180px!important;
  height:78px!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen .hlh-app-brand-lockup .hlh-public-kicker,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) .hlh-app-brand-lockup .hlh-public-kicker{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.3!important;
  letter-spacing:.07em!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen > .hlh-app-hero h2,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) > .hlh-app-hero h2,
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen > .hlh-app-hero p,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) > .hlh-app-hero p{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen .hlh-login-signin-form,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) .hlh-login-signin-form,
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen .hlh-login-new-password-form,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) .hlh-login-new-password-form,
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen .hlh-login-reset-request-form,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) .hlh-login-reset-request-form{
  grid-template-columns:minmax(0,1fr)!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen .hlh-login-signin-form > *,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) .hlh-login-signin-form > *,
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen .hlh-login-new-password-form > *,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) .hlh-login-new-password-form > *,
html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen .hlh-login-reset-request-form > *,
html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) .hlh-login-reset-request-form > *{
  grid-column:1!important;
}
@media(max-width:860px){
  html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen > .hlh-app-hero,
  html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) > .hlh-app-hero{
    display:block!important;
    min-height:0!important;
    margin:0 0 14px!important;
    padding:28px 26px!important;
    border-radius:16px!important;
  }
  html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen > .hlh-app-hero h2,
  html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) > .hlh-app-hero h2{
    margin:20px 0 10px!important;
    font-size:clamp(2rem,7vw,2.55rem)!important;
    line-height:1.05!important;
  }
  html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen > .hlh-app-hero p:not(.hlh-public-kicker),
  html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) > .hlh-app-hero p:not(.hlh-public-kicker){
    margin:0!important;
    font-size:1rem!important;
    line-height:1.55!important;
  }
  html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen .hlh-app-status-card,
  html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) .hlh-app-status-card{
    display:none!important;
  }
}
@media(max-width:380px){
  html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen .hlh-public-brand-logo,
  html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) .hlh-public-brand-logo{
    width:145px!important;
    height:66px!important;
  }
  html body .hlh-mobile-app[data-hlh-student-app="1"].hlh-student-login-screen .hlh-app-brand-lockup .hlh-public-kicker,
  html body .hlh-mobile-app[data-hlh-student-app="1"]:has(> .hlh-student-login-card) .hlh-app-brand-lockup .hlh-public-kicker{
    font-size:10px!important;
    letter-spacing:.04em!important;
  }
}

/* v0.7.60 - diary navigation is a phone-only hamburger drawer. */
.hlh-mobile-instructor-menu-bar,
.hlh-diary-menu-button,
.hlh-mobile-diary-menu-shell,
.hlh-mobile-dashboard-hero,
.hlh-mobile-dashboard-cards small{display:none}

@media(max-width:760px){
  html body.hlh-diary-menu-open{overflow:hidden!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-diary-head{
    display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-diary-menu-button{
    display:flex!important;width:46px!important;min-width:46px!important;max-width:46px!important;
    height:46px!important;min-height:46px!important;max-height:46px!important;margin:0!important;padding:10px!important;
    flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:5px!important;
    border:0!important;border-radius:9px!important;background:#1268c4!important;background-image:none!important;
    box-shadow:none!important;color:#fff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-diary-menu-button>span{
    display:block!important;width:100%!important;height:3px!important;border-radius:3px!important;background:#fff!important;
  }
  html body .hlh-mobile-diary-menu-shell:not([hidden]){
    display:block!important;position:fixed!important;inset:0!important;z-index:2147483000!important;
  }
  html body .hlh-mobile-diary-menu-backdrop{
    display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:rgba(15,23,42,.55)!important;
  }
  html body .hlh-mobile-diary-menu-panel{
    display:flex!important;position:absolute!important;top:0!important;bottom:0!important;left:0!important;
    width:min(84vw,330px)!important;padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom))!important;
    flex-direction:column!important;gap:18px!important;background:#fff!important;color:#172033!important;
    box-shadow:12px 0 32px rgba(15,23,42,.28)!important;overflow-y:auto!important;
  }
  html body .hlh-mobile-diary-menu-panel>header{
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
    padding:0 0 14px!important;border-bottom:1px solid #dfe4eb!important;
  }
  html body .hlh-mobile-diary-menu-panel>header>strong{
    color:#172033!important;font-size:21px!important;line-height:1.1!important;
  }
  html body .hlh-mobile-diary-menu-panel>header>button{
    display:flex!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;
    margin:0!important;padding:0!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:9px!important;
    background:#eef3f8!important;color:#173b63!important;-webkit-text-fill-color:#173b63!important;font-size:30px!important;line-height:1!important;
  }
  html body .hlh-mobile-diary-menu-links{
    display:grid!important;grid-template-columns:1fr!important;gap:7px!important;
  }
  html body .hlh-mobile-diary-menu-links>a{
    display:flex!important;min-height:48px!important;padding:11px 14px!important;align-items:center!important;
    border:1px solid #d8e0e9!important;border-radius:9px!important;background:#f7f9fb!important;
    color:#173b63!important;-webkit-text-fill-color:#173b63!important;font-size:16px!important;font-weight:800!important;text-decoration:none!important;
  }
  html body .hlh-mobile-diary-menu-links>a.is-active{
    border-color:#1268c4!important;background:#1268c4!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  }
  html body .hlh-mobile-diary-menu-logout{
    display:flex!important;min-height:48px!important;margin-top:auto!important;padding:11px 14px!important;
    align-items:center!important;justify-content:center!important;border:1px solid #b91c1c!important;border-radius:9px!important;
    background:#b91c1c!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
    font-size:16px!important;font-weight:900!important;text-align:center!important;text-decoration:none!important;
  }
}

/* v0.7.11 — final crisp-white cascade. This file loads after public.css. */
html:has(.hlh-instructor-portal),
body:has(.hlh-instructor-portal),
html:has(.hlh-mobile-app[data-hlh-student-app="1"]),
body:has(.hlh-mobile-app[data-hlh-student-app="1"]){
  background:#f4f6f8!important;
  background-image:none!important;
  color:#172033!important;
}
html body .hlh-instructor-portal,
html body .hlh-public,
html body .hlh-public-app,
html body .hlh-mobile-app{
  --hlh-crisp-ink:#172033;
  --hlh-crisp-muted:#5d687a;
  --hlh-crisp-line:#dfe4eb;
  --hlh-crisp-soft:#f6f8fb;
  --hlh-crisp-primary:#173b63;
  --hlh-crisp-primary-hover:#102e50;
  background:#fff!important;
  background-image:none!important;
  color:var(--hlh-crisp-ink)!important;
}
html body .hlh-instructor-portal .hlh-instructor-top,
html body .hlh-instructor-portal .hlh-instructor-identity-bar,
html body .hlh-instructor-portal .hlh-instructor-nav,
html body .hlh-instructor-portal .hlh-card,
html body .hlh-instructor-portal .hlh-panel,
html body .hlh-instructor-portal details,
html body .hlh-mobile-app .hlh-app-hero,
html body .hlh-mobile-app .hlh-student-hero,
html body .hlh-mobile-app .hlh-app-card,
html body .hlh-mobile-app .hlh-mobile-section,
html body .hlh-mobile-app .hlh-student-page-section{
  background:#fff!important;
  background-image:none!important;
  color:var(--hlh-crisp-ink)!important;
  border-color:var(--hlh-crisp-line)!important;
  border-radius:9px!important;
  box-shadow:0 2px 8px rgba(23,32,51,.05)!important;
}
html body .hlh-instructor-portal .hlh-instructor-top *,
html body .hlh-instructor-portal .hlh-instructor-identity-bar *,
html body .hlh-mobile-app .hlh-app-hero *,
html body .hlh-mobile-app .hlh-student-hero *{
  color:var(--hlh-crisp-ink)!important;
}
html body .hlh-instructor-portal summary,
html body .hlh-mobile-app summary{
  background:#fff!important;
  background-image:none!important;
  color:var(--hlh-crisp-ink)!important;
}
html body .hlh-instructor-portal summary:hover,
html body .hlh-mobile-app summary:hover{
  background:var(--hlh-crisp-soft)!important;
}
html body .hlh-instructor-portal button,
html body .hlh-instructor-portal .hlh-button,
html body .hlh-instructor-portal .hlh-mini-button,
html body .hlh-instructor-portal input[type="submit"],
html body .hlh-mobile-app button,
html body .hlh-mobile-app .hlh-button,
html body .hlh-mobile-app input[type="submit"]{
  background:var(--hlh-crisp-primary)!important;
  background-image:none!important;
  border-color:var(--hlh-crisp-primary)!important;
  border-radius:7px!important;
  box-shadow:none!important;
  color:#fff!important;
  text-shadow:none!important;
}
html body .hlh-instructor-portal button:hover,
html body .hlh-instructor-portal .hlh-button:hover,
html body .hlh-mobile-app button:hover,
html body .hlh-mobile-app .hlh-button:hover{
  background:var(--hlh-crisp-primary-hover)!important;
  border-color:var(--hlh-crisp-primary-hover)!important;
  color:#fff!important;
}
html body .hlh-instructor-portal input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
html body .hlh-instructor-portal select,
html body .hlh-instructor-portal textarea,
html body .hlh-mobile-app input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
html body .hlh-mobile-app select,
html body .hlh-mobile-app textarea{
  background:#fff!important;
  color:var(--hlh-crisp-ink)!important;
  border-color:#cbd3df!important;
  border-radius:7px!important;
  box-shadow:none!important;
}

/* Keep operational diary categories distinct without returning the shell to blue. */
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head{
  background:#26384f!important;
  color:#fff!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-mark-paid-panel{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:14px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.hlh-diary-action-popout .hlh-diary-mark-paid-panel > summary.hlh-mini-paid-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  box-sizing:border-box!important;
  list-style:none!important;
  border:2px solid #a7f3d0!important;
  border-radius:14px!important;
  background:#ecfdf5!important;
  color:#047857!important;
  -webkit-text-fill-color:#047857!important;
  font-size:15px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.hlh-diary-action-popout .hlh-diary-mark-paid-panel > summary::-webkit-details-marker{display:none!important;}
.hlh-diary-action-popout .hlh-diary-mark-paid-panel[open] > summary{border-radius:14px 14px 8px 8px!important;}
.hlh-diary-action-popout .hlh-diary-mark-paid-form{
  display:grid!important;
  gap:9px!important;
  margin-top:8px!important;
  padding:12px!important;
  border:1px solid #d1fae5!important;
  border-radius:8px 8px 14px 14px!important;
  background:#f8fffb!important;
}
.hlh-diary-action-popout .hlh-diary-mark-paid-form small{color:#475569!important;line-height:1.35!important;}
.hlh-diary-action-popout .hlh-diary-mark-paid-form label{display:grid!important;gap:4px!important;color:#1f2937!important;font-size:12px!important;font-weight:800!important;}
.hlh-diary-action-popout .hlh-diary-mark-paid-form :is(input,select){width:100%!important;min-height:38px!important;box-sizing:border-box!important;background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important;}
.hlh-diary-action-popout .hlh-mini-confirm-paid-button{background:#047857!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:2px solid #047857!important;}
.hlh-diary-action-popout:has(.hlh-diary-mark-paid-panel[open]){max-height:calc(100vh - 32px)!important;overflow-y:auto!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-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-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.7.01 - built-in Instructor and Student App help pages */
.hlh-help-page{display:grid;gap:16px;margin-top:16px;}
.hlh-help-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px!important;background:linear-gradient(135deg,#312e81,#6d28d9)!important;color:#fff!important;}
.hlh-help-hero h2,.hlh-help-hero h3,.hlh-help-hero p{color:#fff!important;margin-top:0;}
.hlh-help-hero h2,.hlh-help-hero h3{margin-bottom:7px!important;}
.hlh-help-hero p{margin-bottom:0!important;opacity:.92;}
.hlh-help-hero>span{display:inline-flex;padding:7px 11px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;font-weight:800;white-space:nowrap;}
.hlh-help-quick-start{padding:20px!important;border-left:5px solid #8b5cf6!important;}
.hlh-help-quick-start h3{margin:0 0 10px!important;}
.hlh-help-quick-start ol{margin:0;padding-left:22px;display:grid;gap:7px;}
.hlh-help-sections{display:grid;gap:10px;}
.hlh-help-topic{padding:0!important;overflow:hidden;}
.hlh-help-topic>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none;}
.hlh-help-topic>summary::-webkit-details-marker{display:none;}
.hlh-help-topic>summary::marker{content:"";}
.hlh-help-topic>summary:hover,.hlh-help-topic>summary:focus-visible{background:#f8fafc;}
.hlh-help-topic>summary:focus-visible{outline:3px solid rgba(139,92,246,.22);outline-offset:-3px;}
.hlh-help-topic>summary span{display:grid;gap:3px;min-width:0;}
.hlh-help-topic>summary strong{font-size:16px;color:#172033;}
.hlh-help-topic>summary small{font-size:13px;color:#64748b;line-height:1.35;}
.hlh-help-topic>summary i{width:10px;height:10px;flex:0 0 auto;border-right:2px solid #64748b;border-bottom:2px solid #64748b;transform:rotate(45deg);transition:transform .16s ease;}
.hlh-help-topic[open]>summary{border-bottom:1px solid #e2e8f0;}
.hlh-help-topic[open]>summary i{transform:rotate(225deg);}
.hlh-help-topic-body{padding:15px 18px 18px;color:#334155;}
.hlh-help-topic-body p{margin:0 0 10px;line-height:1.58;}
.hlh-help-topic-body p:last-child{margin-bottom:0;}
.hlh-help-support{padding:18px!important;background:#f8fafc!important;}
.hlh-help-support strong{display:block;margin-bottom:4px;color:#172033;}
.hlh-help-support p{margin:0;color:#475569;}
.hlh-student-help-row>a{width:100%;}
.hlh-student-help-button .hlh-home-tile-icon{font-size:21px;font-weight:900;}
@media(max-width:620px){
  .hlh-help-page{gap:12px;margin-top:12px;}
  .hlh-help-hero{align-items:flex-start;padding:18px!important;}
  .hlh-help-hero>span{display:none;}
  .hlh-help-topic>summary{padding:14px 15px;}
  .hlh-help-topic-body{padding:13px 15px 16px;}
}


/* v0.4.21 Full width professional diary - WordPress admin only */
.hlh-admin-wrap:has(.hlh-calendar-grid),
.hlh-admin-wrap:has(.hlh-diary-calendar){
    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;
}
@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;
}
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;
    }
}
/* 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: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;}
@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;}
@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-instructor-profile-head{padding:14px!important;}}


/* Wide signed-in desktop workspace across every working page. */
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:not(.hlh-instructor-access-page){
    width:calc(100% - 32px)!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:18px!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 contained 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:not(.hlh-instructor-access-page){
        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.7.57 - final phone diary cascade: one readable day, never seven squeezed columns. */
@media(max-width:640px){
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-wrap{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:calc(100dvh - 270px)!important;
    min-height:430px!important;
    max-height:720px!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    border-radius:12px!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    grid-template-columns:62px minmax(0,1fr)!important;
    grid-template-rows:62px!important;
    grid-auto-rows:62px!important;
    gap:0!important;
    overflow:visible!important;
    background:#fff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-mobile-day-hidden{
    display:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-mobile-day-visible{
    grid-column:2!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-time-head{
    grid-column:1!important;
    min-width:0!important;
    min-height:62px!important;
    height:62px!important;
    padding:7px 4px!important;
    font-size:11px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head.hlh-mobile-day-visible{
    display:flex!important;
    position:sticky!important;
    top:0!important;
    z-index:13!important;
    min-width:0!important;
    min-height:62px!important;
    height:62px!important;
    padding:7px 8px!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    background:#26384f!important;
    color:#fff!important;
    overflow:visible!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head.hlh-mobile-day-visible strong{
    display:block!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-size:14px!important;
    line-height:1.1!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head.hlh-mobile-day-visible span{
    display:block!important;
    margin:0!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-size:13px!important;
    line-height:1.1!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head.hlh-mobile-day-visible span::after{
    content:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-time{
    grid-column:1!important;
    min-width:0!important;
    min-height:62px!important;
    height:62px!important;
    padding:8px 7px 0 3px!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    color:#334155!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    text-align:right!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-time.hlh-half-hour{
    color:#94a3b8!important;
    font-size:10px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-cell.hlh-mobile-day-visible{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:62px!important;
    height:62px!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-cell.hlh-mobile-day-visible.hlh-half-hour-cell{
    background:#fbfdff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-cell.hlh-mobile-day-visible.hlh-slot-outside-hours{
    background:#edf1f5!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-add{
    display:flex!important;
    top:50%!important;
    right:10px!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #cbd5e1!important;
    border-radius:50%!important;
    background:#f1f5f9!important;
    color:#136a9b!important;
    -webkit-text-fill-color:#136a9b!important;
    font-size:20px!important;
    line-height:1!important;
    transform:translateY(-50%)!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event-block.hlh-mobile-day-visible,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event.hlh-mobile-day-visible{
    display:flex!important;
    min-width:0!important;
    max-width:calc(100% - 12px)!important;
    margin:4px 6px!important;
    padding:0!important;
    border-radius:11px!important;
    box-shadow:0 5px 14px rgba(15,23,42,.18)!important;
    overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link{
    display:flex!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    padding:10px 46px 29px 12px!important;
    gap:3px!important;
    overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link strong{
    display:block!important;
    max-width:100%!important;
    color:inherit!important;
    font-size:16px!important;
    font-weight:900!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    text-overflow:clip!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link small,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link span,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link em{
    display:block!important;
    max-width:100%!important;
    margin:0!important;
    color:inherit!important;
    font-size:12.5px!important;
    font-weight:800!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    text-overflow:clip!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-full{
    display:block!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-mobile{
    display:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-card-title{
    display:block!important;
    color:#111827!important;
    -webkit-text-fill-color:#111827!important;
    font-size:12.5px!important;
    font-weight:800!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-payment-strip{
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    min-height:25px!important;
    height:25px!important;
    margin:0!important;
    padding:5px 9px!important;
    border-radius:0!important;
    box-sizing:border-box!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:15px!important;
    text-align:center!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-diary-action-menu{
    display:block!important;
    top:8px!important;
    right:8px!important;
    z-index:15!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-diary-options-button{
    display:flex!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.94)!important;
    color:#172033!important;
    -webkit-text-fill-color:#172033!important;
    font-size:20px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-diary-resize-handle{
    display:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-current-time-marker.hlh-mobile-day-visible{
    display:block!important;
    grid-column:2!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-diary-day{
    display:flex!important;
    min-width:0!important;
    width:100%!important;
    min-height:54px!important;
    height:54px!important;
    padding:5px 1px!important;
    border:1px solid transparent!important;
    border-radius:9px!important;
    background:#f6f8fb!important;
    color:#475569!important;
    -webkit-text-fill-color:#475569!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-diary-day.is-selected{
    border-color:#136a9b!important;
    background:#136a9b!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
}

/* v0.7.43 - use one compact diary toolbar and return vertical space to the calendar. */
html body main.hlh-instructor-portal .hlh-portal-diary-head{
  min-height:0!important;
  margin:0 0 6px!important;
  padding:8px 12px!important;
  gap:10px!important;
  align-items:center!important;
}
html body main.hlh-instructor-portal .hlh-portal-diary-head .hlh-kicker{
  display:none!important;
}
html body main.hlh-instructor-portal .hlh-portal-diary-head h2{
  margin:0!important;
  font-size:22px!important;
  line-height:1.15!important;
}
html body main.hlh-instructor-portal .hlh-diary-toolbar{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 6px!important;
  padding:6px 8px!important;
  flex-wrap:nowrap!important;
}
html body main.hlh-instructor-portal .hlh-diary-toolbar-nav{
  display:flex!important;
  flex:1 1 auto!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  overflow-x:auto!important;
  scrollbar-width:thin;
}
html body main.hlh-instructor-portal .hlh-diary-toolbar-nav a{
  flex:0 0 auto!important;
  box-sizing:border-box!important;
  min-height:34px!important;
  padding:7px 10px!important;
  border:1px solid #1268c4!important;
  border-radius:8px!important;
  background:#1268c4!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:18px!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
html body main.hlh-instructor-portal .hlh-diary-toolbar-nav a.is-active{
  background:#0b4f98!important;
  border-color:#0b4f98!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.28)!important;
}
html body main.hlh-instructor-portal .hlh-diary-toolbar .hlh-diary-add-event{
  flex:0 0 auto!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 12px!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  html body main.hlh-instructor-portal .hlh-portal-diary-head{
    align-items:stretch!important;
    padding:7px 9px!important;
  }
  html body main.hlh-instructor-portal .hlh-portal-diary-head h2{
    font-size:18px!important;
  }
  html body main.hlh-instructor-portal .hlh-diary-quick-actions.hlh-single-event-action.hlh-diary-toolbar{
    flex-direction:row!important;
    align-items:center!important;
    padding:5px!important;
  }
  html body main.hlh-instructor-portal .hlh-diary-toolbar .hlh-diary-add-event{
    width:auto!important;
  }
  html body main.hlh-instructor-portal .hlh-diary-toolbar-nav a{
    min-height:32px!important;
    padding:6px 9px!important;
    font-size:12px!important;
  }
}

/* v0.7.35 - three clear, collapsible priority groups for Instructor Settings. */
.hlh-settings-priority-groups{
  display:grid;
  gap:22px;
  margin-top:20px;
}
.hlh-settings-priority-group{
  overflow:hidden;
  border:1px solid #d9e2ef;
  border-radius:18px;
  background:#f8fafc;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.hlh-settings-priority-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  background:linear-gradient(135deg,#eff6ff 0%,#f8f5ff 100%);
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.hlh-settings-priority-heading::-webkit-details-marker{
  display:none;
}
.hlh-settings-priority-heading:focus-visible{
  outline:3px solid rgba(37,99,235,.3);
  outline-offset:-3px;
}
.hlh-settings-priority-group[open] > .hlh-settings-priority-heading{
  border-bottom:1px solid #d9e2ef;
}
.hlh-settings-priority-heading h3{
  margin:0 0 4px!important;
  color:#173b67!important;
  font-size:1.12rem!important;
}
.hlh-settings-priority-heading p{
  margin:0!important;
  color:#52637a!important;
  line-height:1.45;
}
.hlh-settings-priority-chevron{
  flex:0 0 12px;
  width:12px;
  height:12px;
  margin-right:4px;
  border-right:3px solid #245b96;
  border-bottom:3px solid #245b96;
  transform:rotate(45deg);
  transition:transform .18s ease;
}
.hlh-settings-priority-group[open] .hlh-settings-priority-chevron{
  transform:rotate(225deg);
}
.hlh-settings-priority-list{
  display:grid;
  gap:10px;
  padding:12px;
}
.hlh-settings-priority-list > .hlh-settings-section,
.hlh-settings-priority-list > .hlh-instructor-refresh-card{
  margin:0!important;
  background:#fff!important;
}
.hlh-settings-save-all-row{
  display:flex;
  justify-content:flex-end;
  padding:2px 0 6px;
}
.hlh-settings-form-carrier{
  display:none!important;
}
@media(max-width:640px){
  .hlh-settings-priority-groups{gap:16px}
  .hlh-settings-priority-heading{padding:16px}
  .hlh-settings-priority-list{padding:9px;gap:8px}
  .hlh-settings-save-all-row .hlh-road-settings-save{width:100%}
}


/* 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(180px,1.15fr) minmax(100px,.62fr) minmax(145px,.82fr) minmax(105px,.55fr) minmax(160px,.9fr) minmax(145px,.7fr)!important;
  gap:14px!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 .hlh-portal-pupil-row:not(.hlh-portal-pupil-row-head):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 a{
  color:#0f172a!important;
  text-decoration:none!important;
}
html body .hlh-instructor-portal .hlh-pupil-name-cell a:hover{
  color:#b91c68!important;
  text-decoration:underline!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-pupil-invite-cell{
  display:flex!important;
  align-items:flex-start!important;
  flex-direction:column!important;
  gap:4px!important;
}
html body .hlh-instructor-portal .hlh-invite-marker{
  display:inline-flex!important;
  min-width:42px!important;
  padding:4px 9px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.1!important;
}
html body .hlh-instructor-portal .hlh-invite-marker.is-sent{background:#dcfce7!important;color:#166534!important;}
html body .hlh-instructor-portal .hlh-invite-marker.not-sent{background:#eef2f7!important;color:#475569!important;}
html body .hlh-instructor-portal .hlh-pupil-invite-cell small{color:#64748b!important;font-size:11px!important;line-height:1.2!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;
}
html body .hlh-instructor-portal .hlh-pupil-action-cell{
  min-width:0!important;
}
html body .hlh-instructor-portal .hlh-pupil-action-form{
  width:100%!important;
  margin:0!important;
}
html body .hlh-instructor-portal .hlh-pupil-action-select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  margin:0!important;
  padding:7px 34px 7px 11px!important;
  border:1px solid #cbd5e1!important;
  border-radius:7px!important;
  background-color:#fff!important;
  color:#334155!important;
  font-size:13px!important;
  line-height:1.2!important;
  cursor:pointer!important;
}
html body .hlh-instructor-portal .hlh-pupil-action-select:focus{
  border-color:#d72f91!important;
  outline:2px solid rgba(215,47,145,.18)!important;
  outline-offset:1px!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:not(.hlh-portal-pupil-row-head){
    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;}
  html body .hlh-instructor-portal .hlh-pupil-action-select{font-size:16px!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.7.14 FINAL enquiry contrast audit — keep all copy readable on the white theme. */
html:has(.hlh-enquiry-public),
body:has(.hlh-enquiry-public),
body.hlh-enquiry-direct-page{
  background:#f4f6f8!important;
  background-image:none!important;
  color:#172033!important;
}
html body .hlh-enquiry-public,
html body .hlh-enquiry-public .hlh-enquiry-hero,
html body .hlh-enquiry-public .hlh-enquiry-card,
html body .hlh-enquiry-public .hlh-enquiry-group{
  color:#172033!important;
}
html body .hlh-enquiry-public .hlh-enquiry-hero,
html body .hlh-enquiry-public .hlh-enquiry-card{
  background:#fff!important;
  background-image:none!important;
  border-color:#dfe4eb!important;
}
html body .hlh-enquiry-public .hlh-enquiry-hero :is(h1,h2,h3,h4,p,.hlh-public-kicker,.hlh-app-brand-lockup),
html body .hlh-enquiry-public .hlh-enquiry-card :is(h1,h2,h3,h4,p,label,legend),
html body .hlh-enquiry-public .hlh-enquiry-group :is(p,label,legend,.hlh-enquiry-group-intro){
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  text-shadow:none!important;
}
html body .hlh-enquiry-public .hlh-enquiry-hero p,
html body .hlh-enquiry-public .hlh-enquiry-group-intro{
  color:#4b5563!important;
  -webkit-text-fill-color:#4b5563!important;
}
html body .hlh-enquiry-public :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea){
  background:#fff!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  border-color:#cbd5e1!important;
  caret-color:#172033!important;
}
html body .hlh-enquiry-public :is(input,textarea)::placeholder{
  color:#6b7280!important;
  -webkit-text-fill-color:#6b7280!important;
  opacity:1!important;
}
html body .hlh-enquiry-public :is(input,select,textarea):focus{
  border-color:#1268c4!important;
  outline:3px solid rgba(18,104,196,.16)!important;
  outline-offset:1px!important;
}
html body .hlh-enquiry-public button[type="submit"]{
  background:#1268c4!important;
  border-color:#1268c4!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body .hlh-enquiry-public button[type="submit"]:is(:hover,:focus){
  background:#0b4f98!important;
  border-color:#0b4f98!important;
}

/* v0.7.13 — blue navigation, back links, menus and all safe app controls. */
html body :is(.hlh-instructor-portal,.hlh-public,.hlh-public-app,.hlh-mobile-app)
  :is(a.hlh-button,a.hlh-mini-button,button.hlh-button,button.hlh-mini-button,input[type="submit"],.hlh-back-button,.hlh-section-open-button,.hlh-student-settings-button,.hlh-student-help-button,.hlh-instructor-nav a,.hlh-portal-nav a,.hlh-menu a,.hlh-student-page-nav a,.hlh-student-refresh-button,.hlh-enable-push,.hlh-test-push):not(.hlh-button-danger):not(.hlh-button-danger-outline):not(.hlh-button-danger-quiet):not(.hlh-danger-link):not(.hlh-message-remove-action):not(.is-cancel):not(.hlh-student-signout-button){
  background:#1268c4!important;
  background-image:none!important;
  border-color:#1268c4!important;
  color:#fff!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
html body :is(.hlh-instructor-portal,.hlh-public,.hlh-public-app,.hlh-mobile-app)
  :is(a.hlh-button,a.hlh-mini-button,button.hlh-button,button.hlh-mini-button,input[type="submit"],.hlh-back-button,.hlh-section-open-button,.hlh-student-settings-button,.hlh-student-help-button,.hlh-instructor-nav a,.hlh-portal-nav a,.hlh-menu a,.hlh-student-page-nav a,.hlh-student-refresh-button,.hlh-enable-push,.hlh-test-push):not(.hlh-button-danger):not(.hlh-button-danger-outline):not(.hlh-button-danger-quiet):not(.hlh-danger-link):not(.hlh-message-remove-action):not(.is-cancel):not(.hlh-student-signout-button):hover,
html body :is(.hlh-instructor-portal,.hlh-public,.hlh-public-app,.hlh-mobile-app)
  :is(a.hlh-button,a.hlh-mini-button,button.hlh-button,button.hlh-mini-button,input[type="submit"],.hlh-back-button,.hlh-section-open-button,.hlh-student-settings-button,.hlh-student-help-button,.hlh-instructor-nav a,.hlh-portal-nav a,.hlh-menu a,.hlh-student-page-nav a,.hlh-student-refresh-button,.hlh-enable-push,.hlh-test-push):not(.hlh-button-danger):not(.hlh-button-danger-outline):not(.hlh-button-danger-quiet):not(.hlh-danger-link):not(.hlh-message-remove-action):not(.is-cancel):not(.hlh-student-signout-button):focus{
  background:#0b4f98!important;
  border-color:#0b4f98!important;
  color:#fff!important;
}
/* v0.7.12 EOF override — clear professional blue action buttons */
html body .hlh-instructor-portal,
html body .hlh-public,
html body .hlh-public-app,
html body .hlh-mobile-app{
  --hlh-crisp-primary:#1268c4;
  --hlh-crisp-primary-hover:#0b4f98;
}

/* 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;
}

/* 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:none!important;
  -webkit-appearance:none!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:none!important;
  -webkit-appearance:none!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.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: 16px; }
.hlh-history-diary-note p { margin: 6px 0 0; }
.hlh-history-notes > .hlh-muted { margin: 7px 0 0; }
.hlh-history-note-action { margin: 16px 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.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-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 .hlh-mini-button{
    flex:0 1 auto!important;
    white-space:normal!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;}
.hlh-payment-strip.reported{background:#d97706!important;color:#fff!important;}

/* v0.7.98 - persistent payment-reported state and instructor action panel. */
.hlh-instructor-portal .hlh-payment-reported-alert{
  display:grid!important;
  gap:14px!important;
  margin:16px 0!important;
  padding:18px!important;
  border:2px solid #f4bd45!important;
  background:#fff8df!important;
  box-shadow:0 12px 30px rgba(146,84,8,.10)!important;
}
.hlh-instructor-portal .hlh-payment-reported-heading{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.hlh-instructor-portal .hlh-payment-reported-heading>span{
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  border-radius:12px!important;
  background:#d97706!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:900!important;
}
.hlh-instructor-portal .hlh-payment-reported-heading strong{
  display:block!important;
  color:#78350f!important;
  font-size:1.05rem!important;
}
.hlh-instructor-portal .hlh-payment-reported-heading small{
  display:block!important;
  margin-top:3px!important;
  color:#78521f!important;
}
.hlh-instructor-portal .hlh-payment-reported-list{
  display:grid!important;
  gap:8px!important;
}
.hlh-instructor-portal .hlh-payment-reported-list>a{
  display:grid!important;
  grid-template-columns:minmax(140px,1fr) minmax(155px,.8fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:11px 12px!important;
  border:1px solid #f3d386!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#263248!important;
  text-decoration:none!important;
}
.hlh-instructor-portal .hlh-payment-reported-list>a b{color:#9a5507!important;font-size:.82rem!important;}
.hlh-instructor-portal .hlh-lesson-payment-row.is-payment-reported{
  border-color:#f4bd45!important;
  background:#fff8df!important;
}
@media(max-width:680px){
  .hlh-instructor-portal .hlh-payment-reported-list>a{
    grid-template-columns:1fr!important;
    gap:4px!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.6.20 - single responsive progress layout. */
html body .hlh-instructor-portal .hlh-portal-progress-form{
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
}
html body .hlh-progress-groups{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  margin:14px 0 18px!important;
}
html body .hlh-progress-group-card{
  min-width:0!important;
  padding:16px!important;
  border:1px solid #e3e8ef!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
  overflow:hidden!important;
}
html body .hlh-progress-group-card h3{
  margin:0 0 14px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid #eef2f7!important;
  color:#111827!important;
  font-size:17px!important;
  font-weight:900!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{
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:13px!important;
  border:1px solid #e7edf5!important;
  border-radius:14px!important;
  background:#fbfcfe!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
html body .hlh-progress-control-line{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
html body .hlh-progress-topic-title{
  display:block!important;
  min-width: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-wrap:anywhere!important;
}
html body .hlh-progress-control-line select,
html body .hlh-progress-field select{
  display:block!important;
  position:static!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:6px 34px 6px 10px!important;
  border:1px solid #cbd5e1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#111827!important;
  font-size:14px!important;
  line-height:1.2!important;
}
html body .hlh-progress-field textarea,
html body .hlh-progress-edit-row textarea{
  display:block!important;
  width:100%!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;
}
html body .hlh-progress-meter-line{
  display:block!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  height:22px!important;
  min-height:22px!important;
  margin:2px 0 0!important;
  padding:0!important;
  overflow:hidden!important;
}
html body .hlh-progress-mini-meter{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:22px!important;
  border-radius:11px!important;
  background:#e5e7eb!important;
  overflow:hidden!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)!important;
}
html body .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;
}
html body .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:22px!important;
  margin:0!important;
  padding:0!important;
  color:#111827!important;
  font-size:12px!important;
  line-height:22px!important;
  font-weight:900!important;
  pointer-events:none!important;
  text-shadow:0 1px 0 rgba(255,255,255,.7)!important;
}
html body .hlh-progress-field input[type="hidden"]{display:none!important;}
html body .hlh-instructor-portal .hlh-portal-progress-form > .hlh-button{margin-top:2px!important;}
@media(min-width:1500px){html body .hlh-progress-groups{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
@media(min-width:1900px){html body .hlh-progress-groups{grid-template-columns:repeat(5,minmax(0,1fr))!important;}}
@media(max-width:1050px){html body .hlh-progress-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:700px){html body .hlh-progress-groups{grid-template-columns:1fr!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.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.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-detail-list > .hlh-detail-wide{
  grid-column:1 / -1!important;
}
.hlh-portal-full-profile .hlh-detail-list > .hlh-private-notes-detail{
  display:grid!important;
  grid-template-columns:minmax(120px,auto) minmax(0,1fr)!important;
  align-items:start!important;
}
.hlh-portal-full-profile .hlh-private-notes-detail strong{
  width:100%!important;
  max-width:none!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  line-height:1.4!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.7.116 - make a rejected diary clash unmistakable. */
.hlh-status-popup.is-warning .hlh-status-popup-card{border-color:#f0a6a6!important;box-shadow:0 24px 70px rgba(127,29,29,.24)!important}
.hlh-status-popup.is-warning .hlh-status-popup-icon{background:#fee2e2!important;color:#b91c1c!important}
.hlh-status-popup.is-warning .hlh-status-popup-ok{background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important}

/* v0.7.117 - grouped and selected broadcast recipients. */
.hlh-instructor-portal .hlh-broadcast-selected{min-width:0;margin:0!important;padding:12px!important;border:1px solid #cbd5e1!important;border-radius:10px!important;background:#f8fafc!important}
.hlh-instructor-portal .hlh-broadcast-selected[hidden]{display:none!important}
.hlh-instructor-portal .hlh-broadcast-selected legend{padding:0 6px!important;color:#172033!important;font-weight:900!important}
.hlh-instructor-portal .hlh-broadcast-selected>p{margin:0 0 9px!important;color:#64748b!important;font-size:12px!important}
.hlh-instructor-portal .hlh-broadcast-pupil-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;max-height:260px!important;overflow:auto!important}
.hlh-instructor-portal .hlh-broadcast-pupil-list>label{display:flex!important;min-width:0!important;margin:0!important;padding:8px!important;flex-direction:row!important;align-items:flex-start!important;gap:8px!important;border:1px solid #e2e8f0!important;border-radius:8px!important;background:#fff!important;cursor:pointer!important}
.hlh-instructor-portal .hlh-broadcast-pupil-list input{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px!important;margin:1px 0 0!important;padding:0!important}
.hlh-instructor-portal .hlh-broadcast-pupil-list span{display:grid!important;gap:2px!important;min-width:0!important}
.hlh-instructor-portal .hlh-broadcast-pupil-list strong{font-size:13px!important;line-height:1.2!important}
.hlh-instructor-portal .hlh-broadcast-pupil-list small{color:#64748b!important;font-size:11px!important;font-weight:700!important}
@media(max-width:520px){.hlh-instructor-portal .hlh-broadcast-pupil-list{grid-template-columns:1fr!important;max-height:230px!important}}

/* v0.6.20 - tidy checks, actions and Student App access cards. */
.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:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.hlh-instructor-portal .hlh-terms-checks-card .hlh-detail-list > .hlh-detail-wide{
  grid-column:1 / -1!important;
}
.hlh-instructor-portal .hlh-terms-checks-card .hlh-mini-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:12px!important;
}
.hlh-instructor-portal .hlh-student-app-access-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:10px!important;
  min-width:0!important;
}
.hlh-instructor-portal .hlh-student-app-access-card h3,
.hlh-instructor-portal .hlh-student-app-access-card label,
.hlh-instructor-portal .hlh-student-app-access-card p{
  margin:0!important;
}
.hlh-instructor-portal .hlh-student-app-access-card input[readonly]{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:42px!important;
  margin-top:6px!important;
}
.hlh-instructor-portal .hlh-student-app-access-card .hlh-button{
  align-self:flex-start!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;
  }
  .hlh-portal-full-profile .hlh-detail-list > .hlh-private-notes-detail{
    grid-template-columns:1fr!important;
  }
  .hlh-instructor-portal .hlh-student-app-access-card .hlh-button{
    align-self:stretch!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:none;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:not(.hlh-portal-pupil-row-head){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:calc(100vw - 12px)!important;
    max-width:calc(100vw - 12px)!important;
    min-width:0!important;
    margin-left:calc(50% - 50vw + 12px)!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:calc(100vw - 12px)!important;
    max-width:calc(100vw - 12px)!important;
    min-width:calc(100vw - 12px)!important;
    box-sizing:border-box!important;
    grid-template-columns:24px repeat(7,minmax(0,calc((100vw - 36px) / 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-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;}
}

/* v0.7.118: grouped pupil conversations and compact broadcast history. */
.hlh-pupil-conversations{display:grid!important;gap:14px!important}
.hlh-pupil-conversation-list{display:grid!important;gap:9px!important}
.hlh-pupil-conversation{overflow:hidden!important;border:1px solid #d7e1ec!important;border-radius:11px!important;background:#fff!important}
.hlh-pupil-conversation.is-unread{border:2px solid #dc3545!important;background:#fff8f8!important;box-shadow:0 5px 15px rgba(220,53,69,.1)!important}
.hlh-pupil-conversation>summary,.hlh-broadcast-history>summary{display:flex!important;min-height:62px!important;padding:12px 14px!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;cursor:pointer!important;list-style:none!important}
.hlh-pupil-conversation>summary::-webkit-details-marker,.hlh-broadcast-history>summary::-webkit-details-marker{display:none!important}
.hlh-pupil-conversation>summary>span:first-child,.hlh-broadcast-history>summary>span{display:grid!important;gap:3px!important;min-width:0!important}
.hlh-pupil-conversation>summary strong,.hlh-broadcast-history>summary strong{color:#172033!important;font-size:15px!important}
.hlh-pupil-conversation>summary small,.hlh-broadcast-history>summary small{color:#64748b!important;font-size:11px!important}
.hlh-conversation-summary-status{display:flex!important;align-items:center!important;gap:9px!important;flex:0 0 auto!important}
.hlh-conversation-summary-status mark{padding:4px 8px!important;border-radius:999px!important;background:#dc3545!important;color:#fff!important;font-size:11px!important;font-style:normal!important;font-weight:850!important}
.hlh-conversation-summary-status em{color:#64748b!important;font-size:11px!important;font-style:normal!important;font-weight:750!important}
.hlh-conversation-summary-status i,.hlh-broadcast-history>summary>i{width:9px!important;height:9px!important;border-right:2px solid #486174!important;border-bottom:2px solid #486174!important;transform:rotate(45deg)!important;transition:transform .18s ease!important}
.hlh-pupil-conversation[open] .hlh-conversation-summary-status i,.hlh-broadcast-history[open]>summary>i{transform:rotate(225deg)!important}
.hlh-pupil-conversation-body{display:grid!important;gap:12px!important;padding:13px!important;border-top:1px solid #e2e8f0!important;background:#f8fafc!important}
.hlh-pupil-conversation-actions{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important}
.hlh-pupil-conversation-actions form{margin:0!important}
.hlh-conversation-read-button{border-color:#b42331!important;background:#fff!important;color:#b42331!important}
.hlh-conversation-reply{margin:0!important}
.hlh-broadcast-history{overflow:hidden!important;padding:0!important}
.hlh-broadcast-history-list{display:grid!important;gap:9px!important;padding:0 13px 13px!important;border-top:1px solid #e2e8f0!important;background:#f8fafc!important}
.hlh-broadcast-history-list>.hlh-card{margin:13px 0 0!important}

@media(max-width:600px){
  .hlh-pupil-conversation>summary,.hlh-broadcast-history>summary{min-height:56px!important;padding:10px 11px!important}
  .hlh-pupil-conversation-body{padding:10px!important}
  .hlh-conversation-summary-status mark{padding:3px 6px!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}

/* v0.6.35 - prepared SMS review shared by Main Admin and Instructor Access */
body.hlh-sms-modal-open{overflow:hidden!important}
.hlh-sms-review-modal{position:fixed!important;inset:0!important;z-index:1000000!important;display:grid!important;place-items:center!important;padding:20px!important;background:rgba(15,23,42,.72)!important;backdrop-filter:blur(4px)!important}
.hlh-sms-review-modal[hidden]{display:none!important}
.hlh-sms-review-dialog{width:min(620px,100%)!important;max-height:calc(100vh - 40px)!important;overflow:auto!important;padding:24px!important;border:1px solid #dbe4f0!important;border-radius:24px!important;background:#fff!important;color:#172033!important;box-shadow:0 28px 80px rgba(15,23,42,.34)!important}
.hlh-sms-review-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin-bottom:16px!important}
.hlh-sms-review-heading h2{margin:2px 0 0!important;font-size:26px!important;line-height:1.15!important;color:#172033!important}
.hlh-sms-review-heading .hlh-kicker{margin:0!important;color:#5d3f8c!important;font-size:12px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.hlh-sms-review-close{width:42px!important;height:42px!important;flex:0 0 42px!important;border:1px solid #cbd5e1!important;border-radius:50%!important;background:#f8fafc!important;color:#172033!important;font-size:28px!important;line-height:36px!important;cursor:pointer!important}
.hlh-sms-recipient{display:grid!important;grid-template-columns:auto 1fr!important;column-gap:12px!important;align-items:baseline!important;margin-bottom:16px!important;padding:14px 16px!important;border-radius:16px!important;background:#f5f2fa!important;border:1px solid #e6dff0!important}
.hlh-sms-recipient span{grid-row:1/3!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#6b7280!important}
.hlh-sms-recipient strong{font-size:17px!important;color:#172033!important}.hlh-sms-recipient small{color:#475569!important}
.hlh-sms-template-label,.hlh-sms-message-label{display:grid!important;gap:7px!important;margin:0 0 14px!important;font-weight:750!important;color:#172033!important}
.hlh-sms-template-label select,.hlh-sms-message-label textarea{width:100%!important;max-width:none!important;border:1px solid #94a3b8!important;border-radius:14px!important;padding:11px 13px!important;background:#fff!important;color:#172033!important;font:inherit!important;box-sizing:border-box!important}
.hlh-sms-message-label textarea{min-height:150px!important;resize:vertical!important;line-height:1.45!important}
.hlh-sms-honesty-note{margin:4px 0 10px!important;padding:12px 14px!important;border-left:4px solid #7f3a8e!important;border-radius:10px!important;background:#faf7fc!important;color:#334155!important}
.hlh-sms-review-status{min-height:22px!important;margin:8px 0!important;font-weight:750!important;color:#1e3a5f!important}
.hlh-sms-review-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important;margin-top:14px!important}
.hlh-sms-review-actions button{min-height:44px!important;padding:10px 16px!important;border-radius:12px!important;cursor:pointer!important}
.hlh-sms-review-actions .hlh-sms-open-app{border:1px solid #1e3a5f!important;background:#1e3a5f!important;color:#fff!important;font-weight:800!important}
.hlh-sms-review-button{cursor:pointer!important}.hlh-sms-profile-panel .hlh-sms-review-button{margin-top:8px!important}
@media(max-width:640px){.hlh-sms-review-modal{padding:10px!important;align-items:end!important}.hlh-sms-review-dialog{max-height:calc(100vh - 20px)!important;padding:18px!important;border-radius:22px 22px 14px 14px!important}.hlh-sms-review-actions{display:grid!important;grid-template-columns:1fr!important}.hlh-sms-review-actions button{width:100%!important}.hlh-sms-recipient{grid-template-columns:1fr!important}.hlh-sms-recipient span{grid-row:auto!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.6.83 - aligned actions on the separate owner/instructor login screen */
.hlh-owner-separation-shell>.hlh-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
}
.hlh-owner-separation-shell .hlh-owner-separation-action{
    width:260px!important;
    max-width:100%!important;
    min-height:42px!important;
    margin-top:auto!important;
    justify-content:center!important;
    text-align:center!important;
}
@media(max-width:760px){
    .hlh-owner-separation-shell .hlh-owner-separation-action{width:100%!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;}

/* Payment visibility is controlled by the instructor setting in PHP. */

/* 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;}
}

/* v0.5.63 - contained Account & Security and Branding settings */
html body .hlh-instructor-portal .hlh-account-security-section,
html body .hlh-instructor-portal #hlh-settings-branding {
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

html body .hlh-instructor-portal .hlh-account-security-section .hlh-settings-section-body,
html body .hlh-instructor-portal #hlh-settings-branding .hlh-settings-section-body {
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

html body .hlh-instructor-portal .hlh-change-password-form,
html body .hlh-instructor-portal .hlh-branding-settings-panel,
html body .hlh-instructor-portal .hlh-branding-preview-card {
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

html body .hlh-instructor-portal .hlh-change-password-form .hlh-form-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:start!important;
}

html body .hlh-instructor-portal .hlh-branding-form-grid {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px 18px!important;
  align-items:start!important;
}

html body .hlh-instructor-portal .hlh-change-password-form .hlh-form-grid > label,
html body .hlh-instructor-portal .hlh-branding-form-grid > label {
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

html body .hlh-instructor-portal .hlh-change-password-form input,
html body .hlh-instructor-portal .hlh-branding-form-grid input,
html body .hlh-instructor-portal .hlh-branding-form-grid textarea {
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

html body .hlh-instructor-portal .hlh-branding-form-grid input[type="color"] {
  min-height:48px!important;
  padding:5px!important;
  cursor:pointer!important;
}

html body .hlh-instructor-portal .hlh-branding-form-grid input[type="file"] {
  min-height:48px!important;
  overflow:hidden!important;
}

html body .hlh-instructor-portal .hlh-branding-form-grid .hlh-full-label {
  grid-column:1 / -1!important;
}

html body .hlh-instructor-portal .hlh-account-security-section .hlh-section-save-row,
html body .hlh-instructor-portal #hlh-settings-branding .hlh-section-save-row {
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:18px!important;
  padding-top:16px!important;
  border-top:1px solid #e7e2ea!important;
}

@media(max-width:900px) {
  html body .hlh-instructor-portal .hlh-change-password-form .hlh-form-grid {
    grid-template-columns:1fr!important;
  }
}

@media(max-width:700px) {
  html body .hlh-instructor-portal .hlh-branding-form-grid {
    grid-template-columns:1fr!important;
  }

  html body .hlh-instructor-portal .hlh-branding-form-grid .hlh-full-label {
    grid-column:auto!important;
  }

  html body .hlh-instructor-portal .hlh-account-security-section .hlh-section-save-row,
  html body .hlh-instructor-portal #hlh-settings-branding .hlh-section-save-row,
  html body .hlh-instructor-portal .hlh-account-security-section .hlh-section-save-row .hlh-button,
  html body .hlh-instructor-portal #hlh-settings-branding .hlh-section-save-row .hlh-button {
    width:100%!important;
  }
}

/* v0.6.1 — Add event accordion. Scoped to the Instructor diary modal only. */
.hlh-instructor-portal .hlh-calendar-form .hlh-event-accordions {
  display: grid;
  gap: 12px;
}

.hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d8dee9;
  border-radius: 14px;
  background: #fff;
}

.hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 16px;
  cursor: pointer;
  color: #213547 !important;
  -webkit-text-fill-color: #213547 !important;
  background: #f8fafc;
  list-style: none;
}

.hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion > summary::-webkit-details-marker {
  display: none;
}

.hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion > summary span:first-child {
  display: grid;
  gap: 2px;
}

.hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion > summary strong {
  color: #213547 !important;
  -webkit-text-fill-color: #213547 !important;
  font-size: 16px;
}

.hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion > summary small {
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  font-size: 12px;
}

.hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion-chevron {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-right: 2px solid #d91b72;
  border-bottom: 2px solid #d91b72;
  transform: rotate(45deg);
  transition: transform .18s ease;
}

.hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion[open] > summary {
  border-bottom: 1px solid #e5e7eb;
  background: #fff4f8;
}

.hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion[open] .hlh-event-accordion-chevron {
  transform: rotate(225deg);
}

.hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion-body {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion-body > button {
  justify-self: start;
}

@media (max-width: 760px) {
  .hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion > summary,
  .hlh-instructor-portal .hlh-calendar-form .hlh-event-accordion-body {
    padding: 13px;
  }
}

/* v0.6.7 - global app logo on shared access screens */
.hlh-app-brand-lockup {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  margin-bottom: 10px;
}

.hlh-app-brand-lockup p { margin: 0!important; }

.hlh-access-brand-logo,
.hlh-signup-brand-logo,
.hlh-public-brand-logo {
  display: block;
  width: 190px;
  height: 82px;
  max-width: 48%;
  object-fit: contain;
  object-position: left center;
  padding: 7px;
  box-sizing: border-box;
  border: 1px solid rgba(216,48,135,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 26px rgba(31,41,55,.07);
}

@media (max-width: 620px) {
  .hlh-app-brand-lockup { align-items: flex-start; flex-direction: column; gap: 8px; }
  .hlh-access-brand-logo,
  .hlh-signup-brand-logo,
  .hlh-public-brand-logo { width: 154px; height: 68px; max-width: 72%; }
}

/* v0.6.37 - one controlled checkbox tick across Instructor Access,
   Road Mode, public forms and the Student App. */
html body .hlh-public input[type="checkbox"],
html body .hlh-public-app input[type="checkbox"]{
  --hlh-checkbox-colour:var(--hlh-brand,#e83e8c);
  -webkit-appearance:none!important;
  appearance:none!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  padding:0!important;
  margin:0!important;
  border:2px solid #64748b!important;
  border-radius:4px!important;
  background-color:#fff!important;
  background-image:none!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:76% 76%!important;
  box-shadow:none!important;
  vertical-align:middle!important;
  flex:0 0 20px!important;
  cursor:pointer!important;
}
html body .hlh-public input[type="checkbox"]:checked,
html body .hlh-public-app input[type="checkbox"]:checked{
  border-color:var(--hlh-checkbox-colour)!important;
  background-color:var(--hlh-checkbox-colour)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.1 8.3l3.1 3.2 6.8-7' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
html body .hlh-public input[type="checkbox"]::before,
html body .hlh-public input[type="checkbox"]::after,
html body .hlh-public-app input[type="checkbox"]::before,
html body .hlh-public-app input[type="checkbox"]::after{
  content:none!important;
  display:none!important;
}
html body .hlh-public input[type="checkbox"]:focus-visible,
html body .hlh-public-app input[type="checkbox"]:focus-visible{
  outline:3px solid rgba(232,62,140,.28)!important;
  outline-offset:2px!important;
}
html body .hlh-public input[type="checkbox"]:disabled,
html body .hlh-public-app input[type="checkbox"]:disabled{
  cursor:not-allowed!important;
  opacity:.55!important;
}
html body .hlh-public-app .hlh-mini-check input[type="checkbox"]{
  --hlh-checkbox-colour:#1e3a5f;
  width:17px!important;
  min-width:17px!important;
  max-width:17px!important;
  height:17px!important;
  min-height:17px!important;
  max-height:17px!important;
  flex-basis:17px!important;
}
html body .hlh-public-app label.hlh-checkbox-label input[type="checkbox"],
html body .hlh-public-app label.hlh-inline-check-field input[type="checkbox"]{
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  flex-basis:18px!important;
}
html body .hlh-public-app .hlh-terms-check input[type="checkbox"]{
  width:21px!important;
  min-width:21px!important;
  max-width:21px!important;
  height:21px!important;
  min-height:21px!important;
  max-height:21px!important;
  flex-basis:21px!important;
}
html body .hlh-public-app .hlh-payment-master-toggle input[type="checkbox"]{
  width:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  flex-basis:22px!important;
}
html body .hlh-public-app .hlh-road-toggle input[type="checkbox"]{
  --hlh-checkbox-colour:#2563eb;
  width:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  flex-basis:24px!important;
}

/* v0.6.55 - compact Instructor App weekly diary rows. */
html body main.hlh-instructor-portal .hlh-portal-calendar-grid{
  grid-template-rows:42px!important;
  grid-auto-rows:36px!important;
}
html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-time,
html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-cell{
  min-height:36px!important;
  height:36px!important;
}

/* v0.6.50 - final diary-only mobile cascade: show Monday-Sunday together. */
@media (max-width:760px){
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-wrap{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:0!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none!important;
    border-radius:8px!important;
    box-sizing:border-box!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid{
    display:grid!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-template-columns:38px repeat(7,minmax(0,1fr))!important;
    grid-template-rows:42px!important;
    grid-auto-rows:36px!important;
    gap:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid > *{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head{
    min-width:0!important;
    min-height:42px!important;
    height:42px!important;
    padding:4px 1px!important;
    overflow:hidden!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head strong{
    display:block!important;
    max-width:100%!important;
    margin:0!important;
    font-size:10px!important;
    line-height:1!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head span{
    display:block!important;
    max-width:100%!important;
    margin-top:4px!important;
    font-size:0!important;
    line-height:1!important;
    overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head span::after{
    content:attr(data-mobile-date)!important;
    font-size:10px!important;
    line-height:1!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-time-head{
    font-size:8px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-time{
    min-width:0!important;
    min-height:36px!important;
    height:36px!important;
    padding:5px 2px!important;
    justify-content:center!important;
    font-size:9px!important;
    line-height:1!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-time.hlh-half-hour{
    font-size:0!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-cell{
    min-width:0!important;
    width:auto!important;
    min-height:36px!important;
    height:36px!important;
    padding:0!important;
    overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event-block,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event{
    min-width:0!important;
    max-width:100%!important;
    margin:1px!important;
    padding:0!important;
    border-radius:4px!important;
    overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link{
    display:flex!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    padding:3px 2px!important;
    gap:2px!important;
    overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link strong,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link small,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link span{
    display:block!important;
    max-width:100%!important;
    margin:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    font-size:8.5px!important;
    line-height:1.05!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link strong{
    font-size:9px!important;
    font-weight:800!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-full{
    display:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-mobile{
    display:block!important;
    font-weight:800!important;
    white-space:normal!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link em,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-diary-status-line,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-diary-checkin-line{
    display:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-payment-strip{
    display:block!important;
    min-height:12px!important;
    height:12px!important;
    margin-top:auto!important;
    padding:1px!important;
    border-radius:0!important;
    font-size:8px!important;
    line-height:10px!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-add{
    width:14px!important;
    min-width:14px!important;
    height:14px!important;
    min-height:14px!important;
    top:1px!important;
    right:1px!important;
    padding:0!important;
    border-radius:3px!important;
    font-size:9px!important;
    line-height:12px!important;
  }
}

/* v0.6.53 - keep Instructor App pupil profile sections closed until selected */
html body .hlh-instructor-portal .hlh-portal-full-profile details.hlh-profile-accordion {
  display:block!important;
  overflow:hidden!important;
  padding: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;
}
html body .hlh-instructor-portal .hlh-portal-full-profile details.hlh-profile-accordion[open] {
  border-color:#b9c8dc!important;
  box-shadow:0 6px 18px rgba(15,23,42,.07)!important;
}
html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-profile-accordion-summary {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  min-height:56px!important;
  margin:0!important;
  padding:15px 18px!important;
  border:0!important;
  background:#f8fafc!important;
  cursor:pointer!important;
  list-style:none!important;
  user-select:none!important;
}
html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-profile-accordion-summary::-webkit-details-marker {
  display:none!important;
}
html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-profile-accordion-summary::marker {
  content:"";
}
html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-profile-accordion-summary h3 {
  margin:0!important;
  color:#0f172a!important;
  font-size:17px!important;
  line-height:1.3!important;
}
html body .hlh-instructor-portal .hlh-portal-full-profile details.hlh-profile-accordion[open] > .hlh-profile-accordion-summary {
  border-bottom:1px solid #e2e8f0!important;
  background:#f3f6fa!important;
}
html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-profile-accordion-chevron {
  width:11px!important;
  height:11px!important;
  flex:0 0 11px!important;
  margin-right:4px!important;
  border-right:2px solid #334155!important;
  border-bottom:2px solid #334155!important;
  transform:rotate(45deg)!important;
  transition:transform .18s ease!important;
}
html body .hlh-instructor-portal .hlh-portal-full-profile details.hlh-profile-accordion[open] .hlh-profile-accordion-chevron {
  transform:rotate(225deg)!important;
}
html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-profile-accordion-body {
  padding:16px 18px 18px!important;
}
html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-student-app-access-card .hlh-profile-accordion-body {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:8px!important;
}
html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-student-app-access-card .hlh-profile-accordion-body > label {
  display:block!important;
  width:100%!important;
  margin:0!important;
}
html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-student-app-access-card .hlh-profile-accordion-body > p {
  margin:0!important;
  line-height:1.45!important;
}
html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-student-app-access-card .hlh-profile-accordion-body > p:last-child {
  margin-top:2px!important;
}
html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-profile-section-actions {
  display:flex!important;
  justify-content:flex-end!important;
  margin:0 0 12px!important;
}
@media (max-width:620px) {
  html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-profile-accordion-summary {
    min-height:52px!important;
    padding:13px 14px!important;
  }
  html body .hlh-instructor-portal .hlh-portal-full-profile .hlh-profile-accordion-body {
    padding:14px!important;
  }
}

/* v0.6.56 - deliberate, grouped and stable Road Mode controls */
.hlh-instructor-portal .hlh-road-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:min(100%,440px)!important;
  max-width:440px!important;
}
.hlh-instructor-portal .hlh-road-primary-actions,
.hlh-instructor-portal .hlh-road-message-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  min-width:0!important;
}
.hlh-instructor-portal .hlh-road-message-actions{
  padding:10px!important;
  border:1px solid #dbe4f0!important;
  border-radius:14px!important;
  background:#f5f2fa!important;
}
.hlh-instructor-portal .hlh-road-primary-actions>*,
.hlh-instructor-portal .hlh-road-message-actions>*,
.hlh-instructor-portal .hlh-road-actions form,
.hlh-instructor-portal .hlh-road-actions .hlh-road-action{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.hlh-instructor-portal .hlh-road-actions .hlh-road-action.hlh-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  border:1px solid #1e3a5f!important;
  border-radius:7px!important;
  background:#1e3a5f!important;
  color:#fff!important;
  box-shadow:0 1px 2px rgba(15,23,42,.06)!important;
  font-size:13px!important;
  font-weight:650!important;
  text-align:center!important;
}
.hlh-instructor-portal .hlh-road-actions .hlh-road-action.hlh-button:hover,
.hlh-instructor-portal .hlh-road-actions .hlh-road-action.hlh-button:focus-visible{
  border-color:#315b86!important;
  background:#315b86!important;
  color:#fff!important;
}
.hlh-instructor-portal .hlh-road-actions .hlh-road-action.hlh-road-app-alert{
  border-color:#6f42c1!important;
  background:linear-gradient(135deg,#d83087,#6f42c1)!important;
  color:#fff!important;
}
.hlh-instructor-portal .hlh-road-actions .hlh-road-action.hlh-road-app-alert:hover,
.hlh-instructor-portal .hlh-road-actions .hlh-road-action.hlh-road-app-alert:focus-visible{
  border-color:#5f34ae!important;
  background:linear-gradient(135deg,#c52778,#5f34ae)!important;
}
.hlh-instructor-portal .hlh-gap-management-row{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:12px!important;
  text-decoration:none!important;
}
.hlh-instructor-portal .hlh-gap-management-row>strong,
.hlh-instructor-portal .hlh-gap-management-row>span,
.hlh-instructor-portal .hlh-gap-management-row>small{
  grid-column:1!important;
}
.hlh-instructor-portal .hlh-gap-management-row>.hlh-mini-button{
  grid-column:2!important;
  grid-row:1/4!important;
  align-self:center!important;
  white-space:nowrap!important;
}
@media(max-width:520px){
  .hlh-instructor-portal .hlh-gap-management-row{
    grid-template-columns:1fr!important;
  }
  .hlh-instructor-portal .hlh-gap-management-row>.hlh-mini-button{
    grid-column:1!important;
    grid-row:auto!important;
    justify-self:start!important;
    margin-top:5px!important;
  }
}
.hlh-instructor-portal .hlh-road-custom-sms{
  display:grid!important;
  grid-column:1/-1!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}
.hlh-instructor-portal .hlh-road-custom-sms-panel[hidden]{display:none!important;}
.hlh-instructor-portal .hlh-road-custom-sms-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(150px,.65fr)!important;
  gap:8px!important;
  align-items:end!important;
  padding:10px!important;
  border:1px solid #d5cce2!important;
  border-radius:12px!important;
  background:#fff!important;
}
.hlh-instructor-portal .hlh-road-custom-sms-choice{
  display:grid!important;
  gap:5px!important;
  min-width:0!important;
  margin:0!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:750!important;
}
.hlh-instructor-portal .hlh-road-message-select{
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  box-sizing:border-box!important;
}
.hlh-instructor-portal .hlh-road-custom-sms-link:disabled{
  border-color:#cbd5e1!important;
  background:#e2e8f0!important;
  color:#64748b!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}
.hlh-instructor-portal .hlh-test-data-mode-banner[data-hlh-persist]{
  max-height:none!important;
  overflow:visible!important;
}
@media(max-width:760px){
  .hlh-instructor-portal .hlh-road-actions{
    width:100%!important;
    max-width:none!important;
  }
  .hlh-instructor-portal .hlh-road-custom-sms-panel{
    grid-template-columns:1fr!important;
  }
}

/* v0.6.57 - consistent return navigation on Instructor App pages */
.hlh-instructor-portal .hlh-instructor-page-nav{
  display:flex!important;
  width:100%!important;
  margin:0 0 12px!important;
}
.hlh-instructor-portal .hlh-instructor-back-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:42px!important;
  padding:9px 15px!important;
  border:1px solid #6f42c1!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#d83087,#6f42c1)!important;
  color:#fff!important;
  box-shadow:0 7px 16px rgba(83,44,117,.16)!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
.hlh-instructor-portal .hlh-instructor-back-button:hover,
.hlh-instructor-portal .hlh-instructor-back-button:focus-visible{
  color:#fff!important;
  filter:brightness(1.05)!important;
  box-shadow:0 9px 20px rgba(83,44,117,.24)!important;
}
.hlh-instructor-portal .hlh-instructor-back-button:focus-visible{
  outline:3px solid rgba(111,66,193,.25)!important;
  outline-offset:3px!important;
}
@media(max-width:760px){
  .hlh-instructor-portal .hlh-instructor-back-button{
    width:100%!important;
    min-height:46px!important;
  }
}

/* v0.6.59 - compact Road Mode push feedback and time/name pairing */
.hlh-instructor-portal .hlh-road-push-toast{
  position:fixed!important;
  z-index:100000!important;
  top:14px!important;
  left:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  max-width:calc(100vw - 28px)!important;
  margin:0!important;
  padding:10px 14px!important;
  transform:translateX(-50%)!important;
  border:1px solid #86c99a!important;
  border-radius:12px!important;
  background:#effcf3!important;
  color:#164d2e!important;
  box-shadow:0 10px 24px rgba(15,23,42,.16)!important;
  font-size:14px!important;
  line-height:1.2!important;
}
.hlh-instructor-portal .hlh-road-push-toast > span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  border-radius:50%!important;
  background:#287a3e!important;
  color:#fff!important;
  font-weight:900!important;
}
.hlh-instructor-portal .hlh-road-event-heading{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.hlh-instructor-portal .hlh-road-event-heading h4{
  margin:0!important;
}
/* v0.6.60 - keep the Road Mode pupil name visible beside its time */
.hlh-instructor-portal .hlh-road-student-name{
  display:inline!important;
  margin:0!important;
  color:#111827!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1.15!important;
}
@media (max-width:760px){
  .hlh-instructor-portal .hlh-road-student-name{font-size:17px!important;}
}

/* v0.6.64 - slightly stronger status colours for Instructor App pupil rows */
html body .hlh-instructor-portal .hlh-portal-pupil-row.hlh-pupil-status-active{
  background:rgba(40,122,62,.16)!important;
  border-left:4px solid rgba(40,122,62,.62)!important;
}
html body .hlh-instructor-portal .hlh-portal-pupil-row.hlh-pupil-status-waiting_list{
  background:rgba(19,106,155,.16)!important;
  border-left:4px solid rgba(19,106,155,.62)!important;
}
html body .hlh-instructor-portal .hlh-portal-pupil-row.hlh-pupil-status-inactive{
  background:rgba(180,35,62,.15)!important;
  border-left:4px solid rgba(180,35,62,.58)!important;
}
html body .hlh-instructor-portal .hlh-portal-pupil-row.hlh-pupil-status-passed{
  background:rgba(100,116,139,.18)!important;
  border-left:4px solid rgba(100,116,139,.58)!important;
}
html body .hlh-instructor-portal .hlh-portal-pupil-row.hlh-pupil-status-active:hover{
  background:rgba(40,122,62,.21)!important;
}
html body .hlh-instructor-portal .hlh-portal-pupil-row.hlh-pupil-status-waiting_list:hover{
  background:rgba(19,106,155,.21)!important;
}
html body .hlh-instructor-portal .hlh-portal-pupil-row.hlh-pupil-status-inactive:hover{
  background:rgba(180,35,62,.20)!important;
}
html body .hlh-instructor-portal .hlh-portal-pupil-row.hlh-pupil-status-passed:hover{
  background:rgba(100,116,139,.23)!important;
}

/* v0.6.70 - Student App access help */
.hlh-instructor-portal .hlh-student-app-help-actions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:9px!important;
}
.hlh-instructor-portal .hlh-student-app-help-settings .hlh-settings-section-body{
  display:grid!important;
  gap:16px!important;
}
.hlh-instructor-portal .hlh-student-app-help-page{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,1.25fr) auto!important;
  align-items:end!important;
  gap:14px!important;
  padding:14px!important;
  border:1px solid rgba(37,99,235,.18)!important;
  border-radius:16px!important;
  background:#f8fbff!important;
}
.hlh-instructor-portal .hlh-student-app-help-page p,
.hlh-instructor-portal .hlh-student-app-help-heading p{margin:4px 0 0!important;}

/* v0.6.71 - active inbox replies only */
.hlh-instructor-portal .hlh-admin-to-instructor-message.is-active-conversation{
  border-left:4px solid #2563eb!important;
  background:#f8fbff!important;
}
.hlh-instructor-portal .hlh-admin-to-instructor-message.is-completed-conversation{
  background:#f8fafc!important;
}

/* v0.6.73 - phone-message threads in the Instructor App inbox */
.hlh-instructor-portal .hlh-ia-message-thread{
  padding:0!important;
  border:1px solid #e2e8f0!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.hlh-instructor-portal .hlh-ia-message-thread.is-unread{
  border-color:#93c5fd!important;
  box-shadow:0 0 0 2px rgba(10,132,255,.10)!important;
}
.hlh-instructor-portal .hlh-ia-message-thread.is-completed-conversation{
  background:#fff!important;
}
.hlh-instructor-portal .hlh-ia-thread-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:9px 12px!important;
  border-bottom:1px solid #e5e7eb!important;
  background:#f8fafc!important;
}
.hlh-instructor-portal .hlh-ia-thread-heading>div{
  display:grid!important;
  gap:1px!important;
}
.hlh-instructor-portal .hlh-ia-thread-heading strong{
  color:#111827!important;
  font-size:.94rem!important;
}
.hlh-instructor-portal .hlh-ia-thread-heading small{
  color:#6b7280!important;
  font-size:.69rem!important;
}
.hlh-instructor-portal .hlh-ia-thread-heading>span{
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#dbeafe!important;
  color:#1d4ed8!important;
  font-size:.68rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.hlh-instructor-portal .hlh-ia-message-thread>.hlh-sms-thread{
  display:grid!important;
  gap:8px!important;
  padding:9px 11px 11px!important;
  background:#fff!important;
}
.hlh-instructor-portal .hlh-sms-date-divider{
  display:flex!important;
  justify-content:center!important;
  color:#6b7280!important;
  font-size:.69rem!important;
  font-weight:700!important;
}
.hlh-instructor-portal .hlh-sms-row{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:2px!important;
  width:100%!important;
}
/* v0.6.87 - keep both speakers together on the left in the instructor inbox. */
.hlh-instructor-portal .hlh-sms-row.is-sent{align-items:flex-start!important;}
.hlh-instructor-portal .hlh-sms-bubble{
  width:fit-content!important;
  max-width:min(78%,640px)!important;
  padding:7px 11px!important;
  border-radius:18px!important;
  background:#e9e9eb!important;
  color:#111827!important;
}
.hlh-instructor-portal .hlh-sms-row.is-received .hlh-sms-bubble{border-bottom-left-radius:5px!important;}
.hlh-instructor-portal .hlh-sms-row.is-sent .hlh-sms-bubble{
  border-bottom-left-radius:5px!important;
  background:#0a84ff!important;
  color:#fff!important;
}
.hlh-instructor-portal .hlh-sms-bubble p{
  margin:0!important;
  color:inherit!important;
  font-size:.92rem!important;
  line-height:1.33!important;
  overflow-wrap:anywhere!important;
}
.hlh-instructor-portal .hlh-sms-row>small{
  margin:0 7px!important;
  color:#6b7280!important;
  font-size:.66rem!important;
  line-height:1.2!important;
}
@media(max-width:620px){
  .hlh-instructor-portal .hlh-sms-bubble{max-width:84%!important;}
}

/* v0.6.74 - phone-style reply composer below each active conversation */
.hlh-instructor-portal .hlh-sms-composer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
  margin:0!important;
  padding:9px 10px 10px!important;
  border-top:1px solid #e5e7eb!important;
  background:#f8fafc!important;
}
.hlh-instructor-portal .hlh-sms-composer textarea{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:40px!important;
  max-height:112px!important;
  margin:0!important;
  padding:9px 13px!important;
  resize:vertical!important;
  border:1px solid #c7cbd1!important;
  border-radius:20px!important;
  background:#fff!important;
  color:#111827!important;
  font:inherit!important;
  font-size:16px!important;
  line-height:20px!important;
  box-shadow:none!important;
}
.hlh-instructor-portal .hlh-sms-composer textarea:focus{
  border-color:#0a84ff!important;
  outline:2px solid rgba(10,132,255,.18)!important;
  outline-offset:1px!important;
}
.hlh-instructor-portal .hlh-sms-send-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:66px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:999px!important;
  background:#0a84ff!important;
  color:#fff!important;
  font-size:.88rem!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
}
.hlh-instructor-portal .hlh-sms-send-button:hover,
.hlh-instructor-portal .hlh-sms-send-button:focus{
  background:#006edc!important;
  color:#fff!important;
}
.hlh-instructor-portal .hlh-student-app-help-page label,
.hlh-instructor-portal .hlh-student-app-help-row label{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
  min-width:0!important;
}
.hlh-instructor-portal .hlh-student-app-help-page label span,
.hlh-instructor-portal .hlh-student-app-help-row label span{
  color:#475569!important;
  font-size:12px!important;
  font-weight:800!important;
}
.hlh-instructor-portal .hlh-student-app-help-page input,
.hlh-instructor-portal .hlh-student-app-help-row input{
  width:100%!important;
  min-width:0!important;
  padding:9px 10px!important;
  border:1px solid #cbd5e1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#334155!important;
  font-size:13px!important;
}
.hlh-instructor-portal .hlh-student-app-help-heading{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.hlh-instructor-portal .hlh-student-app-help-heading>span{
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#dbeafe!important;
  color:#1d4ed8!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.hlh-instructor-portal .hlh-student-app-help-list{
  display:grid!important;
  gap:10px!important;
  max-height:520px!important;
  overflow:auto!important;
  padding-right:3px!important;
}
.hlh-instructor-portal .hlh-student-app-help-row{
  display:grid!important;
  grid-template-columns:minmax(150px,.65fr) minmax(260px,1.5fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:13px!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  background:#fff!important;
}
.hlh-instructor-portal .hlh-student-app-help-person{
  display:grid!important;
  gap:4px!important;
}
.hlh-instructor-portal .hlh-student-app-help-person strong{color:#0f172a!important;}
.hlh-instructor-portal .hlh-student-app-help-person small{color:#64748b!important;}
@media(max-width:840px){
  .hlh-instructor-portal .hlh-student-app-help-page,
  .hlh-instructor-portal .hlh-student-app-help-row{grid-template-columns:1fr!important;align-items:stretch!important;}
}
@media(max-width:520px){
  .hlh-instructor-portal .hlh-student-app-help-actions{display:grid!important;grid-template-columns:1fr!important;}
  .hlh-instructor-portal .hlh-student-app-help-actions>*{width:100%!important;justify-content:center!important;}
}

/* v0.6.79 - prioritised, action-aware IA message sections */
.hlh-instructor-portal details.hlh-message-action-section{
  padding:0!important;
  overflow:hidden!important;
}
.hlh-instructor-portal details.hlh-message-action-section>summary.hlh-message-action-summary{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0!important;
  padding:18px!important;
  list-style:none!important;
  cursor:pointer!important;
  user-select:none!important;
}
.hlh-instructor-portal details.hlh-message-action-section>summary.hlh-message-action-summary::-webkit-details-marker{
  display:none!important;
}
.hlh-instructor-portal details.hlh-message-action-section>summary.hlh-message-action-summary::marker{
  content:"";
}
.hlh-instructor-portal details.hlh-message-action-section>summary.hlh-message-action-summary:hover,
.hlh-instructor-portal details.hlh-message-action-section>summary.hlh-message-action-summary:focus-visible{
  background:#f8fafc!important;
}
.hlh-instructor-portal details.hlh-message-action-section>summary.hlh-message-action-summary:focus-visible{
  outline:3px solid rgba(10,132,255,.22)!important;
  outline-offset:-3px!important;
}
.hlh-instructor-portal details.hlh-message-action-section[open]>summary.hlh-message-action-summary{
  border-bottom:1px solid #e2e8f0!important;
}
.hlh-instructor-portal .hlh-message-action-summary>div:first-child{
  min-width:0!important;
}
.hlh-instructor-portal .hlh-message-action-summary h2{
  margin:3px 0 0!important;
}
.hlh-instructor-portal .hlh-message-action-summary-status{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex:0 0 auto!important;
}
.hlh-instructor-portal .hlh-message-action-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:#f1f5f9!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.hlh-instructor-portal .hlh-message-action-badge.is-active{
  background:#dbeafe!important;
  color:#1d4ed8!important;
}
.hlh-instructor-portal .hlh-message-action-chevron{
  display:block!important;
  width:11px!important;
  height:11px!important;
  margin-right:3px!important;
  border-right:2px solid #64748b!important;
  border-bottom:2px solid #64748b!important;
  transform:rotate(45deg)!important;
  transition:transform .16s ease!important;
}
.hlh-instructor-portal details.hlh-message-action-section[open] .hlh-message-action-chevron{
  transform:rotate(225deg)!important;
}
.hlh-instructor-portal .hlh-message-action-section-body{
  padding:16px 18px 18px!important;
}
.hlh-instructor-portal .hlh-message-action-section-body>.hlh-admin-message-list,
.hlh-instructor-portal .hlh-message-action-section-body>.hlh-lesson-request-list{
  margin-top:0!important;
}
@media(max-width:620px){
  .hlh-instructor-portal details.hlh-message-action-section>summary.hlh-message-action-summary{
    display:grid!important;
    padding:15px!important;
  }
  .hlh-instructor-portal .hlh-message-action-summary-status{
    justify-content:space-between!important;
  }
  .hlh-instructor-portal .hlh-message-action-section-body{
    padding:14px!important;
  }
}

/* v0.7.11 EOF override — crisp white app shell */
html:has(.hlh-instructor-portal),body:has(.hlh-instructor-portal),html:has(.hlh-mobile-app[data-hlh-student-app="1"]),body:has(.hlh-mobile-app[data-hlh-student-app="1"]){background:#f4f6f8!important;background-image:none!important;color:#172033!important}
html body .hlh-instructor-portal,html body .hlh-public,html body .hlh-public-app,html body .hlh-mobile-app{--hlh-crisp-ink:#172033;--hlh-crisp-muted:#5d687a;--hlh-crisp-line:#dfe4eb;--hlh-crisp-soft:#f6f8fb;--hlh-crisp-primary:#173b63;--hlh-crisp-primary-hover:#102e50;background:#fff!important;background-image:none!important;color:var(--hlh-crisp-ink)!important}
html body .hlh-instructor-portal .hlh-instructor-top,html body .hlh-instructor-portal .hlh-instructor-identity-bar,html body .hlh-instructor-portal .hlh-instructor-nav,html body .hlh-instructor-portal .hlh-card,html body .hlh-instructor-portal .hlh-panel,html body .hlh-instructor-portal details,html body .hlh-mobile-app .hlh-app-hero,html body .hlh-mobile-app .hlh-student-hero,html body .hlh-mobile-app .hlh-app-card,html body .hlh-mobile-app .hlh-mobile-section,html body .hlh-mobile-app .hlh-student-page-section{background:#fff!important;background-image:none!important;color:var(--hlh-crisp-ink)!important;border-color:var(--hlh-crisp-line)!important;border-radius:9px!important;box-shadow:0 2px 8px rgba(23,32,51,.05)!important}
html body .hlh-instructor-portal .hlh-instructor-top *,html body .hlh-instructor-portal .hlh-instructor-identity-bar *,html body .hlh-mobile-app .hlh-app-hero *,html body .hlh-mobile-app .hlh-student-hero *{color:var(--hlh-crisp-ink)!important}
html body .hlh-instructor-portal summary,html body .hlh-mobile-app summary{background:#fff!important;background-image:none!important;color:var(--hlh-crisp-ink)!important}
html body .hlh-instructor-portal summary:hover,html body .hlh-mobile-app summary:hover{background:var(--hlh-crisp-soft)!important}
html body .hlh-instructor-portal button,html body .hlh-instructor-portal .hlh-button,html body .hlh-instructor-portal .hlh-mini-button,html body .hlh-instructor-portal input[type="submit"],html body .hlh-mobile-app button,html body .hlh-mobile-app .hlh-button,html body .hlh-mobile-app input[type="submit"]{background:var(--hlh-crisp-primary)!important;background-image:none!important;border-color:var(--hlh-crisp-primary)!important;border-radius:7px!important;box-shadow:none!important;color:#fff!important;text-shadow:none!important}
html body .hlh-instructor-portal button:hover,html body .hlh-instructor-portal .hlh-button:hover,html body .hlh-mobile-app button:hover,html body .hlh-mobile-app .hlh-button:hover{background:var(--hlh-crisp-primary-hover)!important;border-color:var(--hlh-crisp-primary-hover)!important;color:#fff!important}
html body .hlh-instructor-portal input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),html body .hlh-instructor-portal select,html body .hlh-instructor-portal textarea,html body .hlh-mobile-app input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),html body .hlh-mobile-app select,html body .hlh-mobile-app textarea{background:#fff!important;color:var(--hlh-crisp-ink)!important;border-color:#cbd3df!important;border-radius:7px!important;box-shadow:none!important}
html body .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head{background:#26384f!important;color:#fff!important}

/* v0.7.13 FINAL override — every safe button and navigation control is blue. */
html body :is(.hlh-instructor-portal,.hlh-public,.hlh-public-app,.hlh-mobile-app) :is(a.hlh-button,a.hlh-mini-button,button.hlh-button,button.hlh-mini-button,input[type="submit"],.hlh-instructor-nav a,.hlh-instructor-back-button,.hlh-instructor-header-logout,.hlh-back-button,.hlh-section-open-button,.hlh-student-settings-button,.hlh-student-help-button,.hlh-app-tabs a,.hlh-app-section-buttons a,.hlh-filter-pills a,.hlh-portal-week-nav a,.hlh-road-day-nav a,.hlh-diary-action-menu a,.hlh-student-page-nav a,.hlh-student-refresh-button,.hlh-enable-push,.hlh-test-push,.hlh-lesson-action-button.is-change):not(.hlh-button-danger):not(.hlh-button-danger-outline):not(.hlh-button-danger-quiet):not(.hlh-danger-link):not(.hlh-message-remove-action):not(.is-cancel){background:#1268c4!important;background-image:none!important;border-color:#1268c4!important;color:#fff!important;box-shadow:none!important;text-shadow:none!important}
html body :is(.hlh-instructor-portal,.hlh-public,.hlh-public-app,.hlh-mobile-app) :is(a.hlh-button,a.hlh-mini-button,button.hlh-button,button.hlh-mini-button,input[type="submit"],.hlh-instructor-nav a,.hlh-instructor-back-button,.hlh-instructor-header-logout,.hlh-back-button,.hlh-section-open-button,.hlh-student-settings-button,.hlh-student-help-button,.hlh-app-tabs a,.hlh-app-section-buttons a,.hlh-filter-pills a,.hlh-portal-week-nav a,.hlh-road-day-nav a,.hlh-diary-action-menu a,.hlh-student-page-nav a,.hlh-student-refresh-button,.hlh-enable-push,.hlh-test-push,.hlh-lesson-action-button.is-change):not(.hlh-button-danger):not(.hlh-button-danger-outline):not(.hlh-button-danger-quiet):not(.hlh-danger-link):not(.hlh-message-remove-action):not(.is-cancel):is(:hover,:focus){background:#0b4f98!important;border-color:#0b4f98!important;color:#fff!important}
html body :is(.hlh-instructor-portal,.hlh-mobile-app) :is(.hlh-back-button-icon,.hlh-student-settings-button strong,.hlh-student-settings-button em,.hlh-student-help-button strong,.hlh-student-help-button em){color:#fff!important}

/* v0.7.14 EOF enquiry contrast safeguard. */
html body .hlh-enquiry-public .hlh-enquiry-hero,
html body .hlh-enquiry-public .hlh-enquiry-card{background:#fff!important;background-image:none!important;color:#172033!important;border-color:#dfe4eb!important}
html body .hlh-enquiry-public .hlh-enquiry-hero :is(h1,h2,h3,h4,p,.hlh-public-kicker,.hlh-app-brand-lockup),
html body .hlh-enquiry-public .hlh-enquiry-card :is(h1,h2,h3,h4,p,label,legend){color:#172033!important;-webkit-text-fill-color:#172033!important;text-shadow:none!important}
html body .hlh-enquiry-public .hlh-enquiry-hero p,
html body .hlh-enquiry-public .hlh-enquiry-group-intro{color:#4b5563!important;-webkit-text-fill-color:#4b5563!important}
html body .hlh-enquiry-public :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea){background:#fff!important;color:#172033!important;-webkit-text-fill-color:#172033!important;border-color:#cbd5e1!important;caret-color:#172033!important}
html body .hlh-enquiry-public :is(input,textarea)::placeholder{color:#6b7280!important;-webkit-text-fill-color:#6b7280!important;opacity:1!important}
html body .hlh-enquiry-public button[type="submit"]{background:#1268c4!important;border-color:#1268c4!important;color:#fff!important;-webkit-text-fill-color:#fff!important}

/* v0.7.29 — readable pupil filters and profile lesson editing. */
html body .hlh-instructor-portal .hlh-filter-pills.hlh-portal-status-tabs a,
html body .hlh-instructor-portal .hlh-filter-pills.hlh-portal-status-tabs a:is(:hover,:focus,.is-active){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:none!important;
}
.hlh-profile-lesson-actions{margin:10px 0 0!important;}
.hlh-edit-profile-lesson{width:max-content!important;min-width:132px!important;}

/* v0.7.16 EOF — restore controls hidden by the old beta payment pause. */
html body .hlh-instructor-portal #hlh-settings-payments .hlh-settings-section-body,
html body .hlh-instructor-portal #hlh-settings-payments .hlh-payment-settings-panel,
html body .hlh-instructor-portal #hlh-settings-payments [data-hlh-payment-settings],
html body .hlh-instructor-portal .hlh-payment-summary,
html body .hlh-instructor-portal .hlh-payment-strip,
html body .hlh-instructor-portal .hlh-unpaid-strip,
html body .hlh-instructor-portal .hlh-payment-pill,
html body .hlh-instructor-portal .hlh-event-unpaid,
html body .hlh-instructor-portal .hlh-credit-summary,
html body .hlh-mobile-app .hlh-student-payment-box,
html body .hlh-mobile-app .hlh-student-credit-panel{display:revert!important}

/* v0.7.107 pupil account payments and refunds */
.hlh-student-credit-values{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.hlh-student-credit-values>div{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  padding:12px!important;
  border:1px solid #dbe4ef!important;
  border-radius:12px!important;
  background:#fff!important;
}
.hlh-student-credit-values span,.hlh-student-credit-values small{color:#64748b!important}
.hlh-student-credit-values strong{font-size:22px!important;color:#0f2947!important}
html body .hlh-instructor-portal .hlh-prepaid-credit-card{grid-column:1 / -1!important}
html body .hlh-instructor-portal .hlh-remove-credit-card{border-color:#f3c7cd!important;background:#fffafb!important}
@media(max-width:640px){
  .hlh-student-credit-values{grid-template-columns:1fr!important}
}
html body .hlh-instructor-portal #hlh-settings-payments .hlh-payment-settings-panel{display:block!important}
/* v0.7.17 - simple lesson-price and Stripe payment choices */
.hlh-custom-payment-rates{display:grid;gap:10px;margin:10px 0 18px}
.hlh-custom-payment-rate-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;border:1px solid #d7dee8;border-radius:8px;background:#f8fafc}
.hlh-student-rate-choices{display:grid;gap:12px;margin:14px 0}
.hlh-student-rate-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid #d7dee8;border-radius:8px;background:#fff}
.hlh-student-rate-choice>div{display:grid;gap:2px;color:#172033}
.hlh-student-rate-choice>div span{font-size:1.1rem;font-weight:700;color:#1557b0}
@media(max-width:640px){.hlh-custom-payment-rate-row{grid-template-columns:1fr 1fr}.hlh-student-rate-choice{align-items:stretch;flex-direction:column}.hlh-student-rate-choice .hlh-button{width:100%}}

/* v0.7.18 - Student App cards stay white; blue is reserved for action buttons. */
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-reference-card-rows :is(.hlh-student-settings-button,.hlh-student-help-button){
  background:#fff!important;
  background-image:none!important;
  border-color:#ddd7ea!important;
  color:#111827!important;
  box-shadow:0 8px 24px rgba(23,32,51,.06)!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-reference-card-rows :is(.hlh-student-settings-button,.hlh-student-help-button) :is(span,em,strong){
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-reference-card-rows :is(.hlh-student-settings-button,.hlh-student-help-button) em{
  color:#6d28d9!important;
  -webkit-text-fill-color:#6d28d9!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-reference-card-rows :is(.hlh-student-settings-button,.hlh-student-help-button):is(:hover,:focus){
  background:#f8fafc!important;
  border-color:#b8c2d0!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-payments-row>a{
  background:#fff!important;
  background-image:none!important;
  border-color:#cbd5e1!important;
  color:#111827!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-payments-row>a :is(span,em){color:#111827!important;-webkit-text-fill-color:#111827!important}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-payments-row>a em{color:#1557b0!important;-webkit-text-fill-color:#1557b0!important}

/* v0.7.19 - consistent Student Settings cards/buttons and visible Stripe connection step. */
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-section-settings :is(
  .hlh-student-settings-panel,
  .hlh-student-settings-refresh,
  .hlh-student-notification-panel,
  .hlh-notification-panel
){
  background:#fff!important;
  background-image:none!important;
  border:1px solid #dfe4eb!important;
  color:#172033!important;
  box-shadow:0 2px 8px rgba(23,32,51,.05)!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-section-settings :is(
  .hlh-student-settings-panel,
  .hlh-student-settings-refresh,
  .hlh-student-notification-panel,
  .hlh-notification-panel
) :is(h2,h3,h4,p,label,strong,span){color:#172033!important}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-section-settings :is(
  button.hlh-standard-blue-button,
  .hlh-student-refresh-button,
  .hlh-enable-push,
  .hlh-test-push
){
  background:#1268c4!important;
  background-image:none!important;
  border-color:#1268c4!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-radius:7px!important;
  box-shadow:none!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-section-settings :is(
  button.hlh-standard-blue-button,
  .hlh-student-refresh-button,
  .hlh-enable-push,
  .hlh-test-push
):is(:hover,:focus){background:#0b4f98!important;border-color:#0b4f98!important}
.hlh-instructor-portal .hlh-stripe-connect-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;margin:0 0 16px;padding:16px;border:1px solid #dfe4eb;border-radius:9px;background:#fff;color:#172033}
.hlh-instructor-portal .hlh-stripe-step-number{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#1268c4;color:#fff;font-weight:800}
.hlh-instructor-portal .hlh-stripe-connect-copy{display:grid;justify-items:start;gap:9px}
.hlh-instructor-portal .hlh-stripe-connect-copy h4,.hlh-instructor-portal .hlh-stripe-connect-copy p{margin:0;color:#172033}
.hlh-instructor-portal .hlh-stripe-status{display:grid;gap:3px}
.hlh-instructor-portal .hlh-stripe-status span{color:#5d687a}
.hlh-instructor-portal .hlh-stripe-status.is-connected strong{color:#166534}
.hlh-instructor-portal .hlh-stripe-status.is-waiting strong{color:#92400e}

/* v0.7.20 - Settings and Help are dashboard cards, not blue action buttons. */
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-home-grid > :is(
  a.hlh-student-settings-button,
  a.hlh-student-help-button
){
  background:#fff!important;
  background-image:none!important;
  border-color:#ddd7ea!important;
  color:#111827!important;
  box-shadow:0 8px 24px rgba(23,32,51,.06)!important;
  text-shadow:none!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-home-grid > :is(
  a.hlh-student-settings-button,
  a.hlh-student-help-button
) :is(strong,b){
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-home-grid > :is(
  a.hlh-student-settings-button,
  a.hlh-student-help-button
) em{
  color:#6d28d9!important;
  -webkit-text-fill-color:#6d28d9!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-home-grid > :is(
  a.hlh-student-settings-button,
  a.hlh-student-help-button
):is(:hover,:focus){
  background:#f8fafc!important;
  border-color:#c9bddf!important;
}

/* v0.7.21 - manual lesson payments and pupil bank details. */
.hlh-mark-paid-panel{width:100%;margin-top:10px}
.hlh-mark-paid-panel>summary{display:inline-flex;cursor:pointer;list-style:none}
.hlh-mark-paid-panel>summary::-webkit-details-marker{display:none}
.hlh-mark-paid-panel[open]>summary{margin-bottom:10px}
.hlh-mark-paid-panel .hlh-form{padding:14px;border:1px solid #dfe4eb;border-radius:9px;background:#fff}
.hlh-bank-details{display:grid;gap:0;margin:14px 0;border:1px solid #dfe4eb;border-radius:9px;overflow:hidden;background:#fff}
.hlh-bank-details>div{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(0,1.25fr);gap:12px;padding:12px 14px;border-bottom:1px solid #e8ecf1}
.hlh-bank-details>div:last-child{border-bottom:0}
.hlh-bank-details dt{font-weight:700;color:#5d687a}
.hlh-bank-details dd{margin:0;font-weight:800;color:#172033;overflow-wrap:anywhere}
@media(max-width:480px){.hlh-bank-details>div{grid-template-columns:1fr;gap:3px}}

/* v0.7.22 - visible paid/unpaid status bar on every diary lesson. */
html body .hlh-instructor-portal .hlh-calendar-event-block.hlh-event-lesson{
  padding-bottom:20px!important;
}
html body .hlh-instructor-portal .hlh-calendar-event-block.hlh-event-lesson .hlh-payment-strip{
  display:block!important;
  position:absolute!important;
  z-index:3!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:auto!important;
  height:16px!important;
  min-height:16px!important;
  margin:0!important;
  padding:1px 5px!important;
  border:0!important;
  border-radius:0!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:14px!important;
  letter-spacing:.04em!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
html body .hlh-instructor-portal .hlh-calendar-event-block.hlh-event-lesson .hlh-payment-strip.unpaid{
  background:var(--hlh-diary-unpaid,#dc2626)!important;
}
html body .hlh-instructor-portal .hlh-calendar-event-block.hlh-event-lesson .hlh-payment-strip.paid{
  background:var(--hlh-diary-paid,#16a34a)!important;
}

/* v0.7.30 - keep payment status visible on compact mobile diary lessons. */
@media(max-width:782px){
  html body .hlh-instructor-portal .hlh-calendar-event-block.hlh-event-lesson{
    padding-bottom:0!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-event-block.hlh-event-lesson .hlh-event-detail-link{
    padding-top:24px!important;
  }
  html body .hlh-instructor-portal .hlh-calendar-event-block.hlh-event-lesson .hlh-payment-strip{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    top:4px!important;
    right:4px!important;
    bottom:auto!important;
    left:auto!important;
    width:auto!important;
    height:17px!important;
    min-height:17px!important;
    padding:1px 6px!important;
    border:1px solid rgba(255,255,255,.72)!important;
    border-radius:999px!important;
    box-shadow:0 1px 3px rgba(15,23,42,.24)!important;
    font-size:8px!important;
    line-height:13px!important;
    letter-spacing:.035em!important;
    pointer-events:none!important;
  }
}

/* v0.7.23 - current Student App dashboard Settings and Help cards stay white. */
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-reference-card-rows .hlh-reference-card-row > a.hlh-student-settings-button,
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-reference-card-rows .hlh-reference-card-row > a.hlh-student-help-button{
  background:#fff!important;
  background-image:none!important;
  border-color:#ddd7ea!important;
  color:#111827!important;
  box-shadow:0 8px 24px rgba(23,32,51,.06)!important;
  text-shadow:none!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-reference-card-rows .hlh-reference-card-row > :is(a.hlh-student-settings-button,a.hlh-student-help-button) > span:not(.hlh-home-tile-icon){
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-reference-card-rows .hlh-reference-card-row > :is(a.hlh-student-settings-button,a.hlh-student-help-button) > em{
  color:#6d28d9!important;
  -webkit-text-fill-color:#6d28d9!important;
}

/* v0.7.37 - keep instructor diary weekday headings clear on the navy header. */
html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head,
html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head strong,
html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head span,
html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head span::after{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* v0.7.40 - show the optional lesson title in black beneath the pupil name. */
html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-card-title{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.08!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  opacity:.92!important;
}
@media(max-width:760px){
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-card-title{
    font-size:8px!important;
    line-height:1!important;
  }
}

/* v0.7.24 - pupil bank-transfer notification. */
.hlh-student-payment-notify-form{display:grid;gap:12px;margin-top:14px}
.hlh-student-payment-notify-form label{display:grid;gap:6px;color:#1f2937!important;font-weight:700}
.hlh-student-payment-notify-form input{width:100%;box-sizing:border-box;background:#fff!important;color:#111827!important;border:1px solid #cbd5e1!important}
.hlh-student-payment-notify-form small{color:#475569!important;line-height:1.45}

/* v0.7.27 - Google Maps navigation from an instructor pupil profile. */
.hlh-profile-road-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  flex-wrap:wrap!important;
}
.hlh-profile-navigation{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.hlh-profile-navigation small{
  color:#64748b!important;
  line-height:1.35;
}
.hlh-navigate-pupil.is-disabled{
  opacity:.55;
  cursor:not-allowed;
  pointer-events:none;
}
@media(max-width:640px){
  .hlh-profile-road-actions,
  .hlh-profile-navigation{
    align-items:stretch!important;
    flex-direction:column!important;
    width:100%;
  }
  .hlh-navigate-pupil{
    width:100%;
    box-sizing:border-box;
    text-align:center;
  }
}

/* v0.7.57 - keep this last: overrides every legacy seven-column phone diary rule. */
@media(max-width:760px){
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-wrap{
    height:calc(100dvh - 270px)!important;min-height:430px!important;max-height:720px!important;
    overflow-x:hidden!important;overflow-y:auto!important;border-radius:12px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid{
    width:100%!important;min-width:0!important;max-width:100%!important;
    grid-template-columns:62px minmax(0,1fr)!important;grid-template-rows:62px!important;grid-auto-rows:62px!important;
    overflow:visible!important;background:#fff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-mobile-day-hidden{display:none!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-mobile-day-visible{grid-column:2!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-time-head{
    grid-column:1!important;min-height:62px!important;height:62px!important;font-size:11px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head.hlh-mobile-day-visible{
    display:flex!important;position:sticky!important;top:0!important;z-index:13!important;
    min-height:62px!important;height:62px!important;padding:7px 8px!important;flex-direction:row!important;
    align-items:center!important;justify-content:center!important;gap:6px!important;overflow:visible!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head.hlh-mobile-day-visible strong{font-size:14px!important;line-height:1.1!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head.hlh-mobile-day-visible span{display:block!important;margin:0!important;font-size:13px!important;line-height:1.1!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head.hlh-mobile-day-visible span::after{content:none!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-time{
    grid-column:1!important;min-height:62px!important;height:62px!important;padding:8px 7px 0 3px!important;
    align-items:flex-start!important;justify-content:flex-end!important;font-size:12px!important;text-align:right!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-time.hlh-half-hour{font-size:10px!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-cell.hlh-mobile-day-visible{
    display:block!important;width:auto!important;min-height:62px!important;height:62px!important;overflow:visible!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-add{
    display:flex!important;top:50%!important;right:10px!important;width:36px!important;min-width:36px!important;max-width:36px!important;
    height:36px!important;min-height:36px!important;max-height:36px!important;padding:0!important;border-radius:50%!important;
    align-items:center!important;justify-content:center!important;font-size:20px!important;transform:translateY(-50%)!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event-block.hlh-mobile-day-visible,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event.hlh-mobile-day-visible{
    display:flex!important;max-width:calc(100% - 12px)!important;margin:4px 6px!important;padding:0!important;
    border-radius:11px!important;box-shadow:0 5px 14px rgba(15,23,42,.18)!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link{
    display:flex!important;height:100%!important;padding:10px 46px 29px 12px!important;gap:3px!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link strong{
    display:block!important;font-size:16px!important;line-height:1.15!important;white-space:normal!important;
    overflow:visible!important;overflow-wrap:anywhere!important;text-overflow:clip!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link small,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link span,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link em{
    display:block!important;font-size:12.5px!important;line-height:1.2!important;white-space:normal!important;
    overflow:visible!important;overflow-wrap:anywhere!important;text-overflow:clip!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-full{display:block!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-mobile{display:none!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-card-title{
    display:block!important;font-size:12.5px!important;line-height:1.15!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-payment-strip{
    display:block!important;position:absolute!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;
    min-height:25px!important;height:25px!important;margin:0!important;padding:5px 9px!important;border-radius:0!important;
    box-sizing:border-box!important;font-size:12px!important;line-height:15px!important;text-align:center!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-diary-action-menu{display:block!important;top:8px!important;right:8px!important;z-index:15!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-diary-options-button{
    display:flex!important;width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important;
    padding:0!important;align-items:center!important;justify-content:center!important;border-radius:9px!important;font-size:20px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-current-time-marker.hlh-mobile-day-visible{display:block!important;grid-column:2!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-nav,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-page-nav{
    display:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-header-logout{
    display:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-instructor-menu-bar{
    display:flex!important;width:100%!important;margin:0 0 8px!important;padding:8px!important;box-sizing:border-box!important;
    align-items:center!important;gap:11px!important;border:1px solid #dfe4eb!important;border-radius:12px!important;
    background:#fff!important;box-shadow:0 2px 8px rgba(23,32,51,.06)!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-instructor-menu-bar>strong{
    color:#172033!important;font-size:21px!important;font-weight:900!important;line-height:1.1!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-dashboard-hero{
    display:block!important;position:relative!important;width:100%!important;margin:0 0 12px!important;padding:18px!important;
    border:0!important;border-radius:16px!important;background:linear-gradient(135deg,#173b63 0%,#1268c4 100%)!important;
    box-shadow:0 10px 24px rgba(18,104,196,.20)!important;color:#fff!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-dashboard-hero::after{
    content:""!important;position:absolute!important;width:120px!important;height:120px!important;right:-40px!important;top:-52px!important;
    border-radius:50%!important;background:rgba(255,255,255,.10)!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-dashboard-hero>span{
    display:block!important;margin:0 0 5px!important;color:#dbeafe!important;-webkit-text-fill-color:#dbeafe!important;
    font-size:12px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-dashboard-hero>h2{
    margin:0 0 5px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:25px!important;line-height:1.08!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-dashboard-hero>p{
    margin:0!important;color:#eaf3ff!important;-webkit-text-fill-color:#eaf3ff!important;font-size:14px!important;font-weight:700!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-stats.hlh-mobile-dashboard-cards{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;margin:0 0 12px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-stats.hlh-mobile-dashboard-cards>a{
    display:flex!important;position:relative!important;min-width:0!important;min-height:136px!important;margin:0!important;padding:16px 14px 13px!important;
    flex-direction:column!important;align-items:flex-start!important;border:1px solid #dfe4eb!important;border-radius:15px!important;
    background:#fff!important;background-image:none!important;box-shadow:0 7px 18px rgba(15,23,42,.08)!important;
    color:#172033!important;text-decoration:none!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-stats.hlh-mobile-dashboard-cards>a::before{
    content:""!important;position:absolute!important;top:0!important;left:0!important;right:0!important;height:5px!important;background:#1268c4!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-stats.hlh-mobile-dashboard-cards>a:nth-child(2)::before{background:#7c3aed!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-stats.hlh-mobile-dashboard-cards>a:nth-child(3)::before{background:#168653!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-stats.hlh-mobile-dashboard-cards>a:nth-child(4)::before{background:#b45309!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-stats.hlh-mobile-dashboard-cards>a>strong{
    display:block!important;margin:5px 0 8px!important;color:#172033!important;-webkit-text-fill-color:#172033!important;
    font-size:34px!important;font-weight:950!important;line-height:1!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-stats.hlh-mobile-dashboard-cards>a>span{
    display:block!important;margin:0!important;color:#344256!important;-webkit-text-fill-color:#344256!important;
    font-size:14px!important;font-weight:850!important;line-height:1.2!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-stats.hlh-mobile-dashboard-cards>a>small{
    display:flex!important;width:100%!important;margin:auto 0 0!important;padding-top:10px!important;align-items:center!important;justify-content:space-between!important;
    color:#5d687a!important;-webkit-text-fill-color:#5d687a!important;font-size:11px!important;font-weight:800!important;line-height:1!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-stats.hlh-mobile-dashboard-cards>a>small>b{
    color:#1268c4!important;-webkit-text-fill-color:#1268c4!important;font-size:16px!important;line-height:1!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-instructor-admin-message-alert{
    margin:0 0 10px!important;padding:14px!important;border-radius:14px!important;background:#fff!important;
    box-shadow:0 7px 18px rgba(15,23,42,.07)!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-diary-head{
    display:block!important;
    margin:0 0 8px!important;padding:12px!important;border-radius:12px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-diary-head .hlh-kicker,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-diary-desktop-title{display:none!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-diary-mobile-title{display:inline!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-diary-head h2{margin:0!important;font-size:25px!important;line-height:1.1!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-week-nav{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important;margin:10px 0 0!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-week-nav strong{
    display:block!important;grid-column:1 / -1!important;grid-row:1!important;width:100%!important;min-height:0!important;
    padding:0 2px 3px!important;border:0!important;background:transparent!important;color:#5d687a!important;font-size:13px!important;text-align:left!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-week-nav a{
    display:flex!important;min-width:0!important;min-height:42px!important;padding:8px 5px!important;align-items:center!important;justify-content:center!important;
    border:1px solid #cbd5e1!important;border-radius:9px!important;background:#fff!important;color:#173b63!important;-webkit-text-fill-color:#173b63!important;
    font-size:12.5px!important;line-height:1.1!important;text-align:center!important;white-space:nowrap!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-week-nav .hlh-diary-today-link{
    display:flex!important;background:#173b63!important;border-color:#173b63!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-diary-toolbar{
    display:block!important;width:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;
    border:0!important;background:transparent!important;box-shadow:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-diary-toolbar-nav{display:none!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-diary-add-event{
    position:fixed!important;z-index:2147482000!important;right:max(16px,env(safe-area-inset-right))!important;
    bottom:max(20px,calc(env(safe-area-inset-bottom) + 16px))!important;display:flex!important;width:68px!important;min-width:68px!important;max-width:68px!important;
    height:68px!important;min-height:68px!important;max-height:68px!important;margin:0!important;padding:0!important;align-items:center!important;justify-content:center!important;
    border:0!important;border-radius:50%!important;background:#0ea5e9!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
    box-shadow:0 10px 28px rgba(15,23,42,.34)!important;font-size:0!important;line-height:1!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-diary-add-event::before{
    content:"+"!important;color:#fff!important;font-size:52px!important;font-weight:300!important;line-height:.8!important;transform:translateY(-2px)!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-diary-days{
    display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important;width:100%!important;
    margin:0 0 8px!important;padding:7px!important;border:1px solid #dfe4eb!important;border-radius:12px!important;background:#fff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-diary-day{
    display:flex!important;min-width:0!important;width:100%!important;min-height:54px!important;height:54px!important;margin:0!important;padding:5px 1px!important;
    flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;border:1px solid transparent!important;
    border-radius:9px!important;background:#f6f8fb!important;color:#475569!important;-webkit-text-fill-color:#475569!important;box-shadow:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-diary-day span{color:inherit!important;font-size:10px!important;font-weight:800!important;line-height:1!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-diary-day strong{color:inherit!important;font-size:17px!important;font-weight:900!important;line-height:1!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-diary-day.is-selected{
    border-color:#136a9b!important;background:#136a9b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  }
}

/* v0.7.58 - final phone diary: show the complete seven-day week clearly. */
@media(max-width:760px){
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-diary-days{display:none!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-wrap{
    height:calc(100dvh - 210px)!important;min-height:470px!important;max-height:760px!important;
    overflow-x:hidden!important;overflow-y:auto!important;border-radius:10px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid{
    width:100%!important;min-width:0!important;max-width:100%!important;
    grid-template-columns:40px repeat(7,minmax(0,1fr))!important;grid-template-rows:54px!important;grid-auto-rows:56px!important;
    gap:0!important;overflow:visible!important;background:#fff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head[data-hlh-mobile-day-index],
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-cell[data-hlh-mobile-day-index],
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event-block[data-hlh-mobile-day-index],
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-current-time-marker[data-hlh-mobile-day-index]{display:flex!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head[data-hlh-mobile-day-index]{
    position:sticky!important;top:0!important;z-index:13!important;min-width:0!important;min-height:54px!important;height:54px!important;
    padding:5px 1px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;
    overflow:hidden!important;background:#26384f!important;color:#fff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head[data-hlh-mobile-day-index] strong{
    display:block!important;max-width:100%!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
    font-size:10px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head[data-hlh-mobile-day-index] span{
    display:block!important;max-width:100%!important;margin:0!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
    font-size:0!important;line-height:1!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head[data-hlh-mobile-day-index] span::after{
    content:attr(data-mobile-date)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:12px!important;font-weight:900!important;line-height:1!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-time-head{
    grid-column:1!important;min-height:54px!important;height:54px!important;padding:5px 1px!important;font-size:9px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-time{
    grid-column:1!important;min-width:0!important;min-height:56px!important;height:56px!important;padding:6px 2px 0!important;
    align-items:flex-start!important;justify-content:center!important;color:#334155!important;font-size:9px!important;font-weight:800!important;
    line-height:1!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-time.hlh-half-hour{font-size:0!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-cell[data-hlh-mobile-day-index]{
    min-width:0!important;width:auto!important;max-width:100%!important;min-height:56px!important;height:56px!important;
    padding:0!important;overflow:hidden!important;background:#fff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-cell.hlh-half-hour-cell[data-hlh-mobile-day-index]{background:#fbfdff!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-cell.hlh-slot-outside-hours[data-hlh-mobile-day-index]{background:#edf1f5!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-add{
    display:flex!important;top:2px!important;right:2px!important;width:18px!important;min-width:18px!important;max-width:18px!important;
    height:18px!important;min-height:18px!important;max-height:18px!important;padding:0!important;align-items:center!important;justify-content:center!important;
    border:1px solid #cbd5e1!important;border-radius:5px!important;background:#f1f5f9!important;color:#136a9b!important;-webkit-text-fill-color:#136a9b!important;
    font-size:12px!important;line-height:1!important;transform:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event-block[data-hlh-mobile-day-index],
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event[data-hlh-mobile-day-index]{
    min-width:0!important;max-width:calc(100% - 2px)!important;margin:1px!important;padding:0!important;border-radius:5px!important;
    box-shadow:0 2px 5px rgba(15,23,42,.18)!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link{
    display:flex!important;min-width:0!important;max-width:100%!important;height:100%!important;padding:5px 2px 16px!important;
    flex-direction:column!important;gap:2px!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link>strong{
    display:block!important;max-width:100%!important;margin:0!important;color:inherit!important;font-size:9.5px!important;
    font-weight:900!important;line-height:1.08!important;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;text-overflow:clip!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-name-desktop{display:none!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-name-mobile{
    display:block!important;max-width:100%!important;color:inherit!important;-webkit-text-fill-color:currentColor!important;
    font:inherit!important;line-height:inherit!important;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-full{display:none!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-mobile{
    display:flex!important;max-width:100%!important;margin:0!important;padding:0!important;flex-direction:column!important;gap:1px!important;
    color:inherit!important;font-size:8.5px!important;font-weight:900!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-mobile>span{
    display:block!important;max-width:100%!important;color:inherit!important;-webkit-text-fill-color:currentColor!important;
    font:inherit!important;line-height:inherit!important;white-space:nowrap!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-card-title,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link>em{display:none!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-payment-strip{
    display:block!important;position:absolute!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;
    min-height:14px!important;height:14px!important;margin:0!important;padding:2px 1px!important;border-radius:0!important;box-sizing:border-box!important;
    color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:8px!important;font-weight:900!important;line-height:10px!important;text-align:center!important;white-space:nowrap!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-diary-action-menu{
    display:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-diary-options-button{
    display:none!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;
    padding:0!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:5px!important;
    background:rgba(255,255,255,.92)!important;color:#172033!important;-webkit-text-fill-color:#172033!important;font-size:14px!important;line-height:1!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-diary-resize-handle{display:none!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-current-time-marker[data-hlh-mobile-day-index]{display:block!important}
}

/* v0.7.59 - keep last: exact requested seven-day phone diary. */
@media(max-width:760px){
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-week-nav,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-diary-days{display:none!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-diary-head{margin-bottom:8px!important;padding:10px 12px!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-wrap{
    height:calc(100dvh - 160px)!important;min-height:500px!important;max-height:none!important;
    touch-action:pan-y!important;overscroll-behavior-x:contain!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid{
    grid-template-columns:40px repeat(7,minmax(0,1fr))!important;grid-template-rows:54px!important;grid-auto-rows:56px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid [data-hlh-mobile-day-index]{display:flex!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head.hlh-calendar-today{
    background:#26384f!important;color:#fff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head.hlh-calendar-today strong{
    color:#8ec5ff!important;-webkit-text-fill-color:#8ec5ff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head.hlh-calendar-today span{
    display:flex!important;width:28px!important;height:28px!important;align-items:center!important;justify-content:center!important;
    border-radius:50%!important;background:#1268c4!important;overflow:visible!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-head.hlh-calendar-today span::after{
    color:#fff!important;-webkit-text-fill-color:#fff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-name-mobile{display:block!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-full{
    display:flex!important;max-width:100%!important;margin:0!important;padding:0!important;flex-direction:column!important;gap:1px!important;
    color:inherit!important;font-size:8.5px!important;font-weight:900!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-full>span{
    display:block!important;max-width:100%!important;color:inherit!important;-webkit-text-fill-color:currentColor!important;
    font:inherit!important;line-height:inherit!important;white-space:nowrap!important;overflow:hidden!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-full>.hlh-event-time-separator,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-event-time-mobile,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-card-title,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link>em{display:none!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-payment-strip{
    display:block!important;position:absolute!important;top:auto!important;left:0!important;right:0!important;bottom:0!important;
    width:100%!important;min-height:14px!important;height:14px!important;margin:0!important;padding:2px 1px!important;border-radius:0!important;
    color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:8px!important;font-weight:900!important;line-height:10px!important;text-align:center!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-payment-strip.paid{
    background:#16a34a!important;background-image:none!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-payment-strip.unpaid{
    background:#dc2626!important;background-image:none!important;
  }
}

/* v0.7.76 - server-rendered lesson editor used by both app and desktop. */
.hlh-instructor-portal .hlh-direct-lesson-editor{
  margin:0 0 18px!important;
  border:2px solid #2563eb!important;
  scroll-margin-top:16px;
}
.hlh-instructor-portal .hlh-direct-lesson-editor .hlh-portal-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.hlh-instructor-portal .hlh-direct-gap-editor{
  border-color:var(--hlh-diary-gap,#059669)!important;
}
.hlh-instructor-portal .hlh-direct-gap-editor [hidden]{display:none!important;}
.hlh-instructor-portal .hlh-direct-gap-delete{
  margin:16px 0 0!important;
  padding:14px 0 0!important;
  border-top:1px solid #e2e8f0!important;
}
.hlh-instructor-portal .hlh-direct-gap-delete .hlh-danger-link{
  border-color:#b91c1c!important;
  background:#fff!important;
  color:#b91c1c!important;
}
@media(max-width:760px){
  .hlh-instructor-portal .hlh-direct-lesson-editor .hlh-portal-section-head{display:grid;}
  .hlh-instructor-portal .hlh-direct-lesson-editor .hlh-portal-section-head>a{width:100%;}
  .hlh-instructor-portal .hlh-direct-gap-editor .hlh-form-actions,
  .hlh-instructor-portal .hlh-direct-gap-editor .hlh-form-actions>*{width:100%!important;}
  .hlh-instructor-portal .hlh-direct-gap-delete .hlh-danger-link{width:100%!important;}
}

/* v0.7.104 - record a lesson payment from the lesson editor. */
.hlh-instructor-portal .hlh-direct-lesson-payment{
  display:grid!important;
  gap:12px!important;
  margin:18px 0 0!important;
  padding:16px!important;
  border:1px solid #d7dee8!important;
  border-left:5px solid #dc2626!important;
  border-radius:12px!important;
  background:#f8fafc!important;
}
.hlh-instructor-portal .hlh-direct-lesson-payment.is-reported{border-left-color:#d97706!important;background:#fff8e7!important}
.hlh-instructor-portal .hlh-direct-lesson-payment.is-paid{border-left-color:#16a34a!important;background:#f0fdf4!important}
.hlh-instructor-portal .hlh-direct-lesson-payment-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.hlh-instructor-portal .hlh-direct-lesson-payment-heading h3{margin:0!important;font-size:18px!important}
.hlh-instructor-portal .hlh-direct-lesson-payment-heading .hlh-kicker{margin:0 0 3px!important}
.hlh-instructor-portal .hlh-direct-payment-status{
  display:inline-flex!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.15!important;
  text-align:center!important;
}
.hlh-instructor-portal .hlh-direct-mark-paid-form{
  display:grid!important;
  grid-template-columns:minmax(120px,.65fr) minmax(150px,.8fr) minmax(200px,1.5fr) auto!important;
  gap:10px!important;
  align-items:end!important;
}
.hlh-instructor-portal .hlh-direct-mark-paid-form label{display:grid!important;gap:5px!important;margin:0!important;font-weight:800!important}
.hlh-instructor-portal .hlh-direct-mark-paid-form :is(input,select){width:100%!important;min-height:42px!important}
.hlh-instructor-portal .hlh-direct-mark-paid-button{min-height:42px!important;white-space:nowrap!important}
.hlh-instructor-portal .hlh-direct-payment-confirmed{margin:0!important;color:#166534!important;font-weight:800!important}
.hlh-instructor-portal .hlh-direct-mark-unpaid-form{margin:0!important}
.hlh-instructor-portal .hlh-direct-mark-unpaid-button{
  min-height:40px!important;
  border-color:#b91c1c!important;
  background:#fff!important;
  color:#b91c1c!important;
  -webkit-text-fill-color:#b91c1c!important;
}
.hlh-instructor-portal .hlh-direct-mark-unpaid-button:hover,
.hlh-instructor-portal .hlh-direct-mark-unpaid-button:focus{
  background:#b91c1c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
@media(max-width:760px){
  .hlh-instructor-portal .hlh-direct-lesson-payment{padding:14px!important}
  .hlh-instructor-portal .hlh-direct-lesson-payment-heading{align-items:flex-start!important;flex-direction:column!important}
  .hlh-instructor-portal .hlh-direct-mark-paid-form{grid-template-columns:1fr!important}
  .hlh-instructor-portal .hlh-direct-mark-paid-button{width:100%!important;white-space:normal!important}
  .hlh-instructor-portal .hlh-direct-mark-unpaid-button{width:100%!important}
}

/* v0.7.80 - viewable and exportable instructor pupil reports. */
.hlh-report-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin:16px 0;
}
.hlh-report-summary-card{padding:18px!important;display:grid;gap:5px;}
.hlh-report-summary-card span{color:#64748b;font-size:13px;font-weight:700;}
.hlh-report-summary-card strong{color:#0f172a;font-size:25px;line-height:1.1;}
.hlh-report-table-card{margin-top:16px;}
.hlh-report-status-pills{margin:16px 0!important;}
.hlh-report-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;}
.hlh-report-table{min-width:1050px;}
.hlh-report-table th,.hlh-report-table td{vertical-align:top!important;line-height:1.45;}
.hlh-report-table td small{color:#64748b;}
.hlh-report-privacy-note{margin:16px 0 0!important;}
.hlh-report-heading h1,.hlh-report-heading h2{margin-top:0;}
@media(max-width:980px){
  .hlh-report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  .hlh-report-summary-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .hlh-report-summary-card{padding:14px!important;}
  .hlh-report-summary-card strong{font-size:21px;}
  .hlh-report-table-card .hlh-portal-section-head{display:grid!important;}
  .hlh-report-table-card .hlh-portal-section-head>a{width:100%;}
}

/* v0.7.91 - a small visual inset keeps neighbouring diary entries distinct. */
@media(min-width:761px){
  html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block,
  html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event{
    width:calc(100% - 4px)!important;
    height:calc(100% - 4px)!important;
    margin:2px!important;
    border-radius:5px!important;
  }
  html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link{
    padding:5px 6px!important;
  }
}
@media(max-width:760px){
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event-block[data-hlh-mobile-day-index],
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event[data-hlh-mobile-day-index]{
    max-width:calc(100% - 4px)!important;
    height:calc(var(--hlh-mobile-event-height,56px) - 4px)!important;
    margin:2px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-event-detail-link{
    padding-left:3px!important;
    padding-right:3px!important;
  }
}

/* v0.7.94 - lesson colours follow status; editing no longer changes colour. */
html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block.hlh-event-lesson{
  background:var(--hlh-diary-lesson,#2563eb)!important;
  background-image:none!important;
  border-color:var(--hlh-diary-lesson,#2563eb)!important;
  color:var(--hlh-diary-lesson-text,#fff)!important;
}
html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block.hlh-event-lesson.hlh-event-status-completed{
  background:var(--hlh-diary-completed,#15803d)!important;
  background-image:none!important;
  border-color:var(--hlh-diary-completed,#15803d)!important;
  color:var(--hlh-diary-completed-text,#fff)!important;
}
html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block.hlh-event-lesson.hlh-event-status-cancelled{
  background:var(--hlh-diary-cancelled,#dc2626)!important;
  border-color:var(--hlh-diary-cancelled,#dc2626)!important;
  color:var(--hlh-diary-cancelled-text,#fff)!important;
  opacity:.88!important;
}
html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block.hlh-event-lesson:is(.hlh-event-status-completed,.hlh-event-status-cancelled) :is(.hlh-event-detail-link,strong,small,em){
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}
html body main.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block.hlh-event-status-cancelled .hlh-diary-resize-handle{
  display:none!important;
}

/* v0.7.103 - compact phone diary with separate, unobstructed week arrows. */
.hlh-mobile-week-arrows{display:none!important}
@media(max-width:760px){
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-week-arrows{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    gap:10px!important;
    width:100%!important;
    margin:0 0 8px!important;
    padding:4px 8px!important;
    align-items:center!important;
    border:1px solid #dfe4eb!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(23,32,51,.05)!important;
    box-sizing:border-box!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-week-arrows>strong{
    display:block!important;
    min-width:0!important;
    color:#334155!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-week-arrow{
    position:static!important;
    z-index:auto!important;
    display:flex!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    border:2px solid #173b63!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#173b63!important;
    -webkit-text-fill-color:#173b63!important;
    box-shadow:none!important;
    font-size:20px!important;
    font-weight:900!important;
    line-height:1!important;
    text-decoration:none!important;
    pointer-events:auto!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-week-arrow-next{justify-self:end!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-mobile-week-arrow:active{
    background:#173b63!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-wrap{
    height:calc(100dvh - 210px)!important;
    min-height:440px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid{
    grid-auto-rows:48px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-time,
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-cell[data-hlh-mobile-day-index]{
    min-height:48px!important;
    height:48px!important;
  }
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event-block[data-hlh-mobile-day-index],
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-portal-calendar-grid .hlh-calendar-event[data-hlh-mobile-day-index]{
    height:calc(var(--hlh-mobile-event-height,48px) - 4px)!important;
  }
}

/* v0.7.96 - informative, professional Instructor App dashboard. */
html body main.hlh-instructor-portal .hlh-dashboard-overview{
  display:flex!important;
  width:100%!important;
  min-height:150px!important;
  margin:0 0 14px!important;
  padding:25px 28px!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  border:1px solid #173b63!important;
  border-radius:16px!important;
  background:linear-gradient(125deg,#102e50 0%,#173b63 58%,#285b8f 100%)!important;
  box-shadow:0 14px 32px rgba(16,46,80,.18)!important;
  color:#fff!important;
  overflow:hidden!important;
}
html body main.hlh-instructor-portal .hlh-dashboard-overview>div:first-child{position:relative;z-index:1}
html body main.hlh-instructor-portal .hlh-dashboard-overview>div:first-child>span{
  display:block!important;margin:0 0 6px!important;color:#b9d8f8!important;-webkit-text-fill-color:#b9d8f8!important;
  font-size:12px!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important;
}
html body main.hlh-instructor-portal .hlh-dashboard-overview h2{
  margin:0 0 7px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  font-size:clamp(27px,3vw,43px)!important;line-height:1.05!important;letter-spacing:-.035em!important;
}
html body main.hlh-instructor-portal .hlh-dashboard-overview p{
  margin:0!important;color:#dbeafe!important;-webkit-text-fill-color:#dbeafe!important;font-size:15px!important;font-weight:700!important;
}
.hlh-dashboard-hero-pulse{display:flex!important;position:relative;z-index:1;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.hlh-dashboard-hero-pulse>span{
  display:flex!important;min-height:54px!important;padding:10px 14px!important;align-items:center!important;gap:8px!important;
  border:1px solid rgba(255,255,255,.24)!important;border-radius:11px!important;background:rgba(255,255,255,.1)!important;
  color:#edf6ff!important;-webkit-text-fill-color:#edf6ff!important;font-size:13px!important;font-weight:750!important;
}
.hlh-dashboard-hero-pulse strong{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:23px!important;line-height:1!important}

html body main.hlh-instructor-portal .hlh-dashboard-stat-grid{
  display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:11px!important;width:100%!important;margin:0 0 14px!important;
}
html body main.hlh-instructor-portal .hlh-dashboard-stat-grid>a.hlh-dashboard-stat-card{
  --hlh-stat-colour:#1774bd;
  display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;
  min-width:0!important;min-height:138px!important;margin:0!important;padding:17px 15px 14px!important;align-items:start!important;gap:8px 11px!important;
  border:1px solid #dbe3ed!important;border-top:4px solid var(--hlh-stat-colour)!important;border-radius:12px!important;
  background:#fff!important;background-image:none!important;box-shadow:0 6px 18px rgba(15,23,42,.06)!important;color:#172033!important;text-decoration:none!important;
}
.hlh-dashboard-stat-grid>a.hlh-dashboard-stat-waiting{--hlh-stat-colour:#d19a00}
.hlh-dashboard-stat-grid>a.hlh-dashboard-stat-payments{--hlh-stat-colour:#dc3d54}
.hlh-dashboard-stat-grid>a.hlh-dashboard-stat-tests{--hlh-stat-colour:#7656d8}
.hlh-dashboard-stat-grid>a.hlh-dashboard-stat-diary{--hlh-stat-colour:#168653}
.hlh-dashboard-stat-grid>a.hlh-dashboard-stat-enquiries{--hlh-stat-colour:#cf4c93}
.hlh-dashboard-stat-card .hlh-dashboard-stat-icon{
  display:flex!important;grid-column:1!important;grid-row:1!important;width:42px!important;height:42px!important;margin:0!important;
  align-items:center!important;justify-content:center!important;border-radius:11px!important;background:color-mix(in srgb,var(--hlh-stat-colour) 12%,#fff)!important;
  color:var(--hlh-stat-colour)!important;-webkit-text-fill-color:var(--hlh-stat-colour)!important;font-size:17px!important;font-weight:950!important;
}
.hlh-dashboard-stat-card>div{grid-column:2!important;grid-row:1!important;min-width:0!important}
.hlh-dashboard-stat-card>div>strong{display:block!important;margin:0 0 4px!important;color:#172033!important;font-size:29px!important;line-height:1!important}
.hlh-dashboard-stat-card>div>span{display:block!important;margin:0!important;color:#475569!important;font-size:13px!important;font-weight:800!important;line-height:1.2!important}
html body main.hlh-instructor-portal .hlh-dashboard-stat-card>small{
  display:flex!important;grid-column:1 / -1!important;grid-row:2!important;width:100%!important;margin:auto 0 0!important;padding-top:8px!important;
  align-items:end!important;justify-content:space-between!important;color:#64748b!important;-webkit-text-fill-color:#64748b!important;font-size:11px!important;font-weight:750!important;
}
.hlh-dashboard-stat-card>small>b{color:var(--hlh-stat-colour)!important;-webkit-text-fill-color:var(--hlh-stat-colour)!important;font-size:16px!important}
.hlh-dashboard-stat-card:hover{transform:translateY(-2px)!important;box-shadow:0 10px 24px rgba(15,23,42,.1)!important}

.hlh-dashboard-main-grid,.hlh-dashboard-lower-grid{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(310px,.8fr)!important;gap:14px!important;width:100%!important}
.hlh-dashboard-main-grid>.hlh-card,.hlh-dashboard-lower-grid>.hlh-card{margin:0 0 14px!important}
.hlh-dashboard-panel-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin:0 0 12px!important}
.hlh-dashboard-panel-head .hlh-kicker{margin:0 0 3px!important;color:#64748b!important;font-size:11px!important}
.hlh-dashboard-panel-head h3{margin:0!important;font-size:20px!important}
.hlh-dashboard-panel-head>a{display:inline-flex!important;min-height:34px!important;padding:7px 10px!important;align-items:center!important;border-radius:8px!important;background:#eef4fa!important;color:#173b63!important;text-decoration:none!important;font-size:12px!important;font-weight:850!important}

.hlh-dashboard-schedule-list,.hlh-dashboard-attention-list,.hlh-dashboard-upcoming-list{display:grid!important;gap:7px!important}
.hlh-dashboard-schedule-row{
  --hlh-event-colour:#1774bd;display:grid!important;grid-template-columns:62px minmax(0,1fr) 18px!important;gap:12px!important;min-height:62px!important;
  padding:9px 11px!important;align-items:center!important;border:1px solid #e2e8f0!important;border-left:4px solid var(--hlh-event-colour)!important;border-radius:9px!important;
  background:#fbfdff!important;color:#172033!important;text-decoration:none!important;
}
.hlh-dashboard-event-gap{--hlh-event-colour:#168653}.hlh-dashboard-event-time_away{--hlh-event-colour:#64748b}
.hlh-dashboard-schedule-row>time{display:grid!important;color:#173b63!important;font-size:16px!important;font-weight:900!important;line-height:1.05!important}
.hlh-dashboard-schedule-row>time>small{display:block!important;margin-top:4px!important;color:#64748b!important;font-size:11px!important;font-weight:750!important}
.hlh-dashboard-schedule-row>span{display:grid!important;gap:3px!important;min-width:0!important}
.hlh-dashboard-schedule-row>span>strong{color:#172033!important;font-size:14px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.hlh-dashboard-schedule-row>span>small{display:block!important;color:#64748b!important;font-size:11px!important}
.hlh-dashboard-schedule-row>b,.hlh-dashboard-upcoming-list>a>b{color:#94a3b8!important;font-size:21px!important}
.hlh-dashboard-empty{display:grid!important;min-height:125px!important;padding:20px!important;place-items:center!important;align-content:center!important;border:1px dashed #cbd5e1!important;border-radius:10px!important;background:#f8fafc!important;text-align:center!important}
.hlh-dashboard-empty>span{display:flex!important;width:34px!important;height:34px!important;margin-bottom:7px!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;background:#dcfce7!important;color:#15803d!important;font-weight:900!important}
.hlh-dashboard-empty strong{color:#334155!important}.hlh-dashboard-empty p{margin:4px 0 0!important;color:#64748b!important;font-size:12px!important}

.hlh-dashboard-attention-row{display:grid!important;grid-template-columns:30px minmax(0,1fr) auto!important;gap:10px!important;min-height:51px!important;padding:9px 10px!important;align-items:center!important;border:1px solid #e2e8f0!important;border-radius:9px!important;background:#fff!important;color:#334155!important;text-decoration:none!important}
.hlh-dashboard-attention-row>span{display:flex!important;width:28px!important;height:28px!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;font-size:13px!important;font-weight:950!important}
.hlh-dashboard-attention-row>strong{font-size:12.5px!important;line-height:1.2!important}.hlh-dashboard-attention-row>b{display:flex!important;min-width:27px!important;height:27px!important;padding:0 7px!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;font-size:12px!important}
.hlh-dashboard-attention-row.needs-action{border-color:#fed7aa!important;background:#fffaf2!important}.hlh-dashboard-attention-row.needs-action>span,.hlh-dashboard-attention-row.needs-action>b{background:#ffedd5!important;color:#b45309!important}
.hlh-dashboard-attention-row.is-clear>span,.hlh-dashboard-attention-row.is-clear>b{background:#dcfce7!important;color:#15803d!important}

.hlh-dashboard-performance{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;width:100%!important;margin:0!important}
.hlh-dashboard-progress-card{--hlh-progress-colour:#1774bd;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px 16px!important;min-height:155px!important;margin:0 0 14px!important;padding:18px!important}
.hlh-dashboard-progress-card.hlh-progress-completed{--hlh-progress-colour:#21a366}.hlh-dashboard-progress-card.hlh-progress-cancelled{--hlh-progress-colour:#e34257}
.hlh-dashboard-progress-card>div:first-child{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;grid-column:1 / -1!important}
.hlh-dashboard-progress-card h3{margin:0!important;font-size:17px!important}.hlh-dashboard-progress-card>div:first-child>small{padding:4px 8px!important;border-radius:999px!important;background:#f1f5f9!important;color:#64748b!important;font-size:10px!important;font-weight:800!important}
.hlh-dashboard-progress-card>strong{color:#172033!important;font-size:31px!important;line-height:1!important}.hlh-dashboard-progress-card>span{align-self:center!important;color:#64748b!important;font-size:12px!important;text-align:right!important}
.hlh-dashboard-progress-track{grid-column:1 / -1!important;height:8px!important;margin-top:5px!important;border-radius:999px!important;background:#e9eef4!important;overflow:hidden!important}
.hlh-dashboard-progress-track>i{display:block!important;height:100%!important;border-radius:inherit!important;background:var(--hlh-progress-colour)!important}

.hlh-dashboard-upcoming-list>a{display:grid!important;grid-template-columns:64px minmax(0,1fr) 18px!important;gap:11px!important;min-height:59px!important;padding:8px 10px!important;align-items:center!important;border:1px solid #e2e8f0!important;border-radius:9px!important;background:#fff!important;color:#172033!important;text-decoration:none!important}
.hlh-dashboard-upcoming-list>a>time{display:grid!important;place-items:center!important;align-content:center!important;min-height:42px!important;border-radius:8px!important;background:#eef4fa!important;color:#173b63!important;text-align:center!important}
.hlh-dashboard-upcoming-list>a>time>strong{font-size:11px!important;text-transform:uppercase!important}.hlh-dashboard-upcoming-list>a>time>span{font-size:12px!important;font-weight:850!important}
.hlh-dashboard-upcoming-list>a>span{display:grid!important;gap:3px!important;min-width:0!important}.hlh-dashboard-upcoming-list>a>span>strong{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:13px!important}.hlh-dashboard-upcoming-list>a>span>small{display:block!important;color:#64748b!important;font-size:11px!important}
.hlh-dashboard-quick-actions>div:last-child{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
.hlh-dashboard-quick-actions>div:last-child>a{display:flex!important;min-height:61px!important;padding:10px!important;align-items:center!important;gap:9px!important;border:1px solid #dbe3ed!important;border-radius:9px!important;background:#f8fafc!important;color:#173b63!important;text-decoration:none!important}
.hlh-dashboard-quick-actions>div:last-child>a>span{display:flex!important;width:31px!important;height:31px!important;flex:0 0 31px!important;align-items:center!important;justify-content:center!important;border-radius:8px!important;background:#173b63!important;color:#fff!important;font-size:12px!important;font-weight:900!important}
.hlh-dashboard-quick-actions>div:last-child>a>strong{font-size:12px!important;line-height:1.15!important}

.hlh-student-access-history{margin:14px 0!important;padding-top:12px!important;border-top:1px solid #e2e8f0!important}
.hlh-student-access-history>div{align-items:flex-start!important}
.hlh-student-access-history strong{text-align:right!important}

@media(max-width:1350px){
  html body main.hlh-instructor-portal .hlh-dashboard-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .hlh-dashboard-main-grid,.hlh-dashboard-lower-grid{grid-template-columns:1fr!important}
  .hlh-dashboard-performance{grid-template-columns:1fr!important}
  .hlh-dashboard-performance>.hlh-card{margin-bottom:0!important}
  .hlh-dashboard-performance>.hlh-card:last-child{margin-bottom:14px!important}
  html body main.hlh-instructor-portal .hlh-dashboard-overview{align-items:flex-start!important;flex-direction:column!important}
  .hlh-dashboard-hero-pulse{justify-content:flex-start!important}
}
@media(max-width:760px){
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-dashboard-overview{display:flex!important;min-height:0!important;padding:19px!important;gap:16px!important;border-radius:14px!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-dashboard-overview h2{font-size:27px!important}
  .hlh-dashboard-hero-pulse{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
  .hlh-dashboard-hero-pulse>span{display:grid!important;min-height:61px!important;gap:3px!important;padding:9px 10px!important;font-size:11px!important}
  .hlh-dashboard-hero-pulse strong{font-size:21px!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  html body main.hlh-instructor-portal.hlh-instructor-mobile-ready .hlh-dashboard-stat-grid>a.hlh-dashboard-stat-card{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;min-height:127px!important;padding:14px 12px 11px!important;gap:8px!important;border-radius:11px!important}
  .hlh-dashboard-stat-card .hlh-dashboard-stat-icon{width:36px!important;height:36px!important;font-size:14px!important}
  .hlh-dashboard-stat-card>div>strong{font-size:26px!important}.hlh-dashboard-stat-card>div>span{font-size:12px!important}
  html body main.hlh-instructor-portal .hlh-dashboard-stat-card>small{display:flex!important;font-size:10px!important}
  .hlh-dashboard-main-grid,.hlh-dashboard-lower-grid{gap:0!important}
  .hlh-dashboard-schedule-row{grid-template-columns:54px minmax(0,1fr) 14px!important;gap:9px!important}
  .hlh-dashboard-performance{gap:10px!important}
  .hlh-dashboard-progress-card{min-height:142px!important}
}
@media(max-width:430px){
  html body main.hlh-instructor-portal .hlh-dashboard-overview{padding:16px!important}
  html body main.hlh-instructor-portal .hlh-dashboard-overview h2{font-size:24px!important}
  .hlh-dashboard-quick-actions>div:last-child{grid-template-columns:1fr!important}
}
