.login-container{min-height:100vh;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="dots" width="20" height="20" patternUnits="userSpaceOnUse"><circle cx="10" cy="10" r="1.5" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23dots)"/></svg>');pointer-events:none}.login-card{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 20px 40px #0000001a;border:1px solid rgba(255,255,255,.2);width:100%;max-width:420px;padding:2.5rem 2rem;position:relative;z-index:2;animation:slideInUp .6s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.login-title{font-size:1.875rem;font-weight:700;color:#1a202c;margin-bottom:.5rem}.login-subtitle{color:#718096;font-size:.875rem;line-height:1.5}.social-login-section{margin-bottom:1.5rem}.social-button{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;background:white;color:#4a5568;font-weight:500;font-size:.8rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;cursor:pointer;margin-bottom:.5rem;position:relative;overflow:hidden}.social-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease}.social-button:hover:before{left:100%}.social-button:hover{border-color:#cbd5e0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.social-button:active{transform:translateY(0)}.social-button.google:hover{border-color:#ea4335;color:#ea4335}.social-button.microsoft:hover{border-color:#0078d4;color:#0078d4}.social-button.apple:hover{border-color:#000;color:#000}.social-button.phone:hover{border-color:#38a169;color:#38a169}.social-button.line:hover{border-color:#00c300;color:#00c300}.social-icon{width:18px;height:18px;flex-shrink:0}.divider{display:flex;align-items:center;margin:1.5rem 0;color:#a0aec0;font-size:.8rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.divider span{padding:0 1rem;background:rgba(255,255,255,.95)}.login-form{margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-weight:500;color:#4a5568;margin-bottom:.5rem;font-size:.8rem}.form-input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;transition:all .2s ease;background:white}.form-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-input::-moz-placeholder{color:#a0aec0}.form-input::placeholder{color:#a0aec0}.form-options{display:flex;justify-content:between;align-items:center;margin-bottom:1.5rem;font-size:.8rem}.remember-me{display:flex;align-items:center;gap:.5rem}.remember-me input[type=checkbox]{width:16px;height:16px;accent-color:#4f46e5}.forgot-password{color:#4f46e5;text-decoration:none;font-weight:500;transition:color .2s ease}.forgot-password:hover{color:#7c3aed;text-decoration:underline}.submit-button{width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.submit-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.submit-button:hover:before{left:100%}.submit-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #4f46e54d}.submit-button:active{transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer{text-align:center;color:#718096;font-size:.8rem}.login-footer a{color:#4f46e5;text-decoration:none;font-weight:500;transition:color .2s ease}.login-footer a:hover{color:#7c3aed;text-decoration:underline}.loading{display:inline-flex;align-items:center;gap:.5rem}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-input.error{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.error-message{color:#e53e3e;font-size:.7rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.form-input.success{border-color:#38a169;box-shadow:0 0 0 3px #38a1691a}.success-message{color:#38a169;font-size:.7rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}@media (max-width: 640px){.login-container{padding:1rem}.login-card{padding:2rem 1.5rem;border-radius:16px}.login-title{font-size:1.5rem}.social-button{padding:.625rem;font-size:.75rem}.form-input,.submit-button{padding:.625rem}}@media (prefers-reduced-motion: reduce){.login-card,.social-button,.submit-button,.form-input{animation:none;transition:none}}@media (prefers-contrast: high){.login-card{background:white;border:2px solid #000}.social-button,.form-input{border-color:#000}}
