.user-menu-root{align-items:center;display:flex;position:relative}.user-menu-trigger{align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-3)0 var(--space-1);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;cursor:pointer;transition:border-color var(--transition-fast);background:0 0;display:inline-flex}.user-menu-trigger:hover,.user-menu-trigger.is-open{border-color:var(--color-primary)}.user-avatar{border-radius:var(--radius-sm);object-fit:cover;width:30px;height:30px}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);overflow:hidden}.user-menu-caret{color:var(--text-tertiary);transition:transform var(--transition-fast)}.user-menu-trigger.is-open .user-menu-caret{transform:rotate(180deg)}.user-menu-dropdown{top:calc(100% + var(--space-2));z-index:var(--z-dropdown);min-width:230px;padding:var(--space-2);background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 4px 0 0 var(--color-primary),var(--shadow-lg);flex-direction:column;gap:2px;display:flex;position:absolute;right:0}.user-menu-link{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;background:0 0;border:none;text-decoration:none;display:flex}.user-menu-link svg{color:var(--text-tertiary);flex-shrink:0;font-size:1.2rem}.user-menu-link:hover{background:var(--bg-elevated);color:var(--text-primary)}.user-menu-link:hover svg{color:var(--color-primary)}.user-menu-logout{margin-top:var(--space-1);border-top:var(--border-subtle);border-radius:0 0 var(--radius-sm)var(--radius-sm);padding-top:var(--space-3)}.user-menu-logout:hover,.user-menu-logout:hover svg{color:var(--color-error)}.notif-badge{border-radius:var(--radius-full);background:var(--color-primary);color:#0c0b09;min-width:20px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-align:center;margin-left:auto;padding:0 6px}.notif-list{max-height:280px;margin-top:var(--space-1);gap:var(--space-1);flex-direction:column;display:flex;overflow-y:auto}.notif-empty{padding:var(--space-3);color:var(--text-tertiary);font-size:var(--font-size-sm);text-align:center;margin:0}.notif-item{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-tertiary);display:flex}.notif-item.is-unread{background:var(--bg-elevated);color:var(--text-primary);box-shadow:inset 2px 0 0 var(--color-primary)}.notif-text{flex-direction:column;gap:2px;min-width:0;display:flex}.notif-kind{font-family:var(--font-family-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem}.notif-item.is-unread .notif-kind{color:var(--color-primary)}.notif-read{padding:2px var(--space-2);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-secondary);font:inherit;font-size:var(--font-size-xs);cursor:pointer;background:0 0;flex-shrink:0;margin-left:auto}.notif-read:hover{border-color:var(--color-primary);color:var(--text-primary)}
