diff --git a/handlers/admin.py b/handlers/admin.py
index ff48c4b..4d2e343 100644
--- a/handlers/admin.py
+++ b/handlers/admin.py
@@ -915,15 +915,35 @@ async def cb_admin_unverify(message: CallbackQuery):
@router.callback_query(F.data == 'admin_unverified_list')
@admin_only
-async def cb_admin_unverified_list(message: CallbackQuery):
- """Кнопка Список не верифицированных"""
- await message.message.answer(
- '📋 Список не верифицированных\n\n'
- 'Использование:\n'
- '/unverified_list\n\n'
- 'Показывает кто был лишён верификации'
- )
- await message.answer()
+async def cb_admin_unverified_list(callback: CallbackQuery):
+ """Кнопка Список не верифицированных — показывает реальный список"""
+ await callback.answer()
+
+ async with AsyncSessionLocal() as session:
+ # Показываем пользователей у которых verified = False
+ stmt = select(User).where(User.verified == False).order_by(User.join_date.desc()).limit(50)
+ result = await session.execute(stmt)
+ users = list(result.scalars().all())
+
+ if not users:
+ await callback.message.answer('✅ Все пользователи верифицированы')
+ return
+
+ text = '📋 СПИСОК НЕ ВЕРИФИЦИРОВАННЫХ\n\n'
+ text += f'Всего: {len(users)}\n\n'
+
+ for user in users:
+ name = user.full_name or f'user{user.user_id}'
+ apt = f' (кв. {user.apartment})' if user.apartment else ''
+ username = f'@{user.username}' if user.username else ''
+ text += f'• {name} {username}{apt}\n'
+ text += f' └─ ID: {user.user_id} | в боте с {user.join_date.strftime("%d.%m.%Y") if user.join_date else "?"}\n'
+
+ text += '\n💡 Что делать:\n'
+ text += '• Проверить заявку через /verification\n'
+ text += '• Или верифицировать через веб-админку'
+
+ await callback.message.answer(text, parse_mode='HTML')
@router.callback_query(F.data == 'admin_rank')