/* ==========================================================
   Jawda V69 — ONE page-header experience everywhere
   Compact, solid navy, one visual language for all portals.
   Loaded last so legacy hero/card styles cannot override it.
   ========================================================== */
:root{
  --jx-v69-navy:#0b2754;
  --jx-v69-navy-hover:#123b73;
  --jx-v69-border:#244d82;
  --jx-v69-copy:#ffffff;
  --jx-v69-sub:#dbe8fa;
  --jx-v69-radius:13px;
  --jx-v69-shadow:0 8px 18px rgba(11,39,84,.12);
}

/* Every known page-level heading, old and new, uses the same visual shell. */
html body :is(
  .jawda-page-heading,
  .academic-hero,
  .bill-hero,
  .care-heading,
  .project-hero,
  .sa-hero,
  .acc-hero,
  .teacher-messages-heading,
  .leq-hero,
  .qb-hero,
  .events-page-heading,
  .leqs-head,
  .readiness-page-head,
  .responsible-welcome,
  .billing-workspace-head,
  .lectures-hero-box,
  .chgcat-hero,
  .teacher-pay-hero,
  .ov-hero,
  .guest-preview-heading,
  .plan-hero-card,
  .resource-intro,
  .info-hero,
  .ai-public-hero
){
  position:relative!important;
  box-sizing:border-box!important;
  min-height:58px!important;
  height:auto!important;
  margin-top:0!important;
  margin-bottom:14px!important;
  padding:8px 12px!important;
  border:1px solid var(--jx-v69-border)!important;
  border-radius:var(--jx-v69-radius)!important;
  background:var(--jx-v69-navy)!important;
  background-image:none!important;
  color:var(--jx-v69-copy)!important;
  box-shadow:var(--jx-v69-shadow)!important;
}

/* Remove decorative oversized circles/gradients from previous versions. */
html body :is(
  .jawda-page-heading,.academic-hero,.bill-hero,.care-heading,.project-hero,
  .sa-hero,.acc-hero,.teacher-messages-heading,.leq-hero,.qb-hero,
  .events-page-heading,.leqs-head,.readiness-page-head,.responsible-welcome,
  .billing-workspace-head,.lectures-hero-box,.chgcat-hero,.teacher-pay-hero,
  .ov-hero,.guest-preview-heading,.plan-hero-card,.resource-intro,.info-hero,.ai-public-hero
)::after{
  display:none!important;
  content:none!important;
}

/* Titles and descriptions: compact and identical across roles. */
html body :is(
  .jawda-page-heading,.academic-hero,.bill-hero,.care-heading,.project-hero,
  .sa-hero,.acc-hero,.teacher-messages-heading,.leq-hero,.qb-hero,
  .events-page-heading,.leqs-head,.readiness-page-head,.responsible-welcome,
  .billing-workspace-head,.lectures-hero-box,.chgcat-hero,.teacher-pay-hero,
  .ov-hero,.guest-preview-heading,.plan-hero-card,.resource-intro,.info-hero,.ai-public-hero
) :is(h1,h2,h3,h4,.qb-hero-title,.section-title,.fw-bold,strong){
  margin-top:0!important;
  margin-bottom:0!important;
  color:#fff!important;
  font-size:1.02rem!important;
  line-height:1.45!important;
  font-weight:900!important;
}
html body :is(
  .jawda-page-heading,.academic-hero,.bill-hero,.care-heading,.project-hero,
  .sa-hero,.acc-hero,.teacher-messages-heading,.leq-hero,.qb-hero,
  .events-page-heading,.leqs-head,.readiness-page-head,.responsible-welcome,
  .billing-workspace-head,.lectures-hero-box,.chgcat-hero,.teacher-pay-hero,
  .ov-hero,.guest-preview-heading,.plan-hero-card,.resource-intro,.info-hero,.ai-public-hero
) :is(p,small,.text-muted,.qb-hero-sub){
  margin-top:2px!important;
  margin-bottom:0!important;
  color:var(--jx-v69-sub)!important;
  font-size:.70rem!important;
  line-height:1.55!important;
  font-weight:650!important;
}

/* Kicker lines are redundant in the unified compact header. */
html body .info-hero .info-kicker,
html body .plan-hero-card>div>span:first-child,
html body .resource-intro>div>span:first-child,
html body .acc-hero>span:first-child,
html body .ov-hero .welcome-kicker,
html body .responsible-welcome .welcome-kicker{
  display:none!important;
}

/* Same compact 3D/icon footprint everywhere. */
html body :is(
  .jawda-page-heading-icon,.academic-art,.jx-page-icon,.info-icon,.plan-hero-icon,
  .guest-preview-art,.resource-icon,.welcome-mark,.billing-workspace-title .jawda-icon-3d
){
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:4px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 4px 9px rgba(0,12,36,.18)!important;
}
html body :is(
  .jawda-page-heading-icon,.academic-art,.jx-page-icon,.info-icon,.plan-hero-icon,
  .guest-preview-art,.resource-icon,.welcome-mark,.billing-workspace-title .jawda-icon-3d
) :is(svg,.tw-icon,i){
  max-width:30px!important;
  max-height:30px!important;
  color:#fff!important;
  font-size:1.05rem!important;
}


/* Flat legacy Bootstrap icons inside titles are rendered as compact 3D badges too. */
html body :is(.project-hero h1,.teacher-messages-heading,.leq-hero h1,.acc-hero h1,.events-page-heading h1)>i,
html body .teacher-messages-heading>i{
  display:inline-grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  margin-inline-end:6px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.11)!important;
  color:#fff!important;
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 4px 8px rgba(0,10,34,.18)!important;
  vertical-align:middle!important;
  font-size:.90rem!important;
}

/* Teacher selector/tools had their own header definition: force the same shell. */
html body .teacher-tool-stage>header{
  min-height:58px!important;
  padding:8px 12px!important;
  margin-bottom:14px!important;
  border:1px solid var(--jx-v69-border)!important;
  border-radius:var(--jx-v69-radius)!important;
  background:var(--jx-v69-navy)!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:var(--jx-v69-shadow)!important;
}
html body .teacher-tool-stage>header h1{margin:0!important;color:#fff!important;font-size:1.02rem!important;line-height:1.45!important;font-weight:900!important}
html body .teacher-tool-stage>header p{margin:2px 0 0!important;color:var(--jx-v69-sub)!important;font-size:.70rem!important;line-height:1.55!important}

/* Enrollment pages previously put their title inside a large white card. */
html body .enrollment-workspace>.p-3>.jawda-page-heading,
html body .enrollment-workspace>.p-md-4>.jawda-page-heading{
  margin-inline:0!important;
}

/* Billing staff header is a card-head; make it visually identical, not a separate style. */
html body .billing-workspace-card>.billing-workspace-head{
  border-radius:var(--jx-v69-radius)!important;
  margin-bottom:14px!important;
  background:var(--jx-v69-navy)!important;
  background-image:none!important;
}
html body .billing-workspace-card{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body .billing-workspace-card>.billing-workspace-body{
  border:1px solid #e0e7f1!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(18,41,81,.045)!important;
}

/* Action buttons inside title strips remain clean and readable. */
html body :is(
  .jawda-page-heading,.academic-hero,.bill-hero,.care-heading,.project-hero,
  .sa-hero,.acc-hero,.teacher-messages-heading,.leq-hero,.qb-hero,
  .events-page-heading,.leqs-head,.readiness-page-head,.responsible-welcome,
  .billing-workspace-head,.lectures-hero-box,.chgcat-hero,.teacher-pay-hero,.ov-hero
) :is(.btn,a.btn){
  min-height:32px!important;
  padding:5px 9px!important;
  border-color:rgba(255,255,255,.34)!important;
  color:#fff!important;
  font-size:.69rem!important;
  border-radius:9px!important;
}
html body :is(
  .jawda-page-heading,.academic-hero,.bill-hero,.care-heading,.project-hero,
  .sa-hero,.acc-hero,.teacher-messages-heading,.leq-hero,.qb-hero,
  .events-page-heading,.leqs-head,.readiness-page-head,.responsible-welcome,
  .billing-workspace-head,.lectures-hero-box,.chgcat-hero,.teacher-pay-hero,.ov-hero
) :is(.btn-light,a.btn-light){
  background:#fff!important;
  border-color:#fff!important;
  color:var(--jx-v69-navy)!important;
}

/* Dashboard label in ALL sidebars: one exact navy, including mobile/offcanvas. */
html body :is(
  .rw-actions>.rw-dashboard-link,
  .staff-role-menu>.rw-dashboard-entry,
  .responsible-mobile-offcanvas .rw-dashboard-entry,
  .teacher-mobile-offcanvas .rw-dashboard-entry,
  .acc-sidebar .acc-sidebar-head
){
  background:var(--jx-v69-navy)!important;
  background-image:none!important;
  border-color:var(--jx-v69-border)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(11,39,84,.14)!important;
}
html body :is(
  .rw-actions>.rw-dashboard-link,
  .staff-role-menu>.rw-dashboard-entry,
  .responsible-mobile-offcanvas .rw-dashboard-entry,
  .teacher-mobile-offcanvas .rw-dashboard-entry,
  .acc-sidebar .acc-sidebar-head
) :is(span,strong,small,i){color:#fff!important}

/* Older staff pages with a raw title row now inherit the same exact strip. */
html body.staff-visual-v21 main>.jx-legacy-page-title,
html body.teacher-portal-page main>.jx-legacy-page-title,
html body.responsible-workspace-v23 main>.jx-legacy-page-title{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:58px!important;
  margin:0 0 14px!important;
  padding:8px 12px!important;
  border:1px solid var(--jx-v69-border)!important;
  border-radius:var(--jx-v69-radius)!important;
  background:var(--jx-v69-navy)!important;
  color:#fff!important;
  box-shadow:var(--jx-v69-shadow)!important;
}
html body .jx-legacy-page-title h1{margin:0!important;color:#fff!important;font-size:1.02rem!important;font-weight:900!important}
html body .jx-legacy-page-title p{margin:2px 0 0!important;color:var(--jx-v69-sub)!important;font-size:.70rem!important}
html body .jx-legacy-page-title .jawda-icon-3d{width:38px!important;height:38px!important;min-width:38px!important;border-radius:10px!important;background:rgba(255,255,255,.1)!important;color:#fff!important}

/* Public study plan/info pages previously used oversized hero cards. Keep their content, use the same compact language. */
html body .plan-hero-card,
html body .info-hero,
html body .resource-intro,
html body .guest-preview-heading{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
html body .info-hero h1,
html body .plan-hero-card h1,
html body .resource-intro h1,
html body .guest-preview-heading h1{font-size:1.02rem!important}

@media(max-width:767.98px){
  html body :is(
    .jawda-page-heading,.academic-hero,.bill-hero,.care-heading,.project-hero,
    .sa-hero,.acc-hero,.teacher-messages-heading,.leq-hero,.qb-hero,
    .events-page-heading,.leqs-head,.readiness-page-head,.responsible-welcome,
    .billing-workspace-head,.lectures-hero-box,.chgcat-hero,.teacher-pay-hero,
    .ov-hero,.guest-preview-heading,.plan-hero-card,.resource-intro,.info-hero,.ai-public-hero,
    .teacher-tool-stage>header,.jx-legacy-page-title
  ){
    min-height:52px!important;
    padding:7px 9px!important;
    margin-bottom:11px!important;
    border-radius:11px!important;
  }
  html body :is(
    .jawda-page-heading-icon,.academic-art,.jx-page-icon,.info-icon,.plan-hero-icon,
    .guest-preview-art,.resource-icon,.welcome-mark,.billing-workspace-title .jawda-icon-3d
  ){
    flex-basis:34px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;border-radius:9px!important;
  }
  html body :is(
    .jawda-page-heading,.academic-hero,.bill-hero,.care-heading,.project-hero,
    .sa-hero,.acc-hero,.teacher-messages-heading,.leq-hero,.qb-hero,
    .events-page-heading,.leqs-head,.readiness-page-head,.responsible-welcome,
    .billing-workspace-head,.lectures-hero-box,.chgcat-hero,.teacher-pay-hero,.ov-hero,
    .guest-preview-heading,.plan-hero-card,.resource-intro,.info-hero,.ai-public-hero
  ) :is(h1,h2,h3,h4,.qb-hero-title,.section-title,.fw-bold,strong){font-size:.94rem!important}
  html body :is(
    .jawda-page-heading,.academic-hero,.bill-hero,.care-heading,.project-hero,
    .sa-hero,.acc-hero,.teacher-messages-heading,.leq-hero,.qb-hero,
    .events-page-heading,.leqs-head,.readiness-page-head,.responsible-welcome,
    .billing-workspace-head,.lectures-hero-box,.chgcat-hero,.teacher-pay-hero,.ov-hero,
    .guest-preview-heading,.plan-hero-card,.resource-intro,.info-hero,.ai-public-hero
  ) :is(p,small,.text-muted,.qb-hero-sub){font-size:.65rem!important}
}

@media(max-width:575.98px){
  /* Keep the title readable; secondary description may wrap but never creates a giant hero. */
  html body :is(.jawda-page-heading,.academic-hero,.bill-hero,.care-heading,.project-hero,.sa-hero,.acc-hero,.responsible-welcome,.plan-hero-card,.info-hero){gap:8px!important}
  html body :is(.project-hero,.billing-workspace-head){flex-wrap:wrap!important}
}

/* Course catalog also follows the same page-heading language instead of a separate oversized marketing hero. */
html body .catalog-hero{
  overflow:visible!important;
  padding:14px 0 0!important;
  background:transparent!important;
  background-image:none!important;
  color:inherit!important;
}
html body .catalog-hero::before{display:none!important;content:none!important}
html body .catalog-hero-inner{
  min-height:58px!important;
  padding:8px 12px!important;
  border:1px solid var(--jx-v69-border)!important;
  border-radius:var(--jx-v69-radius)!important;
  background:var(--jx-v69-navy)!important;
  background-image:none!important;
  box-shadow:var(--jx-v69-shadow)!important;
  color:#fff!important;
}
html body .catalog-hero-copy{max-width:none!important}
html body .catalog-kicker{display:none!important}
html body .catalog-hero h1{margin:0!important;color:#fff!important;font-size:1.02rem!important;line-height:1.45!important;font-weight:900!important}
html body .catalog-hero p{margin:2px 0 0!important;max-width:none!important;color:var(--jx-v69-sub)!important;font-size:.70rem!important;line-height:1.55!important;font-weight:650!important}
html body .catalog-hero-art{display:none!important}
@media(max-width:767.98px){
  html body .catalog-hero{padding-top:10px!important}
  html body .catalog-hero-inner{min-height:52px!important;padding:7px 9px!important;border-radius:11px!important}
  html body .catalog-hero h1{font-size:.94rem!important}
  html body .catalog-hero p{font-size:.65rem!important}
}
