.login-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";z-index:-2;background-image:url(/images/bg.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.login-page .login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1;background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;width:100%;max-width:450px;padding:3rem;animation:.5s slideUp;position:relative;box-shadow:0 8px 32px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-page .login-card .login-logo{text-align:center;margin-bottom:1rem;animation:.8s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.login-page .login-card .login-logo img{filter:drop-shadow(0 4px 8px #0000001a);max-width:200px;height:auto;transition:transform .3s}.login-page .login-card .login-logo img:hover{transform:scale(1.05)}.login-page .login-card .login-header{text-align:center;margin-bottom:2rem}.login-page .login-card .login-header h2{color:#1c3d5c;margin-bottom:.5rem;font-size:2rem;font-weight:700}.login-page .login-card .login-header .login-subtitle{color:#6b7280;font-size:.9rem;font-weight:500}.login-page .login-card .mb-3{margin-bottom:1.5rem}.login-page .login-card .form-label{color:#374151;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.login-page .login-card .form-control{border:2px solid #e5e7eb;border-radius:10px;width:100%;padding:.75rem 1rem;font-size:.9rem;transition:all .3s}.login-page .login-card .form-control::placeholder{color:#9ca3af}.login-page .login-card .form-control:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 4px #667eea1a}.login-page .login-card .form-control:disabled{cursor:not-allowed;opacity:.7;background-color:#f3f4f6}.login-page .login-card .forgot-password-link{text-align:right;margin-top:-10px;margin-bottom:20px}.login-page .login-card .forgot-password-link a{color:#667eea;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .3s}.login-page .login-card .forgot-password-link a:hover{color:#764ba2;text-decoration:underline}.login-page .login-card .btn-login{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;padding:.85rem;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #667eea4d}.login-page .login-card .btn-login:hover:not(:disabled){background:linear-gradient(135deg,#764ba2 0%,#667eea 100%);transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.login-page .login-card .btn-login:active:not(:disabled){transform:translateY(0)}.login-page .login-card .btn-login:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-page .login-card .btn-login:focus{outline:none;box-shadow:0 0 0 4px #667eea33}@media (max-width:768px){.login-page{padding:1rem}.login-page .login-card{padding:2rem 1.5rem}.login-page .login-card .login-logo{margin-bottom:1.5rem}.login-page .login-card .login-logo img{max-width:120px}.login-page .login-card .login-header h2{font-size:1.5rem}.login-page .login-card .login-header .login-subtitle{font-size:.85rem}.login-page .login-card .form-control{padding:.65rem .9rem;font-size:.85rem}.login-page .login-card .btn-login{padding:.75rem;font-size:.9rem}}@media (max-width:480px){.login-page .login-card{padding:1.5rem 1rem}.login-page .login-card .login-logo{margin-bottom:1rem}.login-page .login-card .login-logo img{max-width:100px}.login-page .login-card .login-header h2{font-size:1.25rem}}
