@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #8000204d}50%{box-shadow:0 0 40px #80002099}}.login-page{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a1a,#5c0015);color:#fff8f0;overflow:hidden;position:relative}.login-page .container-fluid,.login-page .row{min-height:100vh}.login-left-panel{background:linear-gradient(135deg,#800020,#5c0015);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:4rem 3rem}.login-left-panel:before{content:"";position:absolute;top:-10%;left:-10%;width:40%;height:40%;background:radial-gradient(circle,rgba(255,215,0,.15) 0%,transparent 70%);border-radius:50%;animation:float 6s ease-in-out infinite}.login-left-panel:after{content:"";position:absolute;bottom:-15%;right:-15%;width:50%;height:50%;background:radial-gradient(circle,rgba(255,215,0,.1) 0%,transparent 70%);border-radius:50%;animation:float 8s ease-in-out infinite reverse}.login-branding{position:relative;z-index:2;max-width:500px;animation:fadeIn .8s ease-out}.brand-logo-large{margin-bottom:3rem}.brand-logo-large .logo-icon-large{width:80px;height:80px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.3);animation:pulse-glow 3s ease-in-out infinite;transition:all .3s ease}.brand-logo-large .logo-icon-large:hover{transform:scale(1.05);background:#fff3}.brand-logo-large .logo-icon-large i{font-size:3rem;color:gold}.login-hero-title{font-size:3.5rem;font-weight:900;line-height:1.1;margin-bottom:1.5rem;color:#fff8f0}.login-hero-title .gradient-text{background:linear-gradient(135deg,gold,#ffed4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block;transition:all .5s ease;animation:fadeInScale .5s ease}.login-hero-title .wave-emoji{display:inline-block;animation:float 2s ease-in-out infinite;margin-left:.5rem}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.login-hero-description{font-size:1.1rem;line-height:1.8;color:#ffffffd9;margin-bottom:3rem;transition:all .5s ease;animation:fadeInUp .5s ease .2s both}.login-footer-text{font-size:.85rem;color:#ffffff80;margin-top:3rem}.login-right-panel{background:#0a0a0a;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative}.login-right-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(128,0,32,.1) 0%,transparent 50%);pointer-events:none}.login-form-container{width:100%;max-width:480px;position:relative;z-index:2;animation:fadeIn .8s ease-out .2s both}.back-to-landing-btn-left{position:absolute;top:2rem;left:2rem;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff8f0;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s ease;z-index:10}.back-to-landing-btn-left i{font-size:1.2rem;transition:transform .3s ease}.back-to-landing-btn-left span{display:inline-block}.back-to-landing-btn-left:hover{background:#fff3;border-color:#fff6;color:gold;transform:translate(-5px);box-shadow:0 5px 15px #0000004d}.back-to-landing-btn-left:hover i,.back-to-landing-btn-left:active{transform:translate(-3px)}.back-to-landing-btn-mobile{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff8f0;text-decoration:none;font-weight:600;font-size:.85rem;transition:all .3s ease;margin-bottom:1.5rem;width:auto;display:inline-flex}.back-to-landing-btn-mobile i{font-size:1.1rem;transition:transform .3s ease}.back-to-landing-btn-mobile span{display:inline-block}.back-to-landing-btn-mobile:hover{background:#ffffff1a;border-color:#d4003a;color:gold;transform:translate(-5px)}.back-to-landing-btn-mobile:hover i{transform:translate(-3px)}.mobile-brand{margin-bottom:2rem}.mobile-brand .logo-container{display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .3s ease}.mobile-brand .logo-container:hover{transform:translate(-5px)}.mobile-brand .logo-icon{width:50px;height:50px;background:linear-gradient(135deg,#800020,#d4003a);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;box-shadow:0 5px 15px #8000204d}.mobile-brand .logo-icon i{font-size:1.5rem}.mobile-brand .brand-text .brand-title{font-size:1.5rem;font-weight:800;color:#fff8f0;line-height:1.2;letter-spacing:1px}.mobile-brand .brand-text .brand-subtitle{font-size:.8rem;color:#fff9;font-weight:500;letter-spacing:.5px}.login-card{background:#ffffff14;backdrop-filter:blur(15px) saturate(180%);-webkit-backdrop-filter:blur(15px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:2.5rem;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #0000004d}.login-title{font-size:2rem;font-weight:800;color:#fff8f0;margin-bottom:.5rem;text-align:center}.login-subtitle{font-size:.95rem;color:#fff9;text-align:center;margin-bottom:2rem;line-height:1.6}.login-subtitle .signup-link{color:gold;text-decoration:none;font-weight:600;transition:all .3s ease}.login-subtitle .signup-link:hover{color:#a6002b;text-decoration:underline}.login-input{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:.9rem 1.2rem;color:#fff8f0;font-size:1rem;transition:all .3s ease}.login-input::placeholder{color:#fff6}.login-input:focus{background:#ffffff14;border-color:#d4003a;color:#fff8f0;box-shadow:0 0 0 .2rem #80002040}.login-input:-webkit-autofill,.login-input:-webkit-autofill:hover,.login-input:-webkit-autofill:focus{-webkit-text-fill-color:#fff8f0;-webkit-box-shadow:0 0 0px 1000px rgba(255,255,255,.05) inset;transition:background-color 5000s ease-in-out 0s}.login-input.password-input{padding-right:3rem}.password-toggle-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff80;font-size:1.2rem;padding:.5rem;cursor:pointer;transition:all .3s ease;z-index:10;display:flex;align-items:center;justify-content:center;border-radius:8px}.password-toggle-btn:hover{color:gold;background:#ffffff0d}.password-toggle-btn:active{transform:translateY(-50%) scale(.95)}.password-toggle-btn i{pointer-events:none}.input-status-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:1.2rem;z-index:5;animation:fadeIn .3s ease}.input-status-icon.checking{color:#ffffff80}.input-status-icon.valid{color:#28a745;animation:scaleIn .3s ease}.input-status-icon.invalid{color:#dc3545;animation:shakeX .5s ease}.username-feedback{font-size:.85rem;margin-top:.5rem;padding:.5rem .75rem;border-radius:8px;animation:slideDown .3s ease}.username-feedback.valid{background:#28a7451a;color:#28a745;border:1px solid rgba(40,167,69,.3)}.username-feedback.invalid{background:#dc35451a;color:#dc3545;border:1px solid rgba(220,53,69,.3)}.username-feedback i{font-size:1rem}.login-input.is-valid-custom{border-color:#28a745;background:#28a7450d}.login-input.is-valid-custom:focus{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.login-input.is-invalid-custom{border-color:#dc3545;background:#dc35450d}.login-input.is-invalid-custom:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.password-strength-indicator{margin-top:.75rem;animation:slideDown .3s ease}.password-requirements{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.password-requirements .requirement{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#ffffff80;transition:all .3s ease}.password-requirements .requirement i{font-size:1rem;color:#ffffff4d;transition:all .3s ease}.password-requirements .requirement.met{color:#28a745;animation:checkMark .3s ease}.password-requirements .requirement.met i{color:#28a745;transform:scale(1.1)}.form-validation-message{font-size:.85rem;padding:.75rem;border-radius:8px;background:#ffc1071a;color:#ffc107;border:1px solid rgba(255,193,7,.3);margin-bottom:1rem;display:flex;align-items:center;animation:slideDown .3s ease}.form-validation-message i{font-size:1rem}.btn-login-primary:disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#80002080,#d4003a80)}.btn-login-primary:disabled:hover{transform:none;box-shadow:0 10px 25px #8000204d}@keyframes scaleIn{0%{transform:translateY(-50%) scale(.5);opacity:0}to{transform:translateY(-50%) scale(1);opacity:1}}@keyframes shakeX{0%,to{transform:translateY(-50%) translate(0)}25%{transform:translateY(-50%) translate(-5px)}75%{transform:translateY(-50%) translate(5px)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes checkMark{0%{transform:scale(.8)}50%{transform:scale(1.2)}to{transform:scale(1)}}.form-options{display:flex;align-items:center;justify-content:space-between}.form-options .remember-checkbox .form-check-input{background-color:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer}.form-options .remember-checkbox .form-check-input:checked{background-color:#800020;border-color:#800020}.form-options .remember-checkbox .form-check-input:focus{box-shadow:0 0 0 .2rem #80002040}.form-options .remember-checkbox .form-check-label{color:#ffffffb3;font-size:.9rem;cursor:pointer;margin-left:.5rem}.btn-login-primary{background:linear-gradient(135deg,#800020,#d4003a);border:none;border-radius:12px;padding:.9rem 2rem;font-weight:700;font-size:1rem;color:#fff;transition:all .3s ease;box-shadow:0 10px 25px #8000204d}.btn-login-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 35px #80002080;background:linear-gradient(135deg,#a6002b,#d4003a)}.btn-login-primary:active:not(:disabled){transform:translateY(0)}.btn-login-primary:disabled{opacity:.6;cursor:not-allowed}.btn-google-login{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:.9rem 2rem;font-weight:600;font-size:1rem;color:#fff8f0;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.btn-google-login i{font-size:1.2rem}.btn-google-login:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 10px 25px #0003}.btn-google-login:active{transform:translateY(0)}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid rgba(255,255,255,.15)}.divider span{padding:0 1rem;color:#ffffff80;font-size:.85rem;font-weight:600}.forgot-link{color:#fff9;text-decoration:none;font-size:.9rem;transition:all .3s ease}.forgot-link strong{color:gold;font-weight:600}.forgot-link:hover{color:#a6002b}.forgot-link:hover strong{text-decoration:underline}.back-to-home{margin-top:2rem;text-align:center}.back-to-home .back-link{color:#fff9;text-decoration:none;font-size:.95rem;font-weight:500;transition:all .3s ease}.back-to-home .back-link:hover{color:gold;transform:translate(-5px)}.back-to-home .back-link i{transition:transform .3s ease}.back-to-home .back-link:hover i{transform:translate(-3px)}.alert{border-radius:12px;border:none}.alert.alert-danger{background:#dc354526;color:#ff6b6b;border:1px solid rgba(220,53,69,.3)}@media(max-width:991px){.login-left-panel{display:none!important}.login-right-panel{padding:1.5rem}.login-card{padding:2rem}.login-title{font-size:1.75rem}}@media(max-width:767px){.login-page{min-height:100vh}.login-right-panel{padding:1rem;min-height:100vh}.login-form-container{max-width:100%}.login-card{padding:1.5rem;border-radius:20px}.login-title{font-size:1.5rem}.login-subtitle{font-size:.85rem}.btn-login-primary,.btn-google-login{padding:.8rem 1.5rem;font-size:.95rem}.mobile-brand .logo-icon{width:45px;height:45px}.mobile-brand .logo-icon i,.mobile-brand .brand-text .brand-title{font-size:1.3rem}.mobile-brand .brand-text .brand-subtitle{font-size:.7rem}}@media(max-width:575px){.login-card{padding:1.25rem}.login-title{font-size:1.4rem}.login-subtitle{font-size:.8rem;margin-bottom:1.5rem}.login-input{padding:.75rem 1rem;font-size:.95rem}.btn-login-primary,.btn-google-login{padding:.75rem 1.25rem;font-size:.9rem}.form-options .remember-checkbox .form-check-label,.forgot-link{font-size:.85rem}.password-requirements{padding:.5rem}.password-requirements .requirement{font-size:.8rem;gap:.4rem}.password-requirements .requirement i{font-size:.9rem}.username-feedback,.form-validation-message{font-size:.8rem;padding:.5rem}}[data-bs-theme=light] .login-page{background:linear-gradient(135deg,#f5f5f5,#e0e0e0,#f7d4dc)}[data-bs-theme=light] .login-page .login-right-panel{background:#fff}[data-bs-theme=light] .login-page .login-right-panel:before{background:radial-gradient(circle at 70% 30%,rgba(128,0,32,.05) 0%,transparent 50%)}[data-bs-theme=light] .login-page .login-card{background:#ffffffe6;border-color:#80002026;box-shadow:0 20px 60px #0000001a}[data-bs-theme=light] .login-page .login-title{color:#5c0015}[data-bs-theme=light] .login-page .login-subtitle{color:#0009}[data-bs-theme=light] .login-page .login-input{background:#00000008;border-color:#0000001a;color:#5c0015}[data-bs-theme=light] .login-page .login-input::placeholder{color:#0006}[data-bs-theme=light] .login-page .login-input:focus{background:#0000000d;border-color:#d4003a;color:#5c0015}[data-bs-theme=light] .login-page .login-input:-webkit-autofill,[data-bs-theme=light] .login-page .login-input:-webkit-autofill:hover,[data-bs-theme=light] .login-page .login-input:-webkit-autofill:focus{-webkit-text-fill-color:#5c0015;-webkit-box-shadow:0 0 0px 1000px rgba(0,0,0,.03) inset}[data-bs-theme=light] .login-page .password-toggle-btn{color:#00000080}[data-bs-theme=light] .login-page .password-toggle-btn:hover{color:#800020;background:#0000000d}[data-bs-theme=light] .login-page .input-status-icon.checking{color:#00000080}[data-bs-theme=light] .login-page .input-status-icon.valid{color:#28a745}[data-bs-theme=light] .login-page .input-status-icon.invalid{color:#dc3545}[data-bs-theme=light] .login-page .username-feedback.valid{background:#28a7451a;color:#1e7e34;border-color:#28a74566}[data-bs-theme=light] .login-page .username-feedback.invalid{background:#dc35451a;color:#c82333;border-color:#dc354566}[data-bs-theme=light] .login-page .password-requirements{background:#00000008;border-color:#0000001a}[data-bs-theme=light] .login-page .password-requirements .requirement{color:#00000080}[data-bs-theme=light] .login-page .password-requirements .requirement i{color:#0000004d}[data-bs-theme=light] .login-page .password-requirements .requirement.met{color:#1e7e34}[data-bs-theme=light] .login-page .password-requirements .requirement.met i{color:#28a745}[data-bs-theme=light] .login-page .form-validation-message{background:#ffc10726;color:#856404;border-color:#ffc10766}[data-bs-theme=light] .login-page .login-input.is-valid-custom{border-color:#28a745;background:#28a74514}[data-bs-theme=light] .login-page .login-input.is-invalid-custom{border-color:#dc3545;background:#dc354514}[data-bs-theme=light] .login-page .form-options .remember-checkbox .form-check-input{background-color:#00000008;border-color:#0003}[data-bs-theme=light] .login-page .form-options .remember-checkbox .form-check-label{color:#000000b3}[data-bs-theme=light] .login-page .btn-google-login{background:#00000008;border-color:#00000026;color:#5c0015}[data-bs-theme=light] .login-page .btn-google-login:hover{background:#00000014;border-color:#00000040}[data-bs-theme=light] .login-page .divider:before,[data-bs-theme=light] .login-page .divider:after{border-color:#00000026}[data-bs-theme=light] .login-page .divider span{color:#00000080}[data-bs-theme=light] .login-page .forgot-link{color:#0009}[data-bs-theme=light] .login-page .forgot-link:hover{color:#800020}[data-bs-theme=light] .login-page .mobile-brand .brand-text .brand-title{color:#5c0015}[data-bs-theme=light] .login-page .mobile-brand .brand-text .brand-subtitle{color:#00000080}[data-bs-theme=light] .login-page .back-to-home .back-link{color:#0009}[data-bs-theme=light] .login-page .back-to-home .back-link:hover{color:#800020}[data-bs-theme=light] .login-page .back-to-landing-btn-left{background:#0000000d;border-color:#0003;color:#5c0015}[data-bs-theme=light] .login-page .back-to-landing-btn-left:hover{background:#0000001a;border-color:#d4003a;color:#800020}[data-bs-theme=light] .login-page .back-to-landing-btn-mobile{background:#00000008;border-color:#00000026;color:#5c0015}[data-bs-theme=light] .login-page .back-to-landing-btn-mobile:hover{background:#00000014;border-color:#d4003a;color:#800020}
