:root{--jsp-auth-cyan:#27d9ff;--jsp-auth-cyan-2:#68e8ff;--jsp-auth-magenta:#e52be8;--jsp-auth-violet:#7b61ff;--jsp-auth-ink:#050817;--jsp-auth-card:rgba(7,11,29,.88);--jsp-auth-text:#f7fbff;--jsp-auth-muted:rgba(226,236,255,.68)}
html,body{max-width:100%;overflow-x:clip}

/* Header auth menu: prevents the current explanatory line from escaping the popup. */
.js-auth-panel{width:min(440px,calc(100vw - 24px))!important;max-width:min(440px,calc(100vw - 24px))!important;overflow:hidden!important;padding:14px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:20px!important;background:rgba(4,7,20,.96)!important;box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 34px rgba(39,217,255,.09)!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.js-auth-panel .js-auth-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;min-width:0!important}
.js-auth-panel .js-auth-card{min-width:0!important;padding:10px!important;border-radius:15px!important}
.js-auth-panel .js-auth-title{gap:6px!important;min-width:0!important;font-size:13px!important}
.js-auth-panel .js-auth-links{display:grid!important;gap:8px!important}
.js-auth-panel .js-auth-links a{width:100%!important;min-width:0!important;box-sizing:border-box!important;text-align:center!important}
.js-auth-panel .js-auth-foot{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin-top:10px!important;padding:10px 8px 2px!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.5!important;font-size:11.5px!important;color:rgba(226,236,255,.60)!important}

.jsp-auth-page .entry-title,.jsp-auth-page .page-header,.jsp-auth-page main>.page-content>h1:first-child,.jsp-auth-page .elementor-widget-theme-post-title{display:none!important}
.jsp-auth-page main,.jsp-auth-page #content,.jsp-auth-page .site-main{max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important}
.jsp-auth-page .site-main{overflow:visible!important}

#jsp-auth-shell{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(460px,.97fr);width:min(1200px,calc(100% - 32px));min-height:710px;margin:34px auto 74px;overflow:hidden;border:1px solid rgba(104,232,255,.20);border-radius:32px;background:#070b1e url('../images/auth-hero.webp') 50% 50%/cover no-repeat;box-shadow:0 42px 110px rgba(0,0,0,.52),0 0 0 1px rgba(255,255,255,.025) inset,0 0 70px rgba(94,72,255,.08);color:var(--jsp-auth-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
#jsp-auth-shell:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(2,6,21,.42) 0%,rgba(3,7,23,.55) 42%,rgba(3,6,19,.93) 59%,rgba(3,6,19,.98) 100%),linear-gradient(180deg,rgba(39,217,255,.04),rgba(229,43,232,.05))}
#jsp-auth-shell:after{content:"";position:absolute;z-index:-1;width:420px;height:420px;right:-170px;top:-190px;border-radius:50%;background:rgba(229,43,232,.18);filter:blur(100px);pointer-events:none}

.jsp-auth-visual{display:flex;flex-direction:column;min-width:0;padding:38px 42px 34px}
.jsp-auth-home{display:inline-flex;align-items:center;align-self:flex-start;gap:10px;color:#fff!important;text-decoration:none!important;font-size:16px;font-weight:800;letter-spacing:-.02em}
.jsp-auth-home b{color:var(--jsp-auth-magenta)}
.jsp-auth-home__mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(104,232,255,.48);border-radius:13px;background:linear-gradient(135deg,rgba(39,217,255,.24),rgba(229,43,232,.28));box-shadow:0 0 24px rgba(39,217,255,.20);font-size:12px;letter-spacing:.05em}
.jsp-auth-visual__copy{width:min(500px,100%);margin-top:auto;margin-bottom:0;padding:0 0 24px;text-shadow:0 2px 18px rgba(0,0,0,.72)}
.jsp-auth-kicker{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border:1px solid rgba(104,232,255,.34);border-radius:999px;background:rgba(8,15,39,.62);color:var(--jsp-auth-cyan-2);font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;box-shadow:0 0 22px rgba(39,217,255,.09)}
.jsp-auth-visual__copy h2{max-width:480px;margin:18px 0 14px;color:#fff!important;font-size:clamp(33px,3.4vw,47px)!important;font-weight:950!important;line-height:1.03!important;letter-spacing:-.045em!important}
.jsp-auth-visual__copy p{max-width:440px;margin:0;color:rgba(238,245,255,.78)!important;font-size:16px;line-height:1.65}
.jsp-auth-visual__copy ul{display:none;gap:11px;margin:24px 0 0;padding:0;list-style:none}
.jsp-auth-visual__copy li{display:flex;align-items:flex-start;gap:10px;color:rgba(247,251,255,.88);font-size:14px;font-weight:650;line-height:1.45}
.jsp-auth-visual__copy li span{display:grid;flex:0 0 23px;place-items:center;width:23px;height:23px;border:1px solid rgba(39,217,255,.34);border-radius:8px;background:rgba(39,217,255,.12);color:var(--jsp-auth-cyan-2);font-size:12px;box-shadow:0 0 16px rgba(39,217,255,.12)}
.jsp-auth-trust{display:flex;align-items:center;gap:9px;color:rgba(238,245,255,.55);font-size:11.5px;font-weight:700;letter-spacing:.02em}
.jsp-auth-pulse{width:8px;height:8px;border-radius:50%;background:#25e9d0;box-shadow:0 0 0 5px rgba(37,233,208,.10),0 0 16px rgba(37,233,208,.8)}

.jsp-auth-form-side{display:grid;place-items:center;min-width:0;padding:30px}
.jsp-auth-card{width:min(520px,100%);box-sizing:border-box;padding:30px;border:1px solid rgba(255,255,255,.10);border-radius:25px;background:var(--jsp-auth-card);box-shadow:0 28px 65px rgba(0,0,0,.36),0 1px 0 rgba(255,255,255,.05) inset;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.jsp-auth-tabs{display:flex;width:100%;box-sizing:border-box;gap:5px;margin-bottom:26px;padding:5px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.035)}
.jsp-auth-tabs a,.jsp-auth-tabs span{display:flex;flex:1;align-items:center;justify-content:center;min-width:0;min-height:39px;padding:7px 10px;border-radius:11px;color:rgba(238,245,255,.58)!important;text-decoration:none!important;font-size:12px;font-weight:850;transition:.2s ease}
.jsp-auth-tabs a:hover{color:#fff!important;background:rgba(255,255,255,.06)}
.jsp-auth-tabs .is-active{color:#06101c!important;background:linear-gradient(105deg,var(--jsp-auth-cyan),#6ea4ff 52%,var(--jsp-auth-magenta));box-shadow:0 7px 22px rgba(39,217,255,.18)}
.jsp-auth-heading>span{display:block;margin-bottom:7px;color:var(--jsp-auth-cyan-2);font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.jsp-auth-heading h1{margin:0!important;color:#fff!important;font-size:clamp(29px,3vw,40px)!important;font-weight:950!important;line-height:1.08!important;letter-spacing:-.035em!important}
.jsp-auth-heading p{margin:10px 0 24px;color:var(--jsp-auth-muted)!important;font-size:14px;line-height:1.55}

/* Tutor LMS native forms, kept intact but visually normalized. */
#jsp-auth-shell .tutor-page-wrap,#jsp-auth-shell .tutor-template-segment,#jsp-auth-shell .tutor-login-wrap,#jsp-auth-shell .tutor-login-form-wrapper,#jsp-auth-shell #tutor-registration-wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
#jsp-auth-shell .tutor-login-form-wrapper>.tutor-fs-5{display:none!important}
#jsp-auth-shell form{width:100%;margin:0}
#jsp-auth-shell .tutor-form-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px!important;margin:0!important}
#jsp-auth-shell .tutor-form-col-6,#jsp-auth-shell .tutor-form-col-12{width:100%!important;max-width:none!important;padding:0!important;min-width:0!important}
#jsp-auth-shell .tutor-form-group{position:relative;margin:0 0 15px!important}
#jsp-auth-shell label{display:block;margin:0 0 7px;color:rgba(238,245,255,.76)!important;font-size:12px!important;font-weight:760!important;line-height:1.35}
#jsp-auth-shell input[type=text],#jsp-auth-shell input[type=email],#jsp-auth-shell input[type=password],#jsp-auth-shell input[type=tel],#jsp-auth-shell input[type=url],#jsp-auth-shell select,#jsp-auth-shell textarea,#jsp-auth-shell .tutor-form-control{width:100%!important;min-width:0!important;height:52px!important;box-sizing:border-box!important;margin:0!important;padding:0 47px 0 15px!important;border:1px solid rgba(148,173,223,.18)!important;border-radius:14px!important;outline:0!important;background:rgba(255,255,255,.045)!important;color:#f7fbff!important;box-shadow:0 1px 0 rgba(255,255,255,.025) inset!important;font-size:14px!important;line-height:1!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important}
#jsp-auth-shell input::placeholder,#jsp-auth-shell textarea::placeholder{color:rgba(207,220,246,.34)!important;opacity:1!important}
#jsp-auth-shell input:hover,#jsp-auth-shell select:hover,#jsp-auth-shell textarea:hover{border-color:rgba(104,232,255,.32)!important;background:rgba(255,255,255,.06)!important}
#jsp-auth-shell input:focus,#jsp-auth-shell select:focus,#jsp-auth-shell textarea:focus{border-color:rgba(39,217,255,.70)!important;background:rgba(13,22,49,.92)!important;box-shadow:0 0 0 4px rgba(39,217,255,.10),0 0 24px rgba(39,217,255,.08)!important}
#jsp-auth-shell .tutor-password-field,#jsp-auth-shell .tutor-form-wrap{position:relative!important}
#jsp-auth-shell .show-hide-btn,#jsp-auth-shell .tutor-validation-icon{display:none!important}
.jsp-password-toggle{position:absolute;z-index:3;right:8px;bottom:7px;display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border:0;border-radius:10px;background:transparent;color:rgba(226,236,255,.56);font-size:10px;font-weight:850;cursor:pointer;transition:.18s ease}
.jsp-password-toggle:hover,.jsp-password-toggle:focus-visible{outline:0;background:rgba(39,217,255,.09);color:var(--jsp-auth-cyan-2)}
#jsp-auth-shell .tutor-password-strength-hint{margin-top:7px!important}
#jsp-auth-shell .tutor-password-strength-hint .indicator{gap:5px!important}
#jsp-auth-shell .tutor-password-strength-hint .indicator span{height:3px!important;border-radius:999px!important;background:rgba(255,255,255,.10)!important}

#jsp-auth-shell .tutor-d-flex.tutor-justify-between{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:18px 0 22px!important}
#jsp-auth-shell .tutor-form-check{display:flex!important;align-items:center!important;gap:8px!important}
#jsp-auth-shell input[type=checkbox]{width:19px!important;height:19px!important;min-width:19px!important;box-sizing:border-box!important;margin:0!important;border:1px solid rgba(104,232,255,.42)!important;border-radius:6px!important;-webkit-appearance:none!important;appearance:none!important;background-color:rgba(255,255,255,.045)!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:12px 9px!important;box-shadow:0 0 0 0 rgba(39,217,255,0)!important;accent-color:var(--jsp-auth-cyan);cursor:pointer!important;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease!important}
#jsp-auth-shell input[type=checkbox]:hover{border-color:rgba(104,232,255,.72)!important;background-color:rgba(39,217,255,.08)!important}
#jsp-auth-shell input[type=checkbox]:focus-visible{outline:0!important;border-color:var(--jsp-auth-cyan)!important;box-shadow:0 0 0 4px rgba(39,217,255,.13)!important}
#jsp-auth-shell input[type=checkbox]:checked{border-color:transparent!important;background-color:var(--jsp-auth-cyan)!important;background-image:url("data:image/svg+xml,%3Csvg width='14' height='10' viewBox='0 0 14 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5.1 4.7 8.6 13 1' stroke='%2306101e' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;box-shadow:0 0 18px rgba(39,217,255,.28)!important}
#jsp-auth-shell .tutor-form-check label{margin:0!important;color:rgba(238,245,255,.72)!important;font-size:12px!important;cursor:pointer!important;user-select:none!important}
#jsp-auth-shell a.tutor-btn-ghost{width:auto!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--jsp-auth-cyan-2)!important;box-shadow:none!important;font-size:12px!important;text-decoration:none!important}
#jsp-auth-shell a.tutor-btn-ghost:hover{text-decoration:underline!important}

#jsp-auth-shell button[type=submit],#jsp-auth-shell .tutor-btn-primary{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:53px!important;box-sizing:border-box!important;margin:3px 0 0!important;padding:12px 20px!important;border:0!important;border-radius:15px!important;background:linear-gradient(105deg,var(--jsp-auth-cyan),#6f9fff 50%,var(--jsp-auth-magenta))!important;color:#07101c!important;box-shadow:0 12px 28px rgba(39,217,255,.16),0 0 28px rgba(229,43,232,.10)!important;font-size:14px!important;font-weight:950!important;text-decoration:none!important;cursor:pointer!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important}
#jsp-auth-shell button[type=submit]:hover,#jsp-auth-shell .tutor-btn-primary:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 16px 36px rgba(39,217,255,.23),0 0 34px rgba(229,43,232,.15)!important}
#jsp-auth-shell button[type=submit]:focus-visible{outline:3px solid rgba(104,232,255,.35)!important;outline-offset:3px!important}
#jsp-auth-shell button[type=submit][disabled]{opacity:.68;cursor:wait!important;transform:none!important}
#jsp-auth-shell .tutor-text-center.tutor-mt-20{display:none!important}

#jsp-auth-shell .tutor-alert{margin:0 0 16px!important;padding:12px 14px!important;border:1px solid rgba(255,179,71,.34)!important;border-radius:13px!important;background:rgba(255,179,71,.09)!important;color:#ffe2b2!important;font-size:12px!important;line-height:1.5!important}
#jsp-auth-shell .tutor-alert ul{margin:0!important;padding-left:18px!important}
.jsp-auth-legal{margin:14px 0 0!important;color:rgba(226,236,255,.48)!important;font-size:10.5px!important;line-height:1.55!important}
.jsp-auth-legal a{color:rgba(104,232,255,.78)!important;text-decoration:none!important}
.jsp-auth-legal a:hover{text-decoration:underline!important}
.jsp-auth-alternatives{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;margin-top:18px;padding-top:17px;border-top:1px solid rgba(255,255,255,.08);font-size:11.5px}
.jsp-auth-alternatives span{width:100%;color:rgba(226,236,255,.48)}
.jsp-auth-alternatives a{color:var(--jsp-auth-cyan-2)!important;font-weight:800;text-decoration:none!important}
.jsp-auth-alternatives a:hover{text-decoration:underline!important}
.jsp-auth-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:980px){
  #jsp-auth-shell{grid-template-columns:minmax(0,.82fr) minmax(430px,1.18fr);width:min(940px,calc(100% - 24px));border-radius:26px;background-position:42% center}
  .jsp-auth-visual{padding:28px}
  .jsp-auth-visual__copy h2{font-size:36px!important}
  .jsp-auth-visual__copy ul{display:none}
  .jsp-auth-form-side{padding:22px}
  .jsp-auth-card{padding:25px}
}

@media(max-width:760px){
  .js-auth-panel{position:fixed!important;top:76px!important;right:12px!important;left:12px!important;width:auto!important;max-width:none!important}
  #jsp-auth-shell{display:block;width:calc(100% - 20px);min-height:0;margin:16px auto 46px;border-radius:22px;background-position:35% 20%;box-shadow:0 24px 70px rgba(0,0,0,.46)}
  #jsp-auth-shell:before{background:linear-gradient(180deg,rgba(2,6,21,.34) 0,rgba(3,6,19,.72) 29%,rgba(3,6,19,.98) 47%,rgba(3,6,19,.99) 100%)}
  .jsp-auth-visual{min-height:245px;padding:22px}
  .jsp-auth-visual__copy{margin-top:auto;margin-bottom:0;padding:20px 0 0}
  .jsp-auth-visual__copy h2{max-width:430px;margin:12px 0 0!important;font-size:31px!important}
  .jsp-auth-visual__copy p,.jsp-auth-trust{display:none}
  .jsp-auth-form-side{padding:0 12px 14px}
  .jsp-auth-card{width:100%;padding:22px;border-radius:20px;background:rgba(5,8,24,.96)}
  .jsp-auth-heading h1{font-size:31px!important}
}

@media(max-width:560px){
  .js-auth-panel .js-auth-grid{grid-template-columns:1fr!important}
  .js-auth-panel{max-height:calc(100vh - 96px)!important;overflow:auto!important}
  #jsp-auth-shell .tutor-form-row{grid-template-columns:1fr!important;gap:0!important}
  #jsp-auth-shell{width:calc(100% - 14px);border-radius:19px}
  .jsp-auth-visual{min-height:220px;padding:18px}
  .jsp-auth-home{font-size:14px}
  .jsp-auth-home__mark{width:34px;height:34px;border-radius:11px}
  .jsp-auth-visual__copy h2{font-size:27px!important}
  .jsp-auth-kicker{font-size:9.5px}
  .jsp-auth-form-side{padding:0 7px 8px}
  .jsp-auth-card{padding:18px 15px}
  .jsp-auth-tabs{margin-bottom:21px}
  .jsp-auth-tabs a,.jsp-auth-tabs span{padding:7px 5px;font-size:11px}
  .jsp-auth-heading h1{font-size:28px!important}
  .jsp-auth-heading p{margin-bottom:20px}
  #jsp-auth-shell input[type=text],#jsp-auth-shell input[type=email],#jsp-auth-shell input[type=password],#jsp-auth-shell input[type=tel],#jsp-auth-shell input[type=url],#jsp-auth-shell select,#jsp-auth-shell textarea,#jsp-auth-shell .tutor-form-control{height:50px!important}
}

@media(prefers-reduced-motion:reduce){#jsp-auth-shell *,#jsp-auth-shell *:before,#jsp-auth-shell *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
