:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #1c2128;--bg-hover: #21262d;--bg-active: #30363d;--border-color: #30363d;--text-primary: #e6edf3;--text-secondary: #7d8590;--text-tertiary: #6e7681;--accent-blue: #58a6ff;--accent-blue-hover: #79b8ff;--accent-green: #3fb950;--accent-red: #f85149;--accent-orange: #db6d28;--transition: all .2s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-y:auto;overflow-x:hidden}.login-wrapper{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;position:relative}.visual-panel{background:linear-gradient(135deg,#1a1f2e,#0d1117);display:flex;flex-direction:column;justify-content:space-between;padding:60px;position:relative;overflow:hidden}.visual-panel:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(88,166,255,.1) 0%,transparent 70%);animation:pulse 15s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(5deg)}}.visual-content{position:relative;z-index:1}.brand-logo{display:flex;align-items:center;gap:16px;margin-bottom:60px}.brand-logo i{font-size:42px;color:var(--accent-blue);filter:drop-shadow(0 0 20px rgba(88,166,255,.5))}.brand-logo h1{font-size:28px;font-weight:700;color:var(--text-primary)}.hero-content h2{font-size:48px;font-weight:700;line-height:1.2;margin-bottom:24px;color:#79b8ff;background:linear-gradient(135deg,#58a6ff,#bc8cff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.hero-content p{font-size:18px;line-height:1.6;color:var(--text-secondary);max-width:500px}.feature-list{margin-top:48px;display:flex;flex-direction:column;gap:20px}.feature-item{display:flex;align-items:center;gap:16px;padding:16px;background:#58a6ff0d;border:1px solid rgba(88,166,255,.1);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#58a6ff1a;border-radius:10px;font-size:24px;color:var(--accent-blue)}.feature-text h3{font-size:16px;font-weight:600;margin-bottom:4px}.feature-text p{font-size:14px;color:var(--text-secondary)}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px;background:var(--bg-primary)}.login-container{width:100%;max-width:440px}.login-header{margin-bottom:40px}.login-header h2{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.login-header p{font-size:16px;color:var(--text-secondary)}.social-login{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:32px}.btn-social{padding:14px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:10px;font-size:20px;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;position:relative}.btn-social:hover{border-color:var(--accent-blue);background:var(--bg-hover);transform:translateY(-2px)}.divider{display:flex;align-items:center;gap:16px;margin-bottom:32px}.divider-text{color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.login-box{width:100%}.login-title{display:none}.form-group{margin-bottom:24px}.form-label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.form-input{width:100%;background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary);padding:14px 16px;border-radius:10px;font-size:15px;outline:none;transition:var(--transition)}.form-input:focus{border-color:var(--accent-blue);background:var(--bg-tertiary);box-shadow:0 0 0 4px #58a6ff1a}.form-input.with-icon{padding-right:48px}.input-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:18px}.form-helper{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:13px}.btn{width:100%;padding:14px 24px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--accent-blue);color:var(--bg-primary);margin-top:32px;box-shadow:0 4px 14px #58a6ff66}.btn-primary:hover{background:var(--accent-blue-hover);transform:translateY(-2px);box-shadow:0 6px 20px #58a6ff80}.btn-social.microsoft i{color:#00a4ef}.login-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color);font-size:14px;color:var(--text-secondary)}.login-footer a{color:var(--accent-blue);text-decoration:none;font-weight:600;transition:var(--transition)}.login-footer a:hover{color:var(--accent-blue-hover);text-decoration:underline}.security-notice{position:absolute;bottom:24px;left:60px;font-size:12px;color:var(--text-tertiary);display:flex;align-items:center;gap:8px;z-index:2}.security-notice i{color:var(--accent-green);font-size:16px}@media (max-width: 1024px){.login-wrapper{grid-template-columns:1fr}.visual-panel{display:none}.login-panel{padding:60px 20px}}@media (max-width: 480px){.login-header h2{font-size:28px}.social-login{gap:8px}.btn-social{padding:12px}.form-helper{flex-direction:column;align-items:flex-start;gap:12px}.login-panel{padding:40px 20px}}body.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-container{width:100%;max-width:420px}.auth-header{text-align:center;margin-bottom:32px}.logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.logo i{font-size:48px;color:var(--accent-blue)}.logo h1{font-size:32px;font-weight:600;color:var(--text-primary)}.auth-subtitle{font-size:16px;color:var(--text-secondary);margin-bottom:8px}.auth-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:32px;box-shadow:0 8px 24px #0006}.auth-title{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:24px;text-align:center}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.form-input-wrapper{position:relative}.form-input{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:12px 16px;border-radius:8px;font-size:14px;outline:none;transition:var(--transition)}.form-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #58a6ff1a}.form-input.with-icon{padding-right:44px}.input-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.input-icon:hover{color:var(--accent-blue)}.form-helper{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px}.checkbox-wrapper{display:flex;align-items:center;gap:8px}.checkbox-wrapper input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-blue)}.checkbox-wrapper label{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.forgot-link{color:var(--accent-blue);text-decoration:none;transition:var(--transition)}.forgot-link:hover{color:var(--accent-blue-hover);text-decoration:underline}.btn{width:100%;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--accent-blue);color:var(--bg-primary);margin-top:24px}.btn-primary:hover{background:var(--accent-blue-hover);transform:translateY(-1px);box-shadow:0 4px 12px #58a6ff4d}.btn-primary:active{transform:translateY(0)}.divider{display:flex;align-items:center;gap:16px;margin:24px 0}.divider-line{flex:1;height:1px;background:var(--border-color)}.divider-text{color:var(--text-secondary);font-size:13px;font-weight:600;text-transform:uppercase}.btn-social{width:100%;padding:12px 20px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px}.btn-social:hover{border-color:var(--accent-blue);background:var(--bg-hover)}.btn-social i{font-size:18px}.btn-social.github i{color:var(--text-primary)}.btn-social.google i{color:#4285f4}.btn-social.microsoft i{color:var(--accent-blue)}.auth-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color);font-size:14px;color:var(--text-secondary)}.auth-footer a{color:var(--accent-blue);text-decoration:none;font-weight:600;transition:var(--transition)}.auth-footer a:hover{color:var(--accent-blue-hover);text-decoration:underline}.alert{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.alert-error{background:#f851491a;border:1px solid rgba(248,81,73,.3);color:var(--accent-red)}.alert-success{background:#3fb9501a;border:1px solid rgba(63,185,80,.3);color:var(--accent-green)}.alert-info{background:#58a6ff1a;border:1px solid rgba(88,166,255,.3);color:var(--accent-blue)}.alert-warning{background:#db6d281a;border:1px solid rgba(219,109,40,.3);color:var(--accent-orange)}.security-notice{margin-top:32px;text-align:center;font-size:12px;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;gap:6px}.security-notice i{color:var(--accent-green)}.btn.loading{pointer-events:none;opacity:.7}.spinner{width:16px;height:16px;border:2px solid var(--bg-primary);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:24px;right:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px 20px;box-shadow:0 8px 24px #0006;display:flex;align-items:center;gap:12px;transform:translate(400px);transition:transform .3s ease;z-index:1000}.toast.show{transform:translate(0)}.toast i{font-size:20px}.toast.success i{color:var(--accent-green)}.toast.error i{color:var(--accent-red)}.toast.info i{color:var(--accent-blue)}.toast span{font-size:14px;color:var(--text-primary)}@media (max-width: 480px){.auth-box{padding:24px}.logo h1{font-size:24px}.logo i{font-size:36px}.form-helper{flex-direction:column;align-items:flex-start;gap:12px}.toast{right:12px;bottom:12px;left:12px}}
