/* Notification bell (app + admin headers) and the notifications page.
   Uses the app tokens when present (app.css), with fallbacks for the admin panel. */
.bell{position:relative;display:inline-block}
.bell > summary{list-style:none;cursor:pointer}
.bell:not([open]) .bell-menu{display:none}
.bell > summary::-webkit-details-marker{display:none}
.bell-btn{
  position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;
  background:var(--surface,#f3f6ff);color:var(--text,#4361ee);border:1px solid var(--line,rgba(67,97,238,.18));font-size:1rem;
}
.bell[open] .bell-btn{background:var(--accent,#4361ee);border-color:var(--accent,#4361ee);color:var(--on-accent,#fff)}
.bell-count{
  position:absolute;top:-6px;inset-inline-end:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;
  background:var(--danger,#e71d36);color:#fff;font-size:.68rem;font-weight:800;display:grid;place-items:center;line-height:1;
  box-shadow:0 0 0 2px var(--bg,#fff);
}
.bell-menu{
  position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:60;width:min(360px,calc(100vw - 28px));
  background:var(--surface,#fff);border:1px solid var(--line,rgba(0,0,0,.1));border-radius:16px;
  box-shadow:var(--shadow-lg,0 18px 40px rgba(17,24,39,.18));padding:8px;max-height:70vh;overflow:auto;color:var(--text,#111827);text-align:start;
}
.bell-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 8px}
.bell-head form{display:inline}
.bell-link{background:none;border:0;color:var(--accent-text,#4361ee);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.bell-empty{padding:22px 10px;text-align:center;color:var(--muted,rgba(0,0,0,.55));font-size:.9rem}
.bell-all{display:block;text-align:center;padding:10px;margin-top:4px;border-top:1px solid var(--line,rgba(0,0,0,.08));color:var(--accent-text,#4361ee);font-weight:700;font-size:.85rem;text-decoration:none}

.notif{display:flex;gap:11px;align-items:flex-start;padding:10px;border-radius:12px;text-decoration:none;color:inherit}
.notif:hover{background:var(--surface-2,#f6f8fc)}
.notif.unread{background:var(--accent-soft,#eef2ff)}
.notif.unread .notif-text{font-weight:700}
.notif-icon{flex-shrink:0;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--surface-3,#f3f6ff);color:var(--muted,#4361ee)}
.notif.unread .notif-icon{background:var(--accent,#4361ee);color:var(--on-accent,#fff)}
.notif-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.notif-text{font-size:.9rem;line-height:1.5;white-space:normal}
.notif-time{color:var(--faint,rgba(0,0,0,.5));font-size:.75rem}

.notif-page{max-width:760px;margin:0 auto}
.notif-page-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.notif-page-head h1{font-size:1.4rem;display:flex;gap:9px;align-items:center}
.notif-page-head h1 i{color:var(--accent-text,#4361ee)}
.notif-list{background:var(--surface,#fff);border:1px solid var(--line,rgba(0,0,0,.08));border-radius:18px;padding:8px}
.notif-list .notif + .notif{margin-top:4px}
.notif-btn{
  display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 13px;border-radius:11px;border:1px solid var(--line,rgba(67,97,238,.2));
  background:var(--surface-2,#f3f6ff);color:var(--text,#4361ee);font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;text-decoration:none;
}
.notif-pages{display:flex;justify-content:center;gap:8px;margin-top:12px}

@media (max-width:640px){
  .bell{position:static}
  .bell-menu{position:fixed;top:64px;left:12px;right:12px;width:auto}
}
