body.exam-restricted .student-wrap,
body.exam-restricted .student-top,
body.exam-restricted .student-question,
body.exam-restricted .exam-header{
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
body.exam-restricted textarea,
body.exam-restricted input{
  -webkit-user-select:text;
  user-select:text;
}
body.exam-restricted img{
  -webkit-user-drag:none;
  user-drag:none;
}
.exam-deadline-banner{
  position:sticky;
  top:0;
  z-index:40;
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  align-items:center;
  justify-content:center;
  margin:0 0 16px;
  padding:14px 18px;
  border:2px solid #b42318;
  border-radius:12px;
  background:#fff1f0;
  color:#7a271a;
  box-shadow:0 8px 28px rgba(122,39,26,.18);
  text-align:center;
}
.exam-deadline-banner[hidden]{display:none}
.exam-deadline-banner strong{font-size:1.2rem}
body.exam-capture-warning .student-wrap,
body.exam-capture-warning .student-top{
  filter:blur(24px);
  opacity:.08;
  pointer-events:none;
}
body.exam-capture-warning::after{
  content:'Captura de tela não autorizada';
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  background:#111;
  color:#fff;
  font-size:clamp(1.4rem,4vw,3rem);
  font-weight:800;
  text-align:center;
  padding:24px;
}
.exam-access-lock{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(8,18,34,.96);
  backdrop-filter:blur(10px);
}
.exam-access-lock-card{
  width:min(560px,100%);
  padding:34px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 28px 80px rgba(0,0,0,.38);
  text-align:center;
}
.exam-access-lock-card h1{margin:10px 0 8px;color:#101828}
.exam-access-lock-card p{margin:0 0 20px;color:#475467}
.lock-icon{font-size:3.2rem}
.lock-wait{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px;color:#344054;font-weight:700}
.lock-wait span{width:12px;height:12px;border-radius:50%;background:#f79009;animation:lockPulse 1.1s infinite alternate}
@keyframes lockPulse{from{opacity:.25;transform:scale(.7)}to{opacity:1;transform:scale(1.2)}}
.retry-list,.locked-student-list{display:grid;gap:12px}
.retry-card,.locked-student-card{
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  padding:16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
}
.retry-card h3,.locked-student-card h3{margin:0 0 5px}
.retry-card p,.retry-card small,.locked-student-card p,.locked-student-card small{margin:0;color:var(--muted)}
.locked-panel{border:2px solid #d92d20}
.locked-student-card{border-color:#fda29b;background:#fff5f4}
.locked-student-title{display:flex;align-items:center;gap:9px}
.lock-dot{width:12px;height:12px;border-radius:50%;background:#d92d20;box-shadow:0 0 0 6px rgba(217,45,32,.12)}
.security-alert-list{display:grid;gap:9px}
.security-alert-item{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:12px 14px;
  border-left:4px solid #b42318;
  border-radius:8px;
  background:#fff1f0;
}
.security-alert-item.critical{border:2px solid #d92d20;background:#fee4e2}
.security-alert-item div{display:grid;gap:3px}
.security-alert-item span,.security-alert-item time{color:#7a271a;font-size:.86rem}
@media(max-width:720px){
  .retry-card,.locked-student-card,.security-alert-item{align-items:stretch;flex-direction:column}
  .exam-access-lock-card{padding:26px 20px}
}
@media print{
  body.exam-restricted *{display:none!important}
  body.exam-restricted::before{
    content:'Impressão bloqueada durante a avaliação.';
    display:block!important;
    padding:40px;
    font-size:24px;
  }
}
