/* In-app bell notifications (nav dropdown) */
#bell-toggle { position: relative; }
.bell-badge {
    position: absolute; top: -5px; right: -7px; background: #e0362f; color: #fff;
    font-size: 10px; font-weight: 700; line-height: 1; padding: 2px 5px; border-radius: 999px;
    min-width: 16px; text-align: center;
}
#notifications-dropdown { width: 340px; max-width: 92vw; padding: 0; overflow: hidden; }
.bell-head { display: flex; align-items: center; justify-content: space-between; padding: .7rem .9rem; border-bottom: 1px solid #eef0f4; }
.bell-head-title { font-weight: 700; font-size: 14px; }
.bell-head-actions { display: flex; gap: .75rem; align-items: center; }
.bell-mark-all { background: none; border: none; color: #784efc; font-size: 12px; cursor: pointer; padding: 0; }
.bell-mark-all:hover { text-decoration: underline; }
.bell-clear-all { background: none; border: none; color: #9aa0ac; font-size: 12px; cursor: pointer; padding: 0; }
.bell-clear-all:hover { color: #e0362f; text-decoration: underline; }
.bell-list { max-height: 380px; overflow-y: auto; }
.bell-empty { padding: 1.6rem .9rem; text-align: center; color: #9aa0ac; font-size: 13px; }
.bell-item { display: flex; align-items: stretch; border-bottom: 1px solid #f3f4f7; position: relative; }
.bell-item:hover { background: #fafbfc; }
.bell-item.is-unread { background: #f6f3ff; }
.bell-item-link { display: flex; gap: .6rem; padding: .7rem .9rem; text-decoration: none; color: #2b2f38; flex: 1 1 auto; min-width: 0; }
.bell-item-link:hover { text-decoration: none; color: #2b2f38; }
.bell-item-x { border: none; background: none; color: #c3c8d4; font-size: 18px; line-height: 1; padding: 0 .7rem; cursor: pointer; opacity: 0; transition: opacity .12s, color .12s; }
.bell-item:hover .bell-item-x { opacity: 1; }
.bell-item-x:hover { color: #e0362f; }
.bell-item-icon { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 16px; color: #fff !important; background: #8a909c; }
.bell-icon-info { background: #2f6bff; }
.bell-icon-success { background: #2ca36a; }
.bell-icon-warning { background: #e9b949; }
.bell-icon-error { background: #e0362f; }
.bell-item-body { display: flex; flex-direction: column; min-width: 0; }
.bell-item-title { font-weight: 600; font-size: 13px; color: #15181e; }
.bell-item-content { font-size: 12px; color: #6b7280; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.bell-item-time { font-size: 11px; color: #9aa0ac; margin-top: 2px; }
