/* V152 — logo containment + full mobile rebuild + 7 PM force-logout polish.
   Desktop keeps the large premium card/font feel; mobile gets a clean single-column layout. */

/* Hard containment for every brand image. Prevents the 896px Apple asset from becoming a page-sized graphic. */
body.quiz-layout-stable-v152 img[src*="apple-logo"],
body.quiz-layout-stable-v152 img[src*="kpmg-logo"]{
  display:block!important;
  max-width:none!important;
  object-fit:contain!important;
  flex:0 0 auto!important;
}
body.quiz-layout-stable-v152 .logo-tile,
body.quiz-layout-stable-v152 .mini-logo,
body.quiz-layout-stable-v152 .hero-logo-img,
body.quiz-layout-stable-v152 .final-quiz-brand-strip-v148 img,
body.quiz-layout-stable-v152 .final-quiz-brand-strip-v149 img{
  flex:0 0 auto!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
body.quiz-layout-stable-v152 .logo-tile{width:54px!important;height:54px!important;border-radius:18px!important;}
body.quiz-layout-stable-v152 .mini-logo{width:38px!important;height:38px!important;border-radius:13px!important;}
body.quiz-layout-stable-v152 .hero-logo-img{width:46px!important;height:46px!important;border-radius:15px!important;}
body.quiz-layout-stable-v152 .logo-tile img{width:74%!important;height:74%!important;}
body.quiz-layout-stable-v152 .mini-logo img{width:74%!important;height:74%!important;}
body.quiz-layout-stable-v152 .hero-logo-img img{width:74%!important;height:74%!important;}
body.quiz-layout-stable-v152 .kpmg-logo-tile img{width:100%!important;height:100%!important;object-fit:cover!important;}

/* The landing strip used class v149 in JS, so style it explicitly. */
body.quiz-layout-stable-v152 .final-quiz-brand-strip-v149,
body.quiz-layout-stable-v152 .final-quiz-brand-strip-v148{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  padding:8px 12px!important;
  margin:0 0 16px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(0,51,141,.20))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  overflow:hidden!important;
}
body.quiz-layout-stable-v152 .final-quiz-brand-strip-v149 img,
body.quiz-layout-stable-v152 .final-quiz-brand-strip-v148 img{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  max-height:28px!important;
  border-radius:8px!important;
}
body.quiz-layout-stable-v152 .final-quiz-brand-strip-v149 img[src*="kpmg"],
body.quiz-layout-stable-v152 .final-quiz-brand-strip-v148 img[src*="kpmg"]{object-fit:cover!important;}
body.quiz-layout-stable-v152 .final-quiz-brand-strip-v149 span,
body.quiz-layout-stable-v152 .final-quiz-brand-strip-v148 span{width:1px!important;height:20px!important;background:rgba(255,255,255,.22)!important;flex:0 0 1px!important;}
body.quiz-layout-stable-v152 .final-quiz-brand-strip-v149 b,
body.quiz-layout-stable-v152 .final-quiz-brand-strip-v148 b{font-size:12px!important;line-height:1.15!important;color:rgba(246,249,255,.88)!important;white-space:normal!important;overflow-wrap:anywhere!important;}

/* Desktop: preserve big premium surfaces but avoid accidental clipping. */
body.quiz-layout-stable-v152 .final-quiz-panel{overflow:hidden!important;}
body.quiz-layout-stable-v152 .final-quiz-panel h2,
body.quiz-layout-stable-v152 .hero h1,
body.quiz-layout-stable-v152 .final-quiz-head h3{overflow-wrap:anywhere!important;}
body.quiz-layout-stable-v152 .final-quiz-scoregrid{align-items:stretch!important;}
body.quiz-layout-stable-v152 .final-quiz-scoregrid div{overflow:hidden!important;}

/* Force-close banner shown when the 7 PM lock removes the session. */
body.quiz-layout-stable-v152 .force-close-note-v152{
  margin-top:12px!important;
  padding:11px 13px!important;
  border-radius:16px!important;
  color:#fff7f7!important;
  background:linear-gradient(135deg,rgba(255,80,120,.18),rgba(255,255,255,.06))!important;
  border:1px solid rgba(255,119,149,.26)!important;
  font-weight:850!important;
}

@media (max-width:980px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  body.quiz-layout-stable-v152,
  body.quiz-layout-stable-v152 #loginView,
  body.quiz-layout-stable-v152 #appView,
  body.quiz-layout-stable-v152 .app-shell,
  body.quiz-layout-stable-v152 .workspace{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }
  body.quiz-layout-stable-v152 #loginView:not(.hidden){
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
    align-items:start!important;
    justify-items:center!important;
    min-height:100svh!important;
    padding:16px max(14px,env(safe-area-inset-right)) 28px max(14px,env(safe-area-inset-left))!important;
    margin:0!important;
  }
  body.quiz-layout-stable-v152 #loginView .login-card,
  body.quiz-layout-stable-v152 #loginView .login-rules-card{
    width:min(100%,640px)!important;
    max-width:calc(100vw - max(28px,calc(env(safe-area-inset-left) + env(safe-area-inset-right) + 28px)))!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:22px!important;
    border-radius:28px!important;
    overflow:hidden!important;
  }
  body.quiz-layout-stable-v152 #loginView .login-rules-card{display:grid!important;gap:14px!important;}
  body.quiz-layout-stable-v152 #loginView .rules-card-head h2{font-size:clamp(32px,7vw,46px)!important;line-height:1.02!important;}
  body.quiz-layout-stable-v152 #loginView .login-card h1{font-size:clamp(38px,8vw,52px)!important;line-height:1!important;}
  body.quiz-layout-stable-v152 #loginView .login-copy,
  body.quiz-layout-stable-v152 #loginView .rules-card-head p{font-size:15px!important;line-height:1.55!important;}
  body.quiz-layout-stable-v152 #loginView .rules-scroll{
    width:100%!important;
    min-height:0!important;
    max-height:min(44svh,430px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-right:6px!important;
    overscroll-behavior:contain!important;
  }
  body.quiz-layout-stable-v152 #loginView .rules-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  body.quiz-layout-stable-v152 #loginView .rules-quick-grid div{min-height:82px!important;padding:14px!important;}
  body.quiz-layout-stable-v152 #loginView .login-form input,
  body.quiz-layout-stable-v152 #loginView .primary-btn{min-height:56px!important;font-size:16px!important;border-radius:18px!important;}

  /* App: one clean column. No overlap, no giant fixed heights. */
  body.quiz-layout-stable-v152 #appView:not(.hidden),
  body.quiz-layout-stable-v152 .app-shell{display:block!important;min-height:100svh!important;}
  body.quiz-layout-stable-v152 .sidebar{
    position:relative!important;
    top:auto!important;
    width:calc(100vw - max(20px,calc(env(safe-area-inset-left) + env(safe-area-inset-right) + 20px)))!important;
    max-width:720px!important;
    height:auto!important;
    max-height:none!important;
    margin:10px auto 0!important;
    padding:10px!important;
    border-radius:22px!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    overflow:hidden!important;
  }
  body.quiz-layout-stable-v152 .portal-brand{min-width:0!important;flex:1 1 190px!important;}
  body.quiz-layout-stable-v152 .nav-list{display:flex!important;flex:0 1 auto!important;min-width:0!important;gap:8px!important;}
  body.quiz-layout-stable-v152 .nav-item,
  body.quiz-layout-stable-v152 .logout-btn{min-height:42px!important;font-size:13px!important;padding:10px 14px!important;}
  body.quiz-layout-stable-v152 .workspace{
    display:grid!important;
    gap:14px!important;
    padding:12px max(10px,env(safe-area-inset-right)) 96px max(10px,env(safe-area-inset-left))!important;
    margin:0 auto!important;
  }
  body.quiz-layout-stable-v152 .topbar,
  body.quiz-layout-stable-v152 .hero,
  body.quiz-layout-stable-v152 .section-card,
  body.quiz-layout-stable-v152 .rules-gate-card-v147,
  body.quiz-layout-stable-v152 .final-quiz-card,
  body.quiz-layout-stable-v152 .final-quiz-panel,
  body.quiz-layout-stable-v152 .final-quiz-side,
  body.quiz-layout-stable-v152 .final-quiz-mini,
  body.quiz-layout-stable-v152 .final-quiz-proctor,
  body.quiz-layout-stable-v152 .final-quiz-work,
  body.quiz-layout-stable-v152 .final-quiz-case,
  body.quiz-layout-stable-v152 .final-quiz-question,
  body.quiz-layout-stable-v152 .final-quiz-reading-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }
  body.quiz-layout-stable-v152 .topbar{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:16px!important;border-radius:24px!important;}
  body.quiz-layout-stable-v152 .topbar h2{font-size:clamp(25px,6.4vw,34px)!important;}
  body.quiz-layout-stable-v152 .profile-chip{width:100%!important;min-width:0!important;}
  body.quiz-layout-stable-v152 .hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:18px!important;
    border-radius:26px!important;
    text-align:left!important;
  }
  body.quiz-layout-stable-v152 .hero-brand-v148{justify-content:flex-start!important;}
  body.quiz-layout-stable-v152 .hero h1{font-size:clamp(34px,8vw,48px)!important;line-height:1!important;}
  body.quiz-layout-stable-v152 .hero p{font-size:15px!important;line-height:1.55!important;}
  body.quiz-layout-stable-v152 .hero-panel{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;width:100%!important;}
  body.quiz-layout-stable-v152 .mini-stat{min-width:0!important;min-height:82px!important;}
  body.quiz-layout-stable-v152 .mini-stat span{font-size:26px!important;}
  body.quiz-layout-stable-v152 .section-card.final-quiz-card{
    min-height:0!important;
    margin-top:0!important;
    padding:14px!important;
    border-radius:26px!important;
    overflow:visible!important;
  }
  body.quiz-layout-stable-v152 .final-quiz-root{min-height:0!important;overflow:visible!important;}
  body.quiz-layout-stable-v152 .final-quiz-head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:16px!important;border-radius:24px!important;}
  body.quiz-layout-stable-v152 .final-quiz-head h3{font-size:clamp(30px,7vw,42px)!important;line-height:1.02!important;}
  body.quiz-layout-stable-v152 .rules-gate-card-v147{padding:18px!important;border-radius:26px!important;}
  body.quiz-layout-stable-v152 .rules-gate-top-v147{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:start!important;padding:16px!important;}
  body.quiz-layout-stable-v152 .rules-gate-top-v147 h3{font-size:clamp(31px,7.2vw,43px)!important;line-height:1!important;}
  body.quiz-layout-stable-v152 .rules-alert-row-v148,
  body.quiz-layout-stable-v152 .rules-gate-actions-v147{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.quiz-layout-stable-v152 .rules-gate-grid-v147{grid-template-columns:1fr!important;gap:10px!important;}
  body.quiz-layout-stable-v152 .rules-gate-grid-v147>div{min-height:auto!important;padding:16px!important;border-radius:20px!important;}
  body.quiz-layout-stable-v152 .rules-gate-grid-v147 strong{font-size:28px!important;}
  body.quiz-layout-stable-v152 .rules-gate-grid-v147 span{font-size:14px!important;line-height:1.5!important;}

  body.quiz-layout-stable-v152 .final-quiz-landing{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;align-items:start!important;}
  body.quiz-layout-stable-v152 .final-quiz-panel{padding:20px!important;border-radius:26px!important;}
  body.quiz-layout-stable-v152 .final-quiz-panel h2{font-size:clamp(36px,9vw,54px)!important;line-height:1!important;}
  body.quiz-layout-stable-v152 .final-quiz-panel p{font-size:15.5px!important;line-height:1.65!important;}
  body.quiz-layout-stable-v152 .final-quiz-rules-v147{grid-template-columns:1fr 1fr!important;gap:10px!important;}
  body.quiz-layout-stable-v152 .final-quiz-rules-v147 div{min-height:92px!important;padding:14px!important;}
  body.quiz-layout-stable-v152 .final-quiz-rules-v147 strong{font-size:25px!important;}
  body.quiz-layout-stable-v152 .final-quiz-rules-v147 span{font-size:13px!important;line-height:1.35!important;}
  body.quiz-layout-stable-v152 .final-quiz-side{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  body.quiz-layout-stable-v152 .final-quiz-mini{padding:16px!important;border-radius:22px!important;}

  body.quiz-layout-stable-v152 .final-quiz-shell,
  body.quiz-layout-stable-v152 .final-quiz-shell.final-quiz-case-mode,
  body.quiz-layout-stable-v152 .final-quiz-shell:not(.final-quiz-case-mode){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    align-items:start!important;
  }
  body.quiz-layout-stable-v152 .final-quiz-proctor,
  body.final-quiz-reading-active.quiz-layout-stable-v152 .final-quiz-case-mode .final-quiz-proctor{
    position:relative!important;
    top:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:14px!important;
    border-radius:24px!important;
  }
  body.quiz-layout-stable-v152 .final-quiz-camera,
  body.final-quiz-reading-active.quiz-layout-stable-v152 .final-quiz-case-mode .final-quiz-camera{height:230px!important;min-height:230px!important;border-radius:22px!important;}
  body.quiz-layout-stable-v152 .final-quiz-scoregrid,
  body.final-quiz-reading-active.quiz-layout-stable-v152 .final-quiz-case-mode .final-quiz-scoregrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  body.quiz-layout-stable-v152 .final-quiz-scoregrid div{min-height:76px!important;padding:13px!important;border-radius:20px!important;}
  body.quiz-layout-stable-v152 .final-quiz-scoregrid b{font-size:25px!important;}
  body.quiz-layout-stable-v152 .final-quiz-scoregrid span{font-size:12px!important;}
  body.quiz-layout-stable-v152 .final-quiz-integrity{min-height:auto!important;padding:15px!important;border-radius:20px!important;}
  body.quiz-layout-stable-v152 .final-quiz-work,
  body.quiz-layout-stable-v152 .final-quiz-work.final-quiz-reading-work,
  body.final-quiz-reading-active.quiz-layout-stable-v152 .final-quiz-work.final-quiz-reading-work{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:14px!important;
    border-radius:24px!important;
    gap:12px!important;
  }
  body.quiz-layout-stable-v152 .final-quiz-reading-card,
  body.final-quiz-reading-active.quiz-layout-stable-v152 .final-quiz-reading-card{
    flex:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:22px!important;
    border-radius:24px!important;
  }
  body.final-quiz-reading-active.quiz-layout-stable-v152 .section-card.final-quiz-card{overflow:visible!important;}
  body.final-quiz-reading-active.quiz-layout-stable-v152 .final-quiz-reading-text{display:grid!important;grid-template-columns:1fr!important;gap:0!important;}
  body.final-quiz-reading-active.quiz-layout-stable-v152 .final-quiz-reading-text p{font-size:16px!important;line-height:1.78!important;}
  body.final-quiz-reading-active.quiz-layout-stable-v152 .final-quiz-reading-card h2{font-size:clamp(34px,8.6vw,52px)!important;}
  body.quiz-layout-stable-v152 .final-quiz-actions-row,
  body.final-quiz-reading-active.quiz-layout-stable-v152 .final-quiz-actions-row{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:14px!important;border-radius:22px!important;}
  body.quiz-layout-stable-v152 .final-quiz-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.quiz-layout-stable-v152 .final-quiz-actions button{width:100%!important;min-height:52px!important;font-size:15px!important;}
  body.quiz-layout-stable-v152 .final-quiz-case,
  body.quiz-layout-stable-v152 .final-quiz-question{padding:18px!important;border-radius:24px!important;}
  body.quiz-layout-stable-v152 .final-quiz-question h3{font-size:clamp(25px,6.4vw,36px)!important;line-height:1.18!important;}
  body.quiz-layout-stable-v152 .final-quiz-options{display:grid!important;gap:11px!important;}
  body.quiz-layout-stable-v152 .final-quiz-options label{font-size:15px!important;line-height:1.45!important;padding:15px!important;border-radius:20px!important;}
  body.quiz-layout-stable-v152 .final-quiz-timer{min-height:56px!important;}
  body.quiz-layout-stable-v152 .final-quiz-timer b{font-size:25px!important;}

  body.quiz-layout-stable-v152 #secureSessionWidgetV81,
  body.quiz-layout-stable-v152 .secure-session-widget-v81{
    left:max(10px,env(safe-area-inset-left))!important;
    right:max(10px,env(safe-area-inset-right))!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    border-radius:22px!important;
  }
}

@media (max-width:430px){
  body.quiz-layout-stable-v152 .portal-brand strong{font-size:13px!important;}
  body.quiz-layout-stable-v152 .portal-brand small{display:none!important;}
  body.quiz-layout-stable-v152 .nav-list{width:100%!important;order:3!important;}
  body.quiz-layout-stable-v152 .nav-item{flex:1!important;}
  body.quiz-layout-stable-v152 .logout-btn{order:2!important;}
  body.quiz-layout-stable-v152 .hero-panel{grid-template-columns:1fr!important;}
  body.quiz-layout-stable-v152 .final-quiz-rules-v147{grid-template-columns:1fr!important;}
  body.quiz-layout-stable-v152 #loginView .rules-quick-grid{grid-template-columns:1fr!important;}
  body.quiz-layout-stable-v152 .final-quiz-camera,
  body.final-quiz-reading-active.quiz-layout-stable-v152 .final-quiz-case-mode .final-quiz-camera{height:205px!important;min-height:205px!important;}
}
