*,*::before,*::after{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:14px;line-height:1.5;background:linear-gradient(135deg, #2a4a78, #14284a);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;opacity:0;transition:opacity .3s ease}.page-center{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem}.login-card{width:100%;max-width:560px;min-width:320px;background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 40px rgba(0,0,0,.25)}.form-control{display:block;width:100%;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:.65rem;padding:.95rem 1rem;font-size:1rem;line-height:1.5;color:#212529;outline:none;transition:border-color .15s ease}.form-control:focus{background-color:#fff;border-color:#c5cdd6;box-shadow:none}.form-control:disabled{background-color:#f8f9fa;color:#6c757d}.btn{display:inline-block;width:100%;padding:.85rem 1rem;font-size:1.05rem;font-weight:600;text-align:center;border:none;border-radius:30px;cursor:pointer;transition:background-color .15s ease}.btn-action{background-color:#fc4a1a;color:#fff}.btn-action:hover,.btn-action:focus{background-color:#e43e12;color:#fff}.btn-outline{background-color:transparent;border:1px solid #6c757d;color:#6c757d;font-size:.9rem;padding:.65rem 1rem}.btn-outline:hover,.btn-outline:focus{background-color:#f8f9fa;border-color:#495057;color:#495057}.btn-primary{background-color:#0d6efd;color:#fff}.btn-primary:hover,.btn-primary:focus{background-color:#0b5ed7;color:#fff}.btn-row{display:flex;gap:.5rem;margin-top:.75rem}.btn-row .btn{width:50%}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1.5rem}.w-100{width:100%}.card-divider{border:0;border-top:1px solid #e9ecef;margin:1.75rem 0 .5rem}.company-logo{width:300px;margin-bottom:20px}.progress-bar{height:6px;opacity:0;transition:opacity .3s;border-radius:.5rem;background-color:#e9ecef;overflow:hidden;position:relative}.progress-bar::after{content:"";position:absolute;top:0;left:0;height:100%;width:40%;background-color:#fc4a1a;border-radius:.5rem;animation:progressLoop 1.2s ease-in-out infinite}.progress-bar.show{opacity:1}@keyframes progressLoop{0%{left:-40%}100%{left:100%}}.error-message{font-size:.875rem;color:#dc3545;display:none;margin-top:6px;white-space:pre-line}.error-message.show{display:block}.fade-slide{animation:fadeSlide .4s ease forwards}@keyframes fadeSlide{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.d-none{display:none !important}.password-wrapper{position:relative}.password-wrapper .form-control{padding-right:2.75rem}.toggle-password{position:absolute;top:50%;right:.85rem;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:0;line-height:1;color:#6c757d}.toggle-password:hover{color:#212529}.toggle-password svg{width:20px;height:20px;display:block}input[type=password]::-ms-reveal,input[type=password]::-webkit-credentials-auto-fill-button{display:none}.form-label{display:block;font-weight:500;margin-bottom:.25rem;color:#212529}.privacy{font-size:.75rem;opacity:.85;text-align:center;padding:.75rem 1rem;color:#fff}.privacy a{color:#fff;text-decoration:none}.privacy a:hover{text-decoration:underline}@media(max-width: 400px){.login-card{min-width:0;padding:1.5rem;border-radius:.75rem}.company-logo{width:200px}}
