﻿/* Encabezados institucionales limpios - 2026-08-25
   Archivo intencionalmente compacto: evita conflictos visuales acumulados. */
:root {
  --plumero-navy: #08285c;
  --plumero-blue: #0758b8;
  --plumero-blue-2: #0e6bd8;
  --plumero-soft: #f5f9ff;
  --plumero-soft-2: #eaf3ff;
  --plumero-border: #cfe1fa;
  --plumero-text: #08285c;
  --plumero-muted: #526b8e;
  --plumero-yellow: #ffd234;
  --plumero-yellow-border: #edbc00;
  --platform-topbar-height: 64px;
  --module-sticky-top: 76px;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) {
  background: #eef5fb !important;
  color: var(--plumero-text) !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .app-shell {
  padding-top: var(--platform-topbar-height) !important;
  min-height: 100vh !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: var(--platform-topbar-height) !important;
  min-height: var(--platform-topbar-height) !important;
  max-height: var(--platform-topbar-height) !important;
  z-index: 1000 !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 18px !important;
  background: linear-gradient(90deg, #06245a 0%, #083e85 56%, #0b5ebf 100%) !important;
  border: 0 !important;
  border-bottom: 3px solid var(--plumero-yellow) !important;
  box-shadow: 0 8px 22px rgba(8, 40, 92, .18) !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .brand-row {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .brand {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 220px !important;
  color: #fff !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .brand-logo {
  width: 42px !important;
  height: 42px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 9px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 4px 10px rgba(0,0,0,.18) !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .brand-logo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .brand-copy b,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .brand-copy small {
  display: block !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  line-height: 1.1 !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .brand-copy b {
  font-size: .9rem !important;
  font-weight: 900 !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .brand-copy small {
  margin-top: 2px !important;
  font-size: .68rem !important;
  opacity: .86 !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .active-module-card {
  display: none !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .actions button {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 13px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain {
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  padding: 12px 16px 24px !important;
  overflow-x: hidden !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head,
body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head,
body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head {
  position: sticky !important;
  top: var(--module-sticky-top) !important;
  z-index: 70 !important;
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) auto minmax(220px, auto) !important;
  grid-template-areas: "title year actions" "session session session" "summary summary summary" !important;
  align-items: center !important;
  gap: 9px 18px !important;
  width: 100% !important;
  min-height: 74px !important;
  margin: 0 0 14px !important;
  padding: 12px 16px !important;
  border: 1px solid var(--plumero-border) !important;
  border-top: 4px solid var(--plumero-blue) !important;
  border-bottom: 3px solid var(--plumero-yellow) !important;
  border-radius: 10px !important;
  background: linear-gradient(115deg, #ffffff 0%, var(--plumero-soft) 50%, var(--plumero-soft-2) 100%) !important;
  box-shadow: 0 10px 24px rgba(15, 39, 73, .13) !important;
  color: var(--plumero-text) !important;
  -webkit-text-fill-color: initial !important;
  overflow: visible !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head::before,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head::after,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title::after {
  display: none !important;
  content: none !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title {
  grid-area: title !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head-icon {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 10px !important;
  border: 1px solid #b9d7ff !important;
  background: #e9f3ff !important;
  color: var(--plumero-blue) !important;
  -webkit-text-fill-color: var(--plumero-blue) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75) !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head-icon i {
  color: var(--plumero-blue) !important;
  -webkit-text-fill-color: var(--plumero-blue) !important;
  font-size: 1.02rem !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head-copy,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head-copy * {
  min-width: 0 !important;
  color: var(--plumero-text) !important;
  -webkit-text-fill-color: var(--plumero-text) !important;
  text-shadow: none !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(h1, h2, h3) {
  margin: 0 !important;
  max-width: 100% !important;
  color: var(--plumero-text) !important;
  -webkit-text-fill-color: var(--plumero-text) !important;
  font-size: clamp(1.05rem, 1.22vw, 1.32rem) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(p, small) {
  margin: 3px 0 0 !important;
  max-width: 72ch !important;
  color: var(--plumero-muted) !important;
  -webkit-text-fill-color: var(--plumero-muted) !important;
  opacity: 1 !important;
  font-size: .79rem !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year {
  grid-area: year !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-width: fit-content !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 6px 8px 6px 11px !important;
  border: 1px solid #bdd7fb !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: var(--plumero-text) !important;
  -webkit-text-fill-color: var(--plumero-text) !important;
  box-shadow: 0 4px 12px rgba(8, 40, 92, .08) !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control select {
  width: 84px !important;
  min-width: 84px !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 2px 20px 2px 8px !important;
  border: 1px solid #d7e6fb !important;
  border-radius: 7px !important;
  background: #f8fbff !important;
  color: var(--plumero-text) !important;
  -webkit-text-fill-color: var(--plumero-text) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions {
  grid-area: actions !important;
  display: flex !important;
  flex-flow: row wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  height: 38px !important;
  min-height: 38px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 8px 13px !important;
  border: 1px solid #0b5ebf !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0a4591 !important;
  -webkit-text-fill-color: #0a4591 !important;
  box-shadow: 0 5px 14px rgba(8, 40, 92, .10) !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) i {
  color: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: .9rem !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions .module-home-btn {
  border-color: var(--plumero-blue) !important;
  background: var(--plumero-blue) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions .module-save-btn,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(.btn-primary, .action-save) {
  border-color: var(--plumero-yellow-border) !important;
  background: var(--plumero-yellow) !important;
  color: var(--plumero-text) !important;
  -webkit-text-fill-color: var(--plumero-text) !important;
  box-shadow: 0 7px 16px rgba(188, 139, 0, .20) !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-session {
  grid-area: session !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  min-width: 0 !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-summary {
  grid-area: summary !important;
  min-width: 0 !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .home-section-quick-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .home-section-quick-nav button {
  height: 31px !important;
  min-height: 31px !important;
  padding: 6px 11px !important;
  border: 1px solid #c7dcfa !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0a4591 !important;
  -webkit-text-fill-color: #0a4591 !important;
  box-shadow: 0 4px 12px rgba(8, 40, 92, .08) !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .mobile-menu-toggle {
  display: none !important;
}

@media (max-width: 980px) {
  :root { --platform-topbar-height: 58px; --module-sticky-top: 68px; }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar {
    padding: 0 12px !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .brand {
    min-width: 0 !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .brand-logo {
    width: 38px !important;
    height: 38px !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .brand-copy small {
    display: none !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain {
    padding: 10px 10px 20px !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "title year" "actions actions" "session session" "summary summary" !important;
    gap: 8px 10px !important;
    padding: 11px 12px !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 640px) {
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .actions button span {
    display: none !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .actions button {
    width: 38px !important;
    padding: 0 !important;
  }
}

@media (max-width: 560px) {
  :root { --platform-topbar-height: 56px; --module-sticky-top: 64px; }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "title" "year" "actions" "session" "summary" !important;
    row-gap: 8px !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head-icon {
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year,
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions {
    justify-content: flex-start !important;
    width: 100% !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) {
    flex: 1 1 auto !important;
    min-width: 112px !important;
  }
}

@media print {
  .topbar,
  .module-head,
  .no-print {
    display: none !important;
  }
}

/* Correccion anti-solapamiento 2026-08-25: acciones compactas y sin elementos debajo. */
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head,
body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head,
body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head {
  grid-template-columns: minmax(220px, 1fr) auto minmax(0, 1.55fr) !important;
  grid-template-areas: "title year actions" "session session session" "summary summary summary" !important;
  min-height: 0 !important;
  padding: 10px 14px !important;
  gap: 8px 14px !important;
  overflow: hidden !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  justify-content: flex-end !important;
  align-content: center !important;
  overflow: visible !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) {
  flex: 0 1 auto !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 7px 10px !important;
  font-size: .72rem !important;
  line-height: 1 !important;
  border-radius: 8px !important;
  max-width: 220px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) span,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) b {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) i {
  flex: 0 0 auto !important;
  width: 14px !important;
  min-width: 14px !important;
  font-size: .82rem !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions .module-home-btn,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions .module-save-btn {
  flex: 0 0 auto !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year {
  position: relative !important;
  z-index: 2 !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions {
  position: relative !important;
  z-index: 3 !important;
}

@media (max-width: 1180px) {
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head,
  body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head,
  body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "title year" "actions actions" "session session" "summary summary" !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) {
    flex: 1 1 150px !important;
    max-width: none !important;
  }
}

/* Botones de encabezado sin texto cortado - 2026-08-25. */
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head {
  grid-template-columns: minmax(220px, 1fr) auto minmax(280px, 2fr) !important;
  overflow: visible !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  overflow: visible !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) {
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: min(100%, 360px) !important;
  height: auto !important;
  min-height: 38px !important;
  max-height: none !important;
  padding: 9px 13px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) span,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) b {
  display: inline !important;
  min-width: 0 !important;
  max-width: 30ch !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.15 !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions .module-home-btn,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions .module-save-btn {
  min-width: max-content !important;
  white-space: nowrap !important;
}

@media (max-width: 1320px) {
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "title year" "actions actions" "session session" "summary summary" !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) {
    flex: 1 1 150px !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions .module-home-btn,
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions .module-save-btn {
    flex: 1 1 120px !important;
    min-width: 0 !important;
    white-space: normal !important;
  }
}

/* Solo posicion superior de controles del encabezado - 2026-08-25. */
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head {
  align-items: start !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions {
  align-self: start !important;
}

@media (min-width: 1321px) {
  body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module.active > .module-head.module-compact-head {
    grid-template-areas: "title year actions" "session session session" "summary summary summary" !important;
  }
}

/* Quitar espacio vacio entre barra superior y modulo - 2026-08-25. */
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .app-shell,
body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .app-shell,
body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .app-shell {
  display: block !important;
  padding-top: var(--platform-topbar-height, 64px) !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #mainNav.sidebar,
body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #mainNav.sidebar,
body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #mainNav.sidebar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain {
  margin-top: 0 !important;
  padding-top: 8px !important;
}

body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain > .module.active:first-child,
body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain > .module.active,
body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain > .module.active,
body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain > .module.active {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Ajuste final: eliminar aire superior marcado con X rojas - 2026-08-25. */
html body.is-authenticated:not(.report-print-body),
html body.visual-modern.is-authenticated:not(.report-print-body),
html body.visual-classic.is-authenticated:not(.report-print-body) {
  --platform-topbar-height: 48px !important;
  --module-sticky-top: 52px !important;
}

html body.is-authenticated:not(.report-print-body) .app-shell,
html body.visual-modern.is-authenticated:not(.report-print-body) .app-shell,
html body.visual-classic.is-authenticated:not(.report-print-body) .app-shell {
  padding-top: 48px !important;
  margin-top: 0 !important;
}

html body.is-authenticated:not(.report-print-body) .topbar,
html body.visual-modern.is-authenticated:not(.report-print-body) .topbar,
html body.visual-classic.is-authenticated:not(.report-print-body) .topbar {
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
}

html body.is-authenticated:not(.report-print-body) main#appMain,
html body.visual-modern.is-authenticated:not(.report-print-body) main#appMain,
html body.visual-classic.is-authenticated:not(.report-print-body) main#appMain,
html body.is-authenticated:not(.report-print-body) #appMain,
html body.visual-modern.is-authenticated:not(.report-print-body) #appMain,
html body.visual-classic.is-authenticated:not(.report-print-body) #appMain {
  padding-top: 4px !important;
  margin-top: 0 !important;
  transform: none !important;
}

html body.is-authenticated:not(.report-print-body) main#appMain > .module.active,
html body.visual-modern.is-authenticated:not(.report-print-body) main#appMain > .module.active,
html body.visual-classic.is-authenticated:not(.report-print-body) main#appMain > .module.active {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

html body.is-authenticated:not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head {
  margin-top: 0 !important;
  top: 52px !important;
}

/* Mas junto a la barra superior - 2026-08-25. */
html body.is-authenticated:not(.report-print-body),
html body.visual-modern.is-authenticated:not(.report-print-body),
html body.visual-classic.is-authenticated:not(.report-print-body) {
  --platform-topbar-height: 46px !important;
  --module-sticky-top: 48px !important;
}

html body.is-authenticated:not(.report-print-body) .app-shell,
html body.visual-modern.is-authenticated:not(.report-print-body) .app-shell,
html body.visual-classic.is-authenticated:not(.report-print-body) .app-shell {
  padding-top: 46px !important;
}

html body.is-authenticated:not(.report-print-body) .topbar,
html body.visual-modern.is-authenticated:not(.report-print-body) .topbar,
html body.visual-classic.is-authenticated:not(.report-print-body) .topbar {
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
}

html body.is-authenticated:not(.report-print-body) main#appMain,
html body.visual-modern.is-authenticated:not(.report-print-body) main#appMain,
html body.visual-classic.is-authenticated:not(.report-print-body) main#appMain,
html body.is-authenticated:not(.report-print-body) #appMain,
html body.visual-modern.is-authenticated:not(.report-print-body) #appMain,
html body.visual-classic.is-authenticated:not(.report-print-body) #appMain {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

html body.is-authenticated:not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head {
  margin-top: 0 !important;
  top: 48px !important;
}

/* Asistencia y Calificaciones sin barras horizontales - 2026-08-25. */
html body.is-authenticated:not(.report-print-body) #module-asistencia,
html body.is-authenticated:not(.report-print-body) #module-calificaciones {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

html body.is-authenticated:not(.report-print-body) #module-asistencia :is(.card, .list-card, .list-table-card, .panel-listado, .monthly-attendance-sheet, .daily-attendance-sheet, .monthly-attendance-panel, .daily-attendance-panel),
html body.is-authenticated:not(.report-print-body) #module-calificaciones :is(.card, .list-card, .list-table-card, .panel-listado, .subject-summary, .course-context) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

html body.is-authenticated:not(.report-print-body) #module-asistencia :is(.table-wrap, .smart-table, .monthly-attendance-table-wrap, .daily-attendance-table-wrap),
html body.is-authenticated:not(.report-print-body) #module-calificaciones :is(.table-wrap, .smart-table, .grade-table-wrap) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  border-radius: 8px !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet,
html body.is-authenticated:not(.report-print-body) #module-calificaciones .grade-table-wrap table,
html body.is-authenticated:not(.report-print-body) #module-asistencia :is(.monthly-attendance-table, .daily-attendance-table) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet :is(th, td),
html body.is-authenticated:not(.report-print-body) #module-asistencia :is(.monthly-attendance-table, .daily-attendance-table) :is(th, td) {
  min-width: 0 !important;
  max-width: none !important;
  padding: 4px 3px !important;
  font-size: clamp(.54rem, .58vw, .72rem) !important;
  line-height: 1.1 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-align: center !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet :is(th, td):first-child {
  width: 34px !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet :is(th, td):nth-child(2),
html body.is-authenticated:not(.report-print-body) #module-calificaciones .grade-table-wrap td.student-cell {
  position: static !important;
  width: clamp(120px, 18%, 210px) !important;
  min-width: 0 !important;
  max-width: 210px !important;
  text-align: left !important;
  white-space: normal !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet :is(th, td):last-child,
html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet :is(th, td):nth-last-child(2) {
  width: 62px !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet .grade-input,
html body.is-authenticated:not(.report-print-body) #module-asistencia :is(.daily-attendance-table, .monthly-attendance-table) :is(input, select) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 2px 2px !important;
  border-radius: 5px !important;
  font-size: clamp(.55rem, .58vw, .72rem) !important;
  line-height: 1 !important;
  text-align: center !important;
}

html body.is-authenticated:not(.report-print-body) #module-asistencia .monthly-attendance-table :is(th, td):first-child,
html body.is-authenticated:not(.report-print-body) #module-asistencia .daily-attendance-table :is(th, td):first-child {
  width: 28px !important;
}

html body.is-authenticated:not(.report-print-body) #module-asistencia .monthly-attendance-table :is(th, td):nth-child(2),
html body.is-authenticated:not(.report-print-body) #module-asistencia .daily-attendance-table :is(th, td):nth-child(2) {
  width: clamp(110px, 18%, 190px) !important;
  min-width: 0 !important;
  max-width: 190px !important;
  text-align: left !important;
  white-space: normal !important;
}

html body.is-authenticated:not(.report-print-body) #module-asistencia .daily-attendance-table :is(th, td):nth-child(n+3):nth-last-child(n+4) {
  width: 2.2% !important;
  padding-inline: 1px !important;
}

html body.is-authenticated:not(.report-print-body) #module-asistencia .monthly-attendance-table :is(th, td):nth-last-child(-n+5),
html body.is-authenticated:not(.report-print-body) #module-asistencia .daily-attendance-table :is(th, td):nth-last-child(-n+3) {
  width: clamp(42px, 5.5%, 68px) !important;
}

html body.is-authenticated:not(.report-print-body) #module-asistencia .monthly-attendance-panel,
html body.is-authenticated:not(.report-print-body) #module-asistencia .daily-attendance-panel,
html body.is-authenticated:not(.report-print-body) #module-calificaciones .course-context {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)) !important;
  gap: 8px !important;
}

html body.is-authenticated:not(.report-print-body) #module-asistencia :is(.monthly-attendance-actions, .daily-attendance-actions),
html body.is-authenticated:not(.report-print-body) #module-calificaciones :is(.form-actions, .mini-toolbar) {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html body.is-authenticated:not(.report-print-body) #module-asistencia :is(.monthly-attendance-actions, .daily-attendance-actions) > *,
html body.is-authenticated:not(.report-print-body) #module-calificaciones :is(.form-actions, .mini-toolbar) > * {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 900px) {
  html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet :is(th, td),
  html body.is-authenticated:not(.report-print-body) #module-asistencia :is(.monthly-attendance-table, .daily-attendance-table) :is(th, td) {
    padding: 3px 2px !important;
    font-size: .54rem !important;
  }

  html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet .grade-input,
  html body.is-authenticated:not(.report-print-body) #module-asistencia :is(.daily-attendance-table, .monthly-attendance-table) :is(input, select) {
    min-height: 22px !important;
    height: 22px !important;
    font-size: .54rem !important;
  }
}

/* Ocultar miga de navegacion cortada bajo encabezado - 2026-08-25. */
html body.is-authenticated:not(.report-print-body) #appMain .module-breadcrumb,
html body.visual-modern.is-authenticated:not(.report-print-body) #appMain .module-breadcrumb,
html body.visual-classic.is-authenticated:not(.report-print-body) #appMain .module-breadcrumb {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

html body.is-authenticated:not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head {
  margin-bottom: 10px !important;
}

/* Login sin corte vertical ni barra horizontal - 2026-08-25. */
html,
html body.is-login:not(.is-authenticated) {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

html body.is-login:not(.is-authenticated) .login-screen,
html body.visual-modern.is-login:not(.is-authenticated) .login-screen,
html body.visual-classic.is-login:not(.is-authenticated) .login-screen {
  min-height: 100svh !important;
  height: auto !important;
  width: 100% !important;
  max-width: 100vw !important;
  grid-template-columns: minmax(300px, 520px) minmax(330px, 430px) !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(18px, 3vw, 44px) !important;
  padding: clamp(10px, 2vh, 26px) clamp(12px, 3vw, 48px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

html body.is-login:not(.is-authenticated) .login-photo-content {
  width: min(100%, 500px) !important;
  padding: clamp(12px, 1.8vw, 22px) !important;
}

html body.is-login:not(.is-authenticated) .login-photo-logo {
  width: clamp(78px, 7vw, 118px) !important;
  height: clamp(92px, 8vw, 140px) !important;
  margin-bottom: 14px !important;
}

html body.is-login:not(.is-authenticated) .login-photo-content > span {
  font-size: clamp(.86rem, 1.25vw, 1.2rem) !important;
}

html body.is-login:not(.is-authenticated) .login-photo-content > strong {
  font-size: clamp(3rem, 5.7vw, 5rem) !important;
  line-height: .9 !important;
}

html body.is-login:not(.is-authenticated) .login-photo-content > i {
  margin: 18px auto 22px !important;
  width: min(150px, 28vw) !important;
  height: 5px !important;
}

html body.is-login:not(.is-authenticated) .login-photo-content p {
  font-size: clamp(1.08rem, 2vw, 1.72rem) !important;
  line-height: 1.18 !important;
}

html body.is-login:not(.is-authenticated) .login-modern-values,
html body.is-login:not(.is-authenticated) .login-secure-separator,
html body.is-login:not(.is-authenticated) .login-modern-note {
  display: none !important;
}

html body.is-login:not(.is-authenticated) .login-panel,
html body.visual-modern.is-login:not(.is-authenticated) .login-panel,
html body.visual-classic.is-login:not(.is-authenticated) .login-panel {
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  max-height: calc(100svh - 24px) !important;
  display: grid !important;
  gap: 10px !important;
  padding: clamp(16px, 2.2vh, 24px) clamp(18px, 2.4vw, 28px) !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

html body.is-login:not(.is-authenticated) #loginLogo {
  width: clamp(54px, 7vh, 70px) !important;
  height: clamp(54px, 7vh, 70px) !important;
  min-width: clamp(54px, 7vh, 70px) !important;
  min-height: clamp(54px, 7vh, 70px) !important;
}

html body.is-login:not(.is-authenticated) .login-title-block {
  gap: 3px !important;
}

html body.is-login:not(.is-authenticated) .login-panel h1 {
  font-size: clamp(1.35rem, 3vh, 1.75rem) !important;
}

html body.is-login:not(.is-authenticated) .login-panel > div > p {
  font-size: .86rem !important;
}

html body.is-login:not(.is-authenticated) .login-form,
html body.is-login:not(.is-authenticated) .login-field-group {
  gap: 8px !important;
}

html body.is-login:not(.is-authenticated) .login-field-label {
  gap: 4px !important;
}

html body.is-login:not(.is-authenticated) .login-input-shell {
  height: 42px !important;
  min-height: 42px !important;
}

html body.is-login:not(.is-authenticated) .login-input-shell input:not([type=checkbox]) {
  height: 40px !important;
  min-height: 40px !important;
}

html body.is-login:not(.is-authenticated) .password-field.login-input-shell .password-toggle {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
}

html body.is-login:not(.is-authenticated) .login-form .btn-primary,
html body.is-login:not(.is-authenticated) .login-submit,
html body.is-login:not(.is-authenticated) .login-form .btn-guardian-access {
  min-height: 44px !important;
}

html body.is-login:not(.is-authenticated) .login-form .btn-guardian-access {
  padding: 8px 12px !important;
}

html body.is-login:not(.is-authenticated) #loginHelp:empty,
html body.is-login:not(.is-authenticated) .login-staff-hint:empty {
  display: none !important;
}

@media (max-height: 760px) and (min-width: 861px) {
  html body.is-login:not(.is-authenticated) .login-screen,
  html body.visual-modern.is-login:not(.is-authenticated) .login-screen,
  html body.visual-classic.is-login:not(.is-authenticated) .login-screen {
    grid-template-columns: minmax(260px, 430px) minmax(320px, 410px) !important;
    gap: 24px !important;
    padding-block: 8px !important;
  }

  html body.is-login:not(.is-authenticated) .login-photo-logo {
    width: 78px !important;
    height: 92px !important;
    margin-bottom: 10px !important;
  }

  html body.is-login:not(.is-authenticated) .login-photo-content > strong {
    font-size: clamp(2.7rem, 5vw, 4.2rem) !important;
  }

  html body.is-login:not(.is-authenticated) .login-photo-content p {
    font-size: 1.18rem !important;
  }

  html body.is-login:not(.is-authenticated) .login-panel,
  html body.visual-modern.is-login:not(.is-authenticated) .login-panel,
  html body.visual-classic.is-login:not(.is-authenticated) .login-panel {
    gap: 8px !important;
    padding: 16px 22px !important;
  }
}

@media (max-width: 860px) {
  html body.is-login:not(.is-authenticated) .login-screen,
  html body.visual-modern.is-login:not(.is-authenticated) .login-screen,
  html body.visual-classic.is-login:not(.is-authenticated) .login-screen {
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    gap: 10px !important;
    padding: 10px !important;
  }

  html body.is-login:not(.is-authenticated) .login-photo-content {
    display: none !important;
  }

  html body.is-login:not(.is-authenticated) .login-panel,
  html body.visual-modern.is-login:not(.is-authenticated) .login-panel,
  html body.visual-classic.is-login:not(.is-authenticated) .login-panel {
    grid-column: 1 !important;
    justify-self: center !important;
    max-height: none !important;
    width: min(100%, 430px) !important;
  }
}

/* Encabezado de modulo azul institucional - 2026-08-25. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head {
  position: sticky !important;
  top: 48px !important;
  z-index: 80 !important;
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) auto minmax(280px, max-content) !important;
  grid-template-areas: "title year actions" "session session session" "summary summary summary" !important;
  align-items: center !important;
  gap: 10px 22px !important;
  width: 100% !important;
  min-height: 84px !important;
  margin: 0 0 14px !important;
  padding: 16px 20px !important;
  border: 1px solid rgba(116, 177, 255, .38) !important;
  border-top: 0 !important;
  border-bottom: 4px solid #ffd02f !important;
  border-radius: 11px !important;
  background: linear-gradient(115deg, #082b73 0%, #0757bd 50%, #0b6fd8 100%) !important;
  box-shadow: 0 16px 34px rgba(8, 40, 92, .23) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: initial !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title {
  grid-area: title !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-head-icon {
  flex: 0 0 50px !important;
  width: 50px !important;
  height: 50px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid rgba(255, 255, 255, .42) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-head-icon i {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 1.2rem !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-head-copy,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-head-copy * {
  min-width: 0 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(h1, h2, h3) {
  margin: 0 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: clamp(1.18rem, 1.55vw, 1.58rem) !important;
  font-weight: 950 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(p, small) {
  margin: 4px 0 0 !important;
  max-width: 62ch !important;
  color: rgba(255, 255, 255, .88) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .88) !important;
  opacity: 1 !important;
  font-size: .86rem !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year {
  grid-area: year !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-width: fit-content !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control {
  height: 42px !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 6px 8px 6px 12px !important;
  border: 1px solid rgba(255, 255, 255, .38) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .10) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: none !important;
  font-size: .88rem !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control select {
  width: 86px !important;
  min-width: 86px !important;
  height: 30px !important;
  min-height: 30px !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #08285c !important;
  -webkit-text-fill-color: #08285c !important;
  font-weight: 900 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions {
  grid-area: actions !important;
  width: auto !important;
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) {
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: min(100%, 360px) !important;
  min-height: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 15px !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .08) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: none !important;
  font-size: .88rem !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) :is(span, b) {
  color: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) i {
  flex: 0 0 auto !important;
  color: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: .95rem !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a):hover,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a):focus-visible {
  background: rgba(255, 255, 255, .18) !important;
  transform: translateY(-1px) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions .module-home-btn {
  border-color: rgba(255,255,255,.32) !important;
  background: #0a64c8 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions .module-save-btn,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(.btn-primary, .action-save) {
  border-color: #f2bc00 !important;
  background: linear-gradient(135deg, #ffe16b, #ffd12d 54%, #f4b400) !important;
  color: #08285c !important;
  -webkit-text-fill-color: #08285c !important;
  box-shadow: 0 10px 20px rgba(0, 22, 64, .18) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-session,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-summary {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

@media (max-width: 1180px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "title year" "actions actions" "session session" "summary summary" !important;
    gap: 10px !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 680px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "title" "year" "actions" "session" "summary" !important;
    padding: 13px !important;
    border-radius: 10px !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-head-icon {
    flex-basis: 42px !important;
    width: 42px !important;
    height: 42px !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions {
    justify-content: flex-start !important;
    width: 100% !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control {
    width: 100% !important;
    justify-content: space-between !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) {
    flex: 1 1 145px !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: normal !important;
  }
}

/* Espaciado vertical uniforme entre barra, modulo y contenido - 2026-08-25. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) {
  --platform-topbar-height: 46px !important;
  --module-sticky-top: 48px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .app-shell,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .app-shell,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .app-shell {
  padding-top: var(--platform-topbar-height) !important;
  gap: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .main-content,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .module-container {
  margin-top: 0 !important;
  padding-top: 12px !important;
  gap: 12px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .module-section {
  min-height: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block: 0 !important;
  padding-top: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .modules-wrapper,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .modules-wrapper,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .modules-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .module-header {
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 12px !important;
  margin-left: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head + *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head + *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head + * {
  margin-top: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > :is(.card, .table-wrap, .course-context, .section-panel, .panel, .list-card, .module-section):not(.module-head),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > :is(.card, .table-wrap, .course-context, .section-panel, .panel, .list-card, .module-section):not(.module-head),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > :is(.card, .table-wrap, .course-context, .section-panel, .panel, .list-card, .module-section):not(.module-head) {
  margin-top: 0 !important;
}

@media (max-width: 700px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain {
    padding-top: 10px !important;
    padding-inline: 10px !important;
  }
}

/* Correccion global anti-superposicion sticky - 2026-08-25. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) {
  --platform-topbar-height: 46px !important;
  --module-sticky-top: 50px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .app-shell,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .app-shell,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .app-shell {
  padding-top: 0 !important;
  gap: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar {
  position: sticky !important;
  inset: auto !important;
  top: 0 !important;
  z-index: 1000 !important;
  flex: 0 0 auto !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain {
  padding-top: 14px !important;
  margin-top: 0 !important;
  overflow-x: hidden !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  min-height: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head {
  position: sticky !important;
  top: var(--module-sticky-top) !important;
  z-index: 90 !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding-block: 14px !important;
  transform: none !important;
  translate: none !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head ~ *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head ~ *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head ~ * {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 0 !important;
  transform: none !important;
  translate: none !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head + *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head + *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head + * {
  margin-top: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > :is(.card, .table-wrap, .course-context, .section-panel, .panel, .list-card, .list-table-card, form, section):not(.module-head),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > :is(.card, .table-wrap, .course-context, .section-panel, .panel, .list-card, .list-table-card, form, section):not(.module-head),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > :is(.card, .table-wrap, .course-context, .section-panel, .panel, .list-card, .list-table-card, form, section):not(.module-head) {
  min-height: auto !important;
  margin-block: 0 !important;
}

@media (max-width: 1180px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active {
    gap: 14px !important;
  }
}

@media (max-width: 700px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body),
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body),
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) {
    --module-sticky-top: 48px !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain {
    padding-top: 12px !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active {
    gap: 14px !important;
  }
}

/* Modal obligatorio de primer ingreso */
.mandatory-password-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(4, 22, 48, .74);
  backdrop-filter: blur(10px);
}

.mandatory-password-card {
  width: min(100%, 480px);
  max-height: calc(100svh - 36px);
  overflow: auto;
  display: grid;
  gap: 13px;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 18px;
  background: #ffffff;
  color: #08275a;
  box-shadow: 0 22px 70px rgba(2, 8, 23, .34);
}

.mandatory-password-card .eyebrow {
  color: #0b66d8;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.mandatory-password-card h2 {
  color: #062969;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  line-height: 1.15;
}

.mandatory-password-card p,
.mandatory-password-card small {
  color: #465a78;
}

.mandatory-password-card label {
  color: #09285a;
}

.mandatory-password-card .btn-primary {
  min-height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffd429, #ffb703);
  color: #062969;
  font-weight: 900;
}

body.password-change-required {
  overflow: hidden;
}

body.password-change-required .app-shell[inert] {
  filter: blur(1px);
}

@media (max-width: 560px) {
  .mandatory-password-overlay {
    align-items: start;
    padding: 12px;
  }

  .mandatory-password-card {
    margin-top: 10px;
    border-radius: 16px;
  }
}

/* Correccion global encabezado: una fila flexible sin superposicion */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 14px !important;
  padding: 10px 12px !important;
  overflow: visible !important;
  position: sticky !important;
  top: var(--module-sticky-top) !important;
  z-index: 90 !important;
  transform: none !important;
  translate: none !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head > *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head > *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head > * {
  position: static !important;
  inset: auto !important;
  margin: 0 !important;
  transform: none !important;
  translate: none !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title {
  flex: 1 1 220px !important;
  min-width: 170px !important;
  max-width: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head-copy,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head-copy,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head-copy {
  min-width: 0 !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(h1, h2, h3),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(h1, h2, h3),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(h1, h2, h3) {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: clamp(1rem, 1.1vw, 1.22rem) !important;
  line-height: 1.1 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(p, small),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(p, small),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(p, small) {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: min(42vw, 520px) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year {
  flex: 0 0 auto !important;
  min-width: max-content !important;
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control {
  height: 34px !important;
  min-height: 34px !important;
  padding: 5px 7px 5px 10px !important;
  gap: 7px !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control select,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control select,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control select {
  width: 78px !important;
  min-width: 78px !important;
  height: 26px !important;
  min-height: 26px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions {
  flex: 999 1 auto !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin !important;
  -webkit-overflow-scrolling: touch !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) {
  flex: 0 0 auto !important;
  min-width: max-content !important;
  max-width: none !important;
  width: auto !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: none !important;
  padding: 8px 10px !important;
  gap: 6px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: .74rem !important;
  line-height: 1 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) :is(span, b),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) :is(span, b),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button, a) :is(span, b) {
  min-width: max-content !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

@media (max-width: 760px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head {
    padding: 8px !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title {
    flex-basis: 150px !important;
    min-width: 136px !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(p, small),
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(p, small),
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(p, small) {
    display: none !important;
  }
}

/* Inicio: correccion final de solapamiento y aire superior. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain {
  padding-top: 8px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio.module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio.module.active > .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio.module.active > .module-head.module-compact-head {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.8fr) auto auto minmax(420px, 1.4fr) !important;
  grid-template-areas: "title year actions session" !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 62px !important;
  margin: 0 0 4px !important;
  padding: 6px 12px !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .module-compact-title {
  grid-area: title !important;
  display: flex !important;
  min-width: 0 !important;
  max-width: none !important;
  gap: 10px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .home-header-brand {
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .home-header-brand img,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .home-header-brand .logo-institucional {
  width: 38px !important;
  height: 38px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .home-header-copy {
  display: grid !important;
  min-width: 0 !important;
  gap: 2px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .home-header-copy h1 {
  margin: 0 !important;
  overflow: hidden !important;
  color: #fff !important;
  font-size: 1.12rem !important;
  line-height: 1.08 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .home-header-copy p {
  display: none !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .home-header-meta {
  display: flex !important;
  min-width: 0 !important;
  gap: 6px !important;
  overflow: hidden !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .home-header-meta span {
  min-height: 22px !important;
  padding: 2px 7px !important;
  overflow: hidden !important;
  color: rgba(255,255,255,.92) !important;
  font-size: .66rem !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .module-compact-year {
  grid-area: year !important;
  justify-content: flex-start !important;
  min-width: max-content !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .module-year-control {
  height: 34px !important;
  min-height: 34px !important;
  padding: 4px 7px !important;
  font-size: .72rem !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .module-year-control select {
  width: 76px !important;
  min-width: 76px !important;
  height: 26px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .module-compact-actions {
  grid-area: actions !important;
  justify-content: flex-start !important;
  min-width: max-content !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .module-compact-session {
  grid-area: session !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .home-section-quick-nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  min-width: 0 !important;
  gap: 7px !important;
  overflow-x: auto !important;
  padding: 0 1px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .home-section-quick-nav button,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .module-compact-actions :is(button, a) {
  height: 34px !important;
  min-height: 34px !important;
  padding: 6px 10px !important;
  font-size: .76rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

@media (max-width: 1180px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio.module.active > .module-head.module-compact-head,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio.module.active > .module-head.module-compact-head,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio.module.active > .module-head.module-compact-head {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "title year" "actions session" !important;
    row-gap: 8px !important;
  }
}

@media (max-width: 760px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio.module.active > .module-head.module-compact-head,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio.module.active > .module-head.module-compact-head,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio.module.active > .module-head.module-compact-head {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "title" "year" "actions" "session" !important;
    padding: 8px !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .module-compact-year,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .module-compact-actions,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio .module-compact-session {
    width: 100% !important;
  }
}

/* Inicio: sin desplazamiento sticky inicial excesivo. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio.module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio.module.active > .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-inicio.module.active > .module-head.module-compact-head {
  top: 0 !important;
}

/* Inicio: override especifico contra top sticky global. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head {
  top: 0 !important;
  margin-top: 0 !important;
}

/* Inicio: no mostrar fallback textual de logo dentro de la barra compacta. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .module-compact-title {
  width: 100% !important;
  align-items: center !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .home-header-brand {
  overflow: hidden !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .home-header-copy p {
  display: none !important;
}

/* Inicio escritorio: barra compacta real, sin alto ejecutivo. */
@media (min-width: 1181px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head.module-compact-head-executive,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head.module-compact-head-executive,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head.module-compact-head-executive {
    display: grid !important;
    grid-template-columns: minmax(260px, 320px) max-content max-content minmax(0, 1fr) !important;
    grid-template-areas: "title year actions session" !important;
    align-items: center !important;
    gap: 10px !important;
    height: auto !important;
    min-height: 58px !important;
    max-height: none !important;
    padding: 6px 12px !important;
    top: 0 !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .module-head.module-compact-head-executive .module-compact-title {
    grid-area: title !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    overflow: hidden !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .module-head.module-compact-head-executive .home-header-brand {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    border-radius: 8px !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .module-head.module-compact-head-executive .home-header-brand img,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .module-head.module-compact-head-executive .home-header-brand .logo-institucional {
    width: 34px !important;
    height: 34px !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .module-head.module-compact-head-executive .home-header-copy {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .module-head.module-compact-head-executive .home-header-copy h1 {
    margin: 0 !important;
    overflow: hidden !important;
    font-size: 1.12rem !important;
    line-height: 1.05 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .module-head.module-compact-head-executive .home-header-copy p,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .module-head.module-compact-head-executive .home-header-meta {
    display: none !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .module-head.module-compact-head-executive .module-compact-actions {
    grid-area: actions !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: max-content !important;
    justify-self: start !important;
    align-self: center !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio .module-head.module-compact-head-executive .module-compact-session {
    grid-area: session !important;
    align-self: center !important;
    min-width: 0 !important;
  }
}

/* Layout anti-solapamiento global - 2026-08-26. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain * {
  box-sizing: border-box !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) minmax(170px, max-content) minmax(0, 2fr) !important;
  grid-template-areas: "title year actions" "session session session" "summary summary summary" !important;
  align-items: center !important;
  gap: 10px 12px !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head > *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head > *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head > * {
  min-width: 0 !important;
  max-width: 100% !important;
  position: static !important;
  transform: none !important;
  translate: none !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-title {
  grid-area: title !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: hidden !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-head-copy,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-head-copy,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-head-copy {
  min-width: 0 !important;
  overflow: hidden !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(h1,h2,h3),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(h1,h2,h3),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(h1,h2,h3) {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(p,small),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(p,small),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head :is(p,small) {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year {
  grid-area: year !important;
  display: flex !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  width: auto !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 0 1 auto !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control select,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control select,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control select {
  flex: 0 0 auto !important;
  width: 86px !important;
  min-width: 76px !important;
  max-width: 92px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions {
  grid-area: actions !important;
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button,a),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button,a),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button,a) {
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 36px !important;
  padding: 7px 12px !important;
  gap: 7px !important;
  line-height: 1.1 !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button,a) :is(span,b),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button,a) :is(span,b),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button,a) :is(span,b) {
  min-width: 0 !important;
  max-width: 30ch !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-session,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-session,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-session {
  grid-area: session !important;
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.form-actions,.list-card-actions,.table-actions,.report-actions,.bulk-actions,.table-tools,.filters-row,.mini-toolbar,.users-filter-row,.report-controls,.report-options,.report-massive-options,.utp-analytics-filters,.utp-report-filters,.utp-risk-filter-bar,.achievement-filters,.subject-filter-bar),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.form-actions,.list-card-actions,.table-actions,.report-actions,.bulk-actions,.table-tools,.filters-row,.mini-toolbar,.users-filter-row,.report-controls,.report-options,.report-massive-options,.utp-analytics-filters,.utp-report-filters,.utp-risk-filter-bar,.achievement-filters,.subject-filter-bar),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.form-actions,.list-card-actions,.table-actions,.report-actions,.bulk-actions,.table-tools,.filters-row,.mini-toolbar,.users-filter-row,.report-controls,.report-options,.report-massive-options,.utp-analytics-filters,.utp-report-filters,.utp-risk-filter-bar,.achievement-filters,.subject-filter-bar) {
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.form-actions,.list-card-actions,.table-actions,.report-actions,.bulk-actions,.table-tools,.filters-row,.mini-toolbar,.users-filter-row,.report-controls,.report-options,.report-massive-options,.utp-analytics-filters,.utp-report-filters,.utp-risk-filter-bar,.achievement-filters,.subject-filter-bar) > *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.form-actions,.list-card-actions,.table-actions,.report-actions,.bulk-actions,.table-tools,.filters-row,.mini-toolbar,.users-filter-row,.report-controls,.report-options,.report-massive-options,.utp-analytics-filters,.utp-report-filters,.utp-risk-filter-bar,.achievement-filters,.subject-filter-bar) > *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.form-actions,.list-card-actions,.table-actions,.report-actions,.bulk-actions,.table-tools,.filters-row,.mini-toolbar,.users-filter-row,.report-controls,.report-options,.report-massive-options,.utp-analytics-filters,.utp-report-filters,.utp-risk-filter-bar,.achievement-filters,.subject-filter-bar) > * {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(input,select,textarea,button,a.btn-primary,a.btn-soft,a.btn-ghost,.btn-primary,.btn-soft,.btn-ghost),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(input,select,textarea,button,a.btn-primary,a.btn-soft,a.btn-ghost,.btn-primary,.btn-soft,.btn-ghost),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(input,select,textarea,button,a.btn-primary,a.btn-soft,a.btn-ghost,.btn-primary,.btn-soft,.btn-ghost) {
  max-width: 100% !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(label,.field,.secure-input,.password-field),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(label,.field,.secure-input,.password-field),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(label,.field,.secure-input,.password-field) {
  min-width: 0 !important;
  max-width: 100% !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.table-wrap,.table-scroll,.achievement-table-scroll,.monthly-attendance-scroll),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.table-wrap,.table-scroll,.achievement-table-scroll,.monthly-attendance-scroll),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.table-wrap,.table-scroll,.achievement-table-scroll,.monthly-attendance-scroll) {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.modal,.dialog,.account-dialog-card,.user-registry-modal,.password-modal,.report-preview-modal),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.modal,.dialog,.account-dialog-card,.user-registry-modal,.password-modal,.report-preview-modal),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.modal,.dialog,.account-dialog-card,.user-registry-modal,.password-modal,.report-preview-modal) {
  max-width: min(96vw, 1100px) !important;
  max-height: min(92vh, 900px) !important;
  overflow: auto !important;
}

@media (max-width: 1320px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head {
    grid-template-columns: minmax(0, 1fr) minmax(160px, max-content) !important;
    grid-template-areas: "title year" "actions actions" "session session" "summary summary" !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "title" "year" "actions" "session" "summary" !important;
    gap: 9px !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-session,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-session,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-year,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-actions,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-actions-inline,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-hero-actions,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-compact-session {
    width: 100% !important;
    justify-content: flex-start !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-year-control {
    width: 100% !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button,a),
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button,a),
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module-head.module-compact-head .module-compact-actions :is(button,a),
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain :is(.form-actions,.list-card-actions,.table-actions,.report-actions,.bulk-actions,.table-tools,.filters-row,.mini-toolbar,.users-filter-row,.report-controls,.report-options,.report-massive-options,.utp-analytics-filters,.utp-report-filters,.utp-risk-filter-bar,.achievement-filters,.subject-filter-bar) > :is(button,a,label,select,input) {
    flex: 1 1 150px !important;
    min-width: 0 !important;
  }
}

/* Cabeceras anidadas: evita solapamientos en modulos con wrappers internos. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) minmax(170px, max-content) minmax(0, 2fr) !important;
  grid-template-areas: "title year actions" "session session session" "summary summary summary" !important;
  align-items: center !important;
  gap: 10px 12px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head > *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head > *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head > * {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head .module-compact-title,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head .module-compact-title,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head .module-compact-title {
  grid-area: title !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head .module-compact-year,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head .module-compact-year,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head .module-compact-year {
  grid-area: year !important;
  justify-self: end !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head .module-compact-actions,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head .module-compact-actions,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head .module-compact-actions {
  grid-area: actions !important;
  display: flex !important;
  flex-flow: row wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
}

@media (max-width: 1320px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head {
    grid-template-columns: minmax(0, 1fr) minmax(160px, max-content) !important;
    grid-template-areas: "title year" "actions actions" "session session" "summary summary" !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head .module-compact-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "title" "year" "actions" "session" "summary" !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head .module-compact-year,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-inicio) .module-head.module-compact-head .module-compact-actions {
    width: 100% !important;
    justify-self: stretch !important;
    justify-content: flex-start !important;
  }
}

/* Encabezados de modulos en Flexbox uniforme - 2026-08-26. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head {
  position: sticky !important;
  top: var(--module-sticky-top, 76px) !important;
  z-index: 70 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 62px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 0 12px !important;
  padding: 10px 14px !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head > *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head > *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head > * {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-title,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-title,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-title {
  flex: 1 1 260px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-width: 210px !important;
  max-width: none !important;
  overflow: hidden !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-head-copy,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-head-copy,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-head-copy {
  min-width: 0 !important;
  overflow: hidden !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-head-copy :is(h1,h2,h3),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-head-copy :is(h1,h2,h3),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-head-copy :is(h1,h2,h3) {
  margin: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  line-height: 1.12 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-head-copy :is(p,small),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-head-copy :is(p,small),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-head-copy :is(p,small) {
  margin: 2px 0 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-year,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-year,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-year {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  max-width: 210px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-year-control,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-year-control,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-year-control {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 38px !important;
  height: 38px !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions {
  flex: 0 1 auto !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions :is(button,a),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions :is(button,a),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions :is(button,a) {
  flex: 0 1 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  max-width: 230px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 7px 12px !important;
  gap: 7px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions :is(button,a) :is(span,b),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions :is(button,a) :is(span,b),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions :is(button,a) :is(span,b) {
  display: inline-block !important;
  min-width: 0 !important;
  max-width: 24ch !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-session,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-session,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-session,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-summary,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-summary,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-summary {
  flex: 1 1 100% !important;
  width: 100% !important;
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  min-width: 0 !important;
}

@media (max-width: 1360px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions {
    flex: 1 1 100% !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head {
    padding: 10px !important;
    gap: 9px !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-title,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-year,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head .module-compact-actions :is(button,a) {
    flex: 1 1 148px !important;
    max-width: 100% !important;
  }
}

/* Override definitivo: todos los encabezados de modulos usan Flexbox real. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 62px !important;
  max-height: none !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-title,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-title,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-title {
  flex: 1 1 260px !important;
  min-width: 210px !important;
  max-width: none !important;
  order: 1 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-year,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-year,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-year {
  flex: 0 0 auto !important;
  order: 2 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-actions,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-actions,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-actions {
  flex: 0 1 auto !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  order: 3 !important;
  min-width: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-session,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-session,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-session,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-summary,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-summary,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-summary {
  flex: 1 1 100% !important;
  order: 4 !important;
}

@media (max-width: 1360px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-actions,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-actions,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-actions {
    flex: 1 1 100% !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-title,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-year,
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active:not(#module-force-flex):not(#module-no-overlap) .module-head.module-compact-head .module-compact-actions {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
}

/* Sticky seguro: el encabezado no tapa el contenido inferior. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) {
  --module-sticky-safe-top: calc(var(--platform-topbar-height, 64px) + 10px);
  --module-head-bottom-gap: 16px;
  --module-scroll-offset: calc(var(--platform-topbar-height, 64px) + var(--fixed-module-head-height, 76px) + 28px);
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain {
  scroll-padding-top: var(--module-scroll-offset) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-utp.module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-utp.module.active > .module-head.module-compact-head {
  position: sticky !important;
  top: var(--module-sticky-safe-top) !important;
  z-index: 70 !important;
  margin-top: 0 !important;
  margin-bottom: var(--module-head-bottom-gap) !important;
  height: auto !important;
  min-height: 62px !important;
  max-height: none !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head + *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head + *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head + * {
  margin-top: var(--module-head-bottom-gap) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head ~ *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head ~ *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head ~ *,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active :is(.card,.list-card,.panel-listado,.table-wrap,.table-scroll,.smart-table,.filters-row,.mini-toolbar,.module-breadcrumb,.subject-summary,.report-insights,.course-context,.staff-dashboard,.layout-insight-wrap,.users-summary-grid,.config-quick-grid,.portal-summary,.guardian-summary,.utp-panel,.monthly-attendance-sheet,.academic-grade-report,[id]) {
  scroll-margin-top: var(--module-scroll-offset) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head ~ :is(.card,.list-card,.panel-listado,.table-wrap,.table-scroll,.smart-table,.filters-row,.mini-toolbar,.module-breadcrumb,.subject-summary,.report-insights,.course-context,.staff-dashboard,.layout-insight-wrap,.users-summary-grid,.config-quick-grid,.portal-summary,.guardian-summary,.utp-panel,.monthly-attendance-sheet,.academic-grade-report),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head ~ :is(.card,.list-card,.panel-listado,.table-wrap,.table-scroll,.smart-table,.filters-row,.mini-toolbar,.module-breadcrumb,.subject-summary,.report-insights,.course-context,.staff-dashboard,.layout-insight-wrap,.users-summary-grid,.config-quick-grid,.portal-summary,.guardian-summary,.utp-panel,.monthly-attendance-sheet,.academic-grade-report),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head ~ :is(.card,.list-card,.panel-listado,.table-wrap,.table-scroll,.smart-table,.filters-row,.mini-toolbar,.module-breadcrumb,.subject-summary,.report-insights,.course-context,.staff-dashboard,.layout-insight-wrap,.users-summary-grid,.config-quick-grid,.portal-summary,.guardian-summary,.utp-panel,.monthly-attendance-sheet,.academic-grade-report) {
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 1360px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) {
    --module-head-bottom-gap: 18px;
    --module-scroll-offset: calc(var(--platform-topbar-height, 58px) + var(--fixed-module-head-height, 120px) + 30px);
  }
}

@media (max-width: 760px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) {
    --module-sticky-safe-top: calc(var(--platform-topbar-height, 56px) + 8px);
    --module-head-bottom-gap: 20px;
    --module-scroll-offset: calc(var(--platform-topbar-height, 56px) + var(--fixed-module-head-height, 210px) + 32px);
  }
}

/* Compensacion del desplazamiento sticky: el contenido empieza bajo el encabezado visible. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head:not(.module-compact-head-executive),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head:not(.module-compact-head-executive),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head:not(.module-compact-head-executive),
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-utp.module.active > .module-head.module-compact-head:not(.module-compact-head-executive),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-utp.module.active > .module-head.module-compact-head:not(.module-compact-head-executive) {
  margin-bottom: calc(var(--module-sticky-safe-top, 56px) + var(--module-head-bottom-gap, 16px)) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head-executive,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head-executive,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head-executive {
  margin-bottom: 22px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head + *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head + *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head + * {
  margin-top: 0 !important;
}

/* Espaciado compacto uniforme - 2026-08-26. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) {
  --module-sticky-safe-top: 12px;
  --module-head-bottom-gap: 14px;
  --module-scroll-offset: calc(var(--platform-topbar-height, 64px) + var(--fixed-module-head-height, 76px) + 18px);
  --compact-section-gap: 14px;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain {
  padding-top: 8px !important;
  padding-bottom: 18px !important;
  scroll-padding-top: var(--module-scroll-offset) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active {
  padding-top: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-utp.module.active > .module-head.module-compact-head,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-utp.module.active > .module-head.module-compact-head {
  top: var(--module-sticky-safe-top) !important;
  margin-top: 0 !important;
  margin-bottom: calc(var(--module-sticky-safe-top) + var(--module-head-bottom-gap)) !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head-executive,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head-executive,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head-executive {
  top: 0 !important;
  margin-bottom: var(--compact-section-gap) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head + *,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head + *,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .module-head.module-compact-head + * {
  margin-top: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > *:not(.module-head):not(.module-breadcrumb),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > *:not(.module-head):not(.module-breadcrumb),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > *:not(.module-head):not(.module-breadcrumb),
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .professors-page > *:not(.module-head):not(.module-breadcrumb) {
  margin-top: 0 !important;
  margin-bottom: var(--compact-section-gap) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain :is(.card,.list-card,.list-table-card,.panel-listado,.report-panel,.report-builder,.config-card,.course-context,.subject-summary,.layout-insight-wrap,.monthly-attendance-sheet,.head-teacher-workspace,.utp-panel,.admin-control-center,.command-center,.teacher-dashboard-home,.subject-list-card,.staff-dashboard,.professors-card,.config-module-card,.guardian-yellow-card),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain :is(.card,.list-card,.list-table-card,.panel-listado,.report-panel,.report-builder,.config-card,.course-context,.subject-summary,.layout-insight-wrap,.monthly-attendance-sheet,.head-teacher-workspace,.utp-panel,.admin-control-center,.command-center,.teacher-dashboard-home,.subject-list-card,.staff-dashboard,.professors-card,.config-module-card,.guardian-yellow-card),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain :is(.card,.list-card,.list-table-card,.panel-listado,.report-panel,.report-builder,.config-card,.course-context,.subject-summary,.layout-insight-wrap,.monthly-attendance-sheet,.head-teacher-workspace,.utp-panel,.admin-control-center,.command-center,.teacher-dashboard-home,.subject-list-card,.staff-dashboard,.professors-card,.config-module-card,.guardian-yellow-card) {
  margin-bottom: var(--compact-section-gap) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain :is(.grid,.metrics-grid,.form-grid,.filter-grid,.config-grid,.course-card-grid,.subject-card-grid,.guardian-main-cards,.guardian-summary,.guardian-data,.utp-alert-subject-grid,.utp-critical-split,.utp-critical-subject-grid,.users-summary-grid,.config-quick-grid),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain :is(.grid,.metrics-grid,.form-grid,.filter-grid,.config-grid,.course-card-grid,.subject-card-grid,.guardian-main-cards,.guardian-summary,.guardian-data,.utp-alert-subject-grid,.utp-critical-split,.utp-critical-subject-grid,.users-summary-grid,.config-quick-grid),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain :is(.grid,.metrics-grid,.form-grid,.filter-grid,.config-grid,.course-card-grid,.subject-card-grid,.guardian-main-cards,.guardian-summary,.guardian-data,.utp-alert-subject-grid,.utp-critical-split,.utp-critical-subject-grid,.users-summary-grid,.config-quick-grid) {
  gap: var(--compact-section-gap) !important;
}

@media (max-width: 1360px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) {
    --module-sticky-safe-top: 10px;
    --module-head-bottom-gap: 14px;
    --compact-section-gap: 14px;
    --module-scroll-offset: calc(var(--platform-topbar-height, 58px) + var(--fixed-module-head-height, 120px) + 18px);
  }
}

@media (max-width: 760px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) {
    --module-sticky-safe-top: 8px;
    --module-head-bottom-gap: 16px;
    --compact-section-gap: 12px;
    --module-scroll-offset: calc(var(--platform-topbar-height, 56px) + var(--fixed-module-head-height, 210px) + 18px);
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain {
    padding-top: 6px !important;
    padding-bottom: 14px !important;
  }
}

/* Ajuste fino de separacion bajo encabezados compactos. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head:not(.module-compact-head-executive),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head:not(.module-compact-head-executive),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active > .module-head.module-compact-head:not(.module-compact-head-executive),
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-utp.module.active > .module-head.module-compact-head:not(.module-compact-head-executive),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-utp.module.active > .module-head.module-compact-head:not(.module-compact-head-executive) {
  margin-bottom: var(--compact-section-gap, 14px) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .professors-page > .module-head.module-compact-head:not(.module-compact-head-executive),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .professors-page > .module-head.module-compact-head:not(.module-compact-head-executive),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > .module.active .professors-page > .module-head.module-compact-head:not(.module-compact-head-executive) {
  margin-bottom: calc(var(--module-sticky-safe-top, 12px) + var(--module-head-bottom-gap, 14px)) !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head-executive,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head-executive,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) main#appMain > #module-inicio.module.active > .module-head.module-compact-head-executive {
  margin-bottom: 0 !important;
}

/* Credito de desarrollo visible en login y barra superior. */
html body.is-login:not(.guardian-login) .login-platform-watermark.nuvez-creator-credit,
html body.is-login .login-form .login-platform-watermark.nuvez-creator-credit {
  display: flex !important;
  visibility: visible !important;
  opacity: .82 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .platform-developer-credit,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .platform-developer-credit,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .platform-developer-credit {
  flex: 0 1 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  max-width: min(36vw, 430px) !important;
  margin: 0 12px !important;
  padding: 0 10px !important;
  height: 28px !important;
  border-left: 1px solid rgba(255,255,255,.28) !important;
  border-right: 1px solid rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.92) !important;
  -webkit-text-fill-color: rgba(255,255,255,.92) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  pointer-events: none !important;
}

@media (max-width: 980px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .platform-developer-credit,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .platform-developer-credit,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .topbar .platform-developer-credit {
    display: none !important;
  }
}

/* Credito exactamente bajo el boton amarillo del login. */
html body.is-login:not(.is-authenticated) .login-form .login-submit {
  order: 10 !important;
}

html body.is-login:not(.is-authenticated) .login-form .login-secure-separator {
  order: 20 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
}

html body.is-login:not(.is-authenticated) .login-form #loginHelp,
html body.is-login:not(.is-authenticated) .login-form #guardianLoginNotice {
  order: 25 !important;
}

html body.is-login:not(.is-authenticated) .login-form .btn-guardian-access {
  order: 30 !important;
}

html body.is-login:not(.is-authenticated) .login-form .login-platform-watermark.nuvez-creator-credit {
  order: 31 !important;
  align-self: stretch !important;
  display: flex !important;
  width: 100% !important;
  min-height: 18px !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #5a6d83 !important;
  -webkit-text-fill-color: #5a6d83 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-align: center !important;
  pointer-events: none !important;
}

html body.is-login:not(.is-authenticated) .login-form .login-platform-watermark.nuvez-creator-credit span {
  display: block !important;
  width: 100% !important;
  color: #5a6d83 !important;
  -webkit-text-fill-color: #5a6d83 !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

html body.is-login:not(.is-authenticated) .login-form .login-modern-note {
  order: 40 !important;
  margin-top: 6px !important;
}
/* Informes: filtros compactos alineados en escritorio. */
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .mini-toolbar.report-filter-grid.report-unified-filters,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .mini-toolbar.report-filter-grid.report-unified-filters,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .mini-toolbar.report-filter-grid.report-unified-filters {
  display: grid !important;
  grid-template-columns:
    minmax(110px, .85fr)
    minmax(130px, 1fr)
    minmax(160px, 1.05fr)
    minmax(90px, .7fr)
    minmax(260px, 1.8fr)
    minmax(80px, .6fr)
    minmax(130px, .9fr)
    minmax(130px, .9fr) !important;
  align-items: end !important;
  gap: 10px 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  overflow: visible !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > label,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > label,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > label {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #002b5c !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > .report-student-select,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > .report-student-select,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > .report-student-select {
  min-width: 0 !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters :is(select, .report-official-format),
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters :is(select, .report-official-format),
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters :is(select, .report-official-format) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 6px 30px 6px 10px !important;
  border-radius: 10px !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters .report-official-format,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters .report-official-format,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters .report-official-format {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}

@media (min-width: 1280px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > label:nth-child(-n+6),
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > label:nth-child(-n+6),
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > label:nth-child(-n+6) {
    grid-row: 1 !important;
  }
}

@media (max-width: 1279px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .mini-toolbar.report-filter-grid.report-unified-filters,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .mini-toolbar.report-filter-grid.report-unified-filters,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .mini-toolbar.report-filter-grid.report-unified-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > .report-student-select,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > .report-student-select,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > .report-student-select {
    grid-column: span 2 !important;
  }
}

@media (max-width: 900px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .mini-toolbar.report-filter-grid.report-unified-filters,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .mini-toolbar.report-filter-grid.report-unified-filters,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .mini-toolbar.report-filter-grid.report-unified-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

@media (max-width: 640px) {
  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .mini-toolbar.report-filter-grid.report-unified-filters,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .mini-toolbar.report-filter-grid.report-unified-filters,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .mini-toolbar.report-filter-grid.report-unified-filters {
    grid-template-columns: 1fr !important;
  }

  html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > .report-student-select,
  html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > .report-student-select,
  html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .report-filter-grid.report-unified-filters > .report-student-select {
    grid-column: auto !important;
  }
}
/* Eliminar logos y marcas visuales nuVez del proyecto. */
html body::before,
html body.is-authenticated::after,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module > .module-head.module-hero::before,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .module > .module-hero::before,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #appMain .category-panel-head::before,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .nuvez-header-credit,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .nuvez-header-credit,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) .nuvez-header-credit,
html body.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .achievement-nuvez-screen-brand,
html body.visual-modern.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .achievement-nuvez-screen-brand,
html body.visual-classic.is-authenticated:not(.guardian-portal-only):not(.report-print-body) #module-informes .achievement-nuvez-screen-brand {
  content: "" !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}


/* Ajuste visual del libro de calificaciones: nombres y estado en una fila, notas compactas y legibles. */
html body.is-authenticated:not(.report-print-body) #module-calificaciones .grade-table-wrap {
  overflow-x: auto !important;
  overflow-y: visible !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet,
html body.is-authenticated:not(.report-print-body) #module-calificaciones .grade-table-wrap table {
  width: max-content !important;
  min-width: 1360px !important;
  table-layout: fixed !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet :is(th, td) {
  padding: 5px 4px !important;
  font-size: .72rem !important;
  line-height: 1.12 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet :is(th, td):first-child {
  width: 38px !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet :is(th, td):nth-child(2),
html body.is-authenticated:not(.report-print-body) #module-calificaciones .grade-table-wrap td.student-cell {
  position: sticky !important;
  left: 0 !important;
  z-index: 2 !important;
  width: 270px !important;
  max-width: 270px !important;
  text-align: left !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  background: #fff !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet thead th:nth-child(2) {
  z-index: 3 !important;
  background: #eaf4ff !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet :is(th, td):nth-child(n+3):not(:nth-last-child(-n+2)) {
  width: 82px !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet :is(th, td):nth-last-child(2) {
  width: 86px !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet :is(th, td):last-child {
  width: 150px !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet .grade-input {
  width: 68px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 3px 4px !important;
  border-radius: 7px !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet .student-risk-badges {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  min-width: 0 !important;
  gap: 4px !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet .student-risk-badge {
  max-width: 140px !important;
  padding: 3px 5px !important;
  font-size: .66rem !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body.is-authenticated:not(.report-print-body) #module-calificaciones #gradeSpreadsheet .student-risk-badge b {
  font-size: .66rem !important;
}

/* UTP informe pedagogico por curso en una sola fila. */
html body.is-authenticated:not(.report-print-body) #module-utp #utpReportBuilder .utp-report-filters {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: end !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  padding-bottom: 4px !important;
  margin-bottom: 0 !important;
}

html body.is-authenticated:not(.report-print-body) #module-utp #utpReportBuilder .utp-report-filters > label {
  flex: 0 0 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  font-size: .72rem !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.report-print-body) #module-utp #utpReportBuilder .utp-report-filters > label:nth-child(3) {
  flex-basis: 170px !important;
  min-width: 170px !important;
  max-width: 170px !important;
}

html body.is-authenticated:not(.report-print-body) #module-utp #utpReportBuilder .utp-report-filters > label:nth-child(4) {
  flex-basis: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
}

html body.is-authenticated:not(.report-print-body) #module-utp #utpReportBuilder .utp-report-filters > label:nth-child(5) {
  flex-basis: 230px !important;
  min-width: 230px !important;
  max-width: 230px !important;
}

html body.is-authenticated:not(.report-print-body) #module-utp #utpReportBuilder .utp-report-filters > label:nth-child(6) {
  flex-basis: 170px !important;
  min-width: 170px !important;
  max-width: 170px !important;
}

html body.is-authenticated:not(.report-print-body) #module-utp #utpReportBuilder .utp-report-filters select {
  width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 5px 26px 5px 8px !important;
  border-radius: 8px !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

html body.is-authenticated:not(.report-print-body) #module-utp #utpReportBuilder .utp-report-save-inline {
  flex: 0 0 150px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 6px 10px !important;
  font-size: .76rem !important;
  white-space: nowrap !important;
}

/* Reglas globales para impresion y PDF adaptativo. */
@media print {
  @page {
    size: Letter portrait;
    margin: 10mm;
  }

  * {
    box-sizing: border-box !important;
  }

  html,
  body {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse !important;
  }

  thead {
    display: table-header-group !important;
  }

  tfoot {
    display: table-footer-group !important;
  }

  th,
  td {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  tr,
  img,
  figure,
  .bloque-informe,
  .report-print-page > section,
  .academic-report-header,
  .academic-report-student-grid,
  .academic-report-summary,
  .academic-report-period-summary,
  .report-grade-box,
  .report-note-grid > div,
  .utp-report-section,
  .achievement-report-heading,
  .achievement-report-meta > div,
  .certificate-head,
  .certificate-meta {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .firmas,
  .report-signature,
  .report-signatures,
  .report-course-signatures,
  .certificate-signatures,
  .boletin-signatures,
  .academic-report-signatures,
  .utp-report-footer,
  .academic-report-footer,
  .report-footer {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    break-before: avoid !important;
    page-break-before: avoid !important;
  }

  .no-print,
  .no-imprimir,
  .module-head,
  .module-breadcrumb,
  .report-preview-toolbar,
  .report-inner-tabs,
  .topbar,
  #mainNav,
  .sidebar,
  .floating-home-btn,
  .statusbar,
  button,
  input[type="button"],
  input[type="submit"] {
    display: none !important;
  }
}
