/* =========================================================
   Làng Ẩn Dật - ADMIN MEMBER SCROLL FINAL FIX
   Fix lỗi lăn chuột ở Quản lý thành viên bị đứng/khựng.
   Nguyên tắc: Admin chỉ có 1 vùng cuộn chính (.admin-grid),
   bảng thành viên chỉ cuộn ngang khi cần, không tự bắt wheel dọc.
   ========================================================= */

html.lad-admin-active,
body.lad-admin-active,
body[data-page="admin"]{
  height:100%;
  overflow:hidden!important;
  scroll-behavior:auto!important;
}

/* Khóa page Admin vào chiều cao màn hình để không sinh nhiều scroll container */
body.lad-admin-active .admin-page,
body[data-page="admin"] .admin-page{
  height:100vh!important;
  max-height:100vh!important;
  overflow:hidden!important;
  padding:14px!important;
  box-sizing:border-box!important;
  overscroll-behavior:none!important;
  -webkit-overflow-scrolling:auto!important;
  contain:none!important;
}

/* Shell giữ header + grid, không để shell/page cùng cuộn */
body.lad-admin-active .admin-shell,
body[data-page="admin"] .admin-shell{
  height:calc(100vh - 28px)!important;
  max-height:calc(100vh - 28px)!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  contain:none!important;
}

/* Chỉ .admin-grid được cuộn dọc */
body.lad-admin-active .admin-grid,
body[data-page="admin"] .admin-grid{
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-behavior:auto!important;
  padding-bottom:28px!important;
  contain:none!important;
  touch-action:pan-y!important;
}

/* Card thành viên không được tạo vùng cuộn dọc riêng */
body.lad-admin-active .admin-members-card,
body[data-page="admin"] .admin-members-card{
  overflow:visible!important;
  contain:none!important;
}

/* Bảng chỉ cuộn ngang, wheel dọc sẽ chuyển cho .admin-grid bằng JS */
body.lad-admin-active .admin-table-wrap,
body[data-page="admin"] .admin-table-wrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
  max-height:none!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  contain:none!important;
}

/* Danh sách user render thường, tránh content-visibility gây kẹt/nhảy scroll ở một số máy */
body.lad-admin-active .admin-user-list,
body[data-page="admin"] .admin-user-list{
  overflow:visible!important;
  max-height:none!important;
  contain:none!important;
  content-visibility:visible!important;
}

/* Row nhẹ nhưng không dùng content-visibility/contain phức tạp */
body.lad-admin-active .admin-user-row,
body[data-page="admin"] .admin-user-row{
  contain:none!important;
  content-visibility:visible!important;
  contain-intrinsic-size:auto!important;
  will-change:auto!important;
  transform:none!important;
  transition:none!important;
}

/* Sticky header giữ trong grid, không tạo layer nặng */
body.lad-admin-active .admin-table-head,
body[data-page="admin"] .admin-table-head{
  position:sticky!important;
  top:0!important;
  z-index:4!important;
  transform:none!important;
  will-change:auto!important;
}

/* Nhật ký được phép cuộn riêng vì chiều cao ngắn, không ảnh hưởng bảng thành viên */
body.lad-admin-active .admin-log-list,
body[data-page="admin"] .admin-log-list{
  max-height:300px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}

/* Khi đang ở Admin, tắt các hiệu ứng repaint liên tục */
body.lad-admin-active .admin-page *,
body[data-page="admin"] .admin-page *{
  animation:none!important;
  scroll-behavior:auto!important;
}