.notification-overlay{z-index:var(--z-dropdown);background:0 0;position:fixed;inset:0}.notification-panel{top:calc(var(--header-height) + var(--space-2));right:var(--space-6);z-index:var(--z-dropdown);width:380px;max-width:calc(100vw - var(--space-8));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-height:540px;box-shadow:var(--shadow-xl);animation:notif-slide-in var(--transition-base) ease-out both;flex-direction:column;display:flex;position:fixed;overflow:hidden}@keyframes notif-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:767px){.notification-panel{top:auto;bottom:var(--space-4);left:var(--space-4);right:var(--space-4);width:auto;max-height:60vh}}.notification-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;display:flex}.notification-header-title{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--foreground);display:flex}.notification-mark-all{font-size:var(--text-xs);color:var(--primary);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);background:0 0;border:0}.notification-mark-all:hover:not(:disabled){background:var(--primary-soft)}.notification-mark-all:disabled{color:var(--muted-soft);cursor:default}.notification-list{scrollbar-width:thin;scrollbar-color:var(--border-strong) #0000;flex:1;overflow-y:auto}.notification-list::-webkit-scrollbar{width:8px;height:8px}.notification-list::-webkit-scrollbar-track{background:0 0}.notification-list::-webkit-scrollbar-thumb{background-color:var(--border-strong);border-radius:var(--radius-full);background-clip:content-box;border:2px solid #0000}.notification-empty{align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);color:var(--muted);text-align:center;font-size:var(--text-sm);flex-direction:column;display:flex}.notification-item{gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-soft);cursor:pointer;transition:background-color var(--transition-fast);display:flex;position:relative}.notification-item:hover{background:var(--surface-2)}.notification-item:last-child{border-bottom:0}.notification-item.is-unread{background:var(--primary-soft)}.notification-item.is-unread:hover{background:var(--primary-soft-hover)}.notification-icon{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.notification-icon.type-info{background:var(--info-soft);color:var(--info)}.notification-icon.type-warning{background:var(--warning-soft);color:var(--warning)}.notification-icon.type-success{background:var(--success-soft);color:var(--success)}.notification-icon.type-error{background:var(--error-soft);color:var(--error)}.notification-content{flex:1;min-width:0}.notification-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--foreground);line-height:var(--lh-tight)}.notification-message{font-size:var(--text-xs);color:var(--muted);line-height:var(--lh-snug);margin-top:var(--space-1)}.notification-meta{align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.notification-time{font-size:var(--text-xs);color:var(--muted-soft)}.notification-action{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--primary)}.notification-action:hover{color:var(--primary-hover);text-decoration:underline}.notification-dismiss{top:var(--space-3);right:var(--space-3);color:var(--muted-soft);cursor:pointer;border-radius:var(--radius-xs);opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute}.notification-dismiss:hover{color:var(--foreground);background:var(--surface-3)}.notification-item:hover .notification-dismiss{opacity:1}.notification-dot{top:var(--space-5);right:var(--space-5);border-radius:var(--radius-full);background:var(--primary);width:8px;height:8px;position:absolute}.notification-item:hover .notification-dot{opacity:0}
