:root {
    --color-white: #ffffff;
    --color-primary-blue: #0068bb;
    --color-text-dark: #0c2737;
    --color-text-medium: #434b56;
    --color-text-light: #6c7796;
    --color-text-placeholder: #c1c1c1;
    --color-text-alt: #8b8f95;
    --color-border-light: #ebeced;
    --color-border-medium: #ececec;
    --gradient-button: linear-gradient(221deg, #0078f8 0%, #0941eb 110.58%);
    --gradient-overlay: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.28) 42.79%, rgba(0, 0, 0, 0.2) 85.57%);
  }
  
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  *::before,
  *::after {
      box-sizing: border-box;
  }
  
  body {
      margin: 0;
      font-family: 'Lato', sans-serif;
      background-color: #f0f2f5;
      color: var(--color-text-dark);
      min-height: 100vh;
      padding: 60px 20px 40px 20px;
  }
  
  .auth-container {
      display: flex;
      flex-direction: column;
      min-height: 100vh;
  }
  
  .forgot-password-section {
      width: 100%;
      max-width: 1380px;
      margin: 0 auto 40px auto;
      display: flex;
      justify-content: center;
      align-items: center;
      min-height: calc(100vh - 100px);
  }
  
  .forgot-password-container {
      background-color: rgba(255, 255, 255, 0.6);
      backdrop-filter: blur(1px);
      -webkit-backdrop-filter: blur(1px);
      border-radius: 24px;
      padding: 24px 24px 32px;
      max-width: 646px;
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 20px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  }
  
  .page-header {
      width: 100%;
  }
  
  .back-link {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      text-decoration: none;
      font-family: 'Lato', sans-serif;
      font-weight: 400;
      font-size: 16px;
      line-height: 24px;
      color: var(--color-text-dark);
      transition: color 0.2s ease;
  }
  
  .back-link:hover {
      color: var(--color-primary-blue);
  }
  
  .back-link img {
      width: 24px;
      height: 24px;
  }
  
  .form-wrapper {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 40px;
  }
  
  .form-intro {
      display: flex;
      flex-direction: column;
      gap: 8px;
      width: 100%;
      max-width: 508px;
  }
  
  .form-title {
      font-family: 'Lato', sans-serif;
      font-weight: 600;
      font-size: 32px;
      line-height: 48px;
      letter-spacing: -1.28px;
      color: var(--color-text-dark);
      margin: 0;
  }
  
  .form-description {
      font-family: 'Lato', sans-serif;
      font-weight: 400;
      font-size: 16px;
      line-height: 24px;
      color: var(--color-text-medium);
      margin: 0;
  }
  
  .password-reset-form {
      display: flex;
      flex-direction: column;
      gap: 24px;
      width: 100%;
      max-width: 508px;
  }
  
  .form-group {
      display: flex;
      flex-direction: column;
      gap: 4px;
  }
  
  .form-label {
      font-family: 'Lato', sans-serif;
      font-weight: 700;
      font-size: 14px;
      line-height: 21px;
      color: #9a9a9a;
  }
  
  .form-input {
      background-color: var(--color-white);
      border: 1px solid var(--color-border-light);
      border-radius: 6px;
      padding: 13px 12px;
      height: 50px;
      width: 100%;
      font-family: 'Lato', sans-serif;
      font-size: 16px;
      line-height: 24px;
      color: var(--color-text-dark);
      transition: border-color 0.2s ease;
  }
  
  .form-input:focus {
      outline: none;
      border-color: var(--color-primary-blue);
  }
  
  .form-input::placeholder {
      color: var(--color-text-placeholder);
      font-weight: 400;
  }
  
  .submit-button {
      background: var(--gradient-button);
      border-radius: 50px;
      height: 50px; 
      border: none;
      cursor: pointer;
      font-family: 'Lato', sans-serif;
      font-weight: 600;
      font-size: 14px;
      line-height: 1.4;
      color: var(--color-white);
      text-align: center;
      transition: all 0.2s ease;
  }
  
  .submit-button:hover {
      transform: translateY(-1px);
      box-shadow: 0 4px 12px rgba(0, 104, 187, 0.3);
  }
  
  /* Error Alert Styles - Matching Register Page Style */
  .alert {
      border-radius: 6px;
      padding: 12px 16px;
      width: 100%;
      max-width: 508px;
      font-family: 'Lato', sans-serif;
      font-size: 14px;
      line-height: 21px;
      margin-bottom: 20px;
  }
  
  .alert-danger {
      background-color: #fee;
      border: 1px solid #dc3545;
      color: #721c24;
  }
  
  .alert-success {
      background-color: #d4edda;
      border: 1px solid #c3e6cb;
      color: #155724;
  }
  
  .alert ul {
      list-style: none;
      padding-left: 0;
      margin: 0;
  }
  
  .alert li {
      padding-left: 0;
      margin-bottom: 4px;
  }
  
  .alert li:last-child {
      margin-bottom: 0;
  }
  
  .alert.mb-0,
  .alert .mb-0 {
      margin-bottom: 0;
  }
  
  /* Footer spacing */
  .auth-container .footer {
      margin-top: auto;
  }
  
  /* Responsive Styles */
  @media (max-width: 1200px) {
      body {
          padding: 40px 10px 20px 10px;
      }
      .forgot-password-section {
          margin: 0 auto 20px auto;
      }
  }
  
  @media (max-width: 768px) {
      body {
          padding: 20px 10px;
          background-color: #f0f2f5;
      }
      .forgot-password-section {
          min-height: calc(100vh - 40px);
      }
      .forgot-password-container {
          padding: 20px 16px;
          border-radius: 16px;
          background-color: var(--color-white);
          backdrop-filter: none;
          -webkit-backdrop-filter: none;
          box-shadow: none;
          max-width: 100%;
          margin: 0 10px;
      }
      .form-title {
          font-size: 24px;
          line-height: 32px;
      }
      .form-description {
          font-size: 14px;
          line-height: 20px;
      }
  }