/* =========================================================
   V288 — precisão visual, densidade útil e Avaliações Quiz
   Refinamento final sobre V287, sem remover funcionalidades.
   ========================================================= */

/* ---------- Administração: linhas nunca devem esticar para preencher altura ---------- */
body.app-body.admin-context :where(.form-grid,.stack-form,.compact-form,.compact-grid){
  align-content:start!important;
  grid-auto-rows:max-content!important;
}
body.app-body.admin-context :where(.form-grid,.stack-form,.compact-form,.compact-grid)>*{
  align-self:start!important;
  min-width:0!important;
}

/* Checkbox/radio compacto: corrige cartões enormes e texto jogado para o lado oposto. */
body.app-body.admin-context :where(.form-grid,.stack-form,.compact-form,.compact-grid) label.check{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  justify-self:start!important;
  align-self:start!important;
  width:fit-content!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:34px!important;
  height:auto!important;
  margin:0!important;
  padding:7px 10px!important;
  gap:8px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.025)!important;
  color:var(--text,#f4f4f4)!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  text-align:left!important;
}
body.app-body.admin-context :where(.form-grid,.stack-form,.compact-form,.compact-grid) label.check:hover{
  border-color:rgba(242,201,76,.28)!important;
  background:rgba(242,201,76,.035)!important;
}
body.app-body.admin-context :where(.form-grid,.stack-form,.compact-form,.compact-grid) label.check>input[type=checkbox],
body.app-body.admin-context :where(.form-grid,.stack-form,.compact-form,.compact-grid) label.check>input[type=radio]{
  appearance:auto!important;
  flex:0 0 15px!important;
  width:15px!important;
  min-width:15px!important;
  height:15px!important;
  min-height:15px!important;
  margin:0!important;
  padding:0!important;
}
body.app-body.admin-context :where(.form-grid,.stack-form,.compact-form,.compact-grid) label.check.span-2{
  grid-column:1/-1!important;
}

/* Ritmo vertical: conteúdo acompanha o que existe em tela, sem áreas vazias artificiais. */
body.app-body.content-admin-context :where(.content-step-panel,.studio-panel,.module-step-grid-v286,.lesson-workbench-v270,.lesson-workbench-grid-v270){
  min-height:0!important;
  height:auto!important;
  align-content:start!important;
}
body.app-body.content-admin-context .content-step-panel:not([hidden]){
  min-height:0!important;
}
body.app-body.content-admin-context :where(.studio-form,.module-create-form,.module-edit-form-v286) {
  align-items:start!important;
}
body.app-body.content-admin-context :where(.studio-form,.module-create-form,.module-edit-form-v286)>label,
body.app-body.content-admin-context :where(.studio-form,.module-create-form,.module-edit-form-v286)>div,
body.app-body.content-admin-context :where(.studio-form,.module-create-form,.module-edit-form-v286)>section{
  align-self:start!important;
}

/* Texto e ações com três escalas coerentes: pequeno / médio / destaque. */
body.app-body.admin-context :where(.field-help-v270,.muted,label>small,.table-subtle){font-size:9.25px!important;line-height:1.4!important}
body.app-body.admin-context :where(.panel,.studio-panel,.lesson-workbench-card-v270) h3{font-size:13.5px!important;line-height:1.25!important}
body.app-body.admin-context :where(.panel,.studio-panel,.lesson-workbench-card-v270) h2{line-height:1.15!important}
body.app-body.admin-context :where(.icon-action,.workbench-card-icon-v270,.lesson-count-badge-v270){line-height:1!important}

/* Tempo: campo compacto e legível; máscara é aplicada pelo JS. */
body.app-body.content-admin-context input[data-duration-mask]{
  font-variant-numeric:tabular-nums!important;
  letter-spacing:.045em!important;
  text-align:left!important;
}
body.app-body.content-admin-context .bulk-time-v286 input[data-duration-mask]{
  max-width:150px!important;
}

/* Mídia da aula: caixas aproveitam largura sem altura desperdiçada. */
body.app-body.content-admin-context .lesson-media-grid-v286{
  align-items:stretch!important;
  grid-auto-rows:auto!important;
}
body.app-body.content-admin-context .lesson-media-card-v286{
  align-content:start!important;
  min-height:0!important;
  padding:12px!important;
  gap:9px!important;
}
body.app-body.content-admin-context .lesson-media-card-v286 label{margin:0!important}
body.app-body.content-admin-context .lesson-media-card-v286 :where(input:not([type=checkbox]):not([type=radio]),select){min-height:46px!important;height:46px!important}
body.app-body.content-admin-context .lesson-media-card-title-v286{align-items:flex-start!important;gap:9px!important;margin:0!important}

/* ---------- Avaliação: única regra acadêmica e posição explícita ---------- */
body.app-body.content-admin-context .quiz-placement-card-v288{
  display:grid!important;
  gap:10px!important;
  padding:12px!important;
  border:1px solid rgba(242,201,76,.20)!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,rgba(242,201,76,.045),rgba(255,255,255,.018))!important;
}
body.app-body.content-admin-context .quiz-placement-head-v288{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
}
body.app-body.content-admin-context .quiz-placement-head-v288>div{display:grid!important;gap:3px!important}
body.app-body.content-admin-context .quiz-placement-head-v288 b{font-size:11.5px!important}
body.app-body.content-admin-context .quiz-placement-head-v288 small{font-size:9.25px!important;color:var(--muted,#aaa)!important;line-height:1.4!important}
body.app-body.content-admin-context .quiz-placement-head-v288>span{
  flex:0 0 auto!important;
  padding:5px 7px!important;
  border-radius:7px!important;
  border:1px solid rgba(242,201,76,.25)!important;
  color:#f1d178!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
}
body.app-body.content-admin-context .quiz-placement-options-v288{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
body.app-body.content-admin-context .quiz-placement-option-v288{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:9px!important;
  min-height:64px!important;
  padding:10px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.02)!important;
  cursor:pointer!important;
}
body.app-body.content-admin-context .quiz-placement-option-v288.active{
  border-color:rgba(242,201,76,.52)!important;
  background:rgba(242,201,76,.07)!important;
}
body.app-body.content-admin-context .quiz-placement-option-v288>input{flex:0 0 15px!important;width:15px!important;height:15px!important;min-height:15px!important;margin:2px 0 0!important}
body.app-body.content-admin-context .quiz-placement-option-v288>span{display:grid!important;gap:2px!important;min-width:0!important}
body.app-body.content-admin-context .quiz-placement-option-v288 b{font-size:10.5px!important}
body.app-body.content-admin-context .quiz-placement-option-v288 small{font-size:9px!important;color:var(--muted,#aaa)!important;line-height:1.35!important}
body.app-body.content-admin-context [data-quiz-after-lesson-wrap]{margin:0!important}
body.app-body.content-admin-context .quiz-standard-v288{align-items:center!important}
body.app-body.admin-context .quiz-pass-rule-v288{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-height:0!important;
  padding:9px 10px!important;
  border:1px solid rgba(242,201,76,.18)!important;
  border-radius:9px!important;
  background:rgba(242,201,76,.045)!important;
}
body.app-body.admin-context .quiz-pass-rule-v288 b{flex:0 0 auto!important;color:#f1d178!important;font-size:10px!important}
body.app-body.admin-context .quiz-pass-rule-v288 span{font-size:9.25px!important;line-height:1.4!important;color:var(--muted,#aaa)!important}

/* ---------- Player: histórico de avaliações ao lado de Anexos ---------- */
.player-body .quiz-history-panel-v288{min-height:0!important}
.player-body .quiz-history-list-v288{display:grid;gap:9px;margin-top:12px}
.player-body .quiz-history-card-v288{
  display:grid;
  grid-template-columns:38px minmax(190px,1fr) minmax(280px,.85fr) auto;
  align-items:center;
  gap:12px;
  min-height:72px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:inherit;
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.player-body a.quiz-history-card-v288:hover{border-color:rgba(242,201,76,.34);background:rgba(242,201,76,.045);transform:translateY(-1px)}
.player-body .quiz-history-card-v288.passed{border-color:rgba(80,190,128,.24)}
.player-body .quiz-history-card-v288.failed{border-color:rgba(230,95,105,.24)}
.player-body .quiz-history-card-v288.is-locked{opacity:.62}
.player-body .quiz-history-icon-v288{
  width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
  border:1px solid rgba(242,201,76,.22);background:rgba(242,201,76,.06);font-weight:900
}
.player-body .quiz-history-card-v288.passed .quiz-history-icon-v288{border-color:rgba(80,190,128,.3);background:rgba(80,190,128,.08)}
.player-body .quiz-history-card-v288.failed .quiz-history-icon-v288{border-color:rgba(230,95,105,.3);background:rgba(230,95,105,.07)}
.player-body .quiz-history-copy-v288{display:grid;gap:4px;min-width:0}
.player-body .quiz-history-copy-v288>b{font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-body .quiz-history-copy-v288>small{font-size:10px;line-height:1.35;color:var(--muted,#aaa)}
.player-body .quiz-history-stats-v288{display:grid;grid-template-columns:repeat(4,minmax(54px,1fr));gap:5px}
.player-body .quiz-history-stats-v288>span{display:grid;place-items:center;min-height:44px;padding:5px 6px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:rgba(0,0,0,.11)}
.player-body .quiz-history-stats-v288 b{font-size:11px;line-height:1.1}
.player-body .quiz-history-stats-v288 small{font-size:8px;line-height:1.2;color:var(--muted,#aaa);text-transform:uppercase;letter-spacing:.04em}
.player-body .quiz-history-stats-v288 .is-correct b{color:#82d7a6}
.player-body .quiz-history-stats-v288 .is-wrong b{color:#ef969e}
.player-body .quiz-history-empty-v288{grid-column:1/-1!important}
.player-body .quiz-history-card-v288>em{font-size:10px;font-style:normal;font-weight:800;white-space:nowrap;color:#f1d178}

@media(max-width:1050px){
  .player-body .quiz-history-card-v288{grid-template-columns:38px minmax(0,1fr) auto}
  .player-body .quiz-history-stats-v288{grid-column:2/-1;grid-row:2}
}
@media(max-width:760px){
  body.app-body.content-admin-context .quiz-placement-options-v288{grid-template-columns:1fr!important}
  body.app-body.admin-context .quiz-pass-rule-v288{flex-direction:column!important;gap:3px!important}
  .player-body .quiz-history-card-v288{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:10px}
  .player-body .quiz-history-card-v288>em{grid-column:2}
  .player-body .quiz-history-stats-v288{grid-column:1/-1;grid-row:auto;grid-template-columns:repeat(4,1fr)}
}
@media(max-width:480px){
  .player-body .quiz-history-stats-v288{grid-template-columns:repeat(2,1fr)}
}

/* ---------- V288 R2: escala tipográfica e densidade de formulário ----------
   Evita tanto microtexto quanto controles superdimensionados. ---------- */
body.app-body.admin-context{
  --u288-control-compact:36px;
  --u288-control-standard:42px;
  --u288-control-media:48px;
  --u288-font-help:10.25px;
  --u288-font-field:11.75px;
  --u288-font-action:11px;
}
body.app-body.admin-context :where(.admin-page,.platform-shell,.content-studio) :where(.form-grid,.stack-form,.compact-form,.compact-grid) label{
  font-size:11px!important;
  line-height:1.3!important;
}
body.app-body.admin-context :where(.admin-page,.platform-shell,.content-studio) :where(.form-grid,.stack-form,.compact-form,.compact-grid) label>small,
body.app-body.admin-context :where(.admin-page,.platform-shell,.content-studio) :where(.field-help-v270,.table-subtle,.muted){
  font-size:var(--u288-font-help)!important;
  line-height:1.4!important;
}
body.app-body.admin-context :where(.admin-page,.platform-shell,.content-studio) :where(.form-grid,.stack-form) :where(input:not([type=checkbox]):not([type=radio]),select,textarea){
  font-size:var(--u288-font-field)!important;
}
body.app-body.admin-context :where(.admin-page,.platform-shell,.content-studio) :where(.primary-btn,.secondary-btn,.danger-btn){
  font-size:var(--u288-font-action)!important;
}
body.app-body.content-admin-context .content-studio :where(.studio-panel,.course-evaluative-quiz-card,.module-editor-body,.module-bulk-body-v286){
  min-height:0!important;
  align-content:start!important;
}
body.app-body.content-admin-context .content-studio :where(.form-grid,.stack-form,.compact-grid){
  margin-block:0!important;
}
body.app-body.content-admin-context .content-studio :where(.form-grid,.stack-form,.compact-grid)>:empty:not(input):not(textarea):not(select){
  min-height:0!important;
}
