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