.teacher-unified-topbar{
  min-height:76px;
}
.teacher-unified-nav,
.teacher-unified-nav button{
  height:76px;
}
.teacher-module-subnav{
  top:76px;
}

/* Logo: ~20% menor que o estado anterior, preservando o recorte útil do asset. */
.teacher-unified-topbar .td-brand{
  position:relative;
  width:205px;
  height:76px;
  overflow:hidden;
  justify-content:flex-start;
}
.teacher-unified-topbar .td-brand img{
  display:block;
  width:205px!important;
  max-width:none!important;
  min-width:0!important;
  height:68px!important;
  max-height:none!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:left center!important;
  transform:scale(1.68)!important;
  transform-origin:left center!important;
}

/* Hierarquia tipográfica da navegação: cinza-azulado, sem preto pesado. */
.teacher-unified-shell .teacher-unified-nav button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#3f536b!important;
  font-weight:600!important;
}
.teacher-unified-shell .teacher-unified-nav button:hover{color:#31465d!important;}
.teacher-unified-shell .teacher-unified-nav button.active{color:#2f435a!important;font-weight:650!important;}
.teacher-nav-diamond{
  width:6px;
  height:6px;
  margin-right:9px;
  border:1px solid #aab7c5;
  background:transparent;
  transform:rotate(45deg);
  flex:0 0 auto;
}
.teacher-unified-nav button.active .teacher-nav-diamond{border-color:#526a83;background:#f8fafc;}
.teacher-unified-shell .teacher-module-subnav button{color:#6b7f95!important;font-weight:500!important;}
.teacher-unified-shell .teacher-module-subnav button:hover{color:#5c7188!important;}
.teacher-unified-shell .teacher-module-subnav button.active{color:#526a83!important;font-weight:600!important;}

/* Conta: avatar com iniciais + chevron vetorial. */
.teacher-unified-shell .teacher-account-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:74px!important;
  padding:7px 12px!important;
  background:#fff!important;
  background-image:none!important;
  border:1px solid #d5dee9!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
.teacher-account-avatar{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#203b69;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
}
.teacher-account-chevron{width:18px;height:18px;fill:none;stroke:#65778b;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease;}
.teacher-account-button[aria-expanded="true"] .teacher-account-chevron{transform:rotate(180deg);}

/* Fechar do modal: X geométrico centralizado, independente da baseline da fonte. */
.teacher-unified-shell .teacher-create-dialog>header>button[aria-label="Fechar"]{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  padding:0!important;
  line-height:1!important;
  font-size:0!important;
  background:#fff!important;
  background-image:none!important;
  color:#52647a!important;
}
.teacher-unified-shell .teacher-create-dialog>header>button[aria-label="Fechar"]::before,
.teacher-unified-shell .teacher-create-dialog>header>button[aria-label="Fechar"]::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:1.5px;
  border-radius:2px;
  background:#52647a;
  transform-origin:center;
}
.teacher-unified-shell .teacher-create-dialog>header>button[aria-label="Fechar"]::before{transform:translate(-50%,-50%) rotate(45deg);}
.teacher-unified-shell .teacher-create-dialog>header>button[aria-label="Fechar"]::after{transform:translate(-50%,-50%) rotate(-45deg);}

/* Resiliência: falha transitória nunca derruba toda a superfície. */
.teacher-resilience-banner{
  max-width:1180px;
  margin:16px auto 0;
  padding:12px 16px;
  border:1px solid #d7e0ea;
  border-left:3px solid #7b8fa6;
  border-radius:10px;
  background:#fbfcfe;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.teacher-resilience-banner>div{display:grid;gap:3px;}
.teacher-resilience-banner strong{font-size:13px;color:#354a61;}
.teacher-resilience-banner span{font-size:12px;color:#6b7f95;}

/* BNCC como camada transversal. */
.teacher-bncc-pulse{
  max-width:1180px;
  margin:16px auto 0;
  padding:12px 16px;
  border:1px solid #d8e1eb;
  border-radius:12px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.teacher-bncc-pulse>div{display:flex;align-items:center;gap:12px;}
.teacher-bncc-pulse>div>div{display:grid;gap:2px;}
.teacher-bncc-pulse strong{font-size:13px;color:#354a61;}
.teacher-bncc-pulse span{font-size:12px;color:#6b7f95;}
.teacher-bncc-diamond{width:8px;height:8px;border:1px solid #7d91a7;transform:rotate(45deg);flex:0 0 auto;}
.teacher-bncc-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;}
.teacher-bncc-summary article{border:1px solid #d9e2ec;border-radius:12px;background:#fff;padding:16px;display:grid;gap:8px;}
.teacher-bncc-summary span{font-size:12px;color:#6b7f95;}
.teacher-bncc-summary strong{font-size:26px;color:#253b53;}
.teacher-bncc-results{display:grid;gap:10px;margin-top:14px;}
.teacher-bncc-results>article{border:1px solid #dce4ed;border-radius:10px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;}
.teacher-bncc-results>article>div:first-child{display:grid;gap:5px;}
.teacher-bncc-results strong{color:#2f435a;font-size:13px;}
.teacher-bncc-results span{color:#667a90;font-size:12px;line-height:1.5;}
.teacher-bncc-results small{color:#8798aa;font-size:11px;}
.teacher-bncc-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
.teacher-bncc-institution{margin-top:16px;}
.teacher-bncc-footnote{margin:14px 0 0;color:#75879a;font-size:12px;}

@media(max-width:1366px){
  .teacher-unified-topbar{min-height:68px}
  .teacher-unified-nav,.teacher-unified-nav button{height:68px}
  .teacher-module-subnav{top:68px}
  .teacher-unified-topbar .td-brand{width:180px;height:68px}
  .teacher-unified-topbar .td-brand img{width:180px!important;height:68px!important;transform:scale(1.56)!important}
}
@media(max-width:900px){
  .teacher-unified-topbar{min-height:60px}
  .teacher-unified-nav,.teacher-unified-nav button{height:60px}
  .teacher-module-subnav{top:60px}
  .teacher-unified-topbar .td-brand{width:160px;height:60px}
  .teacher-unified-topbar .td-brand img{width:160px!important;height:60px!important;transform:scale(1.44)!important}
  .teacher-bncc-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
  .teacher-bncc-results>article{grid-template-columns:1fr;}
  .teacher-bncc-actions{justify-content:flex-start;}
}
@media(max-width:600px){
  .teacher-unified-topbar .td-brand{width:136px;height:56px}
  .teacher-unified-topbar .td-brand img{width:136px!important;height:56px!important;transform:scale(1.32)!important}
  .teacher-nav-diamond{display:none;}
  .teacher-account-button{min-width:64px!important;padding:6px 9px!important;}
  .teacher-account-avatar{width:30px;height:30px;}
  .teacher-resilience-banner,.teacher-bncc-pulse{margin:12px 12px 0;align-items:flex-start;flex-direction:column;}
  .teacher-bncc-summary{grid-template-columns:1fr 1fr;}
}
