.login-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.login-page .login-container{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:3rem;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000026}.login-page .login-container:before{content:"";background:linear-gradient(90deg,#007bff,#007991);height:4px;position:absolute;top:0;left:0;right:0}.login-page .login-container .login-header{text-align:center;margin-bottom:2rem}.login-page .login-container .login-header .login-title{color:#1a1a1a;background:linear-gradient(135deg,#007bff,#007991);-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2rem;font-weight:700}.login-page .login-container .login-header .login-subtitle{color:#999;margin:0;font-size:1rem;font-weight:400}.login-page .login-container .login-form .form-group{margin-bottom:1.5rem}.login-page .login-container .login-form .form-group .form-label{color:#1a1a1a;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.login-page .login-container .login-form .form-group .form-input{color:#1a1a1a;background-color:#fff;border:2px solid #e9ecef;border-radius:6px;width:100%;padding:1rem 1.5rem;font-family:inherit;font-size:1rem;transition:all .3s}.login-page .login-container .login-form .form-group .form-input:focus{border-color:#007bff;outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #007bff1a}.login-page .login-container .login-form .form-group .form-input::placeholder{color:#999}.login-page .login-container .login-form .form-group .form-input:invalid{border-color:#dc3545}.login-page .login-container .login-form .form-group .form-error{color:#dc3545;margin-top:.25rem;font-size:.75rem;display:none}.login-page .login-container .login-form .form-group .form-error.visible{display:block}.login-page .login-container .login-form .form-actions{margin-top:2rem}.login-page .login-container .login-form .form-actions .login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#007bff,#007991);border:none;border-radius:6px;width:100%;padding:1rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.login-page .login-container .login-form .form-actions .login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 2px 10px #0000001a}.login-page .login-container .login-form .form-actions .login-button:active:not(:disabled){transform:translateY(0)}.login-page .login-container .login-form .form-actions .login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-page .login-container .login-form .form-actions .login-button .button-text{z-index:1;position:relative}.login-page .login-container .login-form .form-actions .login-button .button-loader{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-page .login-container .login-form .form-footer{text-align:center;border-top:1px solid #e9ecef;margin-top:1.5rem;padding-top:1.5rem}.login-page .login-container .login-form .form-footer .register-link{color:#007bff;font-weight:500;text-decoration:none;transition:color .3s}.login-page .login-container .login-form .form-footer .register-link:hover{color:#0056b3;text-decoration:underline}.login-page .login-container .login-decoration{z-index:0;background:linear-gradient(45deg,#007bff1a,#0079911a);border-radius:50%;width:100px;height:100px;position:absolute;top:-50px;right:-50px}.login-page .login-container .login-decoration:after{content:"";background:linear-gradient(45deg,#28a7451a,#007bff1a);border-radius:50%;width:60px;height:60px;position:absolute;bottom:-30px;left:-30px}@keyframes spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@media (max-width:768px){.login-page{padding:1rem}.login-page .login-container{max-width:100%;margin:0 1rem;padding:2rem}.login-page .login-container .login-header .login-title{font-size:1.75rem}.login-page .login-container .login-form .form-group .form-input,.login-page .login-container .login-form .form-actions .login-button{padding:.5rem 1rem}}@media (max-width:576px){.login-page{padding:.5rem}.login-page .login-container{margin:0 .5rem;padding:1.5rem}.login-page .login-container .login-header{margin-bottom:1.5rem}.login-page .login-container .login-header .login-title{font-size:1.5rem}.login-page .login-container .login-form .form-group{margin-bottom:1rem}}
