:root{--bg:#f5f7fb;--card:#fff;--ink:#182033;--muted:#64748b;--pri:#4f46e5;--pri2:#7c3aed;--ok:#0f9d72;--danger:#dc2626;--line:#e5e7eb}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#eef2ff,#f8fafc 45%,#ecfeff);color:var(--ink)}a{text-decoration:none;color:inherit}.wrap{max-width:1180px;margin:auto;padding:24px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.brand{font-size:1.35rem;font-weight:800}.badge{padding:7px 10px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.85rem}.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:rgba(255,255,255,.94);border:1px solid rgba(229,231,235,.9);box-shadow:0 14px 40px rgba(15,23,42,.08);border-radius:20px;padding:22px}.hero{padding:34px}.muted{color:var(--muted)}h1,h2,h3{margin-top:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer;background:#e2e8f0;color:#0f172a}.btn.primary{background:linear-gradient(135deg,var(--pri),var(--pri2));color:#fff}.btn.ok{background:var(--ok);color:#fff}.btn.danger{background:var(--danger);color:#fff}.btn.block{width:100%}.field{margin-bottom:14px}label{display:block;font-size:.9rem;font-weight:700;margin-bottom:6px}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.12)}textarea{min-height:110px}.nav{display:flex;flex-wrap:wrap;gap:10px}.alert{padding:12px 14px;border-radius:12px;margin:12px 0;background:#fff7ed;border:1px solid #fed7aa}.success{background:#ecfdf5;border-color:#a7f3d0}.error{background:#fef2f2;border-color:#fecaca}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.timer{position:sticky;top:8px;z-index:5;text-align:center;font-size:1.5rem;font-weight:900;padding:12px;border-radius:14px;background:#111827;color:#fff}.timer.calm{background:#0f766e}.q{padding:16px;border:1px solid var(--line);border-radius:16px;margin:14px 0;background:#fff}.opt{display:flex;gap:9px;align-items:flex-start;padding:8px 0}.opt input{width:auto;margin-top:4px}.actions{display:flex;gap:10px;flex-wrap:wrap}.small{font-size:.86rem}.center{text-align:center}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login{max-width:480px;width:100%}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.icon{font-size:1.2rem}.stat{font-size:2rem;font-weight:900}.question-img{max-width:100%;border-radius:12px;margin:10px 0}.hidden{display:none!important}
@media(max-width:800px){.g2,.g3,.split{grid-template-columns:1fr}.wrap{padding:14px}.card{padding:16px}.top{align-items:flex-start;flex-direction:column}.table{font-size:.9rem;display:block;overflow:auto}.hero{padding:22px}.timer{font-size:1.2rem}}
@media print{.no-print{display:none!important}body{background:#fff}.card{box-shadow:none;border:0}.wrap{max-width:none}.q{break-inside:avoid}}
.uppercase-input{text-transform:uppercase}.password-card{margin:18px 0;padding:20px;border:1px dashed #818cf8;border-radius:16px;background:#f5f3ff;text-align:center}.generated-password{font-size:2rem;font-weight:900;letter-spacing:.18em;margin:10px 0;color:#312e81;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}


/* MZAvaliar: identidade visual nas telas de entrada */
.mz-logo{display:block;width:100%;height:auto;object-fit:contain}
.landing-logo{max-width:480px;margin:0 auto 18px}
.login-logo-wrap{display:flex;justify-content:center;align-items:center;margin:-4px 0 18px}
.login-logo{max-width:300px}

.page-logo-wrap{display:flex;justify-content:center;align-items:center;margin:0 0 14px}
.page-logo{max-width:280px;width:100%}
.access-role{text-align:center;font-weight:800;color:#334155;margin:-2px 0 10px;font-size:1rem;letter-spacing:.02em}
.login h1{text-align:center}

/* Provas: Arial 10 pt e alinhamento justificado para enunciados e respostas */
.exam-view .exam-content,
.exam-view .exam-question,
.exam-view .question-stem,
.exam-view .option-text,
.exam-view .exam-instructions,
.exam-view textarea,
.exam-result .result-content,
.exam-result .result-content p,
.exam-result .result-content .q,
.exam-result .result-content .opt,
.exam-result .result-content .option-text{font-family:Arial,Helvetica,sans-serif;font-size:11pt;line-height:1.55}
.exam-view .question-stem,
.exam-view .option-text,
.exam-view .exam-instructions,
.exam-view textarea,
.exam-result .result-content p,
.exam-result .result-content .q,
.exam-result .result-content .opt,
.exam-result .result-content .option-text{text-align:justify;text-justify:inter-word}
.exam-view .opt{align-items:flex-start}
.exam-view .opt .option-text{display:block;flex:1}
.exam-view textarea{min-height:130px}

@media(max-width:600px){
  .landing-logo{max-width:88%;margin-bottom:16px}
  .login-logo{max-width:84%}
  .page-logo{max-width:230px}
  .login-logo-wrap{margin-bottom:14px}
}

@media print{
  .exam-view .exam-content,.exam-view .exam-question,.exam-view .question-stem,.exam-view .option-text,.exam-view .exam-instructions,
  .exam-print .paper,.exam-print .paper .q,.exam-print .paper .q p{font-family:Arial,Helvetica,sans-serif!important;font-size:10pt!important}
}


/* Editor de questões e prova digital: Arial 11, texto justificado */
.question-editor-page .question-entry-text,
.question-editor-page .answer-entry-text,
.question-editor-page .registered-question-text,
.question-editor-page .registered-option-text,
.question-editor-page .registered-answer,
.question-editor-page .registered-answer span{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11pt;
  line-height:1.55;
  text-align:justify;
  text-justify:inter-word;
  overflow-wrap:break-word;
  word-wrap:break-word;
}
.question-editor-page .question-entry-text,
.question-editor-page .answer-entry-text{
  width:100%;
  min-height:92px;
  resize:vertical;
}
.question-editor-page .registered-question-text{margin-bottom:7px}
.question-editor-page .registered-option{display:flex;align-items:flex-start;gap:8px}
.question-editor-page .registered-option-text{display:block;flex:1;min-width:0}
.question-editor-page .registered-answer{font-size:11pt!important}

/* Responsividade global e imagens fluidas para navegadores modernos */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
img{display:block}
.question-img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:70vh;
  height:auto;
  object-fit:contain;
  margin:12px auto;
}
.card,.q,.field,.exam-content,.registered-question{min-width:0}
.question-stem,.option-text,.registered-question-text,.registered-option-text,.registered-answer{
  overflow-wrap:break-word;
  word-break:normal;
}
input,select,textarea,button{max-width:100%}
textarea{resize:vertical}

@media (max-width:1024px){
  .wrap{max-width:100%;padding:18px}
  .card{border-radius:16px}
  .question-img{max-height:60vh}
}
@media (max-width:768px){
  .wrap{padding:12px}
  .card{padding:15px;border-radius:14px}
  .actions,.nav{width:100%}
  .actions .btn,.nav .btn{flex:1 1 auto}
  .question-editor-page .registered-option{gap:6px}
  .question-img{max-height:52vh}
  .exam-view .exam-content,
  .exam-view .exam-question,
  .exam-view .question-stem,
  .exam-view .option-text,
  .exam-view .exam-instructions,
  .exam-view textarea{font-size:11pt}
}
@media (max-width:480px){
  .login-shell{padding:10px}
  .card{padding:13px}
  .btn{width:100%;padding:11px 12px}
  .actions,.nav{display:grid;grid-template-columns:1fr;width:100%}
  .timer{width:100%;font-size:1.05rem}
  .question-img{width:100%;max-height:none}
  .question-editor-page .question-entry-text,
  .question-editor-page .answer-entry-text{min-height:105px}
}

/* Correção definitiva: justificação visual e edição das questões */
.question-editor-page .registered-question-line,
.exam-view .exam-question-line{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:6px;
  align-items:start;
  width:100%;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11pt;
  line-height:1.6;
}
.question-editor-page .question-number,
.exam-view .question-number{font-weight:700;white-space:nowrap}
.question-editor-page .registered-question-text,
.question-editor-page .registered-option-text,
.question-editor-page .registered-answer-text,
.exam-view .question-text,
.exam-view .option-text,
.exam-view .student-answer-text{
  display:block;
  width:100%;
  min-width:0;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11pt!important;
  line-height:1.6!important;
  text-align:justify!important;
  text-justify:inter-word;
  text-align-last:left;
  hyphens:auto;
  overflow-wrap:anywhere;
}
.question-editor-page .registered-option,
.exam-view .exam-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:8px;
  width:100%;
}
.question-editor-page .option-marker{white-space:nowrap}
.question-editor-page .registered-answer{display:block;width:100%;margin-top:10px}
.question-editor-page .registered-answer-text{margin-top:4px;color:var(--ink)}
.question-meta,.question-points{margin:6px 0 10px}
.question-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.question-actions form{margin:0}
.edit-question-panel{margin-top:16px;padding:18px;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc}
.inline-check{display:flex;gap:8px;align-items:center;margin:8px 0 14px}
.inline-check input{width:auto}
.question-editor-page textarea.question-entry-text,
.question-editor-page textarea.answer-entry-text,
.exam-view textarea.student-answer-text{
  text-align:justify!important;
  text-justify:inter-word;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11pt!important;
}
@media(max-width:600px){
  .question-editor-page .registered-question-line,.exam-view .exam-question-line{column-gap:5px}
  .question-actions{display:grid;grid-template-columns:1fr 1fr}
  .question-actions .btn{width:100%}
  .edit-question-panel{padding:12px}
}


/* Ajuste do editor de questões: numeração sequencial + justificação efetiva */
.question-compose-line{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  column-gap:7px;
  width:100%;
}
.question-entry-number{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11pt;
  line-height:1.6;
  font-weight:700;
  padding-top:11px;
  white-space:nowrap;
}
.question-editor-page .justified-editor{
  display:block;
  width:100%;
  min-height:112px;
  padding:12px 13px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
  outline:none;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11pt!important;
  line-height:1.6!important;
  text-align:justify!important;
  text-justify:inter-word;
  white-space:pre-wrap;
  overflow-wrap:break-word;
  word-break:normal;
}
.question-editor-page .justified-editor:focus{
  border-color:#6366f1;
  box-shadow:0 0 0 3px rgba(99,102,241,.12);
}
.question-editor-page .justified-editor:empty:before{
  content:attr(data-placeholder);
  color:#94a3b8;
  pointer-events:none;
}
.btn.warning{
  background:#facc15;
  color:#422006;
  border:1px solid #eab308;
}
.btn.warning:hover{background:#eab308}
.question-actions{
  display:flex;
  align-items:stretch;
  gap:10px;
  flex-wrap:wrap;
}
.question-actions > .btn,
.question-actions > form > .btn{
  min-height:44px;
  height:100%;
}
.question-actions > form{display:flex;margin:0}
@media(max-width:600px){
  .question-compose-line{column-gap:5px}
  .question-entry-number{padding-top:10px}
  .question-editor-page .justified-editor{min-height:120px}
}


/* 2026-08-20 - correção definitiva do cadastro numerado e justificado */
.question-editor-page .numbered-question-editor{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:start!important;
  gap:8px!important;
  width:100%!important;
}
.question-editor-page .numbered-question-editor .question-entry-number{
  display:block!important;
  padding-top:13px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11pt!important;
  line-height:1.6!important;
  font-weight:700!important;
  color:#182033!important;
  white-space:nowrap!important;
}
.question-editor-page textarea.question-prompt-input,
.question-editor-page textarea.answer-entry-text{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:118px!important;
  padding:12px 13px!important;
  border:1px solid #cbd5e1!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#182033!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11pt!important;
  line-height:1.65!important;
  text-align:justify!important;
  text-justify:inter-word!important;
  text-align-last:left!important;
  white-space:pre-wrap!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  resize:vertical!important;
}
.question-editor-page textarea.question-prompt-input:focus,
.question-editor-page textarea.answer-entry-text:focus{
  border-color:#6366f1!important;
  box-shadow:0 0 0 3px rgba(99,102,241,.12)!important;
  outline:none!important;
}
.question-editor-page .field-hint{margin-top:5px;padding-left:2.15rem}
.question-editor-page .question-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-top:14px!important;
}
.question-editor-page .question-actions > .btn.warning{
  order:1!important;
  background:#facc15!important;
  color:#422006!important;
  border:1px solid #eab308!important;
}
.question-editor-page .question-actions > form{
  order:2!important;
  display:flex!important;
  margin:0!important;
}
.question-editor-page .question-actions > .btn.warning,
.question-editor-page .question-actions > form > .btn.danger{
  min-width:126px!important;
  min-height:44px!important;
  height:44px!important;
  margin:0!important;
}
@media(max-width:600px){
  .question-editor-page .numbered-question-editor{gap:6px!important}
  .question-editor-page .field-hint{padding-left:0}
  .question-editor-page .question-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .question-editor-page .question-actions > .btn.warning,
  .question-editor-page .question-actions > form,
  .question-editor-page .question-actions > form > .btn.danger{width:100%!important;min-width:0!important}
}

/* Ajustes pontuais: imagens de questões e resultado final */
.question-img{max-width:100%;height:auto;object-fit:contain}
.congrats-card{margin:18px auto;padding:18px;border-radius:16px;background:#fffbeb;border:1px solid #fde68a;max-width:620px;text-align:center}
.congrats-card h2{margin:8px 0 0}.congrats-emojis{font-size:2rem;line-height:1.4}
@media print{.question-img,.print-question-img{display:block!important;visibility:visible!important;max-width:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;page-break-inside:avoid!important}}

/* Controle administrativo de acesso dos professores */
.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-access-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:210px}
.secret-code{font-family:Arial,Helvetica,sans-serif;letter-spacing:.08em;white-space:nowrap}
.access-released{background:#dcfce7;color:#166534}
.access-pending{background:#fef3c7;color:#92400e}
@media(max-width:700px){.admin-access-form{min-width:180px}.table-responsive .table{min-width:820px}}


/* FIX IMAGENS QUESTOES 20260821 */
.question-img,.print-question-img{display:block;max-width:100%;width:auto;height:auto;object-fit:contain;margin:10px auto;-webkit-print-color-adjust:exact;print-color-adjust:exact}
@media print{.question-img,.print-question-img{display:block!important;visibility:visible!important;opacity:1!important;max-width:100%!important;width:auto!important;height:auto!important;page-break-inside:avoid!important;break-inside:avoid!important}}

.system-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:8px auto 18px;line-height:1}.system-logo strong{font-size:2.25rem;letter-spacing:-1.5px;color:#0f3e78}.system-logo strong span{color:#16a36a}.system-logo small{margin-top:8px;color:#64748b;font-weight:700;letter-spacing:.04em}.page-system-logo{align-items:flex-start;margin:8px 0 16px}.landing-system-logo strong{font-size:3.1rem}.result-option{padding:10px 12px;margin:7px 0;border:1px solid #dbe3ec;border-radius:9px;text-align:left}.correct-option{background:#dcfce7;border:2px solid #16a34a;color:#14532d}.wrong-option{background:#fee2e2;border-color:#dc2626;color:#7f1d1d}.correct-answer{background:#dcfce7;border-left:5px solid #16a34a;padding:10px}.corrected-exam{text-align:left;margin-top:20px}
.timer{min-width:150px;text-align:center;font-variant-numeric:tabular-nums;font-weight:900}.timer.warning-time{background:#fef3c7;color:#92400e;border-color:#f59e0b}.timer.danger-time{background:#fee2e2;color:#991b1b;border-color:#dc2626;animation:timerPulse 1s infinite}.timer-notice{max-width:280px;margin-top:5px;text-align:center;font-weight:700}.exam-view .top{position:sticky;top:0;z-index:20;background:#fff;padding:12px;border-radius:12px;box-shadow:0 5px 18px rgba(15,23,42,.12)}@keyframes timerPulse{50%{transform:scale(1.04)}}
.mzavaliar-brand-logo{display:block;width:100%;height:auto;object-fit:contain;margin:0 auto;background:transparent}.landing-brand-logo{max-width:680px;max-height:310px}.login-brand-logo{max-width:440px;max-height:235px;margin-bottom:18px}.login .actions,.login-back{display:flex;justify-content:center;align-items:center}.login-back{margin-top:18px}.mzambatech-footer{margin:24px 0 0;text-align:center;font-size:.92rem;font-weight:700;color:#475569}.mzambatech-footer a{color:#0f5d99;text-decoration:none}.mzambatech-footer a:hover{text-decoration:underline}@media(max-width:600px){.landing-brand-logo{max-height:210px}.login-brand-logo{max-height:175px}}
