/* =========================================================
   Trang Thông báo — mở dạng lớp phủ toàn màn hình (che cả topbar +
   bottom-nav) khi bấm chuông, giống cách pages/my-tags/my-tags.css
   dựng ".mytags-sheet-overlay" (position:fixed, gắn thẳng vào <body>)
   nhưng đây là 1 TRANG riêng (trượt vào từ bên phải) chứ không phải
   sheet đáy, nên KHÔNG dùng nền tối phía sau — nền trắng full màn hình.
   Mọi class dùng tiền tố "notif-" để không đụng class trang khác.
   ========================================================= */
.notif-overlay{
  position:fixed;inset:0;z-index:300;
  display:flex;justify-content:center;
  background:var(--sky-50);
}
.notif-overlay[hidden]{display:none;}

.notif-page{
  width:100%;max-width:480px;height:100%;
  display:flex;flex-direction:column;
  background:var(--sky-50);
  animation:notifSlideIn .2s ease-out;
}
@keyframes notifSlideIn{from{transform:translateX(18px);opacity:0;}to{transform:translateX(0);opacity:1;}}

/* ===== Header của trang (back / tiêu đề / đánh dấu tất cả đã đọc) ===== */
.notif-page-header{
  flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:calc(env(safe-area-inset-top) + 14px) 16px 12px;
  background:#fff;border-bottom:1px solid var(--line);
}
.notif-back,.notif-markall{
  width:34px;height:34px;border-radius:11px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:var(--navy);
}
.notif-back:active,.notif-markall:active{background:var(--mint-50);}
.notif-back svg{width:20px;height:20px;}
.notif-markall svg{width:19px;height:19px;color:var(--teal);}
.notif-page-title{font-size:16px;font-weight:800;text-align:center;flex:1;}

/* ===== Tabs lọc: Tất cả / Chưa đọc / Đã đọc ===== */
.notif-tabs{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:14px 16px 6px;}
.notif-tab{
  display:flex;align-items:center;gap:6px;padding:9px 14px;border-radius:12px;
  background:#fff;border:1.5px solid var(--line);
  font-size:12.5px;font-weight:700;color:var(--slate);
}
.notif-tab.active{background:var(--teal);border-color:var(--teal);color:#fff;}
.notif-tab:active{opacity:0.85;}
.notif-tab-badge{
  min-width:16px;height:16px;padding:0 4px;border-radius:8px;
  background:var(--coral);color:#fff;font-size:9.5px;font-weight:800;line-height:16px;text-align:center;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.notif-tab.active .notif-tab-badge{background:rgba(255,255,255,0.28);}

/* ===== Danh sách thông báo ===== */
.notif-list{flex:1;overflow-y:auto;padding:10px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;}

.notif-item{
  position:relative;width:100%;display:flex;align-items:flex-start;gap:12px;
  padding:14px 14px 14px 20px;border-radius:16px;background:#fff;
  border:1px solid var(--line);text-align:left;
}
.notif-item:active{background:var(--mint-50);}

.notif-item-dot{
  position:absolute;left:8px;top:19px;width:7px;height:7px;border-radius:50%;background:var(--teal-bright);
}
.notif-item.is-read .notif-item-dot{display:none;}

.notif-item-avatar{
  flex-shrink:0;width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:21px;
}

.notif-item-body{flex:1;min-width:0;}
.notif-item-title{
  font-size:13.5px;font-weight:800;color:var(--navy);margin-bottom:3px;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.notif-item-desc{
  font-size:12px;font-weight:500;color:var(--slate);line-height:1.5;margin-bottom:6px;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.notif-item-time{font-size:11px;font-weight:600;color:var(--slate-light);}

.notif-item-chevron{flex-shrink:0;align-self:center;width:16px;height:16px;color:var(--slate-light);}

.notif-empty{padding:60px 16px;text-align:center;font-size:13px;font-weight:600;color:var(--slate-light);}
