/*
  GCEJai Royal Gold Entry v5
  Scoped to registration/login/checkout. Does not restyle authenticated portals.
  Teacher uses academic gold as a role accent; Student uses royal blue.
*/
body.gj5-entry-page{
 --gj5-navy:#071E45;--gj5-royal:#084CAC;--gj5-blue:#1268F2;
 --gj5-gold:#F8C641;--gj5-gleam:#FFE17A;--gj5-ink:#071E45;
 --gj5-muted:#71819B;--gj5-border:#E4EBF5;
 --gj5-role:#084CAC;--gj5-role-soft:#E9F2FF;
 background:#F3F6FB!important;overflow-x:hidden;
 color:var(--gj5-ink);font-family:Inter,system-ui,sans-serif
}
body.gj5-entry-page[data-gj5-active-role="teacher"]{
 --gj5-role:#AA7B1C;--gj5-role-soft:#FFF4D8
}
body.gj5-entry-page .gj-app-root{
 background:#F3F6FB!important;color:var(--gj5-ink)!important;
 padding-top:0!important;min-height:0!important;
 font-family:Inter,system-ui,sans-serif!important
}
body.gj5-entry-page .gj-app-root>.gj-global-toolbar{display:none!important}
body.gj5-entry-page :is(button,a,input,select):focus-visible{
 outline:3px solid #1268F2!important;outline-offset:3px!important
}
body.gj5-entry-page .gj5-topbar,body.gj5-entry-page .gj5-topbar *{
 box-sizing:border-box
}
.gj5-skip{position:absolute;top:-140px;left:14px;z-index:1300;background:#fff;padding:10px 17px;color:#071E45}
.gj5-skip:focus{top:15px}
.gj5-topbar{position:relative;z-index:170;width:100%;background:rgba(255,255,255,.97);border-bottom:1px solid var(--gj5-border);box-shadow:0 5px 21px rgba(7,30,69,.035)}
.gj5-header-inner{width:min(1180px,calc(100% - 46px));min-height:73px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:auto}
.gj5-brand{display:flex;align-items:center;gap:10px;color:var(--gj5-navy)!important;text-decoration:none!important;flex:none}
.gj5-brand>img{width:43px;height:43px;display:block}
.gj5-brand>span{font:900 23px/1 Inter,system-ui,sans-serif;letter-spacing:-.055em;display:flex;flex-wrap:wrap;align-items:baseline}
.gj5-brand>span strong{color:var(--gj5-gold);font-weight:900}
.gj5-brand>span small{display:block;flex:0 0 100%;font-size:9px;color:#8697AD;letter-spacing:0;font-weight:650;margin-top:5px}
.gj5-header-nav{display:flex;align-items:center;justify-content:flex-end;gap:23px;min-width:0}
.gj5-header-nav>a{font-size:12px;font-weight:800;white-space:nowrap;color:#526783;text-decoration:none}
.gj5-header-nav>a:hover{color:#1268F2}
.gj5-header-nav .gj5-header-role.gj5-current{color:var(--gj5-role);border-bottom:2px solid var(--gj5-role);padding:7px 0}
.gj5-header-nav>a.gj5-header-cta{display:flex;align-items:center;gap:10px;background:linear-gradient(112deg,#084CAC,#071E45);border-radius:11px;padding:11px 16px;color:#FFF;box-shadow:0 8px 19px rgba(7,30,69,.14)}
.gj5-header-cta span{font-size:17px}
.gj5-entry-outer{min-height:76vh}
.gj5-entry-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:17px max(24px,calc((100% - 1180px)/2));color:#7388A3;font-size:11px;background:#FFF;border-top:1px solid var(--gj5-border)}
.gj5-entry-footer span:last-child{display:flex;gap:14px;flex-wrap:wrap}.gj5-entry-footer a{color:#084CAC;text-decoration:none;font-weight:700}
.gj5-entry-footer a:hover{text-decoration:underline}

/* Sign in layout. Existing credential handlers, tabs and login actions retained. */
.gj5-entry-page [data-screen-label="Login"]{
 min-height:max(630px,calc(100vh - 148px))!important;
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 background:#F3F6FB!important;width:100%;align-items:stretch
}
.gj5-entry-page [data-screen-label="Login"]>div:first-child{
 position:relative!important;isolation:isolate;overflow:hidden;
 background:linear-gradient(132deg,#071E45 4%,#084CAC 64%,#1268F2)!important;
 color:#FFF!important;padding:clamp(35px,5vw,85px)!important;
 justify-content:center!important
}
.gj5-entry-page [data-screen-label="Login"]>div:first-child:before{
 content:"";position:absolute;inset:-40% -55% auto auto;width:680px;height:680px;border:1px solid rgba(255,255,255,.13);border-radius:50%;z-index:-1;
 box-shadow:0 0 0 60px rgba(255,255,255,.038),0 0 0 135px rgba(255,255,255,.021);
 pointer-events:none
}
.gj5-entry-page [data-screen-label="Login"]>div:first-child:after{
 content:"";width:225px;height:225px;position:absolute;right:-50px;bottom:-55px;
 border:1px solid rgba(244,202,98,.3);border-radius:50%;
 box-shadow:0 0 0 35px rgba(244,202,98,.065),0 0 0 76px rgba(255,255,255,.03);
 pointer-events:none
}
.gj5-entry-page[data-gj5-active-role="teacher"] [data-screen-label="Login"]>div:first-child{
 background:linear-gradient(137deg,#081A38 0%,#1E345A 50%,#70521E 120%)!important
}
.gj5-entry-page[data-gj5-active-role="teacher"] [data-screen-label="Login"]>div:first-child:before{
 border-color:rgba(244,202,98,.25);box-shadow:0 0 0 56px rgba(244,202,98,.048),0 0 0 135px rgba(244,202,98,.025)
}
.gj5-auth-logo{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;margin-bottom:11px}
.gj5-auth-logo img{width:58px;height:58px;object-fit:contain}
.gj5-auth-logo span{color:#FFF;font-size:32px;font-weight:950;line-height:1;letter-spacing:-.065em}
.gj5-auth-logo strong{color:#FFE17A}
.gj5-entry-page [data-screen-label="Login"]>div:first-child>div:not(.gj5-auth-logo){position:relative;z-index:1}
.gj5-entry-page [data-screen-label="Login"]>div:first-child>div:nth-child(2){
 font:900 clamp(28px,3.5vw,48px)/1.14 Inter,system-ui,sans-serif!important;
 letter-spacing:-.055em!important;margin-top:17px!important;max-width:530px
}
.gj5-entry-page [data-screen-label="Login"]>div:first-child>div:nth-child(3){
 color:#D5E3F7!important;font-size:14px!important;line-height:1.75!important
}
.gj5-entry-page [data-screen-label="Login"]>div:first-child>div:nth-child(4){
 margin-top:27px!important;gap:14px!important
}
.gj5-entry-page [data-screen-label="Login"]>div:first-child>div:nth-child(4)>div{
 font-size:12.5px!important;line-height:1.65!important;color:#E0EAF8!important
}
.gj5-entry-page [data-screen-label="Login"]>div:first-child>div:nth-child(4)>div>span{
 width:9px!important;height:9px!important;border-radius:50%!important;background:#FFE17A!important;margin-top:7px!important;box-shadow:0 0 0 4px rgba(244,202,98,.12)
}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2){
 background:radial-gradient(ellipse at 91% 8%,#EAF2FF,transparent 40%),#F3F6FB;
 padding:45px 27px!important;min-width:0
}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div{
 max-width:440px!important;padding:32px!important;background:#FFF;
 border:1px solid #E3EAF5;border-radius:24px;box-shadow:0 21px 49px rgba(7,30,69,.07);width:100%!important
}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>div:first-child{
 background:#EDF3FC!important;padding:5px!important;border:1px solid #E2EAF5;border-radius:14px!important;gap:6px!important
}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>div:first-child button{
 min-height:45px;border-radius:10px!important;padding:11px!important;font-size:13px!important;letter-spacing:-.01em
}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>div:first-child button:not([style*="transparent"]){
 box-shadow:0 5px 13px rgba(7,30,69,.12)
}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>div:first-child button{
 color:var(--gj5-royal);transition:box-shadow .15s,transform .15s
}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>div:nth-child(2){
 font:900 29px/1.2 Inter,system-ui,sans-serif!important;color:#071E45;letter-spacing:-.04em!important;margin-top:27px!important
}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>div:nth-child(3){
 font-size:12.5px!important;color:#70849F!important;margin-bottom:24px!important;line-height:1.6
}
.gj5-entry-page [data-screen-label="Login"] input{
 display:block;width:100%!important;min-height:50px!important;
 background:#F9FBFF!important;color:#071E45!important;
 border:1px solid #DDE6F2!important;border-radius:12px!important;
 padding:13px 14px!important;font-size:14px!important;
 outline-offset:3px;transition:border-color .15s,box-shadow .15s
}
.gj5-entry-page [data-screen-label="Login"] input:focus{
 border-color:#1268F2!important;box-shadow:0 0 0 3px rgba(18,104,242,.11)!important
}
.gj5-entry-page [data-screen-label="Login"] input::placeholder{color:#A0ACC1}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>div:nth-child(4)>div>div:first-child{
 color:#71819B!important;font:850 10px/1.4 Inter,system-ui,sans-serif!important;letter-spacing:.06em!important
}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>button{
 background:linear-gradient(110deg,#1268F2,#084CAC)!important;color:#fff!important;
 min-height:52px!important;border-radius:13px!important;font-size:14px!important;
 box-shadow:0 10px 20px rgba(18,104,242,.18)!important;
 transition:transform .15s,box-shadow .15s
}
.gj5-entry-page[data-gj5-active-role="teacher"] [data-screen-label="Login"]>div:nth-child(2)>div>button{
 background:linear-gradient(110deg,#FFF0B8,#F8C641)!important;color:#071E45!important;
 box-shadow:0 10px 20px rgba(212,175,55,.18)!important
}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>button:hover{
 transform:translateY(-2px)
}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>div:last-child{
 flex-wrap:wrap;gap:12px;font-size:12.5px!important
}
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>div:last-child a,
.gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>div:last-child button{
 color:#084CAC!important;font-weight:800!important
}

/* New branded registration and checkout while preserving native five steps. */
.gj5-entry-page [data-screen-label="Registration and checkout"]{
 background:
 radial-gradient(ellipse at 0 7%,rgba(18,104,242,.10),transparent 33%),
 radial-gradient(ellipse at 100% 95%,rgba(244,202,98,.18),transparent 38%),
 #F3F6FB!important;
 padding:29px 17px 53px!important;min-height:max(670px,calc(100vh - 155px))!important;
}
.gj5-join-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin:3px auto 20px}
.gj5-join-logo>img{width:55px;height:55px;object-fit:contain}
.gj5-join-logo>span{font:950 30px/1 Inter,system-ui,sans-serif;letter-spacing:-.06em;color:#071E45}
.gj5-join-logo strong{color:#F8C641}
.gj5-entry-page [data-screen-label="Registration and checkout"]>div:nth-child(2){
 width:100%!important;max-width:670px!important;
}
.gj5-entry-page [data-screen-label="Registration and checkout"]>div:nth-child(2)>div:first-child{
 gap:7px!important;margin-bottom:17px!important
}
.gj5-entry-page [data-screen-label="Registration and checkout"]>div:nth-child(2)>div:first-child>div{
 height:6px!important;border-radius:9px!important
}
.gj5-entry-page [data-screen-label="Registration and checkout"]>div:nth-child(2)>div:not(:first-child)>div{
 border-color:#E4EBF5!important;border-radius:22px!important;padding:clamp(20px,3.9vw,34px)!important;
 box-shadow:0 18px 45px rgba(7,30,69,.06)!important;
 background:#FFF!important
}
.gj5-entry-page [data-screen-label="Registration and checkout"] h2{
 font:900 clamp(22px,3.5vw,30px)/1.2 Inter,system-ui,sans-serif!important;
 letter-spacing:-.05em!important;color:#071E45!important
}
.gj5-entry-page [data-screen-label="Registration and checkout"] p{
 font-size:13px!important;line-height:1.6!important;color:#71819B
}
.gj5-entry-page [data-screen-label="Registration and checkout"] input,
.gj5-entry-page [data-screen-label="Registration and checkout"] select{
 border:1px solid #DBE6F3!important;color:#071E45!important;
 background:#FAFCFF!important;border-radius:11px!important;
 min-height:46px!important;padding:11px 12px!important;font-size:13.5px!important
}
.gj5-entry-page [data-screen-label="Registration and checkout"] input:focus{
 border-color:#1268F2!important;box-shadow:0 0 0 3px rgba(18,104,242,.12)!important
}
.gj5-entry-page [data-screen-label="Registration and checkout"] button{
 font-family:Inter,system-ui,sans-serif!important;transition:transform .15s,box-shadow .15s,border-color .15s;
}
.gj5-entry-page [data-screen-label="Registration and checkout"] button:hover:not(:disabled){
 transform:translateY(-1px)
}
.gj5-entry-page [data-screen-label="Registration and checkout"] button:disabled{opacity:.55;cursor:not-allowed}
.gj5-entry-page [data-screen-label="Registration and checkout"] button[style*="border: 0px"],
.gj5-entry-page [data-screen-label="Registration and checkout"] button[style*="border:0"]{
 border-radius:12px!important
}
.gj5-entry-page [data-screen-label="Registration and checkout"] button[style*="background: rgb(18, 67, 127)"]{
 background:linear-gradient(110deg,#1268F2,#084CAC)!important;
}
.gj5-entry-page[data-gj5-active-role="teacher"] [data-screen-label="Registration and checkout"] button[style*="background: rgb(15, 110, 104)"]{
 background:linear-gradient(110deg,#FFE17A,#F8C641)!important;color:#071E45!important
}
.gj5-entry-page [data-screen-label="Registration and checkout"] [style*="STEP 1"]{font-weight:850}
.gj5-entry-page [data-screen-label="Registration and checkout"] .gj5-role-heading{margin-bottom:2px}
.gj5-entry-page [data-screen-label="Registration and checkout"] .gj5-step-pill{
 display:inline-flex;align-items:center;gap:7px;border:1px solid #E3E9F2;
 background:#F4F8FE;color:#084CAC;font-size:11px;padding:5px 9px;border-radius:30px;margin-bottom:11px
}
.gj5-entry-page [data-screen-label="Registration and checkout"] .gj5-explainer{
 margin:10px 0;padding:14px;border-radius:13px;
 background:#F0F6FF;border:1px solid #D5E6FF;
 color:#415B7E;font-size:12px;line-height:1.65
}
.gj5-entry-page[data-gj5-active-role="teacher"] .gj5-explainer{
 background:#FFF8E6;border-color:#F2DDA6
}
.gj5-entry-page [data-screen-label="Registration and checkout"] .gj5-alert{
 display:block;padding:13px 14px;border:1px solid #E7D092;
 border-radius:13px;background:#FFF8E6;color:#735410;
 margin:11px 0 0;font-size:12px;line-height:1.6
}
.gj5-entry-page [data-screen-label="Registration and checkout"] .gj5-alert strong{color:#5D440D}
.gj5-entry-page [data-screen-label="Registration and checkout"] .gj5-no-pay{
 margin:9px auto 0;max-width:440px;text-align:center;font-size:12px;color:#986A16
}

/* Modal overlays: read-only observation and payment confirmation remain unchanged. */
body.gj5-entry-page #gjv2-mm-overlay{
 background:rgba(7,30,69,.79)!important;backdrop-filter:blur(7px)
}
body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-card{
 border-radius:24px!important;border:1px solid #E4EBF5!important;
 box-shadow:0 28px 80px rgba(1,12,32,.35)!important;
 padding:27px!important
}
body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-top{
 border-bottom:1px solid #E9EFF7;padding-bottom:16px;margin-bottom:19px
}
body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-title{
 font:900 24px/1.18 Inter,system-ui,sans-serif!important;letter-spacing:-.045em;color:#071E45
}
body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-lead{
 font-size:12.6px;line-height:1.7;color:#71819B
}
body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-amount{
 border-radius:14px;background:#EDF4FF;border-color:#D9E6FC
}
body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-amount strong{font-size:23px;color:#084CAC}
body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-method{
 border-radius:13px;background:#F7FAFF;min-height:78px;box-shadow:inset 0 1px #FFF
}
body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-method:disabled{
 background:#F3F6FA;opacity:.65
}
body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-note{
 border-radius:13px;padding:14px;font-size:12px;line-height:1.65
}
body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-warning{
 background:#FFF8E8;border-color:#EEDBB6;color:#7C5E20
}
body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-primary{
 background:linear-gradient(120deg,#1268F2,#084CAC);
 border-radius:13px;min-height:52px;box-shadow:0 9px 20px rgba(18,104,242,.2)
}
body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-secondary{margin-top:10px}
body.gj5-entry-page #gjv2-mm-overlay :is(input,select){min-height:49px;border-radius:12px}

/* Mobile-first and smaller devices */
@media(max-width:980px){
 .gj5-header-inner{width:calc(100% - 28px)}
 .gj5-header-nav{gap:14px}
 .gj5-entry-page [data-screen-label="Login"]>div:first-child{padding:34px!important}
 .gj5-entry-page [data-screen-label="Login"]>div:nth-child(2){padding:23px!important}
 .gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div{padding:24px!important}
}
@media(max-width:720px){
 .gj5-header-inner{min-height:66px}
 .gj5-header-nav>a:nth-child(1),.gj5-header-nav>a:nth-child(2){display:none}
 .gj5-brand>span{font-size:21px}
 .gj5-entry-page [data-screen-label="Login"]{
  display:flex!important;flex-direction:column!important;min-height:calc(100vh - 144px)!important
 }
 .gj5-entry-page [data-screen-label="Login"]>div:first-child{
  padding:20px 20px 16px!important;min-height:auto;flex:none!important
 }
 .gj5-entry-page [data-screen-label="Login"]>div:first-child:after{width:120px;height:120px;bottom:-55px;right:-32px}
 .gj5-auth-logo{margin-bottom:6px}.gj5-auth-logo img{width:39px;height:39px}
 .gj5-auth-logo span{font-size:23px}
 .gj5-entry-page [data-screen-label="Login"]>div:first-child>div:nth-child(2){
  margin:9px 0 0!important;font-size:24px!important
 }
 .gj5-entry-page [data-screen-label="Login"]>div:first-child>div:nth-child(3){
  font-size:12px!important;margin-top:8px!important;line-height:1.55!important
 }
 .gj5-entry-page [data-screen-label="Login"]>div:first-child>div:nth-child(4){display:none!important}
 .gj5-entry-page [data-screen-label="Login"]>div:nth-child(2){
  padding:22px 17px 32px!important;flex:1
 }
 .gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div{
  max-width:460px!important;padding:22px!important;border-radius:18px
 }
 .gj5-entry-page [data-screen-label="Login"]>div:nth-child(2)>div>div:nth-child(2){
  font-size:25px!important;margin-top:19px!important
 }
 .gj5-entry-page [data-screen-label="Registration and checkout"]{
  padding:22px 13px 38px!important;min-height:auto!important
 }
 .gj5-join-logo{margin-bottom:14px}
 .gj5-join-logo img{width:44px;height:44px}
 .gj5-join-logo>span{font-size:25px}
 .gj5-entry-page [data-screen-label="Registration and checkout"]>div:nth-child(2)>div:not(:first-child)>div{
  padding:20px 17px!important;border-radius:17px!important
 }
 .gj5-entry-page [data-screen-label="Registration and checkout"] h2{font-size:23px!important}
 .gj5-entry-footer{padding:18px 16px}
}
@media(max-width:430px){
 .gj5-header-inner{min-height:63px}
 .gj5-brand img{width:38px;height:38px}
 .gj5-brand>span{font-size:20px}
 .gj5-brand>span small{font-size:7.5px}
 .gj5-header-nav{gap:9px}
 .gj5-header-nav .gj5-header-role{display:none}
 .gj5-header-nav>a.gj5-header-cta{padding:10px 12px}
 .gj5-entry-page [data-screen-label="Registration and checkout"]>div:nth-child(2)>div:not(:first-child)>div{
  padding:18px 14px!important
 }
 .gj5-entry-page [data-screen-label="Registration and checkout"] input{font-size:16px!important}
 .gj5-entry-page [data-screen-label="Login"] input{font-size:16px!important}
 .gj5-entry-page [data-screen-label="Registration and checkout"] [style*="grid-template-columns: 1fr 1fr"]{
  grid-template-columns:1fr!important
 }
 body.gj5-entry-page #gjv2-mm-overlay .gjv2-mm-card{padding:17px!important}
}
@media(prefers-reduced-motion:reduce){
 .gj5-entry-page *,body.gj5-entry-page #gjv2-mm-overlay *{
  transition:none!important;animation:none!important;scroll-behavior:auto!important
 }
}
