.login-container{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:1rem;background:#070708}.login-card{background:rgba(243,242,251,.03);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:1rem;box-shadow:0 0 50px rgba(0,0,0,.5);padding:2rem;width:100%;max-width:28rem;position:relative;overflow:hidden;border:1px solid rgba(243,242,251,.1);animation:fade-in .5s ease-out}.register-page .login-card{max-width:32rem}.login-card-gradient{position:absolute;inset:0;background:linear-gradient(to bottom right,rgba(59,130,246,.1),transparent,rgba(168,85,247,.1));pointer-events:none}.login-card-spin-gradient{position:absolute;inset:-500px;background:linear-gradient(to bottom right,rgba(59,130,246,.2),transparent,rgba(168,85,247,.2));pointer-events:none;animation:slow-spin 20s linear infinite}.login-header{position:relative}.login-title{font-size:2.25rem;font-weight:700;color:#f3f2fb;text-align:center;margin-bottom:.5rem}.login-subtitle{color:rgba(243,242,251,.6);text-align:center;font-size:.875rem}.login-form{position:relative;gap:1.5rem}.form-group,.login-form{display:flex;flex-direction:column}.form-label{display:block;font-size:.875rem;font-weight:500;color:rgba(243,242,251,.8);margin-bottom:.5rem;transition:color .2s}.form-group:focus-within .form-label{color:#f3f2fb}.form-input{width:100%;padding:.75rem 1rem;border-radius:.75rem;background:rgba(243,242,251,.05);color:#f3f2fb;border:1px solid rgba(243,242,251,.1);transition:all .2s ease-in-out}.form-input::-moz-placeholder{color:rgba(243,242,251,.3)}.form-input::placeholder{color:rgba(243,242,251,.3)}.form-input:focus{outline:none;border-color:rgba(243,242,251,.5);box-shadow:0 0 0 2px rgba(243,242,251,.1)}.form-input-pin{letter-spacing:.2em}.form-input-pin::-moz-placeholder{letter-spacing:normal}.form-input-pin::placeholder{letter-spacing:normal}.error-message{color:#ff6b6b;font-size:.875rem;animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}.submit-button{width:100%;background:#f3f2fb;color:#070708;padding:.75rem 1rem;border-radius:.75rem;font-weight:500;transition:all .2s ease-in-out;box-shadow:0 10px 15px -3px rgba(0,0,0,.2)}.submit-button:hover:not(:disabled){background:rgba(243,242,251,.9);transform:scale(1.02)}.submit-button:active:not(:disabled){transform:scale(.98)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.loading-spinner{display:flex;align-items:center;justify-content:center}.spinner-icon{animation:spin 1s linear infinite;margin-left:-.25rem;margin-right:.75rem;height:1.25rem;width:1.25rem;color:#070708}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slow-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input{padding-right:2.5rem}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;padding:.25rem;color:rgba(243,242,251,.6);cursor:pointer;transition:color .2s ease-in-out}.password-toggle:hover{color:rgba(243,242,251,.8)}.password-toggle:focus{outline:none;color:#f3f2fb}.password-toggle-icon{width:1.25rem;height:1.25rem}.register-text{text-align:center;font-size:.875rem;color:rgba(243,242,251,.6);margin-top:1rem}.register-link{color:#f3f2fb;text-decoration:none;font-weight:500;transition:opacity .2s ease-in-out}.register-link:hover{opacity:.8}.register-link:focus{outline:none;opacity:.8;text-decoration:underline}.name-row{display:flex;gap:1rem;width:100%}