Add timezone‑naive handling for `expires_at`, switch to UTC, and validate resolver zone existence
- Convert timezone‑aware
expires_atto naive datetime before storing in the database. - Use
datetime.utcnow()for all expiration checks instead ofdatetime.now(). - Verify a zone exists before creating a resolver; raise
ResolverZoneNotFoundErrorif missing. - Add the new
ResolverZoneNotFoundErrorto error handlers and messaging. - Simplify the device field in
DeviceSmallResponsetoDeviceSmallResponse | None. - Remove the unused
prompt="login"argument in the OIDC callback. - Update imports and remove unused constants.