/* AliPlay · AliTest — casca visual do professor alinhada com a Oficina de Avaliações.
   Só é ativada depois da autenticação de professor/admin. Não altera ecrãs do aluno. */
.teacherSide[hidden],.teacherTopbar[hidden]{display:none!important}
body.staff-dashboard{background:radial-gradient(900px 520px at 2% 0%,rgba(96,165,250,.14),transparent 60%),radial-gradient(720px 500px at 98% 8%,rgba(74,222,128,.10),transparent 62%),#f7faff;color:#281b57}
body.staff-dashboard > header{display:none}
body.staff-dashboard .teacherSide{position:fixed;top:0;left:0;height:100vh;width:162px;padding:14px 11px 12px;border-right:1px solid #dfe5ff;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);z-index:40;display:flex;flex-direction:column;overflow:auto}
.teacherBrand{height:70px;border-bottom:1px solid #edf0ff;display:flex;align-items:center;justify-content:center;margin-bottom:8px;text-decoration:none;flex-shrink:0}
.teacherBrand img{display:block;width:118px;max-width:calc(100% - 10px);height:auto;object-fit:contain}
.teacherNav{display:flex;flex-direction:column;gap:4px}
.teacherNav a{width:100%;text-decoration:none;color:#4520e6;display:flex;align-items:center;gap:8px;padding:9px;border-radius:12px;font-size:11px;font-weight:800;line-height:1.1;transition:background .16s ease}
.teacherNav a:hover{background:#f0edff}.teacherNav a.active{background:#ecebff;color:#3714d9}
.teacherNav .navIco{width:22px;height:22px;border:2px solid #6944ff;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex:0 0 22px;background:#fff}
.teacherSideBottom{margin-top:auto;padding-top:12px}
.teacherSideBottom a{display:block;text-align:center;text-decoration:none;border:1px solid #ded9fb;background:#faf9ff;color:#5225db;border-radius:12px;padding:9px 8px;font-size:10px;font-weight:900}
body.staff-dashboard > .wrap{max-width:1600px;width:calc(100% - 162px);margin:0 0 0 162px;padding:18px clamp(18px,2.4vw,38px) 44px}
.teacherTopbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 4px 16px;flex-wrap:wrap}
.teacherGreeting{font-size:clamp(22px,2.2vw,27px);font-weight:1000;color:#4b13dd;letter-spacing:-.55px;line-height:1.22}
.teacherGreeting span{color:#281b57}.teacherGreeting small{display:block;margin-top:4px;color:#756b93;font-size:11px;font-weight:800;letter-spacing:0}
.teacherTopActions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.teacherContext{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:#ecfff0;border:1px solid #bff1ca;color:#167337;font-size:11px;font-weight:900;white-space:nowrap}
.teacherContext.soft{background:#f7f5ff;border-color:#ddd7fb;color:#5d2cf2}
.teacherTopButton{border:1px solid #d9def5;border-radius:999px;background:#fff;color:#5d2cf2;min-height:33px;padding:6px 12px;font-size:11px;font-weight:800;cursor:pointer}
.teacherTopButton:hover{background:#f7f5ff}.teacherTopButton:focus-visible,.teacherNav a:focus-visible,.teacherSideBottom a:focus-visible{outline:3px solid #8d7cf6;outline-offset:2px}
body.staff-dashboard .teacherIntro{background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(241,247,255,.94) 52%,rgba(238,255,248,.96));border-color:#d8ddfb}
body.staff-dashboard .teacherIntro .kicker{color:#6a43ef}
body.staff-dashboard .teacherIntro h1{color:#25165e}
body.staff-dashboard .teacherIntro a{border-color:#d9d1ff;color:#4c22d3}
body.staff-dashboard .panel,body.staff-dashboard .card,body.staff-dashboard .dialog,body.staff-dashboard #staffPanel{background:#fff;color:#281b57;border-color:#d8ddfb}
body.staff-dashboard .qcard{background:#f8faff;border-color:#e0e8f4}
body.staff-dashboard .btn.secondary{background:#fff;color:#35476a;border-color:#d8ddfb}
body.staff-dashboard label,body.staff-dashboard .meta,body.staff-dashboard .note{color:#596b88}
body.staff-dashboard input,body.staff-dashboard select,body.staff-dashboard textarea{background:#fff;color:#213554;border-color:#d8e1f0}
body.staff-dashboard .chip{background:#f7f9fe;border-color:#dfe5f3;color:#273655}
body.staff-dashboard .head{background:#fff;border-color:#d8ddfb}
body.staff-dashboard .checkGrid{background:#f9fbff;border-color:#d8ddfb}
body.staff-dashboard .checkItem{background:#fff;border-color:#dce3f2;color:#213554}
body.staff-dashboard .optRow{background:#fff;color:#213554;border-color:#dce4f1}
/* Não alterar os modais: sobrepõem-se ao dashboard completo. */
@media(max-width:820px){
  body.staff-dashboard .teacherSide{position:sticky;left:auto;top:0;width:100%;height:auto;max-width:100vw;padding:8px 10px;flex-direction:row;align-items:center;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid #dfe5ff;box-shadow:0 6px 20px rgba(50,45,100,.06);scrollbar-width:none}
  .teacherSide::-webkit-scrollbar{display:none}
  .teacherBrand{height:48px;min-width:112px;border-bottom:0;border-right:1px solid #edf0ff;margin:0 8px 0 0;padding-right:8px}
  .teacherBrand img{width:92px}
  .teacherNav{flex-direction:row;gap:5px;flex:0 0 auto}
  .teacherNav a{min-width:46px;width:46px;height:46px;padding:7px;justify-content:center;border-radius:13px}
  .teacherNav a span:last-child{display:none}
  .teacherNav .navIco{width:28px;height:28px;flex-basis:28px}
  .teacherSideBottom{display:none}
  body.staff-dashboard > .wrap{margin:0;width:100%;padding:16px 14px 32px}
  .teacherTopbar{gap:10px;margin:0 5px 14px}
  .teacherGreeting{font-size:24px}
  .teacherContext{display:none}
  body.staff-dashboard #app>div:first-child{display:grid!important;grid-template-columns:minmax(0,1fr);align-items:stretch!important}
  body.staff-dashboard #app>div:first-child>.panel{width:100%;min-width:0!important}
  body.staff-dashboard #app>div:first-child>.panel>div{flex-wrap:wrap}
  body.staff-dashboard .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
}
@media(prefers-reduced-motion:reduce){.teacherNav a{transition:none}}
