:root{
  --b:#083b8f;
  --b2:#061f55;
  --b3:#0b67d5;
  --a:#f7b500;
  --a2:#ffe08a;
  --g:#0c8a4b;
  --r:#c62828;
  --bg:#f4f8ff;
  --surface:#ffffff;
  --soft:#eef5ff;
  --t:#13233a;
  --m:#61738d;
  --bd:#d7e3f5;
  --shadow:0 18px 50px rgba(6,31,85,.12)
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--t);line-height:1.5}
button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:16px;padding:.85rem 1rem;font-weight:900}img{max-width:100%;display:block}.app-bg{position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 0 0,rgba(8,59,143,.17),transparent 360px),radial-gradient(circle at 100% 0,rgba(247,181,0,.18),transparent 300px),linear-gradient(135deg,#f7fbff,#eef5ff)}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--bd);padding:1rem clamp(1rem,4vw,3rem);display:flex;justify-content:space-between;gap:1rem;align-items:center}.brand{display:flex;gap:1rem;align-items:center}.brand-logo{width:68px;height:68px;border-radius:22px;box-shadow:0 12px 30px rgba(8,59,143,.18)}.brand h1{margin:.1rem 0;font-size:1.38rem;color:var(--b2)}.brand p,.brand small{margin:0;color:var(--m)}nav{display:flex;gap:.45rem;flex-wrap:wrap}nav button{background:white;color:var(--b);border:1px solid var(--bd)}main{width:min(1240px,calc(100% - 1.4rem));margin:auto;padding:1.3rem 0 3rem}.screen{display:none}.screen.active{display:block;animation:fade .25s ease}@keyframes fade{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.hero,.panel,.resultCard,.questionCard,.cards>div,.subjectCard,.noteCard,.analyticsBox,.tableWrap,.gradePanel,.subjectBankPanel,.majorBtn,.profileBox{background:var(--surface);border:1px solid var(--bd);border-radius:28px;box-shadow:var(--shadow)}.hero{padding:clamp(1.25rem,4vw,2.4rem);display:grid;grid-template-columns:1.15fr .85fr;gap:1.25rem;align-items:center;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:26rem;height:26rem;right:-8rem;top:-12rem;border-radius:50%;background:radial-gradient(circle,rgba(247,181,0,.22),transparent 65%)}.hero>*{position:relative;z-index:1}.hero h2{font-size:clamp(2rem,5vw,3.55rem);line-height:1.05;margin:.9rem 0;color:var(--b2)}.hero p{color:var(--m);font-size:1.08rem}.hero-visual-wrap{display:grid;place-items:center}.hero-visual{width:min(100%,460px);filter:drop-shadow(0 20px 34px rgba(6,31,85,.14))}.pill{display:inline-flex;background:linear-gradient(135deg,#eaf3ff,#fff4ce);color:var(--b);padding:.5rem .85rem;border-radius:999px;font-weight:900}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.primary{background:linear-gradient(135deg,var(--b3),var(--b2));color:white;box-shadow:0 12px 24px rgba(8,59,143,.22)}.secondary{background:linear-gradient(135deg,var(--a),var(--a2));color:#263238;box-shadow:0 10px 18px rgba(247,181,0,.18)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}.cards>div{padding:1rem}.cards b{display:block;color:var(--b2);font-size:1.05rem}.cards span{color:var(--m)}.profileBox{margin-top:1rem;padding:1rem;background:linear-gradient(180deg,#fff,#f7fbff)}.activationBox{margin-top:1rem}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;margin-bottom:.85rem}.compactGrid{margin-top:.8rem;margin-bottom:0}input,select{width:100%;border:1px solid var(--bd);border-radius:16px;padding:.92rem;background:#fbfdff;color:var(--t);outline:0}input:focus,select:focus{border-color:var(--b3);box-shadow:0 0 0 4px rgba(11,103,213,.08)}
.authShell{margin-top:1rem}.authTabs{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:.75rem}.tabBtn{background:#fff;color:var(--b);border:1px solid var(--bd)}.tabBtn.active{background:linear-gradient(135deg,var(--b3),var(--b2));color:#fff}.authPanel{display:none;padding:1.2rem}.authPanel.activeAuth{display:block}.authPanel p{color:var(--m)}
.title{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:1rem}.title h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1.1;color:var(--b2);margin:.5rem 0 .3rem}.title p{color:var(--m);margin:0}.slimTitle{align-items:center}.gradePanel{padding:1.1rem;margin-bottom:1rem}.gradePanel h3{margin:.2rem 0 1rem;color:var(--b2)}.gradeButtons{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}.gradeBtn{background:#fff;border:1px solid var(--bd);color:var(--b2);min-height:72px;text-align:center}.gradeBtn.activeGrade{background:linear-gradient(135deg,var(--b3),var(--b2));color:white}.majorParts{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.majorBtn{min-height:116px;text-align:left;padding:1.25rem;background:linear-gradient(135deg,#fff,#eef5ff);color:var(--b2);border:1px solid var(--bd)}.majorBtn span{display:block;font-size:1.35rem}.majorBtn b{display:block;color:var(--m);margin-top:.25rem}.majorBtn[data-category="professional"]{background:linear-gradient(135deg,#fff8de,#fff)}.majorBtn.activeMajor{outline:4px solid rgba(11,103,213,.13);border-color:var(--b3)}.majorBtn.activeMajor[data-category="professional"]{outline-color:rgba(247,181,0,.25);border-color:var(--a)}
.subjectBankPanel{padding:1.15rem}.subjectTools{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.1fr);gap:.75rem;width:min(100%,620px)}.subjectList{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.subjectCard{padding:1rem;text-align:left;min-height:112px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--bd)}.subjectCard:hover{border-color:var(--b3);transform:translateY(-1px)}.subjectCard b{display:block;color:var(--b2);font-size:1.04rem}.subjectCard small{color:var(--m)}.qCount{display:inline-flex;margin-top:.65rem;background:#eaf3ff;color:var(--b);border-radius:999px;padding:.35rem .65rem;font-weight:900;font-size:.85rem}.subjectCard.prof .qCount{background:#fff0bd;color:#8a6400}.subjectCard.directors .qCount{background:#e8f7ef;color:#0c7844}
.examTop{display:flex;justify-content:space-between;gap:1rem;align-items:center}.examTop h2{color:var(--b2)}#timer{font-size:2rem;background:linear-gradient(135deg,var(--b2),var(--b3));color:white;padding:.8rem 1.2rem;border-radius:18px}.examGrid{display:grid;grid-template-columns:280px 1fr;gap:1rem}#palette{background:white;border:1px solid var(--bd);border-radius:22px;padding:1rem;display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;align-self:start}.pal{background:#eef4ff;color:var(--b2)}.pal.ans{background:#dff7e8;color:#087a36}.pal.cur{background:var(--b);color:white}.questionCard{padding:1.4rem}.questionCard h3{font-size:1.35rem;color:var(--b2)}.opt{display:grid;grid-template-columns:auto 1fr;gap:.7rem;border:1px solid var(--bd);border-radius:16px;padding:1rem;margin:.7rem 0;background:#fbfdff;cursor:pointer}.opt input{width:auto;margin-top:.25rem}#scoreRing{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;margin:1rem auto;background:#edf4ff;color:var(--b2);font-size:2.2rem;font-weight:900;border:10px solid white;box-shadow:var(--shadow)}.resultCard{text-align:center;padding:1.5rem}#reviewPanel{display:grid;gap:1rem;margin-top:1rem}.review{background:white;border:1px solid var(--bd);border-left:6px solid var(--r);border-radius:16px;padding:1rem}.review.ok{border-left-color:var(--g)}.notesList{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.noteCard{padding:1rem}.noteCard p{color:var(--m)}.analyticsBox{padding:1rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat{padding:1rem;background:#f8fbff;border-radius:18px;border:1px solid var(--bd)}.stat b{display:block;font-size:1.4rem;color:var(--b2)}table{width:100%;border-collapse:collapse;background:white}th,td{padding:.8rem;border-bottom:1px solid var(--bd);text-align:left}.tableWrap{overflow:auto;margin-top:1rem}
@media(max-width:900px){.topbar{align-items:flex-start}.topbar,.hero,.examGrid{grid-template-columns:1fr;display:grid}.cards,.grid2,.analyticsBox,.majorParts{grid-template-columns:1fr}.title,.slimTitle{flex-direction:column;align-items:stretch}.subjectTools{grid-template-columns:1fr}.brand{align-items:flex-start}.brand-logo{width:58px;height:58px}}
@media print{.topbar,.actions,#reviewPanel:not(.print-visible),.authShell,.activationBox,.cards{display:none!important}main{width:100%;padding:0}.resultCard{box-shadow:none;border:0}}

/* Major dashboard/navigation modifications */
.publicNav button:not([data-screen="home"]){display:none!important}
.profileArea{margin-top:1rem}.sectionHead{margin:1rem 0}.sectionHead h2{font-size:clamp(1.65rem,3.2vw,2.6rem);line-height:1.1;color:var(--b2);margin:.55rem 0 .25rem}.sectionHead p{color:var(--m);margin:0}.guestProfile{padding:.8rem;border-radius:18px;background:#f8fbff;border:1px dashed var(--bd)}.profileGrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.registrationDetails,.dashboardActions{padding:1rem;border-radius:24px;background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid var(--bd)}.registrationDetails h3{font-size:1.45rem;color:var(--b2);margin:.7rem 0}.detailRows p{margin:.55rem 0;color:var(--t)}.dashboardActions{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.dashBtn{min-height:98px;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:.2rem;color:white!important;position:relative;overflow:hidden}.dashBtn span{font-size:.9rem;opacity:.92}.dashBtn b{font-size:1.15rem}.blueDash{background:linear-gradient(135deg,var(--b3),var(--b2))!important}.goldDash{background:linear-gradient(135deg,var(--a),#d38a00)!important;color:#222!important}.greenDash{background:linear-gradient(135deg,#0fb96b,#086b3d)!important}.redDash{background:linear-gradient(135deg,#e35151,#a81919)!important}.ribbonBtn,.ribbonMajor,.ribbonSubject,.ribbonPanel{position:relative;overflow:hidden}.ribbonBtn:before,.ribbonMajor:before,.ribbonSubject:before,.ribbonPanel:before{content:"";position:absolute;top:0;left:0;width:100%;height:7px;background:linear-gradient(90deg,var(--a),var(--b3),var(--b2))}.goldMajor:before{background:linear-gradient(90deg,var(--a),#ffefb0,#d99500)}.ribbon-pill{box-shadow:inset 0 -3px 0 rgba(247,181,0,.28)}.ribbonTab{border-bottom:5px solid var(--a)}.ribbonTag{display:inline-flex;width:max-content;background:rgba(255,255,255,.78);color:var(--b);border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:.22rem .55rem;font-size:.74rem;font-weight:900;margin-bottom:.5rem}.gradeBtn .ribbonTag{display:block;margin:0 auto .4rem}.gradeBtn.activeGrade .ribbonTag{color:#fff;background:rgba(255,255,255,.18)}.subjectCard.general:before{background:linear-gradient(90deg,var(--b3),var(--b2))}.subjectCard.prof:before{background:linear-gradient(90deg,var(--a),#d99500)}.subjectCard.directors:before{background:linear-gradient(90deg,#0fb96b,#086b3d)}.subjectCard{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.subjectCard:hover{box-shadow:0 20px 40px rgba(6,31,85,.14)}.subjectCard.prof{background:linear-gradient(180deg,#fff,#fff7dc)}.subjectCard.directors{background:linear-gradient(180deg,#fff,#eafaf2)}.majorBtn span{font-weight:900}.authShell.loggedHidden{display:none}.loggedIn .authShell{display:none}.loggedIn .guestActions{display:none}.loggedIn .activationBox{display:block}.dashboardOnly{scroll-margin-top:100px}
@media(max-width:900px){.profileGrid,.dashboardActions{grid-template-columns:1fr}}


/* Exam Mode Patch */
.greenMajor{background:linear-gradient(135deg,#0c8a4b,#075b34)!important;color:#fff}
.realExamPanel{margin-top:1rem}
.realExamGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}
.checkList{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.65rem;max-height:380px;overflow:auto;padding:.4rem}
.checkItem{display:flex;gap:.55rem;align-items:flex-start;border:1px solid var(--bd);border-radius:16px;padding:.75rem;background:#fff}
.checkItem input{width:auto;margin-top:.25rem}.checkItem span{font-weight:800;color:var(--b2)}.checkItem b{display:block;color:var(--m);font-size:.82rem}
.fullBtn{width:100%;margin-top:.8rem}
.examGrid{grid-template-columns:270px 1fr}.examGrid aside{max-height:650px;overflow:auto}
#palette{display:grid;grid-template-columns:repeat(5,1fr);gap:.45rem;align-content:start}
.pal{min-height:42px;border-radius:12px;background:#fff;border:1px solid var(--bd);color:var(--b2)}
.pal.ans{background:#e8fff3;border-color:#0c8a4b;color:#0c8a4b}.pal.cur{background:linear-gradient(135deg,var(--b3),var(--b2));color:#fff}
.advisoryBox{margin:1rem auto;text-align:left;background:#f7fbff;border:1px solid var(--bd);border-radius:20px;padding:1rem}
.advisoryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}.advisoryMini{background:#fff;border:1px solid var(--bd);border-radius:16px;padding:.7rem}.advisoryMini b{display:block;color:var(--b2)}.advisoryMini span{color:var(--m)}
.reviewPager{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:1rem 0;padding:1rem;background:#fff;border:1px solid var(--bd);border-radius:18px}
.reviewOptionsWeb{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.7rem 0}.reviewOptionsWeb p{background:#f7fbff;border-radius:12px;padding:.55rem;margin:0}
@media(max-width:900px){.realExamGrid,.examGrid{grid-template-columns:1fr}.reviewOptionsWeb{grid-template-columns:1fr}}


/* Header + Subject Mode Premium Refinement Patch */
.topbar{background:linear-gradient(135deg,#041837 0%,#082B65 55%,#0B57D0 100%);border:1px solid rgba(247,181,0,.22);box-shadow:0 18px 40px rgba(6,31,85,.18)}
.topbar:before{background:linear-gradient(90deg,#7a3dd0,#f7b500,#0b57d0)}
.brand{align-items:center;gap:1rem}
.brand-logo-shell{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#0f3a82,#041837 70%);border:3px solid rgba(247,181,0,.82);box-shadow:0 12px 28px rgba(0,0,0,.26), inset 0 0 0 2px rgba(255,255,255,.08);overflow:hidden;flex:0 0 78px}
.brand-logo{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.brand-copy small{color:#D5E5FF}
.brand-copy h1{color:#FFFFFF;text-shadow:0 2px 10px rgba(0,0,0,.16)}
.brand-copy p{color:#FFE39A}
.publicNav button{background:rgba(255,255,255,.08);color:#FFFFFF;border:1px solid rgba(255,255,255,.22);box-shadow:none}
.publicNav button:hover{background:rgba(255,255,255,.18)}

.majorParts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:stretch}
.majorBtn{min-height:88px;padding:1rem 1.05rem;border-radius:24px}
.majorBtn span{font-size:1.15rem;line-height:1.15;font-weight:900}
.majorBtn b{font-size:.95rem;line-height:1.2;margin-top:.4rem;font-weight:800}
.majorBtn[data-category="professional"]{background:linear-gradient(135deg,#fff5d6,#fffdf6)}
.majorBtn[data-category="real"] b{color:#D6F5E6}

/* keep mode banners on one line where possible */
@media(min-width:901px){
  .majorParts{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:1200px){
  .majorBtn span{font-size:1.02rem}
  .majorBtn b{font-size:.88rem}
}
@media(max-width:900px){
  .topbar{display:grid;grid-template-columns:1fr;gap:1rem}
  .brand-logo-shell{width:70px;height:70px;flex-basis:70px}
  .majorParts{grid-template-columns:1fr}
}


/* GO WORLD SMART CBT UI Polish Patch v2 */
.topbar{padding:1rem 1.35rem;align-items:center}
.brand{gap:1.1rem;min-width:0}
.brand-copy{min-width:0}
.brand-copy small{display:block;font-size:1rem;font-weight:600;letter-spacing:.01em}
.brand-copy h1{font-size:2.05rem;line-height:1.08;margin:.18rem 0 .28rem}
.brand-copy p{font-size:1rem;font-weight:700;line-height:1.28}

/* Improve circular logo visibility and sharpness */
.brand-logo-shell{
  width:96px;
  height:96px;
  flex:0 0 96px;
  padding:8px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #0F3F8E 0%, #082B65 42%, #03122E 100%);
  border:3px solid rgba(247,181,0,.92);
  box-shadow:0 16px 34px rgba(0,0,0,.28), inset 0 0 0 2px rgba(255,255,255,.08);
  overflow:hidden;
  position:relative;
}
.brand-logo-shell:before{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:50%;
  border:1.4px solid rgba(255,255,255,.16);
  pointer-events:none;
}
.brand-logo{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:50%;
  display:block;
  image-rendering:auto;
  filter:contrast(1.07) saturate(1.1) brightness(1.02);
  transform:translateZ(0);
}

/* Tighten and polish mode banners */
.majorParts{gap:.7rem;grid-template-columns:repeat(3,minmax(230px,1fr))}
.majorBtn{
  min-height:76px;
  padding:.88rem 1rem;
  justify-content:center;
  box-shadow:0 10px 24px rgba(4,24,55,.09);
}
.majorBtn span{font-size:1.04rem;line-height:1.18}
.majorBtn b{font-size:.89rem;line-height:1.15;margin-top:.28rem}
.majorBtn:hover{transform:translateY(-2px);box-shadow:0 16px 26px rgba(4,24,55,.14)}
.majorBtn.activeMajor{box-shadow:0 18px 30px rgba(11,87,208,.16)}

.publicNav button{padding:.85rem 1.15rem;border-radius:18px;font-weight:800}
.publicNav button:hover{transform:translateY(-1px)}

@media(max-width:1200px){
  .brand-copy h1{font-size:1.75rem}
  .brand-copy p{font-size:.95rem}
  .majorParts{grid-template-columns:repeat(3,minmax(180px,1fr))}
  .majorBtn span{font-size:.95rem}
  .majorBtn b{font-size:.82rem}
}
@media(max-width:900px){
  .topbar{padding:1rem}
  .brand{align-items:flex-start}
  .brand-logo-shell{width:88px;height:88px;flex-basis:88px}
  .brand-copy h1{font-size:1.5rem}
  .brand-copy p{font-size:.9rem}
  .majorParts{grid-template-columns:1fr}
  .majorBtn{min-height:82px}
}


/* GO WORLD SMART CBT Premium Polish v3
   Focus: sharper circular header logo, premium dashboard/exam/result styling. */

.topbar{
  padding:.88rem 1.35rem;
  min-height:106px;
  background:
    linear-gradient(135deg,rgba(4,24,55,.98) 0%,rgba(8,43,101,.98) 45%,rgba(11,87,208,.97) 100%),
    radial-gradient(circle at 90% 0%,rgba(247,181,0,.20),transparent 300px);
  border-bottom:2px solid rgba(247,181,0,.46);
}
.topbar:before{
  height:5px;
  background:linear-gradient(90deg,#7A3DD0,#F7B500,#0B57D0,#FFE39A);
}
.brand-logo-shell{
  width:100px!important;
  height:100px!important;
  flex:0 0 100px!important;
  padding:4px!important;
  background:radial-gradient(circle at 35% 30%,#0B57D0 0%,#082B65 46%,#041837 100%);
  border:3.5px solid #F7B500;
  border-radius:50%;
  box-shadow:0 18px 38px rgba(0,0,0,.30),0 0 0 5px rgba(255,255,255,.06),inset 0 0 0 2px rgba(255,255,255,.10);
  overflow:hidden;
}
.brand-logo{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:50%!important;
  filter:contrast(1.12) saturate(1.16) brightness(1.04);
}
.brand-copy small{
  color:#DCEBFF;
  font-weight:800;
}
.brand-copy h1{
  color:#FFFFFF;
  font-size:2.08rem;
  letter-spacing:-.03em;
}
.brand-copy p{
  color:#FFE39A;
  font-weight:900;
}
.publicNav button{
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
}

/* Premium page cards */
.hero,.profileBox,.panel,.resultCard,.questionCard,.subjectBankPanel,.gradePanel{
  border-color:#CFE0F8;
  box-shadow:0 22px 60px rgba(4,24,55,.12);
}
.profileBox{
  background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFF 100%);
}
.registrationDetails,.dashboardActions{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);
}
.dashBtn{
  border-radius:20px;
  box-shadow:0 14px 24px rgba(4,24,55,.10);
}
.dashBtn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(4,24,55,.16);
}

/* Subject mode refinement */
.majorParts{
  grid-template-columns:1fr 1.25fr 1fr!important;
  gap:.7rem;
  align-items:stretch;
}
.majorBtn{
  min-height:74px!important;
  padding:.8rem .95rem!important;
  border-radius:22px!important;
}
.majorBtn span{
  font-size:clamp(.84rem,1.15vw,1.02rem)!important;
  line-height:1.12!important;
  white-space:normal;
}
.majorBtn b{
  font-size:clamp(.76rem,.95vw,.88rem)!important;
  line-height:1.15!important;
}
.majorBtn[data-category="real"] span{
  color:#fff!important;
}
.majorBtn[data-category="real"] b{
  color:#CFF7E2!important;
}

/* Exam environment polish */
.examTop{
  max-width:980px;
  margin:0 auto 1rem;
}
.examTop h2{
  font-size:1.35rem;
  line-height:1.25;
}
#timer{
  min-width:112px;
  text-align:center;
  background:linear-gradient(135deg,#0B57D0,#082B65);
  box-shadow:0 14px 26px rgba(11,87,208,.22);
}
.examGrid{
  max-width:980px;
  margin:0 auto;
  grid-template-columns:210px 1fr!important;
}
#palette{
  border-radius:20px;
  padding:.85rem;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 42px rgba(4,24,55,.10);
}
.pal{
  border-radius:12px;
  font-weight:900;
}
.questionCard{
  border-radius:24px;
  padding:1.25rem 1.35rem;
}
.questionCard h3{
  font-size:1.2rem;
  line-height:1.45;
}
.opt{
  transition:.18s ease;
  background:#FBFDFF;
}
.opt:hover{
  border-color:#0B57D0;
  background:#F1F7FF;
  transform:translateY(-1px);
}
.opt:has(input:checked){
  border-color:#0B57D0;
  background:#EAF3FF;
  box-shadow:0 0 0 3px rgba(11,87,208,.10);
}
.questionCard .actions{
  margin-top:.85rem;
}
.questionCard .actions button{
  border-radius:14px;
  min-width:86px;
}

/* Result and review polish */
.resultCard{
  max-width:980px;
  margin:0 auto 1rem;
  padding:1.35rem;
  border-radius:26px;
}
#scoreRing{
  width:130px;
  height:130px;
  font-size:1.9rem;
  margin:.5rem auto 1rem;
  box-shadow:0 18px 34px rgba(4,24,55,.13);
}
.advisoryBox{
  background:linear-gradient(180deg,#F8FBFF,#FFFFFF);
  border-radius:20px;
}
.reviewPager{
  max-width:980px;
  margin:1rem auto;
  box-shadow:0 12px 32px rgba(4,24,55,.08);
}
.review{
  max-width:980px;
  margin:0 auto;
  box-shadow:0 12px 32px rgba(4,24,55,.06);
}

/* Mobile polish */
@media(max-width:900px){
  .topbar{
    min-height:auto;
    padding:.9rem;
  }
  .brand{
    gap:.8rem;
  }
  .brand-logo-shell{
    width:84px!important;
    height:84px!important;
    flex-basis:84px!important;
  }
  .brand-copy h1{
    font-size:1.42rem;
  }
  .brand-copy p{
    font-size:.84rem;
  }
  .majorParts{
    grid-template-columns:1fr!important;
  }
  .examGrid{
    grid-template-columns:1fr!important;
  }
}


/* Result Summary + Certificate Refinement Patch */
.resultSummaryTableWrap{overflow:auto;margin:1rem auto;max-width:100%}
.resultSummaryTable{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #d7e4f6;border-radius:18px;overflow:hidden;box-shadow:0 12px 32px rgba(4,24,55,.08)}
.resultSummaryTable th{background:linear-gradient(135deg,#082B65,#0B57D0);color:#fff;font-size:.82rem;padding:.85rem .55rem;text-align:center;white-space:nowrap}
.resultSummaryTable td{font-weight:900;color:#082B65;font-size:1rem;padding:.9rem .55rem;text-align:center;border-bottom:0}
.timeCompleteBox{display:inline-flex;align-items:center;gap:.4rem;background:#fff7dc;border:1px solid #F7B500;border-radius:999px;padding:.7rem 1rem;margin:.25rem auto .6rem;color:#7a5200;font-weight:800}
.mentorLine{max-width:900px;margin:.6rem auto 0;color:#102549}
.brand-logo-shell{border-radius:50%!important;overflow:hidden!important}
.brand-logo{border-radius:50%!important;object-fit:contain!important;background:transparent!important}
@media(max-width:900px){
  .resultSummaryTable th,.resultSummaryTable td{font-size:.74rem;padding:.7rem .45rem}
}


/* ===== GO WORLD SMART CBT License + Payment + Exam Visibility Upgrade ===== */

/* Admin header readability fix */
.topbar,
body .topbar{
  color:#fff !important;
}
.topbar .brand h1,
.topbar .brand p,
.topbar .brand small,
.topbar .brand-copy h1,
.topbar .brand-copy p,
.topbar .brand-copy small{
  color:#fff !important;
  text-shadow:0 2px 8px rgba(0,0,0,.25);
}
.topbar .brand p,
.topbar .brand-copy p{
  color:#FFE39A !important;
}
.topbar nav a button,
.topbar nav button{
  background:#ffffff !important;
  color:#082B65 !important;
  border:1px solid rgba(255,255,255,.65) !important;
  font-weight:900 !important;
}
.topbar nav a button:hover,
.topbar nav button:hover{
  background:#FFE39A !important;
  color:#041837 !important;
}

/* License expiry counter */
.licenseCounter{
  margin-top:1rem;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.7rem;
}
.licenseCounter>div{
  border-radius:18px;
  padding:.85rem;
  border:1px solid var(--bd);
  background:#fff;
}
.licenseCounter span{
  display:block;
  color:var(--m);
  font-size:.78rem;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.04em;
}
.licenseCounter b{
  display:block;
  color:var(--b2);
  font-size:1rem;
  margin-top:.25rem;
}
.licenseGood{border-left:7px solid var(--g)}
.licenseWarn{border-left:7px solid #f7b500}
.licenseBad{border-left:7px solid var(--r)}
.licenseReminder{
  margin-top:.85rem;
  background:#fff7dc;
  border:1px solid #f7d36b;
  color:#6b4a00;
  padding:.85rem;
  border-radius:18px;
  font-weight:800;
}
.purpleDash{
  background:linear-gradient(135deg,#6129c9,#0B57D0)!important;
  color:#fff!important;
}

/* Payment plan modal */
.payModalOverlay{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(4,24,55,.66);
  display:grid;
  place-items:center;
  padding:1rem;
}
.payModal{
  width:min(980px,100%);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border-radius:30px;
  padding:1.3rem;
  box-shadow:0 28px 90px rgba(0,0,0,.35);
  position:relative;
}
.payModal h2{
  margin:.6rem 0 .2rem;
  color:var(--b2);
  font-size:clamp(1.5rem,3vw,2.4rem);
}
.payClose{
  position:absolute;
  top:.8rem;
  right:.8rem;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#fff0ef;
  color:#a81919;
  font-weight:900;
  font-size:1.4rem;
}
.planGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.8rem;
  margin:1rem 0;
}
.planCard{
  display:block;
  border:2px solid var(--bd);
  border-radius:22px;
  padding:1rem;
  background:linear-gradient(180deg,#fff,#f7fbff);
  cursor:pointer;
  position:relative;
}
.planCard input{
  width:auto;
  margin-right:.4rem;
}
.planCard b{
  display:block;
  color:var(--b2);
  font-size:1.05rem;
}
.planCard strong{
  display:block;
  color:#087a36;
  font-size:1.55rem;
  margin:.25rem 0;
}
.planCard span{
  display:block;
  color:var(--m);
  font-weight:700;
}
.planCard em{
  display:inline-flex;
  margin-top:.5rem;
  background:#fff7dc;
  color:#7a5200;
  border:1px solid #f7d36b;
  border-radius:999px;
  padding:.25rem .55rem;
  font-style:normal;
  font-weight:900;
}
.planCard:has(input:checked){
  border-color:var(--b3);
  box-shadow:0 0 0 4px rgba(11,103,213,.10);
}
.featuredPlan:before{
  content:"SAVE ₦10,000";
  position:absolute;
  top:-.65rem;
  right:.8rem;
  background:linear-gradient(135deg,#f7b500,#ffe08a);
  color:#041837;
  font-weight:900;
  padding:.25rem .55rem;
  border-radius:999px;
  font-size:.75rem;
}
.billingBox{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.8rem;
  margin:1rem 0;
}
.billingBox label{
  border:1px solid var(--bd);
  border-radius:20px;
  padding:1rem;
  display:block;
  cursor:pointer;
  background:#fbfdff;
}
.billingBox input{width:auto}
.billingBox span{
  display:block;
  color:var(--m);
  margin-left:1.5rem;
}

/* Exam timer alerts and bigger exam view */
#timer{
  min-width:190px;
  text-align:center;
  font-size:2.35rem !important;
  letter-spacing:.02em;
}
#timer.timerWarn{
  background:linear-gradient(135deg,#f7b500,#ffe08a)!important;
  color:#2b2100!important;
  animation:pulseTimer 1s infinite alternate;
}
#timer.timerDanger{
  background:linear-gradient(135deg,#c62828,#ff5d5d)!important;
  color:#fff!important;
  animation:pulseTimer .55s infinite alternate;
}
@keyframes pulseTimer{
  from{transform:scale(1);box-shadow:0 0 0 rgba(0,0,0,0)}
  to{transform:scale(1.035);box-shadow:0 12px 28px rgba(198,40,40,.22)}
}
.examTop h2{
  font-size:clamp(1.65rem,3vw,2.4rem)!important;
}
.questionCard{
  padding:clamp(1.4rem,3vw,2.3rem)!important;
}
.questionCard h3{
  font-size:clamp(1.95rem,3.2vw,2.7rem)!important;
  line-height:1.25!important;
}
.opt{
  font-size:clamp(1.35rem,2.2vw,1.75rem)!important;
  padding:1.25rem 1.35rem!important;
  line-height:1.35!important;
}
.opt span b{
  font-size:1.1em;
}
.pal{
  font-size:1.05rem!important;
  font-weight:900!important;
  min-height:44px;
}

@media(max-width:900px){
  .licenseCounter,.planGrid,.billingBox{grid-template-columns:1fr}
  #timer{font-size:1.85rem!important;min-width:150px}
}


/* ===== Exam Portal Balanced Font Hotfix =====
   Purpose: Reduce the previous oversized exam display to just a little above the old size.
   Also compact the 70 question number buttons so all can fit neatly. */

.examTop{
  gap:.75rem !important;
  align-items:center !important;
}
.examTop h2,
#examTitle{
  font-size:clamp(1.18rem, 1.8vw, 1.55rem) !important;
  line-height:1.25 !important;
}
#timer{
  min-width:135px !important;
  font-size:clamp(1.2rem, 2vw, 1.55rem) !important;
  padding:.55rem .8rem !important;
  border-radius:16px !important;
  letter-spacing:.01em !important;
}
.questionCard{
  padding:clamp(1rem, 1.7vw, 1.35rem) !important;
  border-radius:24px !important;
}
.questionCard h3{
  font-size:clamp(1.18rem, 2vw, 1.52rem) !important;
  line-height:1.36 !important;
  margin-bottom:.9rem !important;
}
.opt{
  font-size:clamp(1.02rem, 1.45vw, 1.18rem) !important;
  padding:.85rem 1rem !important;
  line-height:1.34 !important;
  border-radius:18px !important;
  min-height:auto !important;
}
.opt span b{
  font-size:1.02em !important;
}
.options,
#options{
  gap:.65rem !important;
}

/* 70-button question palette compact layout */
.palette,
#palette,
.qPalette,
.questionPalette{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(42px, 1fr)) !important;
  gap:.42rem !important;
  align-items:center !important;
}
.pal{
  font-size:.95rem !important;
  font-weight:900 !important;
  min-height:38px !important;
  height:38px !important;
  padding:.35rem .2rem !important;
  border-radius:12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  text-align:center !important;
}
.pal.answered,
.pal.active,
.pal.current{
  font-weight:900 !important;
}

/* Keep timer alerts, but in a calmer size */
#timer.timerWarn{
  background:linear-gradient(135deg,#f7b500,#ffe08a)!important;
  color:#2b2100!important;
}
#timer.timerDanger{
  background:linear-gradient(135deg,#c62828,#ff5d5d)!important;
  color:#fff!important;
}

@media(max-width:900px){
  .palette,
  #palette,
  .qPalette,
  .questionPalette{
    grid-template-columns:repeat(auto-fill, minmax(36px, 1fr)) !important;
    gap:.34rem !important;
  }
  .pal{
    min-height:34px !important;
    height:34px !important;
    font-size:.85rem !important;
    border-radius:10px !important;
  }
  #timer{
    min-width:118px !important;
    font-size:1.18rem !important;
  }
}


/* ===== Post Exam Restore + Result Action Button Fix ===== */

.resultSummaryTableWrap{
  width:100%;
  overflow-x:auto;
  margin:1rem 0;
}
.resultSummaryTable{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid #d7e4f6;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(4,24,55,.08);
}
.resultSummaryTable th{
  background:linear-gradient(135deg,#082B65,#0B57D0);
  color:#fff;
  padding:.85rem;
  font-weight:900;
  font-size:.95rem;
}
.resultSummaryTable td{
  padding:.9rem;
  text-align:center;
  font-weight:900;
  color:#082B65;
  border-bottom:1px solid #e8eef8;
}
.scoreCorrect{color:#087a36!important}
.scoreWrong{color:#a81919!important}
.timeCompleteBox{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:#f7fbff;
  border:1px solid #d7e4f6;
  border-radius:999px;
  padding:.65rem 1rem;
  margin:.6rem 0;
  color:#082B65;
  font-weight:800;
}
.mentorLine{
  background:#fffaf0;
  border-left:6px solid #f7b500;
  padding:.85rem 1rem;
  border-radius:14px;
}
.renewNextNotice{
  background:#e9fff3;
  border:1px solid #9de6bf;
  color:#087a36;
  padding:.85rem 1rem;
  border-radius:16px;
  font-weight:800;
}
.activateNotice{
  background:#fff0ef;
  border:1px solid #f0b4b0;
  color:#a81919;
  padding:.85rem 1rem;
  border-radius:16px;
  font-weight:800;
}
.renewBtn{
  background:linear-gradient(135deg,#087a36,#11a162)!important;
  color:#fff!important;
}
.renewBtn small{
  display:block;
  font-size:.72rem;
  line-height:1.2;
  opacity:.95;
  margin-top:.15rem;
}
.activateNowBtn{
  background:linear-gradient(135deg,#082B65,#0B57D0)!important;
  color:#fff!important;
}

/* Review Answers web cards restored to match PDF review style */
.reviewHeaderCard{
  margin:1rem 0;
  padding:1rem;
  background:linear-gradient(135deg,#f7fbff,#fff);
  border:1px solid #d7e4f6;
  border-radius:18px;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  color:#082B65;
}
.reviewPager{
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
  margin:1rem 0;
  background:#fff;
  border:1px solid #d7e4f6;
  border-radius:18px;
  padding:.8rem;
}
.reviewPager b{margin-right:auto;color:#082B65}
.reviewCardWeb{
  background:#fff;
  border:1px solid #d7e4f6;
  border-radius:22px;
  overflow:hidden;
  margin:1rem 0;
  box-shadow:0 10px 24px rgba(4,24,55,.08);
}
.reviewRibbonWeb{
  background:linear-gradient(135deg,#082B65,#0B57D0);
  color:#fff;
  padding:.85rem 1rem;
  font-weight:900;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
}
.reviewStatus{
  border-radius:999px;
  padding:.3rem .7rem;
  font-size:.82rem;
  background:#fff;
  color:#082B65;
}
.reviewStatus.correct{color:#087a36}
.reviewStatus.wrong{color:#a81919}
.reviewStatus.unanswered{color:#a56a00}
.reviewContentWeb{padding:1rem}
.reviewQuestionText{
  font-size:1.08rem;
  line-height:1.45;
  font-weight:800;
  color:#041837;
}
.reviewOptionsWebGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.7rem;
  margin:1rem 0;
}
.reviewOptBox{
  border:1px solid #d7e4f6;
  background:#f7fbff;
  border-radius:16px;
  padding:.8rem;
  color:#041837;
}
.reviewOptBox.correctOption{
  background:#e9fff3;
  border-color:#74d69f;
}
.reviewOptBox.wrongOption{
  background:#fff0ef;
  border-color:#f0b4b0;
}
.mark{
  display:inline-flex;
  border-radius:999px;
  padding:.18rem .48rem;
  font-size:.78rem;
  font-weight:900;
  margin-left:.3rem;
}
.mark.correct{background:#087a36;color:#fff}
.mark.wrong{background:#a81919;color:#fff}
.answerGridWeb{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.7rem;
  margin:1rem 0;
}
.answerBoxWeb{
  border:1px solid #d7e4f6;
  border-radius:16px;
  padding:.8rem;
  background:#fff;
}
.answerBoxWeb span:first-child{
  display:block;
  color:#61738d;
  font-weight:900;
  text-transform:uppercase;
  font-size:.75rem;
  margin-bottom:.25rem;
}
.answerBoxWeb.correct{border-color:#74d69f;background:#f0fff6}
.answerBoxWeb.wrong{border-color:#f0b4b0;background:#fff6f5}
.answerBoxWeb.unanswered{border-color:#f0cf84;background:#fffaf0}
.scoreUnanswered{color:#9a6800!important}
.explanationWeb{
  background:#fffaf0;
  border-left:5px solid #f7b500;
  border-radius:12px;
  padding:.85rem;
}

/* Separate Submit Exam button from navigation buttons */
.questionCard .actions{
  display:flex!important;
  align-items:center!important;
  gap:.65rem!important;
  flex-wrap:wrap!important;
  width:100%!important;
  margin-top:1rem!important;
}
#submitExam{
  margin-left:auto!important;
  background:linear-gradient(135deg,#a81919,#e53935)!important;
  color:#fff!important;
  min-width:150px!important;
  box-shadow:0 10px 22px rgba(168,25,25,.18)!important;
}
#prevQ,#nextQ{
  min-width:110px!important;
}

@media(max-width:760px){
  .reviewOptionsWebGrid,.answerGridWeb{grid-template-columns:1fr}
  #submitExam{
    margin-left:0!important;
    width:100%!important;
  }
  #prevQ,#nextQ{
    flex:1 1 45%!important;
  }
}


/* ===== Submit Exam Safe Click Hotfix ===== */
#submitExam:disabled,
#submitExam.submittingExam{
  opacity:.72!important;
  cursor:not-allowed!important;
  filter:grayscale(.15)!important;
}
#submitExam.submittingExam{
  background:linear-gradient(135deg,#5f6878,#9aa4b2)!important;
  color:#fff!important;
}


/* ===== Certificate / Review Modal / Digital Counter Adjustment ===== */

.digitalLicenseButton{
  min-width:0!important;
  padding:.45rem .7rem!important;
  background:#041837!important;
  color:#fff!important;
  cursor:default!important;
  box-shadow:none!important;
  border:1px solid rgba(247,181,0,.45)!important;
}
.digitalLicenseButton:disabled{
  opacity:1!important;
  filter:none!important;
}
.digitalLicenseCounter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:"Courier New",monospace;
  font-size:.9rem;
  line-height:1;
  letter-spacing:.02em;
  color:#fff;
  background:linear-gradient(135deg,#041837,#082B65);
  border:1px solid rgba(247,181,0,.5);
  border-radius:999px;
  padding:.48rem .72rem;
  white-space:nowrap;
}
.resultDigitalCounter{
  margin:.75rem 0;
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
  background:#eef7ff;
  border:1px solid #cfe2ff;
  border-left:6px solid #0B57D0;
  border-radius:16px;
  padding:.75rem .9rem;
}
.resultDigitalCounter>span:first-child{
  color:#082B65;
  font-weight:900;
  text-transform:uppercase;
  font-size:.8rem;
}

/* Review popup instead of below-summary display */
#reviewPanel{
  display:none!important;
}
.reviewModalOverlay{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(4,24,55,.72);
  backdrop-filter:blur(5px);
  padding:22px;
  overflow:auto;
}
.reviewModal{
  width:min(1120px,96vw);
  margin:0 auto;
  background:#fff;
  border-radius:26px;
  box-shadow:0 26px 80px rgba(0,0,0,.32);
  border:1px solid #d7e4f6;
  overflow:hidden;
}
.reviewModalTop{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  background:linear-gradient(135deg,#041837,#082B65 55%,#0B57D0);
  color:#fff;
  padding:1rem 1.2rem;
}
.reviewModalTop h2{
  margin:.25rem 0;
  color:#fff;
}
.reviewModalTop p{
  margin:.2rem 0 0;
  color:#eaf3ff;
}
.reviewModalClose{
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:1.55rem;
  line-height:1;
  cursor:pointer;
  font-weight:900;
}
.reviewModalBody{
  padding:0 1rem 1rem;
}
.reviewModal .reviewPager{
  margin:0;
  border-radius:0;
  border-left:0;
  border-right:0;
}

@media(max-width:760px){
  .reviewModalOverlay{padding:10px}
  .reviewModal{width:100%;border-radius:18px}
  .digitalLicenseCounter{font-size:.78rem;white-space:normal;text-align:center;line-height:1.25}
}


/* ===== GO WORLD SMART CBT Admin Header/Nav Polish ===== */

.adminTopbar,
.topbar.adminTopbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:1rem!important;
  padding:.75rem 1rem!important;
  min-height:auto!important;
  flex-wrap:nowrap!important;
  overflow:visible!important;
}

.adminBrand,
.topbar .adminBrand,
.adminTopbar .brand{
  display:flex!important;
  align-items:center!important;
  gap:.65rem!important;
  min-width:235px!important;
  max-width:340px!important;
  flex:0 0 auto!important;
  overflow:visible!important;
}

.adminLogo,
.adminTopbar .logo{
  flex:0 0 46px!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.92rem!important;
  font-weight:900!important;
  line-height:1!important;
  overflow:hidden!important;
}

.adminTitleBlock,
.adminTopbar .brand > div:not(.logo):not(.adminLogo){
  min-width:0!important;
  overflow:hidden!important;
}

.adminTopbar h1,
.adminTopbar .brand h1{
  font-size:clamp(.95rem,1.25vw,1.16rem)!important;
  line-height:1.12!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.adminTopbar p,
.adminTopbar .brand p{
  font-size:.72rem!important;
  line-height:1.1!important;
  margin:.15rem 0 0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  opacity:.88!important;
}

.adminNav,
.adminTopbar nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:.38rem!important;
  flex:1 1 auto!important;
  min-width:0!important;
  flex-wrap:wrap!important;
  padding:.15rem 0!important;
}

.adminNav a,
.adminTopbar nav a,
.adminNavBtn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:.48rem .68rem!important;
  border-radius:12px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  font-size:.78rem!important;
  font-weight:850!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  margin:0!important;
}

.adminNav a:hover,
.adminTopbar nav a:hover,
.adminNavBtn:hover{
  background:rgba(255,255,255,.20)!important;
  transform:translateY(-1px)!important;
}

.adminNav a.active,
.adminTopbar nav a.active,
.adminNavBtn.active{
  background:linear-gradient(135deg,#f7b500,#ffe08a)!important;
  color:#2b2100!important;
  border-color:rgba(247,181,0,.65)!important;
}

.adminNav a[href*="logout"],
.adminTopbar nav a[href*="logout"],
.adminNavBtn.dangerNav{
  background:rgba(168,25,25,.90)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.20)!important;
}

.adminNav a[href*="payment_management.php"]{
  background:rgba(247,181,0,.18)!important;
  border-color:rgba(247,181,0,.38)!important;
}

.adminNav a[href*="payment_management.php"].active{
  background:linear-gradient(135deg,#f7b500,#ffe08a)!important;
  color:#2b2100!important;
}

@media(max-width:980px){
  .adminTopbar,
  .topbar.adminTopbar{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:.65rem!important;
  }
  .adminBrand,
  .adminTopbar .brand{
    max-width:none!important;
    width:100%!important;
    min-width:0!important;
  }
  .adminNav,
  .adminTopbar nav{
    justify-content:flex-start!important;
    width:100%!important;
  }
}

@media(max-width:620px){
  .adminNav a,
  .adminTopbar nav a,
  .adminNavBtn{
    flex:1 1 calc(50% - .4rem)!important;
    font-size:.74rem!important;
    padding:.5rem .45rem!important;
  }
  .adminLogo,
  .adminTopbar .logo{
    flex-basis:42px!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }
}


/* ===== Candidate Dashboard Product Ads Patch =====
   Replaces public-facing Coupon/Manual Activation distraction with GO World product adverts.
   Backend coupon/manual activation APIs are untouched. */

.activationBox{
  display:none!important;
}

.goProductsBox{
  margin-top:1rem!important;
  background:linear-gradient(135deg,#041837,#082B65 55%,#0B57D0)!important;
  color:#fff!important;
  border:1px solid rgba(247,181,0,.35)!important;
  box-shadow:0 18px 45px rgba(4,24,55,.18)!important;
  overflow:hidden!important;
  position:relative!important;
}

.goProductsBox:before{
  content:"";
  position:absolute;
  right:-70px;
  top:-80px;
  width:210px;
  height:210px;
  background:radial-gradient(circle,rgba(247,181,0,.34),rgba(247,181,0,0) 65%);
  pointer-events:none;
}

.goProductsHead{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  position:relative;
  z-index:1;
}

.goProductsHead h3{
  margin:.35rem 0 .25rem!important;
  color:#fff!important;
  font-size:1.25rem!important;
}

.goProductsHead p{
  margin:0!important;
  color:#dbeafe!important;
  font-weight:700!important;
  line-height:1.35!important;
}

.goProductsContact{
  flex:0 0 auto;
  background:rgba(247,181,0,.16);
  border:1px solid rgba(247,181,0,.42);
  color:#fff;
  border-radius:999px;
  padding:.55rem .85rem;
  font-size:.85rem;
  font-weight:800;
  white-space:nowrap;
}

.goProductsGrid{
  margin-top:1rem;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.75rem;
  position:relative;
  z-index:1;
}

.goProductCard{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  padding:.9rem;
  min-height:116px;
  backdrop-filter:blur(4px);
}

.goProductCard b{
  display:block;
  color:#ffe08a;
  font-size:.98rem;
  margin-bottom:.4rem;
}

.goProductCard span{
  display:block;
  color:#eaf3ff;
  font-size:.84rem;
  line-height:1.35;
  font-weight:650;
}

.goProductCard:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.15);
  box-shadow:0 16px 34px rgba(0,0,0,.18);
}

@media(max-width:980px){
  .goProductsGrid{
    grid-template-columns:repeat(2,1fr);
  }
  .goProductsHead{
    flex-direction:column;
  }
  .goProductsContact{
    white-space:normal;
  }
}

@media(max-width:620px){
  .goProductsGrid{
    grid-template-columns:1fr;
  }
  .goProductCard{
    min-height:auto;
  }
}


/* ===== License Dashboard Restore Patch ===== */
.digitalLicenseButton{
  cursor:pointer!important;
  pointer-events:auto!important;
  opacity:1!important;
}
.digitalLicenseButton:disabled{
  opacity:1!important;
  cursor:pointer!important;
}
.digitalLicenseCounter{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-family:"Courier New",monospace!important;
  font-size:.86rem!important;
  line-height:1.2!important;
  color:#fff!important;
  background:linear-gradient(135deg,#041837,#082B65)!important;
  border:1px solid rgba(247,181,0,.55)!important;
  border-radius:999px!important;
  padding:.45rem .7rem!important;
  white-space:nowrap!important;
}
.registrationDetails .digitalLicenseCounter{
  margin-left:.3rem;
}
.licenseCounter.licenseGood{
  border-color:#9de6bf!important;
  background:#e9fff3!important;
}
.licenseCounter.licenseWarn{
  border-color:#f7d36b!important;
  background:#fff7dc!important;
}
.licenseCounter.licenseBad{
  border-color:#f0b4b0!important;
  background:#fff0ef!important;
}
@media(max-width:620px){
  .digitalLicenseCounter{
    white-space:normal!important;
    text-align:center!important;
    border-radius:16px!important;
  }
}


/* ===== Exam Static Header + 70 Question Palette Patch ===== */

/* Stable exam header: subject, grade, total questions, time required and timer */
.examTop.examStaticHeader,
.examStaticHeader{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
  display:grid!important;
  grid-template-columns:minmax(260px,1.25fr) minmax(330px,1fr) 168px!important;
  align-items:center!important;
  gap:.8rem!important;
  width:100%!important;
  padding:.72rem .85rem!important;
  margin:0 0 .85rem!important;
  background:linear-gradient(135deg,#041837,#082B65 58%,#0B57D0)!important;
  border:1px solid rgba(247,181,0,.28)!important;
  border-radius:20px!important;
  box-shadow:0 14px 35px rgba(4,24,55,.18)!important;
  overflow:hidden!important;
}

.examHeaderLeft{
  min-width:0!important;
}

.examHeaderLabel{
  color:#ffe08a!important;
  font-size:.68rem!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  margin-bottom:.18rem!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.examStaticHeader #examTitle,
.examStaticHeader h2{
  color:#fff!important;
  font-size:clamp(.98rem,1.45vw,1.28rem)!important;
  line-height:1.15!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.examHeaderMeta{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:.45rem!important;
  min-width:0!important;
}

.examHeaderMeta span{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:.45rem .52rem!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:14px!important;
  color:#fff!important;
  font-size:.78rem!important;
  line-height:1.15!important;
  font-weight:850!important;
  min-width:0!important;
  overflow:hidden!important;
}

.examHeaderMeta span b{
  display:block!important;
  color:#ffe08a!important;
  font-size:.62rem!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  margin-bottom:.16rem!important;
  white-space:nowrap!important;
}

.examTimerBox,
#timer.examTimerBox,
.examStaticHeader #timer{
  width:168px!important;
  min-width:168px!important;
  max-width:168px!important;
  height:56px!important;
  min-height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  font-family:"Courier New",monospace!important;
  font-size:1.12rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.015em!important;
  padding:.35rem .55rem!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#f7b500,#ffe08a)!important;
  color:#2b2100!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 18px rgba(0,0,0,.12)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-align:center!important;
}

/* Prevent timer warning/danger from changing size or causing page shift */
#timer.timerWarn,
.examTimerBox.timerWarn{
  width:168px!important;
  min-width:168px!important;
  max-width:168px!important;
  height:56px!important;
  min-height:56px!important;
  background:linear-gradient(135deg,#f7b500,#ffe08a)!important;
  color:#2b2100!important;
}

#timer.timerDanger,
.examTimerBox.timerDanger{
  width:168px!important;
  min-width:168px!important;
  max-width:168px!important;
  height:56px!important;
  min-height:56px!important;
  background:linear-gradient(135deg,#a81919,#e53935)!important;
  color:#fff!important;
}

/* Question area spacing below sticky header */
#examScreen,
.screen.examScreen{
  scroll-padding-top:96px!important;
}

/* Better question navigator structure */
.questionPalettePanel{
  background:#fff!important;
  border:1px solid #d7e4f6!important;
  border-radius:20px!important;
  padding:.75rem!important;
  margin:.85rem 0!important;
  box-shadow:0 10px 26px rgba(4,24,55,.07)!important;
}

.questionPaletteHead{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.5rem!important;
  margin-bottom:.6rem!important;
  color:#082B65!important;
}

.questionPaletteHead b{
  font-size:.9rem!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}

.questionPaletteHead span{
  background:#eef4ff!important;
  color:#082B65!important;
  border-radius:999px!important;
  padding:.25rem .55rem!important;
  font-size:.75rem!important;
  font-weight:900!important;
}

/* Exact 10 rows × 7 cols on wide screens for 70 questions */
.examQuestionPalette,
#palette.examQuestionPalette,
.palette.examQuestionPalette,
.qPalette.examQuestionPalette,
.questionPalette.examQuestionPalette{
  display:grid!important;
  grid-template-columns:repeat(7,42px)!important;
  grid-auto-rows:36px!important;
  gap:.38rem!important;
  align-items:center!important;
  justify-content:start!important;
  width:max-content!important;
  max-width:100%!important;
  overflow-x:auto!important;
  padding:.15rem .2rem .25rem!important;
}

.examQuestionNumberBtn,
.examQuestionPalette .pal,
.examQuestionPalette button,
#palette.examQuestionPalette button{
  width:42px!important;
  height:36px!important;
  min-width:42px!important;
  min-height:36px!important;
  max-width:42px!important;
  max-height:36px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:11px!important;
  font-size:.84rem!important;
  line-height:1!important;
  font-weight:900!important;
  text-align:center!important;
  white-space:nowrap!important;
}

/* Keep selected/answered colours but size static */
.examQuestionPalette button.active,
.examQuestionPalette .pal.active,
.examQuestionPalette button.current,
.examQuestionPalette .pal.current{
  outline:2px solid #f7b500!important;
  outline-offset:1px!important;
}

.examQuestionPalette button.answered,
.examQuestionPalette .pal.answered{
  font-weight:900!important;
}

/* Navigation/Submit row remains clean */
.questionCard .actions{
  border-top:1px solid #e8eef8!important;
  padding-top:.85rem!important;
  margin-top:1rem!important;
}

/* Medium screen: keep 7 columns but slightly smaller */
@media(max-width:980px){
  .examTop.examStaticHeader,
  .examStaticHeader{
    grid-template-columns:1fr!important;
    gap:.6rem!important;
    position:sticky!important;
  }

  .examHeaderMeta{
    grid-template-columns:repeat(3,1fr)!important;
  }

  .examTimerBox,
  #timer.examTimerBox,
  .examStaticHeader #timer,
  #timer.timerWarn,
  #timer.timerDanger{
    width:150px!important;
    min-width:150px!important;
    max-width:150px!important;
    height:48px!important;
    min-height:48px!important;
    font-size:1rem!important;
    justify-self:start!important;
  }

  .examQuestionPalette,
  #palette.examQuestionPalette{
    grid-template-columns:repeat(7,38px)!important;
    grid-auto-rows:34px!important;
    gap:.32rem!important;
  }

  .examQuestionNumberBtn,
  .examQuestionPalette .pal,
  .examQuestionPalette button,
  #palette.examQuestionPalette button{
    width:38px!important;
    height:34px!important;
    min-width:38px!important;
    min-height:34px!important;
    max-width:38px!important;
    max-height:34px!important;
    font-size:.78rem!important;
    border-radius:10px!important;
  }
}

/* Mobile: use 5 columns for usability */
@media(max-width:620px){
  .examHeaderMeta{
    grid-template-columns:1fr!important;
  }

  .examHeaderMeta span{
    min-height:auto!important;
  }

  .examQuestionPalette,
  #palette.examQuestionPalette{
    grid-template-columns:repeat(5,1fr)!important;
    grid-auto-rows:34px!important;
    width:100%!important;
    overflow-x:visible!important;
  }

  .examQuestionNumberBtn,
  .examQuestionPalette .pal,
  .examQuestionPalette button,
  #palette.examQuestionPalette button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
  }
}


/* ===== Exam Header/Palette/Responsive V2 ===== */
.examTop.examStaticHeader,
.examStaticHeader{
  max-width:min(1480px, calc(100vw - 24px))!important;
  margin:0 auto .85rem!important;
  justify-items:center!important;
  text-align:center!important;
  grid-template-columns:minmax(260px,1fr) minmax(360px,1.15fr) 168px!important;
}

.examHeaderLeft{width:100%!important;text-align:center!important;}
.examHeaderLabel,.examStaticHeader #examTitle,.examStaticHeader h2{text-align:center!important;}
.examHeaderMeta{width:100%!important;justify-content:center!important;}
.examHeaderMeta span{text-align:center!important;align-items:center!important;}
.examTimerBox,#timer.examTimerBox,.examStaticHeader #timer{justify-self:center!important;text-align:center!important;}

.examWrap,.examShell,#examScreen .container,#examScreen,.screen.examScreen,.examMain{
  max-width:min(1480px, calc(100vw - 24px))!important;
  margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;
}
.questionCard,.examCard,.examPanel{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}

@media(min-width:1200px){
  .examTop.examStaticHeader,.examStaticHeader{grid-template-columns:minmax(320px,1.15fr) minmax(520px,1.35fr) 178px!important;}
  .examTimerBox,#timer.examTimerBox,.examStaticHeader #timer,#timer.timerWarn,#timer.timerDanger{width:178px!important;min-width:178px!important;max-width:178px!important;}
  .questionPalettePanel{max-width:max-content!important;margin-left:auto!important;margin-right:auto!important;}
}

/* Green = answered, Red = unanswered, Blue = current */
.examQuestionPalette button,#palette.examQuestionPalette button,.examQuestionNumberBtn{
  border:1px solid #f0b4b0!important;
  background:linear-gradient(135deg,#fff0ef,#ffd8d4)!important;
  color:#8a1111!important;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease!important;
}
.examQuestionPalette button.unanswered,.examQuestionPalette .paletteUnanswered,#palette.examQuestionPalette button.unanswered{
  background:linear-gradient(135deg,#fff0ef,#ffd8d4)!important;color:#8a1111!important;border-color:#f0b4b0!important;
}
.examQuestionPalette button.answered,.examQuestionPalette .paletteAnswered,#palette.examQuestionPalette button.answered{
  background:linear-gradient(135deg,#087a36,#11a162)!important;color:#fff!important;border-color:#9de6bf!important;box-shadow:0 5px 12px rgba(8,122,54,.18)!important;
}
.examQuestionPalette button.current,.examQuestionPalette .paletteCurrent,#palette.examQuestionPalette button.current,
.examQuestionPalette button.active,.examQuestionPalette .pal.active,
.examQuestionPalette button.current.answered,.examQuestionPalette button.current.unanswered{
  background:linear-gradient(135deg,#082B65,#0B57D0)!important;color:#fff!important;border-color:#7cc7ff!important;
  outline:3px solid rgba(124,199,255,.42)!important;outline-offset:1px!important;box-shadow:0 8px 18px rgba(11,87,208,.28)!important;
}
.examQuestionPalette button:hover,#palette.examQuestionPalette button:hover{transform:translateY(-1px)!important;}

.examQuestionPalette,#palette.examQuestionPalette,.palette.examQuestionPalette,.qPalette.examQuestionPalette,.questionPalette.examQuestionPalette{
  justify-content:center!important;margin-left:auto!important;margin-right:auto!important;
  grid-template-columns:repeat(7, clamp(34px, 3vw, 44px))!important;
  grid-auto-rows:clamp(32px, 2.7vw, 38px)!important;
  gap:clamp(.25rem, .55vw, .42rem)!important;
  width:auto!important;max-width:100%!important;
}
.examQuestionNumberBtn,.examQuestionPalette .pal,.examQuestionPalette button,#palette.examQuestionPalette button{
  width:clamp(34px, 3vw, 44px)!important;height:clamp(32px, 2.7vw, 38px)!important;
  min-width:clamp(34px, 3vw, 44px)!important;min-height:clamp(32px, 2.7vw, 38px)!important;
  max-width:44px!important;max-height:38px!important;font-size:clamp(.72rem, .9vw, .86rem)!important;
}

@media(min-width:1500px){
  .examTop.examStaticHeader,.examStaticHeader,.examWrap,.examShell,#examScreen .container,#examScreen,.screen.examScreen,.examMain{max-width:1500px!important;}
  .examQuestionPalette,#palette.examQuestionPalette{grid-template-columns:repeat(7,44px)!important;grid-auto-rows:38px!important;}
}
@media(max-width:1100px){
  .examTop.examStaticHeader,.examStaticHeader{grid-template-columns:1fr!important;justify-items:center!important;max-width:calc(100vw - 18px)!important;text-align:center!important;}
  .examHeaderMeta{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:760px!important;}
  .examWrap,.examShell,#examScreen .container,#examScreen,.screen.examScreen,.examMain{max-width:calc(100vw - 18px)!important;}
}
@media(max-width:760px){
  .examHeaderMeta{grid-template-columns:1fr!important;}
  .examTimerBox,#timer.examTimerBox,.examStaticHeader #timer,#timer.timerWarn,#timer.timerDanger{width:155px!important;min-width:155px!important;max-width:155px!important;}
  .examQuestionPalette,#palette.examQuestionPalette{grid-template-columns:repeat(7, minmax(30px,1fr))!important;width:100%!important;}
  .examQuestionNumberBtn,.examQuestionPalette .pal,.examQuestionPalette button,#palette.examQuestionPalette button{
    width:100%!important;min-width:0!important;max-width:none!important;height:34px!important;min-height:34px!important;max-height:34px!important;font-size:.74rem!important;
  }
}
@media(max-width:520px){
  .examQuestionPalette,#palette.examQuestionPalette{grid-template-columns:repeat(5, minmax(0,1fr))!important;}
  .examTop.examStaticHeader,.examStaticHeader{border-radius:16px!important;padding:.65rem!important;}
  .examStaticHeader #examTitle,.examStaticHeader h2{white-space:normal!important;}
}


/* ===== Default Exam Palette Only + Filled Button Colours ===== */

/* Remove visual effect of the extra navigator panel; keep only the portal default palette */
.questionPalettePanel{
  display:contents!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.questionPaletteHead{
  display:none!important;
}

/* Keep default palette visible without overlapping the question card */
#palette,
.examQuestionPalette.defaultExamPaletteOnly,
.defaultExamPaletteOnly{
  position:relative!important;
  z-index:1!important;
  clear:both!important;
  margin:.75rem auto 1rem!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

/* Strong default button shape setup */
#palette button,
#palette .pal,
.examQuestionPalette button,
.examQuestionPalette .pal,
.examQuestionNumberBtn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border-radius:11px!important;
  border:1px solid transparent!important;
  font-weight:900!important;
  text-decoration:none!important;
  background-clip:border-box!important;
  color:#fff!important;
  box-shadow:0 4px 10px rgba(4,24,55,.10)!important;
}

/* RED FILL = unanswered */
#palette button,
#palette .pal,
#palette button.unanswered,
#palette .pal.unanswered,
#palette button.paletteUnanswered,
#palette .pal.paletteUnanswered,
.examQuestionPalette button.unanswered,
.examQuestionPalette .pal.unanswered,
.examQuestionPalette button.paletteUnanswered,
.examQuestionPalette .pal.paletteUnanswered{
  background:#d93025!important;
  background-image:linear-gradient(135deg,#a81919,#e53935)!important;
  color:#fff!important;
  border-color:#f0b4b0!important;
}

/* GREEN FILL = answered */
#palette button.ans,
#palette .pal.ans,
#palette button.answered,
#palette .pal.answered,
#palette button.paletteAnswered,
#palette .pal.paletteAnswered,
.examQuestionPalette button.ans,
.examQuestionPalette .pal.ans,
.examQuestionPalette button.answered,
.examQuestionPalette .pal.answered,
.examQuestionPalette button.paletteAnswered,
.examQuestionPalette .pal.paletteAnswered{
  background:#087a36!important;
  background-image:linear-gradient(135deg,#087a36,#11a162)!important;
  color:#fff!important;
  border-color:#9de6bf!important;
}

/* BLUE FILL = current question, always overrides answered/unanswered */
#palette button.cur,
#palette .pal.cur,
#palette button.current,
#palette .pal.current,
#palette button.paletteCurrent,
#palette .pal.paletteCurrent,
#palette button.cur.ans,
#palette .pal.cur.ans,
#palette button.current.answered,
#palette .pal.current.answered,
#palette button.current.unanswered,
#palette .pal.current.unanswered,
.examQuestionPalette button.cur,
.examQuestionPalette .pal.cur,
.examQuestionPalette button.current,
.examQuestionPalette .pal.current,
.examQuestionPalette button.paletteCurrent,
.examQuestionPalette .pal.paletteCurrent,
.examQuestionPalette button.current.answered,
.examQuestionPalette .pal.current.answered,
.examQuestionPalette button.current.unanswered,
.examQuestionPalette .pal.current.unanswered{
  background:#0B57D0!important;
  background-image:linear-gradient(135deg,#082B65,#0B57D0)!important;
  color:#fff!important;
  border-color:#7cc7ff!important;
  outline:3px solid rgba(124,199,255,.42)!important;
  outline-offset:1px!important;
  box-shadow:0 8px 18px rgba(11,87,208,.28)!important;
}

/* Prevent old text-only colour rules from leaking through */
#palette button *,
#palette .pal *,
.examQuestionPalette button *,
.examQuestionPalette .pal *{
  color:inherit!important;
}

/* Avoid overlap with question area */
.questionCard,
.examCard,
.examPanel{
  overflow:visible!important;
}
#qText,
#options,
.questionText,
.options{
  position:relative!important;
  z-index:2!important;
}


/* ===== FINAL Exam Palette Card + Submit Restore Fix ===== */

/* Keep only the default question palette; old wrapper must not reserve space */
.questionPalettePanel,
.questionPaletteHead{
  display:none!important;
}

/* Widen/shift the left exam column so the default palette no longer hides by the sides */
.examGrid{
  grid-template-columns:minmax(350px,390px) minmax(0,1fr)!important;
  gap:1.15rem!important;
  max-width:min(1500px,calc(100vw - 20px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-items:start!important;
}

.examGrid aside,
.examGrid > aside,
.examGrid > div:first-child{
  overflow:visible!important;
  min-width:350px!important;
}

/* Default palette card: expanded left-side card with coloured ribbon border */
#palette.defaultExamPaletteOnly,
#palette.ribbonedQuestionPalette,
#palette.examQuestionPalette,
#palette{
  display:grid!important;
  grid-template-columns:repeat(5,54px)!important;
  grid-auto-rows:42px!important;
  gap:.5rem!important;
  width:max-content!important;
  min-width:326px!important;
  max-width:none!important;
  margin:.75rem 0 1rem -18px!important;
  padding:1rem!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  align-content:start!important;
  justify-content:center!important;
  position:relative!important;
  z-index:5!important;

  border:4px solid transparent!important;
  border-radius:24px!important;
  background:
    linear-gradient(#ffffff,#ffffff) padding-box,
    linear-gradient(135deg,#f7b500 0%,#0B57D0 34%,#087a36 68%,#e53935 100%) border-box!important;
  box-shadow:
    0 14px 32px rgba(4,24,55,.13),
    0 0 0 5px rgba(247,181,0,.10)!important;
}

/* Ribbon accent around the card */
#palette.defaultExamPaletteOnly:before,
#palette.ribbonedQuestionPalette:before,
#palette.examQuestionPalette:before{
  content:"Question Numbers"!important;
  position:absolute!important;
  top:-15px!important;
  left:18px!important;
  background:linear-gradient(135deg,#f7b500,#ffe08a)!important;
  color:#2b2100!important;
  border-radius:999px!important;
  padding:.25rem .7rem!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  box-shadow:0 6px 14px rgba(4,24,55,.14)!important;
}

/* Button base: shape filled, not text-only */
#palette button,
#palette .pal,
#palette .examQuestionNumberBtn{
  width:54px!important;
  height:42px!important;
  min-width:54px!important;
  min-height:42px!important;
  max-width:54px!important;
  max-height:42px!important;
  padding:0!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:13px!important;
  border:1px solid transparent!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:.9rem!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
  background-clip:border-box!important;
  box-shadow:0 5px 12px rgba(4,24,55,.14)!important;
  transform:none!important;
}

/* RED FILL = unanswered */
#palette button,
#palette .pal,
#palette button.unanswered,
#palette .pal.unanswered,
#palette button.paletteUnanswered,
#palette .pal.paletteUnanswered,
#palette .pal:not(.ans):not(.cur):not(.answered):not(.current){
  background:#d93025!important;
  background-image:linear-gradient(135deg,#a81919,#e53935)!important;
  color:#fff!important;
  border-color:#f0b4b0!important;
}

/* GREEN FILL = answered */
#palette button.ans,
#palette .pal.ans,
#palette button.answered,
#palette .pal.answered,
#palette button.paletteAnswered,
#palette .pal.paletteAnswered{
  background:#087a36!important;
  background-image:linear-gradient(135deg,#087a36,#11a162)!important;
  color:#fff!important;
  border-color:#9de6bf!important;
}

/* BLUE FILL = current question. Always overrides answered/unanswered */
#palette button.cur,
#palette .pal.cur,
#palette button.current,
#palette .pal.current,
#palette button.paletteCurrent,
#palette .pal.paletteCurrent,
#palette button.cur.ans,
#palette .pal.cur.ans,
#palette button.current.answered,
#palette .pal.current.answered,
#palette button.current.unanswered,
#palette .pal.current.unanswered{
  background:#0B57D0!important;
  background-image:linear-gradient(135deg,#082B65,#0B57D0)!important;
  color:#fff!important;
  border-color:#7cc7ff!important;
  outline:3px solid rgba(124,199,255,.46)!important;
  outline-offset:1px!important;
  box-shadow:0 9px 18px rgba(11,87,208,.28)!important;
}

#palette button *,
#palette .pal *{
  color:inherit!important;
}

#palette button:hover,
#palette .pal:hover{
  transform:translateY(-1px)!important;
}

/* Expand/shift the question card to balance with widened palette */
.questionCard{
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  border:3px solid transparent!important;
  background:
    linear-gradient(#ffffff,#ffffff) padding-box,
    linear-gradient(135deg,rgba(247,181,0,.65),rgba(11,87,208,.45),rgba(8,122,54,.42)) border-box!important;
  box-shadow:0 16px 36px rgba(4,24,55,.10)!important;
}

/* Submit button restore/visibility */
#submitExam,
.submitExamFixedBtn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:180px!important;
  min-height:48px!important;
  padding:.85rem 1.25rem!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#a81919,#e53935)!important;
  color:#fff!important;
  font-weight:900!important;
  border:0!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(168,25,25,.22)!important;
  pointer-events:auto!important;
  opacity:1!important;
  position:relative!important;
  z-index:20!important;
}

#submitExam:disabled,
#submitExam.submittingExam{
  opacity:.72!important;
  cursor:wait!important;
}

.questionCard .actions,
.restoredExamActions,
.examActionBar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.75rem!important;
  flex-wrap:wrap!important;
  width:100%!important;
  position:relative!important;
  z-index:15!important;
}

/* Laptop/tablet: keep palette visible inside screen */
@media(max-width:1100px){
  .examGrid{
    grid-template-columns:minmax(320px,360px) minmax(0,1fr)!important;
    max-width:calc(100vw - 16px)!important;
  }
  .examGrid aside,
  .examGrid > aside,
  .examGrid > div:first-child{
    min-width:320px!important;
  }
  #palette.defaultExamPaletteOnly,
  #palette.ribbonedQuestionPalette,
  #palette.examQuestionPalette,
  #palette{
    grid-template-columns:repeat(5,48px)!important;
    grid-auto-rows:38px!important;
    min-width:294px!important;
    margin-left:-10px!important;
  }
  #palette button,
  #palette .pal,
  #palette .examQuestionNumberBtn{
    width:48px!important;
    height:38px!important;
    min-width:48px!important;
    min-height:38px!important;
    max-width:48px!important;
    max-height:38px!important;
    font-size:.82rem!important;
  }
}

/* Mobile/tablet stacked view */
@media(max-width:900px){
  .examGrid{
    display:grid!important;
    grid-template-columns:1fr!important;
    max-width:calc(100vw - 14px)!important;
  }
  .examGrid aside,
  .examGrid > aside,
  .examGrid > div:first-child{
    min-width:0!important;
    width:100%!important;
  }
  #palette.defaultExamPaletteOnly,
  #palette.ribbonedQuestionPalette,
  #palette.examQuestionPalette,
  #palette{
    grid-template-columns:repeat(7,minmax(32px,1fr))!important;
    grid-auto-rows:36px!important;
    width:100%!important;
    min-width:0!important;
    margin:.85rem auto 1rem!important;
    padding:.9rem!important;
  }
  #palette button,
  #palette .pal,
  #palette .examQuestionNumberBtn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    font-size:.76rem!important;
  }
}

@media(max-width:520px){
  #palette.defaultExamPaletteOnly,
  #palette.ribbonedQuestionPalette,
  #palette.examQuestionPalette,
  #palette{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
  #submitExam,
  .submitExamFixedBtn{
    width:100%!important;
  }
}


/* ===== FINAL V2: Palette Card Must Contain All 70 Buttons + Submit Must Stay Clickable ===== */

/* Give the left palette column enough room on desktop */
.examGrid{
  grid-template-columns:minmax(430px,455px) minmax(0,1fr)!important;
  gap:1.2rem!important;
  max-width:min(1540px,calc(100vw - 18px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-items:start!important;
  overflow:visible!important;
}

.examGrid aside,
.examGrid > aside,
.examGrid > div:first-child,
.examSidebar,
.paletteSide{
  min-width:430px!important;
  width:430px!important;
  max-width:455px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

/* The default question-number card now has enough height and width to contain 70 buttons */
#palette,
#palette.defaultExamPaletteOnly,
#palette.ribbonedQuestionPalette,
#palette.examQuestionPalette{
  display:grid!important;
  grid-template-columns:repeat(5,62px)!important;
  grid-auto-rows:44px!important;
  gap:.55rem!important;

  width:410px!important;
  min-width:410px!important;
  max-width:410px!important;
  height:auto!important;
  min-height:760px!important;
  max-height:none!important;

  margin:.9rem auto 1.2rem!important;
  padding:1.2rem!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  align-content:start!important;
  justify-content:center!important;
  position:relative!important;
  z-index:5!important;

  border:5px solid transparent!important;
  border-radius:26px!important;
  background:
    linear-gradient(#ffffff,#ffffff) padding-box,
    linear-gradient(135deg,#f7b500 0%,#0B57D0 33%,#087a36 67%,#e53935 100%) border-box!important;
  box-shadow:
    0 16px 34px rgba(4,24,55,.16),
    0 0 0 6px rgba(247,181,0,.11)!important;
}

/* Visible ribbon label */
#palette:before,
#palette.defaultExamPaletteOnly:before,
#palette.ribbonedQuestionPalette:before,
#palette.examQuestionPalette:before{
  content:"Question Numbers"!important;
  position:absolute!important;
  top:-16px!important;
  left:22px!important;
  z-index:8!important;
  background:linear-gradient(135deg,#f7b500,#ffe08a)!important;
  color:#2b2100!important;
  border-radius:999px!important;
  padding:.28rem .75rem!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  box-shadow:0 6px 14px rgba(4,24,55,.16)!important;
}

/* Button size inside the card */
#palette button,
#palette .pal,
#palette .examQuestionNumberBtn{
  width:62px!important;
  height:44px!important;
  min-width:62px!important;
  min-height:44px!important;
  max-width:62px!important;
  max-height:44px!important;
  padding:0!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:14px!important;
  border:1px solid transparent!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:.92rem!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
  background-clip:border-box!important;
  box-shadow:0 5px 12px rgba(4,24,55,.14)!important;
  pointer-events:auto!important;
}

/* RED full fill = unanswered */
#palette button,
#palette .pal,
#palette button.unanswered,
#palette .pal.unanswered,
#palette button.paletteUnanswered,
#palette .pal.paletteUnanswered,
#palette .pal:not(.ans):not(.cur):not(.answered):not(.current):not(.paletteAnswered):not(.paletteCurrent){
  background:#d93025!important;
  background-image:linear-gradient(135deg,#a81919,#e53935)!important;
  color:#fff!important;
  border-color:#f0b4b0!important;
}

/* GREEN full fill = answered */
#palette button.ans,
#palette .pal.ans,
#palette button.answered,
#palette .pal.answered,
#palette button.paletteAnswered,
#palette .pal.paletteAnswered{
  background:#087a36!important;
  background-image:linear-gradient(135deg,#087a36,#11a162)!important;
  color:#fff!important;
  border-color:#9de6bf!important;
}

/* BLUE full fill = current, overriding answered/unanswered */
#palette button.cur,
#palette .pal.cur,
#palette button.current,
#palette .pal.current,
#palette button.paletteCurrent,
#palette .pal.paletteCurrent,
#palette button.cur.ans,
#palette .pal.cur.ans,
#palette button.current.answered,
#palette .pal.current.answered,
#palette button.current.unanswered,
#palette .pal.current.unanswered{
  background:#0B57D0!important;
  background-image:linear-gradient(135deg,#082B65,#0B57D0)!important;
  color:#fff!important;
  border-color:#7cc7ff!important;
  outline:3px solid rgba(124,199,255,.46)!important;
  outline-offset:1px!important;
  box-shadow:0 9px 18px rgba(11,87,208,.30)!important;
}

/* Make sure submit button remains above every card/layer and clickable */
#submitExam,
.submitExamFixedBtn,
[data-exam-submit="1"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:190px!important;
  min-height:50px!important;
  padding:.9rem 1.35rem!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#a81919,#e53935)!important;
  color:#fff!important;
  font-weight:900!important;
  border:0!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  opacity:1!important;
  position:relative!important;
  z-index:999!important;
  box-shadow:0 10px 24px rgba(168,25,25,.24)!important;
}

#submitExam *,
.submitExamFixedBtn *,
[data-exam-submit="1"] *{
  pointer-events:none!important;
}

.questionCard,
.examCard,
.examPanel,
.questionCard .actions,
.restoredExamActions,
.examActionBar{
  overflow:visible!important;
  position:relative!important;
}

.questionCard .actions,
.restoredExamActions,
.examActionBar{
  z-index:998!important;
}

/* Medium screens */
@media(max-width:1200px){
  .examGrid{
    grid-template-columns:minmax(390px,410px) minmax(0,1fr)!important;
  }
  .examGrid aside,
  .examGrid > aside,
  .examGrid > div:first-child,
  .examSidebar,
  .paletteSide{
    min-width:390px!important;
    width:390px!important;
  }
  #palette,
  #palette.defaultExamPaletteOnly,
  #palette.ribbonedQuestionPalette,
  #palette.examQuestionPalette{
    grid-template-columns:repeat(5,56px)!important;
    grid-auto-rows:42px!important;
    width:374px!important;
    min-width:374px!important;
    max-width:374px!important;
    min-height:735px!important;
    padding:1.1rem!important;
  }
  #palette button,
  #palette .pal,
  #palette .examQuestionNumberBtn{
    width:56px!important;
    height:42px!important;
    min-width:56px!important;
    min-height:42px!important;
    max-width:56px!important;
    max-height:42px!important;
  }
}

/* Stack neatly on tablets and phones */
@media(max-width:930px){
  .examGrid{
    display:grid!important;
    grid-template-columns:1fr!important;
    max-width:calc(100vw - 14px)!important;
    overflow:visible!important;
  }
  .examGrid aside,
  .examGrid > aside,
  .examGrid > div:first-child,
  .examSidebar,
  .paletteSide{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }
  #palette,
  #palette.defaultExamPaletteOnly,
  #palette.ribbonedQuestionPalette,
  #palette.examQuestionPalette{
    grid-template-columns:repeat(7,minmax(34px,1fr))!important;
    grid-auto-rows:38px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:455px!important;
    margin:.9rem auto 1rem!important;
    padding:1rem!important;
  }
  #palette button,
  #palette .pal,
  #palette .examQuestionNumberBtn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    font-size:.78rem!important;
  }
}

@media(max-width:520px){
  #palette,
  #palette.defaultExamPaletteOnly,
  #palette.ribbonedQuestionPalette,
  #palette.examQuestionPalette{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-auto-rows:36px!important;
    min-height:610px!important;
  }
  #palette button,
  #palette .pal,
  #palette .examQuestionNumberBtn{
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    font-size:.74rem!important;
  }
  #submitExam,
  .submitExamFixedBtn,
  [data-exam-submit="1"]{
    width:100%!important;
  }
}


/* ===== Questions Loading Restore + Submit/Grade/Assist Safe Patch ===== */

.examAssistPanel{
  margin:1rem 0 .75rem!important;
  padding:1rem!important;
  border-radius:20px!important;
  border:3px solid transparent!important;
  background:
    linear-gradient(#ffffff,#ffffff) padding-box,
    linear-gradient(135deg,#f7b500,#0B57D0,#087a36) border-box!important;
  box-shadow:0 12px 28px rgba(4,24,55,.08)!important;
  position:relative!important;
  z-index:4!important;
}

.examAssistHead{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.75rem!important;
  margin-bottom:.75rem!important;
}

.examAssistHead b{
  color:#082B65!important;
  font-size:.95rem!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}

.examAssistHead span{
  background:linear-gradient(135deg,#082B65,#0B57D0)!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:.35rem .7rem!important;
  font-size:.78rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

.examAssistGrid{
  display:grid!important;
  grid-template-columns:repeat(3, minmax(90px,1fr)) minmax(220px,1.2fr)!important;
  gap:.65rem!important;
  align-items:stretch!important;
}

.assistStat{
  border-radius:16px!important;
  padding:.75rem!important;
  text-align:center!important;
  color:#fff!important;
  min-height:70px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}

.assistStat span{font-size:.72rem!important;font-weight:900!important;text-transform:uppercase!important;opacity:.92!important;}
.assistStat b{display:block!important;margin-top:.2rem!important;font-size:1.45rem!important;line-height:1!important;}
.assistStat.answered{background:linear-gradient(135deg,#087a36,#11a162)!important;}
.assistStat.unanswered{background:linear-gradient(135deg,#a81919,#e53935)!important;}
.assistStat.current{background:linear-gradient(135deg,#082B65,#0B57D0)!important;}

.assistLegend{
  background:#f7fbff!important;
  border:1px solid #d7e4f6!important;
  border-radius:16px!important;
  padding:.7rem!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:.4rem!important;
  color:#082B65!important;
  font-size:.82rem!important;
  font-weight:850!important;
}

.assistLegend span{display:flex!important;align-items:center!important;gap:.45rem!important;}
.assistLegend .dot{width:14px!important;height:14px!important;border-radius:50%!important;display:inline-block!important;flex:0 0 14px!important;}
.dot.green{background:#087a36!important;}
.dot.red{background:#d93025!important;}
.dot.blue{background:#0B57D0!important;}

.examAssistTip{
  margin-top:.75rem!important;
  padding:.7rem .85rem!important;
  border-radius:14px!important;
  background:#fff7dc!important;
  border:1px solid #f7d36b!important;
  color:#2b2100!important;
  font-weight:800!important;
  line-height:1.35!important;
}

/* Submit must remain clickable */
#submitExam,
.submitExamFixedBtn,
[data-exam-submit="1"]{
  pointer-events:auto!important;
  position:relative!important;
  z-index:5000!important;
  user-select:none!important;
  cursor:pointer!important;
}

#submitExam:not(:disabled):hover,
.submitExamFixedBtn:not(:disabled):hover,
[data-exam-submit="1"]:not(:disabled):hover{
  transform:translateY(-1px)!important;
  box-shadow:0 14px 28px rgba(168,25,25,.28)!important;
}

#submitExam.submittingExam,
#submitExam:disabled{
  pointer-events:none!important;
}

@media(max-width:980px){
  .examAssistGrid{grid-template-columns:repeat(3,1fr)!important;}
  .assistLegend{grid-column:1/-1!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:center!important;}
}
@media(max-width:620px){
  .examAssistHead{flex-direction:column!important;align-items:flex-start!important;}
  .examAssistGrid{grid-template-columns:1fr!important;}
  .assistLegend{flex-direction:column!important;align-items:flex-start!important;}
}


/* ===== Exam Progress Panel + License Counter Consistency Patch ===== */

/* Force the progress panel to appear in the extra space below options */
#examAssistPanel.examAssistPanel,
.examAssistPanel{
  display:block!important;
  width:100%!important;
  margin:1rem 0 .85rem!important;
  padding:1rem!important;
  border-radius:20px!important;
  border:3px solid transparent!important;
  background:
    linear-gradient(#ffffff,#ffffff) padding-box,
    linear-gradient(135deg,#f7b500,#0B57D0,#087a36) border-box!important;
  box-shadow:0 12px 28px rgba(4,24,55,.10)!important;
  position:relative!important;
  z-index:10!important;
  clear:both!important;
}

.examAssistHead{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.75rem!important;
  margin-bottom:.75rem!important;
}

.examAssistHead b{
  color:#082B65!important;
  font-size:.95rem!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}

.examAssistHead span{
  background:linear-gradient(135deg,#082B65,#0B57D0)!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:.35rem .7rem!important;
  font-size:.78rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

.examAssistGrid{
  display:grid!important;
  grid-template-columns:repeat(3, minmax(90px,1fr)) minmax(220px,1.2fr)!important;
  gap:.65rem!important;
  align-items:stretch!important;
}

.assistStat{
  border-radius:16px!important;
  padding:.75rem!important;
  text-align:center!important;
  color:#fff!important;
  min-height:70px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}

.assistStat span{
  font-size:.72rem!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  opacity:.92!important;
}

.assistStat b{
  display:block!important;
  margin-top:.2rem!important;
  font-size:1.45rem!important;
  line-height:1!important;
}

.assistStat.answered{background:linear-gradient(135deg,#087a36,#11a162)!important;}
.assistStat.unanswered{background:linear-gradient(135deg,#a81919,#e53935)!important;}
.assistStat.current{background:linear-gradient(135deg,#082B65,#0B57D0)!important;}

.assistLegend{
  background:#f7fbff!important;
  border:1px solid #d7e4f6!important;
  border-radius:16px!important;
  padding:.7rem!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:.4rem!important;
  color:#082B65!important;
  font-size:.82rem!important;
  font-weight:850!important;
}

.assistLegend span{
  display:flex!important;
  align-items:center!important;
  gap:.45rem!important;
}

.assistLegend .dot{
  width:14px!important;
  height:14px!important;
  border-radius:50%!important;
  display:inline-block!important;
  flex:0 0 14px!important;
}

.dot.green{background:#087a36!important;}
.dot.red{background:#d93025!important;}
.dot.blue{background:#0B57D0!important;}

.examAssistTip{
  margin-top:.75rem!important;
  padding:.7rem .85rem!important;
  border-radius:14px!important;
  background:#fff7dc!important;
  border:1px solid #f7d36b!important;
  color:#2b2100!important;
  font-weight:800!important;
  line-height:1.35!important;
}

/* One digital countdown format everywhere */
.digitalLicenseCounter{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.12rem!important;
  min-width:210px!important;
  max-width:100%!important;
  padding:.55rem .8rem!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#041837,#082B65,#0B57D0)!important;
  color:#fff!important;
  border:1px solid rgba(247,181,0,.45)!important;
  box-shadow:0 8px 18px rgba(4,24,55,.16)!important;
  text-align:center!important;
  white-space:nowrap!important;
}

.digitalLicenseCounter b{
  font-family:"Courier New",monospace!important;
  font-size:.92rem!important;
  line-height:1.15!important;
  color:#fff!important;
}

.digitalLicenseCounter small{
  font-size:.65rem!important;
  font-weight:900!important;
  color:#ffe08a!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

.licenseCounterDigitalCell{
  min-width:240px!important;
}

.licenseCounterDigitalCell .digitalLicenseCounter{
  margin-top:.25rem!important;
}

.resultDigitalCounter.singleResultLicenseCounter{
  margin-top:1rem!important;
  padding:1rem!important;
  border-radius:18px!important;
  background:#f7fbff!important;
  border:1px solid #d7e4f6!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:1rem!important;
  flex-wrap:wrap!important;
}

.resultDigitalCounter.singleResultLicenseCounter > span:first-child{
  font-weight:900!important;
  color:#082B65!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}

/* Hide active result action renew button to remove double counter on Result Summary */
#activateBtn2.digitalLicenseButton{
  display:none!important;
}

@media(max-width:980px){
  .examAssistGrid{
    grid-template-columns:repeat(3,1fr)!important;
  }
  .assistLegend{
    grid-column:1/-1!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
  }
  .digitalLicenseCounter{
    min-width:190px!important;
    white-space:normal!important;
  }
}

@media(max-width:620px){
  .examAssistHead{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .examAssistGrid{
    grid-template-columns:1fr!important;
  }
  .assistLegend{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .resultDigitalCounter.singleResultLicenseCounter{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .digitalLicenseCounter{
    width:100%!important;
  }
}


/* ===== Registration Page Active License Counter Compact Fix =====
   Adjusts only the Registration Details area so the digital counter fits neatly. */

.registrationDetails .licenseCounterDigitalCell,
.profileBox .licenseCounterDigitalCell,
#profileBox .licenseCounterDigitalCell{
  grid-column:1 / -1!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

.registrationDetails .licenseCounterDigitalCell span:first-child,
.profileBox .licenseCounterDigitalCell span:first-child,
#profileBox .licenseCounterDigitalCell span:first-child{
  display:block!important;
  margin-bottom:.35rem!important;
}

.registrationDetails .digitalLicenseCounter,
.profileBox .digitalLicenseCounter,
#profileBox .digitalLicenseCounter{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  padding:.45rem .55rem!important;
  border-radius:14px!important;
  white-space:normal!important;
  overflow:visible!important;
}

.registrationDetails .digitalLicenseCounter b,
.profileBox .digitalLicenseCounter b,
#profileBox .digitalLicenseCounter b{
  display:block!important;
  width:100%!important;
  font-size:clamp(.72rem, 1.45vw, .86rem)!important;
  line-height:1.22!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-align:center!important;
}

.registrationDetails .digitalLicenseCounter small,
.profileBox .digitalLicenseCounter small,
#profileBox .digitalLicenseCounter small{
  display:block!important;
  font-size:.58rem!important;
  line-height:1.1!important;
  margin-top:.12rem!important;
}

/* Extra safety for narrow registration/dashboard cards */
@media(max-width:760px){
  .registrationDetails .digitalLicenseCounter b,
  .profileBox .digitalLicenseCounter b,
  #profileBox .digitalLicenseCounter b{
    font-size:.74rem!important;
  }

  .registrationDetails .digitalLicenseCounter,
  .profileBox .digitalLicenseCounter,
  #profileBox .digitalLicenseCounter{
    padding:.42rem .45rem!important;
  }
}

@media(max-width:420px){
  .registrationDetails .digitalLicenseCounter b,
  .profileBox .digitalLicenseCounter b,
  #profileBox .digitalLicenseCounter b{
    font-size:.68rem!important;
  }
}


/* ===== Subject Focus Manager Patch: support new directors subject group badges ===== */
.subjectCard.directorsGeneral,
.subjectCard.directorsProfession{
  border-color:rgba(247,181,0,.45)!important;
}


/* ===== Public UI + Registration Polish Patch ===== */

/* Make the registration form vertical, premium, and attention-grabbing */
#authArea{
  scroll-margin-top:95px!important;
}

#registerPanel.registerSpotlightPanel,
#registerPanel{
  position:relative!important;
  overflow:hidden!important;
  border:2px solid rgba(247,181,0,.42)!important;
  background:
    radial-gradient(circle at top right, rgba(247,181,0,.24), transparent 34%),
    linear-gradient(145deg,#ffffff 0%,#f7fbff 48%,#fff7df 100%)!important;
  box-shadow:0 22px 55px rgba(4,24,55,.14)!important;
}

#registerPanel:before{
  content:"START HERE";
  position:absolute;
  top:18px;
  right:-42px;
  transform:rotate(35deg);
  background:linear-gradient(135deg,#f7b500,#ffe08a);
  color:#2b2100;
  font-weight:1000;
  letter-spacing:.08em;
  padding:.45rem 3.2rem;
  font-size:.72rem;
  box-shadow:0 10px 20px rgba(247,181,0,.25);
  z-index:1;
}

#registerPanel h3{
  font-size:clamp(1.55rem,3vw,2.15rem)!important;
  color:#082B65!important;
  margin-bottom:.25rem!important;
}

#registerPanel > p{
  max-width:680px!important;
  font-size:1rem!important;
  font-weight:700!important;
  color:#435571!important;
}

#registerPanel .grid2{
  display:grid!important;
  grid-template-columns:1fr!important;
  max-width:720px!important;
  margin:1.1rem auto .9rem!important;
  gap:.78rem!important;
}

#registerPanel .regField{
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(8,43,101,.13)!important;
  border-radius:20px!important;
  padding:.72rem .78rem!important;
  box-shadow:0 10px 24px rgba(4,24,55,.055)!important;
}

#registerPanel .fieldLabel{
  display:block!important;
  font-size:.82rem!important;
  color:#082B65!important;
  font-weight:1000!important;
  margin:0 0 .32rem!important;
  letter-spacing:.01em!important;
}

#registerPanel .fieldHint{
  display:block!important;
  margin:.32rem 0 0!important;
  color:#61738d!important;
  font-size:.75rem!important;
  font-weight:700!important;
}

#registerPanel input,
#registerPanel select{
  min-height:50px!important;
  border-radius:14px!important;
  border:1px solid rgba(8,43,101,.18)!important;
  background:#ffffff!important;
  font-size:.98rem!important;
  font-weight:750!important;
}

#registerPanel input:focus,
#registerPanel select:focus{
  border-color:#0B57D0!important;
  box-shadow:0 0 0 4px rgba(11,87,208,.12)!important;
}

#saveProfileBtn{
  display:flex!important;
  width:min(720px,100%)!important;
  margin:.85rem auto .4rem!important;
  min-height:64px!important;
  justify-content:center!important;
  align-items:center!important;
  flex-direction:column!important;
  gap:.12rem!important;
  font-size:1.08rem!important;
  border-radius:20px!important;
  box-shadow:0 18px 34px rgba(8,43,101,.24)!important;
}

#saveProfileBtn span{
  font-weight:1000!important;
}

#saveProfileBtn small{
  display:block!important;
  font-size:.75rem!important;
  font-weight:800!important;
  opacity:.92!important;
  color:rgba(255,255,255,.92)!important;
}

.registrationTrustStrip{
  width:min(720px,100%);
  margin:.7rem auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.5rem;
}

.registrationTrustStrip span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-radius:999px;
  background:rgba(8,43,101,.07);
  color:#082B65;
  font-size:.76rem;
  font-weight:950;
  text-align:center;
  padding:.3rem .5rem;
}

/* Tabs look cleaner above the vertical form */
.authTabs{
  justify-content:center!important;
  margin-top:.8rem!important;
}

.authTabs .tabBtn{
  min-width:170px!important;
}

/* Licence status: reduce flicker feeling with stable status card */
.registrationDetails .detailRows p:has(b),
.licenseCounter{
  transition:opacity .2s ease, transform .2s ease!important;
}

.licenseGood{
  border-color:rgba(8,122,54,.24)!important;
  background:linear-gradient(135deg,#ecfff4,#ffffff)!important;
}

.licenseBad{
  border-color:rgba(168,25,25,.22)!important;
  background:linear-gradient(135deg,#fff0ef,#ffffff)!important;
}

.licenseWarn{
  border-color:rgba(247,181,0,.35)!important;
  background:linear-gradient(135deg,#fff7dc,#ffffff)!important;
}

/* Light public page polish */
.feature-cards>div{
  transition:transform .18s ease, box-shadow .18s ease!important;
}
.feature-cards>div:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 40px rgba(4,24,55,.12)!important;
}

.hero{
  min-height:420px!important;
}

.hero h2{
  max-width:880px!important;
}

@media(max-width:820px){
  .registrationTrustStrip{
    grid-template-columns:1fr!important;
  }
  #registerPanel:before{
    right:-52px;
    top:16px;
    font-size:.65rem;
  }
  .authTabs .tabBtn{
    flex:1 1 100%!important;
    min-width:0!important;
  }
}


/* ===== Front Page Dashboard Preview Simplification ===== */

.frontDashboardPreviewLite{
  position:relative!important;
  overflow:hidden!important;
  padding:clamp(1.05rem,2vw,1.45rem)!important;
  border:1px solid rgba(247,181,0,.34)!important;
  background:
    radial-gradient(circle at top right, rgba(247,181,0,.20), transparent 36%),
    linear-gradient(145deg,#ffffff 0%,#f7fbff 58%,#fff9e8 100%)!important;
}

.frontDashboardPreviewLite:before{
  content:"AFTER LOGIN";
  position:absolute;
  top:16px;
  right:-38px;
  transform:rotate(35deg);
  background:linear-gradient(135deg,#082B65,#0B57D0);
  color:#fff;
  font-weight:1000;
  font-size:.64rem;
  letter-spacing:.08em;
  padding:.35rem 2.8rem;
  box-shadow:0 8px 20px rgba(8,43,101,.22);
}

.frontDashboardPreviewLite .previewEyebrow{
  display:inline-flex!important;
  width:auto!important;
  border-radius:999px!important;
  padding:.32rem .7rem!important;
  margin-bottom:.65rem!important;
  background:rgba(247,181,0,.18)!important;
  color:#2b2100!important;
  font-size:.72rem!important;
  line-height:1.1!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}

.frontDashboardPreviewLite h2{
  color:#082B65!important;
  margin:.1rem 0 .5rem!important;
  font-size:clamp(1.35rem,2.6vw,1.9rem)!important;
  line-height:1.12!important;
}

.frontDashboardPreviewLite .previewLead{
  color:#435571!important;
  font-weight:750!important;
  font-size:.98rem!important;
  line-height:1.5!important;
  margin:0 0 .95rem!important;
}

.frontDashboardPreviewLite .previewMiniCards{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:.62rem!important;
}

.frontDashboardPreviewLite .previewMiniCards div{
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(8,43,101,.12)!important;
  border-radius:18px!important;
  padding:.78rem .82rem!important;
  box-shadow:0 9px 20px rgba(4,24,55,.055)!important;
}

.frontDashboardPreviewLite .previewMiniCards b{
  display:block!important;
  color:#082B65!important;
  font-size:.9rem!important;
  font-weight:1000!important;
  margin-bottom:.18rem!important;
}

.frontDashboardPreviewLite .previewMiniCards span{
  display:block!important;
  color:#61738d!important;
  font-size:.8rem!important;
  font-weight:700!important;
  line-height:1.35!important;
}

/* Remove the heavy/technical feel from the home dashboard preview area */
.frontDashboardPreviewLite + .technicalDashboardCopy,
.technicalDashboardCopy{
  display:none!important;
}

@media(max-width:820px){
  .frontDashboardPreviewLite:before{
    right:-48px;
    top:12px;
    font-size:.58rem;
  }
}


/* ===== License Expiry Display Consistency Fix ===== */
.registrationDetails .detailCell,
.profileBox .detailCell,
#profileBox .detailCell{
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}

.registrationDetails .detailCell b,
.profileBox .detailCell b,
#profileBox .detailCell b{
  line-height:1.28!important;
}

.registrationDetails .licenseCounterDigitalCell,
.profileBox .licenseCounterDigitalCell,
#profileBox .licenseCounterDigitalCell{
  border-left:4px solid rgba(8,122,54,.35)!important;
}


/* ===== Our History Public Link ===== */
.historyHomeLink{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  border-radius:16px!important;
  padding:.72rem 1rem!important;
  margin-right:.45rem!important;
  background:linear-gradient(135deg,#f7b500,#ffe08a)!important;
  color:#2b2100!important;
  font-weight:1000!important;
  text-decoration:none!important;
  box-shadow:0 10px 24px rgba(247,181,0,.20)!important;
}
.historyHomeLink:hover{
  transform:translateY(-1px)!important;
}
@media(max-width:720px){
  .historyHomeLink{
    width:100%!important;
    margin:.3rem 0!important;
  }
}


/* ===== GO WORLD SMART CBT - Official Music Experience ===== */
.gwMusicPrompt{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(4,13,28,.62);backdrop-filter:blur(10px)}
.gwMusicPromptCard{width:min(560px,94vw);position:relative;overflow:hidden;border-radius:30px;padding:1.35rem;background:radial-gradient(circle at top right,rgba(247,181,0,.25),transparent 36%),linear-gradient(145deg,#fff 0%,#f7fbff 55%,#fff7df 100%);border:1px solid rgba(247,181,0,.42);box-shadow:0 28px 80px rgba(0,0,0,.35)}
.gwMusicPromptCard:before{content:"MUSIC";position:absolute;right:-44px;top:22px;transform:rotate(35deg);background:linear-gradient(135deg,#082B65,#0B57D0);color:#fff;font-weight:1000;letter-spacing:.08em;padding:.35rem 3.2rem;font-size:.66rem}
.gwMusicPromptClose{position:absolute;top:14px;right:14px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#082B65;font-weight:1000;cursor:pointer;box-shadow:0 8px 20px rgba(4,24,55,.12)}
.gwMusicEyebrow{display:inline-flex;border-radius:999px;background:rgba(247,181,0,.18);color:#2b2100;padding:.38rem .7rem;font-size:.72rem;font-weight:1000;letter-spacing:.06em;text-transform:uppercase}
.gwMusicPromptCard h3{color:#082B65;font-size:clamp(1.45rem,3vw,2rem);margin:.8rem 0 .45rem;line-height:1.08}.gwMusicPromptCard p{color:#435571;font-weight:750;line-height:1.55;margin:0 0 1rem}
.gwMusicPromptActions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.gwMusicPromptActions button{border:0;border-radius:16px;padding:.85rem .8rem;font-weight:1000;cursor:pointer}
.gwMusicAllow{background:linear-gradient(135deg,#082B65,#0B57D0);color:#fff;box-shadow:0 12px 26px rgba(8,43,101,.20)}.gwMusicAllow.secondary{background:linear-gradient(135deg,#f7b500,#ffe08a);color:#2b2100}.gwMusicDecline{grid-column:1/-1;background:#eef4ff;color:#082B65}
.gwMusicWidget{position:fixed;right:18px;bottom:18px;z-index:9998;font-family:inherit}.gwMusicFab{min-width:108px;min-height:50px;border:0;border-radius:999px;padding:.62rem .9rem;background:linear-gradient(135deg,#f7b500,#ffe08a);color:#2b2100;font-weight:1000;display:flex;align-items:center;justify-content:center;gap:.42rem;cursor:pointer;box-shadow:0 18px 38px rgba(4,24,55,.24)}
.gwMusicFabIcon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#082B65;color:#fff}.gwMusicWidget.isPlaying .gwMusicFab{background:linear-gradient(135deg,#082B65,#0B57D0);color:#fff}.gwMusicWidget.isPlaying .gwMusicFabIcon{background:#f7b500;color:#2b2100;animation:gwMusicPulse 1.15s ease-in-out infinite}@keyframes gwMusicPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.gwMusicPanel{position:absolute;right:0;bottom:62px;width:260px;display:none;border-radius:24px;padding:.85rem;background:#fff;border:1px solid rgba(8,43,101,.14);box-shadow:0 22px 60px rgba(4,24,55,.22)}.gwMusicWidget.open .gwMusicPanel{display:block}.gwMusicPanelHead{padding:.35rem .35rem .65rem}.gwMusicPanelHead b{display:block;color:#082B65;font-size:1rem}.gwMusicPanelHead small{display:block;color:#61738d;font-weight:850;margin-top:.12rem}
.gwMusicAction,.gwMusicMute,.gwMusicStop,.gwMusicReset{width:100%;border:0;border-radius:14px;padding:.72rem .75rem;margin:.22rem 0;font-weight:1000;cursor:pointer;text-align:left}.gwMusicAction{background:linear-gradient(135deg,#082B65,#0B57D0);color:#fff}.gwMusicMute{background:#eef4ff;color:#082B65}.gwMusicStop{background:#fff0ef;color:#a81919}.gwMusicReset{background:#fff7dc;color:#2b2100}.gwMusicVolumeWrap{display:block;margin:.55rem .15rem .35rem;color:#082B65;font-weight:950;font-size:.8rem}.gwMusicVolumeWrap span{display:block;margin-bottom:.25rem}.gwMusicVolume{width:100%}
.gwMusicToast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%) translateY(16px);z-index:10000;background:#082B65;color:#fff;border-bottom:3px solid #f7b500;border-radius:999px;padding:.75rem 1rem;font-weight:1000;box-shadow:0 14px 34px rgba(4,24,55,.25);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}.gwMusicToast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:640px){.gwMusicWidget{right:12px;bottom:12px}.gwMusicPanel{width:min(270px,calc(100vw - 24px))}.gwMusicPromptActions{grid-template-columns:1fr}.gwMusicDecline{grid-column:auto}}


/* ===== Final Practical UI Upgrade: Latest Update, Subject Badges, Friendly Empty Bank ===== */
.publicLatestUpdateRibbon{
  width:min(1160px,calc(100% - 2rem));
  margin:1rem auto;
  border-radius:20px;
  padding:.85rem 1rem;
  background:
    radial-gradient(circle at top right, rgba(247,181,0,.20), transparent 35%),
    linear-gradient(135deg,#082B65,#0B57D0);
  color:#fff;
  border-bottom:4px solid #f7b500;
  box-shadow:0 16px 35px rgba(4,24,55,.14);
  display:flex;
  gap:.45rem;
  align-items:center;
  flex-wrap:wrap;
}
.publicLatestUpdateRibbon b{
  color:#ffe08a;
  font-weight:1000;
}
.publicLatestUpdateRibbon span{
  font-weight:780;
  color:#eef5ff;
}

.subjectUpdateRibbon{
  margin:.9rem 0 1rem;
  border-radius:20px;
  padding:.9rem 1rem;
  background:
    radial-gradient(circle at top right, rgba(247,181,0,.20), transparent 35%),
    linear-gradient(145deg,#ffffff 0%,#f7fbff 62%,#fff8e3 100%);
  border:1px solid rgba(247,181,0,.36);
  box-shadow:0 12px 30px rgba(4,24,55,.08);
}
.subjectUpdateRibbon b{
  display:block;
  color:#082B65;
  font-size:.98rem;
  line-height:1.35;
}
.subjectUpdateRibbon span{
  display:block;
  color:#61738d;
  font-weight:750;
  margin-top:.25rem;
  font-size:.82rem;
}

.subjectCard{
  position:relative!important;
  overflow:hidden!important;
}
.subjectCard.ready{
  border-color:rgba(8,122,54,.22)!important;
}
.subjectCard.notReady{
  opacity:.93;
  border-color:rgba(247,181,0,.26)!important;
}
.subjectCardTop{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
}
.subjectStatusBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:.28rem .62rem;
  border-radius:999px;
  font-size:.68rem;
  font-weight:1000;
  letter-spacing:.03em;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(4,24,55,.10);
}
.subjectStatusBadge.available{
  background:#e9fff2;
  color:#087a36;
  border:1px solid rgba(8,122,54,.18);
}
.subjectStatusBadge.updated{
  background:linear-gradient(135deg,#082B65,#0B57D0);
  color:#fff;
  border:1px solid rgba(255,255,255,.20);
}
.subjectStatusBadge.updating{
  background:#fff7dc;
  color:#8a6400;
  border:1px solid rgba(247,181,0,.35);
}
.subjectStatusBadge.coming{
  background:#fff0ef;
  color:#a81919;
  border:1px solid rgba(168,25,25,.18);
}

.subjectStatusNote{
  display:inline-flex;
  margin-left:.45rem;
  font-size:.74rem;
  font-weight:950;
  border-radius:999px;
  padding:.24rem .5rem;
  vertical-align:middle;
}
.subjectStatusNote.available,
.subjectStatusNote.updated{
  background:rgba(8,122,54,.08);
  color:#087a36;
}
.subjectStatusNote.updating{
  background:rgba(247,181,0,.14);
  color:#8a6400;
}
.subjectStatusNote.coming{
  background:rgba(168,25,25,.08);
  color:#a81919;
}

.realStatusItem{
  align-items:flex-start!important;
}
.realStatusItem.disabled,
.realStatusItem:has(input:disabled){
  opacity:.62;
  filter:grayscale(.18);
}
.realStatusItem .subjectStatusBadge{
  margin-left:.35rem;
  min-height:22px;
  font-size:.62rem;
  padding:.2rem .45rem;
}

.subjectEmptyState{
  padding:1.2rem;
  background:#fff;
  border:2px dashed rgba(8,43,101,.18);
  color:#082B65;
  border-radius:20px;
  font-weight:850;
}

.questionBankNotice{
  position:fixed;
  inset:0;
  z-index:10020;
  display:none;
  align-items:center;
  justify-content:center;
  padding:1rem;
  background:rgba(4,13,28,.66);
  backdrop-filter:blur(10px);
}
.questionBankNotice.open{
  display:flex;
}
.questionBankNoticeCard{
  width:min(560px,94vw);
  position:relative;
  overflow:hidden;
  border-radius:30px;
  padding:1.35rem;
  background:
    radial-gradient(circle at top right, rgba(247,181,0,.22), transparent 36%),
    linear-gradient(145deg,#ffffff 0%,#f7fbff 56%,#fff7df 100%);
  border:1px solid rgba(247,181,0,.42);
  box-shadow:0 30px 82px rgba(0,0,0,.34);
}
.questionBankNoticeCard:before{
  content:"UPDATE";
  position:absolute;
  right:-44px;
  top:24px;
  transform:rotate(35deg);
  background:linear-gradient(135deg,#f7b500,#ffe08a);
  color:#2b2100;
  font-weight:1000;
  letter-spacing:.08em;
  padding:.35rem 3.2rem;
  font-size:.66rem;
}
.qbClose{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#082B65;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(4,24,55,.12);
}
.qbEyebrow{
  display:inline-flex;
  border-radius:999px;
  background:rgba(8,43,101,.08);
  color:#082B65;
  padding:.38rem .7rem;
  font-size:.72rem;
  font-weight:1000;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.questionBankNoticeCard h3{
  color:#082B65;
  font-size:clamp(1.35rem,3vw,1.95rem);
  margin:.8rem 0 .45rem;
  line-height:1.12;
  max-width:88%;
}
.questionBankNoticeCard p{
  color:#435571;
  font-weight:780;
  line-height:1.55;
}
.qbCountLine{
  background:#eef4ff;
  padding:.72rem .8rem;
  border-radius:16px;
}
.qbAdvice{
  background:#fff;
  border-left:4px solid #f7b500;
  border-radius:16px;
  padding:.8rem;
  color:#082B65;
  font-weight:800;
  margin:.9rem 0;
}
.qbPrimary{
  width:100%;
  border:0;
  border-radius:18px;
  padding:.88rem 1rem;
  background:linear-gradient(135deg,#082B65,#0B57D0);
  color:#fff;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(8,43,101,.20);
}

@media(max-width:720px){
  .subjectCardTop{
    position:static;
    display:block;
    margin:.15rem 0 .45rem;
  }
  .subjectStatusNote{
    display:flex;
    width:max-content;
    margin:.45rem 0 0;
  }
  .publicLatestUpdateRibbon{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* ===== GO WORLD SMART CBT - Live Success Ticker ===== */
.liveSuccessTicker{
  width:min(1160px,calc(100% - 2rem));
  margin:.65rem auto 1rem;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:.65rem;
  border-radius:22px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(247,181,0,.18), transparent 36%),
    linear-gradient(135deg,#041837,#082B65,#0B57D0);
  border:1px solid rgba(255,255,255,.14);
  border-bottom:4px solid #f7b500;
  color:#fff;
  box-shadow:0 18px 40px rgba(4,24,55,.16);
}
.liveTickerLabel{
  min-height:58px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:.72rem .95rem;
  background:rgba(247,181,0,.13);
  border-right:1px solid rgba(255,255,255,.16);
}
.liveTickerLabel b{
  color:#ffe08a;
  font-size:.82rem;
  font-weight:1000;
  letter-spacing:.06em;
}
.liveTickerLabel span{
  color:#eef5ff;
  font-size:.68rem;
  font-weight:850;
  margin-top:.12rem;
}
.liveTickerWindow{
  position:relative;
  overflow:hidden;
  min-height:58px;
  display:flex;
  align-items:center;
}
.liveTickerWindow:before,
.liveTickerWindow:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:70px;
  z-index:2;
  pointer-events:none;
}
.liveTickerWindow:before{
  left:0;
  background:linear-gradient(90deg,#082B65,transparent);
}
.liveTickerWindow:after{
  right:0;
  background:linear-gradient(270deg,#0B57D0,transparent);
}
.liveTickerTrack{
  display:inline-flex;
  gap:1.2rem;
  align-items:center;
  white-space:nowrap;
  will-change:transform;
  animation:gwLiveTickerScroll 48s linear infinite;
  padding-left:100%;
  font-weight:900;
  color:#ffffff;
}
.liveTickerTrack span{
  display:inline-flex;
  align-items:center;
  color:#ffffff;
  text-shadow:0 1px 0 rgba(0,0,0,.18);
}
.liveSuccessTicker:hover .liveTickerTrack{
  animation-play-state:paused;
}
@keyframes gwLiveTickerScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.subjectUpdateRibbon + .liveSuccessTicker{
  width:100%;
  margin:.65rem 0 1rem;
}
.publicLatestUpdateRibbon + .liveSuccessTicker{
  margin-top:-.35rem;
}
@media(max-width:720px){
  .liveSuccessTicker{
    grid-template-columns:1fr;
    gap:0;
    border-radius:20px;
  }
  .liveTickerLabel{
    min-height:auto;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:.45rem;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.16);
    padding:.55rem .85rem;
  }
  .liveTickerWindow{
    min-height:48px;
  }
  .liveTickerTrack{
    font-size:.85rem;
  }
}


/* ===== GO WORLD SMART CBT - Live Success Ticker V2 Stability Fix ===== */
.liveSuccessTickerV2 .liveTickerWindow{overflow:hidden!important;}
.liveSuccessTickerV2 .liveTickerTrack{display:flex!important;width:max-content!important;min-width:200%!important;gap:0!important;padding-left:0!important;transform:translate3d(0,0,0);will-change:transform;animation:gwLiveTickerScrollV2 58s linear infinite!important;animation-play-state:running!important;}
.liveSuccessTickerV2 .liveTickerSet{display:inline-flex!important;align-items:center!important;gap:1.2rem!important;white-space:nowrap!important;padding-right:1.2rem!important;flex:0 0 auto!important;}
.liveSuccessTickerV2 .liveTickerSet span{display:inline-flex!important;align-items:center!important;color:#ffffff!important;text-shadow:0 1px 0 rgba(0,0,0,.18);}
.liveSuccessTickerV2:hover .liveTickerTrack,.liveSuccessTicker:hover .liveTickerTrack{animation-play-state:running!important;}
@keyframes gwLiveTickerScrollV2{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.liveTickerTrack{animation-play-state:running!important;}
@media (prefers-reduced-motion: reduce){.liveSuccessTickerV2 .liveTickerTrack{animation-duration:90s!important;}}


/* ===== GO WORLD SMART CBT - Live Success Ticker V3 Permanent Scroll Fix ===== */
.liveSuccessTickerV3{
  width:min(1160px,calc(100% - 2rem));
  margin:.65rem auto 1rem;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:.65rem!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at top right, rgba(247,181,0,.18), transparent 36%),
    linear-gradient(135deg,#041837,#082B65,#0B57D0)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-bottom:4px solid #f7b500!important;
  color:#fff!important;
  box-shadow:0 18px 40px rgba(4,24,55,.16)!important;
}
.liveSuccessTickerV3 .liveTickerLabel{
  min-height:58px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:.72rem .95rem!important;
  background:rgba(247,181,0,.13)!important;
  border-right:1px solid rgba(255,255,255,.16)!important;
}
.liveSuccessTickerV3 .liveTickerLabel b{
  color:#ffe08a!important;
  font-size:.82rem!important;
  font-weight:1000!important;
  letter-spacing:.06em!important;
}
.liveSuccessTickerV3 .liveTickerLabel span{
  color:#eef5ff!important;
  font-size:.68rem!important;
  font-weight:850!important;
  margin-top:.12rem!important;
}
.liveSuccessTickerV3 .liveTickerWindow{
  position:relative!important;
  overflow:hidden!important;
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
}
.liveSuccessTickerV3 .liveTickerWindow:before,
.liveSuccessTickerV3 .liveTickerWindow:after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  width:70px!important;
  z-index:2!important;
  pointer-events:none!important;
}
.liveSuccessTickerV3 .liveTickerWindow:before{
  left:0!important;
  background:linear-gradient(90deg,#082B65,transparent)!important;
}
.liveSuccessTickerV3 .liveTickerWindow:after{
  right:0!important;
  background:linear-gradient(270deg,#0B57D0,transparent)!important;
}
.liveSuccessTickerV3 .liveTickerTrack{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  width:max-content!important;
  min-width:max-content!important;
  white-space:nowrap!important;
  transform:translate3d(0,0,0);
  will-change:transform!important;
  animation:none!important;
  transition:none!important;
  padding-left:0!important;
  flex-wrap:nowrap!important;
}
.liveSuccessTickerV3 .liveTickerSet{
  display:inline-flex!important;
  align-items:center!important;
  gap:1.2rem!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
  padding-right:1.2rem!important;
}
.liveSuccessTickerV3 .liveTickerSet span{
  display:inline-flex!important;
  align-items:center!important;
  color:#ffffff!important;
  font-weight:900!important;
  text-shadow:0 1px 0 rgba(0,0,0,.18)!important;
}
.liveSuccessTickerV3:hover .liveTickerTrack,
.liveSuccessTicker:hover .liveTickerTrack{
  animation:none!important;
}
.subjectUpdateRibbon + .liveSuccessTickerV3{
  width:100%!important;
  margin:.65rem 0 1rem!important;
}
.publicLatestUpdateRibbon + .liveSuccessTickerV3{
  margin-top:-.35rem!important;
}
@media(max-width:720px){
  .liveSuccessTickerV3{
    grid-template-columns:1fr!important;
    gap:0!important;
    border-radius:20px!important;
  }
  .liveSuccessTickerV3 .liveTickerLabel{
    min-height:auto!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:.45rem!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.16)!important;
    padding:.55rem .85rem!important;
  }
  .liveSuccessTickerV3 .liveTickerWindow{
    min-height:48px!important;
  }
  .liveSuccessTickerV3 .liveTickerSet span{
    font-size:.85rem!important;
  }
}


/* ===== GO WORLD SMART CBT - Live Success Ticker V4 Global Dock Fix ===== */
.globalLiveTickerDock{
  display:block!important;
  width:100%!important;
  position:relative!important;
  z-index:1200!important;
  visibility:visible!important;
  opacity:1!important;
  padding:.55rem 1rem .25rem!important;
  background:
    linear-gradient(180deg,rgba(244,248,255,.98),rgba(244,248,255,.88))!important;
}
.globalLiveTickerDock[hidden]{
  display:block!important;
}
.globalLiveTickerDock .liveSuccessTickerV4{
  width:min(1160px,100%)!important;
  margin:0 auto .55rem!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:.65rem!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at top right, rgba(247,181,0,.18), transparent 36%),
    linear-gradient(135deg,#041837,#082B65,#0B57D0)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-bottom:4px solid #f7b500!important;
  color:#fff!important;
  box-shadow:0 18px 40px rgba(4,24,55,.16)!important;
  visibility:visible!important;
  opacity:1!important;
}
.globalLiveTickerDock .liveTickerLabel{
  min-height:58px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:.72rem .95rem!important;
  background:rgba(247,181,0,.13)!important;
  border-right:1px solid rgba(255,255,255,.16)!important;
}
.globalLiveTickerDock .liveTickerLabel b{
  color:#ffe08a!important;
  font-size:.82rem!important;
  font-weight:1000!important;
  letter-spacing:.06em!important;
}
.globalLiveTickerDock .liveTickerLabel span{
  color:#eef5ff!important;
  font-size:.68rem!important;
  font-weight:850!important;
  margin-top:.12rem!important;
}
.globalLiveTickerDock .liveTickerWindow{
  position:relative!important;
  overflow:hidden!important;
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
}
.globalLiveTickerDock .liveTickerWindow:before,
.globalLiveTickerDock .liveTickerWindow:after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  width:70px!important;
  z-index:2!important;
  pointer-events:none!important;
}
.globalLiveTickerDock .liveTickerWindow:before{
  left:0!important;
  background:linear-gradient(90deg,#082B65,transparent)!important;
}
.globalLiveTickerDock .liveTickerWindow:after{
  right:0!important;
  background:linear-gradient(270deg,#0B57D0,transparent)!important;
}
.globalLiveTickerDock .liveTickerTrack{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  width:max-content!important;
  min-width:max-content!important;
  white-space:nowrap!important;
  transform:translate3d(0,0,0);
  will-change:transform!important;
  animation:none!important;
  transition:none!important;
  padding-left:0!important;
  flex-wrap:nowrap!important;
}
.globalLiveTickerDock .liveTickerSet{
  display:inline-flex!important;
  align-items:center!important;
  gap:1.2rem!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
  padding-right:1.2rem!important;
}
.globalLiveTickerDock .liveTickerSet span{
  display:inline-flex!important;
  align-items:center!important;
  color:#ffffff!important;
  font-weight:900!important;
  text-shadow:0 1px 0 rgba(0,0,0,.18)!important;
}
.globalLiveTickerDock:hover .liveTickerTrack,
.liveSuccessTicker:hover .liveTickerTrack{
  animation:none!important;
}
.subjectUpdateRibbon + .liveSuccessTicker,
.publicLatestUpdateRibbon + .liveSuccessTicker{
  display:none!important;
}
body.hasGlobalLiveTickerDock #liveSuccessTicker:not(#globalLiveTickerDock #liveSuccessTicker){
  display:none!important;
}
@media(max-width:720px){
  .globalLiveTickerDock{
    padding:.45rem .7rem .2rem!important;
  }
  .globalLiveTickerDock .liveSuccessTickerV4{
    grid-template-columns:1fr!important;
    gap:0!important;
    border-radius:20px!important;
  }
  .globalLiveTickerDock .liveTickerLabel{
    min-height:auto!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:.45rem!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.16)!important;
    padding:.55rem .85rem!important;
  }
  .globalLiveTickerDock .liveTickerWindow{
    min-height:48px!important;
  }
  .globalLiveTickerDock .liveTickerSet span{
    font-size:.85rem!important;
  }
}


/* ============================================================
   DIRECT SOURCE FIX V5 — REQUESTS 2, 4 AND 5
   Loaded last to override older oversized rules.
   ============================================================ */

/* 2. Real dashboard controls: compact premium power buttons */
.dashboardActions.compactPowerActions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  padding:12px!important;
  align-content:start!important;
}
.dashboardActions .compactPowerBtn{
  min-height:58px!important;
  height:58px!important;
  padding:7px 10px!important;
  border-radius:15px!important;
  display:grid!important;
  grid-template-columns:28px 1fr!important;
  grid-template-rows:auto auto!important;
  column-gap:7px!important;
  row-gap:0!important;
  align-items:center!important;
  justify-content:start!important;
  text-align:left!important;
  box-shadow:0 8px 17px rgba(4,24,55,.15)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  transform:none!important;
}
.dashboardActions .compactPowerBtn:before{height:4px!important;opacity:.75!important}
.dashboardActions .compactPowerBtn i{
  grid-row:1/3!important;
  width:28px!important;height:28px!important;
  border-radius:9px!important;
  display:grid!important;place-items:center!important;
  background:rgba(255,255,255,.18)!important;
  font-style:normal!important;font-size:14px!important;font-weight:950!important;
}
.dashboardActions .compactPowerBtn span{
  font-size:10px!important;line-height:1.05!important;
  text-transform:uppercase!important;letter-spacing:.045em!important;
  opacity:.86!important;margin:0!important;
}
.dashboardActions .compactPowerBtn b{
  font-size:12.5px!important;line-height:1.1!important;
  margin:0!important;white-space:normal!important;
}
.dashboardActions .compactPowerBtn:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 23px rgba(4,24,55,.21)!important;
}
.purpleDash{background:linear-gradient(135deg,#6d36b3,#43207e)!important;color:#fff!important}

/* 4. Slim toolbar placed directly above #qText */
#examAssistPanel.compactExamToolbar{
  display:block!important;
  width:100%!important;
  min-height:0!important;
  margin:0 0 9px!important;
  padding:7px 8px!important;
  border:1px solid #c9daf2!important;
  border-left:4px solid #0B57D0!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#ffffff,#f5f9ff)!important;
  box-shadow:0 5px 13px rgba(4,24,55,.07)!important;
  clear:none!important;
  z-index:2!important;
}
.compactExamMainRow{
  display:grid!important;
  grid-template-columns:auto minmax(110px,1fr) auto auto!important;
  align-items:center!important;
  gap:8px!important;
  min-height:30px!important;
}
.compactExamTitle{display:flex!important;align-items:center!important;gap:7px!important;white-space:nowrap!important}
.compactExamTitle b{font-size:11px!important;color:#082B65!important;text-transform:uppercase!important;letter-spacing:.035em!important}
.compactExamTitle span{font-size:10px!important;color:#506887!important;font-weight:900!important}
.compactProgressTrack{height:6px!important;border-radius:99px!important;background:#dfe9f6!important;overflow:hidden!important}
.compactProgressTrack i{display:block!important;height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,#0C8A4B,#18b469)!important;transition:width .2s ease!important}
.compactExamStats{display:flex!important;gap:5px!important;align-items:center!important}
.compactExamStats>span{
  min-width:45px!important;height:29px!important;padding:3px 6px!important;
  border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;
  color:#fff!important;box-shadow:none!important;
}
.compactExamStats small{font-size:8px!important;font-weight:900!important;text-transform:uppercase!important;line-height:1!important}
.compactExamStats b{font-size:12px!important;line-height:1!important;margin:0!important}
.compactExamStats .answered{background:#087a36!important}.compactExamStats .unanswered{background:#bd2727!important}.compactExamStats .current{background:#0B57D0!important}
.compactGuideToggle{
  min-height:29px!important;height:29px!important;padding:4px 8px!important;
  border:0!important;border-radius:8px!important;background:#082B65!important;color:#fff!important;
  font-size:10px!important;font-weight:900!important;cursor:pointer!important;white-space:nowrap!important;
}
.compactGuideBody{
  margin-top:6px!important;padding:6px 8px!important;border-radius:8px!important;
  background:#fff8dd!important;border:1px solid #efd170!important;color:#3a2b00!important;
  font-size:10.5px!important;line-height:1.3!important;
}
.compactGuideBody[hidden]{display:none!important}
.compactLegend{float:right!important;display:inline-flex!important;align-items:center!important;gap:4px!important;color:#405572!important;font-weight:850!important}
.compactLegend i{width:8px!important;height:8px!important;border-radius:50%!important;display:inline-block!important;margin-left:5px!important}
.compactLegend i.green{background:#087a36!important}.compactLegend i.red{background:#bd2727!important}.compactLegend i.blue{background:#0B57D0!important}
.questionCard>#qText{margin-top:4px!important}

/* 5. Real Review modal post-submit action group */
.reviewPostSubmitActions{
  position:sticky!important;bottom:0!important;z-index:8!important;
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;padding:10px 14px!important;background:rgba(255,255,255,.97)!important;
  border-top:1px solid #d7e4f6!important;box-shadow:0 -8px 20px rgba(4,24,55,.08)!important;
}
.reviewPostSubmitActions button{
  min-height:38px!important;padding:7px 10px!important;border:0!important;border-radius:11px!important;
  font-size:11px!important;font-weight:900!important;cursor:pointer!important;color:#fff!important;
}
.returnScoreAction{background:linear-gradient(135deg,#082B65,#0B57D0)!important}
.printReviewAction{background:linear-gradient(135deg,#56657a,#2f3c50)!important}
.certificateReviewAction{background:linear-gradient(135deg,#a96f00,#e0a516)!important;color:#211600!important}
.returnPortalAction{background:linear-gradient(135deg,#087a36,#0fa25b)!important}
.returnScorePulse{animation:returnScorePulse 1.1s ease}
@keyframes returnScorePulse{0%,100%{box-shadow:0 22px 60px rgba(4,24,55,.12)}50%{box-shadow:0 0 0 7px rgba(11,87,208,.18),0 22px 60px rgba(4,24,55,.16)}}

@media(max-width:900px){
  .dashboardActions.compactPowerActions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .compactExamMainRow{grid-template-columns:auto 1fr auto!important}
  .compactExamStats{grid-column:1/3!important;grid-row:2!important}
  .compactGuideToggle{grid-column:3!important;grid-row:2!important}
  .reviewPostSubmitActions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .dashboardActions.compactPowerActions{grid-template-columns:1fr 1fr!important;gap:7px!important;padding:8px!important}
  .dashboardActions .compactPowerBtn{height:52px!important;min-height:52px!important;padding:6px 7px!important;grid-template-columns:24px 1fr!important}
  .dashboardActions .compactPowerBtn i{width:24px!important;height:24px!important;font-size:12px!important}
  .dashboardActions .compactPowerBtn span{font-size:8.5px!important}.dashboardActions .compactPowerBtn b{font-size:10.5px!important}
  #examAssistPanel.compactExamToolbar{padding:6px!important;margin-bottom:7px!important}
  .compactExamMainRow{display:flex!important;flex-wrap:wrap!important;gap:5px!important}
  .compactExamTitle{width:100%!important;justify-content:space-between!important}
  .compactProgressTrack{order:2!important;flex:1 1 100%!important}
  .compactExamStats{order:3!important;flex:1!important;gap:4px!important}
  .compactExamStats>span{flex:1!important;min-width:0!important;height:27px!important;padding:2px 4px!important}
  .compactExamStats small{font-size:7px!important}.compactExamStats b{font-size:11px!important}
  .compactGuideToggle{order:4!important;height:27px!important;min-height:27px!important}
  .compactLegend{float:none!important;display:flex!important;flex-wrap:wrap!important;margin-top:4px!important}
  .reviewPostSubmitActions{grid-template-columns:1fr 1fr!important;padding:8px!important;gap:6px!important}
  .reviewPostSubmitActions button{font-size:9.5px!important;min-height:35px!important;padding:6px!important}
}


/* ===== Tester Feedback UI Refinement — 17 July 2026 ===== */
:root{
  --gw-heading-blue:#082b65;
  --gw-highlight-sky:#e8f5ff;
  --gw-highlight-sky-strong:#8fd3ff;
  --gw-body-text:#20252b;
  --gw-secondary-text:#56616f;
}

/* Clear typographic hierarchy: headings blue, body copy black and regular. */
body, input, select, textarea, button{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body, main, .screen, .panel, .profileBox, .resultCard, .analyticsBox{
  color:var(--gw-body-text);
  font-weight:400;
}
p, li, label, span, small, td, th, .hero-text p, .sectionHead p,
.authPanel p, .goProductCard span, .profileBox p{
  color:var(--gw-body-text);
  font-weight:400;
}
h1,h2,h3,h4,h5,h6,.sectionHead h2,.authPanel h3,.goProductsHead h3{
  color:var(--gw-heading-blue);
}
/* Reserve strong weight for headings and genuinely important labels. */
h1,h2{font-weight:700}
h3,h4,h5,h6{font-weight:600}
.card span,.feature-cards span,.profileBox span,.resultCard span,
.authPanel label,.analyticsBox span{font-weight:400}

/* Sky-blue is used for highlights instead of turning whole passages blue. */
.pill,.ribbon-pill,.highlight,.infoBadge,.statusBadge{
  background:var(--gw-highlight-sky);
  color:var(--gw-heading-blue);
}
a:not(.button):not(.ribbonBtn){color:#1677b8}

/* Softer, regular placeholder text. */
input::placeholder,textarea::placeholder{
  color:rgba(32,37,43,.46) !important;
  opacity:1 !important;
  font-weight:400 !important;
}
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{
  color:rgba(32,37,43,.46) !important;
  font-weight:400 !important;
}
.authPanel input,.authPanel select,.authPanel textarea{
  font-weight:400 !important;
  color:var(--gw-body-text) !important;
}
.authPanel select:invalid{color:rgba(32,37,43,.50) !important}

/* Compact two-part registration card. */
.registrationSplitCard{
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:0;
  overflow:hidden;
  padding:0 !important;
  align-items:stretch;
}
.registrationFormSide{
  padding:clamp(1rem,2vw,1.55rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.registrationFormSide h3{margin:.1rem 0 .35rem}
.registrationFormSide>p{margin:0 0 .85rem;color:var(--gw-secondary-text)}
.registrationGrid{gap:.65rem !important}
.registrationGrid input,.registrationGrid select{
  min-height:46px !important;
  padding:.72rem .85rem !important;
}
.registrationSubmit{margin-top:.85rem;min-height:46px}
.registrationPhotoSide{
  position:relative;
  min-height:340px;
  background:#082b65;
  overflow:hidden;
}
.registrationPhotoSide img{
  width:100%;height:100%;display:block;object-fit:cover;object-position:center;
}
.registrationPhotoSide:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(4,24,55,.03) 35%,rgba(4,24,55,.88) 100%);
}
.registrationPhotoCaption{
  position:absolute;z-index:2;left:1rem;right:1rem;bottom:1rem;color:#fff;
}
.registrationPhotoCaption span{
  display:inline-flex;background:rgba(143,211,255,.94);color:#082b65;
  border-radius:999px;padding:.32rem .65rem;font-weight:600;font-size:.76rem;
}
.registrationPhotoCaption strong{
  display:block;margin-top:.5rem;color:#fff;font-size:1rem;line-height:1.35;font-weight:600;
}

/* Music panel copy follows the same regular-weight rule. */
.gwMusicPromptCard p,.gwMusicPanelHead small{font-weight:400}
.gwMusicVolumeWrap{font-weight:500}

@media(max-width:820px){
  .registrationSplitCard{grid-template-columns:1fr}
  .registrationPhotoSide{min-height:240px;order:2}
}
@media(max-width:560px){
  .registrationGrid{grid-template-columns:1fr !important}
  .registrationFormSide{padding:1rem}
  .registrationPhotoSide{min-height:210px}
}

/* ===== Tester Feedback Follow-up — 17 July 2026 ===== */
/* Registration form gets more horizontal working space; the photo remains prominent. */
.registrationSplitCard{
  grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr) !important;
}
#registerPanel .registrationFormSide{
  padding-left:clamp(.85rem,1.5vw,1.25rem) !important;
  padding-right:clamp(1rem,2vw,1.55rem) !important;
}
#registerPanel .registrationGrid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  width:100% !important;
  max-width:none !important;
  margin:.85rem 0 .65rem !important;
  gap:.7rem !important;
}
#registerPanel .registrationGrid input,
#registerPanel .registrationGrid select{
  width:100% !important;
  min-width:0 !important;
}
#saveProfileBtn,
#registerPanel .registrationSubmit{
  width:100% !important;
  max-width:none !important;
  margin:.75rem 0 .25rem !important;
  color:#ffffff !important;
}
#saveProfileBtn span,
#saveProfileBtn small{
  color:#ffffff !important;
}

/* Restore the former high-contrast product text colours on the dark product panel. */
.goProductsBox,
.goProductsBox .goProductsHead,
.goProductsBox .goProductsGrid{
  color:#ffffff !important;
}
.goProductsBox .goProductsHead h3{
  color:#ffffff !important;
}
.goProductsBox .goProductsHead p{
  color:#dbeafe !important;
  font-weight:400 !important;
}
.goProductsBox .goProductsContact,
.goProductsBox .goProductsContact b{
  color:#ffffff !important;
}
.goProductsBox .goProductCard b{
  color:#ffe08a !important;
}
.goProductsBox .goProductCard span{
  color:#eaf3ff !important;
  font-weight:400 !important;
}

/* Keep the supplied CBT crowd photograph bright and readable. */
.registrationPhotoSide img{
  filter:brightness(1.06) contrast(1.03) saturate(1.03);
  object-position:center center;
}

@media(max-width:900px){
  .registrationSplitCard{
    grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr) !important;
  }
}
@media(max-width:820px){
  .registrationSplitCard{grid-template-columns:1fr !important}
}
@media(max-width:620px){
  #registerPanel .registrationGrid{grid-template-columns:1fr !important}
}

/* ============================================================
   CANDIDATE DASHBOARD FOCUS UPDATE — 17 JULY 2026
   Registration Details, larger Power Buttons and Steps to Practice
   ============================================================ */
.profileGrid{
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;
  align-items:start!important;
}
.dashboardActions.compactPowerActions{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:13px!important;
  padding:16px!important;
}
.powerButtonsHeading{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:1px;
}
.powerButtonsHeading p{
  margin:0!important;
  color:#374151!important;
  font-size:.92rem!important;
  font-weight:400!important;
}
.dashboardActions .compactPowerBtn{
  min-height:82px!important;
  height:auto!important;
  padding:13px 14px!important;
  border-radius:17px!important;
  grid-template-columns:40px 1fr!important;
  column-gap:11px!important;
}
.dashboardActions .compactPowerBtn i{
  width:40px!important;
  height:40px!important;
  border-radius:12px!important;
  font-size:18px!important;
}
.dashboardActions .compactPowerBtn span{
  font-size:11px!important;
  line-height:1.2!important;
  letter-spacing:.055em!important;
  font-weight:600!important;
}
.dashboardActions .compactPowerBtn b{
  font-size:15px!important;
  line-height:1.22!important;
  font-weight:800!important;
}
.stepsToPractice{
  grid-column:1/-1;
  margin-top:2px;
  padding:18px 20px 20px;
  border-radius:24px;
  border:1px solid var(--bd);
  background:linear-gradient(180deg,#ffffff,#f4f9ff);
  box-shadow:0 10px 28px rgba(6,31,85,.08);
}
.stepsPracticeHead{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.stepsPracticeHead h3{
  margin:0!important;
  color:var(--b2)!important;
  font-size:1.35rem!important;
}
.practiceStepsRow{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
.practiceStep,.practiceEnjoy{
  min-height:106px;
  padding:13px 12px;
  border-radius:16px;
  background:#fff;
  border:1px solid #d8e4f2;
  display:flex;
  flex-direction:column;
  gap:7px;
  justify-content:center;
}
.practiceStep b,.practiceEnjoy b{
  color:var(--b2)!important;
  font-size:.82rem!important;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.practiceStep span,.practiceEnjoy span{
  color:#202a38!important;
  font-size:.9rem!important;
  line-height:1.38!important;
  font-weight:400!important;
}
.practiceEnjoy{
  background:linear-gradient(135deg,var(--b3),var(--b2));
  border-color:transparent;
}
.practiceEnjoy b,.practiceEnjoy span{color:#fff!important}
@media(max-width:1050px){
  .profileGrid{grid-template-columns:1fr!important}
  .practiceStepsRow{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:650px){
  .dashboardActions.compactPowerActions{grid-template-columns:1fr!important;padding:11px!important}
  .powerButtonsHeading{display:block!important}
  .powerButtonsHeading p{margin-top:7px!important}
  .dashboardActions .compactPowerBtn{min-height:72px!important}
  .practiceStepsRow{grid-template-columns:1fr!important}
  .practiceStep,.practiceEnjoy{min-height:auto!important}
}


/* Community, announcements and newsletter patch */
.cyanDash{background:linear-gradient(135deg,#0284c7,#06b6d4)!important}.orangeDash{background:linear-gradient(135deg,#c2410c,#f59e0b)!important}.navyDash{background:linear-gradient(135deg,#172554,#1d4ed8)!important}
.communityScreen{padding-bottom:45px}.communityHero{display:flex;justify-content:space-between;gap:24px;align-items:center;border-radius:24px;padding:28px;margin-bottom:18px;color:#fff;background:linear-gradient(135deg,#082f49,#0369a1);box-shadow:0 18px 45px #0f3b6824}.communityHero h2,.communityHero p{color:#fff}.announcementHero{background:linear-gradient(135deg,#7c2d12,#ea580c)}.newsletterHero{background:linear-gradient(135deg,#172554,#2563eb)}.communityStatus{display:flex;flex-direction:column;align-items:flex-end}.liveDot{width:11px;height:11px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 7px #4ade8030;margin-bottom:8px}.chatLayout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.chatMain{padding:0;overflow:hidden}.chatMessages{height:540px;overflow-y:auto;padding:22px;background:linear-gradient(#f8fbff,#eef6ff)}.chatBubble{max-width:78%;background:#fff;border:1px solid #dbe7f2;border-radius:5px 18px 18px 18px;padding:12px 15px;margin:0 0 13px;box-shadow:0 6px 16px #193a6110}.chatBubble.ownMessage{margin-left:auto;background:#dff4ff;border-radius:18px 5px 18px 18px}.chatBubble.adminMessage{background:#fff7d6;border-color:#f2cc5d}.chatMeta{display:flex;gap:8px;align-items:center;font-size:12px;margin-bottom:6px}.chatMeta time{margin-left:auto;color:#64748b}.adminBadge,.featuredBadge{font-size:10px;font-weight:800;background:#0b5fb6;color:#fff;padding:3px 7px;border-radius:999px}.chatBubble p{margin:0;color:#1f2937;font-weight:400}.chatComposer{padding:15px;border-top:1px solid #dbe7f2;background:#fff}.chatComposer textarea{min-height:80px;resize:vertical}.chatComposer>div{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.chatRules ul{padding-left:18px;line-height:1.8}.contentFeed{display:grid;gap:16px}.contentCard{background:#fff;border:1px solid #dce8f4;border-radius:20px;padding:22px;box-shadow:0 12px 30px #193a6110}.contentCard.featuredContent{border:2px solid #38bdf8}.contentCardTop{display:flex;align-items:center;gap:9px;color:#64748b;font-size:12px}.contentCardTop time{margin-left:auto}.contentType{font-weight:800;color:#0369a1;text-transform:uppercase}.contentCard h3{margin:12px 0 8px;color:#102a43}.contentBody{line-height:1.75;color:#263442;font-weight:400}.contentCta{display:inline-block;margin-top:15px;padding:10px 16px;border-radius:10px;background:#0b5fb6;color:#fff!important;text-decoration:none;font-weight:700}.emptyState{text-align:center;padding:35px;color:#64748b}.successNotice{background:#dcfce7;color:#166534;padding:10px;border-radius:9px}
@media(max-width:820px){.chatLayout{grid-template-columns:1fr}.communityHero{align-items:flex-start;flex-direction:column}.communityStatus{align-items:flex-start}.chatMessages{height:470px}.chatBubble{max-width:92%}}

/* Candidate Portal focus patch: keep More GO World Products on the public registration page,
   but hide it after a candidate has logged in. No other UI or functionality is changed. */
body.loggedIn .goProductsBox{
  display:none !important;
}


/* Registered-grade restriction: only the candidate's saved grade is shown. */
.registeredGradeOnly{
  width:100%;
  max-width:560px;
  margin-inline:auto;
  cursor:default!important;
  pointer-events:none;
}

/* GO WORLD SMART CBT Enterprise Dashboard v2.1 */
.enterpriseDashboard{display:grid;gap:20px}.enterpriseWelcome{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:30px;border-radius:24px;background:linear-gradient(125deg,#071a42 0%,#0b3c91 62%,#145fd0 100%);color:#fff;box-shadow:0 20px 48px rgba(7,26,66,.22)}.enterpriseWelcome:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(255,215,92,.25);border-radius:50%;right:-100px;top:-150px;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.025)}.welcomeCopy{position:relative;z-index:1}.enterpriseEyebrow,.enterpriseTag{font-size:11px;font-weight:900;letter-spacing:.13em;color:#ffd75c}.welcomeCopy h3{font-size:clamp(27px,4vw,43px);margin:7px 0 5px;color:#fff}.welcomeCopy>p{margin:0;color:#dce8ff}.welcomeMeta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.welcomeMeta span{display:grid;gap:3px;padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08);font-size:12px}.welcomeMeta b{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#ffd75c}.welcomeMark{position:relative;z-index:1;display:flex;align-items:center;gap:13px;min-width:190px}.welcomeMark svg{width:64px;height:64px;fill:#ffd75c;filter:drop-shadow(0 6px 10px rgba(0,0,0,.2))}.welcomeMark strong{font-size:20px;line-height:1.15}.enterpriseKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.enterpriseKpis article{padding:19px;border:1px solid #dce6f7;border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(18,52,105,.07)}.enterpriseKpis span,.enterpriseKpis small{display:block}.enterpriseKpis span{font-size:12px;font-weight:800;color:#5b6b85}.enterpriseKpis b{display:block;margin:7px 0 2px;font-size:29px;color:#09275d}.enterpriseKpis small{font-size:11px;color:#8995a8}.enterpriseMainGrid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px}.enterpriseActionsCard,.smartRecommendation,.licenseSummary,.recentActivityCard,.profileSummaryCard{padding:21px;border:1px solid #dce6f7;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(18,52,105,.07)}.enterpriseSectionTitle{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.enterpriseSectionTitle span{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#9a6a00}.enterpriseSectionTitle h3{margin:3px 0 0;color:#09275d}.enterpriseSectionTitle>button{border:0;background:#eef4ff;color:#0b4db4;padding:8px 11px;border-radius:9px;font-weight:800}.enterpriseActionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.enterpriseAction{display:flex;align-items:center;text-align:left;gap:12px;width:100%;min-height:75px;padding:13px;border:1px solid #e0e8f5;border-radius:15px;background:#f9fbff;color:#112b55;transition:.18s ease}.enterpriseAction:hover{transform:translateY(-2px);border-color:#98baf0;box-shadow:0 9px 20px rgba(19,73,157,.1)}.enterpriseAction.primaryAction{background:linear-gradient(135deg,#0b4db4,#0a2d70);color:#fff;border-color:transparent}.enterpriseAction i{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;background:#e8f0ff}.enterpriseAction.primaryAction i{background:rgba(255,255,255,.14)}.enterpriseAction svg{width:21px;height:21px;fill:currentColor}.enterpriseAction span{display:grid;gap:3px}.enterpriseAction b{font-size:14px}.enterpriseAction small{font-size:11px;opacity:.72}.enterpriseSideStack{display:grid;gap:18px}.smartRecommendation{background:linear-gradient(145deg,#fff9e6,#fff);border-color:#f1d37c}.smartRecommendation h3{margin:8px 0;color:#563e00}.smartRecommendation p{color:#665b3c;line-height:1.55}.licenseSummary{border-top:4px solid #17a35b}.licenseSummary.licenseWarn{border-top-color:#e0a100}.licenseSummary.licenseBad{border-top-color:#d83b43}.licenseMiniGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.licenseMiniGrid p{display:grid;gap:4px;margin:0;padding:10px;border-radius:10px;background:#f5f8fd}.licenseMiniGrid span{font-size:10px;color:#75829a}.licenseMiniGrid b{font-size:11px;color:#172f57}.licenseDigital{margin-top:11px;padding:11px;border-radius:10px;background:#071a42;color:#fff;text-align:center}.enterpriseLowerGrid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.activityEmpty{padding:20px;border:1px dashed #cbd7e9;border-radius:13px;color:#77839a;text-align:center}.recentActivityCard .activityEmpty:has(.activityIcon){display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;text-align:left;border-style:solid}.activityIcon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eaf2ff;color:#0b4db4}.activityIcon svg{width:21px;height:21px;fill:currentColor}.activityEmpty div:nth-child(2){display:grid;gap:3px}.activityEmpty span{font-size:11px}.activityEmpty strong{font-size:20px;color:#0b4db4}.profileSummaryRows{display:grid;gap:0}.profileSummaryRows p{display:flex;justify-content:space-between;gap:15px;margin:0;padding:10px 0;border-bottom:1px solid #edf1f7}.profileSummaryRows span{font-size:11px;color:#7a879d}.profileSummaryRows b{font-size:11px;text-align:right;color:#233b61}.enterpriseLogout{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:14px;padding:11px;border:1px solid #f0c5c8;border-radius:11px;background:#fff5f5;color:#a5212a;font-weight:800}.enterpriseLogout svg{width:17px;height:17px;fill:currentColor}
@media(max-width:900px){.enterpriseKpis{grid-template-columns:repeat(2,1fr)}.enterpriseMainGrid,.enterpriseLowerGrid{grid-template-columns:1fr}.welcomeMark{display:none}}
@media(max-width:560px){.enterpriseWelcome{padding:22px}.enterpriseKpis{grid-template-columns:1fr 1fr}.enterpriseKpis article{padding:14px}.enterpriseKpis b{font-size:23px}.enterpriseActionGrid{grid-template-columns:1fr}.licenseMiniGrid{grid-template-columns:1fr}.welcomeMeta{display:grid}.enterpriseLowerGrid{gap:14px}}

/* GO WORLD Study Centre — Enterprise v2.2.0 */
.studyCentreScreen{max-width:1500px;margin:0 auto}.studyCentreHero{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:34px;border-radius:28px;background:linear-gradient(135deg,#061a3a 0%,#0b3c88 62%,#b68a16 100%);color:#fff;box-shadow:0 24px 55px rgba(6,26,58,.22);margin-bottom:22px}.studyCentreHero h2{font-size:clamp(2rem,4vw,3.4rem);margin:10px 0}.studyCentreHero p{max-width:820px;font-size:1.05rem;line-height:1.7;color:#e9f1ff}.studyHeroMark{min-width:190px;text-align:center;padding:22px;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}.studyHeroMark b{display:block;font-size:3rem;color:#ffd86a}.studyHeroMark span{font-weight:800}.studyToolbar{display:grid;grid-template-columns:minmax(260px,1.6fr) 1fr 1fr auto;gap:12px;align-items:center;margin-bottom:22px}.studyToolbar input,.studyToolbar select{margin:0}.studySectionHead span{font-size:.78rem;font-weight:900;letter-spacing:.12em;color:#a27500;text-transform:uppercase}.studySectionHead h3{margin:4px 0 14px}.studyFeatured{margin:22px 0}.studyFeaturedGrid,.studyResourceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.studyResourceCard{position:relative;display:flex;flex-direction:column;min-height:310px;padding:22px;border:1px solid #dce6f4;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(10,37,78,.08);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.studyResourceCard:hover{transform:translateY(-4px);box-shadow:0 20px 38px rgba(10,37,78,.14);border-color:#9bb9df}.studyResourceCard.featuredResource:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(#d7a51d,#0b4da2)}.studyCardTop{display:flex;align-items:center;gap:9px;margin-bottom:15px;color:#0b3d82;font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}.studyCardTop i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#edf4ff}.studyCardTop svg{width:21px;height:21px}.studyCardTop em{margin-left:auto;padding:6px 9px;border-radius:999px;background:#fff3c8;color:#7e5d00;font-style:normal;font-size:.68rem}.studyResourceCard h3{font-size:1.26rem;line-height:1.35;margin:0 0 10px;color:#071d3d}.studyResourceCard>p{color:#53657c;line-height:1.65}.studyResourceCard ul{padding-left:18px;color:#31445b}.studyCardMeta{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:16px;color:#65758b;font-size:.82rem;font-weight:700}.studyOpenBtn{margin-top:13px;width:100%;border:0;border-radius:13px;padding:12px 15px;background:#0b438e;color:#fff;font-weight:900;cursor:pointer}.studyOpenBtn:hover{background:#082f66}.studyEmpty{grid-column:1/-1;text-align:center;padding:48px;border:2px dashed #c9d8eb;border-radius:22px;background:#f8fbff}.studyReader{position:fixed;inset:0;z-index:10000;display:none}.studyReader.open{display:block}.studyReaderBackdrop{position:absolute;inset:0;background:rgba(3,12,28,.72);backdrop-filter:blur(5px)}.studyReaderPanel{position:absolute;right:0;top:0;height:100%;width:min(760px,94vw);overflow:auto;background:#fff;padding:38px;box-shadow:-20px 0 55px rgba(0,0,0,.25);animation:studySlideIn .25s ease}.studyReaderClose{position:sticky;top:0;float:right;width:42px;height:42px;border:0;border-radius:50%;font-size:1.8rem;background:#071d3d;color:#fff;cursor:pointer;z-index:2}.studyReaderHeader{padding:10px 55px 24px 0;border-bottom:1px solid #e1e8f2}.studyReaderHeader span{font-weight:900;color:#a47700;text-transform:uppercase;letter-spacing:.08em}.studyReaderHeader h2{font-size:2.15rem;line-height:1.25;color:#071d3d;margin:8px 0}.studyReaderHeader p{color:#63738a}.studyLead{margin:24px 0;padding:20px;border-left:5px solid #d4a21b;background:#fff8df;border-radius:0 14px 14px 0;font-size:1.08rem;font-weight:700;line-height:1.65}.studyBody{font-size:1.03rem;line-height:1.85;color:#263950;white-space:normal}.studyKeyPoints{margin:28px 0;padding:24px;border-radius:18px;background:#edf5ff}.studyKeyPoints h3{margin-top:0;color:#0b3d82}.studyKeyPoints li{margin:10px 0;line-height:1.6}.studyResourceLink{display:inline-block;text-decoration:none;margin-top:10px}@keyframes studySlideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:1000px){.studyFeaturedGrid,.studyResourceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.studyToolbar{grid-template-columns:1fr 1fr}.studyCentreHero{align-items:flex-start}.studyHeroMark{min-width:150px}}
@media(max-width:680px){.studyCentreHero{display:block;padding:24px;border-radius:22px}.studyHeroMark{margin-top:18px}.studyToolbar{grid-template-columns:1fr}.studyFeaturedGrid,.studyResourceGrid{grid-template-columns:1fr}.studyReaderPanel{padding:24px}.studyReaderHeader h2{font-size:1.65rem}}


/* ============================================================
   ENTERPRISE DASHBOARD VISUAL REFINEMENT — v2.2.3
   ============================================================ */
.enterpriseWelcome{
  min-height:auto!important;
  padding:20px 24px!important;
  border-radius:20px!important;
}
.enterpriseWelcome:after{width:250px!important;height:250px!important;right:-80px!important;top:-135px!important}
.enterpriseEyebrow{display:inline-block;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.13);color:#ffe27c!important}
.welcomeCopy h3{font-size:clamp(24px,3vw,34px)!important;margin:6px 0 3px!important}
.welcomeCopy>p{font-size:13px!important}
.welcomeMeta{margin-top:13px!important;gap:12px!important}
.welcomeMeta span{
  min-width:180px;
  padding:11px 15px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  background:linear-gradient(135deg,#fff7c7,#ffd85d)!important;
  color:#102a52!important;
  box-shadow:0 7px 18px rgba(0,0,0,.13)!important;
}
.welcomeMeta span:nth-child(2){background:linear-gradient(135deg,#dfffea,#6be6a2)!important}
.welcomeMeta b{color:#624600!important;font-size:10px!important}
.welcomeMeta span:nth-child(2) b{color:#075b32!important}
.welcomeMark svg{width:48px!important;height:48px!important}.welcomeMark strong{font-size:17px!important}

.enterpriseActionsCard{overflow:hidden}
.enterpriseActionGrid{gap:13px!important}
.enterpriseAction{
  position:relative!important;
  overflow:hidden!important;
  min-height:84px!important;
  padding:14px 15px 14px 19px!important;
  border:1px solid #d7e4f5!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(13,49,101,.08)!important;
  color:#102a52!important;
}
.enterpriseAction:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:7px;
  background:var(--action-ribbon,#0b57d0);
}
.enterpriseAction:after{
  content:"";
  position:absolute;
  right:-34px;top:-34px;
  width:86px;height:86px;border-radius:50%;
  background:color-mix(in srgb,var(--action-ribbon,#0b57d0) 12%,transparent);
  pointer-events:none;
}
.enterpriseAction i{
  position:relative;z-index:1;
  flex-basis:44px!important;height:44px!important;
  color:var(--action-ribbon,#0b57d0)!important;
  background:color-mix(in srgb,var(--action-ribbon,#0b57d0) 13%,white)!important;
  border:1px solid color-mix(in srgb,var(--action-ribbon,#0b57d0) 25%,white)!important;
}
.enterpriseAction span{position:relative;z-index:1;min-width:0;padding-right:4px!important}
.enterpriseAction b{font-size:14px!important;line-height:1.25!important;color:#0c2852!important}
.enterpriseAction small{font-size:11px!important;line-height:1.35!important;color:#51647e!important;opacity:1!important;white-space:normal!important}
.enterpriseAction:hover{transform:translateY(-3px)!important;box-shadow:0 13px 25px rgba(13,49,101,.14)!important}
.enterpriseAction.primaryAction{background:linear-gradient(135deg,#0b4db4,#092e70)!important;color:#fff!important}
.enterpriseAction.primaryAction b,.enterpriseAction.primaryAction small{color:#fff!important}
.enterpriseAction.primaryAction small{opacity:.88!important}
.enterpriseAction.primaryAction i{color:#fff!important;background:rgba(255,255,255,.15)!important;border-color:rgba(255,255,255,.24)!important}
.actionBlue{--action-ribbon:#2c7be5}.actionGold{--action-ribbon:#d89b00}.actionPurple{--action-ribbon:#7c4dce}.actionCyan{--action-ribbon:#00a5b5}.actionOrange{--action-ribbon:#ef7d18}.actionGreen{--action-ribbon:#20a464}.actionNavy{--action-ribbon:#173d7a}.actionRed{--action-ribbon:#d64550}

.enterprisePracticeSteps{margin-top:0!important}
.enterprisePracticeSteps .stepsPracticeHead{justify-content:space-between}
.enterprisePracticeSteps .practiceStep{border-top:4px solid #2c7be5}
.enterprisePracticeSteps .practiceStep:nth-child(2){border-top-color:#d89b00}
.enterprisePracticeSteps .practiceStep:nth-child(3){border-top-color:#7c4dce}
.enterprisePracticeSteps .practiceStep:nth-child(4){border-top-color:#00a5b5}
.enterprisePracticeSteps .practiceStep:nth-child(5){border-top-color:#20a464}

.studyCentreHero h2{
  color:#fff!important;
  text-shadow:0 2px 7px rgba(0,0,0,.35)!important;
  -webkit-text-fill-color:#fff!important;
}
.studyCentreHero .pill{background:#ffd55a!important;color:#112b55!important;border-color:#ffe68f!important}
.studyCentreHero p{color:#f4f8ff!important}

@media(max-width:680px){
  .enterpriseWelcome{padding:18px!important}
  .welcomeMeta span{min-width:0;width:100%}
  .enterpriseAction{min-height:78px!important}
}


/* GO WORLD SMART CBT Web Logo Branding Patch v1.0 */
.hero-brand-lockup{display:inline-flex;align-items:center;gap:.75rem;margin-bottom:.9rem;padding:.55rem .8rem;border:1px solid rgba(247,181,0,.38);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 10px 24px rgba(4,24,55,.10);backdrop-filter:blur(8px)}
.hero-brand-lockup img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(4,24,55,.2))}
.hero-brand-lockup div{display:grid;gap:.1rem}.hero-brand-lockup strong{font-size:1rem;letter-spacing:.05em;color:var(--b2)}.hero-brand-lockup span{font-size:.82rem;font-weight:800;color:#8a6500}
.branded-watermark{position:relative;isolation:isolate}.branded-watermark:after{content:"";position:absolute;right:1.25rem;bottom:1rem;width:150px;height:150px;background:url('assets/go-world-smart-cbt-logo.png') center/contain no-repeat;opacity:.035;pointer-events:none;z-index:-1}
.gw-brand-footer{width:min(1240px,calc(100% - 1.4rem));margin:0 auto 1.5rem;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:center;gap:1rem;text-align:left;border:1px solid var(--bd);border-radius:24px;background:linear-gradient(135deg,#061f55,#0b67d5);color:#fff;box-shadow:var(--shadow)}
.gw-brand-footer img{width:74px;height:74px;object-fit:contain;flex:0 0 74px}.gw-brand-footer div{display:grid;gap:.15rem}.gw-brand-footer strong{font-size:1.08rem;letter-spacing:.04em}.gw-brand-footer span{font-weight:800;color:#f7b500}.gw-brand-footer small{color:#dbe9ff}
@media(max-width:640px){.hero-brand-lockup{width:100%;box-sizing:border-box}.gw-brand-footer{align-items:flex-start}.gw-brand-footer img{width:58px;height:58px;flex-basis:58px}.branded-watermark:after{width:100px;height:100px}}


/* ===== Exam Mobile Guidance + Compact Question Palette Patch v1.0 ===== */
/* Laptop/desktop sizing above 930px is intentionally retained unchanged. */
#subjects .subjectBankPanel,
#realExamPanel,
#exam{
  scroll-margin-top:110px;
}

/* Use the same square GO WORLD SMART CBT identity introduced by the web branding patch. */
.brand-logo{
  object-fit:contain!important;
  background:#061f55!important;
  padding:3px!important;
}

/* Tablets and small screens: compact number buttons and a shorter palette card. */
@media(max-width:930px){
  #palette,
  #palette.defaultExamPaletteOnly,
  #palette.ribbonedQuestionPalette,
  #palette.examQuestionPalette{
    grid-template-columns:repeat(10,32px)!important;
    grid-auto-rows:32px!important;
    gap:.38rem!important;
    width:min(100%,430px)!important;
    min-width:0!important;
    max-width:430px!important;
    min-height:300px!important;
    padding:1rem .72rem .8rem!important;
    justify-content:center!important;
  }
  #palette button,
  #palette .pal,
  #palette .examQuestionNumberBtn{
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    border-radius:9px!important;
    font-size:.72rem!important;
    box-shadow:0 3px 8px rgba(4,24,55,.13)!important;
  }
}

/* Narrow phones: seven columns remain comfortable without oversized buttons. */
@media(max-width:520px){
  #palette,
  #palette.defaultExamPaletteOnly,
  #palette.ribbonedQuestionPalette,
  #palette.examQuestionPalette{
    grid-template-columns:repeat(7,30px)!important;
    grid-auto-rows:30px!important;
    gap:.36rem!important;
    width:min(100%,300px)!important;
    max-width:300px!important;
    min-height:365px!important;
    padding:1rem .55rem .75rem!important;
  }
  #palette button,
  #palette .pal,
  #palette .examQuestionNumberBtn{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    border-radius:8px!important;
    font-size:.68rem!important;
  }
}

@media(max-width:360px){
  #palette,
  #palette.defaultExamPaletteOnly,
  #palette.ribbonedQuestionPalette,
  #palette.examQuestionPalette{
    grid-template-columns:repeat(7,27px)!important;
    grid-auto-rows:27px!important;
    gap:.3rem!important;
    width:min(100%,270px)!important;
    max-width:270px!important;
    min-height:340px!important;
  }
  #palette button,
  #palette .pal,
  #palette .examQuestionNumberBtn{
    width:27px!important;
    min-width:27px!important;
    max-width:27px!important;
    height:27px!important;
    min-height:27px!important;
    max-height:27px!important;
    font-size:.64rem!important;
  }
}


/* GO WORLD SMART CBT — WhatsApp Community profile card */
.whatsappCommunityCard{
  margin:14px 0 12px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid #bfe8d4;
  border-left:6px solid #25d366;
  border-radius:15px;
  background:linear-gradient(135deg,#f3fff9,#e8faf2);
  box-shadow:0 8px 22px rgba(7,94,84,.08);
}
.whatsappCommunityIcon{
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#25d366;color:#fff;font-size:12px;font-weight:1000;
  box-shadow:0 6px 14px rgba(37,211,102,.23);
}
.whatsappCommunityCopy{min-width:0}
.whatsappCommunityCopy b{display:block;color:#075e54;font-size:13px;margin-bottom:3px}
.whatsappCommunityCopy span{display:block;color:#23463f;font-size:11px;line-height:1.45}
.whatsappCommunityCopy small{display:block;color:#657d77;font-size:9px;line-height:1.4;margin-top:4px}
.whatsappCommunityJoin{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;padding:8px 13px;border-radius:10px;
  background:#128c7e;color:#fff!important;text-decoration:none!important;
  font-size:11px;font-weight:900;white-space:nowrap;
  box-shadow:0 7px 16px rgba(18,140,126,.17);
}
.whatsappCommunityJoin:hover{background:#075e54;color:#fff!important;transform:translateY(-1px)}
.whatsappCommunityLoading{opacity:.7}
@media(max-width:700px){
  .whatsappCommunityCard{grid-template-columns:42px 1fr}
  .whatsappCommunityIcon{width:40px;height:40px}
  .whatsappCommunityJoin{grid-column:1/-1;width:100%;box-sizing:border-box}
}


/* GO WORLD SMART CBT — Payment Reference Recovery Fallback v1 */
.paymentRecoveryPrompt{
  margin:14px 0 10px;padding:13px 14px;border:1px solid #f0d48a;border-left:5px solid #f4b400;
  border-radius:14px;background:linear-gradient(135deg,#fffaf0,#fff6d9);color:#17335f;
}
.paymentRecoveryPrompt b{display:block;color:#082b65;font-size:13px;margin-bottom:3px}
.paymentRecoveryPrompt span{display:block;font-size:11px;line-height:1.45;color:#58677c}
.paymentRecoveryOpen{
  margin-top:9px;border:0;border-radius:10px;padding:9px 12px;background:#075e54;color:#fff;font-weight:900;cursor:pointer
}
.paymentRecoveryOpen:hover{background:#064d46}
.referenceRecoveryPanel{
  margin:10px 0 14px;padding:12px;border:1px solid #cfe0f2;border-radius:15px;background:#f8fbff
}
.referenceRecoveryHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}
.referenceRecoveryHead b{display:block;color:#082b65}
.referenceRecoveryHead span{display:block;color:#6b7889;font-size:10px;margin-top:2px}
.referenceRecoveryRefresh{border:1px solid #b9cee6;background:#fff;color:#0b57a5;border-radius:9px;padding:7px 9px;font-weight:800;cursor:pointer}
.referencePaymentList{display:grid;gap:7px;max-height:270px;overflow:auto;padding-right:2px}
.referencePaymentItem{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;
  border:1px solid #dce7f4;border-radius:12px;background:#fff
}
.referencePaymentMain{min-width:0}.referencePaymentMain b{display:block;color:#0a3268;font-size:11px;overflow-wrap:anywhere}
.referencePaymentMain span{display:block;color:#34465c;font-size:10px;margin-top:2px}
.referencePaymentMain small{display:block;color:#748194;font-size:9px;margin-top:2px}
.referenceRecoverBtn{
  border:0;border-radius:9px;padding:8px 10px;background:#128c7e;color:#fff;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap
}
.referenceRecoverBtn:disabled{background:#c9d1da;color:#6e7885;cursor:not-allowed}
.referenceLoading,.referenceEmpty{padding:14px;text-align:center;border:1px dashed #cbd8e8;border-radius:10px;color:#6c7b8e;font-size:11px;background:#fff}
.manualReferenceBox{margin-top:10px;padding-top:10px;border-top:1px solid #dbe5f0}
.manualReferenceBox label{display:block;color:#082b65;font-size:11px;margin-bottom:5px}
.manualReferenceBox>div{display:grid;grid-template-columns:1fr auto;gap:6px}
.manualReferenceBox input{min-width:0;border:1px solid #bfd0e5;border-radius:9px;padding:9px 10px;font:inherit}
.manualReferenceBox button{border:0;border-radius:9px;background:#0b57d0;color:#fff;padding:9px 11px;font-weight:900;cursor:pointer}
.manualReferenceBox small{display:block;color:#758297;font-size:9px;margin-top:5px}
@media(max-width:650px){
  .referenceRecoveryHead{align-items:flex-start}
  .referencePaymentItem{grid-template-columns:1fr}
  .referenceRecoverBtn{width:100%}
  .manualReferenceBox>div{grid-template-columns:1fr}
  .manualReferenceBox button{width:100%}
}
