.lp-body--admin{--lp-c1: var(--portal-login-admin-primary);--lp-c2: var(--portal-login-admin-secondary);--lp-name: var(--portal-login-admin-name);--lp-bg-wash: rgba(99, 102, 241, .09);--lp-border-top: rgba(99, 102, 241, .45);--lp-focus-ring: rgba(99, 102, 241, .18);--lp-btn-shadow: rgba(99, 102, 241, .38);--lp-btn-shadow-hover: rgba(99, 102, 241, .52)}.lp-body--instructor{--lp-c1: var(--portal-login-instructor-primary);--lp-c2: var(--portal-login-instructor-secondary);--lp-name: var(--portal-login-instructor-name);--lp-bg-wash: rgba(13, 148, 136, .09);--lp-border-top: rgba(13, 148, 136, .5);--lp-focus-ring: rgba(13, 148, 136, .18);--lp-btn-shadow: rgba(13, 148, 136, .36);--lp-btn-shadow-hover: rgba(13, 148, 136, .52)}.lp-body--system{--lp-c1: var(--portal-login-system-primary);--lp-c2: var(--portal-login-system-secondary);--lp-name: var(--portal-login-system-name);--lp-bg-wash: rgba(16, 185, 129, .09);--lp-border-top: rgba(16, 185, 129, .45);--lp-focus-ring: rgba(16, 185, 129, .18);--lp-btn-shadow: rgba(16, 185, 129, .36);--lp-btn-shadow-hover: rgba(16, 185, 129, .52)}.lp-body--content{--lp-c1: var(--portal-login-content-primary);--lp-c2: var(--portal-login-content-secondary);--lp-name: var(--portal-login-content-name);--lp-bg-wash: rgba(139, 92, 246, .09);--lp-border-top: rgba(139, 92, 246, .45);--lp-focus-ring: rgba(139, 92, 246, .18);--lp-btn-shadow: rgba(139, 92, 246, .36);--lp-btn-shadow-hover: rgba(139, 92, 246, .52)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.lp-body{min-height:100vh;font-family:Heebo,Inter,system-ui,-apple-system,sans-serif;background:url(/home_page_background.png) center center / cover no-repeat;display:flex;flex-direction:column}.lp-body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffff38;pointer-events:none;z-index:0}.lp-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:22px 48px;animation:lp-fade .5s ease both}.lp-logo{height:90px;width:auto;display:block}[dir=ltr] .lp-header{justify-content:flex-end}.lp-back-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--entry-auth-back-text);text-decoration:none;padding:9px 18px;border-radius:22px;background:#ffffffbf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.85);transition:color .2s,background .2s,box-shadow .2s;box-shadow:0 2px 8px #0000000f}.lp-back-link:hover{color:var(--lp-name);background:#fffffff2;box-shadow:0 4px 14px #0000001a}.lp-back-link svg{width:14px;height:14px;flex-shrink:0}[dir=rtl] .lp-back-link svg,[dir=rtl] .lp-btn svg{transform:scaleX(-1)}.lp-back-wrap{text-align:center;position:relative;z-index:1;margin-top:20px}.lp-main{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 24px 64px}.lp-card{position:relative;width:100%;max-width:430px;padding:50px 46px 46px;border-radius:32px;background:linear-gradient(155deg,var(--lp-bg-wash) 0%,rgba(255,255,255,.88) 55%);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.82);border-top:4px solid var(--lp-border-top);box-shadow:0 22px 64px #00000021,0 4px 16px #0000000f;overflow:hidden;animation:lp-rise .75s .1s cubic-bezier(.16,1,.3,1) both;text-align:center}.lp-card:before{content:"";position:absolute;width:300px;height:300px;top:-90px;inset-inline-end:-85px;border-radius:50%;background:var(--lp-c1);opacity:.07;pointer-events:none}.lp-icon-wrap{display:flex;justify-content:center;margin-bottom:26px;position:relative;z-index:1}.lp-icon{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--lp-c1),var(--lp-c2));display:flex;align-items:center;justify-content:center;box-shadow:0 10px 32px #0003}.lp-icon svg{width:40px;height:40px;color:var(--color-white)}.lp-heading{font-size:27px;font-weight:800;letter-spacing:-.025em;color:var(--lp-name);margin-bottom:7px;position:relative;z-index:1}.lp-sub{font-size:15px;color:var(--portal-login-subtext);margin-bottom:34px;position:relative;z-index:1;line-height:1.5}.lp-alert{padding:12px 16px;border-radius:12px;font-size:14px;margin-bottom:22px;position:relative;z-index:1;text-align:start;line-height:1.5}.lp-alert--err{background:var(--entry-auth-error-bg);border:1px solid var(--entry-auth-error-border);color:var(--entry-auth-error-text)}.lp-alert--ok{background:var(--entry-auth-success-bg);border:1px solid var(--entry-auth-success-border);color:var(--entry-auth-success-text)}.lp-form{position:relative;z-index:1;text-align:start}.lp-field{margin-bottom:20px}.lp-field label{display:block;font-size:13.5px;font-weight:600;color:var(--entry-auth-label);margin-bottom:7px}.lp-field input{width:100%;padding:13px 16px;border:1.5px solid var(--entry-auth-input-border);border-radius:14px;font-size:15px;font-family:inherit;color:var(--entry-auth-input-text);background:#ffffffe0;outline:none;transition:border-color .2s,box-shadow .2s}.lp-field input:focus{border-color:var(--lp-c1);box-shadow:0 0 0 3px var(--lp-focus-ring)}.lp-field input::-moz-placeholder{color:var(--entry-auth-placeholder)}.lp-field input::placeholder{color:var(--entry-auth-placeholder)}.lp-btn{width:100%;padding:15px 24px;border:none;border-radius:16px;font-size:16px;font-weight:700;font-family:inherit;color:var(--color-white);background:linear-gradient(135deg,var(--lp-c1),var(--lp-c2));box-shadow:0 5px 18px var(--lp-btn-shadow);cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.lp-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px var(--lp-btn-shadow-hover)}.lp-btn svg{width:15px;height:15px;flex-shrink:0}.lp-footer-note{margin-top:28px;padding-top:20px;border-top:1px solid rgba(0,0,0,.07);font-size:12px;color:var(--entry-auth-placeholder);position:relative;z-index:1}@keyframes lp-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes lp-fade{0%{opacity:0}to{opacity:1}}@media(max-width:640px){.lp-header{padding:16px 20px}.lp-logo{height:60px}.lp-card{padding:38px 28px 36px;border-radius:24px}.lp-heading{font-size:23px}}@media(prefers-reduced-motion:reduce){.lp-header,.lp-card{animation:none}.lp-btn,.lp-back-link{transition:none}}
