.notifications-page .notifications-inbox{min-height:65vh}.notifications-page .notification-inbox-item{transition:opacity .2s ease,transform .2s ease}.notifications-page .notification-inbox-item.is-hidden{opacity:.62}

/* Global message/call alert: this is deliberately owned by Notifications so
   it appears on Home, Feed, Courses and every other shared-shell page. */
.global-incoming-alert { position: fixed; top: calc(var(--nav-h, 72px) + 16px); right: max(22px, calc((100vw - var(--container, 1180px)) / 2)); z-index: 330; width: min(395px, calc(100vw - 44px)); pointer-events: none; }
.global-incoming-alert[hidden] { display: none; }
.global-incoming-alert-card { pointer-events: auto; padding: 14px; border: 1px solid rgba(255,37,63,.72); border-radius: 17px; color: #fff; background: linear-gradient(145deg, rgba(43,1,5,.98), rgba(10,0,2,.98)); box-shadow: 0 20px 65px rgba(0,0,0,.62), 0 0 26px rgba(255,37,63,.28); backdrop-filter: blur(18px); }
.global-incoming-alert.is-call .global-incoming-alert-card { border-color: rgba(255,37,63,.95); box-shadow: 0 20px 65px rgba(0,0,0,.68), 0 0 34px rgba(255,37,63,.52); }
.global-incoming-alert.is-visible .global-incoming-alert-card { animation: global-alert-in .28s ease both; }
@keyframes global-alert-in { from { opacity: 0; transform: translateY(-12px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
.global-incoming-alert-head { display: flex; align-items: center; gap: 10px; }
.global-incoming-alert-icon { display: grid; width: 39px; height: 39px; flex: 0 0 39px; place-items: center; border: 1px solid rgba(255,37,63,.62); border-radius: 12px; color: #fff; background: linear-gradient(145deg,#ff304a,#8e001a); box-shadow: 0 0 14px rgba(255,37,63,.28); }
.global-incoming-alert-icon img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.global-incoming-alert.is-call .global-incoming-alert-icon { animation: global-alert-pulse 1.15s ease-in-out infinite; }
@keyframes global-alert-pulse { 50% { transform: scale(1.08); box-shadow: 0 0 25px rgba(255,37,63,.7); } }
.global-incoming-alert-copy { display: grid; min-width: 0; flex: 1; gap: 3px; }
.global-incoming-alert-copy strong { overflow: hidden; color: #fff; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.global-incoming-alert-copy small { color: #27e06f; font: 700 .56rem "DM Mono", monospace; letter-spacing: .07em; text-transform: uppercase; }
.global-incoming-alert-close { display: grid; width: 29px; height: 29px; place-items: center; border: 1px solid rgba(255,255,255,.17); border-radius: 8px; color: rgba(255,255,255,.74); background: rgba(0,0,0,.24); }
.global-incoming-alert-close:hover { border-color: #fff; color: #fff; }
.global-incoming-alert-card > p { margin: 12px 2px 13px; color: rgba(255,255,255,.78); font-size: .7rem; line-height: 1.45; }
.global-incoming-alert-actions { display: flex; justify-content: flex-end; gap: 7px; }
.global-incoming-alert-actions button { min-height: 34px; padding: 7px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 9px; color: #fff; background: rgba(255,255,255,.06); font-size: .64rem; font-weight: 800; }
.global-incoming-alert-open { border-color: rgba(255,37,63,.72) !important; background: linear-gradient(145deg,#ff304a,#a9001d) !important; box-shadow: 0 0 15px rgba(255,37,63,.27); }
.global-incoming-alert-decline:hover, .global-incoming-alert-close:hover { background: rgba(255,255,255,.1); }

@media (max-width: 1023px) {
  .global-incoming-alert { top: calc(var(--nav-h, 64px) + 10px); right: 12px; left: 12px; width: auto; }
  .global-incoming-alert-card { padding: 12px; border-radius: 15px; }
  .global-incoming-alert-card > p { font-size: .74rem; }
}
