.notification-bell{align-items:center;display:inline-flex;position:relative}.notification-bell-trigger{cursor:pointer;color:#4b5563;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:background .15s,color .15s;display:flex;position:relative}.notification-bell-trigger:hover{color:#1a1a1a;background:#f3f4f6}.notification-badge{text-align:center;color:#fff;pointer-events:none;background:#2563eb;border-radius:9px;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:16px;position:absolute;top:0;right:0}.notification-badge.critical{background:#dc2626;animation:2s infinite notification-pulse}@keyframes notification-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.notification-dropdown{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;width:360px;max-height:480px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 30px #0000001f}.notification-dropdown-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notification-dropdown-title{color:#1a1a1a;font-size:.9rem;font-weight:600}.notification-mark-all{cursor:pointer;color:#2563eb;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;transition:background .15s;display:flex}.notification-mark-all:hover{background:#eff6ff}.notification-dropdown-body{flex:1;max-height:360px;overflow-y:auto}.notification-loading{background:linear-gradient(90deg,#f9fafb 25%,#f3f4f6 50%,#f9fafb 75%) 0 0/200% 100%;height:120px;animation:1.5s ease-in-out infinite notification-shimmer}@keyframes notification-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.notification-empty{text-align:center;color:#9ca3af;padding:32px 16px;font-size:.85rem}.notification-dropdown-footer{text-align:center;border-top:1px solid #f3f4f6;padding:10px 16px}.notification-view-all{color:#2563eb;font-size:.8rem;font-weight:500;text-decoration:none}.notification-view-all:hover{text-decoration:underline}.notification-item{cursor:pointer;color:inherit;border-bottom:1px solid #f9fafb;align-items:flex-start;gap:10px;padding:12px 16px;text-decoration:none;transition:background .15s;display:flex}.notification-item:hover{background:#f9fafb}.notification-item.unread{background:#f0f9ff}.notification-item.unread:hover{background:#e0f2fe}.notification-item--high{border-left:3px solid #f59e0b}.notification-item--critical{border-left:3px solid #dc2626}.notification-item--medium{border-left:3px solid #2563eb}.notification-item--low{border-left:3px solid #e5e7eb}.notification-item-icon{color:#6b7280;background:#f3f4f6;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.notification-item--critical .notification-item-icon{color:#dc2626;background:#fef2f2}.notification-item--high .notification-item-icon{color:#d97706;background:#fffbeb}.notification-item-content{flex:1;min-width:0}.notification-item-title{color:#1a1a1a;margin:0 0 2px;font-size:.82rem;font-weight:600;line-height:1.3}.notification-item-message{color:#6b7280;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0 0 4px;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.notification-item-time{color:#9ca3af;font-size:.7rem}.notification-item-mark{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px;transition:color .15s,background .15s}.notification-item-mark:hover{color:#2563eb;background:#eff6ff}.notifications-page-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.notifications-page-list{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:0;display:flex;overflow:hidden}.notifications-page-list .notification-item{border-bottom:1px solid #f3f4f6}.notifications-page-list .notification-item:last-child{border-bottom:none}.notifications-page-empty{text-align:center;color:#9ca3af;padding:48px 24px}.notifications-page-empty svg{color:#d1d5db;margin-bottom:12px}.notification-bell--sidebar .notification-dropdown{top:0;left:calc(100% + 8px);right:auto}a:has(>.notification-item){color:inherit;text-decoration:none;display:block}@media (max-width:480px){.notification-dropdown{width:calc(100vw - 32px);right:-8px}}
