| 
<?phpinclude_once 'session.php';
 include_once APP_PATH . 'logic/resetPasswordLogic.php';
 ?>
 
 <?php include_once 'components/header.php'; ?>
 
 <div class="container py-5">
 <div class="row justify-content-center">
 <div class="col-sm-12 col-md-8 col-lg-5">
 <div class="card shadow-sm border-0 rounded-3">
 <div class="card-header py-3">
 <h5 class="mb-0">
 <i class="fas fa-key me-2"></i>
 <?= $lang["general"]['reset_password_title']; ?>
 </h5>
 </div>
 <div class="card-body p-4">
 <?php if (isset($msg)) : ?>
 <?php echo $utils->alert($msg, "primary", "info-circle"); ?>
 <?php endif; ?>
 
 <?php if (isset($err)) : ?>
 <?php echo $utils->alert($err, "danger", "times-circle"); ?>
 <?php endif; ?>
 
 <div class="text-center mb-4">
 <div class="d-inline-block p-3 border rounded-circle mb-3">
 <i class="fas fa-lock-open fa-2x"></i>
 </div>
 <h4><?= $lang["general"]['reset_password_header']; ?></h4>
 <p class="text-muted"><?= $lang["general"]['reset_password_msg']; ?></p>
 </div>
 
 <form method="POST" action="">
 <div class="mb-4">
 <label for="password" class="form-label"><?= $lang["general"]['new_password'] ?></label>
 <div class="input-group mb-2">
 <span class="input-group-text"><i class="fas fa-lock"></i></span>
 <input type="password" name="password" id="password" class="form-control"
 pattern="(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"
 title="<?= $lang["general"]['password_pattern_msg'] ?>"
 placeholder="<?= $lang["general"]['enter_new_password'] ?? 'Enter new password' ?>"
 required="required">
 <button class="btn btn-outline-secondary" type="button" id="togglePassword">
 <i class="fas fa-eye"></i>
 </button>
 </div>
 <div class="form-text">
 <small><i class="fas fa-info-circle me-1"></i><?= $lang["general"]['password_requirements'] ?? 'Must be at least 8 characters with uppercase, lowercase, and number or symbol' ?></small>
 </div>
 </div>
 
 <div class="mb-4">
 <label for="confirmPassword" class="form-label"><?= $lang["general"]['confirm_password']; ?></label>
 <div class="input-group mb-2">
 <span class="input-group-text"><i class="fas fa-lock"></i></span>
 <input type="password" name="confirmPassword" id="confirmPassword"
 pattern="(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"
 title="<?= $lang["general"]['password_pattern_msg'] ?>"
 class="form-control"
 placeholder="<?= $lang["general"]['confirm_new_password'] ?? 'Confirm new password' ?>"
 required="required">
 <button class="btn btn-outline-secondary" type="button" id="toggleConfirmPassword">
 <i class="fas fa-eye"></i>
 </button>
 </div>
 </div>
 
 <div class="d-grid gap-2">
 <button class="btn btn-primary" type="submit">
 <i class="fas fa-check-circle me-2"></i><?= $lang["general"]['reset_password_button']; ?>
 </button>
 <a href="login.php" class="btn btn-outline-secondary">
 <i class="fas fa-arrow-left me-2"></i><?= $lang["general"]['back_to_login'] ?? 'Back to Login'; ?>
 </a>
 </div>
 </form>
 </div>
 </div>
 </div>
 </div>
 </div>
 
 <script>
 document.addEventListener('DOMContentLoaded', function() {
 // Toggle password visibility
 const togglePassword = document.getElementById('togglePassword');
 const password = document.getElementById('password');
 
 if (togglePassword && password) {
 togglePassword.addEventListener('click', function() {
 const type = password.getAttribute('type') === 'password' ? 'text' : 'password';
 password.setAttribute('type', type);
 
 // Toggle icon
 this.querySelector('i').classList.toggle('fa-eye');
 this.querySelector('i').classList.toggle('fa-eye-slash');
 });
 }
 
 // Toggle confirm password visibility
 const toggleConfirmPassword = document.getElementById('toggleConfirmPassword');
 const confirmPassword = document.getElementById('confirmPassword');
 
 if (toggleConfirmPassword && confirmPassword) {
 toggleConfirmPassword.addEventListener('click', function() {
 const type = confirmPassword.getAttribute('type') === 'password' ? 'text' : 'password';
 confirmPassword.setAttribute('type', type);
 
 // Toggle icon
 this.querySelector('i').classList.toggle('fa-eye');
 this.querySelector('i').classList.toggle('fa-eye-slash');
 });
 }
 
 // Password match validation
 const form = document.querySelector('form');
 if (form) {
 form.addEventListener('submit', function(e) {
 if (password.value !== confirmPassword.value) {
 e.preventDefault();
 alert('<?= $lang["general"]['passwords_dont_match'] ?? "Passwords don't match!" ?>');
 }
 });
 }
 });
 </script>
 
 <?php include_once 'components/footer.php'; ?>
 |