@keyframes meshMorph{0%{transform:translate(0) scale(1);filter:hue-rotate(0deg) brightness(1)}14%{transform:translate(4%,-6%) scale(1.05);filter:hue-rotate(22deg) brightness(1.08)}28%{transform:translate(-6%,3%) scale(.96);filter:hue-rotate(-18deg) brightness(.95)}42%{transform:translate(7%,7%) scale(1.07);filter:hue-rotate(38deg) brightness(1.05)}57%{transform:translate(-4%,-8%) scale(.95);filter:hue-rotate(-8deg) brightness(.97)}71%{transform:translate(5%,4%) scale(1.04);filter:hue-rotate(28deg) brightness(1.06)}85%{transform:translate(-7%,2%) scale(.98);filter:hue-rotate(-30deg) brightness(.93)}to{transform:translate(0) scale(1);filter:hue-rotate(0deg) brightness(1)}}@keyframes drift1{0%{transform:translate(0) scale(1)}30%{transform:translate(6%,10%) scale(1.08)}60%{transform:translate(12%,4%) scale(.94)}80%{transform:translate(4%,14%) scale(1.06)}to{transform:translate(0) scale(1)}}@keyframes drift2{0%{transform:translate(0) scale(1)}25%{transform:translate(-8%,7%) scale(1.05)}55%{transform:translate(-4%,-10%) scale(.92)}75%{transform:translate(-12%,5%) scale(1.1)}to{transform:translate(0) scale(1)}}@keyframes drift3{0%{transform:translate(0) scale(1)}35%{transform:translate(10%,-6%) scale(1.06)}65%{transform:translate(5%,9%) scale(.96)}to{transform:translate(0) scale(1)}}@keyframes drift4{0%{transform:translate(0) scale(1)}40%{transform:translate(-5%,-8%) scale(1.04)}70%{transform:translate(-10%,5%) scale(.97)}to{transform:translate(0) scale(1)}}@keyframes drift5{0%{transform:translate(0) scale(1)}20%{transform:translate(7%,-12%) scale(1.07)}50%{transform:translate(3%,6%) scale(.95)}80%{transform:translate(9%,-4%) scale(1.03)}to{transform:translate(0) scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.sign-in-page{position:relative;min-height:100vh;display:flex;overflow:hidden;background:#050c1f}.sign-in-page:before{content:"";position:absolute;inset:-20%;width:140%;height:140%;z-index:0;will-change:transform,filter;background:radial-gradient(ellipse 70% 55% at 28% 38%,rgba(22,88,220,.78) 0,transparent 60%),radial-gradient(ellipse 60% 70% at 75% 62%,rgba(14,48,160,.72) 0,transparent 58%),radial-gradient(ellipse 55% 50% at 52% 88%,rgba(8,30,115,.68) 0,transparent 55%),radial-gradient(ellipse 80% 40% at 10% 80%,rgba(18,60,180,.5) 0,transparent 60%),linear-gradient(160deg,#050d1e,#091535 45%,#0c2050 75%,#0e2d6e);animation:meshMorph 22s ease-in-out infinite}.bg-blobs{inset:0;pointer-events:none;overflow:hidden;z-index:1}.bg-blobs,.blob{position:absolute}.blob{border-radius:50%;will-change:transform;filter:blur(72px)}.b1{width:55vw;height:55vw;max-width:700px;max-height:700px;top:-18%;left:-12%;background:radial-gradient(circle,rgba(24,100,240,.55) 0,transparent 68%);animation:drift1 28s ease-in-out infinite}.b2{width:50vw;height:50vw;max-width:640px;max-height:640px;bottom:-15%;right:-10%;background:radial-gradient(circle,rgba(18,60,160,.6) 0,transparent 68%);animation:drift2 34s ease-in-out infinite;animation-delay:-8s}.b3{width:42vw;height:42vw;max-width:540px;max-height:540px;top:30%;right:-8%;background:radial-gradient(circle,rgba(10,70,180,.5) 0,transparent 68%);animation:drift3 24s ease-in-out infinite;animation-delay:-14s}.b4{width:36vw;height:36vw;max-width:460px;max-height:460px;top:-10%;right:15%;background:radial-gradient(circle,rgba(8,40,120,.55) 0,transparent 68%);animation:drift4 40s ease-in-out infinite;animation-delay:-20s}.b5{width:38vw;height:38vw;max-width:480px;max-height:480px;bottom:5%;left:10%;background:radial-gradient(circle,rgba(30,90,200,.45) 0,transparent 68%);animation:drift5 32s ease-in-out infinite;animation-delay:-5s}.main-container{position:relative;z-index:10;display:flex;width:100%;min-height:100vh}.brand-section{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:48px 60px;position:relative;z-index:2}.brand-section:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,91,255,.15),rgba(0,40,120,.25));z-index:-1}.brand-content{flex:1;display:flex;flex-direction:column;justify-content:center}.brand-logo{display:flex;align-items:center;gap:16px;margin-bottom:48px}.brand-logo svg{width:48px;height:48px;flex-shrink:0}.brand-logo .brand-title-group{display:flex;flex-direction:column;gap:2px}.brand-logo .brand-title{font-size:22px;font-weight:700;color:#fff;margin:0;letter-spacing:1px}.brand-logo .brand-subtitle{font-size:13px;color:hsla(0,0%,100%,.6);margin:0;letter-spacing:1px}.hero-text{margin-bottom:24px}.hero-title{font-size:42px;font-weight:700;color:#fff;margin:0 0 8px;line-height:1.2;letter-spacing:1px}.hero-desc{font-size:15px;color:hsla(0,0%,100%,.7);line-height:1.8;margin:0 0 40px;max-width:420px}.feature-list{display:flex;flex-direction:column;gap:16px}.feature-item{display:inline-flex;align-items:center;gap:12px;padding:12px 24px;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:24px;width:-moz-fit-content;width:fit-content;transition:all .3s ease}.feature-item svg{width:18px;height:18px;color:#2563eb;flex-shrink:0}.feature-item span{font-size:14px;color:#fff;white-space:nowrap}.feature-item:hover{background:hsla(0,0%,100%,.15);transform:translateX(4px)}.copyright{font-size:13px;color:hsla(0,0%,100%,.5);padding-top:24px}.login-section{width:520px;min-width:520px;display:flex;align-items:center;justify-content:center;padding:40px;background:#fff;position:relative;z-index:2}.login-card{width:100%;max-width:400px}.login-header{margin-bottom:32px}.login-title{font-size:28px;font-weight:700;color:#1a1a2e;margin:0 0 8px}.login-subtitle{font-size:14px;color:#8c8c8c;margin:0}.login-form{gap:20px}.form-field,.login-form{display:flex;flex-direction:column}.form-field{gap:8px}.form-field label{font-size:14px;font-weight:500;color:#1a1a2e}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper .input-icon{position:absolute;left:14px;width:18px;height:18px;color:#bfbfbf;pointer-events:none;transition:color .25s}.input-wrapper input{width:100%;padding:12px 14px 12px 44px;background:#f5f5f7;border:1px solid transparent;border-radius:10px;color:#1a1a2e;font-size:14px;outline:none;transition:all .25s}.input-wrapper input::-moz-placeholder{color:#bfbfbf}.input-wrapper input::placeholder{color:#bfbfbf}.input-wrapper input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.input-wrapper:focus-within .input-icon{color:#2563eb}.toggle-password{position:absolute;right:12px;background:transparent;border:none;cursor:pointer;padding:4px;color:#bfbfbf;display:flex;align-items:center;transition:color .2s}.toggle-password svg{width:18px;height:18px}.toggle-password:hover{color:#8c8c8c}.captcha-row{display:flex;gap:12px}.captcha-row .captcha-input{flex:1}.captcha-img{width:110px;height:46px;border-radius:10px;overflow:hidden;cursor:pointer;border:1px solid #e8e8e8;background:#f5f5f7;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.captcha-img:hover{border-color:#2563eb}.captcha-img img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.captcha-placeholder{display:flex;align-items:center;justify-content:center;color:#8c8c8c;font-size:12px}.captcha-placeholder svg{width:18px;height:18px}.captcha-placeholder.loading .spin{display:block;width:18px;height:18px;border:2px solid rgba(37,99,235,.2);border-top-color:#2563eb;border-radius:50%;animation:spin .7s linear infinite}.remember-row{margin-top:-4px}.checkbox-wrapper{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-wrapper input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.checkbox-wrapper input[type=checkbox]:checked+.checkmark{background:#2563eb;border-color:#2563eb}.checkbox-wrapper input[type=checkbox]:checked+.checkmark:after{opacity:1;transform:rotate(45deg) scale(1)}.checkbox-wrapper .checkmark{width:16px;height:16px;border:1.5px solid #d9d9d9;border-radius:4px;position:relative;transition:all .2s}.checkbox-wrapper .checkmark:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;opacity:0;transform:rotate(45deg) scale(0);transition:all .2s}.checkbox-wrapper .checkbox-label{font-size:14px;color:#595959}.error-msg{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff2f0;border:1px solid #ffccc7;border-radius:8px;color:#ff4d4f;font-size:13px}.error-msg svg{width:16px;height:16px;flex-shrink:0}.fade-enter-active,.fade-leave-active{transition:opacity .25s,transform .25s}.fade-enter,.fade-leave-to{opacity:0;transform:translateY(-4px)}.submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;margin-top:8px;border:none;border-radius:10px;cursor:pointer;font-size:16px;font-weight:600;color:#fff;background:#2563eb;transition:all .25s}.submit-btn svg{width:18px;height:18px}.submit-btn:hover:not(:disabled){background:#1350d4;transform:translateY(-1px);box-shadow:0 4px 12px rgba(37,99,235,.3)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.submit-btn .btn-spinner{display:inline-block;width:18px;height:18px;border:2px solid hsla(0,0%,100%,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@media(max-width:1024px){.brand-section{padding:40px}.hero-title{font-size:32px}.login-section{width:460px;min-width:460px}}@media(max-width:900px){.main-container{flex-direction:column}.brand-section{padding:32px 24px;min-height:auto}.brand-section .brand-logo{margin-bottom:24px}.brand-section .brand-logo svg{width:40px;height:40px}.brand-section .brand-logo .brand-title{font-size:18px}.brand-section .hero-title{font-size:28px}.brand-section .hero-desc{margin-bottom:24px}.feature-list{flex-direction:row;flex-wrap:wrap;gap:12px}.feature-item{padding:10px 16px}.feature-item span{font-size:13px}.copyright{padding-top:16px;text-align:center}.login-section{width:100%;min-width:auto;min-height:100vh;padding:32px 24px}}@media(max-width:480px){.brand-section{padding:24px 16px}.brand-section .hero-title{font-size:24px}.feature-list{flex-direction:column}.login-card{max-width:100%}}