:root{font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:#1f1840;background:#faf9ff;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;}body{min-height:100vh}a{color:#6d4fe0;text-decoration:none}a:hover{color:#4c2fb8;text-decoration:underline}
.login-page{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#faf9ff;color:#1f1840}
.login-decor{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background-image:radial-gradient(rgba(124,92,240,.22) 1.3px,transparent 1.4px);background-size:26px 26px;mask-image:radial-gradient(ellipse at center,transparent 30%,#000 100%)}
.glow{position:absolute;border-radius:50%;filter:blur(1px);animation:floatC 12s ease-in-out infinite}.glow-one{top:-120px;left:-120px;width:460px;height:460px;background:radial-gradient(circle,rgba(139,119,245,.34),transparent 70%)}.glow-two{bottom:-140px;right:-100px;width:480px;height:480px;background:radial-gradient(circle,rgba(244,114,182,.22),transparent 70%)}.glow-three{top:6%;right:14%;width:300px;height:300px;background:radial-gradient(circle,rgba(99,102,241,.2),transparent 70%)}
.circle{position:absolute;border-radius:50%}.circle-one{top:62%;left:12%;width:110px;height:110px;border:2px solid rgba(124,92,240,.28)}.circle-two{top:28%;right:10%;width:64px;height:64px;border:2px solid rgba(236,72,153,.28)}.square{position:absolute;width:18px;height:18px;border-radius:4px;background:rgba(124,92,240,.35);transform:rotate(45deg)}.square-one{top:16%;left:24%}.square-two{bottom:16%;right:24%;width:22px;height:22px;background:rgba(244,114,182,.4)}.dot{position:absolute;border-radius:50%}.dot-one{bottom:16%;left:28%;width:14px;height:14px;background:rgba(245,158,11,.55)}.dot-two{top:20%;right:32%;width:12px;height:12px;background:rgba(99,102,241,.45)}.squiggle{position:absolute;width:86px;height:40px;fill:none}.squiggle path,.panel-squiggle path{stroke:rgba(244,114,182,.45);stroke-width:6;stroke-linecap:round}.squiggle-one{top:76%;right:12%}.squiggle-two{top:12%;left:10%}.squiggle-two path{stroke:rgba(124,92,240,.35)}
.fa{animation:floatA 8s ease-in-out infinite}.fb{animation:floatB 10s ease-in-out infinite}@keyframes floatA{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(8deg)}}@keyframes floatB{0%,100%{transform:translate(0,0)}50%{transform:translate(10px,12px)}}@keyframes floatC{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.login-card{position:relative;z-index:1;width:100%;max-width:975px;display:flex;align-items:stretch;filter:drop-shadow(0 12px 30px rgba(76,29,149,.08))}
.welcome-panel{position:relative;overflow:hidden;z-index:2;flex:0 1 408px;min-height:422px;padding:38px 24px 30px;border-radius:12px;display:flex;flex-direction:column;align-items:center;background:linear-gradient(165deg,#8b77f5 0%,#a995fa 28%,#cbbffd 55%,#e9e3ff 80%,#fff 100%);box-shadow:0 12px 36px rgba(124,92,240,.3)}
.decor-dot{position:absolute;width:14px;height:14px;border-radius:50%}.decor-dot.yellow{background:#fcd34d}.decor-dot.white{background:rgba(255,255,255,.75)}.d1{top:14px;left:52px}.d2{top:10px;right:24px}.decor-dash{position:absolute;top:36px;left:18px;width:16px;height:8px;border-radius:2px;background:rgba(255,255,255,.6);transform:rotate(-25deg)}.d4{top:104px;left:4px;background:#ec4899;transform:rotate(45deg)}.d5{top:190px;left:22px;width:8px;height:8px}.d6{top:206px;right:50px;width:8px;height:8px}.welcome-illustration{position:relative;width:150px;height:150px;flex-shrink:0}.welcome-copy{margin-top:auto;text-align:center;position:relative}.welcome-copy h1{margin:0;font-size:30px;line-height:1.15;font-weight:800;letter-spacing:-.5px;color:#26185f}.welcome-copy p{margin:16px 0 10px;font-size:14px;font-weight:500;letter-spacing:.1px;color:#3b2a85}.panel-squiggle{position:absolute;bottom:10px;left:34px;width:68px;height:36px}.panel-squiggle path{stroke:#fb7185;stroke-width:7}
.form-panel{flex:1 1 500px;min-width:0;min-height:422px;padding:42px 40px 34px;background:#fff;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(76,29,149,.09)}.form-heading{display:flex;align-items:center;gap:10px;padding:0 16px 20px;border-bottom:1px solid #e5e2f2;color:#6d4fe0;font-size:20px;font-weight:500}.form-heading:after{content:'';position:absolute;width:104px;height:2px;background:#6d4fe0;top:92px}.form-heading svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-form{margin-top:28px;display:flex;flex-direction:column;gap:20px}.input-wrap{position:relative}.input-wrap input{display:block;width:100%;height:52px;padding:0 25px;border:1px solid #ddd6f5;border-radius:999px;background:#fff;color:#1f1840;font:500 15px 'Plus Jakarta Sans',sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}.input-wrap input:focus{border-color:#7c5cf0;box-shadow:0 0 0 4px rgba(124,92,240,.14)}.input-wrap input::placeholder{color:#6b6880;opacity:1}.password-wrap input{padding-right:56px}.password-toggle{position:absolute;top:7px;right:10px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:#6b6880;cursor:pointer}.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.form-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:2px}.remember-label{display:inline-flex;align-items:center;gap:9px;font-size:14px;color:#3b3558;cursor:pointer}.remember-label input{width:17px;height:17px;margin:0;accent-color:#7c5cf0}.form-options a{font-size:14px;font-weight:500}.login-button{align-self:flex-start;min-width:148px;height:52px;padding:0 36px;border:0;border-radius:999px;background:linear-gradient(135deg,#6d4fe0,#7b5cec);color:#fff;font:600 16px 'Plus Jakarta Sans',sans-serif;cursor:pointer;box-shadow:0 8px 20px rgba(109,79,224,.28);transition:transform .15s,box-shadow .15s}.login-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(109,79,224,.34)}.validation-message{color:#dc2626;font-size:13px}.validation-message:empty{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-footer{position:relative;z-index:1;font-size:14px;color:#6b6880;text-align:center}
@media(max-width:760px){.login-page{padding:28px 16px}.login-card{max-width:480px;flex-direction:column}.welcome-panel{flex:initial;min-height:270px;padding:20px 18px;border-radius:12px 12px 0 0}.welcome-illustration{width:105px;height:105px}.welcome-copy h1{font-size:25px}.welcome-copy p{margin-top:8px;font-size:12px}.panel-squiggle{width:45px}.form-panel{flex:initial;min-height:0;padding:26px 22px 28px;border-radius:0 0 12px 12px}.form-heading{padding-bottom:15px}.form-heading:after{top:auto;transform:translateY(16px)}.login-form{margin-top:22px;gap:16px}.input-wrap input{height:48px}.password-toggle{top:5px}.login-button{height:48px}.login-footer{font-size:12px}}
@media(max-width:360px){.form-options{align-items:flex-start;flex-direction:column}.welcome-panel{min-height:250px}.form-panel{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){.fa,.fb,.fc,.glow{animation:none!important;transition:none!important}}
