@keyframes fadeIn{to{opacity:1}}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{to{opacity:1;transform:scale(1)}}@keyframes wave{0%,to{transform:rotate(0deg)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:2rem}@media(max-width:639px){.login-page{padding:1.5rem 1rem}}.login-container{position:relative;width:100%;max-width:480px;z-index:10}.login-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden;pointer-events:none}.login-background .bg-gradient-1{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(135deg,#1A3E72,#4A90E2 50%,#FBB74D);opacity:.1;animation:rotate 20s linear infinite}.login-background .bg-gradient-2{position:absolute;bottom:-50%;right:-50%;width:200%;height:200%;background:linear-gradient(135deg,#FBB74D,#F57C20);opacity:.08;animation:rotate 25s linear infinite reverse}.bg-particles{position:absolute;width:100%;height:100%}.bg-particles .particle{position:absolute;background:#4a90e2;border-radius:50%;opacity:.1;animation:float 6s ease-in-out infinite}.bg-particles .particle.particle-1{width:4px;height:4px;top:20%;left:10%;animation-delay:0s}.bg-particles .particle.particle-2{width:6px;height:6px;top:60%;left:80%;animation-delay:1s;background:#f57c20}.bg-particles .particle.particle-3{width:3px;height:3px;top:80%;left:20%;animation-delay:2s}.bg-particles .particle.particle-4{width:5px;height:5px;top:30%;left:70%;animation-delay:3s;background:#fbb74d}.bg-particles .particle.particle-5{width:4px;height:4px;top:70%;left:50%;animation-delay:4s}.bg-particles .particle.particle-6{width:7px;height:7px;top:10%;left:60%;animation-delay:5s;background:#4a90e2}.login-card{background:hsla(0,0%,100%,.95);backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.2);border-radius:1.5rem;padding:4rem 3rem;box-shadow:0 8px 32px rgba(26,62,114,.1),0 2px 16px rgba(74,144,226,.05),inset 0 1px 0 hsla(0,0%,100%,.9);position:relative;overflow:hidden;z-index:20;pointer-events:auto}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(74,144,226,.3) 50%,transparent)}@media(max-width:639px){.login-card{padding:3rem 2rem;border-radius:1rem}}.back-to-home{display:inline-flex;align-items:center;gap:.25rem;color:#666;font-size:.875rem;font-weight:500;text-decoration:none;margin-bottom:2rem;padding:.5rem 1rem;border-radius:.5rem;transition:all .3s cubic-bezier(0,0,.2,1);z-index:30;position:relative}.back-to-home:hover{color:#4a90e2;background:rgba(74,144,226,.05);transform:translateX(-2px)}.back-to-home svg{transition:transform .3s cubic-bezier(0,0,.2,1)}.back-to-home:hover svg{transform:translateX(-2px)}.login-header{text-align:center;margin-bottom:3rem}.login-logo{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem}.login-logo .logo-image{border-radius:.75rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:transform .3s cubic-bezier(0,0,.2,1)}.login-logo .logo-image:hover{transform:scale(1.05)}.login-logo .logo-text{text-align:left}.login-logo .logo-text .logo-main{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#4A90E2,#1A3E72);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;margin:0;line-height:1.2}.login-logo .logo-text .logo-sub{font-size:.875rem;color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media(max-width:639px){.login-logo{flex-direction:column;gap:.5rem}.login-logo .logo-text{text-align:center}.login-logo .logo-text .logo-main{font-size:1.25rem}}.login-title{font-size:1.875rem;font-weight:700;color:#1a3e72;margin-bottom:.5rem}@media(max-width:639px){.login-title{font-size:1.5rem}}.login-subtitle{color:#666;font-size:1rem;font-weight:400;line-height:1.5}.login-form{gap:1.5rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-label{font-size:.875rem;font-weight:600;color:#1a3e72;text-transform:uppercase;letter-spacing:.5px}.input-wrapper{position:relative;display:flex;align-items:center}.form-input{width:100%;height:56px;padding:0 1rem 0 4rem;border:2px solid hsla(0,0%,80%,.3);border-radius:.75rem;font-size:1rem;font-family:Poppins,Helvetica Neue,Arial,sans-serif;background:hsla(0,0%,100%,.8);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(0,0,.2,1);position:relative;z-index:25}.form-input::placeholder{color:#666;opacity:.7}.form-input:focus{outline:none;border-color:#4a90e2;background:hsla(0,0%,100%,.95);box-shadow:0 0 0 3px rgba(74,144,226,.1),0 4px 12px rgba(74,144,226,.15);transform:translateY(-1px)}.form-input.error{border-color:#e74c3c;background:rgba(231,76,60,.05)}.form-input.error:focus{border-color:#e74c3c;box-shadow:0 0 0 3px rgba(231,76,60,.1),0 4px 12px rgba(231,76,60,.15)}.form-input:disabled{opacity:.6;cursor:not-allowed}.input-icon{position:absolute;left:1rem;color:#666;pointer-events:none;transition:color .3s cubic-bezier(0,0,.2,1)}.form-input:focus+.input-icon{color:#4a90e2}.form-input.error+.input-icon{color:#e74c3c}.password-toggle{position:absolute;right:1rem;background:none;border:none;color:#666;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .3s cubic-bezier(0,0,.2,1)}.password-toggle:hover{color:#4a90e2;background:rgba(74,144,226,.1)}.password-toggle:disabled{opacity:.5;cursor:not-allowed}.error-message{font-size:.75rem;color:#e74c3c;font-weight:500;display:flex;align-items:center;gap:.25rem}.error-message.general-error{background:rgba(231,76,60,.1);border:1px solid rgba(231,76,60,.2);border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem}.form-options{display:flex;justify-content:space-between;align-items:center;margin:1rem 0}@media(max-width:639px){.form-options{flex-direction:column;gap:1rem;align-items:flex-start}}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.checkbox-wrapper input[type=checkbox]{display:none}.checkbox-wrapper .checkbox-custom{width:20px;height:20px;border:2px solid hsla(0,0%,80%,.5);border-radius:.25rem;background:hsla(0,0%,100%,.8);position:relative;transition:all .3s cubic-bezier(0,0,.2,1)}.checkbox-wrapper .checkbox-custom:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .3s cubic-bezier(0,0,.2,1)}.checkbox-wrapper input:checked+.checkbox-custom{background:#4a90e2;border-color:#4a90e2}.checkbox-wrapper input:checked+.checkbox-custom:after{transform:rotate(45deg) scale(1)}.checkbox-wrapper .checkbox-label{color:#666;font-weight:500}.forgot-password-link{color:#4a90e2;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .3s cubic-bezier(0,0,.2,1)}.forgot-password-link:hover{color:#1a3e72;text-decoration:underline}.login-submit{width:100%;height:56px;background:linear-gradient(135deg,#4A90E2,#1A3E72);color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;font-family:Poppins,Helvetica Neue,Arial,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden;transition:all .3s cubic-bezier(0,0,.2,1);margin-top:1.5rem;z-index:25}.login-submit:hover:not(:disabled){background:linear-gradient(135deg,#FBB74D,#F57C20);transform:translateY(-2px);box-shadow:0 8px 25px rgba(74,144,226,.3),0 4px 12px rgba(245,124,32,.2)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit.loading{cursor:not-allowed;background:rgba(74,144,226,.7)}.login-submit.loading:hover{transform:none;box-shadow:none;background:rgba(74,144,226,.7)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-submit.loading:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2) 50%,transparent);animation:shimmer 1.5s infinite}.loading-spinner{width:20px;height:20px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.login-footer{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid hsla(0,0%,80%,.2)}.signup-prompt{color:#666;font-size:.875rem;margin:0}.signup-link{color:#4a90e2;font-weight:600;text-decoration:none;transition:color .3s cubic-bezier(0,0,.2,1)}.signup-link:hover{color:#1a3e72;text-decoration:underline}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes float{0%,to{transform:translateY(0) rotate(0deg);opacity:.1}50%{transform:translateY(-20px) rotate(180deg);opacity:.3}}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media(max-width:374px){.login-card{padding:2rem 1.5rem}.login-logo .logo-text .logo-main{font-size:1.125rem}.login-title{font-size:1.25rem}.form-input{height:52px;padding-left:3rem}.input-icon{left:.5rem}.password-toggle{right:.5rem}}@media(prefers-reduced-motion:reduce){.bg-gradient-1,.bg-gradient-2,.loading-spinner,.particle{animation:none}.form-input,.login-card,.login-submit{transition:none}}@media(prefers-contrast:high){.login-card{background:#fff;border:2px solid #1a3e72}.form-input{background:#fff;border-color:#1a3e72}.login-submit{background:#1a3e72;border:2px solid #1a3e72}}@media(prefers-color-scheme:dark){.login-page{background:#1a3e72}.login-card{background:rgba(26,62,114,.95);border-color:rgba(74,144,226,.3);color:#fff}.form-label,.login-title{color:#fff}.checkbox-label,.login-subtitle{color:hsla(0,0%,100%,.8)}.form-input{background:rgba(26,62,114,.8);border-color:rgba(74,144,226,.3);color:#fff}.form-input::placeholder{color:hsla(0,0%,100%,.6)}}