/* =====================================================================
   EDUHUNT V2.2.345 R130 — PRINCIPAL UI COMPLETION
   Principal-only presentation layer. No API, result, permission, upload,
   download or database business logic is changed here.
   ===================================================================== */

/* Main page names requested in capitals. Keep card/body copy untouched. */
body[data-portal-role="PRINCIPAL"] #content :is(.page-head,.principal-app-page-head) h2{
  text-transform:uppercase!important;
  letter-spacing:.01em!important;
}

/* Remove any oval/white/glowing active patch while retaining a clean active line. */
body[data-portal-role="PRINCIPAL"] :is(.principal-bottom-nav button,.principal-bottom-nav button i){
  -webkit-tap-highlight-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}
body[data-portal-role="PRINCIPAL"] .principal-bottom-nav button::before{display:none!important}
body[data-portal-role="PRINCIPAL"] .principal-bottom-nav button.active::after{
  height:3px!important;
  border-radius:2px!important;
  box-shadow:none!important;
}

/* People login help is one box, not three separate boxes. */
body[data-portal-role="PRINCIPAL"] .principal-people-login-guide{
  display:block!important;
  margin-top:14px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
body[data-portal-role="PRINCIPAL"] .principal-people-login-guide>.principal-login-guide-box{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  padding:13px 14px!important;
  border:1px solid #28516e!important;
  border-radius:14px!important;
  background:#0a2945!important;
}
body[data-portal-role="PRINCIPAL"] .principal-login-guide-box p{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
body[data-portal-role="PRINCIPAL"] .principal-login-guide-box b{
  display:block!important;
  margin-bottom:3px!important;
  color:#66edd3!important;
  font-size:13px!important;
  line-height:1.25!important;
}
body[data-portal-role="PRINCIPAL"] .principal-login-guide-box span{
  display:block!important;
  margin:0!important;
  color:#e6f1fb!important;
  font-size:13px!important;
  line-height:1.42!important;
}
body[data-portal-role="PRINCIPAL"] .principal-login-guide-box span strong{
  display:inline!important;
  color:#ffe071!important;
  font-size:inherit!important;
}
body[data-portal-role="PRINCIPAL"][data-desktop-theme="light"] .principal-people-login-guide>.principal-login-guide-box{
  background:#fff!important;
  border-color:#b8d1e3!important;
}
body[data-portal-role="PRINCIPAL"][data-desktop-theme="light"] .principal-login-guide-box b{color:#087c61!important}
body[data-portal-role="PRINCIPAL"][data-desktop-theme="light"] .principal-login-guide-box span{color:#304b64!important}
body[data-portal-role="PRINCIPAL"][data-desktop-theme="light"] .principal-login-guide-box span strong{color:#9a5a00!important}

/* EduHunt Staff: requested +2px copy and icon-only square actions. */
body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-directory-contact-guidance p{
  font-size:18px!important;
  line-height:1.5!important;
  text-transform:none!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-directory-phone-emoji{
  display:inline-grid!important;
  place-items:center!important;
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  font-size:18px!important;
  line-height:1!important;
  color:inherit!important;
  filter:none!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-directory-mobile{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-directory-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  padding-left:0!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-square-action{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  flex:0 0 40px!important;
  padding:0!important;
  border-radius:9px!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-square-action svg{
  width:20px!important;
  height:20px!important;
  display:block!important;
  color:inherit!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-call-emoji{
  font-size:19px!important;
  line-height:1!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-square-action--whatsapp{
  background:#16a65a!important;
  border-color:#16a65a!important;
  color:#fff!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-square-action--call{
  background:#0ba6e9!important;
  border-color:#0ba6e9!important;
  color:#fff!important;
}

/* Profile card: ACTIVE at the upper right, plus clean certificate details form. */
body[data-portal-role="PRINCIPAL"] .principal-profile-account .card-head{
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-profile-account .card-head>.status-badge{
  margin-left:auto!important;
  align-self:flex-start!important;
  white-space:nowrap!important;
}
body[data-portal-role="PRINCIPAL"] .principal-profile-form{
  display:grid!important;
  gap:13px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-profile-form small{
  display:block!important;
  margin-top:5px!important;
  color:var(--muted,#718096)!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.principal-birthday-greeting{
  display:grid;
  place-items:center;
  gap:8px;
  padding:10px 4px 4px;
  text-align:center;
}
.principal-birthday-greeting>span{font-size:46px;line-height:1}
.principal-birthday-greeting>strong{font-size:22px;line-height:1.25;color:#0b78c8}
.principal-birthday-greeting>p{margin:0;color:var(--muted,#60708a)}

/* Complete dark treatment for Video Lectures, including previously white rows. */
body[data-portal-role="PRINCIPAL"][data-portal-module="videos"][data-desktop-theme="dark"] .edu-video-library{
  background:#071b2f!important;
  border-color:#28516e!important;
  color:#eef8ff!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="videos"][data-desktop-theme="dark"] .edu-video-library :is(label,.section-title,.edu-video-all-title){color:#eef8ff!important}
body[data-portal-role="PRINCIPAL"][data-portal-module="videos"][data-desktop-theme="dark"] .edu-video-library select{
  background:#081f34!important;
  border-color:#315a78!important;
  color:#f5fbff!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="videos"][data-desktop-theme="dark"] .edu-video-topic{
  background:#0d2c48!important;
  border-color:#315f7e!important;
  color:#fff!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="videos"][data-desktop-theme="dark"] .edu-video-topic strong{color:#fff!important}
body[data-portal-role="PRINCIPAL"][data-portal-module="videos"][data-desktop-theme="dark"] .edu-video-topic.disabled{background:#152b3e!important;color:#a9bac8!important;opacity:.82!important}
body[data-portal-role="PRINCIPAL"][data-portal-module="videos"][data-desktop-theme="dark"] .edu-video-topic-number{
  background:#133b5b!important;
  color:#62dcff!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="videos"][data-desktop-theme="dark"] .edu-video-list-row{
  background:#0d2c48!important;
  border-color:#285a78!important;
  color:#fff!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="videos"][data-desktop-theme="dark"] .edu-video-list-row strong{color:#fff!important}
body[data-portal-role="PRINCIPAL"][data-portal-module="videos"][data-desktop-theme="dark"] .edu-video-list-row.active{
  background:#104365!important;
  border-color:#18d6d7!important;
  box-shadow:inset 3px 0 #18d6d7!important;
}

@media screen and (max-width:1024px){
  /* Exactly two theme buttons in the marked Principal top-header slot. */
  body[data-portal-role="PRINCIPAL"] #studentThemeToggle,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #studentThemeToggle{display:none!important}
  body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher:not([hidden]),
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher:not([hidden]){
    display:grid!important;
    grid-template-columns:repeat(2,36px)!important;
    gap:3px!important;
    width:75px!important;
    height:44px!important;
    min-width:75px!important;
    padding:2px!important;
    margin:0!important;
    border:1px solid #315a78!important;
    border-radius:12px!important;
    background:#0a2036!important;
    box-sizing:border-box!important;
  }
  body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher .desktop-theme-choice,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher .desktop-theme-choice{
    width:36px!important;
    min-width:36px!important;
    height:38px!important;
    min-height:38px!important;
    padding:1px 0!important;
    border:0!important;
    border-radius:8px!important;
    display:grid!important;
    grid-template-rows:18px 11px!important;
    place-items:center!important;
    gap:0!important;
    background:transparent!important;
    color:#b9d5e8!important;
    box-shadow:none!important;
  }
  body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher .desktop-theme-choice span,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher .desktop-theme-choice span{
    font-size:16px!important;
    line-height:18px!important;
  }
  body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher .desktop-theme-choice b,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher .desktop-theme-choice b{
    display:block!important;
    font-size:8px!important;
    font-weight:800!important;
    line-height:10px!important;
  }
  body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher .desktop-theme-choice.is-active,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher .desktop-theme-choice.is-active{
    background:#174268!important;
    color:#ffe25f!important;
  }

  /* Image 6: hamburger and Profile controls have identical footprints. */
  body[data-portal-role="PRINCIPAL"] :is(#drawerOpen,#accountButton),
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] :is(#drawerOpen,#accountButton){
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    flex:0 0 44px!important;
    padding:0!important;
  }

  /* Remove intro/helper line under each main heading on mobile only. */
  body[data-portal-role="PRINCIPAL"] #content .page-head>div>p,
  body[data-portal-role="PRINCIPAL"] #content .principal-app-page-head>div>p,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #content .page-head>div>p,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #content .principal-app-page-head>div>p{
    display:none!important;
  }

  /* Compact title row and back button height close to text height. */
  body[data-portal-role="PRINCIPAL"] .principal-app-page-head,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-app-page-head{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    min-height:38px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-app-page-head>button[data-principal-back],
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-app-page-head>button[data-principal-back]{
    width:40px!important;
    height:36px!important;
    min-width:40px!important;
    min-height:36px!important;
    padding:0!important;
    border-radius:10px!important;
    display:grid!important;
    place-items:center!important;
    line-height:1!important;
  }

  /* Messages is a rectangular top-right action on People, with square count. */
  body[data-portal-role="PRINCIPAL"] .principal-hub-messages,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-hub-messages{
    width:auto!important;
    min-width:94px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 8px 0 11px!important;
    border:1px solid #2b7699!important;
    border-radius:8px!important;
    background:#0b3656!important;
    color:#f1f9ff!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-hub-messages span,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-hub-messages span{
    display:grid!important;
    place-items:center!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 4px!important;
    border-radius:4px!important;
    background:#ffcf45!important;
    color:#13253b!important;
    font-size:11px!important;
    font-weight:900!important;
    line-height:1!important;
  }

  /* Required 13px mobile bottom button names. */
  body[data-portal-role="PRINCIPAL"] .principal-bottom-nav button span,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-bottom-nav button span{
    font-size:13px!important;
    line-height:1.05!important;
    font-weight:800!important;
    text-shadow:none!important;
  }

  body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-directory-contact-guidance p,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-directory-contact-guidance p{
    font-size:18px!important;
  }
  body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-directory-card--simple .staff-directory-actions,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-directory-card--simple .staff-directory-actions{
    grid-column:1/-1!important;
    justify-content:flex-start!important;
    padding-left:56px!important;
  }
  body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-square-action,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="eduhunt-staff"] .staff-square-action{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    flex-basis:38px!important;
  }
}

@media screen and (max-width:420px){
  body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher:not([hidden]),
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher:not([hidden]){
    grid-template-columns:repeat(2,33px)!important;
    width:69px!important;
    min-width:69px!important;
  }
  body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher .desktop-theme-choice,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher .desktop-theme-choice{
    width:33px!important;
    min-width:33px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-hub-messages,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-hub-messages{
    min-width:84px!important;
    padding-left:8px!important;
    padding-right:6px!important;
    font-size:12px!important;
  }
}

@media print{
  body[data-portal-role="PRINCIPAL"] .principal-hub-messages{display:none!important}
}


/* =====================================================================
   EDUHUNT R131 — PRINCIPAL MOBILE SIDEBAR NAME RETENTION + 2PX TEXT SIZE
   Scope: Principal Portal mobile drawer only.
   Existing names, icons, routes, actions and desktop typography are preserved.
   ===================================================================== */
@media screen and (max-width:1024px){
  body[data-portal-role="PRINCIPAL"] #sidebarNav .nav-link > span,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #sidebarNav .nav-link > span{
    font-size:16px!important;
    line-height:1.2!important;
  }
}

/* =====================================================================
   EDUHUNT R133 — PRINCIPAL MOBILE PAGE-TILE LABELS + 3PX
   Scope: Principal mobile main hub tiles only.
   The labels come from PRINCIPAL_SITE_MAP, the same source used by the
   Principal sidebar. Current 14px tile labels are increased to 17px.
   Internal form/action/filter buttons are intentionally unchanged.
   ===================================================================== */
@media screen and (max-width:1024px){
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item b,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item b{
    font-size:17px!important;
    line-height:1.16!important;
    font-weight:800!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    text-align:center!important;
  }
}



/* =====================================================================
   EDUHUNT V2.2.349 R135 — PRINCIPAL MOBILE ALIGNMENT / THEME / TYPE
   UI-only. Principal Portal mobile/tablet presentation.
   ===================================================================== */

/* Certificate note: 12px -> 16px (+4px), as requested. */
body[data-portal-role="PRINCIPAL"] .principal-profile-certificate-note{
  font-size:16px!important;
  line-height:1.35!important;
}
body[data-portal-role="PRINCIPAL"] .principal-profile-edit{
  display:inline-flex!important;
  align-items:center!important;
}

@media screen and (max-width:1024px){
  /* Move Light/Dark out of the top header. The page-level pair below uses icons only. */
  body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher,
  body[data-portal-role="PRINCIPAL"] #studentThemeToggle{
    display:none!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-page-theme-controls{
    width:100%!important;
    min-height:38px!important;
    margin:0 0 6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    padding:0!important;
    box-sizing:border-box!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-page-theme-choice{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid #315a78!important;
    border-radius:9px!important;
    background:#09243c!important;
    color:#d8e9f6!important;
    display:grid!important;
    place-items:center!important;
    line-height:1!important;
    box-shadow:none!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-page-theme-choice span{
    font-size:19px!important;
    line-height:1!important;
    margin:0!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-page-theme-choice.is-active{
    background:#174268!important;
    border-color:#4f88ad!important;
    color:#ffe25f!important;
  }

  /* Bottom main navigation: every icon/label sits on the exact same vertical tracks.
     Active state changes only colour/underline, never position. */
  body[data-portal-role="PRINCIPAL"] .principal-bottom-nav button{
    display:grid!important;
    grid-template-rows:30px 18px!important;
    align-content:center!important;
    justify-items:center!important;
    gap:3px!important;
    padding:4px 1px!important;
    margin:0!important;
    transform:none!important;
    top:auto!important;
    bottom:auto!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-bottom-nav button i{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    margin:0!important;
    display:grid!important;
    place-items:center!important;
    align-self:center!important;
    transform:none!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-bottom-nav button span{
    height:18px!important;
    min-height:18px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:none!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-bottom-nav button:is(.active,:active,:focus),
  body[data-portal-role="PRINCIPAL"] .principal-bottom-nav button:is(.active,:active,:focus) :is(i,span){
    transform:none!important;
  }

  /* Main hub tiles use fixed internal vertical tracks too, so one/two/three-line labels
     do not move the icon up or down between People, Exams, Resources and Downloads. */
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-grid{
    align-items:stretch!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item{
    min-height:126px!important;
    height:126px!important;
    display:grid!important;
    grid-template-rows:44px 56px!important;
    align-content:center!important;
    justify-items:center!important;
    gap:8px!important;
    padding:9px 5px!important;
    transform:none!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-emoji{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    margin:0!important;
    align-self:center!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item b{
    min-height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
  }

  /* Dashboard KPI captions marked in Image 4: 12px -> 14px (+2px). */
  body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] #content>.kpi-grid .kpi-card>span{
    font-size:14px!important;
    line-height:1.16!important;
    font-weight:800!important;
  }

  /* People login information: 13px -> 15px (+2px) on mobile. */
  body[data-portal-role="PRINCIPAL"] .principal-login-guide-box b,
  body[data-portal-role="PRINCIPAL"] .principal-login-guide-box span{
    font-size:15px!important;
  }

  /* Video chapter/topic names: +2px. */
  body[data-portal-role="PRINCIPAL"][data-portal-module="videos"] .edu-video-topic strong,
  body[data-portal-role="PRINCIPAL"][data-portal-module="videos"] .edu-video-list-row strong{
    font-size:15px!important;
    line-height:1.25!important;
  }
}

/* Physical-mobile mode may retain a desktop CSS viewport. Keep the same R135 rules. */
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #studentThemeToggle{display:none!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-page-theme-controls{
  width:100%!important;min-height:38px!important;margin:0 0 6px!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;padding:0!important;box-sizing:border-box!important
}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-page-theme-choice{
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;margin:0!important;border:1px solid #315a78!important;border-radius:9px!important;background:#09243c!important;color:#d8e9f6!important;display:grid!important;place-items:center!important;line-height:1!important;box-shadow:none!important
}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-page-theme-choice span{font-size:19px!important;line-height:1!important;margin:0!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-page-theme-choice.is-active{background:#174268!important;border-color:#4f88ad!important;color:#ffe25f!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-bottom-nav button{display:grid!important;grid-template-rows:30px 18px!important;align-content:center!important;justify-items:center!important;gap:3px!important;padding:4px 1px!important;margin:0!important;transform:none!important;top:auto!important;bottom:auto!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-bottom-nav button i{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;margin:0!important;display:grid!important;place-items:center!important;align-self:center!important;transform:none!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-bottom-nav button span{height:18px!important;min-height:18px!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;transform:none!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-grid{align-items:stretch!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item{min-height:126px!important;height:126px!important;display:grid!important;grid-template-rows:44px 56px!important;align-content:center!important;justify-items:center!important;gap:8px!important;padding:9px 5px!important;transform:none!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-emoji{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;margin:0!important;align-self:center!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item b{min-height:56px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] #content>.kpi-grid .kpi-card>span{font-size:14px!important;line-height:1.16!important;font-weight:800!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-login-guide-box b,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-login-guide-box span{font-size:15px!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="videos"] .edu-video-topic strong,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="videos"] .edu-video-list-row strong{font-size:15px!important;line-height:1.25!important}


/* =====================================================================
   EDUHUNT V2.2.350 R136 — PRINCIPAL SINGLE THEME ICON + CLEAN ASSIGNMENTS
   ===================================================================== */

/* Principal never shows the old topbar Light/Dark pair. One contextual icon
   is mounted inside the page action row instead. This applies at every width. */
body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher,
body[data-portal-role="PRINCIPAL"] #studentThemeToggle,
body[data-portal-role="PRINCIPAL"] #principalPageThemeControls{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

body[data-portal-role="PRINCIPAL"] .page-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
body[data-portal-role="PRINCIPAL"] .page-head>div:first-child{min-width:0!important}
body[data-portal-role="PRINCIPAL"] .page-actions,
body[data-portal-role="PRINCIPAL"] .principal-page-actions,
body[data-portal-role="PRINCIPAL"] .principal-head-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  margin:0!important;
  white-space:nowrap!important;
}
body[data-portal-role="PRINCIPAL"] .principal-single-theme-toggle{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #315a78!important;
  border-radius:9px!important;
  background:#09243c!important;
  color:#ffe25f!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:none!important;
  cursor:pointer!important;
  line-height:1!important;
}
body[data-portal-role="PRINCIPAL"] .principal-single-theme-toggle span{
  display:block!important;
  font-size:20px!important;
  line-height:1!important;
  margin:0!important;
}
body[data-portal-role="PRINCIPAL"][data-desktop-theme="light"] .principal-single-theme-toggle{
  background:#f7fbff!important;
  border-color:#a9c6dd!important;
  color:#183f61!important;
}

/* People/hub header: Back | Title | Messages + one Theme icon, one row. */
body[data-portal-role="PRINCIPAL"] .principal-app-page-head{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:7px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-app-page-head>div:not(.principal-head-actions){min-width:0!important}
body[data-portal-role="PRINCIPAL"] .principal-head-actions .principal-hub-messages{
  min-height:36px!important;
  height:36px!important;
  padding:0 9px!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  white-space:nowrap!important;
}

/* Principal Assignments: compact 2x2 filter matrix and clean result cards. */
body[data-portal-role="PRINCIPAL"] .principal-assignment-filter-card{
  margin:0 0 10px!important;
  padding:10px!important;
  border-radius:12px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-filter-card .assignment-role-filter-flow{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:end!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-filter-card .assignment-programme-field{
  grid-column:1/-1!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-filter-card .form-field{
  min-width:0!important;
  margin:0!important;
  gap:4px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-filter-card .form-field label{
  margin:0!important;
  font-size:13px!important;
  line-height:1.15!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-filter-card select{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  height:44px!important;
  padding:7px 34px 7px 10px!important;
  border-radius:9px!important;
  font-size:14px!important;
  line-height:1.1!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-results{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-card{
  width:100%!important;
  min-width:0!important;
  padding:11px 12px!important;
  margin:0!important;
  border:1px solid #31536d!important;
  border-radius:12px!important;
  background:#071b2f!important;
  color:#f4f9ff!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"title actions" "meta actions"!important;
  column-gap:10px!important;
  row-gap:6px!important;
  align-items:center!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-card[hidden]{display:none!important}
body[data-portal-role="PRINCIPAL"] .principal-assignment-title{
  grid-area:title!important;
  min-width:0!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1.25!important;
  color:#f4f9ff!important;
  overflow-wrap:anywhere!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-meta{
  grid-area:meta!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px 10px!important;
  min-width:0!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-meta span{
  color:#a9bfd3!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-meta span+span::before{
  content:"•";
  margin-right:10px;
  color:#4f7593;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-actions{
  grid-area:actions!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:max-content!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-actions .row-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  margin:0!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-actions .row-action{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  padding:0!important;
  margin:0!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-empty{
  padding:14px!important;
  border:1px dashed #31536d!important;
  border-radius:12px!important;
  color:#a9bfd3!important;
  text-align:center!important;
  font-size:13px!important;
  font-weight:800!important;
}
body[data-portal-role="PRINCIPAL"] .principal-assignment-empty[hidden]{display:none!important}
body[data-portal-role="PRINCIPAL"][data-desktop-theme="light"] .principal-assignment-card{
  background:#fff!important;
  border-color:#bfd0e0!important;
  color:#153b5d!important;
}
body[data-portal-role="PRINCIPAL"][data-desktop-theme="light"] .principal-assignment-title{color:#153b5d!important}
body[data-portal-role="PRINCIPAL"][data-desktop-theme="light"] .principal-assignment-meta span{color:#5d7488!important}

@media screen and (max-width:1024px){
  body[data-portal-role="PRINCIPAL"] .page-head{
    min-height:40px!important;
    margin:0 0 8px!important;
  }
  body[data-portal-role="PRINCIPAL"] .page-head h2{
    margin:0!important;
    line-height:1.08!important;
  }
  body[data-portal-role="PRINCIPAL"] .page-actions .button[data-command="medal-race-open"]{
    min-height:36px!important;
    height:36px!important;
    padding:0 8px!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-single-theme-toggle{
    width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important
  }
  body[data-portal-role="PRINCIPAL"] .principal-assignment-card{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
}

@media screen and (max-width:380px){
  body[data-portal-role="PRINCIPAL"] .page-actions,
  body[data-portal-role="PRINCIPAL"] .principal-head-actions{gap:4px!important}
  body[data-portal-role="PRINCIPAL"] .page-actions .button[data-command="medal-race-open"]{padding:0 6px!important;font-size:9px!important}
  body[data-portal-role="PRINCIPAL"] .principal-head-actions .principal-hub-messages{padding:0 7px!important;font-size:11px!important}
  body[data-portal-role="PRINCIPAL"] .principal-assignment-filter-card{padding:8px!important}
  body[data-portal-role="PRINCIPAL"] .principal-assignment-filter-card .assignment-role-filter-flow{gap:7px!important}
  body[data-portal-role="PRINCIPAL"] .principal-assignment-card{padding:10px!important;column-gap:7px!important}
  body[data-portal-role="PRINCIPAL"] .principal-assignment-title{font-size:14px!important}
  body[data-portal-role="PRINCIPAL"] .principal-assignment-meta span{font-size:12px!important}
  body[data-portal-role="PRINCIPAL"] .principal-assignment-actions .row-action{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}
}

/* Physical mobile devices can keep a large CSS viewport in desktop-site mode. */
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #studentThemeToggle,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #principalPageThemeControls{display:none!important;visibility:hidden!important;pointer-events:none!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-assignment-filter-card .assignment-role-filter-flow{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* =====================================================================
   EDUHUNT V2.2.351 R137 — PRINCIPAL COMPACT HUBS / MICRO ROW / VIDEO ROW
   Scope: Principal Portal presentation only. No API/database logic changes.
   ===================================================================== */

@media screen and (max-width:1024px){
  /* Match the compact Dashboard-card rhythm on People / Exams / Resources / Downloads.
     Keep three columns, but remove the tall empty card space. */
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    align-items:stretch!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item{
    min-height:96px!important;
    height:96px!important;
    padding:6px 4px!important;
    display:grid!important;
    grid-template-rows:36px 44px!important;
    align-content:center!important;
    justify-items:center!important;
    gap:4px!important;
    border-radius:10px!important;
    transform:none!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-emoji{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    margin:0!important;
    align-self:center!important;
    border-radius:9px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-emoji svg{
    width:20px!important;
    height:20px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item b{
    min-height:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0 1px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:17px!important;
    line-height:1.08!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  /* Micro Schedules: Class and all action icons in one single row. */
  body[data-portal-role="PRINCIPAL"][data-portal-module="micro-schedules"] .principal-micro-grid{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  body[data-portal-role="PRINCIPAL"][data-portal-module="micro-schedules"] .principal-micro-card{
    min-height:0!important;
    height:auto!important;
    padding:8px 10px!important;
    margin:0!important;
    display:block!important;
    border-radius:10px!important;
  }
  body[data-portal-role="PRINCIPAL"][data-portal-module="micro-schedules"] .principal-micro-card-copy{
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
  }
  body[data-portal-role="PRINCIPAL"][data-portal-module="micro-schedules"] .principal-micro-card-copy>strong{
    margin:0!important;
    padding:0!important;
    min-width:0!important;
    font-size:17px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  body[data-portal-role="PRINCIPAL"][data-portal-module="micro-schedules"] .principal-micro-card .row-actions{
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:5px!important;
  }
  body[data-portal-role="PRINCIPAL"][data-portal-module="micro-schedules"] .principal-micro-card .row-action{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
  }

  /* Video Lectures: Class + Subject always share one mobile row. */
  body[data-portal-role="PRINCIPAL"][data-portal-module="videos"] .edu-video-select-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:end!important;
  }
  body[data-portal-role="PRINCIPAL"][data-portal-module="videos"] .edu-video-select-row .form-field{
    min-width:0!important;
    width:auto!important;
    margin:0!important;
  }
  body[data-portal-role="PRINCIPAL"][data-portal-module="videos"] .edu-video-select-row select{
    width:100%!important;
    min-width:0!important;
    height:42px!important;
    min-height:42px!important;
    padding:6px 30px 6px 9px!important;
    font-size:14px!important;
  }
}

/* Physical-mobile mode can retain a wider CSS viewport. Mirror R137 exactly. */
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;align-items:stretch!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item{min-height:96px!important;height:96px!important;padding:6px 4px!important;display:grid!important;grid-template-rows:36px 44px!important;align-content:center!important;justify-items:center!important;gap:4px!important;border-radius:10px!important;transform:none!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-emoji{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;align-self:center!important;border-radius:9px!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-emoji svg{width:20px!important;height:20px!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item b{min-height:44px!important;height:44px!important;margin:0!important;padding:0 1px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-size:17px!important;line-height:1.08!important;white-space:normal!important;overflow:visible!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="micro-schedules"] .principal-micro-grid{grid-template-columns:1fr!important;gap:7px!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="micro-schedules"] .principal-micro-card{min-height:0!important;height:auto!important;padding:8px 10px!important;margin:0!important;display:block!important;border-radius:10px!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="micro-schedules"] .principal-micro-card-copy{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="micro-schedules"] .principal-micro-card-copy>strong{margin:0!important;padding:0!important;min-width:0!important;font-size:17px!important;line-height:1.15!important;white-space:nowrap!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="micro-schedules"] .principal-micro-card .row-actions{margin:0!important;padding:0!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="micro-schedules"] .principal-micro-card .row-action{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;padding:0!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="videos"] .edu-video-select-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;align-items:end!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="videos"] .edu-video-select-row .form-field{min-width:0!important;width:auto!important;margin:0!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="videos"] .edu-video-select-row select{width:100%!important;min-width:0!important;height:42px!important;min-height:42px!important;padding:6px 30px 6px 9px!important;font-size:14px!important}


/* =====================================================================
   EDUHUNT V2.2.352 R138 — PRINCIPAL CENTERED HUB CONTENT / 20PX LABELS
   Scope: Principal mobile landing hubs only. Button outer size is preserved.
   ===================================================================== */
@media screen and (max-width:1024px){
  /* Keep the R137 96px tile size, but vertically center icon + label as one unit. */
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item{
    min-height:96px!important;
    height:96px!important;
    padding:0 3px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    transform:none!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-emoji{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    flex:0 0 34px!important;
    margin:0!important;
    align-self:center!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item b{
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0 1px!important;
    display:block!important;
    width:100%!important;
    text-align:center!important;
    font-size:20px!important; /* R137 17px + requested 3px */
    line-height:.95!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  /* Dashboard: MEDAL WINNERS + single theme icon must remain one row. */
  body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] .page-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:6px!important;
  }
  body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] .page-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    white-space:nowrap!important;
  }
  body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] .page-actions .principal-single-theme-toggle{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
  }
}

html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item{min-height:96px!important;height:96px!important;padding:0 3px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;transform:none!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-emoji{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;flex:0 0 34px!important;margin:0!important;align-self:center!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item b{min-height:0!important;height:auto!important;margin:0!important;padding:0 1px!important;display:block!important;width:100%!important;text-align:center!important;font-size:20px!important;line-height:.95!important;white-space:normal!important;overflow:visible!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] .page-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:6px!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] .page-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:5px!important;white-space:nowrap!important}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] .page-actions .principal-single-theme-toggle{flex:0 0 34px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}


/* =====================================================================
   EDUHUNT V2.2.353 R139 — PRINCIPAL MOBILE FINAL OVERRIDE
   Fixes R138 stale-cache issue and enforces the requested mobile rules.
   ===================================================================== */

/* PRINCIPAL: the legacy top-header Light/Dark pair is NEVER shown. */
body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher,
body[data-portal-role="PRINCIPAL"] #studentThemeToggle,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #desktopThemeSwitcher,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #studentThemeToggle{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Default = NO page theme icon. Only the five landing pages below may show it. */
body[data-portal-role="PRINCIPAL"] .principal-single-theme-toggle,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-single-theme-toggle{
  display:none!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] .principal-single-theme-toggle,
body[data-portal-role="PRINCIPAL"][data-portal-module="principal-people-hub"] .principal-single-theme-toggle,
body[data-portal-role="PRINCIPAL"][data-portal-module="principal-exams-hub"] .principal-single-theme-toggle,
body[data-portal-role="PRINCIPAL"][data-portal-module="principal-resources-hub"] .principal-single-theme-toggle,
body[data-portal-role="PRINCIPAL"][data-portal-module="principal-downloads-hub"] .principal-single-theme-toggle,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] .principal-single-theme-toggle,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="principal-people-hub"] .principal-single-theme-toggle,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="principal-exams-hub"] .principal-single-theme-toggle,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="principal-resources-hub"] .principal-single-theme-toggle,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="principal-downloads-hub"] .principal-single-theme-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  margin:0!important;
}

/* All five landing-page title/action rows stay on one line. */
body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] .page-head,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] .page-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:6px!important;
  flex-direction:row!important;
}
body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] .page-actions,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="dashboard"] .page-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  white-space:nowrap!important;
}
body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-app-page-head,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-app-page-head{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:6px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-head-actions,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-head-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  margin:0!important;
}

/* R139 definitive mobile hub tiles: keep R137 outer size, center icon+text,
   and use the requested 20px label size. */
@media screen and (max-width:1024px){
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    align-items:stretch!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item{
    box-sizing:border-box!important;
    min-height:96px!important;
    height:96px!important;
    padding:3px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    transform:none!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-emoji{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    flex:0 0 34px!important;
    margin:0!important;
    align-self:center!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item b{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:20px!important;
    font-weight:800!important;
    line-height:.88!important;
    white-space:normal!important;
    overflow:visible!important;
  }
}

/* Physical Android/iOS mobile can report a desktop-width viewport. */
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  align-items:stretch!important;
}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item{
  box-sizing:border-box!important;
  min-height:96px!important;
  height:96px!important;
  padding:3px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  transform:none!important;
}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-emoji{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  flex:0 0 34px!important;
  margin:0!important;
  align-self:center!important;
}
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-hub .principal-hub-item b{
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:.88!important;
  white-space:normal!important;
  overflow:visible!important;
}


/* =====================================================================
   EDUHUNT V2.2.354 R140
   PRINCIPAL INNER-PAGE LEFT HEADER + EXAM SYLLABUS DATE CLEANUP
   ===================================================================== */

@media screen and (max-width:1024px){
  /* Every Principal inner page: compact Back + LEFT aligned heading.
     The 5 main landing pages are not given this class by the renderer. */
  body[data-portal-role="PRINCIPAL"] #content .page-head.principal-inner-page-head,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #content .page-head.principal-inner-page-head{
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr) auto!important;
    align-items:center!important;
    justify-content:start!important;
    column-gap:7px!important;
    min-height:32px!important;
    margin:0 0 8px!important;
    padding:0!important;
    text-align:left!important;
  }

  body[data-portal-role="PRINCIPAL"] #content .page-head.principal-inner-page-head>div:first-of-type,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #content .page-head.principal-inner-page-head>div:first-of-type{
    min-width:0!important;
    width:100%!important;
    text-align:left!important;
    justify-self:start!important;
  }

  body[data-portal-role="PRINCIPAL"] #content .page-head.principal-inner-page-head h2,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #content .page-head.principal-inner-page-head h2{
    margin:0!important;
    padding:0!important;
    width:auto!important;
    max-width:100%!important;
    text-align:left!important;
    justify-self:start!important;
    line-height:1.05!important;
  }

  body[data-portal-role="PRINCIPAL"] #content .principal-inner-back,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] #content .principal-inner-back{
    width:32px!important;
    height:28px!important;
    min-width:32px!important;
    min-height:28px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid #315a78!important;
    border-radius:8px!important;
    background:#0b304d!important;
    color:#f4f8ff!important;
    display:grid!important;
    place-items:center!important;
    font-size:22px!important;
    font-weight:900!important;
    line-height:1!important;
    box-shadow:none!important;
  }

  body[data-portal-role="PRINCIPAL"][data-desktop-theme="light"] #content .principal-inner-back{
    background:#f7fbff!important;
    border-color:#a9c6dd!important;
    color:#183f61!important;
  }

  /* Exam Syllabus: remove the repeated CDF label and make DATE +3px.
     The live mobile cascade previously resolved this date to 12px. */
  body[data-portal-role="PRINCIPAL"][data-portal-module="exam-syllabus"] .exam-syllabus-date-name>small,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="exam-syllabus"] .exam-syllabus-date-name>small{
    display:none!important;
  }

  body[data-portal-role="PRINCIPAL"][data-portal-module="exam-syllabus"] .exam-syllabus-date-name>strong,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="exam-syllabus"] .exam-syllabus-date-name>strong{
    font-size:15px!important;
    font-weight:900!important;
    line-height:1.1!important;
    margin:0!important;
  }
}


/* =====================================================================
   EDUHUNT V2.2.355 R141
   PRINCIPAL EXECUTION STATUS — COMPLETED = DARK GREEN + WHITE
   ===================================================================== */

body[data-portal-role="PRINCIPAL"][data-portal-module="exam-monitoring"]
.exam-v3-principal-cell.is-complete,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="exam-monitoring"]
.exam-v3-principal-cell.is-complete{
  background:#075c3a!important;
  color:#ffffff!important;
  border-color:#0b7a50!important;
}

body[data-portal-role="PRINCIPAL"][data-portal-module="exam-monitoring"]
.exam-v3-principal-cell.is-complete>b,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="exam-monitoring"]
.exam-v3-principal-cell.is-complete>b{
  color:#ffffff!important;
}

body[data-portal-role="PRINCIPAL"][data-portal-module="exam-monitoring"]
.exam-v3-principal-cell.is-complete::before,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="exam-monitoring"]
.exam-v3-principal-cell.is-complete::before{
  color:#ffffff!important;
  opacity:1!important;
}

/* Waiting/incomplete aggregated work never displays the word PARTIAL.
   JS displays IN PROGRESS / CLICK TO COMPLETE instead. */
body[data-portal-role="PRINCIPAL"][data-portal-module="exam-monitoring"]
.exam-v3-principal-cell.is-waiting>b,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"][data-portal-module="exam-monitoring"]
.exam-v3-principal-cell.is-waiting>b{
  white-space:normal!important;
}


/* =====================================================================
   EDUHUNT R151 — PRINCIPAL RESULT TABLE COMPACTNESS
   + CLEAN COORDINATOR KEY APPROVAL
   ===================================================================== */

/* Result report header: keep only the test name + approval actions. */
body[data-portal-role="PRINCIPAL"] .principal-result-toolbar{
  align-items:center!important;
  min-height:56px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-toolbar h2{
  margin:0!important;
}

/* Availability is communicated by enabled / disabled state only. */
body[data-portal-role="PRINCIPAL"] .principal-result-tabs button.is-disabled,
body[data-portal-role="PRINCIPAL"] .principal-result-tabs button:disabled{
  opacity:.42!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
  filter:saturate(.25)!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-tabs button small{
  display:none!important;
}

/* MARKS & RANKS: compact widths, hairline grid, normal student name. */
body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap{
  overflow:auto!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table table{
  width:max-content!important;
  min-width:0!important;
  table-layout:auto!important;
  border-collapse:collapse!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table th,
body[data-portal-role="PRINCIPAL"] .principal-marks-table td{
  padding:6px 7px!important;
  border-right:1px solid rgba(120,155,180,.18)!important;
  border-bottom:1px solid rgba(120,155,180,.18)!important;
  vertical-align:middle!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table th:last-child,
body[data-portal-role="PRINCIPAL"] .principal-marks-table td:last-child{
  border-right:0!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-sno{
  width:44px!important;min-width:44px!important;max-width:44px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-hall{
  width:88px!important;min-width:88px!important;max-width:96px!important;
  white-space:nowrap!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-student{
  width:118px!important;min-width:108px!important;max-width:128px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-result-student-name{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.18!important;
  font-weight:400!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-section{
  width:58px!important;min-width:58px!important;max-width:64px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-score,
body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-rank{
  width:48px!important;min-width:48px!important;max-width:56px!important;
  white-space:nowrap!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-total{
  width:68px!important;min-width:68px!important;max-width:76px!important;
  white-space:nowrap!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-percent{
  width:54px!important;min-width:54px!important;max-width:60px!important;
  white-space:nowrap!important;
}

/* RWL COUNT / RWL ANALYSIS: no stretched columns. */
body[data-portal-role="PRINCIPAL"] .principal-result-compact-table .table-wrap{
  overflow:auto!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-compact-table table{
  width:max-content!important;
  min-width:0!important;
  table-layout:auto!important;
  border-collapse:collapse!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-compact-table th,
body[data-portal-role="PRINCIPAL"] .principal-result-compact-table td{
  padding:7px 9px!important;
  border-right:1px solid rgba(120,155,180,.18)!important;
  border-bottom:1px solid rgba(120,155,180,.18)!important;
  vertical-align:middle!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-compact-table th:last-child,
body[data-portal-role="PRINCIPAL"] .principal-result-compact-table td:last-child{
  border-right:0!important;
}
body[data-portal-role="PRINCIPAL"] .principal-rwl-hall{
  width:105px!important;min-width:105px!important;white-space:nowrap!important;
}
body[data-portal-role="PRINCIPAL"] .principal-rwl-name{
  width:150px!important;min-width:150px!important;max-width:175px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-rwl-student-name{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-weight:400!important;
  line-height:1.2!important;
}
body[data-portal-role="PRINCIPAL"] .principal-rwl-subject{
  width:70px!important;min-width:70px!important;white-space:nowrap!important;
}
body[data-portal-role="PRINCIPAL"] .principal-rwl-number,
body[data-portal-role="PRINCIPAL"] .principal-rwl-rank{
  width:74px!important;min-width:74px!important;white-space:nowrap!important;
}
body[data-portal-role="PRINCIPAL"] .principal-rwl-qnos{
  min-width:130px!important;max-width:220px!important;
}

/* Coordinator Key Approval: old explanatory/search boxes are removed by renderer.
   Keep the remaining header filters compact. */
body[data-portal-role="ACADEMIC_COORDINATOR"] .r81-real-key-toolbar{
  display:none!important;
}
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-table th{
  padding-top:7px!important;
  padding-bottom:7px!important;
}
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-table td{
  padding-top:9px!important;
  padding-bottom:9px!important;
}
body[data-portal-role="ACADEMIC_COORDINATOR"] .r81-real-column-filter{
  min-height:32px!important;
  padding:5px 26px 5px 8px!important;
}


/* =====================================================================
   EDUHUNT R152 — PRINCIPAL/DIRECTOR COMPACT DARK RESULT ANALYSIS
   ===================================================================== */
body[data-portal-role="PRINCIPAL"] .principal-result-toolbar,
body[data-portal-role="DIRECTOR"] .principal-result-toolbar,
body[data-portal-role="PRINCIPAL"] .principal-abbreviation-legend,
body[data-portal-role="DIRECTOR"] .principal-abbreviation-legend,
body[data-portal-role="PRINCIPAL"] .principal-result-summary--compact > div,
body[data-portal-role="DIRECTOR"] .principal-result-summary--compact > div,
body[data-portal-role="PRINCIPAL"] .principal-result-section-picker,
body[data-portal-role="DIRECTOR"] .principal-result-section-picker,
body[data-portal-role="PRINCIPAL"] .principal-bubbling-picker,
body[data-portal-role="DIRECTOR"] .principal-bubbling-picker,
body[data-portal-role="PRINCIPAL"] .principal-bubbling-identity > div,
body[data-portal-role="DIRECTOR"] .principal-bubbling-identity > div,
body[data-portal-role="PRINCIPAL"] .principal-analysis-card,
body[data-portal-role="DIRECTOR"] .principal-analysis-card,
body[data-portal-role="PRINCIPAL"] .principal-analysis-summary > div,
body[data-portal-role="DIRECTOR"] .principal-analysis-summary > div,
body[data-portal-role="PRINCIPAL"] .principal-bubbled-omr-card,
body[data-portal-role="DIRECTOR"] .principal-bubbled-omr-card{
  background:linear-gradient(145deg,rgba(8,28,48,.98),rgba(4,18,34,.98))!important;
  border:1px solid rgba(72,111,143,.55)!important;
  color:#eef7ff!important;
  box-shadow:0 12px 28px rgba(0,0,0,.22)!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-toolbar h2,
body[data-portal-role="DIRECTOR"] .principal-result-toolbar h2,
body[data-portal-role="PRINCIPAL"] .principal-abbreviation-legend b,
body[data-portal-role="DIRECTOR"] .principal-abbreviation-legend b,
body[data-portal-role="PRINCIPAL"] .principal-result-summary--compact b,
body[data-portal-role="DIRECTOR"] .principal-result-summary--compact b,
body[data-portal-role="PRINCIPAL"] .principal-bubbling-identity b,
body[data-portal-role="DIRECTOR"] .principal-bubbling-identity b,
body[data-portal-role="PRINCIPAL"] .principal-analysis-card h3,
body[data-portal-role="DIRECTOR"] .principal-analysis-card h3,
body[data-portal-role="PRINCIPAL"] .principal-analysis-summary b,
body[data-portal-role="DIRECTOR"] .principal-analysis-summary b,
body[data-portal-role="PRINCIPAL"] .principal-bubbled-omr-card h3,
body[data-portal-role="DIRECTOR"] .principal-bubbled-omr-card h3{
  color:#ffffff!important;
}
body[data-portal-role="PRINCIPAL"] .principal-abbreviation-legend span,
body[data-portal-role="DIRECTOR"] .principal-abbreviation-legend span,
body[data-portal-role="PRINCIPAL"] .principal-result-summary--compact span,
body[data-portal-role="DIRECTOR"] .principal-result-summary--compact span,
body[data-portal-role="PRINCIPAL"] .principal-result-section-picker-head small,
body[data-portal-role="DIRECTOR"] .principal-result-section-picker-head small,
body[data-portal-role="PRINCIPAL"] .principal-bubbling-identity span,
body[data-portal-role="DIRECTOR"] .principal-bubbling-identity span,
body[data-portal-role="PRINCIPAL"] .principal-analysis-card p,
body[data-portal-role="DIRECTOR"] .principal-analysis-card p,
body[data-portal-role="PRINCIPAL"] .principal-bubbled-omr-url,
body[data-portal-role="DIRECTOR"] .principal-bubbled-omr-url{
  color:#bcd2e6!important;
}
body[data-portal-role="PRINCIPAL"] .principal-bubbled-omr-url,
body[data-portal-role="DIRECTOR"] .principal-bubbled-omr-url{
  margin-top:10px!important;
  padding:10px 12px!important;
  border-radius:10px!important;
  background:rgba(11,32,55,.82)!important;
  word-break:break-all!important;
  border:1px solid rgba(80,118,148,.36)!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-tabs,
body[data-portal-role="DIRECTOR"] .principal-result-tabs{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin:12px 0 14px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-tabs button,
body[data-portal-role="DIRECTOR"] .principal-result-tabs button{
  width:100%!important;
  min-width:0!important;
  min-height:56px!important;
  padding:9px 7px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.1!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,rgba(10,37,60,.98),rgba(6,26,44,.98))!important;
  border:1px solid rgba(54,91,119,.7)!important;
  color:#ffffff!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-tabs button.ready.active,
body[data-portal-role="DIRECTOR"] .principal-result-tabs button.ready.active,
body[data-portal-role="PRINCIPAL"] .principal-result-tabs button.ready:hover,
body[data-portal-role="DIRECTOR"] .principal-result-tabs button.ready:hover{
  background:linear-gradient(120deg,#0873be,#14a9b8)!important;
  border-color:#36c3da!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-tabs button.is-disabled,
body[data-portal-role="DIRECTOR"] .principal-result-tabs button.is-disabled,
body[data-portal-role="PRINCIPAL"] .principal-result-tabs button:disabled,
body[data-portal-role="DIRECTOR"] .principal-result-tabs button:disabled{
  opacity:.5!important;
  background:linear-gradient(145deg,rgba(11,25,40,.95),rgba(8,16,30,.98))!important;
  color:#8fa3b5!important;
  border-color:rgba(55,74,91,.6)!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-tabs button b,
body[data-portal-role="DIRECTOR"] .principal-result-tabs button b{
  display:block!important;
  white-space:normal!important;
  line-height:1.12!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap,
body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap,
body[data-portal-role="PRINCIPAL"] .principal-result-compact-table .table-wrap,
body[data-portal-role="DIRECTOR"] .principal-result-compact-table .table-wrap{
  overflow:auto!important;
  margin-top:0!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table table,
body[data-portal-role="DIRECTOR"] .principal-marks-table table{
  width:100%!important;
  min-width:980px!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-hall,
body[data-portal-role="DIRECTOR"] .principal-marks-table .principal-col-hall{
  width:92px!important;min-width:92px!important;max-width:92px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-student,
body[data-portal-role="DIRECTOR"] .principal-marks-table .principal-col-student{
  width:160px!important;min-width:160px!important;max-width:160px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-result-student-name,
body[data-portal-role="DIRECTOR"] .principal-marks-table .principal-result-student-name{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-weight:400!important;
  line-height:1.18!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-compact-table table,
body[data-portal-role="DIRECTOR"] .principal-result-compact-table table{
  width:100%!important;
  min-width:840px!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}
body[data-portal-role="PRINCIPAL"] .principal-rwl-name,
body[data-portal-role="DIRECTOR"] .principal-rwl-name{
  width:180px!important;min-width:180px!important;max-width:180px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-rwl-analysis-table .principal-rwl-name,
body[data-portal-role="DIRECTOR"] .principal-rwl-analysis-table .principal-rwl-name{
  width:210px!important;min-width:210px!important;max-width:210px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-rwl-qnos,
body[data-portal-role="DIRECTOR"] .principal-rwl-qnos{
  min-width:130px!important;max-width:130px!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}
body[data-portal-role="PRINCIPAL"] .principal-rwl-bonus,
body[data-portal-role="DIRECTOR"] .principal-rwl-bonus,
body[data-portal-role="PRINCIPAL"] .principal-rwl-analysis-table th:last-child,
body[data-portal-role="DIRECTOR"] .principal-rwl-analysis-table th:last-child,
body[data-portal-role="PRINCIPAL"] .principal-rwl-analysis-table td:last-child,
body[data-portal-role="DIRECTOR"] .principal-rwl-analysis-table td:last-child{
  min-width:86px!important;max-width:86px!important;width:86px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-bubbling-picker,
body[data-portal-role="DIRECTOR"] .principal-bubbling-picker{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:end!important;
}
body[data-portal-role="PRINCIPAL"] .principal-bubbling-identity,
body[data-portal-role="DIRECTOR"] .principal-bubbling-identity{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin-bottom:12px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-analysis-summary,
body[data-portal-role="DIRECTOR"] .principal-analysis-summary{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:10px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-bubbling-kpis,
body[data-portal-role="DIRECTOR"] .principal-bubbling-kpis{
  margin-bottom:12px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-bubbling-kpis .kpi-card,
body[data-portal-role="DIRECTOR"] .principal-bubbling-kpis .kpi-card{
  background:linear-gradient(145deg,rgba(8,28,48,.98),rgba(4,18,34,.98))!important;
  border:1px solid rgba(72,111,143,.42)!important;
  color:#eef7ff!important;
}
body[data-portal-role="PRINCIPAL"] .principal-bubbling-kpis .kpi-card span,
body[data-portal-role="DIRECTOR"] .principal-bubbling-kpis .kpi-card span,
body[data-portal-role="PRINCIPAL"] .principal-bubbling-kpis .kpi-card b,
body[data-portal-role="DIRECTOR"] .principal-bubbling-kpis .kpi-card b{color:#eef7ff!important;}

/* Coordinator key approval compactness */
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-table{
  width:100%!important;
  min-width:0!important;
  table-layout:auto!important;
  border-collapse:collapse!important;
}
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-table th,
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-table td{
  padding:8px 9px!important;
  border-right:1px solid rgba(120,155,180,.16)!important;
  border-bottom:1px solid rgba(120,155,180,.16)!important;
  white-space:normal!important;
}
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-table th:last-child,
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-table td:last-child{border-right:0!important;}
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-table th{white-space:nowrap!important;}
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-actions{gap:5px!important;}
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-all-btn,
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-ready-btn,
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-revoke-btn{padding:7px 9px!important;font-size:10px!important;}

@media (max-width:900px){
  body[data-portal-role="PRINCIPAL"] .principal-result-tabs,
  body[data-portal-role="DIRECTOR"] .principal-result-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body[data-portal-role="PRINCIPAL"] .principal-bubbling-picker,
  body[data-portal-role="DIRECTOR"] .principal-bubbling-picker{grid-template-columns:1fr!important;}
  body[data-portal-role="PRINCIPAL"] .principal-analysis-summary,
  body[data-portal-role="DIRECTOR"] .principal-analysis-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:560px){
  body[data-portal-role="PRINCIPAL"] .principal-analysis-summary,
  body[data-portal-role="DIRECTOR"] .principal-analysis-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body[data-portal-role="PRINCIPAL"] .principal-bubbling-identity,
  body[data-portal-role="DIRECTOR"] .principal-bubbling-identity{grid-template-columns:1fr!important;}
}


/* =====================================================================
   EDUHUNT R153 — FINAL MOBILE RESULT ANALYSIS STRUCTURE
   ===================================================================== */

/* Compact coordinator Key Approval: no wasted top/left region. */
body[data-portal-role="ACADEMIC_COORDINATOR"][data-portal-module="key-approval"] #content,
body[data-portal-role="SUPER_ADMIN"][data-portal-module="key-approval"] #content{
  padding-top:4px!important;
  padding-left:4px!important;
  padding-right:4px!important;
}
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-approval-compact,
body[data-portal-role="SUPER_ADMIN"] .role-key-approval-compact,
body[data-portal-role="ACADEMIC_COORDINATOR"] .role-key-approval-compact .table-wrap,
body[data-portal-role="SUPER_ADMIN"] .role-key-approval-compact .table-wrap{
  margin:0!important;
  padding:0!important;
  width:100%!important;
}

/* Test/Class selector cards are dark on desktop and mobile. */
body[data-portal-role="PRINCIPAL"] .principal-result-flow-filter,
body[data-portal-role="DIRECTOR"] .principal-result-flow-filter{
  background:linear-gradient(145deg,rgba(12,42,69,.96),rgba(5,25,45,.98))!important;
  border-color:#294e68!important;
  color:#eef7ff!important;
  box-shadow:0 8px 20px rgba(0,0,0,.18)!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-test-chip,
body[data-portal-role="DIRECTOR"] .principal-result-test-chip,
body[data-portal-role="PRINCIPAL"] .principal-result-class-chip,
body[data-portal-role="DIRECTOR"] .principal-result-class-chip{
  background:#0a263f!important;
  color:#f3f9ff!important;
  border-color:#355b77!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-test-chip.active,
body[data-portal-role="DIRECTOR"] .principal-result-test-chip.active,
body[data-portal-role="PRINCIPAL"] .principal-result-class-chip.active,
body[data-portal-role="DIRECTOR"] .principal-result-class-chip.active{
  background:linear-gradient(120deg,#0873be,#14a9b8)!important;
  border-color:#36c3da!important;
  color:#fff!important;
}

/* Class 6/7/8/9 + Pending + Approve in ONE line. */
body[data-portal-role="PRINCIPAL"] .principal-result-class-action-strip,
body[data-portal-role="DIRECTOR"] .principal-result-class-action-strip{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:8px 10px!important;
  margin-bottom:8px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-class-action-strip .principal-result-class-grid,
body[data-portal-role="DIRECTOR"] .principal-result-class-action-strip .principal-result-class-grid{
  display:flex!important;
  flex:1 1 auto!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  min-width:0!important;
  width:auto!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-class-action-strip .principal-result-class-chip,
body[data-portal-role="DIRECTOR"] .principal-result-class-action-strip .principal-result-class-chip{
  flex:0 0 auto!important;
  width:72px!important;
  min-width:72px!important;
  min-height:36px!important;
  padding:6px 7px!important;
  border-radius:9px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-class-actions,
body[data-portal-role="DIRECTOR"] .principal-result-class-actions{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  white-space:nowrap!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-approved-actions,
body[data-portal-role="DIRECTOR"] .principal-result-approved-actions{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex-wrap:nowrap!important;
}
.principal-approve-short{display:none!important;}

/* Remove the former duplicated test/status toolbar gap. */
body[data-portal-role="PRINCIPAL"] .principal-result-report,
body[data-portal-role="DIRECTOR"] .principal-result-report{
  margin-top:0!important;
  padding-top:0!important;
}
body[data-portal-role="PRINCIPAL"] .principal-abbreviation-legend,
body[data-portal-role="DIRECTOR"] .principal-abbreviation-legend{
  margin-top:0!important;
  margin-bottom:8px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-summary--compact,
body[data-portal-role="DIRECTOR"] .principal-result-summary--compact{
  margin-top:0!important;
  margin-bottom:8px!important;
}

/* Eight report buttons: ALWAYS 4 per row, exactly two rows, no horizontal scroll. */
body[data-portal-role="PRINCIPAL"] .principal-result-tabs,
body[data-portal-role="DIRECTOR"] .principal-result-tabs,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-result-tabs,
html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-result-tabs{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:7px!important;
  width:100%!important;
  overflow:visible!important;
  margin:8px 0 10px!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-tabs button,
body[data-portal-role="DIRECTOR"] .principal-result-tabs button,
html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-result-tabs button,
html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-result-tabs button{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:54px!important;
  padding:6px 4px!important;
  overflow:hidden!important;
  white-space:normal!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-tabs button b,
body[data-portal-role="DIRECTOR"] .principal-result-tabs button b{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  line-height:1.08!important;
  text-align:center!important;
}

/* Single-line student names + compact result tables. */
body[data-portal-role="PRINCIPAL"] .principal-result-student-name,
body[data-portal-role="DIRECTOR"] .principal-result-student-name,
body[data-portal-role="PRINCIPAL"] .principal-rwl-student-name,
body[data-portal-role="DIRECTOR"] .principal-rwl-student-name{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-weight:400!important;
}
body[data-portal-role="PRINCIPAL"] .principal-marks-table th,
body[data-portal-role="DIRECTOR"] .principal-marks-table th,
body[data-portal-role="PRINCIPAL"] .principal-result-compact-table th,
body[data-portal-role="DIRECTOR"] .principal-result-compact-table th{
  white-space:nowrap!important;
}

/* Student Bubbling and analysis controls stay dark. */
body[data-portal-role="PRINCIPAL"] .principal-bubbling-picker select,
body[data-portal-role="DIRECTOR"] .principal-bubbling-picker select,
body[data-portal-role="PRINCIPAL"] .principal-result-section-picker select,
body[data-portal-role="DIRECTOR"] .principal-result-section-picker select{
  background:#061a2d!important;
  border-color:#355b77!important;
  color:#eef7ff!important;
}

@media(max-width:760px){
  body[data-portal-role="PRINCIPAL"] .principal-result-class-action-strip,
  body[data-portal-role="DIRECTOR"] .principal-result-class-action-strip,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-result-class-action-strip,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-result-class-action-strip{
    gap:4px!important;
    padding:6px!important;
    flex-wrap:nowrap!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-result-class-action-strip .principal-result-class-grid,
  body[data-portal-role="DIRECTOR"] .principal-result-class-action-strip .principal-result-class-grid{
    gap:3px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-result-class-action-strip .principal-result-class-chip,
  body[data-portal-role="DIRECTOR"] .principal-result-class-action-strip .principal-result-class-chip{
    width:40px!important;
    min-width:40px!important;
    min-height:32px!important;
    padding:4px 3px!important;
    font-size:11px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-class-word,
  body[data-portal-role="DIRECTOR"] .principal-class-word{display:none!important;}
  body[data-portal-role="PRINCIPAL"] .principal-result-class-actions,
  body[data-portal-role="DIRECTOR"] .principal-result-class-actions{
    gap:3px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-result-class-actions .status,
  body[data-portal-role="DIRECTOR"] .principal-result-class-actions .status,
  body[data-portal-role="PRINCIPAL"] .principal-result-class-actions .status-badge,
  body[data-portal-role="DIRECTOR"] .principal-result-class-actions .status-badge{
    padding:4px 6px!important;
    font-size:9px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-result-approve-btn,
  body[data-portal-role="DIRECTOR"] .principal-result-approve-btn,
  body[data-portal-role="PRINCIPAL"] .principal-result-approved-btn,
  body[data-portal-role="DIRECTOR"] .principal-result-approved-btn,
  body[data-portal-role="PRINCIPAL"] .principal-result-wa-status-btn,
  body[data-portal-role="DIRECTOR"] .principal-result-wa-status-btn{
    min-height:31px!important;
    padding:4px 6px!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-approve-long,
  body[data-portal-role="DIRECTOR"] .principal-approve-long{display:none!important;}
  body[data-portal-role="PRINCIPAL"] .principal-approve-short,
  body[data-portal-role="DIRECTOR"] .principal-approve-short{display:inline!important;}

  /* override R152 2-column mobile rule: remain four across */
  body[data-portal-role="PRINCIPAL"] .principal-result-tabs,
  body[data-portal-role="DIRECTOR"] .principal-result-tabs,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-result-tabs,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-result-tabs{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-result-tabs button,
  body[data-portal-role="DIRECTOR"] .principal-result-tabs button{
    min-height:50px!important;
    padding:5px 2px!important;
  }
}


/* =====================================================================
   EDUHUNT R154 — AT A GLANCE + MOBILE HORIZONTAL RESULT TABLE
   ===================================================================== */

/* At-a-glance data exists only inside its first report tab. */
body[data-portal-role="PRINCIPAL"] .principal-at-a-glance,
body[data-portal-role="DIRECTOR"] .principal-at-a-glance{
  margin:0 0 10px!important;
}

/* Test selector buttons: smaller height on phones, same font size. */
@media(max-width:760px){
  body[data-portal-role="PRINCIPAL"] .principal-result-test-chip,
  body[data-portal-role="DIRECTOR"] .principal-result-test-chip,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-result-test-chip,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-result-test-chip{
    min-height:34px!important;
    height:34px!important;
    padding:3px 5px!important;
    font-size:12px!important;
    border-radius:8px!important;
  }
}

/* Eight report buttons: 4 x 2. Their two text lines have exactly 3mm vertical gap. */
body[data-portal-role="PRINCIPAL"] .principal-result-tab-label,
body[data-portal-role="DIRECTOR"] .principal-result-tab-label{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3mm!important;
  width:100%!important;
  font-size:inherit!important;
  font-weight:950!important;
  line-height:1!important;
  text-align:center!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-tab-label>span,
body[data-portal-role="DIRECTOR"] .principal-result-tab-label>span{
  display:block!important;
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
@media(max-width:760px){
  body[data-portal-role="PRINCIPAL"] .principal-result-tabs,
  body[data-portal-role="DIRECTOR"] .principal-result-tabs,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-result-tabs,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-result-tabs{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;
    overflow:visible!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-result-tabs button,
  body[data-portal-role="DIRECTOR"] .principal-result-tabs button,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-result-tabs button,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-result-tabs button{
    min-height:50px!important;
    height:auto!important;
    padding:4px 2px!important;
    font-size:12px!important;
  }
}

/* Abbreviations belong only to Marks & Ranks and sit directly above the mark list. */
body[data-portal-role="PRINCIPAL"] .principal-result-tabs + #principalResultView .principal-abbreviation-legend,
body[data-portal-role="DIRECTOR"] .principal-result-tabs + #principalResultView .principal-abbreviation-legend{
  margin:0 0 6px!important;
  padding:8px 10px!important;
}

/* IMPORTANT: undo the old generic Principal mobile card-table conversion for MARKS & RANKS.
   Result rows remain true horizontal table rows and the user can swipe horizontally. */
@media(max-width:1024px){
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap{
    display:block!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    border:1px solid rgba(82,120,151,.42)!important;
    border-radius:10px!important;
    background:#06192b!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap table,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap table,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap table,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap table{
    display:table!important;
    width:max-content!important;
    min-width:760px!important;
    max-width:none!important;
    table-layout:auto!important;
    border-collapse:collapse!important;
    margin:0!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap thead,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap thead,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap thead,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap thead{
    display:table-header-group!important;
    width:auto!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap tbody,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap tbody,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap tbody,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap tbody{
    display:table-row-group!important;
    width:auto!important;
    padding:0!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap tr,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap tr,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap tr,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap tr{
    display:table-row!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap th,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap th,
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap td,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap td,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap th,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap th,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap td,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap td{
    display:table-cell!important;
    grid-template-columns:none!important;
    width:auto!important;
    min-width:0!important;
    padding:6px 7px!important;
    border-right:1px solid rgba(103,143,174,.20)!important;
    border-bottom:1px solid rgba(103,143,174,.20)!important;
    background:transparent!important;
    font-size:12px!important;
    vertical-align:middle!important;
    white-space:nowrap!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap td::before,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap td::before,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-marks-table .table-wrap td::before,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-marks-table .table-wrap td::before{
    content:none!important;
    display:none!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-sno,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .principal-col-sno{width:38px!important;min-width:38px!important;max-width:38px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-hall,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .principal-col-hall{width:86px!important;min-width:86px!important;max-width:86px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-student,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .principal-col-student{width:132px!important;min-width:132px!important;max-width:132px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-result-student-name,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .principal-result-student-name{
    display:block!important;
    max-width:132px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-weight:400!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-score,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .principal-col-score,
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-rank,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .principal-col-rank{width:42px!important;min-width:42px!important;max-width:42px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-total,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .principal-col-total{width:60px!important;min-width:60px!important;max-width:60px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-marks-table .principal-col-percent,
  body[data-portal-role="DIRECTOR"] .principal-marks-table .principal-col-percent{width:48px!important;min-width:48px!important;max-width:48px!important;}
}


/* =====================================================================
   EDUHUNT R155 — CLEAN MOBILE RESULT ANALYSIS
   No status badges, horizontal analytical tables, user-friendly exam analysis
   ===================================================================== */

/* Class strip: status badge is removed at renderer level; keep remaining action compact. */
body[data-portal-role="PRINCIPAL"] .principal-result-class-action-strip,
body[data-portal-role="DIRECTOR"] .principal-result-class-action-strip{
  align-items:center!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-class-actions,
body[data-portal-role="DIRECTOR"] .principal-result-class-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
}
body[data-portal-role="PRINCIPAL"] .principal-result-class-actions .principal-result-wa-status-btn,
body[data-portal-role="DIRECTOR"] .principal-result-class-actions .principal-result-wa-status-btn,
body[data-portal-role="PRINCIPAL"] .principal-result-class-actions .principal-result-approve-btn,
body[data-portal-role="DIRECTOR"] .principal-result-class-actions .principal-result-approve-btn{
  margin:0!important;
  white-space:nowrap!important;
}

@media(max-width:1024px){
  /* RWL Analysis, Student Bubbling, Teaching and Exam Analysis tables use the
     same true horizontal table model as Marks & Ranks. */
  body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap,
  body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap{
    display:block!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    padding:0!important;
    border:1px solid rgba(82,120,151,.42)!important;
    border-radius:10px!important;
    background:#06192b!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap table,
  body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap table,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap table,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap table{
    display:table!important;
    width:max-content!important;
    max-width:none!important;
    min-width:100%!important;
    table-layout:auto!important;
    border-collapse:collapse!important;
    margin:0!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap thead,
  body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap thead,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap thead,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap thead{
    display:table-header-group!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap tbody,
  body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap tbody,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap tbody,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap tbody{
    display:table-row-group!important;
    padding:0!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap tr,
  body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap tr,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap tr,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap tr{
    display:table-row!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap th,
  body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap th,
  body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap td,
  body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap td,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap th,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap th,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap td,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap td{
    display:table-cell!important;
    grid-template-columns:none!important;
    width:auto!important;
    padding:7px 8px!important;
    border-right:1px solid rgba(103,143,174,.20)!important;
    border-bottom:1px solid rgba(103,143,174,.20)!important;
    background:transparent!important;
    font-size:12px!important;
    vertical-align:middle!important;
    white-space:nowrap!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap td::before,
  body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap td::before,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-wrap td::before,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-wrap td::before{
    content:none!important;
    display:none!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-mobile-horizontal-table .table-toolbar,
  body[data-portal-role="DIRECTOR"] .principal-mobile-horizontal-table .table-toolbar{
    padding:7px 8px!important;
    min-height:0!important;
  }

  /* RWL Analysis: compact widths, one student line, readable question columns. */
  body[data-portal-role="PRINCIPAL"] .principal-rwl-analysis-table table,
  body[data-portal-role="DIRECTOR"] .principal-rwl-analysis-table table{min-width:900px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-rwl-analysis-table .principal-rwl-hall,
  body[data-portal-role="DIRECTOR"] .principal-rwl-analysis-table .principal-rwl-hall{min-width:88px!important;width:88px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-rwl-analysis-table .principal-rwl-name,
  body[data-portal-role="DIRECTOR"] .principal-rwl-analysis-table .principal-rwl-name{min-width:150px!important;width:150px!important;max-width:150px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-rwl-analysis-table .principal-rwl-student-name,
  body[data-portal-role="DIRECTOR"] .principal-rwl-analysis-table .principal-rwl-student-name{
    display:block!important;max-width:150px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-weight:400!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-rwl-analysis-table .principal-rwl-subject,
  body[data-portal-role="DIRECTOR"] .principal-rwl-analysis-table .principal-rwl-subject{min-width:42px!important;width:42px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-rwl-analysis-table .principal-rwl-qnos,
  body[data-portal-role="DIRECTOR"] .principal-rwl-analysis-table .principal-rwl-qnos{min-width:145px!important;width:145px!important;max-width:145px!important;white-space:normal!important;line-height:1.25!important;}
  body[data-portal-role="PRINCIPAL"] .principal-rwl-analysis-table .principal-rwl-bonus,
  body[data-portal-role="DIRECTOR"] .principal-rwl-analysis-table .principal-rwl-bonus{min-width:70px!important;width:70px!important;max-width:70px!important;}

  /* Student Bubbling: compact identity + compact KPIs + horizontal question table. */
  body[data-portal-role="PRINCIPAL"] .principal-bubbling-identity--compact,
  body[data-portal-role="DIRECTOR"] .principal-bubbling-identity--compact{
    display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(100px,.65fr)!important;gap:6px!important;margin:6px 0!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-bubbling-identity--compact>div,
  body[data-portal-role="DIRECTOR"] .principal-bubbling-identity--compact>div{
    padding:7px 9px!important;min-height:42px!important;border-radius:8px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-bubbling-identity--compact b,
  body[data-portal-role="DIRECTOR"] .principal-bubbling-identity--compact b{
    display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-weight:500!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-bubbling-kpis--compact,
  body[data-portal-role="DIRECTOR"] .principal-bubbling-kpis--compact{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin:6px 0 8px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-bubbling-kpis--compact .kpi-card,
  body[data-portal-role="DIRECTOR"] .principal-bubbling-kpis--compact .kpi-card{
    min-height:58px!important;padding:6px 7px!important;border-radius:8px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-bubbling-kpis--compact .kpi-card .kpi-top,
  body[data-portal-role="DIRECTOR"] .principal-bubbling-kpis--compact .kpi-card .kpi-top{display:none!important;}
  body[data-portal-role="PRINCIPAL"] .principal-bubbling-kpis--compact .kpi-card>b,
  body[data-portal-role="DIRECTOR"] .principal-bubbling-kpis--compact .kpi-card>b{font-size:18px!important;line-height:1!important;}
  body[data-portal-role="PRINCIPAL"] .principal-bubbling-kpis--compact .kpi-card>span,
  body[data-portal-role="DIRECTOR"] .principal-bubbling-kpis--compact .kpi-card>span{font-size:10px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-bubbling-question-table table,
  body[data-portal-role="DIRECTOR"] .principal-bubbling-question-table table{min-width:660px!important;}

  /* Teaching Analysis: horizontal and dense instead of question cards. */
  body[data-portal-role="PRINCIPAL"] .principal-teaching-table table,
  body[data-portal-role="DIRECTOR"] .principal-teaching-table table{min-width:610px!important;}

  /* Exam Analysis mobile: At A Glance already owns these six KPIs, so do not repeat them here. */
  body[data-portal-role="PRINCIPAL"] .principal-analysis-summary,
  body[data-portal-role="DIRECTOR"] .principal-analysis-summary,
  html.eh-force-mobile body[data-portal-role="PRINCIPAL"] .principal-analysis-summary,
  html.eh-force-mobile body[data-portal-role="DIRECTOR"] .principal-analysis-summary{display:none!important;}

  body[data-portal-role="PRINCIPAL"] .principal-analysis-card,
  body[data-portal-role="DIRECTOR"] .principal-analysis-card{
    margin:8px 0!important;padding:9px!important;border-radius:10px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-analysis-card h3,
  body[data-portal-role="DIRECTOR"] .principal-analysis-card h3{
    margin:0 0 7px!important;font-size:14px!important;line-height:1.2!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-analysis-card .table-toolbar,
  body[data-portal-role="DIRECTOR"] .principal-analysis-card .table-toolbar{display:none!important;}
  body[data-portal-role="PRINCIPAL"] .principal-analysis-top-table table,
  body[data-portal-role="DIRECTOR"] .principal-analysis-top-table table{min-width:520px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-analysis-student-name,
  body[data-portal-role="DIRECTOR"] .principal-analysis-student-name{
    display:block!important;max-width:160px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-weight:400!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-analysis-card--subjects table,
  body[data-portal-role="DIRECTOR"] .principal-analysis-card--subjects table{min-width:560px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-analysis-priority-table table,
  body[data-portal-role="DIRECTOR"] .principal-analysis-priority-table table{min-width:720px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-analysis-insights,
  body[data-portal-role="DIRECTOR"] .principal-analysis-insights{
    margin:0!important;padding-left:18px!important;display:grid!important;gap:5px!important;font-size:12px!important;line-height:1.35!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-analysis-bars,
  body[data-portal-role="DIRECTOR"] .principal-analysis-bars{display:grid!important;gap:6px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-analysis-bars>div,
  body[data-portal-role="DIRECTOR"] .principal-analysis-bars>div{
    display:grid!important;grid-template-columns:42px minmax(0,1fr) 52px!important;gap:7px!important;align-items:center!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-performance-groups,
  body[data-portal-role="DIRECTOR"] .principal-performance-groups{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;
  }
  body[data-portal-role="PRINCIPAL"] .principal-performance-groups>div,
  body[data-portal-role="DIRECTOR"] .principal-performance-groups>div{
    padding:8px!important;min-height:54px!important;border-radius:8px!important;
  }

  /* Page rhythm: remove dead vertical space between report pieces. */
  body[data-portal-role="PRINCIPAL"] #principalResultView>.section-title,
  body[data-portal-role="DIRECTOR"] #principalResultView>.section-title{margin:8px 0 6px!important;}
  body[data-portal-role="PRINCIPAL"] .principal-report-actions,
  body[data-portal-role="DIRECTOR"] .principal-report-actions{margin-top:8px!important;}
}
