.hlh-public{font-family:var(--hlh-font,Arial,Helvetica,sans-serif);font-size:var(--hlh-size,16px);color:#1f2937}.hlh-public *{box-sizing:border-box}.hlh-mobile-app{max-width:1180px;margin:0 auto;padding:10px 0 34px}.hlh-app-hero{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:20px;align-items:end;padding:42px 34px;border-radius:30px;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.2),transparent 28%),linear-gradient(135deg,#111827 0%,var(--hlh-accent,#6f42c1) 45%,var(--hlh-brand,#e83e8c) 100%);color:#fff;box-shadow:0 18px 50px rgba(17,24,39,.18);margin:0 0 18px;overflow:hidden}.hlh-app-hero h2{font-size:clamp(30px,4vw,54px);line-height:1.05;margin:8px 0 12px;color:#fff}.hlh-app-hero p{max-width:780px;font-size:1.05em;color:rgba(255,255,255,.92)}.hlh-public-kicker{text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:.8em!important;color:#ffd6ea!important;margin:0}.hlh-app-status-card{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:22px;padding:18px;backdrop-filter:blur(10px)}.hlh-app-status-card span,.hlh-app-label{display:block;text-transform:uppercase;letter-spacing:.07em;font-weight:900;font-size:.75em;color:#6b7280;margin-bottom:6px}.hlh-app-status-card span{color:#ffd6ea}.hlh-app-status-card strong{display:block;color:#fff;font-size:1.2em}.hlh-app-tabs{position:sticky;top:0;z-index:5;display:flex;gap:10px;overflow-x:auto;padding:8px 0 16px;background:linear-gradient(to bottom,rgba(255,255,255,.98),rgba(255,255,255,.9))}.hlh-app-tabs a{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border-radius:999px;background:#fff;border:1px solid #e5e7eb;color:#111827;text-decoration:none;font-weight:900;box-shadow:0 8px 22px rgba(17,24,39,.06)}.hlh-app-tabs a:hover,.hlh-app-tabs a:focus{outline:3px solid rgba(232,62,140,.22);outline-offset:2px;border-color:var(--hlh-brand,#e83e8c)}.hlh-app-next-card,.hlh-public-note,.hlh-app-checklist,.hlh-public-resource-grid article,.hlh-app-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 10px 32px rgba(17,24,39,.06)}.hlh-app-next-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px;margin:0 0 18px}.hlh-app-next-card h3,.hlh-app-card h3,.hlh-app-checklist h3,.hlh-public-note h3,.hlh-public-resources h3{margin:0 0 8px;color:#111827}.hlh-app-next-card p,.hlh-app-card p,.hlh-public-note p,.hlh-public-resource-grid p{margin:0;color:#4b5563;line-height:1.55}.hlh-app-next-card button{border:0;border-radius:999px;min-height:44px;padding:0 18px;background:#e5e7eb;color:#6b7280;font-weight:900}.hlh-app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:18px 0}.hlh-app-card{padding:22px;min-height:210px}.hlh-app-icon{width:46px;height:46px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;background:linear-gradient(135deg,var(--hlh-brand,#e83e8c),var(--hlh-accent,#6f42c1));color:#fff;font-weight:900;font-size:1.3em}.hlh-app-checklist{padding:24px;margin:18px 0}.hlh-app-checklist ul{margin:12px 0 0;padding:0;list-style:none}.hlh-app-checklist li{position:relative;padding:12px 0 12px 34px;border-top:1px solid #eef2f7;color:#374151}.hlh-app-checklist li:before{content:'✓';position:absolute;left:0;top:11px;width:24px;height:24px;border-radius:50%;background:rgba(232,62,140,.1);color:var(--hlh-brand,#e83e8c);display:flex;align-items:center;justify-content:center;font-weight:900}.hlh-public-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:14px 0 22px}.hlh-public-resource-grid article{padding:22px}.hlh-public-resource-grid strong{display:block;margin-bottom:8px;color:#111827;font-size:1.05em}.hlh-public-resource-grid a{display:inline-flex;margin-top:14px;min-height:44px;align-items:center;justify-content:center;padding:0 16px;border-radius:14px;background:var(--hlh-brand,#e83e8c);color:#fff;text-decoration:none;font-weight:900}.hlh-public-resource-grid a:hover,.hlh-public-resource-grid a:focus{filter:brightness(.92);outline:3px solid rgba(232,62,140,.25);outline-offset:2px}.hlh-public-note{padding:22px;margin-top:18px}@media(max-width:1000px){.hlh-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hlh-app-hero{grid-template-columns:1fr}.hlh-app-status-card{max-width:360px}}@media(max-width:640px){.hlh-mobile-app{padding:0 0 28px}.hlh-app-hero{margin:0 -2px 12px;padding:30px 20px 24px;border-radius:0 0 28px 28px;min-height:310px;align-items:end}.hlh-app-hero h2{font-size:2.2em}.hlh-app-tabs{margin:0 -2px;padding:8px 10px 14px}.hlh-app-next-card{display:block;margin:0 0 14px;padding:20px;border-radius:22px}.hlh-app-next-card button{width:100%;margin-top:16px}.hlh-app-grid,.hlh-public-resource-grid{grid-template-columns:1fr;gap:14px}.hlh-app-card{min-height:auto;padding:20px}.hlh-app-checklist,.hlh-public-note,.hlh-public-resource-grid article{padding:20px;border-radius:22px}.hlh-app-status-card{display:none}}@media(max-width:380px){.hlh-app-hero h2{font-size:1.9em}.hlh-app-tabs a{padding:0 13px}}


/* v0.3.3 cleaner rectangular rounded buttons */
.hlh-public-wrap button,
.hlh-public-wrap .hlh-mobile-btn,
.hlh-learner-button,
.hlh-public-wrap input[type="submit"],
.hlh-public-wrap input[type="button"] {
    border-radius: 10px !important;
}

/* v0.6.80 - one continuous learner/instructor message thread */
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history,
html body .hlh-public .hlh-student-sms-history{
  display:grid!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:10px 11px!important;
  border:1px solid #e2e8f0!important;
  border-radius:18px!important;
  background:#fff!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history>.hlh-chat-message-group,
html body .hlh-public .hlh-student-sms-history>.hlh-chat-message-group{
  position:static!important;
  display:grid!important;
  gap:8px!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
  transition:none!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history>.hlh-chat-message-group+.hlh-chat-message-group,
html body .hlh-public .hlh-student-sms-history>.hlh-chat-message-group+.hlh-chat-message-group{
  padding-top:2px!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history>.hlh-chat-announcement,
html body .hlh-public .hlh-student-sms-history>.hlh-chat-announcement{
  position:relative!important;
  width:calc(100% - 8px)!important;
  max-width:620px!important;
  margin:5px auto!important;
  padding:10px 12px!important;
  border:1px solid #dbe3ed!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  box-shadow:none!important;
  transform:none!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history>.hlh-chat-announcement>strong,
html body .hlh-public .hlh-student-sms-history>.hlh-chat-announcement>strong{
  display:block!important;
  margin:0 0 4px!important;
  color:#475569!important;
  font-size:.75rem!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history>.hlh-chat-announcement>p,
html body .hlh-public .hlh-student-sms-history>.hlh-chat-announcement>p{
  margin:0!important;
}

/* v0.6.45 student lesson changes, cancellations and instructor request review */
.hlh-student-lesson-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;align-items:center}
.hlh-student-lesson-actions .hlh-lesson-action-button{width:auto!important;min-height:40px!important;margin:0!important;padding:9px 14px!important;border-radius:12px!important;font-size:14px!important;font-weight:800!important;line-height:1.25!important;cursor:pointer}
.hlh-student-lesson-actions .hlh-lesson-action-button.is-change{background:#f3efff!important;color:#513092!important;border:1px solid #d8cafd!important}
.hlh-student-lesson-actions .hlh-lesson-action-button.is-cancel{background:#fff1f2!important;color:#9f1239!important;border:1px solid #fecdd3!important}
.hlh-lesson-request-pending{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid #fde68a;border-radius:999px;background:#fffbeb;color:#92400e;font-size:13px;font-weight:850}
.hlh-student-lesson-dialog{width:min(94vw,560px);max-height:90vh;margin:auto;padding:0;border:0;border-radius:22px;background:transparent;color:#1f2937;overflow:visible}
.hlh-student-lesson-dialog::backdrop{background:rgba(15,23,42,.68);backdrop-filter:blur(3px)}
.hlh-student-lesson-dialog-card{position:relative;max-height:88vh;padding:25px;border:1px solid #eadfea;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.28);overflow:auto}
.hlh-student-lesson-dialog-card h3{margin:5px 42px 8px 0!important;color:#20233b!important;font-size:24px!important;line-height:1.18!important}
.hlh-student-lesson-dialog-card>p{color:#4b5563!important}
.hlh-student-lesson-dialog-close{position:absolute;top:14px;right:14px;width:38px!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0!important;border:1px solid #e5e7eb!important;border-radius:50%!important;background:#f8fafc!important;color:#374151!important;font-size:25px!important;line-height:34px!important}
.hlh-student-lesson-dialog-card textarea{width:100%;box-sizing:border-box}
.hlh-cancellation-conditions{margin:16px 0;padding:16px;border-left:4px solid #e83e8c;border-radius:12px;background:#fff7fb;color:#31243a;font-weight:650;line-height:1.55}
.hlh-cancellation-notice,.hlh-cancellation-payment-note{padding:11px 13px;border-radius:11px;background:#f8fafc;color:#374151!important;font-size:14px}
.hlh-cancellation-confirm{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:15px 0!important;padding:13px!important;border:1px solid #e5e7eb!important;border-radius:12px!important;background:#fff!important;font-weight:750!important}
.hlh-cancellation-confirm input{flex:0 0 auto;margin-top:3px!important}
.hlh-student-lesson-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:16px}
.hlh-student-lesson-dialog-actions .hlh-button{width:auto!important;margin:0!important}
.hlh-student-lesson-dialog-actions .hlh-button-danger{background:#b4233d!important;color:#fff!important;border-color:#b4233d!important}
.hlh-student-lesson-request-history{margin-top:16px!important}
.hlh-student-lesson-request-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:10px 0;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.hlh-student-lesson-request-row>div{display:flex;flex-direction:column;gap:2px}
.hlh-student-lesson-request-row>div span{color:#6b7280;font-size:13px}
.hlh-student-lesson-request-row mark{align-self:start;padding:5px 9px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:850}
.hlh-student-lesson-request-row.is-handled mark{background:#dcfce7;color:#166534}
.hlh-student-lesson-request-row.is-declined mark{background:#fee2e2;color:#991b1b}
.hlh-student-lesson-request-row>p{grid-column:1/-1;margin:2px 0!important;color:#374151!important}
.hlh-lesson-change-settings{display:grid;gap:18px}
.hlh-lesson-change-setting-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hlh-lesson-requests-panel .hlh-admin-message-heading{align-items:flex-start}
.hlh-lesson-request-list{display:grid;gap:14px;margin-top:16px}
.hlh-lesson-request-card{padding:17px;border:1px solid #e5e7eb;border-left:5px solid #c4b5fd;border-radius:16px;background:#fff}
.hlh-lesson-request-card.is-pending{border-left-color:#f59e0b;background:#fffdf5}
.hlh-lesson-request-card.is-handled{border-left-color:#22c55e}
.hlh-lesson-request-card.is-declined{border-left-color:#ef4444}
.hlh-lesson-request-card header{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:10px}
.hlh-lesson-request-card header h3{margin:3px 0 0!important;color:#1f2937!important}
.hlh-lesson-request-card header mark{padding:6px 10px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:900}
.hlh-lesson-request-message{margin:13px 0;padding:13px;border-radius:12px;background:#f8fafc}
.hlh-lesson-request-message p{margin:5px 0 0!important}
.hlh-lesson-request-decision-form{margin-top:14px;padding-top:14px;border-top:1px solid #e5e7eb}
.hlh-lesson-request-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:10px}
.hlh-lesson-request-actions .hlh-button{width:auto!important;margin:0!important}
.hlh-lesson-request-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:14px 0 0!important;padding-top:12px;border-top:1px solid #e5e7eb}
.hlh-lesson-request-alert{border-color:#fbbf24!important;background:#fffbeb!important}

@media (max-width:640px){
  .hlh-student-lesson-actions{display:grid;grid-template-columns:1fr 1fr}
  .hlh-student-lesson-actions .hlh-lesson-action-button,.hlh-student-lesson-actions .hlh-lesson-request-pending{width:100%!important;justify-content:center;text-align:center}
  .hlh-student-lesson-dialog-card{padding:21px 17px}
  .hlh-student-lesson-dialog-actions{display:grid;grid-template-columns:1fr}
  .hlh-student-lesson-dialog-actions .hlh-button{width:100%!important}
  .hlh-lesson-change-setting-toggles{grid-template-columns:1fr}
  .hlh-lesson-request-actions{display:grid;grid-template-columns:1fr}
  .hlh-lesson-request-actions .hlh-button{width:100%!important;text-align:center}
  .hlh-lesson-request-footer{align-items:flex-start;flex-direction:column}
}

/* v0.5.14 - simple per-instructor Stripe Payment Links */
.hlh-payment-settings-panel{margin:0 0 22px;padding:16px;border:1px solid #e6eaf0;border-radius:18px;background:#f8fafc;}
.hlh-payment-master-toggle{display:flex!important;align-items:center!important;gap:12px!important;padding:14px!important;border:1px solid #e2e8f0!important;border-radius:15px!important;background:#fff!important;cursor:pointer;}
.hlh-payment-master-toggle input{width:22px!important;height:22px!important;flex:0 0 auto!important;}
.hlh-payment-master-toggle span{display:grid!important;gap:3px!important;}
.hlh-payment-master-toggle strong{color:#111827!important;font-size:16px!important;}
.hlh-payment-master-toggle small{color:#64748b!important;font-weight:600!important;}
.hlh-payment-link-fields{margin-top:14px;}
.hlh-payment-link-fields[hidden]{display:none!important;}
.hlh-payment-setup-note{display:grid;gap:4px;margin-bottom:14px;padding:12px 14px;border-radius:13px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;}
.hlh-payment-setup-note span{font-size:13px;line-height:1.45;}
@media(max-width:640px){.hlh-payment-settings-panel{padding:12px}.hlh-payment-master-toggle{align-items:flex-start!important;}}

/* v0.3.15 mobile student app */
.hlh-student-login-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 10px 32px rgba(17,24,39,.06);padding:24px;margin:18px 0}.hlh-student-login-card h3{margin:0 0 8px;color:#111827}.hlh-student-login-card p{color:#4b5563}.hlh-student-login-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:12px;align-items:end}.hlh-student-login-form label{font-weight:900;color:#374151}.hlh-student-login-form input,.hlh-gap-card input{width:100%;min-height:46px;border:1px solid #d1d5db;border-radius:12px;padding:0 12px;margin-top:6px;font-size:16px}.hlh-student-login-form button,.hlh-gap-card button{min-height:46px;border:0;border-radius:12px;background:var(--hlh-brand,#e83e8c);color:#fff;font-weight:900;padding:0 16px;cursor:pointer}.hlh-app-alert{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;border-radius:16px;padding:14px 16px;margin:0 0 14px;font-weight:800}.hlh-student-hero{margin-bottom:14px}.hlh-student-summary-grid .hlh-app-card{min-height:auto}.hlh-student-summary-grid .hlh-app-card p strong{font-size:1.55em;color:#111827}.hlh-gap-list{display:grid;gap:12px;margin-top:16px}.hlh-gap-card{border:1px solid #e5e7eb;border-radius:18px;padding:16px;background:#f9fafb}.hlh-gap-card strong,.hlh-gap-card span{display:block}.hlh-gap-card span{color:#4b5563;margin:4px 0 10px}.hlh-gap-card form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.hlh-student-progress-list{display:grid;gap:10px;margin-top:12px}.hlh-student-progress-list div{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#f9fafb}.hlh-student-progress-list span{font-weight:800;color:#374151}.hlh-student-progress-list strong{color:var(--hlh-brand,#e83e8c)}.hlh-student-note{border-top:1px solid #e5e7eb;padding:14px 0}.hlh-student-note:first-of-type{border-top:0}.hlh-student-note strong{display:block;color:#111827;margin-bottom:6px}.hlh-student-note p{margin:6px 0!important}.hlh-student-note b{color:#111827}.hlh-public .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:720px){.hlh-student-login-form{grid-template-columns:1fr}.hlh-student-login-form button,.hlh-gap-card button{width:100%}.hlh-gap-card form{grid-template-columns:1fr}.hlh-student-summary-grid{grid-template-columns:1fr 1fr}}@media(max-width:440px){.hlh-student-summary-grid{grid-template-columns:1fr}.hlh-app-card .hlh-app-icon{width:40px;height:40px;border-radius:12px}.hlh-gap-card{padding:14px}}


/* v0.3.16 flexible mobile layout fixes */
.hlh-public,
.hlh-public * {
    min-width: 0;
}
.hlh-public img,
.hlh-public video,
.hlh-public iframe {
    max-width: 100%;
    height: auto;
}
.hlh-mobile-app,
.hlh-public-wrap,
.hlh-student-login-card,
.hlh-app-card,
.hlh-app-next-card,
.hlh-public-note,
.hlh-public-resource-grid article,
.hlh-gap-card {
    max-width: 100%;
    overflow-wrap: anywhere;
}
.hlh-app-tabs {
    max-width: 100%;
    scrollbar-width: thin;
}
.hlh-app-tabs a {
    white-space: nowrap;
    flex: 0 0 auto;
}
.hlh-app-next-card > *,
.hlh-app-card > *,
.hlh-gap-card > *,
.hlh-student-note > * {
    max-width: 100%;
}
.hlh-student-login-form,
.hlh-gap-card form {
    max-width: 100%;
}
.hlh-student-login-form input,
.hlh-gap-card input,
.hlh-student-login-form button,
.hlh-gap-card button {
    min-width: 0;
    max-width: 100%;
}
.hlh-student-progress-list div {
    flex-wrap: wrap;
}
.hlh-student-progress-list span,
.hlh-student-progress-list strong {
    min-width: 0;
    overflow-wrap: anywhere;
}
@media(max-width:900px){
    .hlh-mobile-app{padding-left:12px;padding-right:12px;}
    .hlh-app-hero{grid-template-columns:minmax(0,1fr);}
    .hlh-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .hlh-public-resource-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
    .hlh-mobile-app{width:100%;padding-left:10px;padding-right:10px;}
    .hlh-app-hero{width:auto;margin-left:-10px;margin-right:-10px;}
    .hlh-app-hero h2{font-size:clamp(1.85rem,9vw,2.25rem);overflow-wrap:break-word;}
    .hlh-app-hero p{font-size:1rem;}
    .hlh-app-tabs{width:auto;margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px;}
    .hlh-app-tabs a{min-height:42px;padding:0 12px;border-radius:12px;font-size:.94rem;}
    .hlh-app-grid,
    .hlh-student-summary-grid,
    .hlh-public-resource-grid{grid-template-columns:1fr!important;}
    .hlh-app-next-card{display:grid;grid-template-columns:1fr;gap:12px;}
    .hlh-app-next-card button,
    .hlh-public-resource-grid a,
    .hlh-student-login-form button,
    .hlh-gap-card button{width:100%;}
    .hlh-student-login-card,
    .hlh-app-card,
    .hlh-app-checklist,
    .hlh-public-note,
    .hlh-gap-card{border-radius:18px;padding:16px;}
}
@media(max-width:360px){
    .hlh-mobile-app{padding-left:8px;padding-right:8px;}
    .hlh-app-tabs a{font-size:.88rem;padding:0 10px;}
    .hlh-app-card p,
    .hlh-public-note p,
    .hlh-student-note p{font-size:.95rem;}
}

/* v0.3.20 student mobile collapsible sections */
.hlh-app-section-buttons{position:sticky;top:0;z-index:6;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 0 14px;background:linear-gradient(to bottom,rgba(255,255,255,.98),rgba(255,255,255,.92));}
.hlh-app-section-buttons a{min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 12px;border-radius:14px;border:1px solid #e5e7eb;background:#fff;color:#111827;text-decoration:none;font-weight:900;box-shadow:0 8px 22px rgba(17,24,39,.06);}
.hlh-app-section-buttons a:hover,.hlh-app-section-buttons a:focus{outline:3px solid rgba(232,62,140,.22);outline-offset:2px;border-color:var(--hlh-brand,#e83e8c);}
.hlh-mobile-section{margin:12px 0;border:1px solid #e5e7eb;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(17,24,39,.06);overflow:hidden;}
.hlh-mobile-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:16px 18px;background:linear-gradient(135deg,rgba(232,62,140,.08),rgba(111,66,193,.08));color:#111827;font-weight:900;}
.hlh-mobile-section>summary::-webkit-details-marker{display:none;}
.hlh-mobile-section>summary:after{content:'+';flex:0 0 auto;width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;color:var(--hlh-brand,#e83e8c);font-size:1.35em;line-height:1;}
.hlh-mobile-section[open]>summary:after{content:'–';}
.hlh-mobile-section>summary span{display:block;font-size:1.03em;}
.hlh-mobile-section>summary em{display:block;margin-left:auto;font-style:normal;font-size:.78em;color:#6b7280;font-weight:800;text-align:right;}
.hlh-mobile-section-body{padding:0 16px 16px;}
.hlh-mobile-section .hlh-app-next-card,
.hlh-mobile-section .hlh-public-note,
.hlh-mobile-section .hlh-app-grid,
.hlh-mobile-section .hlh-public-resource-grid{margin-top:14px;margin-bottom:0;}
.hlh-section-next>summary{background:linear-gradient(135deg,rgba(232,62,140,.14),rgba(111,66,193,.12));}
@media(max-width:720px){.hlh-app-section-buttons{grid-template-columns:repeat(2,minmax(0,1fr));}.hlh-app-section-buttons a{font-size:.94rem;border-radius:12px;}}
@media(max-width:440px){.hlh-app-section-buttons{grid-template-columns:1fr;position:relative;}.hlh-mobile-section{border-radius:16px;margin:10px 0;}.hlh-mobile-section>summary{padding:14px;align-items:flex-start;}.hlh-mobile-section>summary em{font-size:.73em;}.hlh-mobile-section-body{padding:0 12px 12px;}}

/* v0.3.22 student next lesson grey visibility patch */
.hlh-section-next > summary {
    background: #f3f4f6 !important;
    color: #111827 !important;
    border-bottom: 1px solid #e5e7eb;
}
.hlh-section-next > summary:after {
    background: #ffffff !important;
    border-color: #d1d5db !important;
    color: #374151 !important;
}
.hlh-section-next .hlh-mobile-section-body {
    background: #f9fafb;
}
.hlh-section-next .hlh-app-next-card {
    background: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
    box-shadow: none !important;
}
.hlh-section-next .hlh-app-next-card h3 {
    color: #111827 !important;
}
.hlh-section-next .hlh-app-next-card p,
.hlh-section-next .hlh-app-label {
    color: #374151 !important;
}
.hlh-section-next .hlh-app-next-card button {
    background: #d1d5db !important;
    color: #374151 !important;
    border-radius: 10px !important;
}
.hlh-section-next .hlh-upcoming-lessons {
    background: #f3f4f6 !important;
    border-color: #d1d5db !important;
    box-shadow: none !important;
}
.hlh-section-next .hlh-student-note {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 12px;
    margin-top: 10px;
}


/* v0.3.24 hard contrast / visibility repair
   Purpose: stop white or pale text disappearing on the student mobile app. */
.hlh-public,
.hlh-public .hlh-mobile-app,
.hlh-public .hlh-student-login-card,
.hlh-public .hlh-mobile-section,
.hlh-public .hlh-mobile-section-body,
.hlh-public .hlh-app-card,
.hlh-public .hlh-app-next-card,
.hlh-public .hlh-public-note,
.hlh-public .hlh-app-checklist,
.hlh-public .hlh-public-resource-grid article,
.hlh-public .hlh-gap-card,
.hlh-public .hlh-student-note,
.hlh-public .hlh-student-progress-list div {
    color: #111827 !important;
}
.hlh-public .hlh-app-card p,
.hlh-public .hlh-app-next-card p,
.hlh-public .hlh-public-note p,
.hlh-public .hlh-public-resource-grid p,
.hlh-public .hlh-gap-card span,
.hlh-public .hlh-student-note p,
.hlh-public .hlh-app-label,
.hlh-public small,
.hlh-public em,
.hlh-public label {
    color: #374151 !important;
}
.hlh-public h1,
.hlh-public h2,
.hlh-public h3,
.hlh-public h4,
.hlh-public strong,
.hlh-public b,
.hlh-public .hlh-mobile-section > summary span,
.hlh-public .hlh-student-progress-list span {
    color: #111827 !important;
}
/* Preserve intentionally dark hero and icon areas */
.hlh-public .hlh-app-hero,
.hlh-public .hlh-app-hero *,
.hlh-public .hlh-app-status-card,
.hlh-public .hlh-app-status-card *,
.hlh-public .hlh-app-icon,
.hlh-public .hlh-app-icon * {
    color: #ffffff !important;
}
/* Collapsible headers must remain readable on light backgrounds */
.hlh-public .hlh-mobile-section > summary {
    color: #111827 !important;
    background: #f3f4f6 !important;
    border-bottom: 1px solid #e5e7eb;
}
.hlh-public .hlh-mobile-section > summary em {
    color: #4b5563 !important;
}
.hlh-public .hlh-mobile-section > summary:after {
    color: #111827 !important;
    background: #ffffff !important;
    border-color: #d1d5db !important;
}
/* Top section buttons */
.hlh-public .hlh-app-section-buttons a,
.hlh-public .hlh-app-tabs a {
    color: #111827 !important;
    background: #ffffff !important;
}
/* Primary action buttons/links */
.hlh-public button,
.hlh-public input[type="submit"],
.hlh-public .hlh-mobile-btn,
.hlh-public .hlh-learner-button,
.hlh-public .hlh-public-resource-grid a,
.hlh-public .hlh-gap-card button,
.hlh-public .hlh-student-login-form button {
    color: #ffffff !important;
}
.hlh-public input,
.hlh-public select,
.hlh-public textarea {
    color: #111827 !important;
    background: #ffffff !important;
}
.hlh-public input::placeholder,
.hlh-public textarea::placeholder { color: #6b7280 !important; }
/* Alerts keep clear readable colours */
.hlh-public .hlh-app-alert,
.hlh-public .hlh-app-alert * {
    color: #065f46 !important;
}
/* Empty states should never fade into the background */
.hlh-public .hlh-empty,
.hlh-public .hlh-muted,
.hlh-public .description {
    color: #374151 !important;
}

/* v0.3.25 student mobile hard text visibility fix
   Make every normal text element inside the student/mobile learner app dark by default,
   then only keep true dark-brand panels and action buttons light. */
.hlh-public .hlh-mobile-app,
.hlh-public .hlh-mobile-app *:not(button):not(input[type="submit"]):not(.hlh-app-hero):not(.hlh-app-hero *):not(.hlh-app-icon):not(.hlh-app-icon *):not(.hlh-public-resource-grid a) {
    color: #111827 !important;
    text-shadow: none !important;
}

.hlh-public .hlh-mobile-section,
.hlh-public .hlh-mobile-section *,
.hlh-public .hlh-app-card,
.hlh-public .hlh-app-card *,
.hlh-public .hlh-app-next-card,
.hlh-public .hlh-app-next-card *,
.hlh-public .hlh-public-note,
.hlh-public .hlh-public-note *,
.hlh-public .hlh-gap-card,
.hlh-public .hlh-gap-card *,
.hlh-public .hlh-student-note,
.hlh-public .hlh-student-note *,
.hlh-public .hlh-student-progress-list,
.hlh-public .hlh-student-progress-list * {
    color: #111827 !important;
    text-shadow: none !important;
}

.hlh-public .hlh-mobile-section h1,
.hlh-public .hlh-mobile-section h2,
.hlh-public .hlh-mobile-section h3,
.hlh-public .hlh-mobile-section h4,
.hlh-public .hlh-mobile-section summary,
.hlh-public .hlh-mobile-section summary span,
.hlh-public .hlh-mobile-section strong,
.hlh-public .hlh-mobile-section b,
.hlh-public .hlh-app-card h1,
.hlh-public .hlh-app-card h2,
.hlh-public .hlh-app-card h3,
.hlh-public .hlh-app-card h4,
.hlh-public .hlh-app-next-card h1,
.hlh-public .hlh-app-next-card h2,
.hlh-public .hlh-app-next-card h3,
.hlh-public .hlh-app-next-card h4,
.hlh-public .hlh-public-note h1,
.hlh-public .hlh-public-note h2,
.hlh-public .hlh-public-note h3,
.hlh-public .hlh-public-note h4 {
    color: #111827 !important;
}

.hlh-public .hlh-mobile-section p,
.hlh-public .hlh-mobile-section span,
.hlh-public .hlh-mobile-section em,
.hlh-public .hlh-mobile-section small,
.hlh-public .hlh-mobile-section label,
.hlh-public .hlh-app-card p,
.hlh-public .hlh-app-card span,
.hlh-public .hlh-app-card em,
.hlh-public .hlh-app-label,
.hlh-public .hlh-muted {
    color: #374151 !important;
}

/* Keep the top hero readable if it uses the dark Horizon gradient. */
.hlh-public .hlh-app-hero,
.hlh-public .hlh-app-hero h1,
.hlh-public .hlh-app-hero h2,
.hlh-public .hlh-app-hero h3,
.hlh-public .hlh-app-hero p,
.hlh-public .hlh-app-hero span,
.hlh-public .hlh-app-hero strong,
.hlh-public .hlh-app-status-card,
.hlh-public .hlh-app-status-card * {
    color: #ffffff !important;
}
.hlh-public .hlh-public-kicker {
    color: #ffd6ea !important;
}

/* Keep icon and action controls readable. */
.hlh-public .hlh-app-icon,
.hlh-public .hlh-app-icon * {
    color: #ffffff !important;
}
.hlh-public button,
.hlh-public input[type="submit"],
.hlh-public .hlh-mobile-btn,
.hlh-public .hlh-learner-button,
.hlh-public .hlh-gap-card button,
.hlh-public .hlh-student-login-form button,
.hlh-public .hlh-public-resource-grid a {
    color: #ffffff !important;
    text-shadow: none !important;
}
.hlh-public .hlh-section-next .hlh-app-next-card button {
    color: #111827 !important;
}

/* Form fields must always be readable on phones. */
.hlh-public input,
.hlh-public select,
.hlh-public textarea,
.hlh-public option {
    color: #111827 !important;
    background: #ffffff !important;
}

/* v0.3.27 student lesson check-in */
.hlh-mobile-app .hlh-student-checkin-form {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #d7dbe7;
    border-radius: 14px;
    background: #f4f5f8;
    display: grid;
    gap: 10px;
}
.hlh-mobile-app .hlh-student-checkin-form input[type="text"] {
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    border: 1px solid #c6ccd8;
    border-radius: 10px;
    padding: 10px 12px;
    color: #1f2937 !important;
    background: #ffffff !important;
}
.hlh-mobile-app .hlh-student-checkin-form button {
    width: 100%;
    min-height: 46px;
    border: 0;
    border-radius: 10px;
    padding: 12px 14px;
    background: #3b2a52;
    color: #ffffff !important;
    font-weight: 800;
    cursor: pointer;
}
.hlh-mobile-app .hlh-student-checkin-confirmed,
.hlh-mobile-app .hlh-student-checkin-wait {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 12px;
    font-weight: 800;
    line-height: 1.35;
}
.hlh-mobile-app .hlh-student-checkin-confirmed {
    background: #eef8f0;
    border: 1px solid #b9e3c1;
    color: #14532d !important;
}
.hlh-mobile-app .hlh-student-checkin-wait {
    background: #f4f5f8;
    border: 1px solid #d7dbe7;
    color: #374151 !important;
}

/* v0.3.28 notification opt-in panel */
.hlh-public .hlh-notification-panel,
.hlh-notification-panel {
  margin: 14px 0;
  padding: 14px;
  border: 1px solid #d7dce8;
  border-radius: 14px;
  background: #f4f5f8;
  color: #1f2937;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}
.hlh-notification-panel h3,
.hlh-notification-panel p {
  color: #1f2937 !important;
  margin-top: 0;
}
.hlh-notification-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.hlh-notification-actions button {
  min-height: 42px;
  border-radius: 10px;
  border: 0;
  padding: 10px 13px;
  background: #4b2354;
  color: #ffffff !important;
  font-weight: 700;
}
.hlh-notification-actions button.hlh-test-push {
  background: #ffffff;
  color: #2d2438 !important;
  border: 1px solid #cfd4df;
}
.hlh-notification-actions button:disabled {
  opacity: .7;
}
.hlh-push-status {
  margin: 10px 0 0;
  font-size: 0.92rem;
  color: #374151 !important;
}
.hlh-push-status.is-good {
  color: #166534 !important;
}
@media (max-width: 520px) {
  .hlh-notification-actions button { width: 100%; }
}

/* v0.3.35: make student notifications impossible to miss */
.hlh-public .hlh-section-notifications,
.hlh-mobile-app .hlh-section-notifications {
  display: block !important;
  background: #ffffff !important;
  border: 2px solid #d946ef !important;
  box-shadow: 0 12px 30px rgba(85, 32, 110, 0.12) !important;
}
.hlh-public .hlh-section-notifications > summary,
.hlh-mobile-app .hlh-section-notifications > summary {
  background: linear-gradient(135deg, #fff7fd, #f5f3ff) !important;
  color: #24142f !important;
  border-bottom: 1px solid #ead7f4 !important;
}
.hlh-public .hlh-section-notifications > summary span,
.hlh-mobile-app .hlh-section-notifications > summary span,
.hlh-public .hlh-section-notifications > summary em,
.hlh-mobile-app .hlh-section-notifications > summary em {
  color: #24142f !important;
  opacity: 1 !important;
}
.hlh-public .hlh-student-notification-panel,
.hlh-mobile-app .hlh-student-notification-panel,
.hlh-public .hlh-notification-panel,
.hlh-mobile-app .hlh-notification-panel {
  display: block !important;
  background: #ffffff !important;
  color: #24142f !important;
  border: 1px solid #ead7f4 !important;
  border-radius: 18px !important;
  padding: 16px !important;
}
.hlh-public .hlh-notification-panel h3,
.hlh-mobile-app .hlh-notification-panel h3 {
  color: #24142f !important;
  margin: 0 0 6px !important;
  font-size: 1.05rem !important;
}
.hlh-public .hlh-notification-panel p,
.hlh-mobile-app .hlh-notification-panel p,
.hlh-public .hlh-notification-help,
.hlh-mobile-app .hlh-notification-help,
.hlh-public .hlh-push-status,
.hlh-mobile-app .hlh-push-status {
  color: #3f3150 !important;
  opacity: 1 !important;
}
.hlh-public .hlh-notification-actions,
.hlh-mobile-app .hlh-notification-actions {
  display: grid !important;
  gap: 10px !important;
  margin-top: 12px !important;
}
.hlh-public .hlh-notification-actions button,
.hlh-mobile-app .hlh-notification-actions button {
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
}
.hlh-public .hlh-notification-actions .hlh-enable-push,
.hlh-mobile-app .hlh-notification-actions .hlh-enable-push {
  background: linear-gradient(135deg, #7c3aed, #d946ef) !important;
  color: #ffffff !important;
  border: 0 !important;
}
.hlh-public .hlh-notification-actions .hlh-test-push,
.hlh-mobile-app .hlh-notification-actions .hlh-test-push {
  background: #ffffff !important;
  color: #5b2170 !important;
  border: 2px solid #d946ef !important;
}

/* v0.3.39 message visibility/delivery helpers */
.hlh-latest-message-alert,
.hlh-section-messages,
.hlh-student-message-card {
  color: #1f2937 !important;
}
.hlh-latest-message-alert {
  background: #fff7fb !important;
  border: 2px solid #e83e8c !important;
  border-radius: 14px !important;
  padding: 14px !important;
  margin: 14px 0 !important;
}
.hlh-latest-message-alert strong,
.hlh-latest-message-alert p,
.hlh-latest-message-alert a,
.hlh-section-messages summary span,
.hlh-section-messages summary em,
.hlh-section-messages h3,
.hlh-student-message-card strong,
.hlh-student-message-card p {
  color: #1f2937 !important;
}
.hlh-message-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  min-height: 22px;
  padding: 2px 7px;
  margin-left: 5px;
  border-radius: 999px;
  background: #e83e8c !important;
  color: #fff !important;
  font-size: 12px;
  font-weight: 800;
}

/* v0.3.40 message read badge tidy */
.hlh-message-count[hidden],
.hlh-messages-read .hlh-message-count {
  display: none !important;
}
.hlh-message-read-hint {
  margin: 0.75rem 0 0;
  color: #475569 !important;
  font-size: 0.9rem;
}
.hlh-section-messages:not(.hlh-messages-read) summary .hlh-message-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.4rem;
  height: 1.4rem;
  margin-left: 0.35rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: #e83e8c !important;
  color: #ffffff !important;
  font-weight: 800;
  font-size: 0.8rem;
}

/* v0.3.41 student mobile polish: fading status, collapsed menu, slimmer header */
.hlh-public .hlh-app-alert,
.hlh-mobile-app .hlh-app-alert {
  background: #f0fdf4 !important;
  border: 2px solid #22c55e !important;
  color: #14532d !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  margin: 10px 0 12px !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 22px rgba(20, 83, 45, 0.12) !important;
  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-public .hlh-app-alert.is-fading,
.hlh-mobile-app .hlh-app-alert.is-fading {
  opacity: 0 !important;
  transform: translateY(-6px) !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;
}

.hlh-mobile-menu {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(17,24,39,.07) !important;
  margin: 0 0 12px !important;
  overflow: hidden !important;
}
.hlh-mobile-menu > summary {
  list-style: none !important;
  cursor: pointer !important;
  min-height: 50px !important;
  padding: 12px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #fff7fb, #f8f5ff) !important;
  color: #111827 !important;
  font-weight: 900 !important;
}
.hlh-mobile-menu > summary::-webkit-details-marker { display: none !important; }
.hlh-mobile-menu > summary span { color: #111827 !important; font-weight: 900 !important; }
.hlh-mobile-menu > summary em { color: #6b21a8 !important; font-style: normal !important; font-size: .86rem !important; font-weight: 800 !important; }
.hlh-mobile-menu[open] > summary { border-bottom: 1px solid #f3e8ff !important; }
.hlh-mobile-menu .hlh-app-section-buttons {
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 8px !important;
  padding: 12px !important;
  background: #ffffff !important;
  overflow: visible !important;
  box-shadow: none !important;
}
.hlh-mobile-menu .hlh-app-section-buttons a {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  white-space: normal !important;
  text-align: center !important;
}

.hlh-public .hlh-student-hero,
.hlh-mobile-app .hlh-student-hero {
  min-height: 0 !important;
  padding: 24px 24px !important;
  align-items: center !important;
}
.hlh-public .hlh-student-hero h2,
.hlh-mobile-app .hlh-student-hero h2 {
  font-size: clamp(1.75rem, 6vw, 2.6rem) !important;
  margin: 4px 0 8px !important;
}
.hlh-public .hlh-student-hero p:not(.hlh-public-kicker),
.hlh-mobile-app .hlh-student-hero p:not(.hlh-public-kicker) {
  margin: 0 !important;
  font-size: .98rem !important;
  line-height: 1.35 !important;
}

@media (max-width: 640px) {
  .hlh-public .hlh-student-hero,
  .hlh-mobile-app .hlh-student-hero {
    margin: 0 -2px 10px !important;
    padding: 18px 16px 16px !important;
    border-radius: 0 0 20px 20px !important;
  }
  .hlh-public .hlh-student-hero h2,
  .hlh-mobile-app .hlh-student-hero h2 {
    font-size: 1.75rem !important;
    line-height: 1.1 !important;
  }
  .hlh-public .hlh-student-hero .hlh-public-kicker,
  .hlh-mobile-app .hlh-student-hero .hlh-public-kicker {
    font-size: .72rem !important;
    margin-bottom: 2px !important;
  }
  .hlh-mobile-menu { margin: 0 0 10px !important; border-radius: 14px !important; }
  .hlh-mobile-menu .hlh-app-section-buttons { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 380px) {
  .hlh-mobile-menu .hlh-app-section-buttons { grid-template-columns: 1fr !important; }
}


/* v0.3.43 student messages: swipe left to remove read messages */
.hlh-mobile-app .hlh-student-message-card {
  position: relative !important;
  overflow: hidden !important;
  transition: transform .2s ease, opacity .2s ease, max-height .25s ease, margin .25s ease, padding .25s ease !important;
  padding-right: 1rem !important;
}
.hlh-mobile-app .hlh-student-message-card.is-swipe-open {
  transform: translateX(-88px) !important;
}
.hlh-mobile-app .hlh-student-message-card.is-removing {
  opacity: 0 !important;
  max-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.hlh-mobile-app .hlh-message-remove-action {
  position: absolute !important;
  top: 0 !important;
  right: -88px !important;
  width: 82px !important;
  height: 100% !important;
  min-height: 100% !important;
  border: 0 !important;
  border-radius: 0 14px 14px 0 !important;
  background: #dc2626 !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  font-size: 0.9rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}
.hlh-mobile-app .hlh-student-message-card:not(.is-read) .hlh-message-remove-action {
  opacity: .45 !important;
  pointer-events: none !important;
}
.hlh-mobile-app .hlh-swipe-help,
.hlh-mobile-app [data-hlh-message-empty] {
  color: #475569 !important;
  font-size: 0.9rem !important;
}


/* v0.3.44 message remove button fix: visible tap button after read */
.hlh-mobile-app .hlh-student-message-card {
  transform: none !important;
  padding-right: 0 !important;
}
.hlh-mobile-app .hlh-student-message-card.is-swipe-open {
  transform: none !important;
}
.hlh-mobile-app .hlh-message-remove-action {
  position: static !important;
  right: auto !important;
  top: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 40px !important;
  margin-top: 10px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  background: #dc2626 !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 6px 16px rgba(220,38,38,.18) !important;
}
.hlh-mobile-app .hlh-student-message-card.is-read .hlh-message-remove-action,
.hlh-mobile-app .hlh-messages-read .hlh-student-message-card .hlh-message-remove-action {
  display: inline-flex !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.hlh-mobile-app .hlh-student-message-card:not(.is-read) .hlh-message-remove-action {
  display: none !important;
}
.hlh-mobile-app .hlh-swipe-help::before {
  content: "" !important;
}

/* v0.3.45 manual refresh button for Home Screen student app */
.hlh-student-refresh-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#f9fafb;
  color:#374151;
  box-shadow:0 8px 22px rgba(17,24,39,.04);
}
.hlh-student-refresh-bar span{
  color:#4b5563!important;
  font-size:13px;
  line-height:1.25;
}
.hlh-student-refresh-button{
  min-height:40px;
  padding:0 14px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,var(--hlh-brand,#e83e8c),var(--hlh-accent,#7c3aed));
  color:#fff!important;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(232,62,140,.22);
}
.hlh-student-refresh-button:disabled{
  opacity:.72;
  cursor:wait;
}
@media(max-width:520px){
  .hlh-student-refresh-bar{align-items:flex-start;flex-direction:column;}
  .hlh-student-refresh-button{width:100%;}
}

/* v0.3.49 public enquiry page */
.hlh-enquiry-public{max-width:920px;margin:0 auto;padding:18px;font-family:var(--hlh-font,inherit);font-size:var(--hlh-size,16px);color:#1f2937}.hlh-enquiry-public *{box-sizing:border-box}.hlh-enquiry-hero{margin-bottom:16px}.hlh-enquiry-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 12px 30px rgba(31,41,55,.08)}.hlh-public-enquiry-form{display:grid;gap:14px}.hlh-public-enquiry-form label{display:grid;gap:7px;color:#1f2937;font-weight:700}.hlh-public-enquiry-form input,.hlh-public-enquiry-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px 13px;background:#fff;color:#111827;font:inherit;min-height:46px}.hlh-public-enquiry-form textarea{min-height:96px;resize:vertical}.hlh-public-enquiry-form input::placeholder,.hlh-public-enquiry-form textarea::placeholder{color:#64748b}.hlh-public-enquiry-form button{border:0;border-radius:12px;padding:13px 16px;background:linear-gradient(135deg,var(--hlh-brand,#d9368b),var(--hlh-accent,#6d5dfc));color:#fff;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(109,93,252,.22)}.hlh-enquiry-success{background:#ecfdf5!important;color:#065f46!important;border:1px solid #34d399}.hlh-enquiry-error{background:#fef2f2!important;color:#991b1b!important;border:1px solid #fca5a5}@media (min-width:720px){.hlh-public-enquiry-form{grid-template-columns:1fr 1fr}.hlh-public-enquiry-form label:nth-child(5),.hlh-public-enquiry-form label:nth-child(6),.hlh-public-enquiry-form label:nth-child(8),.hlh-public-enquiry-form button{grid-column:1/-1}}

/* v0.3.50 public enquiry fallback page */
.hlh-enquiry-direct-page { margin: 0; background: #f7f4fb; }
.hlh-enquiry-direct-wrap { max-width: 920px; margin: 0 auto; padding: 16px; }
.hlh-enquiry-public { width: 100%; box-sizing: border-box; }
.hlh-public-enquiry-form label { display: block; color: #1f2937 !important; font-weight: 700; margin: 0 0 14px; }
.hlh-public-enquiry-form input,
.hlh-public-enquiry-form textarea { width: 100%; box-sizing: border-box; color: #111827 !important; background: #fff !important; border: 1px solid #cbd5e1; border-radius: 12px; padding: 12px; font-size: 16px; }
.hlh-public-enquiry-form button { width: 100%; margin-top: 6px; }
.hlh-public-enquiry-form button:disabled { opacity: .78; cursor: wait; filter: saturate(.82); }
@media (max-width: 640px) { .hlh-enquiry-direct-wrap { padding: 10px; } }

/* v0.5.19 configurable enquiry select fields */
.hlh-public-enquiry-form select{width:100%;box-sizing:border-box;color:#111827!important;background:#fff!important;border:1px solid #cbd5e1;border-radius:12px;padding:12px 13px;font:inherit;min-height:46px}

/* v0.5.20 grouped enquiry form */
.hlh-enquiry-group-contact,.hlh-enquiry-group-driving{grid-column:span 1!important}
.hlh-field-help{display:block;margin-top:2px;color:#64748b;font-size:12px;font-weight:500;line-height:1.4}
@media(max-width:720px){
    .hlh-enquiry-group,.hlh-enquiry-group-contact,.hlh-enquiry-group-driving,.hlh-enquiry-group-availability,.hlh-enquiry-group-test,.hlh-enquiry-group-other{grid-column:1!important}
    .hlh-enquiry-field-wide{grid-column:1!important}
}

/* v0.3.51 student mobile: separate section pages */
.hlh-mobile-app .hlh-student-hero-slim {
    padding: 16px !important;
    margin-bottom: 10px !important;
}
.hlh-mobile-app .hlh-student-hero-slim h2 {
    font-size: clamp(1.45rem, 6vw, 2rem) !important;
    margin: 2px 0 4px !important;
}
.hlh-mobile-app .hlh-student-hero-slim p {
    margin: 0 !important;
}
.hlh-mobile-app .hlh-student-page-nav {
    margin: 10px 0 12px !important;
}
.hlh-mobile-app .hlh-back-button,
.hlh-mobile-app .hlh-section-open-button,
.hlh-mobile-app .hlh-student-home-grid a,
.hlh-mobile-app .hlh-latest-message-alert a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    border-radius: 13px !important;
    text-decoration: none !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
}
.hlh-mobile-app .hlh-back-button {
    width: 100% !important;
    min-height: 58px !important;
    padding: 10px 18px !important;
    background: linear-gradient(135deg, var(--hlh-brand, #e83e8c), var(--hlh-accent, #8b5cf6)) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    border-radius: 17px !important;
    box-shadow: 0 11px 25px rgba(91, 43, 134, .24) !important;
    font-size: 16px !important;
    letter-spacing: .01em !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
.hlh-mobile-app .hlh-back-button:hover,
.hlh-mobile-app .hlh-back-button:focus-visible {
    color: #ffffff !important;
    filter: brightness(1.04) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 30px rgba(91, 43, 134, .31) !important;
}
.hlh-mobile-app .hlh-back-button:focus-visible {
    outline: 3px solid rgba(139, 92, 246, .28) !important;
    outline-offset: 3px !important;
}
.hlh-mobile-app .hlh-back-button:active {
    transform: translateY(0) scale(.99) !important;
}
.hlh-mobile-app .hlh-back-button-icon {
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    margin-left: -5px !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, .18) !important;
    border: 1px solid rgba(255, 255, 255, .25) !important;
    font-size: 21px !important;
    line-height: 1 !important;
}
.hlh-mobile-app .hlh-home-next-card {
    display: grid !important;
    gap: 12px !important;
}
.hlh-mobile-app .hlh-section-open-button {
    width: 100% !important;
    background: linear-gradient(135deg, #db2777, #7c3aed) !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: 0 10px 24px rgba(124, 58, 237, .25) !important;
}
.hlh-mobile-app .hlh-student-home-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 12px 0 !important;
}
.hlh-mobile-app .hlh-student-home-grid a {
    min-height: 92px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 14px !important;
    background: #ffffff !important;
    color: #111827 !important;
    border: 1px solid #eadcf8 !important;
    box-shadow: 0 10px 22px rgba(124, 58, 237, .09) !important;
}
.hlh-mobile-app .hlh-student-home-grid a span {
    display: block !important;
    color: #111827 !important;
    font-size: 1rem !important;
    font-weight: 950 !important;
}
.hlh-mobile-app .hlh-student-home-grid a em {
    color: #6b21a8 !important;
    font-style: normal !important;
    font-weight: 800 !important;
    font-size: .82rem !important;
}
.hlh-mobile-app .hlh-student-page-section {
    background: #ffffff !important;
    border: 1px solid #eadcf8 !important;
    border-radius: 18px !important;
    padding: 14px !important;
    box-shadow: 0 12px 28px rgba(17, 24, 39, .08) !important;
    margin: 12px 0 !important;
    color: #111827 !important;
}
.hlh-mobile-app .hlh-student-page-section > h3 {
    margin: 0 0 12px !important;
    color: #111827 !important;
    font-size: 1.2rem !important;
    font-weight: 950 !important;
}
.hlh-mobile-app .hlh-latest-message-alert {
    background: #fdf2f8 !important;
    border: 1px solid #f9a8d4 !important;
    border-radius: 16px !important;
    padding: 12px !important;
    margin: 12px 0 !important;
    color: #111827 !important;
}
.hlh-mobile-app .hlh-latest-message-alert strong,
.hlh-mobile-app .hlh-latest-message-alert p {
    color: #111827 !important;
    margin: 0 0 6px !important;
}
.hlh-mobile-app .hlh-latest-message-alert a {
    width: 100% !important;
    background: #ffffff !important;
    color: #9d174d !important;
    border: 1px solid #f9a8d4 !important;
}
@media (max-width: 420px) {
    .hlh-mobile-app .hlh-student-home-grid { grid-template-columns: 1fr !important; }
    .hlh-mobile-app .hlh-student-page-section { padding: 12px !important; border-radius: 15px !important; }
}

/* v0.3.53 student settings page and app customisation */
.hlh-student-settings-panel{border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:16px;}
.hlh-student-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;}
.hlh-student-settings-grid label{display:grid;gap:6px;font-weight:900;color:#111827!important;}
.hlh-student-settings-grid select{width:100%;min-height:46px;border:1px solid #d1d5db;border-radius:12px;background:#fff;color:#111827;font-size:16px;padding:0 12px;}
.hlh-student-settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
.hlh-student-settings-actions button{min-height:44px;border:0;border-radius:12px;padding:0 16px;font-weight:900;cursor:pointer;background:var(--hlh-brand,#e83e8c);color:#fff;}
.hlh-student-settings-actions button[data-hlh-reset-app-settings]{background:#fff;color:#374151;border:1px solid #d1d5db;}
.hlh-section-settings .hlh-notification-panel{margin-top:14px;}
.hlh-theme-calm{--hlh-brand:#4b6b8a!important;--hlh-accent:#6b7280!important;}
.hlh-theme-high_contrast{--hlh-brand:#111827!important;--hlh-accent:#000000!important;}
.hlh-theme-high_contrast .hlh-app-hero{background:#111827!important;color:#fff!important;}
.hlh-theme-high_contrast .hlh-student-home-grid a,.hlh-theme-high_contrast .hlh-public-note,.hlh-theme-high_contrast .hlh-app-next-card{border-color:#111827!important;}
.hlh-spacing-compact .hlh-app-hero{padding:18px!important;border-radius:18px!important;}
.hlh-spacing-compact .hlh-student-home-grid{gap:10px!important;}
.hlh-spacing-compact .hlh-student-home-grid a,.hlh-spacing-compact .hlh-app-next-card,.hlh-spacing-compact .hlh-public-note,.hlh-spacing-compact .hlh-gap-card{padding:14px!important;border-radius:14px!important;}
.hlh-header-thin .hlh-student-hero{padding:14px 16px!important;grid-template-columns:minmax(0,1fr) auto;}
.hlh-header-thin .hlh-student-hero h2{font-size:1.45rem!important;margin:2px 0!important;}
.hlh-header-thin .hlh-student-hero p{margin:0!important;font-size:.92rem!important;}
.hlh-header-thin .hlh-app-status-card{padding:10px 12px!important;min-width:96px!important;}
@media(max-width:640px){.hlh-student-settings-grid{grid-template-columns:1fr}.hlh-student-settings-actions button{width:100%;}.hlh-header-thin .hlh-student-hero{grid-template-columns:1fr!important;}.hlh-header-thin .hlh-app-status-card{display:none;}}

/* v0.5.50 - larger, card-led student home screen */
.hlh-mobile-app .hlh-student-primary-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 16px 0 !important;
}
.hlh-mobile-app .hlh-student-primary-actions a {
    display: flex !important;
    min-height: 148px !important;
    padding: 22px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 7px !important;
    border: 0 !important;
    border-radius: 22px !important;
    background: linear-gradient(145deg, var(--hlh-brand, #e83e8c), var(--hlh-accent, #7c3aed)) !important;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 14px 30px color-mix(in srgb, var(--hlh-brand, #e83e8c) 25%, transparent) !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}
.hlh-mobile-app .hlh-student-primary-actions a:hover,
.hlh-mobile-app .hlh-student-primary-actions a:focus-visible {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 36px color-mix(in srgb, var(--hlh-brand, #e83e8c) 34%, transparent) !important;
}
.hlh-mobile-app .hlh-student-primary-actions a > span:not(.hlh-home-tile-icon) {
    color: #fff !important;
    font-size: 1.18rem !important;
    font-weight: 950 !important;
    line-height: 1.12 !important;
}
.hlh-mobile-app .hlh-student-primary-actions a em {
    color: rgba(255,255,255,.9) !important;
    font-size: .88rem !important;
    font-style: normal !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}
.hlh-mobile-app .hlh-home-tile-icon {
    display: inline-flex !important;
    width: 38px !important;
    height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 38px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.2) !important;
    color: inherit !important;
    font-size: 1.15rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}
.hlh-mobile-app .hlh-student-advantage {
    overflow: hidden !important;
    margin: 16px 0 !important;
    border: 1px solid color-mix(in srgb, var(--hlh-brand, #e83e8c) 22%, #e5e7eb) !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(17,24,39,.08) !important;
}
.hlh-mobile-app .hlh-student-advantage > h3 {
    margin: 0 !important;
    padding: 20px 22px !important;
    background: linear-gradient(135deg, var(--hlh-brand, #e83e8c), var(--hlh-accent, #7c3aed)) !important;
    color: #fff !important;
    font-size: 1.2rem !important;
    font-weight: 950 !important;
}
.hlh-mobile-app .hlh-student-advantage .hlh-student-home-grid {
    gap: 0 !important;
    margin: 0 !important;
    padding: 8px !important;
}
.hlh-mobile-app .hlh-student-advantage .hlh-student-home-grid a {
    min-height: 112px !important;
    padding: 16px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: transparent !important;
    box-shadow: none !important;
}
.hlh-mobile-app .hlh-student-advantage .hlh-student-home-grid a:hover,
.hlh-mobile-app .hlh-student-advantage .hlh-student-home-grid a:focus-visible {
    background: color-mix(in srgb, var(--hlh-brand, #e83e8c) 8%, #fff) !important;
}
.hlh-mobile-app .hlh-student-advantage .hlh-home-tile-icon {
    background: color-mix(in srgb, var(--hlh-brand, #e83e8c) 12%, #fff) !important;
    color: var(--hlh-brand, #e83e8c) !important;
}
.hlh-mobile-app .hlh-student-settings-button {
    display: flex !important;
    min-height: 92px !important;
    margin: 16px 0 !important;
    padding: 18px 20px !important;
    align-items: center !important;
    gap: 14px !important;
    border: 1px solid color-mix(in srgb, var(--hlh-brand, #e83e8c) 22%, #e5e7eb) !important;
    border-radius: 22px !important;
    background: #fff !important;
    color: #111827 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 28px rgba(17,24,39,.07) !important;
}
.hlh-mobile-app .hlh-student-settings-button .hlh-home-tile-icon {
    background: color-mix(in srgb, var(--hlh-brand, #e83e8c) 12%, #fff) !important;
    color: var(--hlh-brand, #e83e8c) !important;
}
.hlh-mobile-app .hlh-student-settings-button > span:nth-child(2) {
    display: grid !important;
    flex: 1 !important;
    gap: 3px !important;
}
.hlh-mobile-app .hlh-student-settings-button strong { color: #111827 !important; font-size: 1.03rem !important; }
.hlh-mobile-app .hlh-student-settings-button em { color: #6b7280 !important; font-size: .84rem !important; font-style: normal !important; }
.hlh-mobile-app .hlh-student-settings-button b { color: var(--hlh-brand, #e83e8c) !important; font-size: 2rem !important; line-height: 1 !important; }
@media (max-width: 520px) {
    .hlh-mobile-app .hlh-student-primary-actions { gap: 10px !important; }
    .hlh-mobile-app .hlh-student-primary-actions a { min-height: 136px !important; padding: 17px !important; border-radius: 19px !important; }
}
@media (max-width: 360px) {
    .hlh-mobile-app .hlh-student-primary-actions { grid-template-columns: 1fr !important; }
}

/* v0.5.52 - secure remembered student sessions */
.hlh-student-login-form .hlh-student-remember {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    font-weight: 800;
    color: #374151;
}
.hlh-student-login-form .hlh-student-remember input {
    width: 20px;
    min-height: 20px;
    height: 20px;
    margin: 0;
    accent-color: var(--hlh-brand, #e83e8c);
}
.hlh-student-login-form .hlh-student-remember + button {
    grid-column: 1 / -1;
    width: 100%;
}
/* v0.3.54 student payment panel */
.hlh-student-payment-box{margin-top:12px;padding:12px;border-radius:14px;border:1px solid #e5e7eb;background:#f9fafb;color:#111827;display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.hlh-student-payment-box strong{color:#111827;font-size:15px;}
.hlh-student-payment-box span{color:#374151;font-size:13px;line-height:1.4;}
.hlh-student-payment-box.is-paid{background:#ecfdf3;border-color:#86efac;}
.hlh-student-payment-box.is-paid strong{color:#166534;}
.hlh-student-payment-box.is-reported{background:#fff7db;border-color:#f4bd45;}
.hlh-student-payment-box.is-reported strong{color:#8a4b08;}
.hlh-pay-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:12px;background:linear-gradient(135deg,#e83e8c,#6f42c1);color:#fff!important;text-decoration:none!important;font-weight:800;box-shadow:0 8px 18px rgba(111,66,193,.22);}
.hlh-pay-button:hover,.hlh-pay-button:focus{color:#fff!important;filter:brightness(.98);}
@media(max-width:520px){.hlh-pay-button{width:100%;}.hlh-student-payment-box{padding:11px;}}

/* v0.3.55 payment visibility repair */
.hlh-student-payment-box[data-hlh-payment-box="1"]{display:flex!important;visibility:visible!important;opacity:1!important;color:#111827!important;}
.hlh-student-payment-box[data-hlh-payment-box="1"] strong{display:block!important;color:#111827!important;}
.hlh-student-payment-box[data-hlh-payment-box="1"] span{display:block!important;color:#374151!important;}
.hlh-student-payment-box[data-hlh-payment-box="1"] .hlh-pay-button{display:inline-flex!important;visibility:visible!important;opacity:1!important;color:#fff!important;background:linear-gradient(135deg,#e83e8c,#6f42c1)!important;}
.hlh-payment-warning{display:block!important;padding:9px 10px;border-radius:10px;background:#fff7ed!important;border:1px solid #fed7aa!important;color:#9a3412!important;font-weight:700;}

/* v0.4.0 Instructor front-end portal */
.hlh-instructor-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-radius:20px;padding:18px 20px;margin:0 0 14px;background:linear-gradient(135deg,#20132f,#7b245e 58%,#e83e8c);color:#fff;box-shadow:0 14px 34px rgba(45,19,68,.18)}
.hlh-instructor-top h1{margin:.1rem 0 .25rem;color:#fff;font-size:clamp(1.7rem,4vw,2.4rem)}
.hlh-instructor-top p,.hlh-instructor-top .hlh-kicker{color:#fff;opacity:.96;margin:.15rem 0}
.hlh-instructor-login{margin-bottom:16px}
.hlh-instructor-portal #loginform{background:#fff;border:1px solid #eadff0;border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(32,19,47,.08)}
.hlh-instructor-portal #loginform label{font-weight:800;color:#252334;display:block;margin:0 0 6px}
.hlh-instructor-portal #loginform input[type=text],.hlh-instructor-portal #loginform input[type=password]{width:100%;max-width:460px;border:1px solid #d8c7df;border-radius:12px;padding:12px 13px;color:#252334;background:#fff}
.hlh-instructor-portal #loginform input[type=submit],.hlh-instructor-quick a,.hlh-instructor-nav a,.hlh-mini-button,.hlh-filter-pills a{border:0;text-decoration:none;border-radius:12px;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px}
.hlh-instructor-portal #loginform input[type=submit],.hlh-instructor-quick a,.hlh-mini-button{background:linear-gradient(135deg,#e83e8c,#6f42c1);color:#fff;box-shadow:0 8px 18px rgba(111,66,193,.2)}
.hlh-instructor-nav{display:flex;gap:8px;overflow-x:auto;padding:8px;background:#fff;border:1px solid #eadff0;border-radius:16px;margin:0 0 14px;box-shadow:0 8px 18px rgba(32,19,47,.05)}
.hlh-instructor-nav a{background:#f7f2fb;color:#2f2638;white-space:nowrap}
.hlh-instructor-nav a.is-active{background:#261634;color:#fff}
.hlh-instructor-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}
.hlh-instructor-stats a{background:#fff;border:1px solid #eadff0;border-radius:18px;padding:16px;text-decoration:none;color:#262333;box-shadow:0 8px 22px rgba(32,19,47,.06)}
.hlh-instructor-stats strong{display:block;font-size:2rem;line-height:1;color:#6f42c1}.hlh-instructor-stats span{display:block;margin-top:6px;color:#5a5362;font-weight:700}
.hlh-instructor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hlh-list-stack{display:grid;gap:10px}.hlh-mobile-row{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid #eee}.hlh-mobile-row:last-child{border-bottom:0}
.hlh-mobile-row strong,.hlh-card h2,.hlh-card h3{color:#242333}.hlh-mobile-row span{color:#332d3a}.hlh-mobile-row small{color:#655d6b}.hlh-pupil-card-link{text-decoration:none;display:grid;gap:4px;color:#242333}.hlh-pupil-card-link:hover{border-color:#e83e8c}
.hlh-filter-pills{display:flex;gap:8px;overflow-x:auto}.hlh-filter-pills a{background:#f7f2fb;color:#2f2638}.hlh-filter-pills a.is-active{background:#e83e8c;color:#fff}
.hlh-instructor-profile-head{background:#fff;border:1px solid #eadff0;border-radius:20px;padding:16px;margin:0 0 14px;box-shadow:0 8px 22px rgba(32,19,47,.06)}.hlh-instructor-profile-head h2{margin:.5rem 0 .2rem;color:#242333}.hlh-chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.hlh-chip-row span{background:#f7f2fb;border:1px solid #eadff0;color:#32283a;border-radius:10px;padding:7px 10px;font-weight:700}
.hlh-diary-summary{border-left:5px solid #e83e8c}.hlh-diary-summary.type-gap{border-left-color:#2e9f67}.hlh-diary-summary.type-time_away{border-left-color:#777}
.hlh-instructor-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.hlh-status-bar{background:#f0fff5;border:1px solid #b8e3c7;color:#164d2e;border-radius:14px;padding:11px 14px;font-weight:800;margin:0 0 12px}
@media(max-width:760px){.hlh-instructor-portal{padding:10px}.hlh-instructor-top{border-radius:16px;padding:14px;display:block}.hlh-mini-button{margin-top:10px;width:100%}.hlh-instructor-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hlh-instructor-stats strong{font-size:1.55rem}.hlh-instructor-grid{grid-template-columns:1fr}.hlh-instructor-quick{grid-template-columns:1fr}.hlh-instructor-nav{position:sticky;top:0;z-index:10;border-radius:12px}.hlh-instructor-nav a{min-width:max-content}.hlh-filter-pills a{min-width:max-content}.hlh-card{overflow-wrap:anywhere}}

/* v0.4.1 Instructor portal theme refresh - aligned with Horizon Test Route Hub style */
.hlh-instructor-top,
.hlh-instructor-login{
    background:linear-gradient(135deg,#fff7fb 0%,#ffffff 55%,#f7efff 100%)!important;
    color:#111827!important;
    border:1px solid #f1d8e8!important;
    border-radius:28px!important;
    padding:clamp(24px,5vw,44px)!important;
    box-shadow:0 20px 46px rgba(17,24,39,.08)!important;
    position:relative!important;
    overflow:hidden!important;
}
.hlh-instructor-top::after,
.hlh-instructor-login::after{
    content:"";
    position:absolute;
    right:-70px;
    bottom:-90px;
    width:240px;
    height:240px;
    border-radius:999px;
    background:radial-gradient(circle,rgba(216,48,135,.18),rgba(111,66,193,.10) 45%,rgba(255,255,255,0) 70%);
    pointer-events:none;
}
.hlh-instructor-top h1,
.hlh-instructor-login h1{
    color:#111827!important;
    font-size:clamp(2.2rem,6vw,4.25rem)!important;
    line-height:.96!important;
    letter-spacing:-.045em!important;
    text-transform:uppercase!important;
    max-width:760px!important;
    margin:8px 0 14px!important;
}
.hlh-instructor-top p,
.hlh-instructor-login p{
    color:#5b6472!important;
    font-size:clamp(1rem,2vw,1.22rem)!important;
    line-height:1.55!important;
    max-width:680px!important;
    opacity:1!important;
}
.hlh-instructor-top .hlh-kicker,
.hlh-instructor-login .hlh-kicker{
    color:#d83087!important;
    font-size:.76rem!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
    font-weight:900!important;
    margin:0 0 4px!important;
}
.hlh-instructor-nav{
    background:#ffffff!important;
    border:1px solid #f0dbe8!important;
    box-shadow:0 12px 30px rgba(17,24,39,.06)!important;
    border-radius:18px!important;
    padding:10px!important;
}
.hlh-instructor-nav a{
    background:#fff!important;
    color:#111827!important;
    border:1px solid #f0dbe8!important;
    border-radius:12px!important;
}
.hlh-instructor-nav a.is-active{
    background:#d83087!important;
    color:#fff!important;
    border-color:#d83087!important;
    box-shadow:0 10px 22px rgba(216,48,135,.22)!important;
}
.hlh-instructor-portal #loginform{
    margin-top:16px!important;
    border-radius:22px!important;
    border:1px solid #f0dbe8!important;
    box-shadow:0 16px 34px rgba(17,24,39,.07)!important;
}
.hlh-instructor-portal #loginform input[type=submit],
.hlh-instructor-quick a,
.hlh-mini-button{
    background:#d83087!important;
    color:#fff!important;
    border:2px solid #d83087!important;
    border-radius:12px!important;
    box-shadow:0 10px 24px rgba(216,48,135,.22)!important;
}
.hlh-instructor-quick a:nth-child(even),
.hlh-instructor-top .hlh-mini-button{
    background:#fff!important;
    color:#d83087!important;
    border:2px solid #d83087!important;
    box-shadow:none!important;
}
.hlh-instructor-stats a,
.hlh-card,
.hlh-instructor-profile-head{
    background:#fff!important;
    border:1px solid #f0dbe8!important;
    border-radius:22px!important;
    box-shadow:0 14px 32px rgba(17,24,39,.06)!important;
}
.hlh-instructor-stats strong{color:#d83087!important;}
.hlh-instructor-stats span,
.hlh-card p,
.hlh-card span,
.hlh-mobile-row span,
.hlh-mobile-row small{color:#4b5563!important;}
.hlh-card h2,
.hlh-card h3,
.hlh-mobile-row strong,
.hlh-pupil-card-link strong{color:#111827!important;}
.hlh-filter-pills a{
    background:#fff!important;
    border:1px solid #f0dbe8!important;
    color:#111827!important;
}
.hlh-filter-pills a.is-active{
    background:#d83087!important;
    border-color:#d83087!important;
    color:#fff!important;
}
.hlh-diary-summary{border-left-color:#d83087!important;}
.hlh-diary-summary.type-gap{border-left-color:#10b981!important;}
.hlh-diary-summary.type-time_away{border-left-color:#6b7280!important;}
@media(max-width:760px){
    .hlh-instructor-portal{padding:12px!important;border-radius:18px!important;}
    .hlh-instructor-top,.hlh-instructor-login{padding:22px 18px!important;border-radius:22px!important;}
    .hlh-instructor-top h1,.hlh-instructor-login h1{font-size:2.45rem!important;}
    .hlh-instructor-top .hlh-mini-button{width:100%!important;margin-top:14px!important;}
}

/* v0.4.2 instructor portal diary grid */
.hlh-instructor-portal .hlh-portal-diary-head{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:18px!important;}
.hlh-instructor-portal .hlh-portal-diary-head h2{font-size:clamp(2rem,4vw,3.2rem)!important;line-height:1!important;margin:0 0 8px!important;color:#111827!important;}
.hlh-portal-week-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.hlh-portal-week-nav a,.hlh-portal-week-nav strong{display:inline-flex;align-items:center;min-height:42px;padding:10px 14px;border-radius:12px;border:1px solid #f0dbe8;background:#fff;color:#111827;text-decoration:none;font-weight:800;}
.hlh-portal-week-nav a{color:#d83087;border-color:#d83087;}
.hlh-portal-diary-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0!important;background:#fff!important;border:1px solid #f0dbe8!important;border-radius:18px!important;padding:12px!important;box-shadow:0 14px 32px rgba(17,24,39,.06)!important;}
.hlh-instructor-portal .hlh-button{appearance:none;border:2px solid #d83087!important;background:#d83087!important;color:#fff!important;border-radius:12px!important;padding:11px 16px!important;font-weight:900!important;text-decoration:none!important;cursor:pointer!important;box-shadow:0 10px 22px rgba(216,48,135,.22)!important;}
.hlh-instructor-portal .hlh-button.hlh-secondary{background:#fff!important;color:#d83087!important;box-shadow:none!important;}
.hlh-instructor-portal .hlh-button.hlh-away{background:#6b7280!important;border-color:#6b7280!important;box-shadow:none!important;}
.hlh-portal-calendar-wrap{background:#fff;border:1px solid #f0dbe8;border-radius:22px;box-shadow:0 18px 40px rgba(17,24,39,.08);overflow:auto;max-height:78vh;position:relative;}
.hlh-portal-calendar-grid{display:grid;grid-template-columns:74px repeat(7,minmax(190px,1fr));grid-auto-rows:56px;min-width:1420px;position:relative;background:#f8fafc;}
.hlh-portal-calendar-grid .hlh-calendar-head{position:sticky;top:0;z-index:10;background:#14213d!important;color:#fff!important;border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;}
.hlh-portal-calendar-grid .hlh-time-head{left:0;z-index:12;}
.hlh-portal-calendar-grid .hlh-calendar-head span{color:#dbeafe!important;font-size:.78rem!important;margin-top:2px!important;}
.hlh-portal-calendar-grid .hlh-calendar-time{position:sticky;left:0;z-index:8;background:#fff;color:#374151;font-size:.88rem;display:flex;align-items:flex-start;justify-content:flex-end;padding:6px 8px;border-right:1px solid #e5e7eb;border-bottom:1px solid #eef2f7;}
.hlh-portal-calendar-grid .hlh-half-hour{color:#9ca3af;font-size:.74rem;}
.hlh-portal-calendar-grid .hlh-calendar-cell{background:#fff;border-right:1px solid #e5e7eb;border-bottom:1px solid #eef2f7;position:relative;}
.hlh-portal-calendar-grid .hlh-half-hour-cell{background:#fbfdff;}
.hlh-portal-calendar-grid .hlh-slot-locked{background:#eaf4fb;}
.hlh-portal-calendar-grid .hlh-calendar-add{position:absolute;right:8px;top:8px;width:24px;height:24px;border-radius:10px;border:0;background:#fce7f3;color:#be185d;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.95;}
.hlh-portal-calendar-grid .hlh-calendar-add:hover{background:#d83087;color:#fff;}
.hlh-portal-calendar-grid .hlh-calendar-event-block{z-index:7;margin:3px 5px;border-radius:8px;overflow:hidden;color:#fff;background:linear-gradient(135deg,#7e22ce,#5b0a93);box-shadow:0 8px 18px rgba(91,10,147,.22);border:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column;}
.hlh-portal-calendar-grid .hlh-event-gap{background:linear-gradient(135deg,#059669,#0f766e)!important;}
.hlh-portal-calendar-grid .hlh-event-time_away{background:linear-gradient(135deg,#6b7280,#374151)!important;}
.hlh-portal-calendar-grid .hlh-event-detail-link{display:flex!important;flex-direction:column!important;gap:2px!important;padding:7px!important;color:#fff!important;text-decoration:none!important;height:100%!important;box-sizing:border-box!important;}
.hlh-portal-calendar-grid .hlh-event-detail-link strong,.hlh-portal-calendar-grid .hlh-event-detail-link small,.hlh-portal-calendar-grid .hlh-event-detail-link em,.hlh-portal-calendar-grid .hlh-event-detail-link span{color:#fff!important;line-height:1.15!important;}
.hlh-portal-calendar-grid .hlh-event-detail-link strong{font-size:.82rem!important;font-weight:900!important;}
.hlh-portal-calendar-grid .hlh-event-detail-link small,.hlh-portal-calendar-grid .hlh-event-detail-link em,.hlh-portal-calendar-grid .hlh-event-detail-link span{font-size:.72rem!important;}
.hlh-portal-calendar-grid .hlh-payment-strip{margin-top:auto!important;display:block!important;padding:3px 5px!important;border-radius:5px!important;font-size:.72rem!important;font-weight:900!important;color:#fff!important;}
.hlh-portal-calendar-grid .hlh-payment-strip.paid{background:#4caf50!important;}
.hlh-portal-calendar-grid .hlh-payment-strip.unpaid{background:#e91e63!important;}
.hlh-portal-calendar-grid .hlh-payment-strip.reported{background:#d97706!important;color:#fff!important;}
.hlh-portal-calendar-grid .hlh-diary-checkin-line{font-weight:900!important;text-shadow:0 1px 2px rgba(0,0,0,.35);}
.hlh-modal[hidden]{display:none!important;}
.hlh-modal{position:fixed;inset:0;z-index:99999;background:rgba(17,24,39,.55);display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow:auto;}
.hlh-modal-panel{width:min(920px,100%);background:#fff;border-radius:22px;border:1px solid #f0dbe8;box-shadow:0 24px 80px rgba(17,24,39,.25);padding:22px;position:relative;}
.hlh-modal-close{position:absolute;right:14px;top:14px;border:0;background:#fce7f3;color:#be185d;border-radius:10px;width:36px;height:36px;font-size:24px;line-height:1;cursor:pointer;}
.hlh-calendar-form .hlh-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.hlh-calendar-form label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:#111827!important;}
.hlh-calendar-form input,.hlh-calendar-form select,.hlh-calendar-form textarea{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:10px 12px;color:#111827;background:#fff;box-sizing:border-box;}
.hlh-calendar-form .hlh-full-label{display:block;margin-top:12px;}
.hlh-checkbox-label{flex-direction:row!important;align-items:center!important;}
.hlh-checkbox-label input{width:20px!important;height:20px!important;}
@media(max-width:760px){
  .hlh-instructor-portal .hlh-portal-diary-head{display:block!important;}
  .hlh-portal-week-nav{justify-content:flex-start;margin-top:12px;}
  .hlh-portal-calendar-wrap{max-height:72vh;border-radius:16px;}
  .hlh-portal-calendar-grid{grid-template-columns:58px repeat(7,minmax(155px,1fr));grid-auto-rows:54px;min-width:1140px;}
  .hlh-calendar-form .hlh-form-grid{grid-template-columns:1fr;}
  .hlh-modal{padding:16px 10px;}
}

/* v0.4.3 instructor portal diary cancellation tools */
.hlh-diary-cancel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 6px 0 4px;
  position: relative;
  z-index: 4;
}
.hlh-mini-cancel-button,
.hlh-mini-gap-button {
  border: 0;
  border-radius: 7px;
  padding: 4px 7px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.1;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .15);
}
.hlh-mini-cancel-button { background: #fff1f2; color: #9f1239; }
.hlh-mini-gap-button { background: #ecfdf5; color: #047857; }
.hlh-mini-cancel-button:hover,
.hlh-mini-gap-button:hover { filter: brightness(.96); }
.hlh-diary-status-line {
  display: inline-block;
  margin-top: 3px;
  font-weight: 900;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

/* v0.4.4 compact diary lesson actions */
.hlh-calendar-event-block,
.hlh-calendar-event { position: relative; overflow: visible !important; }
.hlh-diary-action-menu {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 80;
  margin: 0;
}
.hlh-diary-action-menu > summary,
.hlh-diary-options-button {
  list-style: none;
  width: 24px;
  height: 22px;
  border-radius: 8px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.92);
  color: #4c1d95 !important;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 7px rgba(15,23,42,.22);
  border: 1px solid rgba(255,255,255,.7);
}
.hlh-diary-action-menu > summary::-webkit-details-marker { display: none; }
.hlh-diary-action-menu:not([open]) .hlh-diary-cancel-actions { display: none !important; }
.hlh-diary-action-menu[open] .hlh-diary-cancel-actions {
  position: absolute;
  top: 28px;
  right: 0;
  width: 148px;
  display: grid !important;
  gap: 7px;
  padding: 8px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(148,163,184,.55);
  box-shadow: 0 12px 28px rgba(15,23,42,.28);
  margin: 0;
  z-index: 90;
}
.hlh-diary-action-title {
  color: #334155 !important;
  font-size: 11px !important;
  font-weight: 900;
  opacity: 1 !important;
  margin: 0 0 2px;
}
.hlh-diary-cancel-actions form { margin: 0; }
.hlh-diary-action-menu .hlh-mini-cancel-button,
.hlh-diary-action-menu .hlh-mini-gap-button {
  width: 100%;
  border-radius: 8px;
  padding: 7px 9px;
  font-size: 12px;
  line-height: 1.15;
}
.hlh-diary-action-menu .hlh-mini-cancel-button { background: #fff1f2 !important; color: #9f1239 !important; }
.hlh-diary-action-menu .hlh-mini-gap-button { background: #ecfdf5 !important; color: #047857 !important; }


/* v0.4.5 diary actions pop-out modal */

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


/* v0.4.8: force diary options pop-out action buttons to be visible and tappable */

/* v0.4.10 weekly working hours */

/* v0.4.12 drag-and-resize diary polish */
.hlh-calendar-event-block[draggable="true"]{cursor:grab;touch-action:pan-y;}
.hlh-calendar-event-block.hlh-diary-dragging{opacity:.55;outline:3px dashed rgba(232,62,140,.75);}
.hlh-calendar-cell.hlh-diary-drop-target{background:#fdf2f8!important;box-shadow:inset 0 0 0 3px #e83e8c!important;}
.hlh-diary-resize-handle{position:absolute!important;left:8px!important;right:8px!important;bottom:4px!important;height:14px!important;border:0!important;border-radius:8px!important;background:rgba(255,255,255,.32)!important;color:#fff!important;font-size:11px!important;line-height:12px!important;font-weight:900!important;cursor:ns-resize!important;padding:0!important;z-index:12!important;}
.hlh-diary-resize-handle:hover,.hlh-diary-resize-handle:focus{background:rgba(255,255,255,.55)!important;color:#111827!important;}
.hlh-diary-resize-preview{position:absolute;right:8px;bottom:22px;z-index:20;background:#111827;color:#fff;border-radius:10px;padding:4px 8px;font-size:11px;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.25);}
.hlh-calendar-event-block .hlh-event-delete-link{margin-bottom:14px!important;}

/* v0.4.13 instructor portal professional polish
   Tightens the front-end instructor portal so it feels cleaner and less oversized. */
.hlh-instructor-portal{
  --hlh-portal-ink:#111827;
  --hlh-portal-muted:#5b6472;
  --hlh-portal-line:#e6eaf0;
  --hlh-portal-soft:#f8fafc;
  --hlh-portal-brand:#d83087;
  --hlh-portal-navy:#101827;
  background:linear-gradient(180deg,#fff7fb 0%,#ffffff 180px)!important;
  color:var(--hlh-portal-ink)!important;
  border-radius:28px!important;
  font-family:var(--hlh-font,Arial,Helvetica,sans-serif);
}
.hlh-instructor-portal *{
  letter-spacing:normal!important;
}
.hlh-instructor-top,
.hlh-instructor-login{
  background:#ffffff!important;
  border:1px solid var(--hlh-portal-line)!important;
  color:var(--hlh-portal-ink)!important;
  box-shadow:0 12px 34px rgba(17,24,39,.07)!important;
  border-radius:18px!important;
  padding:20px 22px!important;
}
.hlh-instructor-top h1,
.hlh-instructor-login h1{
  color:var(--hlh-portal-ink)!important;
  font-size:clamp(2rem,3.6vw,3rem)!important;
  line-height:1.02!important;
  margin:4px 0 6px!important;
  font-weight:950!important;
}
.hlh-instructor-top p,
.hlh-instructor-login p{
  color:var(--hlh-portal-muted)!important;
  opacity:1!important;
  font-size:1rem!important;
  line-height:1.5!important;
}
.hlh-instructor-top .hlh-kicker,
.hlh-instructor-login .hlh-kicker,
.hlh-instructor-portal .hlh-kicker{
  color:var(--hlh-portal-brand)!important;
  font-size:.72rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.13em!important;
}
.hlh-instructor-nav{
  border-radius:16px!important;
  padding:6px!important;
  gap:6px!important;
  box-shadow:0 10px 24px rgba(17,24,39,.055)!important;
  border-color:var(--hlh-portal-line)!important;
}
.hlh-instructor-nav a{
  border-radius:11px!important;
  min-height:38px!important;
  padding:8px 13px!important;
  background:#ffffff!important;
  border:1px solid transparent!important;
  color:#2f3747!important;
  box-shadow:none!important;
  font-size:.92rem!important;
}
.hlh-instructor-nav a.is-active{
  background:#111827!important;
  color:#ffffff!important;
  border-color:#111827!important;
}
.hlh-instructor-nav a:hover,
.hlh-instructor-nav a:focus{
  border-color:#f0b4d5!important;
  color:var(--hlh-portal-brand)!important;
  outline:2px solid rgba(216,48,135,.12)!important;
  outline-offset:1px!important;
}
.hlh-instructor-nav a.is-active:hover,
.hlh-instructor-nav a.is-active:focus{
  color:#ffffff!important;
}
.hlh-instructor-stats{gap:10px!important;}
.hlh-instructor-stats a,
.hlh-instructor-grid .hlh-card,
.hlh-instructor-profile-head,
.hlh-instructor-portal .hlh-card,
.hlh-instructor-portal .hlh-public-note{
  border:1px solid var(--hlh-portal-line)!important;
  border-radius:16px!important;
  box-shadow:0 10px 26px rgba(17,24,39,.055)!important;
  background:#ffffff!important;
}
.hlh-instructor-stats a{padding:14px!important;}
.hlh-instructor-stats strong{font-size:1.55rem!important;color:var(--hlh-portal-brand)!important;}
.hlh-instructor-stats span{font-size:.88rem!important;color:var(--hlh-portal-muted)!important;}
.hlh-instructor-quick{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.hlh-instructor-portal #loginform input[type=submit],
.hlh-instructor-quick a,
.hlh-mini-button,
.hlh-filter-pills a,
.hlh-instructor-portal .hlh-button,
.hlh-portal-week-nav a,
.hlh-portal-week-nav strong{
  border-radius:10px!important;
  min-height:38px!important;
  padding:8px 13px!important;
  font-size:.92rem!important;
  font-weight:850!important;
  box-shadow:none!important;
}
.hlh-instructor-portal #loginform input[type=submit],
.hlh-instructor-quick a,
.hlh-mini-button,
.hlh-instructor-portal .hlh-button{
  background:var(--hlh-portal-brand)!important;
  border:1px solid var(--hlh-portal-brand)!important;
  color:#ffffff!important;
}
.hlh-instructor-quick a:nth-child(even),
.hlh-instructor-portal .hlh-button.hlh-secondary,
.hlh-portal-week-nav a{
  background:#ffffff!important;
  border:1px solid #e6a7cb!important;
  color:var(--hlh-portal-brand)!important;
}
.hlh-instructor-portal .hlh-button.hlh-away{
  background:#475569!important;
  border-color:#475569!important;
  color:#ffffff!important;
}
.hlh-instructor-portal .hlh-portal-diary-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:16px!important;
  background:#ffffff!important;
  border:1px solid var(--hlh-portal-line)!important;
  border-radius:18px 18px 0 0!important;
  padding:18px 20px 14px!important;
  box-shadow:0 10px 24px rgba(17,24,39,.045)!important;
}
.hlh-instructor-portal .hlh-portal-diary-head h2{
  font-size:clamp(2rem,3.8vw,3.1rem)!important;
  letter-spacing:-.04em!important;
  margin:2px 0 5px!important;
  color:#111827!important;
}
.hlh-instructor-portal .hlh-portal-diary-head p{
  color:#475569!important;
  margin:0!important;
  font-size:.98rem!important;
}
.hlh-portal-week-nav{
  gap:8px!important;
}
.hlh-portal-week-nav strong{
  border-color:var(--hlh-portal-line)!important;
  color:#111827!important;
  background:#f8fafc!important;
  min-width:184px!important;
  justify-content:center!important;
}
.hlh-portal-diary-actions{
  margin:0 0 14px!important;
  padding:12px 14px!important;
  border-radius:0 0 18px 18px!important;
  border-top:0!important;
  border-color:var(--hlh-portal-line)!important;
  box-shadow:0 12px 28px rgba(17,24,39,.045)!important;
  background:#ffffff!important;
}
.hlh-portal-calendar-wrap{
  border-radius:14px!important;
  border-color:#d8dee8!important;
  box-shadow:0 16px 34px rgba(17,24,39,.075)!important;
  background:#ffffff!important;
}
.hlh-portal-calendar-grid{
  grid-template-columns:70px repeat(7,minmax(178px,1fr))!important;
  grid-auto-rows:52px!important;
  background:#f8fafc!important;
}
.hlh-portal-calendar-grid .hlh-calendar-head{
  background:#111827!important;
  color:#ffffff!important;
  font-size:.9rem!important;
  border-right:1px solid rgba(255,255,255,.1)!important;
}
.hlh-portal-calendar-grid .hlh-calendar-head span{
  color:#cbd5e1!important;
  font-size:.72rem!important;
}
.hlh-portal-calendar-grid .hlh-calendar-time{
  background:#ffffff!important;
  color:#475569!important;
  font-size:.82rem!important;
  padding:6px 7px!important;
}
.hlh-portal-calendar-grid .hlh-calendar-cell{
  background:#ffffff!important;
  border-color:#edf1f5!important;
}
.hlh-portal-calendar-grid .hlh-half-hour-cell{
  background:#fbfcfe!important;
}
.hlh-portal-calendar-grid .hlh-slot-locked{
  background:#eff6fb!important;
}
.hlh-portal-calendar-grid .hlh-calendar-add{
  width:20px!important;
  height:20px!important;
  right:6px!important;
  top:6px!important;
  border-radius:7px!important;
  background:#fdf2f8!important;
  color:#be185d!important;
  font-size:.8rem!important;
  box-shadow:none!important;
}
.hlh-portal-calendar-grid .hlh-calendar-event-block{
  margin:3px 4px!important;
  border-radius:8px!important;
  background:#571089!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:0 8px 18px rgba(49,46,129,.18)!important;
}
.hlh-portal-calendar-grid .hlh-event-gap{background:#0f8b6f!important;}
.hlh-portal-calendar-grid .hlh-event-time_away{background:#475569!important;}
.hlh-portal-calendar-grid .hlh-event-detail-link{padding:7px 8px!important;gap:1px!important;}
.hlh-portal-calendar-grid .hlh-event-detail-link strong{font-size:.78rem!important;}
.hlh-portal-calendar-grid .hlh-event-detail-link small,
.hlh-portal-calendar-grid .hlh-event-detail-link em,
.hlh-portal-calendar-grid .hlh-event-detail-link span{font-size:.7rem!important;}
.hlh-portal-calendar-grid .hlh-payment-strip{
  padding:2px 5px!important;
  border-radius:5px!important;
  font-size:.68rem!important;
  line-height:1.15!important;
}
.hlh-portal-calendar-grid .hlh-payment-strip.paid{background:#16a34a!important;}
.hlh-portal-calendar-grid .hlh-payment-strip.unpaid{background:#e11d48!important;}
@media(max-width:720px){
  .hlh-instructor-portal{padding:10px!important;}
  .hlh-instructor-top,.hlh-instructor-login{padding:18px 16px!important;border-radius:16px!important;}
  .hlh-instructor-top h1,.hlh-instructor-login h1{font-size:2rem!important;}
  .hlh-instructor-portal .hlh-portal-diary-head{grid-template-columns:1fr!important;padding:16px!important;}
  .hlh-instructor-portal .hlh-portal-diary-head h2{font-size:2.2rem!important;}
  .hlh-portal-week-nav{justify-content:flex-start!important;}
  .hlh-portal-week-nav strong{min-width:0!important;width:100%!important;}
  .hlh-portal-diary-actions{display:grid!important;grid-template-columns:1fr!important;}
  .hlh-instructor-portal .hlh-button{width:100%!important;}
}


/* v0.4.14 responsive instructor diary width fix
   Fit the full Mon-Sun week on normal laptop/desktop screens. Keep horizontal
   scrolling only for genuinely narrow screens. */
.hlh-instructor-portal .hlh-portal-calendar-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
.hlh-instructor-portal .hlh-portal-calendar-grid{
  width:100%!important;
  min-width:0!important;
  grid-template-columns:62px repeat(7,minmax(0,1fr))!important;
  grid-auto-rows:50px!important;
}
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head{
  min-width:0!important;
  padding:6px 3px!important;
  text-align:center!important;
}
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head strong,
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head span{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-time{
  padding:5px 6px!important;
  font-size:.8rem!important;
}
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block{
  margin:2px 3px!important;
  border-radius:7px!important;
  min-width:0!important;
}
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link{
  padding:5px 6px!important;
  min-width:0!important;
}
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link strong,
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link small,
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link em,
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link span{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link strong{font-size:.74rem!important;}
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link small,
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link em,
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link span{font-size:.66rem!important;}
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-payment-strip{
  font-size:.64rem!important;
  padding:2px 4px!important;
}
.hlh-instructor-portal .hlh-portal-calendar-grid .hlh-diary-options-trigger{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  padding:0!important;
  border-radius:7px!important;
}
@media (min-width:1180px){
  .hlh-instructor-portal .hlh-portal-calendar-grid{
    grid-template-columns:66px repeat(7,minmax(0,1fr))!important;
    grid-auto-rows:52px!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link strong{font-size:.78rem!important;}
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link small,
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link em,
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link span{font-size:.68rem!important;}
}
@media (max-width:900px){
  .hlh-instructor-portal .hlh-portal-calendar-wrap{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid{
    min-width:980px!important;
    grid-template-columns:58px repeat(7,minmax(130px,1fr))!important;
  }
}
@media (max-width:640px){
  .hlh-instructor-portal .hlh-portal-calendar-grid{
    min-width:900px!important;
    grid-template-columns:54px repeat(7,minmax(120px,1fr))!important;
    grid-auto-rows:50px!important;
  }
}


/* v0.4.15: invisible base resize grab area - no visible handle button */


/* v0.4.16: tidier diary action pop-out */

/* v0.4.17: clearer diary event popout delete action */
.hlh-mini-delete-button{
  display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;
  min-height:42px!important;border-radius:12px!important;border:1px solid #fecaca!important;background:#fff1f2!important;
  color:#991b1b!important;font-weight:800!important;box-shadow:none!important;cursor:pointer!important;
}
.hlh-mini-delete-button:hover,.hlh-mini-delete-button:focus{background:#ffe4e6!important;border-color:#fca5a5!important;color:#7f1d1d!important;outline:3px solid rgba(239,68,68,.18)!important;}

/* v0.4.23 - portal diary add button placement: top-right in each free slot */
.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,
.hlh-portal-calendar-wrap .hlh-calendar-add:hover,
.hlh-portal-calendar-wrap .hlh-calendar-add:focus{
    opacity:1!important;
    background:#d83087!important;
    color:#fff!important;
    outline:2px solid rgba(216,48,135,.25)!important;
    outline-offset:1px!important;
}


/* v0.4.25: professional pupil profile tidy-up - WordPress admin side */
.hlh-profile-tabs-top{
  position:relative!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:6px!important;
  padding:8px!important;
  margin:8px 0 12px!important;
  background:#ffffff!important;
  border:1px solid #e5e7eb!important;
  border-radius:14px!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
}
.hlh-profile-tabs-top a{
  border:0!important;
  background:transparent!important;
  color:#334155!important;
  border-radius:10px!important;
  padding:8px 12px!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  text-decoration:none!important;
  line-height:1.1!important;
}
.hlh-profile-tabs-top a:hover{background:#f8fafc!important;color:#111827!important;}
.hlh-profile-tabs-top a.is-active{
  color:#ffffff!important;
  background:linear-gradient(135deg,#172554,#7c2d92,#e83e8c)!important;
  box-shadow:0 8px 16px rgba(124,45,146,.20)!important;
}
.hlh-profile-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
  padding:18px 20px!important;
  margin:0 0 14px!important;
  background:linear-gradient(135deg,#ffffff 0%,#fbf8ff 72%,#fff4f8 100%)!important;
  border:1px solid #e8dceb!important;
  border-left:5px solid #e83e8c!important;
  border-radius:18px!important;
  box-shadow:0 14px 30px rgba(15,23,42,.08)!important;
}
.hlh-profile-hero-main{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important;}
.hlh-profile-avatar{
  width:56px!important;height:56px!important;min-width:56px!important;
  display:grid!important;place-items:center!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#172554,#e83e8c)!important;
  color:#fff!important;font-size:19px!important;font-weight:900!important;
  box-shadow:0 10px 20px rgba(232,62,140,.22)!important;
}
.hlh-profile-identity{min-width:0!important;}
.hlh-profile-kicker{
  display:inline-flex!important;align-items:center!important;gap:6px!important;
  color:#9f1239!important;background:#fff1f6!important;border:1px solid #ffd2e3!important;
  border-radius:999px!important;padding:4px 8px!important;font-size:11px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.06em!important;
}
.hlh-profile-identity h2{margin:8px 0 4px!important;color:#111827!important;font-size:26px!important;line-height:1.08!important;font-weight:900!important;}
.hlh-profile-identity p{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:0!important;}
.hlh-profile-identity p span{
  background:#fff!important;border:1px solid #e5e7eb!important;color:#334155!important;border-radius:9px!important;
  padding:5px 8px!important;font-size:12px!important;font-weight:800!important;
}
.hlh-profile-quick-actions{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:8px!important;}
.hlh-profile-quick-actions .hlh-button{
  min-height:34px!important;padding:8px 12px!important;border-radius:10px!important;font-size:12px!important;font-weight:900!important;
}
.hlh-profile-management{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
  margin:0 0 14px!important;padding:14px 16px!important;background:#ffffff!important;border:1px solid #e5e7eb!important;border-radius:16px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
}
.hlh-profile-management h2{margin:0 0 3px!important;font-size:15px!important;color:#111827!important;}
.hlh-profile-management p{margin:0!important;font-size:12px!important;color:#64748b!important;}
.hlh-profile-management-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:flex-end!important;}
.hlh-profile-management-actions .button{border-radius:9px!important;padding:5px 10px!important;min-height:32px!important;font-size:12px!important;font-weight:800!important;}
.hlh-profile-stats-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:0 0 14px!important;
}
.hlh-profile-stats-grid>div{
  padding:12px 14px!important;background:#ffffff!important;border:1px solid #e5e7eb!important;border-radius:14px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
}
.hlh-profile-stats-grid span{display:block!important;color:#64748b!important;font-size:11px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
.hlh-profile-stats-grid strong{display:block!important;margin-top:4px!important;color:#111827!important;font-size:20px!important;line-height:1.1!important;font-weight:900!important;}
.hlh-profile-stats-grid small{display:block!important;margin-top:3px!important;color:#64748b!important;font-size:12px!important;}
.hlh-profile-overview-grid,
.hlh-profile-inner-grid,
.hlh-profile-layout{
  gap:14px!important;
}
.hlh-profile-overview-card,
.hlh-profile-inner-grid .hlh-panel,
.hlh-profile-layout .hlh-panel,
.hlh-editable-profile .hlh-edit-card,
.hlh-student-panel{
  background:#ffffff!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  box-shadow:0 10px 22px rgba(15,23,42,.06)!important;
}
.hlh-profile-overview-card{padding:14px!important;}
.hlh-profile-overview-card h3,
.hlh-profile-inner-grid h2,
.hlh-profile-layout h2,
.hlh-student-panel h2{
  color:#111827!important;font-size:16px!important;line-height:1.2!important;margin:0 0 8px!important;font-weight:900!important;
}
.hlh-profile-overview-card p,
.hlh-profile-layout p,
.hlh-profile-inner-grid p{color:#475569!important;}
.hlh-card-heading{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
  border-bottom:1px solid #f1f5f9!important;padding-bottom:10px!important;margin-bottom:12px!important;
}
.hlh-card-heading h2{margin:0!important;}
.hlh-edit-toggle{border-radius:9px!important;font-weight:900!important;color:#1e3a8a!important;background:#eff6ff!important;border-color:#bfdbfe!important;}
.hlh-detail-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
.hlh-detail-list>div{
  background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:12px!important;padding:10px!important;
}
.hlh-detail-list span{display:block!important;color:#64748b!important;font-size:11px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.04em!important;margin-bottom:4px!important;}
.hlh-detail-list strong{display:block!important;color:#111827!important;font-size:14px!important;line-height:1.25!important;font-weight:800!important;word-break:break-word!important;}
.hlh-card-edit .hlh-form-grid{gap:12px!important;}
.hlh-card-edit label{font-size:12px!important;font-weight:900!important;color:#334155!important;}
.hlh-card-edit input,.hlh-card-edit select,.hlh-card-edit textarea{
  border:1px solid #cbd5e1!important;border-radius:10px!important;padding:9px 10px!important;background:#fff!important;color:#111827!important;box-shadow:none!important;
}
.hlh-card-edit input:focus,.hlh-card-edit select:focus,.hlh-card-edit textarea:focus{border-color:#e83e8c!important;box-shadow:0 0 0 3px rgba(232,62,140,.14)!important;outline:none!important;}
.hlh-check{display:flex!important;align-items:center!important;gap:9px!important;background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:12px!important;padding:10px 12px!important;margin:8px 0!important;color:#111827!important;}
.hlh-check input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;accent-color:#e83e8c!important;}
@media (max-width:900px){
  .hlh-profile-hero{grid-template-columns:1fr!important;padding:16px!important;}
  .hlh-profile-quick-actions{justify-content:flex-start!important;}
  .hlh-profile-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .hlh-detail-list{grid-template-columns:1fr!important;}
  .hlh-profile-management{display:block!important;}
  .hlh-profile-management-actions{justify-content:flex-start!important;margin-top:10px!important;}
}
@media (max-width:560px){
  .hlh-profile-tabs-top{overflow-x:auto!important;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch!important;}
  .hlh-profile-tabs-top a{white-space:nowrap!important;}
  .hlh-profile-avatar{width:48px!important;height:48px!important;min-width:48px!important;font-size:16px!important;}
  .hlh-profile-identity h2{font-size:22px!important;}
  .hlh-profile-stats-grid{grid-template-columns:1fr!important;}
  .hlh-profile-quick-actions .hlh-button{width:100%!important;justify-content:center!important;text-align:center!important;}
}


/* v0.4.29 – Global font refresh across the full plugin */


/* === 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. */

/* Headings: strong enough to read, no more 900/950 heavy blocks */

/* Body text and labels */

/* Buttons and tabs: professional medium weight */

/* Specific older heavy components */

/* Diary readability without chunky text */

/* Cards, chips and badges */

/* Form controls */

/* Pop-outs and modal action buttons */


/* === v0.4.31 Professional Scale + Font Fix ===
   Stronger override: removes the chunky/Fisher Price feel across admin, portal and student app. */

/* Headings: lighter and smaller */

/* Buttons/tabs: smaller, cleaner, less rounded */

/* Cards/hero: reduce bulk */

/* Diary: make the working view crisp rather than chunky */

/* Forms */

/* v0.4.33 - portal pupil profile tabs fallback */
html body .hlh-instructor-portal .hlh-portal-profile-tabs{display:flex!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;}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a{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;font-weight:600!important;text-decoration:none!important;}

/* v0.5.47 profile tab fallback */
html body .hlh-instructor-portal .hlh-portal-profile-tabs{gap:4px!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding:5px!important;background:#f1f5f9!important;border:1px solid #e2e8f0!important;border-radius:12px!important;box-shadow:none!important;}

/* v0.4.35 - minimal pupil profile heading */
html body .hlh-profile-hero-minimal{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:14px 18px!important;
  margin:0 0 14px!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-profile-hero-minimal .hlh-profile-hero-main{display:flex!important;align-items:center!important;gap:0!important;}
html body .hlh-profile-hero-minimal .hlh-profile-avatar,
html body .hlh-profile-hero-minimal .hlh-profile-kicker,
html body .hlh-profile-hero-minimal .hlh-profile-identity p{display:none!important;}
html body .hlh-profile-hero-minimal .hlh-profile-identity 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-profile-hero-minimal .hlh-profile-quick-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
html body .hlh-profile-hero-minimal .hlh-profile-quick-actions .hlh-button{
  padding:7px 10px!important;
  border-radius:9px!important;
  font-size:12px!important;
  font-weight:650!important;
}
@media(max-width:700px){
  html body .hlh-profile-hero-minimal{align-items:flex-start!important;flex-direction:column!important;padding:12px 14px!important;}
  html body .hlh-profile-hero-minimal .hlh-profile-identity h2{font-size:22px!important;}
  html body .hlh-profile-hero-minimal .hlh-profile-quick-actions{justify-content:flex-start!important;}
}


/* v0.4.44 - compact responsive summary cards across admin, portal and student app */
/* Make other summary/stat rows use the available width more intelligently */

/* v0.4.48 reliable remove button and message tidy */
.hlh-mobile-app .hlh-student-message-card .hlh-message-remove-action,
.hlh-public .hlh-student-message-card .hlh-message-remove-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:0 12px!important;
  margin-top:10px!important;
  border:1px solid #fecaca!important;
  border-radius:10px!important;
  background:#fff1f2!important;
  color:#991b1b!important;
  font-size:.82rem!important;
  font-weight:700!important;
  box-shadow:none!important;
  cursor:pointer!important;
}

/* v0.6.71 - compact learner/instructor conversation cards */
.hlh-mobile-app .hlh-student-conversation-card,
.hlh-public .hlh-student-conversation-card{
  display:grid!important;
  gap:10px!important;
  padding:16px!important;
  border:1px solid #e2e8f0!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:visible!important;
}
.hlh-mobile-app .hlh-student-conversation-card>strong,
.hlh-public .hlh-student-conversation-card>strong{
  margin:0!important;
  font-size:1rem!important;
}
.hlh-mobile-app .hlh-student-conversation-card>small,
.hlh-public .hlh-student-conversation-card>small{
  margin-top:-7px!important;
  color:#64748b!important;
  font-size:.8rem!important;
}
.hlh-mobile-app .hlh-conversation-message,
.hlh-public .hlh-conversation-message{
  display:grid!important;
  gap:4px!important;
  width:92%!important;
  padding:11px 13px!important;
  border-radius:15px!important;
}
.hlh-mobile-app .hlh-conversation-message.is-student,
.hlh-public .hlh-conversation-message.is-student{
  justify-self:start!important;
  background:#f1f5f9!important;
  border-bottom-left-radius:5px!important;
}
.hlh-mobile-app .hlh-conversation-message.is-instructor,
.hlh-public .hlh-conversation-message.is-instructor{
  justify-self:end!important;
  background:#f5eafe!important;
  border:1px solid rgba(126,58,142,.14)!important;
  border-bottom-right-radius:5px!important;
}
.hlh-mobile-app .hlh-conversation-message b,
.hlh-public .hlh-conversation-message b{
  color:#334155!important;
  font-size:.78rem!important;
}
.hlh-mobile-app .hlh-conversation-message p,
.hlh-public .hlh-conversation-message p{
  margin:0!important;
  color:#0f172a!important;
  line-height:1.45!important;
}
.hlh-mobile-app .hlh-student-message-card.is-removing,
.hlh-public .hlh-student-message-card.is-removing{
  opacity:0!important;
  transform:translateX(-8px)!important;
  max-height:0!important;
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  overflow:hidden!important;
}
.hlh-message-count[hidden],
.hlh-latest-message-alert[hidden],
[data-hlh-message-empty][hidden]{display:none!important;}

/* v0.6.72 - tighter conversation spacing without losing speaker separation */
.hlh-mobile-app .hlh-section-messages>.hlh-public-note.hlh-app-note,
.hlh-public .hlh-section-messages>.hlh-public-note.hlh-app-note{
  display:grid!important;
  gap:8px!important;
  padding:10px!important;
  margin-top:10px!important;
  border-radius:16px!important;
}
.hlh-mobile-app .hlh-student-conversation-card,
.hlh-public .hlh-student-conversation-card{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:6px 10px!important;
  padding:10px 11px!important;
  border-radius:14px!important;
}
.hlh-mobile-app .hlh-student-conversation-card>strong,
.hlh-public .hlh-student-conversation-card>strong{
  grid-column:1!important;
  align-self:center!important;
  line-height:1.25!important;
}
.hlh-mobile-app .hlh-student-conversation-card>small,
.hlh-public .hlh-student-conversation-card>small{
  grid-column:2!important;
  align-self:center!important;
  margin:0!important;
  white-space:nowrap!important;
}
.hlh-mobile-app .hlh-conversation-message,
.hlh-public .hlh-conversation-message{
  grid-column:1 / -1!important;
  width:fit-content!important;
  min-width:min(240px,100%)!important;
  max-width:min(88%,760px)!important;
  gap:2px!important;
  padding:7px 10px!important;
  border-radius:11px!important;
}
.hlh-mobile-app .hlh-conversation-message.is-student,
.hlh-public .hlh-conversation-message.is-student{
  border-left:3px solid #94a3b8!important;
  border-bottom-left-radius:4px!important;
}
.hlh-mobile-app .hlh-conversation-message.is-instructor,
.hlh-public .hlh-conversation-message.is-instructor{
  border-right:3px solid rgba(126,58,142,.48)!important;
  border-bottom-right-radius:4px!important;
}
.hlh-mobile-app .hlh-conversation-message p,
.hlh-public .hlh-conversation-message p{
  line-height:1.35!important;
}
@media(max-width:480px){
  .hlh-mobile-app .hlh-section-messages>.hlh-public-note.hlh-app-note,
  .hlh-public .hlh-section-messages>.hlh-public-note.hlh-app-note{
    padding:8px!important;
  }
  .hlh-mobile-app .hlh-student-conversation-card,
  .hlh-public .hlh-student-conversation-card{
    grid-template-columns:1fr!important;
  }
  .hlh-mobile-app .hlh-student-conversation-card>small,
  .hlh-public .hlh-student-conversation-card>small{
    grid-column:1!important;
    margin-top:-3px!important;
    white-space:normal!important;
  }
  .hlh-mobile-app .hlh-conversation-message,
  .hlh-public .hlh-conversation-message{
    max-width:94%!important;
  }
}

/* v0.6.73 - familiar phone-message conversation threads */
.hlh-mobile-app .hlh-student-conversation-card,
.hlh-public .hlh-student-conversation-card{
  display:block!important;
  width:min(100%,760px)!important;
  padding:0!important;
  border:1px solid #e2e8f0!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.hlh-mobile-app .hlh-sms-thread,
.hlh-public .hlh-sms-thread{
  display:grid!important;
  gap:8px!important;
  padding:9px 11px 11px!important;
  background:#fff!important;
}
.hlh-mobile-app .hlh-sms-date-divider,
.hlh-public .hlh-sms-date-divider{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 0 1px!important;
}
.hlh-mobile-app .hlh-sms-date-divider span,
.hlh-public .hlh-sms-date-divider span{
  color:#6b7280!important;
  font-size:.69rem!important;
  font-weight:700!important;
}
.hlh-mobile-app .hlh-sms-row,
.hlh-public .hlh-sms-row{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:2px!important;
  width:100%!important;
}
.hlh-mobile-app .hlh-sms-row.is-sent,
.hlh-public .hlh-sms-row.is-sent{align-items:flex-end!important;}
.hlh-mobile-app .hlh-sms-bubble,
.hlh-public .hlh-sms-bubble{
  width:fit-content!important;
  max-width:min(78%,560px)!important;
  padding:7px 11px!important;
  border:0!important;
  border-radius:18px!important;
  background:#e9e9eb!important;
  color:#111827!important;
  box-shadow:none!important;
}
.hlh-mobile-app .hlh-sms-row.is-received .hlh-sms-bubble,
.hlh-public .hlh-sms-row.is-received .hlh-sms-bubble{
  border-bottom-left-radius:5px!important;
}
.hlh-mobile-app .hlh-sms-row.is-sent .hlh-sms-bubble,
.hlh-public .hlh-sms-row.is-sent .hlh-sms-bubble{
  border-bottom-right-radius:5px!important;
  background:#0a84ff!important;
  color:#fff!important;
}
.hlh-mobile-app .hlh-sms-bubble p,
.hlh-public .hlh-sms-bubble p{
  margin:0!important;
  color:inherit!important;
  font-size:.92rem!important;
  line-height:1.33!important;
  overflow-wrap:anywhere!important;
}
.hlh-mobile-app .hlh-sms-row>small,
.hlh-public .hlh-sms-row>small{
  margin:0 7px!important;
  color:#6b7280!important;
  font-size:.66rem!important;
  line-height:1.2!important;
}
@media(max-width:480px){
  .hlh-mobile-app .hlh-sms-bubble,
  .hlh-public .hlh-sms-bubble{max-width:84%!important;}
}

/* v0.6.75 - Student App composer below the message conversation */
.hlh-mobile-app .hlh-student-chat-panel,
.hlh-public .hlh-student-chat-panel{
  width:min(100%,760px)!important;
  overflow:hidden!important;
}
.hlh-mobile-app .hlh-student-chat-composer,
.hlh-public .hlh-student-chat-composer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
  width:100%!important;
  margin:2px 0 0!important;
  padding:9px!important;
  border:1px solid #d1d5db!important;
  border-radius:20px!important;
  background:#f8fafc!important;
  box-sizing:border-box!important;
}
.hlh-mobile-app .hlh-student-chat-composer textarea,
.hlh-public .hlh-student-chat-composer textarea{
  display:block!important;
  width:100%!important;
  min-height:40px!important;
  max-height:120px!important;
  margin:0!important;
  padding:9px 13px!important;
  border:1px solid #cbd5e1!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
  font:inherit!important;
  font-size:16px!important;
  line-height:1.3!important;
  resize:vertical!important;
  box-sizing:border-box!important;
}
.hlh-mobile-app .hlh-student-chat-composer button,
.hlh-public .hlh-student-chat-composer button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:64px!important;
  min-height:40px!important;
  margin:0!important;
  padding:8px 14px!important;
  border:0!important;
  border-radius:18px!important;
  background:#0a84ff!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:inherit!important;
  font-weight:850!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.hlh-mobile-app .hlh-student-chat-empty,
.hlh-public .hlh-student-chat-empty{
  margin:4px 4px 8px!important;
  color:#64748b!important;
  text-align:center!important;
}

/* v0.6.78 - compact Student App message composer */
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-chat-panel{
  min-height:0!important;
  height:auto!important;
  align-content:start!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-chat-composer{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:0!important;
  height:auto!important;
  margin:2px 0 0!important;
  padding:6px!important;
  border-radius:18px!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-chat-composer>input[type="hidden"]{
  display:none!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-chat-composer textarea{
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:42px!important;
  height:42px!important;
  margin:0!important;
  padding:9px 13px!important;
  resize:none!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-chat-composer button{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:64px!important;
  min-height:42px!important;
  height:42px!important;
  margin:0!important;
  padding:8px 14px!important;
  border-radius:18px!important;
}

/* v0.6.82 - readable, separated bubbles in a bounded Student App chat */
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history,
html body .hlh-public .hlh-student-sms-history{
  grid-auto-rows:max-content!important;
  align-items:start!important;
  gap:14px!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history>.hlh-chat-message-group,
html body .hlh-public .hlh-student-sms-history>.hlh-chat-message-group{
  grid-auto-rows:max-content!important;
  align-content:start!important;
  align-items:stretch!important;
  gap:10px!important;
  min-height:max-content!important;
  padding:3px 0!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history>.hlh-chat-message-group+.hlh-chat-message-group,
html body .hlh-public .hlh-student-sms-history>.hlh-chat-message-group+.hlh-chat-message-group{
  margin-top:2px!important;
  padding-top:7px!important;
  border-top:1px solid rgba(226,232,240,.72)!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history .hlh-sms-row,
html body .hlh-public .hlh-student-sms-history .hlh-sms-row{
  position:relative!important;
  z-index:auto!important;
  flex:none!important;
  min-height:max-content!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history .hlh-sms-row+.hlh-sms-row,
html body .hlh-public .hlh-student-sms-history .hlh-sms-row+.hlh-sms-row{
  margin-top:5px!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history .hlh-sms-row>small,
html body .hlh-public .hlh-student-sms-history .hlh-sms-row>small{
  display:block!important;
  position:static!important;
  min-height:13px!important;
  margin-top:3px!important;
  line-height:1.25!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history .hlh-sms-bubble,
html body .hlh-public .hlh-student-sms-history .hlh-sms-bubble{
  display:block!important;
  position:static!important;
  flex:none!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history.is-scrollable,
html body .hlh-public .hlh-student-sms-history.is-scrollable{
  height:var(--hlh-chat-window-height,280px)!important;
  min-height:230px!important;
  max-height:340px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  align-content:start!important;
  overscroll-behavior:contain!important;
  scrollbar-width:thin!important;
  scrollbar-color:#cbd5e1 transparent!important;
  -webkit-overflow-scrolling:touch!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-sms-history.is-scrollable:focus-visible,
html body .hlh-public .hlh-student-sms-history.is-scrollable:focus-visible{
  outline:3px solid rgba(10,132,255,.28)!important;
  outline-offset:2px!important;
}

/* v0.4.50 student notification popup and settings refresh placement */
.hlh-student-notification-popup {
  position: fixed;
  inset: auto 14px 18px 14px;
  z-index: 999999;
  display: flex;
  justify-content: center;
  pointer-events: none;
}
.hlh-student-notification-popup-inner {
  width: min(440px, 100%);
  background: #ffffff;
  border: 1px solid rgba(139, 30, 94, .18);
  border-left: 5px solid #d63384;
  box-shadow: 0 18px 50px rgba(15, 23, 42, .20);
  border-radius: 18px;
  padding: 16px 16px 15px;
  color: #172033;
  pointer-events: auto;
  position: relative;
  animation: hlhPopupIn .22s ease-out both;
}
.hlh-student-notification-popup.is-closing .hlh-student-notification-popup-inner { animation: hlhPopupOut .18s ease-in both; }
.hlh-student-notification-kicker {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #b5176f;
  margin-bottom: 4px;
}
.hlh-student-notification-popup strong {
  display: block;
  font-size: 17px;
  line-height: 1.25;
  color: #121827;
  margin-right: 32px;
}
.hlh-student-notification-popup p {
  margin: 6px 0 12px;
  color: #4b5563;
  font-size: 14px;
}
.hlh-student-notification-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 10px;
  background: #8b1e5e;
  color: #fff !important;
  text-decoration: none;
  font-weight: 700;
}
.hlh-student-notification-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 9px;
  background: #f3f4f6;
  color: #111827;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.hlh-student-settings-refresh {
  margin-top: 14px;
}
.hlh-student-settings-refresh .hlh-student-refresh-button {
  width: auto;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 10px;
}
.hlh-refresh-status,
.hlh-student-settings-refresh [data-hlh-refresh-status] {
  margin: 8px 0 0;
  color: #4b5563;
  font-size: 13px;
}
@keyframes hlhPopupIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hlhPopupOut { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(10px); } }
@media (min-width: 760px) {
  .hlh-student-notification-popup { inset: auto 22px 24px auto; justify-content: flex-end; }
  .hlh-student-notification-popup-inner { width: 390px; }
}

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

/* v0.6.10 - contained instructor sign-up */
.hlh-success-card{border-left:4px solid #22c55e;}

.hlh-instructor-signup-v56{
  --hlh-signup-ink:#111827;
  --hlh-signup-muted:#6b7280;
  --hlh-signup-line:#e5e7eb;
  --hlh-signup-soft:#fff7fb;
  width:100%!important;
  max-width:900px!important;
  margin:0 auto!important;
  padding:22px 16px 40px!important;
  color:var(--hlh-signup-ink)!important;
}
.hlh-instructor-signup-v56 *{box-sizing:border-box;}
.hlh-signup-notice{
  display:flex;
  gap:10px;
  align-items:center;
  margin:0 0 16px!important;
  border-radius:18px;
  padding:10px 16px;
  border:1px solid #bbf7d0;
  background:#f0fdf4;
  color:#14532d;
  box-shadow:0 8px 24px rgba(17,24,39,.05);
  transition:opacity .45s ease, transform .45s ease, max-height .45s ease, margin .45s ease, padding .45s ease, border-width .45s ease;
  overflow:hidden;
}
.hlh-signup-notice.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;
}
.hlh-signup-notice span{display:block;color:inherit;opacity:.9;}
.hlh-signup-notice strong{flex:0 0 auto;}
.hlh-signup-notice-warning{border-color:#fde68a;background:#fffbeb;color:#92400e;}
.hlh-instructor-signup-shell{
  display:block;
  background:#fff;
  border:1px solid var(--hlh-signup-line);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(17,24,39,.08);
}
.hlh-instructor-signup-form{padding:26px!important;display:block!important;}
.hlh-signup-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.hlh-instructor-signup-form label{display:block;margin:0!important;color:#111827!important;font-weight:900!important;}
.hlh-instructor-signup-form label span{display:block;margin:0 0 7px;font-size:13px;color:#374151;letter-spacing:.01em;}
.hlh-instructor-signup-form input,
.hlh-instructor-signup-form select,
.hlh-instructor-signup-form textarea{
  width:100%!important;
  min-height:48px!important;
  border:1px solid #d1d5db!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#111827!important;
  padding:11px 13px!important;
  font-size:15px!important;
  box-shadow:none!important;
  outline:none!important;
}
.hlh-instructor-signup-form textarea{min-height:118px!important;resize:vertical;line-height:1.45;}
.hlh-instructor-signup-form input:focus,
.hlh-instructor-signup-form select:focus,
.hlh-instructor-signup-form textarea:focus{
  border-color:#e83e8c!important;
  box-shadow:0 0 0 4px rgba(232,62,140,.12)!important;
}
.hlh-signup-full{margin-top:16px!important;}
.hlh-signup-actions{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
  border-top:1px solid #f3f4f6;
  padding-top:18px;
}
.hlh-signup-submit{
  min-height:48px!important;
  padding:0 20px!important;
  border-radius:14px!important;
  border:0!important;
  background:#e83e8c!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:0 12px 26px rgba(232,62,140,.22)!important;
}
.hlh-signup-actions p{margin:0!important;color:#6b7280!important;font-size:13px!important;line-height:1.4!important;}
@media(max-width:820px){
  .hlh-signup-actions{align-items:stretch;flex-direction:column;}
  .hlh-signup-submit{width:100%;}
}
@media(max-width:560px){
  .hlh-instructor-signup-v56{padding:14px 10px 28px!important;}
  .hlh-instructor-signup-form{padding:20px!important;}
  .hlh-instructor-signup-shell{border-radius:22px;}
  .hlh-signup-form-grid{grid-template-columns:1fr;gap:13px;}
}

/* v0.7.57 - dedicated, readable one-day instructor diary for phones only. */
.hlh-diary-mobile-title,
.hlh-mobile-diary-days,
.hlh-diary-today-link{display:none!important}
.hlh-event-name-mobile,.hlh-event-time-mobile{display:none!important}

@media(max-width:640px){
    .hlh-instructor-portal:has(.hlh-portal-calendar-wrap){
        padding:8px!important;
        padding-bottom:94px!important;
        overflow:visible!important;
    }
    .hlh-instructor-portal .hlh-portal-diary-head{
        display:block!important;
        margin:0 0 8px!important;
        padding:12px!important;
        border-radius:12px!important;
    }
    .hlh-instructor-portal .hlh-portal-diary-head>div:first-child{
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
    }
    .hlh-instructor-portal .hlh-portal-diary-head .hlh-kicker,
    .hlh-diary-desktop-title{display:none!important}
    .hlh-instructor-portal .hlh-portal-diary-head h2{
        margin:0!important;
        color:#172033!important;
        font-size:1.55rem!important;
        line-height:1.1!important;
    }
    .hlh-diary-mobile-title{display:inline!important}
    .hlh-instructor-portal .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;
    }
    .hlh-instructor-portal .hlh-portal-week-nav strong{
        display:block!important;
        grid-column:1 / -1!important;
        grid-row:1!important;
        width:100%!important;
        min-height:0!important;
        margin:0!important;
        padding:0 2px 3px!important;
        border:0!important;
        background:transparent!important;
        color:#5d687a!important;
        font-size:.8rem!important;
        text-align:left!important;
    }
    .hlh-instructor-portal .hlh-portal-week-nav a{
        display:flex!important;
        min-width:0!important;
        min-height:42px!important;
        margin:0!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;
        font-size:.78rem!important;
        line-height:1.1!important;
        text-align:center!important;
        white-space:nowrap!important;
    }
    .hlh-instructor-portal .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;
    }
    .hlh-instructor-portal .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;
    }
    .hlh-instructor-portal .hlh-diary-toolbar-nav{display:none!important}
    .hlh-instructor-portal .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;
        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;
    }
    .hlh-instructor-portal .hlh-diary-add-event::before{
        content:"+";
        display:block;
        color:#fff!important;
        font-size:3.2rem!important;
        font-weight:300!important;
        line-height:.8!important;
        transform:translateY(-2px);
    }
    .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;
        box-sizing:border-box!important;
        border:1px solid #dfe4eb!important;
        border-radius:12px!important;
        background:#fff!important;
        box-shadow:0 2px 8px rgba(23,32,51,.05)!important;
    }
    .hlh-mobile-diary-day{
        display:flex!important;
        min-width:0!important;
        width:100%!important;
        min-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;
        text-align:center!important;
    }
    .hlh-mobile-diary-day span{
        color:inherit!important;
        font-size:.64rem!important;
        font-weight:800!important;
        line-height:1!important;
        text-transform:uppercase!important;
    }
    .hlh-mobile-diary-day strong{
        color:inherit!important;
        font-size:1.05rem!important;
        font-weight:900!important;
        line-height:1!important;
    }
    .hlh-mobile-diary-day.is-selected{
        border-color:#136a9b!important;
        background:#136a9b!important;
        color:#fff!important;
        -webkit-text-fill-color:#fff!important;
        box-shadow:0 4px 12px rgba(19,106,155,.25)!important;
    }
    .hlh-mobile-diary-day.is-selected span,
    .hlh-mobile-diary-day.is-selected strong{
        color:#fff!important;
        -webkit-text-fill-color:#fff!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-wrap{
        width:100%!important;
        height:calc(100dvh - 270px)!important;
        min-height:430px!important;
        max-height:720px!important;
        margin:0!important;
        border:1px solid #dfe4eb!important;
        border-radius:12px!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch!important;
        background:#fff!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid{
        display:grid!important;
        width:100%!important;
        min-width:0!important;
        grid-template-columns:62px minmax(0,1fr)!important;
        grid-auto-rows:62px!important;
        background:#fff!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-mobile-day-hidden{display:none!important}
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-mobile-day-visible{grid-column:2!important}
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-time-head{
        grid-column:1!important;
        min-width:0!important;
        padding:7px 4px!important;
        font-size:.7rem!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head.hlh-mobile-day-visible{
        position:sticky!important;
        top:0!important;
        z-index:13!important;
        min-width:0!important;
        padding:7px 8px!important;
        flex-direction:row!important;
        gap:6px!important;
        background:#26384f!important;
        color:#fff!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head.hlh-mobile-day-visible strong{
        color:#fff!important;
        font-size:.88rem!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head.hlh-mobile-day-visible span{
        margin:0!important;
        color:#fff!important;
        font-size:.82rem!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head.hlh-mobile-day-visible span::after{content:none!important}
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-time{
        grid-column:1!important;
        min-width:0!important;
        padding:7px 7px 0 3px!important;
        justify-content:flex-end!important;
        color:#334155!important;
        font-size:.78rem!important;
        font-weight:800!important;
        line-height:1!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-time.hlh-half-hour{
        color:#94a3b8!important;
        font-size:.66rem!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-cell.hlh-mobile-day-visible{
        min-width:0!important;
        background:#fff!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-cell.hlh-mobile-day-visible.hlh-half-hour-cell{background:#fbfdff!important}
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-cell.hlh-mobile-day-visible.hlh-slot-outside-hours{background:#edf1f5!important}
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-add{
        top:50%!important;
        right:10px!important;
        width:36px!important;
        min-width:36px!important;
        height:36px!important;
        min-height:36px!important;
        padding:0!important;
        border:1px solid #cbd5e1!important;
        border-radius:50%!important;
        background:#f1f5f9!important;
        color:#136a9b!important;
        -webkit-text-fill-color:#136a9b!important;
        font-size:1.25rem!important;
        line-height:1!important;
        transform:translateY(-50%)!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block.hlh-mobile-day-visible{
        min-width:0!important;
        margin:4px 6px!important;
        border:0!important;
        border-radius:11px!important;
        background:var(--hlh-diary-lesson,#456483)!important;
        box-shadow:0 5px 14px rgba(15,23,42,.18)!important;
        overflow:hidden!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block.hlh-event-gap.hlh-mobile-day-visible{background:var(--hlh-diary-gap,#34705f)!important}
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block.hlh-event-time_away.hlh-mobile-day-visible{background:var(--hlh-diary-away,#596474)!important}
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link{
        min-width:0!important;
        height:100%!important;
        padding:10px 46px 29px 12px!important;
        gap:3px!important;
        overflow:hidden!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link strong{
        color:inherit!important;
        font-size:1rem!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;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link small,
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link span,
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link em{
        display:block!important;
        color:inherit!important;
        font-size:.78rem!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;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-time-full{display:block!important}
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-time-mobile{display:none!important}
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-card-title{
        color:#111827!important;
        -webkit-text-fill-color:#111827!important;
        font-style:normal!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-payment-strip{
        position:absolute!important;
        left:0!important;
        right:0!important;
        bottom:0!important;
        width:100%!important;
        min-height:25px!important;
        margin:0!important;
        padding:5px 9px!important;
        box-sizing:border-box!important;
        border-radius:0!important;
        color:#fff!important;
        -webkit-text-fill-color:#fff!important;
        font-size:.76rem!important;
        line-height:1.2!important;
        text-align:center!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-diary-action-menu{
        top:8px!important;
        right:8px!important;
        z-index:15!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-diary-options-button{
        width:34px!important;
        min-width:34px!important;
        height:34px!important;
        min-height:34px!important;
        padding:0!important;
        border-radius:9px!important;
        background:rgba(255,255,255,.94)!important;
        color:#172033!important;
        -webkit-text-fill-color:#172033!important;
        font-size:1.25rem!important;
    }
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-diary-resize-handle{display:none!important}
    .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-current-time-marker.hlh-mobile-day-visible{grid-column:2!important}
}

/* v0.6.10 - contained instructor access and login */
.hlh-instructor-access-page{box-sizing:border-box!important;width:calc(100% - 32px)!important;max-width:900px!important;margin:24px auto 40px!important;padding:0!important;}
.hlh-instructor-access-hero{display:block;align-items:stretch;margin-bottom:18px;padding:26px;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#fff7fb 42%,#f6f3ff 100%);border:1px solid rgba(216,48,135,.16);box-shadow:0 18px 46px rgba(31,41,55,.08);}
.hlh-instructor-access-hero h1{margin:4px 0 8px;font-size:clamp(30px,4vw,52px);line-height:1.02;color:#1f2937;letter-spacing:-.04em;}
.hlh-instructor-access-hero p{max-width:680px;margin:0;color:#4b5563;font-size:17px;line-height:1.55;}
.hlh-instructor-access-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:18px;align-items:stretch;}
.hlh-login-card,.hlh-login-help-card{border-radius:22px!important;border:1px solid rgba(216,48,135,.14)!important;box-shadow:0 14px 36px rgba(31,41,55,.07)!important;background:#fff!important;}
.hlh-login-card .login-username,.hlh-login-card .login-password,.hlh-login-card .login-remember,.hlh-login-card .login-submit{margin:0!important;}
.hlh-shortcode-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;}
.hlh-shortcode-split>div{border:1px solid rgba(31,41,55,.12);border-radius:14px;background:#fff;padding:12px;display:grid;gap:8px;}
.hlh-shortcode-split code{display:block;width:max-content;max-width:100%;}
.hlh-shortcode-split span{color:#6b7280;font-size:13px;}
@media(max-width:800px){.hlh-instructor-access-shell,.hlh-shortcode-split{grid-template-columns:1fr}.hlh-instructor-access-hero{padding:20px;border-radius:20px}}

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

/* v0.4.61 - admin instructor login testing without logging out */

/* v0.4.62 - admin instructor journey testing */
.hlh-admin-journey-banner h2,
.hlh-admin-login-test-card h2 { margin-top: 4px !important; }
.hlh-admin-login-demo label {
    display: grid !important;
    gap: 6px !important;
    font-weight: 700 !important;
}
.hlh-admin-login-demo input:disabled,
.hlh-admin-login-demo button:disabled {
    opacity: .62 !important;
    cursor: not-allowed !important;
}

/* v0.4.64 - temporary instructor login details */
.hlh-temp-login-box{margin-top:10px;padding:12px;border:1px solid rgba(232,62,140,.28);border-radius:14px;background:linear-gradient(135deg,rgba(232,62,140,.08),rgba(111,66,193,.06));display:grid;gap:6px;max-width:680px;}
.hlh-temp-login-box strong{font-size:14px;color:#111827;}
.hlh-temp-login-box span{display:block;font-size:13px;color:#374151;}
.hlh-temp-login-box code{font-size:13px;padding:3px 6px;border-radius:7px;background:#fff;border:1px solid rgba(17,24,39,.12);}
.hlh-temp-login-box textarea{width:100%;min-height:92px;margin-top:6px;border-radius:10px;border:1px solid rgba(17,24,39,.18);padding:10px;font-size:12.5px;background:#fff;}
.hlh-temp-login-box em{font-size:12px;color:#6b7280;}


/* v0.4.65 - keep instructor auth fully front-end, not WordPress-looking */

/* v0.5.38 - branded instructor approval and password setup */


/* v0.4.66 - slimmer professional diary rows and square filled diary entries */


/* v0.4.67 - hard diary row height and square block override */


/* v0.4.68 - diary text readability restore while keeping slim square boxes */

/* v0.4.69 - compact instructor settings and custom diary colours */



/* v0.4.78 - postcode finder removed */

/* v0.4.79 - mobile friendly grouped student progress cards */
.hlh-public .hlh-student-progress-note{
    padding:16px!important;
    overflow:hidden!important;
}
.hlh-public .hlh-student-progress-groups{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    margin:8px 0 0!important;
}
.hlh-public .hlh-student-progress-group{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    background:#fff!important;
    border:1px solid #e5e7eb!important;
    border-radius:18px!important;
    padding:14px!important;
    box-shadow:0 8px 22px rgba(17,24,39,.045)!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}
.hlh-public .hlh-student-progress-group h4{
    margin:0 0 12px!important;
    padding:0 0 9px!important;
    border-bottom:1px solid #f1f5f9!important;
    font-size:16px!important;
    line-height:1.25!important;
    color:#111827!important;
    font-weight:900!important;
}
.hlh-public .hlh-student-progress-cards{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
}
.hlh-public .hlh-student-progress-card{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    min-height:94px!important;
    padding:13px!important;
    border:1px solid #eef2f7!important;
    border-radius:14px!important;
    background:#f9fafb!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}
.hlh-public .hlh-student-progress-card-top{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    align-items:start!important;
    min-width:0!important;
}
.hlh-public .hlh-student-progress-card-top strong{
    display:block!important;
    color:#111827!important;
    font-size:14px!important;
    line-height:1.25!important;
    font-weight:900!important;
    overflow-wrap:break-word!important;
}
.hlh-public .hlh-student-progress-card-top span{
    display:block!important;
    color:#4b5563!important;
    font-size:12.5px!important;
    line-height:1.25!important;
    font-weight:800!important;
}
.hlh-public .hlh-student-progress-bar{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:20px!important;
    min-height:20px!important;
    margin-top:auto!important;
    border-radius:999px!important;
    background:#e5e7eb!important;
    overflow:hidden!important;
    box-shadow:inset 0 0 0 1px rgba(17,24,39,.04)!important;
}
.hlh-public .hlh-student-progress-bar i{
    display:block!important;
    height:100%!important;
    min-width:0!important;
    border-radius:999px!important;
    background:var(--hlh-brand,#d83087)!important;
}
.hlh-public .hlh-student-progress-bar b{
    position:absolute!important;
    inset:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#111827!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:900!important;
    text-shadow:0 1px 0 rgba(255,255,255,.35)!important;
}
/* Hide old plain student progress rows if any older markup remains cached. */
.hlh-public .hlh-student-progress-list div{
    display:block!important;
}
@media(min-width:720px){
    .hlh-public .hlh-student-progress-groups{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:390px){
    .hlh-public .hlh-student-progress-note{padding:12px!important;}
    .hlh-public .hlh-student-progress-group{padding:12px!important;border-radius:16px!important;}
    .hlh-public .hlh-student-progress-card{padding:12px!important;min-height:90px!important;}
    .hlh-public .hlh-student-progress-card-top strong{font-size:13.5px!important;}
}


/* v0.4.80 - keep admin pupil detail values on one line */

/* v0.4.81 - instructor portal full pupil profile details */
.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-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;}

/* v0.5.61 - instructor account and password controls */
.hlh-account-security-section{margin-top:18px!important;border-color:rgba(216,48,135,.22)!important;}
.hlh-change-password-form{padding:18px!important;background:linear-gradient(135deg,rgba(216,48,135,.055),rgba(124,58,237,.05))!important;border-radius:16px!important;}
.hlh-change-password-form .hlh-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
.hlh-change-password-form label{font-weight:800!important;color:#31283a!important;}
.hlh-change-password-form input[type="password"]{width:100%!important;min-height:48px!important;margin-top:7px!important;border:1px solid #dacde0!important;border-radius:13px!important;background:#fff!important;padding:11px 13px!important;font-size:16px!important;}
.hlh-change-password-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-change-password-form small{display:block!important;margin-top:6px!important;color:#6b6470!important;font-weight:500!important;}
.hlh-change-password-form .hlh-section-save-row{margin-top:16px!important;}
@media (max-width:760px){.hlh-change-password-form .hlh-form-grid{grid-template-columns:1fr!important;}.hlh-change-password-form{padding:14px!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 */

/* v0.4.84 - instructor mobile road mode support */
@media (max-width:760px){
  .hlh-instructor-mobile-ready{max-width:100%!important;}
  .hlh-instructor-mobile-ready .hlh-button,.hlh-instructor-mobile-ready .hlh-mini-button{min-height:40px;}
}

/* v0.4.85 - instructor mobile one-day lesson diary fallback */


/* v0.4.88 - instructor mobile refresh controls shared */
@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.90 - accessible automatic diary text contrast */

/* v0.4.91 - road mode mobile settings */
.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;}

/* v0.4.92 - clearer Road Mode settings and action buttons */
.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;font-weight:800!important;color:#172033!important}.hlh-road-toggle input[type=checkbox]{width:24px!important;height:24px!important;min-width:24px!important;accent-color:#2563eb!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}@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}.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 */

/* v0.4.94 - custom Road Mode message library */

/* v0.4.95 - student app instructor branding */.hlh-student-brand-logo{width:34px;height:34px;border-radius:9px;padding:3px;object-fit:contain;background:#fff;border:1px solid rgba(15,23,42,.10)}

/* v0.4.96 - simple road mode message dropdown settings */
.hlh-simple-message-settings .hlh-road-message-template-select,.hlh-simple-message-settings textarea{width:100%!important;box-sizing:border-box!important;}

/* v0.4.97 - adaptive branding name and stable logo fit */
.hlh-student-brand-line,
.hlh-branded-top-inner,
.hlh-branding-preview-card{
  min-width:0!important;
}
.hlh-student-brand-line{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.hlh-student-brand-line .hlh-public-kicker{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  min-width:0!important;
  max-width:calc(100% - 64px)!important;
  line-height:1.05!important;
  font-size:clamp(10px, 3.45vw, 14px)!important;
  transform-origin:left center!important;
}
.hlh-student-brand-logo{
  width:56px!important;
  height:44px!important;
  flex:0 0 56px!important;
  max-width:56px!important;
  max-height:44px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  padding:2px!important;
  border-radius:8px!important;
}
.hlh-student-hero-slim .hlh-student-brand-line{
  min-height:46px!important;
}
@media(max-width:430px){
  .hlh-student-brand-line{gap:7px!important;}
  .hlh-student-brand-logo{width:52px!important;height:40px!important;flex-basis:52px!important;max-width:52px!important;max-height:40px!important;}
  .hlh-student-brand-line .hlh-public-kicker{max-width:calc(100% - 59px)!important;font-size:clamp(9px, 3.25vw, 13px)!important;}
}

/* v0.4.98 - keep branding text uniform, never horizontally distorted */

/* v0.5.02 - keep learner app on main Horizon branding, not instructor branding */
.hlh-student-main-brand-line{display:block!important;min-height:0!important;margin-bottom:4px!important;overflow:hidden!important;}
.hlh-student-main-brand-line .hlh-public-kicker{max-width:100%!important;font-size:13px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.hlh-student-main-brand-line .hlh-student-brand-logo{display:none!important;}

/* v0.5.03 - assigned instructor branding restored on learner app without distorting text */


/* v0.5.06 - top status/check-in messages fade away after 5 seconds */
.hlh-app-alert,
.hlh-status-bar,
.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-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;
}

/* v0.5.07 - SA My Details editable contact form */
.hlh-sa-details-section .hlh-sa-section-head{margin:0 0 14px 0}.hlh-sa-details-section .hlh-sa-section-head h3{margin:0 0 4px;font-size:clamp(24px,6vw,34px);line-height:1.05}.hlh-sa-details-section .hlh-sa-section-head p{margin:0;color:#4b5563;font-size:15px;line-height:1.35}.hlh-sa-detail-list{display:grid;grid-template-columns:1fr;gap:8px}.hlh-sa-detail-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(15,23,42,.10);background:#f8fafc;border-radius:14px;padding:12px 14px;min-width:0}.hlh-sa-detail-list span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#64748b;flex:0 0 auto}.hlh-sa-detail-list strong{font-size:15px;font-weight:800;color:#0f172a;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hlh-sa-details-edit-card p{margin-top:-4px;color:#64748b}.hlh-sa-details-form{display:grid;gap:14px}.hlh-sa-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hlh-sa-details-form label{font-weight:800;color:#334155;font-size:13px}.hlh-sa-details-form input,.hlh-sa-details-form select{margin-top:6px;width:100%;min-height:46px;border:1px solid rgba(148,163,184,.55);border-radius:14px;padding:10px 12px;background:#fff;font-size:16px}.hlh-sa-address-fieldset{border:1px solid rgba(148,163,184,.30);border-radius:18px;padding:14px;background:rgba(248,250,252,.75)}.hlh-sa-address-fieldset legend{font-weight:900;color:#0f172a;padding:0 6px}.hlh-sa-details-form .hlh-button{width:100%;min-height:50px;border-radius:16px;font-size:17px;font-weight:900}@media(max-width:640px){.hlh-sa-form-grid{grid-template-columns:1fr}.hlh-sa-detail-list>div{align-items:flex-start}.hlh-sa-detail-list strong{white-space:normal;word-break:break-word}.hlh-sa-details-card,.hlh-sa-details-edit-card{padding:18px!important}}


/* v0.5.08 - SA My Details read-only first, edit button reveals form */
.hlh-sa-details-section .hlh-sa-section-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;}
.hlh-sa-edit-toggle{flex:0 0 auto!important;width:auto!important;min-height:42px!important;padding:10px 16px!important;border-radius:14px!important;font-size:15px!important;}
.hlh-sa-details-edit-card[hidden]{display:none!important;}
.hlh-sa-details-edit-card.is-open{display:block!important;animation:hlhSaEditIn .18s ease-out both;}
.hlh-sa-edit-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
.hlh-sa-edit-actions .hlh-button{width:100%!important;}
.hlh-sa-edit-actions .hlh-button-secondary{background:#f8fafc!important;color:#0f172a!important;border:1px solid rgba(148,163,184,.45)!important;box-shadow:none!important;}
@keyframes hlhSaEditIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:520px){.hlh-sa-details-section .hlh-sa-section-head{align-items:stretch!important;flex-direction:column!important}.hlh-sa-edit-toggle{width:100%!important}.hlh-sa-edit-actions{grid-template-columns:1fr!important}}


/* v0.5.09 - SA My Details edit button readable and edit panel reveal fix */
.hlh-sa-details-section .hlh-sa-edit-toggle,
.hlh-student-app .hlh-sa-details-section .hlh-sa-edit-toggle,
.hlh-public-app .hlh-sa-details-section .hlh-sa-edit-toggle{
  background:linear-gradient(135deg,#0f172a,#334155)!important;
  color:#ffffff!important;
  border:0!important;
  box-shadow:0 8px 18px rgba(15,23,42,.16)!important;
  text-shadow:none!important;
}
.hlh-sa-details-section .hlh-sa-edit-toggle:hover,
.hlh-sa-details-section .hlh-sa-edit-toggle:focus{
  background:linear-gradient(135deg,#111827,#475569)!important;
  color:#ffffff!important;
  outline:2px solid rgba(99,102,241,.35)!important;
  outline-offset:2px!important;
}
.hlh-sa-details-section .hlh-sa-details-edit-card[hidden]{display:none!important;}
.hlh-sa-details-section .hlh-sa-details-edit-card.is-open{display:block!important;visibility:visible!important;opacity:1!important;}
.hlh-sa-details-section .hlh-sa-details-edit-card.is-open input,
.hlh-sa-details-section .hlh-sa-details-edit-card.is-open select,
.hlh-sa-details-section .hlh-sa-details-edit-card.is-open textarea{pointer-events:auto!important;opacity:1!important;}


/* v0.5.11 - current time marker for diary grids */
.hlh-student-credit-card{border:1px solid rgba(37,99,235,.2);background:linear-gradient(145deg,#fff,#f5f8ff)}
.hlh-student-credit-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:14px 0}
.hlh-student-credit-form label{min-width:190px;flex:1}
.hlh-student-credit-form select{width:100%;margin-top:6px}
.hlh-student-credit-form .hlh-button{min-height:44px}

/* v0.5.47 final profile-tab fallback */
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;padding:5px!important;background:#f1f5f9!important;border:1px solid #e2e8f0!important;border-radius:12px!important;box-shadow:none!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;font-weight:750!important;box-shadow:none!important;}
html body .hlh-instructor-portal .hlh-portal-profile-tabs a:hover{background:rgba(255,255,255,.72)!important;color:#111827!important;}
.hlh-preview-admin-return{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:46px;
  padding:11px 17px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  background:linear-gradient(135deg,#241233 0%,#7c3aed 52%,#db2777 100%);
  color:#fff!important;
  text-decoration:none!important;
  font-weight:900;
  box-shadow:0 12px 30px rgba(36,18,51,.30);
  transition:transform .18s ease,box-shadow .18s ease;
}
.hlh-preview-admin-return:hover,
.hlh-preview-admin-return:focus{
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(36,18,51,.38);
  outline:3px solid rgba(219,39,119,.24);
  outline-offset:3px;
}
@media(max-width:600px){
  .hlh-preview-admin-return{
    right:12px;
    bottom:12px;
    min-height:44px;
    padding:10px 15px;
    font-size:14px;
  }
}

/* v0.5.51 - student-friendly lesson payments */
.hlh-mobile-app .hlh-student-primary-actions .hlh-student-pay-action{
  background:linear-gradient(135deg,var(--hlh-brand,#e83e8c),var(--hlh-accent,#8b5cf6))!important;
  border-color:transparent!important;
  color:#fff!important;
}
.hlh-mobile-app .hlh-student-primary-actions .hlh-student-pay-action span,
.hlh-mobile-app .hlh-student-primary-actions .hlh-student-pay-action em{color:#fff!important;}
.hlh-student-payments-page{display:grid;gap:16px!important;}
.hlh-student-payments-heading{display:flex;align-items:center;gap:13px;padding:18px;border-radius:20px;background:linear-gradient(135deg,rgba(232,62,140,.10),rgba(139,92,246,.12));border:1px solid rgba(139,92,246,.18);}
.hlh-student-payments-heading .hlh-home-tile-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--hlh-brand,#e83e8c),var(--hlh-accent,#8b5cf6));color:#fff;font-size:25px;font-weight:900;}

/* v0.5.74 - stable, compact Student App home layout.
   These final rules deliberately neutralise theme link/grid placement and the
   older overlapping phone breakpoints without affecting internal app pages. */
.hlh-mobile-app[data-hlh-student-app="1"] {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    margin-inline: auto !important;
    padding-inline: 10px !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-primary-actions,
.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-advantage .hlh-student-home-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    gap: 10px !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-primary-actions > a,
.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-advantage .hlh-student-home-grid > a {
    grid-column: auto !important;
    grid-row: auto !important;
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    align-self: stretch !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-primary-actions {
    margin: 12px 0 !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-primary-actions > a {
    min-height: 112px !important;
    padding: 14px !important;
    gap: 5px !important;
    border-radius: 18px !important;
    justify-content: flex-start !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-primary-actions a > span:not(.hlh-home-tile-icon) {
    font-size: clamp(.95rem, 4vw, 1.08rem) !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-primary-actions a em {
    font-size: clamp(.75rem, 3.25vw, .84rem) !important;
    line-height: 1.25 !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-home-tile-icon {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
    border-radius: 10px !important;
    font-size: 1rem !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-advantage {
    margin: 12px 0 !important;
    border-radius: 18px !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-advantage > h3 {
    padding: 13px 15px !important;
    font-size: 1.05rem !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-advantage .hlh-student-home-grid {
    margin: 0 !important;
    padding: 8px !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-advantage .hlh-student-home-grid > a {
    min-height: 88px !important;
    padding: 11px !important;
    gap: 4px !important;
    border-radius: 13px !important;
    justify-content: flex-start !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-advantage .hlh-student-home-grid a span:not(.hlh-home-tile-icon) {
    font-size: .94rem !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-advantage .hlh-student-home-grid a em {
    font-size: .76rem !important;
}

.hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-settings-button {
    min-height: 70px !important;
    margin: 12px 0 !important;
    padding: 12px 14px !important;
    gap: 10px !important;
    border-radius: 18px !important;
}

@media (max-width: 420px) {
    .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-primary-actions,
    .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-advantage .hlh-student-home-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 340px) {
    .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-primary-actions {
        grid-template-columns: 1fr !important;
    }
}
.hlh-student-payments-heading h3,.hlh-student-payments-heading p{margin:0!important;}
.hlh-student-payments-heading p{margin-top:4px!important;color:#64748b;}
.hlh-pay-choice-card{padding:18px!important;border-radius:20px!important;}
.hlh-pay-choice-card h3{margin:0 0 7px!important;}
.hlh-pay-choice-card .hlh-student-credit-form{margin-top:14px;}
.hlh-pay-choice-card .hlh-student-credit-form .hlh-button{min-height:48px;width:100%;justify-content:center;}

/* v0.5.54 - keep learner sign-out safely inside App settings */
.hlh-student-account-security{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-top:18px!important;
  padding:18px!important;
  border:1px solid #e2e8f0!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#fff,#f8fafc)!important;
}
.hlh-student-account-security h3{
  margin:0 0 5px!important;
  color:#0f172a!important;
}
.hlh-student-account-security p{
  margin:0!important;
  color:#64748b!important;
  line-height:1.5!important;
}
.hlh-student-signout-button{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:11px 17px!important;
  border:1px solid #fecdd3!important;
  border-radius:14px!important;
  background:#fff1f2!important;
  color:#be123c!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.hlh-student-signout-button:hover,
.hlh-student-signout-button:focus-visible{
  background:#ffe4e6!important;
  color:#9f1239!important;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(190,18,60,.10)!important;
}
@media(max-width:600px){
  .hlh-student-account-security{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .hlh-student-signout-button{width:100%!important;}
}

/* Compact instructor access and sign-up presentation */
.hlh-instructor-access-compact{
  margin-bottom:12px!important;
  padding:16px 20px!important;
  border-radius:18px!important;
  min-height:0!important;
}
.hlh-instructor-access-compact:after{
  right:-54px!important;
  top:-76px!important;
  width:170px!important;
  height:170px!important;
}
.hlh-instructor-access-identity{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:16px;
}
.hlh-instructor-access-identity .hlh-access-brand-logo{
  display:block;
  flex:0 0 auto;
  width:auto!important;
  max-width:150px!important;
  height:76px!important;
  object-fit:contain;
}
.hlh-instructor-access-identity h1{
  margin:0 0 4px!important;
  font-size:clamp(25px,3vw,36px)!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
}
.hlh-instructor-access-identity p{
  margin:0!important;
  max-width:none!important;
  font-size:15px!important;
  line-height:1.4!important;
}
.hlh-instructor-signup-compact{
  padding:0!important;
}
.hlh-instructor-signup-shell-compact{
  border-radius:20px!important;
}
.hlh-instructor-signup-heading{
  padding:22px 26px 0;
}
.hlh-instructor-signup-heading h1{
  margin:0 0 6px!important;
  color:#111827!important;
  font-size:clamp(25px,3vw,34px)!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
}
.hlh-instructor-signup-heading p{
  margin:0!important;
  color:#4b5563!important;
  font-size:15px!important;
  line-height:1.45!important;
}
.hlh-instructor-signup-shell-compact .hlh-instructor-signup-form{
  padding-top:18px!important;
}
@media(max-width:560px){
  .hlh-instructor-access-page{width:calc(100% - 20px)!important;margin:10px auto 24px!important;}
  .hlh-instructor-access-compact{padding:13px 15px!important;border-radius:16px!important;}
  .hlh-instructor-access-identity{gap:11px;}
  .hlh-instructor-access-identity .hlh-access-brand-logo{max-width:98px!important;height:54px!important;}
  .hlh-instructor-access-identity h1{font-size:24px!important;}
  .hlh-instructor-access-identity p{font-size:13px!important;line-height:1.3!important;}
  .hlh-instructor-signup-heading{padding:18px 20px 0;}
  .hlh-instructor-signup-shell-compact .hlh-instructor-signup-form{padding-top:15px!important;}
}

/* Required instructor terms agreement */
.hlh-instructor-terms-gate{width:min(820px,calc(100% - 28px));margin:24px auto 50px!important;}
.hlh-instructor-terms-card{padding:clamp(22px,4vw,38px)!important;}
.hlh-instructor-terms-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px;}
.hlh-instructor-terms-card>header h2{margin:2px 0 0!important;color:#172238!important;font-size:clamp(25px,3vw,34px)!important;}
.hlh-terms-version{display:inline-flex;flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#f1e8f5;color:#5a2e72;font-weight:800;font-size:13px;}
.hlh-instructor-terms-copy{max-height:390px;overflow:auto;margin:20px 0;padding:22px;border:1px solid #ddd1e4;border-radius:16px;background:#fbf9fc;color:#273244;line-height:1.65;white-space:normal;box-shadow:inset 0 1px 3px rgba(36,20,45,.05);}
.hlh-instructor-terms-copy:focus{outline:3px solid rgba(111,66,193,.2);border-color:#6f42c1;}
.hlh-terms-check{display:flex!important;align-items:flex-start;gap:12px;margin:22px 0!important;padding:17px;border:2px solid #d9c8e2;border-radius:14px;background:#fff;font-weight:800!important;color:#172238!important;cursor:pointer;}
.hlh-terms-check input{width:21px!important;height:21px!important;flex:0 0 21px;margin:1px 0 0!important;accent-color:#d83087;}
.hlh-instructor-terms-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.hlh-instructor-terms-actions .hlh-button,.hlh-instructor-terms-actions .hlh-mini-button{margin:0!important;}
.hlh-terms-error{margin:14px 0;padding:13px 15px;border:1px solid #efb4c2;border-radius:12px;background:#fff1f4;color:#8f1e3a;font-weight:800;}
@media(max-width:560px){
  .hlh-instructor-terms-card>header{display:block;}
  .hlh-terms-version{margin-top:12px;}
  .hlh-instructor-terms-copy{max-height:330px;padding:17px;}
  .hlh-instructor-terms-actions>*{width:100%;text-align:center;justify-content:center;}
}

/* v0.6.39 - Student App title contrast, reliable profile editing and instructor contact */
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-hero-slim{
  background:linear-gradient(110deg,#172033 0%,#38234f 58%,var(--hlh-brand,#d83087) 100%)!important;
  color:#fff!important;
  overflow:visible!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-hero-slim h2,
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-hero-slim p,
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-hero-slim .hlh-public-kicker{
  display:block!important;
  max-width:100%!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-shadow:0 1px 3px rgba(0,0,0,.34)!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-page-section h1,
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-page-section h2,
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-page-section h3,
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-page-section h4,
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-public-note h3{
  max-width:100%!important;
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
  opacity:1!important;
  visibility:visible!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-sa-details-edit-card{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-sa-details-form input,
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-sa-details-form select,
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-sa-details-form textarea{
  position:static!important;
  display:block!important;
  width:100%!important;
  min-height:46px!important;
  background:#fff!important;
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  user-select:text!important;
  touch-action:manipulation!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-sa-details-form input:focus,
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-sa-details-form select:focus,
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-sa-details-form textarea:focus{
  outline:3px solid rgba(124,58,237,.22)!important;
  outline-offset:2px!important;
  border-color:#7c3aed!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-sa-edit-actions a.hlh-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
}
/* v0.6.43 - visible progress while a Hub message is being sent. */
.hlh-message-send-status{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:12px 0 0!important;
  padding:11px 13px!important;
  border:1px solid #c4b5fd!important;
  border-radius:12px!important;
  background:#f5f3ff!important;
  color:#3b1764!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.hlh-message-send-status[hidden]{display:none!important;}
.hlh-message-send-spinner{
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  box-sizing:border-box!important;
  border:3px solid rgba(127,58,142,.25)!important;
  border-top-color:#7f3a8e!important;
  border-radius:50%!important;
  animation:hlh-message-send-spin .75s linear infinite!important;
}
.hlh-public-app button.is-sending,
.hlh-instructor-portal button.is-sending,
.hlh-public-app input[type="submit"].is-sending,
.hlh-instructor-portal input[type="submit"].is-sending{
  cursor:wait!important;
  opacity:.78!important;
}
@keyframes hlh-message-send-spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.hlh-message-send-spinner{animation:none!important;}}
/* v0.6.40 - secure pupil-message deep link and reply focus */
.hlh-incoming-pupil-message{
  border:2px solid #d9b7e6!important;
  background:linear-gradient(145deg,#fff,#fbf5ff)!important;
  box-shadow:0 12px 30px rgba(85,43,110,.1)!important;
}
.hlh-incoming-pupil-message .hlh-kicker{color:#7a2f72!important;}
.hlh-incoming-pupil-message h3{margin:4px 0 12px!important;color:#172238!important;}
.hlh-incoming-pupil-message>p:not(.hlh-kicker){
  margin:0 0 12px!important;
  padding:15px 17px;
  border-left:4px solid #d83087;
  border-radius:0 12px 12px 0;
  background:#fff;
  color:#253044!important;
  white-space:normal;
  overflow-wrap:anywhere;
}
.hlh-incoming-pupil-message small{display:block;color:#64748b!important;font-weight:700;}
#hlh-reply-to-pupil:focus-within{
  outline:3px solid rgba(124,58,237,.18);
  outline-offset:3px;
}

/* v0.6.47 - show the complete Monday-Sunday diary on instructor phones. */
.hlh-instructor-portal .hlh-event-time-mobile{display:none!important;}
@media (max-width:640px){
  .hlh-instructor-portal .hlh-portal-calendar-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:42px repeat(7,minmax(0,1fr))!important;
    grid-auto-rows:50px!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head{
    min-width:0!important;
    padding:4px 1px!important;
    font-size:.64rem!important;
    line-height:1.05!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head strong{
    font-size:.64rem!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head span{
    margin-top:4px!important;
    font-size:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-head span::after{
    content:attr(data-mobile-date);
    font-size:.66rem!important;
    line-height:1!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-time-head{
    font-size:.58rem!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-time{
    padding:5px 3px!important;
    font-size:.66rem!important;
    line-height:1!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-time.hlh-half-hour{
    font-size:0!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-event-block{
    min-width:0!important;
    margin:2px 1px!important;
    border-radius:5px!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link{
    min-width:0!important;
    overflow:hidden!important;
    gap:2px!important;
    padding:4px 2px!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link strong,
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link small,
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link span{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    line-height:1.08!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link strong{
    font-size:.62rem!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link small,
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link span{
    font-size:.59rem!important;
  }
  .hlh-instructor-portal .hlh-event-time-full{display:none!important;}
  .hlh-instructor-portal .hlh-event-time-mobile{display:block!important;font-weight:800!important;}
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-event-detail-link em{
    display:none!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-payment-strip{
    margin-left:-2px!important;
    margin-right:-2px!important;
    padding:2px 1px!important;
    border-radius:3px!important;
    font-size:.57rem!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-calendar-add{
    width:18px!important;
    height:18px!important;
    right:2px!important;
    top:2px!important;
    border-radius:5px!important;
    font-size:.65rem!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-diary-action-menu{
    top:2px!important;
    right:1px!important;
  }
  .hlh-instructor-portal .hlh-portal-calendar-grid .hlh-diary-options-button{
    width:20px!important;
    min-width:20px!important;
    height:20px!important;
    border-radius:6px!important;
    font-size:15px!important;
  }
}
/* v0.7.04 - persistent Instructor App identity and clearer owner route. */
.hlh-owner-instructor-app-action{display:flex;flex-direction:column;align-items:flex-end;gap:7px;max-width:300px}
.hlh-owner-instructor-app-action small{color:#5b6472;line-height:1.35;text-align:right}
.hlh-instructor-identity-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px;padding:12px 16px;border:1px solid #eadde7;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(17,24,39,.06)}
.hlh-instructor-identity-bar>div{display:flex;align-items:center;gap:11px;min-width:0}
.hlh-instructor-identity-logo{width:42px;height:42px;object-fit:contain;border-radius:10px;flex:0 0 auto}
.hlh-instructor-identity-bar strong,.hlh-instructor-identity-bar span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hlh-instructor-identity-bar strong{color:#111827;font-size:1rem;line-height:1.25}
.hlh-instructor-identity-bar span{color:#5b6472;font-size:.84rem;margin-top:2px}
.hlh-instructor-identity-bar em{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#fce7f3;color:#9d174d;font-size:.75rem;font-style:normal;font-weight:800}
.hlh-instructor-identity-actions{display:flex!important;align-items:center!important;justify-content:flex-end;gap:8px;min-width:auto!important}
.hlh-instructor-header-logout{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 12px;border:1px solid #c93672;border-radius:10px;background:#fff;color:#9d174d!important;font-size:.8rem;font-weight:800;line-height:1;text-decoration:none!important}
.hlh-instructor-header-logout:hover,.hlh-instructor-header-logout:focus{background:#fff1f6;color:#831843!important}
@media(max-width:700px){.hlh-owner-instructor-app-action{align-items:stretch;max-width:none;width:100%}.hlh-owner-instructor-app-action small{text-align:left}.hlh-instructor-identity-bar{padding:10px 12px;border-radius:13px}.hlh-instructor-identity-logo{width:36px;height:36px}.hlh-instructor-identity-bar em{display:none}.hlh-instructor-header-logout{min-height:36px;padding:7px 11px}}

/* v0.7.10 — crisp white Instructor and Student App theme */
.hlh-public,.hlh-instructor-portal,.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;color:var(--hlh-crisp-ink)!important;background:#fff!important}
.hlh-instructor-portal{border:1px solid var(--hlh-crisp-line)!important;border-radius:12px!important;box-shadow:0 4px 18px rgba(23,32,51,.06)!important}
.hlh-app-hero,.hlh-student-hero,.hlh-instructor-top,.hlh-instructor-login{background:#fff!important;background-image:none!important;color:var(--hlh-crisp-ink)!important;border:1px solid var(--hlh-crisp-line)!important;border-radius:10px!important;box-shadow:0 2px 8px rgba(23,32,51,.055)!important}
.hlh-app-hero h1,.hlh-app-hero h2,.hlh-app-hero h3,.hlh-app-hero p,.hlh-app-hero strong,.hlh-app-hero span,.hlh-instructor-top h1,.hlh-instructor-top h2,.hlh-instructor-top p,.hlh-instructor-top strong,.hlh-instructor-top small,.hlh-instructor-login h1,.hlh-instructor-login h2,.hlh-instructor-login p{color:var(--hlh-crisp-ink)!important}
.hlh-public-kicker,.hlh-app-status-card span{color:#415168!important}.hlh-app-status-card{background:var(--hlh-crisp-soft)!important;border:1px solid var(--hlh-crisp-line)!important;border-radius:8px!important;backdrop-filter:none!important}.hlh-app-status-card strong{color:var(--hlh-crisp-ink)!important}
.hlh-app-tabs,.hlh-app-section-buttons{background:#fff!important;background-image:none!important}
.hlh-app-tabs a,.hlh-app-section-buttons a,.hlh-instructor-nav a,.hlh-filter-pills a{min-height:40px!important;border-radius:7px!important;background:#fff!important;color:#2a3a50!important;border:1px solid #cbd3df!important;box-shadow:none!important;font-weight:700!important}
.hlh-app-tabs a:hover,.hlh-app-section-buttons a:hover,.hlh-instructor-nav a:hover,.hlh-filter-pills a:hover{background:#f2f5f8!important;border-color:#8a96a7!important}.hlh-instructor-nav a.is-active,.hlh-filter-pills a.is-active{background:var(--hlh-crisp-primary)!important;border-color:var(--hlh-crisp-primary)!important;color:#fff!important}
.hlh-instructor-nav{background:#fff!important;border-color:var(--hlh-crisp-line)!important;border-radius:9px!important;box-shadow:none!important}
.hlh-app-card,.hlh-app-next-card,.hlh-public-note,.hlh-app-checklist,.hlh-mobile-section,.hlh-card,.hlh-instructor-profile-head,.hlh-instructor-stats a,.hlh-gap-card,.hlh-student-login-card,.hlh-student-home-grid a,.hlh-student-settings-panel,.hlh-portal-diary-actions,.hlh-portal-calendar-wrap,.hlh-instructor-identity-bar{background:#fff!important;background-image:none!important;color:var(--hlh-crisp-ink)!important;border:1px solid var(--hlh-crisp-line)!important;border-radius:9px!important;box-shadow:0 2px 8px rgba(23,32,51,.05)!important}
.hlh-mobile-section>summary,.hlh-section-next>summary{background:#fff!important;background-image:none!important;color:var(--hlh-crisp-ink)!important}.hlh-mobile-section>summary:hover{background:var(--hlh-crisp-soft)!important}.hlh-mobile-section>summary:after{border-radius:6px!important;color:var(--hlh-crisp-primary)!important;box-shadow:none!important}
.hlh-app-icon{border-radius:8px!important;background:#e9eef4!important;background-image:none!important;color:#25415f!important}.hlh-chip-row span,.hlh-instructor-identity-bar em{background:#f3f5f8!important;border:1px solid var(--hlh-crisp-line)!important;color:#344256!important;border-radius:6px!important}
.hlh-public h1,.hlh-public h2,.hlh-public h3,.hlh-public h4,.hlh-public strong,.hlh-instructor-portal h1,.hlh-instructor-portal h2,.hlh-instructor-portal h3,.hlh-instructor-portal h4,.hlh-instructor-portal strong{color:var(--hlh-crisp-ink)!important}.hlh-public p,.hlh-public small,.hlh-public label,.hlh-instructor-portal p,.hlh-instructor-portal small{color:var(--hlh-crisp-muted)}
.hlh-public input:not([type=checkbox]):not([type=radio]),.hlh-public select,.hlh-public textarea,.hlh-instructor-portal input:not([type=checkbox]):not([type=radio]):not([type=submit]),.hlh-instructor-portal select,.hlh-instructor-portal textarea{background:#fff!important;color:var(--hlh-crisp-ink)!important;border:1px solid #cbd3df!important;border-radius:7px!important;box-shadow:none!important}
.hlh-public input:focus,.hlh-public select:focus,.hlh-public textarea:focus,.hlh-instructor-portal input:focus,.hlh-instructor-portal select:focus,.hlh-instructor-portal textarea:focus{border-color:var(--hlh-crisp-primary)!important;box-shadow:0 0 0 3px rgba(23,59,99,.14)!important;outline:0!important}
.hlh-public button,.hlh-public .hlh-button,.hlh-public a.hlh-button,.hlh-instructor-portal button,.hlh-instructor-portal .hlh-button,.hlh-instructor-portal .hlh-mini-button,.hlh-instructor-portal input[type=submit],.hlh-instructor-quick a,.hlh-pay-button{min-height:40px!important;border-radius:7px!important;padding:8px 14px!important;font-weight:700!important;background:var(--hlh-crisp-primary)!important;background-image:none!important;border:1px solid var(--hlh-crisp-primary)!important;color:#fff!important;box-shadow:none!important;text-shadow:none!important;text-decoration:none!important}
.hlh-public button:hover,.hlh-public .hlh-button:hover,.hlh-instructor-portal button:hover,.hlh-instructor-portal .hlh-button:hover,.hlh-instructor-portal .hlh-mini-button:hover,.hlh-instructor-quick a:hover{background:var(--hlh-crisp-primary-hover)!important;border-color:var(--hlh-crisp-primary-hover)!important;color:#fff!important}
.hlh-public .hlh-secondary,.hlh-instructor-portal .hlh-secondary,.hlh-public button.is-secondary{background:#fff!important;color:#26364c!important;border-color:#aeb8c6!important}.hlh-public .hlh-secondary:hover,.hlh-instructor-portal .hlh-secondary:hover{background:#f2f5f8!important;color:#172033!important;border-color:#7d899a!important}
.hlh-public .hlh-button-danger,.hlh-instructor-portal .hlh-button-danger,.hlh-mini-cancel-button{background:#fff!important;color:#9b2432!important;border-color:#d8a8ae!important}.hlh-status-bar,.hlh-app-alert{border-radius:7px!important;box-shadow:none!important}
.hlh-portal-calendar-grid .hlh-calendar-head{background:#26384f!important;color:#fff!important}.hlh-portal-calendar-grid .hlh-calendar-event-block{background:#456483!important;background-image:none!important;box-shadow:none!important;border-radius:6px!important}.hlh-portal-calendar-grid .hlh-event-gap{background:#34705f!important;background-image:none!important}.hlh-portal-calendar-grid .hlh-event-time_away{background:#596474!important;background-image:none!important}.hlh-portal-calendar-grid .hlh-calendar-add{background:#e9eef4!important;color:#25415f!important;border-radius:5px!important}.hlh-portal-calendar-grid .hlh-calendar-add:hover{background:var(--hlh-crisp-primary)!important;color:#fff!important}
@media(max-width:760px){.hlh-instructor-portal{border-radius:8px!important;padding:8px!important}.hlh-app-hero,.hlh-student-hero,.hlh-instructor-top,.hlh-instructor-login{border-radius:8px!important;padding:18px!important;min-height:auto!important}.hlh-app-tabs a,.hlh-app-section-buttons a,.hlh-instructor-nav a{font-size:.94rem!important}}

/* v0.7.26 — mandatory beta guidance and permanent Settings copy. */
.hlh-beta-guidance-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(13,24,39,.76);backdrop-filter:blur(4px);overflow:auto}
.hlh-beta-guidance-card{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:26px;border:1px solid #d9e0e8;border-radius:16px;background:#fff;color:#172033;box-shadow:0 24px 70px rgba(0,0,0,.32)}
.hlh-beta-guidance-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 18px;align-items:start;margin-bottom:14px}
.hlh-beta-guidance-card>header .hlh-kicker{grid-column:1;margin:0;color:#415168!important}
.hlh-beta-guidance-card>header h2{grid-column:1;margin:0;color:#172033!important}
.hlh-beta-guidance-card>header>span{grid-column:2;grid-row:1 / span 2;padding:6px 9px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#334155;font-size:.76rem;font-weight:800}
.hlh-beta-guidance-card>p,.hlh-beta-guidance-card li,.hlh-beta-guidance-card .hlh-beta-responsibility p{color:#3f4b5d!important;line-height:1.48}
.hlh-beta-guidance-card ul,.hlh-beta-guidance-copy ul{margin:14px 0;padding-left:22px}
.hlh-beta-guidance-card li,.hlh-beta-guidance-copy li{margin:0 0 9px}
.hlh-beta-responsibility{margin:16px 0;padding:15px 17px;border-left:4px solid #b45309;border-radius:8px;background:#fff8e7}
.hlh-beta-responsibility h3,.hlh-beta-responsibility h4{margin:0 0 7px;color:#78350f!important}
.hlh-beta-responsibility p{margin:0;color:#5c4422!important}
.hlh-beta-guidance-form{margin-top:17px}
.hlh-beta-guidance-form .hlh-terms-check{display:flex;align-items:flex-start;gap:10px;margin:0 0 15px;padding:13px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;color:#172033}
.hlh-beta-guidance-form .hlh-terms-check input{flex:0 0 auto;margin-top:3px}
.hlh-beta-guidance-form .hlh-terms-check span{color:#172033!important;font-weight:700;line-height:1.42}
.hlh-beta-guidance-form>.hlh-button{width:100%}
.hlh-beta-guidance-copy{color:#344256}
.hlh-beta-guidance-copy>p,.hlh-beta-guidance-copy li{color:#4b5563!important;line-height:1.5}
.hlh-beta-guidance-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:12px;padding:10px 12px;border:1px solid #dbe3ec;border-radius:8px;background:#f8fafc;color:#415168}
.hlh-beta-guidance-meta strong{color:#172033!important}
@media(max-width:600px){.hlh-beta-guidance-modal{align-items:flex-start;padding:10px}.hlh-beta-guidance-card{max-height:calc(100vh - 20px);padding:18px 15px;border-radius:12px}.hlh-beta-guidance-card>header{grid-template-columns:1fr}.hlh-beta-guidance-card>header>span{grid-column:1;grid-row:auto;justify-self:start;margin-top:7px}.hlh-beta-guidance-card ul{padding-left:19px}.hlh-beta-guidance-card li{font-size:.91rem}.hlh-beta-responsibility{padding:13px}}

/* v0.7.55 — keep lesson addresses readable and prevent address fields running together. */
.hlh-public .hlh-student-lesson-meta {
    display: grid !important;
    gap: 5px !important;
    margin: 4px 0 0 !important;
    max-width: 100% !important;
    line-height: 1.45 !important;
}
.hlh-public .hlh-student-lesson-meta > span {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    color: #374151 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}
.hlh-public .hlh-student-lesson-meta .hlh-student-lesson-type {
    color: #374151 !important;
}
.hlh-public .hlh-student-lesson-meta strong {
    display: inline !important;
    color: #172033 !important;
    font-weight: 800 !important;
}
@media(max-width:640px) {
    .hlh-public .hlh-student-lesson-meta {
        gap: 6px !important;
    }
    .hlh-public .hlh-student-lesson-meta > span {
        font-size: .98rem !important;
    }
}

/* v0.7.56 — instructor-managed learner resources and readable guides. */
.hlh-public-resource-grid .hlh-resource-card{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-width:0;
}
.hlh-resource-card-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.hlh-resource-card-meta .hlh-app-label{margin:0!important}
.hlh-resource-card-meta em{
    color:#64748b!important;
    font-size:.76rem;
    font-style:normal;
    font-weight:800;
    text-align:right;
}
.hlh-public-resource-grid .hlh-resource-card>strong{
    display:block;
    margin:0;
    font-size:1.05rem;
    line-height:1.3;
}
.hlh-public-resource-grid .hlh-resource-card>p{
    margin:0;
    line-height:1.5;
}
.hlh-resource-card-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:9px;
    margin-top:auto;
    padding-top:3px;
}
.hlh-resource-card-actions>a{
    margin:0!important;
}
.hlh-resource-guide{
    width:100%;
    margin:0;
}
.hlh-resource-guide>summary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:8px 14px;
    border:1px solid #aeb8c6;
    border-radius:8px;
    background:#fff;
    color:#26364c;
    cursor:pointer;
    font-weight:800;
    list-style:none;
}
.hlh-resource-guide>summary::-webkit-details-marker{display:none}
.hlh-resource-guide>summary:after{content:'+';margin-left:8px;font-size:1.05em;line-height:1}
.hlh-resource-guide[open]>summary:after{content:'−'}
.hlh-resource-guide>div{
    margin-top:10px;
    padding:14px;
    border:1px solid #dbe3ec;
    border-radius:9px;
    background:#f8fafc;
}
.hlh-resource-guide>div p{
    margin:0 0 10px!important;
    color:#374151!important;
    line-height:1.55!important;
}
.hlh-resource-guide>div p:last-child{margin-bottom:0!important}
.hlh-resource-manager-grid{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(260px,1fr);
    gap:16px;
    margin-bottom:16px;
}
.hlh-instructor-resources-hero{margin-bottom:16px}
.hlh-instructor-resources-hero h2{margin:4px 0 8px}
.hlh-resource-editor-card,.hlh-resource-guidance-card{margin:0!important}
.hlh-resource-guidance-card ul{margin:12px 0 0;padding-left:20px}
.hlh-resource-guidance-card li{margin-bottom:9px;color:#4b5563;line-height:1.45}
.hlh-instructor-resource-form .hlh-resource-url-field{grid-column:1 / -1}
.hlh-instructor-resource-library,.hlh-instructor-shared-resources{margin-bottom:16px!important}
.hlh-instructor-resource-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
    margin-top:14px;
}
.hlh-instructor-resource-item{
    display:flex;
    flex-direction:column;
    gap:9px;
    min-width:0;
    padding:16px;
    border:1px solid #dfe4eb;
    border-radius:10px;
    background:#fff;
}
.hlh-instructor-resource-item.is-hidden-resource{background:#f8fafc;opacity:.82}
.hlh-instructor-resource-item-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.hlh-instructor-resource-item-head>div{display:flex;flex-wrap:wrap;gap:6px}
.hlh-instructor-resource-item-head span,.hlh-instructor-resource-item-head em,.hlh-instructor-resource-item-head>strong{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:4px 8px;
    border:1px solid #dbe3ec;
    border-radius:999px;
    background:#f8fafc;
    color:#475569!important;
    font-size:.72rem;
    font-style:normal;
    font-weight:800;
}
.hlh-instructor-resource-item-head>strong{background:#ecfdf5;color:#166534!important;border-color:#bbf7d0}
.hlh-instructor-resource-item.is-hidden-resource .hlh-instructor-resource-item-head>strong{background:#f1f5f9;color:#64748b!important;border-color:#cbd5e1}
.hlh-instructor-resource-item h4{margin:0!important;line-height:1.3}
.hlh-instructor-resource-item p{margin:0!important;line-height:1.5}
.hlh-instructor-resource-item dl{display:grid;gap:7px;margin:0}
.hlh-instructor-resource-item dl div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px}
.hlh-instructor-resource-item dt{color:#64748b;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.hlh-instructor-resource-item dd{min-width:0;margin:0;color:#334155;font-weight:700;overflow-wrap:anywhere}
.hlh-instructor-resource-item .hlh-mini-actions{margin-top:auto;padding-top:4px}
.hlh-student-resource-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin:0 0 15px;
    padding:18px;
    border:1px solid #dfe4eb;
    border-radius:10px;
    background:#fff;
}
.hlh-student-resource-heading h3{margin:3px 0 6px!important}
.hlh-student-resource-heading p{margin:0!important;color:#5d687a!important}
.hlh-student-resource-heading>span{
    flex:0 0 auto;
    padding:7px 10px;
    border:1px solid #dbe3ec;
    border-radius:999px;
    background:#f8fafc;
    color:#334155;
    font-size:.78rem;
    font-weight:800;
}
@media(max-width:780px){
    .hlh-resource-manager-grid,.hlh-instructor-resource-list{grid-template-columns:1fr}
    .hlh-instructor-resource-form .hlh-resource-url-field{grid-column:auto}
}
@media(max-width:560px){
    .hlh-resource-card-meta,.hlh-student-resource-heading{align-items:flex-start;flex-direction:column}
    .hlh-resource-card-meta em{text-align:left}
    .hlh-student-resource-heading>span{align-self:flex-start}
    .hlh-resource-card-actions,.hlh-resource-card-actions>a,.hlh-resource-guide,.hlh-resource-guide>summary{width:100%}
    .hlh-instructor-resource-item dl div{grid-template-columns:1fr;gap:2px}
}

/* v0.7.83 - Student App calendar/list gap booking. */
.hlh-gap-booking-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}
.hlh-gap-booking-heading h3{margin:0 0 4px!important}
.hlh-gap-booking-heading p{margin:0!important;color:#64748b!important}
.hlh-gap-view-switch{display:inline-flex;flex:0 0 auto;gap:4px;padding:4px;border:1px solid #dbe3ec;border-radius:12px;background:#f1f5f9}
.hlh-gap-view-switch button{min-height:38px;padding:0 15px;border:0;border-radius:9px;background:transparent;color:#334155;font-weight:800;cursor:pointer}
.hlh-gap-view-switch button.is-active{background:var(--hlh-brand,#e83e8c);color:#fff;box-shadow:0 4px 12px rgba(15,23,42,.12)}
.hlh-gap-booking-shell [hidden]{display:none!important}
.hlh-gap-booking-intro{margin:0 0 16px!important;padding:11px 13px;border-radius:10px;background:#eff6ff;color:#1e3a8a!important}
.hlh-gap-calendar-view{display:grid;gap:18px}
.hlh-gap-calendar-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px}
.hlh-gap-calendar-toolbar strong{text-align:center;color:#172033;font-size:1.08rem}
.hlh-gap-calendar-toolbar button{display:flex;align-items:center;justify-content:center;width:44px;height:40px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#1e3a8a;font-size:18px;font-weight:900;cursor:pointer}
.hlh-gap-calendar-toolbar button:disabled{opacity:.35;cursor:not-allowed}
.hlh-gap-calendar-months{max-width:590px;width:100%;margin:0 auto}
.hlh-gap-calendar-weekdays,.hlh-gap-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.hlh-gap-calendar-weekdays{margin-bottom:6px}
.hlh-gap-calendar-weekdays span{text-align:center;color:#64748b;font-size:.72rem;font-weight:800;text-transform:uppercase}
.hlh-gap-calendar-grid>span,.hlh-gap-calendar-grid>button{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;min-width:0;min-height:44px;padding:4px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#475569;font:inherit;font-weight:800}
.hlh-gap-calendar-grid>span.is-empty{visibility:hidden}
.hlh-gap-calendar-grid>span.is-today{border-color:#94a3b8;box-shadow:inset 0 0 0 1px #94a3b8}
.hlh-gap-calendar-grid>button.has-gaps{border-color:#e9a8c5;border-color:color-mix(in srgb,var(--hlh-brand,#e83e8c) 42%,#cbd5e1);background:#fdf2f8;background:color-mix(in srgb,var(--hlh-brand,#e83e8c) 10%,#fff);color:#172033;cursor:pointer}
.hlh-gap-calendar-grid>button.has-gaps:hover,.hlh-gap-calendar-grid>button.has-gaps:focus{outline:3px solid color-mix(in srgb,var(--hlh-brand,#e83e8c) 24%,transparent);outline-offset:1px}
.hlh-gap-calendar-grid>button.is-selected{border-color:var(--hlh-brand,#e83e8c);background:var(--hlh-brand,#e83e8c);color:#fff}
.hlh-gap-calendar-grid>button small{position:absolute;right:4px;bottom:4px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#fff;color:#9d174d;font-size:.67rem;line-height:1}
.hlh-gap-selected-date{padding-top:18px;border-top:1px solid #e2e8f0}
.hlh-gap-selected-date h4{margin:0 0 4px!important;color:#172033;font-size:1.08rem}
.hlh-gap-selected-date>section>p{margin:0 0 12px!important;color:#64748b!important}
.hlh-gap-date-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hlh-gap-booking-card{display:grid!important;gap:12px!important;margin:0!important;padding:15px!important;background:#fff!important}
.hlh-gap-booking-summary{display:grid;gap:3px}
.hlh-gap-booking-summary strong{display:block;color:#172033;font-size:1rem}
.hlh-gap-booking-summary span{display:block;margin:0!important;color:#64748b!important;font-size:.88rem}
.hlh-gap-booking-confirm{margin:0}
.hlh-gap-booking-confirm>summary{display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;border-radius:10px;background:#1f4d7a;color:#fff;font-weight:900;cursor:pointer;list-style:none;text-align:center}
.hlh-gap-booking-confirm>summary::-webkit-details-marker{display:none}
.hlh-gap-booking-confirm[open]>summary{border-radius:10px 10px 0 0;background:#173b60}
.hlh-gap-booking-confirm-box{padding:14px;border:1px solid #bfdbfe;border-top:0;border-radius:0 0 10px 10px;background:#f8fbff}
.hlh-gap-booking-confirm-box h4{margin:0 0 7px!important;color:#172033}
.hlh-gap-booking-confirm-box p{margin:0 0 12px!important;color:#334155!important}
.hlh-gap-booking-confirm-box form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;align-items:stretch!important}
.hlh-gap-booking-confirm-box form>input[type="hidden"]{display:none!important}
.hlh-gap-booking-confirm-box label{display:grid;gap:6px;color:#334155!important;font-size:.86rem;font-weight:800}
.hlh-gap-booking-confirm-box input[type="text"]{width:100%!important;min-width:0!important;min-height:44px!important;margin:0!important}
.hlh-gap-booking-confirm-box button{width:100%!important;min-width:0!important;min-height:44px!important;margin:0!important;background:var(--hlh-brand,#e83e8c)!important;color:#fff!important}
.hlh-gap-list-view .hlh-gap-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:0}
@media(max-width:640px){
    .hlh-gap-booking-heading{align-items:stretch;flex-direction:column}
    .hlh-gap-view-switch{width:100%}
    .hlh-gap-view-switch button{flex:1}
    .hlh-gap-calendar-weekdays,.hlh-gap-calendar-grid{gap:4px}
    .hlh-gap-calendar-grid>span,.hlh-gap-calendar-grid>button{min-height:38px;border-radius:8px;font-size:.86rem}
    .hlh-gap-calendar-grid>button small{right:2px;bottom:2px;min-width:16px;height:16px;font-size:.62rem}
    .hlh-gap-date-cards,.hlh-gap-list-view .hlh-gap-list{grid-template-columns:1fr}
}

/* v0.7.85 - Keep gap calendar navigation aligned and colours legible on phones. */
html body .hlh-public .hlh-gap-view-switch button{
    background:#fff!important;
    border:1px solid #aebdce!important;
    color:#173b63!important;
    box-shadow:none!important;
}
html body .hlh-public .hlh-gap-view-switch button.is-active{
    background:#173b63!important;
    border-color:#173b63!important;
    color:#fff!important;
}
html body .hlh-public .hlh-gap-calendar-toolbar{
    display:grid!important;
    grid-template-columns:minmax(88px,auto) minmax(0,1fr) minmax(88px,auto)!important;
    grid-template-rows:48px!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
}
html body .hlh-public .hlh-gap-calendar-toolbar>[data-hlh-gap-month-prev]{grid-column:1!important;grid-row:1!important}
html body .hlh-public .hlh-gap-calendar-toolbar>[data-hlh-gap-month-label]{
    grid-column:2!important;
    grid-row:1!important;
    display:block!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    color:#172033!important;
    font-size:16px!important;
    line-height:1.2!important;
    text-align:center!important;
    white-space:nowrap!important;
}
html body .hlh-public .hlh-gap-calendar-toolbar>[data-hlh-gap-month-next]{grid-column:3!important;grid-row:1!important}
html body .hlh-public .hlh-gap-calendar-toolbar button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:7px 9px!important;
    border:1px solid #173b63!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#173b63!important;
    font-size:13px!important;
    font-weight:700!important;
    line-height:1!important;
}
html body .hlh-public .hlh-gap-calendar-toolbar button span{color:inherit!important;font-size:17px!important;line-height:1!important}
html body .hlh-public .hlh-gap-calendar-toolbar button:disabled{
    border-color:#cbd5e1!important;
    background:#f1f5f9!important;
    color:#64748b!important;
    opacity:1!important;
}
html body .hlh-public .hlh-gap-calendar-grid>span{
    border:1px solid #cbd5e1!important;
    background:#fff!important;
    color:#334155!important;
}
html body .hlh-public .hlh-gap-calendar-grid>button.has-gaps{
    border:2px solid #2563a6!important;
    background:#dcecff!important;
    color:#123b66!important;
    box-shadow:none!important;
}
html body .hlh-public .hlh-gap-calendar-grid>button.has-gaps span{color:inherit!important}
html body .hlh-public .hlh-gap-calendar-grid>button.has-gaps small{
    border:1px solid #2563a6!important;
    background:#fff!important;
    color:#123b66!important;
}
html body .hlh-public .hlh-gap-calendar-grid>button.has-gaps.is-selected{
    border-color:#173b63!important;
    background:#173b63!important;
    color:#fff!important;
    box-shadow:0 0 0 3px #b9d5f4!important;
}
html body .hlh-public .hlh-gap-calendar-grid>button.has-gaps.is-selected small{
    border-color:#fff!important;
    background:#fff!important;
    color:#173b63!important;
}
@media(max-width:420px){
    html body .hlh-public .hlh-gap-booking-shell{padding:14px!important}
    html body .hlh-public .hlh-gap-calendar-toolbar{grid-template-columns:78px minmax(0,1fr) 78px!important;gap:5px!important}
    html body .hlh-public .hlh-gap-calendar-toolbar button{padding:6px!important;font-size:12px!important}
    html body .hlh-public .hlh-gap-calendar-toolbar>[data-hlh-gap-month-label]{font-size:14px!important}
}

/* v0.7.88 - Keep the structured enquiry address clear and full width. */
html body .hlh-public .hlh-enquiry-address-fieldset{
    grid-column:1 / -1!important;
    min-width:0;
    margin:0;
}
html body .hlh-public .hlh-enquiry-address-fieldset legend{
    padding:0 6px;
    color:#172033;
    font-weight:700;
}
html body .hlh-public .hlh-enquiry-address-fieldset .hlh-address-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
html body .hlh-public .hlh-enquiry-address-fieldset .hlh-address-grid label{
    display:grid;
    gap:6px;
    min-width:0;
}
html body .hlh-public .hlh-enquiry-address-fieldset .hlh-address-grid label:nth-child(1),
html body .hlh-public .hlh-enquiry-address-fieldset .hlh-address-grid label:nth-child(2){
    grid-column:1 / -1;
}
@media(max-width:640px){
    html body .hlh-public .hlh-enquiry-address-fieldset .hlh-address-grid{grid-template-columns:1fr}
    html body .hlh-public .hlh-enquiry-address-fieldset .hlh-address-grid label{grid-column:1!important}
}

/* v0.7.95 - prevent page-formatting line breaks becoming calendar cells. */
html body .hlh-public .hlh-gap-calendar-grid>br,
html body .hlh-public .hlh-gap-calendar-grid>p:empty{
    display:none!important;
}

/* v0.7.114 - keep the learner bank-transfer notification card content-height. */
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-student-payments-page{
    align-content:start!important;
    grid-auto-rows:max-content!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-payment-notify-card{
    display:block!important;
    align-self:start!important;
    min-height:0!important;
    height:auto!important;
    padding:16px!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-payment-notify-card>h3{
    margin:0 0 5px!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-payment-notify-card>p{
    margin:0!important;
    line-height:1.4!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-payment-notify-card .hlh-student-payment-notify-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    gap:9px!important;
    min-height:0!important;
    height:auto!important;
    margin:11px 0 0!important;
    padding:0!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-payment-notify-card .hlh-student-payment-notify-form label{
    display:grid!important;
    gap:4px!important;
    min-height:0!important;
    margin:0!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-payment-notify-card .hlh-student-payment-notify-form input{
    min-height:42px!important;
    height:42px!important;
    margin:0!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-payment-notify-card .hlh-student-payment-notify-form .hlh-button{
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-payment-notify-card .hlh-student-payment-notify-form small{
    display:block!important;
    margin:0!important;
    line-height:1.35!important;
}
html body .hlh-mobile-app[data-hlh-student-app="1"] .hlh-payment-notify-card .hlh-student-payment-box{
    min-height:0!important;
    height:auto!important;
    margin:10px 0 0!important;
}
