1. Remove stage=tender filter - Get ALL notice types
- Now captures planning, tender, award, contract notices
- Previously missed ~50% of available data
- Provides full procurement lifecycle visibility
2. Reduce scrape interval from 4 hours to 1 hour
- Updated cron for contracts-finder, find-tender, pcs-scotland, sell2wales
- Captures fast-closing tenders (< 4 hour window)
- Max 1 hour lag vs 4 hour lag
3. Add sophisticated filtering
- Must have deadline specified
- Deadline must be >= 24 hours in future
- Skip expired tenders
- Reduces 90-day window to 14 days (first run) / 1 hour (incremental)
- Incremental mode: only fetch since last scrape
Expected outcomes:
- 50% valid tender rate (vs 0% before)
- 10-20 new tenders per day
- Zero 404 errors (cleanup + fresh data)
- Better user experience (only actionable opportunities)
Backup: contracts-finder.js.backup
- Crop logo image (remove 58% bottom whitespace)
- Logo 90px, centered with nav links
- Cursor fix restored (no I-beam on non-interactive content)
- Contracts Finder: fix empty authority_name (was looking for procurer role, CF uses buyer)
- Contracts Finder: generate notice_url from OCID when release.url is empty
- Find a Tender: fix doubled base URL in notice_url
- Dashboard: use authority_name field (not buyer) for tender cards
- Card shadows strengthened on auth pages
- Password eye icon repositioned inside input
- Hero mockup: enhanced 3D perspective and shadow
- Testimonials: illustrated SVG avatars
- Growth pricing card: visual prominence (scale, gradient, badge)
- Most Popular badge: repositioned to avoid overlapping heading
- Nav: added Log In link next to Start Free Trial
- Fixed btn-primary text colour on anchor tags (white on blue)
- Fixed cursor: default on all non-interactive elements
- Disabled user-select on non-form content to prevent text caret