*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;background:linear-gradient(135deg,#e3f2fd 0%,#bbdefb 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-container{width:100%;max-width:400px;animation:fadeIn .5s ease-out}.login-header{text-align:center;margin-bottom:30px;color:#37474f}.login-header h1{font-size:28px;margin-bottom:10px;font-weight:600}.login-header p{font-size:16px;opacity:.8}.login-card{background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(3,169,244,.15);padding:30px 25px;position:relative;overflow:hidden}.login-card::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;border-radius:3px 3px 0 0}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#455a64}.aui-btn-block{margin-top:25px;height:48px;border-radius:24px;font-size:16px;font-weight:600;background:linear-gradient(to right,#03a9f4,#0288d1);border:0;color:#fff;transition:all .3s}.aui-btn-block:active{transform:translateY(2px);box-shadow:0 4px 8px rgba(3,169,244,.3)}.login-footer{text-align:center;margin-top:25px;color:#78909c;font-size:14px}.login-footer a{color:#03a9f4;text-decoration:none;margin:0 10px}.login-footer a:hover{text-decoration:underline}.logo{text-align:center;margin-bottom:20px}.logo-icon{display:inline-block;width:70px;height:70px;border-radius:50%;line-height:70px;margin-bottom:15px;box-shadow:0 4px 10px rgba(3,169,244,.3);overflow:hidden}.logo-icon img{width:100%;height:100%;object-fit:cover;display:block}.remember-forgot{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.remember-me{display:flex;align-items:center}.remember-me input{margin-right:5px}.forgot-password{color:#03a9f4;text-decoration:none;font-size:14px}.forgot-password:hover{text-decoration:underline}.social-login{margin-top:25px;text-align:center}.social-login p{position:relative;margin-bottom:20px;color:#90a4ae}.social-login p::before,.social-login p::after{content:'';position:absolute;top:50%;width:30%;height:1px;background:#eceff1}.social-login p::before{left:0}.social-login p::after{right:0}.social-buttons{display:flex;justify-content:center;gap:15px}.social-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #eceff1;background:#fff;color:#78909c;font-size:18px;transition:all .3s}.social-btn:active{transform:translateY(2px);box-shadow:0 2px 5px rgba(0,0,0,.05)}.social-btn.wechat{color:#09bb07}.social-btn.qq{color:#12b7f5}.social-btn.weibo{color:#e6162d}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.input-icon{position:relative}.input-icon .aui-iconfont{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#90a4ae;z-index:2}.input-icon input{padding-left:40px;border:1px solid #eceff1;border-radius:8px;transition:border-color .3s}.input-icon input:focus{border-color:#03a9f4;outline:0}.iot-elements{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;z-index:-1;overflow:hidden}.iot-element{position:absolute;opacity:.1}.iot-element.circle{width:80px;height:80px;border-radius:50%;border:2px solid #03a9f4;top:10%;left:5%}.iot-element.square{width:60px;height:60px;border:2px solid #0288d1;bottom:15%;right:8%;transform:rotate(45deg)}.iot-element.line{width:100px;height:2px;background:#03a9f4;top:40%;right:10%;transform:rotate(30deg)}.iot-element.wave{width:120px;height:60px;border:2px solid #03a9f4;border-radius:50%;top:70%;left:10%;transform:rotate(-15deg)}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(3,169,244,.4)}70%{box-shadow:0 0 0 10px rgba(3,169,244,0)}100%{box-shadow:0 0 0 0 rgba(3,169,244,0)}}