.oq-wrap{--oq-green:#20c45a;--oq-navy:#182743;width:100%;max-width:1450px;box-sizing:border-box;margin:30px auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,290px);gap:28px;font-family:Arial,sans-serif;color:#172238}.oq-title{border-bottom:1px solid #eee;padding-bottom:18px;margin-bottom:22px}.oq-title h1{font-size:30px;line-height:1.25;margin:0 0 10px}.oq-meta{display:flex;gap:20px;color:#697386;font-size:14px}.oq-start-panel{border:1px solid #e5e7eb;border-radius:12px;padding:24px;background:#fff;box-shadow:0 4px 20px rgba(25,39,67,.06);margin-bottom:20px}.oq-start-panel h2{margin-top:0}.oq-student-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.oq-student-grid label{font-weight:700;font-size:14px}.oq-student-grid input{display:block;width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #d9dde5;border-radius:6px;padding:11px}.oq-start-note{margin:18px 0;color:#667085;font-size:14px;line-height:1.6}.oq-start{border:0;background:var(--oq-green);color:#fff;font-weight:700;border-radius:7px;padding:13px 24px;cursor:pointer;font-size:15px}.oq-question-card{padding:8px 0 24px;margin-bottom:16px;border-bottom:1px solid #f0f0f0;scroll-margin-top:25px}.oq-question-title{font-weight:700;margin-bottom:5px}.oq-question-text{font-size:16px;line-height:1.55;margin-bottom:12px}.oq-answer-list{display:grid;gap:8px}.oq-answer{display:flex;align-items:center;gap:10px;cursor:pointer;padding:5px 0;color:#39465a}.oq-answer input{position:absolute;opacity:0}.oq-radio{width:17px;height:17px;border:2px solid #cbd0d7;border-radius:50%;display:inline-block;position:relative;flex:none}.oq-answer input:checked+.oq-radio{border-color:var(--oq-green)}.oq-answer input:checked+.oq-radio:after{content:"";position:absolute;width:9px;height:9px;background:var(--oq-green);border-radius:50%;left:2px;top:2px}.oq-sidebar{width:100%;min-width:0;box-sizing:border-box;position:sticky;top:20px;align-self:start;background:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(25,39,67,.12);overflow:hidden;border:1px solid #eee}.oq-sidebar-head{background:var(--oq-navy);color:#fff;padding:14px 15px;display:flex;justify-content:space-between;align-items:center}.oq-collapse{border:0;background:none;color:#fff;font-size:22px;cursor:pointer}.oq-timer{text-align:center;padding:18px 10px 8px;color:#697386;font-size:13px}.oq-countdown{display:block;color:#d53a3a;font-size:27px;margin-top:4px}.oq-countdown.danger{animation:oqblink .8s infinite}.oq-progress{text-align:center;color:#697386;font-size:13px;padding-bottom:12px}.oq-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:0 15px 18px}.oq-nav button{width:100%;min-width:0;max-width:100%;box-sizing:border-box;height:32px;border:1px solid #dfe3e8;background:#fff;border-radius:4px;color:#667085;cursor:pointer}.oq-nav button.active{background:var(--oq-green);border-color:var(--oq-green);color:#fff}.oq-nav button.answered{box-shadow:inset 0 -3px 0 #20c45a}.oq-submit{border:0;background:var(--oq-green);color:#fff;font-weight:700;border-radius:7px;padding:13px 24px;cursor:pointer;font-size:15px}.oq-submit:disabled{opacity:.65;cursor:not-allowed}.oq-submit-side{display:block;width:calc(100% - 30px);margin:0 15px 16px}.oq-result{margin-top:20px;padding:20px;border-radius:10px;background:#f2fff6;border:1px solid #bdeccf}.oq-score{font-size:22px}.oq-success{font-weight:600}.oq-side-collapsed .oq-timer,.oq-side-collapsed .oq-progress,.oq-side-collapsed .oq-nav,.oq-side-collapsed .oq-submit-side{display:none}@keyframes oqblink{50%{opacity:.45}}@media(max-width:900px){.oq-wrap{grid-template-columns:1fr}.oq-sidebar{width:100%;min-width:0;box-sizing:border-box;position:sticky;bottom:0;top:auto;z-index:10;border-radius:12px}.oq-nav{grid-template-columns:repeat(10,1fr)}.oq-title h1{font-size:24px}.oq-student-grid{grid-template-columns:1fr 1fr}.oq-student-grid label:first-child{grid-column:1/-1}}@media(max-width:560px){.oq-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding-left:10px;padding-right:10px}.oq-wrap{margin:15px 10px;width:calc(100% - 20px);max-width:100%;overflow-x:hidden}.oq-meta{gap:10px;flex-wrap:wrap}.oq-submit,.oq-start{width:100%}.oq-student-grid{grid-template-columns:1fr}}
.oq-unlock-result{margin-top:22px;padding:24px;border:1px solid #d8dee8;border-radius:12px;background:#fff;box-shadow:0 5px 22px rgba(25,39,67,.08)}.oq-unlock-title{font-size:21px;font-weight:700;margin-bottom:16px;color:#182743}.oq-unlock-instructions{line-height:1.7;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:18px;margin-bottom:18px}.oq-unlock-form-front{max-width:520px;display:grid;gap:10px}.oq-unlock-form-front label{font-size:14px}.oq-unlock-pass{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:12px;border:1px solid #cfd5df;border-radius:7px}.oq-unlock-btn{border:0;background:#20c45a;color:#fff;font-weight:700;border-radius:7px;padding:13px 20px;cursor:pointer}.oq-unlock-btn:disabled{opacity:.65}.oq-unlock-message{color:#c62828;font-size:14px;min-height:20px}.oq-unlocked{font-weight:700;color:#159447;margin-bottom:8px}

body.oq-modal-open{overflow:hidden}.oq-unlock-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.oq-unlock-overlay{position:absolute;inset:0;background:rgba(11,20,38,.72);backdrop-filter:blur(2px)}.oq-unlock-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:min(88vh,900px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 25px 80px rgba(0,0,0,.28);padding:28px}.oq-unlock-close{position:absolute;right:14px;top:10px;width:36px;height:36px;border:0;background:transparent;color:#667085;font-size:30px;line-height:1;cursor:pointer}.oq-unlock-dialog .oq-unlock-title{font-size:24px;font-weight:700;color:#182743;padding-right:35px;margin-bottom:8px}.oq-unlock-lead{margin:0 0 18px;color:#667085;line-height:1.6}.oq-unlock-dialog .oq-unlock-instructions{max-height:45vh;overflow:auto;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:18px;margin-bottom:18px;line-height:1.7}.oq-unlock-dialog .oq-unlock-form-front{max-width:none}.oq-unlock-dialog .oq-unlock-pass{font-size:18px;letter-spacing:.5px}.oq-unlock-dialog .oq-unlock-btn{width:100%;font-size:16px}.oq-unlock-dialog .oq-unlocked{text-align:center;font-size:20px;margin:15px 0;color:#159447}.oq-unlock-dialog .oq-score{text-align:center;font-size:32px;margin:12px 0}.oq-unlock-dialog p{text-align:center}.oq-unlock-result{display:none!important}@media(max-width:560px){.oq-unlock-modal{padding:10px}.oq-unlock-dialog{padding:22px 16px;border-radius:12px}.oq-unlock-dialog .oq-unlock-title{font-size:20px}.oq-unlock-dialog .oq-unlock-instructions{max-height:50vh}}
.oq-question-text img{max-width:100%;height:auto;display:block;margin:10px 0}.oq-question-text figure{max-width:100%;margin:10px 0}.oq-question-text table{max-width:100%;overflow:auto;display:block}

.oq-final-status{text-align:center;font-size:30px;font-weight:800;margin:12px 0}.oq-passed{color:#159447}.oq-failed{color:#d62828}.oq-pass-note{color:#667085!important;font-size:14px}.oq-unlock-dialog .oq-score strong{font-size:1.05em}

.oq-unlock-dialog,.oq-unlock-dialog *{box-sizing:border-box}.oq-unlock-dialog img{max-width:100%;height:auto}.oq-unlock-dialog iframe{max-width:100%;}.oq-unlock-instructions{overflow-wrap:anywhere;word-break:break-word;}

.oq-unlock-loading{text-align:center}.oq-loading-spinner{width:42px;height:42px;border:4px solid #e5e7eb;border-top-color:#20c45a;border-radius:50%;margin:18px auto;animation:oqspin .8s linear infinite}.oq-loading-note{color:#667085;font-size:14px}@keyframes oqspin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.oq-wrap{grid-template-columns:minmax(0,1fr);gap:18px}.oq-sidebar{position:sticky;bottom:10px;top:auto;max-width:100%}}

/* 3.0 hardening: prevent theme/page-builder CSS from forcing the question grid wider than its sidebar. */
.oq-wrap,.oq-wrap *{box-sizing:border-box;min-width:0;}
.oq-sidebar{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;}
.oq-nav{display:grid!important;width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;padding:0 12px 16px!important;overflow:hidden!important;}
.oq-nav button{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;height:38px!important;margin:0!important;padding:0!important;border-width:1px!important;box-sizing:border-box!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:clip!important;}
.oq-submit-side{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;margin-left:12px!important;margin-right:12px!important;box-sizing:border-box!important;}
.oq-unlock-modal-force{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;display:flex!important;visibility:visible!important;opacity:1!important;z-index:2147483647!important;pointer-events:auto!important;}
.oq-unlock-modal-force .oq-unlock-dialog{pointer-events:auto!important;}
.oq-unlock-modal-force .oq-unlock-overlay{pointer-events:auto!important;}
@media(max-width:560px){
 .oq-sidebar{width:100%!important;}
 .oq-nav{grid-template-columns:repeat(5,minmax(34px,1fr))!important;gap:6px!important;padding-left:10px!important;padding-right:10px!important;}
 .oq-nav button{height:36px!important;font-size:14px!important;}
 .oq-unlock-modal-force{padding:8px!important;}
 .oq-unlock-modal-force .oq-unlock-dialog{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;padding:20px 14px!important;}
}
