
/* /alpha_plus_login/static/src/scss/login.scss */
 *{margin: 0; padding: 0; box-sizing: border-box;}body.o_login_screen{font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: var(--ap-dark); min-height: 100vh; display: -webkit-box; display: -webkit-flex; display: flex; overflow: hidden; margin: 0;}body.o_login_screen .o_brand_promotion, body.o_login_screen .oe_login_footer, body.o_login_screen .o_footer_copyright, body.o_login_screen .o_database_list h2, body.o_login_screen .card-header, body.o_login_screen .border-bottom{display: none !important;}.ap-bg-container{position: fixed; top: 0; right: 0; width: 100%; height: 100%; z-index: 0; overflow: hidden;}.ap-gradient-orb{position: absolute; border-radius: 50%; filter: blur(80px); animation: ap-float 20s infinite ease-in-out;}.ap-orb-1{width: 600px; height: 600px; background: linear-gradient(-135deg, rgba(99, 102, 241, 0.4), rgba(139, 92, 246, 0.2)); top: -200px; left: -200px;}.ap-orb-2{width: 500px; height: 500px; background: linear-gradient(-135deg, rgba(245, 158, 11, 0.3), rgba(236, 72, 153, 0.2)); bottom: -150px; right: -150px; animation-delay: -5s;}.ap-orb-3{width: 400px; height: 400px; background: linear-gradient(-135deg, rgba(59, 130, 246, 0.3), rgba(99, 102, 241, 0.2)); top: 50%; right: 30%; animation-delay: -10s;}@keyframes ap-float{0%, 100%{transform: translate(0, 0) scale(1);}25%{transform: translate(-50px, -50px) scale(1.1);}50%{transform: translate(30px, 30px) scale(0.95);}75%{transform: translate(-30px, 50px) scale(1.05);}}.ap-grid-pattern{position: absolute; width: 100%; height: 100%; background-image: linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px), linear-gradient(-90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px); background-size: 60px 60px; mask-image: radial-gradient(ellipse at center, black 0%, transparent 70%);}#ap-particle-canvas{position: fixed; top: 0; right: 0; width: 100%; height: 100%; z-index: 1;}.ap-cursor-glow{position: fixed; width: 300px; height: 300px; background: radial-gradient(circle, rgba(99, 102, 241, 0.15) 0%, transparent 70%); border-radius: 50%; pointer-events: none; z-index: 2; transform: translate(50%, -50%);}.ap-brand-side{flex: 1; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; justify-content: center; padding: 80px; position: relative; z-index: 10;}.ap-brand-content{max-width: 500px;}.ap-logo{display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; gap: 12px; margin-bottom: 50px;}.ap-logo-icon{width: 50px; height: 50px; background: linear-gradient(-135deg, var(--ap-primary, #6366f1), var(--ap-accent, #f59e0b)); border-radius: 16px; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 800; color: white; position: relative; overflow: hidden;}.ap-logo-icon::before{content: ''; position: absolute; top: -50%; right: -50%; width: 200%; height: 200%; background: linear-gradient(-45deg, transparent, rgba(255, 255, 255, 0.3), transparent); animation: ap-shine 3s infinite;}@keyframes ap-shine{0%{transform: translateX(100%) rotate(-45deg);}100%{transform: translateX(-100%) rotate(-45deg);}}.ap-logo-text{font-size: 28px; font-weight: 700; color: white; letter-spacing: -0.5px;}.ap-headline{font-size: 56px; font-weight: 800; color: white; line-height: 1.1; margin-bottom: 24px; letter-spacing: -1px; min-height: 124px;}.ap-highlight{background: linear-gradient(-135deg, var(--ap-primary-light, #818cf8), var(--ap-accent, #f59e0b)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;}.ap-typing-cursor{display: inline-block; width: 4px; height: 56px; background: var(--ap-accent, #f59e0b); margin-right: 8px; animation: ap-blink-cursor 1s infinite; vertical-align: middle;}@keyframes ap-blink-cursor{0%, 50%{opacity: 1;}51%, 100%{opacity: 0;}}.ap-subheadline{font-size: 20px; color: rgba(255, 255, 255, 0.6); line-height: 1.6; margin-bottom: 50px;}.ap-features{display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; gap: 20px;}.ap-feature{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 16px; color: rgba(255, 255, 255, 0.8); font-size: 16px;}.ap-feature-icon{width: 40px; height: 40px; background: rgba(255, 255, 255, 0.05); border-radius: 12px; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; font-size: 18px;}.ap-login-side{width: 520px; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; padding: 40px; position: relative; z-index: 10; perspective: 1000px;}.ap-login-card{width: 100%; background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 32px; padding: 48px; backdrop-filter: blur(40px); box-shadow: 0 25px 100px -20px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05); position: relative; overflow: hidden; transform-style: preserve-3d; transition: transform 0.1s ease;}.ap-login-card::before{content: ''; position: absolute; top: 0; right: 0; left: 0; height: 1px; background: linear-gradient(-90deg, transparent, rgba(255, 255, 255, 0.2), transparent);}.ap-card-glow{position: absolute; width: 200px; height: 200px; background: radial-gradient(circle, rgba(99, 102, 241, 0.3) 0%, transparent 70%); border-radius: 50%; pointer-events: none; opacity: 0; transition: opacity 0.3s;}.ap-login-card:hover .ap-card-glow{opacity: 1;}.ap-card-header{margin-bottom: 32px;}.ap-card-title{font-size: 28px; font-weight: 700; color: white; margin-bottom: 8px;}.ap-card-subtitle{font-size: 15px; color: rgba(255, 255, 255, 0.5);}.ap-social-login{display: -webkit-box; display: -webkit-flex; display: flex; gap: 12px; margin-bottom: 24px;}.ap-social-btn{flex: 1; padding: 14px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px; color: white; font-size: 14px; cursor: pointer; transition: all 0.3s; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none;}.ap-social-btn:hover{background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.15); transform: translateY(-2px);}.ap-divider{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 16px; margin-bottom: 24px; color: rgba(255, 255, 255, 0.3); font-size: 13px;}.ap-divider::before, .ap-divider::after{content: ''; flex: 1; height: 1px; background: rgba(255, 255, 255, 0.08);}.ap-form-group{margin-bottom: 20px;}.ap-form-label{display: block; font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, 0.7); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px;}.ap-input-wrapper{position: relative;}.ap-form-input{width: 100%; padding: 16px 48px 16px 16px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px; color: white; font-size: 15px; transition: all 0.3s; outline: none;}.ap-form-input:focus{background: rgba(255, 255, 255, 0.06); border-color: var(--ap-primary); box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);}.ap-form-input::placeholder{color: rgba(255, 255, 255, 0.3);}.ap-input-icon{position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 18px; opacity: 0.4; transition: all 0.3s;}.ap-form-input:focus ~ .ap-input-icon, .ap-form-input:not(:placeholder-shown) ~ .ap-input-icon{opacity: 1; color: var(--ap-primary-light);}.ap-options-row{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px;}.ap-checkbox-wrapper{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 10px; cursor: pointer;}.ap-checkbox-wrapper input{width: 18px; height: 18px; accent-color: var(--ap-primary); cursor: pointer;}.ap-checkbox-wrapper span{font-size: 14px; color: rgba(255, 255, 255, 0.6);}.ap-forgot-link{font-size: 14px; color: var(--ap-primary-light, #818cf8); text-decoration: none; font-weight: 500; transition: color 0.3s;}.ap-forgot-link:hover{color: var(--ap-accent, #f59e0b);}.ap-btn-primary{width: 100%; padding: 18px; background: linear-gradient(-135deg, var(--ap-primary, #6366f1), var(--ap-primary-dark, #4f46e5)); border: none; border-radius: 12px; color: white; font-size: 16px; font-weight: 600; cursor: pointer; transition: all 0.3s; position: relative; overflow: hidden;}.ap-btn-primary::before{content: ''; position: absolute; top: 0; right: -100%; width: 100%; height: 100%; background: linear-gradient(-90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: right 0.6s;}.ap-btn-primary:hover::before{right: 100%;}.ap-btn-primary:hover{transform: translateY(-2px); box-shadow: 0 10px 40px rgba(99, 102, 241, 0.4);}.ap-signup-text, #ap-signup-link{display: block !important; text-align: center !important; margin-top: 24px !important; font-size: 14px !important; color: rgba(255, 255, 255, 0.5) !important; visibility: visible !important; opacity: 1 !important;}.ap-signup-text a, #ap-signup-link a{color: var(--ap-primary-light, #818cf8); text-decoration: none; font-weight: 600;}.ap-signup-text a:hover, #ap-signup-link a:hover{color: var(--ap-accent, #f59e0b);}.ap-alert{padding: 12px 16px; border-radius: 8px; margin-bottom: 20px; font-size: 14px;}.ap-alert-danger{background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.2); color: #fca5a5;}.ap-alert-success{background: rgba(34, 197, 94, 0.1); border: 1px solid rgba(34, 197, 94, 0.2); color: #86efac;}.ap-loader{position: fixed; top: 0; right: 0; width: 100%; height: 100%; background: var(--ap-dark); display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; align-items: center; justify-content: center; z-index: 9999; transition: opacity 0.5s, visibility 0.5s;}.ap-loader.hidden{opacity: 0; visibility: hidden;}.ap-loader-content{text-align: center;}.ap-loader-logo{width: 80px; height: 80px; background: linear-gradient(-135deg, var(--ap-primary, #6366f1), var(--ap-accent, #f59e0b)); border-radius: 24px; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; font-size: 36px; font-weight: 800; color: white; margin: 0 auto 24px; animation: ap-pulse-loader 2s infinite;}@keyframes ap-pulse-loader{0%, 100%{transform: scale(1); box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.4);}50%{transform: scale(1.05); box-shadow: 0 0 0 20px rgba(99, 102, 241, 0);}}.ap-loader-text{font-size: 14px; color: rgba(255, 255, 255, 0.5); letter-spacing: 2px;}@media (max-width: 1024px){body.o_login_screen{-webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;}.ap-brand-side{padding: 40px; text-align: center;}.ap-brand-content{max-width: 100%;}.ap-headline{font-size: 36px; min-height: 80px;}.ap-typing-cursor{height: 36px;}.ap-features{display: none;}.ap-login-side{width: 100%; padding: 20px;}.ap-cursor-glow{display: none;}}@media (max-width: 480px){.ap-login-card{padding: 30px 20px; border-radius: 20px;}.ap-card-title{font-size: 24px;}.ap-social-login{-webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;}}