DriveConsentRequiredException
Thrown by silentTokenOrThrow when Drive backup hasn't been consented to yet — a distinct, catchable signal (vs a generic failure) so a headless backup can surface "needs consent" instead of a silent error. Extends IllegalStateException so existing best-effort catch (Exception) paths still behave as before.