.policy-container {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 20px 0;
  }
  .policy-container input[type="checkbox"] {
    margin: 0;
    width: 18px;
    height: 18px;
  }
  .policy-container label {
    font-size: 0.9rem;
  }
  .policy-container a {
    color: #28a745;
    text-decoration: underline;
  }
  
    /* Bring the “Verify I’m not a robot” text close to the checkbox */
  .captcha-container {
      display: inline-flex;
      align-items: center;
      gap: 6px;            /* space between checkbox and text */
      margin-top: 20px;
      white-space: nowrap; /* keep text on one line */
    }
    .captcha-container input[type="checkbox"] {
      margin: 0;
      width: 20px;
      height: 20px;
    }
    .captcha-container label {
      cursor: pointer;
      background: none;
      border: none;
      padding: 0;
      font: inherit;
      color: inherit;
    }
  
    /* Basic form styling */
    #signupForm {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin: 0 auto;
      max-width: 360px;
      width: 100%;
    }
  
    /* Profile upload */
    .profile-upload-container {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
  }
  
  .profile-upload {
    position: relative;
    width: 100px;
    height: 100px;
    overflow: visible; /* allow the + outside */
    cursor: pointer;
  }
  
  .profile-preview-wrapper {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;        /* clip the image */
    border: 2px dashed #ccc; /* circle border */
    background: #f0f0f0;
  }
  
  .profile-preview-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .plus-icon {
    position: absolute;
    bottom: -6px;     /* sits just outside */
    right: -6px;      /* sits just outside */
    background: #28a745;
    color: white;
    font-size: 20px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid white;
    box-shadow: 0 0 4px rgba(0,0,0,0.2);
    z-index: 2;
  }
  
  
  /* Optional: live preview */
  #profile_pic:focus + .profile-upload,
  #profile_pic:hover + .profile-upload {
    border-color: #28a745;
  }
  
  /* that if for login */
  .password-wrapper {
    position: relative;
    margin-top: 10px;
  }
  .password-wrapper input {
    width: 100%;
    padding-right: 40px; /* space for the eye icon */
  }
  .toggle-password {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 1rem;
    color: #666;
  }
  
  /* Only push down the password error on the login tab */
  #login-tab #passwordError {
    margin-top: 8px;
    margin-bottom: 12px;
  }
  
  /* Remember me */
  .remember-container {
    display: flex;
    align-items: center;
    margin: 10px 0;
  }
  .remember-container input {
    margin-right: 8px;
  }
  
  /* Forgot password link */
  .forgot-container {
    text-align: right;
    margin-bottom: 15px;
  }
  .forgot-link {
    font-size: 0.9rem;
    color: #3ecf8e;
    text-decoration: none;
  }
  .forgot-link:hover {
    text-decoration: underline;
  }
    /* NEW: only text/email/password inputs get 100% width */
    #signupForm input[type="text"],
    #signupForm input[type="email"],
    #signupForm input[type="password"] {
      width: 100%;
      padding: 10px;
      margin: 6px 0;
      box-sizing: border-box;
      border-radius: 4px;
      border: 1px solid #ccc;
      font-size: 1rem;
    }
  
    /* explicitly reset checkboxes (and your honeypot) back to auto width */
    #signupForm input[type="checkbox"],
    #signupForm input[name="website"] {
      width: auto;
      margin: 0;
    }
  
    .error-message {
      color: red;
      font-size: 0.85rem;
      width: 100%;
      text-align: left;
      margin: -6px 0 8px 0;
    }
      .toggle-container {
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 20px 0;
    }
  
    .toggle-text {
      font-size: 15px;
      color: #fff;
      font-weight: 500;
    }
  
    .switch {
      position: relative;
      display: inline-block;
      width: 50px;
      height: 26px;
    }
  
    .switch input {
      opacity: 0;
      width: 0;
      height: 0;
    }
  
    .slider {
      position: absolute;
      cursor: pointer;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #ccc;
      transition: 0.3s;
      border-radius: 26px;
    }
  
    .slider::before {
      position: absolute;
      content: "";
      height: 20px;
      width: 20px;
      left: 3px;
      top: 3px;
      background-color: white;
      transition: 0.3s;
      border-radius: 50%;
    }
  
    input:checked + .slider {
      background-color: #4CAF50; /* green when active */
    }
  
    input:checked + .slider::before {
      transform: translateX(24px);
    }
  
    /* User type tabs */
    .user-type-tabs {
      display: flex;
      justify-content: center;
      gap: 10px;
      margin: 10px 0 20px;
    }
    .user-type-tab {
      padding: 10px 20px;
      border: 2px solid #ccc;
      border-radius: 5px;
      background-color: white;
      cursor: pointer;
      font-weight: 600;
      transition: background-color 0.3s, border-color 0.3s;
    }
    .user-type-tab.active {
      background-color: #28a745;
      color: white;
      border-color: #28a745;
    }
    .user-type-container {
      text-align: center;
      width: 100%;
    }
  
    /* License field */
    #license_field {
      width: 100%;
      display: none;
      margin-top: 10px;
    }
  
    /* Authenticate button */
    .auth-button {
      margin-top: 20px;
      padding: 10px 20px;
      font-size: 1rem;
      background-color: #28a745;
      color: white;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      width: 100%;
      font-weight: bold;
      transition: background-color 0.3s;
    }
    .auth-button:disabled {
      background-color: #ccc;
      cursor: not-allowed;
    }
  
    /* Captcha overlay and animations */
    @keyframes fadeIn { from {opacity: 0;} to {opacity: 1;} }
    @keyframes pulse  { 0%,100% {transform: scale(1);} 50% {transform: scale(1.1);} }
  
    #captcha-overlay {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.8);
      color: #fff;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      animation: fadeIn 0.3s ease-out;
      z-index: 1000;
      text-align: center;
      padding: 20px;
    }
    #captcha-overlay h3 {
      margin-bottom: 1rem;
    }
    #captcha-progress {
      margin-bottom: 1rem;
      font-size: 1rem;
    }
    #target-emoji {
      font-size: 2rem;
      display: inline-block;
      animation: pulse 1s infinite;
      margin: 0 0.5rem;
    }
    #emoji-options {
      display: flex;
      gap: 10px;
      margin: 1rem 0;
    }
    #emoji-options button {
      font-size: 2rem;
      background: transparent;
      border: none;
      color: white;
      cursor: pointer;
    }
    #close-captcha {
      margin-top: 20px;
      padding: 8px 16px;
      border: none;
      background: #e74c3c;
      color: white;
      cursor: pointer;
      border-radius: 4px;
    }