fix: use single quotes for SQLite datetime('now') keyword
SQLite interprets double quotes as identifiers (column names), not
string literals. This caused cleanupExpiredSessions() to fail with:
"no such column: now"
Changed datetime("now") to datetime('now') to properly reference
the SQLite datetime function's special 'now' keyword.