/* OMI V42: focused desktop/HP layout and assessment readability fixes. */
body.omi-layout.omi-admin main.wrap>.toolbar,
body.omi-layout.omi-admin main.wrap>section.toolbar{
  position:relative!important;inset:auto!important;top:auto!important;bottom:auto!important;
  z-index:1!important;transform:none!important;margin:12px 0 14px!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  box-sizing:border-box!important;
}
body.omi-layout.omi-admin main.wrap>.stats{
  display:grid!important;position:relative!important;inset:auto!important;z-index:0!important;
  margin:14px 0!important;clear:both!important;transform:none!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;
}
body.omi-layout.omi-admin main.wrap>.stats .stat{min-width:0!important;position:relative!important;padding:12px 14px!important;}
body.omi-layout.omi-admin main.wrap>.stats .stat :where(b,small){display:block!important;overflow-wrap:normal!important;word-break:normal!important;line-height:1.35}
body.omi-layout.omi-admin main.wrap>.toolbar>*{min-width:0!important;max-width:100%!important;}
body.omi-layout.omi-admin main.wrap>.toolbar input,body.omi-layout.omi-admin main.wrap>.toolbar select,
body.omi-layout.omi-admin main.wrap>.toolbar button{height:auto!important;min-height:44px!important}
body.omi-layout.omi-admin .panel{min-width:0!important;max-width:100%!important;}
body.omi-layout.omi-monitor .table-wrap{display:block!important;max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;overscroll-behavior-inline:contain;}
body.omi-layout.omi-monitor .table-wrap table{min-width:1840px!important;width:max-content!important;max-width:none!important;table-layout:auto!important;}
body.omi-layout.omi-monitor .table-wrap th{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;min-width:84px!important;vertical-align:middle!important;font-size:12px!important;line-height:1.4!important;}
body.omi-layout.omi-monitor .table-wrap td{word-break:normal!important;overflow-wrap:break-word!important;vertical-align:top!important;min-width:84px!important;}
body.omi-layout.omi-monitor .table-wrap th:nth-child(2),body.omi-layout.omi-monitor .table-wrap td:nth-child(2){min-width:164px!important;}
body.omi-layout.omi-monitor .table-wrap th:last-child,body.omi-layout.omi-monitor .table-wrap td:last-child{min-width:128px!important;}
body.omi-layout.omi-monitor .table-wrap td:last-child{white-space:normal!important;}
body.omi-layout.omi-monitor .table-wrap .mini{min-height:32px;margin:2px}
body.omi-layout.omi-admin .table-wrap th{word-break:normal!important;overflow-wrap:normal!important}
body.omi-exam-active #saveStatus{display:block;min-width:110px;font-size:clamp(10px,1vw,12px);color:#dcfce7;line-height:1.2;text-align:right;white-space:normal}
body.omi-exam-active #saveStatus.needs-sync{color:#fef08a;font-weight:800}
body.omi-exam-active #examScreen .question-card{min-width:0!important;overscroll-behavior:contain;}
body.omi-exam-active #examScreen .question-inner,
body.omi-exam-active #examScreen .prompt,
body.omi-exam-active #examScreen .options{min-width:0!important;max-width:100%!important;overflow-wrap:break-word;}
body.omi-exam-active #examScreen .prompt :where(img,video,canvas,svg){max-width:100%!important;height:auto!important;object-fit:contain!important;}
body.omi-exam-active #examScreen .prompt table{max-width:100%;display:block;overflow-x:auto!important;}
body.omi-exam-active #examScreen .option{min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:break-word!important;}
body.omi-exam-active #examScreen .exam-actions button{min-width:0;touch-action:manipulation}
@media (max-width:899px){
 body.omi-layout.omi-admin main.wrap>.stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
 body.omi-layout.omi-monitor .table-wrap{display:none!important}
 body.omi-exam-active #examScreen .exam-status{min-width:0;}
}
@media (max-width:540px){
 body.omi-layout.omi-admin main.wrap>.toolbar{grid-template-columns:minmax(0,1fr)!important;margin:10px 0 12px!important;}
 body.omi-layout.omi-admin main.wrap>.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
 body.omi-layout.omi-admin main.wrap>.stats .stat{padding:10px!important;}
 body.omi-exam-active #saveStatus{font-size:10px}
 body.omi-exam-active #examScreen .exam-actions .btn{min-height:44px!important;}
}
@media (max-height:530px) and (orientation:landscape){
 body.omi-exam-active #examScreen .exam-status{padding:4px 7px!important;}
 body.omi-exam-active #examScreen .exam-actions .btn{min-height:36px!important;}
 body.omi-exam-active #saveStatus{font-size:10px}
}
@media(prefers-reduced-motion:reduce){body.omi-layout .question-card,body.omi-layout .option{transition:none!important}}
/* History table: make the row readable rather than forcing values into 30px columns. */
body.omi-layout.omi-history .table-wrap{overflow-x:auto!important;overscroll-behavior-inline:contain;max-width:100%!important;}
body.omi-layout.omi-history .table-wrap table{min-width:1140px!important;width:100%!important;max-width:none!important;table-layout:auto!important;}
body.omi-layout.omi-history .table-wrap :where(th,td){min-width:80px!important;word-break:normal!important;overflow-wrap:normal!important;}
body.omi-layout.omi-history .table-wrap th{white-space:nowrap!important;}
body.omi-layout.omi-history .table-wrap :where(th,td):nth-child(2){min-width:164px!important;}
body.omi-layout.omi-history .table-wrap :where(th,td):nth-child(3){min-width:110px!important;}
body.omi-layout.omi-history .table-wrap :where(th,td):nth-child(4){min-width:95px!important;white-space:nowrap!important;}
body.omi-layout.omi-history .table-wrap :where(th,td):last-child{min-width:94px!important;}
body.omi-layout.omi-history .table-wrap .result-detail{min-width:76px!important;white-space:nowrap!important;}
/* In the real exam the footer is a grid row, never floating over answers. */
body.omi-exam-active #examScreen.exam-fixed.active,
body.omi-secure-exam #examScreen.exam-fixed.active{
  box-sizing:border-box!important;height:100dvh!important;max-height:100dvh!important;
  min-height:0!important;padding:6px 8px max(6px,env(safe-area-inset-bottom))!important;
  display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;
  align-content:stretch!important;row-gap:7px!important;overflow:hidden!important;
}
body.omi-exam-active #examScreen.exam-fixed.active>.exam-body,
body.omi-secure-exam #examScreen.exam-fixed.active>.exam-body{
  min-height:0!important;height:auto!important;overflow:hidden!important;grid-row:2!important;
}
body.omi-exam-active #examScreen.exam-fixed.active>.exam-actions,
body.omi-secure-exam #examScreen.exam-fixed.active>.exam-actions{
  position:relative!important;inset:auto!important;top:auto!important;bottom:auto!important;
  left:auto!important;right:auto!important;transform:none!important;
  grid-row:3!important;justify-self:stretch!important;align-self:end!important;
  width:100%!important;max-width:100%!important;margin:0!important;
  min-height:0!important;z-index:30!important;box-sizing:border-box!important;
  border-radius:15px!important;
}
body.omi-exam-active #examScreen .question-card,
body.omi-secure-exam #examScreen .question-card{
  height:100%!important;max-height:100%!important;min-height:0!important;
  overflow-y:auto!important;scrollbar-gutter:stable;scroll-padding-bottom:18px!important;
}
body.omi-exam-active #examScreen .option-content,
body.omi-secure-exam #examScreen .option-content{
  min-width:0!important;max-width:100%!important;word-break:normal!important;
  overflow-wrap:break-word!important;white-space:normal!important;
}
@media(max-width:540px){
 body.omi-exam-active #examScreen.exam-fixed.active,
 body.omi-secure-exam #examScreen.exam-fixed.active{row-gap:5px!important;padding:4px 5px max(5px,env(safe-area-inset-bottom))!important}
}
/* Prevent the mobile question from growing underneath the footer. */
body.omi-layout.omi-exam-active,body.omi-layout.omi-secure-exam{padding:0!important;height:100dvh!important;overflow:hidden!important;}
body.omi-exam-active>#omi-fixed-header,body.omi-secure-exam>#omi-fixed-header{display:none!important;}
body.omi-exam-active #examScreen.exam-fixed.active>.exam-body,
body.omi-secure-exam #examScreen.exam-fixed.active>.exam-body{height:100%!important;max-height:100%!important;min-height:0!important;}
body.omi-exam-active #examScreen.exam-fixed.active>.exam-body>.exam-main,
body.omi-secure-exam #examScreen.exam-fixed.active>.exam-body>.exam-main{
  height:100%!important;max-height:100%!important;min-height:0!important;overflow:hidden!important;
}
body.omi-exam-active #examScreen.exam-fixed.active>.exam-body>.exam-main>.question-card,
body.omi-secure-exam #examScreen.exam-fixed.active>.exam-body>.exam-main>.question-card{
  height:100%!important;max-height:100%!important;min-height:0!important;
  overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain!important;
}
/* Clear, high-contrast exam status bar and readable question number. */
body.omi-exam-active #examScreen .exam-status,
body.omi-secure-exam #examScreen .exam-status{
  background:linear-gradient(125deg,#075b4c,#0b8068)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.2)!important;
  box-shadow:0 8px 20px rgba(8,66,54,.14)!important;
}
body.omi-exam-active #examScreen .exam-status :where(small,b,span),
body.omi-secure-exam #examScreen .exam-status :where(small,b,span){color:inherit!important;}
body.omi-exam-active #examScreen .exam-status small,
body.omi-secure-exam #examScreen .exam-status small{opacity:.9!important;}
body.omi-exam-active #examScreen .exam-status .menu-number,
body.omi-secure-exam #examScreen .exam-status .menu-number{background:#fff!important;color:#075b4c!important;border:1px solid rgba(255,255,255,.65)!important;}
body.omi-exam-active #examScreen .question-meta #position,
body.omi-secure-exam #examScreen .question-meta #position{
  display:inline-flex!important;justify-content:center!important;align-items:center!important;
  width:auto!important;height:auto!important;min-width:76px!important;min-height:37px!important;
  max-width:100%!important;padding:7px 12px!important;border-radius:999px!important;
  white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;
  font-size:13px!important;line-height:1.3!important;
}

/* Clearly distinguish a paused exam from a broken connection. */
body.omi-layout.omi-monitor main.wrap>.stats{grid-template-columns:repeat(6,minmax(0,1fr))!important}
body.omi-layout.omi-monitor .badge.paused{background:#fff2cd!important;color:#8a5b0b!important}
@media(max-width:899px){body.omi-layout.omi-monitor main.wrap>.stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:540px){body.omi-layout.omi-monitor main.wrap>.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Visible scroll affordance for dense desktop result and monitoring tables. */
body.omi-layout .omi-scroll-hint{font-size:12px;color:#4e695e;margin:10px 12px 7px;line-height:1.45}
@media(max-width:899px){body.omi-layout.omi-monitor .omi-scroll-hint,body.omi-layout.omi-history .omi-scroll-hint{display:none}}
/* Learning/simulation landing hero: decorative circles cannot conceal the heading. */
#setupScreen .hero-main h1,
#setupScreen .hero-main .badge,
#setupScreen .hero-main p{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.12)!important}
#setupScreen .hero-main>*,
#start .intro-card>div:first-child,
#start .assessment-intro>div:first-child{position:relative!important;z-index:2!important;min-width:0!important}
#start .intro-card h1,
#start .assessment-intro h1{position:relative!important;z-index:2!important;overflow-wrap:break-word!important;max-width:100%!important}
@media(max-width:540px){
 #setupScreen .hero-main h1{font-size:clamp(1.65rem,7.5vw,2.35rem)!important;line-height:1.08!important}
 #start .intro-card h1,
 #start .assessment-intro h1{font-size:clamp(1.65rem,7vw,2.3rem)!important;line-height:1.1!important}
}
